@theseam/ui-common 0.4.28 → 0.4.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/breadcrumbs/breadcrumbs/breadcrumbs.component.scss +1 -1
- package/datatable/datatable/datatable.component.d.ts +61 -9
- package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +25 -0
- package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +18 -0
- package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +16 -0
- package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +15 -0
- package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -2
- package/datatable/datatable.module.d.ts +29 -20
- package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +8 -0
- package/datatable/directives/datatable-column-filter.directive.d.ts +10 -0
- package/datatable/models/action-item-column-position.d.ts +13 -0
- package/datatable/models/columns-data-filter.d.ts +57 -0
- package/datatable/models/columns-data-filters/models.d.ts +65 -0
- package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +23 -0
- package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +22 -0
- package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +21 -0
- package/datatable/models/columns-data-filters/utils.d.ts +15 -0
- package/datatable/models/datatable-config.d.ts +97 -0
- package/datatable/models/table-column.d.ts +22 -1
- package/datatable/public-api.d.ts +14 -0
- package/datatable/services/columns-filters.service.d.ts +29 -0
- package/datatable/services/columns-manager.service.d.ts +7 -0
- package/datatable/utils/create-action-menu-column.d.ts +1 -1
- package/esm2020/asset-reader/asset-reader-helper.service.mjs +4 -4
- package/esm2020/asset-reader/asset-reader.module.mjs +5 -5
- package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +4 -4
- package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +5 -5
- package/esm2020/breadcrumbs/breadcrumbs.module.mjs +5 -5
- package/esm2020/breadcrumbs/breadcrumbs.service.mjs +4 -4
- package/esm2020/buttons/badge-button/badge-button.component.mjs +7 -7
- package/esm2020/buttons/button/button.component.mjs +10 -10
- package/esm2020/buttons/buttons.module.mjs +5 -5
- package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +4 -4
- package/esm2020/buttons/toggle-button/toggle-button.component.mjs +4 -4
- package/esm2020/card/card-action/card-action.component.mjs +4 -4
- package/esm2020/card/card-body/card-body.component.mjs +4 -4
- package/esm2020/card/card-footer/card-footer.component.mjs +4 -4
- package/esm2020/card/card-header/card-header.component.mjs +4 -4
- package/esm2020/card/card.component.mjs +4 -4
- package/esm2020/card/card.module.mjs +5 -5
- package/esm2020/carousel/carousel-slide.directive.mjs +4 -4
- package/esm2020/carousel/carousel.component.mjs +4 -4
- package/esm2020/carousel/carousel.module.mjs +5 -5
- package/esm2020/checkbox/checkbox.component.mjs +4 -4
- package/esm2020/checkbox/checkbox.module.mjs +5 -5
- package/esm2020/confirm-dialog/confirm-click.directive.mjs +4 -4
- package/esm2020/confirm-dialog/confirm-dialog.component.mjs +4 -4
- package/esm2020/confirm-dialog/confirm-dialog.module.mjs +5 -5
- package/esm2020/confirm-dialog/confirm-dialog.service.mjs +4 -4
- package/esm2020/data-exporter/data-exporter.module.mjs +5 -5
- package/esm2020/data-exporter/exporters/csv-exporter.mjs +4 -4
- package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +4 -4
- package/esm2020/data-filters/data-filters.module.mjs +5 -5
- package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +4 -4
- package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +4 -4
- package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +4 -4
- package/esm2020/datatable/datatable/datatable.component.mjs +241 -32
- package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +5 -5
- package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +4 -4
- package/esm2020/datatable/datatable-column/datatable-column.component.mjs +4 -4
- package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +55 -0
- package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +54 -0
- package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +48 -0
- package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +44 -0
- package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +4 -4
- package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +4 -4
- package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +4 -4
- package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +4 -4
- package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +4 -4
- package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +4 -4
- package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +4 -4
- package/esm2020/datatable/datatable.module.mjs +53 -11
- package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +4 -4
- package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +4 -4
- package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +4 -4
- package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +16 -0
- package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +26 -0
- package/esm2020/datatable/directives/datatable-filter.directive.mjs +4 -4
- package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +4 -4
- package/esm2020/datatable/models/action-item-column-position.mjs +5 -0
- package/esm2020/datatable/models/columns-data-filter.mjs +10 -0
- package/esm2020/datatable/models/columns-data-filters/models.mjs +74 -0
- package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +113 -0
- package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +104 -0
- package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +86 -0
- package/esm2020/datatable/models/columns-data-filters/utils.mjs +28 -0
- package/esm2020/datatable/models/datatable-config.mjs +3 -0
- package/esm2020/datatable/models/table-column.mjs +1 -1
- package/esm2020/datatable/public-api.mjs +15 -1
- package/esm2020/datatable/services/columns-alterations-manager.service.mjs +4 -4
- package/esm2020/datatable/services/columns-filters.service.mjs +109 -0
- package/esm2020/datatable/services/columns-manager.service.mjs +30 -5
- package/esm2020/datatable/services/datatable-column-changes.service.mjs +4 -4
- package/esm2020/datatable/services/datatable-preferences.service.mjs +4 -4
- package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +4 -4
- package/esm2020/datatable/utils/create-action-menu-column.mjs +4 -3
- package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +4 -4
- package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +4 -4
- package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +4 -4
- package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +5 -5
- package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +5 -5
- package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +4 -4
- package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +4 -4
- package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +4 -4
- package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +4 -4
- package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +4 -4
- package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +4 -4
- package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +4 -4
- package/esm2020/dynamic/dynamic-value-helper.service.mjs +4 -4
- package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +4 -4
- package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +4 -4
- package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +5 -5
- package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +4 -4
- package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +4 -4
- package/esm2020/footer-bar/footer-bar.module.mjs +5 -5
- package/esm2020/form-field/form-field-error.directive.mjs +4 -4
- package/esm2020/form-field/form-field-help-text.directive.mjs +4 -4
- package/esm2020/form-field/form-field-label-tpl.directive.mjs +4 -4
- package/esm2020/form-field/form-field-required-indicator.component.mjs +4 -4
- package/esm2020/form-field/form-field.component.mjs +4 -4
- package/esm2020/form-field/form-field.module.mjs +5 -5
- package/esm2020/form-field/input.directive.mjs +4 -4
- package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +4 -4
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +4 -4
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +4 -4
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +4 -4
- package/esm2020/form-field-error/form-field-error.module.mjs +5 -5
- package/esm2020/framework/base-layout/base-layout.component.mjs +16 -6
- package/esm2020/framework/base-layout/base-layout.module.mjs +10 -5
- package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +22 -6
- package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +16 -0
- package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +4 -4
- package/esm2020/framework/base-layout/index.mjs +2 -1
- package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard.component.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard.module.mjs +5 -5
- package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +5 -5
- package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +4 -4
- package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +4 -4
- package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +55 -0
- package/esm2020/framework/nav/index.mjs +6 -0
- package/esm2020/framework/nav/nav-item/nav-item.component.mjs +227 -0
- package/esm2020/framework/nav/nav-utils.mjs +107 -0
- package/esm2020/framework/nav/nav.models.mjs +2 -0
- package/esm2020/framework/nav/nav.module.mjs +67 -0
- package/esm2020/framework/nav/nav.service.mjs +204 -0
- package/esm2020/framework/public-api.mjs +2 -1
- package/esm2020/framework/schema-form/schema-form-framework.component.mjs +4 -4
- package/esm2020/framework/schema-form/schema-form-framework.mjs +4 -4
- package/esm2020/framework/schema-form/schema-form.module.mjs +5 -5
- package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.mjs +4 -4
- package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +29 -68
- package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +14 -7
- package/esm2020/framework/side-nav/side-nav.component.mjs +117 -39
- package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
- package/esm2020/framework/side-nav/side-nav.module.mjs +11 -41
- package/esm2020/framework/side-nav/side-nav.service.mjs +4 -4
- package/esm2020/framework/top-bar/index.mjs +3 -1
- package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +16 -0
- package/esm2020/framework/top-bar/top-bar-item.directive.mjs +12 -6
- package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +4 -4
- package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +8 -6
- package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +4 -4
- package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +16 -0
- package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +4 -4
- package/esm2020/framework/top-bar/top-bar.component.mjs +57 -13
- package/esm2020/framework/top-bar/top-bar.module.mjs +19 -9
- package/esm2020/google-maps/google-maps/google-maps.component.mjs +4 -4
- package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +4 -4
- package/esm2020/google-maps/google-maps-api-loader/noop-google-maps-api-loader.mjs +4 -4
- package/esm2020/google-maps/google-maps-controls.service.mjs +4 -4
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +5 -5
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +4 -4
- package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +4 -4
- package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +4 -4
- package/esm2020/google-maps/google-maps.module.mjs +5 -5
- package/esm2020/google-maps/google-maps.service.mjs +4 -4
- package/esm2020/google-maps/map-control.component.mjs +4 -4
- package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +4 -4
- package/esm2020/google-maps/map-value-manager.service.mjs +4 -4
- package/esm2020/graphql/datatable/datatable-graphql.service.mjs +4 -4
- package/esm2020/graphql/datatable/index.mjs +4 -1
- package/esm2020/graphql/datatable/map-filter-states.mjs +1 -1
- package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +139 -0
- package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +75 -0
- package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +44 -0
- package/esm2020/icon/icon/icon.component.mjs +4 -4
- package/esm2020/icon/icon-btn/icon-btn.component.mjs +4 -4
- package/esm2020/icon/icon-notification/icon-notification.component.mjs +4 -4
- package/esm2020/icon/icon.module.mjs +5 -5
- package/esm2020/layout/layout.module.mjs +5 -5
- package/esm2020/layout/layout.service.mjs +15 -5
- package/esm2020/loading/loading/loading.component.mjs +4 -4
- package/esm2020/loading/loading-overlay.service.mjs +4 -4
- package/esm2020/loading/loading.module.mjs +5 -5
- package/esm2020/menu/menu-divider.component.mjs +4 -4
- package/esm2020/menu/menu-footer/menu-footer.component.mjs +4 -4
- package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +4 -4
- package/esm2020/menu/menu-header/menu-header.component.mjs +4 -4
- package/esm2020/menu/menu-item.component.mjs +4 -4
- package/esm2020/menu/menu-toggle.directive.mjs +9 -4
- package/esm2020/menu/menu.component.mjs +4 -4
- package/esm2020/menu/menu.module.mjs +5 -5
- package/esm2020/modal/directives/modal-close.directive.mjs +4 -4
- package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +4 -4
- package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +4 -4
- package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +4 -4
- package/esm2020/modal/directives/modal-title.directive.mjs +4 -4
- package/esm2020/modal/directives/modal.directive.mjs +4 -4
- package/esm2020/modal/modal/modal.component.mjs +4 -4
- package/esm2020/modal/modal-body/modal-body.component.mjs +4 -4
- package/esm2020/modal/modal-container/modal-container.component.mjs +4 -4
- package/esm2020/modal/modal-footer/modal-footer.component.mjs +4 -4
- package/esm2020/modal/modal-header/modal-header.component.mjs +4 -4
- package/esm2020/modal/modal.module.mjs +5 -5
- package/esm2020/modal/modal.service.mjs +4 -4
- package/esm2020/modal/route-modal/route-modal.component.mjs +4 -4
- package/esm2020/navigation-reload/navigation-reload.service.mjs +5 -5
- package/esm2020/popover/popover/popover.component.mjs +9 -5
- package/esm2020/popover/popover.directive.mjs +8 -4
- package/esm2020/popover/popover.module.mjs +5 -5
- package/esm2020/progress/progress-circle/progress-circle.component.mjs +4 -4
- package/esm2020/progress/progress.module.mjs +5 -5
- package/esm2020/rich-text/rich-text/rich-text.component.mjs +4 -4
- package/esm2020/rich-text/rich-text.module.mjs +5 -5
- package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +4 -4
- package/esm2020/scrollbar/overlay-scrollbars.service.mjs +4 -4
- package/esm2020/scrollbar/scrollbar.module.mjs +5 -5
- package/esm2020/services/asset-loader.service.mjs +4 -4
- package/esm2020/services/font-loader.service.mjs +4 -4
- package/esm2020/services/preferences/preferences-manager.service.mjs +4 -4
- package/esm2020/services/router-helpers.service.mjs +4 -4
- package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +4 -4
- package/esm2020/shared/directives/auto-focus.directive.mjs +4 -4
- package/esm2020/shared/directives/click-outside.directive.mjs +4 -4
- package/esm2020/shared/directives/disable-control.directive.mjs +4 -4
- package/esm2020/shared/directives/elem-resized.directive.mjs +4 -4
- package/esm2020/shared/directives/hover-class-toggle.directive.mjs +4 -4
- package/esm2020/shared/directives/hover-class.directive.mjs +4 -4
- package/esm2020/shared/directives/ng-select-extra.directive.mjs +4 -4
- package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +4 -4
- package/esm2020/shared/pipes/mask-chars.pipe.mjs +4 -4
- package/esm2020/shared/pipes/truncate.pipe.mjs +4 -4
- package/esm2020/shared/shared.module.mjs +5 -5
- package/esm2020/storage/local-storage.service.mjs +4 -4
- package/esm2020/story-helpers/initial-route.service.mjs +4 -4
- package/esm2020/story-helpers/story-empty-with-route.component.mjs +4 -4
- package/esm2020/story-helpers/story-empty.component.mjs +4 -4
- package/esm2020/story-helpers/story-helper-components.module.mjs +5 -5
- package/esm2020/story-helpers/story-initial-route.mjs +5 -5
- package/esm2020/story-helpers/story-modal-container.component.mjs +4 -4
- package/esm2020/story-helpers/story-preferences-accessor.service.mjs +4 -4
- package/esm2020/story-helpers/story-toastr.service.mjs +4 -4
- package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +4 -4
- package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +4 -4
- package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +4 -4
- package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +4 -4
- package/esm2020/tabbed/tabbed.component.mjs +4 -4
- package/esm2020/tabbed/tabbed.module.mjs +5 -5
- package/esm2020/tabbed/tabbed.service.mjs +4 -4
- package/esm2020/table/public-api.mjs +4 -1
- package/esm2020/table/table/table.component.mjs +92 -7
- package/esm2020/table/table-cell-tpl.directive.mjs +17 -0
- package/esm2020/table/table-column-header-tpl.directive.mjs +17 -0
- package/esm2020/table/table-column.component.mjs +68 -0
- package/esm2020/table/table.module.mjs +25 -9
- package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +4 -4
- package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +4 -4
- package/esm2020/table-cell-type/table-cell-type.module.mjs +5 -5
- package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +7 -5
- package/esm2020/table-cell-types/table-cell-types.module.mjs +5 -5
- package/esm2020/tel-input/phone-number.pipe.mjs +4 -4
- package/esm2020/tel-input/tel-input/tel-input.component.mjs +4 -4
- package/esm2020/tel-input/tel-input.directive.mjs +4 -4
- package/esm2020/tel-input/tel-input.module.mjs +5 -5
- package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +4 -4
- package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +4 -4
- package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +4 -4
- package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +4 -4
- package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +4 -4
- package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +4 -4
- package/esm2020/tiled-select/tiled-select.module.mjs +5 -5
- package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +4 -4
- package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +4 -4
- package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +4 -4
- package/esm2020/toggle-edit/toggle-edit.component.mjs +4 -4
- package/esm2020/toggle-edit/toggle-edit.module.mjs +5 -5
- package/esm2020/toggle-group/toggle-group-option.directive.mjs +4 -4
- package/esm2020/toggle-group/toggle-group.directive.mjs +4 -4
- package/esm2020/toggle-group/toggle-group.module.mjs +5 -5
- package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +4 -4
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +4 -4
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +4 -4
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +5 -5
- package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
- package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
- package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
- package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
- package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
- package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
- package/esm2020/vertical-list-filter/vertical-list-filter.component.mjs +4 -4
- package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +4 -4
- package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +5 -5
- package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +4 -4
- package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +4 -4
- package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +4 -4
- package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +5 -5
- package/esm2020/widget/directives/widget-drag-handle.directive.mjs +4 -4
- package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +4 -4
- package/esm2020/widget/directives/widget-title-tpl.directive.mjs +4 -4
- package/esm2020/widget/preferences/widget-preferences.service.mjs +4 -4
- package/esm2020/widget/widget/widget.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +16 -16
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +7 -7
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +5 -5
- package/esm2020/widget/widget-footer/widget-footer.component.mjs +4 -4
- package/esm2020/widget/widget-registry.service.mjs +4 -4
- package/esm2020/widget/widget.module.mjs +5 -5
- package/fesm2015/theseam-ui-common-asset-reader.mjs +10 -10
- package/fesm2015/theseam-ui-common-asset-reader.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs +11 -11
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-buttons.mjs +25 -25
- package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-card.mjs +19 -19
- package/fesm2015/theseam-ui-common-card.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-carousel.mjs +10 -10
- package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-checkbox.mjs +7 -7
- package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-confirm-dialog.mjs +13 -13
- package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
- package/fesm2015/theseam-ui-common-data-exporter.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-data-filters.mjs +13 -13
- package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +26 -26
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable.mjs +1112 -139
- package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +7 -7
- package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-dynamic.mjs +21 -21
- package/fesm2015/theseam-ui-common-dynamic.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-footer-bar.mjs +7 -7
- package/fesm2015/theseam-ui-common-footer-bar.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-form-field-error.mjs +16 -16
- package/fesm2015/theseam-ui-common-form-field-error.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-form-field.mjs +22 -22
- package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-framework.mjs +1026 -277
- package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-google-maps.mjs +41 -41
- package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-graphql.mjs +257 -4
- package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-icon.mjs +13 -13
- package/fesm2015/theseam-ui-common-icon.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-layout.mjs +18 -9
- package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-loading.mjs +10 -10
- package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-menu.mjs +30 -25
- package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-modal.mjs +43 -43
- package/fesm2015/theseam-ui-common-modal.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-navigation-reload.mjs +4 -4
- package/fesm2015/theseam-ui-common-navigation-reload.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-popover.mjs +19 -11
- package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-progress.mjs +7 -7
- package/fesm2015/theseam-ui-common-progress.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-rich-text.mjs +7 -7
- package/fesm2015/theseam-ui-common-rich-text.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-scrollbar.mjs +10 -10
- package/fesm2015/theseam-ui-common-scrollbar.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-services.mjs +12 -12
- package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-shared.mjs +37 -37
- package/fesm2015/theseam-ui-common-shared.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-storage.mjs +3 -3
- package/fesm2015/theseam-ui-common-storage.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-story-helpers.mjs +26 -26
- package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tabbed.mjs +22 -22
- package/fesm2015/theseam-ui-common-tabbed.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table-cell-type.mjs +10 -10
- package/fesm2015/theseam-ui-common-table-cell-type.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table-cell-types.mjs +34 -32
- package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table.mjs +207 -15
- package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tel-input.mjs +13 -13
- package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tiled-select.mjs +22 -22
- package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-toggle-edit.mjs +16 -16
- package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-toggle-group.mjs +10 -10
- package/fesm2015/theseam-ui-common-toggle-group.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
- package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-vertical-list-filter.mjs +3 -3
- package/fesm2015/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-viewers.mjs +20 -20
- package/fesm2015/theseam-ui-common-viewers.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-widget.mjs +135 -135
- package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-asset-reader.mjs +10 -10
- package/fesm2020/theseam-ui-common-asset-reader.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs +11 -11
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-buttons.mjs +25 -25
- package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-card.mjs +19 -19
- package/fesm2020/theseam-ui-common-card.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-carousel.mjs +10 -10
- package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-checkbox.mjs +7 -7
- package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-confirm-dialog.mjs +13 -13
- package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
- package/fesm2020/theseam-ui-common-data-exporter.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-data-filters.mjs +13 -13
- package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +26 -26
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable.mjs +1096 -139
- package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +7 -7
- package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-dynamic.mjs +21 -21
- package/fesm2020/theseam-ui-common-dynamic.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-footer-bar.mjs +7 -7
- package/fesm2020/theseam-ui-common-footer-bar.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-form-field-error.mjs +16 -16
- package/fesm2020/theseam-ui-common-form-field-error.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-form-field.mjs +22 -22
- package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-framework.mjs +1028 -277
- package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-google-maps.mjs +41 -41
- package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-graphql.mjs +257 -4
- package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-icon.mjs +13 -13
- package/fesm2020/theseam-ui-common-icon.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-layout.mjs +18 -9
- package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-loading.mjs +10 -10
- package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-menu.mjs +30 -25
- package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-modal.mjs +43 -43
- package/fesm2020/theseam-ui-common-modal.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-navigation-reload.mjs +4 -4
- package/fesm2020/theseam-ui-common-navigation-reload.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-popover.mjs +19 -11
- package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-progress.mjs +7 -7
- package/fesm2020/theseam-ui-common-progress.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-rich-text.mjs +7 -7
- package/fesm2020/theseam-ui-common-rich-text.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-scrollbar.mjs +10 -10
- package/fesm2020/theseam-ui-common-scrollbar.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-services.mjs +12 -12
- package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-shared.mjs +37 -37
- package/fesm2020/theseam-ui-common-shared.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-storage.mjs +3 -3
- package/fesm2020/theseam-ui-common-storage.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-story-helpers.mjs +26 -26
- package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tabbed.mjs +22 -22
- package/fesm2020/theseam-ui-common-tabbed.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table-cell-type.mjs +10 -10
- package/fesm2020/theseam-ui-common-table-cell-type.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table-cell-types.mjs +34 -32
- package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table.mjs +205 -15
- package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tel-input.mjs +13 -13
- package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tiled-select.mjs +22 -22
- package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-toggle-edit.mjs +16 -16
- package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-toggle-group.mjs +10 -10
- package/fesm2020/theseam-ui-common-toggle-group.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
- package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-vertical-list-filter.mjs +3 -3
- package/fesm2020/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-viewers.mjs +20 -20
- package/fesm2020/theseam-ui-common-viewers.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-widget.mjs +135 -135
- package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
- package/framework/base-layout/base-layout.component.d.ts +4 -2
- package/framework/base-layout/base-layout.component.scss +18 -10
- package/framework/base-layout/base-layout.module.d.ts +11 -10
- package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +8 -3
- package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +9 -0
- package/framework/base-layout/index.d.ts +1 -0
- package/framework/base-layout/styles/_variables.scss +21 -0
- package/framework/nav/_nav-theme.scss +4 -0
- package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +25 -0
- package/framework/nav/horizontal-nav/horizontal-nav.component.scss +50 -0
- package/framework/nav/index.d.ts +5 -0
- package/framework/nav/nav-item/nav-item.component.d.ts +74 -0
- package/framework/nav/nav-item/nav-item.component.scss +203 -0
- package/framework/nav/nav-utils.d.ts +20 -0
- package/framework/nav/nav.models.d.ts +77 -0
- package/framework/nav/nav.module.d.ts +17 -0
- package/framework/nav/nav.service.d.ts +27 -0
- package/framework/nav/styles/_themes/light/_variables.scss +56 -0
- package/framework/nav/styles/_themes/primary/_variables.scss +56 -0
- package/framework/nav/styles/_utilities.scss +3 -0
- package/framework/nav/styles/_variables.scss +2 -0
- package/framework/public-api.d.ts +1 -0
- package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +7 -14
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +7 -5
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +5 -3
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +3 -6
- package/framework/side-nav/side-nav.component.d.ts +13 -1
- package/framework/side-nav/side-nav.component.scss +0 -1
- package/framework/side-nav/side-nav.models.d.ts +7 -1
- package/framework/side-nav/side-nav.module.d.ts +1 -9
- package/framework/side-nav/styles/_themes/light/_variables.scss +24 -14
- package/framework/side-nav/styles/_themes/primary/_variables.scss +8 -0
- package/framework/top-bar/index.d.ts +2 -0
- package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +8 -0
- package/framework/top-bar/top-bar-item.directive.d.ts +4 -1
- package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +5 -2
- package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +8 -0
- package/framework/top-bar/top-bar.component.d.ts +25 -3
- package/framework/top-bar/top-bar.component.scss +7 -2
- package/framework/top-bar/top-bar.module.d.ts +10 -8
- package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
- package/graphql/datatable/index.d.ts +3 -0
- package/graphql/datatable/map-filter-states.d.ts +2 -2
- package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +4 -0
- package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +4 -0
- package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +4 -0
- package/layout/layout.service.d.ts +9 -1
- package/menu/menu-toggle.directive.d.ts +2 -1
- package/package.json +3 -3
- package/popover/popover/popover.component.d.ts +4 -1
- package/popover/popover.directive.d.ts +2 -1
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +83 -14
- package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +38 -3
- package/table/public-api.d.ts +3 -0
- package/table/table/table.component.d.ts +21 -3
- package/table/table-cell-tpl.directive.d.ts +7 -0
- package/table/table-column-header-tpl.directive.d.ts +7 -0
- package/table/table-column.component.d.ts +24 -0
- package/table/table.module.d.ts +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-form-field-error.mjs","sources":["../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.ts","../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list-item.directive.ts","../../../projects/ui-common/form-field-error/form-field-error/form-field-error.component.ts","../../../projects/ui-common/form-field-error/form-field-error/form-field-error.component.html","../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list.component.ts","../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list.component.html","../../../projects/ui-common/form-field-error/form-field-error.module.ts","../../../projects/ui-common/form-field-error/theseam-ui-common-form-field-error.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion'\nimport { Directive, Input, TemplateRef } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamFormFieldErrorListItemTpl]'\n})\nexport class FormFieldErrorListItemTplDirective {\n static ngAcceptInputType_external: BooleanInput\n\n @Input() validatorName: string | undefined | null\n\n @Input() @InputBoolean() external = false\n\n constructor(public template: TemplateRef<any>) {}\n\n}\n","import { Directive, Input, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamFormFieldErrorListItem]'\n})\nexport class FormFieldErrorListItemDirective {\n\n @Input() validatorName: string | undefined | null\n\n constructor(public template: TemplateRef<any>) {}\n\n}\n","import { Component, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Component({\n selector: 'seam-form-field-error',\n templateUrl: './form-field-error.component.html',\n styleUrls: ['./form-field-error.component.scss']\n})\nexport class FormFieldErrorComponent {\n\n @Input() validatorName: string | undefined | null\n @Input() message: string | undefined | null\n\n @Input() @InputBoolean() showValidatorName = false\n\n}\n","<em style=\"display: block;\">\n <span *ngIf=\"showValidatorName && validatorName\"\n style=\"font-weight: bold;\">{{ validatorName }}: </span>\n <span class=\"msg-text\">{{ message }}</span>\n</em>\n","import { Component, ContentChildren, DoCheck, HostBinding, Input, OnDestroy, QueryList, TemplateRef } from '@angular/core'\nimport { AbstractControl, AbstractControlDirective, ValidationErrors } from '@angular/forms'\nimport { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs'\nimport { distinctUntilChanged, map, shareReplay, startWith } from 'rxjs/operators'\n\nimport { FormFieldErrorListItemTplDirective } from './form-field-error-list-item-tpl.directive'\n\nexport interface IErrorRecord {\n validatorName: string\n error: any,\n message?: string\n template?: TemplateRef<any>\n\n external?: boolean\n\n _errors?: ValidationErrors\n}\n\n/**\n * NOTE: This class has some issues with filtering duplicate validators. The\n * inputs will be cleaned up soon to fix the input confusion.\n *\n * TODO: Cleanup remaining code from before refactor.\n */\n@Component({\n selector: 'seam-form-field-error-list',\n templateUrl: './form-field-error-list.component.html',\n styleUrls: ['./form-field-error-list.component.scss']\n})\nexport class FormFieldErrorListComponent implements OnDestroy, DoCheck {\n\n @HostBinding('style.display') get _display() {\n return this.showErrors ? 'block' : 'none'\n }\n\n private static readonly defaultMessages: { [name: string]: ((params: any) => string) | (() => string) } = {\n // required: () => 'Required',\n // minlength: (params) => 'The min number of characters is ' + params.requiredLength,\n // maxlength: (params) => 'The max allowed number of characters is ' + params.requiredLength,\n // pattern: (params) => 'The required pattern is: ' + params.requiredPattern\n }\n\n private readonly _defaultMessages: { [name: string]: ((params: any) => string) | (() => string) } = {\n // required: () => 'Required',\n // minlength: (params) => 'The min number of characters is ' + params.requiredLength,\n // maxlength: (params) => 'The max allowed number of characters is ' + params.requiredLength,\n // pattern: (params) => 'The required pattern is: ' + params.requiredPattern\n }\n\n private _errors: any[] = []\n\n public _paddingErrors = []\n\n @Input()\n set errors(records: IErrorRecord[] | undefined | null) {\n // if (val instanceof Array) {\n // this._errors = val\n // } else {\n // const errs = []\n // for (const k in val) {\n // if (val[k]) {\n // const err = val[k]\n // const newErr = {\n // validatorName: k,\n // error: err,\n // message: '',\n // template: err.template,\n // external: !!err.external\n // }\n\n // if (err.message) {\n // const msgTmp = err.message\n // if (typeof msgTmp === 'string') {\n // newErr.message = msgTmp\n // } else if (typeof msgTmp === 'function') {\n // newErr.message = msgTmp(err)\n // }\n // } else if (FormFieldErrorListComponent.defaultMessages[k]) {\n // const defaultMsg = FormFieldErrorListComponent.defaultMessages[k]\n // if (typeof defaultMsg === 'string') {\n // newErr.message = defaultMsg\n // } else if (typeof defaultMsg === 'function') {\n // newErr.message = defaultMsg(err)\n // }\n // }\n\n // errs.push(newErr)\n // }\n // }\n // this._errors = errs\n // }\n\n this._initErrorInput(records || [])\n }\n\n // get errors() {\n // let errs = []\n\n // if (this._errors) {\n // if (!this.messages) {\n // errs = this._errors\n // } else {\n // errs = this._errors.map(err => {\n // if (this.messages && err.validatorName && this.messages[err.validatorName]) {\n // return Object.assign({}, err, {\n // message: this.messages[err.validatorName]\n // })\n // } else {\n // return err\n // }\n // })\n // }\n // }\n\n // if (this.control) {\n // for (const key in this.control.errors) {\n // if (this.control.errors[key]) {\n // const err = this.control.errors[key]\n\n // const newErr = {\n // validatorName: key,\n // error: err,\n // message: '',\n // external: false\n // }\n\n // if (FormFieldErrorListComponent.defaultMessages[key]) {\n // const defaultMsg = FormFieldErrorListComponent.defaultMessages[key]\n // if (typeof defaultMsg === 'string') {\n // newErr.message = defaultMsg\n // } else if (typeof defaultMsg === 'function') {\n // newErr.message = defaultMsg(err)\n // }\n // }\n\n // errs = [ ...errs, newErr ]\n // }\n // }\n // }\n\n // if (this.maxErrors >= 0) {\n // errs = errs.slice(0, this.maxErrors)\n // }\n\n // const count = this.showControlErrors ? this.numPaddingErrors - errs.length : this.numPaddingErrors\n // if (count > 0) {\n // this._paddingErrors = []\n // for (let i = 0; i < count; i++) {\n // this._paddingErrors.push({ validatorName: '__padding__', error: {}, message: '', external: false })\n // }\n // } else {\n // this._paddingErrors = []\n // }\n\n // return errs\n // }\n\n // @Input() messages: any = {}\n @Input() showValidatorName = false\n\n @Input() numPaddingErrors = 1\n\n // private errorTpl: TemplateRef<any>\n\n // private _listItemTpls: QueryList<FormFieldErrorListItemTplDirective>\n // private listItemTplsObj = {}\n\n @ContentChildren(FormFieldErrorListItemTplDirective)\n set _listItemTpls(val: QueryList<FormFieldErrorListItemTplDirective>) {\n this._initErrorTemplates(val)\n }\n\n @Input()\n set listItemTpls(val: QueryList<FormFieldErrorListItemTplDirective>) {\n this._initErrorTemplates(val)\n\n // for (const v of val.toArray()) {\n // if (v.validatorName !== undefined) {\n // this.listItemTplsObj[v.validatorName] = v\n // }\n // }\n\n // const tmp = val.find(v => v.validatorName === undefined)\n // if (tmp) {\n // this.errorTpl = tmp.template\n // }\n\n // this._listItemTpls = val\n }\n\n // get listItemTpls(): QueryList<FormFieldErrorListItemTplDirective> {\n // return this._listItemTpls\n // }\n\n @Input() maxErrors = -1\n\n @Input()\n get control(): AbstractControlDirective | AbstractControl | undefined | null { return this._control }\n set control(value: AbstractControlDirective | AbstractControl | undefined | null) {\n this._control = value\n if (value) {\n this._initControlListeners(value)\n }\n }\n private _control: AbstractControlDirective | AbstractControl | undefined | null\n\n private _valueChangeSub = Subscription.EMPTY\n private _errorTplsChangeSub = Subscription.EMPTY\n\n private _controlErrors = new BehaviorSubject<IErrorRecord[]>([])\n private _errorTpls = new BehaviorSubject<IErrorRecord[]>([])\n private _errorInput = new BehaviorSubject<IErrorRecord[]>([])\n\n private _showControlErrorsSubject = new BehaviorSubject<boolean>(false)\n\n public displayRecords$: Observable<IErrorRecord[]>\n public showControlErrors$: Observable<boolean>\n\n private _showErrors = true\n\n @Input()\n set showErrors(val: boolean) {\n this._showErrors = val\n }\n\n get showErrors(): boolean {\n let show = this._showErrors\n\n if (show && this.control) {\n if (this.numPaddingErrors > 0) {\n show = true\n } else {\n show = !!(this.control.invalid && (this.control.dirty || this.control.touched))\n }\n }\n\n return show\n }\n\n get showControlErrors(): boolean {\n let show = false\n if (this.control && this.showErrors) {\n show = !!(this.control.invalid && (this.control.dirty || this.control.touched))\n }\n\n return show\n }\n\n public errorRecords$: Observable<IErrorRecord[]>\n\n constructor() {\n this.showControlErrors$ = this._showControlErrorsSubject.asObservable()\n .pipe(distinctUntilChanged())\n .pipe(shareReplay(1))\n\n this.errorRecords$ = combineLatest([this._controlErrors, this._errorTpls, this._errorInput])\n .pipe(map(([ctrlErrs, errTpls, errorInput]) => this._composeErrorInputs(ctrlErrs, errTpls, errorInput)))\n .pipe(shareReplay(1))\n\n this.displayRecords$ = this.errorRecords$\n .pipe(map(records => {\n let resultRecords: IErrorRecord[] = []\n\n if (!this.showErrors) {\n // TODO: Implement\n } else {\n let errs = [ ...records ]\n\n if (this.maxErrors >= 0) {\n errs = errs.slice(0, this.maxErrors)\n }\n\n const count = this.showControlErrors ? this.numPaddingErrors - errs.length : this.numPaddingErrors\n const paddingErrors: IErrorRecord[] = []\n if (count > 0) {\n for (let i = 0; i < count; i++) {\n paddingErrors.push({ validatorName: '__padding__', error: {}, message: '', external: false })\n }\n }\n\n if (this.showControlErrors) {\n resultRecords = [ ...errs, ...paddingErrors ]\n } else {\n resultRecords = [ ...paddingErrors ]\n }\n }\n\n return resultRecords\n }))\n .pipe(shareReplay(1))\n }\n\n ngOnDestroy() {\n this._valueChangeSub.unsubscribe()\n this._errorTplsChangeSub.unsubscribe()\n }\n\n ngDoCheck() {\n this._showControlErrorsSubject.next(this.showControlErrors)\n }\n\n private _initControlListeners(control: AbstractControlDirective | AbstractControl): void {\n // Unsubscribe from old control changes\n if (this._valueChangeSub && !this._valueChangeSub.closed) {\n this._valueChangeSub.unsubscribe()\n }\n\n if (control.valueChanges !== null) {\n this._valueChangeSub = combineLatest([this.showControlErrors$, control.valueChanges.pipe(startWith(undefined))])\n .pipe(startWith(undefined))\n .subscribe(_ => this._updateControlErrors(control.errors))\n } else {\n this._setControlErrors([])\n }\n }\n\n private _updateControlErrors(errors: ValidationErrors | null): void {\n const errs: IErrorRecord[] = []\n for (const validatorName in errors) {\n if (Object.prototype.hasOwnProperty.call(errors, validatorName)) {\n const error = errors[validatorName]\n const message = this._parseMessage(this._defaultMessages[validatorName], error)\n const external = false\n errs.push({ validatorName, error, message, external })\n }\n }\n this._setControlErrors(errs)\n }\n\n private _setControlErrors(errors: IErrorRecord[]) {\n this._controlErrors.next(errors)\n }\n\n private _parseMessage(message: any, error: any) {\n if (!message) { return }\n\n if (typeof message === 'string') {\n return message\n } else if (typeof message === 'function') {\n return message(error)\n }\n }\n\n private _initErrorTemplates(tplsQueryList: QueryList<FormFieldErrorListItemTplDirective>) {\n if (this._errorTplsChangeSub && !this._errorTplsChangeSub.closed) {\n this._errorTplsChangeSub.unsubscribe()\n }\n\n if (tplsQueryList) {\n this._errorTplsChangeSub = tplsQueryList.changes\n .pipe(startWith(undefined))\n .subscribe(_ => this._updateErrorTemplates(tplsQueryList.toArray()))\n } else {\n this._setErrorTemplates([])\n }\n }\n\n private _updateErrorTemplates(tplsList: FormFieldErrorListItemTplDirective[]): void {\n const errs: IErrorRecord[] = []\n for (const tpl of tplsList) {\n if (tpl.validatorName !== undefined && tpl.validatorName !== null) {\n errs.push({\n validatorName: tpl.validatorName,\n error: null,\n template: tpl.template,\n external: !!tpl.external\n })\n } else {\n // this.errorTpl = tpl.template\n }\n }\n this._setErrorTemplates(errs)\n }\n\n private _setErrorTemplates(errorTpls: IErrorRecord[]): void {\n this._errorTpls.next(errorTpls)\n }\n\n private _initErrorInput(errors: IErrorRecord[]): void {\n this._updateErrorInputs(errors)\n }\n\n private _updateErrorInputs(errors: IErrorRecord[]): void {\n this._setErrorInput(errors)\n }\n\n private _setErrorInput(errors: IErrorRecord[]): void {\n this._errorInput.next(errors)\n }\n\n private _composeErrorInputs(\n controlErrors: IErrorRecord[],\n errorTemplates: IErrorRecord[],\n errorInput: IErrorRecord[]\n ): IErrorRecord[] {\n const errs: IErrorRecord[] = []\n\n const errsMap: { [name: string]: IErrorRecord } = {}\n\n for (const err of controlErrors) {\n if (err.message || err.template) {\n errsMap[err.validatorName] = err\n }\n }\n\n for (const err of errorInput) {\n if (err.message || err.template) {\n errsMap[err.validatorName] = err\n }\n }\n\n for (const err of errorTemplates) {\n if (err.message || err.template) {\n errsMap[err.validatorName] = err\n }\n }\n\n for (const validatorName in errsMap) {\n if (Object.prototype.hasOwnProperty.call(errsMap, validatorName)) {\n errs.push(errsMap[validatorName])\n }\n }\n\n const control = this.control\n if (!control) {\n return []\n }\n\n return errs\n .filter(err => this._isErrorValidator(control.errors, err.validatorName))\n .filter(err => !err.external)\n .map(err => ({\n ...err,\n error: control.errors ? control.errors[err.validatorName] : null,\n _errors: control.errors\n } as IErrorRecord))\n }\n\n private _isErrorValidator(errors: ValidationErrors | null, validatorName: string): boolean {\n if (!errors) {\n return false\n }\n const arr = validatorName.split(' ').filter(v => v.trim().length > 0)\n for (const item of arr) {\n if (Object.prototype.hasOwnProperty.call(errors, item)) {\n return true\n }\n }\n return false\n }\n\n}\n","<ng-container *ngFor=\"let record of displayRecords$ | async\">\n <ng-container *ngIf=\"record.template; else noTemplate\">\n <div>\n <ng-template\n [ngTemplateOutlet]=\"record.template\"\n [ngTemplateOutletContext]=\"{ $implicit: record.error, errors: record._errors }\">\n </ng-template>\n </div>\n </ng-container>\n <ng-template #noTemplate>\n <seam-form-field-error\n [validatorName]=\"record.validatorName\"\n [message]=\"record.message\"\n [showValidatorName]=\"showValidatorName\">\n </seam-form-field-error>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { FormFieldErrorListItemTplDirective } from './form-field-error-list/form-field-error-list-item-tpl.directive'\nimport { FormFieldErrorListItemDirective } from './form-field-error-list/form-field-error-list-item.directive'\nimport { FormFieldErrorListComponent } from './form-field-error-list/form-field-error-list.component'\nimport { FormFieldErrorComponent } from './form-field-error/form-field-error.component'\n\n@NgModule({\n declarations: [\n FormFieldErrorComponent,\n FormFieldErrorListComponent,\n FormFieldErrorListItemDirective,\n FormFieldErrorListItemTplDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n FormFieldErrorComponent,\n FormFieldErrorListComponent,\n FormFieldErrorListItemDirective,\n FormFieldErrorListItemTplDirective\n ]\n})\nexport class TheSeamFormFieldErrorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.FormFieldErrorComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-form-field-error.mjs","sources":["../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.ts","../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list-item.directive.ts","../../../projects/ui-common/form-field-error/form-field-error/form-field-error.component.ts","../../../projects/ui-common/form-field-error/form-field-error/form-field-error.component.html","../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list.component.ts","../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list.component.html","../../../projects/ui-common/form-field-error/form-field-error.module.ts","../../../projects/ui-common/form-field-error/theseam-ui-common-form-field-error.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion'\nimport { Directive, Input, TemplateRef } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamFormFieldErrorListItemTpl]'\n})\nexport class FormFieldErrorListItemTplDirective {\n static ngAcceptInputType_external: BooleanInput\n\n @Input() validatorName: string | undefined | null\n\n @Input() @InputBoolean() external = false\n\n constructor(public template: TemplateRef<any>) {}\n\n}\n","import { Directive, Input, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamFormFieldErrorListItem]'\n})\nexport class FormFieldErrorListItemDirective {\n\n @Input() validatorName: string | undefined | null\n\n constructor(public template: TemplateRef<any>) {}\n\n}\n","import { Component, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Component({\n selector: 'seam-form-field-error',\n templateUrl: './form-field-error.component.html',\n styleUrls: ['./form-field-error.component.scss']\n})\nexport class FormFieldErrorComponent {\n\n @Input() validatorName: string | undefined | null\n @Input() message: string | undefined | null\n\n @Input() @InputBoolean() showValidatorName = false\n\n}\n","<em style=\"display: block;\">\n <span *ngIf=\"showValidatorName && validatorName\"\n style=\"font-weight: bold;\">{{ validatorName }}: </span>\n <span class=\"msg-text\">{{ message }}</span>\n</em>\n","import { Component, ContentChildren, DoCheck, HostBinding, Input, OnDestroy, QueryList, TemplateRef } from '@angular/core'\nimport { AbstractControl, AbstractControlDirective, ValidationErrors } from '@angular/forms'\nimport { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs'\nimport { distinctUntilChanged, map, shareReplay, startWith } from 'rxjs/operators'\n\nimport { FormFieldErrorListItemTplDirective } from './form-field-error-list-item-tpl.directive'\n\nexport interface IErrorRecord {\n validatorName: string\n error: any,\n message?: string\n template?: TemplateRef<any>\n\n external?: boolean\n\n _errors?: ValidationErrors\n}\n\n/**\n * NOTE: This class has some issues with filtering duplicate validators. The\n * inputs will be cleaned up soon to fix the input confusion.\n *\n * TODO: Cleanup remaining code from before refactor.\n */\n@Component({\n selector: 'seam-form-field-error-list',\n templateUrl: './form-field-error-list.component.html',\n styleUrls: ['./form-field-error-list.component.scss']\n})\nexport class FormFieldErrorListComponent implements OnDestroy, DoCheck {\n\n @HostBinding('style.display') get _display() {\n return this.showErrors ? 'block' : 'none'\n }\n\n private static readonly defaultMessages: { [name: string]: ((params: any) => string) | (() => string) } = {\n // required: () => 'Required',\n // minlength: (params) => 'The min number of characters is ' + params.requiredLength,\n // maxlength: (params) => 'The max allowed number of characters is ' + params.requiredLength,\n // pattern: (params) => 'The required pattern is: ' + params.requiredPattern\n }\n\n private readonly _defaultMessages: { [name: string]: ((params: any) => string) | (() => string) } = {\n // required: () => 'Required',\n // minlength: (params) => 'The min number of characters is ' + params.requiredLength,\n // maxlength: (params) => 'The max allowed number of characters is ' + params.requiredLength,\n // pattern: (params) => 'The required pattern is: ' + params.requiredPattern\n }\n\n private _errors: any[] = []\n\n public _paddingErrors = []\n\n @Input()\n set errors(records: IErrorRecord[] | undefined | null) {\n // if (val instanceof Array) {\n // this._errors = val\n // } else {\n // const errs = []\n // for (const k in val) {\n // if (val[k]) {\n // const err = val[k]\n // const newErr = {\n // validatorName: k,\n // error: err,\n // message: '',\n // template: err.template,\n // external: !!err.external\n // }\n\n // if (err.message) {\n // const msgTmp = err.message\n // if (typeof msgTmp === 'string') {\n // newErr.message = msgTmp\n // } else if (typeof msgTmp === 'function') {\n // newErr.message = msgTmp(err)\n // }\n // } else if (FormFieldErrorListComponent.defaultMessages[k]) {\n // const defaultMsg = FormFieldErrorListComponent.defaultMessages[k]\n // if (typeof defaultMsg === 'string') {\n // newErr.message = defaultMsg\n // } else if (typeof defaultMsg === 'function') {\n // newErr.message = defaultMsg(err)\n // }\n // }\n\n // errs.push(newErr)\n // }\n // }\n // this._errors = errs\n // }\n\n this._initErrorInput(records || [])\n }\n\n // get errors() {\n // let errs = []\n\n // if (this._errors) {\n // if (!this.messages) {\n // errs = this._errors\n // } else {\n // errs = this._errors.map(err => {\n // if (this.messages && err.validatorName && this.messages[err.validatorName]) {\n // return Object.assign({}, err, {\n // message: this.messages[err.validatorName]\n // })\n // } else {\n // return err\n // }\n // })\n // }\n // }\n\n // if (this.control) {\n // for (const key in this.control.errors) {\n // if (this.control.errors[key]) {\n // const err = this.control.errors[key]\n\n // const newErr = {\n // validatorName: key,\n // error: err,\n // message: '',\n // external: false\n // }\n\n // if (FormFieldErrorListComponent.defaultMessages[key]) {\n // const defaultMsg = FormFieldErrorListComponent.defaultMessages[key]\n // if (typeof defaultMsg === 'string') {\n // newErr.message = defaultMsg\n // } else if (typeof defaultMsg === 'function') {\n // newErr.message = defaultMsg(err)\n // }\n // }\n\n // errs = [ ...errs, newErr ]\n // }\n // }\n // }\n\n // if (this.maxErrors >= 0) {\n // errs = errs.slice(0, this.maxErrors)\n // }\n\n // const count = this.showControlErrors ? this.numPaddingErrors - errs.length : this.numPaddingErrors\n // if (count > 0) {\n // this._paddingErrors = []\n // for (let i = 0; i < count; i++) {\n // this._paddingErrors.push({ validatorName: '__padding__', error: {}, message: '', external: false })\n // }\n // } else {\n // this._paddingErrors = []\n // }\n\n // return errs\n // }\n\n // @Input() messages: any = {}\n @Input() showValidatorName = false\n\n @Input() numPaddingErrors = 1\n\n // private errorTpl: TemplateRef<any>\n\n // private _listItemTpls: QueryList<FormFieldErrorListItemTplDirective>\n // private listItemTplsObj = {}\n\n @ContentChildren(FormFieldErrorListItemTplDirective)\n set _listItemTpls(val: QueryList<FormFieldErrorListItemTplDirective>) {\n this._initErrorTemplates(val)\n }\n\n @Input()\n set listItemTpls(val: QueryList<FormFieldErrorListItemTplDirective>) {\n this._initErrorTemplates(val)\n\n // for (const v of val.toArray()) {\n // if (v.validatorName !== undefined) {\n // this.listItemTplsObj[v.validatorName] = v\n // }\n // }\n\n // const tmp = val.find(v => v.validatorName === undefined)\n // if (tmp) {\n // this.errorTpl = tmp.template\n // }\n\n // this._listItemTpls = val\n }\n\n // get listItemTpls(): QueryList<FormFieldErrorListItemTplDirective> {\n // return this._listItemTpls\n // }\n\n @Input() maxErrors = -1\n\n @Input()\n get control(): AbstractControlDirective | AbstractControl | undefined | null { return this._control }\n set control(value: AbstractControlDirective | AbstractControl | undefined | null) {\n this._control = value\n if (value) {\n this._initControlListeners(value)\n }\n }\n private _control: AbstractControlDirective | AbstractControl | undefined | null\n\n private _valueChangeSub = Subscription.EMPTY\n private _errorTplsChangeSub = Subscription.EMPTY\n\n private _controlErrors = new BehaviorSubject<IErrorRecord[]>([])\n private _errorTpls = new BehaviorSubject<IErrorRecord[]>([])\n private _errorInput = new BehaviorSubject<IErrorRecord[]>([])\n\n private _showControlErrorsSubject = new BehaviorSubject<boolean>(false)\n\n public displayRecords$: Observable<IErrorRecord[]>\n public showControlErrors$: Observable<boolean>\n\n private _showErrors = true\n\n @Input()\n set showErrors(val: boolean) {\n this._showErrors = val\n }\n\n get showErrors(): boolean {\n let show = this._showErrors\n\n if (show && this.control) {\n if (this.numPaddingErrors > 0) {\n show = true\n } else {\n show = !!(this.control.invalid && (this.control.dirty || this.control.touched))\n }\n }\n\n return show\n }\n\n get showControlErrors(): boolean {\n let show = false\n if (this.control && this.showErrors) {\n show = !!(this.control.invalid && (this.control.dirty || this.control.touched))\n }\n\n return show\n }\n\n public errorRecords$: Observable<IErrorRecord[]>\n\n constructor() {\n this.showControlErrors$ = this._showControlErrorsSubject.asObservable()\n .pipe(distinctUntilChanged())\n .pipe(shareReplay(1))\n\n this.errorRecords$ = combineLatest([this._controlErrors, this._errorTpls, this._errorInput])\n .pipe(map(([ctrlErrs, errTpls, errorInput]) => this._composeErrorInputs(ctrlErrs, errTpls, errorInput)))\n .pipe(shareReplay(1))\n\n this.displayRecords$ = this.errorRecords$\n .pipe(map(records => {\n let resultRecords: IErrorRecord[] = []\n\n if (!this.showErrors) {\n // TODO: Implement\n } else {\n let errs = [ ...records ]\n\n if (this.maxErrors >= 0) {\n errs = errs.slice(0, this.maxErrors)\n }\n\n const count = this.showControlErrors ? this.numPaddingErrors - errs.length : this.numPaddingErrors\n const paddingErrors: IErrorRecord[] = []\n if (count > 0) {\n for (let i = 0; i < count; i++) {\n paddingErrors.push({ validatorName: '__padding__', error: {}, message: '', external: false })\n }\n }\n\n if (this.showControlErrors) {\n resultRecords = [ ...errs, ...paddingErrors ]\n } else {\n resultRecords = [ ...paddingErrors ]\n }\n }\n\n return resultRecords\n }))\n .pipe(shareReplay(1))\n }\n\n ngOnDestroy() {\n this._valueChangeSub.unsubscribe()\n this._errorTplsChangeSub.unsubscribe()\n }\n\n ngDoCheck() {\n this._showControlErrorsSubject.next(this.showControlErrors)\n }\n\n private _initControlListeners(control: AbstractControlDirective | AbstractControl): void {\n // Unsubscribe from old control changes\n if (this._valueChangeSub && !this._valueChangeSub.closed) {\n this._valueChangeSub.unsubscribe()\n }\n\n if (control.valueChanges !== null) {\n this._valueChangeSub = combineLatest([this.showControlErrors$, control.valueChanges.pipe(startWith(undefined))])\n .pipe(startWith(undefined))\n .subscribe(_ => this._updateControlErrors(control.errors))\n } else {\n this._setControlErrors([])\n }\n }\n\n private _updateControlErrors(errors: ValidationErrors | null): void {\n const errs: IErrorRecord[] = []\n for (const validatorName in errors) {\n if (Object.prototype.hasOwnProperty.call(errors, validatorName)) {\n const error = errors[validatorName]\n const message = this._parseMessage(this._defaultMessages[validatorName], error)\n const external = false\n errs.push({ validatorName, error, message, external })\n }\n }\n this._setControlErrors(errs)\n }\n\n private _setControlErrors(errors: IErrorRecord[]) {\n this._controlErrors.next(errors)\n }\n\n private _parseMessage(message: any, error: any) {\n if (!message) { return }\n\n if (typeof message === 'string') {\n return message\n } else if (typeof message === 'function') {\n return message(error)\n }\n }\n\n private _initErrorTemplates(tplsQueryList: QueryList<FormFieldErrorListItemTplDirective>) {\n if (this._errorTplsChangeSub && !this._errorTplsChangeSub.closed) {\n this._errorTplsChangeSub.unsubscribe()\n }\n\n if (tplsQueryList) {\n this._errorTplsChangeSub = tplsQueryList.changes\n .pipe(startWith(undefined))\n .subscribe(_ => this._updateErrorTemplates(tplsQueryList.toArray()))\n } else {\n this._setErrorTemplates([])\n }\n }\n\n private _updateErrorTemplates(tplsList: FormFieldErrorListItemTplDirective[]): void {\n const errs: IErrorRecord[] = []\n for (const tpl of tplsList) {\n if (tpl.validatorName !== undefined && tpl.validatorName !== null) {\n errs.push({\n validatorName: tpl.validatorName,\n error: null,\n template: tpl.template,\n external: !!tpl.external\n })\n } else {\n // this.errorTpl = tpl.template\n }\n }\n this._setErrorTemplates(errs)\n }\n\n private _setErrorTemplates(errorTpls: IErrorRecord[]): void {\n this._errorTpls.next(errorTpls)\n }\n\n private _initErrorInput(errors: IErrorRecord[]): void {\n this._updateErrorInputs(errors)\n }\n\n private _updateErrorInputs(errors: IErrorRecord[]): void {\n this._setErrorInput(errors)\n }\n\n private _setErrorInput(errors: IErrorRecord[]): void {\n this._errorInput.next(errors)\n }\n\n private _composeErrorInputs(\n controlErrors: IErrorRecord[],\n errorTemplates: IErrorRecord[],\n errorInput: IErrorRecord[]\n ): IErrorRecord[] {\n const errs: IErrorRecord[] = []\n\n const errsMap: { [name: string]: IErrorRecord } = {}\n\n for (const err of controlErrors) {\n if (err.message || err.template) {\n errsMap[err.validatorName] = err\n }\n }\n\n for (const err of errorInput) {\n if (err.message || err.template) {\n errsMap[err.validatorName] = err\n }\n }\n\n for (const err of errorTemplates) {\n if (err.message || err.template) {\n errsMap[err.validatorName] = err\n }\n }\n\n for (const validatorName in errsMap) {\n if (Object.prototype.hasOwnProperty.call(errsMap, validatorName)) {\n errs.push(errsMap[validatorName])\n }\n }\n\n const control = this.control\n if (!control) {\n return []\n }\n\n return errs\n .filter(err => this._isErrorValidator(control.errors, err.validatorName))\n .filter(err => !err.external)\n .map(err => ({\n ...err,\n error: control.errors ? control.errors[err.validatorName] : null,\n _errors: control.errors\n } as IErrorRecord))\n }\n\n private _isErrorValidator(errors: ValidationErrors | null, validatorName: string): boolean {\n if (!errors) {\n return false\n }\n const arr = validatorName.split(' ').filter(v => v.trim().length > 0)\n for (const item of arr) {\n if (Object.prototype.hasOwnProperty.call(errors, item)) {\n return true\n }\n }\n return false\n }\n\n}\n","<ng-container *ngFor=\"let record of displayRecords$ | async\">\n <ng-container *ngIf=\"record.template; else noTemplate\">\n <div>\n <ng-template\n [ngTemplateOutlet]=\"record.template\"\n [ngTemplateOutletContext]=\"{ $implicit: record.error, errors: record._errors }\">\n </ng-template>\n </div>\n </ng-container>\n <ng-template #noTemplate>\n <seam-form-field-error\n [validatorName]=\"record.validatorName\"\n [message]=\"record.message\"\n [showValidatorName]=\"showValidatorName\">\n </seam-form-field-error>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { FormFieldErrorListItemTplDirective } from './form-field-error-list/form-field-error-list-item-tpl.directive'\nimport { FormFieldErrorListItemDirective } from './form-field-error-list/form-field-error-list-item.directive'\nimport { FormFieldErrorListComponent } from './form-field-error-list/form-field-error-list.component'\nimport { FormFieldErrorComponent } from './form-field-error/form-field-error.component'\n\n@NgModule({\n declarations: [\n FormFieldErrorComponent,\n FormFieldErrorListComponent,\n FormFieldErrorListItemDirective,\n FormFieldErrorListItemTplDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n FormFieldErrorComponent,\n FormFieldErrorListComponent,\n FormFieldErrorListItemDirective,\n FormFieldErrorListItemTplDirective\n ]\n})\nexport class TheSeamFormFieldErrorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.FormFieldErrorComponent"],"mappings":"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"}
|
|
@@ -82,12 +82,12 @@ class FormFieldErrorDirective {
|
|
|
82
82
|
this.external = false;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
FormFieldErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
86
|
-
FormFieldErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
85
|
+
FormFieldErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormFieldErrorDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
86
|
+
FormFieldErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FormFieldErrorDirective, selector: "[seamFormFieldError]", inputs: { validatorName: "validatorName", seamFormFieldError: "seamFormFieldError", external: "external" }, ngImport: i0 });
|
|
87
87
|
__decorate([
|
|
88
88
|
InputBoolean()
|
|
89
89
|
], FormFieldErrorDirective.prototype, "external", void 0);
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormFieldErrorDirective, decorators: [{
|
|
91
91
|
type: Directive,
|
|
92
92
|
args: [{
|
|
93
93
|
selector: '[seamFormFieldError]'
|
|
@@ -105,9 +105,9 @@ class FormFieldHelpTextDirective {
|
|
|
105
105
|
this.template = template;
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
-
FormFieldHelpTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
109
|
-
FormFieldHelpTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
108
|
+
FormFieldHelpTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormFieldHelpTextDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
109
|
+
FormFieldHelpTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FormFieldHelpTextDirective, selector: "[seamFormFieldHelpText]", ngImport: i0 });
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormFieldHelpTextDirective, decorators: [{
|
|
111
111
|
type: Directive,
|
|
112
112
|
args: [{
|
|
113
113
|
selector: '[seamFormFieldHelpText]'
|
|
@@ -119,9 +119,9 @@ class FormFieldLabelTplDirective {
|
|
|
119
119
|
this.template = template;
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
FormFieldLabelTplDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
123
|
-
FormFieldLabelTplDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
122
|
+
FormFieldLabelTplDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormFieldLabelTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
123
|
+
FormFieldLabelTplDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FormFieldLabelTplDirective, selector: "[seamFormFieldLabelTpl]", ngImport: i0 });
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormFieldLabelTplDirective, decorators: [{
|
|
125
125
|
type: Directive,
|
|
126
126
|
args: [{
|
|
127
127
|
selector: '[seamFormFieldLabelTpl]'
|
|
@@ -151,8 +151,8 @@ class FormFieldRequiredIndicatorComponent {
|
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
|
-
FormFieldRequiredIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
155
|
-
FormFieldRequiredIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
154
|
+
FormFieldRequiredIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormFieldRequiredIndicatorComponent, deps: [{ token: FORM_FIELD_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
155
|
+
FormFieldRequiredIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: { required: "required" }, host: { classAttribute: "text-danger" }, usesOnChanges: true, ngImport: i0, template: `
|
|
156
156
|
<ng-container *ngIf="_controlRequired$; else noControl">
|
|
157
157
|
<ng-container *ngIf="_controlRequired$ | async">*</ng-container>
|
|
158
158
|
</ng-container>
|
|
@@ -163,7 +163,7 @@ FormFieldRequiredIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersi
|
|
|
163
163
|
__decorate([
|
|
164
164
|
InputBoolean()
|
|
165
165
|
], FormFieldRequiredIndicatorComponent.prototype, "required", void 0);
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormFieldRequiredIndicatorComponent, decorators: [{
|
|
167
167
|
type: Component,
|
|
168
168
|
args: [{ selector: 'seam-form-field-required-indicator', template: `
|
|
169
169
|
<ng-container *ngIf="_controlRequired$; else noControl">
|
|
@@ -344,15 +344,15 @@ class InputDirective {
|
|
|
344
344
|
}
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
|
-
InputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
348
|
-
InputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
347
|
+
InputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: InputDirective, deps: [{ token: i0.ElementRef }, { token: i1$1.NgControl, optional: true, self: true }, { token: i1$1.NgForm, optional: true }, { token: i1$1.FormGroupDirective, optional: true }, { token: i2.NgSelectComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
348
|
+
InputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: { seamInputSize: "seamInputSize", id: "id", type: "type", placeholder: "placeholder", required: "required", disabled: "disabled", readonly: "readonly" }, host: { properties: { "class.form-control": "this._isFormControl", "class.form-control-sm": "this._isFormControlSmall", "class.is-invalid": "this._isInvalid", "attr.id": "this._attrId", "attr.placeholder": "this._attrPlaceholder", "attr.aria-describedby": "this.ariaDescribedBy" } }, exportAs: ["seamInput"], usesOnChanges: true, ngImport: i0 });
|
|
349
349
|
__decorate([
|
|
350
350
|
InputBoolean()
|
|
351
351
|
], InputDirective.prototype, "required", void 0);
|
|
352
352
|
__decorate([
|
|
353
353
|
InputBoolean()
|
|
354
354
|
], InputDirective.prototype, "readonly", void 0);
|
|
355
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
355
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: InputDirective, decorators: [{
|
|
356
356
|
type: Directive,
|
|
357
357
|
args: [{
|
|
358
358
|
// TODO: Consider removing restriction and instead adding a dev warning. A few
|
|
@@ -560,8 +560,8 @@ class TheSeamFormFieldComponent {
|
|
|
560
560
|
return this._elementRef.nativeElement;
|
|
561
561
|
}
|
|
562
562
|
}
|
|
563
|
-
TheSeamFormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
564
|
-
TheSeamFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
563
|
+
TheSeamFormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamFormFieldComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
564
|
+
TheSeamFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TheSeamFormFieldComponent, selector: "seam-form-field", inputs: { inline: "inline", label: "label", labelPosition: "labelPosition", labelClass: "labelClass", maxErrors: "maxErrors", numPaddingErrors: "numPaddingErrors", labelId: "labelId", helpText: "helpText", helpTextId: "helpTextId" }, host: { properties: { "style.display": "this._displayStyle" } }, providers: [
|
|
565
565
|
{
|
|
566
566
|
provide: FORM_FIELD_COMPONENT,
|
|
567
567
|
useExisting: TheSeamFormFieldComponent,
|
|
@@ -570,7 +570,7 @@ TheSeamFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
|
|
|
570
570
|
__decorate([
|
|
571
571
|
InputBoolean()
|
|
572
572
|
], TheSeamFormFieldComponent.prototype, "inline", void 0);
|
|
573
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
573
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamFormFieldComponent, decorators: [{
|
|
574
574
|
type: Component,
|
|
575
575
|
args: [{ selector: 'seam-form-field', providers: [
|
|
576
576
|
{
|
|
@@ -615,8 +615,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
615
615
|
|
|
616
616
|
class TheSeamFormFieldModule {
|
|
617
617
|
}
|
|
618
|
-
TheSeamFormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
619
|
-
TheSeamFormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
618
|
+
TheSeamFormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
619
|
+
TheSeamFormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TheSeamFormFieldModule, declarations: [TheSeamFormFieldComponent,
|
|
620
620
|
InputDirective,
|
|
621
621
|
FormFieldErrorDirective,
|
|
622
622
|
FormFieldLabelTplDirective,
|
|
@@ -630,11 +630,11 @@ TheSeamFormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
|
|
|
630
630
|
FormFieldLabelTplDirective,
|
|
631
631
|
FormFieldRequiredIndicatorComponent,
|
|
632
632
|
FormFieldHelpTextDirective] });
|
|
633
|
-
TheSeamFormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
633
|
+
TheSeamFormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamFormFieldModule, imports: [CommonModule,
|
|
634
634
|
ReactiveFormsModule,
|
|
635
635
|
TheSeamFormFieldErrorModule,
|
|
636
636
|
TheSeamSharedModule] });
|
|
637
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
637
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamFormFieldModule, decorators: [{
|
|
638
638
|
type: NgModule,
|
|
639
639
|
args: [{
|
|
640
640
|
declarations: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-form-field.mjs","sources":["../../../projects/ui-common/form-field/testing/form-field-required-indicator.harness.ts","../../../projects/ui-common/form-field/testing/form-field.harness.ts","../../../projects/ui-common/form-field/form-field-error.directive.ts","../../../projects/ui-common/form-field/form-field-help-text.directive.ts","../../../projects/ui-common/form-field/form-field-label-tpl.directive.ts","../../../projects/ui-common/form-field/form-field-tokens.ts","../../../projects/ui-common/form-field/form-field-required-indicator.component.ts","../../../projects/ui-common/form-field/input.directive.ts","../../../projects/ui-common/form-field/form-field.component.ts","../../../projects/ui-common/form-field/form-field.component.html","../../../projects/ui-common/form-field/form-field.module.ts","../../../projects/ui-common/form-field/theseam-ui-common-form-field.ts"],"sourcesContent":["import { ComponentHarness } from '@angular/cdk/testing'\n\nexport class TheSeamFormFieldRequiredIndicatorHarness extends ComponentHarness {\n static hostSelector = 'seam-form-field-required-indicator'\n\n public async isIndicatorVisible() {\n return (await (await this.host()).text()) === '*'\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\ninterface TheSeamFormFieldHarnessFilters extends BaseHarnessFilters {\n /** Filters based on the name of the field. */\n // name?: string | RegExp\n\n label?: string\n}\n\nexport class TheSeamFormFieldHarness extends ComponentHarness {\n static hostSelector = 'seam-form-field'\n\n private readonly _label = this.locatorFor('label')\n // private readonly _input = this.locatorFor('input')\n\n /** Creates a `HarnessPredicate` used to locate a particular `TheSeamFormFieldHarness`. */\n static with(options: TheSeamFormFieldHarnessFilters): HarnessPredicate<TheSeamFormFieldHarness> {\n return new HarnessPredicate(TheSeamFormFieldHarness, options)\n // .addOption('field name', options.name,\n // (harness, name) => HarnessPredicate.stringMatches(harness.getName(), name))\n .addOption('label', options.label,\n (harness, label) => HarnessPredicate.stringMatches(harness.getLabel(), label))\n }\n\n public async getLabel(): Promise<string | null> {\n return (await this._label()).text()\n }\n\n public async clickLabel(): Promise<void> {\n await (await this._label()).click()\n }\n\n // public async getName(): Promise<string | null> {\n // return (await this._input()).getAttribute('name')\n // }\n\n // public async getValue(): Promise<any> {\n // return (await this._input()).getProperty('value')\n // }\n\n // public async isDisabled(): Promise<boolean> {\n // return (await this._input()).getProperty('disabled')\n // }\n\n // public async isRequired(): Promise<boolean> {\n // return (await this._input()).getProperty('required')\n // }\n\n // public async click(): Promise<void> {\n // return (await this._input()).click()\n // }\n\n // public async setValue(value: any): Promise<void> {\n // // TODO: Find out why setInputValue() doesn't update the FormControl.\n // // return (await this._input()).setInputValue(value)\n // await (await this._input()).click()\n // await this._input().then(x => x.setInputValue(''))\n // return (await this._input()).sendKeys(value)\n // }\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { Directive, Input, TemplateRef } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamFormFieldError]'\n})\nexport class FormFieldErrorDirective {\n static ngAcceptInputType_external: BooleanInput\n\n @Input()\n get validatorName(): string | undefined | null { return this._validatorName || this.seamFormFieldError }\n set validatorName(value: string | undefined | null) { this._validatorName = value }\n private _validatorName: string | undefined | null\n\n @Input() seamFormFieldError: string | undefined | null\n\n @Input() @InputBoolean() external = false\n\n constructor(public template: TemplateRef<any>) {}\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamFormFieldHelpText]'\n})\nexport class FormFieldHelpTextDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamFormFieldLabelTpl]'\n})\nexport class FormFieldLabelTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nexport const FORM_FIELD_COMPONENT = new InjectionToken<any>('FORM_FIELD_COMPONENT')\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, Inject, Input, OnChanges, Optional, SimpleChanges } from '@angular/core'\nimport { Observable, shareReplay, startWith, Subject, switchMap } from 'rxjs'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { FORM_FIELD_COMPONENT } from './form-field-tokens'\n\n@Component({\n selector: 'seam-form-field-required-indicator',\n template: `\n <ng-container *ngIf=\"_controlRequired$; else noControl\">\n <ng-container *ngIf=\"_controlRequired$ | async\">*</ng-container>\n </ng-container>\n <ng-template #noControl>\n <ng-container *ngIf=\"required\">*</ng-container>\n </ng-template>\n `,\n styles: [],\n host: {\n 'class': 'text-danger'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormFieldRequiredIndicatorComponent implements OnChanges {\n static ngAcceptInputType_required: BooleanInput\n\n private readonly _requiredChange = new Subject<boolean>()\n\n /** Used if a form control is not found. */\n @Input() @InputBoolean() required = false\n\n readonly _controlRequired$: Observable<boolean> | undefined\n\n constructor(\n @Optional() @Inject(FORM_FIELD_COMPONENT) public readonly _formField: any\n ) {\n if (_formField) {\n this._controlRequired$ = _formField._contentInputSubject.pipe(\n switchMap((contentInput: any) => {\n if (!contentInput) {\n return this._requiredChange.pipe(\n startWith(this.required),\n )\n }\n\n return contentInput.requiredChange.pipe(\n startWith(contentInput.required),\n )\n }),\n shareReplay({ bufferSize: 1, refCount: true }),\n )\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.required) {\n this._requiredChange.next(this.required)\n }\n }\n\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Directive, DoCheck, ElementRef, HostBinding, Input, OnChanges, Optional, Self, SimpleChanges } from '@angular/core'\nimport { FormGroupDirective, NgControl, NgForm } from '@angular/forms'\nimport { Subject } from 'rxjs'\n\nimport { NgSelectComponent } from '@ng-select/ng-select'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { toggleAttribute } from '@theseam/ui-common/utils'\n\n// NOTE: Partially based on mat-input: https://github.com/angular/material2/blob/master/src/lib/input/input.ts\n\nlet nextUniqueId = 0\n\n@Directive({\n // TODO: Consider removing restriction and instead adding a dev warning. A few\n // inputs in the app need to be changed for this first.\n selector: 'input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]',\n exportAs: 'seamInput',\n})\nexport class InputDirective implements DoCheck, OnChanges {\n static ngAcceptInputType_required: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_readonly: BooleanInput\n\n protected _uid = `lib-input-${nextUniqueId++}`\n\n // TODO: Remove this being added to all seamInput elements or break this\n // directive up. Some elements in our app already have worked around this\n // class being there, so some refactoring will be required before removal.\n @HostBinding('class.form-control') _isFormControl = true\n @HostBinding('class.form-control-sm') get _isFormControlSmall() {\n return this._isFormControl && this.seamInputSize === 'sm'\n }\n @HostBinding('class.is-invalid') get _isInvalid() {\n return this.ngControl && this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched)\n }\n\n @HostBinding('attr.id') get _attrId() { return this._isNgSelect() ? undefined : this.id }\n @HostBinding('attr.placeholder') get _attrPlaceholder() { return this.placeholder }\n @HostBinding('attr.aria-describedby') ariaDescribedBy: string | undefined\n\n @Input() seamInputSize: 'sm' | 'normal' = 'normal'\n\n @Input()\n get id(): string | undefined | null { return this._id }\n set id(value: string | undefined | null) { this._id = value || this._uid }\n protected _id: string | undefined | null\n\n /** Input type of the element. */\n @Input()\n get type(): string | undefined | null { return this._type }\n set type(value: string | undefined | null) {\n this._type = value || 'text'\n // this._validateType()\n\n // When using Angular inputs, developers are no longer able to set the properties on the native\n // input element. To ensure that bindings for `type` work, we need to sync the setter\n // with the native property. Textarea elements don't support the type property or attribute.\n if ((!this._isTextarea() && !this._isNgSelect()) /* && getSupportedInputTypes().has(this._type) */) {\n (this._elementRef.nativeElement as HTMLInputElement).type = this._type\n }\n }\n protected _type: string | undefined | null = 'text'\n\n @Input() placeholder: string | undefined | null\n\n @Input() @InputBoolean() required = false\n\n @Input()\n get disabled(): boolean {\n if (this.ngControl && this.ngControl.disabled !== null) {\n return this.ngControl.disabled\n }\n return this._disabled\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value)\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false\n this.stateChanges.next()\n }\n }\n protected _disabled = false\n\n focused = false\n\n readonly stateChanges: Subject<void> = new Subject<void>()\n\n // @Input()\n // get value(): string { return this._inputValueAccessor.value; }\n // set value(value: string) {\n // if (value !== this.value) {\n // this._inputValueAccessor.value = value;\n // this.stateChanges.next();\n // }\n // }\n\n /** Whether the element is readonly. */\n @Input() @InputBoolean() readonly = false\n\n private readonly _requiredChange = new Subject<boolean>()\n private readonly _disabledChange = new Subject<boolean>()\n private readonly _readonlyChange = new Subject<boolean>()\n\n public readonly requiredChange = this._requiredChange.asObservable()\n public readonly disabledChange = this._disabledChange.asObservable()\n public readonly readonlyChange = this._readonlyChange.asObservable\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n @Optional() @Self() public ngControl: NgControl,\n @Optional() private _parentForm: NgForm,\n @Optional() private _parentFormGroup: FormGroupDirective,\n // 3rd party support\n @Optional() private _ngSelect: NgSelectComponent\n ) {\n // Force setter to be called in case id was not specified.\n // eslint-disable-next-line no-self-assign\n this.id = this.id\n\n if (!this._shouldHaveFormControlCssClass()) {\n this._isFormControl = false\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.required) {\n this._requiredChange.next(this.required)\n }\n if (changes.disabled) {\n this._disabledChange.next(this.disabled)\n }\n if (changes.readonly) {\n this._readonlyChange.next(this.readonly)\n }\n }\n\n ngDoCheck() {\n if (this._isNgSelect()) {\n this._ngSelect.labelForId = this.id\n this._ngSelect.setDisabledState(this.disabled)\n } else {\n toggleAttribute(this._elementRef.nativeElement, 'required', this.required)\n toggleAttribute(this._elementRef.nativeElement, 'disabled', this.disabled)\n }\n }\n\n /** Should only be textual inputs, but initially our app added to all form controls. */\n protected _shouldHaveFormControlCssClass() {\n return !this._isSeamCheckbox() &&\n !this._isRadioInput() &&\n !this._isNgbRadioGroup() &&\n !this._isTelInput() &&\n !this._isQuillEditor() &&\n !this._isRichTextEditor()\n }\n\n /** Determines if the component host is a textarea. */\n protected _isTextarea() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'textarea'\n }\n\n /** Determines if the component host is a ng-select. */\n protected _isNgSelect() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'ng-select'\n }\n\n /** Determines if the component host is a seam-checkbox. */\n protected _isSeamCheckbox() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-checkbox'\n }\n\n /** Determines if the component host is a radio input. */\n protected _isRadioInput() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'input' &&\n this._elementRef.nativeElement.type.toLowerCase() === 'radio'\n }\n\n protected _isNgbRadioGroup() {\n return this._elementRef.nativeElement.getAttribute('ngbRadioGroup') !== null\n }\n\n protected _isTelInput() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-tel-input'\n }\n\n protected _isQuillEditor() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'quill-editor'\n }\n\n protected _isRichTextEditor() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-rich-text'\n }\n\n /** Focuses the input. */\n focus(): void {\n this._elementRef.nativeElement.focus()\n }\n\n /** Unfocuses the input. */\n blur(): void {\n this._elementRef.nativeElement.blur()\n }\n\n setValue(value: any) {\n if (this.ngControl) {\n const control = this.ngControl.control\n if (control) {\n control.setValue(value)\n }\n }\n }\n\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport {\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n QueryList\n} from '@angular/core'\nimport { BehaviorSubject, combineLatest, Observable, ReplaySubject, Subscription } from 'rxjs'\nimport { distinctUntilChanged, filter, map, startWith, switchMap, tap } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { IErrorRecord } from '@theseam/ui-common/form-field-error'\n\nimport { FormFieldErrorDirective } from './form-field-error.directive'\nimport { FormFieldHelpTextDirective } from './form-field-help-text.directive'\nimport { FormFieldLabelTplDirective } from './form-field-label-tpl.directive'\nimport { FORM_FIELD_COMPONENT } from './form-field-tokens'\nimport { InputDirective } from './input.directive'\n\nlet nextLabelUniqueId = 0\n\n/**\n * Should wrap all form controls.\n */\n@Component({\n selector: 'seam-form-field',\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss'],\n providers: [\n {\n provide: FORM_FIELD_COMPONENT,\n useExisting: TheSeamFormFieldComponent,\n }\n ],\n})\nexport class TheSeamFormFieldComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_inline: BooleanInput\n\n private readonly _helpTextStrSubject = new BehaviorSubject<string | undefined>(undefined)\n private readonly _helpTextTplSubject = new BehaviorSubject<FormFieldHelpTextDirective | undefined>(undefined)\n private readonly _contentInputSubject = new BehaviorSubject<InputDirective | undefined>(undefined)\n\n /** @ignore */\n protected _labelUid = `seam-label-${nextLabelUniqueId++}`\n\n /** @ignore */\n protected _helpTextUid = `seam-help-text-${nextLabelUniqueId++}`\n\n /** @ignore */\n public _errorPadding = '0px'\n\n /** @ignore */\n @HostBinding('style.display') get _displayStyle() { return this.inline ? 'inline-block' : 'block' }\n\n /**\n * Used to declare an inline element.\n *\n * NOTE: Not well tested or supported, so it may have some issues currently\n * and could change.\n */\n @Input() @InputBoolean() inline = false\n\n /** Add a text label for the form control. */\n @Input() label: string | undefined | null\n\n /**\n * The label can be on top or inline.\n *\n * > Only supports `ltr` direction, so inline will only place the label on the\n * > left.\n */\n @Input() labelPosition: 'top' | 'inline' = 'top'\n\n /**\n * CSS class to add to the label element.\n *\n * Accepts a single space separated string of classes, like the html class\n * attribute.\n */\n @Input() labelClass: string | undefined | null\n\n /** Max errors to display. */\n @Input() maxErrors = -1\n\n /**\n * A padding error is an always allocated space equivalent to a single line\n * error string.\n */\n @Input() numPaddingErrors = 1\n\n /**\n * `id` attribute to add to the label element. This should not be needed in\n * most situations, because a unique id will be generated if not provided.\n */\n @Input()\n get labelId(): string | undefined | null { return this._labelId }\n set labelId(value: string | undefined | null) { this._labelId = value || this._labelUid }\n /** @ignore */\n protected _labelId: string | undefined | null\n\n /**\n * Help text added below the control.\n */\n @Input()\n get helpText(): string | undefined | null { return this._helpTextStrSubject.value }\n set helpText(value: string | undefined | null) {\n this._helpTextStrSubject.next(value || undefined)\n }\n\n /**\n * `id` attribute to add to the label element. This should not be needed in\n * most situations, because a unique id will be generated if not provided.\n */\n @Input()\n get helpTextId(): string | undefined | null { return this._helpTextId }\n set helpTextId(value: string | undefined | null) { this._helpTextId = value || this._helpTextUid }\n /** @ignore */\n protected _helpTextId: string | undefined | null\n\n /** @ignore */\n @ContentChild(FormFieldHelpTextDirective, { static: true })\n get helpTextTpl(): FormFieldLabelTplDirective | undefined { return this._helpTextTplSubject.value }\n set helpTextTpl(value: FormFieldLabelTplDirective | undefined) {\n this._helpTextTplSubject.next(value || undefined)\n }\n\n /** @ignore */\n @ContentChild(FormFieldLabelTplDirective, { static: true }) labelTpl?: FormFieldLabelTplDirective\n\n /** @ignore */\n @ContentChild(InputDirective, { static: true })\n get contentInput(): InputDirective | undefined { return this._contentInputSubject.value }\n set contentInput(value: InputDirective | undefined) { this._contentInputSubject.next(value || undefined) }\n\n /** @ignore */\n @ContentChildren(FormFieldErrorDirective)\n get fieldErrors() { return this._fieldErrors }\n set fieldErrors(value: QueryList<FormFieldErrorDirective[]> | undefined | null) {\n this._fieldErrors = value\n\n if (this._sub) { this._sub.unsubscribe() }\n if (this.fieldErrors) {\n this._sub = this.fieldErrors.changes\n .pipe(startWith(this.fieldErrors))\n .pipe(map(v => v.toArray() as FormFieldErrorDirective[]))\n .pipe(tap(v => {\n const records: IErrorRecord[] = []\n for (const item of v) {\n if (item.validatorName) {\n records.push({\n validatorName: item.validatorName,\n error: null,\n template: item.template,\n external: item.external\n })\n }\n }\n this._fieldErrorsSubject2.next(records)\n }))\n .subscribe(v => this._fieldErrorsSubject.next(v))\n }\n }\n /** @ignore */\n private _fieldErrors: QueryList<FormFieldErrorDirective[]> | undefined | null\n /** @ignore */\n private _sub?: Subscription\n\n /** @ignore */\n private readonly _fieldErrorsSubject = new ReplaySubject<FormFieldErrorDirective[]>(1)\n /** @ignore */\n public readonly fieldErrors$: Observable<FormFieldErrorDirective[]> = this._fieldErrorsSubject.asObservable()\n\n /** @ignore */\n private readonly _fieldErrorsSubject2 = new ReplaySubject<IErrorRecord[]>(1)\n /** @ignore */\n public readonly fieldErrors2$: Observable<IErrorRecord[]> = this._fieldErrorsSubject2.asObservable()\n\n get isPasswordInput() {\n return this.contentInput && this.contentInput.type && this.contentInput.type === 'password'\n }\n get passwordInputElement() {\n return this.contentInput && this.contentInput._elementRef && this.contentInput._elementRef.nativeElement\n }\n\n get hasHelpText() { return !!this._helpTextStrSubject.value || !!this._helpTextTplSubject.value }\n // get hasHelpText() { return !!this.helpText || !!this._helpTextTpl }\n\n private _helpTextSub = Subscription.EMPTY\n\n /** @ignore */\n constructor(\n private readonly _elementRef: ElementRef\n ) { }\n\n /** @ignore */\n ngOnInit() {\n this._helpTextSub = this._contentInputSubject.pipe(\n filter(contentInput => !!contentInput),\n switchMap(contentInput => combineLatest([\n this._helpTextStrSubject,\n this._helpTextTplSubject\n ]).pipe(\n map(() => this.hasHelpText),\n distinctUntilChanged(),\n tap(() => {\n if (contentInput) {\n contentInput.ariaDescribedBy = this._helpTextId || undefined\n }\n })\n ))\n ).subscribe()\n }\n\n /** @ignore */\n ngOnDestroy() {\n this._sub?.unsubscribe()\n this._helpTextSub?.unsubscribe()\n }\n\n /** @ignore */\n public isValidatorMatch(validatorName: string, tplValidatorName: string, errors: any): boolean {\n const tplValidatorNames = tplValidatorName.split(' ')\n\n for (let i = 0; i < tplValidatorNames.length; i++) {\n const name = tplValidatorNames[i]\n if (name === validatorName && i === 0) {\n return true\n }\n }\n\n return false\n }\n\n /** @ignore */\n public _labelElemResized(labelElem: HTMLLabelElement) {\n if (labelElem) {\n this._errorPadding = `${labelElem.getBoundingClientRect().width}px`\n } else {\n this._errorPadding = '0px'\n }\n }\n\n public getElement(): HTMLElement {\n return this._elementRef.nativeElement\n }\n\n}\n","<div>\n <div [class.seam-form-field-inline]=\"inline\">\n <label *ngIf=\"label || labelTpl\"\n #labelElem\n [attr.id]=\"labelId\"\n [attr.for]=\"contentInput?.id\"\n class=\"control-label {{ labelClass }}\"\n (seamElemResized)=\"_labelElemResized(labelElem)\">\n <ng-container *ngIf=\"labelTpl; else noLabelTpl\">\n <ng-template [ngTemplateOutlet]=\"labelTpl.template\" [ngTemplateOutletContext]=\"{ $implicit: label, label: label, required: contentInput?.required || false }\"></ng-template>\n </ng-container>\n <ng-template #noLabelTpl>\n {{ label }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-template>\n </label>\n <ng-container *ngIf=\"!isPasswordInput\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"isPasswordInput\">\n <div class=\"position-relative\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <seam-password-input-reveal [inputRef]=\"$any(passwordInputElement)\"></seam-password-input-reveal>\n </div>\n </ng-container>\n </div>\n <!-- Need `.d-block` to make errors show without input sibling selector -->\n <ng-container *ngIf=\"contentInput\">\n <seam-form-field-error-list *ngIf=\"fieldErrors$ | async as fieldErrors\"\n [style.paddingLeft]=\"(label || labelTpl) && inline ? _errorPadding : undefined\"\n [control]=\"contentInput.ngControl\"\n [errors]=\"fieldErrors2$ | async\"\n [maxErrors]=\"maxErrors\"\n [numPaddingErrors]=\"numPaddingErrors\"\n class=\"invalid-feedback\">\n </seam-form-field-error-list>\n </ng-container>\n</div>\n\n<ng-template #content><ng-content></ng-content></ng-template>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { TheSeamFormFieldErrorModule } from '@theseam/ui-common/form-field-error'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { FormFieldErrorDirective } from './form-field-error.directive'\nimport { FormFieldHelpTextDirective } from './form-field-help-text.directive'\nimport { FormFieldLabelTplDirective } from './form-field-label-tpl.directive'\nimport { FormFieldRequiredIndicatorComponent } from './form-field-required-indicator.component'\nimport { TheSeamFormFieldComponent } from './form-field.component'\nimport { InputDirective } from './input.directive'\n\n@NgModule({\n declarations: [\n TheSeamFormFieldComponent,\n InputDirective,\n FormFieldErrorDirective,\n FormFieldLabelTplDirective,\n FormFieldRequiredIndicatorComponent,\n FormFieldHelpTextDirective\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TheSeamFormFieldErrorModule,\n TheSeamSharedModule\n ],\n exports: [\n TheSeamFormFieldComponent,\n InputDirective,\n FormFieldErrorDirective,\n FormFieldLabelTplDirective,\n FormFieldRequiredIndicatorComponent,\n FormFieldHelpTextDirective\n ]\n})\nexport class TheSeamFormFieldModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","startWith","switchMap","i2","i4.FormFieldRequiredIndicatorComponent"],"mappings":";;;;;;;;;;;;;;;;;;;AAEM,MAAO,wCAAyC,SAAQ,gBAAgB,CAAA;IAG/D,kBAAkB,GAAA;;AAC7B,YAAA,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,CAAA;SAClD,CAAA,CAAA;AAAA,KAAA;;AAJM,wCAAY,CAAA,YAAA,GAAG,oCAAoC;;ACMtD,MAAO,uBAAwB,SAAQ,gBAAgB,CAAA;AAA7D,IAAA,WAAA,GAAA;;QAGmB,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;KA+CnD;;;IA3CC,OAAO,IAAI,CAAC,OAAuC,EAAA;AACjD,QAAA,OAAO,IAAI,gBAAgB,CAAC,uBAAuB,EAAE,OAAO,CAAC;;;aAGxD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAC7B,CAAC,OAAO,EAAE,KAAK,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC,CAAA;KACvF;IAEY,QAAQ,GAAA;;YACnB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAA;SACpC,CAAA,CAAA;AAAA,KAAA;IAEY,UAAU,GAAA;;YACrB,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAA;SACpC,CAAA,CAAA;AAAA,KAAA;;AApBM,uBAAY,CAAA,YAAA,GAAG,iBAAiB;;MCF5B,uBAAuB,CAAA;AAGlC,IAAA,IACI,aAAa,GAAA,EAAgC,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,CAAA,EAAE;IACxG,IAAI,aAAa,CAAC,KAAgC,EAAI,EAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA,EAAE;AAOnF,IAAA,WAAA,CAAmB,QAA0B,EAAA;AAA1B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;AAFpB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAA;KAEQ;;oHAZtC,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGAAvB,uBAAuB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAUT,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAiB,EAAA,uBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAV9B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;iBACjC,CAAA;kGAKK,aAAa,EAAA,CAAA;sBADhB,KAAK;gBAKG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAEmB,QAAQ,EAAA,CAAA;sBAAhC,KAAK;;;MCbK,0BAA0B,CAAA;AAErC,IAAA,WAAA,CAAmB,QAA0B,EAAA;AAA1B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAK;;uHAFvC,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GAA1B,0BAA0B,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;iBACpC,CAAA;;;MCCY,0BAA0B,CAAA;AAErC,IAAA,WAAA,CAAmB,QAA0B,EAAA;AAA1B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAK;;uHAFvC,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GAA1B,0BAA0B,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;iBACpC,CAAA;;;MCFY,oBAAoB,GAAG,IAAI,cAAc,CAAM,sBAAsB;;MCsBrE,mCAAmC,CAAA;AAU9C,IAAA,WAAA,CAC4D,UAAe,EAAA;AAAf,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAK;AAR1D,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAW,CAAA;;AAGhC,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAA;AAOvC,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAC3D,SAAS,CAAC,CAAC,YAAiB,KAAI;gBAC9B,IAAI,CAAC,YAAY,EAAE;AACjB,oBAAA,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAC9B,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB,CAAA;AACF,iBAAA;AAED,gBAAA,OAAO,YAAY,CAAC,cAAc,CAAC,IAAI,CACrC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CACjC,CAAA;AACH,aAAC,CAAC,EACF,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAC/C,CAAA;AACF,SAAA;KACF;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACzC,SAAA;KACF;;AAnCU,mCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mCAAmC,kBAWxB,oBAAoB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAX/B,mCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mCAAmC,EAdpC,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;GAOT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;AAawB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAiB,EAAA,mCAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAN9B,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAhB/C,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oCAAoC,EACpC,QAAA,EAAA,CAAA;;;;;;;AAOT,EAAA,CAAA,EAEK,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,aAAa;AACvB,qBAAA,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,CAAA;;;8BAa5C,QAAQ;;8BAAI,MAAM;+BAAC,oBAAoB,CAAA;;yBALjB,QAAQ,EAAA,CAAA;sBAAhC,KAAK;;;ACpBR;AAEA,IAAI,YAAY,GAAG,CAAC,CAAA;MAQP,cAAc,CAAA;AAWzB,IAAA,IAA0C,mBAAmB,GAAA;QAC3D,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAA;KAC1D;AACD,IAAA,IAAqC,UAAU,GAAA;QAC7C,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;KACpG;AAED,IAAA,IAA4B,OAAO,GAAK,EAAA,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,CAAA,EAAE;IACzF,IAAqC,gBAAgB,KAAK,OAAO,IAAI,CAAC,WAAW,CAAA,EAAE;IAKnF,IACI,EAAE,KAAgC,OAAO,IAAI,CAAC,GAAG,CAAA,EAAE;AACvD,IAAA,IAAI,EAAE,CAAC,KAAgC,EAAA,EAAI,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAA,EAAE;;IAI1E,IACI,IAAI,KAAgC,OAAO,IAAI,CAAC,KAAK,CAAA,EAAE;IAC3D,IAAI,IAAI,CAAC,KAAgC,EAAA;AACvC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,MAAM,CAAA;;;;;AAM5B,QAAA,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,qDAAqD;YACjG,IAAI,CAAC,WAAW,CAAC,aAAkC,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;AACvE,SAAA;KACF;AAOD,IAAA,IACI,QAAQ,GAAA;QACV,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,IAAI,EAAE;AACtD,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA;AAC/B,SAAA;QACD,OAAO,IAAI,CAAC,SAAS,CAAA;KACtB;IACD,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;;;QAI7C,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;AACpB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;AACzB,SAAA;KACF;AA2BD,IAAA,WAAA,CACS,WAAmF,EAC/D,SAAoB,EAC3B,WAAmB,EACnB,gBAAoC;;IAEpC,SAA4B,EAAA;AALzC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAwE;AAC/D,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AAC3B,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAQ;AACnB,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAoB;AAEpC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;AA7FxC,QAAA,IAAA,CAAA,IAAI,GAAG,aAAa,YAAY,EAAE,EAAE,CAAA;;;;AAKX,QAAA,IAAc,CAAA,cAAA,GAAG,IAAI,CAAA;AAY/C,QAAA,IAAa,CAAA,aAAA,GAAoB,QAAQ,CAAA;AAqBxC,QAAA,IAAK,CAAA,KAAA,GAA8B,MAAM,CAAA;AAI1B,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAA;AAmB/B,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAA;AAE3B,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAA;AAEN,QAAA,IAAA,CAAA,YAAY,GAAkB,IAAI,OAAO,EAAQ,CAAA;;;;;;;;;;AAYjC,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAA;AAExB,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAW,CAAA;AACxC,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAW,CAAA;AACxC,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAW,CAAA;QAEzC,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAA;QACpD,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAA;QACpD,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAA;;;AAYhE,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;AAEjB,QAAA,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE;AAC1C,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;AAC5B,SAAA;KACF;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACzC,SAAA;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACzC,SAAA;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACzC,SAAA;KACF;IAED,SAAS,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtB,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAA;YACnC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC/C,SAAA;AAAM,aAAA;AACL,YAAA,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC1E,YAAA,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC3E,SAAA;KACF;;IAGS,8BAA8B,GAAA;AACtC,QAAA,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE;YAC5B,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACxB,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,CAAC,IAAI,CAAC,cAAc,EAAE;AACtB,YAAA,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAA;KAC5B;;IAGS,WAAW,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,UAAU,CAAA;KAC5E;;IAGS,WAAW,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,WAAW,CAAA;KAC7E;;IAGS,eAAe,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,eAAe,CAAA;KACjF;;IAGS,aAAa,GAAA;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,OAAO;YACtE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAA;KAChE;IAES,gBAAgB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,IAAI,CAAA;KAC7E;IAES,WAAW,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAA;KAClF;IAES,cAAc,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,cAAc,CAAA;KAChF;IAES,iBAAiB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAA;KAClF;;IAGD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;KACvC;;IAGD,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;KACtC;AAED,IAAA,QAAQ,CAAC,KAAU,EAAA;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAA;AACtC,YAAA,IAAI,OAAO,EAAE;AACX,gBAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AACxB,aAAA;AACF,SAAA;KACF;;2GAnMU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+FAAd,cAAc,EAAA,QAAA,EAAA,mNAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,0BAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AA+CA,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAiB,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAmChB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAiB,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAlF9B,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;;AAGT,oBAAA,QAAQ,EAAE,mNAAmN;AAC7N,oBAAA,QAAQ,EAAE,WAAW;iBACtB,CAAA;;;8BA+FI,QAAQ;;8BAAI,IAAI;;8BAChB,QAAQ;;8BACR,QAAQ;;8BAER,QAAQ;;yBAxFwB,cAAc,EAAA,CAAA;sBAAhD,WAAW;uBAAC,oBAAoB,CAAA;gBACS,mBAAmB,EAAA,CAAA;sBAA5D,WAAW;uBAAC,uBAAuB,CAAA;gBAGC,UAAU,EAAA,CAAA;sBAA9C,WAAW;uBAAC,kBAAkB,CAAA;gBAIH,OAAO,EAAA,CAAA;sBAAlC,WAAW;uBAAC,SAAS,CAAA;gBACe,gBAAgB,EAAA,CAAA;sBAApD,WAAW;uBAAC,kBAAkB,CAAA;gBACO,eAAe,EAAA,CAAA;sBAApD,WAAW;uBAAC,uBAAuB,CAAA;gBAE3B,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAGF,EAAE,EAAA,CAAA;sBADL,KAAK;gBAOF,IAAI,EAAA,CAAA;sBADP,KAAK;gBAeG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEmB,QAAQ,EAAA,CAAA;sBAAhC,KAAK;gBAGF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAiCmB,QAAQ,EAAA,CAAA;sBAAhC,KAAK;;;AC7ER,IAAI,iBAAiB,GAAG,CAAC,CAAA;AAEzB;;AAEG;MAYU,yBAAyB,CAAA;;AAiBpC,IAAA,IAAkC,aAAa,GAAK,EAAA,OAAO,IAAI,CAAC,MAAM,GAAG,cAAc,GAAG,OAAO,CAAA,EAAE;AAsCnG;;;AAGG;IACH,IACI,OAAO,KAAgC,OAAO,IAAI,CAAC,QAAQ,CAAA,EAAE;AACjE,IAAA,IAAI,OAAO,CAAC,KAAgC,EAAA,EAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,CAAA,EAAE;AAIzF;;AAEG;IACH,IACI,QAAQ,GAAgC,EAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAA,EAAE;IACnF,IAAI,QAAQ,CAAC,KAAgC,EAAA;QAC3C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,CAAA;KAClD;AAED;;;AAGG;IACH,IACI,UAAU,KAAgC,OAAO,IAAI,CAAC,WAAW,CAAA,EAAE;AACvE,IAAA,IAAI,UAAU,CAAC,KAAgC,EAAA,EAAI,IAAI,CAAC,WAAW,GAAG,KAAK,IAAI,IAAI,CAAC,YAAY,CAAA,EAAE;;IAKlG,IACI,WAAW,GAA6C,EAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAA,EAAE;IACnG,IAAI,WAAW,CAAC,KAA6C,EAAA;QAC3D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,CAAA;KAClD;;IAMD,IACI,YAAY,GAAiC,EAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAA,EAAE;AACzF,IAAA,IAAI,YAAY,CAAC,KAAiC,EAAI,EAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,CAAA,EAAE;;IAG1G,IACI,WAAW,KAAK,OAAO,IAAI,CAAC,YAAY,CAAA,EAAE;IAC9C,IAAI,WAAW,CAAC,KAA8D,EAAA;AAC5E,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QAEzB,IAAI,IAAI,CAAC,IAAI,EAAE;AAAE,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;AAAE,SAAA;QAC1C,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO;AACjC,iBAAA,IAAI,CAACC,WAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACjC,iBAAA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAA+B,CAAC,CAAC;AACxD,iBAAA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAG;gBACZ,MAAM,OAAO,GAAmB,EAAE,CAAA;AAClC,gBAAA,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,IAAI,CAAC,aAAa,EAAE;wBACtB,OAAO,CAAC,IAAI,CAAC;4BACX,aAAa,EAAE,IAAI,CAAC,aAAa;AACjC,4BAAA,KAAK,EAAE,IAAI;4BACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,yBAAA,CAAC,CAAA;AACH,qBAAA;AACF,iBAAA;AACD,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACzC,aAAC,CAAC,CAAC;AACF,iBAAA,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACpD,SAAA;KACF;AAgBD,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,UAAU,CAAA;KAC5F;AACD,IAAA,IAAI,oBAAoB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,CAAA;KACzG;IAED,IAAI,WAAW,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAA,EAAE;;AAMjG,IAAA,WAAA,CACmB,WAAuB,EAAA;AAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAzJzB,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAqB,SAAS,CAAC,CAAA;QACxE,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAyC,SAAS,CAAC,CAAA;QAC5F,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAA6B,SAAS,CAAC,CAAA;;AAGxF,QAAA,IAAA,CAAA,SAAS,GAAG,cAAc,iBAAiB,EAAE,EAAE,CAAA;;AAG/C,QAAA,IAAA,CAAA,YAAY,GAAG,kBAAkB,iBAAiB,EAAE,EAAE,CAAA;;AAGzD,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAA;AAK5B;;;;;AAKG;AACsB,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK,CAAA;AAKvC;;;;;AAKG;AACM,QAAA,IAAa,CAAA,aAAA,GAAqB,KAAK,CAAA;;AAWvC,QAAA,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC,CAAA;AAEvB;;;AAGG;AACM,QAAA,IAAgB,CAAA,gBAAA,GAAG,CAAC,CAAA;;QAgFZ,IAAA,CAAA,mBAAmB,GAAG,IAAI,aAAa,CAA4B,CAAC,CAAC,CAAA;;QAEtE,IAAA,CAAA,YAAY,GAA0C,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAA;;QAG5F,IAAA,CAAA,oBAAoB,GAAG,IAAI,aAAa,CAAiB,CAAC,CAAC,CAAA;;QAE5D,IAAA,CAAA,aAAa,GAA+B,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAA;;AAY5F,QAAA,IAAA,CAAA,YAAY,GAAG,YAAY,CAAC,KAAK,CAAA;KAKpC;;IAGL,QAAQ,GAAA;QACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAChD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,EACtCC,WAAS,CAAC,YAAY,IAAI,aAAa,CAAC;AACtC,YAAA,IAAI,CAAC,mBAAmB;AACxB,YAAA,IAAI,CAAC,mBAAmB;AACzB,SAAA,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,EAC3B,oBAAoB,EAAE,EACtB,GAAG,CAAC,MAAK;AACP,YAAA,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,IAAI,SAAS,CAAA;AAC7D,aAAA;AACH,SAAC,CAAC,CACH,CAAC,CACH,CAAC,SAAS,EAAE,CAAA;KACd;;IAGD,WAAW,GAAA;;AACT,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAA;AACxB,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAA;KACjC;;AAGM,IAAA,gBAAgB,CAAC,aAAqB,EAAE,gBAAwB,EAAE,MAAW,EAAA;QAClF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AAErD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjD,YAAA,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;AACjC,YAAA,IAAI,IAAI,KAAK,aAAa,IAAI,CAAC,KAAK,CAAC,EAAE;AACrC,gBAAA,OAAO,IAAI,CAAA;AACZ,aAAA;AACF,SAAA;AAED,QAAA,OAAO,KAAK,CAAA;KACb;;AAGM,IAAA,iBAAiB,CAAC,SAA2B,EAAA;AAClD,QAAA,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,aAAa,GAAG,CAAG,EAAA,SAAS,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAA,EAAA,CAAI,CAAA;AACpE,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;AAC3B,SAAA;KACF;IAEM,UAAU,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAA;KACtC;;sHAjNU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAPzB,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,WAAW,EAAE,yBAAyB;AACvC,SAAA;AACF,KAAA,EAuFa,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,0BAA0B,yFAO1B,0BAA0B,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAG1B,cAAc,EAKX,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,uBAAuB,6BC7I1C,uwDAuCA,EAAA,MAAA,EAAA,CAAA,6KAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mCAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;AD2B2B,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAe,EAAA,yBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAzB5B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAXrC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAGhB,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,oBAAoB;AAC7B,4BAAA,WAAW,EAA2B,yBAAA;AACvC,yBAAA;qBACF,EAAA,QAAA,EAAA,uwDAAA,EAAA,MAAA,EAAA,CAAA,6KAAA,CAAA,EAAA,CAAA;iGAmBiC,aAAa,EAAA,CAAA;sBAA9C,WAAW;uBAAC,eAAe,CAAA;gBAQH,MAAM,EAAA,CAAA;sBAA9B,KAAK;gBAGG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAQG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAQG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAGG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAMG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAOF,OAAO,EAAA,CAAA;sBADV,KAAK;gBAUF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAWF,UAAU,EAAA,CAAA;sBADb,KAAK;gBAQF,WAAW,EAAA,CAAA;sBADd,YAAY;gBAAC,IAAA,EAAA,CAAA,0BAA0B,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAOE,QAAQ,EAAA,CAAA;sBAAnE,YAAY;gBAAC,IAAA,EAAA,CAAA,0BAA0B,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAItD,YAAY,EAAA,CAAA;sBADf,YAAY;gBAAC,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAM1C,WAAW,EAAA,CAAA;sBADd,eAAe;uBAAC,uBAAuB,CAAA;;;MEvG7B,sBAAsB,CAAA;;mHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,iBAtB/B,yBAAyB;QACzB,cAAc;QACd,uBAAuB;QACvB,0BAA0B;QAC1B,mCAAmC;AACnC,QAAA,0BAA0B,aAG1B,YAAY;QACZ,mBAAmB;QACnB,2BAA2B;AAC3B,QAAA,mBAAmB,aAGnB,yBAAyB;QACzB,cAAc;QACd,uBAAuB;QACvB,0BAA0B;QAC1B,mCAAmC;QACnC,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAGjB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAd/B,YAAY;QACZ,mBAAmB;QACnB,2BAA2B;QAC3B,mBAAmB,CAAA,EAAA,CAAA,CAAA;2FAWV,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAxBlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,yBAAyB;wBACzB,cAAc;wBACd,uBAAuB;wBACvB,0BAA0B;wBAC1B,mCAAmC;wBACnC,0BAA0B;AAC3B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,2BAA2B;wBAC3B,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,yBAAyB;wBACzB,cAAc;wBACd,uBAAuB;wBACvB,0BAA0B;wBAC1B,mCAAmC;wBACnC,0BAA0B;AAC3B,qBAAA;iBACF,CAAA;;;ACrCD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-form-field.mjs","sources":["../../../projects/ui-common/form-field/testing/form-field-required-indicator.harness.ts","../../../projects/ui-common/form-field/testing/form-field.harness.ts","../../../projects/ui-common/form-field/form-field-error.directive.ts","../../../projects/ui-common/form-field/form-field-help-text.directive.ts","../../../projects/ui-common/form-field/form-field-label-tpl.directive.ts","../../../projects/ui-common/form-field/form-field-tokens.ts","../../../projects/ui-common/form-field/form-field-required-indicator.component.ts","../../../projects/ui-common/form-field/input.directive.ts","../../../projects/ui-common/form-field/form-field.component.ts","../../../projects/ui-common/form-field/form-field.component.html","../../../projects/ui-common/form-field/form-field.module.ts","../../../projects/ui-common/form-field/theseam-ui-common-form-field.ts"],"sourcesContent":["import { ComponentHarness } from '@angular/cdk/testing'\n\nexport class TheSeamFormFieldRequiredIndicatorHarness extends ComponentHarness {\n static hostSelector = 'seam-form-field-required-indicator'\n\n public async isIndicatorVisible() {\n return (await (await this.host()).text()) === '*'\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\ninterface TheSeamFormFieldHarnessFilters extends BaseHarnessFilters {\n /** Filters based on the name of the field. */\n // name?: string | RegExp\n\n label?: string\n}\n\nexport class TheSeamFormFieldHarness extends ComponentHarness {\n static hostSelector = 'seam-form-field'\n\n private readonly _label = this.locatorFor('label')\n // private readonly _input = this.locatorFor('input')\n\n /** Creates a `HarnessPredicate` used to locate a particular `TheSeamFormFieldHarness`. */\n static with(options: TheSeamFormFieldHarnessFilters): HarnessPredicate<TheSeamFormFieldHarness> {\n return new HarnessPredicate(TheSeamFormFieldHarness, options)\n // .addOption('field name', options.name,\n // (harness, name) => HarnessPredicate.stringMatches(harness.getName(), name))\n .addOption('label', options.label,\n (harness, label) => HarnessPredicate.stringMatches(harness.getLabel(), label))\n }\n\n public async getLabel(): Promise<string | null> {\n return (await this._label()).text()\n }\n\n public async clickLabel(): Promise<void> {\n await (await this._label()).click()\n }\n\n // public async getName(): Promise<string | null> {\n // return (await this._input()).getAttribute('name')\n // }\n\n // public async getValue(): Promise<any> {\n // return (await this._input()).getProperty('value')\n // }\n\n // public async isDisabled(): Promise<boolean> {\n // return (await this._input()).getProperty('disabled')\n // }\n\n // public async isRequired(): Promise<boolean> {\n // return (await this._input()).getProperty('required')\n // }\n\n // public async click(): Promise<void> {\n // return (await this._input()).click()\n // }\n\n // public async setValue(value: any): Promise<void> {\n // // TODO: Find out why setInputValue() doesn't update the FormControl.\n // // return (await this._input()).setInputValue(value)\n // await (await this._input()).click()\n // await this._input().then(x => x.setInputValue(''))\n // return (await this._input()).sendKeys(value)\n // }\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { Directive, Input, TemplateRef } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamFormFieldError]'\n})\nexport class FormFieldErrorDirective {\n static ngAcceptInputType_external: BooleanInput\n\n @Input()\n get validatorName(): string | undefined | null { return this._validatorName || this.seamFormFieldError }\n set validatorName(value: string | undefined | null) { this._validatorName = value }\n private _validatorName: string | undefined | null\n\n @Input() seamFormFieldError: string | undefined | null\n\n @Input() @InputBoolean() external = false\n\n constructor(public template: TemplateRef<any>) {}\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamFormFieldHelpText]'\n})\nexport class FormFieldHelpTextDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamFormFieldLabelTpl]'\n})\nexport class FormFieldLabelTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nexport const FORM_FIELD_COMPONENT = new InjectionToken<any>('FORM_FIELD_COMPONENT')\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, Inject, Input, OnChanges, Optional, SimpleChanges } from '@angular/core'\nimport { Observable, shareReplay, startWith, Subject, switchMap } from 'rxjs'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { FORM_FIELD_COMPONENT } from './form-field-tokens'\n\n@Component({\n selector: 'seam-form-field-required-indicator',\n template: `\n <ng-container *ngIf=\"_controlRequired$; else noControl\">\n <ng-container *ngIf=\"_controlRequired$ | async\">*</ng-container>\n </ng-container>\n <ng-template #noControl>\n <ng-container *ngIf=\"required\">*</ng-container>\n </ng-template>\n `,\n styles: [],\n host: {\n 'class': 'text-danger'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormFieldRequiredIndicatorComponent implements OnChanges {\n static ngAcceptInputType_required: BooleanInput\n\n private readonly _requiredChange = new Subject<boolean>()\n\n /** Used if a form control is not found. */\n @Input() @InputBoolean() required = false\n\n readonly _controlRequired$: Observable<boolean> | undefined\n\n constructor(\n @Optional() @Inject(FORM_FIELD_COMPONENT) public readonly _formField: any\n ) {\n if (_formField) {\n this._controlRequired$ = _formField._contentInputSubject.pipe(\n switchMap((contentInput: any) => {\n if (!contentInput) {\n return this._requiredChange.pipe(\n startWith(this.required),\n )\n }\n\n return contentInput.requiredChange.pipe(\n startWith(contentInput.required),\n )\n }),\n shareReplay({ bufferSize: 1, refCount: true }),\n )\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.required) {\n this._requiredChange.next(this.required)\n }\n }\n\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Directive, DoCheck, ElementRef, HostBinding, Input, OnChanges, Optional, Self, SimpleChanges } from '@angular/core'\nimport { FormGroupDirective, NgControl, NgForm } from '@angular/forms'\nimport { Subject } from 'rxjs'\n\nimport { NgSelectComponent } from '@ng-select/ng-select'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { toggleAttribute } from '@theseam/ui-common/utils'\n\n// NOTE: Partially based on mat-input: https://github.com/angular/material2/blob/master/src/lib/input/input.ts\n\nlet nextUniqueId = 0\n\n@Directive({\n // TODO: Consider removing restriction and instead adding a dev warning. A few\n // inputs in the app need to be changed for this first.\n selector: 'input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]',\n exportAs: 'seamInput',\n})\nexport class InputDirective implements DoCheck, OnChanges {\n static ngAcceptInputType_required: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_readonly: BooleanInput\n\n protected _uid = `lib-input-${nextUniqueId++}`\n\n // TODO: Remove this being added to all seamInput elements or break this\n // directive up. Some elements in our app already have worked around this\n // class being there, so some refactoring will be required before removal.\n @HostBinding('class.form-control') _isFormControl = true\n @HostBinding('class.form-control-sm') get _isFormControlSmall() {\n return this._isFormControl && this.seamInputSize === 'sm'\n }\n @HostBinding('class.is-invalid') get _isInvalid() {\n return this.ngControl && this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched)\n }\n\n @HostBinding('attr.id') get _attrId() { return this._isNgSelect() ? undefined : this.id }\n @HostBinding('attr.placeholder') get _attrPlaceholder() { return this.placeholder }\n @HostBinding('attr.aria-describedby') ariaDescribedBy: string | undefined\n\n @Input() seamInputSize: 'sm' | 'normal' = 'normal'\n\n @Input()\n get id(): string | undefined | null { return this._id }\n set id(value: string | undefined | null) { this._id = value || this._uid }\n protected _id: string | undefined | null\n\n /** Input type of the element. */\n @Input()\n get type(): string | undefined | null { return this._type }\n set type(value: string | undefined | null) {\n this._type = value || 'text'\n // this._validateType()\n\n // When using Angular inputs, developers are no longer able to set the properties on the native\n // input element. To ensure that bindings for `type` work, we need to sync the setter\n // with the native property. Textarea elements don't support the type property or attribute.\n if ((!this._isTextarea() && !this._isNgSelect()) /* && getSupportedInputTypes().has(this._type) */) {\n (this._elementRef.nativeElement as HTMLInputElement).type = this._type\n }\n }\n protected _type: string | undefined | null = 'text'\n\n @Input() placeholder: string | undefined | null\n\n @Input() @InputBoolean() required = false\n\n @Input()\n get disabled(): boolean {\n if (this.ngControl && this.ngControl.disabled !== null) {\n return this.ngControl.disabled\n }\n return this._disabled\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value)\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false\n this.stateChanges.next()\n }\n }\n protected _disabled = false\n\n focused = false\n\n readonly stateChanges: Subject<void> = new Subject<void>()\n\n // @Input()\n // get value(): string { return this._inputValueAccessor.value; }\n // set value(value: string) {\n // if (value !== this.value) {\n // this._inputValueAccessor.value = value;\n // this.stateChanges.next();\n // }\n // }\n\n /** Whether the element is readonly. */\n @Input() @InputBoolean() readonly = false\n\n private readonly _requiredChange = new Subject<boolean>()\n private readonly _disabledChange = new Subject<boolean>()\n private readonly _readonlyChange = new Subject<boolean>()\n\n public readonly requiredChange = this._requiredChange.asObservable()\n public readonly disabledChange = this._disabledChange.asObservable()\n public readonly readonlyChange = this._readonlyChange.asObservable\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n @Optional() @Self() public ngControl: NgControl,\n @Optional() private _parentForm: NgForm,\n @Optional() private _parentFormGroup: FormGroupDirective,\n // 3rd party support\n @Optional() private _ngSelect: NgSelectComponent\n ) {\n // Force setter to be called in case id was not specified.\n // eslint-disable-next-line no-self-assign\n this.id = this.id\n\n if (!this._shouldHaveFormControlCssClass()) {\n this._isFormControl = false\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.required) {\n this._requiredChange.next(this.required)\n }\n if (changes.disabled) {\n this._disabledChange.next(this.disabled)\n }\n if (changes.readonly) {\n this._readonlyChange.next(this.readonly)\n }\n }\n\n ngDoCheck() {\n if (this._isNgSelect()) {\n this._ngSelect.labelForId = this.id\n this._ngSelect.setDisabledState(this.disabled)\n } else {\n toggleAttribute(this._elementRef.nativeElement, 'required', this.required)\n toggleAttribute(this._elementRef.nativeElement, 'disabled', this.disabled)\n }\n }\n\n /** Should only be textual inputs, but initially our app added to all form controls. */\n protected _shouldHaveFormControlCssClass() {\n return !this._isSeamCheckbox() &&\n !this._isRadioInput() &&\n !this._isNgbRadioGroup() &&\n !this._isTelInput() &&\n !this._isQuillEditor() &&\n !this._isRichTextEditor()\n }\n\n /** Determines if the component host is a textarea. */\n protected _isTextarea() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'textarea'\n }\n\n /** Determines if the component host is a ng-select. */\n protected _isNgSelect() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'ng-select'\n }\n\n /** Determines if the component host is a seam-checkbox. */\n protected _isSeamCheckbox() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-checkbox'\n }\n\n /** Determines if the component host is a radio input. */\n protected _isRadioInput() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'input' &&\n this._elementRef.nativeElement.type.toLowerCase() === 'radio'\n }\n\n protected _isNgbRadioGroup() {\n return this._elementRef.nativeElement.getAttribute('ngbRadioGroup') !== null\n }\n\n protected _isTelInput() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-tel-input'\n }\n\n protected _isQuillEditor() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'quill-editor'\n }\n\n protected _isRichTextEditor() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-rich-text'\n }\n\n /** Focuses the input. */\n focus(): void {\n this._elementRef.nativeElement.focus()\n }\n\n /** Unfocuses the input. */\n blur(): void {\n this._elementRef.nativeElement.blur()\n }\n\n setValue(value: any) {\n if (this.ngControl) {\n const control = this.ngControl.control\n if (control) {\n control.setValue(value)\n }\n }\n }\n\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport {\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n QueryList\n} from '@angular/core'\nimport { BehaviorSubject, combineLatest, Observable, ReplaySubject, Subscription } from 'rxjs'\nimport { distinctUntilChanged, filter, map, startWith, switchMap, tap } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { IErrorRecord } from '@theseam/ui-common/form-field-error'\n\nimport { FormFieldErrorDirective } from './form-field-error.directive'\nimport { FormFieldHelpTextDirective } from './form-field-help-text.directive'\nimport { FormFieldLabelTplDirective } from './form-field-label-tpl.directive'\nimport { FORM_FIELD_COMPONENT } from './form-field-tokens'\nimport { InputDirective } from './input.directive'\n\nlet nextLabelUniqueId = 0\n\n/**\n * Should wrap all form controls.\n */\n@Component({\n selector: 'seam-form-field',\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss'],\n providers: [\n {\n provide: FORM_FIELD_COMPONENT,\n useExisting: TheSeamFormFieldComponent,\n }\n ],\n})\nexport class TheSeamFormFieldComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_inline: BooleanInput\n\n private readonly _helpTextStrSubject = new BehaviorSubject<string | undefined>(undefined)\n private readonly _helpTextTplSubject = new BehaviorSubject<FormFieldHelpTextDirective | undefined>(undefined)\n private readonly _contentInputSubject = new BehaviorSubject<InputDirective | undefined>(undefined)\n\n /** @ignore */\n protected _labelUid = `seam-label-${nextLabelUniqueId++}`\n\n /** @ignore */\n protected _helpTextUid = `seam-help-text-${nextLabelUniqueId++}`\n\n /** @ignore */\n public _errorPadding = '0px'\n\n /** @ignore */\n @HostBinding('style.display') get _displayStyle() { return this.inline ? 'inline-block' : 'block' }\n\n /**\n * Used to declare an inline element.\n *\n * NOTE: Not well tested or supported, so it may have some issues currently\n * and could change.\n */\n @Input() @InputBoolean() inline = false\n\n /** Add a text label for the form control. */\n @Input() label: string | undefined | null\n\n /**\n * The label can be on top or inline.\n *\n * > Only supports `ltr` direction, so inline will only place the label on the\n * > left.\n */\n @Input() labelPosition: 'top' | 'inline' = 'top'\n\n /**\n * CSS class to add to the label element.\n *\n * Accepts a single space separated string of classes, like the html class\n * attribute.\n */\n @Input() labelClass: string | undefined | null\n\n /** Max errors to display. */\n @Input() maxErrors = -1\n\n /**\n * A padding error is an always allocated space equivalent to a single line\n * error string.\n */\n @Input() numPaddingErrors = 1\n\n /**\n * `id` attribute to add to the label element. This should not be needed in\n * most situations, because a unique id will be generated if not provided.\n */\n @Input()\n get labelId(): string | undefined | null { return this._labelId }\n set labelId(value: string | undefined | null) { this._labelId = value || this._labelUid }\n /** @ignore */\n protected _labelId: string | undefined | null\n\n /**\n * Help text added below the control.\n */\n @Input()\n get helpText(): string | undefined | null { return this._helpTextStrSubject.value }\n set helpText(value: string | undefined | null) {\n this._helpTextStrSubject.next(value || undefined)\n }\n\n /**\n * `id` attribute to add to the label element. This should not be needed in\n * most situations, because a unique id will be generated if not provided.\n */\n @Input()\n get helpTextId(): string | undefined | null { return this._helpTextId }\n set helpTextId(value: string | undefined | null) { this._helpTextId = value || this._helpTextUid }\n /** @ignore */\n protected _helpTextId: string | undefined | null\n\n /** @ignore */\n @ContentChild(FormFieldHelpTextDirective, { static: true })\n get helpTextTpl(): FormFieldLabelTplDirective | undefined { return this._helpTextTplSubject.value }\n set helpTextTpl(value: FormFieldLabelTplDirective | undefined) {\n this._helpTextTplSubject.next(value || undefined)\n }\n\n /** @ignore */\n @ContentChild(FormFieldLabelTplDirective, { static: true }) labelTpl?: FormFieldLabelTplDirective\n\n /** @ignore */\n @ContentChild(InputDirective, { static: true })\n get contentInput(): InputDirective | undefined { return this._contentInputSubject.value }\n set contentInput(value: InputDirective | undefined) { this._contentInputSubject.next(value || undefined) }\n\n /** @ignore */\n @ContentChildren(FormFieldErrorDirective)\n get fieldErrors() { return this._fieldErrors }\n set fieldErrors(value: QueryList<FormFieldErrorDirective[]> | undefined | null) {\n this._fieldErrors = value\n\n if (this._sub) { this._sub.unsubscribe() }\n if (this.fieldErrors) {\n this._sub = this.fieldErrors.changes\n .pipe(startWith(this.fieldErrors))\n .pipe(map(v => v.toArray() as FormFieldErrorDirective[]))\n .pipe(tap(v => {\n const records: IErrorRecord[] = []\n for (const item of v) {\n if (item.validatorName) {\n records.push({\n validatorName: item.validatorName,\n error: null,\n template: item.template,\n external: item.external\n })\n }\n }\n this._fieldErrorsSubject2.next(records)\n }))\n .subscribe(v => this._fieldErrorsSubject.next(v))\n }\n }\n /** @ignore */\n private _fieldErrors: QueryList<FormFieldErrorDirective[]> | undefined | null\n /** @ignore */\n private _sub?: Subscription\n\n /** @ignore */\n private readonly _fieldErrorsSubject = new ReplaySubject<FormFieldErrorDirective[]>(1)\n /** @ignore */\n public readonly fieldErrors$: Observable<FormFieldErrorDirective[]> = this._fieldErrorsSubject.asObservable()\n\n /** @ignore */\n private readonly _fieldErrorsSubject2 = new ReplaySubject<IErrorRecord[]>(1)\n /** @ignore */\n public readonly fieldErrors2$: Observable<IErrorRecord[]> = this._fieldErrorsSubject2.asObservable()\n\n get isPasswordInput() {\n return this.contentInput && this.contentInput.type && this.contentInput.type === 'password'\n }\n get passwordInputElement() {\n return this.contentInput && this.contentInput._elementRef && this.contentInput._elementRef.nativeElement\n }\n\n get hasHelpText() { return !!this._helpTextStrSubject.value || !!this._helpTextTplSubject.value }\n // get hasHelpText() { return !!this.helpText || !!this._helpTextTpl }\n\n private _helpTextSub = Subscription.EMPTY\n\n /** @ignore */\n constructor(\n private readonly _elementRef: ElementRef\n ) { }\n\n /** @ignore */\n ngOnInit() {\n this._helpTextSub = this._contentInputSubject.pipe(\n filter(contentInput => !!contentInput),\n switchMap(contentInput => combineLatest([\n this._helpTextStrSubject,\n this._helpTextTplSubject\n ]).pipe(\n map(() => this.hasHelpText),\n distinctUntilChanged(),\n tap(() => {\n if (contentInput) {\n contentInput.ariaDescribedBy = this._helpTextId || undefined\n }\n })\n ))\n ).subscribe()\n }\n\n /** @ignore */\n ngOnDestroy() {\n this._sub?.unsubscribe()\n this._helpTextSub?.unsubscribe()\n }\n\n /** @ignore */\n public isValidatorMatch(validatorName: string, tplValidatorName: string, errors: any): boolean {\n const tplValidatorNames = tplValidatorName.split(' ')\n\n for (let i = 0; i < tplValidatorNames.length; i++) {\n const name = tplValidatorNames[i]\n if (name === validatorName && i === 0) {\n return true\n }\n }\n\n return false\n }\n\n /** @ignore */\n public _labelElemResized(labelElem: HTMLLabelElement) {\n if (labelElem) {\n this._errorPadding = `${labelElem.getBoundingClientRect().width}px`\n } else {\n this._errorPadding = '0px'\n }\n }\n\n public getElement(): HTMLElement {\n return this._elementRef.nativeElement\n }\n\n}\n","<div>\n <div [class.seam-form-field-inline]=\"inline\">\n <label *ngIf=\"label || labelTpl\"\n #labelElem\n [attr.id]=\"labelId\"\n [attr.for]=\"contentInput?.id\"\n class=\"control-label {{ labelClass }}\"\n (seamElemResized)=\"_labelElemResized(labelElem)\">\n <ng-container *ngIf=\"labelTpl; else noLabelTpl\">\n <ng-template [ngTemplateOutlet]=\"labelTpl.template\" [ngTemplateOutletContext]=\"{ $implicit: label, label: label, required: contentInput?.required || false }\"></ng-template>\n </ng-container>\n <ng-template #noLabelTpl>\n {{ label }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-template>\n </label>\n <ng-container *ngIf=\"!isPasswordInput\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"isPasswordInput\">\n <div class=\"position-relative\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <seam-password-input-reveal [inputRef]=\"$any(passwordInputElement)\"></seam-password-input-reveal>\n </div>\n </ng-container>\n </div>\n <!-- Need `.d-block` to make errors show without input sibling selector -->\n <ng-container *ngIf=\"contentInput\">\n <seam-form-field-error-list *ngIf=\"fieldErrors$ | async as fieldErrors\"\n [style.paddingLeft]=\"(label || labelTpl) && inline ? _errorPadding : undefined\"\n [control]=\"contentInput.ngControl\"\n [errors]=\"fieldErrors2$ | async\"\n [maxErrors]=\"maxErrors\"\n [numPaddingErrors]=\"numPaddingErrors\"\n class=\"invalid-feedback\">\n </seam-form-field-error-list>\n </ng-container>\n</div>\n\n<ng-template #content><ng-content></ng-content></ng-template>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { TheSeamFormFieldErrorModule } from '@theseam/ui-common/form-field-error'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { FormFieldErrorDirective } from './form-field-error.directive'\nimport { FormFieldHelpTextDirective } from './form-field-help-text.directive'\nimport { FormFieldLabelTplDirective } from './form-field-label-tpl.directive'\nimport { FormFieldRequiredIndicatorComponent } from './form-field-required-indicator.component'\nimport { TheSeamFormFieldComponent } from './form-field.component'\nimport { InputDirective } from './input.directive'\n\n@NgModule({\n declarations: [\n TheSeamFormFieldComponent,\n InputDirective,\n FormFieldErrorDirective,\n FormFieldLabelTplDirective,\n FormFieldRequiredIndicatorComponent,\n FormFieldHelpTextDirective\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TheSeamFormFieldErrorModule,\n TheSeamSharedModule\n ],\n exports: [\n TheSeamFormFieldComponent,\n InputDirective,\n FormFieldErrorDirective,\n FormFieldLabelTplDirective,\n FormFieldRequiredIndicatorComponent,\n FormFieldHelpTextDirective\n ]\n})\nexport class TheSeamFormFieldModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","startWith","switchMap","i2","i4.FormFieldRequiredIndicatorComponent"],"mappings":"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"}
|