@sdcorejs/angular 19.1.2 → 19.1.4
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 +127 -807
- package/components/anchor/src/index.d.ts +1 -1
- package/components/anchor/src/models/index.d.ts +1 -1
- 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/index.d.ts +2 -2
- 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/document-builder/src/plugins/index.d.ts +1 -1
- package/components/editor/index.d.ts +1 -1
- package/components/editor/src/models/index.d.ts +2 -2
- 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-builder/form-builder.component.d.ts +25 -2
- 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/configurations/index.d.ts +1 -1
- package/components/form-generic/src/models/form-render/index.d.ts +2 -2
- package/components/form-generic/src/models/index.d.ts +6 -6
- 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/index.d.ts +1 -1
- 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/index.d.ts +1 -1
- package/components/mini-editor/src/mini-editor.component.d.ts +7 -7
- package/components/modal/src/modal.component.d.ts +6 -1
- package/components/org-chart/index.d.ts +1 -1
- package/components/preview/index.d.ts +5 -2
- 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/index.d.ts +1 -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/index.d.ts +4 -4
- 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/index.d.ts +1 -1
- 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 +600 -853
- package/fesm2022/sdcorejs-angular-components-form-generic.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-import-excel.mjs +25 -40
- 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 +9 -17
- 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 +76 -52
- 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 +121 -87
- package/fesm2022/sdcorejs-angular-components-table.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tree.mjs +187 -17
- package/fesm2022/sdcorejs-angular-components-tree.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-upload-file.mjs +16 -22
- 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 +9 -8
- 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 +8 -4
- package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-chip.mjs +8 -4
- package/fesm2022/sdcorejs-angular-forms-chip.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-date-range.mjs +18 -14
- package/fesm2022/sdcorejs-angular-forms-date-range.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-date.mjs +48 -70
- package/fesm2022/sdcorejs-angular-forms-date.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-datetime.mjs +63 -529
- 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 +4 -2
- package/fesm2022/sdcorejs-angular-forms-input-color.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input-number.mjs +15 -10
- package/fesm2022/sdcorejs-angular-forms-input-number.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input.mjs +296 -58
- 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 +8 -21
- 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 +8 -6
- 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 +355 -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-icon.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-layout.mjs +859 -78
- package/fesm2022/sdcorejs-angular-modules-layout.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules.mjs +0 -1
- package/fesm2022/sdcorejs-angular-modules.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 +340 -66
- 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 +4 -3
- package/forms/date-range/src/date-range.component.d.ts +5 -8
- package/forms/datetime/src/datetime.component.d.ts +4 -3
- 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 +28 -9
- package/forms/input-color/src/input-color.component.d.ts +3 -1
- package/forms/input-number/src/input-number.component.d.ts +4 -2
- package/forms/models/index.d.ts +3 -2
- 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 +68 -2
- package/interceptors/no-internet/no-internet.interceptor.d.ts +2 -3
- package/interceptors/unauthorized/unauthorized.interceptor.d.ts +2 -2
- package/modules/auth/services/index.d.ts +1 -1
- package/modules/icon/src/icon.model.d.ts +1 -2
- package/modules/icon/src/icon.provider.d.ts +1 -1
- package/modules/index.d.ts +0 -1
- 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 +28 -0
- package/modules/layout/components/shared/user-menu/user-menu.component.d.ts +25 -0
- 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 +3 -4
- package/modules/layout/components/sidebar-v1/main.component.d.ts +2 -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 +36 -2
- 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 +4 -1
- 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 +50 -5
- 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/excel/src/public-api.d.ts +1 -1
- 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
- package/utilities/models/index.d.ts +7 -7
- package/fesm2022/sdcorejs-angular-modules-authom.mjs +0 -360
- package/fesm2022/sdcorejs-angular-modules-authom.mjs.map +0 -1
- package/forms/datetime/src/material-datetime/index.d.ts +0 -14
- package/forms/datetime/src/material-datetime/lib/core/date-adapter.d.ts +0 -10
- package/forms/datetime/src/material-datetime/lib/core/date-formats.d.ts +0 -18
- package/forms/datetime/src/material-datetime/lib/core/default-options.d.ts +0 -13
- package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker-actions.component.d.ts +0 -5
- package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker-apply.directive.d.ts +0 -7
- package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker-cancel.directive.d.ts +0 -7
- package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker-input.directive.d.ts +0 -24
- package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker-now.directive.d.ts +0 -7
- package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker-toggle.directive.d.ts +0 -8
- package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker.component.d.ts +0 -39
- package/forms/datetime/src/material-datetime/lib/native/native-date-adapter.d.ts +0 -15
- package/forms/datetime/src/material-datetime/lib/native/native-date-formats.d.ts +0 -2
- package/forms/datetime/src/material-datetime/lib/native/provide-native.d.ts +0 -3
- package/forms/datetime/src/material-datetime/lib/time-spinner/time-spinner.component.d.ts +0 -31
- package/modules/authom/authom.configuration.d.ts +0 -17
- package/modules/authom/authom.interceptor.d.ts +0 -3
- package/modules/authom/authom.module.d.ts +0 -16
- package/modules/authom/authom.service.d.ts +0 -32
- package/modules/authom/index.d.ts +0 -35
|
@@ -10,19 +10,18 @@ export declare class SidebarComponent {
|
|
|
10
10
|
menus: import("@angular/core").InputSignal<SdLayoutMenu[]>;
|
|
11
11
|
userInfo: import("@angular/core").InputSignal<SdLayoutUserInfo>;
|
|
12
12
|
sidebar: import("@angular/core").InputSignal<SidebarConfigurationV1>;
|
|
13
|
+
isMobile: import("@angular/core").InputSignal<boolean>;
|
|
13
14
|
expandSideBar: import("@angular/core").OutputEmitterRef<void>;
|
|
14
15
|
popupUserMenuClosed: import("@angular/core").OutputEmitterRef<void>;
|
|
15
16
|
popupUserMenuOpened: import("@angular/core").OutputEmitterRef<void>;
|
|
16
17
|
showSideBar: import("@angular/core").OutputEmitterRef<boolean | null>;
|
|
17
|
-
screenHeight: number;
|
|
18
|
-
isMobileOrTablet: boolean;
|
|
19
18
|
isMenuLock: import("@angular/core").WritableSignal<boolean>;
|
|
20
19
|
currentPath: import("@angular/core").WritableSignal<string>;
|
|
21
20
|
searchText: import("@angular/core").WritableSignal<string>;
|
|
22
21
|
titleMenuGroup: import("@angular/core").WritableSignal<string | undefined>;
|
|
23
22
|
idMenuGroupActive: import("@angular/core").WritableSignal<string | undefined>;
|
|
24
23
|
menusByGroup: import("@angular/core").WritableSignal<SdLayoutMenu[]>;
|
|
25
|
-
pinnedMenuGroup: import("@angular/core").
|
|
24
|
+
pinnedMenuGroup: import("@angular/core").Signal<SdLayoutChildrenMenu>;
|
|
26
25
|
totalMenuInMenusByGroup: import("@angular/core").Signal<number>;
|
|
27
26
|
pinnedNodeKeys: import("@angular/core").Signal<Set<string>>;
|
|
28
27
|
isPinnedMenuGroupActive: import("@angular/core").Signal<boolean>;
|
|
@@ -51,5 +50,5 @@ export declare class SidebarComponent {
|
|
|
51
50
|
onMouseOverMenuNode: (event: MouseEvent, menuItem: SdLayoutMenu) => void;
|
|
52
51
|
onMouseLeaveMenuNode: (event: MouseEvent, menuItem: SdLayoutMenu) => void;
|
|
53
52
|
static ɵfac: i0.ɵɵFactoryDeclaration<SidebarComponent, never>;
|
|
54
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SidebarComponent, "sidebar", never, { "isShowSidebar": { "alias": "isShowSidebar"; "required": true; "isSignal": true; }; "menus": { "alias": "menus"; "required": true; "isSignal": true; }; "userInfo": { "alias": "userInfo"; "required": true; "isSignal": true; }; "sidebar": { "alias": "sidebar"; "required": true; "isSignal": true; }; }, { "expandSideBar": "expandSideBar"; "popupUserMenuClosed": "popupUserMenuClosed"; "popupUserMenuOpened": "popupUserMenuOpened"; "showSideBar": "showSideBar"; }, never, never, true, never>;
|
|
53
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SidebarComponent, "sidebar", never, { "isShowSidebar": { "alias": "isShowSidebar"; "required": true; "isSignal": true; }; "menus": { "alias": "menus"; "required": true; "isSignal": true; }; "userInfo": { "alias": "userInfo"; "required": true; "isSignal": true; }; "sidebar": { "alias": "sidebar"; "required": true; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": false; "isSignal": true; }; }, { "expandSideBar": "expandSideBar"; "popupUserMenuClosed": "popupUserMenuClosed"; "popupUserMenuOpened": "popupUserMenuOpened"; "showSideBar": "showSideBar"; }, never, never, true, never>;
|
|
55
54
|
}
|
|
@@ -8,7 +8,7 @@ export declare class SidebarV1Component {
|
|
|
8
8
|
menus: import("@angular/core").InputSignal<SdLayoutMenu[]>;
|
|
9
9
|
userInfo: import("@angular/core").InputSignal<SdLayoutUserInfo>;
|
|
10
10
|
sidebar: import("@angular/core").InputSignal<SidebarConfigurationV1>;
|
|
11
|
-
|
|
11
|
+
isMobile: import("@angular/core").InputSignal<boolean>;
|
|
12
12
|
isMenuLock: import("@angular/core").WritableSignal<boolean>;
|
|
13
13
|
isShowSidebar: import("@angular/core").WritableSignal<boolean>;
|
|
14
14
|
onhover: import("@angular/core").WritableSignal<boolean>;
|
|
@@ -20,5 +20,5 @@ export declare class SidebarV1Component {
|
|
|
20
20
|
onMouseleaveSideBar: () => void;
|
|
21
21
|
onToggle: (data: boolean | null) => void;
|
|
22
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<SidebarV1Component, never>;
|
|
23
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SidebarV1Component, "sidebar-v1", never, { "menus": { "alias": "menus"; "required": false; "isSignal": true; }; "userInfo": { "alias": "userInfo"; "required": true; "isSignal": true; }; "sidebar": { "alias": "sidebar"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SidebarV1Component, "sidebar-v1", never, { "menus": { "alias": "menus"; "required": false; "isSignal": true; }; "userInfo": { "alias": "userInfo"; "required": true; "isSignal": true; }; "sidebar": { "alias": "sidebar"; "required": true; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
24
24
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { SdLayoutUserInfo, SidebarConfigurationV2 } from '../../configurations';
|
|
2
|
+
import { SdLayoutMenu } from '../../services';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
interface SidebarV2RailItem {
|
|
5
|
+
menu: SdLayoutMenu;
|
|
6
|
+
key: string;
|
|
7
|
+
title: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class SidebarV2Component {
|
|
10
|
+
#private;
|
|
11
|
+
menus: import("@angular/core").InputSignal<SdLayoutMenu[]>;
|
|
12
|
+
userInfo: import("@angular/core").InputSignal<SdLayoutUserInfo>;
|
|
13
|
+
sidebar: import("@angular/core").InputSignal<SidebarConfigurationV2>;
|
|
14
|
+
activeGroupKey: import("@angular/core").WritableSignal<string>;
|
|
15
|
+
isFlyoutOpen: import("@angular/core").WritableSignal<boolean>;
|
|
16
|
+
isFlyoutLocked: import("@angular/core").WritableSignal<boolean>;
|
|
17
|
+
searchText: import("@angular/core").WritableSignal<string>;
|
|
18
|
+
activePath: import("@angular/core").WritableSignal<string>;
|
|
19
|
+
interaction: import("@angular/core").Signal<"click" | "hover-lock">;
|
|
20
|
+
railItems: import("@angular/core").Signal<SidebarV2RailItem[]>;
|
|
21
|
+
activeGroup: import("@angular/core").Signal<SdLayoutMenu | undefined>;
|
|
22
|
+
contextMenus: import("@angular/core").Signal<SdLayoutMenu[]>;
|
|
23
|
+
pinnedKeys: import("@angular/core").WritableSignal<string[]>;
|
|
24
|
+
constructor();
|
|
25
|
+
selectGroup(menu: SdLayoutMenu): void;
|
|
26
|
+
previewGroup(menu: SdLayoutMenu): void;
|
|
27
|
+
leaveFlyout(): void;
|
|
28
|
+
closeFromBackdrop(): void;
|
|
29
|
+
closeFromEscape(): void;
|
|
30
|
+
closeFromNavigation(): void;
|
|
31
|
+
onNavigate(menu: SdLayoutMenu): void;
|
|
32
|
+
onTogglePinned(menu: SdLayoutMenu): void;
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SidebarV2Component, never>;
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SidebarV2Component, "sidebar-v2", never, { "menus": { "alias": "menus"; "required": false; "isSignal": true; }; "userInfo": { "alias": "userInfo"; "required": true; "isSignal": true; }; "sidebar": { "alias": "sidebar"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { SdLayoutUserInfo, SidebarConfigurationV3 } from '../../configurations';
|
|
2
|
+
import { SdLayoutMenu, SdLayoutRootMenu } from '../../services';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class SidebarV3Component {
|
|
5
|
+
#private;
|
|
6
|
+
menus: import("@angular/core").InputSignal<SdLayoutMenu[]>;
|
|
7
|
+
userInfo: import("@angular/core").InputSignal<SdLayoutUserInfo>;
|
|
8
|
+
sidebar: import("@angular/core").InputSignal<SidebarConfigurationV3>;
|
|
9
|
+
isCollapsed: import("@angular/core").WritableSignal<boolean>;
|
|
10
|
+
searchText: import("@angular/core").WritableSignal<string>;
|
|
11
|
+
activePath: import("@angular/core").WritableSignal<string>;
|
|
12
|
+
searchResults: import("@angular/core").Signal<SdLayoutRootMenu[]>;
|
|
13
|
+
recentConfiguration: import("@angular/core").Signal<import("@sdcorejs/angular/modules/layout").ResolvedSidebarRecentConfiguration>;
|
|
14
|
+
pinnedKeys: import("@angular/core").WritableSignal<string[]>;
|
|
15
|
+
pinnedMenus: import("@angular/core").Signal<(SdLayoutRootMenu | import("@sdcorejs/angular/modules/layout").SdLayoutChildrenMenu)[]>;
|
|
16
|
+
recentMenus: import("@angular/core").Signal<(SdLayoutRootMenu | import("@sdcorejs/angular/modules/layout").SdLayoutChildrenMenu)[]>;
|
|
17
|
+
collapsedItems: import("@angular/core").Signal<{
|
|
18
|
+
menu: SdLayoutMenu;
|
|
19
|
+
key: string;
|
|
20
|
+
title: string;
|
|
21
|
+
}[]>;
|
|
22
|
+
constructor();
|
|
23
|
+
toggleCollapsed(): void;
|
|
24
|
+
activateCollapsedMenu(menu: SdLayoutMenu): void;
|
|
25
|
+
navigateMenu(menu: SdLayoutMenu): void;
|
|
26
|
+
onTogglePinned(menu: SdLayoutMenu): void;
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SidebarV3Component, never>;
|
|
28
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SidebarV3Component, "sidebar-v3", never, { "menus": { "alias": "menus"; "required": false; "isSignal": true; }; "userInfo": { "alias": "userInfo"; "required": true; "isSignal": true; }; "sidebar": { "alias": "sidebar"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
29
|
+
}
|
|
@@ -2,6 +2,7 @@ import { InjectionToken } from '@angular/core';
|
|
|
2
2
|
import { MaybeAsync } from '@sdcorejs/utils/models';
|
|
3
3
|
export interface ISdLayoutConfiguration {
|
|
4
4
|
homeUrl?: string;
|
|
5
|
+
mobileBreakpoint?: number;
|
|
5
6
|
sidebar: ISdSidebarConfiguration | (() => MaybeAsync<ISdSidebarConfiguration>);
|
|
6
7
|
userInfo: SdLayoutUserInfo | (() => MaybeAsync<SdLayoutUserInfo>);
|
|
7
8
|
signout: () => void | Promise<void>;
|
|
@@ -30,8 +31,18 @@ export interface SdLayoutUserInfo {
|
|
|
30
31
|
*/
|
|
31
32
|
avatar?: string;
|
|
32
33
|
}
|
|
33
|
-
export
|
|
34
|
-
export interface
|
|
34
|
+
export declare const DEFAULT_LAYOUT_MOBILE_BREAKPOINT = 1024;
|
|
35
|
+
export interface SidebarConfigurationBase {
|
|
36
|
+
brandColor?: string;
|
|
37
|
+
brandLightColor?: string;
|
|
38
|
+
logoUrl?: string;
|
|
39
|
+
defaultTitle?: string;
|
|
40
|
+
pin?: {
|
|
41
|
+
enabled?: boolean;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export type ISdSidebarConfiguration = SidebarConfigurationV1 | SidebarConfigurationV2 | SidebarConfigurationV3;
|
|
45
|
+
export interface SidebarConfigurationV1 extends SidebarConfigurationBase {
|
|
35
46
|
version: 1;
|
|
36
47
|
/**
|
|
37
48
|
* Màu brand chính.
|
|
@@ -64,4 +75,27 @@ export interface SidebarConfigurationV1 {
|
|
|
64
75
|
enabled?: boolean;
|
|
65
76
|
};
|
|
66
77
|
}
|
|
78
|
+
export interface SidebarConfigurationV2 extends SidebarConfigurationBase {
|
|
79
|
+
version: 2;
|
|
80
|
+
interaction?: 'click' | 'hover-lock';
|
|
81
|
+
primaryMenuIds?: string[];
|
|
82
|
+
}
|
|
83
|
+
export interface SidebarConfigurationV3 extends SidebarConfigurationBase {
|
|
84
|
+
version: 3;
|
|
85
|
+
defaultCollapsed?: boolean;
|
|
86
|
+
recent?: {
|
|
87
|
+
enabled?: boolean;
|
|
88
|
+
maxItems?: number;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export interface ResolvedSidebarRecentConfiguration {
|
|
92
|
+
enabled: boolean;
|
|
93
|
+
maxItems: number;
|
|
94
|
+
}
|
|
95
|
+
export declare function normalizeLayoutMobileBreakpoint(value: number | undefined): number;
|
|
96
|
+
export declare function resolveSidebarV2Interaction(sidebar: SidebarConfigurationV2): 'click' | 'hover-lock';
|
|
97
|
+
export declare function resolveSidebarV3Recent(sidebar: SidebarConfigurationV3): ResolvedSidebarRecentConfiguration;
|
|
98
|
+
export declare function normalizeSidebarConfiguration(_sidebar: SidebarConfigurationV1): SidebarConfigurationV1;
|
|
99
|
+
export declare function normalizeSidebarConfiguration(_sidebar: SidebarConfigurationV2): SidebarConfigurationV2;
|
|
100
|
+
export declare function normalizeSidebarConfiguration(_sidebar: SidebarConfigurationV3): SidebarConfigurationV3;
|
|
67
101
|
export declare const SD_LAYOUT_CONFIGURATION: InjectionToken<ISdLayoutConfiguration>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { PipeTransform } from '@angular/core';
|
|
2
2
|
import { SdLayoutMenu } from '../services/menu/menu.model';
|
|
3
|
-
import { SdPermissionService } from '@sdcorejs/angular/modules/permission';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export declare class MenuPipe implements PipeTransform {
|
|
6
5
|
#private;
|
|
7
6
|
private permissionService;
|
|
8
|
-
|
|
7
|
+
/** Inserted by Angular inject() migration for backwards compatibility */
|
|
8
|
+
constructor(...args: unknown[]);
|
|
9
9
|
transform(menus: SdLayoutMenu[]): SdLayoutMenu[];
|
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<MenuPipe, never>;
|
|
11
11
|
static ɵpipe: i0.ɵɵPipeDeclaration<MenuPipe, "menu", true>;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
export * from './menu/menu.model';
|
|
1
|
+
export type * from './menu/menu.model';
|
|
2
2
|
export * from './storage/storage.service';
|
|
3
|
+
export * from './responsive/responsive.service';
|
|
4
|
+
export * from './navigation-state/navigation-state.service';
|
|
5
|
+
export * from './menu/menu.utils';
|
|
3
6
|
export * from './layout.service';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { SdLayoutUserInfo } from '../configurations';
|
|
1
|
+
import { ISdSidebarConfiguration, SdLayoutUserInfo } from '../configurations';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class SdLayoutService {
|
|
4
4
|
#private;
|
|
5
5
|
userInfo: import("@angular/core").WritableSignal<SdLayoutUserInfo | undefined>;
|
|
6
|
-
sidebar: import("@angular/core").WritableSignal<
|
|
6
|
+
sidebar: import("@angular/core").WritableSignal<ISdSidebarConfiguration | undefined>;
|
|
7
7
|
constructor();
|
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdLayoutService, never>;
|
|
9
9
|
static ɵprov: i0.ɵɵInjectableDeclaration<SdLayoutService>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SdLayoutChildrenMenu, SdLayoutMenu, SdLayoutRootMenu } from './menu.model';
|
|
2
|
+
export declare function getMenuStableKey(menu: SdLayoutMenu | null | undefined, ancestors?: string[]): string;
|
|
3
|
+
export declare function searchMenuLeaves(menus: SdLayoutMenu[], query: string): SdLayoutRootMenu[];
|
|
4
|
+
export declare function selectPrimaryMenuGroups(menus: SdLayoutMenu[], requestedIds: string[] | undefined, maximum?: number): SdLayoutMenu[];
|
|
5
|
+
export declare function resolveMenuKeys(menus: SdLayoutMenu[], keys: string[]): (SdLayoutRootMenu | SdLayoutChildrenMenu)[];
|
|
6
|
+
export declare function flattenMenuLeaves(menus: SdLayoutMenu[]): SdLayoutRootMenu[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ResolvedSidebarRecentConfiguration } from '../../configurations';
|
|
2
|
+
import { SdLayoutMenu } from '../menu/menu.model';
|
|
3
|
+
import { SdLayoutVersionState } from '../storage/storage.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class SdLayoutNavigationStateService {
|
|
6
|
+
#private;
|
|
7
|
+
readonly pinnedKeys: import("@angular/core").WritableSignal<string[]>;
|
|
8
|
+
readonly recentKeys: import("@angular/core").WritableSignal<string[]>;
|
|
9
|
+
readonly pinnedMenus: import("@angular/core").Signal<(import("@sdcorejs/angular/modules/layout").SdLayoutRootMenu | import("@sdcorejs/angular/modules/layout").SdLayoutChildrenMenu)[]>;
|
|
10
|
+
readonly recentMenus: import("@angular/core").Signal<(import("@sdcorejs/angular/modules/layout").SdLayoutRootMenu | import("@sdcorejs/angular/modules/layout").SdLayoutChildrenMenu)[]>;
|
|
11
|
+
hydrate(menus: SdLayoutMenu[], recentMaximum?: number): void;
|
|
12
|
+
togglePinned(menu: SdLayoutMenu): void;
|
|
13
|
+
recordRecent(menu: SdLayoutMenu, configuration: ResolvedSidebarRecentConfiguration): void;
|
|
14
|
+
patchVersionState(version: 1 | 2 | 3, patch: SdLayoutVersionState): void;
|
|
15
|
+
versionState(version: 1 | 2 | 3): SdLayoutVersionState;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdLayoutNavigationStateService, never>;
|
|
17
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SdLayoutNavigationStateService>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SdViewport } from '@sdcorejs/angular/services/viewport';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export type SdLayoutViewport = SdViewport;
|
|
4
|
+
export declare const SD_LAYOUT_VIEWPORT: import("@angular/core").InjectionToken<SdViewport | null>;
|
|
5
|
+
/** @deprecated Prefer `SdViewportService` from `@sdcorejs/angular/services/viewport`. */
|
|
6
|
+
export declare class SdLayoutResponsiveService {
|
|
7
|
+
#private;
|
|
8
|
+
readonly viewportWidth: import("@angular/core").Signal<number>;
|
|
9
|
+
isMobile(breakpoint: number): boolean;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdLayoutResponsiveService, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SdLayoutResponsiveService>;
|
|
12
|
+
}
|
|
@@ -1,13 +1,26 @@
|
|
|
1
|
-
import { SdStorage
|
|
2
|
-
import { SdLayoutChildrenMenu } from '../menu/menu.model';
|
|
1
|
+
import { SdStorage } from '@sdcorejs/angular/services';
|
|
2
|
+
import { SdLayoutChildrenMenu, SdLayoutMenu } from '../menu/menu.model';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class SdLayoutStorageService {
|
|
5
|
-
private
|
|
6
|
-
isShowSidebar: SdStorage<boolean>;
|
|
7
|
-
menuLockStatus: SdStorage<boolean>;
|
|
8
|
-
lastActiveMenuGroupId: SdStorage<string>;
|
|
9
|
-
pinnedMenuGroup: SdStorage<SdLayoutChildrenMenu>;
|
|
10
|
-
|
|
5
|
+
#private;
|
|
6
|
+
readonly isShowSidebar: SdStorage<boolean>;
|
|
7
|
+
readonly menuLockStatus: SdStorage<boolean>;
|
|
8
|
+
readonly lastActiveMenuGroupId: SdStorage<string>;
|
|
9
|
+
readonly pinnedMenuGroup: SdStorage<SdLayoutChildrenMenu>;
|
|
10
|
+
readonly pinnedMenuKeys: SdStorage<string[]>;
|
|
11
|
+
readonly recentMenuKeys: SdStorage<string[]>;
|
|
12
|
+
readonly versionStates: SdStorage<Record<string, SdLayoutVersionState>>;
|
|
13
|
+
readPinnedMenuKeys(menus: SdLayoutMenu[]): string[];
|
|
14
|
+
writePinnedMenuKeys(keys: string[]): void;
|
|
15
|
+
readRecentMenuKeys(menus: SdLayoutMenu[], maximum?: number): string[];
|
|
16
|
+
writeRecentMenuKeys(keys: string[]): void;
|
|
17
|
+
readVersionState(version: 1 | 2 | 3): SdLayoutVersionState;
|
|
18
|
+
patchVersionState(version: 1 | 2 | 3, patch: SdLayoutVersionState): SdLayoutVersionState;
|
|
11
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdLayoutStorageService, never>;
|
|
12
20
|
static ɵprov: i0.ɵɵInjectableDeclaration<SdLayoutStorageService>;
|
|
13
21
|
}
|
|
22
|
+
export interface SdLayoutVersionState {
|
|
23
|
+
activeGroupKey?: string;
|
|
24
|
+
locked?: boolean;
|
|
25
|
+
collapsed?: boolean;
|
|
26
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sdcorejs/angular",
|
|
3
|
-
"version": "19.1.
|
|
3
|
+
"version": "19.1.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^19.0.0 || ^20.0.0 || ^21.0.0",
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"@angular/material-date-fns-adapter": "^19.0.0 || ^20.0.0 || ^21.0.0"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
+
"@sdcorejs/angular-material-datetime": "1.0.3",
|
|
12
13
|
"@sdcorejs/utils": "1.1.4",
|
|
13
14
|
"@lucide/angular": "^1.22.0",
|
|
14
15
|
"@ckeditor/ckeditor5-angular": "11.1.2",
|
|
@@ -86,6 +87,10 @@
|
|
|
86
87
|
"types": "./components/anchor/index.d.ts",
|
|
87
88
|
"default": "./fesm2022/sdcorejs-angular-components-anchor.mjs"
|
|
88
89
|
},
|
|
90
|
+
"./components/audit-diff": {
|
|
91
|
+
"types": "./components/audit-diff/index.d.ts",
|
|
92
|
+
"default": "./fesm2022/sdcorejs-angular-components-audit-diff.mjs"
|
|
93
|
+
},
|
|
89
94
|
"./components/autoid-inspector": {
|
|
90
95
|
"types": "./components/autoid-inspector/index.d.ts",
|
|
91
96
|
"default": "./fesm2022/sdcorejs-angular-components-autoid-inspector.mjs"
|
|
@@ -102,6 +107,10 @@
|
|
|
102
107
|
"types": "./components/base/index.d.ts",
|
|
103
108
|
"default": "./fesm2022/sdcorejs-angular-components-base.mjs"
|
|
104
109
|
},
|
|
110
|
+
"./components/breadcrumb": {
|
|
111
|
+
"types": "./components/breadcrumb/index.d.ts",
|
|
112
|
+
"default": "./fesm2022/sdcorejs-angular-components-breadcrumb.mjs"
|
|
113
|
+
},
|
|
105
114
|
"./components/button": {
|
|
106
115
|
"types": "./components/button/index.d.ts",
|
|
107
116
|
"default": "./fesm2022/sdcorejs-angular-components-button.mjs"
|
|
@@ -118,6 +127,10 @@
|
|
|
118
127
|
"types": "./components/code-editor/index.d.ts",
|
|
119
128
|
"default": "./fesm2022/sdcorejs-angular-components-code-editor.mjs"
|
|
120
129
|
},
|
|
130
|
+
"./components/data-state": {
|
|
131
|
+
"types": "./components/data-state/index.d.ts",
|
|
132
|
+
"default": "./fesm2022/sdcorejs-angular-components-data-state.mjs"
|
|
133
|
+
},
|
|
121
134
|
"./components/document-builder": {
|
|
122
135
|
"types": "./components/document-builder/index.d.ts",
|
|
123
136
|
"default": "./fesm2022/sdcorejs-angular-components-document-builder.mjs"
|
|
@@ -142,6 +155,10 @@
|
|
|
142
155
|
"types": "./components/inform/index.d.ts",
|
|
143
156
|
"default": "./fesm2022/sdcorejs-angular-components-inform.mjs"
|
|
144
157
|
},
|
|
158
|
+
"./components/job-progress": {
|
|
159
|
+
"types": "./components/job-progress/index.d.ts",
|
|
160
|
+
"default": "./fesm2022/sdcorejs-angular-components-job-progress.mjs"
|
|
161
|
+
},
|
|
145
162
|
"./components/mini-editor": {
|
|
146
163
|
"types": "./components/mini-editor/index.d.ts",
|
|
147
164
|
"default": "./fesm2022/sdcorejs-angular-components-mini-editor.mjs"
|
|
@@ -250,6 +267,10 @@
|
|
|
250
267
|
"types": "./forms/directives/index.d.ts",
|
|
251
268
|
"default": "./fesm2022/sdcorejs-angular-forms-directives.mjs"
|
|
252
269
|
},
|
|
270
|
+
"./forms/entity-picker": {
|
|
271
|
+
"types": "./forms/entity-picker/index.d.ts",
|
|
272
|
+
"default": "./fesm2022/sdcorejs-angular-forms-entity-picker.mjs"
|
|
273
|
+
},
|
|
253
274
|
"./forms/inline-text": {
|
|
254
275
|
"types": "./forms/inline-text/index.d.ts",
|
|
255
276
|
"default": "./fesm2022/sdcorejs-angular-forms-inline-text.mjs"
|
|
@@ -290,14 +311,22 @@
|
|
|
290
311
|
"types": "./forms/textarea/index.d.ts",
|
|
291
312
|
"default": "./fesm2022/sdcorejs-angular-forms-textarea.mjs"
|
|
292
313
|
},
|
|
314
|
+
"./forms/time": {
|
|
315
|
+
"types": "./forms/time/index.d.ts",
|
|
316
|
+
"default": "./fesm2022/sdcorejs-angular-forms-time.mjs"
|
|
317
|
+
},
|
|
318
|
+
"./forms/time-range": {
|
|
319
|
+
"types": "./forms/time-range/index.d.ts",
|
|
320
|
+
"default": "./fesm2022/sdcorejs-angular-forms-time-range.mjs"
|
|
321
|
+
},
|
|
322
|
+
"./forms/tree-select": {
|
|
323
|
+
"types": "./forms/tree-select/index.d.ts",
|
|
324
|
+
"default": "./fesm2022/sdcorejs-angular-forms-tree-select.mjs"
|
|
325
|
+
},
|
|
293
326
|
"./modules/auth": {
|
|
294
327
|
"types": "./modules/auth/index.d.ts",
|
|
295
328
|
"default": "./fesm2022/sdcorejs-angular-modules-auth.mjs"
|
|
296
329
|
},
|
|
297
|
-
"./modules/authom": {
|
|
298
|
-
"types": "./modules/authom/index.d.ts",
|
|
299
|
-
"default": "./fesm2022/sdcorejs-angular-modules-authom.mjs"
|
|
300
|
-
},
|
|
301
330
|
"./modules/icon": {
|
|
302
331
|
"types": "./modules/icon/index.d.ts",
|
|
303
332
|
"default": "./fesm2022/sdcorejs-angular-modules-icon.mjs"
|
|
@@ -346,10 +375,26 @@
|
|
|
346
375
|
"types": "./services/notify/index.d.ts",
|
|
347
376
|
"default": "./fesm2022/sdcorejs-angular-services-notify.mjs"
|
|
348
377
|
},
|
|
378
|
+
"./services/persistence": {
|
|
379
|
+
"types": "./services/persistence/index.d.ts",
|
|
380
|
+
"default": "./fesm2022/sdcorejs-angular-services-persistence.mjs"
|
|
381
|
+
},
|
|
349
382
|
"./services/storage": {
|
|
350
383
|
"types": "./services/storage/index.d.ts",
|
|
351
384
|
"default": "./fesm2022/sdcorejs-angular-services-storage.mjs"
|
|
352
385
|
},
|
|
386
|
+
"./services/task": {
|
|
387
|
+
"types": "./services/task/index.d.ts",
|
|
388
|
+
"default": "./fesm2022/sdcorejs-angular-services-task.mjs"
|
|
389
|
+
},
|
|
390
|
+
"./services/unsaved-changes": {
|
|
391
|
+
"types": "./services/unsaved-changes/index.d.ts",
|
|
392
|
+
"default": "./fesm2022/sdcorejs-angular-services-unsaved-changes.mjs"
|
|
393
|
+
},
|
|
394
|
+
"./services/viewport": {
|
|
395
|
+
"types": "./services/viewport/index.d.ts",
|
|
396
|
+
"default": "./fesm2022/sdcorejs-angular-services-viewport.mjs"
|
|
397
|
+
},
|
|
353
398
|
"./utilities/data-state": {
|
|
354
399
|
"types": "./utilities/data-state/index.d.ts",
|
|
355
400
|
"default": "./fesm2022/sdcorejs-angular-utilities-data-state.mjs"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
export declare class SdSafeHtmlPipe implements PipeTransform {
|
|
5
4
|
private sanitizer;
|
|
6
|
-
|
|
5
|
+
/** Inserted by Angular inject() migration for backwards compatibility */
|
|
6
|
+
constructor(...args: unknown[]);
|
|
7
7
|
transform(html: string | number | undefined | null): import("@angular/platform-browser").SafeHtml | undefined;
|
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdSafeHtmlPipe, never>;
|
|
9
9
|
static ɵpipe: i0.ɵɵPipeDeclaration<SdSafeHtmlPipe, "sdSafeHtml", true>;
|
|
@@ -1,36 +1,75 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HttpContext, HttpErrorResponse, HttpHeaders, HttpParams, HttpRequest, HttpResponse } from '@angular/common/http';
|
|
2
2
|
import { InjectionToken } from '@angular/core';
|
|
3
3
|
import { SdCacheOption } from '@sdcorejs/angular/services/cache';
|
|
4
|
+
export type SdApiResponseType = 'arraybuffer' | 'blob' | 'json' | 'text';
|
|
5
|
+
type SdApiBivariantCallback<TArgument, TResult> = {
|
|
6
|
+
bivarianceHack(argument: TArgument): TResult;
|
|
7
|
+
}['bivarianceHack'];
|
|
8
|
+
export interface SdApiHttpOption {
|
|
9
|
+
headers?: HttpHeaders | Record<string, string | string[]>;
|
|
10
|
+
context?: HttpContext;
|
|
11
|
+
params?: HttpParams | Record<string, string | number | boolean | readonly (string | number | boolean)[]>;
|
|
12
|
+
observe?: 'body';
|
|
13
|
+
reportProgress?: boolean;
|
|
14
|
+
responseType?: SdApiResponseType;
|
|
15
|
+
withCredentials?: boolean;
|
|
16
|
+
transferCache?: {
|
|
17
|
+
includeHeaders?: string[];
|
|
18
|
+
} | boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface SdApiRetryOption {
|
|
21
|
+
/** Number of retries after the initial request. Values are clamped to a finite safe limit. */
|
|
22
|
+
attempts: number;
|
|
23
|
+
/** Delay before the first retry. Defaults to 0. */
|
|
24
|
+
delayMs?: number;
|
|
25
|
+
/** Multiplier applied to each subsequent delay. Defaults to 1. */
|
|
26
|
+
backoff?: number;
|
|
27
|
+
/** Overrides the default transient HTTP-status predicate. `attempt` is one-based. */
|
|
28
|
+
retryWhen?: (error: unknown, attempt: number) => boolean;
|
|
29
|
+
/** Required to retry POST, PUT, PATCH, or DELETE. */
|
|
30
|
+
mutations?: boolean;
|
|
31
|
+
}
|
|
4
32
|
export interface SdApiOption {
|
|
5
33
|
cacheOption?: SdCacheOption;
|
|
6
34
|
timeout?: number;
|
|
35
|
+
/** Cancels only this caller; a shared HTTP request continues while another caller remains. */
|
|
36
|
+
signal?: AbortSignal;
|
|
37
|
+
/** Enables request deduplication. Defaults to true for GET and false for mutations. */
|
|
38
|
+
dedupe?: boolean;
|
|
39
|
+
/** Keeps a successful dedupe result replayable for this duration. Defaults to 1000ms. */
|
|
40
|
+
dedupeWindowMs?: number;
|
|
41
|
+
/** Opt-in bounded retry policy. The default is no retries. */
|
|
42
|
+
retry?: SdApiRetryOption;
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated Use `dedupe`. When both are provided, `dedupe` takes precedence.
|
|
45
|
+
* Explicit `true` remains a compatibility opt-in for mutation deduplication.
|
|
46
|
+
*/
|
|
7
47
|
autoCache?: boolean;
|
|
8
48
|
}
|
|
9
|
-
type
|
|
10
|
-
export type
|
|
11
|
-
type
|
|
12
|
-
export type
|
|
13
|
-
type
|
|
14
|
-
export type
|
|
15
|
-
type HttpDeleteOption = Parameters<HttpClient['delete']>[1];
|
|
16
|
-
export type SdDeleteOption = HttpDeleteOption & SdApiOption;
|
|
49
|
+
export type SdGetOption = SdApiHttpOption & SdApiOption;
|
|
50
|
+
export type SdPostOption = SdApiHttpOption & SdApiOption;
|
|
51
|
+
export type SdPutOption = SdApiHttpOption & SdApiOption;
|
|
52
|
+
export type SdPatchOption = SdApiHttpOption & SdApiOption;
|
|
53
|
+
export type SdDeleteOption = SdApiHttpOption & SdApiOption;
|
|
54
|
+
export type SdApiRequestUpdate = Parameters<HttpRequest<unknown>['clone']>[0];
|
|
17
55
|
export interface SdApiHandler {
|
|
18
56
|
/** Danh sách host URL mà handler này sẽ xử lý */
|
|
19
57
|
hosts: string[];
|
|
20
58
|
/** Can thiệp request: gắn header, token, transform body... */
|
|
21
|
-
intercept?:
|
|
59
|
+
intercept?: SdApiBivariantCallback<HttpRequest<unknown>, HttpRequest<unknown> | SdApiRequestUpdate>;
|
|
22
60
|
/** Hook chạy TRƯỚC khi gửi request (dùng để log, tracking...) */
|
|
23
|
-
beforeRemote?:
|
|
61
|
+
beforeRemote?: SdApiBivariantCallback<HttpRequest<unknown>, void | Promise<void>>;
|
|
24
62
|
/** Hook chạy SAU khi nhận response (xử lý lỗi, notify...) */
|
|
25
|
-
afterRemote?:
|
|
63
|
+
afterRemote?: SdApiBivariantCallback<HttpResponse<unknown> | HttpErrorResponse | Error, void | Promise<void>>;
|
|
26
64
|
/** Transform response body thành kiểu dữ liệu mong muốn */
|
|
27
|
-
mapResponse?: <
|
|
28
|
-
/** Timeout tính bằng milliseconds. Mặc định:
|
|
65
|
+
mapResponse?: SdApiBivariantCallback<unknown, unknown>;
|
|
66
|
+
/** Timeout tính bằng milliseconds. Mặc định: 60000 (60 giây) */
|
|
29
67
|
timeout?: number;
|
|
30
68
|
}
|
|
31
69
|
export interface ISdApiConfiguration {
|
|
32
|
-
handlers
|
|
70
|
+
handlers?: SdApiHandler[];
|
|
33
71
|
}
|
|
34
72
|
export declare const SD_API_CONFIG: InjectionToken<ISdApiConfiguration>;
|
|
73
|
+
/** @deprecated Use `SD_API_CONFIG`. This is the same injection token. */
|
|
35
74
|
export declare const SD_API_CONFIGURATION: InjectionToken<ISdApiConfiguration>;
|
|
36
75
|
export {};
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { SdDeleteOption, SdGetOption, SdPostOption, SdPutOption } from './api.model';
|
|
2
|
+
import { SdDeleteOption, SdGetOption, SdPatchOption, SdPostOption, SdPutOption } from './api.model';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Response generics intentionally default to `unknown` for type safety.
|
|
6
|
+
* Callers should specify `T`; migration guidance is tracked for Task 13.
|
|
7
|
+
*/
|
|
4
8
|
export declare class SdApiService {
|
|
5
9
|
#private;
|
|
6
10
|
constructor();
|
|
7
11
|
get http(): HttpClient;
|
|
8
|
-
get: <T =
|
|
9
|
-
post: <T =
|
|
10
|
-
put: <T =
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
get: <T = unknown>(url: string, option?: SdGetOption) => Promise<T>;
|
|
13
|
+
post: <T = unknown>(url: string, body?: unknown, option?: SdPostOption) => Promise<T>;
|
|
14
|
+
put: <T = unknown>(url: string, body?: unknown, option?: SdPutOption) => Promise<T>;
|
|
15
|
+
patch: <T = unknown>(url: string, body?: unknown, option?: SdPatchOption) => Promise<T>;
|
|
16
|
+
delete: <T = unknown>(url: string, option?: SdDeleteOption) => Promise<T>;
|
|
17
|
+
upload: <T = unknown>(url: string, option?: {
|
|
13
18
|
extensions?: string[];
|
|
14
19
|
maxSizeInMb?: number;
|
|
15
|
-
}) => Promise<
|
|
16
|
-
uploadFile: (url: string, file: File) => Promise<
|
|
20
|
+
}) => Promise<T | null | undefined>;
|
|
21
|
+
uploadFile: <T = unknown>(url: string, file: File | null | undefined) => Promise<T | null>;
|
|
17
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdApiService, never>;
|
|
18
23
|
static ɵprov: i0.ɵɵInjectableDeclaration<SdApiService>;
|
|
19
24
|
}
|
|
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class SdHttpInterceptor implements HttpInterceptor {
|
|
5
5
|
#private;
|
|
6
|
-
intercept(request: HttpRequest<
|
|
6
|
+
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
|
|
7
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdHttpInterceptor, never>;
|
|
8
8
|
static ɵprov: i0.ɵɵInjectableDeclaration<SdHttpInterceptor>;
|
|
9
9
|
}
|