@sdcorejs/angular 19.1.3 → 19.1.5
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/README.md +19 -14
- package/components/audit-diff/index.d.ts +2 -0
- package/components/audit-diff/src/audit-diff.component.d.ts +30 -0
- package/components/audit-diff/src/audit-diff.engine.d.ts +40 -0
- package/components/badge/src/badge.component.d.ts +1 -1
- package/components/breadcrumb/index.d.ts +1 -0
- package/components/breadcrumb/src/breadcrumb.component.d.ts +50 -0
- package/components/data-state/index.d.ts +1 -0
- package/components/data-state/src/data-state.component.d.ts +40 -0
- package/components/document-builder/src/components/header-footer-builder/header-footer-builder.component.d.ts +1 -2
- package/components/document-builder/src/document-builder.component.d.ts +4 -4
- package/components/form-generic/src/components/form-builder/components/attribute-expression/attribute-expression.component.d.ts +7 -8
- package/components/form-generic/src/components/form-builder/components/attribute-input/attribute-input.component.d.ts +4 -5
- package/components/form-generic/src/components/form-builder/components/attribute-input-number/attribute-input-number.component.d.ts +1 -2
- package/components/form-generic/src/components/form-builder/components/attribute-parameter/attribute-parameter.component.d.ts +6 -5
- package/components/form-generic/src/components/form-builder/components/attribute-select/attribute-select.component.d.ts +4 -5
- package/components/form-generic/src/components/form-builder/components/attribute-selection/attribute-selection.component.d.ts +9 -9
- package/components/form-generic/src/components/form-builder/components/attribute-selection/components/build-queries/build-queries.component.d.ts +8 -7
- package/components/form-generic/src/components/form-builder/components/attribute-selection/components/build-variables/build-variables.component.d.ts +8 -7
- package/components/form-generic/src/components/form-builder/components/attribute-switch/attribute-switch.component.d.ts +3 -4
- package/components/form-generic/src/components/form-builder/components/attribute-table/attribute-table.component.d.ts +5 -6
- package/components/form-generic/src/components/form-builder/components/attribute-template/attribute-template.component.d.ts +1 -2
- package/components/form-generic/src/components/form-builder/components/attribute-textarea/attribute-textarea.component.d.ts +4 -5
- package/components/form-generic/src/components/form-builder/components/checkbox/attribute/checkbox-attribute.component.d.ts +6 -6
- package/components/form-generic/src/components/form-builder/components/chip-calendar/attribute/chip-calendar-attribute.component.d.ts +6 -6
- package/components/form-generic/src/components/form-builder/components/chip-calendar/control/chip-calendar-control.component.d.ts +3 -3
- package/components/form-generic/src/components/form-builder/components/chip-string/attribute/chip-string-attribute.component.d.ts +6 -6
- package/components/form-generic/src/components/form-builder/components/chip-string/control/chip-string-control.component.d.ts +3 -3
- package/components/form-generic/src/components/form-builder/components/configure-validation/configure-validation.component.d.ts +2 -2
- package/components/form-generic/src/components/form-builder/components/datetime/attribute/datetime-attribute.component.d.ts +6 -6
- package/components/form-generic/src/components/form-builder/components/datetime/control/datetime-control.component.d.ts +3 -3
- package/components/form-generic/src/components/form-builder/components/expression-builder/expression-builder.component.d.ts +6 -5
- package/components/form-generic/src/components/form-builder/components/html/attribute/components/build-queries/build-queries.component.d.ts +7 -6
- package/components/form-generic/src/components/form-builder/components/html/attribute/html-attribute.component.d.ts +7 -8
- package/components/form-generic/src/components/form-builder/components/html/control/html-control.component.d.ts +3 -4
- package/components/form-generic/src/components/form-builder/components/number/attribute/number-attribute.component.d.ts +6 -6
- package/components/form-generic/src/components/form-builder/components/number/control/number-control.component.d.ts +3 -3
- package/components/form-generic/src/components/form-builder/components/radio/attribute/radio-attribute.component.d.ts +6 -6
- package/components/form-generic/src/components/form-builder/components/radio/control/radio-control.component.d.ts +3 -3
- package/components/form-generic/src/components/form-builder/components/select/attribute/select-attribute.component.d.ts +6 -6
- package/components/form-generic/src/components/form-builder/components/select/control/select-control.component.d.ts +3 -3
- package/components/form-generic/src/components/form-builder/components/table/attribute/table-attribute.component.d.ts +6 -6
- package/components/form-generic/src/components/form-builder/components/table/control/table-control.component.d.ts +3 -3
- package/components/form-generic/src/components/form-builder/components/textarea/attribute/textarea-attribute.component.d.ts +6 -6
- package/components/form-generic/src/components/form-builder/components/textarea/control/textarea-control.component.d.ts +3 -3
- package/components/form-generic/src/components/form-builder/components/textfield/attribute/textfield-attribute.component.d.ts +6 -6
- package/components/form-generic/src/components/form-builder/components/textfield/control/textfield-control.component.d.ts +3 -3
- package/components/form-generic/src/components/form-builder/components/upload/attribute/upload-attribute.component.d.ts +6 -6
- package/components/form-generic/src/components/form-builder/components/upload/control/upload-control.component.d.ts +3 -3
- package/components/form-generic/src/components/form-render/components/item/components/chip-calendar/chip-calendar.component.d.ts +7 -6
- package/components/form-generic/src/components/form-render/components/item/components/chip-string/chip-string.component.d.ts +7 -6
- package/components/form-generic/src/components/form-render/components/item/components/datetime/datetime.component.d.ts +7 -7
- package/components/form-generic/src/components/form-render/components/item/components/html/html.component.d.ts +6 -6
- package/components/form-generic/src/components/form-render/components/item/components/number/number.component.d.ts +7 -6
- package/components/form-generic/src/components/form-render/components/item/components/radio/radio.component.d.ts +6 -7
- package/components/form-generic/src/components/form-render/components/item/components/select/select.component.d.ts +6 -7
- package/components/form-generic/src/components/form-render/components/item/components/table/table.component.d.ts +8 -8
- package/components/form-generic/src/components/form-render/components/item/components/textarea/textarea.component.d.ts +7 -6
- package/components/form-generic/src/components/form-render/components/item/components/textfield/textfield.component.d.ts +7 -6
- package/components/form-generic/src/components/form-render/components/item/components/upload/upload.component.d.ts +7 -6
- package/components/form-generic/src/components/form-render/components/item/item.component.d.ts +4 -4
- package/components/form-generic/src/components/sd-feel-expression/sd-feel-expression.component.d.ts +8 -9
- package/components/form-generic/src/pipes/component-viewed.pipe.d.ts +2 -3
- package/components/form-generic/src/pipes/html.pipe.d.ts +2 -2
- package/components/form-generic/src/services/form-render.service.d.ts +2 -2
- package/components/import-excel/src/import-excel.component.d.ts +4 -7
- package/components/import-excel/src/pipes/column-transform.pipe.d.ts +3 -2
- package/components/index.d.ts +4 -0
- package/components/job-progress/index.d.ts +1 -0
- package/components/job-progress/src/job-progress.component.d.ts +34 -0
- package/components/mini-editor/src/mini-editor.component.d.ts +7 -7
- package/components/modal/src/modal.component.d.ts +6 -1
- package/components/preview/index.d.ts +3 -0
- package/components/preview/src/preview-pdf/preview-pdf.browser.d.ts +28 -0
- package/components/preview/src/preview-pdf/preview-pdf.component.d.ts +61 -23
- package/components/preview/src/preview-pdf/preview-pdf.pdfjs.d.ts +77 -0
- package/components/preview/src/preview-pdf/preview-pdf.print.d.ts +10 -0
- package/components/preview/src/preview-pdf/preview-pdf.types.d.ts +11 -9
- package/components/side-drawer/src/side-drawer.component.d.ts +6 -1
- package/components/tab/src/tab-group.component.d.ts +1 -0
- package/components/tab/src/tab.component.d.ts +7 -1
- package/components/tab-router/src/components/tab-router-item/tab-router-item.component.d.ts +3 -4
- package/components/tab-router/src/pipes/tab-info.pipe.d.ts +2 -2
- package/components/tab-router/src/services/tab-decorator.service.d.ts +2 -1
- package/components/table/src/components/filter/column-filter/column-filter.component.d.ts +1 -1
- package/components/table/src/components/popup-export/popup-export.component.d.ts +6 -6
- package/components/table/src/models/table-column.model.d.ts +1 -1
- package/components/table/src/services/config.service.d.ts +3 -2
- package/components/table/src/services/table-filter/table-filter.model.d.ts +1 -1
- package/components/table/src/services/table-filter/table-filter.service.d.ts +2 -2
- package/components/tree/src/tree.component.d.ts +13 -2
- package/components/tree/src/tree.model.d.ts +11 -0
- package/components/upload-file/src/components/preview/preview.component.d.ts +4 -4
- package/directives/src/sd-hover-copy.directive.d.ts +6 -5
- package/directives/src/sd-href.directive.d.ts +2 -2
- package/directives/src/sd-scroll.directive.d.ts +3 -2
- package/fesm2022/sdcorejs-angular-components-anchor.mjs +14 -14
- package/fesm2022/sdcorejs-angular-components-anchor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-audit-diff.mjs +332 -0
- package/fesm2022/sdcorejs-angular-components-audit-diff.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-components-badge.mjs +1 -0
- package/fesm2022/sdcorejs-angular-components-badge.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-breadcrumb.mjs +121 -0
- package/fesm2022/sdcorejs-angular-components-breadcrumb.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-components-data-state.mjs +68 -0
- package/fesm2022/sdcorejs-angular-components-data-state.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-components-document-builder.mjs +16 -21
- package/fesm2022/sdcorejs-angular-components-document-builder.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-editor.mjs +6 -4
- package/fesm2022/sdcorejs-angular-components-editor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-form-generic.mjs +463 -806
- package/fesm2022/sdcorejs-angular-components-form-generic.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-import-excel.mjs +23 -33
- package/fesm2022/sdcorejs-angular-components-import-excel.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-job-progress.mjs +97 -0
- package/fesm2022/sdcorejs-angular-components-job-progress.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-components-mini-editor.mjs +9 -19
- package/fesm2022/sdcorejs-angular-components-mini-editor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-modal.mjs +60 -3
- package/fesm2022/sdcorejs-angular-components-modal.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-preview.mjs +1437 -217
- package/fesm2022/sdcorejs-angular-components-preview.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-query-bar.mjs +4 -4
- package/fesm2022/sdcorejs-angular-components-query-bar.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-query-builder.mjs +1 -1
- package/fesm2022/sdcorejs-angular-components-query-builder.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-side-drawer.mjs +38 -1
- package/fesm2022/sdcorejs-angular-components-side-drawer.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tab-router.mjs +16 -22
- package/fesm2022/sdcorejs-angular-components-tab-router.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tab.mjs +47 -3
- package/fesm2022/sdcorejs-angular-components-tab.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-table.mjs +94 -61
- package/fesm2022/sdcorejs-angular-components-table.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tree.mjs +185 -16
- package/fesm2022/sdcorejs-angular-components-tree.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-upload-file.mjs +14 -21
- package/fesm2022/sdcorejs-angular-components-upload-file.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components.mjs +4 -0
- package/fesm2022/sdcorejs-angular-components.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-directives.mjs +29 -41
- package/fesm2022/sdcorejs-angular-directives.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs +7 -7
- package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-checkbox.mjs +20 -73
- package/fesm2022/sdcorejs-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs +6 -3
- package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-chip.mjs +6 -3
- package/fesm2022/sdcorejs-angular-forms-chip.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-date-range.mjs +16 -13
- package/fesm2022/sdcorejs-angular-forms-date-range.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-date.mjs +42 -65
- package/fesm2022/sdcorejs-angular-forms-date.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-datetime.mjs +51 -66
- package/fesm2022/sdcorejs-angular-forms-datetime.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs +384 -0
- package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-forms-input-color.mjs +1 -1
- package/fesm2022/sdcorejs-angular-forms-input-color.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input-number.mjs +7 -5
- package/fesm2022/sdcorejs-angular-forms-input-number.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input.mjs +289 -55
- package/fesm2022/sdcorejs-angular-forms-input.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-models.mjs +155 -2
- package/fesm2022/sdcorejs-angular-forms-models.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-radio.mjs +44 -68
- package/fesm2022/sdcorejs-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-select.mjs +6 -20
- package/fesm2022/sdcorejs-angular-forms-select.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-switch.mjs +19 -66
- package/fesm2022/sdcorejs-angular-forms-switch.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-textarea.mjs +6 -5
- package/fesm2022/sdcorejs-angular-forms-textarea.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-time-range.mjs +279 -0
- package/fesm2022/sdcorejs-angular-forms-time-range.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-forms-time.mjs +309 -0
- package/fesm2022/sdcorejs-angular-forms-time.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-forms-tree-select.mjs +210 -0
- package/fesm2022/sdcorejs-angular-forms-tree-select.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-forms.mjs +73 -4
- package/fesm2022/sdcorejs-angular-forms.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-i18n.mjs +375 -10
- package/fesm2022/sdcorejs-angular-i18n.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-interceptors.mjs +12 -17
- package/fesm2022/sdcorejs-angular-interceptors.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-layout.mjs +992 -166
- package/fesm2022/sdcorejs-angular-modules-layout.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-pipes.mjs +5 -7
- package/fesm2022/sdcorejs-angular-pipes.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-api.mjs +407 -137
- package/fesm2022/sdcorejs-angular-services-api.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-cache.mjs +515 -105
- package/fesm2022/sdcorejs-angular-services-cache.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-confirm.mjs +5 -7
- package/fesm2022/sdcorejs-angular-services-confirm.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-docx.mjs +7 -10
- package/fesm2022/sdcorejs-angular-services-docx.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-loading.mjs +339 -74
- package/fesm2022/sdcorejs-angular-services-loading.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-notify.mjs +7 -10
- package/fesm2022/sdcorejs-angular-services-notify.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-persistence.mjs +899 -0
- package/fesm2022/sdcorejs-angular-services-persistence.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-services-storage.mjs +324 -122
- package/fesm2022/sdcorejs-angular-services-storage.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-task.mjs +389 -0
- package/fesm2022/sdcorejs-angular-services-task.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-services-unsaved-changes.mjs +255 -0
- package/fesm2022/sdcorejs-angular-services-unsaved-changes.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-services-viewport.mjs +76 -0
- package/fesm2022/sdcorejs-angular-services-viewport.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-services.mjs +4 -0
- package/fesm2022/sdcorejs-angular-services.mjs.map +1 -1
- package/forms/autocomplete/src/autocomplete.component.d.ts +3 -4
- package/forms/checkbox/src/checkbox.component.d.ts +4 -8
- package/forms/date/src/date.component.d.ts +3 -2
- package/forms/date-range/src/date-range.component.d.ts +5 -8
- package/forms/datetime/src/datetime.component.d.ts +3 -2
- package/forms/entity-picker/index.d.ts +1 -0
- package/forms/entity-picker/src/entity-picker.component.d.ts +123 -0
- package/forms/index.d.ts +6 -0
- package/forms/input/index.d.ts +1 -0
- package/forms/input/src/input-mask.d.ts +43 -0
- package/forms/input/src/input.component.d.ts +26 -9
- package/forms/input-number/src/input-number.component.d.ts +1 -1
- package/forms/models/index.d.ts +1 -0
- package/forms/models/src/sd-form-control-connector.d.ts +86 -0
- package/forms/radio/src/radio.component.d.ts +12 -8
- package/forms/src/forms.module.d.ts +9 -5
- package/forms/switch/src/switch.component.d.ts +4 -7
- package/forms/time/index.d.ts +3 -0
- package/forms/time/src/time-picker.adapter.d.ts +13 -0
- package/forms/time/src/time-value.d.ts +19 -0
- package/forms/time/src/time.component.d.ts +78 -0
- package/forms/time-range/index.d.ts +2 -0
- package/forms/time-range/src/time-range-value.d.ts +14 -0
- package/forms/time-range/src/time-range.component.d.ts +80 -0
- package/forms/tree-select/index.d.ts +1 -0
- package/forms/tree-select/src/tree-select.component.d.ts +71 -0
- package/i18n/src/en.d.ts +72 -2
- package/interceptors/no-internet/no-internet.interceptor.d.ts +2 -3
- package/interceptors/unauthorized/unauthorized.interceptor.d.ts +2 -2
- package/modules/layout/components/index.d.ts +6 -0
- package/modules/layout/components/layout-main/layout-main.component.d.ts +7 -2
- package/modules/layout/components/shared/menu-tree/menu-tree.component.d.ts +33 -0
- package/modules/layout/components/shared/search-field/search-field.component.d.ts +9 -0
- package/modules/layout/components/shared/user-menu/user-menu.component.d.ts +45 -0
- package/modules/layout/components/sidebar-mobile-v1/components/user/user.component.d.ts +3 -11
- package/modules/layout/components/sidebar-mobile-v2/main.component.d.ts +27 -0
- package/modules/layout/components/sidebar-mobile-v3/main.component.d.ts +28 -0
- package/modules/layout/components/sidebar-v1/components/sidebar/sidebar.component.d.ts +4 -4
- package/modules/layout/components/sidebar-v1/components/user/user.component.d.ts +3 -9
- package/modules/layout/components/sidebar-v1/main.component.d.ts +3 -2
- package/modules/layout/components/sidebar-v2/main.component.d.ts +36 -0
- package/modules/layout/components/sidebar-v3/main.component.d.ts +29 -0
- package/modules/layout/configurations/layout.configuration.d.ts +78 -5
- package/modules/layout/index.d.ts +1 -0
- package/modules/layout/pipes/menu.pipe.d.ts +2 -2
- package/modules/layout/services/index.d.ts +3 -0
- package/modules/layout/services/layout.service.d.ts +2 -2
- package/modules/layout/services/menu/menu.utils.d.ts +6 -0
- package/modules/layout/services/navigation-state/navigation-state.service.d.ts +18 -0
- package/modules/layout/services/responsive/responsive.service.d.ts +12 -0
- package/modules/layout/services/storage/storage.service.d.ts +21 -8
- package/package.json +49 -1
- package/pipes/src/safe-html.pipe.d.ts +2 -2
- package/services/api/src/api.model.d.ts +54 -15
- package/services/api/src/api.service.d.ts +13 -8
- package/services/api/src/interceptors/api.interceptor.d.ts +1 -1
- package/services/cache/src/cache.model.d.ts +46 -13
- package/services/cache/src/cache.service.d.ts +5 -2
- package/services/confirm/src/lib/confirm.service.d.ts +2 -2
- package/services/docx/src/lib/docx.service.d.ts +2 -3
- package/services/index.d.ts +4 -0
- package/services/loading/src/loading.service.d.ts +15 -8
- package/services/notify/src/components/toast/toast.component.d.ts +2 -3
- package/services/persistence/index.d.ts +5 -0
- package/services/persistence/src/graph-serializer.d.ts +16 -0
- package/services/persistence/src/persistence-envelope.d.ts +28 -0
- package/services/persistence/src/persistence-key.d.ts +17 -0
- package/services/persistence/src/persistence.model.d.ts +63 -0
- package/services/persistence/src/storage-adapter.d.ts +29 -0
- package/services/storage/src/storage.model.d.ts +20 -5
- package/services/storage/src/storage.service.d.ts +6 -3
- package/services/task/index.d.ts +3 -0
- package/services/task/src/task.model.d.ts +75 -0
- package/services/task/src/task.service.d.ts +14 -0
- package/services/task/src/task.tokens.d.ts +12 -0
- package/services/unsaved-changes/index.d.ts +4 -0
- package/services/unsaved-changes/src/unsaved-changes.adapters.d.ts +15 -0
- package/services/unsaved-changes/src/unsaved-changes.model.d.ts +41 -0
- package/services/unsaved-changes/src/unsaved-changes.service.d.ts +16 -0
- package/services/unsaved-changes/src/unsaved-changes.tokens.d.ts +9 -0
- package/services/viewport/index.d.ts +3 -0
- package/services/viewport/src/viewport.model.d.ts +12 -0
- package/services/viewport/src/viewport.service.d.ts +18 -0
- package/services/viewport/src/viewport.tokens.d.ts +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdcorejs-angular-components-tab.mjs","sources":["../../../projects/sdcorejs-angular/components/tab/src/tab.component.ts","../../../projects/sdcorejs-angular/components/tab/src/tab-group.component.ts","../../../projects/sdcorejs-angular/components/tab/src/tab-group.component.html","../../../projects/sdcorejs-angular/components/tab/sdcorejs-angular-components-tab.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, input, output, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'sd-tab',\n standalone: true,\n template: `<ng-template #body><ng-content></ng-content></ng-template>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SdTab {\n label = input.required<string>();\n icon = input<string | null | undefined>(undefined);\n badge = input<string | number | null | undefined>(undefined);\n disabled = input(false, { transform: booleanAttribute });\n closable = input(false, { transform: booleanAttribute });\n\n close = output<void>();\n\n // why: viewChild on `#body` template captures projected content so the parent\n // <sd-tab-group> can render it lazily via matTabContent + ngTemplateOutlet.\n // If we projected raw ng-content into <mat-tab> directly, mat-tab would render\n // eagerly and lose the lazy-load behavior.\n bodyTpl = viewChild.required<TemplateRef<unknown>>('body');\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n effect,\n HostBinding,\n input,\n model,\n output,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { MatTabGroup, MatTabsModule } from '@angular/material/tabs';\nimport { Color } from '@sdcorejs/utils/models';\nimport { SdTab } from './tab.component';\nimport { SdIcon } from '@sdcorejs/angular/modules/icon';\n\nexport interface SdTabClosedEvent {\n index: number;\n tab: SdTab;\n}\n\n@Component({\n selector: 'sd-tab-group',\n standalone: true,\n imports: [SdIcon, MatTabsModule, NgTemplateOutlet],\n templateUrl: './tab-group.component.html',\n styleUrl: './tab-group.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SdTabGroup {\n tabs = contentChildren(SdTab);\n\n selectedIndex = model<number>(0);\n // why: visual style preset. 'line' = Material default (underline ink-bar);\n // 'pills' = rounded pill, active filled (good for nested tab groups + filter bars);\n // 'segmented' = single bordered container, iOS-style.\n variant = input<'line' | 'pills' | 'segmented'>('line');\n // why: drives the active/indicator color via Core CSS vars (--sd-<color>, --sd-<color>-light).\n // Same palette consumers use on <sd-badge>, <sd-button>, etc — keeps theming consistent.\n color = input<Color>('primary');\n headerPosition = input<'above' | 'below'>('above');\n alignTabs = input<'start' | 'center' | 'end'>('start');\n // why: mat-tab-group defaults stretchTabs=true, which makes labels fill the row\n // and overrides alignTabs. Expose this so consumers can opt out and let alignTabs take effect.\n stretchTabs = input(true, { transform: booleanAttribute });\n animationDuration = input<string>('500ms');\n disableRipple = input(false, { transform: booleanAttribute });\n dynamicHeight = input(false, { transform: booleanAttribute });\n autoId = input<string | undefined>(undefined);\n\n tabClosed = output<SdTabClosedEvent>();\n\n protected matTabGroup = viewChild(MatTabGroup);\n\n @HostBinding('attr.data-autoId') get autoIdAttr(): string | null {\n return this.autoId() ?? null;\n }\n\n @HostBinding('class.sd-tab-group--pills') get isPills(): boolean {\n return this.variant() === 'pills';\n }\n @HostBinding('class.sd-tab-group--segmented') get isSegmented(): boolean {\n return this.variant() === 'segmented';\n }\n\n // why: bind Core color CSS vars onto the host so the existing --sd-tab-* CSS vars\n // pick up the chosen color. Fallback hex matches the values in autoid-inspector\n // for environments where the global Core SCSS isn't loaded (e.g. lib-only tests).\n @HostBinding('style.--sd-tab-indicator-color') get cssIndicator(): string {\n return `var(--sd-${this.color()})`;\n }\n @HostBinding('style.--sd-tab-label-active-color') get cssActive(): string {\n return `var(--sd-${this.color()})`;\n }\n @HostBinding('style.--sd-tab-badge-bg') get cssBadgeBg(): string {\n return `var(--sd-${this.color()}-light)`;\n }\n @HostBinding('style.--sd-tab-badge-color') get cssBadgeColor(): string {\n return `var(--sd-${this.color()})`;\n }\n\n constructor() {\n // why: when the active tab is removed (e.g. parent splices the tabs array),\n // selectedIndex may point past the end. Clamp it back to the last valid index\n // so MatTabGroup doesn't render with a stale selection.\n effect(() => {\n const len = this.tabs().length;\n const cur = untracked(() => this.selectedIndex());\n if (len > 0 && cur >= len) {\n this.selectedIndex.set(Math.max(0, len - 1));\n }\n });\n }\n\n selectTab(index: number): void {\n const len = this.tabs().length;\n if (len === 0) {\n this.selectedIndex.set(0);\n return;\n }\n this.selectedIndex.set(Math.max(0, Math.min(index, len - 1)));\n }\n\n realignInkBar(): void {\n this.matTabGroup()?.realignInkBar();\n }\n\n protected onClose(tab: SdTab, index: number, event: MouseEvent): void {\n event.stopPropagation();\n if (tab.disabled()) return;\n tab.close.emit();\n this.tabClosed.emit({ index, tab });\n }\n}\n","<mat-tab-group\n class=\"sd-tab-group\"\n [(selectedIndex)]=\"selectedIndex\"\n [headerPosition]=\"headerPosition()\"\n [mat-align-tabs]=\"alignTabs()\"\n [mat-stretch-tabs]=\"stretchTabs()\"\n [animationDuration]=\"animationDuration()\"\n [disableRipple]=\"disableRipple()\"\n [dynamicHeight]=\"dynamicHeight()\">\n @for (tab of tabs(); track tab; let i = $index) {\n <mat-tab [disabled]=\"tab.disabled()\">\n <ng-template mat-tab-label>\n <span class=\"sd-tab__label\">\n @if (tab.icon(); as ic) {\n <sd-icon class=\"sd-tab__icon\" [name]=\"ic\"></sd-icon>\n }\n <span class=\"sd-tab__text\">{{ tab.label() }}</span>\n @let _badge = tab.badge();\n @if (_badge !== null && _badge !== undefined) {\n <span class=\"sd-tab__badge\">{{ _badge }}</span>\n }\n @if (tab.closable()) {\n <sd-icon class=\"sd-tab__close\"\n role=\"button\"\n aria-label=\"Close tab\"\n (click)=\"onClose(tab, i, $event)\" name=\"close\"></sd-icon>\n }\n </span>\n </ng-template>\n\n <ng-template matTabContent>\n <ng-container [ngTemplateOutlet]=\"tab.bodyTpl()\"></ng-container>\n </ng-template>\n </mat-tab>\n }\n</mat-tab-group>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sdcorejs-angular-components-tab.mjs","sources":["../../../projects/sdcorejs-angular/components/tab/src/tab.component.ts","../../../projects/sdcorejs-angular/components/tab/src/tab-group.component.ts","../../../projects/sdcorejs-angular/components/tab/src/tab-group.component.html","../../../projects/sdcorejs-angular/components/tab/sdcorejs-angular-components-tab.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, input, output, TemplateRef, viewChild } from '@angular/core';\n\nexport type SdTabBeforeClose = () => boolean | Promise<boolean>;\n\n@Component({\n selector: 'sd-tab',\n standalone: true,\n template: `<ng-template #body><ng-content></ng-content></ng-template>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SdTab {\n label = input.required<string>();\n icon = input<string | null | undefined>(undefined);\n badge = input<string | number | null | undefined>(undefined);\n disabled = input(false, { transform: booleanAttribute });\n closable = input(false, { transform: booleanAttribute });\n beforeClose = input<SdTabBeforeClose | undefined>(undefined);\n\n close = output<void>();\n closeError = output<unknown>();\n\n #closeRequest?: Promise<boolean>;\n\n requestClose = (): Promise<boolean> => {\n const guard = this.beforeClose();\n if (!guard) {\n this.forceClose();\n return Promise.resolve(true);\n }\n if (this.#closeRequest) return this.#closeRequest;\n\n const request = Promise.resolve()\n .then(() => guard())\n .then(canClose => {\n if (!canClose) return false;\n this.forceClose();\n return true;\n })\n .catch((error: unknown) => {\n this.closeError.emit(error);\n return false;\n });\n\n this.#closeRequest = request;\n void request.finally(() => {\n if (this.#closeRequest === request) this.#closeRequest = undefined;\n });\n return request;\n };\n\n forceClose = (): void => this.close.emit();\n\n // why: viewChild on `#body` template captures projected content so the parent\n // <sd-tab-group> can render it lazily via matTabContent + ngTemplateOutlet.\n // If we projected raw ng-content into <mat-tab> directly, mat-tab would render\n // eagerly and lose the lazy-load behavior.\n bodyTpl = viewChild.required<TemplateRef<unknown>>('body');\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n effect,\n HostBinding,\n input,\n model,\n output,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { MatTabGroup, MatTabsModule } from '@angular/material/tabs';\nimport { Color } from '@sdcorejs/utils/models';\nimport { SdTab } from './tab.component';\nimport { SdIcon } from '@sdcorejs/angular/modules/icon';\n\nexport interface SdTabClosedEvent {\n index: number;\n tab: SdTab;\n}\n\n@Component({\n selector: 'sd-tab-group',\n standalone: true,\n imports: [SdIcon, MatTabsModule, NgTemplateOutlet],\n templateUrl: './tab-group.component.html',\n styleUrl: './tab-group.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SdTabGroup {\n tabs = contentChildren(SdTab);\n\n selectedIndex = model<number>(0);\n // why: visual style preset. 'line' = Material default (underline ink-bar);\n // 'pills' = rounded pill, active filled (good for nested tab groups + filter bars);\n // 'segmented' = single bordered container, iOS-style.\n variant = input<'line' | 'pills' | 'segmented'>('line');\n // why: drives the active/indicator color via Core CSS vars (--sd-<color>, --sd-<color>-light).\n // Same palette consumers use on <sd-badge>, <sd-button>, etc — keeps theming consistent.\n color = input<Color>('primary');\n headerPosition = input<'above' | 'below'>('above');\n alignTabs = input<'start' | 'center' | 'end'>('start');\n // why: mat-tab-group defaults stretchTabs=true, which makes labels fill the row\n // and overrides alignTabs. Expose this so consumers can opt out and let alignTabs take effect.\n stretchTabs = input(true, { transform: booleanAttribute });\n animationDuration = input<string>('500ms');\n disableRipple = input(false, { transform: booleanAttribute });\n dynamicHeight = input(false, { transform: booleanAttribute });\n autoId = input<string | undefined>(undefined);\n\n tabClosed = output<SdTabClosedEvent>();\n\n readonly #closeRequests = new WeakMap<SdTab, Promise<boolean>>();\n\n protected matTabGroup = viewChild(MatTabGroup);\n\n @HostBinding('attr.data-autoId') get autoIdAttr(): string | null {\n return this.autoId() ?? null;\n }\n\n @HostBinding('class.sd-tab-group--pills') get isPills(): boolean {\n return this.variant() === 'pills';\n }\n @HostBinding('class.sd-tab-group--segmented') get isSegmented(): boolean {\n return this.variant() === 'segmented';\n }\n\n // why: bind Core color CSS vars onto the host so the existing --sd-tab-* CSS vars\n // pick up the chosen color. Fallback hex matches the values in autoid-inspector\n // for environments where the global Core SCSS isn't loaded (e.g. lib-only tests).\n @HostBinding('style.--sd-tab-indicator-color') get cssIndicator(): string {\n return `var(--sd-${this.color()})`;\n }\n @HostBinding('style.--sd-tab-label-active-color') get cssActive(): string {\n return `var(--sd-${this.color()})`;\n }\n @HostBinding('style.--sd-tab-badge-bg') get cssBadgeBg(): string {\n return `var(--sd-${this.color()}-light)`;\n }\n @HostBinding('style.--sd-tab-badge-color') get cssBadgeColor(): string {\n return `var(--sd-${this.color()})`;\n }\n\n constructor() {\n // why: when the active tab is removed (e.g. parent splices the tabs array),\n // selectedIndex may point past the end. Clamp it back to the last valid index\n // so MatTabGroup doesn't render with a stale selection.\n effect(() => {\n const len = this.tabs().length;\n const cur = untracked(() => this.selectedIndex());\n if (len > 0 && cur >= len) {\n this.selectedIndex.set(Math.max(0, len - 1));\n }\n });\n }\n\n selectTab(index: number): void {\n const len = this.tabs().length;\n if (len === 0) {\n this.selectedIndex.set(0);\n return;\n }\n this.selectedIndex.set(Math.max(0, Math.min(index, len - 1)));\n }\n\n realignInkBar(): void {\n this.matTabGroup()?.realignInkBar();\n }\n\n protected onClose(tab: SdTab, index: number, event: MouseEvent): void {\n event.stopPropagation();\n if (tab.disabled()) return;\n if (!tab.beforeClose()) {\n tab.forceClose();\n this.tabClosed.emit({ index, tab });\n return;\n }\n if (this.#closeRequests.has(tab)) return;\n\n const request = tab.requestClose();\n this.#closeRequests.set(tab, request);\n void request.then(closed => {\n if (closed) this.tabClosed.emit({ index, tab });\n });\n void request.finally(() => this.#closeRequests.delete(tab));\n }\n}\n","<mat-tab-group\n class=\"sd-tab-group\"\n [(selectedIndex)]=\"selectedIndex\"\n [headerPosition]=\"headerPosition()\"\n [mat-align-tabs]=\"alignTabs()\"\n [mat-stretch-tabs]=\"stretchTabs()\"\n [animationDuration]=\"animationDuration()\"\n [disableRipple]=\"disableRipple()\"\n [dynamicHeight]=\"dynamicHeight()\">\n @for (tab of tabs(); track tab; let i = $index) {\n <mat-tab [disabled]=\"tab.disabled()\">\n <ng-template mat-tab-label>\n <span class=\"sd-tab__label\">\n @if (tab.icon(); as ic) {\n <sd-icon class=\"sd-tab__icon\" [name]=\"ic\"></sd-icon>\n }\n <span class=\"sd-tab__text\">{{ tab.label() }}</span>\n @let _badge = tab.badge();\n @if (_badge !== null && _badge !== undefined) {\n <span class=\"sd-tab__badge\">{{ _badge }}</span>\n }\n @if (tab.closable()) {\n <sd-icon class=\"sd-tab__close\"\n role=\"button\"\n aria-label=\"Close tab\"\n (click)=\"onClose(tab, i, $event)\" name=\"close\"></sd-icon>\n }\n </span>\n </ng-template>\n\n <ng-template matTabContent>\n <ng-container [ngTemplateOutlet]=\"tab.bodyTpl()\"></ng-container>\n </ng-template>\n </mat-tab>\n }\n</mat-tab-group>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|