@sdcorejs/angular 19.1.5 → 19.2.0
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 +12 -4
- package/assets/scss/core/menu.scss +18 -0
- package/assets/scss/core/utilities/_misc.scss +15 -0
- package/assets/scss/sd-core.scss +1 -0
- package/components/anchor/src/components/anchor/anchor.component.d.ts +3 -1
- package/components/badge/src/badge.component.d.ts +1 -0
- package/components/ckeditor-styles/src/ckeditor-styles.component.d.ts +1 -1
- package/components/form-generic/src/components/form-builder/components/expression-builder/expression-builder.component.d.ts +2 -1
- package/components/form-generic/src/components/form-builder/form-builder.component.d.ts +3 -1
- package/components/form-generic/src/components/form-render/components/item/components/checkbox/checkbox.component.d.ts +34 -0
- package/components/form-generic/src/components/form-render/components/item/components/index.d.ts +1 -0
- package/components/form-generic/src/components/form-render/components/item/components/table/table.component.d.ts +6 -1
- package/components/form-generic/src/components/sd-feel-expression/sd-feel-expression.component.d.ts +1 -1
- package/components/form-generic/src/configurations/form.configuration.d.ts +1 -1
- package/components/form-generic/src/models/form-generic-component.model.d.ts +8 -8
- package/components/form-generic/src/models/form-generic-definition-selection.model.d.ts +5 -5
- package/components/form-generic/src/models/form-generic-expression.model.d.ts +12 -12
- package/components/form-generic/src/models/index.d.ts +1 -0
- package/components/form-generic/src/services/form-generic.service.d.ts +2 -2
- package/components/import-excel/src/import-excel.component.d.ts +1 -0
- package/components/index.d.ts +6 -1
- package/components/mini-editor/src/mini-editor.model.d.ts +1 -1
- package/components/modal/src/modal.component.d.ts +3 -2
- package/components/modal-resizable/src/modal-resizable.component.d.ts +92 -0
- package/components/modal-resizable/src/modal-resizable.registry.d.ts +22 -0
- package/components/org-chart/src/org-chart.component.d.ts +6 -0
- package/components/preview/src/preview-image/preview-image.component.d.ts +1 -0
- package/components/preview/src/preview-pdf/pdf-worker-inline.generated.d.ts +7 -0
- package/components/query-bar/src/components/actions-bar/actions-bar.component.d.ts +6 -2
- package/components/query-bar/src/components/build-chip/build-chip.component.d.ts +4 -1
- package/components/query-bar/src/components/chip-popover/chip-popover.component.d.ts +8 -0
- package/components/query-bar/src/components/field-picker/field-picker.component.d.ts +2 -0
- package/components/query-bar/src/components/inline-chip/inline-chip.component.d.ts +2 -0
- package/components/query-bar/src/components/inline-value-chip/inline-value-chip.component.d.ts +3 -3
- package/components/query-bar/src/components/saved-filters-menu/saved-filters-menu.component.d.ts +9 -4
- package/components/query-bar/src/query-bar.component.d.ts +32 -5
- package/components/query-bar/src/query-bar.model.d.ts +15 -12
- package/components/query-builder/src/query-builder.component.d.ts +76 -39
- package/components/query-builder/src/query-builder.model.d.ts +59 -52
- package/components/query-builder/src/query-builder.serializer.d.ts +15 -6
- package/components/section/src/section.component.d.ts +3 -0
- package/components/side-drawer/src/body-scroll-lock.service.d.ts +10 -0
- package/components/splitter/src/splitter-handle/splitter-handle.component.d.ts +1 -0
- package/components/tab-router/index.d.ts +2 -1
- package/components/tab-router/src/actions/tab-router.action.d.ts +2 -2
- package/components/tab-router/src/components/tab-router-item/tab-router-item.component.d.ts +2 -2
- package/components/tab-router/src/components/tab-router-nav/tab-router-nav.component.d.ts +3 -3
- package/components/tab-router/src/components/tab-router-outlet/tab-router-outlet.component.d.ts +3 -3
- package/components/tab-router/src/decorators/tab.decorator.d.ts +13 -1
- package/components/tab-router/src/events/tab-router.event.d.ts +3 -3
- package/components/tab-router/src/models/tab-router.model.d.ts +2 -2
- package/components/tab-router/src/pipes/tab-info.pipe.d.ts +2 -2
- package/components/tab-router/src/services/tab-router.service.d.ts +9 -9
- package/components/table/index.d.ts +1 -0
- package/components/table/src/components/config/config.component.d.ts +6 -1
- package/components/table/src/components/desktop-cell/view/view.component.d.ts +1 -0
- package/components/table/src/components/filter/external-filter/external-filter.component.d.ts +1 -1
- package/components/table/src/components/filter/mobile-filter/mobile-filter.component.d.ts +1 -1
- package/components/table/src/components/selector-action/action-filter.pipe.d.ts +8 -1
- package/components/table/src/components/selector-action/selector-action.component.d.ts +2 -0
- package/components/table/src/directives/index.d.ts +1 -0
- package/components/table/src/directives/sd-table-command-header-def.directive.d.ts +24 -0
- package/components/table/src/models/table-column.model.d.ts +30 -13
- package/components/table/src/models/table-item.model.d.ts +30 -1
- package/components/table/src/models/table-option-selector.model.d.ts +5 -4
- package/components/table/src/models/table-option.model.d.ts +12 -0
- package/components/table/src/pipes/sd-group.pipe.d.ts +6 -2
- package/components/table/src/services/table-export/table-export.service.d.ts +3 -1
- package/components/table/src/services/table-filter/table-filter.model.d.ts +15 -15
- package/components/table/src/services/table-filter/table-filter.service.d.ts +2 -2
- package/components/table/src/services/table-format/table-format.service.d.ts +1 -1
- package/components/table/src/services/table-selection/selection-action.util.d.ts +24 -0
- package/components/table/src/services/table-selection/table-selection.util.d.ts +31 -0
- package/components/table/src/services/tree/tree.util.d.ts +3 -2
- package/components/table/src/table.component.d.ts +52 -6
- package/components/tree/src/tree-item-def.directive.d.ts +1 -1
- package/components/tree/src/tree.component.d.ts +16 -4
- package/components/tree/src/tree.model.d.ts +31 -25
- package/components/upload-file/src/configurations/upload-file.configuration.d.ts +2 -2
- package/components/upload-file/src/upload-file.component.d.ts +4 -1
- package/configurations/src/sd-core.configuration.d.ts +1 -2
- package/fesm2022/sdcorejs-angular-components-anchor.mjs +36 -12
- package/fesm2022/sdcorejs-angular-components-anchor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-autoid-inspector.mjs +2 -2
- package/fesm2022/sdcorejs-angular-components-autoid-inspector.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-badge.mjs +15 -2
- package/fesm2022/sdcorejs-angular-components-badge.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-button.mjs +2 -2
- package/fesm2022/sdcorejs-angular-components-button.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-ckeditor-styles.mjs +1 -1
- package/fesm2022/sdcorejs-angular-components-ckeditor-styles.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-code-editor.mjs +3 -3
- package/fesm2022/sdcorejs-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-data-state.mjs +3 -3
- package/fesm2022/sdcorejs-angular-components-data-state.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-editor.mjs +2 -2
- package/fesm2022/sdcorejs-angular-components-editor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-form-generic.mjs +324 -192
- package/fesm2022/sdcorejs-angular-components-form-generic.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-history.mjs +4 -4
- package/fesm2022/sdcorejs-angular-components-history.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-import-excel.mjs +13 -5
- package/fesm2022/sdcorejs-angular-components-import-excel.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-inform.mjs +3 -3
- package/fesm2022/sdcorejs-angular-components-inform.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-modal-resizable.mjs +164 -8
- package/fesm2022/sdcorejs-angular-components-modal-resizable.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-modal.mjs +30 -18
- package/fesm2022/sdcorejs-angular-components-modal.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-org-chart.mjs +60 -13
- package/fesm2022/sdcorejs-angular-components-org-chart.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-preview.mjs +58 -19
- package/fesm2022/sdcorejs-angular-components-preview.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-query-bar.mjs +192 -30
- package/fesm2022/sdcorejs-angular-components-query-bar.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-query-builder.mjs +187 -127
- package/fesm2022/sdcorejs-angular-components-query-builder.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-section.mjs +16 -2
- package/fesm2022/sdcorejs-angular-components-section.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-side-drawer.mjs +83 -24
- package/fesm2022/sdcorejs-angular-components-side-drawer.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-splitter.mjs +57 -21
- package/fesm2022/sdcorejs-angular-components-splitter.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-stepper.mjs +2 -2
- package/fesm2022/sdcorejs-angular-components-stepper.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tab-router.mjs +68 -20
- package/fesm2022/sdcorejs-angular-components-tab-router.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tab.mjs +3 -2
- package/fesm2022/sdcorejs-angular-components-tab.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-table.mjs +556 -254
- package/fesm2022/sdcorejs-angular-components-table.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tree.mjs +80 -17
- package/fesm2022/sdcorejs-angular-components-tree.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-upload-file.mjs +48 -13
- package/fesm2022/sdcorejs-angular-components-upload-file.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components.mjs +6 -1
- package/fesm2022/sdcorejs-angular-components.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-configurations.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-directives.mjs +45 -8
- package/fesm2022/sdcorejs-angular-directives.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs +40 -29
- package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-checkbox.mjs +5 -5
- package/fesm2022/sdcorejs-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs +67 -50
- package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-chip.mjs +57 -43
- package/fesm2022/sdcorejs-angular-forms-chip.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-date-range.mjs +233 -63
- package/fesm2022/sdcorejs-angular-forms-date-range.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-date.mjs +208 -41
- package/fesm2022/sdcorejs-angular-forms-date.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-datetime.mjs +130 -26
- package/fesm2022/sdcorejs-angular-forms-datetime.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs +39 -15
- package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input-color.mjs +16 -5
- package/fesm2022/sdcorejs-angular-forms-input-color.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input-number.mjs +24 -9
- package/fesm2022/sdcorejs-angular-forms-input-number.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input.mjs +58 -10
- package/fesm2022/sdcorejs-angular-forms-input.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-models.mjs +279 -6
- package/fesm2022/sdcorejs-angular-forms-models.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-radio.mjs +4 -4
- package/fesm2022/sdcorejs-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-select.mjs +135 -37
- package/fesm2022/sdcorejs-angular-forms-select.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-switch.mjs +18 -3
- package/fesm2022/sdcorejs-angular-forms-switch.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-textarea.mjs +51 -62
- package/fesm2022/sdcorejs-angular-forms-textarea.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-time-range.mjs +57 -12
- package/fesm2022/sdcorejs-angular-forms-time-range.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-time.mjs +16 -5
- package/fesm2022/sdcorejs-angular-forms-time.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-tree-select.mjs +100 -9
- package/fesm2022/sdcorejs-angular-forms-tree-select.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms.mjs +91 -46
- package/fesm2022/sdcorejs-angular-forms.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-handlers.mjs +18 -3
- package/fesm2022/sdcorejs-angular-handlers.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-i18n.mjs +510 -68
- package/fesm2022/sdcorejs-angular-i18n.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-interceptors.mjs +87 -29
- package/fesm2022/sdcorejs-angular-interceptors.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-auth.mjs +25 -15
- package/fesm2022/sdcorejs-angular-modules-auth.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-icon.mjs +2 -2
- package/fesm2022/sdcorejs-angular-modules-icon.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-keycloak.mjs +32 -3
- package/fesm2022/sdcorejs-angular-modules-keycloak.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-layout.mjs +441 -135
- package/fesm2022/sdcorejs-angular-modules-layout.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-permission.mjs +177 -40
- package/fesm2022/sdcorejs-angular-modules-permission.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-pipes.mjs +62 -28
- package/fesm2022/sdcorejs-angular-pipes.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-api.mjs +123 -13
- package/fesm2022/sdcorejs-angular-services-api.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-cache.mjs +53 -3
- package/fesm2022/sdcorejs-angular-services-cache.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-confirm.mjs +25 -73
- package/fesm2022/sdcorejs-angular-services-confirm.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-excel.mjs +12 -10
- package/fesm2022/sdcorejs-angular-services-excel.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-loading.mjs +75 -84
- package/fesm2022/sdcorejs-angular-services-loading.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-notify.mjs +46 -5
- package/fesm2022/sdcorejs-angular-services-notify.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-storage.mjs +4 -0
- package/fesm2022/sdcorejs-angular-services-storage.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services.mjs +0 -1
- package/fesm2022/sdcorejs-angular-services.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-utilities-extensions.mjs +225 -80
- package/fesm2022/sdcorejs-angular-utilities-extensions.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-utilities-models.mjs +1 -63
- package/fesm2022/sdcorejs-angular-utilities-models.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular.mjs +17 -10
- package/fesm2022/sdcorejs-angular.mjs.map +1 -1
- package/forms/autocomplete/src/autocomplete.component.d.ts +5 -2
- package/forms/chip-calendar/src/chip-calendar.component.d.ts +10 -0
- package/forms/date/src/date-input.util.d.ts +18 -0
- package/forms/date/src/date.component.d.ts +21 -3
- package/forms/date-range/src/date-range.component.d.ts +13 -2
- package/forms/datetime/src/datetime.component.d.ts +13 -2
- package/forms/entity-picker/src/entity-picker.component.d.ts +9 -3
- package/forms/input/src/input.component.d.ts +3 -0
- package/forms/input-color/src/input-color.component.d.ts +4 -0
- package/forms/input-number/src/input-number.component.d.ts +3 -0
- package/forms/models/index.d.ts +4 -0
- package/forms/models/src/sd-form-control-connector.d.ts +12 -0
- package/forms/models/src/sd-model-facing-control.d.ts +43 -0
- package/forms/models/src/sd-search.model.d.ts +1 -1
- package/forms/models/src/sd-selection-data.model.d.ts +1 -1
- package/forms/models/src/sd-strict-date-adapter.d.ts +26 -0
- package/forms/models/src/sd-temporal-transform.d.ts +31 -0
- package/forms/models/src/sd-timer-scope.d.ts +29 -0
- package/forms/select/src/select.component.d.ts +27 -4
- package/forms/src/forms.module.d.ts +22 -13
- package/forms/switch/src/switch.component.d.ts +5 -0
- package/forms/textarea/src/textarea.component.d.ts +5 -3
- package/forms/time-range/src/time-range.component.d.ts +22 -1
- package/forms/tree-select/src/tree-select.component.d.ts +36 -5
- package/i18n/src/en.d.ts +94 -10
- package/i18n/src/i18n.messages.d.ts +1 -1
- package/i18n/src/i18n.pipe.d.ts +3 -3
- package/i18n/src/i18n.service.d.ts +2 -1
- package/i18n/src/i18n.types.d.ts +0 -3
- package/interceptors/no-internet/no-internet.interceptor.d.ts +11 -1
- package/modules/auth/services/auth.model.d.ts +1 -1
- package/modules/keycloak/keycloak.service.d.ts +1 -0
- package/modules/layout/components/shared/menu-tree/menu-tree.component.d.ts +2 -0
- package/modules/layout/components/sidebar-mobile-v1/components/sidebar/sidebar.component.d.ts +3 -3
- package/modules/layout/components/sidebar-mobile-v1/main.component.d.ts +3 -3
- package/modules/layout/components/sidebar-mobile-v2/main.component.d.ts +3 -3
- package/modules/layout/components/sidebar-mobile-v3/main.component.d.ts +3 -3
- package/modules/layout/components/sidebar-v1/components/sidebar/sidebar.component.d.ts +8 -3
- package/modules/layout/components/sidebar-v1/main.component.d.ts +3 -3
- package/modules/layout/components/sidebar-v2/main.component.d.ts +3 -3
- package/modules/layout/components/sidebar-v3/main.component.d.ts +3 -3
- package/modules/layout/index.d.ts +1 -0
- package/modules/layout/modules/forbidden/pages/root/root.component.d.ts +5 -0
- package/modules/layout/modules/not-found/pages/root/root.component.d.ts +5 -0
- package/modules/layout/services/layout.service.d.ts +21 -0
- package/modules/layout/services/storage/storage.service.d.ts +52 -7
- package/modules/layout/utils/index.d.ts +1 -0
- package/modules/layout/utils/tab-name.util.d.ts +8 -0
- package/modules/permission/src/configurations/permission.configuration.d.ts +11 -0
- package/modules/permission/src/directives/permission.directive.d.ts +2 -1
- package/modules/permission/src/services/permission.service.d.ts +52 -1
- package/package.json +48 -33
- package/pipes/src/safe-html.pipe.d.ts +26 -4
- package/pipes/src/time-different.pipe.d.ts +1 -0
- package/public-api.d.ts +11 -10
- package/services/api/src/api-host.d.ts +15 -0
- package/services/api/src/api.model.d.ts +14 -0
- package/services/api/src/api.module.d.ts +6 -0
- package/services/cache/src/cache.model.d.ts +10 -0
- package/services/index.d.ts +0 -1
- package/services/notify/index.d.ts +1 -1
- package/utilities/extensions/index.d.ts +1 -5
- package/utilities/extensions/src/url-safety.d.ts +72 -0
- package/utilities/extensions/src/utility.extension.d.ts +9 -5
- package/utilities/models/index.d.ts +0 -10
- package/components/base/index.d.ts +0 -1
- package/components/base/src/base-secure.component.d.ts +0 -8
- package/components/document-builder/index.d.ts +0 -4
- package/components/document-builder/src/components/header-footer-builder/header-footer-builder.component.d.ts +0 -15
- package/components/document-builder/src/components/header-footer-builder/plugins/page-number.plugin.d.ts +0 -4
- package/components/document-builder/src/components/index.d.ts +0 -1
- package/components/document-builder/src/document-builder.component.d.ts +0 -53
- package/components/document-builder/src/document-builder.config.d.ts +0 -21
- package/components/document-builder/src/document-builder.model.d.ts +0 -41
- package/components/document-builder/src/document-builder.utils.d.ts +0 -10
- package/components/document-builder/src/plugins/block-space/block-space.plugin.d.ts +0 -9
- package/components/document-builder/src/plugins/ck-comment/ck-comment.plugin.d.ts +0 -44
- package/components/document-builder/src/plugins/ck-comment/ck-comment.plugin.model.d.ts +0 -57
- package/components/document-builder/src/plugins/heading/heading.plugin.d.ts +0 -5
- package/components/document-builder/src/plugins/highlight-range/highlight-range.plugin.d.ts +0 -4
- package/components/document-builder/src/plugins/image-custom/image-custom.plugin.d.ts +0 -31
- package/components/document-builder/src/plugins/image-upload/image-upload.plugin.d.ts +0 -5
- package/components/document-builder/src/plugins/index.d.ts +0 -11
- package/components/document-builder/src/plugins/page-orientation/page-orientation.plugin.d.ts +0 -24
- package/components/document-builder/src/plugins/paste-handler/filters/bookmark.d.ts +0 -14
- package/components/document-builder/src/plugins/paste-handler/filters/br.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/image.d.ts +0 -25
- package/components/document-builder/src/plugins/paste-handler/filters/list.d.ts +0 -29
- package/components/document-builder/src/plugins/paste-handler/filters/parse.d.ts +0 -35
- package/components/document-builder/src/plugins/paste-handler/filters/removeboldwrapper.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/removegooglesheetstag.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/removeinvalidtablewidth.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/removemsattributes.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/removestyleblock.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/removexmlns.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/replacemsfootnotes.d.ts +0 -54
- package/components/document-builder/src/plugins/paste-handler/filters/space.d.ts +0 -27
- package/components/document-builder/src/plugins/paste-handler/filters/table.d.ts +0 -16
- package/components/document-builder/src/plugins/paste-handler/filters/utils.d.ts +0 -25
- package/components/document-builder/src/plugins/paste-handler/index.d.ts +0 -35
- package/components/document-builder/src/plugins/paste-handler/normalizers/googledocsnormalizer.d.ts +0 -31
- package/components/document-builder/src/plugins/paste-handler/normalizers/googlesheetsnormalizer.d.ts +0 -31
- package/components/document-builder/src/plugins/paste-handler/normalizers/mswordnormalizer.d.ts +0 -29
- package/components/document-builder/src/plugins/paste-handler/types.d.ts +0 -30
- package/components/document-builder/src/plugins/table-custom/index.d.ts +0 -34
- package/components/document-builder/src/plugins/variable/variable.plugin.d.ts +0 -51
- package/components/table/src/pipes/selection-visible-select-all.pipe.d.ts +0 -9
- package/fesm2022/sdcorejs-angular-components-base.mjs +0 -23
- package/fesm2022/sdcorejs-angular-components-base.mjs.map +0 -1
- package/fesm2022/sdcorejs-angular-components-document-builder.mjs +0 -5038
- package/fesm2022/sdcorejs-angular-components-document-builder.mjs.map +0 -1
- package/fesm2022/sdcorejs-angular-models.mjs +0 -6
- package/fesm2022/sdcorejs-angular-models.mjs.map +0 -1
- package/fesm2022/sdcorejs-angular-services-docx.mjs +0 -291
- package/fesm2022/sdcorejs-angular-services-docx.mjs.map +0 -1
- package/fesm2022/sdcorejs-angular-services-license.mjs +0 -97
- package/fesm2022/sdcorejs-angular-services-license.mjs.map +0 -1
- package/models/index.d.ts +0 -1
- package/models/src/language.model.d.ts +0 -2
- package/services/docx/index.d.ts +0 -1
- package/services/docx/src/lib/docx.model.d.ts +0 -9
- package/services/docx/src/lib/docx.service.d.ts +0 -14
- package/services/docx/src/lib/pandoc-core.d.ts +0 -11
- package/services/docx/src/public-api.d.ts +0 -2
- package/services/license/index.d.ts +0 -1
- package/services/license/src/license.service.d.ts +0 -9
- package/utilities/extensions/src/array.extension.d.ts +0 -1
- package/utilities/extensions/src/color.extension.d.ts +0 -5
- package/utilities/extensions/src/date.extension.d.ts +0 -1
- package/utilities/extensions/src/number.extension.d.ts +0 -1
- package/utilities/extensions/src/string.extension.d.ts +0 -50
- package/utilities/models/src/color.model.d.ts +0 -4
- package/utilities/models/src/empty.model.d.ts +0 -4
- package/utilities/models/src/filter.model.d.ts +0 -12
- package/utilities/models/src/maybe-async.model.d.ts +0 -10
- package/utilities/models/src/nested-key-of.model.d.ts +0 -4
- package/utilities/models/src/operator.model.d.ts +0 -13
- package/utilities/models/src/order.model.d.ts +0 -4
- package/utilities/models/src/paging.model.d.ts +0 -8
- package/utilities/models/src/pattern.model.d.ts +0 -21
- package/utilities/models/src/size.model.d.ts +0 -4
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Output serialization strategy for the temporal form controls (`<sd-date>`, `<sd-datetime>`,
|
|
3
|
+
* `<sd-date-range>`).
|
|
4
|
+
*
|
|
5
|
+
* This names how a committed value leaves the component — through `model` / `modelChange` /
|
|
6
|
+
* `sdChange` and the registered `FormGroup` field. It does **not** touch what the field displays,
|
|
7
|
+
* and it is **not** an Angular input-coercion `transform`.
|
|
8
|
+
*/
|
|
9
|
+
export type SdTemporalValueTransform = 'ISOString' | 'UTCString';
|
|
10
|
+
/** Every supported strategy, derived from the strategy map so the two can never drift. */
|
|
11
|
+
export declare const SD_TEMPORAL_VALUE_TRANSFORMS: readonly SdTemporalValueTransform[];
|
|
12
|
+
export declare function sdIsTemporalValueTransform(value: unknown): value is SdTemporalValueTransform;
|
|
13
|
+
/**
|
|
14
|
+
* Serializes a committed value with the active strategy.
|
|
15
|
+
*
|
|
16
|
+
* Returns `null` for anything that is not a usable `Date`, so an invalid value can never reach a
|
|
17
|
+
* serializer and produce the string `"Invalid Date"`. Callers treat `null` as "keep the existing
|
|
18
|
+
* representation".
|
|
19
|
+
*/
|
|
20
|
+
export declare function sdSerializeTemporalValue(value: Date | null | undefined, transform: SdTemporalValueTransform | null | undefined): string | null;
|
|
21
|
+
/** Local midnight of the given day. Date-only controls serialize this instant, never the raw value. */
|
|
22
|
+
export declare function sdLocalStartOfDay(value: Date): Date;
|
|
23
|
+
/**
|
|
24
|
+
* Parses the wire formats these transforms emit, so a component can read back its own output.
|
|
25
|
+
*
|
|
26
|
+
* Deliberately narrow: only ISO 8601 and the RFC-1123 shape `toUTCString()` produces are accepted.
|
|
27
|
+
* Handing the whole job to `new Date(text)` would make every loosely date-shaped string parse
|
|
28
|
+
* differently per browser, and would swallow the legacy canonical formats the components already
|
|
29
|
+
* parse with their own strict parsers. Returns `null` when the text is not one of these.
|
|
30
|
+
*/
|
|
31
|
+
export declare function sdParseTransformedTemporal(value: unknown): Date | null;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal Macrotask timers owned by a component/directive injector.
|
|
3
|
+
*
|
|
4
|
+
* Every pending handle is cleared when the host is destroyed, so a deferred focus,
|
|
5
|
+
* panel-open or emit can never run against a torn-down view.
|
|
6
|
+
*/
|
|
7
|
+
export interface ɵSdTimerScope {
|
|
8
|
+
/**
|
|
9
|
+
* `setTimeout` with the same observable timing, minus the leak: the handle is tracked
|
|
10
|
+
* and cleared on destroy. Scheduling after destroy is a no-op.
|
|
11
|
+
*/
|
|
12
|
+
schedule(handler: () => void, delayMs?: number): void;
|
|
13
|
+
/** Cancels every pending timer without waiting for destroy. */
|
|
14
|
+
clear(): void;
|
|
15
|
+
/** Number of timers still pending. Test/diagnostics only. */
|
|
16
|
+
readonly pending: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @internal Creates a destroy-scoped timer bag. MUST be called from an injection context
|
|
20
|
+
* (class field initializer or constructor) because it resolves `DestroyRef`.
|
|
21
|
+
*
|
|
22
|
+
* why: gần như mọi form control đều hoãn focus / mở panel bằng `setTimeout(..., 100)` để chờ
|
|
23
|
+
* Material dựng xong DOM. Handle không được giữ lại nên callback vẫn chạy sau khi host view đã
|
|
24
|
+
* destroy — route đổi nhanh hoặc chip bị gỡ giữa lúc focus là đủ để `detectChanges()` ném
|
|
25
|
+
* `ViewDestroyedError`, hoặc để một output bắn ra sau khi consumer đã unsubscribe. Gom vào một
|
|
26
|
+
* scope duy nhất để nơi dùng chỉ cần đổi `setTimeout(fn, ms)` → `#timers.schedule(fn, ms)`,
|
|
27
|
+
* KHÔNG đổi độ trễ (đây là fix vòng đời, không phải fix hành vi).
|
|
28
|
+
*/
|
|
29
|
+
export declare function ɵsdTimerScope(): ɵSdTimerScope;
|
|
@@ -12,6 +12,9 @@ import * as i0 from "@angular/core";
|
|
|
12
12
|
export declare class SdSelect<T extends object | string | number = Record<string, unknown>> implements OnInit {
|
|
13
13
|
#private;
|
|
14
14
|
id: string;
|
|
15
|
+
/** why: id ổn định của <mat-error> để control trỏ `aria-describedby` sang — thông báo lỗi
|
|
16
|
+
* phải đọc được từ chính control, không chỉ hiện ra màn hình. */
|
|
17
|
+
readonly errorId: string;
|
|
15
18
|
matInputRef: Signal<MatInput | undefined>;
|
|
16
19
|
selectRef: Signal<MatSelect | undefined>;
|
|
17
20
|
sdLabelTemplate: Signal<TemplateRef<any> | undefined>;
|
|
@@ -49,8 +52,8 @@ export declare class SdSelect<T extends object | string | number = Record<string
|
|
|
49
52
|
label: import("@angular/core").InputSignal<string | undefined>;
|
|
50
53
|
helperText: import("@angular/core").InputSignal<string | undefined>;
|
|
51
54
|
placeholder: import("@angular/core").InputSignal<string | undefined>;
|
|
52
|
-
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>;
|
|
53
|
-
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>;
|
|
55
|
+
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)>;
|
|
56
|
+
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)>;
|
|
54
57
|
disabledField: 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)>;
|
|
55
58
|
cacheChecksum: import("@angular/core").InputSignal<any>;
|
|
56
59
|
limit: import("@angular/core").InputSignal<number>;
|
|
@@ -62,6 +65,11 @@ export declare class SdSelect<T extends object | string | number = Record<string
|
|
|
62
65
|
/** Display mode: `false` edit · `true` static view · `'inline'` view + click-to-edit (bare editor). */
|
|
63
66
|
viewed: import("@angular/core").InputSignalWithTransform<SdViewed, SdViewedInput>;
|
|
64
67
|
multiple: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
68
|
+
/**
|
|
69
|
+
* Hiện option "Tất cả" đầu panel (chỉ multiple + items là mảng tĩnh/Signal — ẩn với
|
|
70
|
+
* SdSearch lazy vì dataset không xác định). Opt-in, default `false`.
|
|
71
|
+
*/
|
|
72
|
+
showSelectAll: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
65
73
|
/**
|
|
66
74
|
* Whether the `viewed='inline'` text face shows a hover clear-× to empty the value.
|
|
67
75
|
* Default `true`. Set `false` where the HOST owns removal (e.g. `<sd-query-bar>` chips,
|
|
@@ -86,7 +94,7 @@ export declare class SdSelect<T extends object | string | number = Record<string
|
|
|
86
94
|
items: import("@angular/core").InputSignal<SdSearch | T[] | Signal<T[]> | null | undefined>;
|
|
87
95
|
valueModel: import("@angular/core").ModelSignal<string | number | boolean | (string | number)[] | null | undefined>;
|
|
88
96
|
sdChange: import("@angular/core").OutputEmitterRef<any>;
|
|
89
|
-
sdSelection: import("@angular/core").OutputEmitterRef<SdSelectionData<
|
|
97
|
+
sdSelection: import("@angular/core").OutputEmitterRef<SdSelectionData<unknown>>;
|
|
90
98
|
formControl: SdFormControl;
|
|
91
99
|
inputControl: FormControl<string | null>;
|
|
92
100
|
loading: import("@angular/core").WritableSignal<boolean>;
|
|
@@ -107,6 +115,15 @@ export declare class SdSelect<T extends object | string | number = Record<string
|
|
|
107
115
|
normalizedValue: Signal<string | number | boolean | (string | number | boolean)[] | null | undefined>;
|
|
108
116
|
filtered: Signal<boolean>;
|
|
109
117
|
delayTime: Signal<0 | 500>;
|
|
118
|
+
/**
|
|
119
|
+
* Scope của "Tất cả": item enabled khớp search text hiện tại, tính trên MẢNG NGUỒN
|
|
120
|
+
* `actualItems()`.
|
|
121
|
+
*/
|
|
122
|
+
readonly selectAllScope: Signal<T[]>;
|
|
123
|
+
/** Row "Tất cả" chỉ render khi opt-in + multiple + items tĩnh + scope có item để thao tác. */
|
|
124
|
+
readonly selectAllVisible: Signal<boolean>;
|
|
125
|
+
/** Trạng thái checkbox "Tất cả", tính trên items ENABLED trong scope (item disabled bỏ qua). */
|
|
126
|
+
readonly selectAllState: Signal<"checked" | "indeterminate" | "unchecked">;
|
|
110
127
|
itemValue: (item: T) => unknown;
|
|
111
128
|
itemDisplay: (item: T) => string;
|
|
112
129
|
itemDisabled: (item: T) => boolean;
|
|
@@ -117,6 +134,12 @@ export declare class SdSelect<T extends object | string | number = Record<string
|
|
|
117
134
|
constructor();
|
|
118
135
|
ngOnInit(): void;
|
|
119
136
|
onSelectionChange: (change: MatSelectChange) => void;
|
|
137
|
+
/**
|
|
138
|
+
* Toggle "Tất cả" theo scope hiện tại (items enabled khớp search):
|
|
139
|
+
* - Đang `checked` → BỎ chọn các value trong scope (giữ value ngoài scope, kể cả item disabled đã chọn).
|
|
140
|
+
* - Ngược lại → CHỌN THÊM toàn bộ scope, union với selection hiện có (additive khi đang search).
|
|
141
|
+
*/
|
|
142
|
+
toggleSelectAll: () => void;
|
|
120
143
|
reValidate: () => void;
|
|
121
144
|
clear: ($event?: any) => void;
|
|
122
145
|
onClick: () => void;
|
|
@@ -127,5 +150,5 @@ export declare class SdSelect<T extends object | string | number = Record<string
|
|
|
127
150
|
open: () => void;
|
|
128
151
|
onOpenedChange: (isOpened: boolean) => void;
|
|
129
152
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdSelect<any>, never>;
|
|
130
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdSelect<any>, "sd-select", 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; }; "valueField": { "alias": "valueField"; "required":
|
|
153
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdSelect<any>, "sd-select", 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; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "displayField": { "alias": "displayField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "cacheChecksum": { "alias": "cacheChecksum"; "required": false; "isSignal": true; }; "limit": { "alias": "limit"; "required": false; "isSignal": true; }; "hyperlink": { "alias": "hyperlink"; "required": false; "isSignal": true; }; "minWidthPanel": { "alias": "minWidthPanel"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "showSelectAll": { "alias": "showSelectAll"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "validator": { "alias": "validator"; "required": false; "isSignal": true; }; "inlineError": { "alias": "inlineError"; "required": false; "isSignal": true; }; "appearanceInput": { "alias": "appearance"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; "sdChange": "sdChange"; "sdSelection": "sdSelection"; }, ["sdLabelTemplate", "sdValueTemplate", "sdSelectedTemplate", "itemDef", "sdViewDef", "footerActions"], ["[sdLabel]"], true, never>;
|
|
131
154
|
}
|
|
@@ -1,18 +1,27 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "@sdcorejs/angular/forms/
|
|
3
|
-
import * as i2 from "@sdcorejs/angular/forms/input
|
|
4
|
-
import * as i3 from "@sdcorejs/angular/forms/
|
|
5
|
-
import * as i4 from "@sdcorejs/angular/forms/
|
|
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/
|
|
10
|
-
import * as i9 from "@sdcorejs/angular/forms/
|
|
11
|
-
import * as i10 from "@sdcorejs/angular/forms/
|
|
12
|
-
import * as i11 from "@sdcorejs/angular/forms/
|
|
13
|
-
import * as i12 from "@sdcorejs/angular/forms/
|
|
2
|
+
import * as i1 from "@sdcorejs/angular/forms/label";
|
|
3
|
+
import * as i2 from "@sdcorejs/angular/forms/input";
|
|
4
|
+
import * as i3 from "@sdcorejs/angular/forms/input-color";
|
|
5
|
+
import * as i4 from "@sdcorejs/angular/forms/inline-text";
|
|
6
|
+
import * as i5 from "@sdcorejs/angular/forms/input-number";
|
|
7
|
+
import * as i6 from "@sdcorejs/angular/forms/date";
|
|
8
|
+
import * as i7 from "@sdcorejs/angular/forms/datetime";
|
|
9
|
+
import * as i8 from "@sdcorejs/angular/forms/date-range";
|
|
10
|
+
import * as i9 from "@sdcorejs/angular/forms/time";
|
|
11
|
+
import * as i10 from "@sdcorejs/angular/forms/time-range";
|
|
12
|
+
import * as i11 from "@sdcorejs/angular/forms/entity-picker";
|
|
13
|
+
import * as i12 from "@sdcorejs/angular/forms/tree-select";
|
|
14
|
+
import * as i13 from "@sdcorejs/angular/forms/select";
|
|
15
|
+
import * as i14 from "@sdcorejs/angular/forms/autocomplete";
|
|
16
|
+
import * as i15 from "@sdcorejs/angular/forms/switch";
|
|
17
|
+
import * as i16 from "@sdcorejs/angular/forms/radio";
|
|
18
|
+
import * as i17 from "@sdcorejs/angular/forms/textarea";
|
|
19
|
+
import * as i18 from "@sdcorejs/angular/forms/chip";
|
|
20
|
+
import * as i19 from "@sdcorejs/angular/forms/chip-calendar";
|
|
21
|
+
import * as i20 from "@sdcorejs/angular/forms/checkbox";
|
|
22
|
+
import * as i21 from "@sdcorejs/angular/forms/directives";
|
|
14
23
|
export declare class SdFormsModule {
|
|
15
24
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdFormsModule, never>;
|
|
16
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SdFormsModule, never, [typeof i1.
|
|
25
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SdFormsModule, never, [typeof i1.SdLabel, typeof i2.SdInput, typeof i3.SdInputColor, typeof i4.SdInlineText, typeof i5.SdInputNumber, typeof i6.SdDate, typeof i7.SdDatetime, typeof i8.SdDateRange, typeof i9.SdTime, typeof i10.SdTimeRange, typeof i11.SdEntityPicker, typeof i12.SdTreeSelect, typeof i13.SdSelect, typeof i14.SdAutocomplete, typeof i15.SdSwitch, typeof i16.SdRadio, typeof i17.SdTextarea, typeof i18.SdChip, typeof i19.SdChipCalendar, typeof i20.SdCheckbox, typeof i21.SdSuffixDefDirective, typeof i21.SdLabelDefDirective, typeof i21.SdViewDefDirective, typeof i21.SdItemDefDefDirective, typeof i13.SdSelectFooterActionDirective, typeof i11.SdEntityPickerSelectedTemplateDirective, typeof i11.SdEntityPickerRowTemplateDirective, typeof i11.SdEntityPickerDetailTemplateDirective, typeof i12.SdTreeSelectNodeTemplateDirective], [typeof i1.SdLabel, typeof i2.SdInput, typeof i3.SdInputColor, typeof i4.SdInlineText, typeof i5.SdInputNumber, typeof i6.SdDate, typeof i7.SdDatetime, typeof i8.SdDateRange, typeof i9.SdTime, typeof i10.SdTimeRange, typeof i11.SdEntityPicker, typeof i12.SdTreeSelect, typeof i13.SdSelect, typeof i14.SdAutocomplete, typeof i15.SdSwitch, typeof i16.SdRadio, typeof i17.SdTextarea, typeof i18.SdChip, typeof i19.SdChipCalendar, typeof i20.SdCheckbox, typeof i21.SdSuffixDefDirective, typeof i21.SdLabelDefDirective, typeof i21.SdViewDefDirective, typeof i21.SdItemDefDefDirective, typeof i13.SdSelectFooterActionDirective, typeof i11.SdEntityPickerSelectedTemplateDirective, typeof i11.SdEntityPickerRowTemplateDirective, typeof i11.SdEntityPickerDetailTemplateDirective, typeof i12.SdTreeSelectNodeTemplateDirective]>;
|
|
17
26
|
static ɵinj: i0.ɵɵInjectorDeclaration<SdFormsModule>;
|
|
18
27
|
}
|
|
@@ -25,6 +25,11 @@ export declare class SdSwitch implements OnInit, OnDestroy {
|
|
|
25
25
|
readonly dataEmpty: import("@angular/core").Signal<"true" | "false">;
|
|
26
26
|
readonly dataValue: import("@angular/core").Signal<string>;
|
|
27
27
|
readonly dataRequired: import("@angular/core").Signal<"true" | "false">;
|
|
28
|
+
readonly errorMessage: import("@angular/core").Signal<string | undefined>;
|
|
29
|
+
/** Shared reactive form policy — `validationError` is already interaction-gated (touched/dirty). */
|
|
30
|
+
readonly connectorState: import("@angular/core").Signal<import("@sdcorejs/angular/forms/models").ɵSdFormControlConnectorState<boolean | null | undefined>>;
|
|
31
|
+
/** Message to render inline; `undefined` while untouched, or when `hideInlineError` is set. */
|
|
32
|
+
readonly visibleErrorMessage: import("@angular/core").Signal<string | undefined>;
|
|
28
33
|
ngOnInit(): void;
|
|
29
34
|
ngOnDestroy(): void;
|
|
30
35
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdSwitch, never>;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ElementRef, OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { FormGroup } from '@angular/forms';
|
|
3
3
|
import { FloatLabelType, MatFormFieldAppearance } from '@angular/material/form-field';
|
|
4
4
|
import { SdLabelDefDirective, SdSuffixDefDirective, SdViewDefDirective } from '@sdcorejs/angular/forms/directives';
|
|
5
5
|
import { SdCustomValidator, SdFormControl, SdViewed, SdViewedInput } from '@sdcorejs/angular/forms/models';
|
|
6
6
|
import { Size } from '@sdcorejs/utils/models';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
-
export declare class SdTextarea implements OnInit,
|
|
8
|
+
export declare class SdTextarea implements OnInit, OnDestroy {
|
|
9
9
|
#private;
|
|
10
10
|
id: string;
|
|
11
|
+
/** why: id ổn định của <mat-error> để control trỏ `aria-describedby` sang — thông báo lỗi
|
|
12
|
+
* phải đọc được từ chính control, không chỉ hiện ra màn hình. */
|
|
13
|
+
readonly errorId: string;
|
|
11
14
|
textareaRef: import("@angular/core").Signal<ElementRef<HTMLTextAreaElement> | undefined>;
|
|
12
15
|
sdViewDef: import("@angular/core").Signal<SdViewDefDirective<any, any> | undefined>;
|
|
13
16
|
sdLabelDef: import("@angular/core").Signal<SdLabelDefDirective | undefined>;
|
|
@@ -58,7 +61,6 @@ export declare class SdTextarea implements OnInit, AfterViewInit, OnDestroy {
|
|
|
58
61
|
isFocused: boolean;
|
|
59
62
|
constructor();
|
|
60
63
|
ngOnInit(): void;
|
|
61
|
-
ngAfterViewInit(): void;
|
|
62
64
|
ngOnDestroy(): void;
|
|
63
65
|
onFocus: () => void;
|
|
64
66
|
onBlur: () => void;
|
|
@@ -60,8 +60,29 @@ export declare class SdTimeRange {
|
|
|
60
60
|
readonly isReadonly: import("@angular/core").Signal<boolean>;
|
|
61
61
|
readonly viewTemplate: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
|
|
62
62
|
readonly displayValue: import("@angular/core").Signal<string>;
|
|
63
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Endpoint invalid ĐÃ gate theo tương tác — CHỈ dùng cho hiển thị (message, `data-invalid`).
|
|
65
|
+
* `connectorState().invalid` của `sd-time` là `invalid && (touched || dirty)`.
|
|
66
|
+
*/
|
|
64
67
|
readonly endpointInvalid: import("@angular/core").Signal<boolean>;
|
|
68
|
+
/**
|
|
69
|
+
* Endpoint invalid THÔ — không gate theo tương tác. Dùng cho VALIDATOR của control tổng.
|
|
70
|
+
* why: endpoint không còn được đăng ký vào FormGroup của consumer, nên validity của chúng chỉ
|
|
71
|
+
* tới được form cha qua control tổng. Nếu đường đó cũng gate theo `touched || dirty` thì một
|
|
72
|
+
* endpoint invalid do ghi programmatic (chưa ai chạm vào) sẽ để form cha VALID — sai contract
|
|
73
|
+
* đã ghi trong `sd-time-range.md`.
|
|
74
|
+
* `formControl.invalid` là property thường nên tự nó không phát tín hiệu; đọc `connectorState()`
|
|
75
|
+
* một nhịp để computed có dependency reactive theo `events` của endpoint control.
|
|
76
|
+
*/
|
|
77
|
+
readonly endpointInvalidRaw: import("@angular/core").Signal<boolean>;
|
|
78
|
+
/**
|
|
79
|
+
* Message đã gate theo tương tác — thứ template được phép hiển thị.
|
|
80
|
+
* why: `errorMessage()` thô bung lỗi ngay lần paint đầu với `[required]`, khi người dùng chưa
|
|
81
|
+
* chạm vào ô nào. `connectorState().validationError` gate theo control tổng; range còn có 2
|
|
82
|
+
* endpoint có thể invalid trong khi control tổng chưa dirty (text sai không tới được model tổng),
|
|
83
|
+
* nên phải cộng thêm nhánh endpoint — `endpointInvalid` tự nó đã gate theo touched/dirty.
|
|
84
|
+
*/
|
|
85
|
+
readonly visibleError: import("@angular/core").Signal<string | undefined>;
|
|
65
86
|
readonly dataDisabled: import("@angular/core").Signal<"true" | "false">;
|
|
66
87
|
readonly dataInvalid: import("@angular/core").Signal<"true" | "false">;
|
|
67
88
|
readonly dataEmpty: import("@angular/core").Signal<"true" | "false">;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { ElementRef, TemplateRef } from '@angular/core';
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
2
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
|
+
import { ErrorStateMatcher } from '@angular/material/core';
|
|
4
|
+
import { MatFormFieldAppearance } from '@angular/material/form-field';
|
|
3
5
|
import { SdModal } from '@sdcorejs/angular/components/modal';
|
|
4
6
|
import { SdTree, SdTreeComponentOption, SdTreeDataSource, SdTreeItem, SdTreeItemContext, SdTreeLoadErrorEvent, SdTreeOption, SdTreeSelectionEvent } from '@sdcorejs/angular/components/tree';
|
|
5
7
|
import { SdFormControl, SdViewed, SdViewedInput, ɵSdFormControlParent } from '@sdcorejs/angular/forms/models';
|
|
8
|
+
import { Size } from '@sdcorejs/utils/models';
|
|
6
9
|
import * as i0 from "@angular/core";
|
|
7
10
|
export type SdTreeSelectModel<TKey> = TKey | TKey[] | null | undefined;
|
|
8
11
|
export type SdTreeSelectTemplateContext<T> = SdTreeItemContext<T>;
|
|
@@ -14,18 +17,24 @@ export declare class SdTreeSelectNodeTemplateDirective<T> {
|
|
|
14
17
|
}
|
|
15
18
|
export declare class SdTreeSelect<T = unknown, TKey = string | number> {
|
|
16
19
|
#private;
|
|
17
|
-
readonly trigger: import("@angular/core").Signal<ElementRef<
|
|
20
|
+
readonly trigger: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
18
21
|
readonly modal: import("@angular/core").Signal<SdModal | undefined>;
|
|
19
22
|
readonly treeComponent: import("@angular/core").Signal<SdTree<T> | undefined>;
|
|
20
23
|
readonly nodeTemplate: import("@angular/core").Signal<SdTreeSelectNodeTemplateDirective<any> | undefined>;
|
|
24
|
+
readonly errorId: string;
|
|
21
25
|
readonly autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
|
|
22
26
|
readonly autoId: import("@angular/core").Signal<string | undefined>;
|
|
23
27
|
readonly name: import("@angular/core").InputSignal<string>;
|
|
24
28
|
readonly form: import("@angular/core").InputSignalWithTransform<FormGroup<any> | undefined, ɵSdFormControlParent>;
|
|
25
29
|
readonly label: import("@angular/core").InputSignal<string | undefined>;
|
|
30
|
+
readonly helperText: import("@angular/core").InputSignal<string | undefined>;
|
|
26
31
|
readonly placeholder: import("@angular/core").InputSignal<string | null | undefined>;
|
|
27
32
|
readonly modalTitle: import("@angular/core").InputSignal<string | null | undefined>;
|
|
28
33
|
readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
|
|
34
|
+
readonly size: import("@angular/core").InputSignal<Size>;
|
|
35
|
+
readonly appearanceInput: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
|
|
36
|
+
readonly appearance: import("@angular/core").Signal<MatFormFieldAppearance>;
|
|
37
|
+
readonly hideInlineError: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
29
38
|
readonly items: import("@angular/core").InputSignal<SdTreeDataSource<SdTreeItem<T>>>;
|
|
30
39
|
readonly tree: import("@angular/core").InputSignal<SdTreeOption<T>>;
|
|
31
40
|
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>;
|
|
@@ -37,15 +46,36 @@ export declare class SdTreeSelect<T = unknown, TKey = string | number> {
|
|
|
37
46
|
readonly multiple: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
38
47
|
readonly cascade: import("@angular/core").InputSignal<"independent" | "descendants">;
|
|
39
48
|
readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
49
|
+
/** Component-local error text. Set it to force the control invalid and render the message. */
|
|
50
|
+
readonly inlineError: import("@angular/core").InputSignal<string | undefined>;
|
|
40
51
|
readonly clearable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
41
52
|
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
42
53
|
readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
43
54
|
readonly viewed: import("@angular/core").InputSignalWithTransform<SdViewed, SdViewedInput>;
|
|
44
55
|
readonly model: import("@angular/core").ModelSignal<SdTreeSelectModel<TKey>>;
|
|
45
56
|
readonly sdChange: import("@angular/core").OutputEmitterRef<SdTreeSelectModel<TKey>>;
|
|
46
|
-
readonly
|
|
57
|
+
readonly loadError: import("@angular/core").OutputEmitterRef<SdTreeLoadErrorEvent<T>>;
|
|
47
58
|
readonly formControl: SdFormControl;
|
|
59
|
+
readonly errorMessage: import("@angular/core").Signal<string | undefined>;
|
|
48
60
|
readonly connectorState: import("@angular/core").Signal<import("@sdcorejs/angular/forms/models").ɵSdFormControlConnectorState<SdTreeSelectModel<TKey>>>;
|
|
61
|
+
/** Interaction-gated validation message; `undefined` until the control is touched/dirty. */
|
|
62
|
+
readonly visibleErrorMessage: import("@angular/core").Signal<string | undefined>;
|
|
63
|
+
/**
|
|
64
|
+
* Text-only control backing the readonly trigger; `formControl` above holds the real keys.
|
|
65
|
+
*
|
|
66
|
+
* why: phải là một `FormControl` THẬT chứ không phải `[value]`. `MatInput.ngDoCheck` chỉ gọi
|
|
67
|
+
* `updateErrorState()` khi có `NgControl` — không có nó thì `errorState` đứng yên ở `false`, mà
|
|
68
|
+
* `<mat-error>`, viền đỏ và `aria-invalid` đều bám vào cờ đó, nên field bắt buộc bỏ trống lại im
|
|
69
|
+
* lặng y như bug cũ. Trạng thái disabled cũng chảy qua control này (MatInput tự đồng bộ
|
|
70
|
+
* `disabled` từ `ngControl` mỗi vòng CD, nên bind `[disabled]` trên template sẽ bị ghi đè).
|
|
71
|
+
*/
|
|
72
|
+
readonly displayControl: FormControl<string>;
|
|
73
|
+
/**
|
|
74
|
+
* why: MatInput đã có `NgControl`, nhưng control đó là ô TEXT — nó không biết gì về `required`
|
|
75
|
+
* hay validator của tree-select. Matcher nối thẳng `errorState` của Material vào message đã gate
|
|
76
|
+
* theo tương tác của connector.
|
|
77
|
+
*/
|
|
78
|
+
readonly errorStateMatcher: ErrorStateMatcher;
|
|
49
79
|
readonly draftKeys: import("@angular/core").WritableSignal<TKey[]>;
|
|
50
80
|
readonly modelKeys: import("@angular/core").Signal<TKey[]>;
|
|
51
81
|
readonly effectivePlaceholder: import("@angular/core").Signal<string>;
|
|
@@ -55,7 +85,8 @@ export declare class SdTreeSelect<T = unknown, TKey = string | number> {
|
|
|
55
85
|
readonly draftEntities: import("@angular/core").Signal<T[]>;
|
|
56
86
|
readonly displayText: import("@angular/core").Signal<string>;
|
|
57
87
|
readonly treeOption: import("@angular/core").Signal<SdTreeComponentOption<T>>;
|
|
58
|
-
|
|
88
|
+
constructor();
|
|
89
|
+
open(event?: Event): void;
|
|
59
90
|
applySelection(): void;
|
|
60
91
|
cancel(): void;
|
|
61
92
|
clear(event?: Event): void;
|
|
@@ -66,6 +97,6 @@ export declare class SdTreeSelect<T = unknown, TKey = string | number> {
|
|
|
66
97
|
keyOf(item: T): TKey;
|
|
67
98
|
displayEntity(item: T): string;
|
|
68
99
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdTreeSelect<any, any>, never>;
|
|
69
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdTreeSelect<any, any>, "sd-tree-select", 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; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "tree": { "alias": "tree"; "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; }; "disabledNode": { "alias": "disabledNode"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "cascade": { "alias": "cascade"; "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; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; }, { "model": "modelChange"; "sdChange": "sdChange"; "
|
|
100
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdTreeSelect<any, any>, "sd-tree-select", 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; }; "helperText": { "alias": "helperText"; "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; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearanceInput": { "alias": "appearance"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "tree": { "alias": "tree"; "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; }; "disabledNode": { "alias": "disabledNode"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "cascade": { "alias": "cascade"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "inlineError": { "alias": "inlineError"; "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; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; }, { "model": "modelChange"; "sdChange": "sdChange"; "loadError": "loadError"; }, ["nodeTemplate"], ["[sdLabel]"], true, never>;
|
|
70
101
|
}
|
|
71
102
|
export declare function normalizeTreeSelectKeys<TKey>(value: SdTreeSelectModel<TKey>, multiple: boolean): TKey[];
|
package/i18n/src/en.d.ts
CHANGED
|
@@ -78,9 +78,6 @@ export declare const EN_MESSAGES: {
|
|
|
78
78
|
readonly 'core.interceptor.no-internet.restored': "Connection restored.";
|
|
79
79
|
readonly 'core.excel.cannot-read-file': "Could not read file content";
|
|
80
80
|
readonly 'core.excel.no-sheet': "Excel file has no data sheet";
|
|
81
|
-
readonly 'core.docx.invalid-format': "Invalid format. Please select a template in DOC or DOCX format";
|
|
82
|
-
readonly 'core.docx.size-exceeded': "Template file size exceeds the supported limit. Please try again";
|
|
83
|
-
readonly 'core.docx.convert-error': "An error occurred while converting the DOCX file";
|
|
84
81
|
readonly 'core.notify.type.success': "Success";
|
|
85
82
|
readonly 'core.notify.type.info': "Information";
|
|
86
83
|
readonly 'core.notify.type.warning': "Warning";
|
|
@@ -177,7 +174,6 @@ export declare const EN_MESSAGES: {
|
|
|
177
174
|
readonly 'core.form.time-range.step': "Times must align to a {step}-minute interval";
|
|
178
175
|
readonly 'core.form.time-range.from': "From";
|
|
179
176
|
readonly 'core.form.time-range.to': "To";
|
|
180
|
-
readonly 'core.form.time-range.clear': "Clear time range";
|
|
181
177
|
readonly 'core.form.time-spinner.hour': "Hour";
|
|
182
178
|
readonly 'core.form.time-spinner.minute': "Minute";
|
|
183
179
|
readonly 'core.form.time-spinner.second': "Second";
|
|
@@ -196,6 +192,7 @@ export declare const EN_MESSAGES: {
|
|
|
196
192
|
readonly 'core.form.checkbox.checked': "Yes";
|
|
197
193
|
readonly 'core.form.checkbox.unchecked': "No";
|
|
198
194
|
readonly 'core.form.select.required': "Please enter information";
|
|
195
|
+
readonly 'core.form.select.selectAll': "All";
|
|
199
196
|
readonly 'core.form.textarea.required': "Please enter information";
|
|
200
197
|
readonly 'core.form.textarea.maxlength': "Maximum characters: {max}";
|
|
201
198
|
readonly 'core.form.textarea.invalid-pattern': "Invalid format";
|
|
@@ -209,12 +206,6 @@ export declare const EN_MESSAGES: {
|
|
|
209
206
|
readonly 'core.component.editor.image.max-width': "Image width {width}px exceeds the limit of {max}px";
|
|
210
207
|
readonly 'core.component.editor.image.max-height': "Image height {height}px exceeds the limit of {max}px";
|
|
211
208
|
readonly 'core.component.editor.image.max-per-selection': "You can select at most {max} images per selection";
|
|
212
|
-
readonly 'core.component.document-builder.page-number.current': "Current page number";
|
|
213
|
-
readonly 'core.component.document-builder.page-number.total': "Total pages";
|
|
214
|
-
readonly 'core.component.document-builder.ck-comment.label': "Comment";
|
|
215
|
-
readonly 'core.component.document-builder.ck-comment.text-too-long': "Text too long ({length} characters). Maximum {max} characters.";
|
|
216
|
-
readonly 'core.component.document-builder.variable.not-allowed': "Adding variable to the text is not allowed";
|
|
217
|
-
readonly 'core.component.document-builder.variable.invalid-data': "Invalid variable data";
|
|
218
209
|
readonly 'core.component.form-builder.field-key': "Field key";
|
|
219
210
|
readonly 'core.component.form-builder.display': "Display";
|
|
220
211
|
readonly 'core.component.form-builder.general': "General";
|
|
@@ -228,6 +219,7 @@ export declare const EN_MESSAGES: {
|
|
|
228
219
|
readonly 'core.component.form-builder.required-when': "Required when";
|
|
229
220
|
readonly 'core.component.form-builder.confirm': "Confirm";
|
|
230
221
|
readonly 'core.component.form-builder.delete': "Delete";
|
|
222
|
+
readonly 'core.component.form-builder.select-item': "Select to edit";
|
|
231
223
|
readonly 'core.component.form-builder.save': "Save";
|
|
232
224
|
readonly 'core.component.form-builder.hint': "Hint";
|
|
233
225
|
readonly 'core.component.form-builder.parameter': "Parameters";
|
|
@@ -299,9 +291,13 @@ export declare const EN_MESSAGES: {
|
|
|
299
291
|
readonly 'core.component.form-builder.display-label': "Display label";
|
|
300
292
|
readonly 'core.component.form-builder.attribute': "Attribute";
|
|
301
293
|
readonly 'core.component.form-builder.add-variable': "Add variable";
|
|
294
|
+
readonly 'core.component.form-builder.no-variable': "No variables yet. Add one to use it in condition expressions.";
|
|
295
|
+
readonly 'core.component.form-builder.no-validation': "No validations yet. Add one to show a warning or an error on a condition.";
|
|
302
296
|
readonly 'core.component.form-builder.add-new': "Add new";
|
|
303
297
|
readonly 'core.component.form-builder.detail': "Details";
|
|
304
298
|
readonly 'core.component.form-builder.create-update': "Create/update";
|
|
299
|
+
readonly 'core.component.form-builder.update-row': "Update row";
|
|
300
|
+
readonly 'core.component.form-builder.add-row': "Add row";
|
|
305
301
|
readonly 'core.component.form-builder.default': "Default";
|
|
306
302
|
readonly 'core.component.form-builder.show-more': "Show more";
|
|
307
303
|
readonly 'core.component.form-builder.show-less': "Show less";
|
|
@@ -458,6 +454,8 @@ export declare const EN_MESSAGES: {
|
|
|
458
454
|
readonly 'core.component.table.choose-filter-hint': "Please choose a filter to start";
|
|
459
455
|
readonly 'core.component.table.no-data': "No data";
|
|
460
456
|
readonly 'core.component.table.export-excel': "Export Excel";
|
|
457
|
+
readonly 'core.component.table.exporting': "Exporting...{percent}%";
|
|
458
|
+
readonly 'core.component.table.export': "Export";
|
|
461
459
|
readonly 'core.component.table.export-csv': "Export CSV";
|
|
462
460
|
readonly 'core.component.table.showing': "Showing:";
|
|
463
461
|
readonly 'core.component.table.paginator.first-page': "First page";
|
|
@@ -468,6 +466,8 @@ export declare const EN_MESSAGES: {
|
|
|
468
466
|
readonly 'core.component.table.error-occurred': "An error occurred";
|
|
469
467
|
readonly 'core.component.table.not-an-array': "Data is not an array";
|
|
470
468
|
readonly 'core.component.table.config.confirm-reset': "Confirm reset all settings to defaults";
|
|
469
|
+
readonly 'core.component.table.config.drag-hint': "Drag the ⠿ handle to reorder columns";
|
|
470
|
+
readonly 'core.component.table.config.drag-handle': "Drag to reorder column";
|
|
471
471
|
readonly 'core.component.table.popup-export.select-columns': "Please select columns to export";
|
|
472
472
|
readonly 'core.component.table.selector-action.default-msg': "items selected";
|
|
473
473
|
readonly 'core.component.tab-router.too-many-tabs': "You have opened too many tabs.";
|
|
@@ -496,6 +496,13 @@ export declare const EN_MESSAGES: {
|
|
|
496
496
|
readonly 'core.module.layout.user.notification': "Notifications";
|
|
497
497
|
readonly 'core.module.layout.sidebar.search': "Search";
|
|
498
498
|
readonly 'core.module.layout.sidebar.toggle': "Toggle sidebar";
|
|
499
|
+
readonly 'core.module.layout.sidebar.menu-groups': "Menu groups";
|
|
500
|
+
readonly 'core.module.layout.sidebar.close-menu': "Close menu";
|
|
501
|
+
readonly 'core.module.layout.sidebar.search-in-group': "Search this group";
|
|
502
|
+
readonly 'core.module.layout.sidebar.primary-nav': "Primary navigation";
|
|
503
|
+
readonly 'core.module.layout.sidebar.more-menu': "More menus";
|
|
504
|
+
readonly 'core.module.layout.sidebar.more': "More";
|
|
505
|
+
readonly 'core.module.layout.sidebar.search-in-menu': "Search menus";
|
|
499
506
|
readonly 'core.module.layout.greeting.hello': "Hello, {name}";
|
|
500
507
|
readonly 'core.module.layout.weekday.0': "Sunday";
|
|
501
508
|
readonly 'core.module.layout.weekday.1': "Monday";
|
|
@@ -512,6 +519,8 @@ export declare const EN_MESSAGES: {
|
|
|
512
519
|
readonly 'core.module.layout.not-found.message': "The page you're looking for doesn't exist or has been removed. Please check the URL or go back to the home page to continue.";
|
|
513
520
|
readonly 'core.module.layout.not-found.back': "Go back";
|
|
514
521
|
readonly 'core.module.layout.home.tab-name': "Home";
|
|
522
|
+
readonly 'core.module.layout.not-found.tab-name': "Page Not Found";
|
|
523
|
+
readonly 'core.module.layout.forbidden.tab-name': "Access Denied";
|
|
515
524
|
readonly 'core.module.layout.home.feature.data': "Data";
|
|
516
525
|
readonly 'core.module.layout.home.feature.reports': "Reports";
|
|
517
526
|
readonly 'core.module.layout.home.feature.users': "Users";
|
|
@@ -520,4 +529,79 @@ export declare const EN_MESSAGES: {
|
|
|
520
529
|
readonly 'core.module.layout.home.feature.integration': "Integration";
|
|
521
530
|
readonly 'core.module.layout.mock.user.full-name': "Demo User";
|
|
522
531
|
readonly 'core.module.generic.generic-select.detail-link': "details";
|
|
532
|
+
readonly 'core.component.query-bar.search-placeholder': "Search...";
|
|
533
|
+
readonly 'core.component.query-bar.no-fields': "No fields configured";
|
|
534
|
+
readonly 'core.component.query-bar.add-filter': "Add filter";
|
|
535
|
+
readonly 'core.component.query-bar.clear-all': "Clear all ({count})";
|
|
536
|
+
readonly 'core.component.query-bar.search': "Search";
|
|
537
|
+
readonly 'core.component.query-bar.logic-operator': "Logic operator";
|
|
538
|
+
readonly 'core.component.query-bar.boolean.true': "Yes";
|
|
539
|
+
readonly 'core.component.query-bar.boolean.false': "No";
|
|
540
|
+
readonly 'core.component.query-bar.placeholder.value': "value";
|
|
541
|
+
readonly 'core.component.query-bar.placeholder.text': "type…";
|
|
542
|
+
readonly 'core.component.query-bar.placeholder.from-number': "From";
|
|
543
|
+
readonly 'core.component.query-bar.placeholder.to-number': "To";
|
|
544
|
+
readonly 'core.component.query-bar.placeholder.from-text': "from…";
|
|
545
|
+
readonly 'core.component.query-bar.placeholder.to-text': "to…";
|
|
546
|
+
readonly 'core.component.query-bar.swap-field': "Swap field";
|
|
547
|
+
readonly 'core.component.query-bar.placeholder.select-value': "Select value";
|
|
548
|
+
readonly 'core.component.query-bar.placeholder.enter-value': "Enter value";
|
|
549
|
+
readonly 'core.component.query-bar.loading-values': "Loading...";
|
|
550
|
+
readonly 'core.component.query-bar.field-empty': "No fields configured yet.";
|
|
551
|
+
readonly 'core.component.query-bar.saved-filters.tooltip': "Saved filters";
|
|
552
|
+
readonly 'core.component.query-bar.saved-filters.tooltip-disabled': "Requires [savedFiltersKey] to enable";
|
|
553
|
+
readonly 'core.component.query-bar.saved-filters.delete': "Delete filter";
|
|
554
|
+
readonly 'core.component.query-bar.saved-filters.empty': "No saved filters yet.";
|
|
555
|
+
readonly 'core.component.query-bar.saved-filters.save': "Save current filter";
|
|
556
|
+
readonly 'core.component.query-bar.saved-filters.name-label': "Filter name";
|
|
557
|
+
readonly 'core.component.query-builder.date-mode.absolute': "Specific date";
|
|
558
|
+
readonly 'core.component.query-builder.date-mode.now': "Today";
|
|
559
|
+
readonly 'core.component.query-builder.date-mode.relative': "Relative";
|
|
560
|
+
readonly 'core.component.query-builder.value-source.literal': "Enter a value";
|
|
561
|
+
readonly 'core.component.query-builder.value-source.field': "Compare with field";
|
|
562
|
+
readonly 'core.component.query-builder.relative.hour-previous': "hours ago";
|
|
563
|
+
readonly 'core.component.query-builder.relative.hour-next': "hours from now";
|
|
564
|
+
readonly 'core.component.query-builder.relative.day-previous': "days ago";
|
|
565
|
+
readonly 'core.component.query-builder.relative.day-next': "days from now";
|
|
566
|
+
readonly 'core.component.query-builder.relative.week-previous': "weeks ago";
|
|
567
|
+
readonly 'core.component.query-builder.relative.week-next': "weeks from now";
|
|
568
|
+
readonly 'core.component.query-builder.relative.month-previous': "months ago";
|
|
569
|
+
readonly 'core.component.query-builder.relative.month-next': "months from now";
|
|
570
|
+
readonly 'core.component.query-builder.relative.format': "{amount} {phrase}";
|
|
571
|
+
readonly 'core.component.query-builder.add': "Add";
|
|
572
|
+
readonly 'core.component.query-builder.add-node': "Add a condition or group";
|
|
573
|
+
readonly 'core.component.query-builder.condition': "Condition";
|
|
574
|
+
readonly 'core.component.query-builder.group': "Group";
|
|
575
|
+
readonly 'core.component.query-builder.remove-group': "Remove group";
|
|
576
|
+
readonly 'core.component.query-builder.remove-condition': "Remove condition";
|
|
577
|
+
readonly 'core.component.query-builder.empty': "No conditions yet";
|
|
578
|
+
readonly 'core.component.query-builder.select-field': "Select field";
|
|
579
|
+
readonly 'core.component.query-builder.value': "Value";
|
|
580
|
+
readonly 'core.component.query-builder.from': "From";
|
|
581
|
+
readonly 'core.component.query-builder.to': "To";
|
|
582
|
+
readonly 'core.component.query-builder.boolean.true': "Yes";
|
|
583
|
+
readonly 'core.component.query-builder.boolean.false': "No";
|
|
584
|
+
readonly 'core.component.tree.selected-count': "{count} item(s) selected";
|
|
585
|
+
readonly 'core.component.tree.expand': "Expand tree item";
|
|
586
|
+
readonly 'core.component.tree.collapse': "Collapse tree item";
|
|
587
|
+
readonly 'core.component.tree.retry-item': "Retry loading tree item";
|
|
588
|
+
readonly 'core.component.tree.load-error': "Unable to load tree data";
|
|
589
|
+
readonly 'core.directive.hover-copy.copied': "Copied";
|
|
590
|
+
readonly 'core.module.layout.sidebar.pinned': "Pinned";
|
|
591
|
+
readonly 'core.module.layout.sidebar.recent': "Recent";
|
|
592
|
+
readonly 'core.module.layout.sidebar.all-menu': "All menus";
|
|
593
|
+
readonly 'core.module.layout.menu.pin': "Pin {title}";
|
|
594
|
+
readonly 'core.module.layout.menu.unpin': "Unpin {title}";
|
|
595
|
+
readonly 'core.form.date.open-picker': "Open calendar";
|
|
596
|
+
readonly 'core.form.datetime.open-picker': "Open calendar";
|
|
597
|
+
readonly 'core.form.date-range.open-picker': "Open calendar";
|
|
598
|
+
readonly 'core.form.date-range.clear': "Clear date range";
|
|
599
|
+
readonly 'core.form.select.search': "Search";
|
|
600
|
+
readonly 'core.component.table.loading': "Loading table data";
|
|
601
|
+
readonly 'core.component.upload-file.loading': "Uploading file";
|
|
602
|
+
readonly 'core.component.import-excel.loading': "Loading data";
|
|
603
|
+
readonly 'core.component.upload-file.remove': "Remove file";
|
|
604
|
+
readonly 'core.component.upload-file.zoom': "Zoom image";
|
|
605
|
+
readonly 'core.component.upload-file.view-all': "View all images";
|
|
606
|
+
readonly 'core.component.form-builder.canvas': "Form design canvas";
|
|
523
607
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Language } from '
|
|
1
|
+
import type { Language } from '@sdcorejs/utils/models';
|
|
2
2
|
export declare const I18N_MESSAGES: Record<Language, Readonly<Record<string, string>>>;
|
package/i18n/src/i18n.pipe.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { PipeTransform } from '@angular/core';
|
|
2
2
|
import { I18nParams } from './i18n.types';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class SdTranslatePipe implements PipeTransform {
|
|
5
5
|
#private;
|
|
6
6
|
transform(key: string, params?: I18nParams): string;
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
8
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdTranslatePipe, never>;
|
|
8
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<SdTranslatePipe, "sdTranslate", true>;
|
|
9
9
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Signal } from '@angular/core';
|
|
2
|
-
import { I18nParams
|
|
2
|
+
import { I18nParams } from './i18n.types';
|
|
3
|
+
import { Language } from '@sdcorejs/utils/models';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class I18nService {
|
|
5
6
|
#private;
|