@sd-angular/core 19.0.0-beta.98 → 19.0.3
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 +720 -716
- package/assets/images/coming-soon.svg +23 -0
- package/assets/images/data-empty.svg +21 -0
- package/assets/images/expired.svg +22 -0
- package/assets/images/file-error.svg +28 -0
- package/assets/images/filter-empty.svg +20 -0
- package/assets/images/filter-required.svg +21 -0
- package/assets/images/forbidden.svg +15 -0
- package/assets/images/image-error.svg +27 -0
- package/assets/images/maintenance.svg +23 -0
- package/assets/images/not-found.svg +20 -0
- package/assets/images/offline.svg +20 -0
- package/assets/images/submitted.svg +18 -0
- package/assets/images/success.svg +18 -0
- package/assets/images/unauthorized.svg +22 -0
- package/assets/images/unknown-error.svg +18 -0
- package/assets/scss/README.md +433 -353
- package/assets/scss/core/_inline-edit.scss +105 -0
- package/assets/scss/core/form.scss +58 -1
- package/assets/scss/core/image.scss +35 -0
- package/assets/scss/core/utilities/_base.scss +6 -6
- package/assets/scss/core/utilities/_grid.scss +4 -3
- package/assets/scss/core/utilities/_index.scss +1 -1
- package/assets/scss/core/utilities/_sizing.scss +2 -2
- package/assets/scss/sd-core.scss +1 -2
- package/components/anchor/src/components/anchor/anchor.component.d.ts +5 -5
- package/components/anchor/src/components/anchor-nav/anchor-nav.component.d.ts +21 -0
- package/components/autoid-inspector/src/autoid-inspector.component.d.ts +18 -0
- package/components/autoid-inspector/src/models/autoid-element.model.d.ts +45 -1
- package/components/autoid-inspector/src/models/autoid-export-format.model.d.ts +19 -0
- package/components/autoid-inspector/src/services/autoid-export.service.d.ts +10 -2
- package/components/autoid-inspector/src/services/autoid-scanner.service.d.ts +26 -3
- package/components/badge/src/badge.component.d.ts +20 -3
- package/components/button/src/button.component.d.ts +2 -1
- package/components/ckeditor-styles/index.d.ts +1 -0
- package/components/ckeditor-styles/src/ckeditor-styles.component.d.ts +25 -0
- package/components/editor/src/editor.component.d.ts +2 -0
- package/components/form-generic/src/components/form-builder/form-builder.component.d.ts +12 -13
- package/components/form-generic/src/models/form-generic-component.model.d.ts +5 -6
- package/components/form-generic/src/models/form-generic-expression.model.d.ts +1 -1
- package/components/history/models/history.model.d.ts +2 -2
- package/components/index.d.ts +2 -0
- package/components/inform/index.d.ts +2 -0
- package/components/inform/src/inform-action.directive.d.ts +9 -0
- package/components/inform/src/inform.component.d.ts +59 -0
- package/components/modal/src/modal.component.d.ts +3 -1
- package/components/modal-resizable/index.d.ts +1 -0
- package/components/modal-resizable/src/modal-resizable.component.d.ts +29 -0
- package/components/operator/index.d.ts +1 -0
- package/components/operator/src/operator.component.d.ts +34 -0
- package/components/query-bar/index.d.ts +2 -0
- package/components/query-bar/src/components/actions-bar/actions-bar.component.d.ts +28 -0
- package/components/query-bar/src/components/build-chip/build-chip.component.d.ts +67 -0
- package/components/query-bar/src/components/chip-popover/chip-popover.component.d.ts +73 -0
- package/components/query-bar/src/components/field-picker/field-picker.component.d.ts +37 -0
- package/components/query-bar/src/components/inline-chip/inline-chip.component.d.ts +76 -0
- package/components/query-bar/src/components/inline-value-chip/inline-value-chip.component.d.ts +67 -0
- package/components/query-bar/src/components/popover-chip/popover-chip.component.d.ts +35 -0
- package/components/query-bar/src/components/saved-filters-menu/saved-filters-menu.component.d.ts +39 -0
- package/components/query-bar/src/query-bar.component.d.ts +137 -0
- package/components/query-bar/src/query-bar.model.d.ts +136 -0
- package/components/section/src/section.component.d.ts +2 -1
- package/components/side-drawer/src/side-drawer.component.d.ts +7 -3
- package/components/stepper/index.d.ts +2 -0
- package/components/stepper/src/step.component.d.ts +17 -0
- package/components/stepper/src/stepper.component.d.ts +33 -0
- package/components/tab/index.d.ts +2 -0
- package/components/tab/src/tab-group.component.d.ts +37 -0
- package/components/tab/src/tab.component.d.ts +13 -0
- package/components/tab-router/src/decorators/tab.decorator.d.ts +2 -2
- package/components/tab-router/src/models/tab-router.model.d.ts +2 -2
- package/components/table/index.d.ts +1 -0
- package/components/table/src/components/column-title/column-title.component.d.ts +1 -1
- package/components/table/src/components/command/desktop-command.component.d.ts +14 -0
- package/components/table/src/components/command/pipes/command.pipe.d.ts +30 -0
- package/components/table/src/components/command/pipes/filter.pipe.d.ts +35 -0
- package/components/table/src/components/config/config.component.d.ts +9 -14
- package/components/table/src/components/desktop-cell/desktop-cell.component.d.ts +4 -4
- package/components/table/src/components/filter/column-filter/column-filter.component.d.ts +32 -0
- package/components/table/src/components/filter/external-filter/external-filter.component.d.ts +27 -0
- package/components/table/src/components/filter/index.d.ts +3 -0
- package/components/table/src/components/filter/mobile-filter/mobile-filter.component.d.ts +42 -0
- package/components/table/src/components/index.d.ts +1 -2
- package/components/table/src/components/selector-action/selector-action.component.d.ts +5 -5
- package/components/table/src/configurations/table.configuration.d.ts +3 -3
- package/components/table/src/directives/index.d.ts +1 -0
- package/components/table/src/directives/sd-table-cell-def.directive.d.ts +13 -5
- package/components/table/src/directives/sd-table-column-filter-def.directive.d.ts +13 -5
- package/components/table/src/directives/sd-table-expand-def.directive.d.ts +10 -4
- package/components/table/src/directives/sd-table-filter-def.directive.d.ts +5 -5
- package/components/table/src/directives/sd-table-footer-def.directive.d.ts +13 -5
- package/components/table/src/directives/sd-table-group-def.directive.d.ts +44 -0
- package/components/table/src/directives/sd-table-title-def.directive.d.ts +11 -5
- package/components/table/src/models/index.d.ts +1 -0
- package/components/table/src/models/table-column.model.d.ts +13 -13
- package/components/table/src/models/table-command.model.d.ts +3 -2
- package/components/table/src/models/table-item.model.d.ts +19 -4
- package/components/table/src/models/table-option-export.model.d.ts +3 -3
- package/components/table/src/models/table-option-group.model.d.ts +19 -2
- package/components/table/src/models/table-option-selector.model.d.ts +17 -1
- package/components/table/src/models/table-option-tree.model.d.ts +96 -8
- package/components/table/src/models/table-option.model.d.ts +24 -2
- package/components/table/src/pipes/sd-group.pipe.d.ts +15 -1
- package/components/table/src/services/table-filter/table-filter.model.d.ts +9 -9
- package/components/table/src/services/table-filter/table-filter.service.d.ts +2 -2
- package/components/table/src/services/tree/tree.util.d.ts +43 -2
- package/components/table/src/table.component.d.ts +42 -14
- package/components/upload-file/src/upload-file.component.d.ts +3 -0
- package/components/view/src/view.component.d.ts +35 -1
- package/directives/src/sd-desktop.directive.d.ts +2 -4
- package/directives/src/sd-mobile.directive.d.ts +2 -4
- package/fesm2022/sd-angular-core-components-anchor.mjs +95 -62
- package/fesm2022/sd-angular-core-components-anchor.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-autoid-inspector.mjs +254 -29
- package/fesm2022/sd-angular-core-components-autoid-inspector.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-avatar.mjs +2 -2
- package/fesm2022/sd-angular-core-components-avatar.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-badge.mjs +18 -3
- package/fesm2022/sd-angular-core-components-badge.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-button.mjs +2 -2
- package/fesm2022/sd-angular-core-components-button.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-ckeditor-styles.mjs +38 -0
- package/fesm2022/sd-angular-core-components-ckeditor-styles.mjs.map +1 -0
- package/fesm2022/sd-angular-core-components-document-builder.mjs +10 -8
- package/fesm2022/sd-angular-core-components-document-builder.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-editor.mjs +6 -2
- package/fesm2022/sd-angular-core-components-editor.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-form-generic.mjs +151 -237
- package/fesm2022/sd-angular-core-components-form-generic.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-history.mjs +3 -2
- package/fesm2022/sd-angular-core-components-history.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-inform.mjs +190 -0
- package/fesm2022/sd-angular-core-components-inform.mjs.map +1 -0
- package/fesm2022/sd-angular-core-components-mini-editor.mjs +4 -3
- package/fesm2022/sd-angular-core-components-mini-editor.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-modal-resizable.mjs +158 -0
- package/fesm2022/sd-angular-core-components-modal-resizable.mjs.map +1 -0
- package/fesm2022/sd-angular-core-components-modal.mjs +5 -4
- package/fesm2022/sd-angular-core-components-modal.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-operator.mjs +77 -0
- package/fesm2022/sd-angular-core-components-operator.mjs.map +1 -0
- package/fesm2022/sd-angular-core-components-preview.mjs +4 -4
- package/fesm2022/sd-angular-core-components-preview.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-query-bar.mjs +1384 -0
- package/fesm2022/sd-angular-core-components-query-bar.mjs.map +1 -0
- 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.map +1 -1
- package/fesm2022/sd-angular-core-components-side-drawer.mjs +17 -11
- package/fesm2022/sd-angular-core-components-side-drawer.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-splitter.mjs +5 -2
- package/fesm2022/sd-angular-core-components-splitter.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-stepper.mjs +140 -0
- package/fesm2022/sd-angular-core-components-stepper.mjs.map +1 -0
- package/fesm2022/sd-angular-core-components-tab-router.mjs +3 -3
- package/fesm2022/sd-angular-core-components-tab-router.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-tab.mjs +145 -0
- package/fesm2022/sd-angular-core-components-tab.mjs.map +1 -0
- package/fesm2022/sd-angular-core-components-table.mjs +1138 -725
- package/fesm2022/sd-angular-core-components-table.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-upload-file.mjs +28 -23
- package/fesm2022/sd-angular-core-components-upload-file.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-view.mjs +44 -9
- package/fesm2022/sd-angular-core-components-view.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components.mjs +2 -0
- package/fesm2022/sd-angular-core-components.mjs.map +1 -1
- package/fesm2022/sd-angular-core-directives.mjs +19 -21
- package/fesm2022/sd-angular-core-directives.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-autocomplete.mjs +46 -14
- package/fesm2022/sd-angular-core-forms-autocomplete.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-checkbox.mjs +101 -85
- package/fesm2022/sd-angular-core-forms-checkbox.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-chip-calendar.mjs +101 -61
- package/fesm2022/sd-angular-core-forms-chip-calendar.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-chip.mjs +98 -52
- package/fesm2022/sd-angular-core-forms-chip.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-date-range.mjs +73 -10
- package/fesm2022/sd-angular-core-forms-date-range.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-date.mjs +45 -15
- package/fesm2022/sd-angular-core-forms-date.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-datetime.mjs +39 -14
- package/fesm2022/sd-angular-core-forms-datetime.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-directives.mjs +18 -24
- package/fesm2022/sd-angular-core-forms-directives.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-inline-text.mjs +167 -0
- package/fesm2022/sd-angular-core-forms-inline-text.mjs.map +1 -0
- package/fesm2022/sd-angular-core-forms-input-color.mjs +119 -0
- package/fesm2022/sd-angular-core-forms-input-color.mjs.map +1 -0
- package/fesm2022/sd-angular-core-forms-input-number.mjs +72 -14
- package/fesm2022/sd-angular-core-forms-input-number.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-input.mjs +96 -29
- package/fesm2022/sd-angular-core-forms-input.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-models.mjs +107 -2
- package/fesm2022/sd-angular-core-forms-models.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-radio.mjs +134 -174
- package/fesm2022/sd-angular-core-forms-radio.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-select.mjs +74 -23
- package/fesm2022/sd-angular-core-forms-select.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-switch.mjs +98 -96
- package/fesm2022/sd-angular-core-forms-switch.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-textarea.mjs +39 -12
- package/fesm2022/sd-angular-core-forms-textarea.mjs.map +1 -1
- package/fesm2022/sd-angular-core-i18n.mjs +270 -20
- package/fesm2022/sd-angular-core-i18n.mjs.map +1 -1
- package/fesm2022/sd-angular-core-modules-auth.mjs +4 -4
- package/fesm2022/sd-angular-core-modules-auth.mjs.map +1 -1
- package/fesm2022/sd-angular-core-modules-authom.mjs +1 -1
- package/fesm2022/sd-angular-core-modules-authom.mjs.map +1 -1
- package/fesm2022/sd-angular-core-modules-layout.mjs +23 -23
- package/fesm2022/sd-angular-core-modules-layout.mjs.map +1 -1
- package/fesm2022/sd-angular-core-modules-permission.mjs +3 -3
- package/fesm2022/sd-angular-core-modules-permission.mjs.map +1 -1
- package/fesm2022/sd-angular-core-pipes.mjs +2 -2
- package/fesm2022/sd-angular-core-pipes.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-api.mjs +3 -3
- package/fesm2022/sd-angular-core-services-api.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-cache.mjs +3 -2
- package/fesm2022/sd-angular-core-services-cache.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-confirm.mjs +1 -1
- package/fesm2022/sd-angular-core-services-confirm.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-excel.mjs +6 -5
- package/fesm2022/sd-angular-core-services-excel.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-notify.mjs +18 -5
- package/fesm2022/sd-angular-core-services-notify.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-storage.mjs +2 -2
- package/fesm2022/sd-angular-core-services-storage.mjs.map +1 -1
- package/fesm2022/sd-angular-core-utilities-data-state.mjs +38 -0
- package/fesm2022/sd-angular-core-utilities-data-state.mjs.map +1 -0
- package/fesm2022/sd-angular-core-utilities-models.mjs.map +1 -1
- package/fesm2022/sd-angular-core-utilities.mjs +1 -0
- package/fesm2022/sd-angular-core-utilities.mjs.map +1 -1
- package/forms/autocomplete/src/autocomplete.component.d.ts +29 -10
- package/forms/checkbox/src/checkbox.component.d.ts +24 -20
- package/forms/chip/src/chip.component.d.ts +29 -20
- package/forms/chip-calendar/src/chip-calendar.component.d.ts +31 -22
- package/forms/date/src/date.component.d.ts +27 -9
- package/forms/date-range/src/date-range.component.d.ts +32 -5
- package/forms/datetime/src/datetime.component.d.ts +25 -8
- package/forms/directives/src/item-def.directive.d.ts +10 -5
- package/forms/directives/src/label-def.directive.d.ts +3 -2
- package/forms/directives/src/suffix-def.directive.d.ts +3 -2
- package/forms/directives/src/view-def.directive.d.ts +9 -9
- package/forms/inline-text/index.d.ts +1 -0
- package/forms/inline-text/src/inline-text.component.d.ts +76 -0
- package/forms/input/src/input.component.d.ts +35 -13
- package/forms/input-color/index.d.ts +1 -0
- package/forms/input-color/src/input-color.component.d.ts +34 -0
- package/forms/input-number/src/input-number.component.d.ts +31 -11
- package/forms/models/index.d.ts +2 -0
- package/forms/models/src/form-control-state.d.ts +23 -0
- package/forms/models/src/sd-custom-validator.model.d.ts +13 -1
- package/forms/models/src/sd-viewed.d.ts +38 -0
- package/forms/radio/src/radio.component.d.ts +37 -35
- package/forms/select/src/select.component.d.ts +41 -14
- package/forms/switch/src/switch.component.d.ts +25 -23
- package/forms/textarea/src/textarea.component.d.ts +22 -8
- package/i18n/src/en.d.ts +50 -3
- package/modules/auth/configurations/auth.configuration.d.ts +4 -4
- package/modules/layout/configurations/layout.configuration.d.ts +3 -3
- package/modules/permission/src/configurations/permission.configuration.d.ts +3 -3
- package/package.json +89 -49
- package/sd-angular-core-19.0.3.tgz +0 -0
- package/services/confirm/src/lib/components/dialog-confirm/dialog-confirm.component.d.ts +3 -3
- package/services/confirm/src/lib/confirm.service.d.ts +9 -9
- package/services/notify/src/components/toast/toast.component.d.ts +4 -0
- package/utilities/data-state/index.d.ts +1 -0
- package/utilities/data-state/src/data-state.d.ts +11 -0
- package/utilities/index.d.ts +1 -0
- package/utilities/models/src/icon.model.d.ts +1 -1
- package/assets/scss/bootstrap-4.6.2/_alert.scss +0 -52
- package/assets/scss/bootstrap-4.6.2/_badge.scss +0 -54
- package/assets/scss/bootstrap-4.6.2/_breadcrumb.scss +0 -42
- package/assets/scss/bootstrap-4.6.2/_button-group.scss +0 -163
- package/assets/scss/bootstrap-4.6.2/_buttons.scss +0 -142
- package/assets/scss/bootstrap-4.6.2/_card.scss +0 -286
- package/assets/scss/bootstrap-4.6.2/_carousel.scss +0 -200
- package/assets/scss/bootstrap-4.6.2/_close.scss +0 -40
- package/assets/scss/bootstrap-4.6.2/_code.scss +0 -48
- package/assets/scss/bootstrap-4.6.2/_custom-forms.scss +0 -526
- package/assets/scss/bootstrap-4.6.2/_dropdown.scss +0 -192
- package/assets/scss/bootstrap-4.6.2/_forms.scss +0 -347
- package/assets/scss/bootstrap-4.6.2/_functions.scss +0 -190
- package/assets/scss/bootstrap-4.6.2/_grid.scss +0 -73
- package/assets/scss/bootstrap-4.6.2/_images.scss +0 -42
- package/assets/scss/bootstrap-4.6.2/_input-group.scss +0 -211
- package/assets/scss/bootstrap-4.6.2/_jumbotron.scss +0 -17
- package/assets/scss/bootstrap-4.6.2/_list-group.scss +0 -154
- package/assets/scss/bootstrap-4.6.2/_media.scss +0 -8
- package/assets/scss/bootstrap-4.6.2/_mixins.scss +0 -47
- package/assets/scss/bootstrap-4.6.2/_modal.scss +0 -240
- package/assets/scss/bootstrap-4.6.2/_nav.scss +0 -125
- package/assets/scss/bootstrap-4.6.2/_navbar.scss +0 -332
- package/assets/scss/bootstrap-4.6.2/_pagination.scss +0 -74
- package/assets/scss/bootstrap-4.6.2/_popover.scss +0 -170
- package/assets/scss/bootstrap-4.6.2/_print.scss +0 -132
- package/assets/scss/bootstrap-4.6.2/_progress.scss +0 -47
- package/assets/scss/bootstrap-4.6.2/_reboot.scss +0 -484
- package/assets/scss/bootstrap-4.6.2/_root.scss +0 -19
- package/assets/scss/bootstrap-4.6.2/_spinners.scss +0 -65
- package/assets/scss/bootstrap-4.6.2/_tables.scss +0 -185
- package/assets/scss/bootstrap-4.6.2/_toasts.scss +0 -46
- package/assets/scss/bootstrap-4.6.2/_tooltip.scss +0 -115
- package/assets/scss/bootstrap-4.6.2/_transitions.scss +0 -26
- package/assets/scss/bootstrap-4.6.2/_type.scss +0 -125
- package/assets/scss/bootstrap-4.6.2/_utilities.scss +0 -18
- package/assets/scss/bootstrap-4.6.2/_variables.scss +0 -1150
- package/assets/scss/bootstrap-4.6.2/bootstrap-grid.scss +0 -30
- package/assets/scss/bootstrap-4.6.2/bootstrap-reboot.scss +0 -12
- package/assets/scss/bootstrap-4.6.2/bootstrap.scss +0 -44
- package/assets/scss/bootstrap-4.6.2/mixins/_alert.scss +0 -13
- package/assets/scss/bootstrap-4.6.2/mixins/_background-variant.scss +0 -23
- package/assets/scss/bootstrap-4.6.2/mixins/_badge.scss +0 -17
- package/assets/scss/bootstrap-4.6.2/mixins/_border-radius.scss +0 -76
- package/assets/scss/bootstrap-4.6.2/mixins/_box-shadow.scss +0 -20
- package/assets/scss/bootstrap-4.6.2/mixins/_breakpoints.scss +0 -123
- package/assets/scss/bootstrap-4.6.2/mixins/_buttons.scss +0 -110
- package/assets/scss/bootstrap-4.6.2/mixins/_caret.scss +0 -62
- package/assets/scss/bootstrap-4.6.2/mixins/_clearfix.scss +0 -7
- package/assets/scss/bootstrap-4.6.2/mixins/_deprecate.scss +0 -10
- package/assets/scss/bootstrap-4.6.2/mixins/_float.scss +0 -14
- package/assets/scss/bootstrap-4.6.2/mixins/_forms.scss +0 -195
- package/assets/scss/bootstrap-4.6.2/mixins/_gradients.scss +0 -45
- package/assets/scss/bootstrap-4.6.2/mixins/_grid-framework.scss +0 -80
- package/assets/scss/bootstrap-4.6.2/mixins/_grid.scss +0 -69
- package/assets/scss/bootstrap-4.6.2/mixins/_hover.scss +0 -37
- package/assets/scss/bootstrap-4.6.2/mixins/_image.scss +0 -36
- package/assets/scss/bootstrap-4.6.2/mixins/_list-group.scss +0 -21
- package/assets/scss/bootstrap-4.6.2/mixins/_lists.scss +0 -7
- package/assets/scss/bootstrap-4.6.2/mixins/_nav-divider.scss +0 -11
- package/assets/scss/bootstrap-4.6.2/mixins/_pagination.scss +0 -22
- package/assets/scss/bootstrap-4.6.2/mixins/_reset-text.scss +0 -17
- package/assets/scss/bootstrap-4.6.2/mixins/_resize.scss +0 -6
- package/assets/scss/bootstrap-4.6.2/mixins/_screen-reader.scss +0 -34
- package/assets/scss/bootstrap-4.6.2/mixins/_size.scss +0 -7
- package/assets/scss/bootstrap-4.6.2/mixins/_table-row.scss +0 -39
- package/assets/scss/bootstrap-4.6.2/mixins/_text-emphasis.scss +0 -17
- package/assets/scss/bootstrap-4.6.2/mixins/_text-hide.scss +0 -11
- package/assets/scss/bootstrap-4.6.2/mixins/_text-truncate.scss +0 -8
- package/assets/scss/bootstrap-4.6.2/mixins/_transition.scss +0 -26
- package/assets/scss/bootstrap-4.6.2/mixins/_visibility.scss +0 -8
- package/assets/scss/bootstrap-4.6.2/utilities/_align.scss +0 -8
- package/assets/scss/bootstrap-4.6.2/utilities/_background.scss +0 -19
- package/assets/scss/bootstrap-4.6.2/utilities/_borders.scss +0 -75
- package/assets/scss/bootstrap-4.6.2/utilities/_clearfix.scss +0 -3
- package/assets/scss/bootstrap-4.6.2/utilities/_display.scss +0 -26
- package/assets/scss/bootstrap-4.6.2/utilities/_embed.scss +0 -39
- package/assets/scss/bootstrap-4.6.2/utilities/_flex.scss +0 -51
- package/assets/scss/bootstrap-4.6.2/utilities/_float.scss +0 -11
- package/assets/scss/bootstrap-4.6.2/utilities/_interactions.scss +0 -5
- package/assets/scss/bootstrap-4.6.2/utilities/_overflow.scss +0 -5
- package/assets/scss/bootstrap-4.6.2/utilities/_position.scss +0 -32
- package/assets/scss/bootstrap-4.6.2/utilities/_screenreaders.scss +0 -11
- package/assets/scss/bootstrap-4.6.2/utilities/_shadows.scss +0 -6
- package/assets/scss/bootstrap-4.6.2/utilities/_sizing.scss +0 -20
- package/assets/scss/bootstrap-4.6.2/utilities/_spacing.scss +0 -73
- package/assets/scss/bootstrap-4.6.2/utilities/_stretched-link.scss +0 -19
- package/assets/scss/bootstrap-4.6.2/utilities/_text.scss +0 -72
- package/assets/scss/bootstrap-4.6.2/utilities/_visibility.scss +0 -13
- package/assets/scss/bootstrap-4.6.2/vendor/_rfs.scss +0 -228
- package/assets/scss/core/bootstrap.scss +0 -13
- package/components/anchor/src/components/anchor-vertical/anchor-vertical-list.component.d.ts +0 -18
- package/components/table/src/components/column-filter/column-filter.component.d.ts +0 -40
- package/components/table/src/components/desktop-command/desktop-command.component.d.ts +0 -15
- package/components/table/src/components/external-filter/external-filter.component.d.ts +0 -36
- package/components/table/src/pipes/command-disable.pipe.d.ts +0 -9
- package/components/table/src/pipes/command-filter.pipe.d.ts +0 -25
- package/components/table/src/pipes/command-title.pipe.d.ts +0 -9
- package/sd-angular-core-19.0.0-beta.98.tgz +0 -0
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ElementRef, OnDestroy, OnInit, TemplateRef } from '@angular/core';
|
|
2
|
-
import { FormGroup
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
3
|
import { FloatLabelType, MatFormFieldAppearance } from '@angular/material/form-field';
|
|
4
4
|
import { SdViewDefDirective } from '@sd-angular/core/forms/directives';
|
|
5
|
-
import { SdFormControl } from '@sd-angular/core/forms/models';
|
|
5
|
+
import { SdFormControl, SdViewed, SdViewedInput } from '@sd-angular/core/forms/models';
|
|
6
|
+
import { Size } from '@sdcorejs/utils/models';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class SdDatetime implements OnDestroy, OnInit {
|
|
8
9
|
#private;
|
|
@@ -10,7 +11,7 @@ export declare class SdDatetime implements OnDestroy, OnInit {
|
|
|
10
11
|
inputRef: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
11
12
|
sdLabelTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
12
13
|
sdValueTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
13
|
-
sdViewDef: import("@angular/core").Signal<SdViewDefDirective | undefined>;
|
|
14
|
+
sdViewDef: import("@angular/core").Signal<SdViewDefDirective<any, any> | undefined>;
|
|
14
15
|
private ref;
|
|
15
16
|
private overlay;
|
|
16
17
|
private elementRef;
|
|
@@ -18,8 +19,14 @@ export declare class SdDatetime implements OnDestroy, OnInit {
|
|
|
18
19
|
private formConfig;
|
|
19
20
|
autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
|
|
20
21
|
autoId: import("@angular/core").Signal<string | undefined>;
|
|
22
|
+
readonly dataDisabled: import("@angular/core").Signal<"true" | "false">;
|
|
23
|
+
readonly dataInvalid: import("@angular/core").Signal<"true" | "false">;
|
|
24
|
+
readonly dataEmpty: import("@angular/core").Signal<"true" | "false">;
|
|
25
|
+
readonly dataValue: import("@angular/core").Signal<string>;
|
|
26
|
+
readonly dataRequired: import("@angular/core").Signal<"true" | "false">;
|
|
27
|
+
readonly dataErrorMessage: import("@angular/core").Signal<string | null>;
|
|
21
28
|
name: import("@angular/core").InputSignal<string>;
|
|
22
|
-
size: import("@angular/core").InputSignal<
|
|
29
|
+
size: import("@angular/core").InputSignal<Size>;
|
|
23
30
|
form: import("@angular/core").InputSignalWithTransform<FormGroup<any> | undefined, any>;
|
|
24
31
|
label: import("@angular/core").InputSignal<string | undefined>;
|
|
25
32
|
helperText: import("@angular/core").InputSignal<string | undefined>;
|
|
@@ -27,14 +34,25 @@ export declare class SdDatetime implements OnDestroy, OnInit {
|
|
|
27
34
|
hideInlineError: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
28
35
|
required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
29
36
|
disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
30
|
-
|
|
37
|
+
/** Display mode: `false` edit · `true` static view · `'inline'` view + click-to-edit (datetime overlay). */
|
|
38
|
+
viewed: import("@angular/core").InputSignalWithTransform<SdViewed, SdViewedInput>;
|
|
31
39
|
/** Hiển thị thêm cột giây trong picker. Mặc định: chỉ HH:MM. */
|
|
32
40
|
showSeconds: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
41
|
+
/** In `viewed='inline'`, show a hover clear-× on the text face. Set `false` when the host owns removal (chips). */
|
|
42
|
+
clearable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
43
|
+
/** `true` when `viewed === 'inline'`. */
|
|
44
|
+
readonly isInline: import("@angular/core").Signal<boolean>;
|
|
45
|
+
/** `true` when `viewed === true` (static view, no editor). */
|
|
46
|
+
readonly isViewed: import("@angular/core").Signal<boolean>;
|
|
47
|
+
/** Open the datetime overlay from the inline text face. No-op unless `viewed='inline'`. */
|
|
48
|
+
enterInlineEdit: () => void;
|
|
49
|
+
/** View display template: `sdViewDef` overrides the projected `#sdValue` (unified). */
|
|
50
|
+
readonly viewTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
33
51
|
inlineError: import("@angular/core").InputSignal<string | undefined>;
|
|
34
52
|
/**
|
|
35
53
|
* Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true.
|
|
36
54
|
*/
|
|
37
|
-
|
|
55
|
+
readonly errorMessage: import("@angular/core").Signal<string | undefined>;
|
|
38
56
|
hyperlink: import("@angular/core").InputSignal<string | null | undefined>;
|
|
39
57
|
appearanceInput: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
|
|
40
58
|
appearance: import("@angular/core").Signal<MatFormFieldAppearance>;
|
|
@@ -62,7 +80,6 @@ export declare class SdDatetime implements OnDestroy, OnInit {
|
|
|
62
80
|
open(): void;
|
|
63
81
|
/** Đóng popup (public — gọi từ template nếu cần). */
|
|
64
82
|
close(): void;
|
|
65
|
-
customInlineErrorValidator(): ValidatorFn;
|
|
66
83
|
onFocus: () => void;
|
|
67
84
|
onBlur: () => void;
|
|
68
85
|
onClick: () => void;
|
|
@@ -77,5 +94,5 @@ export declare class SdDatetime implements OnDestroy, OnInit {
|
|
|
77
94
|
onConfirmInput: (event: any) => void;
|
|
78
95
|
clear: ($event: any) => void;
|
|
79
96
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdDatetime, never>;
|
|
80
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdDatetime, "sd-datetime", 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; }; "showSeconds": { "alias": "showSeconds"; "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"], ["[sdLabel]"], true, never>;
|
|
97
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdDatetime, "sd-datetime", 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; }; "showSeconds": { "alias": "showSeconds"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "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"], ["[sdLabel]"], true, never>;
|
|
81
98
|
}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { TemplateRef } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SdItemDefDefDirective, never>;
|
|
7
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SdItemDefDefDirective, "[sdItemDef]", never, {}, {}, never, never, true, never>;
|
|
3
|
+
interface Context<T = unknown> {
|
|
4
|
+
$implicit?: T;
|
|
5
|
+
item: T;
|
|
8
6
|
}
|
|
7
|
+
export declare class SdItemDefDefDirective<T = unknown> {
|
|
8
|
+
static ngTemplateContextGuard<T>(_dir: SdItemDefDefDirective<T>, _ctx: unknown): _ctx is Context<T>;
|
|
9
|
+
readonly templateRef: TemplateRef<Context<T>>;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdItemDefDefDirective<any>, never>;
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SdItemDefDefDirective<any>, "[sdItemDef]", never, {}, {}, never, never, true, never>;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { TemplateRef } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
type Context = Record<string, never>;
|
|
3
4
|
export declare class SdLabelDefDirective {
|
|
4
|
-
templateRef: TemplateRef<
|
|
5
|
-
constructor(templateRef: TemplateRef<any>);
|
|
5
|
+
readonly templateRef: TemplateRef<Context>;
|
|
6
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdLabelDefDirective, never>;
|
|
7
7
|
static ɵdir: i0.ɵɵDirectiveDeclaration<SdLabelDefDirective, "[sdLabelDef]", never, {}, {}, never, never, true, never>;
|
|
8
8
|
}
|
|
9
|
+
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { TemplateRef } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
type Context = Record<string, never>;
|
|
3
4
|
export declare class SdSuffixDefDirective {
|
|
4
|
-
templateRef: TemplateRef<
|
|
5
|
-
constructor(templateRef: TemplateRef<any>);
|
|
5
|
+
readonly templateRef: TemplateRef<Context>;
|
|
6
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdSuffixDefDirective, never>;
|
|
7
7
|
static ɵdir: i0.ɵɵDirectiveDeclaration<SdSuffixDefDirective, "[sdSuffixDef]", never, {}, {}, never, never, true, never>;
|
|
8
8
|
}
|
|
9
|
+
export {};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { TemplateRef } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SdViewDefDirective, "[sdViewDef]", never, {}, {}, never, never, true, never>;
|
|
3
|
+
interface Context<TValue = unknown, TItem = unknown> {
|
|
4
|
+
value?: TValue | null;
|
|
5
|
+
selectedItem?: TItem | null;
|
|
6
|
+
selectedItems?: TItem[] | null;
|
|
8
7
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
export declare class SdViewDefDirective<TValue = unknown, TItem = unknown> {
|
|
9
|
+
static ngTemplateContextGuard<TValue, TItem>(_dir: SdViewDefDirective<TValue, TItem>, _ctx: unknown): _ctx is Context<TValue, TItem>;
|
|
10
|
+
readonly templateRef: TemplateRef<Context<TValue, TItem>>;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdViewDefDirective<any, any>, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SdViewDefDirective<any, any>, "[sdViewDef]", never, {}, {}, never, never, true, never>;
|
|
13
13
|
}
|
|
14
14
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './src/inline-text.component';
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { SdFormControl } from '@sd-angular/core/forms/models';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/** Visual / `data-state` of the inline input. `'auto'` derives from focus + value. */
|
|
4
|
+
export type SdInlineTextState = 'auto' | 'pending' | 'active' | 'focus' | 'error';
|
|
5
|
+
/** `'standalone'` draws its own affordance (hover bg + focus ring); `'seamless'` defers all chrome to the host. */
|
|
6
|
+
export type SdInlineTextChrome = 'standalone' | 'seamless';
|
|
7
|
+
/**
|
|
8
|
+
* Borderless, content-hugging text input — the seamless primitive shared by
|
|
9
|
+
* `sd-input` / `sd-input-number` (`viewed='inline'`) and the query-bar / query-builder chips.
|
|
10
|
+
*
|
|
11
|
+
* why: a native `<input>` inside `mat-form-field` cannot hug its content, so inline-edit
|
|
12
|
+
* looked like a full-width input rather than text. This primitive renders a raw `<input>`
|
|
13
|
+
* sized via the native `size` attribute (clamped) so the click/hover target tracks the value.
|
|
14
|
+
*
|
|
15
|
+
* It is intentionally unopinionated about commit/parse/format: it forwards the raw DOM events
|
|
16
|
+
* (focus / blur / keydown / paste / composition / Enter / Escape) so each consumer keeps its own
|
|
17
|
+
* logic (e.g. sd-input-number's vi-VN formatting). Two binding modes:
|
|
18
|
+
* - **uncontrolled** via `[(value)]` — used by the chips' signal drafts;
|
|
19
|
+
* - **controlled** via `[control]` (an external `SdFormControl`) — used by the form controls.
|
|
20
|
+
*/
|
|
21
|
+
export declare class SdInlineText {
|
|
22
|
+
/** Uncontrolled value (two-way). Ignored when `[control]` is provided. */
|
|
23
|
+
readonly value: import("@angular/core").ModelSignal<string>;
|
|
24
|
+
/** Optional external FormControl (controlled mode) — used by sd-input / sd-input-number. */
|
|
25
|
+
readonly control: import("@angular/core").InputSignal<SdFormControl | undefined>;
|
|
26
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
27
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
28
|
+
/** Show a hover/value-gated clear-× (default `true`). */
|
|
29
|
+
readonly clearable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
30
|
+
/** `'auto'` derives state from focus + value; pass an explicit value (e.g. `'error'`) to override. */
|
|
31
|
+
readonly state: import("@angular/core").InputSignal<SdInlineTextState>;
|
|
32
|
+
readonly chrome: import("@angular/core").InputSignal<SdInlineTextChrome>;
|
|
33
|
+
readonly autoId: import("@angular/core").InputSignal<string | undefined>;
|
|
34
|
+
readonly autofocus: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
35
|
+
/** Lower bound (chars) so short/empty values keep a clickable target. */
|
|
36
|
+
readonly minSize: import("@angular/core").InputSignal<number>;
|
|
37
|
+
readonly cleared: import("@angular/core").OutputEmitterRef<void>;
|
|
38
|
+
readonly keyupEnter: import("@angular/core").OutputEmitterRef<void>;
|
|
39
|
+
readonly keydownEscape: import("@angular/core").OutputEmitterRef<void>;
|
|
40
|
+
readonly sdFocus: import("@angular/core").OutputEmitterRef<FocusEvent>;
|
|
41
|
+
readonly sdBlur: import("@angular/core").OutputEmitterRef<FocusEvent>;
|
|
42
|
+
readonly sdKeydown: import("@angular/core").OutputEmitterRef<KeyboardEvent>;
|
|
43
|
+
readonly sdPaste: import("@angular/core").OutputEmitterRef<ClipboardEvent>;
|
|
44
|
+
readonly sdCompositionStart: import("@angular/core").OutputEmitterRef<CompositionEvent>;
|
|
45
|
+
readonly sdCompositionEnd: import("@angular/core").OutputEmitterRef<CompositionEvent>;
|
|
46
|
+
private readonly inputRef;
|
|
47
|
+
/** Bumped on input/blur/composition + bound-control changes so size/state methods re-eval under OnPush. */
|
|
48
|
+
protected readonly tick: import("@angular/core").WritableSignal<number>;
|
|
49
|
+
protected readonly focused: import("@angular/core").WritableSignal<boolean>;
|
|
50
|
+
constructor();
|
|
51
|
+
/**
|
|
52
|
+
* Current text — from the bound control in controlled mode, else the value model.
|
|
53
|
+
* why: `tick` is a tracked dependency so the computed re-runs when a bound control's
|
|
54
|
+
* value changes programmatically (control.value itself is not a signal).
|
|
55
|
+
*/
|
|
56
|
+
protected readonly currentText: import("@angular/core").Signal<string>;
|
|
57
|
+
protected readonly hasValue: import("@angular/core").Signal<boolean>;
|
|
58
|
+
protected readonly sizeOf: import("@angular/core").Signal<number>;
|
|
59
|
+
protected readonly showClear: import("@angular/core").Signal<boolean>;
|
|
60
|
+
protected readonly effectiveState: import("@angular/core").Signal<SdInlineTextState>;
|
|
61
|
+
protected onInput(ev: Event): void;
|
|
62
|
+
protected onFocus(ev: FocusEvent): void;
|
|
63
|
+
protected onBlur(ev: FocusEvent): void;
|
|
64
|
+
protected onKeyup(ev: KeyboardEvent): void;
|
|
65
|
+
protected onKeydown(ev: KeyboardEvent): void;
|
|
66
|
+
protected onPaste(ev: ClipboardEvent): void;
|
|
67
|
+
protected onCompositionStart(ev: CompositionEvent): void;
|
|
68
|
+
protected onCompositionEnd(ev: CompositionEvent): void;
|
|
69
|
+
protected clear(ev: Event): void;
|
|
70
|
+
/** Focus the native input. */
|
|
71
|
+
focus(): void;
|
|
72
|
+
/** Blur the native input. */
|
|
73
|
+
blur(): void;
|
|
74
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdInlineText, never>;
|
|
75
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdInlineText, "sd-inline-text", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "control": { "alias": "control"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "chrome": { "alias": "chrome"; "required": false; "isSignal": true; }; "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "minSize": { "alias": "minSize"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "cleared": "cleared"; "keyupEnter": "keyupEnter"; "keydownEscape": "keydownEscape"; "sdFocus": "sdFocus"; "sdBlur": "sdBlur"; "sdKeydown": "sdKeydown"; "sdPaste": "sdPaste"; "sdCompositionStart": "sdCompositionStart"; "sdCompositionEnd": "sdCompositionEnd"; }, never, never, true, never>;
|
|
76
|
+
}
|
|
@@ -1,24 +1,37 @@
|
|
|
1
1
|
import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
|
|
2
|
-
import { FormGroup
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
3
|
import { FloatLabelType, MatFormFieldAppearance } from '@angular/material/form-field';
|
|
4
|
+
import { SdInlineText } from '@sd-angular/core/forms/inline-text';
|
|
4
5
|
import { SdSuffixDefDirective, SdViewDefDirective } from '@sd-angular/core/forms/directives';
|
|
5
|
-
import { SdCustomValidator, SdFormControl } from '@sd-angular/core/forms/models';
|
|
6
|
+
import { SdCustomValidator, SdFormControl, SdViewed, SdViewedInput } from '@sd-angular/core/forms/models';
|
|
7
|
+
import { Size } from '@sdcorejs/utils/models';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
export declare class SdInput implements OnDestroy, OnInit, AfterViewInit {
|
|
8
10
|
#private;
|
|
9
11
|
id: string;
|
|
10
12
|
control: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
13
|
+
/** The inline primitive — only present when `viewed='inline'`; drives focus/blur in that mode. */
|
|
14
|
+
inlineRef: import("@angular/core").Signal<SdInlineText | undefined>;
|
|
11
15
|
sdLabelTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
12
16
|
sdValueTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
13
17
|
sdSuffixDef: import("@angular/core").Signal<SdSuffixDefDirective | undefined>;
|
|
14
|
-
sdViewDef: import("@angular/core").Signal<SdViewDefDirective | undefined>;
|
|
18
|
+
sdViewDef: import("@angular/core").Signal<SdViewDefDirective<any, any> | undefined>;
|
|
15
19
|
autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
|
|
16
20
|
autoId: import("@angular/core").Signal<string | undefined>;
|
|
21
|
+
readonly dataDisabled: import("@angular/core").Signal<"true" | "false">;
|
|
22
|
+
readonly dataInvalid: import("@angular/core").Signal<"true" | "false">;
|
|
23
|
+
readonly dataEmpty: import("@angular/core").Signal<"true" | "false">;
|
|
24
|
+
readonly dataValue: import("@angular/core").Signal<string | null>;
|
|
25
|
+
readonly dataRequired: import("@angular/core").Signal<"true" | "false">;
|
|
26
|
+
readonly dataMaxLength: import("@angular/core").Signal<string | null>;
|
|
27
|
+
readonly dataMinLength: import("@angular/core").Signal<string | null>;
|
|
28
|
+
readonly dataPattern: import("@angular/core").Signal<string | null>;
|
|
29
|
+
readonly dataErrorMessage: import("@angular/core").Signal<string | null>;
|
|
17
30
|
name: import("@angular/core").InputSignal<string>;
|
|
18
31
|
appearanceInput: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
|
|
19
32
|
appearance: import("@angular/core").Signal<MatFormFieldAppearance>;
|
|
20
33
|
floatLabel: import("@angular/core").InputSignal<FloatLabelType>;
|
|
21
|
-
size: import("@angular/core").InputSignal<
|
|
34
|
+
size: import("@angular/core").InputSignal<Size>;
|
|
22
35
|
form: import("@angular/core").InputSignalWithTransform<FormGroup<any> | undefined, any>;
|
|
23
36
|
label: import("@angular/core").InputSignal<string | undefined>;
|
|
24
37
|
helperText: import("@angular/core").InputSignal<string | undefined>;
|
|
@@ -29,7 +42,16 @@ export declare class SdInput implements OnDestroy, OnInit, AfterViewInit {
|
|
|
29
42
|
required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
30
43
|
readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
31
44
|
disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
32
|
-
|
|
45
|
+
/** Display mode: `false` edit · `true` static view · `'inline'` borderless inline-edit (no panel — the input IS the face). */
|
|
46
|
+
viewed: import("@angular/core").InputSignalWithTransform<SdViewed, SdViewedInput>;
|
|
47
|
+
/** `true` when `viewed === 'inline'`. */
|
|
48
|
+
readonly isInline: import("@angular/core").Signal<boolean>;
|
|
49
|
+
/** `true` when `viewed === true` (static view, no input). */
|
|
50
|
+
readonly isViewed: import("@angular/core").Signal<boolean>;
|
|
51
|
+
/** Focus the inline input. No-op unless `viewed='inline'`. */
|
|
52
|
+
enterInlineEdit: () => void;
|
|
53
|
+
/** View display template: `sdViewDef` overrides the projected `#sdValue` for the static view (unified). */
|
|
54
|
+
readonly viewTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
33
55
|
minlength: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
|
|
34
56
|
maxlength: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
|
|
35
57
|
pattern: import("@angular/core").InputSignal<string | null | undefined>;
|
|
@@ -37,20 +59,20 @@ export declare class SdInput implements OnDestroy, OnInit, AfterViewInit {
|
|
|
37
59
|
resolvedPattern: import("@angular/core").Signal<string | undefined>;
|
|
38
60
|
resolvedPatternErrorMsg: import("@angular/core").Signal<string | undefined>;
|
|
39
61
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
62
|
+
* First active error message for tooltip display when `hideInlineError = true`.
|
|
63
|
+
* Re-runs only when `#state` ticks (value / status / touched change) — no longer
|
|
64
|
+
* invoked on every change-detection cycle as a getter would be.
|
|
43
65
|
*/
|
|
44
|
-
|
|
66
|
+
readonly errorMessage: import("@angular/core").Signal<string | undefined>;
|
|
45
67
|
validator: import("@angular/core").InputSignal<SdCustomValidator | undefined>;
|
|
46
68
|
inlineError: import("@angular/core").InputSignal<string | undefined>;
|
|
47
69
|
hyperlink: import("@angular/core").InputSignal<string | null | undefined>;
|
|
48
|
-
tooltip: import("@angular/core").InputSignal<string | undefined>;
|
|
49
70
|
valueModel: import("@angular/core").ModelSignal<any>;
|
|
50
71
|
sdChange: import("@angular/core").OutputEmitterRef<any>;
|
|
51
72
|
sdFocus: import("@angular/core").OutputEmitterRef<void>;
|
|
52
73
|
sdBlur: import("@angular/core").OutputEmitterRef<any>;
|
|
53
74
|
keyupEnter: import("@angular/core").OutputEmitterRef<any>;
|
|
75
|
+
cleared: import("@angular/core").OutputEmitterRef<void>;
|
|
54
76
|
sdFocusForceBlur: EventEmitter<void>;
|
|
55
77
|
formControl: SdFormControl;
|
|
56
78
|
isFocused: boolean;
|
|
@@ -59,9 +81,10 @@ export declare class SdInput implements OnDestroy, OnInit, AfterViewInit {
|
|
|
59
81
|
ngAfterViewInit(): void;
|
|
60
82
|
ngOnDestroy(): void;
|
|
61
83
|
reValidate: () => void;
|
|
62
|
-
customInlineErrorValidator(): ValidatorFn;
|
|
63
84
|
getCurrentLength: () => number;
|
|
64
85
|
isMaxlengthExceeded: () => boolean;
|
|
86
|
+
showClear: () => boolean;
|
|
87
|
+
clear: ($event?: Event) => void;
|
|
65
88
|
onKeyupEnter: () => void;
|
|
66
89
|
onFocus: () => void;
|
|
67
90
|
onBlur: () => void;
|
|
@@ -69,6 +92,5 @@ export declare class SdInput implements OnDestroy, OnInit, AfterViewInit {
|
|
|
69
92
|
blur: () => void;
|
|
70
93
|
focus: () => void;
|
|
71
94
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdInput, never>;
|
|
72
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdInput, "sd-input", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "appearanceInput": { "alias": "appearance"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "blurOnEnter": { "alias": "blurOnEnter"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "patternErrorMessage": { "alias": "patternErrorMessage"; "required": false; "isSignal": true; }; "validator": { "alias": "validator"; "required": false; "isSignal": true; }; "inlineError": { "alias": "inlineError"; "required": false; "isSignal": true; }; "hyperlink": { "alias": "hyperlink"; "required": false; "isSignal": true; }; "
|
|
95
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdInput, "sd-input", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "appearanceInput": { "alias": "appearance"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "blurOnEnter": { "alias": "blurOnEnter"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "patternErrorMessage": { "alias": "patternErrorMessage"; "required": false; "isSignal": true; }; "validator": { "alias": "validator"; "required": false; "isSignal": true; }; "inlineError": { "alias": "inlineError"; "required": false; "isSignal": true; }; "hyperlink": { "alias": "hyperlink"; "required": false; "isSignal": true; }; "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; "sdChange": "sdChange"; "sdFocus": "sdFocus"; "sdBlur": "sdBlur"; "keyupEnter": "keyupEnter"; "cleared": "cleared"; "sdFocusForceBlur": "sdFocusForceBlur"; }, ["sdLabelTemplate", "sdValueTemplate", "sdSuffixDef", "sdViewDef"], ["[sdLabel]"], true, never>;
|
|
73
96
|
}
|
|
74
|
-
export declare function backendErrorValidator(backendErrorMessage: string): ValidatorFn;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './src/input-color.component';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import { MatFormFieldAppearance } from '@angular/material/form-field';
|
|
3
|
+
import { SdViewed, SdViewedInput } from '@sd-angular/core/forms/models';
|
|
4
|
+
import { Size } from '@sdcorejs/utils/models';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare const SD_INPUT_COLOR_HEX_PATTERN = "^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$";
|
|
7
|
+
export declare class SdInputColor {
|
|
8
|
+
#private;
|
|
9
|
+
readonly hexPattern = "^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$";
|
|
10
|
+
readonly label: import("@angular/core").InputSignal<string | undefined>;
|
|
11
|
+
readonly helperText: import("@angular/core").InputSignal<string | undefined>;
|
|
12
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
13
|
+
readonly size: import("@angular/core").InputSignal<Size>;
|
|
14
|
+
readonly appearance: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
|
|
15
|
+
readonly form: import("@angular/core").InputSignal<any>;
|
|
16
|
+
readonly name: import("@angular/core").InputSignal<string | undefined>;
|
|
17
|
+
readonly autoId: import("@angular/core").InputSignal<string | undefined>;
|
|
18
|
+
readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
19
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
20
|
+
readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
21
|
+
/** Display mode — forwarded to the inner `<sd-input>`. `'inline'` = borderless inline-edit; disabled `'inline'` → static. */
|
|
22
|
+
readonly viewed: import("@angular/core").InputSignalWithTransform<SdViewed, SdViewedInput>;
|
|
23
|
+
readonly valueModel: import("@angular/core").ModelSignal<string | null | undefined>;
|
|
24
|
+
readonly sdChange: import("@angular/core").OutputEmitterRef<string | null | undefined>;
|
|
25
|
+
readonly picker: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
26
|
+
readonly pickerSafeValue: import("@angular/core").Signal<string>;
|
|
27
|
+
readonly swatchColor: import("@angular/core").Signal<string>;
|
|
28
|
+
onInputChange: (v: unknown) => void;
|
|
29
|
+
openPicker: () => void;
|
|
30
|
+
onPickerChange: (ev: Event) => void;
|
|
31
|
+
clear: (ev?: Event) => void;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdInputColor, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdInputColor, "sd-input-color", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; "sdChange": "sdChange"; }, never, never, true, never>;
|
|
34
|
+
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
|
|
2
|
-
import { FormControl, FormGroup, FormGroupDirective, NgForm
|
|
2
|
+
import { FormControl, FormGroup, FormGroupDirective, NgForm } from '@angular/forms';
|
|
3
3
|
import { ErrorStateMatcher } from '@angular/material/core';
|
|
4
4
|
import { FloatLabelType, MatFormFieldAppearance } from '@angular/material/form-field';
|
|
5
|
+
import { SdInlineText } from '@sd-angular/core/forms/inline-text';
|
|
5
6
|
import { SdSuffixDefDirective, SdViewDefDirective } from '@sd-angular/core/forms/directives';
|
|
6
|
-
import { SdCustomValidator, SdFormControl } from '@sd-angular/core/forms/models';
|
|
7
|
+
import { SdCustomValidator, SdFormControl, SdViewed, SdViewedInput } from '@sd-angular/core/forms/models';
|
|
8
|
+
import { Size } from '@sdcorejs/utils/models';
|
|
7
9
|
import * as i0 from "@angular/core";
|
|
8
10
|
declare class SdInputNumberErrotStateMatcher implements ErrorStateMatcher {
|
|
9
11
|
private formControl;
|
|
@@ -14,9 +16,11 @@ export declare class SdInputNumber implements OnDestroy, OnInit, AfterViewInit {
|
|
|
14
16
|
#private;
|
|
15
17
|
id: string;
|
|
16
18
|
control: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
19
|
+
/** The inline primitive — only present when `viewed='inline'`; drives focus/blur in that mode. */
|
|
20
|
+
inlineRef: import("@angular/core").Signal<SdInlineText | undefined>;
|
|
17
21
|
sdLabelTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
18
22
|
sdValueTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
19
|
-
sdViewDef: import("@angular/core").Signal<SdViewDefDirective | undefined>;
|
|
23
|
+
sdViewDef: import("@angular/core").Signal<SdViewDefDirective<any, any> | undefined>;
|
|
20
24
|
sdSuffixDef: import("@angular/core").Signal<SdSuffixDefDirective | undefined>;
|
|
21
25
|
private ref;
|
|
22
26
|
private coreConfiguration;
|
|
@@ -24,8 +28,14 @@ export declare class SdInputNumber implements OnDestroy, OnInit, AfterViewInit {
|
|
|
24
28
|
private formConfig;
|
|
25
29
|
autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
|
|
26
30
|
autoId: import("@angular/core").Signal<string | undefined>;
|
|
31
|
+
readonly dataDisabled: import("@angular/core").Signal<"true" | "false">;
|
|
32
|
+
readonly dataInvalid: import("@angular/core").Signal<"true" | "false">;
|
|
33
|
+
readonly dataEmpty: import("@angular/core").Signal<"true" | "false">;
|
|
34
|
+
readonly dataValue: import("@angular/core").Signal<string>;
|
|
35
|
+
readonly dataRequired: import("@angular/core").Signal<"true" | "false">;
|
|
36
|
+
readonly dataErrorMessage: import("@angular/core").Signal<string | null>;
|
|
27
37
|
name: import("@angular/core").InputSignal<string>;
|
|
28
|
-
size: import("@angular/core").InputSignal<
|
|
38
|
+
size: import("@angular/core").InputSignal<Size>;
|
|
29
39
|
form: import("@angular/core").InputSignalWithTransform<FormGroup<any> | undefined, any>;
|
|
30
40
|
label: import("@angular/core").InputSignal<string | undefined>;
|
|
31
41
|
helperText: import("@angular/core").InputSignal<string | undefined>;
|
|
@@ -35,7 +45,16 @@ export declare class SdInputNumber implements OnDestroy, OnInit, AfterViewInit {
|
|
|
35
45
|
required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
36
46
|
readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
37
47
|
disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
38
|
-
|
|
48
|
+
/** Display mode: `false` edit · `true` static view · `'inline'` borderless inline-edit (input IS the face). */
|
|
49
|
+
viewed: import("@angular/core").InputSignalWithTransform<SdViewed, SdViewedInput>;
|
|
50
|
+
/** `true` when `viewed === 'inline'`. */
|
|
51
|
+
readonly isInline: import("@angular/core").Signal<boolean>;
|
|
52
|
+
/** `true` when `viewed === true` (static view, no input). */
|
|
53
|
+
readonly isViewed: import("@angular/core").Signal<boolean>;
|
|
54
|
+
/** Focus the inline input. No-op unless `viewed='inline'`. */
|
|
55
|
+
enterInlineEdit: () => void;
|
|
56
|
+
/** View display template: `sdViewDef` overrides the projected `#sdValue` for the static view (unified). */
|
|
57
|
+
readonly viewTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
39
58
|
type: import("@angular/core").InputSignal<"negative" | "positive" | undefined>;
|
|
40
59
|
precision: import("@angular/core").InputSignal<number>;
|
|
41
60
|
format: import("@angular/core").InputSignal<"1,234,567.89" | "1.234.567,89" | undefined>;
|
|
@@ -45,9 +64,8 @@ export declare class SdInputNumber implements OnDestroy, OnInit, AfterViewInit {
|
|
|
45
64
|
inlineError: import("@angular/core").InputSignal<string | undefined>;
|
|
46
65
|
/**
|
|
47
66
|
* Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true.
|
|
48
|
-
* Dùng getter (không phải computed) vì formControl.errors không phải Angular signal.
|
|
49
67
|
*/
|
|
50
|
-
|
|
68
|
+
readonly errorMessage: import("@angular/core").Signal<string | undefined>;
|
|
51
69
|
hyperlink: import("@angular/core").InputSignal<string | null | undefined>;
|
|
52
70
|
appearanceInput: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
|
|
53
71
|
appearance: import("@angular/core").Signal<MatFormFieldAppearance>;
|
|
@@ -57,20 +75,22 @@ export declare class SdInputNumber implements OnDestroy, OnInit, AfterViewInit {
|
|
|
57
75
|
sdFocus: import("@angular/core").OutputEmitterRef<void>;
|
|
58
76
|
sdBlur: import("@angular/core").OutputEmitterRef<any>;
|
|
59
77
|
keyupEnter: import("@angular/core").OutputEmitterRef<any>;
|
|
78
|
+
cleared: import("@angular/core").OutputEmitterRef<void>;
|
|
60
79
|
sdFocusForceBlur: EventEmitter<void>;
|
|
61
80
|
formControl: SdFormControl;
|
|
62
81
|
inputControl: SdFormControl;
|
|
63
82
|
matcher: SdInputNumberErrotStateMatcher;
|
|
64
83
|
isFocused: boolean;
|
|
65
|
-
decimalSeparator: import("@angular/core").Signal<"
|
|
66
|
-
thousandsSeparator: import("@angular/core").Signal<"
|
|
84
|
+
decimalSeparator: import("@angular/core").Signal<"." | ",">;
|
|
85
|
+
thousandsSeparator: import("@angular/core").Signal<"." | ",">;
|
|
67
86
|
regexPattern: import("@angular/core").Signal<string>;
|
|
68
87
|
constructor();
|
|
69
88
|
ngOnInit(): void;
|
|
70
89
|
ngAfterViewInit(): void;
|
|
71
90
|
ngOnDestroy(): void;
|
|
72
91
|
reValidate: () => void;
|
|
73
|
-
|
|
92
|
+
showClear: () => boolean;
|
|
93
|
+
clear: ($event?: Event) => void;
|
|
74
94
|
onKeyupEnter: () => void;
|
|
75
95
|
onKeydown: (event: KeyboardEvent) => void;
|
|
76
96
|
onPaste(event: ClipboardEvent): void;
|
|
@@ -82,6 +102,6 @@ export declare class SdInputNumber implements OnDestroy, OnInit, AfterViewInit {
|
|
|
82
102
|
blur: () => void;
|
|
83
103
|
focus: () => void;
|
|
84
104
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdInputNumber, never>;
|
|
85
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdInputNumber, "sd-input-number", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "blurOnEnter": { "alias": "blurOnEnter"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "precision": { "alias": "precision"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "validator": { "alias": "validator"; "required": false; "isSignal": true; }; "inlineError": { "alias": "inlineError"; "required": false; "isSignal": true; }; "hyperlink": { "alias": "hyperlink"; "required": false; "isSignal": true; }; "appearanceInput": { "alias": "appearance"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; "sdChange": "sdChange"; "sdFocus": "sdFocus"; "sdBlur": "sdBlur"; "keyupEnter": "keyupEnter"; "sdFocusForceBlur": "sdFocusForceBlur"; }, ["sdLabelTemplate", "sdValueTemplate", "sdViewDef", "sdSuffixDef"], ["[sdLabel]"], true, never>;
|
|
105
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdInputNumber, "sd-input-number", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hideInlineError": { "alias": "hideInlineError"; "required": false; "isSignal": true; }; "blurOnEnter": { "alias": "blurOnEnter"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "precision": { "alias": "precision"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "validator": { "alias": "validator"; "required": false; "isSignal": true; }; "inlineError": { "alias": "inlineError"; "required": false; "isSignal": true; }; "hyperlink": { "alias": "hyperlink"; "required": false; "isSignal": true; }; "appearanceInput": { "alias": "appearance"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; "sdChange": "sdChange"; "sdFocus": "sdFocus"; "sdBlur": "sdBlur"; "keyupEnter": "keyupEnter"; "cleared": "cleared"; "sdFocusForceBlur": "sdFocusForceBlur"; }, ["sdLabelTemplate", "sdValueTemplate", "sdViewDef", "sdSuffixDef"], ["[sdLabel]"], true, never>;
|
|
86
106
|
}
|
|
87
107
|
export {};
|
package/forms/models/index.d.ts
CHANGED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Signal } from '@angular/core';
|
|
2
|
+
import { AbstractControl } from '@angular/forms';
|
|
3
|
+
export interface SdFormControlSnapshot<T> {
|
|
4
|
+
value: T | undefined;
|
|
5
|
+
disabled: boolean;
|
|
6
|
+
invalid: boolean;
|
|
7
|
+
touched: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Wrap an AbstractControl Signal into a reactive snapshot signal.
|
|
11
|
+
*
|
|
12
|
+
* Re-emits on every value, status, touched, or dirty change so
|
|
13
|
+
* downstream consumers can derive `data-disabled`, `data-value`,
|
|
14
|
+
* `data-empty`, and `data-invalid` host-binding attributes from a
|
|
15
|
+
* single, lazily evaluated signal.
|
|
16
|
+
*
|
|
17
|
+
* "invalid" is intentionally gated on `touched || dirty` so validation
|
|
18
|
+
* errors are not surfaced until the user has interacted with the field.
|
|
19
|
+
*
|
|
20
|
+
* Must be called inside an Angular injection context (constructor,
|
|
21
|
+
* field initialiser, or `runInInjectionContext`).
|
|
22
|
+
*/
|
|
23
|
+
export declare function sdFormControlState<T = unknown>(control: Signal<AbstractControl<T> | null | undefined>): Signal<SdFormControlSnapshot<T>>;
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
-
import { AsyncValidatorFn } from '@angular/forms';
|
|
1
|
+
import { AsyncValidatorFn, ValidatorFn } from '@angular/forms';
|
|
2
2
|
export type SdCustomValidator = (value: any) => string | Promise<string>;
|
|
3
|
+
/**
|
|
4
|
+
* Inline-error sentinel validator. Returns `{ inlineError: true }` so the form
|
|
5
|
+
* template can render `<mat-error>{{ inlineError }}</mat-error>` whenever the
|
|
6
|
+
* host component has a non-empty `[inlineError]` input. The error message
|
|
7
|
+
* itself is read from the input — this validator only flags the state.
|
|
8
|
+
*
|
|
9
|
+
* why: each form component (input, textarea, select, checkbox, radio, switch,
|
|
10
|
+
* date, datetime, input-number, autocomplete) previously declared the same
|
|
11
|
+
* private `customInlineErrorValidator()` method. Centralized here so adding
|
|
12
|
+
* another form component does not silently re-introduce the duplicate.
|
|
13
|
+
*/
|
|
14
|
+
export declare const SdInlineErrorValidator: ValidatorFn;
|
|
3
15
|
export declare const HandleSdCustomValidator: (func: SdCustomValidator) => AsyncValidatorFn;
|