@theseam/ui-common 0.4.0-beta.2 → 0.4.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/breadcrumbs/breadcrumb.d.ts +1 -1
- package/breadcrumbs/breadcrumbs-resolver.d.ts +1 -1
- package/core/common-behaviors/active.d.ts +1 -1
- package/core/common-behaviors/constructor.d.ts +1 -1
- package/core/common-behaviors/disabled.d.ts +1 -1
- package/core/common-behaviors/initialized.d.ts +1 -1
- package/core/common-behaviors/size.d.ts +1 -1
- package/core/common-behaviors/tabindex.d.ts +1 -1
- package/core/common-behaviors/theme.d.ts +1 -1
- package/data-exporter/data-exporter.d.ts +1 -1
- package/data-filters/data-filter.d.ts +3 -3
- package/data-filters/filters/data-filter-search/search-filter-options.d.ts +1 -1
- package/datatable/datatable-column/datatable-column.component.d.ts +1 -1
- package/datatable/models/preferences.d.ts +1 -1
- package/datatable/models/table-column.d.ts +1 -1
- package/datatable/services/columns-manager.service.d.ts +1 -1
- package/datatable-dynamic/datatable-dynamic-def.d.ts +3 -3
- package/datatable-dynamic/models/dynamic-datatable-action-menu-record.d.ts +1 -1
- package/dynamic/models/dynamic-value-base-type.d.ts +1 -1
- package/dynamic/models/dynamic-value-evaluatable-type.d.ts +1 -1
- package/dynamic/models/dynamic-value-primitive.d.ts +1 -1
- package/dynamic/models/dynamic-value.d.ts +1 -1
- package/dynamic/tokens/api-config.d.ts +1 -1
- package/esm2020/asset-reader/asset-reader-helper.service.mjs +3 -3
- package/esm2020/asset-reader/asset-reader.module.mjs +4 -4
- package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +12 -12
- package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +3 -3
- package/esm2020/breadcrumbs/breadcrumbs.module.mjs +4 -4
- package/esm2020/breadcrumbs/breadcrumbs.service.mjs +3 -3
- package/esm2020/buttons/badge-button/badge-button.component.mjs +6 -6
- package/esm2020/buttons/button/button.component.mjs +9 -9
- package/esm2020/buttons/buttons.module.mjs +4 -4
- package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +3 -3
- package/esm2020/buttons/toggle-button/toggle-button.component.mjs +5 -5
- package/esm2020/card/card-action/card-action.component.mjs +3 -3
- package/esm2020/card/card-body/card-body.component.mjs +3 -3
- package/esm2020/card/card-footer/card-footer.component.mjs +3 -3
- package/esm2020/card/card-header/card-header.component.mjs +3 -3
- package/esm2020/card/card.component.mjs +3 -3
- package/esm2020/card/card.module.mjs +4 -4
- package/esm2020/checkbox/checkbox.component.mjs +43 -43
- package/esm2020/checkbox/checkbox.module.mjs +4 -4
- package/esm2020/checkbox/testing/checkbox.harness.mjs +1 -1
- package/esm2020/checkbox/testing/index.mjs +1 -1
- package/esm2020/confirm-dialog/confirm-click.directive.mjs +9 -9
- package/esm2020/confirm-dialog/confirm-dialog.component.mjs +3 -3
- package/esm2020/confirm-dialog/confirm-dialog.module.mjs +4 -4
- package/esm2020/confirm-dialog/confirm-dialog.service.mjs +3 -3
- package/esm2020/core/common-behaviors/active.mjs +3 -3
- package/esm2020/core/common-behaviors/disabled.mjs +3 -3
- package/esm2020/core/common-behaviors/size.mjs +6 -6
- package/esm2020/core/common-behaviors/tabindex.mjs +5 -5
- package/esm2020/core/common-behaviors/theme.mjs +6 -6
- package/esm2020/data-exporter/data-exporter.module.mjs +4 -4
- package/esm2020/data-exporter/exporters/csv-exporter.mjs +3 -3
- package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +3 -3
- package/esm2020/data-filters/data-filters.module.mjs +4 -4
- package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +10 -10
- package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +10 -10
- package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +11 -11
- package/esm2020/datatable/datatable/datatable.component.mjs +108 -108
- package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +3 -3
- package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +3 -3
- package/esm2020/datatable/datatable-column/datatable-column.component.mjs +7 -7
- package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +3 -3
- package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +3 -3
- package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +7 -7
- package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +3 -3
- package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +3 -3
- package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +8 -8
- package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +3 -3
- package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +3 -3
- package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +3 -3
- package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +3 -3
- package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +3 -3
- package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +3 -3
- package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +3 -3
- package/esm2020/datatable/datatable.module.mjs +4 -4
- package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +3 -3
- package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +11 -11
- package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +3 -3
- package/esm2020/datatable/directives/datatable-filter.directive.mjs +3 -3
- package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +3 -3
- package/esm2020/datatable/services/columns-alterations-manager.service.mjs +3 -3
- package/esm2020/datatable/services/columns-manager.service.mjs +3 -3
- package/esm2020/datatable/services/datatable-column-changes.service.mjs +3 -3
- package/esm2020/datatable/services/datatable-preferences.service.mjs +6 -6
- package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +3 -3
- package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +12 -12
- package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +8 -8
- package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +6 -6
- package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +8 -8
- package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +4 -4
- package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +7 -7
- package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +3 -3
- package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +3 -3
- package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +3 -3
- package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +3 -3
- package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +3 -3
- package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +3 -3
- package/esm2020/dynamic/dynamic-value-helper.service.mjs +3 -3
- package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +3 -3
- package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +3 -3
- package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +4 -4
- package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +3 -3
- package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +3 -3
- package/esm2020/footer-bar/footer-bar.module.mjs +4 -4
- package/esm2020/form-field/form-field-error.directive.mjs +6 -6
- package/esm2020/form-field/form-field-help-text.directive.mjs +3 -3
- package/esm2020/form-field/form-field-label-tpl.directive.mjs +3 -3
- package/esm2020/form-field/form-field-required-indicator.component.mjs +3 -3
- package/esm2020/form-field/form-field-tokens.mjs +1 -1
- package/esm2020/form-field/form-field.component.mjs +48 -48
- package/esm2020/form-field/form-field.module.mjs +4 -4
- package/esm2020/form-field/input.directive.mjs +43 -43
- package/esm2020/form-field/testing/form-field-required-indicator.harness.mjs +1 -1
- package/esm2020/form-field/testing/index.mjs +1 -1
- package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +3 -3
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +3 -3
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +3 -3
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +92 -92
- package/esm2020/form-field-error/form-field-error.module.mjs +4 -4
- package/esm2020/framework/base-layout/base-layout.component.mjs +6 -6
- package/esm2020/framework/base-layout/base-layout.module.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +3 -3
- package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +3 -3
- package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +3 -3
- package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +10 -10
- package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +3 -3
- package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +3 -3
- package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +3 -3
- package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +3 -3
- package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +3 -3
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +3 -3
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +3 -3
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +18 -18
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +12 -12
- package/esm2020/framework/dashboard/dashboard-widgets-tokens.mjs +1 -1
- package/esm2020/framework/dashboard/dashboard.component.mjs +3 -3
- package/esm2020/framework/dashboard/dashboard.module.mjs +4 -4
- package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +4 -4
- package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +3 -3
- package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +3 -3
- package/esm2020/framework/schema-form/schema-form-framework.component.mjs +3 -3
- package/esm2020/framework/schema-form/schema-form-framework.mjs +3 -3
- package/esm2020/framework/schema-form/schema-form.module.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +3 -3
- package/esm2020/framework/schema-form-controls/schema-form-controls.module.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +3 -3
- package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +3 -3
- package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +3 -3
- package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +3 -3
- package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +3 -3
- package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +24 -24
- package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +3 -3
- package/esm2020/framework/side-nav/side-nav-tokens.mjs +1 -1
- package/esm2020/framework/side-nav/side-nav.component.mjs +17 -17
- package/esm2020/framework/side-nav/side-nav.module.mjs +4 -4
- package/esm2020/framework/side-nav/side-nav.service.mjs +3 -3
- package/esm2020/framework/top-bar/top-bar-item.directive.mjs +3 -3
- package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +3 -3
- package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +3 -3
- package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +3 -3
- package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +3 -3
- package/esm2020/framework/top-bar/top-bar.component.mjs +3 -3
- package/esm2020/framework/top-bar/top-bar.module.mjs +4 -4
- package/esm2020/google-maps/google-maps/google-maps.component.mjs +17 -17
- package/esm2020/google-maps/google-maps-controls.service.mjs +3 -3
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +20 -20
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +7 -7
- package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +7 -7
- package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +7 -7
- package/esm2020/google-maps/google-maps.module.mjs +4 -4
- package/esm2020/google-maps/google-maps.service.mjs +5 -5
- package/esm2020/google-maps/map-control.component.mjs +9 -9
- package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +3 -3
- package/esm2020/google-maps/map-value-manager.service.mjs +3 -3
- package/esm2020/graphql/datatable/datatable-graphql-query-ref.mjs +5 -5
- package/esm2020/graphql/datatable/datatable-graphql.service.mjs +3 -3
- package/esm2020/icon/icon/icon.component.mjs +3 -3
- package/esm2020/icon/icon-btn/icon-btn.component.mjs +24 -24
- package/esm2020/icon/icon-notification/icon-notification.component.mjs +3 -3
- package/esm2020/icon/icon.module.mjs +4 -4
- package/esm2020/layout/layout.module.mjs +4 -4
- package/esm2020/layout/layout.service.mjs +3 -3
- package/esm2020/loading/loading/loading.component.mjs +7 -7
- package/esm2020/loading/loading-overlay.service.mjs +3 -3
- package/esm2020/loading/loading.module.mjs +4 -4
- package/esm2020/menu/menu-divider.component.mjs +3 -3
- package/esm2020/menu/menu-footer/menu-footer.component.mjs +3 -3
- package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +7 -7
- package/esm2020/menu/menu-header/menu-header.component.mjs +3 -3
- package/esm2020/menu/menu-item.component.mjs +3 -3
- package/esm2020/menu/menu-toggle.directive.mjs +42 -42
- package/esm2020/menu/menu.component.mjs +15 -15
- package/esm2020/menu/menu.module.mjs +4 -4
- package/esm2020/modal/directives/modal-close.directive.mjs +11 -11
- package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +3 -3
- package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +3 -3
- package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +3 -3
- package/esm2020/modal/directives/modal-title.directive.mjs +3 -3
- package/esm2020/modal/directives/modal.directive.mjs +3 -3
- package/esm2020/modal/modal/modal.component.mjs +19 -19
- package/esm2020/modal/modal-body/modal-body.component.mjs +3 -3
- package/esm2020/modal/modal-container/modal-container.component.mjs +12 -12
- package/esm2020/modal/modal-footer/modal-footer.component.mjs +3 -3
- package/esm2020/modal/modal-header/modal-header.component.mjs +3 -3
- package/esm2020/modal/modal.module.mjs +4 -4
- package/esm2020/modal/modal.service.mjs +16 -16
- package/esm2020/modal/route-modal/route-modal.component.mjs +3 -3
- package/esm2020/popover/popover/popover.component.mjs +18 -18
- package/esm2020/popover/popover.directive.mjs +32 -32
- package/esm2020/popover/popover.module.mjs +4 -4
- package/esm2020/progress/progress-circle/progress-circle.component.mjs +9 -9
- package/esm2020/progress/progress.module.mjs +4 -4
- package/esm2020/public_api.mjs +1 -42
- package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +10 -10
- package/esm2020/scrollbar/overlay-scrollbars.service.mjs +3 -3
- package/esm2020/scrollbar/scrollbar.module.mjs +4 -4
- package/esm2020/services/asset-loader.service.mjs +3 -3
- package/esm2020/services/font-loader.service.mjs +3 -3
- package/esm2020/services/router-helpers.service.mjs +3 -3
- package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +3 -3
- package/esm2020/shared/directives/auto-focus.directive.mjs +3 -3
- package/esm2020/shared/directives/click-outside.directive.mjs +9 -9
- package/esm2020/shared/directives/disable-control.directive.mjs +7 -7
- package/esm2020/shared/directives/elem-resized.directive.mjs +3 -3
- package/esm2020/shared/directives/hover-class-toggle.directive.mjs +10 -10
- package/esm2020/shared/directives/hover-class.directive.mjs +9 -9
- package/esm2020/shared/directives/ng-select-extra.directive.mjs +26 -26
- package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +10 -10
- package/esm2020/shared/pipes/mask-chars.pipe.mjs +3 -3
- package/esm2020/shared/pipes/truncate.pipe.mjs +3 -3
- package/esm2020/shared/shared.module.mjs +4 -4
- package/esm2020/storage/local-storage.service.mjs +3 -3
- package/esm2020/story-helpers/initial-route.service.mjs +3 -3
- package/esm2020/story-helpers/story-empty-with-route.component.mjs +3 -3
- package/esm2020/story-helpers/story-empty.component.mjs +3 -3
- package/esm2020/story-helpers/story-helper-components.module.mjs +4 -4
- package/esm2020/story-helpers/story-initial-route.mjs +4 -4
- package/esm2020/story-helpers/story-modal-container.component.mjs +6 -6
- package/esm2020/story-helpers/story-toastr.service.mjs +3 -3
- package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +3 -3
- package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +3 -3
- package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +3 -3
- package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +3 -3
- package/esm2020/tabbed/tabbed-models.mjs +1 -1
- package/esm2020/tabbed/tabbed.component.mjs +13 -13
- package/esm2020/tabbed/tabbed.module.mjs +4 -4
- package/esm2020/tabbed/tabbed.service.mjs +3 -3
- package/esm2020/table/table/table.component.mjs +11 -11
- package/esm2020/table/table.module.mjs +4 -4
- package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +3 -3
- package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +3 -3
- package/esm2020/table-cell-type/table-cell-type.module.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +3 -3
- package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +3 -3
- package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +3 -3
- package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +31 -31
- package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +3 -3
- package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +6 -6
- package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +3 -3
- package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +3 -3
- package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +23 -23
- package/esm2020/table-cell-types/table-cell-types.module.mjs +4 -4
- package/esm2020/tel-input/phone-number.pipe.mjs +3 -3
- package/esm2020/tel-input/tel-input/tel-input.component.mjs +34 -34
- package/esm2020/tel-input/tel-input.directive.mjs +18 -18
- package/esm2020/tel-input/tel-input.module.mjs +4 -4
- package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +20 -20
- package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +6 -6
- package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +10 -10
- package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +3 -3
- package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +3 -3
- package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +3 -3
- package/esm2020/tiled-select/tiled-select.module.mjs +4 -4
- package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +3 -3
- package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +3 -3
- package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +3 -3
- package/esm2020/toggle-edit/toggle-edit.component.mjs +16 -16
- package/esm2020/toggle-edit/toggle-edit.module.mjs +4 -4
- package/esm2020/toggle-group/toggle-group-option.directive.mjs +12 -12
- package/esm2020/toggle-group/toggle-group.directive.mjs +3 -3
- package/esm2020/toggle-group/toggle-group.module.mjs +4 -4
- package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +3 -3
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +3 -3
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +3 -3
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +4 -4
- package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
- package/esm2020/utils/geo-json/geo-json-to-area.mjs +1 -1
- package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
- package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
- package/esm2020/utils/geo-json/is-only-geometry-types.validator.mjs +1 -1
- package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
- package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
- package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
- package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +37 -37
- package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +4 -4
- package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +10 -10
- package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +3 -3
- package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +38 -38
- package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +4 -4
- package/esm2020/widget/directives/widget-drag-handle.directive.mjs +12 -12
- package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +3 -3
- package/esm2020/widget/directives/widget-title-tpl.directive.mjs +3 -3
- package/esm2020/widget/widget/widget.component.mjs +23 -23
- package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +3 -3
- package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +3 -3
- package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +3 -3
- package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +7 -7
- package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +3 -3
- package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +3 -3
- package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +3 -3
- package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +3 -3
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +15 -15
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +3 -3
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +3 -3
- package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +3 -3
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +8 -8
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +3 -3
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +3 -3
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +16 -16
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +3 -3
- package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +4 -4
- package/esm2020/widget/widget-footer/widget-footer.component.mjs +3 -3
- package/esm2020/widget/widget-registry.service.mjs +3 -3
- package/esm2020/widget/widget.module.mjs +4 -4
- package/fesm2015/theseam-ui-common-asset-reader.mjs +18 -18
- package/fesm2015/theseam-ui-common-asset-reader.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs +10 -10
- package/fesm2015/theseam-ui-common-buttons.mjs +26 -26
- package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-card.mjs +19 -19
- package/fesm2015/theseam-ui-common-checkbox.mjs +46 -46
- package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-confirm-dialog.mjs +18 -18
- package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-core.mjs +18 -18
- package/fesm2015/theseam-ui-common-core.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
- package/fesm2015/theseam-ui-common-data-filters.mjs +32 -32
- package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +46 -46
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable.mjs +208 -208
- package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +7 -7
- package/fesm2015/theseam-ui-common-dynamic.mjs +21 -21
- package/fesm2015/theseam-ui-common-footer-bar.mjs +7 -7
- package/fesm2015/theseam-ui-common-form-field-error.mjs +104 -104
- package/fesm2015/theseam-ui-common-form-field-error.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-form-field.mjs +107 -107
- package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-framework.mjs +196 -196
- package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-google-maps.mjs +78 -78
- package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-graphql.mjs +7 -7
- package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-icon.mjs +33 -33
- package/fesm2015/theseam-ui-common-icon.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-layout.mjs +7 -7
- package/fesm2015/theseam-ui-common-loading.mjs +13 -13
- package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-menu.mjs +79 -79
- package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-modal.mjs +85 -85
- package/fesm2015/theseam-ui-common-modal.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-popover.mjs +52 -52
- package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-progress.mjs +12 -12
- package/fesm2015/theseam-ui-common-progress.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-scrollbar.mjs +16 -16
- package/fesm2015/theseam-ui-common-scrollbar.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-services.mjs +9 -9
- package/fesm2015/theseam-ui-common-shared.mjs +84 -84
- package/fesm2015/theseam-ui-common-shared.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-storage.mjs +3 -3
- package/fesm2015/theseam-ui-common-story-helpers.mjs +25 -25
- package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tabbed.mjs +31 -31
- package/fesm2015/theseam-ui-common-tabbed.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table-cell-type.mjs +10 -10
- package/fesm2015/theseam-ui-common-table-cell-types.mjs +80 -80
- package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table.mjs +14 -14
- package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tel-input.mjs +59 -59
- package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tiled-select.mjs +46 -46
- package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-toggle-edit.mjs +28 -28
- package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-toggle-group.mjs +18 -18
- package/fesm2015/theseam-ui-common-toggle-group.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
- package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-viewers.mjs +93 -93
- package/fesm2015/theseam-ui-common-viewers.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-widget.mjs +175 -175
- package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
- package/fesm2015/theseam-ui-common.mjs +0 -41
- package/fesm2015/theseam-ui-common.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-asset-reader.mjs +18 -18
- package/fesm2020/theseam-ui-common-asset-reader.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs +10 -10
- package/fesm2020/theseam-ui-common-buttons.mjs +26 -26
- package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-card.mjs +19 -19
- package/fesm2020/theseam-ui-common-checkbox.mjs +46 -46
- package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-confirm-dialog.mjs +18 -18
- package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-core.mjs +18 -18
- package/fesm2020/theseam-ui-common-core.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
- package/fesm2020/theseam-ui-common-data-filters.mjs +32 -32
- package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +46 -46
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable.mjs +208 -208
- package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +7 -7
- package/fesm2020/theseam-ui-common-dynamic.mjs +21 -21
- package/fesm2020/theseam-ui-common-footer-bar.mjs +7 -7
- package/fesm2020/theseam-ui-common-form-field-error.mjs +104 -104
- package/fesm2020/theseam-ui-common-form-field-error.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-form-field.mjs +107 -107
- package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-framework.mjs +196 -196
- package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-google-maps.mjs +78 -78
- package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-graphql.mjs +7 -7
- package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-icon.mjs +33 -33
- package/fesm2020/theseam-ui-common-icon.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-layout.mjs +7 -7
- package/fesm2020/theseam-ui-common-loading.mjs +13 -13
- package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-menu.mjs +77 -77
- package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-modal.mjs +85 -85
- package/fesm2020/theseam-ui-common-modal.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-popover.mjs +52 -52
- package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-progress.mjs +12 -12
- package/fesm2020/theseam-ui-common-progress.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-scrollbar.mjs +16 -16
- package/fesm2020/theseam-ui-common-scrollbar.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-services.mjs +9 -9
- package/fesm2020/theseam-ui-common-shared.mjs +84 -84
- package/fesm2020/theseam-ui-common-shared.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-storage.mjs +3 -3
- package/fesm2020/theseam-ui-common-story-helpers.mjs +25 -25
- package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tabbed.mjs +31 -31
- package/fesm2020/theseam-ui-common-tabbed.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table-cell-type.mjs +10 -10
- package/fesm2020/theseam-ui-common-table-cell-types.mjs +80 -80
- package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table.mjs +14 -14
- package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tel-input.mjs +57 -57
- package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tiled-select.mjs +46 -46
- package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-toggle-edit.mjs +28 -28
- package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-toggle-group.mjs +18 -18
- package/fesm2020/theseam-ui-common-toggle-group.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
- package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-viewers.mjs +93 -93
- package/fesm2020/theseam-ui-common-viewers.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-widget.mjs +175 -175
- package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
- package/fesm2020/theseam-ui-common.mjs +0 -41
- package/fesm2020/theseam-ui-common.mjs.map +1 -1
- package/framework/base-layout/base-layout-action.d.ts +1 -1
- package/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.d.ts +1 -1
- package/framework/side-nav/side-nav.models.d.ts +1 -1
- package/google-maps/google-maps/google-maps.component.d.ts +0 -1
- package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.d.ts +0 -4
- package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.d.ts +0 -4
- package/google-maps/google-maps.service.d.ts +0 -2
- package/google-maps/map-controls-service.d.ts +0 -1
- package/google-maps/map-value-manager.service.d.ts +1 -1
- package/graphql/datatable/datatable-graphql-query-ref.d.ts +2 -2
- package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
- package/graphql/datatable/datatable-helpers.d.ts +2 -2
- package/graphql/datatable/map-filter-states.d.ts +2 -2
- package/graphql/datatable/map-page-info.d.ts +1 -1
- package/graphql/datatable/mapper-context.d.ts +1 -1
- package/graphql/models/gql-datatable-accessor.d.ts +1 -1
- package/graphql/models/hint-transformer.d.ts +1 -1
- package/icon/icon/icon.component.d.ts +1 -1
- package/icon/icon.d.ts +1 -1
- package/layout/breakpoint-aliases.d.ts +1 -1
- package/loading/loading.models.d.ts +1 -1
- package/modal/modal-config.d.ts +1 -1
- package/models/component-type.d.ts +1 -1
- package/models/size-prefixes.d.ts +1 -1
- package/models/size-types.d.ts +1 -1
- package/models/theme-prefixes.d.ts +1 -1
- package/models/theme-types.d.ts +2 -2
- package/package.json +1 -1
- package/scrollbar/overlay-scrollbars-config-model.d.ts +1 -1
- package/services/font-loader.service.d.ts +1 -1
- package/styles/bootstrap/_bootstrap.scss +34 -34
- package/styles/bootstrap/_bs-utilities.scss +3 -3
- package/styles/theme.scss +3 -3
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +1 -1
- package/styles/vendor/quill/_quill.scss +3 -3
- package/table/table/table.component.d.ts +1 -1
- package/table-cell-type/table-cell-type-models.d.ts +3 -3
- package/table-cell-type/table-cell-type-name.d.ts +1 -1
- package/table-cell-types/table-cell-type-currency/table-cell-type-currency-config.d.ts +1 -1
- package/table-cell-types/table-cell-type-currency/table-cell-type-currency.d.ts +1 -1
- package/table-cell-types/table-cell-type-date/table-cell-type-date.d.ts +1 -1
- package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.d.ts +1 -1
- package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.d.ts +1 -1
- package/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.d.ts +1 -1
- package/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.d.ts +1 -1
- package/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.d.ts +1 -1
- package/table-cell-types/table-cell-type-integer/table-cell-type-integer.d.ts +1 -1
- package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.d.ts +1 -1
- package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.d.ts +1 -1
- package/table-cell-types/table-cell-type-string/table-cell-type-string-config.d.ts +1 -1
- package/table-cell-types/table-cell-type-string/table-cell-type-string.component.d.ts +1 -1
- package/tel-input/utils/coerce-phone-number-format.d.ts +1 -1
- package/tiled-select/components/tiled-select/tiled-select.component.d.ts +1 -1
- package/tiled-select/tiled-select.models.d.ts +2 -2
- package/utils/polling-ticker.d.ts +1 -1
- package/utils/subscriber-count.d.ts +1 -1
- package/widget/directives/widget-drag-handle.directive.d.ts +1 -1
|
@@ -14,6 +14,12 @@ import * as i2$1 from '@theseam/ui-common/scrollbar';
|
|
|
14
14
|
import { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar';
|
|
15
15
|
|
|
16
16
|
class TheSeamPdfPageComponent {
|
|
17
|
+
get page() { return this._page; }
|
|
18
|
+
set page(value) {
|
|
19
|
+
this._page = value;
|
|
20
|
+
setTimeout(() => { this.render(); });
|
|
21
|
+
}
|
|
22
|
+
get _shadow() { return this.shadow; }
|
|
17
23
|
constructor() {
|
|
18
24
|
this._ngUnsubscribe = new Subject();
|
|
19
25
|
this.shadow = false;
|
|
@@ -37,12 +43,6 @@ class TheSeamPdfPageComponent {
|
|
|
37
43
|
this._renderRequestSubject = new Subject();
|
|
38
44
|
this._render$ = this._renderRequestSubject.pipe(takeUntil(this._ngUnsubscribe), auditTime(500), switchMap(_ => from(waitOnConditionAsync(() => this.rendering === false, 30 * 1000))), switchMap(_ => from(this._render())));
|
|
39
45
|
}
|
|
40
|
-
get page() { return this._page; }
|
|
41
|
-
set page(value) {
|
|
42
|
-
this._page = value;
|
|
43
|
-
setTimeout(() => { this.render(); });
|
|
44
|
-
}
|
|
45
|
-
get _shadow() { return this.shadow; }
|
|
46
46
|
ngOnDestroy() {
|
|
47
47
|
this._ngUnsubscribe.next(undefined);
|
|
48
48
|
this._ngUnsubscribe.complete();
|
|
@@ -107,8 +107,8 @@ class TheSeamPdfPageComponent {
|
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
-
TheSeamPdfPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
111
|
-
TheSeamPdfPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
110
|
+
TheSeamPdfPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
111
|
+
TheSeamPdfPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TheSeamPdfPageComponent, selector: "seam-pdf-page", inputs: { page: "page", shadow: "shadow", responsive: "responsive", renderUpdateThreshold: "renderUpdateThreshold" }, host: { properties: { "class.shadow": "this._shadow" } }, viewQueries: [{ propertyName: "pdfContainer", first: true, predicate: ["pdfContainer"], descendants: true, static: true }, { propertyName: "pdfCanvas", first: true, predicate: ["pdfCanvas"], descendants: true, static: true }], ngImport: i0, template: `
|
|
112
112
|
<div #pdfContainer
|
|
113
113
|
(seamElemResized)="onResized()">
|
|
114
114
|
<canvas #pdfCanvas></canvas>
|
|
@@ -120,7 +120,7 @@ __decorate([
|
|
|
120
120
|
__decorate([
|
|
121
121
|
InputBoolean()
|
|
122
122
|
], TheSeamPdfPageComponent.prototype, "responsive", void 0);
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfPageComponent, decorators: [{
|
|
124
124
|
type: Component,
|
|
125
125
|
args: [{ selector: 'seam-pdf-page', template: `
|
|
126
126
|
<div #pdfContainer
|
|
@@ -161,9 +161,9 @@ class PdfRendererService {
|
|
|
161
161
|
return from(fetch(url)).pipe(switchMap(v => this._pdfjs$.pipe(switchMap(pdfjs => pdfjs.getDocument(v).promise))));
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
-
PdfRendererService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
165
|
-
PdfRendererService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
164
|
+
PdfRendererService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: PdfRendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
165
|
+
PdfRendererService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: PdfRendererService, providedIn: 'root' });
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: PdfRendererService, decorators: [{
|
|
167
167
|
type: Injectable,
|
|
168
168
|
args: [{
|
|
169
169
|
providedIn: 'root'
|
|
@@ -171,40 +171,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
|
|
|
171
171
|
}], ctorParameters: function () { return []; } });
|
|
172
172
|
|
|
173
173
|
class TheSeamPdfViewerComponent {
|
|
174
|
-
constructor(_pdfRenderer) {
|
|
175
|
-
this._pdfRenderer = _pdfRenderer;
|
|
176
|
-
this.shadow = false;
|
|
177
|
-
/**
|
|
178
|
-
* Canvas will responsively scale and rerender if scaled more than
|
|
179
|
-
* `renderUpdateThreshold` pixels.
|
|
180
|
-
*/
|
|
181
|
-
this.responsive = false;
|
|
182
|
-
this._renderUpdateThreshold = 100;
|
|
183
|
-
this._pageRange = [];
|
|
184
|
-
this._pageNumber = -1;
|
|
185
|
-
this._pageNumbers = [];
|
|
186
|
-
this._documentSubject = new ReplaySubject(1);
|
|
187
|
-
/**
|
|
188
|
-
* Undefined means all a pages
|
|
189
|
-
*/
|
|
190
|
-
this._pageNumbersSubject = new BehaviorSubject(undefined);
|
|
191
|
-
this.document$ = this._documentSubject.asObservable().pipe(switchMap(url => {
|
|
192
|
-
if (!url) {
|
|
193
|
-
return of();
|
|
194
|
-
}
|
|
195
|
-
return this._pdfRenderer.getDocument(url);
|
|
196
|
-
}));
|
|
197
|
-
const pageNumbers$ = this._pageNumbersSubject.asObservable();
|
|
198
|
-
this.pages$ = this.document$.pipe(switchMap(doc => pageNumbers$.pipe(map(pageNumbers => {
|
|
199
|
-
const pages = [];
|
|
200
|
-
for (let i = 0; i < doc.numPages; i++) {
|
|
201
|
-
if (!pageNumbers || pageNumbers.indexOf(i + 1) !== -1) {
|
|
202
|
-
pages.push(from(doc.getPage(i + 1)));
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
return pages;
|
|
206
|
-
}))));
|
|
207
|
-
}
|
|
208
174
|
get pdfUrl() { return this._pdfUrl; }
|
|
209
175
|
set pdfUrl(value) {
|
|
210
176
|
this._pdfUrl = value;
|
|
@@ -275,9 +241,43 @@ class TheSeamPdfViewerComponent {
|
|
|
275
241
|
this._pageNumbersSubject.next(undefined);
|
|
276
242
|
}
|
|
277
243
|
}
|
|
244
|
+
constructor(_pdfRenderer) {
|
|
245
|
+
this._pdfRenderer = _pdfRenderer;
|
|
246
|
+
this.shadow = false;
|
|
247
|
+
/**
|
|
248
|
+
* Canvas will responsively scale and rerender if scaled more than
|
|
249
|
+
* `renderUpdateThreshold` pixels.
|
|
250
|
+
*/
|
|
251
|
+
this.responsive = false;
|
|
252
|
+
this._renderUpdateThreshold = 100;
|
|
253
|
+
this._pageRange = [];
|
|
254
|
+
this._pageNumber = -1;
|
|
255
|
+
this._pageNumbers = [];
|
|
256
|
+
this._documentSubject = new ReplaySubject(1);
|
|
257
|
+
/**
|
|
258
|
+
* Undefined means all a pages
|
|
259
|
+
*/
|
|
260
|
+
this._pageNumbersSubject = new BehaviorSubject(undefined);
|
|
261
|
+
this.document$ = this._documentSubject.asObservable().pipe(switchMap(url => {
|
|
262
|
+
if (!url) {
|
|
263
|
+
return of();
|
|
264
|
+
}
|
|
265
|
+
return this._pdfRenderer.getDocument(url);
|
|
266
|
+
}));
|
|
267
|
+
const pageNumbers$ = this._pageNumbersSubject.asObservable();
|
|
268
|
+
this.pages$ = this.document$.pipe(switchMap(doc => pageNumbers$.pipe(map(pageNumbers => {
|
|
269
|
+
const pages = [];
|
|
270
|
+
for (let i = 0; i < doc.numPages; i++) {
|
|
271
|
+
if (!pageNumbers || pageNumbers.indexOf(i + 1) !== -1) {
|
|
272
|
+
pages.push(from(doc.getPage(i + 1)));
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
return pages;
|
|
276
|
+
}))));
|
|
277
|
+
}
|
|
278
278
|
}
|
|
279
|
-
TheSeamPdfViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
280
|
-
TheSeamPdfViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
279
|
+
TheSeamPdfViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfViewerComponent, deps: [{ token: PdfRendererService }], target: i0.ɵɵFactoryTarget.Component });
|
|
280
|
+
TheSeamPdfViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TheSeamPdfViewerComponent, selector: "seam-pdf-viewer", inputs: { pdfUrl: "pdfUrl", shadow: "shadow", responsive: "responsive", renderUpdateThreshold: "renderUpdateThreshold", pageRange: "pageRange", pageNumber: "pageNumber", pageNumbers: "pageNumbers" }, ngImport: i0, template: `
|
|
281
281
|
<ng-container *ngFor="let page of pages$ | async">
|
|
282
282
|
<seam-pdf-page
|
|
283
283
|
class="mb-2"
|
|
@@ -294,7 +294,7 @@ __decorate([
|
|
|
294
294
|
__decorate([
|
|
295
295
|
InputBoolean()
|
|
296
296
|
], TheSeamPdfViewerComponent.prototype, "responsive", void 0);
|
|
297
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfViewerComponent, decorators: [{
|
|
298
298
|
type: Component,
|
|
299
299
|
args: [{ selector: 'seam-pdf-viewer', template: `
|
|
300
300
|
<ng-container *ngFor="let page of pages$ | async">
|
|
@@ -325,14 +325,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
|
|
|
325
325
|
|
|
326
326
|
class TheSeamPdfViewerModule {
|
|
327
327
|
}
|
|
328
|
-
TheSeamPdfViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
329
|
-
TheSeamPdfViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
328
|
+
TheSeamPdfViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
329
|
+
TheSeamPdfViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfViewerModule, declarations: [TheSeamPdfViewerComponent,
|
|
330
330
|
TheSeamPdfPageComponent], imports: [CommonModule,
|
|
331
331
|
TheSeamSharedModule], exports: [TheSeamPdfViewerComponent,
|
|
332
332
|
TheSeamPdfPageComponent] });
|
|
333
|
-
TheSeamPdfViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
333
|
+
TheSeamPdfViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfViewerModule, imports: [CommonModule,
|
|
334
334
|
TheSeamSharedModule] });
|
|
335
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
335
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfViewerModule, decorators: [{
|
|
336
336
|
type: NgModule,
|
|
337
337
|
args: [{
|
|
338
338
|
imports: [
|
|
@@ -356,6 +356,39 @@ var TemplateMessageType;
|
|
|
356
356
|
TemplateMessageType["TplResize"] = "theseam_tpl_resize";
|
|
357
357
|
})(TemplateMessageType || (TemplateMessageType = {}));
|
|
358
358
|
class TheSeamHtmlTemplateViewerComponent {
|
|
359
|
+
get src() { return this._src; }
|
|
360
|
+
set src(val) {
|
|
361
|
+
this._src = val;
|
|
362
|
+
this._updateSrc();
|
|
363
|
+
}
|
|
364
|
+
set dataVersion(value) {
|
|
365
|
+
const dv = value || 0;
|
|
366
|
+
const sendData = this._dataVersion !== dv;
|
|
367
|
+
this._dataVersion = dv;
|
|
368
|
+
if (sendData) {
|
|
369
|
+
this.postMessage(this._message);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
set data(value) {
|
|
373
|
+
this.postMessage((value !== null && value !== undefined) ? JSON.stringify(value) : value);
|
|
374
|
+
}
|
|
375
|
+
set scrollable(value) {
|
|
376
|
+
this._scrollable = value;
|
|
377
|
+
if (this._scrollable) {
|
|
378
|
+
this._initScrollHandleObserver();
|
|
379
|
+
}
|
|
380
|
+
else {
|
|
381
|
+
this._destroyScrollHandleObserver();
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
set iframeElementRef(val) {
|
|
385
|
+
this._iframeElementRef = val;
|
|
386
|
+
const iframeNativeElement = this._getIFrameNativeElement();
|
|
387
|
+
if (iframeNativeElement) {
|
|
388
|
+
this._updateSrc();
|
|
389
|
+
iframeNativeElement.onload = () => this.postMessage(this._message);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
359
392
|
constructor(_ngZone, _cdr, _elementRef) {
|
|
360
393
|
this._ngZone = _ngZone;
|
|
361
394
|
this._cdr = _cdr;
|
|
@@ -392,39 +425,6 @@ class TheSeamHtmlTemplateViewerComponent {
|
|
|
392
425
|
[TemplateMessageType.TplResize]: this._onResizeMessageFromTemplate
|
|
393
426
|
};
|
|
394
427
|
}
|
|
395
|
-
get src() { return this._src; }
|
|
396
|
-
set src(val) {
|
|
397
|
-
this._src = val;
|
|
398
|
-
this._updateSrc();
|
|
399
|
-
}
|
|
400
|
-
set dataVersion(value) {
|
|
401
|
-
const dv = value || 0;
|
|
402
|
-
const sendData = this._dataVersion !== dv;
|
|
403
|
-
this._dataVersion = dv;
|
|
404
|
-
if (sendData) {
|
|
405
|
-
this.postMessage(this._message);
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
set data(value) {
|
|
409
|
-
this.postMessage((value !== null && value !== undefined) ? JSON.stringify(value) : value);
|
|
410
|
-
}
|
|
411
|
-
set scrollable(value) {
|
|
412
|
-
this._scrollable = value;
|
|
413
|
-
if (this._scrollable) {
|
|
414
|
-
this._initScrollHandleObserver();
|
|
415
|
-
}
|
|
416
|
-
else {
|
|
417
|
-
this._destroyScrollHandleObserver();
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
set iframeElementRef(val) {
|
|
421
|
-
this._iframeElementRef = val;
|
|
422
|
-
const iframeNativeElement = this._getIFrameNativeElement();
|
|
423
|
-
if (iframeNativeElement) {
|
|
424
|
-
this._updateSrc();
|
|
425
|
-
iframeNativeElement.onload = () => this.postMessage(this._message);
|
|
426
|
-
}
|
|
427
|
-
}
|
|
428
428
|
ngOnInit() {
|
|
429
429
|
this._ngZone.runOutsideAngular(() => window.addEventListener('message', this._onMessageFromTemplate));
|
|
430
430
|
}
|
|
@@ -541,12 +541,12 @@ class TheSeamHtmlTemplateViewerComponent {
|
|
|
541
541
|
return this._elementRef.nativeElement.querySelector('.os-scrollbar-handle.active') !== null;
|
|
542
542
|
}
|
|
543
543
|
}
|
|
544
|
-
TheSeamHtmlTemplateViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
545
|
-
TheSeamHtmlTemplateViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
544
|
+
TheSeamHtmlTemplateViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamHtmlTemplateViewerComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
545
|
+
TheSeamHtmlTemplateViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TheSeamHtmlTemplateViewerComponent, selector: "seam-html-template-viewer", inputs: { src: "src", dataVersion: "dataVersion", data: "data", scrollable: "scrollable" }, viewQueries: [{ propertyName: "iframeElementRef", first: true, predicate: ["iframeElement"], descendants: true, static: true }], ngImport: i0, template: "<div (seamElemResized)=\"_onResized($any($event))\">\n <div class=\"embed-responsive embed-responsive-4by3\"\n [seamOverlayScrollbar]=\"_scrollbarOptions\"\n [overlayScrollbarEnabled]=\"_scrollable\">\n <iframe #iframeElement class=\"embed-responsive-item\" allowfullscreen></iframe>\n <div *ngIf=\"_mouseBlockActive\"\n class=\"iframe-mouse-block\"\n [style.width]=\"_mouseBlockWidth\"\n [style.height]=\"_mouseBlockHeight\">\n </div>\n </div>\n</div>\n", styles: [":host{display:block}.iframe-mouse-block{position:absolute;top:0;right:0;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.OverlayScrollbarDirective, selector: "[seamOverlayScrollbar]", inputs: ["seamOverlayScrollbar", "overlayScrollbarEnabled"], exportAs: ["seamOverlayScrollbar"] }, { kind: "directive", type: i1.ElemResizedDirective, selector: "[seamElemResized]", outputs: ["seamElemResized"] }] });
|
|
546
546
|
__decorate([
|
|
547
547
|
InputBoolean()
|
|
548
548
|
], TheSeamHtmlTemplateViewerComponent.prototype, "scrollable", null);
|
|
549
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
549
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamHtmlTemplateViewerComponent, decorators: [{
|
|
550
550
|
type: Component,
|
|
551
551
|
args: [{ selector: 'seam-html-template-viewer', template: "<div (seamElemResized)=\"_onResized($any($event))\">\n <div class=\"embed-responsive embed-responsive-4by3\"\n [seamOverlayScrollbar]=\"_scrollbarOptions\"\n [overlayScrollbarEnabled]=\"_scrollable\">\n <iframe #iframeElement class=\"embed-responsive-item\" allowfullscreen></iframe>\n <div *ngIf=\"_mouseBlockActive\"\n class=\"iframe-mouse-block\"\n [style.width]=\"_mouseBlockWidth\"\n [style.height]=\"_mouseBlockHeight\">\n </div>\n </div>\n</div>\n", styles: [":host{display:block}.iframe-mouse-block{position:absolute;top:0;right:0;height:100%;width:100%}\n"] }]
|
|
552
552
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { src: [{
|
|
@@ -564,14 +564,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
|
|
|
564
564
|
|
|
565
565
|
class TheSeamHtmlTemplateViewerModule {
|
|
566
566
|
}
|
|
567
|
-
TheSeamHtmlTemplateViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
568
|
-
TheSeamHtmlTemplateViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
567
|
+
TheSeamHtmlTemplateViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamHtmlTemplateViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
568
|
+
TheSeamHtmlTemplateViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TheSeamHtmlTemplateViewerModule, declarations: [TheSeamHtmlTemplateViewerComponent], imports: [CommonModule,
|
|
569
569
|
TheSeamScrollbarModule,
|
|
570
570
|
TheSeamSharedModule], exports: [TheSeamHtmlTemplateViewerComponent] });
|
|
571
|
-
TheSeamHtmlTemplateViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
571
|
+
TheSeamHtmlTemplateViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamHtmlTemplateViewerModule, imports: [CommonModule,
|
|
572
572
|
TheSeamScrollbarModule,
|
|
573
573
|
TheSeamSharedModule] });
|
|
574
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
574
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamHtmlTemplateViewerModule, decorators: [{
|
|
575
575
|
type: NgModule,
|
|
576
576
|
args: [{
|
|
577
577
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-viewers.mjs","sources":["../../../projects/ui-common/viewers/pdf-viewer/pdf-page/pdf-page.component.ts","../../../projects/ui-common/viewers/pdf-viewer/pdf-renderer.service.ts","../../../projects/ui-common/viewers/pdf-viewer/pdf-viewer.component.ts","../../../projects/ui-common/viewers/pdf-viewer/pdf-viewer.module.ts","../../../projects/ui-common/viewers/html-template-viewer/html-template-viewer.component.ts","../../../projects/ui-common/viewers/html-template-viewer/html-template-viewer.component.html","../../../projects/ui-common/viewers/html-template-viewer/html-template-viewer.module.ts","../../../projects/ui-common/viewers/theseam-ui-common-viewers.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion'\nimport { AfterViewInit, Component, ElementRef, HostBinding, Input, OnDestroy, ViewChild } from '@angular/core'\nimport { from, Observable, Subject } from 'rxjs'\nimport { auditTime, switchMap, takeUntil } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { waitOnConditionAsync } from '@theseam/ui-common/utils'\n\n@Component({\n selector: 'seam-pdf-page',\n template: `\n <div #pdfContainer\n (seamElemResized)=\"onResized()\">\n <canvas #pdfCanvas></canvas>\n </div>\n `,\n styles: [`\n :host { display: block; }\n canvas { display: block; }\n `]\n})\nexport class TheSeamPdfPageComponent implements OnDestroy, AfterViewInit {\n static ngAcceptInputType_shadow: BooleanInput\n static ngAcceptInputType_responsive: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n @Input()\n public get page() { return this._page }\n public set page(value) {\n this._page = value\n setTimeout(() => { this.render() })\n }\n private _page: any\n\n @Input() @InputBoolean() shadow: boolean = false\n\n @HostBinding('class.shadow') get _shadow() { return this.shadow }\n\n @ViewChild('pdfContainer', { static: true }) pdfContainer?: ElementRef<HTMLDivElement>\n @ViewChild('pdfCanvas', { static: true }) pdfCanvas?: ElementRef<HTMLCanvasElement>\n\n /**\n * Canvas will responsively scale and rerender if scaled more than\n * `renderUpdateThreshold` pixels.\n */\n @Input() @InputBoolean() responsive = false\n\n /**\n * The canvas will be rerendered if the canvas size changes by this many\n * pixels from the last render.\n *\n * To make the canvas responsive using only the initial size for its render\n * set the threshold to `-1`. You can still trigger a rerender by calling the\n * `render()` method.\n *\n * NOTE: Only used when `responsive` is `true`.\n */\n @Input() renderUpdateThreshold = 100\n\n public rendering = false\n\n private _renderRequestSubject = new Subject<void>()\n\n private _render$: Observable<void>\n\n constructor() {\n this._render$ = this._renderRequestSubject.pipe(\n takeUntil(this._ngUnsubscribe),\n auditTime(500),\n switchMap(_ => from(waitOnConditionAsync(() => this.rendering === false, 30 * 1000))),\n switchMap(_ => from(this._render()))\n )\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewInit() {\n this._render$.subscribe()\n this.render()\n }\n\n public render() {\n this._renderRequestSubject.next()\n }\n\n private async _render() {\n if (!this.pdfContainer || !this.pdfCanvas) {\n return\n }\n\n try {\n const w = this.pdfContainer.nativeElement.clientWidth\n const desiredWidth = w\n const viewport = this.page.getViewport({ scale: 1 })\n const scale = desiredWidth / viewport.width\n const scaledViewport = this.page.getViewport({ scale })\n\n // Prepare canvas using PDF page dimensions\n const canvas: HTMLCanvasElement = this.pdfCanvas.nativeElement\n const context = canvas.getContext('2d')\n canvas.height = scaledViewport.height\n canvas.width = scaledViewport.width\n canvas.style.height = `${scaledViewport.height}px`\n canvas.style.width = `${scaledViewport.width}px`\n\n // Render PDF page into canvas context\n const renderContext = {\n canvasContext: context,\n viewport: scaledViewport\n }\n\n const renderTask = await this.page.render(renderContext).promise\n\n // TODO: Allow canceling instead of only waiting\n // await renderTask.cancel()\n this.rendering = false\n if (this.responsive) {\n canvas.style.width = '100%'\n canvas.style.height = '100%'\n }\n } catch (err) {\n // PDF loading error\n console.error(err)\n }\n }\n\n onResized() {\n if (!this.responsive || this.renderUpdateThreshold === -1) { return }\n\n if (!this.pdfContainer || !this.pdfCanvas) {\n return\n }\n\n const containerRect = this.pdfContainer.nativeElement.getBoundingClientRect()\n const pdfWidth = this.pdfCanvas.nativeElement.width\n const pdfHeight = this.pdfCanvas.nativeElement.height\n const wDiff = Math.abs(containerRect.width - pdfWidth)\n const hDiff = Math.abs(containerRect.height - pdfHeight)\n if (wDiff > this.renderUpdateThreshold || hDiff > this.renderUpdateThreshold) {\n this.render()\n }\n\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { from, Observable } from 'rxjs'\nimport { shareReplay, switchMap, tap } from 'rxjs/operators'\n\nimport { wrapIntoObservable } from '@theseam/ui-common/utils'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PdfRendererService {\n\n private readonly _pdfjs$: Observable<any>\n\n constructor() {\n const pdfjsImport = wrapIntoObservable(import('pdfjs-dist/legacy/build/pdf'))\n this._pdfjs$ = pdfjsImport.pipe(\n tap((pdfJs: any) => {\n if (!pdfJs.GlobalWorkerOptions.workerSrc) {\n // tslint:disable-next-line:max-line-length\n pdfJs.GlobalWorkerOptions.workerSrc = `https://cdnjs.cloudflare.com/ajax/libs/pdf.js/${ (pdfJs as any).version }/pdf.worker.min.js`\n }\n }),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n\n public getDocument(url: string): Observable<any> {\n return from(fetch(url)).pipe(\n switchMap(v => this._pdfjs$.pipe(\n switchMap(pdfjs => pdfjs.getDocument(v).promise)\n ))\n )\n }\n}\n","import { BooleanInput, coerceArray, coerceNumberProperty } from '@angular/cdk/coercion'\nimport { Component, Input } from '@angular/core'\nimport { BehaviorSubject, from, Observable, of, ReplaySubject } from 'rxjs'\nimport { map, shareReplay, switchMap, tap } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { wrapIntoObservable } from '@theseam/ui-common/utils'\n\nimport { PdfRendererService } from './pdf-renderer.service'\n\n@Component({\n selector: 'seam-pdf-viewer',\n template: `\n <ng-container *ngFor=\"let page of pages$ | async\">\n <seam-pdf-page\n class=\"mb-2\"\n [page]=\"page | async\"\n [responsive]=\"responsive\"\n [shadow]=\"shadow\"\n [renderUpdateThreshold]=\"renderUpdateThreshold\">\n </seam-pdf-page>\n </ng-container>\n `,\n styles: [`:host { display: block; }`]\n})\nexport class TheSeamPdfViewerComponent {\n static ngAcceptInputType_shadow: BooleanInput\n static ngAcceptInputType_responsive: BooleanInput\n\n @Input()\n get pdfUrl(): string | undefined | null { return this._pdfUrl }\n set pdfUrl(value: string | undefined | null) {\n this._pdfUrl = value\n this._documentSubject.next(value)\n }\n private _pdfUrl: string | undefined | null\n\n @Input() @InputBoolean() shadow = false\n\n /**\n * Canvas will responsively scale and rerender if scaled more than\n * `renderUpdateThreshold` pixels.\n */\n @Input() @InputBoolean() responsive = false\n\n /**\n * The canvas will be rerendered if the canvas size changes by this many\n * pixels from the last render.\n *\n * To make the canvas responsive using only the initial size for its render\n * set the threshold to `-1`. You can still trigger a rerender by calling the\n * `render()` method.\n *\n * NOTE: Only used when `responsive` is `true`.\n */\n @Input()\n set renderUpdateThreshold(value: number) { this._renderUpdateThreshold = coerceNumberProperty(value) }\n get renderUpdateThreshold(): number { return this._renderUpdateThreshold }\n private _renderUpdateThreshold: number = 100\n\n /**\n * Range of pages to render.\n *\n * Example(page 1 to page 3):\n * [pageRange]=\"[1,3]\"\n */\n @Input()\n get pageRange(): number[] { return this._pageRange }\n set pageRange(value: number[]) {\n this._pageRange = value\n\n if (!this._pageRange) {\n this._pageNumbersSubject.next(undefined)\n }\n\n try {\n const range = coerceArray(this._pageRange)\n if (range.length !== 2) {\n throw new Error('[pdf-viewer] Invalid Page Range. Range array must have two numbers only.')\n }\n if (range[0] > range[1]) {\n throw new Error('[pdf-viewer] Invalid Page Range. Start of the range must be less than or equal to the end.')\n }\n\n const nums: number[] = []\n for (let i = range[0]; i <= range[1]; i++) {\n nums.push(i)\n }\n this._pageNumbersSubject.next(nums)\n } catch (err) {\n // TODO: Decide how to conveniently display these errors.\n console.error(err)\n this._pageNumbersSubject.next([])\n }\n }\n private _pageRange: number[] = []\n\n /**\n * Render a specific page.\n */\n @Input()\n get pageNumber(): number { return this._pageNumber }\n set pageNumber(value: number) {\n this._pageNumber = coerceNumberProperty(value, -1)\n this._pageNumbersSubject.next(this._pageNumber === -1 ? undefined : [ this._pageNumber ])\n }\n private _pageNumber = -1\n\n /**\n * Specific page numbers to render.\n */\n @Input()\n get pageNumbers(): number[] { return this._pageNumbers }\n set pageNumbers(value: number[]) {\n this._pageNumbers = value\n if (Array.isArray(this._pageNumbers)) {\n this._pageNumbersSubject.next(this._pageNumbers)\n } else {\n this._pageNumbersSubject.next(undefined)\n }\n }\n private _pageNumbers: number[] = []\n\n private _documentSubject = new ReplaySubject<any>(1)\n public document$: Observable<any>\n public pages$: Observable<any[]>\n\n /**\n * Undefined means all a pages\n */\n private _pageNumbersSubject = new BehaviorSubject<number[] | undefined>(undefined)\n\n constructor(\n private readonly _pdfRenderer: PdfRendererService\n ) {\n this.document$ = this._documentSubject.asObservable().pipe(\n switchMap(url => {\n if (!url) {\n return of()\n }\n return this._pdfRenderer.getDocument(url)\n })\n )\n\n const pageNumbers$ = this._pageNumbersSubject.asObservable()\n\n this.pages$ = this.document$.pipe(\n switchMap(doc => pageNumbers$.pipe(\n map(pageNumbers => {\n const pages: any[] = []\n for (let i = 0; i < doc.numPages; i++) {\n if (!pageNumbers || pageNumbers.indexOf(i + 1) !== -1) {\n pages.push(from(doc.getPage(i + 1)))\n }\n }\n return pages\n })\n ))\n )\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { TheSeamPdfPageComponent } from './pdf-page/pdf-page.component'\nimport { TheSeamPdfViewerComponent } from './pdf-viewer.component'\n\n@NgModule({\n imports: [\n CommonModule,\n TheSeamSharedModule\n ],\n declarations: [\n TheSeamPdfViewerComponent,\n TheSeamPdfPageComponent\n ],\n exports: [\n TheSeamPdfViewerComponent,\n TheSeamPdfPageComponent\n ]\n})\nexport class TheSeamPdfViewerModule { }\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectorRef, Component, ElementRef, Input, NgZone, OnDestroy, OnInit, ViewChild } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\ninterface TemplateResizeMessagePayload {\n width: number\n height: number\n}\n\nenum TemplateMessageType {\n TplData = 'theseam_tpl_data',\n TplResize = 'theseam_tpl_resize',\n}\n\ninterface TemplateMessage<TType, TPayload> {\n type: TType\n payload: TPayload\n}\n\n@Component({\n selector: 'seam-html-template-viewer',\n templateUrl: './html-template-viewer.component.html',\n styleUrls: ['./html-template-viewer.component.scss']\n})\nexport class TheSeamHtmlTemplateViewerComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_scrollable: BooleanInput\n\n private readonly _templateMessageHandlers: { [key in TemplateMessageType]: (payload: any) => void }\n\n private _message: string | undefined | null\n private _dataVersion: number = 0\n private _scrollHandleObserver: MutationObserver | null = null\n\n @Input()\n get src(): string | null | undefined { return this._src }\n set src(val: string | null | undefined) {\n this._src = val\n this._updateSrc()\n }\n private _src: string | null | undefined\n\n @Input()\n set dataVersion(value: number | undefined | null) {\n const dv = value || 0\n const sendData = this._dataVersion !== dv\n this._dataVersion = dv\n if (sendData) {\n this.postMessage(this._message)\n }\n }\n\n @Input()\n set data(value: any) {\n this.postMessage((value !== null && value !== undefined) ? JSON.stringify(value) : value)\n }\n\n @Input() @InputBoolean()\n set scrollable(value: boolean) {\n this._scrollable = value\n if (this._scrollable) {\n this._initScrollHandleObserver()\n } else {\n this._destroyScrollHandleObserver()\n }\n }\n\n _scrollable: boolean = false\n\n @ViewChild('iframeElement', { static: true })\n set iframeElementRef(val: ElementRef<HTMLIFrameElement>) {\n this._iframeElementRef = val\n const iframeNativeElement = this._getIFrameNativeElement()\n if (iframeNativeElement) {\n this._updateSrc()\n iframeNativeElement.onload = () => this.postMessage(this._message)\n }\n }\n private _iframeElementRef!: ElementRef<HTMLIFrameElement>\n\n _scrollbarOptions = {\n callbacks: {\n onInitialized: () => this._initScrollHandleObserver(),\n // Only scrollbar handles from OverlayScrollbars are currently observed,\n // so we can just disable the observer for native scrollbars.\n onInitializationWithdrawn: () => this._destroyScrollHandleObserver(),\n onDestroyed: () => this._destroyScrollHandleObserver(),\n }\n }\n\n _mouseBlockActive: boolean = false\n _mouseBlockWidth: string = '100%'\n _mouseBlockHeight: string = '100%'\n\n constructor(\n private readonly _ngZone: NgZone,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _elementRef: ElementRef\n ) {\n this._templateMessageHandlers = {\n [TemplateMessageType.TplData]: () => { }, // Not listening for message from template\n [TemplateMessageType.TplResize]: this._onResizeMessageFromTemplate\n }\n }\n\n ngOnInit(): void {\n this._ngZone.runOutsideAngular(() => window.addEventListener('message', this._onMessageFromTemplate))\n }\n\n ngOnDestroy(): void {\n window.removeEventListener('message', this._onMessageFromTemplate)\n this._destroyScrollHandleObserver()\n }\n\n private _onMessageFromTemplate = (e: any) => {\n const type = e.data.type as TemplateMessageType\n if (this._templateMessageHandlers[type]) {\n this._ngZone.run(() => this._templateMessageHandlers[type](e.data.payload))\n }\n }\n\n private _onResizeMessageFromTemplate = (payload: TemplateResizeMessagePayload): void => {\n const iframeNativeElement = this._getIFrameNativeElement()\n if (iframeNativeElement) {\n iframeNativeElement.style.height = `${payload.height}px`\n }\n }\n\n private _updateSrc(): void {\n const iframeNativeElement = this._getIFrameNativeElement()\n if (iframeNativeElement) {\n iframeNativeElement.src = this._src || ''\n }\n }\n\n public postMessage(msg: string | undefined | null): void {\n this._message = msg\n\n let _msg = msg\n const contentWindow = this._getIFrameContentWindow()\n if (contentWindow && _msg) {\n if (this._dataVersion === 2) {\n const wrapper: TemplateMessage<TemplateMessageType, any> = { type: TemplateMessageType.TplData, payload: undefined }\n try { wrapper.payload = JSON.parse(_msg) } catch { wrapper.payload = _msg }\n _msg = JSON.stringify(wrapper)\n }\n\n contentWindow.postMessage(_msg, '*')\n }\n }\n\n public reload(): void {\n this._updateSrc()\n }\n\n _onResized(event: { width: number, height: number }) {\n // This ensures the iframe scales itself if it isn't listening to or misses\n // the resize event.\n this.reload()\n }\n\n private _getIFrameNativeElement(): HTMLIFrameElement | null {\n return (this._iframeElementRef?.nativeElement) || null\n }\n\n private _getIFrameContentWindow(): Window | null {\n return (this._iframeElementRef?.nativeElement?.contentWindow) || null\n }\n\n /**\n * Initializes a MutationObserver to detect the 'active' class added to a\n * scroll handle, because OverlayScrollbars does not seem to provide an event\n * for scrollbar handle activation/deactivation.\n *\n * TODO: Do we need this to work for native scrollbars also?\n */\n private _initScrollHandleObserver(): void {\n if (this._scrollHandleObserver !== null) {\n return\n }\n\n this._ngZone.runOutsideAngular(() => {\n const observer = new MutationObserver(() => {\n this._ngZone.run(() => {\n if (this._isScrollbarHandleActive()) {\n this._enableMouseBlock()\n } else {\n this._disableMouseBlock()\n }\n })\n })\n\n observer.observe(this._elementRef.nativeElement, {\n attributes: true,\n attributeFilter: [ 'class' ],\n childList: true,\n subtree: true,\n characterData: false,\n })\n\n this._scrollHandleObserver = observer\n })\n }\n\n private _destroyScrollHandleObserver(): void {\n if (this._scrollHandleObserver === null) {\n return\n }\n\n this._scrollHandleObserver.disconnect()\n this._scrollHandleObserver = null\n }\n\n /**\n * Enables a transparent div to cover the iframe.\n *\n * When the mouse is over an iframe the browser stops letting the parent\n * document receive mouse events. Anything actively tracking mouse movement or\n * button pressed will think the mouse has left the page. So the scrollbar\n * handle would deactivate, when the mouse hovers the iframe. This adds an\n * element to cover the iframe, which prevents mouse events getting sent to\n * the iframe.\n */\n private _enableMouseBlock(): void {\n this._mouseBlockActive = true\n\n const iframeElement = this._getIFrameNativeElement()\n if (iframeElement) {\n const rect = iframeElement.getBoundingClientRect()\n this._mouseBlockWidth = `${rect.width}px`\n this._mouseBlockHeight = `${rect.height}px`\n } else {\n this._mouseBlockWidth = '100%'\n this._mouseBlockHeight = '100%'\n }\n\n this._cdr.detectChanges()\n }\n\n private _disableMouseBlock(): void {\n this._mouseBlockActive = false\n this._cdr.detectChanges()\n }\n\n private _isScrollbarHandleActive(): boolean {\n return this._elementRef.nativeElement.querySelector('.os-scrollbar-handle.active') !== null\n }\n\n}\n","<div (seamElemResized)=\"_onResized($any($event))\">\n <div class=\"embed-responsive embed-responsive-4by3\"\n [seamOverlayScrollbar]=\"_scrollbarOptions\"\n [overlayScrollbarEnabled]=\"_scrollable\">\n <iframe #iframeElement class=\"embed-responsive-item\" allowfullscreen></iframe>\n <div *ngIf=\"_mouseBlockActive\"\n class=\"iframe-mouse-block\"\n [style.width]=\"_mouseBlockWidth\"\n [style.height]=\"_mouseBlockHeight\">\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { TheSeamHtmlTemplateViewerComponent } from './html-template-viewer.component'\n\n@NgModule({\n imports: [\n CommonModule,\n TheSeamScrollbarModule,\n TheSeamSharedModule,\n ],\n declarations: [\n TheSeamHtmlTemplateViewerComponent,\n ],\n exports: [\n TheSeamHtmlTemplateViewerComponent,\n ]\n})\nexport class TheSeamHtmlTemplateViewerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PdfRendererService","i3.TheSeamPdfPageComponent","i1","i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-viewers.mjs","sources":["../../../projects/ui-common/viewers/pdf-viewer/pdf-page/pdf-page.component.ts","../../../projects/ui-common/viewers/pdf-viewer/pdf-renderer.service.ts","../../../projects/ui-common/viewers/pdf-viewer/pdf-viewer.component.ts","../../../projects/ui-common/viewers/pdf-viewer/pdf-viewer.module.ts","../../../projects/ui-common/viewers/html-template-viewer/html-template-viewer.component.ts","../../../projects/ui-common/viewers/html-template-viewer/html-template-viewer.component.html","../../../projects/ui-common/viewers/html-template-viewer/html-template-viewer.module.ts","../../../projects/ui-common/viewers/theseam-ui-common-viewers.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion'\nimport { AfterViewInit, Component, ElementRef, HostBinding, Input, OnDestroy, ViewChild } from '@angular/core'\nimport { from, Observable, Subject } from 'rxjs'\nimport { auditTime, switchMap, takeUntil } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { waitOnConditionAsync } from '@theseam/ui-common/utils'\n\n@Component({\n selector: 'seam-pdf-page',\n template: `\n <div #pdfContainer\n (seamElemResized)=\"onResized()\">\n <canvas #pdfCanvas></canvas>\n </div>\n `,\n styles: [`\n :host { display: block; }\n canvas { display: block; }\n `]\n})\nexport class TheSeamPdfPageComponent implements OnDestroy, AfterViewInit {\n static ngAcceptInputType_shadow: BooleanInput\n static ngAcceptInputType_responsive: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n @Input()\n public get page() { return this._page }\n public set page(value) {\n this._page = value\n setTimeout(() => { this.render() })\n }\n private _page: any\n\n @Input() @InputBoolean() shadow: boolean = false\n\n @HostBinding('class.shadow') get _shadow() { return this.shadow }\n\n @ViewChild('pdfContainer', { static: true }) pdfContainer?: ElementRef<HTMLDivElement>\n @ViewChild('pdfCanvas', { static: true }) pdfCanvas?: ElementRef<HTMLCanvasElement>\n\n /**\n * Canvas will responsively scale and rerender if scaled more than\n * `renderUpdateThreshold` pixels.\n */\n @Input() @InputBoolean() responsive = false\n\n /**\n * The canvas will be rerendered if the canvas size changes by this many\n * pixels from the last render.\n *\n * To make the canvas responsive using only the initial size for its render\n * set the threshold to `-1`. You can still trigger a rerender by calling the\n * `render()` method.\n *\n * NOTE: Only used when `responsive` is `true`.\n */\n @Input() renderUpdateThreshold = 100\n\n public rendering = false\n\n private _renderRequestSubject = new Subject<void>()\n\n private _render$: Observable<void>\n\n constructor() {\n this._render$ = this._renderRequestSubject.pipe(\n takeUntil(this._ngUnsubscribe),\n auditTime(500),\n switchMap(_ => from(waitOnConditionAsync(() => this.rendering === false, 30 * 1000))),\n switchMap(_ => from(this._render()))\n )\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewInit() {\n this._render$.subscribe()\n this.render()\n }\n\n public render() {\n this._renderRequestSubject.next()\n }\n\n private async _render() {\n if (!this.pdfContainer || !this.pdfCanvas) {\n return\n }\n\n try {\n const w = this.pdfContainer.nativeElement.clientWidth\n const desiredWidth = w\n const viewport = this.page.getViewport({ scale: 1 })\n const scale = desiredWidth / viewport.width\n const scaledViewport = this.page.getViewport({ scale })\n\n // Prepare canvas using PDF page dimensions\n const canvas: HTMLCanvasElement = this.pdfCanvas.nativeElement\n const context = canvas.getContext('2d')\n canvas.height = scaledViewport.height\n canvas.width = scaledViewport.width\n canvas.style.height = `${scaledViewport.height}px`\n canvas.style.width = `${scaledViewport.width}px`\n\n // Render PDF page into canvas context\n const renderContext = {\n canvasContext: context,\n viewport: scaledViewport\n }\n\n const renderTask = await this.page.render(renderContext).promise\n\n // TODO: Allow canceling instead of only waiting\n // await renderTask.cancel()\n this.rendering = false\n if (this.responsive) {\n canvas.style.width = '100%'\n canvas.style.height = '100%'\n }\n } catch (err) {\n // PDF loading error\n console.error(err)\n }\n }\n\n onResized() {\n if (!this.responsive || this.renderUpdateThreshold === -1) { return }\n\n if (!this.pdfContainer || !this.pdfCanvas) {\n return\n }\n\n const containerRect = this.pdfContainer.nativeElement.getBoundingClientRect()\n const pdfWidth = this.pdfCanvas.nativeElement.width\n const pdfHeight = this.pdfCanvas.nativeElement.height\n const wDiff = Math.abs(containerRect.width - pdfWidth)\n const hDiff = Math.abs(containerRect.height - pdfHeight)\n if (wDiff > this.renderUpdateThreshold || hDiff > this.renderUpdateThreshold) {\n this.render()\n }\n\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { from, Observable } from 'rxjs'\nimport { shareReplay, switchMap, tap } from 'rxjs/operators'\n\nimport { wrapIntoObservable } from '@theseam/ui-common/utils'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PdfRendererService {\n\n private readonly _pdfjs$: Observable<any>\n\n constructor() {\n const pdfjsImport = wrapIntoObservable(import('pdfjs-dist/legacy/build/pdf'))\n this._pdfjs$ = pdfjsImport.pipe(\n tap((pdfJs: any) => {\n if (!pdfJs.GlobalWorkerOptions.workerSrc) {\n // tslint:disable-next-line:max-line-length\n pdfJs.GlobalWorkerOptions.workerSrc = `https://cdnjs.cloudflare.com/ajax/libs/pdf.js/${ (pdfJs as any).version }/pdf.worker.min.js`\n }\n }),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n\n public getDocument(url: string): Observable<any> {\n return from(fetch(url)).pipe(\n switchMap(v => this._pdfjs$.pipe(\n switchMap(pdfjs => pdfjs.getDocument(v).promise)\n ))\n )\n }\n}\n","import { BooleanInput, coerceArray, coerceNumberProperty } from '@angular/cdk/coercion'\nimport { Component, Input } from '@angular/core'\nimport { BehaviorSubject, from, Observable, of, ReplaySubject } from 'rxjs'\nimport { map, shareReplay, switchMap, tap } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { wrapIntoObservable } from '@theseam/ui-common/utils'\n\nimport { PdfRendererService } from './pdf-renderer.service'\n\n@Component({\n selector: 'seam-pdf-viewer',\n template: `\n <ng-container *ngFor=\"let page of pages$ | async\">\n <seam-pdf-page\n class=\"mb-2\"\n [page]=\"page | async\"\n [responsive]=\"responsive\"\n [shadow]=\"shadow\"\n [renderUpdateThreshold]=\"renderUpdateThreshold\">\n </seam-pdf-page>\n </ng-container>\n `,\n styles: [`:host { display: block; }`]\n})\nexport class TheSeamPdfViewerComponent {\n static ngAcceptInputType_shadow: BooleanInput\n static ngAcceptInputType_responsive: BooleanInput\n\n @Input()\n get pdfUrl(): string | undefined | null { return this._pdfUrl }\n set pdfUrl(value: string | undefined | null) {\n this._pdfUrl = value\n this._documentSubject.next(value)\n }\n private _pdfUrl: string | undefined | null\n\n @Input() @InputBoolean() shadow = false\n\n /**\n * Canvas will responsively scale and rerender if scaled more than\n * `renderUpdateThreshold` pixels.\n */\n @Input() @InputBoolean() responsive = false\n\n /**\n * The canvas will be rerendered if the canvas size changes by this many\n * pixels from the last render.\n *\n * To make the canvas responsive using only the initial size for its render\n * set the threshold to `-1`. You can still trigger a rerender by calling the\n * `render()` method.\n *\n * NOTE: Only used when `responsive` is `true`.\n */\n @Input()\n set renderUpdateThreshold(value: number) { this._renderUpdateThreshold = coerceNumberProperty(value) }\n get renderUpdateThreshold(): number { return this._renderUpdateThreshold }\n private _renderUpdateThreshold: number = 100\n\n /**\n * Range of pages to render.\n *\n * Example(page 1 to page 3):\n * [pageRange]=\"[1,3]\"\n */\n @Input()\n get pageRange(): number[] { return this._pageRange }\n set pageRange(value: number[]) {\n this._pageRange = value\n\n if (!this._pageRange) {\n this._pageNumbersSubject.next(undefined)\n }\n\n try {\n const range = coerceArray(this._pageRange)\n if (range.length !== 2) {\n throw new Error('[pdf-viewer] Invalid Page Range. Range array must have two numbers only.')\n }\n if (range[0] > range[1]) {\n throw new Error('[pdf-viewer] Invalid Page Range. Start of the range must be less than or equal to the end.')\n }\n\n const nums: number[] = []\n for (let i = range[0]; i <= range[1]; i++) {\n nums.push(i)\n }\n this._pageNumbersSubject.next(nums)\n } catch (err) {\n // TODO: Decide how to conveniently display these errors.\n console.error(err)\n this._pageNumbersSubject.next([])\n }\n }\n private _pageRange: number[] = []\n\n /**\n * Render a specific page.\n */\n @Input()\n get pageNumber(): number { return this._pageNumber }\n set pageNumber(value: number) {\n this._pageNumber = coerceNumberProperty(value, -1)\n this._pageNumbersSubject.next(this._pageNumber === -1 ? undefined : [ this._pageNumber ])\n }\n private _pageNumber = -1\n\n /**\n * Specific page numbers to render.\n */\n @Input()\n get pageNumbers(): number[] { return this._pageNumbers }\n set pageNumbers(value: number[]) {\n this._pageNumbers = value\n if (Array.isArray(this._pageNumbers)) {\n this._pageNumbersSubject.next(this._pageNumbers)\n } else {\n this._pageNumbersSubject.next(undefined)\n }\n }\n private _pageNumbers: number[] = []\n\n private _documentSubject = new ReplaySubject<any>(1)\n public document$: Observable<any>\n public pages$: Observable<any[]>\n\n /**\n * Undefined means all a pages\n */\n private _pageNumbersSubject = new BehaviorSubject<number[] | undefined>(undefined)\n\n constructor(\n private readonly _pdfRenderer: PdfRendererService\n ) {\n this.document$ = this._documentSubject.asObservable().pipe(\n switchMap(url => {\n if (!url) {\n return of()\n }\n return this._pdfRenderer.getDocument(url)\n })\n )\n\n const pageNumbers$ = this._pageNumbersSubject.asObservable()\n\n this.pages$ = this.document$.pipe(\n switchMap(doc => pageNumbers$.pipe(\n map(pageNumbers => {\n const pages: any[] = []\n for (let i = 0; i < doc.numPages; i++) {\n if (!pageNumbers || pageNumbers.indexOf(i + 1) !== -1) {\n pages.push(from(doc.getPage(i + 1)))\n }\n }\n return pages\n })\n ))\n )\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { TheSeamPdfPageComponent } from './pdf-page/pdf-page.component'\nimport { TheSeamPdfViewerComponent } from './pdf-viewer.component'\n\n@NgModule({\n imports: [\n CommonModule,\n TheSeamSharedModule\n ],\n declarations: [\n TheSeamPdfViewerComponent,\n TheSeamPdfPageComponent\n ],\n exports: [\n TheSeamPdfViewerComponent,\n TheSeamPdfPageComponent\n ]\n})\nexport class TheSeamPdfViewerModule { }\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectorRef, Component, ElementRef, Input, NgZone, OnDestroy, OnInit, ViewChild } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\ninterface TemplateResizeMessagePayload {\n width: number\n height: number\n}\n\nenum TemplateMessageType {\n TplData = 'theseam_tpl_data',\n TplResize = 'theseam_tpl_resize',\n}\n\ninterface TemplateMessage<TType, TPayload> {\n type: TType\n payload: TPayload\n}\n\n@Component({\n selector: 'seam-html-template-viewer',\n templateUrl: './html-template-viewer.component.html',\n styleUrls: ['./html-template-viewer.component.scss']\n})\nexport class TheSeamHtmlTemplateViewerComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_scrollable: BooleanInput\n\n private readonly _templateMessageHandlers: { [key in TemplateMessageType]: (payload: any) => void }\n\n private _message: string | undefined | null\n private _dataVersion: number = 0\n private _scrollHandleObserver: MutationObserver | null = null\n\n @Input()\n get src(): string | null | undefined { return this._src }\n set src(val: string | null | undefined) {\n this._src = val\n this._updateSrc()\n }\n private _src: string | null | undefined\n\n @Input()\n set dataVersion(value: number | undefined | null) {\n const dv = value || 0\n const sendData = this._dataVersion !== dv\n this._dataVersion = dv\n if (sendData) {\n this.postMessage(this._message)\n }\n }\n\n @Input()\n set data(value: any) {\n this.postMessage((value !== null && value !== undefined) ? JSON.stringify(value) : value)\n }\n\n @Input() @InputBoolean()\n set scrollable(value: boolean) {\n this._scrollable = value\n if (this._scrollable) {\n this._initScrollHandleObserver()\n } else {\n this._destroyScrollHandleObserver()\n }\n }\n\n _scrollable: boolean = false\n\n @ViewChild('iframeElement', { static: true })\n set iframeElementRef(val: ElementRef<HTMLIFrameElement>) {\n this._iframeElementRef = val\n const iframeNativeElement = this._getIFrameNativeElement()\n if (iframeNativeElement) {\n this._updateSrc()\n iframeNativeElement.onload = () => this.postMessage(this._message)\n }\n }\n private _iframeElementRef!: ElementRef<HTMLIFrameElement>\n\n _scrollbarOptions = {\n callbacks: {\n onInitialized: () => this._initScrollHandleObserver(),\n // Only scrollbar handles from OverlayScrollbars are currently observed,\n // so we can just disable the observer for native scrollbars.\n onInitializationWithdrawn: () => this._destroyScrollHandleObserver(),\n onDestroyed: () => this._destroyScrollHandleObserver(),\n }\n }\n\n _mouseBlockActive: boolean = false\n _mouseBlockWidth: string = '100%'\n _mouseBlockHeight: string = '100%'\n\n constructor(\n private readonly _ngZone: NgZone,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _elementRef: ElementRef\n ) {\n this._templateMessageHandlers = {\n [TemplateMessageType.TplData]: () => { }, // Not listening for message from template\n [TemplateMessageType.TplResize]: this._onResizeMessageFromTemplate\n }\n }\n\n ngOnInit(): void {\n this._ngZone.runOutsideAngular(() => window.addEventListener('message', this._onMessageFromTemplate))\n }\n\n ngOnDestroy(): void {\n window.removeEventListener('message', this._onMessageFromTemplate)\n this._destroyScrollHandleObserver()\n }\n\n private _onMessageFromTemplate = (e: any) => {\n const type = e.data.type as TemplateMessageType\n if (this._templateMessageHandlers[type]) {\n this._ngZone.run(() => this._templateMessageHandlers[type](e.data.payload))\n }\n }\n\n private _onResizeMessageFromTemplate = (payload: TemplateResizeMessagePayload): void => {\n const iframeNativeElement = this._getIFrameNativeElement()\n if (iframeNativeElement) {\n iframeNativeElement.style.height = `${payload.height}px`\n }\n }\n\n private _updateSrc(): void {\n const iframeNativeElement = this._getIFrameNativeElement()\n if (iframeNativeElement) {\n iframeNativeElement.src = this._src || ''\n }\n }\n\n public postMessage(msg: string | undefined | null): void {\n this._message = msg\n\n let _msg = msg\n const contentWindow = this._getIFrameContentWindow()\n if (contentWindow && _msg) {\n if (this._dataVersion === 2) {\n const wrapper: TemplateMessage<TemplateMessageType, any> = { type: TemplateMessageType.TplData, payload: undefined }\n try { wrapper.payload = JSON.parse(_msg) } catch { wrapper.payload = _msg }\n _msg = JSON.stringify(wrapper)\n }\n\n contentWindow.postMessage(_msg, '*')\n }\n }\n\n public reload(): void {\n this._updateSrc()\n }\n\n _onResized(event: { width: number, height: number }) {\n // This ensures the iframe scales itself if it isn't listening to or misses\n // the resize event.\n this.reload()\n }\n\n private _getIFrameNativeElement(): HTMLIFrameElement | null {\n return (this._iframeElementRef?.nativeElement) || null\n }\n\n private _getIFrameContentWindow(): Window | null {\n return (this._iframeElementRef?.nativeElement?.contentWindow) || null\n }\n\n /**\n * Initializes a MutationObserver to detect the 'active' class added to a\n * scroll handle, because OverlayScrollbars does not seem to provide an event\n * for scrollbar handle activation/deactivation.\n *\n * TODO: Do we need this to work for native scrollbars also?\n */\n private _initScrollHandleObserver(): void {\n if (this._scrollHandleObserver !== null) {\n return\n }\n\n this._ngZone.runOutsideAngular(() => {\n const observer = new MutationObserver(() => {\n this._ngZone.run(() => {\n if (this._isScrollbarHandleActive()) {\n this._enableMouseBlock()\n } else {\n this._disableMouseBlock()\n }\n })\n })\n\n observer.observe(this._elementRef.nativeElement, {\n attributes: true,\n attributeFilter: [ 'class' ],\n childList: true,\n subtree: true,\n characterData: false,\n })\n\n this._scrollHandleObserver = observer\n })\n }\n\n private _destroyScrollHandleObserver(): void {\n if (this._scrollHandleObserver === null) {\n return\n }\n\n this._scrollHandleObserver.disconnect()\n this._scrollHandleObserver = null\n }\n\n /**\n * Enables a transparent div to cover the iframe.\n *\n * When the mouse is over an iframe the browser stops letting the parent\n * document receive mouse events. Anything actively tracking mouse movement or\n * button pressed will think the mouse has left the page. So the scrollbar\n * handle would deactivate, when the mouse hovers the iframe. This adds an\n * element to cover the iframe, which prevents mouse events getting sent to\n * the iframe.\n */\n private _enableMouseBlock(): void {\n this._mouseBlockActive = true\n\n const iframeElement = this._getIFrameNativeElement()\n if (iframeElement) {\n const rect = iframeElement.getBoundingClientRect()\n this._mouseBlockWidth = `${rect.width}px`\n this._mouseBlockHeight = `${rect.height}px`\n } else {\n this._mouseBlockWidth = '100%'\n this._mouseBlockHeight = '100%'\n }\n\n this._cdr.detectChanges()\n }\n\n private _disableMouseBlock(): void {\n this._mouseBlockActive = false\n this._cdr.detectChanges()\n }\n\n private _isScrollbarHandleActive(): boolean {\n return this._elementRef.nativeElement.querySelector('.os-scrollbar-handle.active') !== null\n }\n\n}\n","<div (seamElemResized)=\"_onResized($any($event))\">\n <div class=\"embed-responsive embed-responsive-4by3\"\n [seamOverlayScrollbar]=\"_scrollbarOptions\"\n [overlayScrollbarEnabled]=\"_scrollable\">\n <iframe #iframeElement class=\"embed-responsive-item\" allowfullscreen></iframe>\n <div *ngIf=\"_mouseBlockActive\"\n class=\"iframe-mouse-block\"\n [style.width]=\"_mouseBlockWidth\"\n [style.height]=\"_mouseBlockHeight\">\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { TheSeamHtmlTemplateViewerComponent } from './html-template-viewer.component'\n\n@NgModule({\n imports: [\n CommonModule,\n TheSeamScrollbarModule,\n TheSeamSharedModule,\n ],\n declarations: [\n TheSeamHtmlTemplateViewerComponent,\n ],\n exports: [\n TheSeamHtmlTemplateViewerComponent,\n ]\n})\nexport class TheSeamHtmlTemplateViewerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PdfRendererService","i3.TheSeamPdfPageComponent","i1","i2","i3"],"mappings":"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"}
|