@sd-angular/core 19.0.0-beta.8 → 19.0.0-beta.81
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 +686 -33
- package/assets/scss/ckeditor5.scss +61 -4
- package/assets/scss/core/bootstrap.scss +17 -0
- package/assets/scss/core/form.scss +32 -6
- package/assets/scss/core/grid.scss +40 -0
- package/assets/scss/sd-core.scss +5 -0
- package/assets/scss/themes/material-theme.scss +82 -40
- package/components/anchor-v2/src/components/anchor-item-v2/anchor-item-v2.component.d.ts +5 -5
- package/components/anchor-v2/src/components/anchor-v2/anchor-v2.component.d.ts +12 -18
- package/components/anchor-v2/src/components/anchor-vertical-v2/anchor-vertical-list-v2.component.d.ts +9 -10
- package/components/anchor-v2/src/models/sd-anchor-v2.model.d.ts +3 -3
- package/components/avatar/index.d.ts +1 -0
- package/components/avatar/src/avatar.component.d.ts +19 -0
- package/components/badge/src/badge.component.d.ts +77 -19
- package/components/button/src/button.component.d.ts +30 -28
- package/components/chart/index.d.ts +4 -0
- package/components/chart/src/bar-chart.component.d.ts +18 -0
- package/components/chart/src/doughnut-chart.component.d.ts +16 -0
- package/components/chart/src/line-chart.component.d.ts +18 -0
- package/components/chart/src/pie-chart.component.d.ts +16 -0
- package/components/code-editor/index.d.ts +1 -0
- package/components/code-editor/src/code-editor.component.d.ts +25 -0
- package/components/document-builder/index.d.ts +1 -0
- package/components/document-builder/src/document-builder.component.d.ts +13 -42
- package/components/document-builder/src/document-builder.model.d.ts +15 -12
- package/components/document-builder/src/plugins/block-space/block-space.plugin.d.ts +9 -0
- package/components/document-builder/src/plugins/ck-comment/ck-comment.plugin.d.ts +44 -0
- package/components/document-builder/src/plugins/ck-comment/ck-comment.plugin.model.d.ts +57 -0
- package/components/document-builder/src/plugins/heading/heading.plugin.d.ts +1 -0
- package/components/document-builder/src/plugins/highlight-range/highlight-range.plugin.d.ts +4 -0
- package/components/document-builder/src/plugins/image-custom/image-custom.plugin.d.ts +31 -0
- package/components/document-builder/src/plugins/index.d.ts +7 -2
- package/components/document-builder/src/plugins/page-orientation/page-orientation.plugin.d.ts +2 -2
- package/components/document-builder/src/plugins/paste-handler/filters/bookmark.d.ts +14 -0
- package/components/document-builder/src/plugins/paste-handler/filters/br.d.ts +15 -0
- package/components/document-builder/src/plugins/paste-handler/filters/image.d.ts +25 -0
- package/components/document-builder/src/plugins/paste-handler/filters/list.d.ts +29 -0
- package/components/document-builder/src/plugins/paste-handler/filters/parse.d.ts +35 -0
- package/components/document-builder/src/plugins/paste-handler/filters/removeboldwrapper.d.ts +15 -0
- package/components/document-builder/src/plugins/paste-handler/filters/removegooglesheetstag.d.ts +15 -0
- package/components/document-builder/src/plugins/paste-handler/filters/removeinvalidtablewidth.d.ts +15 -0
- package/components/document-builder/src/plugins/paste-handler/filters/removemsattributes.d.ts +15 -0
- package/components/document-builder/src/plugins/paste-handler/filters/removestyleblock.d.ts +15 -0
- package/components/document-builder/src/plugins/paste-handler/filters/removexmlns.d.ts +15 -0
- package/components/document-builder/src/plugins/paste-handler/filters/replacemsfootnotes.d.ts +54 -0
- package/components/document-builder/src/plugins/paste-handler/filters/replacetabswithinprewithspaces.d.ts +24 -0
- package/components/document-builder/src/plugins/paste-handler/filters/space.d.ts +27 -0
- package/components/document-builder/src/plugins/paste-handler/filters/table.d.ts +16 -0
- package/components/document-builder/src/plugins/paste-handler/filters/utils.d.ts +25 -0
- package/components/document-builder/src/plugins/paste-handler/index.d.ts +35 -0
- package/components/document-builder/src/plugins/paste-handler/normalizers/googledocsnormalizer.d.ts +31 -0
- package/components/document-builder/src/plugins/paste-handler/normalizers/googlesheetsnormalizer.d.ts +31 -0
- package/components/document-builder/src/plugins/paste-handler/normalizers/mswordnormalizer.d.ts +29 -0
- package/components/document-builder/src/plugins/paste-handler/types.d.ts +30 -0
- package/components/document-builder/src/plugins/table-custom/index.d.ts +34 -0
- package/components/document-builder/src/plugins/variable/variable.plugin.d.ts +39 -0
- package/components/editor/index.d.ts +3 -0
- package/components/editor/src/configurations/editor.configuration.d.ts +12 -0
- package/components/editor/src/configurations/index.d.ts +1 -0
- package/components/editor/src/editor.component.d.ts +42 -0
- package/components/editor/src/models/editor.model.d.ts +8 -0
- package/components/editor/src/models/image-upload.plugin.model.d.ts +20 -0
- package/components/editor/src/models/index.d.ts +2 -0
- package/components/editor/src/plugins/image-upload/image-upload.plugin.d.ts +22 -0
- package/components/editor/src/plugins/image-upload/utils/batch.utils.d.ts +14 -0
- package/components/editor/src/plugins/image-upload/utils/index.d.ts +3 -0
- package/components/editor/src/plugins/image-upload/utils/style.utils.d.ts +2 -0
- package/components/editor/src/plugins/image-upload/utils/validate.utils.d.ts +3 -0
- package/components/index.d.ts +6 -0
- package/components/mini-editor/index.d.ts +2 -0
- package/components/mini-editor/src/mini-editor.component.d.ts +91 -0
- package/components/mini-editor/src/mini-editor.model.d.ts +44 -0
- package/components/modal/index.d.ts +1 -1
- package/components/modal/src/modal.component.d.ts +26 -0
- package/components/section/index.d.ts +1 -0
- package/components/section/src/section-item/section-item.component.d.ts +7 -0
- package/components/section/src/section.component.d.ts +11 -11
- package/components/side-drawer/src/side-drawer.component.d.ts +11 -24
- package/components/tab-router/src/components/tab-router-item/tab-router-item.component.d.ts +4 -1
- package/components/tab-router/src/components/tab-router-outlet/tab-router-outlet.component.d.ts +3 -15
- package/components/table/index.d.ts +2 -0
- package/components/table/src/components/column-filter/column-filter.component.d.ts +3 -3
- package/components/table/src/components/column-title/column-title.component.d.ts +10 -0
- package/components/table/src/components/desktop-cell/desktop-cell.component.d.ts +18 -11
- package/components/table/src/components/desktop-cell/view/view.component.d.ts +24 -0
- package/components/table/src/components/external-filter/external-filter.component.d.ts +1 -1
- package/components/table/src/components/index.d.ts +1 -0
- package/components/table/src/components/selector-action/action-filter.pipe.d.ts +11 -10
- package/components/table/src/components/selector-action/selector-action.component.d.ts +5 -3
- package/components/table/src/directives/index.d.ts +4 -0
- package/components/table/src/directives/sd-table-cell-def.directive.d.ts +2 -3
- package/components/table/src/directives/sd-table-column-filter-def.directive.d.ts +8 -0
- package/components/table/src/directives/sd-table-expand-def.directive.d.ts +0 -1
- package/components/table/src/directives/sd-table-filter-def.directive.d.ts +4 -6
- package/components/table/src/directives/sd-table-footer-def.directive.d.ts +2 -3
- package/components/table/src/directives/sd-table-title-def.directive.d.ts +8 -0
- package/components/table/src/directives/sticky-shadow.directive.d.ts +17 -0
- package/components/table/src/models/table-column.model.d.ts +49 -40
- package/components/table/src/models/table-command.model.d.ts +7 -3
- package/components/table/src/models/table-item.model.d.ts +5 -4
- package/components/table/src/models/table-option-config.model.d.ts +3 -0
- package/components/table/src/models/table-option-export.model.d.ts +3 -2
- package/components/table/src/models/table-option-selector.model.d.ts +17 -10
- package/components/table/src/models/table-option.model.d.ts +15 -8
- package/components/table/src/services/index.d.ts +3 -0
- package/components/table/src/services/table-export/table-export.service.d.ts +26 -0
- package/components/table/src/services/table-filter/table-filter.model.d.ts +6 -5
- package/components/table/src/services/table-format/table-format.service.d.ts +16 -0
- package/components/table/src/table.component.d.ts +46 -53
- package/components/upload-file/src/configurations/upload-file.configuration.d.ts +34 -1
- package/components/upload-file/src/services/upload-file.service.d.ts +0 -1
- package/components/upload-file/src/upload-file.component.d.ts +52 -54
- package/components/view/index.d.ts +1 -0
- package/components/view/src/view.component.d.ts +16 -0
- package/components/workflow/src/models/form-generic-component.model.d.ts +5 -4
- package/components/workflow/src/models/form-generic-expression.model.d.ts +1 -0
- package/components/workflow/src/models/index.d.ts +1 -0
- package/components/workflow/src/pipes/html.pipe.d.ts +4 -4
- package/directives/index.d.ts +2 -0
- package/directives/src/sd-href.directive.d.ts +9 -0
- package/directives/src/sd-tooltip.directive.d.ts +26 -0
- package/fesm2022/sd-angular-core-components-anchor-v2.mjs +79 -154
- package/fesm2022/sd-angular-core-components-anchor-v2.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-avatar.mjs +103 -0
- package/fesm2022/sd-angular-core-components-avatar.mjs.map +1 -0
- package/fesm2022/sd-angular-core-components-badge.mjs +101 -91
- package/fesm2022/sd-angular-core-components-badge.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-button.mjs +70 -96
- package/fesm2022/sd-angular-core-components-button.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-chart.mjs +290 -0
- package/fesm2022/sd-angular-core-components-chart.mjs.map +1 -0
- package/fesm2022/sd-angular-core-components-code-editor.mjs +127 -0
- package/fesm2022/sd-angular-core-components-code-editor.mjs.map +1 -0
- package/fesm2022/sd-angular-core-components-document-builder.mjs +4005 -611
- package/fesm2022/sd-angular-core-components-document-builder.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-editor.mjs +933 -0
- package/fesm2022/sd-angular-core-components-editor.mjs.map +1 -0
- package/fesm2022/sd-angular-core-components-history.mjs +1 -1
- package/fesm2022/sd-angular-core-components-history.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-import-excel.mjs +1 -1
- package/fesm2022/sd-angular-core-components-import-excel.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-mini-editor.mjs +332 -0
- package/fesm2022/sd-angular-core-components-mini-editor.mjs.map +1 -0
- package/fesm2022/sd-angular-core-components-modal.mjs +63 -92
- package/fesm2022/sd-angular-core-components-modal.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-preview.mjs +1 -1
- package/fesm2022/sd-angular-core-components-preview.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-quick-action.mjs +2 -2
- package/fesm2022/sd-angular-core-components-quick-action.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-section.mjs +41 -43
- package/fesm2022/sd-angular-core-components-section.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-side-drawer.mjs +78 -84
- package/fesm2022/sd-angular-core-components-side-drawer.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-tab-router.mjs +151 -241
- package/fesm2022/sd-angular-core-components-tab-router.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-table.mjs +1394 -1254
- package/fesm2022/sd-angular-core-components-table.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-upload-file.mjs +390 -443
- package/fesm2022/sd-angular-core-components-upload-file.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-view.mjs +45 -0
- package/fesm2022/sd-angular-core-components-view.mjs.map +1 -0
- package/fesm2022/sd-angular-core-components-workflow.mjs +165 -168
- package/fesm2022/sd-angular-core-components-workflow.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components.mjs +6 -0
- package/fesm2022/sd-angular-core-components.mjs.map +1 -1
- package/fesm2022/sd-angular-core-directives.mjs +286 -27
- package/fesm2022/sd-angular-core-directives.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-autocomplete.mjs +289 -363
- package/fesm2022/sd-angular-core-forms-autocomplete.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-chip-calendar.mjs +170 -189
- package/fesm2022/sd-angular-core-forms-chip-calendar.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-chip.mjs +184 -194
- package/fesm2022/sd-angular-core-forms-chip.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-date-range.mjs +180 -242
- package/fesm2022/sd-angular-core-forms-date-range.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-date.mjs +178 -270
- package/fesm2022/sd-angular-core-forms-date.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-datetime.mjs +177 -285
- package/fesm2022/sd-angular-core-forms-datetime.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-input-number.mjs +210 -337
- package/fesm2022/sd-angular-core-forms-input-number.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-input.mjs +169 -286
- package/fesm2022/sd-angular-core-forms-input.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-radio.mjs +3 -2
- package/fesm2022/sd-angular-core-forms-radio.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-select.mjs +390 -447
- package/fesm2022/sd-angular-core-forms-select.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-textarea.mjs +167 -226
- package/fesm2022/sd-angular-core-forms-textarea.mjs.map +1 -1
- package/fesm2022/sd-angular-core-modules-authom.mjs +359 -0
- package/fesm2022/sd-angular-core-modules-authom.mjs.map +1 -0
- package/fesm2022/sd-angular-core-modules-keycloak.mjs +126 -0
- package/fesm2022/sd-angular-core-modules-keycloak.mjs.map +1 -0
- package/fesm2022/sd-angular-core-modules-layout.mjs +709 -456
- package/fesm2022/sd-angular-core-modules-layout.mjs.map +1 -1
- package/fesm2022/sd-angular-core-modules-permission.mjs +160 -74
- package/fesm2022/sd-angular-core-modules-permission.mjs.map +1 -1
- package/fesm2022/sd-angular-core-modules.mjs +2 -1
- package/fesm2022/sd-angular-core-modules.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-api.mjs +5 -10
- package/fesm2022/sd-angular-core-services-api.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-confirm.mjs +9 -7
- package/fesm2022/sd-angular-core-services-confirm.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-docx.mjs +173 -0
- package/fesm2022/sd-angular-core-services-docx.mjs.map +1 -0
- package/fesm2022/sd-angular-core-services-notify.mjs +2 -2
- package/fesm2022/sd-angular-core-services-notify.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services.mjs +1 -0
- package/fesm2022/sd-angular-core-services.mjs.map +1 -1
- package/fesm2022/sd-angular-core-utilities-extensions.mjs +58 -80
- package/fesm2022/sd-angular-core-utilities-extensions.mjs.map +1 -1
- package/fesm2022/sd-angular-core-utilities-models.mjs +15 -1
- package/fesm2022/sd-angular-core-utilities-models.mjs.map +1 -1
- package/fesm2022/sd-angular-core.mjs +0 -1
- package/fesm2022/sd-angular-core.mjs.map +1 -1
- package/forms/autocomplete/src/autocomplete.component.d.ts +55 -55
- package/forms/chip/src/chip.component.d.ts +37 -40
- package/forms/chip-calendar/src/chip-calendar.component.d.ts +37 -38
- package/forms/date/src/date.component.d.ts +48 -46
- package/forms/date-range/src/date-range.component.d.ts +35 -34
- package/forms/datetime/src/datetime.component.d.ts +48 -49
- package/forms/input/src/input.component.d.ts +54 -57
- package/forms/input-number/src/input-number.component.d.ts +53 -54
- package/forms/select/src/select.component.d.ts +67 -64
- package/forms/textarea/src/textarea.component.d.ts +40 -43
- package/modules/authom/authom.configuration.d.ts +17 -0
- package/modules/authom/authom.interceptor.d.ts +3 -0
- package/modules/authom/authom.module.d.ts +16 -0
- package/modules/authom/authom.service.d.ts +32 -0
- package/modules/authom/index.d.ts +35 -0
- package/modules/index.d.ts +2 -1
- package/modules/keycloak/index.d.ts +4 -0
- package/modules/keycloak/keycloak.configuration.d.ts +11 -0
- package/modules/keycloak/keycloak.interceptor.d.ts +2 -0
- package/modules/keycloak/keycloak.module.d.ts +18 -0
- package/modules/keycloak/keycloak.service.d.ts +14 -0
- package/modules/layout/components/index.d.ts +2 -0
- package/modules/layout/components/layout-main/layout-main.component.d.ts +8 -12
- package/modules/layout/components/page/page.component.d.ts +5 -7
- package/modules/layout/components/sidebar-mobile-v1/components/sidebar/sidebar.component.d.ts +35 -0
- package/modules/layout/components/sidebar-mobile-v1/components/user/user.component.d.ts +24 -0
- package/modules/layout/components/sidebar-mobile-v1/main.component.d.ts +21 -0
- package/modules/layout/components/sidebar-v1/components/sidebar/sidebar.component.d.ts +22 -29
- package/modules/layout/components/sidebar-v1/components/user/user.component.d.ts +11 -17
- package/modules/layout/components/sidebar-v1/main.component.d.ts +14 -14
- package/modules/layout/configurations/layout.configuration.d.ts +46 -3
- package/modules/layout/modules/forbidden/pages/root/root.component.d.ts +3 -8
- package/modules/layout/modules/home/components/home-page/home-page.component.d.ts +2 -5
- package/modules/layout/modules/not-found/pages/root/root.component.d.ts +3 -8
- package/modules/layout/pipes/high-light-search.pipe.d.ts +1 -1
- package/modules/layout/services/index.d.ts +1 -0
- package/modules/layout/services/layout.service.d.ts +10 -0
- package/modules/layout/services/menu/menu.model.d.ts +4 -1
- package/modules/layout/services/storage/storage.service.d.ts +0 -3
- package/modules/permission/src/configurations/permission.configuration.d.ts +56 -2
- package/modules/permission/src/directives/permission.directive.d.ts +5 -8
- package/modules/permission/src/guards/permission.guard.d.ts +2 -1
- package/modules/permission/src/services/permission.service.d.ts +6 -9
- package/package.json +107 -79
- package/public-api.d.ts +0 -1
- package/sd-angular-core-19.0.0-beta.81.tgz +0 -0
- package/services/api/src/api.model.d.ts +6 -1
- package/services/confirm/src/lib/confirm.service.d.ts +5 -0
- package/services/docx/index.d.ts +1 -0
- package/services/docx/src/lib/docx.model.d.ts +9 -0
- package/services/docx/src/lib/docx.service.d.ts +13 -0
- package/services/docx/src/public-api.d.ts +2 -0
- package/services/index.d.ts +1 -0
- package/services/notify/index.d.ts +1 -0
- package/services/notify/src/notify.model.d.ts +1 -1
- package/services/notify/src/notify.service.d.ts +5 -5
- package/utilities/extensions/src/string.extension.d.ts +3 -0
- package/utilities/extensions/src/utility.extension.d.ts +1 -0
- package/utilities/models/index.d.ts +3 -0
- package/utilities/models/src/filter.model.d.ts +17 -4
- package/utilities/models/src/icon.model.d.ts +2 -0
- package/utilities/models/src/nested-key-of.model.d.ts +5 -0
- package/utilities/models/src/order.model.d.ts +2 -1
- package/utilities/models/src/paging.model.d.ts +2 -1
- package/utilities/models/src/pattern.model.d.ts +1 -1
- package/utilities/models/src/unwrap-signal.model.d.ts +6 -0
- package/components/document-builder/src/plugins/comment/comment.plugin.d.ts +0 -4
- package/components/document-builder/src/plugins/table-fit/table-fit.plugin.d.ts +0 -4
- package/components/modal/src/modal/modal.component.d.ts +0 -31
- package/components/table/src/components/desktop-cell-view/desktop-cell-view.component.d.ts +0 -14
- package/fesm2022/sd-angular-core-guards-permission.mjs +0 -155
- package/fesm2022/sd-angular-core-guards-permission.mjs.map +0 -1
- package/fesm2022/sd-angular-core-guards.mjs +0 -6
- package/fesm2022/sd-angular-core-guards.mjs.map +0 -1
- package/fesm2022/sd-angular-core-modules-oidc.mjs +0 -127
- package/fesm2022/sd-angular-core-modules-oidc.mjs.map +0 -1
- package/guards/index.d.ts +0 -1
- package/guards/permission/index.d.ts +0 -4
- package/guards/permission/src/configurations/index.d.ts +0 -1
- package/guards/permission/src/configurations/permission.configuration.d.ts +0 -8
- package/guards/permission/src/directives/index.d.ts +0 -1
- package/guards/permission/src/directives/permission.directive.d.ts +0 -12
- package/guards/permission/src/guards/index.d.ts +0 -1
- package/guards/permission/src/guards/permission.guard.d.ts +0 -13
- package/guards/permission/src/services/index.d.ts +0 -1
- package/guards/permission/src/services/permission.service.d.ts +0 -15
- package/modules/oidc/dynamic-sts.loader.d.ts +0 -11
- package/modules/oidc/index.d.ts +0 -2
- package/modules/oidc/oidc.configuration.d.ts +0 -11
- package/modules/oidc/oidc.module.d.ts +0 -14
- package/sd-angular-core-19.0.0-beta.8.tgz +0 -0
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { StringUtilities } from '@sd-angular/core/utilities/extensions';
|
|
2
2
|
import { firstValueFrom, from, of } from 'rxjs';
|
|
3
3
|
|
|
4
|
+
const DefaultMaterialIconFontSet = 'material-icons-outlined';
|
|
5
|
+
|
|
4
6
|
const SdPatternCommons = [
|
|
5
7
|
{
|
|
6
8
|
type: 'EMAIL',
|
|
@@ -20,6 +22,18 @@ const SdPatternCommons = [
|
|
|
20
22
|
regex: StringUtilities.REGEX_PHONE_VN,
|
|
21
23
|
errorMessage: 'Số điện thoại không hợp lệ',
|
|
22
24
|
},
|
|
25
|
+
{
|
|
26
|
+
type: 'IDVN_OR_PASSPORT',
|
|
27
|
+
name: 'CCCD/Hộ chiếu',
|
|
28
|
+
regex: StringUtilities.REGEX_IDVN_OR_PASSPORT,
|
|
29
|
+
errorMessage: 'CCCD/CMND hoặc Hộ chiếu không hợp lệ',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
type: 'TIME',
|
|
33
|
+
name: 'Giờ',
|
|
34
|
+
regex: StringUtilities.REGEX_TIME,
|
|
35
|
+
errorMessage: 'Giờ không hợp lệ (định dạng HH:mm)',
|
|
36
|
+
},
|
|
23
37
|
];
|
|
24
38
|
|
|
25
39
|
const SD_EMPTY_STR = '--';
|
|
@@ -123,5 +137,5 @@ const SdOperators = [
|
|
|
123
137
|
* Generated bundle index. Do not edit.
|
|
124
138
|
*/
|
|
125
139
|
|
|
126
|
-
export { SD_EMPTY_STR, SdNormalizeAsync, SdOperators, SdPatternCommons, SdResolveMaybeAsync };
|
|
140
|
+
export { DefaultMaterialIconFontSet, SD_EMPTY_STR, SdNormalizeAsync, SdOperators, SdPatternCommons, SdResolveMaybeAsync };
|
|
127
141
|
//# sourceMappingURL=sd-angular-core-utilities-models.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-utilities-models.mjs","sources":["../../../projects/sd-angular/utilities/models/src/pattern.model.ts","../../../projects/sd-angular/utilities/models/src/empty.model.ts","../../../projects/sd-angular/utilities/models/src/maybe-async.model.ts","../../../projects/sd-angular/utilities/models/src/operator.model.ts","../../../projects/sd-angular/utilities/models/sd-angular-core-utilities-models.ts"],"sourcesContent":["import { StringUtilities } from '@sd-angular/core/utilities/extensions';\r\n\r\nexport type SdPatternType = 'EMAIL' | 'PHONE' | 'PHONE_VN';\r\n\r\nexport interface SdPatternCommon {\r\n type: SdPatternType;\r\n name: string;\r\n regex: string;\r\n errorMessage: string;\r\n}\r\n\r\nexport const SdPatternCommons: SdPatternCommon[] = [\r\n {\r\n type: 'EMAIL',\r\n name: 'Email',\r\n regex: StringUtilities.REGEX_EMAIL,\r\n errorMessage: 'Email không hợp lệ',\r\n },\r\n {\r\n type: 'PHONE',\r\n name: 'SĐT',\r\n regex: StringUtilities.REGEX_PHONE,\r\n errorMessage: 'Số điện thoại không hợp lệ',\r\n },\r\n {\r\n type: 'PHONE_VN',\r\n name: 'SĐT VN',\r\n regex: StringUtilities.REGEX_PHONE_VN,\r\n errorMessage: 'Số điện thoại không hợp lệ',\r\n },\r\n];\r\n","export const SD_EMPTY_STR = '--';\r\n","import { firstValueFrom, from, Observable, of } from 'rxjs';\r\n\r\nexport type SdMaybeAsync<T> = T | Promise<T> | Observable<T>;\r\n\r\nexport const SdResolveMaybeAsync = <T>(value: SdMaybeAsync<T>): Promise<T> => {\r\n if (value instanceof Promise) {\r\n return value;\r\n }\r\n if (isObservable(value)) {\r\n return firstValueFrom(value);\r\n }\r\n return Promise.resolve(value);\r\n};\r\n\r\nexport const SdNormalizeAsync = <T>(value: SdMaybeAsync<T>): Observable<T> => {\r\n if (isObservable(value)) {\r\n return value; // Nếu là Observable, giữ nguyên\r\n }\r\n if (value instanceof Promise) {\r\n return from(value); // Nếu là Promise, chuyển sang Observable\r\n }\r\n return of(value); // Nếu là giá trị thuần (Object, string...), bọc lại bằng of\r\n};\r\n\r\nfunction isObservable(obj: any): obj is Observable<any> {\r\n return obj && typeof obj.subscribe === 'function';\r\n}","export type SdOperator = SdOperatorHasData | SdOperatorNoData;\r\n\r\nexport type SdOperatorHasData =\r\n | 'EQUAL'\r\n | 'NOT_EQUAL'\r\n | 'CONTAIN'\r\n | 'NOT_CONTAIN'\r\n | 'IN'\r\n | 'NOT_IN'\r\n | 'START_WITH'\r\n | 'END_WITH'\r\n | 'GREATER_THAN'\r\n | 'LESS_THAN'\r\n | 'GREATER_OR_EQUAL'\r\n | 'LESS_OR_EQUAL'\r\n | 'BETWEEN';\r\n\r\nexport type SdOperatorNoData = 'NULL' | 'NOT_NULL';\r\n\r\nexport const SdOperators: {\r\n value: SdOperator;\r\n symbol?: string;\r\n display: string;\r\n}[] = [\r\n {\r\n value: 'EQUAL',\r\n symbol: '=',\r\n display: 'Bằng',\r\n },\r\n {\r\n value: 'NOT_EQUAL',\r\n symbol: '≠',\r\n display: 'Không bằng',\r\n },\r\n {\r\n value: 'GREATER_THAN',\r\n symbol: '>',\r\n display: 'Lớn hơn',\r\n },\r\n {\r\n value: 'LESS_THAN',\r\n symbol: '<',\r\n display: 'Nhỏ hơn',\r\n },\r\n {\r\n value: 'GREATER_OR_EQUAL',\r\n symbol: '≥',\r\n display: 'Lớn hơn, hoặc bằng',\r\n },\r\n {\r\n value: 'LESS_OR_EQUAL',\r\n symbol: '≤',\r\n display: 'Nhỏ hơn, hoặc bằng',\r\n },\r\n {\r\n value: 'CONTAIN',\r\n symbol: 'join_inner',\r\n display: 'Chứa',\r\n },\r\n {\r\n value: 'NOT_CONTAIN',\r\n symbol: 'join',\r\n display: 'Không chứa',\r\n },\r\n {\r\n value: 'START_WITH',\r\n symbol: 'line_start_circle',\r\n display: 'Bắt đầu bởi',\r\n },\r\n {\r\n value: 'END_WITH',\r\n symbol: 'line_end_circle',\r\n display: 'Kết thúc bởi',\r\n },\r\n {\r\n value: 'IN',\r\n symbol: 'checklist_rtl',\r\n display: 'Nằm trong',\r\n },\r\n {\r\n value: 'NOT_IN',\r\n symbol: 'event_list',\r\n display: 'Không nằm trong',\r\n },\r\n {\r\n value: 'NULL',\r\n symbol: 'motion_photos_off',\r\n display: 'Là rỗng',\r\n },\r\n {\r\n value: 'NOT_NULL',\r\n symbol: 'adjust',\r\n display: 'Không rỗng',\r\n },\r\n];\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sd-angular-core-utilities-models.mjs","sources":["../../../projects/sd-angular/utilities/models/src/icon.model.ts","../../../projects/sd-angular/utilities/models/src/pattern.model.ts","../../../projects/sd-angular/utilities/models/src/empty.model.ts","../../../projects/sd-angular/utilities/models/src/maybe-async.model.ts","../../../projects/sd-angular/utilities/models/src/operator.model.ts","../../../projects/sd-angular/utilities/models/sd-angular-core-utilities-models.ts"],"sourcesContent":["export type MaterialIconFontSet = 'material-icons' | 'material-icons-outlined' | 'material-icons-round' | 'material-icons-sharp' | 'material-symbols-outlined';\nexport const DefaultMaterialIconFontSet: MaterialIconFontSet = 'material-icons-outlined';\n","import { StringUtilities } from '@sd-angular/core/utilities/extensions';\r\n\r\nexport type SdPatternType = 'EMAIL' | 'PHONE' | 'PHONE_VN' | 'IDVN_OR_PASSPORT' | 'TIME';\r\n\r\nexport interface SdPatternCommon {\r\n type: SdPatternType;\r\n name: string;\r\n regex: string;\r\n errorMessage: string;\r\n}\r\n\r\nexport const SdPatternCommons: SdPatternCommon[] = [\r\n {\r\n type: 'EMAIL',\r\n name: 'Email',\r\n regex: StringUtilities.REGEX_EMAIL,\r\n errorMessage: 'Email không hợp lệ',\r\n },\r\n {\r\n type: 'PHONE',\r\n name: 'SĐT',\r\n regex: StringUtilities.REGEX_PHONE,\r\n errorMessage: 'Số điện thoại không hợp lệ',\r\n },\r\n {\r\n type: 'PHONE_VN',\r\n name: 'SĐT VN',\r\n regex: StringUtilities.REGEX_PHONE_VN,\r\n errorMessage: 'Số điện thoại không hợp lệ',\r\n },\r\n {\r\n type: 'IDVN_OR_PASSPORT',\r\n name: 'CCCD/Hộ chiếu',\r\n regex: StringUtilities.REGEX_IDVN_OR_PASSPORT,\r\n errorMessage: 'CCCD/CMND hoặc Hộ chiếu không hợp lệ',\r\n },\r\n {\r\n type: 'TIME',\r\n name: 'Giờ',\r\n regex: StringUtilities.REGEX_TIME,\r\n errorMessage: 'Giờ không hợp lệ (định dạng HH:mm)',\r\n },\r\n];\r\n","export const SD_EMPTY_STR = '--';\r\n","import { firstValueFrom, from, Observable, of } from 'rxjs';\r\n\r\nexport type SdMaybeAsync<T> = T | Promise<T> | Observable<T>;\r\n\r\nexport const SdResolveMaybeAsync = <T>(value: SdMaybeAsync<T>): Promise<T> => {\r\n if (value instanceof Promise) {\r\n return value;\r\n }\r\n if (isObservable(value)) {\r\n return firstValueFrom(value);\r\n }\r\n return Promise.resolve(value);\r\n};\r\n\r\nexport const SdNormalizeAsync = <T>(value: SdMaybeAsync<T>): Observable<T> => {\r\n if (isObservable(value)) {\r\n return value; // Nếu là Observable, giữ nguyên\r\n }\r\n if (value instanceof Promise) {\r\n return from(value); // Nếu là Promise, chuyển sang Observable\r\n }\r\n return of(value); // Nếu là giá trị thuần (Object, string...), bọc lại bằng of\r\n};\r\n\r\nfunction isObservable(obj: any): obj is Observable<any> {\r\n return obj && typeof obj.subscribe === 'function';\r\n}","export type SdOperator = SdOperatorHasData | SdOperatorNoData;\r\n\r\nexport type SdOperatorHasData =\r\n | 'EQUAL'\r\n | 'NOT_EQUAL'\r\n | 'CONTAIN'\r\n | 'NOT_CONTAIN'\r\n | 'IN'\r\n | 'NOT_IN'\r\n | 'START_WITH'\r\n | 'END_WITH'\r\n | 'GREATER_THAN'\r\n | 'LESS_THAN'\r\n | 'GREATER_OR_EQUAL'\r\n | 'LESS_OR_EQUAL'\r\n | 'BETWEEN';\r\n\r\nexport type SdOperatorNoData = 'NULL' | 'NOT_NULL';\r\n\r\nexport const SdOperators: {\r\n value: SdOperator;\r\n symbol?: string;\r\n display: string;\r\n}[] = [\r\n {\r\n value: 'EQUAL',\r\n symbol: '=',\r\n display: 'Bằng',\r\n },\r\n {\r\n value: 'NOT_EQUAL',\r\n symbol: '≠',\r\n display: 'Không bằng',\r\n },\r\n {\r\n value: 'GREATER_THAN',\r\n symbol: '>',\r\n display: 'Lớn hơn',\r\n },\r\n {\r\n value: 'LESS_THAN',\r\n symbol: '<',\r\n display: 'Nhỏ hơn',\r\n },\r\n {\r\n value: 'GREATER_OR_EQUAL',\r\n symbol: '≥',\r\n display: 'Lớn hơn, hoặc bằng',\r\n },\r\n {\r\n value: 'LESS_OR_EQUAL',\r\n symbol: '≤',\r\n display: 'Nhỏ hơn, hoặc bằng',\r\n },\r\n {\r\n value: 'CONTAIN',\r\n symbol: 'join_inner',\r\n display: 'Chứa',\r\n },\r\n {\r\n value: 'NOT_CONTAIN',\r\n symbol: 'join',\r\n display: 'Không chứa',\r\n },\r\n {\r\n value: 'START_WITH',\r\n symbol: 'line_start_circle',\r\n display: 'Bắt đầu bởi',\r\n },\r\n {\r\n value: 'END_WITH',\r\n symbol: 'line_end_circle',\r\n display: 'Kết thúc bởi',\r\n },\r\n {\r\n value: 'IN',\r\n symbol: 'checklist_rtl',\r\n display: 'Nằm trong',\r\n },\r\n {\r\n value: 'NOT_IN',\r\n symbol: 'event_list',\r\n display: 'Không nằm trong',\r\n },\r\n {\r\n value: 'NULL',\r\n symbol: 'motion_photos_off',\r\n display: 'Là rỗng',\r\n },\r\n {\r\n value: 'NOT_NULL',\r\n symbol: 'adjust',\r\n display: 'Không rỗng',\r\n },\r\n];\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import '@sd-angular/core/configurations';
|
|
|
2
2
|
import '@sd-angular/core/utilities';
|
|
3
3
|
import '@sd-angular/core/pipes';
|
|
4
4
|
import '@sd-angular/core/directives';
|
|
5
|
-
import '@sd-angular/core/guards';
|
|
6
5
|
import '@sd-angular/core/services';
|
|
7
6
|
import '@sd-angular/core/interceptors';
|
|
8
7
|
import '@sd-angular/core/handlers';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core.mjs","sources":["../../../projects/sd-angular/src/public-api.ts","../../../projects/sd-angular/src/sd-angular-core.ts"],"sourcesContent":["/*\n * Public API Surface of sd-angular\n */\nimport '@sd-angular/core/configurations';\nimport '@sd-angular/core/utilities';\nimport '@sd-angular/core/pipes';\nimport '@sd-angular/core/directives';\nimport '@sd-angular/core/
|
|
1
|
+
{"version":3,"file":"sd-angular-core.mjs","sources":["../../../projects/sd-angular/src/public-api.ts","../../../projects/sd-angular/src/sd-angular-core.ts"],"sourcesContent":["/*\n * Public API Surface of sd-angular\n */\nimport '@sd-angular/core/configurations';\nimport '@sd-angular/core/utilities';\nimport '@sd-angular/core/pipes';\nimport '@sd-angular/core/directives';\nimport '@sd-angular/core/services';\nimport '@sd-angular/core/interceptors';\nimport '@sd-angular/core/handlers';\nimport '@sd-angular/core/components';\nimport '@sd-angular/core/forms';\nimport '@sd-angular/core/modules';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;AAAA;;AAEG;;ACFH;;AAEG"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { AfterViewInit,
|
|
1
|
+
import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
|
|
2
2
|
import { FormControl, FormGroup, FormGroupDirective, NgForm, ValidatorFn } from '@angular/forms';
|
|
3
3
|
import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
|
|
4
4
|
import { ErrorStateMatcher } from '@angular/material/core';
|
|
5
5
|
import { MatFormFieldAppearance } from '@angular/material/form-field';
|
|
6
|
-
import { SdItemDefDefDirective,
|
|
7
|
-
import {
|
|
6
|
+
import { SdItemDefDefDirective, SdViewDefDirective } from '@sd-angular/core/forms/directives';
|
|
7
|
+
import { SdCustomValidator, SdFormControl, SdSearch, SdSelectionData } from '@sd-angular/core/forms/models';
|
|
8
8
|
import { SdSize } from '@sd-angular/core/utilities/models';
|
|
9
|
-
import { Observable } from 'rxjs';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
10
|
declare class SdAutocompleteErrotStateMatcher implements ErrorStateMatcher {
|
|
12
11
|
private formControl;
|
|
@@ -15,60 +14,61 @@ declare class SdAutocompleteErrotStateMatcher implements ErrorStateMatcher {
|
|
|
15
14
|
}
|
|
16
15
|
export declare class SdAutocomplete<T = any> implements OnInit, OnDestroy, AfterViewInit {
|
|
17
16
|
#private;
|
|
17
|
+
id: string;
|
|
18
|
+
inputRef: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
19
|
+
autocompleteTrigger: import("@angular/core").Signal<MatAutocompleteTrigger | undefined>;
|
|
20
|
+
sdLabelTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
21
|
+
sdValueTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
22
|
+
itemDef: import("@angular/core").Signal<SdItemDefDefDirective | undefined>;
|
|
23
|
+
sdViewDef: import("@angular/core").Signal<SdViewDefDirective | undefined>;
|
|
18
24
|
private ref;
|
|
19
25
|
private formConfig;
|
|
20
|
-
|
|
21
|
-
autoId
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
|
|
27
|
+
autoId: import("@angular/core").Signal<string | undefined>;
|
|
28
|
+
name: import("@angular/core").InputSignal<string>;
|
|
29
|
+
size: import("@angular/core").InputSignal<SdSize>;
|
|
30
|
+
form: import("@angular/core").InputSignalWithTransform<FormGroup<any> | undefined, any>;
|
|
31
|
+
label: import("@angular/core").InputSignal<string | undefined>;
|
|
32
|
+
helperText: import("@angular/core").InputSignal<string | undefined>;
|
|
33
|
+
placeholder: import("@angular/core").InputSignal<string | undefined>;
|
|
34
|
+
valueField: import("@angular/core").InputSignal<string | undefined>;
|
|
35
|
+
displayField: import("@angular/core").InputSignal<string | undefined>;
|
|
36
|
+
disabledField: import("@angular/core").InputSignal<string>;
|
|
37
|
+
limit: import("@angular/core").InputSignal<number>;
|
|
38
|
+
cacheChecksum: import("@angular/core").InputSignal<any>;
|
|
39
|
+
hyperlink: import("@angular/core").InputSignal<string | null | undefined>;
|
|
40
|
+
items: import("@angular/core").InputSignal<SdSearch<T> | T[] | null | undefined>;
|
|
41
|
+
hideInlineError: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
42
|
+
addable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
43
|
+
required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
44
|
+
disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
45
|
+
viewed: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
46
|
+
validator: import("@angular/core").InputSignal<SdCustomValidator | undefined>;
|
|
47
|
+
inlineError: import("@angular/core").InputSignal<string | undefined>;
|
|
48
|
+
/**
|
|
49
|
+
* Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true.
|
|
50
|
+
* Dùng getter (không phải computed) vì formControl.errors không phải Angular signal.
|
|
51
|
+
*/
|
|
52
|
+
get errorTooltipMessage(): string | undefined;
|
|
53
|
+
appearanceInput: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
|
|
54
|
+
appearance: import("@angular/core").Signal<MatFormFieldAppearance>;
|
|
55
|
+
valueModel: import("@angular/core").ModelSignal<string | number | null | undefined>;
|
|
56
|
+
sdChange: import("@angular/core").OutputEmitterRef<string | number | null>;
|
|
57
|
+
sdSelection: import("@angular/core").OutputEmitterRef<SdSelectionData<any>>;
|
|
58
|
+
sdAdd: EventEmitter<void>;
|
|
59
|
+
loading: import("@angular/core").WritableSignal<boolean>;
|
|
60
|
+
isFocused: boolean;
|
|
61
|
+
isTyping: import("@angular/core").WritableSignal<boolean>;
|
|
27
62
|
inputControl: SdFormControl;
|
|
28
63
|
formControl: SdFormControl;
|
|
29
64
|
matcher: SdAutocompleteErrotStateMatcher;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
displayField?: string;
|
|
38
|
-
disabledField: string;
|
|
39
|
-
placeholder?: string;
|
|
40
|
-
set items(items: undefined | null | T[] | SdSearch<T>);
|
|
41
|
-
limit: number;
|
|
42
|
-
filteredItems?: Observable<any[]>;
|
|
43
|
-
cacheChecksum: any;
|
|
44
|
-
controlPlaceHolder?: Observable<string>;
|
|
45
|
-
set model(value: undefined | number | string);
|
|
46
|
-
addable: boolean;
|
|
47
|
-
set _addable(addable: boolean | '' | undefined | null);
|
|
48
|
-
itemDef?: SdItemDefDefDirective;
|
|
49
|
-
sdLabelDef?: SdLabelDefDirective;
|
|
50
|
-
modelChange: EventEmitter<any>;
|
|
51
|
-
sdChange: EventEmitter<string | number | null>;
|
|
52
|
-
sdSelection: EventEmitter<SdSelectionData<any>>;
|
|
53
|
-
sdAdd: EventEmitter<any>;
|
|
54
|
-
set disabled(val: boolean | '' | undefined | null);
|
|
55
|
-
viewed: boolean;
|
|
56
|
-
set _viewed(val: boolean | '' | undefined | null);
|
|
57
|
-
hyperlink?: string | null;
|
|
58
|
-
required: boolean;
|
|
59
|
-
set _required(val: boolean | '' | undefined | null);
|
|
60
|
-
set _validator(value: SdCustomValidator | undefined);
|
|
61
|
-
inlineError?: string;
|
|
62
|
-
set _inlineError(val: string);
|
|
63
|
-
hideInlineError: boolean;
|
|
64
|
-
set _hideInlineError(val: boolean | '');
|
|
65
|
-
input?: ElementRef;
|
|
66
|
-
sdViewDef?: SdViewDefDirective;
|
|
67
|
-
isFocused: boolean;
|
|
68
|
-
selected?: Observable<T>;
|
|
69
|
-
display?: Observable<string>;
|
|
70
|
-
isTyping: boolean;
|
|
71
|
-
constructor(ref: ChangeDetectorRef, formConfig: ISdFormConfiguration);
|
|
65
|
+
filteredItems: import("@angular/core").WritableSignal<any[]>;
|
|
66
|
+
selected: import("@angular/core").WritableSignal<any>;
|
|
67
|
+
display: import("@angular/core").WritableSignal<string>;
|
|
68
|
+
controlPlaceHolder: import("@angular/core").WritableSignal<string>;
|
|
69
|
+
normalizedValue: import("@angular/core").Signal<string | number | null | undefined>;
|
|
70
|
+
getNestedValue: (obj: any, path: string | undefined) => any;
|
|
71
|
+
constructor();
|
|
72
72
|
ngOnInit(): void;
|
|
73
73
|
ngAfterViewInit(): void;
|
|
74
74
|
ngOnDestroy(): void;
|
|
@@ -82,7 +82,7 @@ export declare class SdAutocomplete<T = any> implements OnInit, OnDestroy, After
|
|
|
82
82
|
onAdd: ($event: Event) => void;
|
|
83
83
|
reValidate: () => void;
|
|
84
84
|
customInlineErrorValidator(): ValidatorFn;
|
|
85
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SdAutocomplete<any>,
|
|
86
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdAutocomplete<any>, "sd-autocomplete", never, { "
|
|
85
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdAutocomplete<any>, never>;
|
|
86
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdAutocomplete<any>, "sd-autocomplete", 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; }; "limit": { "alias": "limit"; "required": false; "isSignal": true; }; "cacheChecksum": { "alias": "cacheChecksum"; "required": false; "isSignal": true; }; "hyperlink": { "alias": "hyperlink"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "addable": { "alias": "addable"; "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; }; "validator": { "alias": "validator"; "required": false; "isSignal": true; }; "inlineError": { "alias": "inlineError"; "required": false; "isSignal": true; }; "appearanceInput": { "alias": "appearance"; "required": false; "isSignal": true; }; "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; "sdChange": "sdChange"; "sdSelection": "sdSelection"; "sdAdd": "sdAdd"; }, ["sdLabelTemplate", "sdValueTemplate", "itemDef", "sdViewDef"], ["[sdLabel]"], true, never>;
|
|
87
87
|
}
|
|
88
88
|
export {};
|
|
@@ -1,60 +1,57 @@
|
|
|
1
|
-
import { AfterViewInit,
|
|
1
|
+
import { AfterViewInit, ElementRef, TemplateRef } from '@angular/core';
|
|
2
2
|
import { FormControl, FormGroup, FormGroupDirective, NgForm } from '@angular/forms';
|
|
3
3
|
import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
|
4
4
|
import { MatChipInputEvent } from '@angular/material/chips';
|
|
5
5
|
import { ErrorStateMatcher } from '@angular/material/core';
|
|
6
|
-
import { MatFormFieldAppearance } from '@angular/material/form-field';
|
|
6
|
+
import { FloatLabelType, MatFormFieldAppearance } from '@angular/material/form-field';
|
|
7
7
|
import { SdLabelDefDirective, SdViewDefDirective } from '@sd-angular/core/forms/directives';
|
|
8
8
|
import { SdFormControl } from '@sd-angular/core/forms/models';
|
|
9
9
|
import { SdSize } from '@sd-angular/core/utilities';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
|
-
declare class
|
|
11
|
+
declare class SdChipErrorStateMatcher implements ErrorStateMatcher {
|
|
12
12
|
private formControl;
|
|
13
13
|
constructor(formControl: FormControl);
|
|
14
14
|
isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean;
|
|
15
15
|
}
|
|
16
|
-
export declare class SdChip implements
|
|
16
|
+
export declare class SdChip implements AfterViewInit {
|
|
17
17
|
#private;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
min: number;
|
|
39
|
-
set pMin(val: number | string);
|
|
40
|
-
max: number;
|
|
41
|
-
set pMax(val: number | string);
|
|
42
|
-
modelChange: EventEmitter<any>;
|
|
43
|
-
set disabled(val: boolean | '' | undefined | null);
|
|
44
|
-
sdChange: EventEmitter<any[]>;
|
|
18
|
+
autoId: import("@angular/core").InputSignal<string | undefined>;
|
|
19
|
+
name: import("@angular/core").InputSignal<string | undefined>;
|
|
20
|
+
appearance: import("@angular/core").InputSignal<MatFormFieldAppearance>;
|
|
21
|
+
floatLabel: import("@angular/core").InputSignal<FloatLabelType>;
|
|
22
|
+
size: import("@angular/core").InputSignal<SdSize>;
|
|
23
|
+
form: import("@angular/core").InputSignal<NgForm | FormGroup<any> | undefined>;
|
|
24
|
+
label: import("@angular/core").InputSignal<string>;
|
|
25
|
+
placeholder: import("@angular/core").InputSignal<string | undefined>;
|
|
26
|
+
removable: import("@angular/core").InputSignal<boolean | ((item: any) => boolean)>;
|
|
27
|
+
hideInlineError: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
28
|
+
model: import("@angular/core").InputSignal<(string | number)[] | undefined>;
|
|
29
|
+
required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
30
|
+
min: import("@angular/core").InputSignal<number>;
|
|
31
|
+
max: import("@angular/core").InputSignal<number>;
|
|
32
|
+
addable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
33
|
+
disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
34
|
+
viewed: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
35
|
+
hyperlink: import("@angular/core").InputSignal<string | null | undefined>;
|
|
36
|
+
modelChange: import("@angular/core").OutputEmitterRef<any[]>;
|
|
37
|
+
sdChange: import("@angular/core").OutputEmitterRef<any[]>;
|
|
45
38
|
input: ElementRef<HTMLInputElement>;
|
|
46
|
-
|
|
47
|
-
sdLabelDef
|
|
48
|
-
|
|
39
|
+
sdViewDef: import("@angular/core").Signal<SdViewDefDirective | undefined>;
|
|
40
|
+
sdLabelDef: import("@angular/core").Signal<SdLabelDefDirective | undefined>;
|
|
41
|
+
sdLabelTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
42
|
+
sdValueTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
49
43
|
isFocused: boolean;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
44
|
+
readonly separatorKeysCodes: number[];
|
|
45
|
+
readonly selectable = true;
|
|
46
|
+
constructor();
|
|
47
|
+
get formControl(): SdFormControl;
|
|
48
|
+
get inputControl(): FormControl<any>;
|
|
49
|
+
get errorTooltipMessage(): string | undefined;
|
|
50
|
+
get matcher(): SdChipErrorStateMatcher;
|
|
54
51
|
ngAfterViewInit(): void;
|
|
55
52
|
ngOnDestroy(): void;
|
|
56
53
|
onAdd: (event: MatChipInputEvent) => void;
|
|
57
|
-
onClickChip: (
|
|
54
|
+
onClickChip: (event: Event, item: any) => void;
|
|
58
55
|
onRemove: (item: any) => void;
|
|
59
56
|
onSelect: (event: MatAutocompleteSelectedEvent) => void;
|
|
60
57
|
onFocus: () => void;
|
|
@@ -63,6 +60,6 @@ export declare class SdChip implements OnDestroy, AfterViewInit {
|
|
|
63
60
|
focus: () => void;
|
|
64
61
|
onClear: ($event?: any) => void;
|
|
65
62
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdChip, never>;
|
|
66
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdChip, "sd-chip", never, { "
|
|
63
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdChip, "sd-chip", never, { "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "appearance": { "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; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "addable": { "alias": "addable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "hyperlink": { "alias": "hyperlink"; "required": false; "isSignal": true; }; }, { "modelChange": "modelChange"; "sdChange": "sdChange"; }, ["sdViewDef", "sdLabelDef", "sdLabelTemplate", "sdValueTemplate"], never, true, never>;
|
|
67
64
|
}
|
|
68
65
|
export {};
|
|
@@ -1,66 +1,65 @@
|
|
|
1
|
-
import { AfterViewInit,
|
|
1
|
+
import { AfterViewInit, ElementRef, TemplateRef } from '@angular/core';
|
|
2
2
|
import { FormControl, FormGroup, FormGroupDirective, NgForm } from '@angular/forms';
|
|
3
3
|
import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
|
4
4
|
import { ErrorStateMatcher } from '@angular/material/core';
|
|
5
5
|
import { MatCalendar } from '@angular/material/datepicker';
|
|
6
|
-
import { MatFormFieldAppearance } from '@angular/material/form-field';
|
|
6
|
+
import { FloatLabelType, MatFormFieldAppearance } from '@angular/material/form-field';
|
|
7
7
|
import { MatMenuTrigger } from '@angular/material/menu';
|
|
8
8
|
import { SdLabelDefDirective, SdViewDefDirective } from '@sd-angular/core/forms/directives';
|
|
9
9
|
import { SdFormControl } from '@sd-angular/core/forms/models';
|
|
10
10
|
import { SdSize } from '@sd-angular/core/utilities';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
|
-
declare class
|
|
12
|
+
declare class SdChipCalendarErrorStateMatcher implements ErrorStateMatcher {
|
|
13
13
|
private formControl;
|
|
14
14
|
constructor(formControl: FormControl);
|
|
15
15
|
isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean;
|
|
16
16
|
}
|
|
17
|
-
export declare class SdChipCalendar implements
|
|
17
|
+
export declare class SdChipCalendar implements AfterViewInit {
|
|
18
18
|
#private;
|
|
19
|
-
private ref;
|
|
20
19
|
menuTrigger: MatMenuTrigger;
|
|
21
20
|
calendar: MatCalendar<Date>;
|
|
22
|
-
autoId
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
size: SdSize
|
|
27
|
-
|
|
28
|
-
label: string
|
|
29
|
-
placeholder
|
|
30
|
-
removable: boolean | ((item: any) => boolean)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
modelChange: EventEmitter<any>;
|
|
42
|
-
set disabled(val: boolean | '' | undefined | null);
|
|
43
|
-
sdChange: EventEmitter<any[]>;
|
|
21
|
+
autoId: import("@angular/core").InputSignal<string | undefined>;
|
|
22
|
+
name: import("@angular/core").InputSignal<string | undefined>;
|
|
23
|
+
appearance: import("@angular/core").InputSignal<MatFormFieldAppearance>;
|
|
24
|
+
floatLabel: import("@angular/core").InputSignal<FloatLabelType>;
|
|
25
|
+
size: import("@angular/core").InputSignal<SdSize>;
|
|
26
|
+
form: import("@angular/core").InputSignal<NgForm | FormGroup<any> | undefined>;
|
|
27
|
+
label: import("@angular/core").InputSignal<string>;
|
|
28
|
+
placeholder: import("@angular/core").InputSignal<string | undefined>;
|
|
29
|
+
removable: import("@angular/core").InputSignal<boolean | ((item: any) => boolean)>;
|
|
30
|
+
hideInlineError: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
31
|
+
model: import("@angular/core").InputSignal<(string | number)[] | undefined>;
|
|
32
|
+
required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
33
|
+
min: import("@angular/core").InputSignal<number>;
|
|
34
|
+
max: import("@angular/core").InputSignal<number>;
|
|
35
|
+
disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
36
|
+
viewed: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
37
|
+
hyperlink: import("@angular/core").InputSignal<string | null | undefined>;
|
|
38
|
+
modelChange: import("@angular/core").OutputEmitterRef<any[]>;
|
|
39
|
+
sdChange: import("@angular/core").OutputEmitterRef<any[]>;
|
|
44
40
|
input: ElementRef<HTMLInputElement>;
|
|
45
|
-
|
|
46
|
-
sdLabelDef
|
|
47
|
-
|
|
41
|
+
sdViewDef: import("@angular/core").Signal<SdViewDefDirective | undefined>;
|
|
42
|
+
sdLabelDef: import("@angular/core").Signal<SdLabelDefDirective | undefined>;
|
|
43
|
+
sdLabelTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
44
|
+
sdValueTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
48
45
|
isFocused: boolean;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
46
|
+
readonly separatorKeysCodes: number[];
|
|
47
|
+
constructor();
|
|
48
|
+
get formControl(): SdFormControl;
|
|
49
|
+
get inputControl(): FormControl<any>;
|
|
50
|
+
get errorTooltipMessage(): string | undefined;
|
|
51
|
+
get matcher(): SdChipCalendarErrorStateMatcher;
|
|
53
52
|
ngAfterViewInit(): void;
|
|
54
53
|
ngOnDestroy(): void;
|
|
55
|
-
onClickChip: (
|
|
54
|
+
onClickChip: (event: Event, item: any) => void;
|
|
56
55
|
onRemove: (item: string) => void;
|
|
57
56
|
onSelect: (event: MatAutocompleteSelectedEvent) => void;
|
|
58
57
|
onClick: () => void;
|
|
59
|
-
onClear: (
|
|
58
|
+
onClear: (evt?: any) => void;
|
|
60
59
|
onSelectDate: (date: Date | null) => void;
|
|
61
|
-
onCloseCalendar()
|
|
60
|
+
onCloseCalendar: () => void;
|
|
62
61
|
dateClass: (cellDate: Date) => "" | "sd-chip-calendar-selected-date";
|
|
63
62
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdChipCalendar, never>;
|
|
64
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdChipCalendar, "sd-chip-calendar", never, { "
|
|
63
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdChipCalendar, "sd-chip-calendar", never, { "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "appearance": { "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; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "hyperlink": { "alias": "hyperlink"; "required": false; "isSignal": true; }; }, { "modelChange": "modelChange"; "sdChange": "sdChange"; }, ["sdViewDef", "sdLabelDef", "sdLabelTemplate", "sdValueTemplate"], never, true, never>;
|
|
65
64
|
}
|
|
66
65
|
export {};
|
|
@@ -1,58 +1,61 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FormGroup,
|
|
1
|
+
import { ElementRef, OnDestroy, OnInit, TemplateRef } from '@angular/core';
|
|
2
|
+
import { FormGroup, ValidatorFn } from '@angular/forms';
|
|
3
3
|
import { MatDatepicker, MatDatepickerInputEvent } from '@angular/material/datepicker';
|
|
4
|
-
import { MatFormFieldAppearance } from '@angular/material/form-field';
|
|
4
|
+
import { FloatLabelType, MatFormFieldAppearance } from '@angular/material/form-field';
|
|
5
5
|
import { SdLabelDefDirective, SdViewDefDirective } from '@sd-angular/core/forms/directives';
|
|
6
|
-
import {
|
|
6
|
+
import { SdFormControl } from '@sd-angular/core/forms/models';
|
|
7
7
|
import { SdSize } from '@sd-angular/core/utilities';
|
|
8
|
-
import { Moment } from 'moment';
|
|
8
|
+
import moment, { Moment } from 'moment';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export declare class SdDate implements OnDestroy, OnInit {
|
|
11
11
|
#private;
|
|
12
|
+
id: string;
|
|
13
|
+
inputRef: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
14
|
+
datePicker: import("@angular/core").Signal<MatDatepicker<moment.Moment> | undefined>;
|
|
15
|
+
sdLabelTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
16
|
+
sdValueTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
17
|
+
sdViewDef: import("@angular/core").Signal<SdViewDefDirective | undefined>;
|
|
18
|
+
sdLabelDef: import("@angular/core").Signal<SdLabelDefDirective | undefined>;
|
|
12
19
|
private ref;
|
|
13
20
|
private formConfig;
|
|
14
|
-
|
|
15
|
-
autoId
|
|
16
|
-
|
|
21
|
+
autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
|
|
22
|
+
autoId: import("@angular/core").Signal<string | undefined>;
|
|
23
|
+
name: import("@angular/core").InputSignal<string>;
|
|
24
|
+
size: import("@angular/core").InputSignal<SdSize>;
|
|
25
|
+
form: import("@angular/core").InputSignalWithTransform<FormGroup<any> | undefined, any>;
|
|
26
|
+
label: import("@angular/core").InputSignal<string | undefined>;
|
|
27
|
+
helperText: import("@angular/core").InputSignal<string | undefined>;
|
|
28
|
+
placeholder: import("@angular/core").InputSignal<string | undefined>;
|
|
29
|
+
hideInlineError: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
30
|
+
required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
31
|
+
disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
32
|
+
viewed: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
33
|
+
inlineError: import("@angular/core").InputSignal<string | undefined>;
|
|
34
|
+
/**
|
|
35
|
+
* Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true.
|
|
36
|
+
* Dùng getter (không phải computed) vì formControl.errors không phải Angular signal.
|
|
37
|
+
*/
|
|
38
|
+
get errorTooltipMessage(): string | undefined;
|
|
39
|
+
hyperlink: import("@angular/core").InputSignal<string | null | undefined>;
|
|
40
|
+
appearanceInput: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
|
|
41
|
+
appearance: import("@angular/core").Signal<MatFormFieldAppearance>;
|
|
42
|
+
floatLabel: import("@angular/core").InputSignal<FloatLabelType>;
|
|
43
|
+
minInput: import("@angular/core").InputSignal<any>;
|
|
44
|
+
minDateInput: import("@angular/core").InputSignal<any>;
|
|
45
|
+
resolvedMin: import("@angular/core").Signal<Date | null>;
|
|
46
|
+
maxInput: import("@angular/core").InputSignal<any>;
|
|
47
|
+
maxDateInput: import("@angular/core").InputSignal<any>;
|
|
48
|
+
resolvedMax: import("@angular/core").Signal<Date | null>;
|
|
49
|
+
valueModel: import("@angular/core").ModelSignal<string | number | Date | null | undefined>;
|
|
50
|
+
sdChange: import("@angular/core").OutputEmitterRef<any>;
|
|
51
|
+
sdFocus: import("@angular/core").OutputEmitterRef<void>;
|
|
17
52
|
isMobileOrTablet: boolean;
|
|
18
|
-
set name(val: string | undefined);
|
|
19
|
-
appearance: MatFormFieldAppearance;
|
|
20
|
-
hideInlineError: boolean;
|
|
21
|
-
set _hideInlineError(val: boolean | '');
|
|
22
53
|
formControl: SdFormControl;
|
|
23
|
-
min?: Date | null;
|
|
24
|
-
set _min(val: 'TODAY' | string | Date | number | undefined | null);
|
|
25
|
-
max?: Date | null;
|
|
26
|
-
set _max(val: 'TODAY' | string | Date | number | undefined | null);
|
|
27
|
-
size?: SdSize;
|
|
28
|
-
set form(val: NgForm | FormGroup | undefined | null);
|
|
29
|
-
set disabled(val: boolean | '' | undefined | null);
|
|
30
|
-
viewed: boolean;
|
|
31
|
-
set _viewed(val: boolean | '' | undefined | null);
|
|
32
|
-
hyperlink?: string | null;
|
|
33
|
-
required: boolean;
|
|
34
|
-
set _required(val: boolean | '' | undefined | null);
|
|
35
|
-
inlineError?: string;
|
|
36
|
-
set _inlineError(val: string);
|
|
37
|
-
label?: string;
|
|
38
|
-
set _label(val: string | undefined);
|
|
39
|
-
helperText?: string;
|
|
40
|
-
set _helperText(val: string | undefined);
|
|
41
|
-
placeholder?: string;
|
|
42
|
-
set minDate(val: string | Date);
|
|
43
|
-
set maxDate(val: string | Date);
|
|
44
|
-
sdChange: EventEmitter<any>;
|
|
45
|
-
sdFocus: EventEmitter<any>;
|
|
46
|
-
set model(val: string | number | Date | undefined | null);
|
|
47
|
-
modelChange: EventEmitter<any>;
|
|
48
|
-
sdViewDef?: SdViewDefDirective;
|
|
49
|
-
sdLabelDef?: SdLabelDefDirective;
|
|
50
|
-
input?: ElementRef;
|
|
51
|
-
datePicker?: MatDatepicker<Moment>;
|
|
52
54
|
isFocused: boolean;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
isValid?: boolean;
|
|
56
|
+
constructor();
|
|
55
57
|
ngOnInit(): void;
|
|
58
|
+
ngOnDestroy(): void;
|
|
56
59
|
customInlineErrorValidator(): ValidatorFn;
|
|
57
60
|
onFocus: () => void;
|
|
58
61
|
onBlur: () => void;
|
|
@@ -60,11 +63,10 @@ export declare class SdDate implements OnDestroy, OnInit {
|
|
|
60
63
|
blur: () => void;
|
|
61
64
|
focus: () => void;
|
|
62
65
|
focusInputElement(): void;
|
|
63
|
-
isValid?: boolean;
|
|
64
66
|
onKeyDown: (event: KeyboardEvent) => boolean;
|
|
65
67
|
onKeyup: (event: any) => void;
|
|
66
68
|
onChange: (event: MatDatepickerInputEvent<Moment>) => void;
|
|
67
69
|
clear: ($event: any) => void;
|
|
68
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SdDate,
|
|
69
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdDate, "sd-date", never, { "
|
|
70
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdDate, never>;
|
|
71
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdDate, "sd-date", 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; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "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; }; "minInput": { "alias": "min"; "required": false; "isSignal": true; }; "minDateInput": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxInput": { "alias": "max"; "required": false; "isSignal": true; }; "maxDateInput": { "alias": "maxDate"; "required": false; "isSignal": true; }; "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; "sdChange": "sdChange"; "sdFocus": "sdFocus"; }, ["sdLabelTemplate", "sdValueTemplate", "sdViewDef", "sdLabelDef"], ["[sdLabel]"], true, never>;
|
|
70
72
|
}
|