@theseam/ui-common 0.2.9
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/asset-reader/asset-reader-helper.service.d.ts +7 -0
- package/asset-reader/asset-reader.module.d.ts +2 -0
- package/asset-reader/encrypted-asset-link.directive.d.ts +23 -0
- package/asset-reader/encrypted-asset-reader.d.ts +24 -0
- package/asset-reader/package.json +11 -0
- package/asset-reader/public-api.d.ts +4 -0
- package/asset-reader/theseam-ui-common-asset-reader.d.ts +4 -0
- package/asset-reader/theseam-ui-common-asset-reader.metadata.json +1 -0
- package/assets/.gitkeep +0 -0
- package/assets/vendor/intl-tel-input/css/intlTelInput.min.css +1 -0
- package/assets/vendor/intl-tel-input/img/flags.png +0 -0
- package/assets/vendor/intl-tel-input/img/flags@2x.png +0 -0
- package/assets/vendor/intl-tel-input/js/utils.js +501 -0
- package/breadcrumbs/breadcrumb.d.ts +11 -0
- package/breadcrumbs/breadcrumbs/breadcrumbs.component.d.ts +10 -0
- package/breadcrumbs/breadcrumbs-resolver.d.ts +5 -0
- package/breadcrumbs/breadcrumbs.module.d.ts +2 -0
- package/breadcrumbs/breadcrumbs.service.d.ts +20 -0
- package/breadcrumbs/package.json +11 -0
- package/breadcrumbs/public-api.d.ts +5 -0
- package/breadcrumbs/theseam-ui-common-breadcrumbs.d.ts +4 -0
- package/breadcrumbs/theseam-ui-common-breadcrumbs.metadata.json +1 -0
- package/bundles/theseam-ui-common-asset-reader.umd.js +533 -0
- package/bundles/theseam-ui-common-asset-reader.umd.js.map +1 -0
- package/bundles/theseam-ui-common-breadcrumbs.umd.js +587 -0
- package/bundles/theseam-ui-common-breadcrumbs.umd.js.map +1 -0
- package/bundles/theseam-ui-common-buttons.umd.js +719 -0
- package/bundles/theseam-ui-common-buttons.umd.js.map +1 -0
- package/bundles/theseam-ui-common-card.umd.js +480 -0
- package/bundles/theseam-ui-common-card.umd.js.map +1 -0
- package/bundles/theseam-ui-common-checkbox.umd.js +650 -0
- package/bundles/theseam-ui-common-checkbox.umd.js.map +1 -0
- package/bundles/theseam-ui-common-confirm-dialog.umd.js +491 -0
- package/bundles/theseam-ui-common-confirm-dialog.umd.js.map +1 -0
- package/bundles/theseam-ui-common-core.umd.js +604 -0
- package/bundles/theseam-ui-common-core.umd.js.map +1 -0
- package/bundles/theseam-ui-common-data-exporter.umd.js +96 -0
- package/bundles/theseam-ui-common-data-exporter.umd.js.map +1 -0
- package/bundles/theseam-ui-common-data-filters.umd.js +888 -0
- package/bundles/theseam-ui-common-data-filters.umd.js.map +1 -0
- package/bundles/theseam-ui-common-datatable-dynamic.umd.js +1499 -0
- package/bundles/theseam-ui-common-datatable-dynamic.umd.js.map +1 -0
- package/bundles/theseam-ui-common-datatable.umd.js +2247 -0
- package/bundles/theseam-ui-common-datatable.umd.js.map +1 -0
- package/bundles/theseam-ui-common-dynamic-component-loader.umd.js +180 -0
- package/bundles/theseam-ui-common-dynamic-component-loader.umd.js.map +1 -0
- package/bundles/theseam-ui-common-dynamic.umd.js +1253 -0
- package/bundles/theseam-ui-common-dynamic.umd.js.map +1 -0
- package/bundles/theseam-ui-common-footer-bar.umd.js +49 -0
- package/bundles/theseam-ui-common-footer-bar.umd.js.map +1 -0
- package/bundles/theseam-ui-common-form-field-error.umd.js +884 -0
- package/bundles/theseam-ui-common-form-field-error.umd.js.map +1 -0
- package/bundles/theseam-ui-common-form-field.umd.js +914 -0
- package/bundles/theseam-ui-common-form-field.umd.js.map +1 -0
- package/bundles/theseam-ui-common-framework.umd.js +3344 -0
- package/bundles/theseam-ui-common-framework.umd.js.map +1 -0
- package/bundles/theseam-ui-common-graphql.umd.js +357 -0
- package/bundles/theseam-ui-common-graphql.umd.js.map +1 -0
- package/bundles/theseam-ui-common-icon.umd.js +890 -0
- package/bundles/theseam-ui-common-icon.umd.js.map +1 -0
- package/bundles/theseam-ui-common-layout.umd.js +119 -0
- package/bundles/theseam-ui-common-layout.umd.js.map +1 -0
- package/bundles/theseam-ui-common-loading.umd.js +152 -0
- package/bundles/theseam-ui-common-loading.umd.js.map +1 -0
- package/bundles/theseam-ui-common-menu.umd.js +1152 -0
- package/bundles/theseam-ui-common-menu.umd.js.map +1 -0
- package/bundles/theseam-ui-common-modal.umd.js +1669 -0
- package/bundles/theseam-ui-common-modal.umd.js.map +1 -0
- package/bundles/theseam-ui-common-models.umd.js +63 -0
- package/bundles/theseam-ui-common-models.umd.js.map +1 -0
- package/bundles/theseam-ui-common-popover.umd.js +504 -0
- package/bundles/theseam-ui-common-popover.umd.js.map +1 -0
- package/bundles/theseam-ui-common-progress.umd.js +420 -0
- package/bundles/theseam-ui-common-progress.umd.js.map +1 -0
- package/bundles/theseam-ui-common-scrollbar.umd.js +240 -0
- package/bundles/theseam-ui-common-scrollbar.umd.js.map +1 -0
- package/bundles/theseam-ui-common-services.umd.js +178 -0
- package/bundles/theseam-ui-common-services.umd.js.map +1 -0
- package/bundles/theseam-ui-common-shared.umd.js +1115 -0
- package/bundles/theseam-ui-common-shared.umd.js.map +1 -0
- package/bundles/theseam-ui-common-storage.umd.js +178 -0
- package/bundles/theseam-ui-common-storage.umd.js.map +1 -0
- package/bundles/theseam-ui-common-story-helpers.umd.js +795 -0
- package/bundles/theseam-ui-common-story-helpers.umd.js.map +1 -0
- package/bundles/theseam-ui-common-tabbed.umd.js +628 -0
- package/bundles/theseam-ui-common-tabbed.umd.js.map +1 -0
- package/bundles/theseam-ui-common-table-cell-type.umd.js +222 -0
- package/bundles/theseam-ui-common-table-cell-type.umd.js.map +1 -0
- package/bundles/theseam-ui-common-table-cell-types.umd.js +1174 -0
- package/bundles/theseam-ui-common-table-cell-types.umd.js.map +1 -0
- package/bundles/theseam-ui-common-table.umd.js +475 -0
- package/bundles/theseam-ui-common-table.umd.js.map +1 -0
- package/bundles/theseam-ui-common-tel-input.umd.js +1055 -0
- package/bundles/theseam-ui-common-tel-input.umd.js.map +1 -0
- package/bundles/theseam-ui-common-test-helpers.umd.js +94 -0
- package/bundles/theseam-ui-common-test-helpers.umd.js.map +1 -0
- package/bundles/theseam-ui-common-tiled-select.umd.js +849 -0
- package/bundles/theseam-ui-common-tiled-select.umd.js.map +1 -0
- package/bundles/theseam-ui-common-toggle-edit.umd.js +893 -0
- package/bundles/theseam-ui-common-toggle-edit.umd.js.map +1 -0
- package/bundles/theseam-ui-common-toggle-group.umd.js +629 -0
- package/bundles/theseam-ui-common-toggle-group.umd.js.map +1 -0
- package/bundles/theseam-ui-common-unsaved-changes-dialog.umd.js +136 -0
- package/bundles/theseam-ui-common-unsaved-changes-dialog.umd.js.map +1 -0
- package/bundles/theseam-ui-common-utils.umd.js +1245 -0
- package/bundles/theseam-ui-common-utils.umd.js.map +1 -0
- package/bundles/theseam-ui-common-validators.umd.js +105 -0
- package/bundles/theseam-ui-common-validators.umd.js.map +1 -0
- package/bundles/theseam-ui-common-viewers.umd.js +699 -0
- package/bundles/theseam-ui-common-viewers.umd.js.map +1 -0
- package/bundles/theseam-ui-common-widget.umd.js +1710 -0
- package/bundles/theseam-ui-common-widget.umd.js.map +1 -0
- package/bundles/theseam-ui-common.umd.js +54 -0
- package/bundles/theseam-ui-common.umd.js.map +1 -0
- package/buttons/badge-button/badge-button.component.d.ts +18 -0
- package/buttons/button/button.component.d.ts +28 -0
- package/buttons/buttons.module.d.ts +2 -0
- package/buttons/package.json +11 -0
- package/buttons/progress-circle-button/progress-circle-button.component.d.ts +19 -0
- package/buttons/public-api.d.ts +5 -0
- package/buttons/theseam-ui-common-buttons.d.ts +4 -0
- package/buttons/theseam-ui-common-buttons.metadata.json +1 -0
- package/buttons/toggle-button/toggle-button.component.d.ts +26 -0
- package/card/card-action/card-action.component.d.ts +9 -0
- package/card/card-body/card-body.component.d.ts +12 -0
- package/card/card-footer/card-footer.component.d.ts +5 -0
- package/card/card-header/card-header.component.d.ts +7 -0
- package/card/card.component.d.ts +6 -0
- package/card/card.module.d.ts +2 -0
- package/card/package.json +11 -0
- package/card/public-api.d.ts +6 -0
- package/card/theseam-ui-common-card.d.ts +4 -0
- package/card/theseam-ui-common-card.metadata.json +1 -0
- package/checkbox/checkbox.component.d.ts +140 -0
- package/checkbox/checkbox.module.d.ts +2 -0
- package/checkbox/package.json +11 -0
- package/checkbox/public-api.d.ts +2 -0
- package/checkbox/theseam-ui-common-checkbox.d.ts +4 -0
- package/checkbox/theseam-ui-common-checkbox.metadata.json +1 -0
- package/confirm-dialog/confirm-click.directive.d.ts +24 -0
- package/confirm-dialog/confirm-dialog.component.d.ts +6 -0
- package/confirm-dialog/confirm-dialog.module.d.ts +2 -0
- package/confirm-dialog/confirm-dialog.service.d.ts +11 -0
- package/confirm-dialog/package.json +11 -0
- package/confirm-dialog/public-api.d.ts +4 -0
- package/confirm-dialog/theseam-ui-common-confirm-dialog.d.ts +4 -0
- package/confirm-dialog/theseam-ui-common-confirm-dialog.metadata.json +1 -0
- package/core/common-behaviors/active.d.ts +8 -0
- package/core/common-behaviors/constructor.d.ts +9 -0
- package/core/common-behaviors/disabled.d.ts +17 -0
- package/core/common-behaviors/element-ref.d.ts +4 -0
- package/core/common-behaviors/index.d.ts +9 -0
- package/core/common-behaviors/initialized.d.ts +30 -0
- package/core/common-behaviors/renderer2.d.ts +4 -0
- package/core/common-behaviors/size.d.ts +9 -0
- package/core/common-behaviors/tabindex.d.ts +18 -0
- package/core/common-behaviors/theme.d.ts +10 -0
- package/core/input-decorators/index.d.ts +2 -0
- package/core/input-decorators/input-boolean.decorator.d.ts +12 -0
- package/core/input-decorators/input-number.decorator.d.ts +12 -0
- package/core/package.json +11 -0
- package/core/public-api.d.ts +2 -0
- package/core/theseam-ui-common-core.d.ts +4 -0
- package/core/theseam-ui-common-core.metadata.json +1 -0
- package/data-exporter/data-exporter.d.ts +30 -0
- package/data-exporter/data-exporter.module.d.ts +2 -0
- package/data-exporter/exporters/csv-exporter.d.ts +8 -0
- package/data-exporter/exporters/xlsx-exporter.d.ts +8 -0
- package/data-exporter/package.json +11 -0
- package/data-exporter/public-api.d.ts +4 -0
- package/data-exporter/theseam-ui-common-data-exporter.d.ts +4 -0
- package/data-exporter/theseam-ui-common-data-exporter.metadata.json +1 -0
- package/data-filters/data-filter-container.d.ts +8 -0
- package/data-filters/data-filter-def.d.ts +10 -0
- package/data-filters/data-filter.d.ts +49 -0
- package/data-filters/data-filters.module.d.ts +2 -0
- package/data-filters/filters/data-filter-search/data-filter-search.component.d.ts +36 -0
- package/data-filters/filters/data-filter-search/search-filter-options.d.ts +2 -0
- package/data-filters/filters/data-filter-text/data-filter-text.component.d.ts +34 -0
- package/data-filters/filters/data-filter-text/text-filter-options.d.ts +25 -0
- package/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.d.ts +43 -0
- package/data-filters/package.json +11 -0
- package/data-filters/public-api.d.ts +9 -0
- package/data-filters/theseam-ui-common-data-filters.d.ts +4 -0
- package/data-filters/theseam-ui-common-data-filters.metadata.json +1 -0
- package/datatable/datatable/datatable.component.d.ts +195 -0
- package/datatable/datatable-action-menu/datatable-action-menu.component.d.ts +15 -0
- package/datatable/datatable-action-menu-item/datatable-action-menu-item.component.d.ts +28 -0
- package/datatable/datatable-column/datatable-column.component.d.ts +41 -0
- package/datatable/datatable-column-preferences/datatable-column-preferences.component.d.ts +14 -0
- package/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.d.ts +6 -0
- package/datatable/datatable-export-button/datatable-export-button.component.d.ts +24 -0
- package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +17 -0
- package/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.d.ts +5 -0
- package/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.d.ts +5 -0
- package/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.d.ts +5 -0
- package/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.d.ts +5 -0
- package/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.d.ts +10 -0
- package/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.d.ts +5 -0
- package/datatable/datatable-row-detail/datatable-row-detail.directive.d.ts +37 -0
- package/datatable/datatable.module.d.ts +2 -0
- package/datatable/directives/datatable-action-menu-item.directive.d.ts +35 -0
- package/datatable/directives/datatable-action-menu-toggle.directive.d.ts +27 -0
- package/datatable/directives/datatable-cell-tpl.directive.d.ts +5 -0
- package/datatable/directives/datatable-filter.directive.d.ts +6 -0
- package/datatable/directives/datatable-row-action-item.directive.d.ts +5 -0
- package/datatable/models/datatable-accessor.d.ts +19 -0
- package/datatable/models/datatable-data-source.d.ts +14 -0
- package/datatable/models/datatable-gql-data-source.d.ts +7 -0
- package/datatable/models/menubar-item-data.d.ts +3 -0
- package/datatable/models/page-info.d.ts +6 -0
- package/datatable/models/preferences-accessor.d.ts +15 -0
- package/datatable/models/preferences.d.ts +9 -0
- package/datatable/models/sort-event.d.ts +4 -0
- package/datatable/models/sort-item.d.ts +4 -0
- package/datatable/models/table-column.d.ts +14 -0
- package/datatable/package.json +11 -0
- package/datatable/public-api.d.ts +38 -0
- package/datatable/services/datatable-column-changes.service.d.ts +6 -0
- package/datatable/services/datatable-preferences.service.d.ts +19 -0
- package/datatable/services/datatable-scrollbar-helper.service.d.ts +19 -0
- package/datatable/theseam-ui-common-datatable.d.ts +5 -0
- package/datatable/theseam-ui-common-datatable.metadata.json +1 -0
- package/datatable/tokens/datatable-accessor.d.ts +3 -0
- package/datatable/tokens/datatable-preferences-accessor.d.ts +3 -0
- package/datatable/tokens/menubar-item-data.d.ts +3 -0
- package/datatable/utils/with-stored-column-info.d.ts +3 -0
- package/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.d.ts +32 -0
- package/datatable-dynamic/datatable-dynamic-def.d.ts +71 -0
- package/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.d.ts +15 -0
- package/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.d.ts +61 -0
- package/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.d.ts +16 -0
- package/datatable-dynamic/datatable-dynamic-menu-bar-token.d.ts +3 -0
- package/datatable-dynamic/datatable-dynamic.component.d.ts +89 -0
- package/datatable-dynamic/datatable-dynamic.module.d.ts +2 -0
- package/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.d.ts +73 -0
- package/datatable-dynamic/dynamic-datatable-def.service.d.ts +59 -0
- package/datatable-dynamic/dynamic-datatable-row-actions.service.d.ts +16 -0
- package/datatable-dynamic/models/dynamic-datatable-action-menu-record.d.ts +17 -0
- package/datatable-dynamic/models/dynamic-datatable-filter-menu-item.d.ts +7 -0
- package/datatable-dynamic/models/dynamic-datatable-menu-bar.d.ts +63 -0
- package/datatable-dynamic/models/dynamic-datatable-row-action-context.d.ts +5 -0
- package/datatable-dynamic/models/dynamic-datatable-row-action.d.ts +17 -0
- package/datatable-dynamic/models/index.d.ts +5 -0
- package/datatable-dynamic/package.json +11 -0
- package/datatable-dynamic/public-api.d.ts +13 -0
- package/datatable-dynamic/theseam-ui-common-datatable-dynamic.d.ts +4 -0
- package/datatable-dynamic/theseam-ui-common-datatable-dynamic.metadata.json +1 -0
- package/datatable-dynamic/utils/defaults/set-dynamic-datatable-columns-defaults.d.ts +2 -0
- package/datatable-dynamic/utils/defaults/set-dynamic-datatable-def-defaults.d.ts +2 -0
- package/datatable-dynamic/utils/defaults/set-dynamic-datatable-filter-menu-defaults.d.ts +2 -0
- package/datatable-dynamic/utils/defaults/set-dynamic-datatable-options-defaults.d.ts +2 -0
- package/datatable-dynamic/utils/index.d.ts +4 -0
- package/dynamic/action/api/dynamic-action-api-def.d.ts +35 -0
- package/dynamic/action/api/dynamic-action-api-errors.d.ts +1 -0
- package/dynamic/action/api/dynamic-action-api.d.ts +3 -0
- package/dynamic/action/api/dynamic-action-api.service.d.ts +30 -0
- package/dynamic/action/dynamic-action-helper.service.d.ts +36 -0
- package/dynamic/action/index.d.ts +10 -0
- package/dynamic/action/link/dynamic-action-link-def.d.ts +58 -0
- package/dynamic/action/link/dynamic-action-link.d.ts +3 -0
- package/dynamic/action/link/dynamic-action-link.service.d.ts +14 -0
- package/dynamic/action/modal/dynamic-action-modal-def.d.ts +10 -0
- package/dynamic/action/modal/dynamic-action-modal.d.ts +3 -0
- package/dynamic/action/modal/dynamic-action-modal.service.d.ts +29 -0
- package/dynamic/dynamic-value-helper.service.d.ts +34 -0
- package/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.d.ts +16 -0
- package/dynamic/evaluators/exporters-data-evaluator/exporters-data-value.d.ts +8 -0
- package/dynamic/evaluators/exporters-data-evaluator/index.d.ts +2 -0
- package/dynamic/evaluators/index.d.ts +2 -0
- package/dynamic/evaluators/jexl-evaluator/index.d.ts +2 -0
- package/dynamic/evaluators/jexl-evaluator/jexl-evaluator.d.ts +9 -0
- package/dynamic/evaluators/jexl-evaluator/jexl-value.d.ts +11 -0
- package/dynamic/models/dynamic-action-confirm-def.d.ts +10 -0
- package/dynamic/models/dynamic-action-context.d.ts +2 -0
- package/dynamic/models/dynamic-action-def.d.ts +9 -0
- package/dynamic/models/dynamic-action-ui-anchor-def.d.ts +39 -0
- package/dynamic/models/dynamic-action-ui-button-def.d.ts +13 -0
- package/dynamic/models/dynamic-action-ui-def.d.ts +37 -0
- package/dynamic/models/dynamic-action.d.ts +11 -0
- package/dynamic/models/dynamic-value-base-type.d.ts +4 -0
- package/dynamic/models/dynamic-value-evaluatable-type.d.ts +2 -0
- package/dynamic/models/dynamic-value-evaluator.d.ts +6 -0
- package/dynamic/models/dynamic-value-primitive.d.ts +1 -0
- package/dynamic/models/dynamic-value-type.d.ts +4 -0
- package/dynamic/models/dynamic-value.d.ts +3 -0
- package/dynamic/models/index.d.ts +13 -0
- package/dynamic/package.json +11 -0
- package/dynamic/public-api.d.ts +6 -0
- package/dynamic/theseam-ui-common-dynamic.d.ts +4 -0
- package/dynamic/theseam-ui-common-dynamic.metadata.json +1 -0
- package/dynamic/tokens/api-config.d.ts +30 -0
- package/dynamic/tokens/dynamic-action.d.ts +3 -0
- package/dynamic/tokens/dynamic-data.d.ts +2 -0
- package/dynamic/tokens/dynamic-value-evaluator.d.ts +3 -0
- package/dynamic/tokens/index.d.ts +4 -0
- package/dynamic/utils/index.d.ts +1 -0
- package/dynamic/utils/is-action-type.d.ts +2 -0
- package/dynamic-component-loader/dynamic-component-loader.module.d.ts +7 -0
- package/dynamic-component-loader/dynamic-component-loader.service.d.ts +15 -0
- package/dynamic-component-loader/dynamic-component-manifest.d.ts +9 -0
- package/dynamic-component-loader/dynamic-component-tokens.d.ts +4 -0
- package/dynamic-component-loader/package.json +11 -0
- package/dynamic-component-loader/public-api.d.ts +4 -0
- package/dynamic-component-loader/theseam-ui-common-dynamic-component-loader.d.ts +4 -0
- package/dynamic-component-loader/theseam-ui-common-dynamic-component-loader.metadata.json +1 -0
- package/esm2015/asset-reader/asset-reader-helper.service.js +68 -0
- package/esm2015/asset-reader/asset-reader.module.js +15 -0
- package/esm2015/asset-reader/encrypted-asset-link.directive.js +69 -0
- package/esm2015/asset-reader/encrypted-asset-reader.js +20 -0
- package/esm2015/asset-reader/public-api.js +5 -0
- package/esm2015/asset-reader/theseam-ui-common-asset-reader.js +5 -0
- package/esm2015/breadcrumbs/breadcrumb.js +2 -0
- package/esm2015/breadcrumbs/breadcrumbs/breadcrumbs.component.js +21 -0
- package/esm2015/breadcrumbs/breadcrumbs-resolver.js +2 -0
- package/esm2015/breadcrumbs/breadcrumbs.module.js +21 -0
- package/esm2015/breadcrumbs/breadcrumbs.service.js +158 -0
- package/esm2015/breadcrumbs/public-api.js +6 -0
- package/esm2015/breadcrumbs/theseam-ui-common-breadcrumbs.js +5 -0
- package/esm2015/buttons/badge-button/badge-button.component.js +79 -0
- package/esm2015/buttons/button/button.component.js +111 -0
- package/esm2015/buttons/buttons.module.js +34 -0
- package/esm2015/buttons/progress-circle-button/progress-circle-button.component.js +60 -0
- package/esm2015/buttons/public-api.js +6 -0
- package/esm2015/buttons/theseam-ui-common-buttons.js +5 -0
- package/esm2015/buttons/toggle-button/toggle-button.component.js +88 -0
- package/esm2015/card/card-action/card-action.component.js +27 -0
- package/esm2015/card/card-body/card-body.component.js +32 -0
- package/esm2015/card/card-footer/card-footer.component.js +15 -0
- package/esm2015/card/card-header/card-header.component.js +22 -0
- package/esm2015/card/card.component.js +20 -0
- package/esm2015/card/card.module.js +33 -0
- package/esm2015/card/public-api.js +7 -0
- package/esm2015/card/theseam-ui-common-card.js +5 -0
- package/esm2015/checkbox/checkbox.component.js +276 -0
- package/esm2015/checkbox/checkbox.module.js +21 -0
- package/esm2015/checkbox/public-api.js +3 -0
- package/esm2015/checkbox/theseam-ui-common-checkbox.js +5 -0
- package/esm2015/confirm-dialog/confirm-click.directive.js +62 -0
- package/esm2015/confirm-dialog/confirm-dialog.component.js +20 -0
- package/esm2015/confirm-dialog/confirm-dialog.module.js +35 -0
- package/esm2015/confirm-dialog/confirm-dialog.service.js +38 -0
- package/esm2015/confirm-dialog/public-api.js +5 -0
- package/esm2015/confirm-dialog/theseam-ui-common-confirm-dialog.js +5 -0
- package/esm2015/core/common-behaviors/active.js +13 -0
- package/esm2015/core/common-behaviors/constructor.js +9 -0
- package/esm2015/core/common-behaviors/disabled.js +20 -0
- package/esm2015/core/common-behaviors/element-ref.js +2 -0
- package/esm2015/core/common-behaviors/index.js +10 -0
- package/esm2015/core/common-behaviors/initialized.js +62 -0
- package/esm2015/core/common-behaviors/renderer2.js +2 -0
- package/esm2015/core/common-behaviors/size.js +24 -0
- package/esm2015/core/common-behaviors/tabindex.js +22 -0
- package/esm2015/core/common-behaviors/theme.js +24 -0
- package/esm2015/core/input-decorators/index.js +3 -0
- package/esm2015/core/input-decorators/input-boolean.decorator.js +27 -0
- package/esm2015/core/input-decorators/input-number.decorator.js +27 -0
- package/esm2015/core/public-api.js +3 -0
- package/esm2015/core/theseam-ui-common-core.js +5 -0
- package/esm2015/data-exporter/data-exporter.js +7 -0
- package/esm2015/data-exporter/data-exporter.module.js +17 -0
- package/esm2015/data-exporter/exporters/csv-exporter.js +32 -0
- package/esm2015/data-exporter/exporters/xlsx-exporter.js +30 -0
- package/esm2015/data-exporter/public-api.js +5 -0
- package/esm2015/data-exporter/theseam-ui-common-data-exporter.js +5 -0
- package/esm2015/data-filters/data-filter-container.js +3 -0
- package/esm2015/data-filters/data-filter-def.js +3 -0
- package/esm2015/data-filters/data-filter.js +22 -0
- package/esm2015/data-filters/data-filters.module.js +50 -0
- package/esm2015/data-filters/filters/data-filter-search/data-filter-search.component.js +110 -0
- package/esm2015/data-filters/filters/data-filter-search/search-filter-options.js +2 -0
- package/esm2015/data-filters/filters/data-filter-text/data-filter-text.component.js +138 -0
- package/esm2015/data-filters/filters/data-filter-text/text-filter-options.js +2 -0
- package/esm2015/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.js +151 -0
- package/esm2015/data-filters/public-api.js +10 -0
- package/esm2015/data-filters/theseam-ui-common-data-filters.js +5 -0
- package/esm2015/datatable/datatable/datatable.component.js +584 -0
- package/esm2015/datatable/datatable-action-menu/datatable-action-menu.component.js +101 -0
- package/esm2015/datatable/datatable-action-menu-item/datatable-action-menu-item.component.js +30 -0
- package/esm2015/datatable/datatable-column/datatable-column.component.js +83 -0
- package/esm2015/datatable/datatable-column-preferences/datatable-column-preferences.component.js +46 -0
- package/esm2015/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.js +18 -0
- package/esm2015/datatable/datatable-export-button/datatable-export-button.component.js +98 -0
- package/esm2015/datatable/datatable-menu-bar/datatable-menu-bar.component.js +55 -0
- package/esm2015/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.js +16 -0
- package/esm2015/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.js +16 -0
- package/esm2015/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.js +16 -0
- package/esm2015/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.js +16 -0
- package/esm2015/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.js +32 -0
- package/esm2015/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.js +15 -0
- package/esm2015/datatable/datatable-row-detail/datatable-row-detail.directive.js +69 -0
- package/esm2015/datatable/datatable.module.js +120 -0
- package/esm2015/datatable/directives/datatable-action-menu-item.directive.js +46 -0
- package/esm2015/datatable/directives/datatable-action-menu-toggle.directive.js +128 -0
- package/esm2015/datatable/directives/datatable-cell-tpl.directive.js +15 -0
- package/esm2015/datatable/directives/datatable-filter.directive.js +21 -0
- package/esm2015/datatable/directives/datatable-row-action-item.directive.js +15 -0
- package/esm2015/datatable/models/datatable-accessor.js +2 -0
- package/esm2015/datatable/models/datatable-data-source.js +42 -0
- package/esm2015/datatable/models/datatable-gql-data-source.js +15 -0
- package/esm2015/datatable/models/menubar-item-data.js +2 -0
- package/esm2015/datatable/models/page-info.js +2 -0
- package/esm2015/datatable/models/preferences-accessor.js +2 -0
- package/esm2015/datatable/models/preferences.js +2 -0
- package/esm2015/datatable/models/sort-event.js +2 -0
- package/esm2015/datatable/models/sort-item.js +2 -0
- package/esm2015/datatable/models/table-column.js +2 -0
- package/esm2015/datatable/public-api.js +39 -0
- package/esm2015/datatable/services/datatable-column-changes.service.js +17 -0
- package/esm2015/datatable/services/datatable-preferences.service.js +113 -0
- package/esm2015/datatable/services/datatable-scrollbar-helper.service.js +51 -0
- package/esm2015/datatable/theseam-ui-common-datatable.js +6 -0
- package/esm2015/datatable/tokens/datatable-accessor.js +3 -0
- package/esm2015/datatable/tokens/datatable-preferences-accessor.js +3 -0
- package/esm2015/datatable/tokens/menubar-item-data.js +3 -0
- package/esm2015/datatable/utils/with-stored-column-info.js +20 -0
- package/esm2015/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.js +119 -0
- package/esm2015/datatable-dynamic/datatable-dynamic-def.js +2 -0
- package/esm2015/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.js +53 -0
- package/esm2015/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.js +160 -0
- package/esm2015/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.js +2 -0
- package/esm2015/datatable-dynamic/datatable-dynamic-menu-bar-token.js +3 -0
- package/esm2015/datatable-dynamic/datatable-dynamic.component.js +75 -0
- package/esm2015/datatable-dynamic/datatable-dynamic.module.js +49 -0
- package/esm2015/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.js +408 -0
- package/esm2015/datatable-dynamic/dynamic-datatable-def.service.js +84 -0
- package/esm2015/datatable-dynamic/dynamic-datatable-row-actions.service.js +47 -0
- package/esm2015/datatable-dynamic/models/dynamic-datatable-action-menu-record.js +2 -0
- package/esm2015/datatable-dynamic/models/dynamic-datatable-filter-menu-item.js +2 -0
- package/esm2015/datatable-dynamic/models/dynamic-datatable-menu-bar.js +2 -0
- package/esm2015/datatable-dynamic/models/dynamic-datatable-row-action-context.js +2 -0
- package/esm2015/datatable-dynamic/models/dynamic-datatable-row-action.js +2 -0
- package/esm2015/datatable-dynamic/models/index.js +6 -0
- package/esm2015/datatable-dynamic/public-api.js +14 -0
- package/esm2015/datatable-dynamic/theseam-ui-common-datatable-dynamic.js +5 -0
- package/esm2015/datatable-dynamic/utils/defaults/set-dynamic-datatable-columns-defaults.js +8 -0
- package/esm2015/datatable-dynamic/utils/defaults/set-dynamic-datatable-def-defaults.js +13 -0
- package/esm2015/datatable-dynamic/utils/defaults/set-dynamic-datatable-filter-menu-defaults.js +6 -0
- package/esm2015/datatable-dynamic/utils/defaults/set-dynamic-datatable-options-defaults.js +6 -0
- package/esm2015/datatable-dynamic/utils/index.js +5 -0
- package/esm2015/dynamic/action/api/dynamic-action-api-def.js +2 -0
- package/esm2015/dynamic/action/api/dynamic-action-api-errors.js +4 -0
- package/esm2015/dynamic/action/api/dynamic-action-api.js +2 -0
- package/esm2015/dynamic/action/api/dynamic-action-api.service.js +215 -0
- package/esm2015/dynamic/action/dynamic-action-helper.service.js +163 -0
- package/esm2015/dynamic/action/index.js +11 -0
- package/esm2015/dynamic/action/link/dynamic-action-link-def.js +2 -0
- package/esm2015/dynamic/action/link/dynamic-action-link.js +2 -0
- package/esm2015/dynamic/action/link/dynamic-action-link.service.js +50 -0
- package/esm2015/dynamic/action/modal/dynamic-action-modal-def.js +2 -0
- package/esm2015/dynamic/action/modal/dynamic-action-modal.js +2 -0
- package/esm2015/dynamic/action/modal/dynamic-action-modal.service.js +92 -0
- package/esm2015/dynamic/dynamic-value-helper.service.js +101 -0
- package/esm2015/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.js +33 -0
- package/esm2015/dynamic/evaluators/exporters-data-evaluator/exporters-data-value.js +2 -0
- package/esm2015/dynamic/evaluators/exporters-data-evaluator/index.js +3 -0
- package/esm2015/dynamic/evaluators/index.js +3 -0
- package/esm2015/dynamic/evaluators/jexl-evaluator/index.js +3 -0
- package/esm2015/dynamic/evaluators/jexl-evaluator/jexl-evaluator.js +29 -0
- package/esm2015/dynamic/evaluators/jexl-evaluator/jexl-value.js +2 -0
- package/esm2015/dynamic/models/dynamic-action-confirm-def.js +2 -0
- package/esm2015/dynamic/models/dynamic-action-context.js +2 -0
- package/esm2015/dynamic/models/dynamic-action-def.js +3 -0
- package/esm2015/dynamic/models/dynamic-action-ui-anchor-def.js +2 -0
- package/esm2015/dynamic/models/dynamic-action-ui-button-def.js +2 -0
- package/esm2015/dynamic/models/dynamic-action-ui-def.js +2 -0
- package/esm2015/dynamic/models/dynamic-action.js +2 -0
- package/esm2015/dynamic/models/dynamic-value-base-type.js +2 -0
- package/esm2015/dynamic/models/dynamic-value-evaluatable-type.js +2 -0
- package/esm2015/dynamic/models/dynamic-value-evaluator.js +2 -0
- package/esm2015/dynamic/models/dynamic-value-primitive.js +2 -0
- package/esm2015/dynamic/models/dynamic-value-type.js +2 -0
- package/esm2015/dynamic/models/dynamic-value.js +2 -0
- package/esm2015/dynamic/models/index.js +14 -0
- package/esm2015/dynamic/public-api.js +7 -0
- package/esm2015/dynamic/theseam-ui-common-dynamic.js +5 -0
- package/esm2015/dynamic/tokens/api-config.js +29 -0
- package/esm2015/dynamic/tokens/dynamic-action.js +3 -0
- package/esm2015/dynamic/tokens/dynamic-data.js +3 -0
- package/esm2015/dynamic/tokens/dynamic-value-evaluator.js +3 -0
- package/esm2015/dynamic/tokens/index.js +5 -0
- package/esm2015/dynamic/utils/index.js +2 -0
- package/esm2015/dynamic/utils/is-action-type.js +4 -0
- package/esm2015/dynamic-component-loader/dynamic-component-loader.module.js +47 -0
- package/esm2015/dynamic-component-loader/dynamic-component-loader.service.js +91 -0
- package/esm2015/dynamic-component-loader/dynamic-component-manifest.js +2 -0
- package/esm2015/dynamic-component-loader/dynamic-component-tokens.js +5 -0
- package/esm2015/dynamic-component-loader/public-api.js +5 -0
- package/esm2015/dynamic-component-loader/theseam-ui-common-dynamic-component-loader.js +5 -0
- package/esm2015/footer-bar/footer-bar/footer-bar.component.js +16 -0
- package/esm2015/footer-bar/footer-bar.module.js +15 -0
- package/esm2015/footer-bar/public-api.js +3 -0
- package/esm2015/footer-bar/theseam-ui-common-footer-bar.js +5 -0
- package/esm2015/form-field/form-field-error.directive.js +28 -0
- package/esm2015/form-field/form-field-help-text.directive.js +15 -0
- package/esm2015/form-field/form-field-label-tpl.directive.js +15 -0
- package/esm2015/form-field/form-field-required-indicator.component.js +38 -0
- package/esm2015/form-field/form-field.component.js +193 -0
- package/esm2015/form-field/form-field.module.js +40 -0
- package/esm2015/form-field/input.directive.js +195 -0
- package/esm2015/form-field/public-api.js +8 -0
- package/esm2015/form-field/theseam-ui-common-form-field.js +5 -0
- package/esm2015/form-field-error/form-field-error/form-field-error.component.js +27 -0
- package/esm2015/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.js +25 -0
- package/esm2015/form-field-error/form-field-error-list/form-field-error-list-item.directive.js +18 -0
- package/esm2015/form-field-error/form-field-error-list/form-field-error-list.component.js +370 -0
- package/esm2015/form-field-error/form-field-error.module.js +28 -0
- package/esm2015/form-field-error/public-api.js +6 -0
- package/esm2015/form-field-error/theseam-ui-common-form-field-error.js +5 -0
- package/esm2015/framework/base-layout/base-layout-action.js +2 -0
- package/esm2015/framework/base-layout/base-layout-nav.js +2 -0
- package/esm2015/framework/base-layout/base-layout-ref.js +2 -0
- package/esm2015/framework/base-layout/base-layout-tokens.js +3 -0
- package/esm2015/framework/base-layout/base-layout.component.js +117 -0
- package/esm2015/framework/base-layout/base-layout.module.js +45 -0
- package/esm2015/framework/base-layout/directives/base-layout-content-footer.directive.js +15 -0
- package/esm2015/framework/base-layout/directives/base-layout-content-header.directive.js +15 -0
- package/esm2015/framework/base-layout/directives/base-layout-content.directive.js +15 -0
- package/esm2015/framework/base-layout/directives/base-layout-nav-toggle.directive.js +37 -0
- package/esm2015/framework/base-layout/directives/base-layout-side-bar.directive.js +15 -0
- package/esm2015/framework/base-layout/directives/base-layout-top-bar.directive.js +15 -0
- package/esm2015/framework/base-layout/index.js +13 -0
- package/esm2015/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.js +19 -0
- package/esm2015/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.js +25 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.js +121 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets-item.js +2 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor-token.js +3 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor.js +2 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.js +173 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets.component.js +176 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets.service.js +165 -0
- package/esm2015/framework/dashboard/dashboard.component.js +25 -0
- package/esm2015/framework/dashboard/dashboard.module.js +39 -0
- package/esm2015/framework/dashboard/index.js +12 -0
- package/esm2015/framework/dynamic-router/dynamic-route-def.js +2 -0
- package/esm2015/framework/dynamic-router/dynamic-router.module.js +21 -0
- package/esm2015/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.js +256 -0
- package/esm2015/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.js +114 -0
- package/esm2015/framework/dynamic-router/index.js +6 -0
- package/esm2015/framework/dynamic-router/resolvers/hierarchy-level.resolver.js +26 -0
- package/esm2015/framework/public-api.js +7 -0
- package/esm2015/framework/schema-form/index.js +4 -0
- package/esm2015/framework/schema-form/schema-form-framework.component.js +16 -0
- package/esm2015/framework/schema-form/schema-form-framework.js +27 -0
- package/esm2015/framework/schema-form/schema-form.module.js +35 -0
- package/esm2015/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.js +41 -0
- package/esm2015/framework/schema-form-controls/schema-form-controls.module.js +50 -0
- package/esm2015/framework/schema-form-controls/schema-form-input/schema-form-input.component.js +34 -0
- package/esm2015/framework/schema-form-controls/schema-form-number/schema-form-number.component.js +40 -0
- package/esm2015/framework/schema-form-controls/schema-form-select/schema-form-select.component.js +36 -0
- package/esm2015/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.js +46 -0
- package/esm2015/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.js +142 -0
- package/esm2015/framework/side-nav/index.js +7 -0
- package/esm2015/framework/side-nav/side-nav-item/side-nav-item.component.js +151 -0
- package/esm2015/framework/side-nav/side-nav-toggle/side-nav-toggle.component.js +36 -0
- package/esm2015/framework/side-nav/side-nav-utils.js +81 -0
- package/esm2015/framework/side-nav/side-nav.component.js +195 -0
- package/esm2015/framework/side-nav/side-nav.models.js +2 -0
- package/esm2015/framework/side-nav/side-nav.module.js +37 -0
- package/esm2015/framework/side-nav/side-nav.service.js +174 -0
- package/esm2015/framework/theseam-ui-common-framework.js +13 -0
- package/esm2015/framework/top-bar/index.js +8 -0
- package/esm2015/framework/top-bar/top-bar-item.directive.js +15 -0
- package/esm2015/framework/top-bar/top-bar-menu-btn-detail.directive.js +15 -0
- package/esm2015/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.js +53 -0
- package/esm2015/framework/top-bar/top-bar-menu.directive.js +16 -0
- package/esm2015/framework/top-bar/top-bar-title/top-bar-title.component.js +19 -0
- package/esm2015/framework/top-bar/top-bar.component.js +82 -0
- package/esm2015/framework/top-bar/top-bar.module.js +46 -0
- package/esm2015/graphql/models/direction.js +8 -0
- package/esm2015/graphql/models/hint-definition.js +2 -0
- package/esm2015/graphql/models/hint-transform-operation.js +2 -0
- package/esm2015/graphql/models/hint-transformer.js +2 -0
- package/esm2015/graphql/models/hints-kind.js +9 -0
- package/esm2015/graphql/models/hints-token.js +2 -0
- package/esm2015/graphql/models/index.js +9 -0
- package/esm2015/graphql/models/query-processing-config.js +2 -0
- package/esm2015/graphql/models/variable.js +7 -0
- package/esm2015/graphql/public-api.js +2 -0
- package/esm2015/graphql/theseam-ui-common-graphql.js +5 -0
- package/esm2015/graphql/utils/contains-variable.js +14 -0
- package/esm2015/graphql/utils/gql-var.js +4 -0
- package/esm2015/graphql/utils/hints-tokens-containing-hint.js +4 -0
- package/esm2015/graphql/utils/index.js +11 -0
- package/esm2015/graphql/utils/inline-variables.js +50 -0
- package/esm2015/graphql/utils/parse-comments.js +24 -0
- package/esm2015/graphql/utils/parse-hints.js +116 -0
- package/esm2015/graphql/utils/remove-variable-definition.js +14 -0
- package/esm2015/graphql/utils/remove-variable-definitions-not-defined.js +19 -0
- package/esm2015/graphql/utils/remove-variable.js +22 -0
- package/esm2015/graphql/utils/to-gql.js +40 -0
- package/esm2015/icon/icon/icon.component.js +125 -0
- package/esm2015/icon/icon-btn/icon-btn.component.js +136 -0
- package/esm2015/icon/icon-notification/icon-notification.component.js +120 -0
- package/esm2015/icon/icon.js +2 -0
- package/esm2015/icon/icon.module.js +27 -0
- package/esm2015/icon/public-api.js +7 -0
- package/esm2015/icon/theseam-ui-common-icon.js +5 -0
- package/esm2015/icon/utils/file-extension-icon.js +33 -0
- package/esm2015/icon/utils/get-known-icon.js +82 -0
- package/esm2015/icon/utils/index.js +3 -0
- package/esm2015/layout/breakpoint-aliases.js +11 -0
- package/esm2015/layout/layout.module.js +18 -0
- package/esm2015/layout/layout.service.js +24 -0
- package/esm2015/layout/observe-media-query.js +41 -0
- package/esm2015/layout/public-api.js +5 -0
- package/esm2015/layout/theseam-ui-common-layout.js +5 -0
- package/esm2015/loading/loading/loading.component.js +28 -0
- package/esm2015/loading/loading-overlay.service.js +59 -0
- package/esm2015/loading/loading-themes.js +18 -0
- package/esm2015/loading/loading.models.js +2 -0
- package/esm2015/loading/loading.module.js +29 -0
- package/esm2015/loading/public-api.js +6 -0
- package/esm2015/loading/theseam-ui-common-loading.js +5 -0
- package/esm2015/menu/menu-animations.js +58 -0
- package/esm2015/menu/menu-divider.component.js +15 -0
- package/esm2015/menu/menu-footer/menu-footer.component.js +32 -0
- package/esm2015/menu/menu-footer-action/menu-footer-action.component.js +48 -0
- package/esm2015/menu/menu-header/menu-header.component.js +32 -0
- package/esm2015/menu/menu-item.component.js +127 -0
- package/esm2015/menu/menu-panel-token.js +6 -0
- package/esm2015/menu/menu-panel.js +2 -0
- package/esm2015/menu/menu-toggle.directive.js +248 -0
- package/esm2015/menu/menu.component.js +174 -0
- package/esm2015/menu/menu.module.js +43 -0
- package/esm2015/menu/public-api.js +12 -0
- package/esm2015/menu/theseam-ui-common-menu.js +5 -0
- package/esm2015/modal/directives/modal-close.directive.js +63 -0
- package/esm2015/modal/directives/modal-footer-tpl.directive.js +15 -0
- package/esm2015/modal/directives/modal-header-icon-tpl.directive.js +15 -0
- package/esm2015/modal/directives/modal-header-title-tpl.directive.js +15 -0
- package/esm2015/modal/directives/modal-title.directive.js +19 -0
- package/esm2015/modal/directives/modal.directive.js +25 -0
- package/esm2015/modal/modal/modal.component.js +149 -0
- package/esm2015/modal/modal-body/modal-body.component.js +22 -0
- package/esm2015/modal/modal-config.js +47 -0
- package/esm2015/modal/modal-container/modal-container.component.js +217 -0
- package/esm2015/modal/modal-footer/modal-footer.component.js +20 -0
- package/esm2015/modal/modal-header/modal-header.component.js +26 -0
- package/esm2015/modal/modal-injectors.js +23 -0
- package/esm2015/modal/modal-ref.js +126 -0
- package/esm2015/modal/modal-utils.js +14 -0
- package/esm2015/modal/modal.models.js +3 -0
- package/esm2015/modal/modal.module.js +83 -0
- package/esm2015/modal/modal.service.js +343 -0
- package/esm2015/modal/public-api.js +20 -0
- package/esm2015/modal/route-modal/route-modal.component.js +68 -0
- package/esm2015/modal/theseam-ui-common-modal.js +5 -0
- package/esm2015/models/component-type.js +4 -0
- package/esm2015/models/http-status-codes.js +20 -0
- package/esm2015/models/public-api.js +8 -0
- package/esm2015/models/size-prefixes.js +2 -0
- package/esm2015/models/size-types.js +2 -0
- package/esm2015/models/theme-names.js +26 -0
- package/esm2015/models/theme-prefixes.js +2 -0
- package/esm2015/models/theme-types.js +2 -0
- package/esm2015/models/theseam-ui-common-models.js +5 -0
- package/esm2015/popover/popover/popover.component.js +149 -0
- package/esm2015/popover/popover-animations.js +46 -0
- package/esm2015/popover/popover.directive.js +257 -0
- package/esm2015/popover/popover.module.js +30 -0
- package/esm2015/popover/public-api.js +5 -0
- package/esm2015/popover/theseam-ui-common-popover.js +5 -0
- package/esm2015/progress/progress-circle/progress-circle.component.js +63 -0
- package/esm2015/progress/progress.module.js +19 -0
- package/esm2015/progress/public-api.js +3 -0
- package/esm2015/progress/theseam-ui-common-progress.js +5 -0
- package/esm2015/public_api.js +43 -0
- package/esm2015/scrollbar/overlay-scrollbar.directive.js +61 -0
- package/esm2015/scrollbar/overlay-scrollbars-config-model.js +2 -0
- package/esm2015/scrollbar/overlay-scrollbars-config.js +13 -0
- package/esm2015/scrollbar/overlay-scrollbars.service.js +87 -0
- package/esm2015/scrollbar/public-api.js +6 -0
- package/esm2015/scrollbar/scrollbar.module.js +25 -0
- package/esm2015/scrollbar/theseam-ui-common-scrollbar.js +5 -0
- package/esm2015/services/asset-loader.service.js +33 -0
- package/esm2015/services/font-loader.service.js +81 -0
- package/esm2015/services/public-api.js +4 -0
- package/esm2015/services/router-helpers.service.js +26 -0
- package/esm2015/services/theseam-ui-common-services.js +5 -0
- package/esm2015/shared/components/index.js +2 -0
- package/esm2015/shared/components/password-input-reveal/password-input-reveal.component.js +71 -0
- package/esm2015/shared/directives/auto-focus.directive.js +53 -0
- package/esm2015/shared/directives/click-outside.directive.js +49 -0
- package/esm2015/shared/directives/disable-control.directive.js +27 -0
- package/esm2015/shared/directives/elem-resized.directive.js +29 -0
- package/esm2015/shared/directives/hover-class-toggle.directive.js +80 -0
- package/esm2015/shared/directives/hover-class.directive.js +74 -0
- package/esm2015/shared/directives/index.js +9 -0
- package/esm2015/shared/directives/ng-select-extra.directive.js +177 -0
- package/esm2015/shared/directives/ngx-quill-extra.directive.js +60 -0
- package/esm2015/shared/pipes/index.js +3 -0
- package/esm2015/shared/pipes/mask-chars.pipe.js +21 -0
- package/esm2015/shared/pipes/truncate.pipe.js +19 -0
- package/esm2015/shared/public-api.js +5 -0
- package/esm2015/shared/shared.module.js +58 -0
- package/esm2015/shared/theseam-ui-common-shared.js +5 -0
- package/esm2015/storage/local-storage.service.js +77 -0
- package/esm2015/storage/localstorage-memory.js +64 -0
- package/esm2015/storage/public-api.js +2 -0
- package/esm2015/storage/theseam-ui-common-storage.js +5 -0
- package/esm2015/story-helpers/arg-type-helpers.js +34 -0
- package/esm2015/story-helpers/args-to-tpl.js +76 -0
- package/esm2015/story-helpers/initial-route-factory.js +4 -0
- package/esm2015/story-helpers/initial-route.service.js +27 -0
- package/esm2015/story-helpers/on-story-bootstrapped-exec.js +64 -0
- package/esm2015/story-helpers/on-story-bootstrapped-trigger.js +38 -0
- package/esm2015/story-helpers/public-api.js +15 -0
- package/esm2015/story-helpers/route-button.js +12 -0
- package/esm2015/story-helpers/routes-arg-type.js +18 -0
- package/esm2015/story-helpers/story-empty-with-route.component.js +7 -0
- package/esm2015/story-helpers/story-empty.component.js +7 -0
- package/esm2015/story-helpers/story-helper-components.module.js +29 -0
- package/esm2015/story-helpers/story-initial-route.js +24 -0
- package/esm2015/story-helpers/story-modal-container.component.js +77 -0
- package/esm2015/story-helpers/story-toastr.service.js +33 -0
- package/esm2015/story-helpers/theseam-ui-common-story-helpers.js +5 -0
- package/esm2015/tabbed/directives/tabbed-tab-content.directive.js +14 -0
- package/esm2015/tabbed/directives/tabbed-tab.directive.js +36 -0
- package/esm2015/tabbed/public-api.js +8 -0
- package/esm2015/tabbed/tabbed-content/tabbed-content.component.js +17 -0
- package/esm2015/tabbed/tabbed-item/tabbed-item.component.js +30 -0
- package/esm2015/tabbed/tabbed.component.js +111 -0
- package/esm2015/tabbed/tabbed.module.js +36 -0
- package/esm2015/tabbed/tabbed.service.js +28 -0
- package/esm2015/tabbed/theseam-ui-common-tabbed.js +5 -0
- package/esm2015/table/public-api.js +3 -0
- package/esm2015/table/table/table.component.js +90 -0
- package/esm2015/table/table.module.js +23 -0
- package/esm2015/table/theseam-ui-common-table.js +5 -0
- package/esm2015/table-cell-type/public-api.js +12 -0
- package/esm2015/table-cell-type/services/table-cell-types-helpers.service.js +70 -0
- package/esm2015/table-cell-type/table-cell-type-action.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-column.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-config.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-export-props.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-manifest-provider.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-models.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-name.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-selector.component.js +94 -0
- package/esm2015/table-cell-type/table-cell-type-tokens.js +4 -0
- package/esm2015/table-cell-type/table-cell-type.module.js +23 -0
- package/esm2015/table-cell-type/theseam-ui-common-table-cell-type.js +5 -0
- package/esm2015/table-cell-types/public-api.js +16 -0
- package/esm2015/table-cell-types/table-cell-type-date/table-cell-type-date-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-date/table-cell-type-date.component.js +55 -0
- package/esm2015/table-cell-types/table-cell-type-date/table-cell-type-date.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.js +166 -0
- package/esm2015/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-manifests.js +91 -0
- package/esm2015/table-cell-types/table-cell-type-phone/table-cell-type-phone-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.js +66 -0
- package/esm2015/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.js +160 -0
- package/esm2015/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.js +78 -0
- package/esm2015/table-cell-types/table-cell-type-string/table-cell-type-string-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-string/table-cell-type-string.component.js +150 -0
- package/esm2015/table-cell-types/table-cell-types.module.js +71 -0
- package/esm2015/table-cell-types/theseam-ui-common-table-cell-types.js +5 -0
- package/esm2015/tel-input/intl-tel-input.js +55 -0
- package/esm2015/tel-input/models/index.js +3 -0
- package/esm2015/tel-input/models/tel-input-country-data.js +2 -0
- package/esm2015/tel-input/models/tel-input-number-format-name.js +8 -0
- package/esm2015/tel-input/phone-number.pipe.js +51 -0
- package/esm2015/tel-input/public-api.js +10 -0
- package/esm2015/tel-input/tel-input/tel-input.component.js +167 -0
- package/esm2015/tel-input/tel-input-constants.js +18 -0
- package/esm2015/tel-input/tel-input-validator.js +27 -0
- package/esm2015/tel-input/tel-input.directive.js +164 -0
- package/esm2015/tel-input/tel-input.module.js +29 -0
- package/esm2015/tel-input/theseam-ui-common-tel-input.js +5 -0
- package/esm2015/tel-input/utils/add-country-code.js +23 -0
- package/esm2015/tel-input/utils/coerce-phone-number-format.js +22 -0
- package/esm2015/tel-input/utils/get-country-code.js +9 -0
- package/esm2015/tel-input/utils/get-dial-code.js +45 -0
- package/esm2015/tel-input/utils/get-global-intl-tel-input-globals.js +4 -0
- package/esm2015/tel-input/utils/get-global-intl-tel-input-utils.js +4 -0
- package/esm2015/tel-input/utils/get-intl-tel-input-utils.js +17 -0
- package/esm2015/tel-input/utils/get-validation-error-message.js +12 -0
- package/esm2015/tel-input/utils/index.js +10 -0
- package/esm2015/tel-input/utils/process-country-codes.js +49 -0
- package/esm2015/test-helpers/public-api.js +2 -0
- package/esm2015/test-helpers/theseam-ui-common-test-helpers.js +5 -0
- package/esm2015/test-helpers/tick-helper.js +74 -0
- package/esm2015/theseam-ui-common.js +5 -0
- package/esm2015/tiled-select/components/tiled-select/tiled-select.component.js +197 -0
- package/esm2015/tiled-select/components/tiled-select-tile/tiled-select-tile.component.js +125 -0
- package/esm2015/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.js +54 -0
- package/esm2015/tiled-select/directives/tiled-select-tile-icon-tpl.directive.js +16 -0
- package/esm2015/tiled-select/directives/tiled-select-tile-label-tpl.directive.js +15 -0
- package/esm2015/tiled-select/directives/tiled-select-tile-overlay.directive.js +19 -0
- package/esm2015/tiled-select/public-api.js +9 -0
- package/esm2015/tiled-select/theseam-ui-common-tiled-select.js +5 -0
- package/esm2015/tiled-select/tiled-select.models.js +2 -0
- package/esm2015/tiled-select/tiled-select.module.js +35 -0
- package/esm2015/toggle-edit/models/can-toggle-edit.js +2 -0
- package/esm2015/toggle-edit/models/index.js +3 -0
- package/esm2015/toggle-edit/models/toggle-edit-ref.js +2 -0
- package/esm2015/toggle-edit/public-api.js +7 -0
- package/esm2015/toggle-edit/theseam-ui-common-toggle-edit.js +5 -0
- package/esm2015/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.js +15 -0
- package/esm2015/toggle-edit/toggle-edit-display-tpl.directive.js +15 -0
- package/esm2015/toggle-edit/toggle-edit-keyboard-listener.service.js +56 -0
- package/esm2015/toggle-edit/toggle-edit.component.js +403 -0
- package/esm2015/toggle-edit/toggle-edit.module.js +40 -0
- package/esm2015/toggle-group/public-api.js +4 -0
- package/esm2015/toggle-group/theseam-ui-common-toggle-group.js +5 -0
- package/esm2015/toggle-group/toggle-group-option.directive.js +44 -0
- package/esm2015/toggle-group/toggle-group.directive.js +192 -0
- package/esm2015/toggle-group/toggle-group.module.js +24 -0
- package/esm2015/unsaved-changes-dialog/public-api.js +5 -0
- package/esm2015/unsaved-changes-dialog/theseam-ui-common-unsaved-changes-dialog.js +5 -0
- package/esm2015/unsaved-changes-dialog/unsaved-changes-can-deactivate.js +27 -0
- package/esm2015/unsaved-changes-dialog/unsaved-changes-dialog.component.js +20 -0
- package/esm2015/unsaved-changes-dialog/unsaved-changes-dialog.guard.js +35 -0
- package/esm2015/unsaved-changes-dialog/unsaved-changes-dialog.module.js +12 -0
- package/esm2015/utils/calc-percentage.js +4 -0
- package/esm2015/utils/cdk/get-closest-widget-cdk-drag.js +18 -0
- package/esm2015/utils/create-padding.js +17 -0
- package/esm2015/utils/file-utils.js +68 -0
- package/esm2015/utils/form/get-control-name.js +31 -0
- package/esm2015/utils/form/get-control-path.js +37 -0
- package/esm2015/utils/form/has-required-control.js +50 -0
- package/esm2015/utils/form/is-empty-input-value.js +6 -0
- package/esm2015/utils/form/observe-control-is-different.js +18 -0
- package/esm2015/utils/form/observe-control-status.js +17 -0
- package/esm2015/utils/form/observe-control-valid.js +30 -0
- package/esm2015/utils/form/observe-control-value-change.js +10 -0
- package/esm2015/utils/form/observe-control-value.js +11 -0
- package/esm2015/utils/form/wait-on-non-pending-status.js +18 -0
- package/esm2015/utils/fractional-digits-count.js +19 -0
- package/esm2015/utils/get-attribute.js +7 -0
- package/esm2015/utils/has-attribute.js +7 -0
- package/esm2015/utils/has-property.js +7 -0
- package/esm2015/utils/input-masks.js +2 -0
- package/esm2015/utils/is-absolute-url.js +17 -0
- package/esm2015/utils/is-null-or-undefined.js +4 -0
- package/esm2015/utils/is-numeric.js +4 -0
- package/esm2015/utils/load-style-sheet.js +14 -0
- package/esm2015/utils/load-style.js +13 -0
- package/esm2015/utils/not-null-or-undefined.js +4 -0
- package/esm2015/utils/obj-utils.js +27 -0
- package/esm2015/utils/observe-query-list.js +5 -0
- package/esm2015/utils/operators/index.js +3 -0
- package/esm2015/utils/operators/map-each.js +6 -0
- package/esm2015/utils/operators/tap-first.js +14 -0
- package/esm2015/utils/pad-end.js +9 -0
- package/esm2015/utils/pad-start.js +9 -0
- package/esm2015/utils/polling-ticker.js +121 -0
- package/esm2015/utils/public-api.js +38 -0
- package/esm2015/utils/refreshable.js +65 -0
- package/esm2015/utils/router/index.js +7 -0
- package/esm2015/utils/router/is-empty-url-route.js +4 -0
- package/esm2015/utils/router/leaf-child-route.js +8 -0
- package/esm2015/utils/router/operators/activated-routes-with-data-property.js +11 -0
- package/esm2015/utils/router/route-snapshot-path-full.js +5 -0
- package/esm2015/utils/router/route-snapshot-path-relative.js +4 -0
- package/esm2015/utils/router/will-have-data-prop.js +10 -0
- package/esm2015/utils/subscriber-count.js +19 -0
- package/esm2015/utils/theseam-ui-common-utils.js +5 -0
- package/esm2015/utils/toggle-attribute.js +35 -0
- package/esm2015/utils/wait-on-condition-async.js +33 -0
- package/esm2015/utils/wrap-into-observable.js +8 -0
- package/esm2015/validators/decimal.validator.js +25 -0
- package/esm2015/validators/email-exists.validator.js +18 -0
- package/esm2015/validators/integer.validator.js +25 -0
- package/esm2015/validators/phone-length.validator.js +8 -0
- package/esm2015/validators/public-api.js +6 -0
- package/esm2015/validators/tax-id.validator.js +13 -0
- package/esm2015/validators/theseam-ui-common-validators.js +5 -0
- package/esm2015/viewers/pdf-viewer/index.js +4 -0
- package/esm2015/viewers/pdf-viewer/pdf-page/pdf-page.component.js +134 -0
- package/esm2015/viewers/pdf-viewer/pdf-renderer.service.js +27 -0
- package/esm2015/viewers/pdf-viewer/pdf-viewer.component.js +149 -0
- package/esm2015/viewers/pdf-viewer/pdf-viewer.module.js +24 -0
- package/esm2015/viewers/public-api.js +2 -0
- package/esm2015/viewers/theseam-ui-common-viewers.js +5 -0
- package/esm2015/widget/directives/widget-drag-handle.directive.js +146 -0
- package/esm2015/widget/directives/widget-icon-tpl.directive.js +15 -0
- package/esm2015/widget/directives/widget-title-tpl.directive.js +15 -0
- package/esm2015/widget/public-api.js +38 -0
- package/esm2015/widget/theseam-ui-common-widget.js +5 -0
- package/esm2015/widget/widget/widget.component.js +121 -0
- package/esm2015/widget/widget-content-components/widget-button-group/widget-button-group.component.js +16 -0
- package/esm2015/widget/widget-content-components/widget-button-group/widget-button-group.module.js +22 -0
- package/esm2015/widget/widget-content-components/widget-content-header/widget-content-header.component.js +16 -0
- package/esm2015/widget/widget-content-components/widget-content-header/widget-content-header.module.js +19 -0
- package/esm2015/widget/widget-content-components/widget-description/widget-description.component.js +12 -0
- package/esm2015/widget/widget-content-components/widget-description/widget-description.module.js +19 -0
- package/esm2015/widget/widget-content-components/widget-empty-label/widget-empty-label.component.js +39 -0
- package/esm2015/widget/widget-content-components/widget-empty-label/widget-empty-label.module.js +19 -0
- package/esm2015/widget/widget-content-components/widget-footer-link/widget-footer-link.component.js +16 -0
- package/esm2015/widget/widget-content-components/widget-footer-link/widget-footer-link.module.js +19 -0
- package/esm2015/widget/widget-content-components/widget-footer-text/widget-footer-text.component.js +16 -0
- package/esm2015/widget/widget-content-components/widget-footer-text/widget-footer-text.module.js +19 -0
- package/esm2015/widget/widget-content-components/widget-header-badge/widget-header-badge.component.js +31 -0
- package/esm2015/widget/widget-content-components/widget-header-badge/widget-header-badge.module.js +19 -0
- package/esm2015/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.js +16 -0
- package/esm2015/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.js +162 -0
- package/esm2015/widget/widget-content-components/widget-list-group/widget-list-group.component.js +19 -0
- package/esm2015/widget/widget-content-components/widget-list-group/widget-list-group.module.js +31 -0
- package/esm2015/widget/widget-content-components/widget-table/widget-table.component.js +35 -0
- package/esm2015/widget/widget-content-components/widget-table/widget-table.module.js +23 -0
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.js +19 -0
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.js +43 -0
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.js +16 -0
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.js +16 -0
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile.component.js +108 -0
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile.module.js +33 -0
- package/esm2015/widget/widget-content-components/widget-tile-list/widget-tile-list.component.js +15 -0
- package/esm2015/widget/widget-content-components/widget-tile-list/widget-tile-list.module.js +21 -0
- package/esm2015/widget/widget-footer/widget-footer.component.js +16 -0
- package/esm2015/widget/widget-registry.models.js +2 -0
- package/esm2015/widget/widget-registry.service.js +56 -0
- package/esm2015/widget/widget-token.js +3 -0
- package/esm2015/widget/widget.module.js +70 -0
- package/fesm2015/theseam-ui-common-asset-reader.js +173 -0
- package/fesm2015/theseam-ui-common-asset-reader.js.map +1 -0
- package/fesm2015/theseam-ui-common-breadcrumbs.js +202 -0
- package/fesm2015/theseam-ui-common-breadcrumbs.js.map +1 -0
- package/fesm2015/theseam-ui-common-buttons.js +362 -0
- package/fesm2015/theseam-ui-common-buttons.js.map +1 -0
- package/fesm2015/theseam-ui-common-card.js +145 -0
- package/fesm2015/theseam-ui-common-card.js.map +1 -0
- package/fesm2015/theseam-ui-common-checkbox.js +302 -0
- package/fesm2015/theseam-ui-common-checkbox.js.map +1 -0
- package/fesm2015/theseam-ui-common-confirm-dialog.js +153 -0
- package/fesm2015/theseam-ui-common-confirm-dialog.js.map +1 -0
- package/fesm2015/theseam-ui-common-core.js +231 -0
- package/fesm2015/theseam-ui-common-core.js.map +1 -0
- package/fesm2015/theseam-ui-common-data-exporter.js +81 -0
- package/fesm2015/theseam-ui-common-data-exporter.js.map +1 -0
- package/fesm2015/theseam-ui-common-data-filters.js +452 -0
- package/fesm2015/theseam-ui-common-data-filters.js.map +1 -0
- package/fesm2015/theseam-ui-common-datatable-dynamic.js +991 -0
- package/fesm2015/theseam-ui-common-datatable-dynamic.js.map +1 -0
- package/fesm2015/theseam-ui-common-datatable.js +1714 -0
- package/fesm2015/theseam-ui-common-datatable.js.map +1 -0
- package/fesm2015/theseam-ui-common-dynamic-component-loader.js +143 -0
- package/fesm2015/theseam-ui-common-dynamic-component-loader.js.map +1 -0
- package/fesm2015/theseam-ui-common-dynamic.js +699 -0
- package/fesm2015/theseam-ui-common-dynamic.js.map +1 -0
- package/fesm2015/theseam-ui-common-footer-bar.js +36 -0
- package/fesm2015/theseam-ui-common-footer-bar.js.map +1 -0
- package/fesm2015/theseam-ui-common-form-field-error.js +464 -0
- package/fesm2015/theseam-ui-common-form-field-error.js.map +1 -0
- package/fesm2015/theseam-ui-common-form-field.js +506 -0
- package/fesm2015/theseam-ui-common-form-field.js.map +1 -0
- package/fesm2015/theseam-ui-common-framework.js +2650 -0
- package/fesm2015/theseam-ui-common-framework.js.map +1 -0
- package/fesm2015/theseam-ui-common-graphql.js +331 -0
- package/fesm2015/theseam-ui-common-graphql.js.map +1 -0
- package/fesm2015/theseam-ui-common-icon.js +518 -0
- package/fesm2015/theseam-ui-common-icon.js.map +1 -0
- package/fesm2015/theseam-ui-common-layout.js +89 -0
- package/fesm2015/theseam-ui-common-layout.js.map +1 -0
- package/fesm2015/theseam-ui-common-loading.js +131 -0
- package/fesm2015/theseam-ui-common-loading.js.map +1 -0
- package/fesm2015/theseam-ui-common-menu.js +762 -0
- package/fesm2015/theseam-ui-common-menu.js.map +1 -0
- package/fesm2015/theseam-ui-common-modal.js +1234 -0
- package/fesm2015/theseam-ui-common-modal.js.map +1 -0
- package/fesm2015/theseam-ui-common-models.js +54 -0
- package/fesm2015/theseam-ui-common-models.js.map +1 -0
- package/fesm2015/theseam-ui-common-popover.js +476 -0
- package/fesm2015/theseam-ui-common-popover.js.map +1 -0
- package/fesm2015/theseam-ui-common-progress.js +87 -0
- package/fesm2015/theseam-ui-common-progress.js.map +1 -0
- package/fesm2015/theseam-ui-common-scrollbar.js +184 -0
- package/fesm2015/theseam-ui-common-scrollbar.js.map +1 -0
- package/fesm2015/theseam-ui-common-services.js +140 -0
- package/fesm2015/theseam-ui-common-services.js.map +1 -0
- package/fesm2015/theseam-ui-common-shared.js +696 -0
- package/fesm2015/theseam-ui-common-shared.js.map +1 -0
- package/fesm2015/theseam-ui-common-storage.js +147 -0
- package/fesm2015/theseam-ui-common-storage.js.map +1 -0
- package/fesm2015/theseam-ui-common-story-helpers.js +441 -0
- package/fesm2015/theseam-ui-common-story-helpers.js.map +1 -0
- package/fesm2015/theseam-ui-common-tabbed.js +262 -0
- package/fesm2015/theseam-ui-common-tabbed.js.map +1 -0
- package/fesm2015/theseam-ui-common-table-cell-type.js +191 -0
- package/fesm2015/theseam-ui-common-table-cell-type.js.map +1 -0
- package/fesm2015/theseam-ui-common-table-cell-types.js +799 -0
- package/fesm2015/theseam-ui-common-table-cell-types.js.map +1 -0
- package/fesm2015/theseam-ui-common-table.js +118 -0
- package/fesm2015/theseam-ui-common-table.js.map +1 -0
- package/fesm2015/theseam-ui-common-tel-input.js +681 -0
- package/fesm2015/theseam-ui-common-tel-input.js.map +1 -0
- package/fesm2015/theseam-ui-common-test-helpers.js +81 -0
- package/fesm2015/theseam-ui-common-test-helpers.js.map +1 -0
- package/fesm2015/theseam-ui-common-tiled-select.js +448 -0
- package/fesm2015/theseam-ui-common-tiled-select.js.map +1 -0
- package/fesm2015/theseam-ui-common-toggle-edit.js +521 -0
- package/fesm2015/theseam-ui-common-toggle-edit.js.map +1 -0
- package/fesm2015/theseam-ui-common-toggle-group.js +260 -0
- package/fesm2015/theseam-ui-common-toggle-group.js.map +1 -0
- package/fesm2015/theseam-ui-common-unsaved-changes-dialog.js +97 -0
- package/fesm2015/theseam-ui-common-unsaved-changes-dialog.js.map +1 -0
- package/fesm2015/theseam-ui-common-utils.js +797 -0
- package/fesm2015/theseam-ui-common-utils.js.map +1 -0
- package/fesm2015/theseam-ui-common-validators.js +94 -0
- package/fesm2015/theseam-ui-common-validators.js.map +1 -0
- package/fesm2015/theseam-ui-common-viewers.js +328 -0
- package/fesm2015/theseam-ui-common-viewers.js.map +1 -0
- package/fesm2015/theseam-ui-common-widget.js +1187 -0
- package/fesm2015/theseam-ui-common-widget.js.map +1 -0
- package/fesm2015/theseam-ui-common.js +47 -0
- package/fesm2015/theseam-ui-common.js.map +1 -0
- package/footer-bar/footer-bar/footer-bar.component.d.ts +5 -0
- package/footer-bar/footer-bar.module.d.ts +2 -0
- package/footer-bar/package.json +11 -0
- package/footer-bar/public-api.d.ts +2 -0
- package/footer-bar/theseam-ui-common-footer-bar.d.ts +4 -0
- package/footer-bar/theseam-ui-common-footer-bar.metadata.json +1 -0
- package/form-field/form-field-error.directive.d.ts +12 -0
- package/form-field/form-field-help-text.directive.d.ts +5 -0
- package/form-field/form-field-label-tpl.directive.d.ts +5 -0
- package/form-field/form-field-required-indicator.component.d.ts +9 -0
- package/form-field/form-field.component.d.ts +114 -0
- package/form-field/form-field.module.d.ts +2 -0
- package/form-field/input.directive.d.ts +72 -0
- package/form-field/package.json +11 -0
- package/form-field/public-api.d.ts +7 -0
- package/form-field/theseam-ui-common-form-field.d.ts +4 -0
- package/form-field/theseam-ui-common-form-field.metadata.json +1 -0
- package/form-field-error/form-field-error/form-field-error.component.d.ts +8 -0
- package/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.d.ts +9 -0
- package/form-field-error/form-field-error-list/form-field-error-list-item.directive.d.ts +6 -0
- package/form-field-error/form-field-error-list/form-field-error-list.component.d.ts +63 -0
- package/form-field-error/form-field-error.module.d.ts +2 -0
- package/form-field-error/package.json +11 -0
- package/form-field-error/public-api.d.ts +5 -0
- package/form-field-error/theseam-ui-common-form-field-error.d.ts +4 -0
- package/form-field-error/theseam-ui-common-form-field-error.metadata.json +1 -0
- package/framework/base-layout/_base-layout-theme.scss +3 -0
- package/framework/base-layout/base-layout-action.d.ts +31 -0
- package/framework/base-layout/base-layout-nav.d.ts +18 -0
- package/framework/base-layout/base-layout-ref.d.ts +14 -0
- package/framework/base-layout/base-layout-tokens.d.ts +3 -0
- package/framework/base-layout/base-layout.component.d.ts +43 -0
- package/framework/base-layout/base-layout.component.scss +81 -0
- package/framework/base-layout/base-layout.module.d.ts +2 -0
- package/framework/base-layout/directives/base-layout-content-footer.directive.d.ts +6 -0
- package/framework/base-layout/directives/base-layout-content-header.directive.d.ts +6 -0
- package/framework/base-layout/directives/base-layout-content.directive.d.ts +6 -0
- package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +14 -0
- package/framework/base-layout/directives/base-layout-side-bar.directive.d.ts +6 -0
- package/framework/base-layout/directives/base-layout-top-bar.directive.d.ts +6 -0
- package/framework/base-layout/index.d.ts +12 -0
- package/framework/base-layout/styles/_utilities.scss +3 -0
- package/framework/base-layout/styles/_variables.scss +9 -0
- package/framework/dashboard/_dashboard-theme.scss +3 -0
- package/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.d.ts +8 -0
- package/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.scss +0 -0
- package/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.d.ts +11 -0
- package/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.scss +0 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.d.ts +47 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets-item.d.ts +43 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor-token.d.ts +3 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor.d.ts +15 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.d.ts +27 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.d.ts +58 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.scss +48 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets.service.d.ts +34 -0
- package/framework/dashboard/dashboard.component.d.ts +8 -0
- package/framework/dashboard/dashboard.component.scss +0 -0
- package/framework/dashboard/dashboard.module.d.ts +2 -0
- package/framework/dashboard/index.d.ts +11 -0
- package/framework/dashboard/styles/_utilities.scss +3 -0
- package/framework/dashboard/styles/_variables.scss +2 -0
- package/framework/dynamic-router/dynamic-route-def.d.ts +8 -0
- package/framework/dynamic-router/dynamic-router.module.d.ts +2 -0
- package/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.d.ts +5 -0
- package/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.d.ts +23 -0
- package/framework/dynamic-router/index.d.ts +5 -0
- package/framework/dynamic-router/resolvers/hierarchy-level.resolver.d.ts +7 -0
- package/framework/package.json +11 -0
- package/framework/public-api.d.ts +6 -0
- package/framework/schema-form/index.d.ts +3 -0
- package/framework/schema-form/schema-form-framework.component.d.ts +5 -0
- package/framework/schema-form/schema-form-framework.d.ts +18 -0
- package/framework/schema-form/schema-form.module.d.ts +2 -0
- package/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.d.ts +21 -0
- package/framework/schema-form-controls/schema-form-controls.module.d.ts +2 -0
- package/framework/schema-form-controls/schema-form-input/schema-form-input.component.d.ts +19 -0
- package/framework/schema-form-controls/schema-form-number/schema-form-number.component.d.ts +22 -0
- package/framework/schema-form-controls/schema-form-select/schema-form-select.component.d.ts +20 -0
- package/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.d.ts +18 -0
- package/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.d.ts +34 -0
- package/framework/side-nav/_side-nav-theme.scss +5 -0
- package/framework/side-nav/index.d.ts +6 -0
- package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +65 -0
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +158 -0
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +11 -0
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +32 -0
- package/framework/side-nav/side-nav-utils.d.ts +18 -0
- package/framework/side-nav/side-nav.component.d.ts +40 -0
- package/framework/side-nav/side-nav.component.scss +47 -0
- package/framework/side-nav/side-nav.models.d.ts +64 -0
- package/framework/side-nav/side-nav.module.d.ts +2 -0
- package/framework/side-nav/side-nav.service.d.ts +21 -0
- package/framework/side-nav/styles/_themes/light/_variables.scss +29 -0
- package/framework/side-nav/styles/_themes/primary/_variables.scss +31 -0
- package/framework/side-nav/styles/_utilities.scss +3 -0
- package/framework/side-nav/styles/_variables.scss +2 -0
- package/framework/theseam-ui-common-framework.d.ts +12 -0
- package/framework/theseam-ui-common-framework.metadata.json +1 -0
- package/framework/top-bar/index.d.ts +7 -0
- package/framework/top-bar/top-bar-item.directive.d.ts +5 -0
- package/framework/top-bar/top-bar-menu-btn-detail.directive.d.ts +5 -0
- package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +20 -0
- package/framework/top-bar/top-bar-menu.directive.d.ts +5 -0
- package/framework/top-bar/top-bar-title/top-bar-title.component.d.ts +7 -0
- package/framework/top-bar/top-bar.component.d.ts +59 -0
- package/framework/top-bar/top-bar.module.d.ts +2 -0
- package/graphql/models/direction.d.ts +6 -0
- package/graphql/models/hint-definition.d.ts +7 -0
- package/graphql/models/hint-transform-operation.d.ts +5 -0
- package/graphql/models/hint-transformer.d.ts +3 -0
- package/graphql/models/hints-kind.d.ts +7 -0
- package/graphql/models/hints-token.d.ts +7 -0
- package/graphql/models/index.d.ts +8 -0
- package/graphql/models/query-processing-config.d.ts +9 -0
- package/graphql/models/variable.d.ts +5 -0
- package/graphql/package.json +11 -0
- package/graphql/public-api.d.ts +1 -0
- package/graphql/theseam-ui-common-graphql.d.ts +4 -0
- package/graphql/theseam-ui-common-graphql.metadata.json +1 -0
- package/graphql/utils/contains-variable.d.ts +2 -0
- package/graphql/utils/gql-var.d.ts +3 -0
- package/graphql/utils/hints-tokens-containing-hint.d.ts +2 -0
- package/graphql/utils/index.d.ts +10 -0
- package/graphql/utils/inline-variables.d.ts +2 -0
- package/graphql/utils/parse-comments.d.ts +2 -0
- package/graphql/utils/parse-hints.d.ts +17 -0
- package/graphql/utils/remove-variable-definition.d.ts +2 -0
- package/graphql/utils/remove-variable-definitions-not-defined.d.ts +3 -0
- package/graphql/utils/remove-variable.d.ts +2 -0
- package/graphql/utils/to-gql.d.ts +1 -0
- package/icon/icon/icon.component.d.ts +54 -0
- package/icon/icon-btn/icon-btn.component.d.ts +74 -0
- package/icon/icon-notification/icon-notification.component.d.ts +47 -0
- package/icon/icon.d.ts +2 -0
- package/icon/icon.module.d.ts +2 -0
- package/icon/package.json +11 -0
- package/icon/public-api.d.ts +6 -0
- package/icon/theseam-ui-common-icon.d.ts +4 -0
- package/icon/theseam-ui-common-icon.metadata.json +1 -0
- package/icon/utils/file-extension-icon.d.ts +3 -0
- package/icon/utils/get-known-icon.d.ts +2 -0
- package/icon/utils/index.d.ts +2 -0
- package/layout/breakpoint-aliases.d.ts +20 -0
- package/layout/layout.module.d.ts +2 -0
- package/layout/layout.service.d.ts +12 -0
- package/layout/observe-media-query.d.ts +8 -0
- package/layout/package.json +11 -0
- package/layout/public-api.d.ts +4 -0
- package/layout/theseam-ui-common-layout.d.ts +4 -0
- package/layout/theseam-ui-common-layout.metadata.json +1 -0
- package/loading/loading/loading.component.d.ts +9 -0
- package/loading/loading-overlay.service.d.ts +13 -0
- package/loading/loading-themes.d.ts +3 -0
- package/loading/loading.models.d.ts +1 -0
- package/loading/loading.module.d.ts +4 -0
- package/loading/package.json +11 -0
- package/loading/public-api.d.ts +5 -0
- package/loading/theseam-ui-common-loading.d.ts +4 -0
- package/loading/theseam-ui-common-loading.metadata.json +1 -0
- package/menu/menu-animations.d.ts +8 -0
- package/menu/menu-divider.component.d.ts +2 -0
- package/menu/menu-footer/menu-footer.component.d.ts +9 -0
- package/menu/menu-footer-action/menu-footer-action.component.d.ts +19 -0
- package/menu/menu-header/menu-header.component.d.ts +9 -0
- package/menu/menu-item.component.d.ts +41 -0
- package/menu/menu-panel-token.d.ts +6 -0
- package/menu/menu-panel.d.ts +20 -0
- package/menu/menu-toggle.directive.d.ts +53 -0
- package/menu/menu.component.d.ts +62 -0
- package/menu/menu.module.d.ts +2 -0
- package/menu/package.json +11 -0
- package/menu/public-api.d.ts +11 -0
- package/menu/theseam-ui-common-menu.d.ts +4 -0
- package/menu/theseam-ui-common-menu.metadata.json +1 -0
- package/modal/directives/modal-close.directive.d.ts +20 -0
- package/modal/directives/modal-footer-tpl.directive.d.ts +5 -0
- package/modal/directives/modal-header-icon-tpl.directive.d.ts +5 -0
- package/modal/directives/modal-header-title-tpl.directive.d.ts +5 -0
- package/modal/directives/modal-title.directive.d.ts +6 -0
- package/modal/directives/modal.directive.d.ts +8 -0
- package/modal/modal/modal.component.d.ts +56 -0
- package/modal/modal-body/modal-body.component.d.ts +7 -0
- package/modal/modal-config.d.ts +93 -0
- package/modal/modal-container/modal-container.component.d.ts +77 -0
- package/modal/modal-footer/modal-footer.component.d.ts +6 -0
- package/modal/modal-header/modal-header.component.d.ts +11 -0
- package/modal/modal-injectors.d.ts +23 -0
- package/modal/modal-ref.d.ts +50 -0
- package/modal/modal-utils.d.ts +8 -0
- package/modal/modal.models.d.ts +24 -0
- package/modal/modal.module.d.ts +2 -0
- package/modal/modal.service.d.ts +95 -0
- package/modal/package.json +11 -0
- package/modal/public-api.d.ts +19 -0
- package/modal/route-modal/route-modal.component.d.ts +16 -0
- package/modal/theseam-ui-common-modal.d.ts +4 -0
- package/modal/theseam-ui-common-modal.metadata.json +1 -0
- package/models/component-type.d.ts +2 -0
- package/models/http-status-codes.d.ts +18 -0
- package/models/package.json +11 -0
- package/models/public-api.d.ts +7 -0
- package/models/size-prefixes.d.ts +1 -0
- package/models/size-types.d.ts +1 -0
- package/models/theme-names.d.ts +2 -0
- package/models/theme-prefixes.d.ts +1 -0
- package/models/theme-types.d.ts +2 -0
- package/models/theseam-ui-common-models.d.ts +4 -0
- package/models/theseam-ui-common-models.metadata.json +1 -0
- package/package.json +61 -0
- package/popover/package.json +11 -0
- package/popover/popover/popover.component.d.ts +44 -0
- package/popover/popover-animations.d.ts +4 -0
- package/popover/popover.directive.d.ts +57 -0
- package/popover/popover.module.d.ts +2 -0
- package/popover/public-api.d.ts +4 -0
- package/popover/theseam-ui-common-popover.d.ts +4 -0
- package/popover/theseam-ui-common-popover.metadata.json +1 -0
- package/progress/package.json +11 -0
- package/progress/progress-circle/_progress-circle-theme.scss +3 -0
- package/progress/progress-circle/progress-circle.component.d.ts +27 -0
- package/progress/progress-circle/progress-circle.component.scss +105 -0
- package/progress/progress-circle/styles/_utilities.scss +3 -0
- package/progress/progress-circle/styles/_variables.scss +8 -0
- package/progress/progress.module.d.ts +2 -0
- package/progress/public-api.d.ts +2 -0
- package/progress/theseam-ui-common-progress.d.ts +4 -0
- package/progress/theseam-ui-common-progress.metadata.json +1 -0
- package/public_api.d.ts +2 -0
- package/scrollbar/overlay-scrollbar.directive.d.ts +21 -0
- package/scrollbar/overlay-scrollbars-config-model.d.ts +2 -0
- package/scrollbar/overlay-scrollbars-config.d.ts +51 -0
- package/scrollbar/overlay-scrollbars.service.d.ts +20 -0
- package/scrollbar/package.json +11 -0
- package/scrollbar/public-api.d.ts +5 -0
- package/scrollbar/scrollbar.module.d.ts +2 -0
- package/scrollbar/theseam-ui-common-scrollbar.d.ts +4 -0
- package/scrollbar/theseam-ui-common-scrollbar.metadata.json +1 -0
- package/services/asset-loader.service.d.ts +13 -0
- package/services/font-loader.service.d.ts +43 -0
- package/services/package.json +11 -0
- package/services/public-api.d.ts +3 -0
- package/services/router-helpers.service.d.ts +7 -0
- package/services/theseam-ui-common-services.d.ts +4 -0
- package/services/theseam-ui-common-services.metadata.json +1 -0
- package/shared/components/index.d.ts +1 -0
- package/shared/components/password-input-reveal/password-input-reveal.component.d.ts +14 -0
- package/shared/directives/auto-focus.directive.d.ts +15 -0
- package/shared/directives/click-outside.directive.d.ts +10 -0
- package/shared/directives/disable-control.directive.d.ts +6 -0
- package/shared/directives/elem-resized.directive.d.ts +17 -0
- package/shared/directives/hover-class-toggle.directive.d.ts +33 -0
- package/shared/directives/hover-class.directive.d.ts +28 -0
- package/shared/directives/index.d.ts +8 -0
- package/shared/directives/ng-select-extra.directive.d.ts +39 -0
- package/shared/directives/ngx-quill-extra.directive.d.ts +20 -0
- package/shared/package.json +11 -0
- package/shared/pipes/index.d.ts +2 -0
- package/shared/pipes/mask-chars.pipe.d.ts +4 -0
- package/shared/pipes/truncate.pipe.d.ts +4 -0
- package/shared/public-api.d.ts +4 -0
- package/shared/shared.module.d.ts +2 -0
- package/shared/theseam-ui-common-shared.d.ts +4 -0
- package/shared/theseam-ui-common-shared.metadata.json +1 -0
- package/storage/local-storage.service.d.ts +28 -0
- package/storage/localstorage-memory.d.ts +37 -0
- package/storage/package.json +11 -0
- package/storage/public-api.d.ts +1 -0
- package/storage/theseam-ui-common-storage.d.ts +4 -0
- package/storage/theseam-ui-common-storage.metadata.json +1 -0
- package/story-helpers/arg-type-helpers.d.ts +5 -0
- package/story-helpers/args-to-tpl.d.ts +24 -0
- package/story-helpers/initial-route-factory.d.ts +2 -0
- package/story-helpers/initial-route.service.d.ts +7 -0
- package/story-helpers/on-story-bootstrapped-exec.d.ts +29 -0
- package/story-helpers/on-story-bootstrapped-trigger.d.ts +23 -0
- package/story-helpers/package.json +11 -0
- package/story-helpers/public-api.d.ts +14 -0
- package/story-helpers/route-button.d.ts +5 -0
- package/story-helpers/routes-arg-type.d.ts +2 -0
- package/story-helpers/story-empty-with-route.component.d.ts +2 -0
- package/story-helpers/story-empty.component.d.ts +2 -0
- package/story-helpers/story-helper-components.module.d.ts +2 -0
- package/story-helpers/story-initial-route.d.ts +4 -0
- package/story-helpers/story-modal-container.component.d.ts +20 -0
- package/story-helpers/story-toastr.service.d.ts +30 -0
- package/story-helpers/theseam-ui-common-story-helpers.d.ts +4 -0
- package/story-helpers/theseam-ui-common-story-helpers.metadata.json +1 -0
- package/styles/_storybook-fixes.scss +7 -0
- package/styles/_variables.scss +0 -0
- package/styles/bootstrap/_bootstrap.scss +45 -0
- package/styles/bootstrap/_bs-styles.scss +105 -0
- package/styles/bootstrap/_bs-utilities.scss +5 -0
- package/styles/bootstrap/_bs-variables.scss +141 -0
- package/styles/common/_forms.scss +15 -0
- package/styles/common/_global.scss +9 -0
- package/styles/common/_hacks.scss +14 -0
- package/styles/common/_table.scss +124 -0
- package/styles/common/_text.scss +1 -0
- package/styles/theme.scss +19 -0
- package/styles/utilities.scss +14 -0
- package/styles/vendor/_vendor.scss +3 -0
- package/styles/vendor/ng-select/_ng-select-bs4.scss +445 -0
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +108 -0
- package/styles/vendor/quill/_quill.scss +26 -0
- package/tabbed/directives/tabbed-tab-content.directive.d.ts +4 -0
- package/tabbed/directives/tabbed-tab.directive.d.ts +9 -0
- package/tabbed/package.json +11 -0
- package/tabbed/public-api.d.ts +7 -0
- package/tabbed/tabbed-content/tabbed-content.component.d.ts +7 -0
- package/tabbed/tabbed-item/tabbed-item.component.d.ts +14 -0
- package/tabbed/tabbed.component.d.ts +36 -0
- package/tabbed/tabbed.module.d.ts +2 -0
- package/tabbed/tabbed.service.d.ts +8 -0
- package/tabbed/theseam-ui-common-tabbed.d.ts +4 -0
- package/tabbed/theseam-ui-common-tabbed.metadata.json +1 -0
- package/table/package.json +11 -0
- package/table/public-api.d.ts +2 -0
- package/table/table/table.component.d.ts +43 -0
- package/table/table.module.d.ts +2 -0
- package/table/theseam-ui-common-table.d.ts +4 -0
- package/table/theseam-ui-common-table.metadata.json +1 -0
- package/table-cell-type/package.json +11 -0
- package/table-cell-type/public-api.d.ts +11 -0
- package/table-cell-type/services/table-cell-types-helpers.service.d.ts +15 -0
- package/table-cell-type/table-cell-type-action.d.ts +13 -0
- package/table-cell-type/table-cell-type-column.d.ts +12 -0
- package/table-cell-type/table-cell-type-config.d.ts +12 -0
- package/table-cell-type/table-cell-type-export-props.d.ts +15 -0
- package/table-cell-type/table-cell-type-manifest-provider.d.ts +7 -0
- package/table-cell-type/table-cell-type-models.d.ts +39 -0
- package/table-cell-type/table-cell-type-name.d.ts +1 -0
- package/table-cell-type/table-cell-type-selector.component.d.ts +25 -0
- package/table-cell-type/table-cell-type-tokens.d.ts +4 -0
- package/table-cell-type/table-cell-type.module.d.ts +2 -0
- package/table-cell-type/theseam-ui-common-table-cell-type.d.ts +4 -0
- package/table-cell-type/theseam-ui-common-table-cell-type.metadata.json +1 -0
- package/table-cell-types/package.json +11 -0
- package/table-cell-types/public-api.d.ts +15 -0
- package/table-cell-types/table-cell-type-date/table-cell-type-date-config.d.ts +9 -0
- package/table-cell-types/table-cell-type-date/table-cell-type-date.component.d.ts +12 -0
- package/table-cell-types/table-cell-type-date/table-cell-type-date.d.ts +3 -0
- package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.d.ts +3 -0
- package/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.d.ts +34 -0
- package/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.d.ts +53 -0
- package/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.d.ts +3 -0
- package/table-cell-types/table-cell-type-manifests.d.ts +10 -0
- package/table-cell-types/table-cell-type-phone/table-cell-type-phone-config.d.ts +13 -0
- package/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.d.ts +17 -0
- package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.d.ts +29 -0
- package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.d.ts +48 -0
- package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.d.ts +49 -0
- package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.d.ts +21 -0
- package/table-cell-types/table-cell-type-string/table-cell-type-string-config.d.ts +10 -0
- package/table-cell-types/table-cell-type-string/table-cell-type-string.component.d.ts +45 -0
- package/table-cell-types/table-cell-types.module.d.ts +2 -0
- package/table-cell-types/theseam-ui-common-table-cell-types.d.ts +6 -0
- package/table-cell-types/theseam-ui-common-table-cell-types.metadata.json +1 -0
- package/tel-input/intl-tel-input.d.ts +300 -0
- package/tel-input/models/index.d.ts +2 -0
- package/tel-input/models/tel-input-country-data.d.ts +9 -0
- package/tel-input/models/tel-input-number-format-name.d.ts +4 -0
- package/tel-input/package.json +11 -0
- package/tel-input/phone-number.pipe.d.ts +11 -0
- package/tel-input/public-api.d.ts +9 -0
- package/tel-input/tel-input/tel-input.component.d.ts +83 -0
- package/tel-input/tel-input-constants.d.ts +4 -0
- package/tel-input/tel-input-validator.d.ts +7 -0
- package/tel-input/tel-input.directive.d.ts +28 -0
- package/tel-input/tel-input.module.d.ts +2 -0
- package/tel-input/theseam-ui-common-tel-input.d.ts +4 -0
- package/tel-input/theseam-ui-common-tel-input.metadata.json +1 -0
- package/tel-input/utils/add-country-code.d.ts +7 -0
- package/tel-input/utils/coerce-phone-number-format.d.ts +7 -0
- package/tel-input/utils/get-country-code.d.ts +2 -0
- package/tel-input/utils/get-dial-code.d.ts +9 -0
- package/tel-input/utils/get-global-intl-tel-input-globals.d.ts +2 -0
- package/tel-input/utils/get-global-intl-tel-input-utils.d.ts +2 -0
- package/tel-input/utils/get-intl-tel-input-utils.d.ts +2 -0
- package/tel-input/utils/get-validation-error-message.d.ts +5 -0
- package/tel-input/utils/index.d.ts +9 -0
- package/tel-input/utils/process-country-codes.d.ts +8 -0
- package/test-helpers/package.json +11 -0
- package/test-helpers/public-api.d.ts +1 -0
- package/test-helpers/theseam-ui-common-test-helpers.d.ts +4 -0
- package/test-helpers/theseam-ui-common-test-helpers.metadata.json +1 -0
- package/test-helpers/tick-helper.d.ts +70 -0
- package/theseam-ui-common.d.ts +4 -0
- package/theseam-ui-common.metadata.json +1 -0
- package/tiled-select/components/tiled-select/tiled-select.component.d.ts +50 -0
- package/tiled-select/components/tiled-select-tile/tiled-select-tile.component.d.ts +41 -0
- package/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.d.ts +26 -0
- package/tiled-select/directives/tiled-select-tile-icon-tpl.directive.d.ts +5 -0
- package/tiled-select/directives/tiled-select-tile-label-tpl.directive.d.ts +5 -0
- package/tiled-select/directives/tiled-select-tile-overlay.directive.d.ts +7 -0
- package/tiled-select/package.json +11 -0
- package/tiled-select/public-api.d.ts +8 -0
- package/tiled-select/theseam-ui-common-tiled-select.d.ts +4 -0
- package/tiled-select/theseam-ui-common-tiled-select.metadata.json +1 -0
- package/tiled-select/tiled-select.models.d.ts +11 -0
- package/tiled-select/tiled-select.module.d.ts +2 -0
- package/toggle-edit/models/can-toggle-edit.d.ts +7 -0
- package/toggle-edit/models/index.d.ts +2 -0
- package/toggle-edit/models/toggle-edit-ref.d.ts +30 -0
- package/toggle-edit/package.json +11 -0
- package/toggle-edit/public-api.d.ts +6 -0
- package/toggle-edit/theseam-ui-common-toggle-edit.d.ts +4 -0
- package/toggle-edit/theseam-ui-common-toggle-edit.metadata.json +1 -0
- package/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.d.ts +5 -0
- package/toggle-edit/toggle-edit-display-tpl.directive.d.ts +5 -0
- package/toggle-edit/toggle-edit-keyboard-listener.service.d.ts +14 -0
- package/toggle-edit/toggle-edit.component.d.ts +90 -0
- package/toggle-edit/toggle-edit.module.d.ts +2 -0
- package/toggle-group/package.json +11 -0
- package/toggle-group/public-api.d.ts +3 -0
- package/toggle-group/theseam-ui-common-toggle-group.d.ts +4 -0
- package/toggle-group/theseam-ui-common-toggle-group.metadata.json +1 -0
- package/toggle-group/toggle-group-option.directive.d.ts +15 -0
- package/toggle-group/toggle-group.directive.d.ts +36 -0
- package/toggle-group/toggle-group.module.d.ts +2 -0
- package/unsaved-changes-dialog/package.json +11 -0
- package/unsaved-changes-dialog/public-api.d.ts +4 -0
- package/unsaved-changes-dialog/theseam-ui-common-unsaved-changes-dialog.d.ts +4 -0
- package/unsaved-changes-dialog/theseam-ui-common-unsaved-changes-dialog.metadata.json +1 -0
- package/unsaved-changes-dialog/unsaved-changes-can-deactivate.d.ts +4 -0
- package/unsaved-changes-dialog/unsaved-changes-dialog.component.d.ts +5 -0
- package/unsaved-changes-dialog/unsaved-changes-dialog.guard.d.ts +8 -0
- package/unsaved-changes-dialog/unsaved-changes-dialog.module.d.ts +2 -0
- package/utils/calc-percentage.d.ts +1 -0
- package/utils/cdk/get-closest-widget-cdk-drag.d.ts +8 -0
- package/utils/create-padding.d.ts +1 -0
- package/utils/file-utils.d.ts +12 -0
- package/utils/form/get-control-name.d.ts +22 -0
- package/utils/form/get-control-path.d.ts +27 -0
- package/utils/form/has-required-control.d.ts +31 -0
- package/utils/form/is-empty-input-value.d.ts +1 -0
- package/utils/form/observe-control-is-different.d.ts +13 -0
- package/utils/form/observe-control-status.d.ts +7 -0
- package/utils/form/observe-control-valid.d.ts +14 -0
- package/utils/form/observe-control-value-change.d.ts +9 -0
- package/utils/form/observe-control-value.d.ts +6 -0
- package/utils/form/wait-on-non-pending-status.d.ts +12 -0
- package/utils/fractional-digits-count.d.ts +8 -0
- package/utils/get-attribute.d.ts +4 -0
- package/utils/has-attribute.d.ts +4 -0
- package/utils/has-property.d.ts +1 -0
- package/utils/input-masks.d.ts +1 -0
- package/utils/is-absolute-url.d.ts +1 -0
- package/utils/is-null-or-undefined.d.ts +1 -0
- package/utils/is-numeric.d.ts +1 -0
- package/utils/load-style-sheet.d.ts +1 -0
- package/utils/load-style.d.ts +1 -0
- package/utils/not-null-or-undefined.d.ts +1 -0
- package/utils/obj-utils.d.ts +8 -0
- package/utils/observe-query-list.d.ts +3 -0
- package/utils/operators/index.d.ts +2 -0
- package/utils/operators/map-each.d.ts +2 -0
- package/utils/operators/tap-first.d.ts +5 -0
- package/utils/package.json +11 -0
- package/utils/pad-end.d.ts +1 -0
- package/utils/pad-start.d.ts +1 -0
- package/utils/polling-ticker.d.ts +13 -0
- package/utils/public-api.d.ts +37 -0
- package/utils/refreshable.d.ts +20 -0
- package/utils/router/index.d.ts +6 -0
- package/utils/router/is-empty-url-route.d.ts +2 -0
- package/utils/router/leaf-child-route.d.ts +2 -0
- package/utils/router/operators/activated-routes-with-data-property.d.ts +7 -0
- package/utils/router/route-snapshot-path-full.d.ts +2 -0
- package/utils/router/route-snapshot-path-relative.d.ts +2 -0
- package/utils/router/will-have-data-prop.d.ts +2 -0
- package/utils/subscriber-count.d.ts +1 -0
- package/utils/theseam-ui-common-utils.d.ts +4 -0
- package/utils/theseam-ui-common-utils.metadata.json +1 -0
- package/utils/toggle-attribute.d.ts +16 -0
- package/utils/wait-on-condition-async.d.ts +1 -0
- package/utils/wrap-into-observable.d.ts +2 -0
- package/validators/decimal.validator.d.ts +9 -0
- package/validators/email-exists.validator.d.ts +10 -0
- package/validators/integer.validator.d.ts +9 -0
- package/validators/package.json +11 -0
- package/validators/phone-length.validator.d.ts +7 -0
- package/validators/public-api.d.ts +5 -0
- package/validators/tax-id.validator.d.ts +11 -0
- package/validators/theseam-ui-common-validators.d.ts +4 -0
- package/validators/theseam-ui-common-validators.metadata.json +1 -0
- package/viewers/package.json +11 -0
- package/viewers/pdf-viewer/index.d.ts +3 -0
- package/viewers/pdf-viewer/pdf-page/pdf-page.component.d.ts +39 -0
- package/viewers/pdf-viewer/pdf-renderer.service.d.ts +6 -0
- package/viewers/pdf-viewer/pdf-viewer.component.d.ts +59 -0
- package/viewers/pdf-viewer/pdf-viewer.module.d.ts +2 -0
- package/viewers/public-api.d.ts +1 -0
- package/viewers/theseam-ui-common-viewers.d.ts +4 -0
- package/viewers/theseam-ui-common-viewers.metadata.json +1 -0
- package/widget/_widget-theme.scss +15 -0
- package/widget/directives/widget-drag-handle.directive.d.ts +53 -0
- package/widget/directives/widget-icon-tpl.directive.d.ts +5 -0
- package/widget/directives/widget-title-tpl.directive.d.ts +5 -0
- package/widget/package.json +11 -0
- package/widget/public-api.d.ts +37 -0
- package/widget/styles/_utilities.scss +3 -0
- package/widget/styles/_variables.scss +27 -0
- package/widget/theseam-ui-common-widget.d.ts +4 -0
- package/widget/theseam-ui-common-widget.metadata.json +1 -0
- package/widget/widget/widget.component.d.ts +78 -0
- package/widget/widget/widget.component.scss +107 -0
- package/widget/widget-content-components/widget-button-group/widget-button-group.component.d.ts +5 -0
- package/widget/widget-content-components/widget-button-group/widget-button-group.component.scss +3 -0
- package/widget/widget-content-components/widget-button-group/widget-button-group.module.d.ts +2 -0
- package/widget/widget-content-components/widget-content-header/widget-content-header.component.d.ts +5 -0
- package/widget/widget-content-components/widget-content-header/widget-content-header.component.scss +6 -0
- package/widget/widget-content-components/widget-content-header/widget-content-header.module.d.ts +2 -0
- package/widget/widget-content-components/widget-description/widget-description.component.d.ts +2 -0
- package/widget/widget-content-components/widget-description/widget-description.component.scss +0 -0
- package/widget/widget-content-components/widget-description/widget-description.module.d.ts +2 -0
- package/widget/widget-content-components/widget-empty-label/widget-empty-label.component.d.ts +15 -0
- package/widget/widget-content-components/widget-empty-label/widget-empty-label.component.scss +9 -0
- package/widget/widget-content-components/widget-empty-label/widget-empty-label.module.d.ts +2 -0
- package/widget/widget-content-components/widget-footer-link/widget-footer-link.component.d.ts +5 -0
- package/widget/widget-content-components/widget-footer-link/widget-footer-link.component.scss +8 -0
- package/widget/widget-content-components/widget-footer-link/widget-footer-link.module.d.ts +2 -0
- package/widget/widget-content-components/widget-footer-text/widget-footer-text.component.d.ts +5 -0
- package/widget/widget-content-components/widget-footer-text/widget-footer-text.component.scss +7 -0
- package/widget/widget-content-components/widget-footer-text/widget-footer-text.module.d.ts +2 -0
- package/widget/widget-content-components/widget-header-badge/widget-header-badge.component.d.ts +12 -0
- package/widget/widget-content-components/widget-header-badge/widget-header-badge.component.scss +5 -0
- package/widget/widget-content-components/widget-header-badge/widget-header-badge.module.d.ts +2 -0
- package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.d.ts +5 -0
- package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.d.ts +57 -0
- package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.scss +0 -0
- package/widget/widget-content-components/widget-list-group/widget-list-group.component.d.ts +5 -0
- package/widget/widget-content-components/widget-list-group/widget-list-group.component.scss +0 -0
- package/widget/widget-content-components/widget-list-group/widget-list-group.module.d.ts +2 -0
- package/widget/widget-content-components/widget-table/widget-table.component.d.ts +14 -0
- package/widget/widget-content-components/widget-table/widget-table.component.scss +0 -0
- package/widget/widget-content-components/widget-table/widget-table.module.d.ts +2 -0
- package/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.d.ts +5 -0
- package/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.scss +0 -0
- package/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.d.ts +15 -0
- package/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.scss +5 -0
- package/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.d.ts +5 -0
- package/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.scss +14 -0
- package/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.d.ts +5 -0
- package/widget/widget-content-components/widget-tile/widget-tile.component.d.ts +44 -0
- package/widget/widget-content-components/widget-tile/widget-tile.component.scss +70 -0
- package/widget/widget-content-components/widget-tile/widget-tile.module.d.ts +2 -0
- package/widget/widget-content-components/widget-tile-list/widget-tile-list.component.d.ts +5 -0
- package/widget/widget-content-components/widget-tile-list/widget-tile-list.component.scss +6 -0
- package/widget/widget-content-components/widget-tile-list/widget-tile-list.module.d.ts +2 -0
- package/widget/widget-footer/widget-footer.component.d.ts +5 -0
- package/widget/widget-footer/widget-footer.component.scss +16 -0
- package/widget/widget-registry.models.d.ts +20 -0
- package/widget/widget-registry.service.d.ts +16 -0
- package/widget/widget-token.d.ts +3 -0
- package/widget/widget.module.d.ts +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-framework.umd.js","sources":["../../../projects/ui-common/framework/base-layout/directives/base-layout-content-footer.directive.ts","../../../projects/ui-common/framework/base-layout/directives/base-layout-content-header.directive.ts","../../../projects/ui-common/framework/base-layout/directives/base-layout-content.directive.ts","../../../projects/ui-common/framework/base-layout/base-layout-tokens.ts","../../../projects/ui-common/framework/base-layout/directives/base-layout-nav-toggle.directive.ts","../../../projects/ui-common/framework/base-layout/directives/base-layout-side-bar.directive.ts","../../../projects/ui-common/framework/base-layout/directives/base-layout-top-bar.directive.ts","../../../projects/ui-common/framework/base-layout/base-layout.component.ts","../../../projects/ui-common/framework/base-layout/base-layout.module.ts","../../../projects/ui-common/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/ui-common/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor-token.ts","../../../projects/ui-common/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.ts","../../../projects/ui-common/framework/dashboard/dashboard-widgets/dashboard-widgets.service.ts","../../../projects/ui-common/framework/dashboard/dashboard-widgets/dashboard-widgets.component.ts","../../../projects/ui-common/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.ts","../../../projects/ui-common/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.ts","../../../projects/ui-common/framework/dashboard/dashboard.component.ts","../../../projects/ui-common/framework/dashboard/dashboard.module.ts","../../../projects/ui-common/framework/side-nav/side-nav-utils.ts","../../../projects/ui-common/framework/side-nav/side-nav.service.ts","../../../projects/ui-common/framework/side-nav/side-nav.component.ts","../../../projects/ui-common/framework/side-nav/side-nav-item/side-nav-item.component.ts","../../../projects/ui-common/framework/side-nav/side-nav-toggle/side-nav-toggle.component.ts","../../../projects/ui-common/framework/side-nav/side-nav.module.ts","../../../projects/ui-common/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.ts","../../../projects/ui-common/framework/top-bar/top-bar-title/top-bar-title.component.ts","../../../projects/ui-common/framework/top-bar/top-bar-item.directive.ts","../../../projects/ui-common/framework/top-bar/top-bar-menu-btn-detail.directive.ts","../../../projects/ui-common/framework/top-bar/top-bar-menu.directive.ts","../../../projects/ui-common/framework/top-bar/top-bar.component.ts","../../../projects/ui-common/framework/top-bar/top-bar.module.ts","../../../projects/ui-common/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.ts","../../../projects/ui-common/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.ts","../../../projects/ui-common/framework/dynamic-router/resolvers/hierarchy-level.resolver.ts","../../../projects/ui-common/framework/dynamic-router/dynamic-router.module.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-input/schema-form-input.component.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-number/schema-form-number.component.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-select/schema-form-select.component.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.ts","../../../projects/ui-common/framework/schema-form/schema-form-framework.component.ts","../../../projects/ui-common/framework/schema-form/schema-form-framework.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-controls.module.ts","../../../projects/ui-common/framework/schema-form/schema-form.module.ts","../../../projects/ui-common/framework/theseam-ui-common-framework.ts"],"sourcesContent":["import { Directive, ElementRef } from '@angular/core'\n\nimport { HasElementRef } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamBaseLayoutContentFooter]'\n})\nexport class BaseLayoutContentFooterDirective implements HasElementRef {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n","import { Directive, ElementRef } from '@angular/core'\n\nimport { HasElementRef } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamBaseLayoutContentHeader]'\n})\nexport class BaseLayoutContentHeaderDirective implements HasElementRef {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n","import { Directive, ElementRef } from '@angular/core'\n\nimport { HasElementRef } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamBaseLayoutContent]'\n})\nexport class BaseLayoutContentDirective implements HasElementRef {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nimport { ITheSeamBaseLayoutRef } from './base-layout-ref'\n\nexport const THESEAM_BASE_LAYOUT_REF = new InjectionToken<ITheSeamBaseLayoutRef>('seamBaseLayoutRef')\n","import { Directive, HostBinding, HostListener, Inject, Input, Optional } from '@angular/core'\n\nimport type { ITheSeamBaseLayoutRef } from '../base-layout-ref'\nimport { THESEAM_BASE_LAYOUT_REF } from '../base-layout-tokens'\n\n/**\n * Can be used to toggle the expand state of the registered nav.\n */\n@Directive({\n selector: 'button[seamBaseLayoutNavToggle]',\n exportAs: 'seamBaseLayoutNavToggle'\n})\nexport class BaseLayoutNavToggleDirective {\n\n public baseLayout: ITheSeamBaseLayoutRef | undefined\n\n @HostBinding('attr.type')\n get _attrType() { return this.type }\n\n @Input() type: string | undefined | null = 'button'\n\n @HostBinding('attr.aria-label')\n get _attrAriaLabel() { return this.ariaLabel || null }\n\n /** Screenreader label for the button. */\n @Input('aria-label') ariaLabel: string | undefined | null = 'Navigation toggle'\n\n @HostListener('click')\n _onClick() {\n if (this.baseLayout && this.baseLayout.registeredNav) {\n this.baseLayout.registeredNav.toggle()\n }\n }\n\n constructor(\n @Optional() @Inject(THESEAM_BASE_LAYOUT_REF) _baseLayout: ITheSeamBaseLayoutRef\n ) {\n this.baseLayout = _baseLayout\n }\n\n}\n","import { Directive, ElementRef } from '@angular/core'\n\nimport { HasElementRef } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamBaseLayoutSideBar]'\n})\nexport class BaseLayoutSideBarDirective implements HasElementRef {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n","import { Directive, ElementRef } from '@angular/core'\n\nimport { HasElementRef } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamBaseLayoutTopBar]'\n})\nexport class BaseLayoutTopBarDirective implements HasElementRef {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n","import { TemplatePortal } from '@angular/cdk/portal'\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n forwardRef,\n Input,\n isDevMode,\n OnInit,\n TemplateRef,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core'\nimport { BehaviorSubject, from, isObservable, Observable } from 'rxjs'\n\nimport { faAngleDoubleLeft, faAngleDoubleRight } from '@fortawesome/free-solid-svg-icons'\n\nimport { TheSeamLayoutService } from '@theseam/ui-common/layout'\n\nimport { BaseLayoutAction, IBaseLayoutActionButton } from './base-layout-action'\nimport { ITheSeamBaseLayoutNav } from './base-layout-nav'\nimport { ITheSeamBaseLayoutRef } from './base-layout-ref'\nimport { THESEAM_BASE_LAYOUT_REF } from './base-layout-tokens'\nimport { BaseLayoutContentFooterDirective } from './directives/base-layout-content-footer.directive'\nimport { BaseLayoutContentHeaderDirective } from './directives/base-layout-content-header.directive'\nimport { BaseLayoutContentDirective } from './directives/base-layout-content.directive'\nimport { BaseLayoutSideBarDirective } from './directives/base-layout-side-bar.directive'\nimport { BaseLayoutTopBarDirective } from './directives/base-layout-top-bar.directive'\n\nexport const THE_SEAM_BASE_LAYOUT: any = {\n provide: THESEAM_BASE_LAYOUT_REF,\n // tslint:disable-next-line:no-use-before-declare\n useExisting: forwardRef(() => TheSeamBaseLayoutComponent),\n multi: false,\n}\n\n@Component({\n selector: 'seam-base-layout',\n templateUrl: './base-layout.component.html',\n styleUrls: ['./base-layout.component.scss'],\n providers: [ THE_SEAM_BASE_LAYOUT ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class TheSeamBaseLayoutComponent implements OnInit, ITheSeamBaseLayoutRef {\n\n faAngleDoubleRight = faAngleDoubleRight\n faAngleDoubleLeft = faAngleDoubleLeft\n\n @Input() overlayNav = false\n\n // TODO: Consider making the template queries not be dynamic. I can see this\n // potentially causing confusion or issues with potential layouts built with\n // this component.\n @ContentChild(BaseLayoutTopBarDirective, { static: true, read: TemplateRef }) _topBarTpl?: TemplateRef<any> | null\n @ContentChild(BaseLayoutSideBarDirective, { static: true, read: TemplateRef }) _sideBarTpl?: TemplateRef<any> | null\n @ContentChild(BaseLayoutContentDirective, { static: true, read: TemplateRef }) _contentTpl?: TemplateRef<any> | null\n @ContentChild(BaseLayoutContentHeaderDirective, { static: true, read: TemplateRef }) _contentHeaderTpl?: TemplateRef<any> | null\n @ContentChild(BaseLayoutContentFooterDirective, { static: true, read: TemplateRef }) _contentFooterTpl?: TemplateRef<any> | null\n\n _topBarPortal?: TemplatePortal\n _sideBarPortal?: TemplatePortal\n _contentPortal?: TemplatePortal\n _contentHeaderPortal?: TemplatePortal\n _contentFooterPortal?: TemplatePortal\n\n private _hasSideBar = new BehaviorSubject<boolean>(false)\n\n public hasSideBar$: Observable<boolean>\n public isMobile$: Observable<boolean>\n\n get registeredNav() { return this._registeredNav.value }\n private _registeredNav = new BehaviorSubject<ITheSeamBaseLayoutNav | undefined>(undefined)\n public registeredNav$ = this._registeredNav.asObservable()\n\n get registeredActions() { return this._registeredActions.value }\n private _registeredActions = new BehaviorSubject<BaseLayoutAction[]>([])\n public registeredActions$: Observable<BaseLayoutAction[]>\n\n constructor(\n private _viewContainerRef: ViewContainerRef,\n private _layout: TheSeamLayoutService\n ) {\n this.registeredActions$ = this._registeredActions.asObservable()\n\n this.isMobile$ = this._layout.isMobile$\n this.hasSideBar$ = this._hasSideBar.asObservable()\n }\n\n ngOnInit() {\n if (this._topBarTpl) {\n this._topBarPortal = new TemplatePortal(this._topBarTpl, this._viewContainerRef)\n }\n\n if (this._sideBarTpl) {\n this._sideBarPortal = new TemplatePortal(this._sideBarTpl, this._viewContainerRef)\n this._hasSideBar.next(true)\n }\n\n if (this._contentTpl) {\n this._contentPortal = new TemplatePortal(this._contentTpl, this._viewContainerRef)\n }\n\n if (this._contentHeaderTpl) {\n this._contentHeaderPortal = new TemplatePortal(this._contentHeaderTpl, this._viewContainerRef)\n }\n\n if (this._contentFooterTpl) {\n this._contentFooterPortal = new TemplatePortal(this._contentFooterTpl, this._viewContainerRef)\n }\n }\n\n public registerNav(nav: ITheSeamBaseLayoutNav): void {\n // TODO: Allow multiple registered navs\n // if (this.registeredNav) {\n // throw new Error('[TheSeamBaseLayoutComponent] A nav is already registered.')\n // }\n // console.log('register nav', nav)\n this._registeredNav.next(nav)\n }\n\n public unregisterNav(nav: ITheSeamBaseLayoutNav): void {\n if (this.registeredNav === nav) {\n this._registeredNav.next(undefined)\n }\n }\n\n public registerAction(action: BaseLayoutAction): void {\n const actions = this._registeredActions.value\n if (actions.findIndex(a => a.name === action.name) !== -1) {\n if (isDevMode()) {\n console.warn(\n `[TheSeamBaseLayoutComponent] registerAction(): Action ${action.name} not ` +\n 'registered, because another action by that name is already registered.'\n )\n }\n return\n }\n actions.push(action)\n }\n\n public unregisterAction(action: BaseLayoutAction | string): void {\n const actionName = typeof action === 'string' ? action : action.name\n const actions = this._registeredActions.value\n this._registeredActions.next(actions.filter(f => f.name !== actionName))\n }\n\n public isActionRegistered(actionName: string): boolean {\n const actions = this._registeredActions.value\n const action = actions.find(f => f.name === actionName)\n return !!action\n }\n\n _handleButtonAction(action: IBaseLayoutActionButton): void {\n this._execButtonAction(action).subscribe()\n }\n\n _execButtonAction(action: IBaseLayoutActionButton): Observable<void> {\n const fnRes = action.exec()\n return isObservable(fnRes) ? fnRes : from(Promise.resolve(fnRes))\n }\n\n}\n","import { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar'\n\nimport { TheSeamBaseLayoutComponent } from './base-layout.component'\nimport { BaseLayoutContentFooterDirective } from './directives/base-layout-content-footer.directive'\nimport { BaseLayoutContentHeaderDirective } from './directives/base-layout-content-header.directive'\nimport { BaseLayoutContentDirective } from './directives/base-layout-content.directive'\nimport { BaseLayoutNavToggleDirective } from './directives/base-layout-nav-toggle.directive'\nimport { BaseLayoutSideBarDirective } from './directives/base-layout-side-bar.directive'\nimport { BaseLayoutTopBarDirective } from './directives/base-layout-top-bar.directive'\n\n\n\n@NgModule({\n declarations: [\n TheSeamBaseLayoutComponent,\n BaseLayoutContentDirective,\n BaseLayoutSideBarDirective,\n BaseLayoutTopBarDirective,\n BaseLayoutNavToggleDirective,\n BaseLayoutContentHeaderDirective,\n BaseLayoutContentFooterDirective\n ],\n imports: [\n CommonModule,\n PortalModule,\n TheSeamScrollbarModule,\n TheSeamIconModule,\n TheSeamButtonsModule\n ],\n exports: [\n TheSeamBaseLayoutComponent,\n BaseLayoutContentDirective,\n BaseLayoutSideBarDirective,\n BaseLayoutTopBarDirective,\n BaseLayoutNavToggleDirective,\n BaseLayoutContentHeaderDirective,\n BaseLayoutContentFooterDirective\n ]\n})\nexport class TheSeamBaseLayoutModule { }\n","import { ChangeDetectionStrategy, Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core'\n\nimport type { IDashboardWidgetsItemDef } from '../dashboard-widgets/dashboard-widgets-item'\n\n@Component({\n selector: 'seam-dashboard-widget-container',\n templateUrl: './dashboard-widget-container.component.html',\n styleUrls: ['./dashboard-widget-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DashboardWidgetContainerComponent implements OnInit {\n\n @Input() def: IDashboardWidgetsItemDef | undefined | null\n\n @ViewChild(TemplateRef) templateRef?: TemplateRef<any>\n\n constructor() { }\n\n ngOnInit() { }\n\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { InjectionToken } from '@angular/core'\n\nimport { ITheSeamDashboardWidgetsPreferencesAccessor } from './dashboard-widgets-preferences-accessor'\n\nexport const THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR = new InjectionToken<ITheSeamDashboardWidgetsPreferencesAccessor>(\n 'ITheSeamDashboardWidgetsPreferencesAccessor'\n)\n","import { Inject, Injectable, isDevMode, Optional } from '@angular/core'\nimport { Observable, of, Subject } from 'rxjs'\nimport { auditTime, map, mapTo, shareReplay, startWith, switchMap, take, tap } from 'rxjs/operators'\n\nimport { hasProperty } from '@theseam/ui-common/utils'\n\nimport {\n IDashboardWidgetItemLayout,\n IDashboardWidgetItemLayoutPreference,\n IDashboardWidgetsItem,\n IDashboardWidgetsItemDef,\n IDashboardWidgetsItemSerialized,\n IDashboardWidgetsPreferences\n} from './dashboard-widgets-item'\nimport type { ITheSeamDashboardWidgetsPreferencesAccessor } from './dashboard-widgets-preferences-accessor'\nimport { THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR } from './dashboard-widgets-preferences-accessor-token'\n\nexport interface IDashboardWidgetsPreferencesMapRecord {\n observable: Observable<IDashboardWidgetsPreferences>\n refresh: Subject<void>\n}\n\n// TODO: This needs a unit test to make sure it will not cause a race condition\n// if update is called faster than the previous can respond.\n//\n// The ideal approach I am thinking, without steping through the process too\n// thoroughly is to hold the new data emit until all pending updates are done.\n// Any pending updates other than the most recently requested will be ignored\n// and just wait on the most recent, and if already running it should be\n// canceled if possible. Also, incase something happens that causes the new data\n// emissions to get held up too long, there could be a threshold time that the\n// new data can be held up.\n\n\n/**\n * Manages anything dealing with retrieving and updating dashboard widget\n * preference data from the provided accessor.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DashboardWidgetsPreferencesService {\n\n private readonly _tablePrefsMap = new Map<string, IDashboardWidgetsPreferencesMapRecord>()\n // private _pending = false\n\n // public get pending() { return this._pending }\n\n constructor(\n @Optional() @Inject(THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR) private _prefsAccessor?: ITheSeamDashboardWidgetsPreferencesAccessor\n ) { }\n\n public preferences(preferenceKey: string): Observable<IDashboardWidgetsPreferences> {\n let prefs = this._tablePrefsMap.get(preferenceKey)\n if (!prefs) {\n const refreshSubject = new Subject<void>()\n prefs = {\n observable: this._createObservable(refreshSubject, preferenceKey),\n refresh: refreshSubject\n }\n this._tablePrefsMap.set(preferenceKey, prefs)\n }\n return prefs.observable\n }\n\n private _createObservable(refreshSubject: Subject<void>, prefKey: string): Observable<IDashboardWidgetsPreferences> {\n if (!this._prefsAccessor) {\n return of({})\n }\n\n const accessor = (key: string): Observable<string> =>\n this._prefsAccessor ? this._prefsAccessor.get(key) : of('{}')\n\n return refreshSubject.pipe(\n startWith({}),\n // tap(() => console.log('Start requesting: ', prefKey)),\n switchMap(() => accessor(prefKey).pipe(\n map(v => {\n if (!v) {\n return null\n }\n\n // TODO: Add a schema validator and migration tool to avoid parsing issues.\n try {\n return JSON.parse(v) as IDashboardWidgetsPreferences\n } catch (error) {\n if (isDevMode()) {\n console.error(error)\n }\n return null\n }\n }),\n map(v => !!v ? v : {}),\n // tap(v => console.log('preferences$', v))\n // tap(v => this._pending = false)\n )),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n\n public refresh(preferenceKey: string): Observable<void> {\n const prefs = this._tablePrefsMap.get(preferenceKey)\n if (prefs) {\n // this._pending = true\n // prefs.refresh.next()\n return prefs.observable.pipe(\n // tap(() => prefs.refresh.next()),\n tap(() => setTimeout(() => { prefs.refresh.next() }, 0)),\n mapTo(undefined),\n take(1),\n // tap(() => console.log('Done refreshing: ', preferenceKey)),\n )\n }\n\n return of(undefined)\n }\n\n public selectLayout(preferenceKey: string, layoutName: string): Observable<IDashboardWidgetItemLayoutPreference | undefined> {\n return this.preferences(preferenceKey).pipe(\n map(prefs => (prefs.layouts || []).find(l => l.name === layoutName))\n )\n }\n\n // TODO: Improve this updating to not be more generic, so we can quickly add\n // edits for different preference schema's.\n //\n // TODO: Decide if a send queue/merging of pending queue is needed to avoid\n // out of order updates. This shouldn't be an issue, with how fast preferences\n // will most likely be changing, but it could happen in situations, such as\n // network issues.\n public updateLayout(preferenceKey: string, layout: IDashboardWidgetItemLayout): Observable<void> {\n if (!this._prefsAccessor) {\n return of(undefined)\n }\n\n if (!hasProperty(layout, 'name')) {\n throw Error(`Unable to save layout preference. 'name' is required for a layout preference.`)\n }\n\n const _layout = this.toSerializeableLayout(layout)\n\n // this._pending = true\n return this.preferences(preferenceKey).pipe(\n map(prefs => {\n // Making the preferences immutable may not be necessary, but for now\n // this obj->str->obj will work as a naive clone.\n const layouts = JSON.parse(JSON.stringify(prefs.layouts || []))\n const _layoutPref = layouts.find((c: any) => c.name === _layout.name)\n // console.log('has', _layoutPref)\n if (_layoutPref) {\n if (hasProperty(_layout, 'name')) { _layoutPref.name = _layout.name }\n if (hasProperty(_layout, 'label')) { _layoutPref.label = _layout.label }\n if (hasProperty(_layout, 'items')) { _layoutPref.items = _layout.items }\n } else {\n layouts.push({ ..._layout })\n }\n const newPrefs: IDashboardWidgetsPreferences = { ...prefs, layouts }\n return newPrefs\n }),\n // tap(v => console.log('newPrefs', v)),\n take(1),\n switchMap(newPrefs => this._prefsAccessor\n ? this._prefsAccessor.update(preferenceKey, JSON.stringify(newPrefs))\n : of(newPrefs)\n ),\n switchMap(() => this.refresh(preferenceKey).pipe(mapTo(undefined)))\n )\n // .subscribe()\n }\n\n public toSerializeableLayout(layout: IDashboardWidgetItemLayout): IDashboardWidgetItemLayoutPreference {\n const serialized: IDashboardWidgetItemLayoutPreference = {\n name: layout.name,\n label: layout.label,\n items: this.toSerializeableItems(layout.items as any) || []\n }\n return serialized\n }\n\n // public toDeserializedLayout(layout: IDashboardWidgetItemLayoutSerialized): IDashboardWidgetItemLayoutDef {\n // // For now there is nothing to do. Eventually this should have at least\n // // validation on the deserialized object.\n // return layout\n // }\n\n /**\n * Returns the serializable widget items as objects that can be serialized to\n * a JSON string for storage.\n */\n public toSerializeableItems(widgets: IDashboardWidgetsItem[]): IDashboardWidgetsItemSerialized[] {\n const serialized: IDashboardWidgetsItemSerialized[] = []\n for (const w of widgets) {\n // if (!w.__itemDef.component || typeof w.__itemDef.component !== 'string') {\n // console.warn(`[DashboardWidgetsService] Widget item def must have a string 'component' property to be serialized.`, w)\n // continue\n // }\n // serialized.push({\n // widgetId: w.widgetId,\n // col: w.col,\n // order: w.order,\n // component: w.__itemDef.component\n // })\n\n // TODO: Remove this, it is only here for initial dev debugging.\n serialized.push({\n widgetId: w.widgetId,\n col: w.col,\n order: w.order,\n // component: w.__itemDef.component as string\n })\n }\n return serialized\n }\n\n // public toDeserializedItems(widgets: IDashboardWidgetsItemSerialized[]): IDashboardWidgetsItemDef[] {\n // const items: IDashboardWidgetsItemDef[] = []\n // for (const w of widgets) {\n // items.push({\n // widgetId: w.widgetId,\n // col: w.col,\n // order: w.order,\n // // component: w.component\n // })\n // }\n // return items\n // }\n\n}\n","import { ComponentPortal } from '@angular/cdk/portal'\nimport { Injectable, isDevMode, ViewContainerRef } from '@angular/core'\nimport { BehaviorSubject, combineLatest, Observable, of } from 'rxjs'\nimport { auditTime, map, mapTo, shareReplay, switchMap, take, tap } from 'rxjs/operators'\n\nimport { TheSeamDynamicComponentLoader } from '@theseam/ui-common/dynamic-component-loader'\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport {\n IDashboardWidgetItemLayoutPreference,\n IDashboardWidgetsColumnRecord,\n IDashboardWidgetsItem,\n IDashboardWidgetsItemDef\n} from './dashboard-widgets-item'\nimport { DashboardWidgetsPreferencesService } from './dashboard-widgets-preferences.service'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DashboardWidgetsService {\n\n public readonly preferenceKey: string = 'datatable-widgets'\n\n public readonly defaultNumColumns: number = 3\n\n /** Used for operations, such as 'addWidget', if the column is not specified. */\n public readonly defaultColumn: number = 0\n\n get widgets(): IDashboardWidgetsItemDef[] { return this._widgets.value }\n set widgets(value: IDashboardWidgetsItemDef[]) { this._widgets.next(value) }\n private _widgets = new BehaviorSubject<IDashboardWidgetsItemDef[]>([])\n\n get numColumns(): number { return this._numColumns.value }\n set numColumns(value: number) {\n if (value !== this._numColumns.value) {\n this._numColumns.next(value)\n }\n }\n private _numColumns = new BehaviorSubject<number>(this.defaultNumColumns)\n\n public readonly numColumns$: Observable<number>\n public readonly widgetItems$: Observable<IDashboardWidgetsItem[]>\n public readonly widgetColumns$: Observable<IDashboardWidgetsColumnRecord[]>\n\n private readonly _viewContainerRefSubject = new BehaviorSubject<ViewContainerRef | undefined>(undefined)\n\n constructor(\n private readonly _dynamicComponentLoaderModule: TheSeamDynamicComponentLoader,\n private readonly _preferences: DashboardWidgetsPreferencesService\n ) {\n this.numColumns$ = this._numColumns.asObservable()\n\n // Widget items without preferences\n const _widgetItems$ = combineLatest([ this._widgets, this._viewContainerRefSubject ])\n .pipe(switchMap(([ defs, vcr ]) => this.createWidgetItems(defs, vcr)))\n\n // Widget items with preferences\n this.widgetItems$ = combineLatest([ _widgetItems$, this.numColumns$ ])\n .pipe(\n // Wait until the current tick is done, incase both the widgets and\n // number of columns are set durring the same tick. Without the audit,\n // this would get called twice when the component is initialized with\n // both inputs set one after the other individually.\n auditTime(0),\n switchMap(([ items, numColumns ]) =>\n this._preferences.selectLayout(this.preferenceKey, this._layoutName(numColumns)).pipe(\n map(layout => layout ? this.withLayoutPreferences(items, layout) : items)\n )\n ),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n this.widgetColumns$ = this.widgetItems$\n .pipe(\n map(items => this.toColumnRecords(items)),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n\n private _layoutName(numColumns: number): string {\n return `columns-${numColumns}`\n }\n\n public setViewContainerRef(vcr: ViewContainerRef | undefined) {\n this._viewContainerRefSubject.next(vcr)\n }\n\n public createWidgetItems(defs: IDashboardWidgetsItemDef[], vcr?: ViewContainerRef): Observable<IDashboardWidgetsItem[]> {\n const _createObservables = (defs || []).map(d => this.createWidgetItem(d, vcr))\n const items$ = _createObservables.length > 0 ? combineLatest(_createObservables) : of([])\n return items$.pipe(\n map(items => items.filter(notNullOrUndefined)),\n tap(items => {\n if (isDevMode()) {\n const ids: string[] = items.map(v => v.widgetId)\n if ((new Set(ids)).size !== ids.length) {\n console.warn(`[DashboardWidgetsService] Duplicate widget's with the same 'widgetId' found.`)\n }\n }\n })\n )\n }\n\n public createWidgetItem(def: IDashboardWidgetsItemDef, vcr?: ViewContainerRef): Observable<IDashboardWidgetsItem | undefined> {\n if (!def.widgetId || typeof def.widgetId !== 'string' || def.widgetId.length < 1) {\n if (isDevMode()) {\n console.warn(`[DashboardWidgetsService] Widget ignored. All widgets must have a 'widgetId'.`, def)\n }\n return of(undefined)\n }\n\n return this.createWidgetPortal(def, vcr).pipe(\n map(portal => ({\n ...def,\n col: def.col || this.defaultColumn,\n order: def.order || 0,\n portal,\n __itemDef: def\n }))\n )\n }\n\n public createWidgetPortal(def: IDashboardWidgetsItemDef, vcr?: ViewContainerRef): Observable<ComponentPortal<any>> {\n if (typeof def.component === 'string') {\n return this._dynamicComponentLoaderModule\n .getComponentFactory(def.component)\n .pipe(\n map(componentFactory => {\n return new ComponentPortal(\n componentFactory.componentType,\n vcr,\n undefined,\n (<any /* ComponentFactoryBoundToModule */>componentFactory).ngModule.componentFactoryResolver\n )\n }),\n take(1)\n )\n }\n\n return def.componentFactoryResolver\n ? of(new ComponentPortal(def.component, vcr, undefined, def.componentFactoryResolver))\n : of(new ComponentPortal(def.component, vcr))\n }\n\n public updateOrder(): Observable<void> {\n return this.widgetColumns$\n .pipe(\n take(1),\n tap(columns => columns.forEach(col => {\n let i = 0\n col.items.forEach(itm => itm.order = i++)\n })),\n mapTo(undefined)\n )\n }\n\n public toColumnRecords(items: IDashboardWidgetsItem[]): IDashboardWidgetsColumnRecord[] {\n let columns: IDashboardWidgetsColumnRecord[] = []\n\n for (let i = 0; i < this.numColumns; i++) {\n columns.push({ column: i, items: [] })\n }\n\n const colNotFound: IDashboardWidgetsItem[] = []\n\n // Distribute items into columns\n for (const item of items) {\n const col: IDashboardWidgetsColumnRecord | undefined = columns.find(c => c.column === item.col)\n if (!col) {\n // columns.push({ column: item.col, items: [ item ] })\n // if (item.col < 0) {\n // const col0: IDashboardWidgetsColumnRecord | undefined = columns.find(c => c.column === 0)\n // if (col0) {\n // col0.items.push(item)\n // }\n // } else if (item.col > this.numColumns - 1) {\n // const colMax: IDashboardWidgetsColumnRecord | undefined = columns.find(c => c.column === this.numColumns - 1)\n // if (colMax) {\n // colMax.items.push(item)\n // }\n // }\n colNotFound.push(item)\n } else {\n col.items.push(item)\n }\n }\n\n for (let i = 0; i < colNotFound.length; i++) {\n const item = colNotFound[i]\n\n const col: IDashboardWidgetsColumnRecord | undefined = columns\n .find(c => c.column === i % this.numColumns)\n\n if (col) {\n col.items.push(item)\n }\n }\n\n // Sort columns\n columns = columns.sort((a, b) => a.column - b.column)\n\n // Sort columns items\n columns.forEach(col => col.items.sort((a, b) => a.order - b.order))\n\n return columns\n }\n\n public withLayoutPreferences(items: IDashboardWidgetsItem[], layout: IDashboardWidgetItemLayoutPreference): IDashboardWidgetsItem[] {\n const _items: IDashboardWidgetsItem[] = []\n\n for (const item of items) {\n const itemPref = layout.items.find(x => x.widgetId === item.widgetId)\n _items.push({\n ...item,\n ...(itemPref || {})\n })\n }\n\n return _items\n }\n\n public savePreferences(): Observable<void> {\n // Right now the items are moved between the column record arrays, but the\n // 'col' prop is not updated, so it is mapped to corrected items here from\n // the column records.\n const items$ = this.widgetColumns$.pipe(\n map(columns => ([] as IDashboardWidgetsItem[])\n .concat(...(columns.map(c => c.items.map(itm => ({ ...itm, col: c.column })))))\n ),\n )\n\n return combineLatest([ items$, this.numColumns$ ]).pipe(\n auditTime(0),\n take(1),\n switchMap(([ items, numColumns ]) => {\n return this._preferences.updateLayout(this.preferenceKey, {\n name: this._layoutName(numColumns),\n items\n })\n }),\n mapTo(undefined)\n )\n }\n\n}\n","import { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion'\nimport { CdkDrag, CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop'\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core'\nimport { BehaviorSubject, Observable, Subject } from 'rxjs'\nimport { auditTime, debounceTime, distinctUntilChanged, finalize, map, shareReplay, startWith, switchMap, take, takeUntil, tap } from 'rxjs/operators'\n\nimport { faLock, faUnlock } from '@fortawesome/free-solid-svg-icons'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport type { IElementResizedEvent } from '@theseam/ui-common/shared'\nimport { THESEAM_WIDGET_ACCESSOR } from '@theseam/ui-common/widget'\n\nimport type { ITheSeamBaseLayoutRef } from '../../base-layout/base-layout-ref'\nimport { THESEAM_BASE_LAYOUT_REF } from '../../base-layout/base-layout-tokens'\nimport { DashboardWidgetContainerComponent } from '../dashboard-widget-container/dashboard-widget-container.component'\n\nimport type { IDashboardWidgetsColumnRecord, IDashboardWidgetsItem, IDashboardWidgetsItemDef } from './dashboard-widgets-item'\nimport { DashboardWidgetsService } from './dashboard-widgets.service'\n\n@Component({\n selector: 'seam-dashboard-widgets',\n templateUrl: './dashboard-widgets.component.html',\n styleUrls: ['./dashboard-widgets.component.scss'],\n providers: [\n {\n provide: THESEAM_WIDGET_ACCESSOR,\n // tslint:disable-next-line:no-use-before-declare\n useExisting: forwardRef(() => DashboardWidgetsComponent)\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DashboardWidgetsComponent implements OnInit, OnDestroy, AfterViewInit {\n static ngAcceptInputType_gapSize: NumberInput\n static ngAcceptInputType_numColumns: NumberInput\n static ngAcceptInputType_widgetsDraggable: BooleanInput\n static ngAcceptInputType_dragToggleVisible: BooleanInput\n static ngAcceptInputType_widgets: IDashboardWidgetsItemDef[] | undefined | null\n\n faLock = faLock\n faUnlock = faUnlock\n\n public readonly _actionWidgetDragToggleName = 'widget-drag-toggle'\n\n private readonly _ngUnsubscribe = new Subject()\n\n @Input()\n get gapSize(): number { return this._gapSize.value }\n set gapSize(val: number) {\n this._gapSize.next(coerceNumberProperty(val))\n }\n private readonly _gapSize = new BehaviorSubject<number>(30)\n\n @Input() @InputBoolean() widgetsDraggable: boolean = false\n\n @Input()\n get dragToggleVisible(): boolean { return this._dragToggleVisible.value }\n set dragToggleVisible(val: boolean) {\n this._dragToggleVisible.next(coerceBooleanProperty(val))\n }\n private _dragToggleVisible = new BehaviorSubject<boolean>(true)\n\n @Input()\n get numColumns(): number { return this._dashboardWidgets.numColumns }\n set numColumns(val: number) {\n this._dashboardWidgets.numColumns = coerceNumberProperty(val)\n }\n\n @Input()\n set widgets(value: IDashboardWidgetsItemDef[]) { this._dashboardWidgets.widgets = value || [] }\n get widgets(): IDashboardWidgetsItemDef[] { return this._dashboardWidgets.widgets }\n\n public widgetItems$: Observable<IDashboardWidgetsItem[]>\n public widgetColumns$: Observable<IDashboardWidgetsColumnRecord[]>\n public containers$: Observable<DashboardWidgetContainerComponent[]>\n\n readonly _gapStyleSize$: Observable<number>\n\n @ViewChildren(DashboardWidgetContainerComponent) containers?: QueryList<DashboardWidgetContainerComponent>\n @ViewChildren(CdkDrag) cdkDragDirectives?: QueryList<CdkDrag>\n\n @ViewChild('toggleBtnTpl', { static: true }) _toggleBtnTpl?: TemplateRef<any>\n\n private _containers = new BehaviorSubject<DashboardWidgetContainerComponent[]>([])\n private _layoutChange = new Subject<void>()\n\n @Output() widgetsChange = new EventEmitter<IDashboardWidgetsItem[]>()\n\n private readonly _widthChange = new Subject<number>()\n\n constructor(\n private _dashboardWidgets: DashboardWidgetsService,\n private _viewContainerRef: ViewContainerRef,\n private _cdr: ChangeDetectorRef,\n @Optional() @Inject(THESEAM_BASE_LAYOUT_REF) private _baseLayoutRef?: ITheSeamBaseLayoutRef\n ) {\n this.containers$ = this._containers.asObservable()\n\n this._gapStyleSize$ = this._gapSize.pipe(\n auditTime(0),\n map(size => size / 2),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n this._widthChange.pipe(\n debounceTime(30),\n tap(width => {\n if (width > 1300) {\n this.numColumns = 3\n } else if (width > 800) {\n this.numColumns = 2\n } else {\n this.numColumns = 1\n }\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n\n this.widgetItems$ = this._dashboardWidgets.widgetItems$\n this.widgetColumns$ = this._dashboardWidgets.widgetColumns$\n }\n\n ngOnInit() {\n // this._dashboardWidgets.setViewContainerRef(this._viewContainerRef)\n\n this._layoutChange.pipe(\n switchMap(() => this.widgetItems$.pipe(\n take(1),\n tap(widgetItems => this.widgetsChange.emit(widgetItems)),\n // map(widgetItems => this._dashboardWidgets.toSerializeableItems(widgetItems)),\n // tap(v => console.log('serializable', v)),\n switchMap(() => this._dashboardWidgets.savePreferences())\n )),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n }\n\n ngOnDestroy() {\n this._unregisterToggleAction()\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewInit() {\n if (this._baseLayoutRef) {\n this._dragToggleVisible.pipe(\n distinctUntilChanged(),\n tap(visible => {\n const isRegistered = this._isActionToggleActionRegistered()\n if (visible && !isRegistered) {\n this._registerToggleAction()\n } else if (!visible && isRegistered) {\n this._unregisterToggleAction()\n }\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n }\n\n this.containers?.changes.pipe(\n startWith(undefined),\n map(() => this.containers?.toArray() || []),\n takeUntil(this._ngUnsubscribe),\n finalize(() => this._containers.next([]))\n ).subscribe(v => this._containers.next(v))\n }\n\n private _registerToggleAction() {\n if (this._baseLayoutRef) {\n // This should probably use a component dynamically created from the\n // config and return a ref to it, instead of using a template.\n if (this._toggleBtnTpl) {\n this._baseLayoutRef.registerAction({\n // type: 'button',\n type: 'template',\n name: this._actionWidgetDragToggleName,\n label: 'Toggle Widget Dragging',\n // exec: () => {\n // console.log('toggle')\n // },\n template: this._toggleBtnTpl\n })\n }\n }\n }\n\n private _unregisterToggleAction() {\n if (this._baseLayoutRef) {\n this._baseLayoutRef.unregisterAction(this._actionWidgetDragToggleName)\n }\n }\n\n private _isActionToggleActionRegistered() {\n if (!this._baseLayoutRef) {\n return false\n }\n return this._baseLayoutRef.isActionRegistered(this._actionWidgetDragToggleName)\n }\n\n drop(event: CdkDragDrop<string[]>) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex)\n this._dashboardWidgets.updateOrder().subscribe(() => this._layoutChange.next())\n } else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n )\n this._dashboardWidgets.updateOrder().subscribe(() => this._layoutChange.next())\n }\n }\n\n _containerTrackByFn(index: number, item: IDashboardWidgetsItem) {\n return item.widgetId\n }\n\n _columnsTrackByFn(index: number, record: IDashboardWidgetsColumnRecord) {\n return record.column\n }\n\n toggleDragging() {\n this.widgetsDraggable = !this.widgetsDraggable\n this._cdr.detectChanges()\n }\n\n _resized(event: IElementResizedEvent) {\n this._widthChange.next(event.size.width)\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit, TemplateRef } from '@angular/core'\nimport { Observable } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport type { IDashboardWidgetsItem } from '../dashboard-widgets/dashboard-widgets-item'\nimport { DashboardWidgetsComponent } from '../dashboard-widgets/dashboard-widgets.component'\n\n@Component({\n selector: 'seam-dashboard-widget-template-container',\n templateUrl: './dashboard-widget-template-container.component.html',\n styleUrls: ['./dashboard-widget-template-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DashboardWidgetTemplateContainerComponent implements OnInit {\n\n @Input() item: IDashboardWidgetsItem | undefined | null\n\n public template$: Observable<TemplateRef<any> | undefined>\n\n constructor(\n private _dashboardWidgetsComponent: DashboardWidgetsComponent\n ) {\n this.template$ = this._dashboardWidgetsComponent.containers$.pipe(\n map(containers => containers.find((c: any) => c.def.widgetId === this.item?.widgetId)),\n map(container => container && container.templateRef)\n )\n }\n\n ngOnInit() { }\n\n}\n","import { BasePortalOutlet, CdkPortalOutletAttachedRef, ComponentPortal, Portal, TemplatePortal } from '@angular/cdk/portal'\nimport {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n OnDestroy,\n OnInit,\n Output,\n ViewContainerRef\n} from '@angular/core'\n\n/**\n * Mostly copied from\n * `https://github.com/angular/components/blob/master/src/cdk/portal/portal-directives.ts`\n * until I can figure out how to hold off removing the DOM nodes with the\n * cdkPortalOutlet. When we update to Angular 9 I may be able to do this better\n * with the new DomPortal.\n *\n * Directive version of a PortalOutlet. Because the directive *is* a\n * PortalOutlet, portals can be directly attached to it, enabling declarative\n * use.\n *\n * Usage: `<ng-template [cdkPortalOutlet]=\"greeting\"></ng-template>`\n */\n@Directive({\n selector: '[seamDashboardWidgetPortalOutlet]',\n exportAs: 'seamDashboardWidgetPortalOutlet',\n inputs: ['portal: seamDashboardWidgetPortalOutlet']\n})\nexport class DashboardWidgetPortalOutletDirective extends BasePortalOutlet implements OnInit, OnDestroy {\n /** Whether the portal component is initialized. */\n private _isInitialized = false\n\n /** Reference to the currently-attached component/view ref. */\n private _attachedRef?: CdkPortalOutletAttachedRef\n\n constructor(\n private readonly _componentFactoryResolver: ComponentFactoryResolver,\n private readonly _viewContainerRef: ViewContainerRef,\n private readonly _elementRef: ElementRef\n ) {\n super()\n }\n\n /** Portal associated with the Portal outlet. */\n get portal(): Portal<any> | null {\n return this._attachedPortal\n }\n\n set portal(portal: Portal<any> | null) {\n // console.log('[DashboardWidgetPortalOutletDirective] set portal', portal, this.hasAttached())\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `<div cdkPortalOutlet>`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return\n }\n\n if (this.hasAttached()) {\n super.detach()\n }\n\n if (portal) {\n super.attach(portal)\n }\n\n this._attachedPortal = portal\n }\n\n /** Emits when a portal is attached to the outlet. */\n @Output() attached: EventEmitter<CdkPortalOutletAttachedRef> =\n new EventEmitter<CdkPortalOutletAttachedRef>()\n\n /** Component or view reference that is attached to the portal. */\n get attachedRef(): CdkPortalOutletAttachedRef | undefined {\n return this._attachedRef\n }\n\n ngOnInit() {\n this._isInitialized = true\n }\n\n ngOnDestroy() {\n // console.log('[DashboardWidgetPortalOutletDirective] ngOnDestroy')\n\n // TODO: Figure out the right way to call dispose without messing up\n // animation. This setTimeout way assumes the transition is 500ms, but that\n // may not always be the case and isn't guaranteed to match the animation ms\n // duration, since setTimeout isn't really meant for accurate timing. It\n // also makes debugging animations difficult, because you can pause an\n // animation, but the timeout will still run.\n setTimeout(() => {\n super.dispose()\n this._attachedPortal = null\n this._attachedRef = null\n }, 500)\n }\n\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n portal.setAttachedHost(this)\n\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef = portal.viewContainerRef != null ?\n portal.viewContainerRef :\n this._viewContainerRef\n\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver\n const componentFactory = resolver.resolveComponentFactory(portal.component)\n const ref = viewContainerRef.createComponent(\n componentFactory, viewContainerRef.length,\n portal.injector || viewContainerRef.injector)\n\n super.setDisposeFn(() => ref.destroy())\n this._attachedPortal = portal\n this._attachedRef = ref\n this.attached.emit(ref)\n\n return ref\n }\n\n /**\n * Attach the given TemplatePortal to this PortlHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n portal.setAttachedHost(this)\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context)\n super.setDisposeFn(() => this._viewContainerRef.clear())\n\n this._attachedPortal = portal\n this._attachedRef = viewRef\n this.attached.emit(viewRef)\n\n return viewRef\n }\n\n // static ngAcceptInputType_portal: Portal<any> | null | undefined | '';\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { IDashboardWidgetsItemDef } from './dashboard-widgets/dashboard-widgets-item'\n\n@Component({\n selector: 'seam-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DashboardComponent {\n static ngAcceptInputType_val: BooleanInput\n\n @Input() widgets: IDashboardWidgetsItemDef[] | undefined | null\n @Input() @InputBoolean() widgetsDraggable: boolean = true\n\n constructor() { }\n\n}\n","import { DragDropModule } from '@angular/cdk/drag-drop'\nimport { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { DashboardWidgetContainerComponent } from './dashboard-widget-container/dashboard-widget-container.component'\nimport {\n DashboardWidgetTemplateContainerComponent\n} from './dashboard-widget-template-container/dashboard-widget-template-container.component'\nimport { DashboardWidgetPortalOutletDirective } from './dashboard-widgets/dashboard-widget-portal-outlet.directive'\nimport { DashboardWidgetsComponent } from './dashboard-widgets/dashboard-widgets.component'\nimport { DashboardComponent } from './dashboard.component'\n\n@NgModule({\n declarations: [\n DashboardComponent,\n DashboardWidgetsComponent,\n DashboardWidgetContainerComponent,\n DashboardWidgetTemplateContainerComponent,\n DashboardWidgetPortalOutletDirective\n ],\n imports: [\n CommonModule,\n PortalModule,\n DragDropModule,\n TheSeamButtonsModule,\n TheSeamIconModule,\n TheSeamSharedModule\n ],\n exports: [\n DashboardComponent,\n DashboardWidgetsComponent,\n DashboardWidgetPortalOutletDirective\n ]\n})\nexport class TheSeamDashboardModule { }\n","import { hasProperty } from '@theseam/ui-common/utils'\n\nimport {\n ISideNavBasic,\n ISideNavButton,\n ISideNavDivider,\n ISideNavItem,\n ISideNavItemState,\n ISideNavLink,\n ISideNavTitle,\n SideNavItemCanHaveChildren,\n SideNavItemCanHaveState\n} from './side-nav.models'\n\nexport function isNavItemType(item: ISideNavItem, type: 'title'): item is ISideNavTitle\nexport function isNavItemType(item: ISideNavItem, type: 'divider'): item is ISideNavDivider\nexport function isNavItemType(item: ISideNavItem, type: 'basic'): item is ISideNavBasic\nexport function isNavItemType(item: ISideNavItem, type: 'link'): item is ISideNavLink\nexport function isNavItemType(item: ISideNavItem, type: 'button'): item is ISideNavButton\nexport function isNavItemType(item: ISideNavItem, type: string): item is ISideNavItem {\n return item.itemType === type\n}\n\nexport function isNavItemActive(item: ISideNavItem): boolean {\n return item.__state?.active ?? false\n}\n\nexport function isExpanded(item: ISideNavItem): boolean {\n return item.__state?.expanded ?? false\n}\n\nexport function hasChildren(item: ISideNavItem): item is (ISideNavBasic | ISideNavLink) & Required<SideNavItemCanHaveChildren> {\n return canHaveChildren(item) && hasProperty(item, 'children') && item.children.length > 0\n}\n\nexport function canHaveChildren(item: ISideNavItem): item is (ISideNavBasic | ISideNavLink) {\n return isNavItemType(item, 'basic') || isNavItemType(item, 'link')\n}\n\nexport function hasActiveChild(item: ISideNavItem): boolean {\n if (!hasChildren(item)) {\n return false\n }\n\n for (const child of item.children) {\n if (getItemStateProp(child, 'active')) {\n return true\n }\n }\n\n return false\n}\n\nexport function hasExpandedChild(item: ISideNavItem): boolean {\n if (!hasChildren(item)) {\n return false\n }\n\n for (const child of item.children) {\n if (getItemStateProp(child, 'expanded')) {\n return true\n }\n }\n\n return false\n}\n\nexport function canBeActive(item: ISideNavItem): item is (ISideNavBasic | ISideNavLink) {\n return isNavItemType(item, 'basic') || isNavItemType(item, 'link')\n}\n\nexport function canExpand(item: ISideNavItem): item is (ISideNavBasic | ISideNavLink) {\n return canHaveChildren(item)\n}\n\nexport function findLinkItems(items: ISideNavItem[]): ISideNavLink[] {\n const linkItems: ISideNavLink[] = []\n\n const _fn = (_items: ISideNavItem[]) => {\n for (const item of _items) {\n if (isNavItemType(item, 'link')) {\n linkItems.push(item)\n }\n if (canHaveChildren(item) && hasProperty(item, 'children')) {\n _fn(item.children)\n }\n }\n }\n _fn(items)\n\n return linkItems\n}\n\nexport function setItemStateProp<K extends keyof ISideNavItemState>(item: ISideNavItem, prop: K, value: ISideNavItemState[K]): void {\n if (hasProperty(item, '__state')) {\n item.__state[prop] = value\n }\n}\n\nexport function getItemStateProp<K extends keyof ISideNavItemState>(item: ISideNavItem, prop: K): ISideNavItemState[K] {\n return setDefaultState(item).__state[prop]\n}\n\nexport function setDefaultState(item: ISideNavItem): ISideNavItem & Required<SideNavItemCanHaveState> {\n if (hasProperty(item, '__state')) {\n return item\n }\n\n item.__state = {\n active: false,\n expanded: false\n }\n\n // TODO: See if there is a nice way to fix the typing for this.\n return item as any\n}\n","import { Injectable } from '@angular/core'\nimport { ActivatedRoute, IsActiveMatchOptions, NavigationEnd, Router, UrlCreationOptions } from '@angular/router'\nimport { BehaviorSubject, combineLatest, defer, Observable, of, Subject, Subscriber } from 'rxjs'\nimport { distinctUntilChanged, filter, map, shareReplay, startWith, switchMap, tap } from 'rxjs/operators'\n\nimport { hasProperty, notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport {\n canExpand,\n findLinkItems,\n getItemStateProp,\n hasActiveChild,\n hasChildren,\n hasExpandedChild,\n isNavItemType,\n setDefaultState,\n setItemStateProp\n} from './side-nav-utils'\nimport { ISideNavItem, ISideNavItemState, ISideNavLink, SideNavItemStateChanged } from './side-nav.models'\n\n@Injectable()\nexport class TheSeamSideNavService {\n\n private readonly _updatingCount = new BehaviorSubject<number>(0)\n\n public readonly loading$: Observable<boolean>\n\n public readonly itemChanged = new Subject<SideNavItemStateChanged>()\n\n constructor(\n private readonly _router: Router\n ) {\n this.loading$ = this._updatingCount.pipe(\n map(count => count > 0),\n distinctUntilChanged(),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n\n public createItemsObservable(items: ISideNavItem[]): Observable<ISideNavItem[]> {\n return defer(() => {\n this.updateItemsStates(items)\n return new Observable((subscriber: Subscriber<ISideNavItem[]>) => {\n const stateChangeSub = this.itemChanged.pipe(\n switchMap(() => this.loading$.pipe(filter(loading => !loading)))\n ).subscribe(() => {\n subscriber.next(items)\n })\n\n try {\n this.updateItemsStates(items)\n } catch (err) {\n subscriber.error(err)\n }\n\n // const linkItems = findLinkItems(items)\n\n const routeChangeSub = this._router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n // ).subscribe(() => linkItems.forEach(itm => this.updateItemState(itm)))\n ).subscribe(() => {\n try {\n this.updateItemsStates(items)\n } catch (err) {\n subscriber.error(err)\n }\n })\n\n return () => {\n stateChangeSub.unsubscribe()\n routeChangeSub.unsubscribe()\n }\n }).pipe(startWith(items))\n })\n }\n\n private _incUpdatingCount(): void {\n this._updatingCount.next(this._updatingCount.value + 1)\n }\n\n private _decrUpdatingCount(): void {\n this._updatingCount.next(this._updatingCount.value - 1)\n }\n\n public updateItemsStates(items: ISideNavItem[]): void {\n this._incUpdatingCount()\n\n try {\n for (const item of items) {\n if (hasChildren(item)) {\n this.updateItemsStates(item.children)\n }\n\n this.updateItemState(item)\n }\n\n this._decrUpdatingCount()\n } catch (err) {\n this._decrUpdatingCount()\n throw err\n }\n }\n\n public updateItemState(item: ISideNavItem): void {\n this._incUpdatingCount()\n\n try {\n setDefaultState(item)\n\n if (isNavItemType(item, 'link')) {\n const url = this._getUrl(item)\n if (notNullOrUndefined(url)) {\n const opts = this._getMatchOptions(item)\n this.setItemStateProp(item, 'active', this._router.isActive(url, opts))\n }\n }\n\n // TODO: Implement this in a more optimized way. Unless our apps start\n // having large side-navs constantly updating their state, this shouldn't\n // have much impact on performance.\n this._updateItemExpandedState(item)\n\n this._decrUpdatingCount()\n } catch (err) {\n this._decrUpdatingCount()\n throw err\n }\n }\n\n private _updateItemsExpandedState(items: ISideNavItem[]): void {\n for (const item of items) {\n if (hasChildren(item)) {\n this._updateItemsExpandedState(item.children)\n }\n this._updateItemExpandedState(item)\n }\n }\n\n private _updateItemExpandedState(item: ISideNavItem): void {\n if (!canExpand(item)) {\n if (getItemStateProp(item, 'expanded')) {\n this.setItemStateProp(item, 'expanded', false)\n }\n return\n }\n\n if (hasChildren(item)) {\n this._updateItemsExpandedState(item.children)\n }\n\n if (hasActiveChild(item) || hasExpandedChild(item)) {\n if (!getItemStateProp(item, 'expanded')) {\n this.setItemStateProp(item, 'expanded', true)\n }\n } else {\n if (getItemStateProp(item, 'expanded')) {\n this.setItemStateProp(item, 'expanded', false)\n }\n }\n }\n\n private _getNavExtras(item: ISideNavLink): UrlCreationOptions {\n const navigationExtras: UrlCreationOptions = { }\n if (hasProperty(item, 'queryParams')) {\n navigationExtras.queryParams = item.queryParams\n }\n if (hasProperty(item, 'fragment')) {\n navigationExtras.fragment = item.fragment\n }\n if (hasProperty(item, 'queryParamsHandling')) {\n navigationExtras.queryParamsHandling = item.queryParamsHandling\n }\n if (hasProperty(item, 'preserveFragment')) {\n navigationExtras.preserveFragment = item.preserveFragment\n }\n return navigationExtras\n }\n\n private _getUrl(item: ISideNavLink): string | null {\n const link = item.link\n\n if (typeof link === 'string') {\n return this._router.createUrlTree([ link ], this._getNavExtras(item)).toString()\n } else if (Array.isArray(link)) {\n return this._router.createUrlTree(link, this._getNavExtras(item)).toString()\n }\n\n return null\n }\n\n private _getMatchOptions(item: ISideNavLink): IsActiveMatchOptions {\n const defaultMatchOpts: IsActiveMatchOptions = {\n paths: 'subset',\n queryParams: 'subset',\n fragment: 'ignored',\n matrixParams: 'ignored'\n }\n\n if (hasProperty(item, 'matchOptions')) {\n return {\n ...defaultMatchOpts,\n ...item.matchOptions\n }\n }\n\n return defaultMatchOpts\n }\n\n public setItemStateProp<K extends keyof ISideNavItemState>(item: ISideNavItem, prop: K, value: ISideNavItemState[K]): void {\n const currentValue = getItemStateProp(item, prop)\n if (currentValue !== value) {\n setItemStateProp(item, prop, value)\n\n const changed: SideNavItemStateChanged = {\n item,\n prop,\n prevValue: currentValue,\n newValue: value\n }\n this.itemChanged.next(changed)\n }\n }\n}\n","import {\n animate,\n animateChild,\n group,\n query,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, OnDestroy, OnInit, Optional, ViewEncapsulation } from '@angular/core'\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router'\nimport { BehaviorSubject, combineLatest, Observable, Subject } from 'rxjs'\nimport { distinctUntilChanged, filter, map, mapTo, pairwise, shareReplay, startWith, switchMap, takeUntil, tap } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { TheSeamLayoutService } from '@theseam/ui-common/layout'\n\nimport { ITheSeamBaseLayoutNav, ITheSeamBaseLayoutRef, THESEAM_BASE_LAYOUT_REF } from '../base-layout/index'\n\nimport { ISideNavItem } from './side-nav.models'\nimport { TheSeamSideNavService } from './side-nav.service'\n\nconst EXPANDED_STATE = 'expanded'\nconst COLLAPSED_STATE = 'collapsed'\n\nconst EXPANDED_OVERLAY_STATE = 'expanded-overlay'\nconst COLLAPSED_OVERLAY_STATE = 'collapsed-overlay'\n\nconst EXPANDED_STATES = [ EXPANDED_STATE, EXPANDED_OVERLAY_STATE ]\nconst COLLAPSED_STATES = [ COLLAPSED_STATE, COLLAPSED_OVERLAY_STATE ]\nconst EXPAND_STATES = [ ...EXPANDED_STATES, ...COLLAPSED_STATES ]\n\nexport function sideNavExpandStateChangeFn(fromState: string, toState: string) {\n // console.log({ fromState, toState })\n return fromState !== toState &&\n (\n // NOTE: The current way the side nav is being used it causes the\n // component to sometimes get placed in the wrong location initially. It\n // is fast enough to not be noticed without an initial animation usually,\n // so it is commented out below until the initial placement issue it\n // fixed.\n //\n // (\n // fromState === 'void' && EXPAND_STATES.indexOf(toState) !== -1\n // ||\n // toState === 'void' && EXPAND_STATES.indexOf(fromState) !== -1\n // )\n // ||\n (\n (EXPANDED_STATES.indexOf(fromState) !== -1 && COLLAPSED_STATES.indexOf(toState) !== -1)\n ||\n (EXPANDED_STATES.indexOf(toState) !== -1 && COLLAPSED_STATES.indexOf(fromState) !== -1)\n )\n )\n}\n\n@Component({\n selector: 'seam-side-nav',\n templateUrl: './side-nav.component.html',\n styleUrls: ['./side-nav.component.scss'],\n providers: [\n TheSeamSideNavService\n ],\n animations: [\n\n //\n // TODO: This animation code turned into a mess. Clean it up and make it\n // more smooth.\n //\n\n trigger('sideNavAnim', [\n transition(sideNavExpandStateChangeFn, [\n group([\n query('@sideNavBackdrop', animateChild(), { optional: true }),\n query('@sideNavExpand', animateChild(), { optional: true }),\n ]),\n ]),\n ]),\n\n trigger('sideNavBackdrop', [\n state(EXPANDED_OVERLAY_STATE, style({ opacity: '1' })),\n state(COLLAPSED_OVERLAY_STATE, style({ opacity: '0' })),\n\n // transition((fromState, toState, element, params) => {\n // console.log('sideNavBackdrop v', fromState, toState, element, params)\n // return false\n // }, []),\n\n transition(sideNavExpandStateChangeFn, animate('0.2s ease-in-out')),\n ]),\n\n trigger('sideNavExpand', [\n // TODO: Make width configurable.\n state(EXPANDED_STATE, style({ width: '260px' })),\n state(COLLAPSED_STATE, style({ width: '50px', 'overflow-x': 'hidden' })),\n\n state(EXPANDED_OVERLAY_STATE, style({\n position: 'absolute',\n top: 0,\n height: '100%',\n bottom: 0,\n left: 0,\n float: 'left',\n zIndex: '9999',\n width: 'calc(100vw - 50px)',\n transform: 'translateX(0)'\n })),\n state(COLLAPSED_OVERLAY_STATE, style({\n position: 'absolute',\n top: 0,\n height: '100%',\n bottom: 0,\n left: 0,\n float: 'left',\n zIndex: '9999',\n width: 'calc(100vw - 50px)',\n transform: 'translateX(calc(-100vw + 50px))',\n 'overflow-x': 'hidden'\n })),\n\n // transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, animate('0.2s ease-in-out')),\n\n transition(sideNavExpandStateChangeFn, animate('0.2s ease-in-out')),\n\n // transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, [\n // // query(':leave', animateChild(), { optional: true }),\n // // query(':enter', animateChild(), { optional: true }),\n // group([\n // query(':leave', animateChild(), { optional: true }),\n // query(':enter', animateChild(), { optional: true }),\n // query('@compactAnim', animateChild(), { optional: true }),\n // animate('5.2s ease-in-out')\n // ])\n // ]),\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SideNavComponent implements OnInit, OnDestroy, ITheSeamBaseLayoutNav {\n static ngAcceptInputType_hasHeaderToggle: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject()\n\n // @HostBinding('@sideNavExpand') _sideNavExpand = EXPANDED_STATE\n // _sideNavExpand = EXPANDED_STATE\n\n // @HostBinding('@sideNavAnim') _sideNavExpand = EXPANDED_STATE\n @HostBinding('@sideNavAnim') _sideNavExpand = 'initial'\n\n @Input() @InputBoolean() hasHeaderToggle = true\n\n @Input()\n get items(): ISideNavItem[] { return this._items.value }\n set items(value: ISideNavItem[]) { this._items.next(value) }\n private _items = new BehaviorSubject<ISideNavItem[]>([])\n public readonly items$: Observable<ISideNavItem[]>\n\n @Input()\n get expanded(): boolean { return this._expanded.value }\n set expanded(value: boolean) { this._expanded.next(coerceBooleanProperty(value)) }\n private _expanded = new BehaviorSubject<boolean>(true)\n public readonly expanded$ = this._expanded.asObservable()\n\n @Input()\n get overlay(): boolean { return this._overlay.value }\n set overlay(value: boolean) { this._overlay.next(coerceBooleanProperty(value)) }\n private _overlay = new BehaviorSubject<boolean>(false)\n public readonly overlay$ = this._overlay.asObservable()\n\n public readonly isMobile$: Observable<boolean>\n public readonly sideNavExpandedState$: Observable<string>\n public _backdropHidden = new BehaviorSubject<boolean>(true)\n\n constructor(\n private readonly _layout: TheSeamLayoutService,\n private readonly _sideNav: TheSeamSideNavService,\n @Optional() @Inject(THESEAM_BASE_LAYOUT_REF) private readonly _baseLayoutRef: ITheSeamBaseLayoutRef\n ) {\n this.items$ = this._items.asObservable().pipe(\n switchMap(items => this._sideNav.createItemsObservable(items)),\n shareReplay({ bufferSize: 1, refCount: true }),\n )\n\n this.isMobile$ = this._layout.isMobile$.pipe(\n tap(isMobile => isMobile && this.collapse())\n )\n\n this.sideNavExpandedState$ = combineLatest([ this.expanded$, this.overlay$ ]).pipe(\n map(([ expanded, overlay ]) => expanded\n ? overlay ? EXPANDED_OVERLAY_STATE : EXPANDED_STATE\n : overlay ? COLLAPSED_OVERLAY_STATE : COLLAPSED_STATE\n ),\n distinctUntilChanged()\n )\n }\n\n ngOnInit() {\n if (this._baseLayoutRef) { this._baseLayoutRef.registerNav(this) }\n\n this.isMobile$\n .pipe(takeUntil(this._ngUnsubscribe))\n .subscribe(b => this.overlay = b)\n\n this.sideNavExpandedState$\n .pipe(takeUntil(this._ngUnsubscribe))\n .subscribe(v => this._sideNavExpand = v)\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n if (this._baseLayoutRef) { this._baseLayoutRef.unregisterNav(this) }\n }\n\n public expand() {\n this.expanded = true\n }\n\n public collapse() {\n this.expanded = false\n }\n\n public toggle() {\n this.expanded = !this.expanded\n }\n\n public animateStart() {\n if (this.expanded) {\n this._backdropHidden.next(false)\n }\n }\n\n public animateEnd() {\n if (!this.expanded) {\n this._backdropHidden.next(true)\n }\n }\n\n}\n","import {\n animate,\n query,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations'\nimport { BooleanInput, coerceBooleanProperty, NumberInput } from '@angular/cdk/coercion'\nimport {\n ChangeDetectionStrategy,\n Component,\n Host,\n HostBinding,\n Input,\n OnDestroy,\n Optional,\n SkipSelf,\n ViewEncapsulation\n} from '@angular/core'\nimport { BehaviorSubject, Observable, Subject } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { faAngleLeft } from '@fortawesome/free-solid-svg-icons'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\nimport type { SeamIcon } from '@theseam/ui-common/icon'\nimport type { ThemeTypes } from '@theseam/ui-common/models'\n\nimport { SideNavComponent } from '../side-nav.component'\nimport { ISideNavItem } from '../side-nav.models'\n\nexport interface SideNavItemBadgeTooltip {\n tooltip?: string\n class?: string\n placement?: string\n container?: string\n disabled?: boolean\n}\n\nconst EXPANDED_STATE = 'expanded'\nconst COLLAPSED_STATE = 'collapsed'\n\nconst FULL_STATE = 'full'\nconst COMPACT_STATE = 'compact'\n\n@Component({\n selector: 'seam-side-nav-item',\n templateUrl: './side-nav-item.component.html',\n styleUrls: ['./side-nav-item.component.scss'],\n exportAs: 'seamSideNavItem',\n animations: [\n trigger('childGroupAnim', [\n state(EXPANDED_STATE, style({ height: '*' })),\n state(COLLAPSED_STATE, style({ height: 0, 'overflow-y': 'hidden', visibility: 'hidden' })),\n transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, animate('0.2s ease-in-out')),\n ]),\n\n\n trigger('compactAnim', [\n // transition('* <=> *', [\n // query(':enter', [\n // style({ opacity: '0' }),\n // animate('5.2s ease-in-out', style({ opacity: '1' }))\n // ], { optional: true }),\n // query(':leave', [\n // style({ opacity: '1' }),\n // animate('5.2s ease-in-out', style({ opacity: '0' }))\n // ], { optional: true })\n // ])\n\n // state(FULL_STATE, style({ opacity: '1' })),\n // state(COMPACT_STATE, style({ opacity: '0' })),\n // transition(`${FULL_STATE} <=> ${COMPACT_STATE}`, animate('5.2s ease-in-out')),\n // transition(`${FULL_STATE} <=> ${COMPACT_STATE}`, [\n // transition('* <=> *', [\n // query(':leave', [\n // style({ opacity: '1' }),\n // animate('5.2s ease-in-out', style({ opacity: '0' }))\n // ], { optional: true })\n // ]),\n\n\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SideNavItemComponent implements OnDestroy {\n static ngAcceptInputType_hierLevel: NumberInput\n static ngAcceptInputType_indentSize: NumberInput\n static ngAcceptInputType_expanded: BooleanInput\n static ngAcceptInputType_compact: BooleanInput\n static ngAcceptInputType_active: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject()\n\n readonly faAngleLeft = faAngleLeft\n\n @Input() itemType: 'divider' | 'basic' | 'link' | 'button' | 'title' | undefined | null\n\n @Input() icon: SeamIcon | undefined | null\n\n @Input() label: string | undefined | null\n\n @Input() @InputBoolean() active: boolean = false\n\n @Input()\n set link(value: string | undefined | null) { this._link.next(value) }\n get link() { return this._link.value }\n private readonly _link = new BehaviorSubject<string | undefined | null>(undefined)\n public readonly link$ = this._link.asObservable()\n\n @Input() queryParams: { [k: string]: any } | undefined | null\n\n @Input() children: ISideNavItem[] | undefined | null\n\n @Input() @InputNumber(0) hierLevel: number = 0\n\n @Input() @InputNumber(10) indentSize: number = 10\n\n @Input()\n set expanded(value: boolean) { this._expanded.next(coerceBooleanProperty(value)) }\n get expanded() { return this._expanded.value }\n private readonly _expanded = new BehaviorSubject<boolean>(false)\n public readonly expanded$ = this._expanded.asObservable()\n\n @Input()\n set compact(value: boolean) { this._compact.next(coerceBooleanProperty(value)) }\n get compact() { return this._compact.value }\n private readonly _compact = new BehaviorSubject<boolean>(false)\n public readonly compact$ = this._compact.asObservable()\n\n @Input() badgeText: string | undefined | null\n @Input() badgeTheme: ThemeTypes | undefined | null = 'danger'\n\n /**\n * Content to provide to assistive technology, such as screen readers.\n */\n @Input() badgeSrContent: string | undefined | null\n\n @Input()\n get badgeTooltip() { return this._badgeTooltip }\n set badgeTooltip(value: string | SideNavItemBadgeTooltip | undefined | null) {\n if (value !== null && value !== undefined) {\n if (typeof value === 'string') {\n this._badgeTooltip = {\n tooltip: value,\n placement: 'auto',\n disabled: false\n }\n } else {\n this._badgeTooltip = {\n ...value,\n placement: value.placement || 'auto',\n disabled: typeof value?.disabled === 'boolean'\n ? value.disabled\n : typeof value.tooltip === 'string' ? false : true\n }\n }\n } else {\n this._badgeTooltip = undefined\n }\n }\n private _badgeTooltip: SideNavItemBadgeTooltip | undefined | null\n\n @HostBinding('class.seam-side-nav-item--active') get _isActiveCssClass() { return this.active }\n\n @HostBinding('attr.data-hier-level') get _attrDataHierLevel() { return this.hierLevel }\n\n public readonly childGroupAnimState$: Observable<string>\n public readonly compactAnimState$: Observable<string>\n\n constructor(\n private readonly _sideNav: SideNavComponent,\n @Optional() @SkipSelf() @Host() private readonly _parent?: SideNavItemComponent\n ) {\n this.childGroupAnimState$ = this.expanded$\n .pipe(map(expanded => expanded ? EXPANDED_STATE : COLLAPSED_STATE))\n\n this.compactAnimState$ = this.compact$\n .pipe(map(compact => compact ? COMPACT_STATE : FULL_STATE))\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n get hasChildren() {\n return Array.isArray(this.children) && this.children.length > 0\n }\n\n public toggleChildren(): void {\n this.expanded = !this.expanded\n }\n\n _linkClicked() {\n // Close nav when link is clicked while in overlay state\n if (this._sideNav.overlay) {\n this._sideNav.collapse()\n }\n }\n\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core'\n\nimport { faBars } from '@fortawesome/free-solid-svg-icons'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Component({\n selector: 'seam-side-nav-toggle',\n templateUrl: './side-nav-toggle.component.html',\n styleUrls: ['./side-nav-toggle.component.scss'],\n host: {\n '[class.side-nav-toggle--compact]': '!expanded'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SideNavToggleComponent implements OnInit {\n static ngAcceptInputType_expanded: BooleanInput\n\n faBars = faBars\n\n @Input() @InputBoolean() expanded = false\n\n @Output() toggleExpand = new EventEmitter<void>()\n\n constructor() { }\n\n ngOnInit() { }\n\n toggle() {\n this.toggleExpand.emit()\n }\n\n}\n","import { A11yModule } from '@angular/cdk/a11y'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'\n\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamLayoutModule } from '@theseam/ui-common/layout'\nimport { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar'\n\nimport { SideNavItemComponent } from './side-nav-item/side-nav-item.component'\nimport { SideNavToggleComponent } from './side-nav-toggle/side-nav-toggle.component'\nimport { SideNavComponent } from './side-nav.component'\n\n@NgModule({\n declarations: [\n SideNavItemComponent,\n SideNavComponent,\n SideNavToggleComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n TheSeamIconModule,\n A11yModule,\n TheSeamScrollbarModule,\n TheSeamLayoutModule,\n NgbTooltipModule\n ],\n exports: [\n SideNavItemComponent,\n SideNavComponent,\n SideNavToggleComponent\n ]\n})\nexport class TheSeamSideNavModule { }\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, HostBinding, Input, OnDestroy, OnInit, TemplateRef } from '@angular/core'\n\nimport { faUserCircle } from '@fortawesome/free-regular-svg-icons'\nimport { faAngleDown } from '@fortawesome/free-solid-svg-icons'\n\nimport { CanDisableCtor, InputBoolean, mixinDisabled } from '@theseam/ui-common/core'\n\nclass TopBarMenuButtonBase {}\n\nconst _TopBarMenuButtonMixinBase: CanDisableCtor & typeof TopBarMenuButtonBase =\n mixinDisabled(TopBarMenuButtonBase)\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'button[seamTopBarMenuButton]',\n templateUrl: './top-bar-menu-button.component.html',\n styleUrls: ['./top-bar-menu-button.component.scss'],\n exportAs: 'seamButton',\n // tslint:disable-next-line:use-input-property-decorator\n inputs: [ 'disabled' ],\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n 'attr.type': 'button',\n 'class': 'btn border text-decoration-none py-0',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TopBarMenuButtonComponent extends _TopBarMenuButtonMixinBase implements OnInit, OnDestroy {\n static ngAcceptInputType_compact: BooleanInput\n\n faAngleDown = faAngleDown\n profileIcon = faUserCircle\n\n @Input() detailTpl: TemplateRef<{}> | undefined | null\n\n @Input() @InputBoolean() compact: boolean = false\n\n @HostBinding('class.top-bar-menu-button--compact') get _hasCompactClass() { return this.compact }\n @HostBinding('class.p-0') get _hasPadding0Class() { return this.compact }\n @HostBinding('class.rounded') get _hasRoundedClass() { return this.compact }\n @HostBinding('class.btn-link') get _hasBtnLinkClass() { return !this.compact }\n\n ngOnInit() { }\n\n ngOnDestroy() { }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-top-bar-title',\n templateUrl: './top-bar-title.component.html',\n styleUrls: ['./top-bar-title.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TopBarTitleComponent implements OnInit {\n\n @Input() titleText: string | undefined | null\n @Input() subTitleText: string | undefined | null\n\n constructor() { }\n\n ngOnInit() { }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTopBarItem]'\n})\nexport class TopBarItemDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTopBarMenuBtnDetail]'\n})\nexport class TopBarMenuBtnDetailDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Directive, Self } from '@angular/core'\n\nimport { MenuComponent } from '@theseam/ui-common/menu'\n\n@Directive({\n selector: 'seam-menu[seamTopBarMenu]'\n})\nexport class TopBarMenuDirective {\n\n constructor(\n @Self() public menu: MenuComponent\n ) { }\n\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n OnDestroy,\n OnInit,\n QueryList\n} from '@angular/core'\nimport { Observable, Subject } from 'rxjs'\nimport { map, shareReplay, startWith, takeUntil } from 'rxjs/operators'\n\nimport { faBars } from '@fortawesome/free-solid-svg-icons'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { TheSeamLayoutService } from '@theseam/ui-common/layout'\n\nimport { TopBarItemDirective } from './top-bar-item.directive'\nimport { TopBarMenuBtnDetailDirective } from './top-bar-menu-btn-detail.directive'\nimport { TopBarMenuDirective } from './top-bar-menu.directive'\n\n/**\n * Top bar of an app.\n *\n * The top bar is fairly opinionated, so most parts are not intended to be\n * customized unless there is an input.\n *\n * > If you have to make a change and apply it externally with a css class or js\n * > make sure there is an issue to get the feature changed, so we don't have\n * > different modifications across our apps. Also, this will help make sure\n * > your change should have even been done.\n */\n@Component({\n selector: 'seam-top-bar',\n templateUrl: './top-bar.component.html',\n styleUrls: ['./top-bar.component.scss'],\n exportAs: 'seamTopBar',\n host: {\n 'class': 'bg-white'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamTopBarComponent implements OnInit, OnDestroy, AfterContentInit {\n static ngAcceptInputType_hasTitle: BooleanInput\n\n /** @ignore */\n private readonly _ngUnsubscribe = new Subject()\n\n /** @ignore */\n faBars = faBars\n\n /** @ignore */\n @ContentChild(TopBarMenuDirective, { static: true }) _topBarMenu?: TopBarMenuDirective | null\n /** @ignore */\n @ContentChildren(TopBarItemDirective) _topBarItems?: QueryList<TopBarItemDirective>\n /** @ignore */\n @ContentChild(TopBarMenuBtnDetailDirective) _topBarMenuBtnDetailTpl?: TopBarMenuBtnDetailDirective | null\n\n /** Logo displayed on the top bar. */\n @Input() logo: string | undefined | null\n /** Logo displayed on the top bar when a smaller logo is needed. */\n @Input() logoSm: string | undefined | null\n\n /** External url to link to when `logo` is clicked. */\n @Input() logoHref?: string | null\n\n /** Link target used when `logoHref` is specified. Defaults to `\"_blank\"` */\n @Input() logoHrefTarget: string = '_blank'\n\n /** Route to link to when `logo` is clicked. Defaults to `/`. */\n @Input() logoRoute: string = '/'\n\n /** Determines if the title should be displayed. */\n @Input() @InputBoolean() hasTitle: boolean = false\n\n /** Title text displayed when `hasTitle` is true. */\n @Input() titleText: string | undefined | null\n\n /** Sub Title text displayed when `hasTitle` is true. The sub title will be less prominent. */\n @Input() subTitleText: string | undefined | null\n\n /** @ignore */\n _items$?: Observable<TopBarItemDirective[]>\n\n /** @ignore */\n isMobile$: Observable<boolean>\n\n constructor(\n private _layout: TheSeamLayoutService\n ) {\n this.isMobile$ = this._layout.isMobile$\n }\n\n /** @ignore */\n ngOnInit() { }\n\n /** @ignore */\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n /** @ignore */\n ngAfterContentInit() {\n if (this._topBarItems) {\n this._items$ = this._topBarItems.changes.pipe(\n startWith(undefined),\n takeUntil(this._ngUnsubscribe),\n map(() => this._topBarItems?.toArray() || []),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamLayoutModule } from '@theseam/ui-common/layout'\nimport { TheSeamMenuModule } from '@theseam/ui-common/menu'\nimport { TheSeamBaseLayoutModule } from '../base-layout/index'\n\nimport { TopBarItemDirective } from './top-bar-item.directive'\nimport { TopBarMenuBtnDetailDirective } from './top-bar-menu-btn-detail.directive'\nimport { TopBarMenuButtonComponent } from './top-bar-menu-button/top-bar-menu-button.component'\nimport { TopBarMenuDirective } from './top-bar-menu.directive'\nimport { TopBarTitleComponent } from './top-bar-title/top-bar-title.component'\nimport { TheSeamTopBarComponent } from './top-bar.component'\n\n@NgModule({\n declarations: [\n TheSeamTopBarComponent,\n TopBarTitleComponent,\n TopBarMenuButtonComponent,\n TopBarMenuDirective,\n TopBarItemDirective,\n TopBarMenuBtnDetailDirective\n ],\n imports: [\n CommonModule,\n TheSeamLayoutModule,\n TheSeamButtonsModule,\n TheSeamIconModule,\n TheSeamMenuModule,\n TheSeamBaseLayoutModule,\n RouterModule\n ],\n exports: [\n TheSeamTopBarComponent,\n TopBarMenuButtonComponent,\n TopBarMenuDirective,\n TheSeamMenuModule,\n TopBarItemDirective,\n TopBarMenuBtnDetailDirective\n ]\n})\nexport class TheSeamTopBarModule { }\n","import {\n animate,\n animateChild,\n group,\n keyframes,\n query,\n style,\n transition,\n trigger,\n} from '@angular/animations'\n\n\nexport const fader =\n trigger('routeAnimations', [\n transition('* <=> *', [\n // Set a default style for enter and leave\n query(':enter, :leave', [\n style({\n position: 'absolute',\n left: 0,\n width: '100%',\n opacity: 0,\n transform: 'scale(0) translateY(100%)',\n }),\n ], { optional: true }),\n // Animate the new page in\n query(':enter', [\n animate('600ms ease', style({ opacity: 1, transform: 'scale(1) translateY(0)' })),\n ], { optional: true })\n ]),\n ])\n\n\n// function slideTo(direction) {\n// return [\n// query(':enter, :leave', [\n// style({\n// position: 'absolute',\n// top: 0,\n// [direction]: 0,\n// width: '100%'\n// })\n// ], { optional: true }),\n// query(':enter', [\n// style({ [direction]: '-100%'})\n// ], { optional: true }),\n// group([\n// query(':leave', [\n// animate('1000ms ease', style({ [direction]: '100%'}))\n// ], { optional: true }),\n// query(':enter', [\n// animate('1000ms ease', style({ [direction]: '0%'}))\n// ], { optional: true })\n// ]),\n// // Normalize the page style... Might not be necessary\n\n// // Required only if you have child animations on the page\n// query(':leave', animateChild(), { optional: true }),\n// query(':enter', animateChild(), { optional: true }),\n// ]\n// }\n\n// TODO: Refactor the slider animation, because AOT or ng-packagr, I haven't\n// looked into what exactly is preventing it, doesn't allow the function call.\n// export const slider =\n// trigger('routeAnimations', [\n// transition('* => isLeft', slideTo('left') ),\n// transition('* => isRight', slideTo('right') ),\n// transition('isRight => *', slideTo('left') ),\n// transition('isLeft => *', slideTo('right') )\n// ])\n\n// export const contentLeave =\n// trigger('contentLeave', [\n// transition(':leave', [\n\n// ])\n// ])\n\nexport const slider =\n trigger('routeAnimations', [\n transition('* => isLeft', [\n query('.router-container :enter, .router-container :leave', [\n style({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%'\n })\n ], { optional: true }),\n query('.router-container :enter', [\n style({ left: '-100%'})\n ], { optional: true }),\n query('.hierarchy-router-outlet--content', [\n style({ left: '0%', position: 'absolute' })\n ], { optional: true }),\n group([\n query('.router-container :leave', [\n animate('1000ms ease', style({ left: '100%'}))\n ], { optional: true }),\n query('.router-container :enter', [\n animate('1000ms ease', style({ left: '0%'}))\n ], { optional: true }),\n query('.hierarchy-router-outlet--content', [\n animate('1000ms ease', style({ left: '-100%'}))\n ], { optional: true }),\n ]),\n // Normalize the page style... Might not be necessary\n\n // Required only if you have child animations on the page\n query('.router-container :leave', animateChild(), { optional: true }),\n query('.router-container :enter', animateChild(), { optional: true }),\n ]),\n transition('* => isRight', [\n query('.router-container :enter, .router-container :leave', [\n style({\n position: 'absolute',\n top: 0,\n right: 0,\n width: '100%'\n })\n ], { optional: true }),\n query('.router-container :enter', [\n style({ right: '-100%'})\n ], { optional: true }),\n query('.hierarchy-router-outlet--content', [\n style({ left: '0%', position: 'absolute' })\n ], { optional: true }),\n group([\n query('.router-container :leave', [\n animate('1000ms ease', style({ right: '100%'}))\n ], { optional: true }),\n query('.router-container :enter', [\n animate('1000ms ease', style({ right: '0%'}))\n ], { optional: true }),\n query('.hierarchy-router-outlet--content', [\n animate('1000ms ease', style({ left: '-100%'}))\n ], { optional: true }),\n ]),\n // Normalize the page style... Might not be necessary\n\n // Required only if you have child animations on the page\n query('.router-container :leave', animateChild(), { optional: true }),\n query('.router-container :enter', animateChild(), { optional: true }),\n ]),\n transition('isRight => *', [\n query('.router-container :enter, .router-container :leave', [\n style({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%'\n })\n ], { optional: true }),\n query('.router-container :enter', [\n style({ left: '-100%'})\n ], { optional: true }),\n query('.hierarchy-router-outlet--content', [\n style({ left: '0%', position: 'absolute' })\n ], { optional: true }),\n group([\n query('.router-container :leave', [\n animate('1000ms ease', style({ left: '100%'}))\n ], { optional: true }),\n query('.router-container :enter', [\n animate('1000ms ease', style({ left: '0%'}))\n ], { optional: true }),\n query('.hierarchy-router-outlet--content', [\n animate('1000ms ease', style({ left: '-100%'}))\n ], { optional: true }),\n ]),\n // Normalize the page style... Might not be necessary\n\n // Required only if you have child animations on the page\n query('.router-container :leave', animateChild(), { optional: true }),\n query('.router-container :enter', animateChild(), { optional: true }),\n ]),\n transition('isLeft => *', [\n query('.router-container :enter, .router-container :leave', [\n style({\n position: 'absolute',\n top: 0,\n right: 0,\n width: '100%'\n })\n ], { optional: true }),\n query('.router-container :enter', [\n style({ right: '-100%'})\n ], { optional: true }),\n group([\n query('.router-container :leave', [\n animate('1000ms ease', style({ right: '100%'}))\n ], { optional: true }),\n query('.router-container :enter', [\n animate('1000ms ease', style({ right: '0%'}))\n ], { optional: true })\n ]),\n // Normalize the page style... Might not be necessary\n\n // Required only if you have child animations on the page\n query('.router-container :leave', animateChild(), { optional: true }),\n query('.router-container :enter', animateChild(), { optional: true }),\n ])\n ])\n\n\nexport const transformer =\n trigger('routeAnimations', [\n transition('* => isLeft', transformTo({ x: -100, y: -100, rotate: -720 }) ),\n transition('* => isRight', transformTo({ x: 100, y: -100, rotate: 90 }) ),\n transition('isRight => *', transformTo({ x: -100, y: -100, rotate: 360 }) ),\n transition('isLeft => *', transformTo({ x: 100, y: -100, rotate: -360 }) )\n])\n\nfunction transformTo({x = 100, y = 0, rotate = 0}) {\n const optional = { optional: true }\n return [\n query(':enter, :leave', [\n style({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%'\n })\n ], optional),\n query(':enter', [\n style({ transform: `translate(${x}%, ${y}%) rotate(${rotate}deg)`})\n ], { optional: true }),\n group([\n query(':leave', [\n animate('600ms ease-out', style({ transform: `translate(${x}%, ${y}%) rotate(${rotate}deg)`}))\n ], optional),\n query(':enter', [\n animate('600ms ease-out', style({ transform: `translate(0, 0) rotate(0)`}))\n ], { optional: true })\n ]),\n ]\n}\n\n\nexport const stepper =\n trigger('routeAnimations', [\n transition('* <=> *', [\n query(':enter, :leave', [\n style({\n position: 'absolute',\n left: 0,\n width: '100%',\n }),\n ], { optional: true }),\n group([\n query(':enter', [\n animate('2000ms ease', keyframes([\n style({ transform: 'scale(0) translateX(100%)', offset: 0 }),\n style({ transform: 'scale(0.5) translateX(25%)', offset: 0.3 }),\n style({ transform: 'scale(1) translateX(0%)', offset: 1 }),\n ])),\n ], { optional: true }),\n query(':leave', [\n animate('2000ms ease', keyframes([\n style({ transform: 'scale(1)', offset: 0 }),\n style({ transform: 'scale(0.5) translateX(-25%) rotate(0)', offset: 0.35 }),\n style({ opacity: 0, transform: 'translateX(-50%) rotate(-180deg) scale(6)', offset: 1 }),\n ])),\n ], { optional: true })\n ]),\n ])\n ])\n\n\nexport const sideToSide = trigger('routeAnimations', [\n transition('* => *', [\n style({\n position: 'fixed',\n width: '100%',\n transform: 'translateX(-100%)'\n }),\n animate('1000ms ease', style({ transform: 'translateX(0%)' }))\n ]),\n transition(':leave', [\n style({\n position: 'fixed',\n width: '100%',\n transform: 'translateX(0%)'\n }),\n animate('1000ms ease', style({ transform: 'translateX(-100%)' }))\n ])\n])\n","import { ChangeDetectionStrategy, Component, HostBinding, OnDestroy, OnInit } from '@angular/core'\nimport { ActivatedRoute, NavigationEnd, NavigationStart, Router, RouterOutlet } from '@angular/router'\nimport { combineLatest, Subject } from 'rxjs'\nimport { distinctUntilChanged, filter, map, startWith, switchMap, takeUntil, tap } from 'rxjs/operators'\n\nimport { fader, sideToSide, slider, stepper, transformer } from './hierarchy-route-animations'\n\nexport function routeChanges(router: Router) {\n return router.events.pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n distinctUntilChanged((x: any, y: any) => x.id === y.id),\n map(event => ({ url: event.url }))\n )\n}\n\n\n//\n// TODO: Animation improvement: Try adding a full component animation that\n// queries the <ng-content> and <router-outlet> blocks. When the outlet\n// activates, set the animation state to a transition that moves both blocks\n// together.\n//\n\n\nlet _uid = 0\n\n@Component({\n selector: 'seam-hierarchy-router-outlet',\n templateUrl: './hierarchy-router-outlet.component.html',\n styleUrls: ['./hierarchy-router-outlet.component.scss'],\n animations: [\n // fader,\n slider,\n // transformer,\n // stepper,\n // sideToSide\n // contentLeave\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HierarchyRouterOutletComponent implements OnInit, OnDestroy {\n\n private _uid = _uid++\n\n private readonly _ngUnsubscribe = new Subject()\n\n animState = 'isRight'\n // animState = ''\n\n outletActive = false\n\n ngContentVisible = true\n\n constructor(\n private _route: ActivatedRoute,\n private _router: Router\n ) {\n this._router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n // tap(v => console.log(`_hasChildren()[${this._uid}]`, this._hasChildren())),\n takeUntil(this._ngUnsubscribe)\n )\n .subscribe()\n\n // routeChanges(this._router)\n // .pipe(\n // untilDestroyed(this),\n // tap(() => {\n // // if (this._hasChildren()) {\n // // this.animState = 'isLeft'\n // // } else {\n // // this.animState = 'isRight'\n // // }\n // })\n // )\n // .subscribe(v => console.log(`routeChanges[${this._uid}]`, v))\n }\n\n ngOnInit() { }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n private _hasChildren() {\n const count = this._route.pathFromRoot.length - 1\n let countFull = 0\n if (this._router.parseUrl(this._router.url).root.children.primary) {\n countFull = this._router.parseUrl(this._router.url).root.children.primary.segments.length\n }\n // console.log(`_hasChildren[${this._uid}]`, { count, countFull })\n return countFull > count\n }\n\n prepareRoute(outlet: RouterOutlet) {\n // console.log(`outlet[${this._uid}]`, outlet, this.animState, this._hasChildren(), this.outletActive)\n if (outlet.isActivated) {\n // console.log(outlet.isActivated)\n // console.log(outlet.component)\n console.log(this.animState)\n return this.animState\n } else {\n return undefined\n }\n // console.log(`prepareRoute[${this._uid}]`, this.animState, this._hasChildren())\n // console.log('activatedRouteData', outlet && outlet.activatedRouteData)\n // if (outlet && outlet.isActivated) {\n // console.log('activatedRoute', outlet.activatedRoute && outlet.activatedRoute.snapshot.url)\n // }\n // return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animation']\n // console.log('')\n // return this.animState\n }\n\n outletActivate(event: any) {\n // console.log(`outletActivate[${this._uid}]`, event)\n this.outletActive = true\n }\n\n outletDeactivate(event: any) {\n // console.log(`outletDeactivate[${this._uid}]`, event)\n this.outletActive = false\n }\n\n routeAnimationsStart(event: any) {\n // console.log('routeAnimationsStart', event)\n this.ngContentVisible = true\n }\n\n routeAnimationsDone(event: any) {\n // console.log('routeAnimationsDone', event)\n this.ngContentVisible = !this.outletActive\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'\nimport { Observable } from 'rxjs'\nimport { map, take } from 'rxjs/operators'\n\n@Injectable({ providedIn: 'root' })\nexport class HierarchyLevelResolver implements Resolve<number> {\n\n constructor() {}\n\n resolve(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable<number> | Promise<number> | number {\n // console.log('[HierarchyLevelResolver]', route)\n // console.log('[HierarchyLevelResolver]', state)\n return this._getMaxHierLevel(route)\n }\n\n private _getMaxHierLevel(route: ActivatedRouteSnapshot) {\n let curr = route\n while (curr.parent) {\n curr = curr.parent\n if (curr.data['hierLevel']) {\n return curr.data['hierLevel'] + 1\n }\n }\n\n return 0\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { HierarchyRouterOutletComponent } from './hierarchy-router-outlet/hierarchy-router-outlet.component'\n\n\n\n@NgModule({\n declarations: [\n HierarchyRouterOutletComponent\n ],\n imports: [\n CommonModule,\n RouterModule\n ],\n exports: [\n HierarchyRouterOutletComponent\n ]\n})\nexport class TheSeamDynamicRouterModule { }\n","import { Component, Input, OnInit } from '@angular/core'\nimport { AbstractControl } from '@angular/forms'\n\nimport { JsonSchemaFormService } from '@ajsf/core'\n\n@Component({\n selector: 'seam-schema-form-checkbox',\n templateUrl: './schema-form-checkbox.component.html',\n styleUrls: ['./schema-form-checkbox.component.scss']\n})\nexport class TheSeamSchemaFormCheckboxComponent implements OnInit {\n\n formControl?: AbstractControl\n controlName?: string\n controlValue: any\n controlDisabled = false\n boundControl = false\n options: any\n trueValue: any = true\n falseValue: any = false\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n constructor(\n private jsf: JsonSchemaFormService\n ) { }\n\n ngOnInit() {\n this.options = this.layoutNode.options || {}\n this.jsf.initializeControl(this)\n if (this.controlValue === null || this.controlValue === undefined) {\n this.controlValue = this.options.title\n }\n }\n\n updateValue(event: any) {\n event.preventDefault()\n this.jsf.updateValue(this, event.target.checked ? this.trueValue : this.falseValue)\n }\n\n get isChecked() {\n return this.jsf.getFormControlValue(this) === this.trueValue\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'\nimport { AbstractControl } from '@angular/forms'\n\nimport { JsonSchemaFormService } from '@ajsf/core'\n\n@Component({\n selector: 'seam-schema-form-input',\n templateUrl: './schema-form-input.component.html',\n styleUrls: ['./schema-form-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamSchemaFormInputComponent implements OnInit {\n\n formControl?: AbstractControl\n controlName?: string\n controlValue?: string\n controlDisabled = false\n boundControl = false\n options: any\n autoCompleteList: string[] = []\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n constructor(\n private jsf: JsonSchemaFormService\n ) { }\n\n ngOnInit() {\n this.options = this.layoutNode.options || {}\n this.jsf.initializeControl(this)\n }\n\n updateValue(event: any) {\n this.jsf.updateValue(this, event.target.value)\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'\nimport { AbstractControl } from '@angular/forms'\n\nimport { JsonSchemaFormService } from '@ajsf/core'\n\n@Component({\n selector: 'seam-schema-form-number',\n templateUrl: './schema-form-number.component.html',\n styleUrls: ['./schema-form-number.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamSchemaFormNumberComponent implements OnInit {\n\n formControl?: AbstractControl\n controlName?: string\n controlValue: any\n controlDisabled = false\n boundControl = false\n options: any\n allowNegative = true\n allowDecimal = true\n allowExponents = false\n lastValidNumber = ''\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n constructor(\n private jsf: JsonSchemaFormService\n ) { }\n\n ngOnInit() {\n this.options = this.layoutNode.options || {}\n this.jsf.initializeControl(this)\n if (this.layoutNode.dataType === 'integer') { this.allowDecimal = false }\n }\n\n updateValue(event: any) {\n this.jsf.updateValue(this, event.target.value)\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'\nimport { AbstractControl } from '@angular/forms'\n\nimport { buildTitleMap, isArray, JsonSchemaFormService } from '@ajsf/core'\n\n@Component({\n selector: 'seam-schema-form-select',\n templateUrl: './schema-form-select.component.html',\n styleUrls: ['./schema-form-select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamSchemaFormSelectComponent implements OnInit {\n\n formControl?: AbstractControl\n controlName?: string\n controlValue: any\n controlDisabled = false\n boundControl = false\n options: any\n selectList: any[] = []\n isArray = isArray\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n constructor(\n private jsf: JsonSchemaFormService\n ) { }\n\n ngOnInit() {\n this.options = this.layoutNode.options || {}\n this.selectList = buildTitleMap(\n this.options.titleMap || this.options.enumNames,\n this.options.enum, !!this.options.required, !!this.options.flatList\n )\n\n this.jsf.initializeControl(this)\n }\n\n updateValue(event: any) {\n this.jsf.updateValue(this, event.value)\n }\n\n}\n","import { Component, Input, isDevMode, OnDestroy, OnInit } from '@angular/core'\nimport { AbstractControl, FormControl } from '@angular/forms'\nimport { Subject } from 'rxjs'\n\nimport { buildTitleMap, hasOwn, JsonSchemaFormService, TitleMapItem } from '@ajsf/core'\n\nimport { observeControlStatus, observeControlValue } from '@theseam/ui-common/utils'\nimport { takeUntil } from 'rxjs/operators'\n\n// NOTE: This is aliasing TitleMapItem, because we may want to extend it's\n// options. For simplicity, I am letting this work similar to a 'select' widget.\nexport type TheSeamSchemaFormSubmitSplitItem = TitleMapItem\n\n// NOTE: This component is a little hacky, because I am basically creating a\n// data widget that acts like a data and 'submit' widget at the same time.\n//\n// TODO: Try and think of a nicer way to implement this, but still make sense\n// from a schema definition. The library may need to me forked to actually\n// support this in the way I expect, but maybe there is another way.\n@Component({\n selector: 'seam-schema-form-submit-split',\n templateUrl: './schema-form-submit-split.component.html',\n styleUrls: ['./schema-form-submit-split.component.scss'],\n // changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamSchemaFormSubmitSplitComponent implements OnInit, OnDestroy {\n\n /** @ignore */\n private readonly _ngUnsubscribe = new Subject()\n\n formControl?: AbstractControl\n controlName?: string\n controlValue: any\n controlDisabled = false\n boundControl = false\n options: any\n\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n _buttonLabel = ''\n\n _dropdownObj: any\n _dropdownDisabled = false\n _selectList: TheSeamSchemaFormSubmitSplitItem[] = []\n _selectedItem?: TheSeamSchemaFormSubmitSplitItem\n\n constructor(\n private jsf: JsonSchemaFormService\n ) { }\n\n /** @ignore */\n ngOnInit() {\n this.options = this.layoutNode.options || {}\n this.jsf.initializeControl(this)\n\n // NOTE: This is commented out, because there is a bug with submit widgets\n // manually defined in layout. All nodes initialized from the provided\n // layout have their options populated from the defaults and 'disabled' is\n // on of the default properties, so the 'disableInvalidSubmit' condition\n // never gets reached.\n //\n // My initial idea for fixing would be to check if the disabled property\n // exists and is a boolean, or possibly anything defined that can coerce\n // into a boolean. I can't think of a reason disabled should be anything\n // else, so that may be an acceptable fix, but I don't want to enable that\n // yet.\n //\n // if (hasOwn(this.options, 'disabled')) {\n // console.log('[TheSeamSchemaFormSubmitSplitComponent] hasDisabled', this.options.disabled)\n // this.controlDisabled = this.options.disabled\n // } else\n if (this.jsf.formOptions.disableInvalidSubmit) {\n this.controlDisabled = !this.jsf.isValid\n this.jsf.isValidChanges.subscribe(isValid => this.controlDisabled = !isValid)\n }\n if (this.controlValue === null || this.controlValue === undefined) {\n this.controlValue = this.options.title\n }\n\n if (hasOwn(this.options, 'title')) {\n this._buttonLabel = this.options.title\n }\n\n this._initDropdown()\n\n // console.log('this', this)\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n updateValue(event: any) {\n if (typeof this.options.onClick === 'function') {\n this.options.onClick(event)\n } else {\n this.jsf.updateValue(this, event.target.value)\n }\n }\n\n private _initDropdown(): void {\n if (!hasOwn(this.layoutNode, 'items') || !(this.layoutNode.items || []).length) {\n return\n }\n\n if (isDevMode()) {\n if (this.layoutNode.items.length > 1) {\n console.warn(\n `TheSeamSchemaFormSubmitSplitComponent only supports one item.` +\n ` items after index 0 will be ignored.`\n )\n }\n }\n\n const idx = 0\n const item = this.layoutNode.items[idx]\n this._dropdownObj = {\n layoutNode: item,\n layoutIndex: (this.layoutIndex || []).concat(idx),\n dataIndex: this.layoutNode?.dataType === 'array' ? (this.dataIndex || []).concat(idx) : this.dataIndex,\n\n options: item.options || {}\n }\n\n this.jsf.initializeControl(this._dropdownObj)\n\n\n const items = buildTitleMap(\n this._dropdownObj.options.titleMap || this._dropdownObj.options.enumNames,\n this._dropdownObj.options.enum,\n !!this._dropdownObj.options.required,\n !!this._dropdownObj.options.flatList\n )\n\n this._selectList = items\n\n // TODO: Should this be checking if the control is bound?\n const dropdownControl = this._getDropdownControl()\n if (!dropdownControl) {\n return\n }\n\n observeControlValue(dropdownControl).pipe(\n takeUntil(this._ngUnsubscribe)\n ).subscribe(value => {\n this._setSelectListCheckedProp(value)\n this._selectedItem = this._getSelectedItem()\n })\n\n observeControlStatus(dropdownControl).pipe(\n takeUntil(this._ngUnsubscribe)\n ).subscribe(value => {\n this._dropdownDisabled = dropdownControl.disabled\n })\n }\n\n private _getDropdownControl(): FormControl | undefined {\n return this._dropdownObj.formControl as FormControl\n }\n\n private _setSelectListCheckedProp(value: any) {\n const items = this._selectList\n for (const item of items) {\n if (item.value === value) {\n item.checked = true\n } else if (item.checked) {\n item.checked = false\n }\n }\n this._selectList = [ ...items ]\n }\n\n private _getSelectedItem(): TheSeamSchemaFormSubmitSplitItem | undefined {\n return (this._selectList || []).find(x => x.checked === true)\n }\n\n _setDropdownValue(value: any) {\n const formControl = this._getDropdownControl()\n formControl?.setValue(value)\n }\n\n}\n","import { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'seam-schema-form-framework',\n templateUrl: './schema-form-framework.component.html',\n styleUrls: ['./schema-form-framework.component.scss']\n})\nexport class TheSeamSchemaFormFrameworkComponent {\n\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n}\n","import { Injectable } from '@angular/core'\n\nimport { Framework } from '@ajsf/core'\n\nimport { TheSeamSchemaFormCheckboxComponent } from '../schema-form-controls/schema-form-checkbox/schema-form-checkbox.component'\nimport { TheSeamSchemaFormInputComponent } from '../schema-form-controls/schema-form-input/schema-form-input.component'\nimport { TheSeamSchemaFormNumberComponent } from '../schema-form-controls/schema-form-number/schema-form-number.component'\nimport { TheSeamSchemaFormSelectComponent } from '../schema-form-controls/schema-form-select/schema-form-select.component'\nimport { TheSeamSchemaFormSubmitSplitComponent } from '../schema-form-controls/schema-form-submit-split/schema-form-submit-split.component'\nimport { TheSeamSchemaFormSubmitComponent } from '../schema-form-controls/schema-form-submit/schema-form-submit.component'\n\nimport { TheSeamSchemaFormFrameworkComponent } from './schema-form-framework.component'\n\n@Injectable()\nexport class TheSeamFramework extends Framework {\n name = 'seam-framework'\n\n framework = TheSeamSchemaFormFrameworkComponent\n\n widgets = {\n 'checkbox': TheSeamSchemaFormCheckboxComponent,\n // 'submit': TheSeamSchemaFormSubmitComponent,\n 'submit': TheSeamSchemaFormSubmitSplitComponent,\n 'text': TheSeamSchemaFormInputComponent,\n 'number': TheSeamSchemaFormNumberComponent,\n 'select': TheSeamSchemaFormSelectComponent\n }\n}\n","import { Component, Input, OnInit } from '@angular/core'\nimport { AbstractControl } from '@angular/forms'\n\nimport { hasOwn, JsonSchemaFormService } from '@ajsf/core'\n\n@Component({\n selector: 'seam-schema-form-submit',\n templateUrl: './schema-form-submit.component.html',\n styles: []\n})\nexport class TheSeamSchemaFormSubmitComponent implements OnInit {\n\n formControl?: AbstractControl\n controlName?: string\n controlValue: any\n controlDisabled = false\n boundControl = false\n options: any\n\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n constructor(\n private jsf: JsonSchemaFormService\n ) { }\n\n ngOnInit() {\n this.options = this.layoutNode.options || {}\n this.jsf.initializeControl(this)\n if (hasOwn(this.options, 'disabled')) {\n this.controlDisabled = this.options.disabled\n } else if (this.jsf.formOptions.disableInvalidSubmit) {\n this.controlDisabled = !this.jsf.isValid\n this.jsf.isValidChanges.subscribe(isValid => this.controlDisabled = !isValid)\n }\n if (this.controlValue === null || this.controlValue === undefined) {\n this.controlValue = this.options.title\n }\n }\n\n updateValue(event: any) {\n if (typeof this.options.onClick === 'function') {\n this.options.onClick(event)\n } else {\n this.jsf.updateValue(this, event.target.value)\n }\n }\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { JsonSchemaFormModule } from '@ajsf/core'\nimport { NgSelectModule } from '@ng-select/ng-select'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamCheckboxModule } from '@theseam/ui-common/checkbox'\nimport { TheSeamFormFieldModule } from '@theseam/ui-common/form-field'\nimport { TheSeamMenuModule } from '@theseam/ui-common/menu'\n\nimport { TheSeamSchemaFormCheckboxComponent } from './schema-form-checkbox/schema-form-checkbox.component'\nimport { TheSeamSchemaFormInputComponent } from './schema-form-input/schema-form-input.component'\nimport { TheSeamSchemaFormNumberComponent } from './schema-form-number/schema-form-number.component'\nimport { TheSeamSchemaFormSelectComponent } from './schema-form-select/schema-form-select.component'\nimport { TheSeamSchemaFormSubmitSplitComponent } from './schema-form-submit-split/schema-form-submit-split.component'\nimport { TheSeamSchemaFormSubmitComponent } from './schema-form-submit/schema-form-submit.component'\n\nconst controls = [\n TheSeamSchemaFormCheckboxComponent,\n TheSeamSchemaFormSubmitComponent,\n TheSeamSchemaFormSelectComponent,\n TheSeamSchemaFormInputComponent,\n TheSeamSchemaFormNumberComponent,\n TheSeamSchemaFormSubmitSplitComponent\n]\n\n@NgModule({\n declarations: [\n ...controls\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n JsonSchemaFormModule,\n TheSeamFormFieldModule,\n TheSeamCheckboxModule,\n TheSeamMenuModule,\n TheSeamButtonsModule,\n NgSelectModule\n ],\n exports: [\n ...controls,\n JsonSchemaFormModule\n ],\n entryComponents: [\n ...controls\n ]\n})\nexport class TheSeamSchemaFormControlsModule { }\n","import { CommonModule } from '@angular/common'\nimport { Directive, NgModule } from '@angular/core'\n\nimport {\n Framework,\n FrameworkLibraryService,\n JsonSchemaFormModule,\n JsonSchemaFormService,\n WidgetLibraryModule, WidgetLibraryService\n} from '@ajsf/core'\n\nimport { TheSeamSchemaFormControlsModule } from '../schema-form-controls/schema-form-controls.module'\nimport { TheSeamFramework } from './schema-form-framework'\nimport { TheSeamSchemaFormFrameworkComponent } from './schema-form-framework.component'\n\n@NgModule({\n declarations: [\n TheSeamSchemaFormFrameworkComponent\n ],\n imports: [\n CommonModule,\n JsonSchemaFormModule,\n TheSeamSchemaFormControlsModule,\n WidgetLibraryModule,\n ],\n providers: [\n JsonSchemaFormService,\n FrameworkLibraryService,\n WidgetLibraryService,\n { provide: Framework, useClass: TheSeamFramework, multi: true }\n ],\n exports: [\n TheSeamSchemaFormFrameworkComponent,\n JsonSchemaFormModule\n ],\n entryComponents: [\n TheSeamSchemaFormFrameworkComponent\n ]\n})\nexport class TheSeamSchemaFormModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {TheSeamSchemaFormCheckboxComponent as ɵc} from './schema-form-controls/schema-form-checkbox/schema-form-checkbox.component';\nexport {TheSeamSchemaFormControlsModule as ɵb} from './schema-form-controls/schema-form-controls.module';\nexport {TheSeamSchemaFormInputComponent as ɵf} from './schema-form-controls/schema-form-input/schema-form-input.component';\nexport {TheSeamSchemaFormNumberComponent as ɵg} from './schema-form-controls/schema-form-number/schema-form-number.component';\nexport {TheSeamSchemaFormSelectComponent as ɵe} from './schema-form-controls/schema-form-select/schema-form-select.component';\nexport {TheSeamSchemaFormSubmitSplitComponent as ɵh} from './schema-form-controls/schema-form-submit-split/schema-form-submit-split.component';\nexport {TheSeamSchemaFormSubmitComponent as ɵd} from './schema-form-controls/schema-form-submit/schema-form-submit.component';\nexport {TheSeamSideNavService as ɵa} from './side-nav/side-nav.service';"],"names":["Directive","ElementRef","InjectionToken","Optional","Inject","HostBinding","Input","HostListener","forwardRef","faAngleDoubleRight","faAngleDoubleLeft","BehaviorSubject","TemplatePortal","isDevMode","isObservable","from","Component","ChangeDetectionStrategy","ViewEncapsulation","ViewContainerRef","TheSeamLayoutService","ContentChild","TemplateRef","NgModule","CommonModule","PortalModule","TheSeamScrollbarModule","TheSeamIconModule","TheSeamButtonsModule","ViewChild","Subject","of","startWith","switchMap","map","shareReplay","tap","mapTo","take","hasProperty","Injectable","combineLatest","auditTime","notNullOrUndefined","ComponentPortal","TheSeamDynamicComponentLoader","faLock","faUnlock","EventEmitter","debounceTime","takeUntil","coerceNumberProperty","coerceBooleanProperty","distinctUntilChanged","finalize","moveItemInArray","transferArrayItem","THESEAM_WIDGET_ACCESSOR","ChangeDetectorRef","ViewChildren","CdkDrag","Output","InputBoolean","BasePortalOutlet","ComponentFactoryResolver","DragDropModule","TheSeamSharedModule","defer","Observable","filter","NavigationEnd","Router","EXPANDED_STATE","COLLAPSED_STATE","trigger","transition","group","query","animateChild","state","style","animate","faAngleLeft","SkipSelf","Host","InputNumber","faBars","RouterModule","A11yModule","TheSeamLayoutModule","NgbTooltipModule","mixinDisabled","faAngleDown","faUserCircle","MenuComponent","Self","ContentChildren","TheSeamMenuModule","keyframes","router","NavigationStart","ActivatedRoute","JsonSchemaFormService","isArray","buildTitleMap","hasOwn","observeControlValue","observeControlStatus","Framework","ReactiveFormsModule","JsonSchemaFormModule","TheSeamFormFieldModule","TheSeamCheckboxModule","NgSelectModule","WidgetLibraryModule","FrameworkLibraryService","WidgetLibraryService"],"mappings":"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"}
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('graphql/language'), require('@angular/core'), require('@theseam/ui-common/utils'), require('graphql')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@theseam/ui-common/graphql', ['exports', 'graphql/language', '@angular/core', '@theseam/ui-common/utils', 'graphql'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.theseam = global.theseam || {}, global.theseam['ui-common'] = global.theseam['ui-common'] || {}, global.theseam['ui-common'].graphql = {}), global.language, global.ng.core, global.theseam['ui-common'].utils, global.graphql));
|
|
5
|
+
}(this, (function (exports, language, core, utils, graphql) { 'use strict';
|
|
6
|
+
|
|
7
|
+
function containsVariable(node, variableName) {
|
|
8
|
+
var found = false;
|
|
9
|
+
language.visit(node, {
|
|
10
|
+
Variable: function (variable) {
|
|
11
|
+
if (variableName === variable.name.value) {
|
|
12
|
+
found = true;
|
|
13
|
+
return language.BREAK;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
return found;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function gqlVar(varName) {
|
|
21
|
+
return { gqlVar: "$" + varName };
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function inlineVariable(query, variableName, variableValue) {
|
|
25
|
+
// return visit(query, {
|
|
26
|
+
// VariableDefinition(node) {
|
|
27
|
+
// if (variableName === node.variable.name.value) {
|
|
28
|
+
// console.log(node)
|
|
29
|
+
// // found = true
|
|
30
|
+
// console.log('insert', variableValue)
|
|
31
|
+
// // return BREAK
|
|
32
|
+
// // node.defaultValue = variableValue
|
|
33
|
+
// return {
|
|
34
|
+
// ...node,
|
|
35
|
+
// defaultValue: variableValue
|
|
36
|
+
// }
|
|
37
|
+
// }
|
|
38
|
+
// }
|
|
39
|
+
// })
|
|
40
|
+
// console.log('~inlineVariable', variableName, variableValue)
|
|
41
|
+
// TODO: Decide if this is a good solution.
|
|
42
|
+
if (utils.hasProperty(variableValue, 'value') && variableValue.value === 'undefined') {
|
|
43
|
+
if (core.isDevMode()) {
|
|
44
|
+
console.warn("Ignoring attempt to inline '" + variableName + "', because it is undefined.");
|
|
45
|
+
}
|
|
46
|
+
return graphql.visit(query, {
|
|
47
|
+
SelectionSet: function (selectionSetNode) {
|
|
48
|
+
return graphql.visit(selectionSetNode, {
|
|
49
|
+
Variable: function (variableNode) {
|
|
50
|
+
if (variableName === variableNode.name.value) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return graphql.visit(query, {
|
|
59
|
+
SelectionSet: function (selectionSetNode) {
|
|
60
|
+
return graphql.visit(selectionSetNode, {
|
|
61
|
+
Variable: function (variableNode) {
|
|
62
|
+
if (variableName === variableNode.name.value) {
|
|
63
|
+
return variableValue;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Based on Prettier's comment parsing.
|
|
72
|
+
//
|
|
73
|
+
// Source: https://github.com/prettier/prettier/blob/4e46f92b8648c7f25de62bfaf4368aa3f2e588d9/src/language-graphql/parser-graphql.js#L6
|
|
74
|
+
function parseComments(ast) {
|
|
75
|
+
var comments = [];
|
|
76
|
+
if (ast.loc === undefined) {
|
|
77
|
+
return comments;
|
|
78
|
+
}
|
|
79
|
+
var startToken = ast.loc.startToken;
|
|
80
|
+
var next = startToken.next;
|
|
81
|
+
while (next !== null && next.kind !== '<EOF>') {
|
|
82
|
+
if (next.kind === 'Comment') {
|
|
83
|
+
Object.assign(next, {
|
|
84
|
+
// The Comment token's column starts _after_ the `#`,
|
|
85
|
+
// but we need to make sure the node captures the `#`
|
|
86
|
+
column: next.column - 1
|
|
87
|
+
});
|
|
88
|
+
comments.push(next);
|
|
89
|
+
}
|
|
90
|
+
next = next.next;
|
|
91
|
+
}
|
|
92
|
+
return comments;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
var GQLDirection = /** @class */ (function () {
|
|
96
|
+
function GQLDirection(direction) {
|
|
97
|
+
this.direction = direction;
|
|
98
|
+
}
|
|
99
|
+
return GQLDirection;
|
|
100
|
+
}());
|
|
101
|
+
GQLDirection.ASC = new GQLDirection('ASC');
|
|
102
|
+
GQLDirection.DESC = new GQLDirection('DESC');
|
|
103
|
+
|
|
104
|
+
var HintsKind;
|
|
105
|
+
(function (HintsKind) {
|
|
106
|
+
HintsKind["OperationDefinition"] = "OperationDefinition";
|
|
107
|
+
HintsKind["Field"] = "Field";
|
|
108
|
+
HintsKind["VariableDefinition"] = "VariableDefinition";
|
|
109
|
+
HintsKind["Variable"] = "Variable";
|
|
110
|
+
HintsKind["Argument"] = "Argument";
|
|
111
|
+
})(HintsKind || (HintsKind = {}));
|
|
112
|
+
|
|
113
|
+
var DEFAULT_TO_REMOVE_ON_UNDEFINED = ['where', 'order'];
|
|
114
|
+
|
|
115
|
+
var GQLVariable = /** @class */ (function () {
|
|
116
|
+
function GQLVariable(name, type) {
|
|
117
|
+
this.name = name;
|
|
118
|
+
this.type = type;
|
|
119
|
+
}
|
|
120
|
+
return GQLVariable;
|
|
121
|
+
}());
|
|
122
|
+
|
|
123
|
+
var HINT_PREFIX_REGEX = /^\s*@gql-hint:.+/;
|
|
124
|
+
var HINT_NAMES_CAPTURE_REGEX = /^\s*@gql-hint:([a-zA-z-\d\s]+)$/;
|
|
125
|
+
/**
|
|
126
|
+
* If AST loc has startToken prop then return same AST else reparse with config
|
|
127
|
+
* to contain comments and loc at each node.
|
|
128
|
+
*/
|
|
129
|
+
function parseAst(ast) {
|
|
130
|
+
if (ast.loc === undefined) {
|
|
131
|
+
throw Error("Expected AST to have loc.");
|
|
132
|
+
}
|
|
133
|
+
if (ast.loc.startToken !== undefined) {
|
|
134
|
+
return ast;
|
|
135
|
+
}
|
|
136
|
+
return graphql.parse(ast.loc.source, {
|
|
137
|
+
allowLegacySDLImplementsInterfaces: false,
|
|
138
|
+
experimentalFragmentVariables: true,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
function isCommentToken(token) {
|
|
142
|
+
return token.kind === 'Comment';
|
|
143
|
+
}
|
|
144
|
+
function isHintToken(token) {
|
|
145
|
+
var _a, _b;
|
|
146
|
+
return isCommentToken(token) &&
|
|
147
|
+
(((_b = (_a = token.value) === null || _a === void 0 ? void 0 : _a.match(HINT_PREFIX_REGEX)) === null || _b === void 0 ? void 0 : _b.length) || 0) > 0 || false;
|
|
148
|
+
}
|
|
149
|
+
function isInlineComment(token) {
|
|
150
|
+
return isCommentToken(token) &&
|
|
151
|
+
token.prev !== null &&
|
|
152
|
+
token.prev.line === token.line;
|
|
153
|
+
}
|
|
154
|
+
function hintNamesFromHintToken(token) {
|
|
155
|
+
var _a;
|
|
156
|
+
var grp = (_a = token.value) === null || _a === void 0 ? void 0 : _a.match(HINT_NAMES_CAPTURE_REGEX);
|
|
157
|
+
if (grp === null || grp === undefined || grp.length === 0) {
|
|
158
|
+
return [];
|
|
159
|
+
}
|
|
160
|
+
return grp[1].split(' ').map(function (x) { return x.trim(); }).filter(function (x) { return x.length > 0; });
|
|
161
|
+
}
|
|
162
|
+
function getTokenAppliesTo(token) {
|
|
163
|
+
var _a;
|
|
164
|
+
if (isInlineComment(token)) {
|
|
165
|
+
return token.prev;
|
|
166
|
+
}
|
|
167
|
+
var t = token.next;
|
|
168
|
+
if ((t === null || t === void 0 ? void 0 : t.kind) === '$' && ((_a = t.next) === null || _a === void 0 ? void 0 : _a.kind) === 'Name') {
|
|
169
|
+
t = t.next;
|
|
170
|
+
}
|
|
171
|
+
return t;
|
|
172
|
+
}
|
|
173
|
+
function createHintsToken(token, node, kind) {
|
|
174
|
+
return {
|
|
175
|
+
node: node,
|
|
176
|
+
hints: hintNamesFromHintToken(token),
|
|
177
|
+
kind: kind
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
function getHintsToken(token, ast) {
|
|
181
|
+
console.log('getHintsToken', token);
|
|
182
|
+
var appliesTo = getTokenAppliesTo(token);
|
|
183
|
+
if (appliesTo === null) {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
var appliesToNode = null;
|
|
187
|
+
graphql.visit(ast, {
|
|
188
|
+
OperationDefinition: function (node) {
|
|
189
|
+
var _a;
|
|
190
|
+
if (((_a = node.loc) === null || _a === void 0 ? void 0 : _a.start) === appliesTo.start) {
|
|
191
|
+
appliesToNode = createHintsToken(token, node, HintsKind.OperationDefinition);
|
|
192
|
+
return graphql.BREAK;
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
VariableDefinition: function (node) {
|
|
196
|
+
var _a;
|
|
197
|
+
if (((_a = node.variable.name.loc) === null || _a === void 0 ? void 0 : _a.start) === appliesTo.start) {
|
|
198
|
+
appliesToNode = createHintsToken(token, node, HintsKind.VariableDefinition);
|
|
199
|
+
return graphql.BREAK;
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
Variable: function (node) {
|
|
203
|
+
var _a;
|
|
204
|
+
if (((_a = node.name.loc) === null || _a === void 0 ? void 0 : _a.start) === appliesTo.start) {
|
|
205
|
+
appliesToNode = createHintsToken(token, node, HintsKind.Variable);
|
|
206
|
+
return graphql.BREAK;
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
Argument: function (node) {
|
|
210
|
+
var _a;
|
|
211
|
+
if (((_a = node.name.loc) === null || _a === void 0 ? void 0 : _a.start) === appliesTo.start) {
|
|
212
|
+
appliesToNode = createHintsToken(token, node, HintsKind.Argument);
|
|
213
|
+
return graphql.BREAK;
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
Field: function (node) {
|
|
217
|
+
var _a;
|
|
218
|
+
if (((_a = node.name.loc) === null || _a === void 0 ? void 0 : _a.start) === appliesTo.start) {
|
|
219
|
+
appliesToNode = createHintsToken(token, node, HintsKind.Field);
|
|
220
|
+
return graphql.BREAK;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
return appliesToNode;
|
|
225
|
+
}
|
|
226
|
+
function parseHints(ast) {
|
|
227
|
+
var _ast = parseAst(ast);
|
|
228
|
+
console.log('_ast', _ast);
|
|
229
|
+
return parseComments(_ast)
|
|
230
|
+
.filter(isHintToken)
|
|
231
|
+
.map(function (r) { return getHintsToken(r, _ast); })
|
|
232
|
+
.filter(utils.notNullOrUndefined);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
function removeVariableDefinition(query, variableName) {
|
|
236
|
+
return graphql.visit(query, {
|
|
237
|
+
VariableDefinition: {
|
|
238
|
+
enter: function (variable) {
|
|
239
|
+
var name = variable.variable.name.value;
|
|
240
|
+
if (name === variableName) {
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
function removeVariableDefinitionsNotDefined(query, node, variables) {
|
|
249
|
+
return graphql.visit(query, {
|
|
250
|
+
OperationDefinition: function (opDef) {
|
|
251
|
+
if (opDef === node) {
|
|
252
|
+
return graphql.visit(opDef, {
|
|
253
|
+
VariableDefinition: function (varDef) {
|
|
254
|
+
var name = varDef.variable.name.value;
|
|
255
|
+
if (utils.isNullOrUndefined(variables[name])) {
|
|
256
|
+
return null;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
function removeVariable(query, variableName) {
|
|
266
|
+
return graphql.visit(query, {
|
|
267
|
+
VariableDefinition: {
|
|
268
|
+
enter: function (variable) {
|
|
269
|
+
var name = variable.variable.name.value;
|
|
270
|
+
if (name === variableName) {
|
|
271
|
+
return null;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
Argument: {
|
|
276
|
+
enter: function (variable) {
|
|
277
|
+
var name = variable.name.value;
|
|
278
|
+
if (name === variableName) {
|
|
279
|
+
return null;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
// Naive initial implementation. This is intended for dynamic values, such as
|
|
287
|
+
// sorting and filtering. If you are defining a schema, use the gql template
|
|
288
|
+
// function from 'apollo-angular'.
|
|
289
|
+
//
|
|
290
|
+
// TODO: Try to find a maintained library that will handle this. Ideally a
|
|
291
|
+
// type-safe one, but that is becoming surprisingly harder to find than I
|
|
292
|
+
// expected for GraphQL.
|
|
293
|
+
function toGQL(json) {
|
|
294
|
+
var props = Object.keys(json).map(function (prop) {
|
|
295
|
+
var value = json[prop];
|
|
296
|
+
var resultValue;
|
|
297
|
+
if (typeof value === 'string') {
|
|
298
|
+
resultValue = "\"" + value + "\"";
|
|
299
|
+
}
|
|
300
|
+
else if (value instanceof GQLDirection) {
|
|
301
|
+
resultValue = "" + value.direction;
|
|
302
|
+
}
|
|
303
|
+
else if (Array.isArray(value)) {
|
|
304
|
+
resultValue = "[" + value.map(function (v) { return toGQL(v); }).join(',') + "]";
|
|
305
|
+
}
|
|
306
|
+
else if (typeof value === 'object') {
|
|
307
|
+
if (value.hasOwnProperty('gqlVar')) {
|
|
308
|
+
resultValue = "" + value.gqlVar;
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
resultValue = toGQL(value);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
resultValue = "" + value;
|
|
316
|
+
}
|
|
317
|
+
if (typeof resultValue !== 'string') {
|
|
318
|
+
throw Error("Unexpected value.");
|
|
319
|
+
}
|
|
320
|
+
return prop + ": " + resultValue;
|
|
321
|
+
});
|
|
322
|
+
return "{" + props.join(', ') + "}";
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
function hintsTokensContainingHint(hintsTokens, hint) {
|
|
326
|
+
return hintsTokens.filter(function (r) { return r.hints.indexOf(hint) !== -1; });
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Generated bundle index. Do not edit.
|
|
331
|
+
*/
|
|
332
|
+
|
|
333
|
+
exports.HINT_NAMES_CAPTURE_REGEX = HINT_NAMES_CAPTURE_REGEX;
|
|
334
|
+
exports.HINT_PREFIX_REGEX = HINT_PREFIX_REGEX;
|
|
335
|
+
exports.containsVariable = containsVariable;
|
|
336
|
+
exports.createHintsToken = createHintsToken;
|
|
337
|
+
exports.getHintsToken = getHintsToken;
|
|
338
|
+
exports.getTokenAppliesTo = getTokenAppliesTo;
|
|
339
|
+
exports.gqlVar = gqlVar;
|
|
340
|
+
exports.hintNamesFromHintToken = hintNamesFromHintToken;
|
|
341
|
+
exports.hintsTokensContainingHint = hintsTokensContainingHint;
|
|
342
|
+
exports.inlineVariable = inlineVariable;
|
|
343
|
+
exports.isCommentToken = isCommentToken;
|
|
344
|
+
exports.isHintToken = isHintToken;
|
|
345
|
+
exports.isInlineComment = isInlineComment;
|
|
346
|
+
exports.parseAst = parseAst;
|
|
347
|
+
exports.parseComments = parseComments;
|
|
348
|
+
exports.parseHints = parseHints;
|
|
349
|
+
exports.removeVariable = removeVariable;
|
|
350
|
+
exports.removeVariableDefinition = removeVariableDefinition;
|
|
351
|
+
exports.removeVariableDefinitionsNotDefined = removeVariableDefinitionsNotDefined;
|
|
352
|
+
exports.toGQL = toGQL;
|
|
353
|
+
|
|
354
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
355
|
+
|
|
356
|
+
})));
|
|
357
|
+
//# sourceMappingURL=theseam-ui-common-graphql.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-graphql.umd.js","sources":["../../../projects/ui-common/graphql/utils/contains-variable.ts","../../../projects/ui-common/graphql/utils/gql-var.ts","../../../projects/ui-common/graphql/utils/inline-variables.ts","../../../projects/ui-common/graphql/utils/parse-comments.ts","../../../projects/ui-common/graphql/models/direction.ts","../../../projects/ui-common/graphql/models/hints-kind.ts","../../../projects/ui-common/graphql/models/query-processing-config.ts","../../../projects/ui-common/graphql/models/variable.ts","../../../projects/ui-common/graphql/utils/parse-hints.ts","../../../projects/ui-common/graphql/utils/remove-variable-definition.ts","../../../projects/ui-common/graphql/utils/remove-variable-definitions-not-defined.ts","../../../projects/ui-common/graphql/utils/remove-variable.ts","../../../projects/ui-common/graphql/utils/to-gql.ts","../../../projects/ui-common/graphql/utils/hints-tokens-containing-hint.ts","../../../projects/ui-common/graphql/theseam-ui-common-graphql.ts"],"sourcesContent":["import { BREAK, DocumentNode, ValueNode, visit } from 'graphql/language'\n\nexport function containsVariable(node: DocumentNode | ValueNode, variableName: string) {\n let found = false\n\n visit(node, {\n Variable(variable) {\n if (variableName === variable.name.value) {\n found = true\n return BREAK\n }\n }\n })\n\n return found\n}\n","\nexport function gqlVar(varName: string): { gqlVar: string } {\n return { gqlVar: `$${varName}` }\n}\n","import { isDevMode } from '@angular/core'\n\nimport { hasProperty } from '@theseam/ui-common/utils'\nimport { BREAK, DocumentNode, ValueNode, visit } from 'graphql'\n\nexport function inlineVariable(query: DocumentNode, variableName: string, variableValue: ValueNode): DocumentNode {\n // return visit(query, {\n // VariableDefinition(node) {\n // if (variableName === node.variable.name.value) {\n // console.log(node)\n // // found = true\n // console.log('insert', variableValue)\n // // return BREAK\n\n // // node.defaultValue = variableValue\n // return {\n // ...node,\n // defaultValue: variableValue\n // }\n // }\n // }\n // })\n\n\n // console.log('~inlineVariable', variableName, variableValue)\n\n // TODO: Decide if this is a good solution.\n if (hasProperty(variableValue as any, 'value') && (variableValue as any).value === 'undefined') {\n if (isDevMode()) {\n console.warn(`Ignoring attempt to inline '${variableName}', because it is undefined.`)\n }\n return visit(query, {\n SelectionSet(selectionSetNode) {\n return visit(selectionSetNode, {\n Variable(variableNode) {\n if (variableName === variableNode.name.value) {\n return null\n }\n }\n })\n }\n })\n }\n\n\n return visit(query, {\n SelectionSet(selectionSetNode) {\n return visit(selectionSetNode, {\n Variable(variableNode) {\n if (variableName === variableNode.name.value) {\n return variableValue\n }\n }\n })\n }\n })\n}\n","import { DocumentNode, Token } from 'graphql/language'\n\n// Based on Prettier's comment parsing.\n//\n// Source: https://github.com/prettier/prettier/blob/4e46f92b8648c7f25de62bfaf4368aa3f2e588d9/src/language-graphql/parser-graphql.js#L6\nexport function parseComments(ast: DocumentNode): Token[] {\n const comments: Token[] = []\n\n if (ast.loc === undefined) {\n return comments\n }\n\n const startToken = ast.loc.startToken\n let next = startToken.next\n while (next !== null && next.kind !== '<EOF>') {\n if (next.kind === 'Comment') {\n Object.assign(next, {\n // The Comment token's column starts _after_ the `#`,\n // but we need to make sure the node captures the `#`\n column: next.column - 1\n })\n comments.push(next)\n }\n next = next.next\n }\n\n return comments\n}\n","export class GQLDirection {\n constructor(public readonly direction: string) { }\n public static readonly ASC = new GQLDirection('ASC')\n public static readonly DESC = new GQLDirection('DESC')\n}\n","export enum HintsKind {\n OperationDefinition = 'OperationDefinition',\n Field = 'Field',\n VariableDefinition = 'VariableDefinition',\n Variable = 'Variable',\n Argument = 'Argument'\n}\n","export const DEFAULT_TO_REMOVE_ON_UNDEFINED = [ 'where', 'order' ]\n\nexport interface QueryProcessingVariablesConfig {\n removeIfNotDefined?: string[]\n removeIfNotUsed?: string[]\n inline?: string[]\n}\n\nexport interface QueryProcessingConfig {\n variables: QueryProcessingVariablesConfig\n}\n","export class GQLVariable {\n constructor(\n public readonly name: string,\n public readonly type: string\n ) {}\n}\n","import {\n ArgumentNode,\n BREAK,\n DocumentNode,\n FieldNode,\n OperationDefinitionNode,\n parse,\n Token,\n VariableDefinitionNode,\n VariableNode,\n visit\n} from 'graphql'\n\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { HintsKind, HintsToken } from '../models'\nimport { parseComments } from './parse-comments'\n\nexport const HINT_PREFIX_REGEX = /^\\s*@gql-hint:.+/\nexport const HINT_NAMES_CAPTURE_REGEX = /^\\s*@gql-hint:([a-zA-z-\\d\\s]+)$/\n\n/**\n * If AST loc has startToken prop then return same AST else reparse with config\n * to contain comments and loc at each node.\n */\nexport function parseAst(ast: DocumentNode): DocumentNode {\n if (ast.loc === undefined) {\n throw Error(`Expected AST to have loc.`)\n }\n\n if (ast.loc.startToken !== undefined) {\n return ast\n }\n\n return parse(ast.loc.source, {\n allowLegacySDLImplementsInterfaces: false,\n experimentalFragmentVariables: true,\n })\n}\n\nexport function isCommentToken(token: Token): boolean {\n return token.kind === 'Comment'\n}\n\nexport function isHintToken(token: Token): boolean {\n return isCommentToken(token) &&\n (token.value?.match(HINT_PREFIX_REGEX)?.length || 0) > 0 || false\n}\n\nexport function isInlineComment(token: Token): boolean {\n return isCommentToken(token) &&\n token.prev !== null &&\n token.prev.line === token.line\n}\n\nexport function hintNamesFromHintToken(token: Token): string[] {\n const grp = token.value?.match(HINT_NAMES_CAPTURE_REGEX)\n if (grp === null || grp === undefined || grp.length === 0) {\n return []\n }\n return grp[1].split(' ').map(x => x.trim()).filter(x => x.length > 0)\n}\n\nexport function getTokenAppliesTo(token: Token): Token | null {\n if (isInlineComment(token)) {\n return token.prev\n }\n\n let t = token.next\n if (t?.kind === '$' && t.next?.kind === 'Name') {\n t = t.next\n }\n return t\n}\n\nexport function createHintsToken(token: Token, node: HintsToken['node'], kind: HintsKind): HintsToken {\n return {\n node,\n hints: hintNamesFromHintToken(token),\n kind\n }\n}\n\nexport function getHintsToken(token: Token, ast: DocumentNode): HintsToken | null {\n console.log('getHintsToken', token)\n const appliesTo = getTokenAppliesTo(token)\n if (appliesTo === null) {\n return null\n }\n\n let appliesToNode: HintsToken | null = null\n visit(ast, {\n OperationDefinition(node: OperationDefinitionNode) {\n if (node.loc?.start === appliesTo.start) {\n appliesToNode = createHintsToken(token, node, HintsKind.OperationDefinition)\n return BREAK\n }\n },\n VariableDefinition(node: VariableDefinitionNode) {\n if (node.variable.name.loc?.start === appliesTo.start) {\n appliesToNode = createHintsToken(token, node, HintsKind.VariableDefinition)\n return BREAK\n }\n },\n Variable(node: VariableNode) {\n if (node.name.loc?.start === appliesTo.start) {\n appliesToNode = createHintsToken(token, node, HintsKind.Variable)\n return BREAK\n }\n },\n Argument(node: ArgumentNode) {\n if (node.name.loc?.start === appliesTo.start) {\n appliesToNode = createHintsToken(token, node, HintsKind.Argument)\n return BREAK\n }\n },\n Field(node: FieldNode) {\n if (node.name.loc?.start === appliesTo.start) {\n appliesToNode = createHintsToken(token, node, HintsKind.Field)\n return BREAK\n }\n }\n })\n return appliesToNode\n}\n\nexport function parseHints(ast: DocumentNode): HintsToken[] {\n const _ast = parseAst(ast)\n console.log('_ast', _ast)\n return parseComments(_ast)\n .filter(isHintToken)\n .map(r => getHintsToken(r, _ast))\n .filter(notNullOrUndefined)\n}\n","import { DocumentNode, visit } from 'graphql'\n\nexport function removeVariableDefinition(query: DocumentNode, variableName: string): DocumentNode {\n return visit(query, {\n VariableDefinition: {\n enter(variable) {\n const name = variable.variable.name.value\n if (name === variableName) {\n return null\n }\n }\n }\n })\n}\n","import { Operation } from '@apollo/client'\nimport { DocumentNode, OperationDefinitionNode, visit } from 'graphql'\n\nimport { isNullOrUndefined } from '@theseam/ui-common/utils'\n\nexport function removeVariableDefinitionsNotDefined(\n query: DocumentNode,\n node: OperationDefinitionNode,\n variables: Operation['variables']\n) {\n return visit(query, {\n OperationDefinition(opDef) {\n if (opDef === node) {\n return visit(opDef, {\n VariableDefinition(varDef) {\n const name = varDef.variable.name.value\n if (isNullOrUndefined(variables[name])) {\n return null\n }\n }\n })\n }\n }\n })\n}\n","import { DocumentNode, visit } from 'graphql'\n\nexport function removeVariable(query: DocumentNode, variableName: string): DocumentNode {\n return visit(query, {\n VariableDefinition: {\n enter(variable) {\n const name = variable.variable.name.value\n if (name === variableName) {\n return null\n }\n }\n },\n Argument: {\n enter(variable) {\n const name = variable.name.value\n if (name === variableName) {\n return null\n }\n }\n }\n })\n}\n","import { GQLDirection } from '../models'\n\n// Naive initial implementation. This is intended for dynamic values, such as\n// sorting and filtering. If you are defining a schema, use the gql template\n// function from 'apollo-angular'.\n//\n// TODO: Try to find a maintained library that will handle this. Ideally a\n// type-safe one, but that is becoming surprisingly harder to find than I\n// expected for GraphQL.\nexport function toGQL(json: any): string {\n const props: string[] = Object.keys(json).map(prop => {\n const value = json[prop]\n let resultValue: string | undefined\n if (typeof value === 'string') {\n resultValue = `\\\"${value}\\\"`\n } else if (value instanceof GQLDirection) {\n resultValue = `${value.direction}`\n } else if (Array.isArray(value)) {\n resultValue = `[${value.map(v => toGQL(v)).join(',')}]`\n } else if (typeof value === 'object') {\n if (value.hasOwnProperty('gqlVar')) {\n resultValue = `${value.gqlVar}`\n } else {\n resultValue = toGQL(value)\n }\n } else {\n resultValue = `${value}`\n }\n if (typeof resultValue !== 'string') {\n throw Error(`Unexpected value.`)\n }\n return `${prop}: ${resultValue}`\n })\n return `{${props.join(', ')}}`\n}\n","import { HintsToken } from '../models'\n\nexport function hintsTokensContainingHint(hintsTokens: HintsToken[], hint: string): HintsToken[] {\n return hintsTokens.filter(r => r.hints.indexOf(hint) !== -1)\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["visit","BREAK","hasProperty","isDevMode","parse","notNullOrUndefined","isNullOrUndefined"],"mappings":";;;;;;aAEgB,gBAAgB,CAAC,IAA8B,EAAE,YAAoB;QACnF,IAAI,KAAK,GAAG,KAAK,CAAA;QAEjBA,cAAK,CAAC,IAAI,EAAE;YACV,QAAQ,YAAC,QAAQ;gBACf,IAAI,YAAY,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;oBACxC,KAAK,GAAG,IAAI,CAAA;oBACZ,OAAOC,cAAK,CAAA;iBACb;aACF;SACF,CAAC,CAAA;QAEF,OAAO,KAAK,CAAA;IACd;;aCdgB,MAAM,CAAC,OAAe;QACpC,OAAO,EAAE,MAAM,EAAE,MAAI,OAAS,EAAE,CAAA;IAClC;;aCEgB,cAAc,CAAC,KAAmB,EAAE,YAAoB,EAAE,aAAwB;;;;;;;;;;;;;;;;;;QAsBhG,IAAIC,iBAAW,CAAC,aAAoB,EAAE,OAAO,CAAC,IAAK,aAAqB,CAAC,KAAK,KAAK,WAAW,EAAE;YAC9F,IAAIC,cAAS,EAAE,EAAE;gBACf,OAAO,CAAC,IAAI,CAAC,iCAA+B,YAAY,gCAA6B,CAAC,CAAA;aACvF;YACD,OAAOH,aAAK,CAAC,KAAK,EAAE;gBAClB,YAAY,YAAC,gBAAgB;oBAC3B,OAAOA,aAAK,CAAC,gBAAgB,EAAE;wBAC7B,QAAQ,YAAC,YAAY;4BACnB,IAAI,YAAY,KAAK,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE;gCAC5C,OAAO,IAAI,CAAA;6BACZ;yBACF;qBACF,CAAC,CAAA;iBACH;aACF,CAAC,CAAA;SACH;QAGD,OAAOA,aAAK,CAAC,KAAK,EAAE;YAClB,YAAY,YAAC,gBAAgB;gBAC3B,OAAOA,aAAK,CAAC,gBAAgB,EAAE;oBAC7B,QAAQ,YAAC,YAAY;wBACnB,IAAI,YAAY,KAAK,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE;4BAC5C,OAAO,aAAa,CAAA;yBACrB;qBACF;iBACF,CAAC,CAAA;aACH;SACF,CAAC,CAAA;IACJ;;ICtDA;IACA;IACA;aACgB,aAAa,CAAC,GAAiB;QAC7C,IAAM,QAAQ,GAAY,EAAE,CAAA;QAE5B,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE;YACzB,OAAO,QAAQ,CAAA;SAChB;QAED,IAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAA;QACrC,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QAC1B,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YAC7C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;;;oBAGlB,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;iBACxB,CAAC,CAAA;gBACF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aACpB;YACD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;SACjB;QAED,OAAO,QAAQ,CAAA;IACjB;;IC3BA;QACE,sBAA4B,SAAiB;YAAjB,cAAS,GAAT,SAAS,CAAQ;SAAK;;;IAC3B,gBAAG,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAA;IAC7B,iBAAI,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC;;ICHxD,IAAY,SAMX;IAND,WAAY,SAAS;QACnB,wDAA2C,CAAA;QAC3C,4BAAe,CAAA;QACf,sDAAyC,CAAA;QACzC,kCAAqB,CAAA;QACrB,kCAAqB,CAAA;IACvB,CAAC,EANW,SAAS,KAAT,SAAS;;ICAd,IAAM,8BAA8B,GAAG,CAAE,OAAO,EAAE,OAAO,CAAE;;ICAlE;QACE,qBACkB,IAAY,EACZ,IAAY;YADZ,SAAI,GAAJ,IAAI,CAAQ;YACZ,SAAI,GAAJ,IAAI,CAAQ;SAC1B;0BACL;KAAA;;QCaY,iBAAiB,GAAG,mBAAkB;QACtC,wBAAwB,GAAG,kCAAiC;IAEzE;;;;aAIgB,QAAQ,CAAC,GAAiB;QACxC,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE;YACzB,MAAM,KAAK,CAAC,2BAA2B,CAAC,CAAA;SACzC;QAED,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE;YACpC,OAAO,GAAG,CAAA;SACX;QAED,OAAOI,aAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE;YAC3B,kCAAkC,EAAE,KAAK;YACzC,6BAA6B,EAAE,IAAI;SACpC,CAAC,CAAA;IACJ,CAAC;aAEe,cAAc,CAAC,KAAY;QACzC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAA;IACjC,CAAC;aAEe,WAAW,CAAC,KAAY;;QACtC,OAAO,cAAc,CAAC,KAAK,CAAC;YAC1B,CAAC,CAAA,MAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,KAAK,CAAC,iBAAiB,CAAC,0CAAE,MAAM,KAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAA;IACrE,CAAC;aAEe,eAAe,CAAC,KAAY;QAC1C,OAAO,cAAc,CAAC,KAAK,CAAC;YAC1B,KAAK,CAAC,IAAI,KAAK,IAAI;YACnB,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAA;IAClC,CAAC;aAEe,sBAAsB,CAAC,KAAY;;QACjD,IAAM,GAAG,GAAG,MAAA,KAAK,CAAC,KAAK,0CAAE,KAAK,CAAC,wBAAwB,CAAC,CAAA;QACxD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YACzD,OAAO,EAAE,CAAA;SACV;QACD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,EAAE,GAAA,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,MAAM,GAAG,CAAC,GAAA,CAAC,CAAA;IACvE,CAAC;aAEe,iBAAiB,CAAC,KAAY;;QAC5C,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC,IAAI,CAAA;SAClB;QAED,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;QAClB,IAAI,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,MAAK,GAAG,IAAI,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,IAAI,MAAK,MAAM,EAAE;YAC9C,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;SACX;QACD,OAAO,CAAC,CAAA;IACV,CAAC;aAEe,gBAAgB,CAAC,KAAY,EAAE,IAAwB,EAAE,IAAe;QACtF,OAAO;YACL,IAAI,MAAA;YACJ,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC;YACpC,IAAI,MAAA;SACL,CAAA;IACH,CAAC;aAEe,aAAa,CAAC,KAAY,EAAE,GAAiB;QAC3D,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;QACnC,IAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAC1C,IAAI,SAAS,KAAK,IAAI,EAAE;YACtB,OAAO,IAAI,CAAA;SACZ;QAED,IAAI,aAAa,GAAsB,IAAI,CAAA;QAC3CJ,aAAK,CAAC,GAAG,EAAE;YACT,mBAAmB,YAAC,IAA6B;;gBAC/C,IAAI,CAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,KAAK,MAAK,SAAS,CAAC,KAAK,EAAE;oBACvC,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAA;oBAC5E,OAAOC,aAAK,CAAA;iBACb;aACF;YACD,kBAAkB,YAAC,IAA4B;;gBAC7C,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,0CAAE,KAAK,MAAK,SAAS,CAAC,KAAK,EAAE;oBACrD,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAA;oBAC3E,OAAOA,aAAK,CAAA;iBACb;aACF;YACD,QAAQ,YAAC,IAAkB;;gBACzB,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,KAAK,MAAK,SAAS,CAAC,KAAK,EAAE;oBAC5C,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;oBACjE,OAAOA,aAAK,CAAA;iBACb;aACF;YACD,QAAQ,YAAC,IAAkB;;gBACzB,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,KAAK,MAAK,SAAS,CAAC,KAAK,EAAE;oBAC5C,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;oBACjE,OAAOA,aAAK,CAAA;iBACb;aACF;YACD,KAAK,YAAC,IAAe;;gBACnB,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,KAAK,MAAK,SAAS,CAAC,KAAK,EAAE;oBAC5C,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;oBAC9D,OAAOA,aAAK,CAAA;iBACb;aACF;SACF,CAAC,CAAA;QACF,OAAO,aAAa,CAAA;IACtB,CAAC;aAEe,UAAU,CAAC,GAAiB;QAC1C,IAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACzB,OAAO,aAAa,CAAC,IAAI,CAAC;aACvB,MAAM,CAAC,WAAW,CAAC;aACnB,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,GAAA,CAAC;aAChC,MAAM,CAACI,wBAAkB,CAAC,CAAA;IAC/B;;aCnIgB,wBAAwB,CAAC,KAAmB,EAAE,YAAoB;QAChF,OAAOL,aAAK,CAAC,KAAK,EAAE;YAClB,kBAAkB,EAAE;gBAClB,KAAK,YAAC,QAAQ;oBACZ,IAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAA;oBACzC,IAAI,IAAI,KAAK,YAAY,EAAE;wBACzB,OAAO,IAAI,CAAA;qBACZ;iBACF;aACF;SACF,CAAC,CAAA;IACJ;;aCRgB,mCAAmC,CACjD,KAAmB,EACnB,IAA6B,EAC7B,SAAiC;QAEjC,OAAOA,aAAK,CAAC,KAAK,EAAE;YAClB,mBAAmB,YAAC,KAAK;gBACvB,IAAI,KAAK,KAAK,IAAI,EAAE;oBAClB,OAAOA,aAAK,CAAC,KAAK,EAAE;wBAClB,kBAAkB,YAAC,MAAM;4BACvB,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAA;4BACvC,IAAIM,uBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;gCACtC,OAAO,IAAI,CAAA;6BACZ;yBACF;qBACF,CAAC,CAAA;iBACH;aACF;SACF,CAAC,CAAA;IACJ;;aCtBgB,cAAc,CAAC,KAAmB,EAAE,YAAoB;QACtE,OAAON,aAAK,CAAC,KAAK,EAAE;YAClB,kBAAkB,EAAE;gBAClB,KAAK,YAAC,QAAQ;oBACZ,IAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAA;oBACzC,IAAI,IAAI,KAAK,YAAY,EAAE;wBACzB,OAAO,IAAI,CAAA;qBACZ;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,KAAK,YAAC,QAAQ;oBACZ,IAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAA;oBAChC,IAAI,IAAI,KAAK,YAAY,EAAE;wBACzB,OAAO,IAAI,CAAA;qBACZ;iBACF;aACF;SACF,CAAC,CAAA;IACJ;;ICnBA;IACA;IACA;IACA;IACA;IACA;IACA;aACgB,KAAK,CAAC,IAAS;QAC7B,IAAM,KAAK,GAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAA,IAAI;YAChD,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;YACxB,IAAI,WAA+B,CAAA;YACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,WAAW,GAAG,OAAK,KAAK,OAAI,CAAA;aAC7B;iBAAM,IAAI,KAAK,YAAY,YAAY,EAAE;gBACxC,WAAW,GAAG,KAAG,KAAK,CAAC,SAAW,CAAA;aACnC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC/B,WAAW,GAAG,MAAI,KAAK,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAG,CAAA;aACxD;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACpC,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;oBAClC,WAAW,GAAG,KAAG,KAAK,CAAC,MAAQ,CAAA;iBAChC;qBAAM;oBACL,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;iBAC3B;aACF;iBAAM;gBACL,WAAW,GAAG,KAAG,KAAO,CAAA;aACzB;YACD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;gBACnC,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAA;aACjC;YACD,OAAU,IAAI,UAAK,WAAa,CAAA;SACjC,CAAC,CAAA;QACF,OAAO,MAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAA;IAChC;;aChCgB,yBAAyB,CAAC,WAAyB,EAAE,IAAY;QAC/E,OAAO,WAAW,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAA,CAAC,CAAA;IAC9D;;ICJA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,890 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@fortawesome/angular-fontawesome'), require('@theseam/ui-common/core'), require('@angular/animations'), require('@fortawesome/free-solid-svg-icons'), require('@angular/cdk/coercion'), require('@fortawesome/free-regular-svg-icons')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@theseam/ui-common/icon', ['exports', '@angular/common', '@angular/core', '@fortawesome/angular-fontawesome', '@theseam/ui-common/core', '@angular/animations', '@fortawesome/free-solid-svg-icons', '@angular/cdk/coercion', '@fortawesome/free-regular-svg-icons'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.theseam = global.theseam || {}, global.theseam['ui-common'] = global.theseam['ui-common'] || {}, global.theseam['ui-common'].icon = {}), global.ng.common, global.ng.core, global.angularFontawesome, global.theseam['ui-common'].core, global.ng.animations, global.freeSolidSvgIcons, global.ng.cdk.coercion, global.freeRegularSvgIcons));
|
|
5
|
+
}(this, (function (exports, common, core, angularFontawesome, core$1, animations, freeSolidSvgIcons, coercion, freeRegularSvgIcons) { 'use strict';
|
|
6
|
+
|
|
7
|
+
/*! *****************************************************************************
|
|
8
|
+
Copyright (c) Microsoft Corporation.
|
|
9
|
+
|
|
10
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
11
|
+
purpose with or without fee is hereby granted.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
14
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
15
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
16
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
17
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
18
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
19
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
20
|
+
***************************************************************************** */
|
|
21
|
+
/* global Reflect, Promise */
|
|
22
|
+
var extendStatics = function (d, b) {
|
|
23
|
+
extendStatics = Object.setPrototypeOf ||
|
|
24
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
25
|
+
function (d, b) { for (var p in b)
|
|
26
|
+
if (Object.prototype.hasOwnProperty.call(b, p))
|
|
27
|
+
d[p] = b[p]; };
|
|
28
|
+
return extendStatics(d, b);
|
|
29
|
+
};
|
|
30
|
+
function __extends(d, b) {
|
|
31
|
+
if (typeof b !== "function" && b !== null)
|
|
32
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
33
|
+
extendStatics(d, b);
|
|
34
|
+
function __() { this.constructor = d; }
|
|
35
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
36
|
+
}
|
|
37
|
+
var __assign = function () {
|
|
38
|
+
__assign = Object.assign || function __assign(t) {
|
|
39
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
40
|
+
s = arguments[i];
|
|
41
|
+
for (var p in s)
|
|
42
|
+
if (Object.prototype.hasOwnProperty.call(s, p))
|
|
43
|
+
t[p] = s[p];
|
|
44
|
+
}
|
|
45
|
+
return t;
|
|
46
|
+
};
|
|
47
|
+
return __assign.apply(this, arguments);
|
|
48
|
+
};
|
|
49
|
+
function __rest(s, e) {
|
|
50
|
+
var t = {};
|
|
51
|
+
for (var p in s)
|
|
52
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
53
|
+
t[p] = s[p];
|
|
54
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
55
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
56
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
57
|
+
t[p[i]] = s[p[i]];
|
|
58
|
+
}
|
|
59
|
+
return t;
|
|
60
|
+
}
|
|
61
|
+
function __decorate(decorators, target, key, desc) {
|
|
62
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
63
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
64
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
65
|
+
else
|
|
66
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
67
|
+
if (d = decorators[i])
|
|
68
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
69
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
70
|
+
}
|
|
71
|
+
function __param(paramIndex, decorator) {
|
|
72
|
+
return function (target, key) { decorator(target, key, paramIndex); };
|
|
73
|
+
}
|
|
74
|
+
function __metadata(metadataKey, metadataValue) {
|
|
75
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
76
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
77
|
+
}
|
|
78
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
79
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
80
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
81
|
+
function fulfilled(value) { try {
|
|
82
|
+
step(generator.next(value));
|
|
83
|
+
}
|
|
84
|
+
catch (e) {
|
|
85
|
+
reject(e);
|
|
86
|
+
} }
|
|
87
|
+
function rejected(value) { try {
|
|
88
|
+
step(generator["throw"](value));
|
|
89
|
+
}
|
|
90
|
+
catch (e) {
|
|
91
|
+
reject(e);
|
|
92
|
+
} }
|
|
93
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
94
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
function __generator(thisArg, body) {
|
|
98
|
+
var _ = { label: 0, sent: function () { if (t[0] & 1)
|
|
99
|
+
throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
100
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
|
|
101
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
102
|
+
function step(op) {
|
|
103
|
+
if (f)
|
|
104
|
+
throw new TypeError("Generator is already executing.");
|
|
105
|
+
while (_)
|
|
106
|
+
try {
|
|
107
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
|
|
108
|
+
return t;
|
|
109
|
+
if (y = 0, t)
|
|
110
|
+
op = [op[0] & 2, t.value];
|
|
111
|
+
switch (op[0]) {
|
|
112
|
+
case 0:
|
|
113
|
+
case 1:
|
|
114
|
+
t = op;
|
|
115
|
+
break;
|
|
116
|
+
case 4:
|
|
117
|
+
_.label++;
|
|
118
|
+
return { value: op[1], done: false };
|
|
119
|
+
case 5:
|
|
120
|
+
_.label++;
|
|
121
|
+
y = op[1];
|
|
122
|
+
op = [0];
|
|
123
|
+
continue;
|
|
124
|
+
case 7:
|
|
125
|
+
op = _.ops.pop();
|
|
126
|
+
_.trys.pop();
|
|
127
|
+
continue;
|
|
128
|
+
default:
|
|
129
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
130
|
+
_ = 0;
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
|
|
134
|
+
_.label = op[1];
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
138
|
+
_.label = t[1];
|
|
139
|
+
t = op;
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
if (t && _.label < t[2]) {
|
|
143
|
+
_.label = t[2];
|
|
144
|
+
_.ops.push(op);
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
if (t[2])
|
|
148
|
+
_.ops.pop();
|
|
149
|
+
_.trys.pop();
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
op = body.call(thisArg, _);
|
|
153
|
+
}
|
|
154
|
+
catch (e) {
|
|
155
|
+
op = [6, e];
|
|
156
|
+
y = 0;
|
|
157
|
+
}
|
|
158
|
+
finally {
|
|
159
|
+
f = t = 0;
|
|
160
|
+
}
|
|
161
|
+
if (op[0] & 5)
|
|
162
|
+
throw op[1];
|
|
163
|
+
return { value: op[0] ? op[1] : void 0, done: true };
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
var __createBinding = Object.create ? (function (o, m, k, k2) {
|
|
167
|
+
if (k2 === undefined)
|
|
168
|
+
k2 = k;
|
|
169
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
|
|
170
|
+
}) : (function (o, m, k, k2) {
|
|
171
|
+
if (k2 === undefined)
|
|
172
|
+
k2 = k;
|
|
173
|
+
o[k2] = m[k];
|
|
174
|
+
});
|
|
175
|
+
function __exportStar(m, o) {
|
|
176
|
+
for (var p in m)
|
|
177
|
+
if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
|
|
178
|
+
__createBinding(o, m, p);
|
|
179
|
+
}
|
|
180
|
+
function __values(o) {
|
|
181
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
182
|
+
if (m)
|
|
183
|
+
return m.call(o);
|
|
184
|
+
if (o && typeof o.length === "number")
|
|
185
|
+
return {
|
|
186
|
+
next: function () {
|
|
187
|
+
if (o && i >= o.length)
|
|
188
|
+
o = void 0;
|
|
189
|
+
return { value: o && o[i++], done: !o };
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
193
|
+
}
|
|
194
|
+
function __read(o, n) {
|
|
195
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
196
|
+
if (!m)
|
|
197
|
+
return o;
|
|
198
|
+
var i = m.call(o), r, ar = [], e;
|
|
199
|
+
try {
|
|
200
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
|
|
201
|
+
ar.push(r.value);
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
e = { error: error };
|
|
205
|
+
}
|
|
206
|
+
finally {
|
|
207
|
+
try {
|
|
208
|
+
if (r && !r.done && (m = i["return"]))
|
|
209
|
+
m.call(i);
|
|
210
|
+
}
|
|
211
|
+
finally {
|
|
212
|
+
if (e)
|
|
213
|
+
throw e.error;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return ar;
|
|
217
|
+
}
|
|
218
|
+
/** @deprecated */
|
|
219
|
+
function __spread() {
|
|
220
|
+
for (var ar = [], i = 0; i < arguments.length; i++)
|
|
221
|
+
ar = ar.concat(__read(arguments[i]));
|
|
222
|
+
return ar;
|
|
223
|
+
}
|
|
224
|
+
/** @deprecated */
|
|
225
|
+
function __spreadArrays() {
|
|
226
|
+
for (var s = 0, i = 0, il = arguments.length; i < il; i++)
|
|
227
|
+
s += arguments[i].length;
|
|
228
|
+
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
229
|
+
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
|
230
|
+
r[k] = a[j];
|
|
231
|
+
return r;
|
|
232
|
+
}
|
|
233
|
+
function __spreadArray(to, from, pack) {
|
|
234
|
+
if (pack || arguments.length === 2)
|
|
235
|
+
for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
236
|
+
if (ar || !(i in from)) {
|
|
237
|
+
if (!ar)
|
|
238
|
+
ar = Array.prototype.slice.call(from, 0, i);
|
|
239
|
+
ar[i] = from[i];
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return to.concat(ar || from);
|
|
243
|
+
}
|
|
244
|
+
function __await(v) {
|
|
245
|
+
return this instanceof __await ? (this.v = v, this) : new __await(v);
|
|
246
|
+
}
|
|
247
|
+
function __asyncGenerator(thisArg, _arguments, generator) {
|
|
248
|
+
if (!Symbol.asyncIterator)
|
|
249
|
+
throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
250
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
251
|
+
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
252
|
+
function verb(n) { if (g[n])
|
|
253
|
+
i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
|
254
|
+
function resume(n, v) { try {
|
|
255
|
+
step(g[n](v));
|
|
256
|
+
}
|
|
257
|
+
catch (e) {
|
|
258
|
+
settle(q[0][3], e);
|
|
259
|
+
} }
|
|
260
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
261
|
+
function fulfill(value) { resume("next", value); }
|
|
262
|
+
function reject(value) { resume("throw", value); }
|
|
263
|
+
function settle(f, v) { if (f(v), q.shift(), q.length)
|
|
264
|
+
resume(q[0][0], q[0][1]); }
|
|
265
|
+
}
|
|
266
|
+
function __asyncDelegator(o) {
|
|
267
|
+
var i, p;
|
|
268
|
+
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
|
269
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
|
|
270
|
+
}
|
|
271
|
+
function __asyncValues(o) {
|
|
272
|
+
if (!Symbol.asyncIterator)
|
|
273
|
+
throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
274
|
+
var m = o[Symbol.asyncIterator], i;
|
|
275
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
276
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
277
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
|
|
278
|
+
}
|
|
279
|
+
function __makeTemplateObject(cooked, raw) {
|
|
280
|
+
if (Object.defineProperty) {
|
|
281
|
+
Object.defineProperty(cooked, "raw", { value: raw });
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
cooked.raw = raw;
|
|
285
|
+
}
|
|
286
|
+
return cooked;
|
|
287
|
+
}
|
|
288
|
+
;
|
|
289
|
+
var __setModuleDefault = Object.create ? (function (o, v) {
|
|
290
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
291
|
+
}) : function (o, v) {
|
|
292
|
+
o["default"] = v;
|
|
293
|
+
};
|
|
294
|
+
function __importStar(mod) {
|
|
295
|
+
if (mod && mod.__esModule)
|
|
296
|
+
return mod;
|
|
297
|
+
var result = {};
|
|
298
|
+
if (mod != null)
|
|
299
|
+
for (var k in mod)
|
|
300
|
+
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
|
|
301
|
+
__createBinding(result, mod, k);
|
|
302
|
+
__setModuleDefault(result, mod);
|
|
303
|
+
return result;
|
|
304
|
+
}
|
|
305
|
+
function __importDefault(mod) {
|
|
306
|
+
return (mod && mod.__esModule) ? mod : { default: mod };
|
|
307
|
+
}
|
|
308
|
+
function __classPrivateFieldGet(receiver, state, kind, f) {
|
|
309
|
+
if (kind === "a" && !f)
|
|
310
|
+
throw new TypeError("Private accessor was defined without a getter");
|
|
311
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
312
|
+
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
313
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
314
|
+
}
|
|
315
|
+
function __classPrivateFieldSet(receiver, state, value, kind, f) {
|
|
316
|
+
if (kind === "m")
|
|
317
|
+
throw new TypeError("Private method is not writable");
|
|
318
|
+
if (kind === "a" && !f)
|
|
319
|
+
throw new TypeError("Private accessor was defined without a setter");
|
|
320
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
321
|
+
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
322
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
var IconBtnComponent = /** @class */ (function () {
|
|
326
|
+
function IconBtnComponent(_elementRef, _renderer) {
|
|
327
|
+
this._elementRef = _elementRef;
|
|
328
|
+
this._renderer = _renderer;
|
|
329
|
+
/** Toggles whether the img/icon will attempt to be grayscale when disabled is true. */
|
|
330
|
+
this.grayscaleOnDisable = true;
|
|
331
|
+
/** Toggles the img/icon to grayscale if `grayscaleOnDisable` is true. */
|
|
332
|
+
this.disabled = false;
|
|
333
|
+
/**
|
|
334
|
+
* Toggles whether an image that has thrown the `onerror` event should show
|
|
335
|
+
* the `defaultIcon` instead.
|
|
336
|
+
*/
|
|
337
|
+
this.showDefaultOnError = false;
|
|
338
|
+
/**
|
|
339
|
+
* Shown if icon is not set or if showDefaultOnError is true and img has thrown an error.
|
|
340
|
+
*
|
|
341
|
+
* NOTE: Not supported for icon-btn yet.
|
|
342
|
+
*/
|
|
343
|
+
// @Input() defaultIcon: SeamIcon
|
|
344
|
+
this.iconType = 'image-fill';
|
|
345
|
+
this._cssPadding0 = true;
|
|
346
|
+
this._btn = true;
|
|
347
|
+
this._textNoWrap = true;
|
|
348
|
+
this.btnTheme = 'default';
|
|
349
|
+
this.badgeTheme = 'light';
|
|
350
|
+
this.badgeText = '';
|
|
351
|
+
}
|
|
352
|
+
Object.defineProperty(IconBtnComponent.prototype, "_btnDefault", {
|
|
353
|
+
get: function () { return this.isBtnTheme('default'); },
|
|
354
|
+
enumerable: false,
|
|
355
|
+
configurable: true
|
|
356
|
+
});
|
|
357
|
+
Object.defineProperty(IconBtnComponent.prototype, "_btnPrimary", {
|
|
358
|
+
get: function () { return this.isBtnTheme('primary'); },
|
|
359
|
+
enumerable: false,
|
|
360
|
+
configurable: true
|
|
361
|
+
});
|
|
362
|
+
Object.defineProperty(IconBtnComponent.prototype, "_btnSecondary", {
|
|
363
|
+
get: function () { return this.isBtnTheme('secondary'); },
|
|
364
|
+
enumerable: false,
|
|
365
|
+
configurable: true
|
|
366
|
+
});
|
|
367
|
+
Object.defineProperty(IconBtnComponent.prototype, "_btnSuccess", {
|
|
368
|
+
get: function () { return this.isBtnTheme('success'); },
|
|
369
|
+
enumerable: false,
|
|
370
|
+
configurable: true
|
|
371
|
+
});
|
|
372
|
+
Object.defineProperty(IconBtnComponent.prototype, "_btnDanger", {
|
|
373
|
+
get: function () { return this.isBtnTheme('danger'); },
|
|
374
|
+
enumerable: false,
|
|
375
|
+
configurable: true
|
|
376
|
+
});
|
|
377
|
+
Object.defineProperty(IconBtnComponent.prototype, "_btnWarning", {
|
|
378
|
+
get: function () { return this.isBtnTheme('warning'); },
|
|
379
|
+
enumerable: false,
|
|
380
|
+
configurable: true
|
|
381
|
+
});
|
|
382
|
+
Object.defineProperty(IconBtnComponent.prototype, "_btnInfo", {
|
|
383
|
+
get: function () { return this.isBtnTheme('info'); },
|
|
384
|
+
enumerable: false,
|
|
385
|
+
configurable: true
|
|
386
|
+
});
|
|
387
|
+
Object.defineProperty(IconBtnComponent.prototype, "_btnLight", {
|
|
388
|
+
get: function () { return this.isBtnTheme('light'); },
|
|
389
|
+
enumerable: false,
|
|
390
|
+
configurable: true
|
|
391
|
+
});
|
|
392
|
+
Object.defineProperty(IconBtnComponent.prototype, "_btnDark", {
|
|
393
|
+
get: function () { return this.isBtnTheme('dark'); },
|
|
394
|
+
enumerable: false,
|
|
395
|
+
configurable: true
|
|
396
|
+
});
|
|
397
|
+
Object.defineProperty(IconBtnComponent.prototype, "_btnLightGray", {
|
|
398
|
+
get: function () { return this.isBtnTheme('lightgray'); },
|
|
399
|
+
enumerable: false,
|
|
400
|
+
configurable: true
|
|
401
|
+
});
|
|
402
|
+
Object.defineProperty(IconBtnComponent.prototype, "_btnSizeSm", {
|
|
403
|
+
get: function () { return this.btnSize === 'sm'; },
|
|
404
|
+
enumerable: false,
|
|
405
|
+
configurable: true
|
|
406
|
+
});
|
|
407
|
+
Object.defineProperty(IconBtnComponent.prototype, "_btnSizeLg", {
|
|
408
|
+
get: function () { return this.btnSize === 'lg'; },
|
|
409
|
+
enumerable: false,
|
|
410
|
+
configurable: true
|
|
411
|
+
});
|
|
412
|
+
Object.defineProperty(IconBtnComponent.prototype, "type", {
|
|
413
|
+
get: function () { return this._type; },
|
|
414
|
+
set: function (value) {
|
|
415
|
+
this._type = value;
|
|
416
|
+
},
|
|
417
|
+
enumerable: false,
|
|
418
|
+
configurable: true
|
|
419
|
+
});
|
|
420
|
+
Object.defineProperty(IconBtnComponent.prototype, "role", {
|
|
421
|
+
get: function () { return this._role; },
|
|
422
|
+
set: function (value) {
|
|
423
|
+
this._role = value;
|
|
424
|
+
},
|
|
425
|
+
enumerable: false,
|
|
426
|
+
configurable: true
|
|
427
|
+
});
|
|
428
|
+
IconBtnComponent.prototype.ngOnInit = function () { };
|
|
429
|
+
IconBtnComponent.prototype.ngDoCheck = function () {
|
|
430
|
+
if (this._isButton()) {
|
|
431
|
+
this._renderer.setAttribute(this._elementRef.nativeElement, 'type', this._type || 'button');
|
|
432
|
+
}
|
|
433
|
+
else if (this._isAnchor()) {
|
|
434
|
+
this._renderer.setAttribute(this._elementRef.nativeElement, 'role', this._role || 'button');
|
|
435
|
+
}
|
|
436
|
+
};
|
|
437
|
+
IconBtnComponent.prototype.isBtnTheme = function (type) {
|
|
438
|
+
return this.btnTheme === type;
|
|
439
|
+
};
|
|
440
|
+
IconBtnComponent.prototype._isButton = function () {
|
|
441
|
+
return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button';
|
|
442
|
+
};
|
|
443
|
+
IconBtnComponent.prototype._isAnchor = function () {
|
|
444
|
+
return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button';
|
|
445
|
+
};
|
|
446
|
+
return IconBtnComponent;
|
|
447
|
+
}());
|
|
448
|
+
IconBtnComponent.decorators = [
|
|
449
|
+
{ type: core.Component, args: [{
|
|
450
|
+
// tslint:disable-next-line:component-selector
|
|
451
|
+
selector: 'button[seamIconBtn]',
|
|
452
|
+
template: "\n <seam-icon *ngIf=\"icon\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\"\n [iconClass]=\"iconClass\"\n [icon]=\"icon\"\n [size]=\"size\"\n [showDefaultOnError]=\"showDefaultOnError\"\n [iconType]=\"iconType\">\n </seam-icon>\n <ng-content select=\".sr-only,seam-icon-notification\"></ng-content>\n ",
|
|
453
|
+
// tslint:disable-next-line:use-host-property-decorator
|
|
454
|
+
host: {
|
|
455
|
+
'[attr.aria-disabled]': 'disabled.toString()',
|
|
456
|
+
'[attr.disabled]': 'disabled || null',
|
|
457
|
+
}
|
|
458
|
+
},] }
|
|
459
|
+
];
|
|
460
|
+
IconBtnComponent.ctorParameters = function () { return [
|
|
461
|
+
{ type: core.ElementRef },
|
|
462
|
+
{ type: core.Renderer2 }
|
|
463
|
+
]; };
|
|
464
|
+
IconBtnComponent.propDecorators = {
|
|
465
|
+
grayscaleOnDisable: [{ type: core.Input }],
|
|
466
|
+
disabled: [{ type: core.Input }],
|
|
467
|
+
iconClass: [{ type: core.Input }],
|
|
468
|
+
icon: [{ type: core.Input }],
|
|
469
|
+
size: [{ type: core.Input }],
|
|
470
|
+
showDefaultOnError: [{ type: core.Input }],
|
|
471
|
+
iconType: [{ type: core.Input }],
|
|
472
|
+
_cssPadding0: [{ type: core.HostBinding, args: ['class.p-0',] }],
|
|
473
|
+
_btn: [{ type: core.HostBinding, args: ['class.btn',] }],
|
|
474
|
+
_textNoWrap: [{ type: core.HostBinding, args: ['class.text-nowrap',] }],
|
|
475
|
+
_btnDefault: [{ type: core.HostBinding, args: ['class.btn-default',] }],
|
|
476
|
+
_btnPrimary: [{ type: core.HostBinding, args: ['class.btn-primary',] }],
|
|
477
|
+
_btnSecondary: [{ type: core.HostBinding, args: ['class.btn-secondary',] }],
|
|
478
|
+
_btnSuccess: [{ type: core.HostBinding, args: ['class.btn-success',] }],
|
|
479
|
+
_btnDanger: [{ type: core.HostBinding, args: ['class.btn-danger',] }],
|
|
480
|
+
_btnWarning: [{ type: core.HostBinding, args: ['class.btn-warning',] }],
|
|
481
|
+
_btnInfo: [{ type: core.HostBinding, args: ['class.btn-info',] }],
|
|
482
|
+
_btnLight: [{ type: core.HostBinding, args: ['class.btn-light',] }],
|
|
483
|
+
_btnDark: [{ type: core.HostBinding, args: ['class.btn-dark',] }],
|
|
484
|
+
_btnLightGray: [{ type: core.HostBinding, args: ['class.btn-lightgray',] }],
|
|
485
|
+
_btnSizeSm: [{ type: core.HostBinding, args: ['class.btn-sm',] }],
|
|
486
|
+
_btnSizeLg: [{ type: core.HostBinding, args: ['class.btn-lg',] }],
|
|
487
|
+
btnTheme: [{ type: core.Input }],
|
|
488
|
+
badgeTheme: [{ type: core.Input }],
|
|
489
|
+
badgeText: [{ type: core.Input }],
|
|
490
|
+
btnSize: [{ type: core.Input }],
|
|
491
|
+
type: [{ type: core.Input }],
|
|
492
|
+
role: [{ type: core.Input }]
|
|
493
|
+
};
|
|
494
|
+
__decorate([
|
|
495
|
+
core$1.InputBoolean()
|
|
496
|
+
], IconBtnComponent.prototype, "grayscaleOnDisable", void 0);
|
|
497
|
+
__decorate([
|
|
498
|
+
core$1.InputBoolean()
|
|
499
|
+
], IconBtnComponent.prototype, "disabled", void 0);
|
|
500
|
+
__decorate([
|
|
501
|
+
core$1.InputBoolean()
|
|
502
|
+
], IconBtnComponent.prototype, "showDefaultOnError", void 0);
|
|
503
|
+
|
|
504
|
+
var pulseAnimation = animations.animation([
|
|
505
|
+
animations.style({ transform: 'scale(1)' }),
|
|
506
|
+
animations.animate('{{ timings }}', animations.keyframes([
|
|
507
|
+
animations.style({ transform: 'scale(1)', offset: 0 }),
|
|
508
|
+
animations.style({ transform: 'scale({{ scale }})', offset: 0.5 }),
|
|
509
|
+
animations.style({ transform: 'scale(1)', offset: 1 })
|
|
510
|
+
]))
|
|
511
|
+
]);
|
|
512
|
+
var IconNotificationComponent = /** @class */ (function () {
|
|
513
|
+
function IconNotificationComponent(_elementRef) {
|
|
514
|
+
this._elementRef = _elementRef;
|
|
515
|
+
this.hidden = false;
|
|
516
|
+
/** Toggles whether the img/icon will attempt to be grayscale when disabled is true. */
|
|
517
|
+
this.grayscaleOnDisable = true;
|
|
518
|
+
/** Toggles the img/icon to grayscale if `grayscaleOnDisable` is true. */
|
|
519
|
+
this.disabled = false;
|
|
520
|
+
/**
|
|
521
|
+
* The icon to display.
|
|
522
|
+
*
|
|
523
|
+
* If the input icon is a string an `img` element will be used with icon as `src`.
|
|
524
|
+
* If the input is not a string it will be assumed to be a font-awesome IconProp object.
|
|
525
|
+
*/
|
|
526
|
+
this.icon = freeSolidSvgIcons.faCircle;
|
|
527
|
+
/**
|
|
528
|
+
* Toggles whether an image that has thrown the `onerror` event should show
|
|
529
|
+
* the `defaultIcon` instead.
|
|
530
|
+
*/
|
|
531
|
+
this.showDefaultOnError = false;
|
|
532
|
+
this.iconType = 'image-fill';
|
|
533
|
+
}
|
|
534
|
+
IconNotificationComponent.prototype.ngOnInit = function () {
|
|
535
|
+
if (this._elementRef && this._elementRef.nativeElement && this._elementRef.nativeElement.parentElement) {
|
|
536
|
+
this._elementRef.nativeElement.parentElement.style.position = 'relative';
|
|
537
|
+
}
|
|
538
|
+
};
|
|
539
|
+
return IconNotificationComponent;
|
|
540
|
+
}());
|
|
541
|
+
IconNotificationComponent.decorators = [
|
|
542
|
+
{ type: core.Component, args: [{
|
|
543
|
+
selector: 'seam-icon-notification',
|
|
544
|
+
template: "\n <seam-icon *ngIf=\"icon && !hidden\" [@counterChange]=\"count\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\"\n [iconClass]=\"iconClass\"\n [icon]=\"icon\"\n [size]=\"size\"\n [showDefaultOnError]=\"showDefaultOnError\"\n [iconType]=\"iconType\">\n </seam-icon>\n <ng-content select=\".sr-only\"></ng-content>\n ",
|
|
545
|
+
// tslint:disable-next-line:use-host-property-decorator
|
|
546
|
+
host: {
|
|
547
|
+
'[attr.aria-disabled]': 'disabled.toString()',
|
|
548
|
+
'[attr.disabled]': 'disabled || null',
|
|
549
|
+
},
|
|
550
|
+
animations: [
|
|
551
|
+
animations.trigger('counterChange', [
|
|
552
|
+
animations.transition(':increment', animations.useAnimation(pulseAnimation, {
|
|
553
|
+
params: {
|
|
554
|
+
timings: '400ms ease-in-out',
|
|
555
|
+
scale: 1.2
|
|
556
|
+
}
|
|
557
|
+
}))
|
|
558
|
+
])
|
|
559
|
+
],
|
|
560
|
+
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
561
|
+
styles: ["\n :host {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n }\n\n seam-icon {\n position: absolute;\n top: 4px;\n right: 4px;\n width: 25% !important;\n height: 25% !important;\n min-width: 15px;\n min-height: 15px;\n }\n "]
|
|
562
|
+
},] }
|
|
563
|
+
];
|
|
564
|
+
IconNotificationComponent.ctorParameters = function () { return [
|
|
565
|
+
{ type: core.ElementRef }
|
|
566
|
+
]; };
|
|
567
|
+
IconNotificationComponent.propDecorators = {
|
|
568
|
+
count: [{ type: core.Input }],
|
|
569
|
+
hidden: [{ type: core.Input }],
|
|
570
|
+
grayscaleOnDisable: [{ type: core.Input }],
|
|
571
|
+
disabled: [{ type: core.Input }],
|
|
572
|
+
iconClass: [{ type: core.Input }],
|
|
573
|
+
icon: [{ type: core.Input }],
|
|
574
|
+
showDefaultOnError: [{ type: core.Input }],
|
|
575
|
+
size: [{ type: core.Input }],
|
|
576
|
+
iconType: [{ type: core.Input }]
|
|
577
|
+
};
|
|
578
|
+
__decorate([
|
|
579
|
+
core$1.InputBoolean()
|
|
580
|
+
], IconNotificationComponent.prototype, "hidden", void 0);
|
|
581
|
+
__decorate([
|
|
582
|
+
core$1.InputBoolean()
|
|
583
|
+
], IconNotificationComponent.prototype, "grayscaleOnDisable", void 0);
|
|
584
|
+
__decorate([
|
|
585
|
+
core$1.InputBoolean()
|
|
586
|
+
], IconNotificationComponent.prototype, "disabled", void 0);
|
|
587
|
+
__decorate([
|
|
588
|
+
core$1.InputBoolean()
|
|
589
|
+
], IconNotificationComponent.prototype, "showDefaultOnError", void 0);
|
|
590
|
+
|
|
591
|
+
//
|
|
592
|
+
// TODO: Ensure all inputs correctly update the state whenever changed, not just
|
|
593
|
+
// on initial load.
|
|
594
|
+
//
|
|
595
|
+
// Browsers that do not support css grayscale filter.
|
|
596
|
+
var needToFix = /(MSIE 10)|(Trident.*rv:11\.0)|( Edge\/[\d\.]+$)/.test(navigator.userAgent);
|
|
597
|
+
var IconComponent = /** @class */ (function () {
|
|
598
|
+
function IconComponent() {
|
|
599
|
+
this.needToFix = needToFix;
|
|
600
|
+
/** Toggles whether the img/icon will attempt to be grayscale when disabled is true. */
|
|
601
|
+
this.grayscaleOnDisable = true;
|
|
602
|
+
/** Toggles the img/icon to grayscale if `grayscaleOnDisable` is true. */
|
|
603
|
+
this.disabled = false;
|
|
604
|
+
this._showDefaultOnError = false;
|
|
605
|
+
this._hasError = false;
|
|
606
|
+
}
|
|
607
|
+
Object.defineProperty(IconComponent.prototype, "icon", {
|
|
608
|
+
/**
|
|
609
|
+
* The icon to display.
|
|
610
|
+
*
|
|
611
|
+
* If the input icon is a string an `img` element will be used with icon as `src`.
|
|
612
|
+
* If the input is not a string it will be assumed to be a font-awesome IconProp object.
|
|
613
|
+
*/
|
|
614
|
+
get: function () { return this._iconUrl || this._iconObj; },
|
|
615
|
+
set: function (value) {
|
|
616
|
+
if (typeof value === 'string') {
|
|
617
|
+
this._iconUrl = value;
|
|
618
|
+
this._iconObj = undefined;
|
|
619
|
+
}
|
|
620
|
+
else {
|
|
621
|
+
this._iconUrl = undefined;
|
|
622
|
+
this._iconObj = value;
|
|
623
|
+
}
|
|
624
|
+
this._iconUrlBeforeError = undefined;
|
|
625
|
+
this._iconObjBeforeError = undefined;
|
|
626
|
+
if (!this._iconUrl && !this._iconObj) {
|
|
627
|
+
this._iconUrl = this._defaultIconUrl;
|
|
628
|
+
this._iconObj = this._defaultIconObj;
|
|
629
|
+
}
|
|
630
|
+
},
|
|
631
|
+
enumerable: false,
|
|
632
|
+
configurable: true
|
|
633
|
+
});
|
|
634
|
+
Object.defineProperty(IconComponent.prototype, "showDefaultOnError", {
|
|
635
|
+
/**
|
|
636
|
+
* Toggles whether an image that has thrown the `onerror` event should show
|
|
637
|
+
* the `defaultIcon` instead.
|
|
638
|
+
*/
|
|
639
|
+
get: function () { return this._showDefaultOnError; },
|
|
640
|
+
set: function (value) {
|
|
641
|
+
this._showDefaultOnError = coercion.coerceBooleanProperty(value);
|
|
642
|
+
if (this._hasError) {
|
|
643
|
+
if (this._iconUrlBeforeError || this._iconObjBeforeError) {
|
|
644
|
+
this._iconUrl = this._iconUrlBeforeError;
|
|
645
|
+
this._iconObj = this._iconObjBeforeError;
|
|
646
|
+
this._iconUrlBeforeError = undefined;
|
|
647
|
+
this._iconObjBeforeError = undefined;
|
|
648
|
+
}
|
|
649
|
+
else if (this._showDefaultOnError) {
|
|
650
|
+
this._iconUrl = this._defaultIconUrl;
|
|
651
|
+
this._iconObj = this._defaultIconObj;
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
},
|
|
655
|
+
enumerable: false,
|
|
656
|
+
configurable: true
|
|
657
|
+
});
|
|
658
|
+
Object.defineProperty(IconComponent.prototype, "defaultIcon", {
|
|
659
|
+
/**
|
|
660
|
+
* Shown if icon is not set or if showDefaultOnError is true and img has thrown an error.
|
|
661
|
+
*/
|
|
662
|
+
get: function () { return this._defaultIconUrl || this._defaultIconObj; },
|
|
663
|
+
set: function (value) {
|
|
664
|
+
if (typeof value === 'string') {
|
|
665
|
+
this._defaultIconUrl = value;
|
|
666
|
+
this._defaultIconObj = undefined;
|
|
667
|
+
}
|
|
668
|
+
else {
|
|
669
|
+
this._defaultIconUrl = undefined;
|
|
670
|
+
this._defaultIconObj = value;
|
|
671
|
+
}
|
|
672
|
+
if (!this._defaultIconUrl && !this._defaultIconObj) {
|
|
673
|
+
this._iconUrl = this._iconUrlBeforeError;
|
|
674
|
+
this._iconObj = this._iconObjBeforeError;
|
|
675
|
+
}
|
|
676
|
+
if (!this._iconUrl && !this._iconObj) {
|
|
677
|
+
this._iconUrl = this._defaultIconUrl;
|
|
678
|
+
this._iconObj = this._defaultIconObj;
|
|
679
|
+
}
|
|
680
|
+
},
|
|
681
|
+
enumerable: false,
|
|
682
|
+
configurable: true
|
|
683
|
+
});
|
|
684
|
+
Object.defineProperty(IconComponent.prototype, "_iconTypeAttr", {
|
|
685
|
+
get: function () { return this.iconType; },
|
|
686
|
+
enumerable: false,
|
|
687
|
+
configurable: true
|
|
688
|
+
});
|
|
689
|
+
IconComponent.prototype._imgError = function (event) {
|
|
690
|
+
this._hasError = true;
|
|
691
|
+
if (this._showDefaultOnError && (this._defaultIconUrl || this._defaultIconObj)) {
|
|
692
|
+
this._iconUrlBeforeError = this._iconUrl;
|
|
693
|
+
this._iconObjBeforeError = this._iconObj;
|
|
694
|
+
this._iconUrl = this._defaultIconUrl;
|
|
695
|
+
this._iconObj = this._defaultIconObj;
|
|
696
|
+
}
|
|
697
|
+
};
|
|
698
|
+
Object.defineProperty(IconComponent.prototype, "_cssDisabled", {
|
|
699
|
+
get: function () { return this.disabled || null; },
|
|
700
|
+
enumerable: false,
|
|
701
|
+
configurable: true
|
|
702
|
+
});
|
|
703
|
+
Object.defineProperty(IconComponent.prototype, "_cssNoGreyscale", {
|
|
704
|
+
get: function () { return !this.grayscaleOnDisable; },
|
|
705
|
+
enumerable: false,
|
|
706
|
+
configurable: true
|
|
707
|
+
});
|
|
708
|
+
return IconComponent;
|
|
709
|
+
}());
|
|
710
|
+
IconComponent.decorators = [
|
|
711
|
+
{ type: core.Component, args: [{
|
|
712
|
+
selector: 'seam-icon',
|
|
713
|
+
template: "<fa-icon *ngIf=\"_iconObj\"\n class=\"seam-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"\n [size]=\"size || undefined\">\n</fa-icon>\n\n<ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span class=\"grayscale-fix\" style=\"display: inline-block; position: relative;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" id=\"svgroot\" style=\"position: absolute; left: 0; right: 0;\" viewBox=\"0 0 48 48\" width=\"100%\" height=\"100%\">\n <defs><filter id=\"gray\"><feColorMatrix type=\"matrix\" values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\" /></filter></defs>\n <image filter=\"url("#gray")\" preserveAspectRatio=\"none meet\" x=\"0\" y=\"0\" width=\"48\" height=\"48\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\" />\n </svg>\n <img class=\"seam-icon--img {{ iconClass }}\" style=\"display: block; visibility: hidden;\" alt=\"Icon\" [src]=\"_iconUrl\" (error)=\"_imgError($event)\">\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img class=\"seam-icon--img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\" (error)=\"_imgError($event)\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img class=\"seam-icon--img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\" (error)=\"_imgError($event)\">\n </ng-container>\n</ng-container>\n\n<ng-content select=\".sr-only,seam-icon-notification\"></ng-content>\n",
|
|
714
|
+
styles: [":host{display:inline-block}:host.disabled:not(.no-grayscale),:host:disabled:not(.no-grayscale){filter:grayscale(1)}:host[icon-type=styled-square]{border:1px solid #dee2e6;border-radius:8px}:host[icon-type=borderless-styled-square],:host[icon-type=styled-square]{-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;min-width:39px;width:39px;min-height:39px;height:39px;padding:1px;align-items:center;display:inline-flex;vertical-align:top}:host[icon-type=borderless-styled-square] img,:host[icon-type=styled-square] img{max-width:100%;max-height:100%;margin:0 auto}:host[icon-type=borderless-styled-square] .seam-icon--fa,:host[icon-type=styled-square] .seam-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%;padding:2px}:host[icon-type=borderless-styled-square] .seam-icon--fa ::ng-deep .svg-inline--fa,:host[icon-type=styled-square] .seam-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}:host[icon-type=image-fill]{max-height:100%;max-width:100%;width:100%;height:100%}:host[icon-type=image-fill] img{max-width:100%;max-height:100%;margin:0 auto}:host[icon-type=image-fill] .seam-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%}:host[icon-type=image-fill] .seam-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}.grey-fix{visibility:hidden;display:block}"]
|
|
715
|
+
},] }
|
|
716
|
+
];
|
|
717
|
+
IconComponent.propDecorators = {
|
|
718
|
+
grayscaleOnDisable: [{ type: core.Input }],
|
|
719
|
+
disabled: [{ type: core.Input }],
|
|
720
|
+
iconClass: [{ type: core.Input }],
|
|
721
|
+
icon: [{ type: core.Input }],
|
|
722
|
+
size: [{ type: core.Input }],
|
|
723
|
+
showDefaultOnError: [{ type: core.Input }],
|
|
724
|
+
defaultIcon: [{ type: core.Input }],
|
|
725
|
+
iconType: [{ type: core.Input }],
|
|
726
|
+
_iconTypeAttr: [{ type: core.HostBinding, args: ['attr.icon-type',] }],
|
|
727
|
+
_cssDisabled: [{ type: core.HostBinding, args: ['class.disabled',] }],
|
|
728
|
+
_cssNoGreyscale: [{ type: core.HostBinding, args: ['class.no-grayscale',] }]
|
|
729
|
+
};
|
|
730
|
+
__decorate([
|
|
731
|
+
core$1.InputBoolean()
|
|
732
|
+
], IconComponent.prototype, "grayscaleOnDisable", void 0);
|
|
733
|
+
__decorate([
|
|
734
|
+
core$1.InputBoolean()
|
|
735
|
+
], IconComponent.prototype, "disabled", void 0);
|
|
736
|
+
|
|
737
|
+
var TheSeamIconModule = /** @class */ (function () {
|
|
738
|
+
function TheSeamIconModule() {
|
|
739
|
+
}
|
|
740
|
+
return TheSeamIconModule;
|
|
741
|
+
}());
|
|
742
|
+
TheSeamIconModule.decorators = [
|
|
743
|
+
{ type: core.NgModule, args: [{
|
|
744
|
+
declarations: [
|
|
745
|
+
IconComponent,
|
|
746
|
+
IconBtnComponent,
|
|
747
|
+
IconNotificationComponent
|
|
748
|
+
],
|
|
749
|
+
imports: [
|
|
750
|
+
common.CommonModule,
|
|
751
|
+
angularFontawesome.FontAwesomeModule
|
|
752
|
+
],
|
|
753
|
+
exports: [
|
|
754
|
+
IconComponent,
|
|
755
|
+
IconBtnComponent,
|
|
756
|
+
IconNotificationComponent
|
|
757
|
+
]
|
|
758
|
+
},] }
|
|
759
|
+
];
|
|
760
|
+
|
|
761
|
+
var FILE_EXTENSION_ICONS = {
|
|
762
|
+
'pdf': freeRegularSvgIcons.faFilePdf,
|
|
763
|
+
'doc': freeRegularSvgIcons.faFileWord,
|
|
764
|
+
'docx': freeRegularSvgIcons.faFileWord,
|
|
765
|
+
'xls': freeRegularSvgIcons.faFileExcel,
|
|
766
|
+
'xlsx': freeRegularSvgIcons.faFileExcel,
|
|
767
|
+
'gif': freeRegularSvgIcons.faFileImage,
|
|
768
|
+
'jpg': freeRegularSvgIcons.faFileImage,
|
|
769
|
+
'jpeg': freeRegularSvgIcons.faFileImage,
|
|
770
|
+
'png': freeRegularSvgIcons.faFileImage,
|
|
771
|
+
'zip': freeRegularSvgIcons.faFileArchive,
|
|
772
|
+
'ppt': freeRegularSvgIcons.faFilePowerpoint,
|
|
773
|
+
'pptx': freeRegularSvgIcons.faFilePowerpoint,
|
|
774
|
+
'txt': freeRegularSvgIcons.faFileAlt,
|
|
775
|
+
'json': freeRegularSvgIcons.faFileAlt
|
|
776
|
+
};
|
|
777
|
+
var DEFAULT_FILE_EXTENSION_ICON = freeRegularSvgIcons.faFile;
|
|
778
|
+
function fileExtensionIcon(extension, defaultIfNotFound) {
|
|
779
|
+
if (defaultIfNotFound === void 0) { defaultIfNotFound = true; }
|
|
780
|
+
if (!extension) {
|
|
781
|
+
return defaultIfNotFound ? DEFAULT_FILE_EXTENSION_ICON : undefined;
|
|
782
|
+
}
|
|
783
|
+
var ext = extension;
|
|
784
|
+
if (ext.charAt(0) === '.') {
|
|
785
|
+
ext = ext.substr(1);
|
|
786
|
+
}
|
|
787
|
+
var icon = FILE_EXTENSION_ICONS[ext];
|
|
788
|
+
if (!icon && defaultIfNotFound) {
|
|
789
|
+
return DEFAULT_FILE_EXTENSION_ICON;
|
|
790
|
+
}
|
|
791
|
+
return icon;
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
// TODO: Decide a good way to do this, so that we don't have to import full icon
|
|
795
|
+
// libraries, but still provide icon choices to use from a string. One way could
|
|
796
|
+
// be to define a dictionary of app icons that we can use that map a unique
|
|
797
|
+
// string to an icon definition.
|
|
798
|
+
var knownIcons = {
|
|
799
|
+
'faAddressCard': freeRegularSvgIcons.faAddressCard,
|
|
800
|
+
'faBan': freeSolidSvgIcons.faBan,
|
|
801
|
+
'faBell': freeRegularSvgIcons.faBell,
|
|
802
|
+
'faBookmark': freeRegularSvgIcons.faBookmark,
|
|
803
|
+
'faChartLine': freeSolidSvgIcons.faChartLine,
|
|
804
|
+
'faChartArea': freeSolidSvgIcons.faChartArea,
|
|
805
|
+
'faChartBar': freeSolidSvgIcons.faChartBar,
|
|
806
|
+
'faCheck': freeSolidSvgIcons.faCheck,
|
|
807
|
+
'faCheckCircle': freeRegularSvgIcons.faCheckCircle,
|
|
808
|
+
'faClock': freeRegularSvgIcons.faClock,
|
|
809
|
+
'faCloudUploadAlt': freeSolidSvgIcons.faCloudUploadAlt,
|
|
810
|
+
'faComment': freeRegularSvgIcons.faComment,
|
|
811
|
+
'faCog': freeSolidSvgIcons.faCog,
|
|
812
|
+
'faEdit': freeSolidSvgIcons.faEdit,
|
|
813
|
+
'faEnvelope': freeRegularSvgIcons.faEnvelope,
|
|
814
|
+
'faEnvelopeOpen': freeRegularSvgIcons.faEnvelopeOpen,
|
|
815
|
+
'faExclamation': freeSolidSvgIcons.faExclamation,
|
|
816
|
+
'faExclamationCircle': freeSolidSvgIcons.faExclamationCircle,
|
|
817
|
+
'faExclamationTriangle': freeSolidSvgIcons.faExclamationTriangle,
|
|
818
|
+
'faExternalLinkSquareAlt': freeSolidSvgIcons.faExternalLinkSquareAlt,
|
|
819
|
+
'faFile': freeRegularSvgIcons.faFile,
|
|
820
|
+
'faFileAlt': freeRegularSvgIcons.faFileAlt,
|
|
821
|
+
'faFileArchive': freeRegularSvgIcons.faFileArchive,
|
|
822
|
+
'faFileAudio': freeRegularSvgIcons.faFileAudio,
|
|
823
|
+
'faFileCode': freeRegularSvgIcons.faFileCode,
|
|
824
|
+
'faFileContract': freeSolidSvgIcons.faFileContract,
|
|
825
|
+
'faFileCsv': freeSolidSvgIcons.faFileCsv,
|
|
826
|
+
'faFileDownload': freeSolidSvgIcons.faFileDownload,
|
|
827
|
+
'faFileExcel': freeRegularSvgIcons.faFileExcel,
|
|
828
|
+
'faFileExport': freeSolidSvgIcons.faFileExport,
|
|
829
|
+
'faFileImage': freeRegularSvgIcons.faFileImage,
|
|
830
|
+
'faFileImport': freeSolidSvgIcons.faFileImport,
|
|
831
|
+
'faFileInvoice': freeSolidSvgIcons.faFileInvoice,
|
|
832
|
+
'faFileInvoiceDollar': freeSolidSvgIcons.faFileInvoiceDollar,
|
|
833
|
+
'faFileMedical': freeSolidSvgIcons.faFileMedical,
|
|
834
|
+
'faFileMedicalAlt': freeSolidSvgIcons.faFileMedicalAlt,
|
|
835
|
+
'faFilePdf': freeRegularSvgIcons.faFilePdf,
|
|
836
|
+
'faFilePowerpoint': freeRegularSvgIcons.faFilePowerpoint,
|
|
837
|
+
'faFilePrescription': freeSolidSvgIcons.faFilePrescription,
|
|
838
|
+
'faFileSignature': freeSolidSvgIcons.faFileSignature,
|
|
839
|
+
'faFileUpload': freeSolidSvgIcons.faFileUpload,
|
|
840
|
+
'faFileVideo': freeRegularSvgIcons.faFileVideo,
|
|
841
|
+
'faFileWord': freeRegularSvgIcons.faFileWord,
|
|
842
|
+
'faFolder': freeRegularSvgIcons.faFolder,
|
|
843
|
+
'faFolderOpen': freeRegularSvgIcons.faFolderOpen,
|
|
844
|
+
'faImage': freeRegularSvgIcons.faImage,
|
|
845
|
+
'faImages': freeRegularSvgIcons.faImages,
|
|
846
|
+
'faInbox': freeSolidSvgIcons.faInbox,
|
|
847
|
+
'faInfoCircle': freeSolidSvgIcons.faInfoCircle,
|
|
848
|
+
'faLock': freeSolidSvgIcons.faLock,
|
|
849
|
+
'faLockOpen': freeSolidSvgIcons.faLockOpen,
|
|
850
|
+
'faPrint': freeSolidSvgIcons.faPrint,
|
|
851
|
+
'faQuestionCircle': freeRegularSvgIcons.faQuestionCircle,
|
|
852
|
+
'faReceipt': freeSolidSvgIcons.faReceipt,
|
|
853
|
+
'faReply': freeSolidSvgIcons.faReply,
|
|
854
|
+
'faSave': freeRegularSvgIcons.faSave,
|
|
855
|
+
'faShare': freeSolidSvgIcons.faShare,
|
|
856
|
+
'faSignature': freeSolidSvgIcons.faSignature,
|
|
857
|
+
'faStickyNote': freeRegularSvgIcons.faStickyNote,
|
|
858
|
+
'faTimes': freeSolidSvgIcons.faTimes,
|
|
859
|
+
'faTimesCircle': freeRegularSvgIcons.faTimesCircle,
|
|
860
|
+
'faTrash': freeSolidSvgIcons.faTrash,
|
|
861
|
+
'faTrashAlt': freeRegularSvgIcons.faTrashAlt,
|
|
862
|
+
'faUser': freeRegularSvgIcons.faUser,
|
|
863
|
+
'faUserCheck': freeSolidSvgIcons.faUserCheck,
|
|
864
|
+
'faUserCircle': freeRegularSvgIcons.faUserCircle,
|
|
865
|
+
'faUserEdit': freeSolidSvgIcons.faUserEdit,
|
|
866
|
+
'faUserTimes': freeSolidSvgIcons.faUserTimes,
|
|
867
|
+
'faUsers': freeSolidSvgIcons.faUsers,
|
|
868
|
+
'faUserPlus': freeSolidSvgIcons.faUserPlus
|
|
869
|
+
};
|
|
870
|
+
function getKnownIcon(iconStr) {
|
|
871
|
+
return knownIcons[iconStr];
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
/**
|
|
875
|
+
* Generated bundle index. Do not edit.
|
|
876
|
+
*/
|
|
877
|
+
|
|
878
|
+
exports.DEFAULT_FILE_EXTENSION_ICON = DEFAULT_FILE_EXTENSION_ICON;
|
|
879
|
+
exports.IconBtnComponent = IconBtnComponent;
|
|
880
|
+
exports.IconComponent = IconComponent;
|
|
881
|
+
exports.IconNotificationComponent = IconNotificationComponent;
|
|
882
|
+
exports.TheSeamIconModule = TheSeamIconModule;
|
|
883
|
+
exports.fileExtensionIcon = fileExtensionIcon;
|
|
884
|
+
exports.getKnownIcon = getKnownIcon;
|
|
885
|
+
exports.pulseAnimation = pulseAnimation;
|
|
886
|
+
|
|
887
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
888
|
+
|
|
889
|
+
})));
|
|
890
|
+
//# sourceMappingURL=theseam-ui-common-icon.umd.js.map
|