@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
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { ElementRef, TemplateRef } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { SdModal } from '@sdcorejs/angular/components/modal';
|
|
4
|
+
import { SdQuery, SdQueryField } from '@sdcorejs/angular/components/query-bar';
|
|
5
|
+
import { SdTable, SdTableColumn, SdTableFilterRequest, SdTableOption } from '@sdcorejs/angular/components/table';
|
|
6
|
+
import { SdFormControl, SdViewed, SdViewedInput, ɵSdFormControlParent } from '@sdcorejs/angular/forms/models';
|
|
7
|
+
import { PagingReq } from '@sdcorejs/utils/models';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export type SdEntityPickerModel<TKey> = TKey | TKey[] | null | undefined;
|
|
10
|
+
export interface SdEntityPickerPage<T> {
|
|
11
|
+
readonly items: T[];
|
|
12
|
+
readonly total: number;
|
|
13
|
+
}
|
|
14
|
+
export interface SdEntityPickerRequest<T> {
|
|
15
|
+
readonly query: SdQuery<T>;
|
|
16
|
+
readonly pageIndex: number;
|
|
17
|
+
readonly pageSize: number;
|
|
18
|
+
readonly orderBy?: string;
|
|
19
|
+
readonly orderDirection?: 'ASC' | 'DESC';
|
|
20
|
+
readonly signal: AbortSignal;
|
|
21
|
+
}
|
|
22
|
+
export interface SdEntityPickerDataProvider<T, TKey> {
|
|
23
|
+
load(request: SdEntityPickerRequest<T>): SdEntityPickerPage<T> | Promise<SdEntityPickerPage<T>>;
|
|
24
|
+
hydrate?(keys: readonly TKey[], signal: AbortSignal): T[] | Promise<T[]>;
|
|
25
|
+
}
|
|
26
|
+
export interface SdEntityPickerSelectedTemplateContext<T, TKey> {
|
|
27
|
+
readonly $implicit: readonly T[];
|
|
28
|
+
readonly entities: readonly T[];
|
|
29
|
+
readonly keys: readonly TKey[];
|
|
30
|
+
}
|
|
31
|
+
export interface SdEntityPickerRowTemplateContext<T> {
|
|
32
|
+
readonly $implicit: T;
|
|
33
|
+
readonly item: T;
|
|
34
|
+
}
|
|
35
|
+
export declare class SdEntityPickerSelectedTemplateDirective<T, TKey> {
|
|
36
|
+
readonly template: TemplateRef<SdEntityPickerSelectedTemplateContext<T, TKey>>;
|
|
37
|
+
static ngTemplateContextGuard<T, TKey>(_directive: SdEntityPickerSelectedTemplateDirective<T, TKey>, _context: unknown): _context is SdEntityPickerSelectedTemplateContext<T, TKey>;
|
|
38
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdEntityPickerSelectedTemplateDirective<any, any>, never>;
|
|
39
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SdEntityPickerSelectedTemplateDirective<any, any>, "ng-template[sdEntityPickerSelected]", never, {}, {}, never, never, true, never>;
|
|
40
|
+
}
|
|
41
|
+
export declare class SdEntityPickerRowTemplateDirective<T> {
|
|
42
|
+
readonly template: TemplateRef<SdEntityPickerRowTemplateContext<T>>;
|
|
43
|
+
static ngTemplateContextGuard<T>(_directive: SdEntityPickerRowTemplateDirective<T>, _context: unknown): _context is SdEntityPickerRowTemplateContext<T>;
|
|
44
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdEntityPickerRowTemplateDirective<any>, never>;
|
|
45
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SdEntityPickerRowTemplateDirective<any>, "ng-template[sdEntityPickerRow]", never, {}, {}, never, never, true, never>;
|
|
46
|
+
}
|
|
47
|
+
export declare class SdEntityPickerDetailTemplateDirective<T, TKey> {
|
|
48
|
+
readonly template: TemplateRef<SdEntityPickerSelectedTemplateContext<T, TKey>>;
|
|
49
|
+
static ngTemplateContextGuard<T, TKey>(_directive: SdEntityPickerDetailTemplateDirective<T, TKey>, _context: unknown): _context is SdEntityPickerSelectedTemplateContext<T, TKey>;
|
|
50
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdEntityPickerDetailTemplateDirective<any, any>, never>;
|
|
51
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SdEntityPickerDetailTemplateDirective<any, any>, "ng-template[sdEntityPickerDetail]", never, {}, {}, never, never, true, never>;
|
|
52
|
+
}
|
|
53
|
+
export declare class SdEntityPicker<T = unknown, TKey = string | number> {
|
|
54
|
+
#private;
|
|
55
|
+
readonly trigger: import("@angular/core").Signal<ElementRef<HTMLButtonElement> | undefined>;
|
|
56
|
+
readonly modal: import("@angular/core").Signal<SdModal | undefined>;
|
|
57
|
+
readonly table: import("@angular/core").Signal<SdTable<T> | undefined>;
|
|
58
|
+
readonly selectedTemplate: import("@angular/core").Signal<SdEntityPickerSelectedTemplateDirective<any, any> | undefined>;
|
|
59
|
+
readonly rowTemplate: import("@angular/core").Signal<SdEntityPickerRowTemplateDirective<any> | undefined>;
|
|
60
|
+
readonly detailTemplate: import("@angular/core").Signal<SdEntityPickerDetailTemplateDirective<any, any> | undefined>;
|
|
61
|
+
readonly autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
|
|
62
|
+
readonly autoId: import("@angular/core").Signal<string | undefined>;
|
|
63
|
+
readonly name: import("@angular/core").InputSignal<string>;
|
|
64
|
+
readonly form: import("@angular/core").InputSignalWithTransform<FormGroup<any> | undefined, ɵSdFormControlParent>;
|
|
65
|
+
readonly label: import("@angular/core").InputSignal<string | undefined>;
|
|
66
|
+
readonly placeholder: import("@angular/core").InputSignal<string | null | undefined>;
|
|
67
|
+
readonly modalTitle: import("@angular/core").InputSignal<string | null | undefined>;
|
|
68
|
+
readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
|
|
69
|
+
readonly provider: import("@angular/core").InputSignal<SdEntityPickerDataProvider<T, TKey> | null | undefined>;
|
|
70
|
+
readonly columns: import("@angular/core").InputSignal<readonly SdTableColumn<T>[]>;
|
|
71
|
+
readonly queryFields: import("@angular/core").InputSignal<readonly SdQueryField<T>[]>;
|
|
72
|
+
readonly pageSize: import("@angular/core").InputSignal<number>;
|
|
73
|
+
readonly valueField: import("@angular/core").InputSignal<(T extends object ? { [Key in keyof T & string]: T[Key] extends string | number | boolean | Function | Date | null | undefined ? Key : T[Key] extends any[] ? Key : T[Key] extends object ? Key | `${Key}.${T[Key] extends infer T_1 ? T_1 extends T[Key] ? T_1 extends object ? { [Key_1 in keyof T_1 & string]: T_1[Key_1] extends string | number | boolean | Function | Date | null | undefined ? Key_1 : T_1[Key_1] extends any[] ? Key_1 : T_1[Key_1] extends object ? Key_1 | `${Key_1}.${T_1[Key_1] extends infer T_2 ? T_2 extends T_1[Key_1] ? T_2 extends object ? { [Key_2 in keyof T_2 & string]: T_2[Key_2] extends string | number | boolean | Function | Date | null | undefined ? Key_2 : T_2[Key_2] extends any[] ? Key_2 : T_2[Key_2] extends object ? Key_2 | `${Key_2}.${T_2[Key_2] extends infer T_3 ? T_3 extends T_2[Key_2] ? T_3 extends object ? { [Key_3 in keyof T_3 & string]: T_3[Key_3] extends string | number | boolean | Function | Date | null | undefined ? Key_3 : T_3[Key_3] extends any[] ? Key_3 : T_3[Key_3] extends object ? Key_3 : Key_3; }[keyof T_3 & string] : string : never : never}` : Key_2; }[keyof T_2 & string] : string : never : never}` : Key_1; }[keyof T_1 & string] : string : never : never}` : Key; }[keyof T & string] : string) | undefined>;
|
|
74
|
+
readonly keySelector: import("@angular/core").InputSignal<((item: T) => TKey) | undefined>;
|
|
75
|
+
readonly displayField: import("@angular/core").InputSignal<(T extends object ? { [Key in keyof T & string]: T[Key] extends string | number | boolean | Function | Date | null | undefined ? Key : T[Key] extends any[] ? Key : T[Key] extends object ? Key | `${Key}.${T[Key] extends infer T_1 ? T_1 extends T[Key] ? T_1 extends object ? { [Key_1 in keyof T_1 & string]: T_1[Key_1] extends string | number | boolean | Function | Date | null | undefined ? Key_1 : T_1[Key_1] extends any[] ? Key_1 : T_1[Key_1] extends object ? Key_1 | `${Key_1}.${T_1[Key_1] extends infer T_2 ? T_2 extends T_1[Key_1] ? T_2 extends object ? { [Key_2 in keyof T_2 & string]: T_2[Key_2] extends string | number | boolean | Function | Date | null | undefined ? Key_2 : T_2[Key_2] extends any[] ? Key_2 : T_2[Key_2] extends object ? Key_2 | `${Key_2}.${T_2[Key_2] extends infer T_3 ? T_3 extends T_2[Key_2] ? T_3 extends object ? { [Key_3 in keyof T_3 & string]: T_3[Key_3] extends string | number | boolean | Function | Date | null | undefined ? Key_3 : T_3[Key_3] extends any[] ? Key_3 : T_3[Key_3] extends object ? Key_3 : Key_3; }[keyof T_3 & string] : string : never : never}` : Key_2; }[keyof T_2 & string] : string : never : never}` : Key_1; }[keyof T_1 & string] : string : never : never}` : Key; }[keyof T & string] : string) | undefined>;
|
|
76
|
+
readonly displayWith: import("@angular/core").InputSignal<((item: T) => string) | undefined>;
|
|
77
|
+
readonly compareWith: import("@angular/core").InputSignal<(left: TKey, right: TKey) => boolean>;
|
|
78
|
+
readonly disabledEntity: import("@angular/core").InputSignal<((item: T) => boolean) | undefined>;
|
|
79
|
+
readonly multiple: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
80
|
+
readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
81
|
+
readonly clearable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
82
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
83
|
+
readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
84
|
+
readonly viewed: import("@angular/core").InputSignalWithTransform<SdViewed, SdViewedInput>;
|
|
85
|
+
readonly addable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
86
|
+
readonly model: import("@angular/core").ModelSignal<SdEntityPickerModel<TKey>>;
|
|
87
|
+
readonly sdChange: import("@angular/core").OutputEmitterRef<SdEntityPickerModel<TKey>>;
|
|
88
|
+
readonly sdAdd: import("@angular/core").OutputEmitterRef<void>;
|
|
89
|
+
readonly sdLoadError: import("@angular/core").OutputEmitterRef<unknown>;
|
|
90
|
+
readonly formControl: SdFormControl;
|
|
91
|
+
readonly connectorState: import("@angular/core").Signal<import("@sdcorejs/angular/forms/models").ɵSdFormControlConnectorState<SdEntityPickerModel<TKey>>>;
|
|
92
|
+
readonly draftKeys: import("@angular/core").WritableSignal<TKey[]>;
|
|
93
|
+
readonly loadError: import("@angular/core").WritableSignal<unknown>;
|
|
94
|
+
readonly loading: import("@angular/core").WritableSignal<boolean>;
|
|
95
|
+
readonly hydrating: import("@angular/core").WritableSignal<boolean>;
|
|
96
|
+
readonly query: import("@angular/core").WritableSignal<SdQuery<T>>;
|
|
97
|
+
readonly modelKeys: import("@angular/core").Signal<TKey[]>;
|
|
98
|
+
readonly effectivePlaceholder: import("@angular/core").Signal<string>;
|
|
99
|
+
readonly effectiveModalTitle: import("@angular/core").Signal<string>;
|
|
100
|
+
readonly selectedEntities: import("@angular/core").Signal<T[]>;
|
|
101
|
+
readonly draftEntities: import("@angular/core").Signal<T[]>;
|
|
102
|
+
readonly displayText: import("@angular/core").Signal<string>;
|
|
103
|
+
readonly selectedTemplateContext: import("@angular/core").Signal<SdEntityPickerSelectedTemplateContext<T, TKey>>;
|
|
104
|
+
readonly detailTemplateContext: import("@angular/core").Signal<SdEntityPickerSelectedTemplateContext<T, TKey>>;
|
|
105
|
+
readonly tableOption: import("@angular/core").Signal<SdTableOption<T>>;
|
|
106
|
+
constructor();
|
|
107
|
+
open(): void;
|
|
108
|
+
applySelection(): void;
|
|
109
|
+
cancel(): void;
|
|
110
|
+
clear(event?: Event): void;
|
|
111
|
+
onModalClosed(): void;
|
|
112
|
+
onTableSelect(item: T, selectedItems: T[]): void;
|
|
113
|
+
onTableSelectAll(selectedItems: T[], pageItems?: T[]): void;
|
|
114
|
+
onQueryChange(query: SdQuery<T>): void;
|
|
115
|
+
loadPage(filterRequest: SdTableFilterRequest<T>, pagingRequest: PagingReq<T>): Promise<SdEntityPickerPage<T>>;
|
|
116
|
+
retry(): void;
|
|
117
|
+
add(): void;
|
|
118
|
+
keyOf(item: T): TKey;
|
|
119
|
+
displayEntity(item: T): string;
|
|
120
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdEntityPicker<any, any>, never>;
|
|
121
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdEntityPicker<any, any>, "sd-entity-picker", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "modalTitle": { "alias": "modalTitle"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "provider": { "alias": "provider"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "queryFields": { "alias": "queryFields"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "keySelector": { "alias": "keySelector"; "required": false; "isSignal": true; }; "displayField": { "alias": "displayField"; "required": false; "isSignal": true; }; "displayWith": { "alias": "displayWith"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "disabledEntity": { "alias": "disabledEntity"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "addable": { "alias": "addable"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; }, { "model": "modelChange"; "sdChange": "sdChange"; "sdAdd": "sdAdd"; "sdLoadError": "sdLoadError"; }, ["selectedTemplate", "rowTemplate", "detailTemplate"], never, true, never>;
|
|
122
|
+
}
|
|
123
|
+
export declare function normalizePickerKeys<TKey>(value: SdEntityPickerModel<TKey>, multiple: boolean): TKey[];
|
package/forms/index.d.ts
CHANGED
|
@@ -2,10 +2,16 @@ export * from '@sdcorejs/angular/forms/directives';
|
|
|
2
2
|
export * from '@sdcorejs/angular/forms/models';
|
|
3
3
|
export * from '@sdcorejs/angular/forms/label';
|
|
4
4
|
export * from '@sdcorejs/angular/forms/input';
|
|
5
|
+
export * from '@sdcorejs/angular/forms/input-color';
|
|
6
|
+
export * from '@sdcorejs/angular/forms/inline-text';
|
|
5
7
|
export * from '@sdcorejs/angular/forms/input-number';
|
|
6
8
|
export * from '@sdcorejs/angular/forms/date';
|
|
7
9
|
export * from '@sdcorejs/angular/forms/datetime';
|
|
8
10
|
export * from '@sdcorejs/angular/forms/date-range';
|
|
11
|
+
export * from '@sdcorejs/angular/forms/time';
|
|
12
|
+
export * from '@sdcorejs/angular/forms/time-range';
|
|
13
|
+
export * from '@sdcorejs/angular/forms/entity-picker';
|
|
14
|
+
export * from '@sdcorejs/angular/forms/tree-select';
|
|
9
15
|
export * from '@sdcorejs/angular/forms/select';
|
|
10
16
|
export * from '@sdcorejs/angular/forms/autocomplete';
|
|
11
17
|
export * from '@sdcorejs/angular/forms/switch';
|
package/forms/input/index.d.ts
CHANGED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export type SdInputMaskStatus = 'empty' | 'incomplete' | 'valid' | 'invalid';
|
|
2
|
+
export type SdInputMaskInputMode = 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
|
|
3
|
+
export interface SdInputMaskResult {
|
|
4
|
+
readonly raw: string;
|
|
5
|
+
readonly display: string;
|
|
6
|
+
readonly status: SdInputMaskStatus;
|
|
7
|
+
readonly selectionStart: number;
|
|
8
|
+
readonly selectionEnd: number;
|
|
9
|
+
}
|
|
10
|
+
export interface SdInputMaskAdapter {
|
|
11
|
+
readonly inputMode?: SdInputMaskInputMode;
|
|
12
|
+
readonly maxDisplayLength?: number;
|
|
13
|
+
format(raw: string | null | undefined): SdInputMaskResult;
|
|
14
|
+
parse(display: string, selectionStart?: number | null, selectionEnd?: number | null): SdInputMaskResult;
|
|
15
|
+
}
|
|
16
|
+
export interface SdInputMaskToken {
|
|
17
|
+
readonly pattern: RegExp;
|
|
18
|
+
readonly optional?: boolean;
|
|
19
|
+
readonly transform?: (value: string) => string;
|
|
20
|
+
}
|
|
21
|
+
export interface SdCreateInputMaskOptions {
|
|
22
|
+
readonly tokens?: Readonly<Record<string, SdInputMaskToken>>;
|
|
23
|
+
readonly inputMode?: SdInputMaskInputMode;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Creates a dependency-free slot mask.
|
|
27
|
+
*
|
|
28
|
+
* Default tokens: `#` required digit, `9` optional digit, `A`/`a` required/optional
|
|
29
|
+
* letter, and `*`/`?` required/optional alphanumeric. Every other character is a
|
|
30
|
+
* display literal and never leaks into the raw model.
|
|
31
|
+
*/
|
|
32
|
+
export declare function sdCreateInputMask(pattern: string, options?: SdCreateInputMaskOptions): SdInputMaskAdapter;
|
|
33
|
+
/** Common business masks. Models remain raw strings; separators are display-only. */
|
|
34
|
+
export declare const SD_INPUT_MASKS: {
|
|
35
|
+
readonly VN_PHONE: SdInputMaskAdapter;
|
|
36
|
+
readonly VN_ID: SdInputMaskAdapter;
|
|
37
|
+
readonly VN_TAX_CODE: SdInputMaskAdapter;
|
|
38
|
+
readonly BANK_ACCOUNT: SdInputMaskAdapter;
|
|
39
|
+
readonly BUSINESS_CODE: SdInputMaskAdapter;
|
|
40
|
+
};
|
|
41
|
+
export type SdInputMaskPreset = keyof typeof SD_INPUT_MASKS;
|
|
42
|
+
export type SdInputMask = SdInputMaskAdapter | SdInputMaskPreset;
|
|
43
|
+
export declare function sdResolveInputMask(mask: SdInputMask | null | undefined): SdInputMaskAdapter | undefined;
|
|
@@ -5,6 +5,7 @@ import { SdInlineText } from '@sdcorejs/angular/forms/inline-text';
|
|
|
5
5
|
import { SdSuffixDefDirective, SdViewDefDirective } from '@sdcorejs/angular/forms/directives';
|
|
6
6
|
import { SdCustomValidator, SdFormControl, SdViewed, SdViewedInput } from '@sdcorejs/angular/forms/models';
|
|
7
7
|
import { Size } from '@sdcorejs/utils/models';
|
|
8
|
+
import { SdInputMask, SdInputMaskStatus } from './input-mask';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export declare class SdInput implements OnDestroy, OnInit, AfterViewInit {
|
|
10
11
|
#private;
|
|
@@ -36,20 +37,21 @@ export declare class SdInput implements OnDestroy, OnInit, AfterViewInit {
|
|
|
36
37
|
label: import("@angular/core").InputSignal<string | undefined>;
|
|
37
38
|
helperText: import("@angular/core").InputSignal<string | undefined>;
|
|
38
39
|
placeholder: import("@angular/core").InputSignal<string | undefined>;
|
|
39
|
-
type: import("@angular/core").InputSignal<"number" | "text" | "
|
|
40
|
+
type: import("@angular/core").InputSignal<"number" | "text" | "email" | "password">;
|
|
41
|
+
mask: import("@angular/core").InputSignal<SdInputMask | null | undefined>;
|
|
42
|
+
readonly maskAdapter: import("@angular/core").Signal<import("@sdcorejs/angular/forms/input").SdInputMaskAdapter | undefined>;
|
|
43
|
+
readonly effectiveType: import("@angular/core").Signal<"number" | "text" | "email" | "password">;
|
|
44
|
+
readonly inputMode: import("@angular/core").Signal<import("@sdcorejs/angular/forms/input").SdInputMaskInputMode | undefined>;
|
|
45
|
+
readonly maxDisplayLength: import("@angular/core").Signal<number | undefined>;
|
|
40
46
|
hideInlineError: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
41
47
|
blurOnEnter: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
48
|
+
/** Whether to show the value-gated clear button in edit and inline modes. */
|
|
49
|
+
clearable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
42
50
|
required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
43
51
|
readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
44
52
|
disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
45
53
|
/** Display mode: `false` edit · `true` static view · `'inline'` borderless inline-edit (no panel — the input IS the face). */
|
|
46
54
|
viewed: import("@angular/core").InputSignalWithTransform<SdViewed, SdViewedInput>;
|
|
47
|
-
/** `true` when `viewed === 'inline'`. */
|
|
48
|
-
readonly isInline: import("@angular/core").Signal<boolean>;
|
|
49
|
-
/** `true` when `viewed === true` (static view, no input). */
|
|
50
|
-
readonly isViewed: import("@angular/core").Signal<boolean>;
|
|
51
|
-
/** Focus the inline input. No-op unless `viewed='inline'`. */
|
|
52
|
-
enterInlineEdit: () => void;
|
|
53
55
|
/** View display template: `sdViewDef` overrides the projected `#sdValue` for the static view (unified). */
|
|
54
56
|
readonly viewTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
55
57
|
minlength: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
|
|
@@ -73,9 +75,24 @@ export declare class SdInput implements OnDestroy, OnInit, AfterViewInit {
|
|
|
73
75
|
sdBlur: import("@angular/core").OutputEmitterRef<any>;
|
|
74
76
|
keyupEnter: import("@angular/core").OutputEmitterRef<any>;
|
|
75
77
|
cleared: import("@angular/core").OutputEmitterRef<void>;
|
|
76
|
-
sdFocusForceBlur: EventEmitter<void>;
|
|
78
|
+
readonly sdFocusForceBlur: EventEmitter<void>;
|
|
77
79
|
formControl: SdFormControl;
|
|
80
|
+
/** Display-only control used by the input element while a mask is active. */
|
|
81
|
+
readonly displayControl: SdFormControl;
|
|
82
|
+
readonly activeControl: import("@angular/core").Signal<SdFormControl>;
|
|
83
|
+
readonly maskStatus: import("@angular/core").WritableSignal<SdInputMaskStatus>;
|
|
84
|
+
readonly displayValue: import("@angular/core").Signal<any>;
|
|
78
85
|
isFocused: boolean;
|
|
86
|
+
/** Shared reactive form policy consumed by template-facing state below. */
|
|
87
|
+
readonly connectorState: import("@angular/core").Signal<import("@sdcorejs/angular/forms/models").ɵSdFormControlConnectorState<unknown>>;
|
|
88
|
+
readonly isReadonly: import("@angular/core").Signal<boolean>;
|
|
89
|
+
readonly visibleErrorMessage: import("@angular/core").Signal<string | undefined>;
|
|
90
|
+
/** `true` when `viewed === 'inline'`. */
|
|
91
|
+
readonly isInline: import("@angular/core").Signal<boolean>;
|
|
92
|
+
/** `true` when `viewed === true` (static view, no input). */
|
|
93
|
+
readonly isViewed: import("@angular/core").Signal<boolean>;
|
|
94
|
+
/** Focus the inline input. No-op unless `viewed='inline'`. */
|
|
95
|
+
enterInlineEdit: () => void;
|
|
79
96
|
constructor();
|
|
80
97
|
ngOnInit(): void;
|
|
81
98
|
ngAfterViewInit(): void;
|
|
@@ -83,6 +100,8 @@ export declare class SdInput implements OnDestroy, OnInit, AfterViewInit {
|
|
|
83
100
|
reValidate: () => void;
|
|
84
101
|
getCurrentLength: () => number;
|
|
85
102
|
isMaxlengthExceeded: () => boolean;
|
|
103
|
+
onCompositionStart(): void;
|
|
104
|
+
onCompositionEnd(event: CompositionEvent): void;
|
|
86
105
|
showClear: () => boolean;
|
|
87
106
|
clear: ($event?: Event) => void;
|
|
88
107
|
onKeyupEnter: () => void;
|
|
@@ -92,5 +111,5 @@ export declare class SdInput implements OnDestroy, OnInit, AfterViewInit {
|
|
|
92
111
|
blur: () => void;
|
|
93
112
|
focus: () => void;
|
|
94
113
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdInput, never>;
|
|
95
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdInput, "sd-input", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "appearanceInput": { "alias": "appearance"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "blurOnEnter": { "alias": "blurOnEnter"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "patternErrorMessage": { "alias": "patternErrorMessage"; "required": false; "isSignal": true; }; "validator": { "alias": "validator"; "required": false; "isSignal": true; }; "inlineError": { "alias": "inlineError"; "required": false; "isSignal": true; }; "hyperlink": { "alias": "hyperlink"; "required": false; "isSignal": true; }; "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; "sdChange": "sdChange"; "sdFocus": "sdFocus"; "sdBlur": "sdBlur"; "keyupEnter": "keyupEnter"; "cleared": "cleared"; "sdFocusForceBlur": "sdFocusForceBlur"; }, ["sdLabelTemplate", "sdValueTemplate", "sdSuffixDef", "sdViewDef"], ["[sdLabel]"], true, never>;
|
|
114
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdInput, "sd-input", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "appearanceInput": { "alias": "appearance"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "mask": { "alias": "mask"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "blurOnEnter": { "alias": "blurOnEnter"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "patternErrorMessage": { "alias": "patternErrorMessage"; "required": false; "isSignal": true; }; "validator": { "alias": "validator"; "required": false; "isSignal": true; }; "inlineError": { "alias": "inlineError"; "required": false; "isSignal": true; }; "hyperlink": { "alias": "hyperlink"; "required": false; "isSignal": true; }; "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; "sdChange": "sdChange"; "sdFocus": "sdFocus"; "sdBlur": "sdBlur"; "keyupEnter": "keyupEnter"; "cleared": "cleared"; "sdFocusForceBlur": "sdFocusForceBlur"; }, ["sdLabelTemplate", "sdValueTemplate", "sdSuffixDef", "sdViewDef"], ["[sdLabel]"], true, never>;
|
|
96
115
|
}
|
|
@@ -18,6 +18,8 @@ export declare class SdInputColor {
|
|
|
18
18
|
readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
19
19
|
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
20
20
|
readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
21
|
+
/** Whether the inner `<sd-input>` should render its clear button. */
|
|
22
|
+
readonly clearable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
21
23
|
readonly hideInlineError: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
22
24
|
/** Display mode — forwarded to the inner `<sd-input>`. `'inline'` = borderless inline-edit; disabled `'inline'` → static. */
|
|
23
25
|
readonly viewed: import("@angular/core").InputSignalWithTransform<SdViewed, SdViewedInput>;
|
|
@@ -31,5 +33,5 @@ export declare class SdInputColor {
|
|
|
31
33
|
onPickerChange: (ev: Event) => void;
|
|
32
34
|
clear: (ev?: Event) => void;
|
|
33
35
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdInputColor, never>;
|
|
34
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdInputColor, "sd-input-color", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; "sdChange": "sdChange"; }, never, never, true, never>;
|
|
36
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdInputColor, "sd-input-color", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; "sdChange": "sdChange"; }, never, never, true, never>;
|
|
35
37
|
}
|
|
@@ -41,6 +41,8 @@ export declare class SdInputNumber implements OnDestroy, OnInit, AfterViewInit {
|
|
|
41
41
|
placeholder: import("@angular/core").InputSignal<string | undefined>;
|
|
42
42
|
hideInlineError: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
43
43
|
blurOnEnter: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
44
|
+
/** Whether to show the value-gated clear button in edit and inline modes. */
|
|
45
|
+
clearable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
44
46
|
required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
45
47
|
readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
46
48
|
disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
@@ -75,7 +77,7 @@ export declare class SdInputNumber implements OnDestroy, OnInit, AfterViewInit {
|
|
|
75
77
|
sdBlur: import("@angular/core").OutputEmitterRef<any>;
|
|
76
78
|
keyupEnter: import("@angular/core").OutputEmitterRef<any>;
|
|
77
79
|
cleared: import("@angular/core").OutputEmitterRef<void>;
|
|
78
|
-
sdFocusForceBlur: EventEmitter<void>;
|
|
80
|
+
readonly sdFocusForceBlur: EventEmitter<void>;
|
|
79
81
|
formControl: SdFormControl;
|
|
80
82
|
inputControl: SdFormControl;
|
|
81
83
|
matcher: SdInputNumberErrotStateMatcher;
|
|
@@ -101,6 +103,6 @@ export declare class SdInputNumber implements OnDestroy, OnInit, AfterViewInit {
|
|
|
101
103
|
blur: () => void;
|
|
102
104
|
focus: () => void;
|
|
103
105
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdInputNumber, never>;
|
|
104
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdInputNumber, "sd-input-number", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "blurOnEnter": { "alias": "blurOnEnter"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "precision": { "alias": "precision"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "validator": { "alias": "validator"; "required": false; "isSignal": true; }; "inlineError": { "alias": "inlineError"; "required": false; "isSignal": true; }; "hyperlink": { "alias": "hyperlink"; "required": false; "isSignal": true; }; "appearanceInput": { "alias": "appearance"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; "sdChange": "sdChange"; "sdFocus": "sdFocus"; "sdBlur": "sdBlur"; "keyupEnter": "keyupEnter"; "cleared": "cleared"; "sdFocusForceBlur": "sdFocusForceBlur"; }, ["sdLabelTemplate", "sdValueTemplate", "sdViewDef", "sdSuffixDef"], ["[sdLabel]"], true, never>;
|
|
106
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdInputNumber, "sd-input-number", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "blurOnEnter": { "alias": "blurOnEnter"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "precision": { "alias": "precision"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "validator": { "alias": "validator"; "required": false; "isSignal": true; }; "inlineError": { "alias": "inlineError"; "required": false; "isSignal": true; }; "hyperlink": { "alias": "hyperlink"; "required": false; "isSignal": true; }; "appearanceInput": { "alias": "appearance"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; "sdChange": "sdChange"; "sdFocus": "sdFocus"; "sdBlur": "sdBlur"; "keyupEnter": "keyupEnter"; "cleared": "cleared"; "sdFocusForceBlur": "sdFocusForceBlur"; }, ["sdLabelTemplate", "sdValueTemplate", "sdViewDef", "sdSuffixDef"], ["[sdLabel]"], true, never>;
|
|
105
107
|
}
|
|
106
108
|
export {};
|
package/forms/models/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export * from './src/sd-form.configuration';
|
|
2
2
|
export * from './src/sd-form-control.model';
|
|
3
3
|
export * from './src/sd-custom-validator.model';
|
|
4
|
-
export * from './src/sd-selection-data.model';
|
|
5
|
-
export * from './src/sd-search.model';
|
|
4
|
+
export type * from './src/sd-selection-data.model';
|
|
5
|
+
export type * from './src/sd-search.model';
|
|
6
6
|
export * from './src/form-control-state';
|
|
7
7
|
export * from './src/sd-viewed';
|
|
8
|
+
export * from './src/sd-form-control-connector';
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Signal } from '@angular/core';
|
|
2
|
+
import { AbstractControl, AsyncValidatorFn, FormGroup, NgForm, ValidatorFn } from '@angular/forms';
|
|
3
|
+
import { SdViewed } from './sd-viewed';
|
|
4
|
+
export type ɵSdFormControlParent = FormGroup | NgForm | {
|
|
5
|
+
readonly form: unknown;
|
|
6
|
+
} | null | undefined;
|
|
7
|
+
interface ɵSdFormControlConnectorBaseOptions<TControl> {
|
|
8
|
+
/** Parent form source. NgForm and wrapper values are unwrapped on every rebind. */
|
|
9
|
+
readonly form: Signal<ɵSdFormControlParent>;
|
|
10
|
+
/** Registration name. Empty names intentionally leave the control unregistered. */
|
|
11
|
+
readonly name: Signal<string | null | undefined>;
|
|
12
|
+
/** Canonical control registered in the parent form. */
|
|
13
|
+
readonly control: Signal<AbstractControl<TControl>>;
|
|
14
|
+
readonly validators?: Signal<ValidatorFn | readonly ValidatorFn[] | null | undefined>;
|
|
15
|
+
readonly asyncValidators?: Signal<AsyncValidatorFn | readonly AsyncValidatorFn[] | null | undefined>;
|
|
16
|
+
/** Adds/removes Validators.required while preserving validators supplied above. */
|
|
17
|
+
readonly required?: Signal<boolean | null | undefined>;
|
|
18
|
+
readonly disabled?: Signal<boolean | null | undefined>;
|
|
19
|
+
/** UI-only read-only policy. This never disables the Angular control. */
|
|
20
|
+
readonly readonly?: Signal<boolean | null | undefined>;
|
|
21
|
+
/** Exact SDCoreJS display policy. This never disables the Angular control. */
|
|
22
|
+
readonly viewed?: Signal<SdViewed | null | undefined>;
|
|
23
|
+
/** Component-local validation message. Visibility is interaction-gated in state. */
|
|
24
|
+
readonly validationError?: Signal<string | null | undefined>;
|
|
25
|
+
}
|
|
26
|
+
interface ɵSdFormControlRegistrationOptions<TControl> extends ɵSdFormControlConnectorBaseOptions<TControl> {
|
|
27
|
+
readonly model?: never;
|
|
28
|
+
readonly writeModel?: never;
|
|
29
|
+
readonly modelToControl?: never;
|
|
30
|
+
readonly controlToModel?: never;
|
|
31
|
+
readonly modelEquals?: never;
|
|
32
|
+
readonly controlEquals?: never;
|
|
33
|
+
}
|
|
34
|
+
interface ɵSdFormControlIdentityOptions<TValue> extends ɵSdFormControlConnectorBaseOptions<TValue> {
|
|
35
|
+
readonly model: Signal<TValue>;
|
|
36
|
+
readonly writeModel: (value: TValue) => void;
|
|
37
|
+
readonly modelToControl?: never;
|
|
38
|
+
readonly controlToModel?: never;
|
|
39
|
+
readonly modelEquals?: (left: TValue, right: TValue) => boolean;
|
|
40
|
+
readonly controlEquals?: (left: TValue, right: TValue) => boolean;
|
|
41
|
+
}
|
|
42
|
+
interface ɵSdFormControlAdaptedOptions<TModel, TControl> extends ɵSdFormControlConnectorBaseOptions<TControl> {
|
|
43
|
+
readonly model: Signal<TModel>;
|
|
44
|
+
readonly writeModel: (value: TModel) => void;
|
|
45
|
+
readonly modelToControl: (value: TModel) => TControl;
|
|
46
|
+
readonly controlToModel: (value: TControl) => TModel;
|
|
47
|
+
readonly modelEquals?: (left: TModel, right: TModel) => boolean;
|
|
48
|
+
readonly controlEquals?: (left: TControl, right: TControl) => boolean;
|
|
49
|
+
}
|
|
50
|
+
type ɵSdTypesExactlyMatch<TLeft, TRight> = [TLeft] extends [TRight] ? ([TRight] extends [TLeft] ? true : false) : false;
|
|
51
|
+
/**
|
|
52
|
+
* @internal Unstable connector contract for cross-entrypoint SDCoreJS controls.
|
|
53
|
+
* Consumers must use registration-only, same-type identity binding, or provide
|
|
54
|
+
* both adapters when model and control representations differ.
|
|
55
|
+
*/
|
|
56
|
+
export type ɵSdFormControlConnectorOptions<TModel, TControl> = ɵSdFormControlRegistrationOptions<TControl> | ɵSdFormControlAdaptedOptions<TModel, TControl> | (ɵSdTypesExactlyMatch<TModel, TControl> extends true ? ɵSdFormControlIdentityOptions<TModel> : never);
|
|
57
|
+
export interface ɵSdFormControlConnectorState<TControl> {
|
|
58
|
+
readonly value: TControl | undefined;
|
|
59
|
+
readonly disabled: boolean;
|
|
60
|
+
readonly invalid: boolean;
|
|
61
|
+
readonly touched: boolean;
|
|
62
|
+
readonly dirty: boolean;
|
|
63
|
+
readonly required: boolean;
|
|
64
|
+
readonly readonly: boolean;
|
|
65
|
+
readonly viewed: SdViewed;
|
|
66
|
+
readonly isViewed: boolean;
|
|
67
|
+
readonly isInline: boolean;
|
|
68
|
+
readonly showValidationError: boolean;
|
|
69
|
+
readonly validationError: string | undefined;
|
|
70
|
+
}
|
|
71
|
+
export interface ɵSdFormControlConnector<TControl = unknown> {
|
|
72
|
+
readonly state: Signal<ɵSdFormControlConnectorState<TControl>>;
|
|
73
|
+
markAsTouched(): void;
|
|
74
|
+
markAsUntouched(): void;
|
|
75
|
+
markAsDirty(): void;
|
|
76
|
+
markAsPristine(): void;
|
|
77
|
+
}
|
|
78
|
+
/** Coerces the form shapes accepted by SDCoreJS controls into one FormGroup. */
|
|
79
|
+
export declare function ɵsdCoerceFormGroup(value: unknown): FormGroup | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Connects the signal-based SDCoreJS model contract to an Angular control.
|
|
82
|
+
* Registration and subscriptions are rebound transactionally, and cleanup only
|
|
83
|
+
* removes a control while the connector still owns that exact registration.
|
|
84
|
+
*/
|
|
85
|
+
export declare function ɵsdFormControlConnector<TModel, TControl>(options: ɵSdFormControlConnectorOptions<TModel, TControl>): ɵSdFormControlConnector<TControl>;
|
|
86
|
+
export {};
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
3
2
|
import { SdLabelDefDirective, SdSuffixDefDirective, SdViewDefDirective } from '@sdcorejs/angular/forms/directives';
|
|
4
|
-
import { SdFormControl, SdViewed, SdViewedInput } from '@sdcorejs/angular/forms/models';
|
|
3
|
+
import { SdFormControl, SdViewed, SdViewedInput, ɵSdFormControlParent } from '@sdcorejs/angular/forms/models';
|
|
5
4
|
import { Color } from '@sdcorejs/utils/models';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class SdRadio implements OnInit,
|
|
6
|
+
export declare class SdRadio implements OnInit, OnDestroy {
|
|
8
7
|
#private;
|
|
9
|
-
id: string;
|
|
8
|
+
readonly id: string;
|
|
9
|
+
readonly labelId: string;
|
|
10
|
+
readonly errorId: string;
|
|
10
11
|
formControl: SdFormControl;
|
|
11
12
|
readonly autoIdInput: import("@angular/core").InputSignalWithTransform<string | undefined, string | null | undefined>;
|
|
12
13
|
readonly name: import("@angular/core").InputSignalWithTransform<string | undefined, string | null | undefined>;
|
|
13
|
-
readonly form: import("@angular/core").
|
|
14
|
+
readonly form: import("@angular/core").InputSignal<ɵSdFormControlParent>;
|
|
14
15
|
readonly label: import("@angular/core").InputSignalWithTransform<string | undefined, string | null | undefined>;
|
|
15
16
|
readonly placeholder: import("@angular/core").InputSignalWithTransform<string | undefined, string | null | undefined>;
|
|
16
17
|
readonly display: import("@angular/core").InputSignalWithTransform<"row" | "column", "row" | "column" | null | undefined>;
|
|
@@ -41,10 +42,13 @@ export declare class SdRadio implements OnInit, AfterViewInit, OnDestroy {
|
|
|
41
42
|
readonly dataEmpty: import("@angular/core").Signal<"true" | "false">;
|
|
42
43
|
readonly dataValue: import("@angular/core").Signal<string>;
|
|
43
44
|
readonly dataRequired: import("@angular/core").Signal<"true" | "false">;
|
|
45
|
+
readonly visibleError: import("@angular/core").Signal<"required" | "inlineError" | undefined>;
|
|
46
|
+
readonly ariaLabelledBy: import("@angular/core").Signal<string | undefined>;
|
|
47
|
+
readonly ariaLabel: import("@angular/core").Signal<string | undefined>;
|
|
48
|
+
readonly ariaDescribedBy: import("@angular/core").Signal<string | undefined>;
|
|
49
|
+
readonly ariaInvalid: import("@angular/core").Signal<"true" | "false">;
|
|
44
50
|
readonly viewedText: import("@angular/core").Signal<any>;
|
|
45
|
-
constructor();
|
|
46
51
|
ngOnInit(): void;
|
|
47
|
-
ngAfterViewInit(): void;
|
|
48
52
|
ngOnDestroy(): void;
|
|
49
53
|
reValidate: () => void;
|
|
50
54
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdRadio, never>;
|
|
@@ -3,12 +3,16 @@ import * as i1 from "@sdcorejs/angular/forms/input";
|
|
|
3
3
|
import * as i2 from "@sdcorejs/angular/forms/input-number";
|
|
4
4
|
import * as i3 from "@sdcorejs/angular/forms/date";
|
|
5
5
|
import * as i4 from "@sdcorejs/angular/forms/date-range";
|
|
6
|
-
import * as i5 from "@sdcorejs/angular/forms/
|
|
7
|
-
import * as i6 from "@sdcorejs/angular/forms/
|
|
8
|
-
import * as i7 from "@sdcorejs/angular/forms/
|
|
9
|
-
import * as i8 from "@sdcorejs/angular/forms/
|
|
6
|
+
import * as i5 from "@sdcorejs/angular/forms/time";
|
|
7
|
+
import * as i6 from "@sdcorejs/angular/forms/time-range";
|
|
8
|
+
import * as i7 from "@sdcorejs/angular/forms/entity-picker";
|
|
9
|
+
import * as i8 from "@sdcorejs/angular/forms/tree-select";
|
|
10
|
+
import * as i9 from "@sdcorejs/angular/forms/select";
|
|
11
|
+
import * as i10 from "@sdcorejs/angular/forms/autocomplete";
|
|
12
|
+
import * as i11 from "@sdcorejs/angular/forms/radio";
|
|
13
|
+
import * as i12 from "@sdcorejs/angular/forms/textarea";
|
|
10
14
|
export declare class SdFormsModule {
|
|
11
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdFormsModule, never>;
|
|
12
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SdFormsModule, never, [typeof i1.SdInput, typeof i2.SdInputNumber, typeof i3.SdDate, typeof i4.SdDateRange, typeof i5.
|
|
16
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SdFormsModule, never, [typeof i1.SdInput, typeof i2.SdInputNumber, typeof i3.SdDate, typeof i4.SdDateRange, typeof i5.SdTime, typeof i6.SdTimeRange, typeof i7.SdEntityPicker, typeof i8.SdTreeSelect, typeof i9.SdSelect, typeof i10.SdAutocomplete, typeof i11.SdRadio, typeof i12.SdTextarea], [typeof i1.SdInput, typeof i2.SdInputNumber, typeof i3.SdDate, typeof i4.SdDateRange, typeof i5.SdTime, typeof i6.SdTimeRange, typeof i7.SdEntityPicker, typeof i8.SdTreeSelect, typeof i9.SdSelect, typeof i10.SdAutocomplete, typeof i11.SdRadio, typeof i12.SdTextarea]>;
|
|
13
17
|
static ɵinj: i0.ɵɵInjectorDeclaration<SdFormsModule>;
|
|
14
18
|
}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { SdFormControl, SdViewed, SdViewedInput } from '@sdcorejs/angular/forms/models';
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { SdFormControl, SdViewed, SdViewedInput, ɵSdFormControlParent } from '@sdcorejs/angular/forms/models';
|
|
4
3
|
import { Color } from '@sdcorejs/utils/models';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class SdSwitch implements OnInit,
|
|
5
|
+
export declare class SdSwitch implements OnInit, OnDestroy {
|
|
7
6
|
#private;
|
|
8
7
|
id: string;
|
|
9
8
|
formControl: SdFormControl;
|
|
10
9
|
readonly autoIdInput: import("@angular/core").InputSignalWithTransform<string | undefined, string | null | undefined>;
|
|
11
10
|
readonly name: import("@angular/core").InputSignalWithTransform<string | undefined, string | null | undefined>;
|
|
12
|
-
readonly form: import("@angular/core").
|
|
11
|
+
readonly form: import("@angular/core").InputSignal<ɵSdFormControlParent>;
|
|
13
12
|
readonly label: import("@angular/core").InputSignalWithTransform<string | undefined, string | null | undefined>;
|
|
14
13
|
readonly color: import("@angular/core").InputSignalWithTransform<Color, Color | null | undefined>;
|
|
15
14
|
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
@@ -26,9 +25,7 @@ export declare class SdSwitch implements OnInit, AfterViewInit, OnDestroy {
|
|
|
26
25
|
readonly dataEmpty: import("@angular/core").Signal<"true" | "false">;
|
|
27
26
|
readonly dataValue: import("@angular/core").Signal<string>;
|
|
28
27
|
readonly dataRequired: import("@angular/core").Signal<"true" | "false">;
|
|
29
|
-
constructor();
|
|
30
28
|
ngOnInit(): void;
|
|
31
|
-
ngAfterViewInit(): void;
|
|
32
29
|
ngOnDestroy(): void;
|
|
33
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdSwitch, never>;
|
|
34
31
|
static ɵcmp: i0.ɵɵComponentDeclaration<SdSwitch, "sd-switch", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; }, { "model": "modelChange"; "sdChange": "sdChange"; }, never, never, true, never>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface SdTimePickerAdapter<TPickerValue> {
|
|
2
|
+
toPickerValue(value: string | null | undefined): TPickerValue;
|
|
3
|
+
fromPickerValue(value: TPickerValue): string | null;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Bridges the public time-only string contract to Date-based picker controls.
|
|
7
|
+
* The fixed date never escapes this adapter, so timezone/calendar data cannot
|
|
8
|
+
* leak into the model.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SdDateTimePickerAdapter implements SdTimePickerAdapter<Date> {
|
|
11
|
+
toPickerValue(value: string | null | undefined): Date;
|
|
12
|
+
fromPickerValue(value: Date): string | null;
|
|
13
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface SdTimeParts {
|
|
2
|
+
readonly hour: number;
|
|
3
|
+
readonly minute: number;
|
|
4
|
+
}
|
|
5
|
+
export interface SdTimeConstraints {
|
|
6
|
+
readonly min?: string | null;
|
|
7
|
+
readonly max?: string | null;
|
|
8
|
+
/** Minute increment. Non-positive and non-finite values disable step validation. */
|
|
9
|
+
readonly step?: number | null;
|
|
10
|
+
}
|
|
11
|
+
export type SdTimeValidationError = 'time' | 'min' | 'max' | 'step';
|
|
12
|
+
/** Parses a time-only string without constructing a Date or applying a timezone. */
|
|
13
|
+
export declare function sdParseTime(value: unknown): SdTimeParts | null;
|
|
14
|
+
/** Converts a valid time-only value to the canonical `HH:mm` representation. */
|
|
15
|
+
export declare function sdNormalizeTime(value: unknown): string | null;
|
|
16
|
+
/** Returns minutes since midnight for ordering and range validation. */
|
|
17
|
+
export declare function sdTimeToMinutes(value: unknown): number | null;
|
|
18
|
+
/** Validates syntax, inclusive boundaries, and minute-step alignment. */
|
|
19
|
+
export declare function sdValidateTime(value: unknown, constraints?: SdTimeConstraints): SdTimeValidationError | null;
|