@sd-angular/core 19.0.0-beta.99 → 19.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -11
- 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/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 +3 -3
- package/components/ckeditor-styles/index.d.ts +1 -0
- package/components/ckeditor-styles/src/ckeditor-styles.component.d.ts +25 -0
- package/components/form-generic/src/components/form-builder/form-builder.component.d.ts +13 -15
- package/components/form-generic/src/components/form-render/form-render.component.d.ts +1 -2
- package/components/form-generic/src/components/sd-feel-expression/sd-feel-expression.component.d.ts +1 -2
- 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 +2 -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/query-builder/index.d.ts +2 -0
- package/components/query-builder/src/query-builder.component.d.ts +98 -22
- package/components/query-builder/src/query-builder.model.d.ts +118 -0
- package/components/query-builder/src/query-builder.serializer.d.ts +32 -0
- package/components/section/src/section.component.d.ts +3 -3
- package/components/side-drawer/src/side-drawer.component.d.ts +1 -2
- 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 +32 -0
- package/components/tab/index.d.ts +2 -0
- package/components/tab/src/tab-group.component.d.ts +36 -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/config/config.component.d.ts +3 -1
- package/components/table/src/components/desktop-cell/desktop-cell.component.d.ts +3 -3
- package/components/table/src/components/filter/column-filter/column-filter.component.d.ts +3 -7
- package/components/table/src/components/selector-action/selector-action.component.d.ts +3 -1
- 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 +12 -4
- package/components/table/src/directives/sd-table-column-filter-def.directive.d.ts +12 -4
- 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 +3 -3
- package/components/table/src/directives/sd-table-footer-def.directive.d.ts +12 -4
- 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 +10 -4
- 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 +11 -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 +37 -13
- package/components/upload-file/src/upload-file.component.d.ts +2 -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 +75 -49
- 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 +3 -5
- 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 +3 -2
- package/fesm2022/sd-angular-core-components-editor.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-form-generic.mjs +153 -243
- 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 +2 -2
- 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-query-builder.mjs +669 -57
- package/fesm2022/sd-angular-core-components-query-builder.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 +2 -4
- package/fesm2022/sd-angular-core-components-section.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-side-drawer.mjs +3 -5
- 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 +138 -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 +143 -0
- package/fesm2022/sd-angular-core-components-tab.mjs.map +1 -0
- package/fesm2022/sd-angular-core-components-table.mjs +577 -225
- package/fesm2022/sd-angular-core-components-table.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-upload-file.mjs +36 -25
- 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 +45 -16
- package/fesm2022/sd-angular-core-forms-autocomplete.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-checkbox.mjs +97 -87
- package/fesm2022/sd-angular-core-forms-checkbox.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-chip-calendar.mjs +92 -61
- package/fesm2022/sd-angular-core-forms-chip-calendar.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-chip.mjs +89 -52
- package/fesm2022/sd-angular-core-forms-chip.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-date-range.mjs +63 -10
- package/fesm2022/sd-angular-core-forms-date-range.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-date.mjs +39 -15
- package/fesm2022/sd-angular-core-forms-date.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-datetime.mjs +33 -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 +73 -15
- package/fesm2022/sd-angular-core-forms-input-number.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-input.mjs +86 -29
- package/fesm2022/sd-angular-core-forms-input.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-models.mjs +44 -2
- package/fesm2022/sd-angular-core-forms-models.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-radio.mjs +130 -175
- package/fesm2022/sd-angular-core-forms-radio.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-select.mjs +66 -23
- package/fesm2022/sd-angular-core-forms-select.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-switch.mjs +95 -98
- package/fesm2022/sd-angular-core-forms-switch.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-textarea.mjs +33 -12
- package/fesm2022/sd-angular-core-forms-textarea.mjs.map +1 -1
- package/fesm2022/sd-angular-core-i18n.mjs +65 -0
- 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 +43 -12
- 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-models.mjs.map +1 -1
- package/forms/autocomplete/src/autocomplete.component.d.ts +24 -10
- package/forms/checkbox/src/checkbox.component.d.ts +21 -20
- package/forms/chip/src/chip.component.d.ts +25 -20
- package/forms/chip-calendar/src/chip-calendar.component.d.ts +27 -22
- package/forms/date/src/date.component.d.ts +23 -9
- package/forms/date-range/src/date-range.component.d.ts +28 -5
- package/forms/datetime/src/datetime.component.d.ts +21 -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 +31 -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 +25 -9
- package/forms/models/index.d.ts +1 -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 -38
- package/forms/select/src/select.component.d.ts +36 -14
- package/forms/switch/src/switch.component.d.ts +22 -23
- package/forms/textarea/src/textarea.component.d.ts +18 -8
- package/i18n/src/en.d.ts +11 -0
- 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 +77 -41
- package/sd-angular-core-19.0.4.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 +16 -1
- package/services/notify/src/notify.model.d.ts +17 -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/table/index.d.ts.map +0 -1
- package/components/table/sd-angular-core-components-table.d.ts.map +0 -1
- package/components/table/src/components/column-title/column-title.component.d.ts.map +0 -1
- package/components/table/src/components/command/desktop-command.component.d.ts.map +0 -1
- package/components/table/src/components/command/pipes/command.pipe.d.ts.map +0 -1
- package/components/table/src/components/command/pipes/filter.pipe.d.ts.map +0 -1
- package/components/table/src/components/config/config.component.d.ts.map +0 -1
- package/components/table/src/components/desktop-cell/desktop-cell.component.d.ts.map +0 -1
- package/components/table/src/components/desktop-cell/view/view.component.d.ts.map +0 -1
- package/components/table/src/components/filter/column-filter/column-filter.component.d.ts.map +0 -1
- package/components/table/src/components/filter/external-filter/external-filter.component.d.ts.map +0 -1
- package/components/table/src/components/filter/index.d.ts.map +0 -1
- package/components/table/src/components/filter/mobile-filter/mobile-filter.component.d.ts.map +0 -1
- package/components/table/src/components/index.d.ts.map +0 -1
- package/components/table/src/components/popup-export/popup-export.component.d.ts.map +0 -1
- package/components/table/src/components/selector-action/action-filter.pipe.d.ts.map +0 -1
- package/components/table/src/components/selector-action/selector-action.component.d.ts.map +0 -1
- package/components/table/src/configurations/index.d.ts.map +0 -1
- package/components/table/src/configurations/table.configuration.d.ts.map +0 -1
- package/components/table/src/directives/index.d.ts.map +0 -1
- package/components/table/src/directives/sd-column-resize.directive.d.ts.map +0 -1
- package/components/table/src/directives/sd-table-cell-def.directive.d.ts.map +0 -1
- package/components/table/src/directives/sd-table-column-filter-def.directive.d.ts.map +0 -1
- package/components/table/src/directives/sd-table-expand-def.directive.d.ts.map +0 -1
- package/components/table/src/directives/sd-table-filter-def.directive.d.ts.map +0 -1
- package/components/table/src/directives/sd-table-footer-def.directive.d.ts.map +0 -1
- package/components/table/src/directives/sd-table-title-def.directive.d.ts.map +0 -1
- package/components/table/src/directives/sticky-shadow.directive.d.ts.map +0 -1
- package/components/table/src/models/index.d.ts.map +0 -1
- package/components/table/src/models/table-column.model.d.ts.map +0 -1
- package/components/table/src/models/table-command.model.d.ts.map +0 -1
- package/components/table/src/models/table-item.model.d.ts.map +0 -1
- package/components/table/src/models/table-option-config.model.d.ts.map +0 -1
- package/components/table/src/models/table-option-expand.model.d.ts.map +0 -1
- package/components/table/src/models/table-option-export.model.d.ts.map +0 -1
- package/components/table/src/models/table-option-group.model.d.ts.map +0 -1
- package/components/table/src/models/table-option-paginate.model.d.ts.map +0 -1
- package/components/table/src/models/table-option-reload.model.d.ts.map +0 -1
- package/components/table/src/models/table-option-selector.model.d.ts.map +0 -1
- package/components/table/src/models/table-option-sort.model.d.ts.map +0 -1
- package/components/table/src/models/table-option-style.model.d.ts.map +0 -1
- package/components/table/src/models/table-option-tree.model.d.ts.map +0 -1
- package/components/table/src/models/table-option.model.d.ts.map +0 -1
- package/components/table/src/pipes/filter-values.pipe.d.ts.map +0 -1
- package/components/table/src/pipes/index.d.ts.map +0 -1
- package/components/table/src/pipes/sd-group.pipe.d.ts.map +0 -1
- package/components/table/src/pipes/sd-tree.pipe.d.ts.map +0 -1
- package/components/table/src/pipes/selection-disabled.pipe.d.ts.map +0 -1
- package/components/table/src/pipes/selection-visible-select-all.pipe.d.ts.map +0 -1
- package/components/table/src/pipes/selection-visible.pipe.d.ts.map +0 -1
- package/components/table/src/services/column-width.util.d.ts.map +0 -1
- package/components/table/src/services/config.service.d.ts.map +0 -1
- package/components/table/src/services/index.d.ts.map +0 -1
- package/components/table/src/services/table-export/table-export.service.d.ts.map +0 -1
- package/components/table/src/services/table-filter/table-filter.model.d.ts.map +0 -1
- package/components/table/src/services/table-filter/table-filter.service.d.ts.map +0 -1
- package/components/table/src/services/table-format/table-format.service.d.ts.map +0 -1
- package/components/table/src/services/tree/tree.util.d.ts.map +0 -1
- package/components/table/src/table.component.d.ts.map +0 -1
- package/sd-angular-core-19.0.0-beta.99.tgz +0 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { Operator } from '@sdcorejs/utils/models';
|
|
2
|
+
/** Field kinds the builder understands. Drives the operator set + value editor. */
|
|
3
|
+
export type SdQueryBuilderFieldType = 'string' | 'number' | 'boolean' | 'date' | 'datetime' | 'values';
|
|
4
|
+
/** One option for a `values`-type field (enum / lookup). */
|
|
5
|
+
export interface SdQueryBuilderFieldOption {
|
|
6
|
+
/** Stored value (sent inside the `Filter`). */
|
|
7
|
+
value: any;
|
|
8
|
+
/** Human-readable label shown in the select + view-mode string. */
|
|
9
|
+
display: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* One filterable field. `key` matches `Filter.field` (dot-notation allowed);
|
|
13
|
+
* `label` is what the view-mode raw string renders (field token = label).
|
|
14
|
+
*/
|
|
15
|
+
export interface SdQueryBuilderField {
|
|
16
|
+
/** Dot-notation field path — written to `Filter.field`. */
|
|
17
|
+
key: string;
|
|
18
|
+
/** Human label — shown in the field picker AND as the view-mode field token. */
|
|
19
|
+
label: string;
|
|
20
|
+
/** Field type — picks the default operator set + value editor control. */
|
|
21
|
+
type: SdQueryBuilderFieldType;
|
|
22
|
+
/** Override the allowed operator set (otherwise `QB_OPERATORS_BY_TYPE[type]`). */
|
|
23
|
+
operators?: Operator[];
|
|
24
|
+
/** Override the starting operator (otherwise `QB_DEFAULT_OPERATOR_BY_TYPE[type]`). */
|
|
25
|
+
defaultOperator?: Operator;
|
|
26
|
+
/** Options for `type: 'values'` — the select list + display-label lookup. */
|
|
27
|
+
values?: SdQueryBuilderFieldOption[];
|
|
28
|
+
/** Label for the `true` branch of a boolean field (default `'Có'`). */
|
|
29
|
+
trueLabel?: string;
|
|
30
|
+
/** Label for the `false` branch of a boolean field (default `'Không'`). */
|
|
31
|
+
falseLabel?: string;
|
|
32
|
+
/** Lower bound for number / date value editors. */
|
|
33
|
+
min?: number | string;
|
|
34
|
+
/** Upper bound for number / date value editors. */
|
|
35
|
+
max?: number | string;
|
|
36
|
+
}
|
|
37
|
+
export type QbNode = QbGroup | QbRule;
|
|
38
|
+
/** A logical group of nodes joined by AND / OR. Maps to `FilterAndOr`. */
|
|
39
|
+
export interface QbGroup {
|
|
40
|
+
id: string;
|
|
41
|
+
kind: 'group';
|
|
42
|
+
logic: 'AND' | 'OR';
|
|
43
|
+
children: QbNode[];
|
|
44
|
+
/** UI-only: whether this group's "+" dropdown is open. */
|
|
45
|
+
open?: boolean;
|
|
46
|
+
}
|
|
47
|
+
/** A single `field operator value` condition. Maps to a leaf `Filter`. */
|
|
48
|
+
export interface QbRule {
|
|
49
|
+
id: string;
|
|
50
|
+
kind: 'rule';
|
|
51
|
+
field?: string;
|
|
52
|
+
operator?: Operator;
|
|
53
|
+
/** Single value, `{ from, to }` for BETWEEN, or an array for IN / NOT_IN. */
|
|
54
|
+
value?: any;
|
|
55
|
+
}
|
|
56
|
+
/** Type guard — narrows a `QbNode` to a `QbGroup`. */
|
|
57
|
+
export declare function isQbGroup(node: QbNode): node is QbGroup;
|
|
58
|
+
export type QbTokenKind = 'field' | 'op' | 'value' | 'logic' | 'paren' | 'plain';
|
|
59
|
+
/** One piece of the rendered raw query string, tagged for highlight styling. */
|
|
60
|
+
export interface QbToken {
|
|
61
|
+
text: string;
|
|
62
|
+
kind: QbTokenKind;
|
|
63
|
+
}
|
|
64
|
+
/** Allowed operators per field type — used when `field.operators` is not set. */
|
|
65
|
+
export declare const QB_OPERATORS_BY_TYPE: Record<SdQueryBuilderFieldType, Operator[]>;
|
|
66
|
+
/** Default operator when a rule is first created for a field. */
|
|
67
|
+
export declare const QB_DEFAULT_OPERATOR_BY_TYPE: Record<SdQueryBuilderFieldType, Operator>;
|
|
68
|
+
/** Operators with no value payload — the value editor is hidden for these. */
|
|
69
|
+
export declare const QB_NO_DATA_OPERATORS: Operator[];
|
|
70
|
+
/** Operators whose value is an array — the value editor offers multi-select. */
|
|
71
|
+
export declare const QB_MULTI_OPERATORS: Operator[];
|
|
72
|
+
/** Operators allowed for `field` — explicit override wins, else the per-type set. */
|
|
73
|
+
export declare function qbAllowedOperators(field: SdQueryBuilderField | undefined): Operator[];
|
|
74
|
+
/** Starting operator for a new rule on `field` — falls back to the per-type default. */
|
|
75
|
+
export declare function qbDefaultOperator(field: SdQueryBuilderField | undefined): Operator | undefined;
|
|
76
|
+
/** True when `op` is NULL / NOT_NULL (no value editor). */
|
|
77
|
+
export declare function qbIsNoDataOperator(op: Operator | undefined): boolean;
|
|
78
|
+
/** True when `op` is IN / NOT_IN (array value). */
|
|
79
|
+
export declare function qbIsMultiOperator(op: Operator | undefined): boolean;
|
|
80
|
+
/** Next stable node id with the given prefix. */
|
|
81
|
+
export declare function qbId(prefix?: string): string;
|
|
82
|
+
/** Build a fresh rule node (optionally pre-filled). */
|
|
83
|
+
export declare function qbNewRule(field?: string, operator?: Operator, value?: any): QbRule;
|
|
84
|
+
/** Build a fresh group node. */
|
|
85
|
+
export declare function qbNewGroup(logic?: 'AND' | 'OR', children?: QbNode[]): QbGroup;
|
|
86
|
+
/** Offset unit for a relative date. */
|
|
87
|
+
export type SdQbRelativeUnit = 'day' | 'week' | 'month';
|
|
88
|
+
/** Offset direction for a relative date. */
|
|
89
|
+
export type SdQbRelativeDirection = 'previous' | 'next';
|
|
90
|
+
/** A relative (resolved-at-query-time) date value stored in `Filter.data`. */
|
|
91
|
+
export interface SdQbRelativeDate {
|
|
92
|
+
/** `'now'` = current moment / today · `'offset'` = now ± amount × unit. */
|
|
93
|
+
rel: 'now' | 'offset';
|
|
94
|
+
/** Offset unit — only for `rel: 'offset'`. */
|
|
95
|
+
unit?: SdQbRelativeUnit;
|
|
96
|
+
/** Offset magnitude (>= 1) — only for `rel: 'offset'`. */
|
|
97
|
+
amount?: number;
|
|
98
|
+
/** Offset direction — only for `rel: 'offset'`. */
|
|
99
|
+
direction?: SdQbRelativeDirection;
|
|
100
|
+
}
|
|
101
|
+
/** Date value editor mode for a date/datetime rule (derived from the rule value). */
|
|
102
|
+
export type QbDateMode = 'absolute' | 'now' | 'relative';
|
|
103
|
+
/** Type guard — narrows an arbitrary value to a relative-date spec. */
|
|
104
|
+
export declare function qbIsRelativeDate(v: any): v is SdQbRelativeDate;
|
|
105
|
+
/** Starting relative value when a rule first switches to "relative" mode. */
|
|
106
|
+
export declare function qbDefaultRelative(): SdQbRelativeDate;
|
|
107
|
+
/** Stable option list for the date-mode select (module ref — never reallocated). */
|
|
108
|
+
export declare const QB_DATE_MODES: ReadonlyArray<{
|
|
109
|
+
value: QbDateMode;
|
|
110
|
+
display: string;
|
|
111
|
+
}>;
|
|
112
|
+
/** Stable combined direction×unit option list (token `'unit:direction'`). */
|
|
113
|
+
export declare const QB_RELATIVE_UNIT_OPTIONS: ReadonlyArray<{
|
|
114
|
+
value: string;
|
|
115
|
+
display: string;
|
|
116
|
+
}>;
|
|
117
|
+
/** Shared empty option array — stable ref for fallbacks (avoids per-call allocation). */
|
|
118
|
+
export declare const QB_EMPTY_OPTIONS: SdQueryBuilderFieldOption[];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Filter } from '@sdcorejs/utils/models';
|
|
2
|
+
import { QbGroup, QbToken, SdQueryBuilderField } from './query-builder.model';
|
|
3
|
+
/**
|
|
4
|
+
* Map the internal builder tree to the public `Filter` (the root is always a
|
|
5
|
+
* `FilterAndOr`). Rules missing field / operator / value — and empty nested
|
|
6
|
+
* groups — are dropped so the result is always a valid `Filter`.
|
|
7
|
+
*
|
|
8
|
+
* @param group - the editable tree's root group.
|
|
9
|
+
* @returns the canonical nested `Filter`, or `null` when no complete rule survives.
|
|
10
|
+
*/
|
|
11
|
+
export declare function treeToFilter(group: QbGroup): Filter | null;
|
|
12
|
+
/**
|
|
13
|
+
* Inverse of {@link treeToFilter} — rebuild the editable tree from a `Filter` so a
|
|
14
|
+
* consumer can seed `[value]`. A non-group (bare) filter is wrapped in an AND root;
|
|
15
|
+
* `null` yields an empty AND root.
|
|
16
|
+
*
|
|
17
|
+
* @param filter - a `Filter` (group or leaf), or `null` / `undefined` for an empty tree.
|
|
18
|
+
* @returns a fresh root `QbGroup` mirroring the filter's structure.
|
|
19
|
+
*/
|
|
20
|
+
export declare function filterToTree(filter: Filter | null | undefined): QbGroup;
|
|
21
|
+
/**
|
|
22
|
+
* Render a `Filter` to a SQL-ish token stream for view mode. Field tokens use the
|
|
23
|
+
* matching field's `label`; operators map to SQL syntax (`= != like between is null …`);
|
|
24
|
+
* `and` / `or` are lowercase; nested multi-child groups are wrapped in parentheses.
|
|
25
|
+
* Returns a token stream (not a string) so the template can wrap each piece in a
|
|
26
|
+
* highlight `<span>` keyed by `QbToken.kind`.
|
|
27
|
+
*
|
|
28
|
+
* @param filter - the `Filter` to render, or `null` / `undefined`.
|
|
29
|
+
* @param fields - field metadata, used to resolve each field key to its display label + value formatting.
|
|
30
|
+
* @returns the ordered tokens, or `[]` when `filter` is empty.
|
|
31
|
+
*/
|
|
32
|
+
export declare function filterToTokens(filter: Filter | null | undefined, fields: SdQueryBuilderField[]): QbToken[];
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Color } from '@sdcorejs/utils/models';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class SdSection
|
|
3
|
+
export declare class SdSection {
|
|
4
4
|
#private;
|
|
5
5
|
title: import("@angular/core").InputSignal<string | null | undefined>;
|
|
6
6
|
subTitle: import("@angular/core").InputSignal<string | null | undefined>;
|
|
7
7
|
icon: import("@angular/core").InputSignal<string | null | undefined>;
|
|
8
|
-
iconColor: import("@angular/core").InputSignal<
|
|
8
|
+
iconColor: import("@angular/core").InputSignal<Color>;
|
|
9
9
|
collapsed: import("@angular/core").ModelSignal<boolean>;
|
|
10
10
|
collapsable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
11
11
|
hideHeader: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { CdkPortal } from '@angular/cdk/portal';
|
|
2
|
-
import { SdBaseSecureComponent } from '@sd-angular/core/components/base';
|
|
3
2
|
import { Observable } from 'rxjs';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class SdSideDrawer
|
|
4
|
+
export declare class SdSideDrawer {
|
|
6
5
|
#private;
|
|
7
6
|
id: string;
|
|
8
7
|
portal: import("@angular/core").Signal<CdkPortal>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import { AbstractControl } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export type SdStepState = 'pending' | 'active' | 'completed' | 'error' | string;
|
|
5
|
+
export declare class SdStep {
|
|
6
|
+
label: import("@angular/core").InputSignal<string>;
|
|
7
|
+
icon: import("@angular/core").InputSignal<string | null | undefined>;
|
|
8
|
+
optional: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
9
|
+
editable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
10
|
+
stepControl: import("@angular/core").InputSignal<AbstractControl<any, any> | null | undefined>;
|
|
11
|
+
state: import("@angular/core").InputSignal<string | undefined>;
|
|
12
|
+
errorMessage: import("@angular/core").InputSignal<string | undefined>;
|
|
13
|
+
selectChange: import("@angular/core").OutputEmitterRef<void>;
|
|
14
|
+
bodyTpl: import("@angular/core").Signal<TemplateRef<unknown>>;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdStep, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdStep, "sd-step", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "optional": { "alias": "optional"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "stepControl": { "alias": "stepControl"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; }, { "selectChange": "selectChange"; }, never, ["*"], true, never>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { StepperSelectionEvent } from '@angular/cdk/stepper';
|
|
2
|
+
import { MatStepper } from '@angular/material/stepper';
|
|
3
|
+
import { Color } from '@sdcorejs/utils/models';
|
|
4
|
+
import { SdStep } from './step.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class SdStepper {
|
|
7
|
+
steps: import("@angular/core").Signal<readonly SdStep[]>;
|
|
8
|
+
selectedIndex: import("@angular/core").ModelSignal<number>;
|
|
9
|
+
linear: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
10
|
+
orientation: import("@angular/core").InputSignal<"horizontal" | "vertical">;
|
|
11
|
+
labelPosition: import("@angular/core").InputSignal<"end" | "bottom">;
|
|
12
|
+
headerPosition: import("@angular/core").InputSignal<"bottom" | "top">;
|
|
13
|
+
animationDuration: import("@angular/core").InputSignal<string>;
|
|
14
|
+
disableRipple: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
15
|
+
color: import("@angular/core").InputSignal<Color>;
|
|
16
|
+
autoId: import("@angular/core").InputSignal<string | undefined>;
|
|
17
|
+
selectionChange: import("@angular/core").OutputEmitterRef<StepperSelectionEvent>;
|
|
18
|
+
protected matStepper: import("@angular/core").Signal<MatStepper | undefined>;
|
|
19
|
+
get autoIdAttr(): string | null;
|
|
20
|
+
get cssActive(): string;
|
|
21
|
+
get cssActiveBg(): string;
|
|
22
|
+
get cssCompleted(): string;
|
|
23
|
+
get cssLine(): string;
|
|
24
|
+
constructor();
|
|
25
|
+
next(): void;
|
|
26
|
+
previous(): void;
|
|
27
|
+
reset(): void;
|
|
28
|
+
goTo(index: number): void;
|
|
29
|
+
protected onSelectionChange(ev: StepperSelectionEvent): void;
|
|
30
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdStepper, never>;
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdStepper, "sd-stepper", never, { "selectedIndex": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "headerPosition": { "alias": "headerPosition"; "required": false; "isSignal": true; }; "animationDuration": { "alias": "animationDuration"; "required": false; "isSignal": true; }; "disableRipple": { "alias": "disableRipple"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; }, { "selectedIndex": "selectedIndexChange"; "selectionChange": "selectionChange"; }, ["steps"], never, true, never>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { MatTabGroup } from '@angular/material/tabs';
|
|
2
|
+
import { Color } from '@sdcorejs/utils/models';
|
|
3
|
+
import { SdTab } from './tab.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export interface SdTabClosedEvent {
|
|
6
|
+
index: number;
|
|
7
|
+
tab: SdTab;
|
|
8
|
+
}
|
|
9
|
+
export declare class SdTabGroup {
|
|
10
|
+
tabs: import("@angular/core").Signal<readonly SdTab[]>;
|
|
11
|
+
selectedIndex: import("@angular/core").ModelSignal<number>;
|
|
12
|
+
variant: import("@angular/core").InputSignal<"line" | "pills" | "segmented">;
|
|
13
|
+
color: import("@angular/core").InputSignal<Color>;
|
|
14
|
+
headerPosition: import("@angular/core").InputSignal<"above" | "below">;
|
|
15
|
+
alignTabs: import("@angular/core").InputSignal<"start" | "center" | "end">;
|
|
16
|
+
stretchTabs: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
17
|
+
animationDuration: import("@angular/core").InputSignal<string>;
|
|
18
|
+
disableRipple: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
19
|
+
dynamicHeight: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
20
|
+
autoId: import("@angular/core").InputSignal<string | undefined>;
|
|
21
|
+
tabClosed: import("@angular/core").OutputEmitterRef<SdTabClosedEvent>;
|
|
22
|
+
protected matTabGroup: import("@angular/core").Signal<MatTabGroup | undefined>;
|
|
23
|
+
get autoIdAttr(): string | null;
|
|
24
|
+
get isPills(): boolean;
|
|
25
|
+
get isSegmented(): boolean;
|
|
26
|
+
get cssIndicator(): string;
|
|
27
|
+
get cssActive(): string;
|
|
28
|
+
get cssBadgeBg(): string;
|
|
29
|
+
get cssBadgeColor(): string;
|
|
30
|
+
constructor();
|
|
31
|
+
selectTab(index: number): void;
|
|
32
|
+
realignInkBar(): void;
|
|
33
|
+
protected onClose(tab: SdTab, index: number, event: MouseEvent): void;
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdTabGroup, never>;
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdTabGroup, "sd-tab-group", never, { "selectedIndex": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "headerPosition": { "alias": "headerPosition"; "required": false; "isSignal": true; }; "alignTabs": { "alias": "alignTabs"; "required": false; "isSignal": true; }; "stretchTabs": { "alias": "stretchTabs"; "required": false; "isSignal": true; }; "animationDuration": { "alias": "animationDuration"; "required": false; "isSignal": true; }; "disableRipple": { "alias": "disableRipple"; "required": false; "isSignal": true; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; "isSignal": true; }; "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; }, { "selectedIndex": "selectedIndexChange"; "tabClosed": "tabClosed"; }, ["tabs"], never, true, never>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class SdTab {
|
|
4
|
+
label: import("@angular/core").InputSignal<string>;
|
|
5
|
+
icon: import("@angular/core").InputSignal<string | null | undefined>;
|
|
6
|
+
badge: import("@angular/core").InputSignal<string | number | null | undefined>;
|
|
7
|
+
disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
8
|
+
closable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
9
|
+
close: import("@angular/core").OutputEmitterRef<void>;
|
|
10
|
+
bodyTpl: import("@angular/core").Signal<TemplateRef<unknown>>;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdTab, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdTab, "sd-tab", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; }, { "close": "close"; }, never, ["*"], true, never>;
|
|
13
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Type } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Color } from '@sdcorejs/utils/models';
|
|
3
3
|
export interface SdTabComponentArgs {
|
|
4
4
|
url?: string;
|
|
5
5
|
params?: any;
|
|
@@ -11,6 +11,6 @@ export declare interface SdTabComponentBuilder {
|
|
|
11
11
|
name: string | ((args: SdTabComponentArgs) => string);
|
|
12
12
|
icon?: string | ((args: SdTabComponentArgs) => string);
|
|
13
13
|
tooltip?: string | ((args: SdTabComponentArgs) => string);
|
|
14
|
-
color?:
|
|
14
|
+
color?: Color | ((args: SdTabComponentArgs) => Color);
|
|
15
15
|
}
|
|
16
16
|
export declare function SdTabComponent<T>(builder: SdTabComponentBuilder): (constructor: T) => void;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Type } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Color } from '@sdcorejs/utils/models';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
export interface SdTabInfo {
|
|
5
5
|
name: string;
|
|
6
6
|
icon?: string;
|
|
7
7
|
tooltip?: string;
|
|
8
|
-
color?:
|
|
8
|
+
color?: Color;
|
|
9
9
|
}
|
|
10
10
|
export interface SdTab {
|
|
11
11
|
component: Type<any>;
|
|
@@ -2,6 +2,7 @@ export * from './src/directives/sd-table-cell-def.directive';
|
|
|
2
2
|
export * from './src/directives/sd-table-expand-def.directive';
|
|
3
3
|
export * from './src/directives/sd-table-filter-def.directive';
|
|
4
4
|
export * from './src/directives/sd-table-footer-def.directive';
|
|
5
|
+
export * from './src/directives/sd-table-group-def.directive';
|
|
5
6
|
export * from './src/directives/sd-table-title-def.directive';
|
|
6
7
|
export * from './src/table.component';
|
|
7
8
|
export * from './src/services/table-filter/table-filter.model';
|
|
@@ -3,7 +3,7 @@ import { SdTableColumn } from '../../models/table-column.model';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class ColumnTitleComponent {
|
|
5
5
|
column: import("@angular/core").InputSignal<SdTableColumn>;
|
|
6
|
-
titleDef: import("@angular/core").InputSignal<SdTableTitleDefDirective | undefined>;
|
|
6
|
+
titleDef: import("@angular/core").InputSignal<SdTableTitleDefDirective<any> | undefined>;
|
|
7
7
|
templateRef: import("@angular/core").Signal<import("@angular/core").TemplateRef<any> | undefined>;
|
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<ColumnTitleComponent, never>;
|
|
9
9
|
static ɵcmp: i0.ɵɵComponentDeclaration<ColumnTitleComponent, "column-title", never, { "column": { "alias": "column"; "required": true; "isSignal": true; }; "titleDef": { "alias": "titleDef"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -6,8 +6,10 @@ import { SdTableOption } from '../../models/table-option.model';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class ConfigComponent {
|
|
8
8
|
#private;
|
|
9
|
+
autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
|
|
9
10
|
tableOption: import("@angular/core").InputSignal<SdTableOption | undefined>;
|
|
10
11
|
changes: import("@angular/core").OutputEmitterRef<ConfiguredTableResult>;
|
|
12
|
+
autoId: import("@angular/core").Signal<string>;
|
|
11
13
|
modal: import("@angular/core").Signal<SdModal | undefined>;
|
|
12
14
|
table: import("@angular/core").Signal<MatTable<SdTableColumn>>;
|
|
13
15
|
configuration: import("@angular/core").WritableSignal<ConfiguredTable | undefined>;
|
|
@@ -21,5 +23,5 @@ export declare class ConfigComponent {
|
|
|
21
23
|
handleMouseDown(): void;
|
|
22
24
|
handleMouseUp(): void;
|
|
23
25
|
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigComponent, never>;
|
|
24
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ConfigComponent, "config", never, { "tableOption": { "alias": "tableOption"; "required": false; "isSignal": true; }; }, { "changes": "changes"; }, never, never, true, never>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ConfigComponent, "config", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "tableOption": { "alias": "tableOption"; "required": false; "isSignal": true; }; }, { "changes": "changes"; }, never, never, true, never>;
|
|
25
27
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ElementRef } from '@angular/core';
|
|
1
|
+
import { ElementRef, TemplateRef } from '@angular/core';
|
|
2
2
|
import { SdTableCellDefDirective } from '../../directives/sd-table-cell-def.directive';
|
|
3
3
|
import { SdTableColumn } from '../../models/table-column.model';
|
|
4
4
|
import { SdTableItem } from '../../models/table-item.model';
|
|
@@ -8,13 +8,13 @@ export declare class DesktopCellComponent {
|
|
|
8
8
|
contentContainer: import("@angular/core").Signal<ElementRef<HTMLElement> | undefined>;
|
|
9
9
|
column: import("@angular/core").InputSignal<SdTableColumn>;
|
|
10
10
|
item: import("@angular/core").InputSignal<SdTableItem<any>>;
|
|
11
|
-
cellDef: import("@angular/core").InputSignal<Record<string, SdTableCellDefDirective
|
|
11
|
+
cellDef: import("@angular/core").InputSignal<Record<string, SdTableCellDefDirective<any>>>;
|
|
12
12
|
value: import("@angular/core").Signal<any>;
|
|
13
13
|
key: import("@angular/core").Signal<any>;
|
|
14
14
|
autoId: import("@angular/core").Signal<string>;
|
|
15
15
|
truncateEnable: import("@angular/core").Signal<boolean | undefined>;
|
|
16
16
|
truncateWidth: import("@angular/core").Signal<string | undefined>;
|
|
17
|
-
templateRef: import("@angular/core").Signal<
|
|
17
|
+
templateRef: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
18
18
|
isCollapsed: import("@angular/core").WritableSignal<boolean>;
|
|
19
19
|
isOverflowing: import("@angular/core").WritableSignal<boolean>;
|
|
20
20
|
constructor();
|
|
@@ -18,19 +18,15 @@ export declare class ColumnFilterComponent {
|
|
|
18
18
|
label: Signal<string | undefined>;
|
|
19
19
|
operators: Signal<{
|
|
20
20
|
value: Operator;
|
|
21
|
-
|
|
21
|
+
icon: string;
|
|
22
22
|
display: string;
|
|
23
23
|
}[]>;
|
|
24
|
-
|
|
24
|
+
operatorValues: Signal<Operator[]>;
|
|
25
|
+
operatorWrapperClass: Signal<"mb-4 mr-2" | "mr-2">;
|
|
25
26
|
items: Signal<any[] | SdSearch | Signal<any[]>>;
|
|
26
27
|
constructor();
|
|
27
28
|
onFilterChange: () => void;
|
|
28
29
|
onFilterCommit: () => void;
|
|
29
|
-
onChangeOperator: (operator: {
|
|
30
|
-
value: Operator;
|
|
31
|
-
symbol?: string;
|
|
32
|
-
display: string;
|
|
33
|
-
} | undefined) => void;
|
|
34
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<ColumnFilterComponent, never>;
|
|
35
31
|
static ɵcmp: i0.ɵɵComponentDeclaration<ColumnFilterComponent, "column-filter", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "columnFilter": { "alias": "columnFilter"; "required": false; "isSignal": true; }; "cacheValues": { "alias": "cacheValues"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "operator": { "alias": "operator"; "required": false; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": false; "isSignal": true; }; }, { "operator": "operatorChange"; "filterChange": "filterChange"; "filterCommit": "filterCommit"; }, never, never, true, never>;
|
|
36
32
|
}
|
|
@@ -4,13 +4,15 @@ import { Action } from './action-filter.pipe';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class SelectorActionComponent {
|
|
6
6
|
#private;
|
|
7
|
+
autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
|
|
7
8
|
tableOption: import("@angular/core").InputSignal<SdTableOption | undefined>;
|
|
8
9
|
selectedTableItems: import("@angular/core").InputSignal<SdTableItem<any>[] | undefined>;
|
|
9
10
|
clear: import("@angular/core").OutputEmitterRef<void>;
|
|
11
|
+
autoId: import("@angular/core").Signal<string>;
|
|
10
12
|
message: import("@angular/core").Signal<string>;
|
|
11
13
|
opened: import("@angular/core").Signal<boolean>;
|
|
12
14
|
onClear: () => void;
|
|
13
15
|
onClickAction: (action: Action) => void;
|
|
14
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectorActionComponent, never>;
|
|
15
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectorActionComponent, "selector-action", never, { "tableOption": { "alias": "tableOption"; "required": false; "isSignal": true; }; "selectedTableItems": { "alias": "selectedTableItems"; "required": false; "isSignal": true; }; }, { "clear": "clear"; }, never, never, true, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectorActionComponent, "selector-action", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "tableOption": { "alias": "tableOption"; "required": false; "isSignal": true; }; "selectedTableItems": { "alias": "selectedTableItems"; "required": false; "isSignal": true; }; }, { "clear": "clear"; }, never, never, true, never>;
|
|
16
18
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
import { SdTableOptionPaginate } from '../models/table-option-paginate.model';
|
|
3
3
|
import { SdTableOptionFilter } from '../services/table-filter/table-filter.model';
|
|
4
|
-
import {
|
|
4
|
+
import { Operator } from '@sdcorejs/utils/models';
|
|
5
5
|
import { SdTableColumn } from '../models';
|
|
6
6
|
export interface ISdTableConfiguration {
|
|
7
7
|
paginate?: {
|
|
@@ -21,8 +21,8 @@ export interface ISdTableConfiguration {
|
|
|
21
21
|
/** Ẩn toolbar (xóa bộ lọc, thiết lập) của external filter, khi có ít external filter user không cần chức năng này, mặc định là false */
|
|
22
22
|
hideExternalFilterToolbar?: SdTableOptionFilter['hideExternalFilterToolbar'];
|
|
23
23
|
operator?: {
|
|
24
|
-
list?: Partial<Record<SdTableColumn['type'],
|
|
25
|
-
default?: Partial<Record<SdTableColumn['type'],
|
|
24
|
+
list?: Partial<Record<SdTableColumn['type'], Operator[]>>;
|
|
25
|
+
default?: Partial<Record<SdTableColumn['type'], Operator>>;
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
28
|
images?: {
|
|
@@ -2,4 +2,5 @@ export * from './sd-table-column-filter-def.directive';
|
|
|
2
2
|
export * from './sticky-shadow.directive';
|
|
3
3
|
export * from './sd-table-title-def.directive';
|
|
4
4
|
export * from './sd-table-cell-def.directive';
|
|
5
|
+
export * from './sd-table-group-def.directive';
|
|
5
6
|
export * from './sd-column-resize.directive';
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import { SdTableColumn } from '../models/table-column.model';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
|
-
|
|
4
|
+
interface Context<T = any> {
|
|
5
|
+
item: T;
|
|
6
|
+
column: SdTableColumn<T>;
|
|
7
|
+
autoId: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class SdTableCellDefDirective<T = any> {
|
|
10
|
+
static ngTemplateContextGuard<T>(_dir: SdTableCellDefDirective<T>, _ctx: unknown): _ctx is Context<T>;
|
|
4
11
|
sdTableCellDef: import("@angular/core").InputSignal<string>;
|
|
5
|
-
templateRef: TemplateRef<
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SdTableCellDefDirective
|
|
7
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SdTableCellDefDirective
|
|
12
|
+
templateRef: TemplateRef<Context<T>>;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdTableCellDefDirective<any>, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SdTableCellDefDirective<any>, "[sdTableCellDef]", never, { "sdTableCellDef": { "alias": "sdTableCellDef"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8
15
|
}
|
|
16
|
+
export {};
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import { SdTableColumn } from '../models/table-column.model';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
|
-
|
|
4
|
+
interface Context<T = any> {
|
|
5
|
+
column: SdTableColumn<T>;
|
|
6
|
+
field: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare class SdTableColumnFilterDefDirective<T = any> {
|
|
10
|
+
static ngTemplateContextGuard<T>(_dir: SdTableColumnFilterDefDirective<T>, _ctx: unknown): _ctx is Context<T>;
|
|
4
11
|
sdTableColumnFilterDef: import("@angular/core").InputSignal<string>;
|
|
5
|
-
templateRef: TemplateRef<
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SdTableColumnFilterDefDirective
|
|
7
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SdTableColumnFilterDefDirective
|
|
12
|
+
templateRef: TemplateRef<Context<T>>;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdTableColumnFilterDefDirective<any>, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SdTableColumnFilterDefDirective<any>, "[sdTableColumnFilterDef]", never, { "sdTableColumnFilterDef": { "alias": "sdTableColumnFilterDef"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8
15
|
}
|
|
16
|
+
export {};
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import { SdTableItem } from '../models/table-item.model';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SdTableExpandDefDirective, never>;
|
|
6
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SdTableExpandDefDirective, "[sdTableExpandDef]", never, {}, {}, never, never, true, never>;
|
|
4
|
+
interface Context<T = any> {
|
|
5
|
+
item: SdTableItem<T>;
|
|
7
6
|
}
|
|
7
|
+
export declare class SdTableExpandDefDirective<T = any> {
|
|
8
|
+
static ngTemplateContextGuard<T>(_dir: SdTableExpandDefDirective<T>, _ctx: unknown): _ctx is Context<T>;
|
|
9
|
+
templateRef: TemplateRef<Context<T>>;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdTableExpandDefDirective<any>, never>;
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SdTableExpandDefDirective<any>, "[sdTableExpandDef]", never, {}, {}, never, never, true, never>;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { TemplateRef } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
interface Context {
|
|
4
|
-
externalFilter?: Record<string,
|
|
4
|
+
externalFilter?: Record<string, unknown>;
|
|
5
5
|
}
|
|
6
6
|
export declare class SdTableFilterDefDirective {
|
|
7
|
-
static ngTemplateContextGuard(
|
|
7
|
+
static ngTemplateContextGuard(_dir: SdTableFilterDefDirective, _ctx: unknown): _ctx is Context;
|
|
8
8
|
sdTableFilterDef: import("@angular/core").InputSignal<string>;
|
|
9
9
|
defaultShowing: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
10
|
-
templateRef: TemplateRef<
|
|
10
|
+
templateRef: TemplateRef<Context> | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdTableFilterDefDirective, never>;
|
|
12
12
|
static ɵdir: i0.ɵɵDirectiveDeclaration<SdTableFilterDefDirective, "[sdTableFilterDef]", never, { "sdTableFilterDef": { "alias": "sdTableFilterDef"; "required": true; "isSignal": true; }; "defaultShowing": { "alias": "defaultShowing"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
13
13
|
}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import { SdTableColumn } from '../models/table-column.model';
|
|
3
|
+
import { SdTableItem } from '../models/table-item.model';
|
|
2
4
|
import * as i0 from "@angular/core";
|
|
3
|
-
|
|
5
|
+
interface Context<T = any> {
|
|
6
|
+
items: SdTableItem<T>[];
|
|
7
|
+
column: SdTableColumn<T>;
|
|
8
|
+
}
|
|
9
|
+
export declare class SdMaterialFooterDefDirective<T = any> {
|
|
10
|
+
static ngTemplateContextGuard<T>(_dir: SdMaterialFooterDefDirective<T>, _ctx: unknown): _ctx is Context<T>;
|
|
4
11
|
sdTableFooterDef: import("@angular/core").InputSignal<string>;
|
|
5
|
-
templateRef: TemplateRef<
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SdMaterialFooterDefDirective
|
|
7
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SdMaterialFooterDefDirective
|
|
12
|
+
templateRef: TemplateRef<Context<T>>;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdMaterialFooterDefDirective<any>, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SdMaterialFooterDefDirective<any>, "[sdTableFooterDef]", never, { "sdTableFooterDef": { "alias": "sdTableFooterDef"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8
15
|
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import { SdTableItem } from '../models/table-item.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export interface SdTableGroupDefContext<T = any> {
|
|
5
|
+
/** Children items thuộc group hiện tại (kèm wrapper SdTableItem). */
|
|
6
|
+
items: SdTableItem<T>[];
|
|
7
|
+
/** Children raw data (đã unwrap khỏi SdTableItem) — tiện dùng trong template. */
|
|
8
|
+
data: T[];
|
|
9
|
+
/** Hash key của group (Utilities.hash(values)). */
|
|
10
|
+
key: string;
|
|
11
|
+
/** Resolved giá trị các field group — vd `{ customerId: 1, customerName: 'A' }`. */
|
|
12
|
+
values: Record<string, any>;
|
|
13
|
+
/** true nếu group đang expand, false nếu collapse (chỉ ý nghĩa khi option.group.collapsible). */
|
|
14
|
+
isExpanded: boolean;
|
|
15
|
+
/** true nếu mọi children selectable đều selected. */
|
|
16
|
+
isSelected: boolean;
|
|
17
|
+
/** true nếu một phần children selected (partial). */
|
|
18
|
+
indeterminate: boolean;
|
|
19
|
+
/** Toggle expand/collapse (chỉ chạy nếu collapsible). */
|
|
20
|
+
toggleExpand: () => void;
|
|
21
|
+
/** Toggle select-all cho cả group (chỉ chạy nếu selector visible). */
|
|
22
|
+
toggleSelect: () => void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Directive cung cấp custom template render group header row trong sd-table.
|
|
26
|
+
* Thay thế cho htmlTemplate callback cũ — cho phép Angular template binding,
|
|
27
|
+
* pipes, components con (sd-badge, sd-button, …) bên trong.
|
|
28
|
+
*
|
|
29
|
+
* Ví dụ:
|
|
30
|
+
* ```html
|
|
31
|
+
* <sd-table [option]="opt">
|
|
32
|
+
* <ng-template sdTableGroupDef let-values="values" let-items="items" let-indeterminate="indeterminate">
|
|
33
|
+
* <b>Khách hàng: {{ values.customerName }}</b>
|
|
34
|
+
* <span>{{ items.length }} đơn hàng</span>
|
|
35
|
+
* </ng-template>
|
|
36
|
+
* </sd-table>
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare class SdTableGroupDefDirective<T = any> {
|
|
40
|
+
static ngTemplateContextGuard<T>(_dir: SdTableGroupDefDirective<T>, _ctx: unknown): _ctx is SdTableGroupDefContext<T>;
|
|
41
|
+
templateRef: TemplateRef<SdTableGroupDefContext<T>>;
|
|
42
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdTableGroupDefDirective<any>, never>;
|
|
43
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SdTableGroupDefDirective<any>, "[sdTableGroupDef]", never, {}, {}, never, never, true, never>;
|
|
44
|
+
}
|