@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-toggle-edit.js","sources":["../../../projects/ui-common/toggle-edit/toggle-edit-display-tpl.directive.ts","../../../projects/ui-common/toggle-edit/toggle-edit-keyboard-listener.service.ts","../../../projects/ui-common/toggle-edit/toggle-edit.component.ts","../../../projects/ui-common/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.ts","../../../projects/ui-common/toggle-edit/toggle-edit.module.ts","../../../projects/ui-common/toggle-edit/theseam-ui-common-toggle-edit.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamToggleEditDisplayTpl]'\n})\nexport class ToggleEditDisplayTplDirective {\n\n constructor(public template: TemplateRef<any>) {}\n\n}\n","import { DOCUMENT } from '@angular/common'\nimport { Inject, Injectable } from '@angular/core'\n\nimport { ICanToggleEdit } from './models'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToggleEditKeyboardListenerService {\n\n private _elements: ICanToggleEdit[] = []\n\n private _isListening = false\n\n private _document: Document\n\n constructor(\n @Inject(DOCUMENT) private document: any\n ) {\n this._document = document\n }\n\n public add(element: ICanToggleEdit): void {\n this._elements.push(element)\n this._startListening()\n }\n\n public remove(element: ICanToggleEdit): void {\n this._elements = this._elements.filter(v => v !== element)\n if (this._elements.length === 0) {\n this._stopListening()\n }\n }\n\n public isListening(): boolean {\n return this._isListening\n }\n\n private _startListening(): void {\n if (this.isListening()) {\n return\n }\n\n this._document.body.addEventListener('keydown', this._keydownListener, true)\n\n this._isListening = true\n }\n\n private _stopListening(): void {\n if (!this.isListening()) {\n return\n }\n\n this._document.body.removeEventListener('keydown', this._keydownListener, true)\n\n this._isListening = false\n }\n\n private _keydownListener = (event: KeyboardEvent): boolean | void => {\n for (const element of this._elements) {\n if (element.isEditing()) {\n element.keydownEvent(event)\n }\n }\n }\n\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { ENTER, ESCAPE } from '@angular/cdk/keycodes'\nimport { ConnectionPositionPair, Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay'\nimport { TemplatePortal } from '@angular/cdk/portal'\nimport {\n AfterViewInit,\n Component,\n ContentChild,\n DoCheck,\n ElementRef,\n EventEmitter,\n Host,\n HostBinding,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n Self,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core'\nimport { AbstractControl, ControlContainer, FormControl, FormGroup } from '@angular/forms'\n\nimport { faCheck, faPen, faTimes } from '@fortawesome/free-solid-svg-icons'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { TheSeamFormFieldComponent } from '@theseam/ui-common/form-field'\n\nimport { ICanToggleEdit } from './models/can-toggle-edit'\nimport { IToggleEditRef } from './models/toggle-edit-ref'\nimport { ToggleEditDisplayTplDirective } from './toggle-edit-display-tpl.directive'\nimport { ToggleEditKeyboardListenerService } from './toggle-edit-keyboard-listener.service'\n\n\n@Component({\n selector: 'seam-toggle-edit',\n templateUrl: './toggle-edit.component.html',\n styleUrls: ['./toggle-edit.component.scss']\n})\nexport class ToggleEditComponent implements OnInit, OnDestroy, AfterViewInit, DoCheck, ICanToggleEdit, IToggleEditRef {\n static ngAcceptInputType_cancelOnBlur: BooleanInput\n static ngAcceptInputType_waitOnSubmit: BooleanInput\n\n faPen = faPen\n faTimes = faTimes\n faCheck = faCheck\n\n private _previousDisabled = false\n\n /** Use `hasFocus()` to check for focus. This is only for monitoring focus lost. */\n private _focused = false\n private _focusObserver?: MutationObserver\n private _actionsFocused = false\n private _submitting = false\n\n /**\n * Input value before editing.\n *\n * If the edit change is canceled the input value will be reset back to this\n * value.\n */\n private _beforeEditValue = null\n\n @HostBinding('class.toggle-edit-active') get _toggleEditActiveClass() { return this.editing }\n\n @Input() @InputBoolean() cancelOnBlur = true\n @Input() @InputBoolean() waitOnSubmit = false\n\n @Input() placeholder = ''\n\n @Input()\n get editing(): boolean { return this._editing }\n set editing(value: boolean) {\n if (this.disabled && value) { return }\n\n if (!this._editing) {\n this.updateBeforeEditValue()\n }\n this._editing = coerceBooleanProperty(value)\n this.editingChange.emit(value)\n }\n private _editing = false\n\n @Output() changeAccepted = new EventEmitter<IToggleEditRef>()\n @Output() changeDeclined = new EventEmitter<IToggleEditRef>()\n @Output() editingChange = new EventEmitter<boolean>()\n\n @ViewChild('templatePortalContent', { static: true }) templatePortalContent?: TemplateRef<any>\n public templatePortal?: TemplatePortal<any>\n\n public modalRef?: OverlayRef\n\n @ContentChild(ToggleEditDisplayTplDirective, { static: true }) displayTpl?: ToggleEditDisplayTplDirective\n\n constructor(\n private _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n @Optional() @Self() private controlContainer: ControlContainer,\n @Optional() @Host() private formFieldComponent: TheSeamFormFieldComponent,\n private _kbListener: ToggleEditKeyboardListenerService,\n private _focusMonitor: FocusMonitor,\n private _ngZone: NgZone,\n private _renderer: Renderer2,\n private _viewContainerRef: ViewContainerRef,\n private _overlay: Overlay\n ) {\n this._ngZone.runOutsideAngular(() => {\n this._focusObserver = new MutationObserver(() => {\n this._ngZone.run(() => {\n if (this.hasFocus()) {\n if (this.disabled) { return }\n this._onFocus()\n } else {\n this._onBlur()\n }\n })\n })\n })\n }\n\n ngOnInit() {\n this._initMonitors()\n if (this.formFieldComponent) {\n // TODO: Consider making this smarter, such as avoiding overwritting when input set.\n this.formFieldComponent.numPaddingErrors = 0\n }\n }\n\n ngOnDestroy() {\n this._destroyMonitors()\n }\n\n ngAfterViewInit() {\n if (this.formFieldComponent && this.formFieldComponent.contentInput) {\n this.formFieldComponent.contentInput.stateChanges.subscribe(_ => {\n this._checkDisabledChange()\n })\n }\n setTimeout(() => {\n if (this.templatePortalContent) {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this._viewContainerRef)\n }\n })\n this._checkDisabledChange()\n }\n\n ngDoCheck() {\n this._checkDisabledChange()\n }\n\n private _initMonitors() {\n this._kbListener.add(this)\n\n this._focusMonitor.monitor(this._elementRef.nativeElement, true)\n this._focusObserver?.observe(this._elementRef.nativeElement, {\n attributes: true,\n attributeFilter: ['class'],\n childList: false,\n characterData: false\n })\n }\n\n private _destroyMonitors() {\n this._kbListener.remove(this)\n\n this._focusObserver?.disconnect()\n this._focused = false\n this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'tabindex')\n }\n\n // Make this disabled checking implementation better. It gets called to much\n // trying to be accurate.\n private _checkDisabledChange() {\n const isDisabled = this.disabled\n if (isDisabled !== this._previousDisabled) {\n\n }\n }\n\n public get disabled() {\n const control = this.getControl()\n if (control) {\n return control.disabled\n }\n return false\n }\n\n public canSubmit(): boolean {\n const control = this.getControl()\n if (control) {\n return control.valid\n }\n return true\n }\n\n public isSubmitting(): boolean {\n return this._submitting\n }\n\n public submitComplete(error?: any): void {\n const control = this.getControl()\n if (control) {\n control.enable()\n }\n this._submitting = false\n\n if (!error) {\n this.stopEditing()\n }\n }\n\n public updateBeforeEditValue(): void {\n const control = this.getControl()\n if (control) {\n this._beforeEditValue = control.value\n }\n }\n\n public getValue(): string | null {\n const control = this.getControl()\n if (control) {\n return control.value\n }\n\n return null\n }\n\n public resetValue(): void {\n const control = this.getControl()\n if (control) {\n // Reset without emitting then update which will emit, because reset will\n // emit changes before setting pristine\n control.reset(this._beforeEditValue, { emitEvent: false })\n control.updateValueAndValidity()\n }\n }\n\n public isFormGroup(): boolean {\n return !!this.controlContainer\n }\n\n public getFormGroup(): FormGroup | null {\n if (!this.isFormGroup()) { return null }\n return <FormGroup>this.controlContainer.control\n }\n\n public isInFormField(): boolean {\n return !!this.formFieldComponent\n }\n\n public getFormControl(): FormControl | null {\n if (!this.isInFormField()) { return null }\n if (!this.formFieldComponent.contentInput) { return null }\n return <FormControl>this.formFieldComponent.contentInput.ngControl.control\n }\n\n public hasControl(): boolean {\n return !!this.getControl()\n }\n\n public getControl(): AbstractControl | null {\n if (this.isFormGroup()) {\n return this.getFormGroup()\n } else if (this.isInFormField()) {\n return this.getFormControl()\n }\n return null\n }\n\n public submitEdit(): void {\n if (!this.canSubmit()) {\n return\n }\n\n if (this.waitOnSubmit) {\n const control = this.getControl()\n if (control) {\n control.disable()\n }\n this._submitting = true\n }\n\n this.stopEditing()\n\n this.changeAccepted.emit(<IToggleEditRef>this)\n }\n\n public cancelEdit(): void {\n // Reset without emitting then update which will emit, because reset will\n // emit changes before setting pristine\n this.resetValue()\n this.stopEditing()\n\n this.changeDeclined.emit(<IToggleEditRef>this)\n }\n\n private _onFocus(): void {\n // Return if already focused\n if (this._focused) { return }\n\n this._focused = true\n this._actionsFocused = false\n }\n\n private _onBlur(): void {\n // Return if focus hasn't been detected\n if (!this._focused) { return }\n\n if (this.editing && this.cancelOnBlur) {\n setTimeout(() => {\n if (!this._actionsFocused) {\n this.cancelEdit()\n }\n })\n }\n\n this._focused = false\n }\n\n public hasFocus(): boolean {\n return this._elementRef.nativeElement.classList.contains('cdk-focused')\n }\n\n public focusContent(): void {\n // Set the tab index to `-1` to allow the root element of the component to\n // receive `focus` event from javascript, but not get focused by keyboard\n // navigation. This is for the focus monitor. If a button is clicked the\n // focus monitor emits a blur before the focus of the input. This will avoid\n // the blur by letting the component itself receive focus events.\n this._renderer.setAttribute(this._elementRef.nativeElement, 'tabindex', '-1')\n this._elementRef.nativeElement.focus()\n }\n\n public toggleEditing(isEditing?: boolean): void {\n if (this.editing === isEditing) { return }\n const _editing = isEditing === undefined ? !this.editing : !!isEditing\n if (_editing) {\n this.startEditing()\n } else {\n this.stopEditing()\n }\n }\n\n public isEditing(): boolean {\n return this.editing\n }\n\n public startEditing(): void {\n if (this.disabled) { return }\n if (this.isEditing()) {\n return\n }\n\n this.updateBeforeEditValue()\n\n this.focusContent()\n\n this.editing = true\n\n this.modalRef = this._overlay.create({\n hasBackdrop: false,\n positionStrategy: this.getOverlayPosition(this._elementRef.nativeElement),\n })\n\n this.modalRef.attach(this.templatePortal)\n }\n\n public stopEditing(): void {\n if (!this.isEditing()) {\n return\n }\n\n if (this.isSubmitting()) {\n return\n }\n\n if (this.modalRef?.hasAttached()) {\n this.modalRef.detach()\n }\n\n // NOTE: This is a hack to avoid a focus lost issue introduced by a focus\n // acuired issue's hack.\n this._elementRef.nativeElement.focus()\n this._elementRef.nativeElement.blur()\n this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'tabindex')\n this._focusMonitor.monitor(this._elementRef.nativeElement, true)\n\n this.editing = false\n }\n\n public keydownEvent(event: KeyboardEvent): void {\n // tslint:disable-next-line:deprecation\n switch (event.keyCode) {\n case ESCAPE: {\n this.cancelEdit()\n break\n }\n case ENTER: {\n this.submitEdit()\n break\n }\n }\n }\n\n private getOverlayPosition(origin: HTMLElement): PositionStrategy {\n const positionStrategy = this._overlay.position()\n .flexibleConnectedTo(origin)\n .withPositions(this.getPositions())\n .withFlexibleDimensions(false)\n .withPush(false)\n\n return positionStrategy\n }\n\n private getPositions(): ConnectionPositionPair[] {\n return [\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n },\n ]\n }\n\n public resized(): void {\n if (this.modalRef && this.modalRef.hasAttached()) {\n this.modalRef.updatePosition()\n }\n }\n\n public actionsFocusChange(event: any): void {\n this._actionsFocused = !!event\n }\n\n}\n","import { Component, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-toggle-edit-actions-container',\n templateUrl: './toggle-edit-actions-container.component.html',\n styleUrls: ['./toggle-edit-actions-container.component.scss']\n})\nexport class ToggleEditActionsContainerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { A11yModule } from '@angular/cdk/a11y'\nimport { OverlayModule } from '@angular/cdk/overlay'\nimport { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { TheSeamFormFieldModule } from '@theseam/ui-common/form-field'\nimport { TheSeamLoadingModule } from '@theseam/ui-common/loading'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { ToggleEditActionsContainerComponent } from './toggle-edit-actions-container/toggle-edit-actions-container.component'\nimport { ToggleEditDisplayTplDirective } from './toggle-edit-display-tpl.directive'\nimport { ToggleEditComponent } from './toggle-edit.component'\n\n@NgModule({\n declarations: [\n ToggleEditDisplayTplDirective,\n ToggleEditActionsContainerComponent,\n ToggleEditComponent,\n ],\n imports: [\n CommonModule,\n TheSeamSharedModule,\n FontAwesomeModule,\n ReactiveFormsModule,\n TheSeamFormFieldModule,\n OverlayModule,\n PortalModule,\n A11yModule,\n TheSeamLoadingModule\n ],\n exports: [\n ToggleEditDisplayTplDirective,\n ToggleEditComponent\n ]\n})\nexport class TheSeamToggleEditModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { coerceBooleanProperty, coerceArray } from '@angular/cdk/coercion';
|
|
2
|
+
import { EventEmitter, Directive, ElementRef, ChangeDetectorRef, Input, Output, HostBinding, forwardRef, ContentChildren, NgModule } from '@angular/core';
|
|
3
|
+
import { __decorate } from 'tslib';
|
|
4
|
+
import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { Subject, of, combineLatest, from } from 'rxjs';
|
|
6
|
+
import { takeUntil, startWith, map, switchMap, filter, tap } from 'rxjs/operators';
|
|
7
|
+
import { InputBoolean } from '@theseam/ui-common/core';
|
|
8
|
+
import { CommonModule } from '@angular/common';
|
|
9
|
+
|
|
10
|
+
class ToggleGroupOptionDirective {
|
|
11
|
+
constructor(_elementRef, _cdr) {
|
|
12
|
+
this._elementRef = _elementRef;
|
|
13
|
+
this._cdr = _cdr;
|
|
14
|
+
this._selected = false;
|
|
15
|
+
/** Internal use only for now. */
|
|
16
|
+
this._canUnselect = true;
|
|
17
|
+
this.selectionChange = new EventEmitter();
|
|
18
|
+
}
|
|
19
|
+
get selected() { return this._selected; }
|
|
20
|
+
set selected(value) {
|
|
21
|
+
if (!this._canUnselect && !value) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
this._selected = coerceBooleanProperty(value);
|
|
25
|
+
this.selectionChange.emit(this._selected);
|
|
26
|
+
this._cdr.markForCheck();
|
|
27
|
+
}
|
|
28
|
+
get _checkioSelectedClass() {
|
|
29
|
+
return this._selected;
|
|
30
|
+
}
|
|
31
|
+
get value() {
|
|
32
|
+
return this.seamToggleGroupOption;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
ToggleGroupOptionDirective.decorators = [
|
|
36
|
+
{ type: Directive, args: [{
|
|
37
|
+
selector: '[seamToggleGroupOption]',
|
|
38
|
+
exportAs: 'seamToggleGroupOption'
|
|
39
|
+
},] }
|
|
40
|
+
];
|
|
41
|
+
ToggleGroupOptionDirective.ctorParameters = () => [
|
|
42
|
+
{ type: ElementRef },
|
|
43
|
+
{ type: ChangeDetectorRef }
|
|
44
|
+
];
|
|
45
|
+
ToggleGroupOptionDirective.propDecorators = {
|
|
46
|
+
seamToggleGroupOption: [{ type: Input }],
|
|
47
|
+
selected: [{ type: Input }],
|
|
48
|
+
selectionChange: [{ type: Output }],
|
|
49
|
+
_checkioSelectedClass: [{ type: HostBinding, args: ['class.lib-toggle-group-option-selected',] }]
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const TOGGLE_GROUP_VALUE_ACCESSOR = {
|
|
53
|
+
provide: NG_VALUE_ACCESSOR,
|
|
54
|
+
// tslint:disable-next-line:no-use-before-declare
|
|
55
|
+
useExisting: forwardRef(() => ToggleGroupDirective),
|
|
56
|
+
multi: true,
|
|
57
|
+
};
|
|
58
|
+
class ToggleGroupDirective {
|
|
59
|
+
constructor() {
|
|
60
|
+
this._ngUnsubscribe = new Subject();
|
|
61
|
+
this.disabled = false;
|
|
62
|
+
this.multiple = false;
|
|
63
|
+
this.selectionToggleable = true;
|
|
64
|
+
// TODO: Add min/max selected inputs to make toggling better for multi select
|
|
65
|
+
this.change = new EventEmitter();
|
|
66
|
+
}
|
|
67
|
+
ngOnDestroy() {
|
|
68
|
+
this._ngUnsubscribe.next();
|
|
69
|
+
this._ngUnsubscribe.complete();
|
|
70
|
+
}
|
|
71
|
+
ngAfterViewInit() {
|
|
72
|
+
setTimeout(() => {
|
|
73
|
+
this._updateDirectiveStates();
|
|
74
|
+
if (this.optionDirectives) {
|
|
75
|
+
this.options = this.optionDirectives.changes
|
|
76
|
+
.pipe(takeUntil(this._ngUnsubscribe))
|
|
77
|
+
.pipe(startWith(this.optionDirectives))
|
|
78
|
+
.pipe(map(v => v.toArray()));
|
|
79
|
+
this.options.pipe(switchMap(opts => {
|
|
80
|
+
const _tmp = of(undefined);
|
|
81
|
+
if (opts) {
|
|
82
|
+
const _v = [];
|
|
83
|
+
for (const opt of opts) {
|
|
84
|
+
_v.push(opt.selectionChange.pipe(filter(v => opt.selected !== this.isSelected(opt.value)), tap(v => {
|
|
85
|
+
if (this.isSelected(opt.value)) {
|
|
86
|
+
this.unselectValue(opt.value);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this.selectValue(opt.value);
|
|
90
|
+
}
|
|
91
|
+
})));
|
|
92
|
+
}
|
|
93
|
+
return combineLatest(_v);
|
|
94
|
+
}
|
|
95
|
+
return _tmp;
|
|
96
|
+
})).subscribe();
|
|
97
|
+
}
|
|
98
|
+
this.change
|
|
99
|
+
.pipe(switchMap(_ => {
|
|
100
|
+
var _a;
|
|
101
|
+
return from(((_a = this.optionDirectives) === null || _a === void 0 ? void 0 : _a.toArray()) || [])
|
|
102
|
+
.pipe(tap(opt => { this._updateDirectiveState(opt); }));
|
|
103
|
+
}))
|
|
104
|
+
.subscribe();
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
get value() {
|
|
108
|
+
return this.val;
|
|
109
|
+
}
|
|
110
|
+
set value(value) {
|
|
111
|
+
const _value = this.multiple
|
|
112
|
+
? value !== null && value !== undefined
|
|
113
|
+
? coerceArray(value)
|
|
114
|
+
: value
|
|
115
|
+
: value;
|
|
116
|
+
this.val = (this.multiple) ? [...(_value || [])] : _value || '';
|
|
117
|
+
this.change.emit(this.val);
|
|
118
|
+
if (this.onChange) {
|
|
119
|
+
this.onChange(_value);
|
|
120
|
+
}
|
|
121
|
+
if (this.onTouched) {
|
|
122
|
+
this.onTouched();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
writeValue(value) {
|
|
126
|
+
this.value = value;
|
|
127
|
+
}
|
|
128
|
+
registerOnChange(fn) {
|
|
129
|
+
this.onChange = fn;
|
|
130
|
+
}
|
|
131
|
+
registerOnTouched(fn) {
|
|
132
|
+
this.onTouched = fn;
|
|
133
|
+
}
|
|
134
|
+
setDisabledState(isDisabled) {
|
|
135
|
+
this.disabled = isDisabled;
|
|
136
|
+
}
|
|
137
|
+
isSelected(value) {
|
|
138
|
+
if (this.multiple) {
|
|
139
|
+
const idx = (this.value || []).findIndex(v => v === value);
|
|
140
|
+
return idx !== -1;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
// TODO: Clean this up when the directive no longer allows array value type when multiple is false
|
|
144
|
+
const v = Array.isArray(this.value) && this.value.length === 1
|
|
145
|
+
? this.value[0]
|
|
146
|
+
: this.value;
|
|
147
|
+
return v === value;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
unselectValue(value) {
|
|
151
|
+
if (this.multiple) {
|
|
152
|
+
this.value = (this.value || []).filter(v => v !== value);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
this.value = undefined;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
selectValue(value) {
|
|
159
|
+
if (this.multiple) {
|
|
160
|
+
const _value = [...(this.value || [])];
|
|
161
|
+
this.value = value ? [..._value, value] : _value;
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
this.value = value;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
getOptionDirectiveByValue(value) {
|
|
168
|
+
if (!this.optionDirectives || this.optionDirectives.length < 1) {
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
171
|
+
return this.optionDirectives.toArray()
|
|
172
|
+
.find(opt => opt.value === value);
|
|
173
|
+
}
|
|
174
|
+
_updateDirectiveStates() {
|
|
175
|
+
if (this.optionDirectives) {
|
|
176
|
+
for (const opt of this.optionDirectives.toArray()) {
|
|
177
|
+
this._updateDirectiveState(opt);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
_updateDirectiveState(opt) {
|
|
182
|
+
const selected = this.isSelected(opt.value);
|
|
183
|
+
if (opt.selected !== selected) {
|
|
184
|
+
if (!opt._canUnselect) {
|
|
185
|
+
opt._canUnselect = true;
|
|
186
|
+
}
|
|
187
|
+
opt.selected = selected;
|
|
188
|
+
}
|
|
189
|
+
if (!this.selectionToggleable) {
|
|
190
|
+
if (!this.multiple || (this.value && this.value.length <= 1)) {
|
|
191
|
+
if (opt.selected) {
|
|
192
|
+
if (opt._canUnselect) {
|
|
193
|
+
opt._canUnselect = false;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
if (!opt._canUnselect) {
|
|
198
|
+
opt._canUnselect = true;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
if (!opt._canUnselect) {
|
|
204
|
+
opt._canUnselect = true;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
ToggleGroupDirective.decorators = [
|
|
211
|
+
{ type: Directive, args: [{
|
|
212
|
+
selector: '[seamToggleGroup]',
|
|
213
|
+
exportAs: 'seamToggleGroup',
|
|
214
|
+
providers: [TOGGLE_GROUP_VALUE_ACCESSOR]
|
|
215
|
+
},] }
|
|
216
|
+
];
|
|
217
|
+
ToggleGroupDirective.ctorParameters = () => [];
|
|
218
|
+
ToggleGroupDirective.propDecorators = {
|
|
219
|
+
val: [{ type: Input, args: ['value',] }],
|
|
220
|
+
disabled: [{ type: Input }],
|
|
221
|
+
multiple: [{ type: Input }],
|
|
222
|
+
selectionToggleable: [{ type: Input }],
|
|
223
|
+
change: [{ type: Output }],
|
|
224
|
+
optionDirectives: [{ type: ContentChildren, args: [ToggleGroupOptionDirective,] }]
|
|
225
|
+
};
|
|
226
|
+
__decorate([
|
|
227
|
+
InputBoolean()
|
|
228
|
+
], ToggleGroupDirective.prototype, "disabled", void 0);
|
|
229
|
+
__decorate([
|
|
230
|
+
InputBoolean()
|
|
231
|
+
], ToggleGroupDirective.prototype, "multiple", void 0);
|
|
232
|
+
__decorate([
|
|
233
|
+
InputBoolean()
|
|
234
|
+
], ToggleGroupDirective.prototype, "selectionToggleable", void 0);
|
|
235
|
+
|
|
236
|
+
class TheSeamToggleGroupModule {
|
|
237
|
+
}
|
|
238
|
+
TheSeamToggleGroupModule.decorators = [
|
|
239
|
+
{ type: NgModule, args: [{
|
|
240
|
+
declarations: [
|
|
241
|
+
ToggleGroupDirective,
|
|
242
|
+
ToggleGroupOptionDirective
|
|
243
|
+
],
|
|
244
|
+
imports: [
|
|
245
|
+
CommonModule,
|
|
246
|
+
ReactiveFormsModule
|
|
247
|
+
],
|
|
248
|
+
exports: [
|
|
249
|
+
ToggleGroupDirective,
|
|
250
|
+
ToggleGroupOptionDirective
|
|
251
|
+
]
|
|
252
|
+
},] }
|
|
253
|
+
];
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Generated bundle index. Do not edit.
|
|
257
|
+
*/
|
|
258
|
+
|
|
259
|
+
export { TOGGLE_GROUP_VALUE_ACCESSOR, TheSeamToggleGroupModule, ToggleGroupDirective, ToggleGroupOptionDirective };
|
|
260
|
+
//# sourceMappingURL=theseam-ui-common-toggle-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-toggle-group.js","sources":["../../../projects/ui-common/toggle-group/toggle-group-option.directive.ts","../../../projects/ui-common/toggle-group/toggle-group.directive.ts","../../../projects/ui-common/toggle-group/toggle-group.module.ts","../../../projects/ui-common/toggle-group/theseam-ui-common-toggle-group.ts"],"sourcesContent":["import { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostBinding, Input, Output } from '@angular/core'\n\n@Directive({\n selector: '[seamToggleGroupOption]',\n exportAs: 'seamToggleGroupOption'\n})\nexport class ToggleGroupOptionDirective {\n\n @Input() seamToggleGroupOption: string | undefined | null\n\n @Input()\n get selected(): boolean { return this._selected }\n set selected(value: boolean) {\n if (!this._canUnselect && !value) { return }\n this._selected = coerceBooleanProperty(value)\n this.selectionChange.emit(this._selected)\n this._cdr.markForCheck()\n }\n private _selected = false\n\n /** Internal use only for now. */\n _canUnselect = true\n\n @Output() selectionChange = new EventEmitter<boolean>()\n\n @HostBinding('class.lib-toggle-group-option-selected') get _checkioSelectedClass() {\n return this._selected\n }\n\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _cdr: ChangeDetectorRef\n ) { }\n\n get value(): string | undefined | null {\n return this.seamToggleGroupOption\n }\n\n}\n","import { BooleanInput, coerceArray } from '@angular/cdk/coercion'\nimport { AfterViewInit, ContentChildren, Directive, EventEmitter, forwardRef, Input, OnDestroy, Output, QueryList } from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { combineLatest, from, Observable, of, Subject } from 'rxjs'\nimport { filter, map, startWith, switchMap, takeUntil, tap } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { ToggleGroupOptionDirective } from './toggle-group-option.directive'\n\nexport const TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n // tslint:disable-next-line:no-use-before-declare\n useExisting: forwardRef(() => ToggleGroupDirective),\n multi: true,\n}\n\n@Directive({\n selector: '[seamToggleGroup]',\n exportAs: 'seamToggleGroup',\n providers: [ TOGGLE_GROUP_VALUE_ACCESSOR ]\n})\nexport class ToggleGroupDirective implements OnDestroy, AfterViewInit, ControlValueAccessor {\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_multiple: BooleanInput\n static ngAcceptInputType_selectionToggleable: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject()\n\n // tslint:disable-next-line:no-input-rename\n @Input('value') val: string | string[] | undefined | null\n\n @Input() @InputBoolean() disabled: boolean = false\n @Input() @InputBoolean() multiple: boolean = false\n @Input() @InputBoolean() selectionToggleable: boolean = true\n\n // TODO: Add min/max selected inputs to make toggling better for multi select\n\n @Output() readonly change = new EventEmitter<string | string[] | undefined | null>()\n\n @ContentChildren(ToggleGroupOptionDirective) optionDirectives?: QueryList<ToggleGroupOptionDirective>\n\n public options?: Observable<ToggleGroupOptionDirective[]>\n\n onChange: any\n onTouched: any\n\n constructor() { }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this._updateDirectiveStates()\n\n if (this.optionDirectives) {\n this.options = this.optionDirectives.changes\n .pipe(takeUntil(this._ngUnsubscribe))\n .pipe(startWith(this.optionDirectives))\n .pipe(map(v => v.toArray() as ToggleGroupOptionDirective[]))\n\n this.options.pipe(switchMap(opts => {\n const _tmp = of(undefined)\n if (opts) {\n const _v: Observable<boolean>[] = []\n for (const opt of opts) {\n _v.push(opt.selectionChange.pipe(\n filter(v => opt.selected !== this.isSelected(opt.value)),\n tap(v => {\n if (this.isSelected(opt.value)) {\n this.unselectValue(opt.value)\n } else {\n this.selectValue(opt.value)\n }\n })\n ))\n }\n return combineLatest(_v)\n }\n return _tmp\n })).subscribe()\n }\n\n this.change\n .pipe(switchMap(_ => from(this.optionDirectives?.toArray() || [])\n .pipe(tap(opt => { this._updateDirectiveState(opt) }))\n ))\n .subscribe()\n })\n }\n\n get value(): string | string[] | undefined | null {\n return this.val\n }\n\n set value(value: string | string[] | undefined | null) {\n const _value = this.multiple\n ? value !== null && value !== undefined\n ? coerceArray(value)\n : value\n : value\n\n this.val = (this.multiple) ? [ ...(<string[]>_value || []) ] : _value || ''\n this.change.emit(this.val)\n if (this.onChange) { this.onChange(_value) }\n if (this.onTouched) { this.onTouched() }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n isSelected(value: string | undefined | null) {\n if (this.multiple) {\n const idx = (<string[]>this.value || []).findIndex(v => v === value)\n return idx !== -1\n } else {\n // TODO: Clean this up when the directive no longer allows array value type when multiple is false\n const v = Array.isArray(this.value) && this.value.length === 1\n ? this.value[0]\n : this.value\n return v === value\n }\n }\n\n unselectValue(value: string | undefined | null) {\n if (this.multiple) {\n this.value = (<string[]>this.value || []).filter(v => v !== value)\n } else {\n this.value = undefined\n }\n }\n\n selectValue(value: string | undefined | null) {\n if (this.multiple) {\n const _value = [ ...(<string[]>this.value || []) ]\n this.value = value ? [ ..._value, value ] : _value\n } else {\n this.value = value\n }\n }\n\n getOptionDirectiveByValue(value: string) {\n if (!this.optionDirectives || this.optionDirectives.length < 1) {\n return null\n }\n\n return this.optionDirectives.toArray()\n .find(opt => opt.value === value)\n }\n\n private _updateDirectiveStates(): void {\n if (this.optionDirectives) {\n for (const opt of this.optionDirectives.toArray()) {\n this._updateDirectiveState(opt)\n }\n }\n }\n\n private _updateDirectiveState(opt: ToggleGroupOptionDirective): void {\n const selected = this.isSelected(opt.value)\n if (opt.selected !== selected) {\n if (!opt._canUnselect) {\n opt._canUnselect = true\n }\n opt.selected = selected\n }\n if (!this.selectionToggleable) {\n if (!this.multiple || (this.value && this.value.length <= 1)) {\n if (opt.selected) {\n if (opt._canUnselect) {\n opt._canUnselect = false\n }\n } else {\n if (!opt._canUnselect) {\n opt._canUnselect = true\n }\n }\n } else {\n if (!opt._canUnselect) {\n opt._canUnselect = true\n }\n }\n }\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { ToggleGroupOptionDirective } from './toggle-group-option.directive'\nimport { ToggleGroupDirective } from './toggle-group.directive'\n\n@NgModule({\n declarations: [\n ToggleGroupDirective,\n ToggleGroupOptionDirective\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule\n ],\n exports: [\n ToggleGroupDirective,\n ToggleGroupOptionDirective\n ]\n})\nexport class TheSeamToggleGroupModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, NgModule, isDevMode, Injectable, Directive, HostListener } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
// TODO: Decide if this component should be implemented or just use the native
|
|
5
|
+
// browser dialog for in-app routing also.
|
|
6
|
+
class UnsavedChangesDialogComponent {
|
|
7
|
+
constructor() { }
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
UnsavedChangesDialogComponent.decorators = [
|
|
12
|
+
{ type: Component, args: [{
|
|
13
|
+
selector: 'seam-unsaved-changes-dialog',
|
|
14
|
+
template: `
|
|
15
|
+
<p>
|
|
16
|
+
unsaved-changes-dialog works!
|
|
17
|
+
</p>
|
|
18
|
+
`
|
|
19
|
+
},] }
|
|
20
|
+
];
|
|
21
|
+
UnsavedChangesDialogComponent.ctorParameters = () => [];
|
|
22
|
+
|
|
23
|
+
class TheSeamUnsavedChangesDialogModule {
|
|
24
|
+
}
|
|
25
|
+
TheSeamUnsavedChangesDialogModule.decorators = [
|
|
26
|
+
{ type: NgModule, args: [{
|
|
27
|
+
declarations: [UnsavedChangesDialogComponent],
|
|
28
|
+
imports: [],
|
|
29
|
+
exports: [UnsavedChangesDialogComponent]
|
|
30
|
+
},] }
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
class UnsavedChangesDialogGuard {
|
|
34
|
+
/**
|
|
35
|
+
* NOTE: Must be synchronous for now to allow `window:beforeunload` event support.
|
|
36
|
+
*/
|
|
37
|
+
canDeactivate(component) {
|
|
38
|
+
if (isDevMode()) {
|
|
39
|
+
if (!component.unsavedChangesCanDeactivate) {
|
|
40
|
+
console.warn('Route Component with [UnsavedChangesDialogGuard] guard must extend [UnsavedChangesCanDeactivate] class.');
|
|
41
|
+
}
|
|
42
|
+
const w = window;
|
|
43
|
+
// Avoid redirect prevention in Storybook
|
|
44
|
+
if (w && w.__STORYBOOK_CLIENT_API__) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (!component.unsavedChangesCanDeactivate()) {
|
|
49
|
+
if (confirm('You have unsaved changes! If you leave, your changes will be lost.')) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
UnsavedChangesDialogGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function UnsavedChangesDialogGuard_Factory() { return new UnsavedChangesDialogGuard(); }, token: UnsavedChangesDialogGuard, providedIn: "root" });
|
|
60
|
+
UnsavedChangesDialogGuard.decorators = [
|
|
61
|
+
{ type: Injectable, args: [{
|
|
62
|
+
providedIn: 'root'
|
|
63
|
+
},] }
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
// tslint:disable-next-line: directive-class-suffix
|
|
67
|
+
class UnsavedChangesCanDeactivate {
|
|
68
|
+
__unloadNotification($event) {
|
|
69
|
+
if (isDevMode()) {
|
|
70
|
+
if (!this.unsavedChangesCanDeactivate) {
|
|
71
|
+
console.warn('Route Component with [UnsavedChangesDialogGuard] guard must extend [UnsavedChangesCanDeactivate] class.');
|
|
72
|
+
}
|
|
73
|
+
const w = window;
|
|
74
|
+
// Avoid redirect prevention in Storybook
|
|
75
|
+
if (w && w.__STORYBOOK_CLIENT_API__) {
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (!this.unsavedChangesCanDeactivate()) {
|
|
80
|
+
// $event.returnValue = true
|
|
81
|
+
$event.returnValue = 'You have unsaved changes! If you leave, your changes will be lost.';
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
UnsavedChangesCanDeactivate.decorators = [
|
|
86
|
+
{ type: Directive }
|
|
87
|
+
];
|
|
88
|
+
UnsavedChangesCanDeactivate.propDecorators = {
|
|
89
|
+
__unloadNotification: [{ type: HostListener, args: ['window:beforeunload', ['$event'],] }]
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Generated bundle index. Do not edit.
|
|
94
|
+
*/
|
|
95
|
+
|
|
96
|
+
export { TheSeamUnsavedChangesDialogModule, UnsavedChangesCanDeactivate, UnsavedChangesDialogComponent, UnsavedChangesDialogGuard };
|
|
97
|
+
//# sourceMappingURL=theseam-ui-common-unsaved-changes-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-unsaved-changes-dialog.js","sources":["../../../projects/ui-common/unsaved-changes-dialog/unsaved-changes-dialog.component.ts","../../../projects/ui-common/unsaved-changes-dialog/unsaved-changes-dialog.module.ts","../../../projects/ui-common/unsaved-changes-dialog/unsaved-changes-dialog.guard.ts","../../../projects/ui-common/unsaved-changes-dialog/unsaved-changes-can-deactivate.ts","../../../projects/ui-common/unsaved-changes-dialog/theseam-ui-common-unsaved-changes-dialog.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core'\n\n// TODO: Decide if this component should be implemented or just use the native\n// browser dialog for in-app routing also.\n\n@Component({\n selector: 'seam-unsaved-changes-dialog',\n template: `\n <p>\n unsaved-changes-dialog works!\n </p>\n `,\n styles: []\n})\nexport class UnsavedChangesDialogComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { NgModule } from '@angular/core'\n\nimport { UnsavedChangesDialogComponent } from './unsaved-changes-dialog.component'\n\n@NgModule({\n declarations: [UnsavedChangesDialogComponent],\n imports: [],\n exports: [UnsavedChangesDialogComponent]\n})\nexport class TheSeamUnsavedChangesDialogModule { }\n","import { Injectable, isDevMode } from '@angular/core'\nimport { CanDeactivate } from '@angular/router'\n\nimport { UnsavedChangesCanDeactivate } from './unsaved-changes-can-deactivate'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UnsavedChangesDialogGuard implements CanDeactivate<UnsavedChangesCanDeactivate> {\n\n /**\n * NOTE: Must be synchronous for now to allow `window:beforeunload` event support.\n */\n canDeactivate(component: UnsavedChangesCanDeactivate): boolean {\n if (isDevMode()) {\n if (!component.unsavedChangesCanDeactivate) {\n console.warn('Route Component with [UnsavedChangesDialogGuard] guard must extend [UnsavedChangesCanDeactivate] class.')\n }\n\n const w = window as any\n // Avoid redirect prevention in Storybook\n if (w && w.__STORYBOOK_CLIENT_API__) {\n return true\n }\n }\n\n if (!component.unsavedChangesCanDeactivate()) {\n if (confirm('You have unsaved changes! If you leave, your changes will be lost.')) {\n return true\n } else {\n return false\n }\n }\n return true\n }\n\n}\n","import { Directive, HostListener, isDevMode } from '@angular/core'\n\n@Directive()\n// tslint:disable-next-line: directive-class-suffix\nexport abstract class UnsavedChangesCanDeactivate {\n\n abstract unsavedChangesCanDeactivate(): boolean\n\n @HostListener('window:beforeunload', ['$event'])\n __unloadNotification($event: any) {\n if (isDevMode()) {\n if (!this.unsavedChangesCanDeactivate) {\n console.warn('Route Component with [UnsavedChangesDialogGuard] guard must extend [UnsavedChangesCanDeactivate] class.')\n }\n\n const w = window as any\n // Avoid redirect prevention in Storybook\n if (w && w.__STORYBOOK_CLIENT_API__) {\n return true\n }\n }\n\n if (!this.unsavedChangesCanDeactivate()) {\n // $event.returnValue = true\n $event.returnValue = 'You have unsaved changes! If you leave, your changes will be lost.'\n }\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAEA;AACA;MAWa,6BAA6B;IAExC,iBAAiB;IAEjB,QAAQ;KACP;;;YAdF,SAAS,SAAC;gBACT,QAAQ,EAAE,6BAA6B;gBACvC,QAAQ,EAAE;;;;GAIT;aAEF;;;;MCJY,iCAAiC;;;YAL7C,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,6BAA6B,CAAC;gBAC7C,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,CAAC,6BAA6B,CAAC;aACzC;;;MCAY,yBAAyB;;;;IAKpC,aAAa,CAAC,SAAsC;QAClD,IAAI,SAAS,EAAE,EAAE;YACf,IAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE;gBAC1C,OAAO,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAA;aACxH;YAED,MAAM,CAAC,GAAG,MAAa,CAAA;;YAEvB,IAAI,CAAC,IAAI,CAAC,CAAC,wBAAwB,EAAE;gBACnC,OAAO,IAAI,CAAA;aACZ;SACF;QAED,IAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE,EAAE;YAC5C,IAAI,OAAO,CAAC,oEAAoE,CAAC,EAAE;gBACjF,OAAO,IAAI,CAAA;aACZ;iBAAM;gBACL,OAAO,KAAK,CAAA;aACb;SACF;QACD,OAAO,IAAI,CAAA;KACZ;;;;YA7BF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;ACJD;MACsB,2BAA2B;IAK7C,oBAAoB,CAAC,MAAW;QAC9B,IAAI,SAAS,EAAE,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE;gBACrC,OAAO,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAA;aACxH;YAED,MAAM,CAAC,GAAG,MAAa,CAAA;;YAEvB,IAAI,CAAC,IAAI,CAAC,CAAC,wBAAwB,EAAE;gBACnC,OAAO,IAAI,CAAA;aACZ;SACF;QAED,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE;;YAEvC,MAAM,CAAC,WAAW,GAAG,oEAAoE,CAAA;SAC1F;KACF;;;YAxBJ,SAAS;;;mCAML,YAAY,SAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC;;;ACRnD;;;;;;"}
|
|
@@ -0,0 +1,797 @@
|
|
|
1
|
+
import { switchMap, startWith, map, distinctUntilChanged, mapTo, filter, take, pairwise, toArray, tap, shareReplay, publishReplay, refCount, skip } from 'rxjs/operators';
|
|
2
|
+
import { of, merge, interval, from, combineLatest, Observable, isObservable, BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
+
import { __rest, __awaiter } from 'tslib';
|
|
4
|
+
import fileType from '@marklb/file-type';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
function getAttribute(element, name) {
|
|
10
|
+
return element.getAttribute(name);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
function hasAttribute(element, name) {
|
|
17
|
+
return element.hasAttribute(name);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Finds the closest CdkDrag to an element by looking at the DOM.
|
|
22
|
+
* @param element Element relative to which to look for a cdkDrag.
|
|
23
|
+
* @param openDialogs References to the currently available cdkDrag.
|
|
24
|
+
*/
|
|
25
|
+
function getClosestWidgetCdkDrag(element, dragDirectives) {
|
|
26
|
+
let parent = element.nativeElement.parentElement;
|
|
27
|
+
while (parent && !(parent.classList.contains('cdk-drag') && hasAttribute(parent, 'data-widget-id'))) {
|
|
28
|
+
parent = parent.parentElement;
|
|
29
|
+
}
|
|
30
|
+
const parentId = parent ? getAttribute(parent, 'data-widget-id') : null;
|
|
31
|
+
return parentId ?
|
|
32
|
+
dragDirectives.find(drag => getAttribute(drag.getRootElement(), 'data-widget-id') === parentId)
|
|
33
|
+
: null;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Get the name of the control.
|
|
38
|
+
*
|
|
39
|
+
* Example:
|
|
40
|
+
*
|
|
41
|
+
* ```js
|
|
42
|
+
* const group = new FormGroup({
|
|
43
|
+
* name: new Control(),
|
|
44
|
+
* age: new Control()
|
|
45
|
+
* })
|
|
46
|
+
*
|
|
47
|
+
* for (const c of group.controls) {
|
|
48
|
+
* console.log(getControlName(c))
|
|
49
|
+
* }
|
|
50
|
+
*
|
|
51
|
+
* // Output:
|
|
52
|
+
* // >> 'name'
|
|
53
|
+
* // >> 'age'
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
function getControlName(c) {
|
|
57
|
+
if (!c.parent) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
// NOTE: Typed as 'any' because using string for array index is not valid for
|
|
61
|
+
// array index type, but it works and we actually want the index as a string
|
|
62
|
+
// anyway.
|
|
63
|
+
const controls = c.parent.controls;
|
|
64
|
+
return Object.keys(controls).find(name => c === controls[name]) || null;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Get the path to a control.
|
|
69
|
+
*
|
|
70
|
+
* The path is built by walking back the `parent` properties until `parent` is
|
|
71
|
+
* `null`.
|
|
72
|
+
*
|
|
73
|
+
* Example:
|
|
74
|
+
*
|
|
75
|
+
* ```js
|
|
76
|
+
* const group = new FormGroup({
|
|
77
|
+
* name: new FormControl(),
|
|
78
|
+
* address: new FormGroup({
|
|
79
|
+
* city: new FormControl(),
|
|
80
|
+
* state: new FormControl()
|
|
81
|
+
* })
|
|
82
|
+
* })
|
|
83
|
+
*
|
|
84
|
+
* const control = group.get('address.city')
|
|
85
|
+
* console.log(getControlPath(control))
|
|
86
|
+
*
|
|
87
|
+
* // Output:
|
|
88
|
+
* >> 'address.city'
|
|
89
|
+
* ```
|
|
90
|
+
*
|
|
91
|
+
*/
|
|
92
|
+
function getControlPath(c, path = '') {
|
|
93
|
+
path = getControlName(c) + path;
|
|
94
|
+
if (c.parent && getControlName(c.parent)) {
|
|
95
|
+
path = '.' + path;
|
|
96
|
+
return getControlPath(c.parent, path);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
return path;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Observe the value of a control.
|
|
105
|
+
*/
|
|
106
|
+
function observeControlValue(control) {
|
|
107
|
+
return of(control)
|
|
108
|
+
.pipe(switchMap(_control => _control.valueChanges
|
|
109
|
+
.pipe(startWith(_control.value))));
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Observe the changed state of the input value from the time this function is
|
|
114
|
+
* called.
|
|
115
|
+
*
|
|
116
|
+
* When this function is called the value is stored. Each time the control's
|
|
117
|
+
* value changes the value is compared with the initial value. Currenly the
|
|
118
|
+
* values are compared as stringified objects using `JSON.stringify`.
|
|
119
|
+
*
|
|
120
|
+
* TODO: Allow the value compare implementation to be optionally changed.
|
|
121
|
+
*/
|
|
122
|
+
function observeControlIsDifferent(control) {
|
|
123
|
+
const _initial = JSON.stringify(control.value);
|
|
124
|
+
return observeControlValue(control)
|
|
125
|
+
.pipe(map(value => JSON.stringify(value) !== _initial), distinctUntilChanged());
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Wait on the status of a form control to not be `'PENDING'`.
|
|
130
|
+
*
|
|
131
|
+
* NOTE: This function is mainly just a work around for an issue where
|
|
132
|
+
* `statusChanges` sometimes emits `'Pending'` without emitting another state
|
|
133
|
+
* when complete. Seems to happen with async validators if the value changes
|
|
134
|
+
* before completing, even if the validator completes(subscription `complete`
|
|
135
|
+
* if observable).
|
|
136
|
+
*/
|
|
137
|
+
function waitOnNonPendingStatus(control) {
|
|
138
|
+
return merge(control.statusChanges, interval(30).pipe(mapTo(control), map(c => c.status)))
|
|
139
|
+
.pipe(startWith(control.status))
|
|
140
|
+
.pipe(filter(v => v !== 'PENDING'))
|
|
141
|
+
.pipe(take(1));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Observe the status of a control using a work around for status not changing
|
|
146
|
+
* after pending.
|
|
147
|
+
*/
|
|
148
|
+
function observeControlStatus(control) {
|
|
149
|
+
return of(control)
|
|
150
|
+
.pipe(switchMap(_control => _control.statusChanges
|
|
151
|
+
.pipe(startWith(_control.status))
|
|
152
|
+
.pipe(switchMap(status => status === 'PENDING'
|
|
153
|
+
? waitOnNonPendingStatus(control)
|
|
154
|
+
.pipe(startWith(status))
|
|
155
|
+
: of(status)))));
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Observe the valid state of a control.
|
|
160
|
+
*
|
|
161
|
+
* By default `waitOnPending` is false and the control states map to:
|
|
162
|
+
* 'VALID' => true
|
|
163
|
+
* 'INVALID' => false
|
|
164
|
+
* 'PENDING' => false
|
|
165
|
+
*
|
|
166
|
+
* If `waitOnPending` is true the valid result when 'PENDING' remains the same
|
|
167
|
+
* as it was before 'PENDING' until it is no longer 'PENDING'.
|
|
168
|
+
*/
|
|
169
|
+
function observeControlValid(control, waitOnPending = false) {
|
|
170
|
+
if (waitOnPending) {
|
|
171
|
+
return observeControlStatus(control)
|
|
172
|
+
.pipe(distinctUntilChanged())
|
|
173
|
+
.pipe(startWith(undefined))
|
|
174
|
+
.pipe(pairwise())
|
|
175
|
+
.pipe(map(v => ({ previous: v[0], current: v[1] })))
|
|
176
|
+
.pipe(map(v => v.current === 'PENDING' ? v.previous : v.current))
|
|
177
|
+
.pipe(map(status => status === 'VALID'));
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
return observeControlStatus(control)
|
|
181
|
+
.pipe(distinctUntilChanged())
|
|
182
|
+
.pipe(map(status => status === 'VALID'));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Observe the value of a control with the previous.
|
|
188
|
+
*/
|
|
189
|
+
function observeControlValueChange(control) {
|
|
190
|
+
return observeControlValue(control)
|
|
191
|
+
.pipe(startWith(undefined), pairwise(), map(v => ({ previous: v[0], current: v[1] })));
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// Source: https://stackoverflow.com/a/59361497/7926298
|
|
195
|
+
function hasProperty(style, prop
|
|
196
|
+
// ): style is T & { [P in K]-?: Exclude<T[K], undefined> } {
|
|
197
|
+
) {
|
|
198
|
+
return style.hasOwnProperty(prop) && style[prop] !== undefined;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Check if control has a required control.
|
|
203
|
+
*
|
|
204
|
+
* ----------------------------------------------------------------------------
|
|
205
|
+
* NOTE: I am not sure about if this should be used or not.
|
|
206
|
+
*
|
|
207
|
+
* From my understanding this assumes that all the validators do not have some
|
|
208
|
+
* unexpected side-effect from being called like this. It could be argued that
|
|
209
|
+
* the validator is flawed and should be fixed if that is the case, but I am not
|
|
210
|
+
* convinced that is correct yet.
|
|
211
|
+
*
|
|
212
|
+
* An example that I think is valid for this argument: A FormControl configured
|
|
213
|
+
* to only check validators when a specific condition happens, because of a
|
|
214
|
+
* reason that it has to do a long process. In that situation should this
|
|
215
|
+
* function be smart enough to consider that or is it up to the validator to
|
|
216
|
+
* consider this function possibly being used.
|
|
217
|
+
*
|
|
218
|
+
* This seems to assume the required validator will always be a synchronous
|
|
219
|
+
* validator. That is a valid assumption if thinking about showing a required
|
|
220
|
+
* state in the UI, but a FormControl does not neccessarily have to be used in
|
|
221
|
+
* UI. So, I think it could be valid to have an async validator that uses the
|
|
222
|
+
* name `required` for it error, but I do not have a good example, so I could be
|
|
223
|
+
* wrong.
|
|
224
|
+
* ----------------------------------------------------------------------------
|
|
225
|
+
*
|
|
226
|
+
* Source: https://gist.github.com/jsdevtom/5589af349a395b37e699b67417ef025b
|
|
227
|
+
* @experimental
|
|
228
|
+
* @ignore
|
|
229
|
+
*/
|
|
230
|
+
function hasRequiredControl(abstractControl) {
|
|
231
|
+
if (abstractControl.validator) {
|
|
232
|
+
const validator = abstractControl.validator({});
|
|
233
|
+
if (validator && validator.required) {
|
|
234
|
+
return true;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
const _abstractControl = abstractControl;
|
|
238
|
+
if (hasProperty(_abstractControl, 'controls')) {
|
|
239
|
+
for (const controlName in _abstractControl.controls) {
|
|
240
|
+
if (_abstractControl.controls[controlName]) {
|
|
241
|
+
if (hasRequiredControl(_abstractControl.controls[controlName])) {
|
|
242
|
+
return true;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return false;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
// Source: https://github.com/angular/angular/blob/master/packages/forms/src/validators.ts#L16
|
|
251
|
+
function isEmptyInputValue(value) {
|
|
252
|
+
// we don't check for string here so it also works with arrays
|
|
253
|
+
return value == null || value.length === 0;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
function mapEach(predicate) {
|
|
257
|
+
return (source$) => source$.pipe(switchMap(v => from(v).pipe(map(m => predicate(m)), toArray())));
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Like tap, but only calls predicate on first emission.
|
|
262
|
+
*/
|
|
263
|
+
function tapFirst(predicate) {
|
|
264
|
+
let _initialized = false;
|
|
265
|
+
return (source$) => source$.pipe(tap(v => {
|
|
266
|
+
if (!_initialized) {
|
|
267
|
+
predicate(v);
|
|
268
|
+
_initialized = true;
|
|
269
|
+
}
|
|
270
|
+
}));
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
function leafChildRoute(activatedRoute) {
|
|
274
|
+
let route = activatedRoute;
|
|
275
|
+
while (route.firstChild) {
|
|
276
|
+
route = route.firstChild;
|
|
277
|
+
}
|
|
278
|
+
return route;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
function hasRouteConfigDataProp(route, prop) {
|
|
282
|
+
return !!(route && route.routeConfig && route.routeConfig.data && route.routeConfig.data.hasOwnProperty(prop));
|
|
283
|
+
}
|
|
284
|
+
function hasRouteConfigResolveProp(route, prop) {
|
|
285
|
+
return !!(route && route.routeConfig && route.routeConfig.resolve && route.routeConfig.resolve.hasOwnProperty(prop));
|
|
286
|
+
}
|
|
287
|
+
function willHaveDataProp(route, prop) {
|
|
288
|
+
return hasRouteConfigDataProp(route, prop) || hasRouteConfigResolveProp(route, prop);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
function activatedRoutesWithDataProperty(prop, mustHaveDefined = false) {
|
|
292
|
+
const _data = (r) => r.data.pipe(map(_d => ({ route: r, data: _d })));
|
|
293
|
+
return (source$) => source$.pipe(map(route => leafChildRoute(route)), map(route => route.pathFromRoot), switchMap(routes => combineLatest(routes.map(r => _data(r)))), map(v => v.filter(_v => _v.data.hasOwnProperty(prop))), map(v => mustHaveDefined
|
|
294
|
+
? v.filter(_v => willHaveDataProp(_v.route, prop))
|
|
295
|
+
: v));
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
function routeSnapshotPathRelative(route) {
|
|
299
|
+
return route.url.reduce((path, urlSegment) => path += '/' + urlSegment.path, '');
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
function routeSnapshotPathFull(route) {
|
|
303
|
+
return route.pathFromRoot.reduce((path, _route) => path += routeSnapshotPathRelative(_route), '');
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
function isEmptyUrlRoute(activatedRoute) {
|
|
307
|
+
return activatedRoute.snapshot.url.length === 0;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
function calcPercentage(total, n) {
|
|
311
|
+
return total && total > 0 ? (n / total) * 100 : 0;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Polyfil for `Element.toggleAttribute`
|
|
316
|
+
*
|
|
317
|
+
* Toggles a value without a value. Useful for attributes, such as `disabled`,
|
|
318
|
+
* `readonly`, and `hidden`, that only needs to exist on the `Element` without
|
|
319
|
+
* requiring a value.
|
|
320
|
+
*
|
|
321
|
+
* Most browsers natively support this feature, but IE, which we still try to
|
|
322
|
+
* support for at least the main parts of the app, has "Unknown" support of this
|
|
323
|
+
* feature. Until IE support is dropped this polyfil should be used to toggle an
|
|
324
|
+
* attribute.
|
|
325
|
+
*
|
|
326
|
+
* Source:
|
|
327
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/Element/toggleAttribute#Polyfill
|
|
328
|
+
*/
|
|
329
|
+
function toggleAttribute(element, name, force) {
|
|
330
|
+
if (force !== void 0) {
|
|
331
|
+
force = !!force;
|
|
332
|
+
}
|
|
333
|
+
if (element.getAttribute(name) !== null) {
|
|
334
|
+
if (force) {
|
|
335
|
+
return true;
|
|
336
|
+
}
|
|
337
|
+
element.removeAttribute(name);
|
|
338
|
+
return false;
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
if (force === false) {
|
|
342
|
+
return false;
|
|
343
|
+
}
|
|
344
|
+
element.setAttribute(name, '');
|
|
345
|
+
return true;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
const phoneNumberMask = ['(', /[1-9]/, /\d/, /\d/, ')', ' ', /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/];
|
|
350
|
+
|
|
351
|
+
function isNullOrUndefined(value) {
|
|
352
|
+
return value === undefined || value === null;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
function loadStyle(content) {
|
|
356
|
+
return new Promise((resolve, reject) => {
|
|
357
|
+
const s = document.createElement('style');
|
|
358
|
+
s.onload = () => resolve(s);
|
|
359
|
+
s.onerror = (e) => {
|
|
360
|
+
document.head.removeChild(s);
|
|
361
|
+
reject(e);
|
|
362
|
+
};
|
|
363
|
+
s.innerHTML = content;
|
|
364
|
+
document.head.appendChild(s);
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
function loadStyleSheet(path) {
|
|
369
|
+
return new Promise((resolve, reject) => {
|
|
370
|
+
const s = document.createElement('link');
|
|
371
|
+
s.onload = () => resolve(s);
|
|
372
|
+
s.onerror = (e) => {
|
|
373
|
+
document.head.removeChild(s);
|
|
374
|
+
reject(e);
|
|
375
|
+
};
|
|
376
|
+
s.rel = 'stylesheet';
|
|
377
|
+
s.href = path;
|
|
378
|
+
document.head.appendChild(s);
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
/** Returns object without property */
|
|
383
|
+
function withoutProperty(obj, propName) {
|
|
384
|
+
const _a = obj, _b = propName, _ = _a[_b], without = __rest(_a, [typeof _b === "symbol" ? _b : _b + ""]);
|
|
385
|
+
return without;
|
|
386
|
+
}
|
|
387
|
+
/** Returns object without properties */
|
|
388
|
+
function withoutProperties(obj, propNames) {
|
|
389
|
+
let without = obj;
|
|
390
|
+
for (const propName of propNames) {
|
|
391
|
+
without = withoutProperty(without, propName);
|
|
392
|
+
}
|
|
393
|
+
return without;
|
|
394
|
+
}
|
|
395
|
+
/** Delete property of object */
|
|
396
|
+
function deleteProperty(obj, propName) {
|
|
397
|
+
if (obj.hasOwnProperty(propName)) {
|
|
398
|
+
delete obj[propName];
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
/** Delete properties of object */
|
|
402
|
+
function deleteProperties(obj, propNames) {
|
|
403
|
+
for (const propName of propNames) {
|
|
404
|
+
deleteProperty(obj, propName);
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
// import { Buffer } from 'buffer/'
|
|
409
|
+
const Buffer = require('buffer/').Buffer;
|
|
410
|
+
function readFileAsync(file) {
|
|
411
|
+
return new Promise((resolve, reject) => {
|
|
412
|
+
const reader = new FileReader();
|
|
413
|
+
reader.onload = () => {
|
|
414
|
+
resolve(reader.result);
|
|
415
|
+
};
|
|
416
|
+
reader.readAsArrayBuffer(file);
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
function readFileAsDataUrlAsync(file) {
|
|
420
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
421
|
+
return new Promise((resolve, reject) => {
|
|
422
|
+
const reader = new FileReader();
|
|
423
|
+
reader.onload = () => {
|
|
424
|
+
resolve(reader.result);
|
|
425
|
+
};
|
|
426
|
+
reader.readAsDataURL(file);
|
|
427
|
+
});
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
function fileBufferToBlob(fileBuffer, defaultMime = 'application/octet-stream') {
|
|
431
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
432
|
+
const fType = fileType(fileBuffer);
|
|
433
|
+
const mime = (fType) ? fType.mime : defaultMime;
|
|
434
|
+
const blob = new Blob([fileBuffer], { type: mime });
|
|
435
|
+
return blob;
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
function fileBufferToObjectUrl(fileBuffer, defaultMime = 'application/octet-stream') {
|
|
439
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
440
|
+
const file = yield fileBufferToBlob(fileBuffer, defaultMime);
|
|
441
|
+
const fileURL = URL.createObjectURL(file);
|
|
442
|
+
return fileURL;
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
function fileDataFromBuffer(fileBuffer, defaultMime = 'application/octet-stream') {
|
|
446
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
447
|
+
const _fileBuffer = Buffer.from(fileBuffer);
|
|
448
|
+
const fType = fileType(_fileBuffer);
|
|
449
|
+
const ext = fType && fType.ext || undefined;
|
|
450
|
+
const mime = fType ? fType.mime : defaultMime;
|
|
451
|
+
const blob = new Blob([_fileBuffer], { type: mime });
|
|
452
|
+
const fileData = { ext, mime, blob };
|
|
453
|
+
return fileData;
|
|
454
|
+
});
|
|
455
|
+
}
|
|
456
|
+
function openBlob(blob, target, filename) {
|
|
457
|
+
// NOTE: IE and MSEdge do not allow Blob resources as a source for
|
|
458
|
+
// tabs or iframes. msSaveOrOpenBlob is used as a workaround. I
|
|
459
|
+
// haven't been able to find a way to just open the Blob file in
|
|
460
|
+
// another tab yet for IE or MSEdge.
|
|
461
|
+
if (window.navigator.msSaveOrOpenBlob) {
|
|
462
|
+
window.navigator.msSaveOrOpenBlob(blob, filename);
|
|
463
|
+
}
|
|
464
|
+
else {
|
|
465
|
+
const url = URL.createObjectURL(blob);
|
|
466
|
+
const win = window.open(url, target);
|
|
467
|
+
// TODO: Consider if always setting opener to null is to restrictive
|
|
468
|
+
// if (win && target && target.toLowerCase() === '_blank') {
|
|
469
|
+
// win.opener = null
|
|
470
|
+
// }
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
function notNullOrUndefined(value) {
|
|
475
|
+
return value !== null && value !== undefined;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
function waitOnConditionAsync(condition, timeoutDuration = -1, throwOnTimeout = true) {
|
|
479
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
480
|
+
const timeStart = new Date();
|
|
481
|
+
const _waitFunc = (callback) => {
|
|
482
|
+
let conditionSuccess = false;
|
|
483
|
+
if (condition()) {
|
|
484
|
+
callback(true);
|
|
485
|
+
conditionSuccess = true;
|
|
486
|
+
}
|
|
487
|
+
if (!conditionSuccess) {
|
|
488
|
+
const timeNow = new Date();
|
|
489
|
+
const duration = timeNow - timeStart;
|
|
490
|
+
if (timeoutDuration > -1 && duration > timeoutDuration) {
|
|
491
|
+
if (throwOnTimeout) {
|
|
492
|
+
throw new Error('Timed out waiting on condition.');
|
|
493
|
+
}
|
|
494
|
+
else {
|
|
495
|
+
callback(false);
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
setTimeout(() => { _waitFunc(callback); }, 30);
|
|
499
|
+
}
|
|
500
|
+
};
|
|
501
|
+
return new Promise((resolve, reject) => {
|
|
502
|
+
const fn = (b) => {
|
|
503
|
+
resolve(b);
|
|
504
|
+
};
|
|
505
|
+
_waitFunc(fn);
|
|
506
|
+
});
|
|
507
|
+
});
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
class IntervalTimer {
|
|
511
|
+
constructor(_callback, intervalTime, startOnInit = true) {
|
|
512
|
+
this._callback = _callback;
|
|
513
|
+
this._intervalId = null;
|
|
514
|
+
this._intervalTime = intervalTime;
|
|
515
|
+
if (startOnInit) {
|
|
516
|
+
this.start();
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
set intervalTime(time) {
|
|
520
|
+
this._intervalTime = time;
|
|
521
|
+
}
|
|
522
|
+
start() {
|
|
523
|
+
if (this._intervalId === null) {
|
|
524
|
+
this._intervalId = window.setInterval(() => {
|
|
525
|
+
this._callback();
|
|
526
|
+
}, this._intervalTime);
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
stop() {
|
|
530
|
+
if (this._intervalId !== null) {
|
|
531
|
+
clearInterval(this._intervalId);
|
|
532
|
+
this._intervalId = null;
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
reset(newIntervalTime) {
|
|
536
|
+
if (newIntervalTime) {
|
|
537
|
+
this.intervalTime = newIntervalTime;
|
|
538
|
+
}
|
|
539
|
+
this.stop();
|
|
540
|
+
this.start();
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
// tslint:disable:no-inferrable-types
|
|
544
|
+
class PollingTickerOptions {
|
|
545
|
+
constructor() {
|
|
546
|
+
this.emitOnInit = true;
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
// tslint:enable:no-inferrable-types
|
|
550
|
+
// TODO: Simplify complexity.
|
|
551
|
+
/**
|
|
552
|
+
* Call an action and emits the result to its subscriber on an interval or when
|
|
553
|
+
* ticker emits. When the ticker emits, the interval time will reset.
|
|
554
|
+
*
|
|
555
|
+
* When subscribed to, the action will be called and emitted right away unless
|
|
556
|
+
* the `emitOnInit` option is set to false.
|
|
557
|
+
*/
|
|
558
|
+
function pollingTicker(action, pollingInterval, ticker, options) {
|
|
559
|
+
return new Observable((subscriber) => {
|
|
560
|
+
const _opts = Object.assign(Object.assign({}, (new PollingTickerOptions())), (options || {}));
|
|
561
|
+
let timer = null;
|
|
562
|
+
let actionSub = null;
|
|
563
|
+
let tickerSub = null;
|
|
564
|
+
try {
|
|
565
|
+
const handleAction = () => {
|
|
566
|
+
if (timer) {
|
|
567
|
+
timer.stop();
|
|
568
|
+
}
|
|
569
|
+
const actionResult = action();
|
|
570
|
+
if (isObservable(actionResult)) {
|
|
571
|
+
if (actionSub) {
|
|
572
|
+
actionSub.unsubscribe();
|
|
573
|
+
}
|
|
574
|
+
actionSub = actionResult.subscribe((v) => { subscriber.next(v); if (timer) {
|
|
575
|
+
timer.reset();
|
|
576
|
+
} }, (err) => { subscriber.error(err); }, () => {
|
|
577
|
+
actionSub = null;
|
|
578
|
+
if (timer) {
|
|
579
|
+
timer.start();
|
|
580
|
+
}
|
|
581
|
+
});
|
|
582
|
+
}
|
|
583
|
+
else {
|
|
584
|
+
subscriber.next(actionResult);
|
|
585
|
+
}
|
|
586
|
+
if (timer) {
|
|
587
|
+
timer.start();
|
|
588
|
+
}
|
|
589
|
+
};
|
|
590
|
+
if (_opts.emitOnInit) {
|
|
591
|
+
handleAction();
|
|
592
|
+
}
|
|
593
|
+
if (pollingInterval) {
|
|
594
|
+
timer = new IntervalTimer(() => {
|
|
595
|
+
handleAction();
|
|
596
|
+
}, pollingInterval);
|
|
597
|
+
}
|
|
598
|
+
if (ticker) {
|
|
599
|
+
tickerSub = ticker.subscribe(newPollingInterval => {
|
|
600
|
+
if (newPollingInterval && timer) {
|
|
601
|
+
timer.stop();
|
|
602
|
+
if (newPollingInterval) {
|
|
603
|
+
timer.intervalTime = newPollingInterval;
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
handleAction();
|
|
607
|
+
if (timer) {
|
|
608
|
+
timer.reset();
|
|
609
|
+
}
|
|
610
|
+
});
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
catch (err) {
|
|
614
|
+
subscriber.error(err);
|
|
615
|
+
}
|
|
616
|
+
return () => {
|
|
617
|
+
if (timer) {
|
|
618
|
+
timer.stop();
|
|
619
|
+
}
|
|
620
|
+
if (actionSub) {
|
|
621
|
+
actionSub.unsubscribe();
|
|
622
|
+
}
|
|
623
|
+
if (tickerSub) {
|
|
624
|
+
tickerSub.unsubscribe();
|
|
625
|
+
}
|
|
626
|
+
};
|
|
627
|
+
});
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
class Refreshable {
|
|
631
|
+
constructor(action, pollingInterval) {
|
|
632
|
+
this._initialized = false;
|
|
633
|
+
this._pollingInterval = new BehaviorSubject(0);
|
|
634
|
+
this._ticker = new Subject();
|
|
635
|
+
this._pending = new BehaviorSubject(false);
|
|
636
|
+
/**
|
|
637
|
+
* Intercepts the action call to monitor pending state
|
|
638
|
+
*/
|
|
639
|
+
this._actionHandler = (action) => {
|
|
640
|
+
return () => {
|
|
641
|
+
this._pending.next(true);
|
|
642
|
+
const actionResult = action();
|
|
643
|
+
if (isObservable(actionResult)) {
|
|
644
|
+
return actionResult.pipe(tap(() => { this._pending.next(false); }));
|
|
645
|
+
}
|
|
646
|
+
else {
|
|
647
|
+
this._pending.next(true);
|
|
648
|
+
return actionResult;
|
|
649
|
+
}
|
|
650
|
+
};
|
|
651
|
+
};
|
|
652
|
+
if (pollingInterval !== null && pollingInterval !== undefined) {
|
|
653
|
+
this._pollingInterval.next(pollingInterval);
|
|
654
|
+
}
|
|
655
|
+
this.pending$ = this._pending.asObservable()
|
|
656
|
+
.pipe(distinctUntilChanged(), shareReplay(1));
|
|
657
|
+
this.data$ = pollingTicker(this._actionHandler(action), pollingInterval, this._ticker)
|
|
658
|
+
.pipe(tapFirst(() => this._initialized = true), publishReplay(), refCount());
|
|
659
|
+
}
|
|
660
|
+
get initialized() { return this._initialized; }
|
|
661
|
+
/**
|
|
662
|
+
* Selects the data observable
|
|
663
|
+
*/
|
|
664
|
+
select(refresh) {
|
|
665
|
+
if (refresh && this._initialized && !this._pending.value) {
|
|
666
|
+
this._ticker.next();
|
|
667
|
+
}
|
|
668
|
+
return this.data$;
|
|
669
|
+
}
|
|
670
|
+
refresh() {
|
|
671
|
+
let result$;
|
|
672
|
+
if (this._initialized) {
|
|
673
|
+
// TODO: Add a test and maybe refactor this to be more clear. It worked in
|
|
674
|
+
// my manual tests, but there may be some situations where this doesn't
|
|
675
|
+
// work, since the ticker isn't the only way to trigger a refresh. Right
|
|
676
|
+
// now it should be fine, but if an async operator is added to be run
|
|
677
|
+
// each time `data$` is subscribed to, then this could fail if the data
|
|
678
|
+
// emits one extra time before the ticker is triggered.
|
|
679
|
+
let _polled = false;
|
|
680
|
+
result$ = this.data$
|
|
681
|
+
.pipe(tap(_ => !_polled && (_polled = true) && this._ticker.next()), skip(1));
|
|
682
|
+
}
|
|
683
|
+
else {
|
|
684
|
+
result$ = this.data$;
|
|
685
|
+
}
|
|
686
|
+
return result$
|
|
687
|
+
.pipe(take(1), mapTo(undefined));
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
function wrapIntoObservable(value) {
|
|
692
|
+
if (isObservable(value)) {
|
|
693
|
+
return value;
|
|
694
|
+
}
|
|
695
|
+
return from(Promise.resolve(value));
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
/**
|
|
699
|
+
* Explaination:
|
|
700
|
+
* ^ - beginning of the string
|
|
701
|
+
* (?: - beginning of a non-captured group
|
|
702
|
+
* [a-z]+ - any character of 'a' to 'z' 1 or more times
|
|
703
|
+
* : - string (colon character)
|
|
704
|
+
* )? - end of the non-captured group. Group appearing 0 or 1 times
|
|
705
|
+
* // - string (two forward slash characters)
|
|
706
|
+
* 'i' - non case-sensitive flag
|
|
707
|
+
*
|
|
708
|
+
* source: https://stackoverflow.com/a/19709846
|
|
709
|
+
*/
|
|
710
|
+
const IS_ABSOLUTE_URL_REGEX = new RegExp('^(?:[a-z]+:)?//', 'i');
|
|
711
|
+
function isAbsoluteUrl(url) {
|
|
712
|
+
return IS_ABSOLUTE_URL_REGEX.test(url);
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
/**
|
|
716
|
+
* This is just for helping debug observables that aren't being unsubscribed
|
|
717
|
+
* from correctly.
|
|
718
|
+
*/
|
|
719
|
+
function subscriberCount(sourceObservable, description) {
|
|
720
|
+
let counter = 0;
|
|
721
|
+
return new Observable((subscriber) => {
|
|
722
|
+
const subscription = sourceObservable.subscribe(subscriber);
|
|
723
|
+
counter++;
|
|
724
|
+
console.log(`${description} subscriptions: ${counter}`);
|
|
725
|
+
return () => {
|
|
726
|
+
subscription.unsubscribe();
|
|
727
|
+
counter--;
|
|
728
|
+
console.log(`${description} subscriptions: ${counter}`);
|
|
729
|
+
};
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
function observeQueryList(queryList, emitCurrentValue = true) {
|
|
734
|
+
return queryList.changes.pipe(startWith(queryList), map(v => v.toArray()));
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
function createPadding(len, chars) {
|
|
738
|
+
// if (chars.length <= len) {
|
|
739
|
+
// return chars
|
|
740
|
+
// }
|
|
741
|
+
if (chars.length === 0) {
|
|
742
|
+
throw Error(`Padding characters must be at least 1 char length.`);
|
|
743
|
+
}
|
|
744
|
+
let str = chars;
|
|
745
|
+
while (str.length < len) {
|
|
746
|
+
str += chars;
|
|
747
|
+
}
|
|
748
|
+
if (str.length > len) {
|
|
749
|
+
str = str.slice(0, len);
|
|
750
|
+
}
|
|
751
|
+
return str;
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
function padEnd(stringToPad, paddingLength = 0, paddingChars = ' ') {
|
|
755
|
+
const strLength = paddingLength ? stringToPad.length : 0;
|
|
756
|
+
if (!paddingLength || strLength >= paddingLength) {
|
|
757
|
+
return stringToPad;
|
|
758
|
+
}
|
|
759
|
+
return stringToPad + createPadding(paddingLength - strLength, paddingChars);
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
function padStart(stringToPad, paddingLength = 0, paddingChars = ' ') {
|
|
763
|
+
const strLength = paddingLength ? stringToPad.length : 0;
|
|
764
|
+
if (!paddingLength || strLength >= paddingLength) {
|
|
765
|
+
return stringToPad;
|
|
766
|
+
}
|
|
767
|
+
return createPadding(paddingLength - strLength, paddingChars) + stringToPad;
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
function isNumeric(value) {
|
|
771
|
+
return !isNaN(Number(value) - parseFloat(value));
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
/**
|
|
775
|
+
* Returns the number of fractional digits.
|
|
776
|
+
*
|
|
777
|
+
* NOTE: This is intended for input validation, so trailing 0's will be included
|
|
778
|
+
* in the total. Also, localization is not considered, so '.' is assumed to be
|
|
779
|
+
* the fractional separator.
|
|
780
|
+
*/
|
|
781
|
+
function fractionalDigitsCount(value) {
|
|
782
|
+
if (!isNumeric(value)) {
|
|
783
|
+
return null;
|
|
784
|
+
}
|
|
785
|
+
const a = value.split('.');
|
|
786
|
+
if (a.length !== 2) {
|
|
787
|
+
return null;
|
|
788
|
+
}
|
|
789
|
+
return a[1].length;
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
/**
|
|
793
|
+
* Generated bundle index. Do not edit.
|
|
794
|
+
*/
|
|
795
|
+
|
|
796
|
+
export { PollingTickerOptions, Refreshable, activatedRoutesWithDataProperty, calcPercentage, createPadding, deleteProperties, deleteProperty, fileBufferToBlob, fileBufferToObjectUrl, fileDataFromBuffer, fractionalDigitsCount, getAttribute, getClosestWidgetCdkDrag, getControlName, getControlPath, hasAttribute, hasProperty, hasRequiredControl, isAbsoluteUrl, isEmptyInputValue, isEmptyUrlRoute, isNullOrUndefined, isNumeric, leafChildRoute, loadStyle, loadStyleSheet, mapEach, notNullOrUndefined, observeControlIsDifferent, observeControlStatus, observeControlValid, observeControlValue, observeControlValueChange, observeQueryList, openBlob, padEnd, padStart, phoneNumberMask, pollingTicker, readFileAsDataUrlAsync, readFileAsync, routeSnapshotPathFull, routeSnapshotPathRelative, tapFirst, toggleAttribute, waitOnConditionAsync, waitOnNonPendingStatus, willHaveDataProp, withoutProperties, withoutProperty, wrapIntoObservable };
|
|
797
|
+
//# sourceMappingURL=theseam-ui-common-utils.js.map
|