@seniorsistemas/angular-components 19.3.0 → 19.3.2
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/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.d.ts +1 -2
- package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +0 -1
- package/chips/lib/chips/chips/chips.component.d.ts +1 -2
- package/code-editor/lib/code-editor/code-editor.component.d.ts +0 -2
- package/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.d.ts +1 -3
- package/common/lib/svg-factory/svg-factory.directive.d.ts +1 -2
- package/content-generator/lib/content-generator/content-generator.component.d.ts +1 -6
- package/content-generator/lib/services/IAssist/iassist.service.d.ts +0 -3
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +0 -3
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.d.ts +0 -2
- package/currency/lib/currency.service.d.ts +0 -2
- package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +3 -7
- package/custom-fields/lib/custom-fields/custom-fields.service.d.ts +0 -2
- package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +0 -2
- package/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/file-picker/file-picker-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +1 -2
- package/empty-state/lib/empty-state/go-back/go-back.component.d.ts +0 -2
- package/esm2022/badge/lib/badge/badge.component.mjs +3 -3
- package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +10 -13
- package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +7 -11
- package/esm2022/chips/lib/chips/chips/chips.component.mjs +5 -8
- package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +6 -9
- package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.mjs +8 -13
- package/esm2022/common/lib/svg-factory/svg-factory.directive.mjs +6 -10
- package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +24 -30
- package/esm2022/content-generator/lib/services/IAssist/iassist.service.mjs +9 -12
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +15 -23
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.mjs +6 -9
- package/esm2022/currency/lib/currency.service.mjs +6 -9
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +17 -25
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +6 -9
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +22 -28
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +6 -10
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +12 -17
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.mjs +12 -17
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +13 -19
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/file-picker/file-picker-field.component.mjs +6 -10
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +14 -19
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +5 -8
- package/esm2022/empty-state/lib/empty-state/go-back/go-back.component.mjs +8 -11
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +17 -21
- package/esm2022/gantt/lib/gantt/components/gantt/gantt.mjs +6 -2
- package/esm2022/gantt/lib/gantt/gantt.component.mjs +8 -4
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +5 -8
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.service.mjs +7 -12
- package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +5 -8
- package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +6 -10
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.mjs +9 -12
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +14 -17
- package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +12 -15
- package/esm2022/insights/lib/insights/components/insights-card/insights-card.component.mjs +15 -19
- package/esm2022/interactive-content/lib/interactive-content/interactive-content.directive.mjs +5 -8
- package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +10 -13
- package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +10 -13
- package/esm2022/kanban/lib/kanban/kanban.component.mjs +23 -17
- package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +10 -16
- package/esm2022/locale/lib/locale/locale.service.mjs +8 -12
- package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-currency.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-date.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-number.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-time.pipe.mjs +6 -9
- package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +6 -9
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +5 -8
- package/esm2022/numeric/lib/numeric.pipe.mjs +8 -12
- package/esm2022/numeric/lib/numeric.service.mjs +6 -9
- package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +8 -11
- package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +10 -16
- package/esm2022/picklist/lib/picklist/picklist.component.mjs +5 -8
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +15 -19
- package/esm2022/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.mjs +8 -11
- package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +5 -4
- package/esm2022/select-button/lib/select-button/select-button.component.mjs +3 -3
- package/esm2022/shared/lib/accessibility/paginator-accessibility.directive.mjs +8 -13
- package/esm2022/shared/lib/accessibility/table-checkbox-accessibility.directive.mjs +5 -8
- package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +9 -12
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +12 -16
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.service.mjs +12 -16
- package/esm2022/speech-recognition/lib/speech-recognition/text-to-speech.service.mjs +8 -10
- package/esm2022/split-button/lib/split-button/split-button.component.mjs +5 -8
- package/esm2022/table/lib/table/row-toggler/row-toggler.directive.mjs +7 -7
- package/esm2022/table/lib/table/table-column/table-columns.component.mjs +20 -29
- package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +9 -16
- package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +11 -13
- package/esm2022/text-area/lib/text-area/text-area.component.mjs +5 -8
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +8 -11
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +16 -24
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +8 -11
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +12 -16
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +13 -25
- package/esm2022/toast/lib/toast/toast.service.mjs +7 -12
- package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +10 -14
- package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +6 -10
- package/fesm2022/seniorsistemas-angular-components-badge.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +10 -12
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +6 -10
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chips.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +10 -18
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-common.mjs +5 -9
- package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +29 -40
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +16 -28
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-currency.mjs +5 -8
- package/fesm2022/seniorsistemas-angular-components-currency.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +45 -59
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +108 -157
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +4 -8
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +17 -22
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs +12 -4
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +6 -11
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +5 -9
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +29 -38
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-insights.mjs +17 -22
- package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs +30 -30
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +7 -15
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-locale.mjs +22 -41
- package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +5 -8
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs +9 -16
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +13 -24
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +14 -21
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +11 -14
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs +10 -18
- package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +7 -10
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +23 -34
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs +10 -12
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs +30 -47
- package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +6 -9
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +30 -55
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-toast.mjs +6 -11
- package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tree.mjs +9 -14
- package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +5 -9
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
- package/file-picker/lib/file-picker/file-picker.component.d.ts +0 -4
- package/file-upload/README.md +9 -37
- package/gantt/lib/gantt/gantt.component.d.ts +1 -0
- package/global-search/lib/global-search/global-search.component.d.ts +1 -2
- package/ia-insight/README.md +17 -0
- package/image-cropper/lib/image-cropper/image-cropper.service.d.ts +1 -2
- package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +1 -2
- package/info-sign/lib/info-sign/info-sign.directive.d.ts +1 -2
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +1 -2
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +0 -2
- package/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +0 -2
- package/insights/lib/insights/components/insights-card/insights-card.component.d.ts +0 -4
- package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +1 -2
- package/kanban/lib/kanban/components/kanban-column/kanban-column.component.d.ts +0 -2
- package/kanban/lib/kanban/components/kanban-item/kanban-item.component.d.ts +0 -2
- package/kanban/lib/kanban/kanban.component.d.ts +2 -2
- package/loading-state/lib/loading-state/loading-state.directive.d.ts +1 -2
- package/locale/lib/locale/locale.service.d.ts +0 -3
- package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-currency.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-date.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-number.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-time.pipe.d.ts +0 -2
- package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +0 -2
- package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +1 -2
- package/numeric/lib/numeric.pipe.d.ts +0 -3
- package/numeric/lib/numeric.service.d.ts +0 -2
- package/package.json +12 -12
- package/password-strength/lib/password-strength/password-strength.component.d.ts +0 -2
- package/password-strength/lib/password-strength/password-strength.directive.d.ts +1 -2
- package/picklist/lib/picklist/picklist.component.d.ts +1 -2
- package/product-header/README.md +17 -0
- package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +0 -4
- package/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.d.ts +0 -2
- package/progressbar/lib/progressbar/progressbar.module.d.ts +2 -1
- package/shared/lib/accessibility/paginator-accessibility.directive.d.ts +1 -3
- package/shared/lib/accessibility/table-checkbox-accessibility.directive.d.ts +1 -2
- package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +0 -2
- package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +0 -4
- package/speech-recognition/lib/speech-recognition/speech-recognition.service.d.ts +1 -5
- package/speech-recognition/lib/speech-recognition/text-to-speech.service.d.ts +1 -3
- package/split-button/lib/split-button/split-button.component.d.ts +1 -2
- package/table/lib/table/row-toggler/row-toggler.directive.d.ts +1 -1
- package/table/lib/table/table-column/table-columns.component.d.ts +2 -6
- package/table/lib/table/table-paging/table-paging.component.d.ts +0 -3
- package/table-header/lib/table-header/table-header-checkbox.component.d.ts +1 -1
- package/text-area/lib/text-area/text-area.component.d.ts +1 -2
- package/text-area-ia/README.md +17 -0
- package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +0 -2
- package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +1 -3
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +0 -2
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +0 -2
- package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +1 -5
- package/toast/lib/toast/toast.service.d.ts +0 -2
- package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +1 -3
- package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +1 -2
- package/confirm-dialog/README.md +0 -226
- package/numeric-mask/README.md +0 -395
- package/pin-code-field/README.md +0 -366
- package/spotlight/README.md +0 -311
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ApplicationRef, Injector, ComponentFactoryResolver } from "@angular/core";
|
|
2
1
|
import { Toast } from "./types/toast";
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
export declare class ToastService {
|
|
@@ -7,7 +6,6 @@ export declare class ToastService {
|
|
|
7
6
|
private componentFactoryResolver;
|
|
8
7
|
private activeToasts;
|
|
9
8
|
private globalToastHostElement;
|
|
10
|
-
constructor(appRef: ApplicationRef, injector: Injector, componentFactoryResolver: ComponentFactoryResolver);
|
|
11
9
|
private ensureGlobalToastHost;
|
|
12
10
|
show(toast: Toast): void;
|
|
13
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<ToastService, never>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
1
|
+
import { ElementRef, EventEmitter } from '@angular/core';
|
|
3
2
|
import { InternalTreeNodeItem, TreeNodeEdit } from '../../Models/tree.models';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export declare class TreeNodeItemComponent {
|
|
@@ -16,7 +15,6 @@ export declare class TreeNodeItemComponent {
|
|
|
16
15
|
nodeExpanded: EventEmitter<InternalTreeNodeItem<any>>;
|
|
17
16
|
nodeCollapsed: EventEmitter<InternalTreeNodeItem<any>>;
|
|
18
17
|
input: ElementRef<HTMLInputElement>;
|
|
19
|
-
constructor(cdr: ChangeDetectorRef, translateService: TranslateService);
|
|
20
18
|
get hasChildren(): boolean;
|
|
21
19
|
get editable(): boolean;
|
|
22
20
|
get ariaLabel(): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ElementRef, EventEmitter, OnInit, QueryList } from '@angular/core';
|
|
2
2
|
import { Workspace } from './models/workspace';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
/**
|
|
@@ -63,7 +63,6 @@ export declare class WorkspaceSwitchComponent implements OnInit {
|
|
|
63
63
|
selectedItemIndex: number;
|
|
64
64
|
currentItemIndex: number;
|
|
65
65
|
private _open;
|
|
66
|
-
constructor(eRef: ElementRef, changeDetectorRef: ChangeDetectorRef);
|
|
67
66
|
tabindex: number;
|
|
68
67
|
onClickout(event: MouseEvent): void;
|
|
69
68
|
onKeydown(event: KeyboardEvent): void;
|
package/confirm-dialog/README.md
DELETED
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
# Confirm Dialog
|
|
2
|
-
|
|
3
|
-
Um serviço para exibir dialogs de confirmação padronizados com ações de aceitar/rejeitar.
|
|
4
|
-
|
|
5
|
-
## Features
|
|
6
|
-
|
|
7
|
-
- Dialog de confirmação pré-configurado com layout padronizado
|
|
8
|
-
- Suporte a botões de aceitar e rejeitar (opcional)
|
|
9
|
-
- Callbacks personalizáveis para ações de confirmação e cancelamento
|
|
10
|
-
- Interface simplificada através do `ConfirmDialogService`
|
|
11
|
-
- Integração automática com o sistema de dialogs base
|
|
12
|
-
|
|
13
|
-
## Utilização
|
|
14
|
-
|
|
15
|
-
- **Serviço**: `ConfirmDialogService`
|
|
16
|
-
|
|
17
|
-
### Import
|
|
18
|
-
|
|
19
|
-
```typescript
|
|
20
|
-
import { ConfirmDialogService, ConfirmDialog } from '@seniorsistemas/angular-components/confirm-dialog';
|
|
21
|
-
|
|
22
|
-
@Component({
|
|
23
|
-
/* ... */
|
|
24
|
-
})
|
|
25
|
-
export class MyComponent {
|
|
26
|
-
constructor(private confirmDialogService: ConfirmDialogService) {}
|
|
27
|
-
/* ... */
|
|
28
|
-
}
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Exemplo de utilização
|
|
32
|
-
|
|
33
|
-
### Uso básico
|
|
34
|
-
|
|
35
|
-
```typescript
|
|
36
|
-
export class MyComponent {
|
|
37
|
-
constructor(private confirmDialogService: ConfirmDialogService) {}
|
|
38
|
-
|
|
39
|
-
deleteItem() {
|
|
40
|
-
const confirmDialog: ConfirmDialog = {
|
|
41
|
-
header: 'Confirmar Exclusão',
|
|
42
|
-
message: 'Tem certeza que deseja excluir este item? Esta ação não pode ser desfeita.',
|
|
43
|
-
acceptLabel: 'Excluir',
|
|
44
|
-
rejectLabel: 'Cancelar',
|
|
45
|
-
accept: () => {
|
|
46
|
-
// Lógica de exclusão
|
|
47
|
-
console.log('Item excluído!');
|
|
48
|
-
this.performDelete();
|
|
49
|
-
},
|
|
50
|
-
reject: () => {
|
|
51
|
-
// Lógica de cancelamento (opcional)
|
|
52
|
-
console.log('Exclusão cancelada');
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
this.confirmDialogService.confirm(confirmDialog);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
private performDelete() {
|
|
60
|
-
// Implementação da exclusão
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### Sem botão de rejeição
|
|
66
|
-
|
|
67
|
-
```typescript
|
|
68
|
-
export class MyComponent {
|
|
69
|
-
constructor(private confirmDialogService: ConfirmDialogService) {}
|
|
70
|
-
|
|
71
|
-
showInfo() {
|
|
72
|
-
const confirmDialog: ConfirmDialog = {
|
|
73
|
-
header: 'Informação',
|
|
74
|
-
message: 'Operação realizada com sucesso!',
|
|
75
|
-
acceptLabel: 'OK',
|
|
76
|
-
accept: () => {
|
|
77
|
-
console.log('Usuário confirmou a informação');
|
|
78
|
-
},
|
|
79
|
-
// rejectLabel e reject são opcionais
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
this.confirmDialogService.confirm(confirmDialog);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### Exemplo com ações assíncronas
|
|
88
|
-
|
|
89
|
-
```typescript
|
|
90
|
-
export class MyComponent {
|
|
91
|
-
constructor(
|
|
92
|
-
private confirmDialogService: ConfirmDialogService,
|
|
93
|
-
private dataService: DataService,
|
|
94
|
-
) {}
|
|
95
|
-
|
|
96
|
-
async saveChanges() {
|
|
97
|
-
const confirmDialog: ConfirmDialog = {
|
|
98
|
-
header: 'Salvar Alterações',
|
|
99
|
-
message: 'Deseja salvar as alterações realizadas?',
|
|
100
|
-
acceptLabel: 'Salvar',
|
|
101
|
-
rejectLabel: 'Descartar',
|
|
102
|
-
accept: async () => {
|
|
103
|
-
try {
|
|
104
|
-
await this.dataService.save();
|
|
105
|
-
this.showSuccessMessage();
|
|
106
|
-
} catch (error) {
|
|
107
|
-
this.showErrorMessage();
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
reject: () => {
|
|
111
|
-
this.discardChanges();
|
|
112
|
-
},
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
this.confirmDialogService.confirm(confirmDialog);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
## API
|
|
121
|
-
|
|
122
|
-
### ConfirmDialogService
|
|
123
|
-
|
|
124
|
-
#### confirm(confirmDialog: ConfirmDialog): void
|
|
125
|
-
|
|
126
|
-
Exibe um dialog de confirmação com as configurações especificadas.
|
|
127
|
-
|
|
128
|
-
**Parâmetros:**
|
|
129
|
-
|
|
130
|
-
- `confirmDialog`: Objeto com as configurações do dialog
|
|
131
|
-
|
|
132
|
-
### ConfirmDialog
|
|
133
|
-
|
|
134
|
-
| Nome | Tipo | Obrigatório | Descrição |
|
|
135
|
-
| :-------------- | :----------- | :---------- | :----------------------------------------------------------------------------- |
|
|
136
|
-
| **header** | string | Sim | Título do dialog exibido no cabeçalho |
|
|
137
|
-
| **message** | string | Sim | Mensagem principal do dialog |
|
|
138
|
-
| **acceptLabel** | string | Sim | Texto do botão de confirmação |
|
|
139
|
-
| **rejectLabel** | string | Não | Texto do botão de cancelamento (se não informado, só exibe o botão de aceitar) |
|
|
140
|
-
| **accept** | VoidFunction | Sim | Função executada quando o usuário confirma |
|
|
141
|
-
| **reject** | VoidFunction | Não | Função executada quando o usuário cancela ou fecha o dialog |
|
|
142
|
-
|
|
143
|
-
## Comportamento
|
|
144
|
-
|
|
145
|
-
### Fluxo de execução
|
|
146
|
-
|
|
147
|
-
1. **Confirmação**: Quando o usuário clica no botão de aceitar, a função `accept()` é executada
|
|
148
|
-
2. **Cancelamento**: Quando o usuário:
|
|
149
|
-
- Clica no botão de rejeitar (se presente)
|
|
150
|
-
- Clica fora do dialog
|
|
151
|
-
- Pressiona a tecla ESC
|
|
152
|
-
- Clica no X para fechar
|
|
153
|
-
|
|
154
|
-
A função `reject()` é executada (se fornecida)
|
|
155
|
-
|
|
156
|
-
### Estados do dialog
|
|
157
|
-
|
|
158
|
-
- **Aceito**: `accept()` é chamada e o dialog é fechado
|
|
159
|
-
- **Rejeitado**: `reject()` é chamada (se fornecida) e o dialog é fechado
|
|
160
|
-
- **Fechado sem ação**: Se apenas `accept()` for fornecida e o usuário fechar o dialog sem confirmar, nenhuma função é executada
|
|
161
|
-
|
|
162
|
-
## Exemplos de casos de uso
|
|
163
|
-
|
|
164
|
-
### Confirmação de exclusão
|
|
165
|
-
|
|
166
|
-
```typescript
|
|
167
|
-
confirmDelete(itemId: string) {
|
|
168
|
-
this.confirmDialogService.confirm({
|
|
169
|
-
header: 'Confirmar Exclusão',
|
|
170
|
-
message: `Tem certeza que deseja excluir o item ${itemId}?`,
|
|
171
|
-
acceptLabel: 'Sim, excluir',
|
|
172
|
-
rejectLabel: 'Cancelar',
|
|
173
|
-
accept: () => this.deleteItem(itemId),
|
|
174
|
-
reject: () => console.log('Exclusão cancelada')
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### Confirmação de navegação
|
|
180
|
-
|
|
181
|
-
```typescript
|
|
182
|
-
confirmNavigation() {
|
|
183
|
-
this.confirmDialogService.confirm({
|
|
184
|
-
header: 'Alterações não salvas',
|
|
185
|
-
message: 'Você tem alterações não salvas. Deseja sair mesmo assim?',
|
|
186
|
-
acceptLabel: 'Sair sem salvar',
|
|
187
|
-
rejectLabel: 'Continuar editando',
|
|
188
|
-
accept: () => this.router.navigate(['/home']),
|
|
189
|
-
reject: () => console.log('Permanecendo na página')
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
### Notificação simples
|
|
195
|
-
|
|
196
|
-
```typescript
|
|
197
|
-
showSuccessNotification() {
|
|
198
|
-
this.confirmDialogService.confirm({
|
|
199
|
-
header: 'Sucesso',
|
|
200
|
-
message: 'Operação realizada com sucesso!',
|
|
201
|
-
acceptLabel: 'OK',
|
|
202
|
-
accept: () => console.log('Notificação confirmada')
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
### Confirmação com validação
|
|
208
|
-
|
|
209
|
-
```typescript
|
|
210
|
-
confirmSubmission() {
|
|
211
|
-
this.confirmDialogService.confirm({
|
|
212
|
-
header: 'Enviar Formulário',
|
|
213
|
-
message: 'Deseja enviar o formulário? Verifique se todos os dados estão corretos.',
|
|
214
|
-
acceptLabel: 'Enviar',
|
|
215
|
-
rejectLabel: 'Revisar',
|
|
216
|
-
accept: () => {
|
|
217
|
-
if (this.validateForm()) {
|
|
218
|
-
this.submitForm();
|
|
219
|
-
} else {
|
|
220
|
-
this.showValidationErrors();
|
|
221
|
-
}
|
|
222
|
-
},
|
|
223
|
-
reject: () => this.focusFirstInvalidField()
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
```
|
package/numeric-mask/README.md
DELETED
|
@@ -1,395 +0,0 @@
|
|
|
1
|
-
# Numeric Mask Directive
|
|
2
|
-
|
|
3
|
-
Diretiva Angular para formatação de valores numéricos com suporte completo a internacionalização e validação. Funciona com moedas, números decimais, notação científica e muito mais.
|
|
4
|
-
|
|
5
|
-
## Recursos
|
|
6
|
-
|
|
7
|
-
- ✅ Suporte completo a internacionalização (todos os locales)
|
|
8
|
-
- ✅ Formatação automática com separadores de milhar e decimal
|
|
9
|
-
- ✅ Validação integrada com Angular Forms
|
|
10
|
-
- ✅ Suporte a valores negativos
|
|
11
|
-
- ✅ Controle de casas decimais configurável (mínimas e máximas)
|
|
12
|
-
- ✅ Truncamento inteligente de decimais (nunca arredonda)
|
|
13
|
-
- ✅ Precisão arbitrária com BigNumber
|
|
14
|
-
- ✅ Suporte a notação científica com expoentes negativos
|
|
15
|
-
- ✅ Tratamento inteligente de colagem
|
|
16
|
-
- ✅ Teclado numérico em dispositivos móveis
|
|
17
|
-
- ✅ Acessibilidade (ARIA)
|
|
18
|
-
- ✅ Standalone component compatível
|
|
19
|
-
|
|
20
|
-
## Instalação
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
npm install @seniorsistemas/angular-components
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Uso Básico
|
|
27
|
-
|
|
28
|
-
### Standalone Components (Recomendado)
|
|
29
|
-
|
|
30
|
-
```typescript
|
|
31
|
-
import { Component } from '@angular/core';
|
|
32
|
-
import { FormsModule } from '@angular/forms';
|
|
33
|
-
import { NumericMaskDirective } from '@seniorsistemas/angular-components/numeric-mask';
|
|
34
|
-
|
|
35
|
-
@Component({
|
|
36
|
-
selector: 'app-example',
|
|
37
|
-
standalone: true,
|
|
38
|
-
imports: [FormsModule, NumericMaskDirective],
|
|
39
|
-
template: `
|
|
40
|
-
<input
|
|
41
|
-
type="text"
|
|
42
|
-
sNumericMask
|
|
43
|
-
[locale]="'pt-BR'"
|
|
44
|
-
[minDecimalPlaces]="2"
|
|
45
|
-
[maxDecimalPlaces]="2"
|
|
46
|
-
[(ngModel)]="value"
|
|
47
|
-
/>
|
|
48
|
-
`,
|
|
49
|
-
})
|
|
50
|
-
export class ExampleComponent {
|
|
51
|
-
value: string | null = null;
|
|
52
|
-
}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## API
|
|
56
|
-
|
|
57
|
-
### Inputs
|
|
58
|
-
|
|
59
|
-
| Input | Tipo | Padrão | Descrição |
|
|
60
|
-
| ------------------------- | --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
61
|
-
| `locale` | `string \| undefined` | `undefined` | Locale para formatação (ex: 'pt-BR', 'en-US', 'de-DE', 'fr-FR'). Se não fornecido, usa automaticamente o locale do `LocaleService` |
|
|
62
|
-
| `minDecimalPlaces` | `number` | `0` | Quantidade mínima de casas decimais a exibir. Na formatação, o valor sempre terá no mínimo esse número de casas decimais, preenchendo com zeros se necessário |
|
|
63
|
-
| `maxDecimalPlaces` | `number` | `10` | Quantidade máxima de casas decimais permitidas. Na formatação, limita a exibição a esse número de casas decimais, truncando valores maiores |
|
|
64
|
-
| `allowNegative` | `boolean` | `false` | Permite valores negativos. Use `+` e `-` para alternar o sinal |
|
|
65
|
-
| `allowScientificNotation` | `boolean` | `true` | Habilita suporte a notação científica (ex: `1e-6`). Quando `false`, bloqueia digitação e colagem de valores com `e`/`E` |
|
|
66
|
-
| `min` | `number \| undefined` | `undefined` | Valor mínimo permitido. Quando definido, adiciona validação nativa |
|
|
67
|
-
| `max` | `number \| undefined` | `undefined` | Valor máximo permitido. Quando definido, adiciona validação nativa |
|
|
68
|
-
|
|
69
|
-
## Comportamento
|
|
70
|
-
|
|
71
|
-
### Casas Decimais (minDecimalPlaces e maxDecimalPlaces)
|
|
72
|
-
|
|
73
|
-
A diretiva agora aplica um controle preciso sobre as casas decimais exibidas:
|
|
74
|
-
|
|
75
|
-
- **minDecimalPlaces**: Define o número mínimo de casas decimais. Se o valor tiver menos casas decimais, zeros são adicionados à direita.
|
|
76
|
-
- **maxDecimalPlaces**: Define o número máximo de casas decimais. Se o valor tiver mais casas decimais, é **truncado** (não arredondado).
|
|
77
|
-
|
|
78
|
-
Exemplos com formatação (blur):
|
|
79
|
-
|
|
80
|
-
- Valor `12,1` com `minDecimalPlaces="3"` → exibido como `12,100`
|
|
81
|
-
- Valor `3,3333333` com `maxDecimalPlaces="4"` → exibido como `3,3333` (truncado)
|
|
82
|
-
- Valor `5` com `minDecimalPlaces="2"` e `maxDecimalPlaces="2"` → exibido como `5,00`
|
|
83
|
-
|
|
84
|
-
### Truncamento de Decimais
|
|
85
|
-
|
|
86
|
-
Ao contrário de outras máscaras numéricas que **arredondam**, a `numeric-mask` **trunca** valores que excedem `maxDecimalPlaces`. Isso é crucial para precisão em valores financeiros e científicos.
|
|
87
|
-
|
|
88
|
-
Exemplo com `maxDecimalPlaces="2"`:
|
|
89
|
-
|
|
90
|
-
- Valor digitado: `1,999`
|
|
91
|
-
- Valor no modelo: `1.999` (sem truncamento)
|
|
92
|
-
- Valor exibido (blur): `1,99` (truncado, não arredondado para `2,00`)
|
|
93
|
-
- Valor ao receber foco: `1,999` (mostra completo)
|
|
94
|
-
|
|
95
|
-
### Bloqueio de Caracteres Inválidos
|
|
96
|
-
|
|
97
|
-
A diretiva bloqueia automaticamente a digitação de caracteres que não sejam:
|
|
98
|
-
|
|
99
|
-
- Dígitos (0-9)
|
|
100
|
-
- Separador decimal (`,` ou `.` conforme o locale)
|
|
101
|
-
- Caracteres de controle (Tab, Backspace, Delete, etc.)
|
|
102
|
-
- Teclas de seta
|
|
103
|
-
- Ctrl/Cmd/Alt
|
|
104
|
-
|
|
105
|
-
Para **valores negativos**, você pode:
|
|
106
|
-
|
|
107
|
-
- Pressionar `-` no início do valor para ativar/desativar o sinal negativo
|
|
108
|
-
- Pressionar `+` para remover o sinal negativo
|
|
109
|
-
|
|
110
|
-
### Alinhamento de Texto
|
|
111
|
-
|
|
112
|
-
O texto dentro do input é sempre alinhado à **direita**, facilitando a leitura de valores numéricos.
|
|
113
|
-
|
|
114
|
-
### Focus
|
|
115
|
-
|
|
116
|
-
Quando o input recebe foco:
|
|
117
|
-
|
|
118
|
-
- Remove a formatação (separadores de milhar)
|
|
119
|
-
- Exibe o valor com o separador decimal do locale
|
|
120
|
-
- Auto-seleciona todo o valor para fácil substituição
|
|
121
|
-
- Mostra o valor **completo** do modelo (sem truncamento)
|
|
122
|
-
|
|
123
|
-
Exemplo:
|
|
124
|
-
|
|
125
|
-
- Valor formatado: `1.234,56`
|
|
126
|
-
- No focus: `1234,56` (apenas separador decimal, valor completo)
|
|
127
|
-
|
|
128
|
-
### Modelo vs Formatação
|
|
129
|
-
|
|
130
|
-
A diretiva separa claramente o valor armazenado do valor exibido:
|
|
131
|
-
|
|
132
|
-
| Situação | Modelo | Display |
|
|
133
|
-
| ------------------ | ------------------------- | ----------------------------------- |
|
|
134
|
-
| Digitando | `1.999` | `1,999` |
|
|
135
|
-
| Após blur | `1.999` | `1,99` (truncado) |
|
|
136
|
-
| Com foco | `1.999` | `1,999` (completo) |
|
|
137
|
-
| Notação científica | `0.000000000000000000001` | `0,00000000000000000000` (truncado) |
|
|
138
|
-
|
|
139
|
-
**Garantia:** O modelo **sempre** armazena o valor completo, sem truncamento. As propriedades `minDecimalPlaces` e `maxDecimalPlaces` afetam **apenas** a formatação visual.
|
|
140
|
-
|
|
141
|
-
### Blur
|
|
142
|
-
|
|
143
|
-
Quando o input perde foco:
|
|
144
|
-
|
|
145
|
-
- Reaplica a formatação completa com separadores de milhar
|
|
146
|
-
- Valida o valor conforme as regras configuradas
|
|
147
|
-
|
|
148
|
-
### Colagem (Paste)
|
|
149
|
-
|
|
150
|
-
- Processa automaticamente valores copiados
|
|
151
|
-
- Converte notação científica (ex: `1e-6`) em decimal
|
|
152
|
-
- Normaliza separadores para o locale configurado
|
|
153
|
-
|
|
154
|
-
## Exemplos
|
|
155
|
-
|
|
156
|
-
### Exemplo Básico
|
|
157
|
-
|
|
158
|
-
```typescript
|
|
159
|
-
@Component({
|
|
160
|
-
selector: 'app-basic',
|
|
161
|
-
standalone: true,
|
|
162
|
-
imports: [FormsModule, NumericMaskDirective],
|
|
163
|
-
template: `
|
|
164
|
-
<input
|
|
165
|
-
sNumericMask
|
|
166
|
-
[locale]="'pt-BR'"
|
|
167
|
-
[minDecimalPlaces]="2"
|
|
168
|
-
[maxDecimalPlaces]="2"
|
|
169
|
-
[(ngModel)]="value"
|
|
170
|
-
/>
|
|
171
|
-
<p>Valor: {{ value }}</p>
|
|
172
|
-
`,
|
|
173
|
-
})
|
|
174
|
-
export class BasicComponent {
|
|
175
|
-
value: string | null = null;
|
|
176
|
-
}
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### Exemplo com Valores Negativos
|
|
180
|
-
|
|
181
|
-
```typescript
|
|
182
|
-
@Component({
|
|
183
|
-
selector: 'app-negative',
|
|
184
|
-
standalone: true,
|
|
185
|
-
imports: [FormsModule, NumericMaskDirective],
|
|
186
|
-
template: `
|
|
187
|
-
<input
|
|
188
|
-
sNumericMask
|
|
189
|
-
[allowNegative]="true"
|
|
190
|
-
[locale]="'pt-BR'"
|
|
191
|
-
[minDecimalPlaces]="2"
|
|
192
|
-
[maxDecimalPlaces]="2"
|
|
193
|
-
[(ngModel)]="value"
|
|
194
|
-
/>
|
|
195
|
-
<p>Pressione - para alternar o sinal</p>
|
|
196
|
-
`,
|
|
197
|
-
})
|
|
198
|
-
export class NegativeComponent {
|
|
199
|
-
value: string | null = null;
|
|
200
|
-
}
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### Exemplo com Notação Científica
|
|
204
|
-
|
|
205
|
-
```typescript
|
|
206
|
-
@Component({
|
|
207
|
-
selector: 'app-scientific',
|
|
208
|
-
standalone: true,
|
|
209
|
-
imports: [FormsModule, NumericMaskDirective],
|
|
210
|
-
template: `
|
|
211
|
-
<input
|
|
212
|
-
sNumericMask
|
|
213
|
-
[allowScientificNotation]="true"
|
|
214
|
-
[minDecimalPlaces]="0"
|
|
215
|
-
[maxDecimalPlaces]="15"
|
|
216
|
-
[(ngModel)]="value"
|
|
217
|
-
placeholder="Ex: 1e-6, 1.5e-10"
|
|
218
|
-
/>
|
|
219
|
-
<p>Valor: {{ value }}</p>
|
|
220
|
-
`,
|
|
221
|
-
})
|
|
222
|
-
export class ScientificComponent {
|
|
223
|
-
value: string | null = null;
|
|
224
|
-
}
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
### Exemplo sem Notação Científica
|
|
228
|
-
|
|
229
|
-
```typescript
|
|
230
|
-
@Component({
|
|
231
|
-
selector: 'app-no-scientific',
|
|
232
|
-
standalone: true,
|
|
233
|
-
imports: [FormsModule, NumericMaskDirective],
|
|
234
|
-
template: `
|
|
235
|
-
<input
|
|
236
|
-
sNumericMask
|
|
237
|
-
[allowScientificNotation]="false"
|
|
238
|
-
[locale]="'pt-BR'"
|
|
239
|
-
[minDecimalPlaces]="2"
|
|
240
|
-
[maxDecimalPlaces]="2"
|
|
241
|
-
[(ngModel)]="value"
|
|
242
|
-
/>
|
|
243
|
-
`,
|
|
244
|
-
})
|
|
245
|
-
export class NoScientificComponent {
|
|
246
|
-
value: string | null = null;
|
|
247
|
-
}
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
### Exemplo com Validação Min/Max
|
|
251
|
-
|
|
252
|
-
```typescript
|
|
253
|
-
@Component({
|
|
254
|
-
selector: 'app-min-max',
|
|
255
|
-
standalone: true,
|
|
256
|
-
imports: [FormsModule, NumericMaskDirective],
|
|
257
|
-
template: `
|
|
258
|
-
<input
|
|
259
|
-
sNumericMask
|
|
260
|
-
[minDecimalPlaces]="2"
|
|
261
|
-
[maxDecimalPlaces]="2"
|
|
262
|
-
[min]="0"
|
|
263
|
-
[max]="1000"
|
|
264
|
-
[(ngModel)]="price"
|
|
265
|
-
#priceInput="ngModel"
|
|
266
|
-
/>
|
|
267
|
-
|
|
268
|
-
@if (priceInput.errors?.['min']) {
|
|
269
|
-
<span class="error"> Valor mínimo: {{ priceInput.errors?.['min'].min }} </span>
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
@if (priceInput.errors?.['max']) {
|
|
273
|
-
<span class="error"> Valor máximo: {{ priceInput.errors?.['max'].max }} </span>
|
|
274
|
-
}
|
|
275
|
-
`,
|
|
276
|
-
})
|
|
277
|
-
export class MinMaxComponent {
|
|
278
|
-
price: string | null = null;
|
|
279
|
-
}
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
### Exemplo com Alta Precisão
|
|
283
|
-
|
|
284
|
-
```typescript
|
|
285
|
-
@Component({
|
|
286
|
-
selector: 'app-high-precision',
|
|
287
|
-
standalone: true,
|
|
288
|
-
imports: [FormsModule, NumericMaskDirective],
|
|
289
|
-
template: `
|
|
290
|
-
<input
|
|
291
|
-
sNumericMask
|
|
292
|
-
[locale]="'pt-BR'"
|
|
293
|
-
[minDecimalPlaces]="0"
|
|
294
|
-
[maxDecimalPlaces]="8"
|
|
295
|
-
[(ngModel)]="cryptoValue"
|
|
296
|
-
/>
|
|
297
|
-
<p>Valor da criptomoeda: {{ cryptoValue }}</p>
|
|
298
|
-
`,
|
|
299
|
-
})
|
|
300
|
-
export class HighPrecisionComponent {
|
|
301
|
-
cryptoValue: string | null = null;
|
|
302
|
-
}
|
|
303
|
-
```
|
|
304
|
-
|
|
305
|
-
## Integração com LocaleService
|
|
306
|
-
|
|
307
|
-
A diretiva se integra automaticamente com o `LocaleService` do `@seniorsistemas/angular-components/locale`. Quando o input `locale` não é fornecido, a diretiva:
|
|
308
|
-
|
|
309
|
-
1. Injeta opcionalmente o `LocaleService`
|
|
310
|
-
2. Chama `localeService.get()` para carregar as configurações de locale
|
|
311
|
-
3. Usa `getLocaleOptions()?.locale` para obter o locale do usuário
|
|
312
|
-
4. Usa 'pt-BR' como fallback se o serviço não estiver disponível
|
|
313
|
-
|
|
314
|
-
### Com LocaleService
|
|
315
|
-
|
|
316
|
-
```typescript
|
|
317
|
-
import { Component } from '@angular/core';
|
|
318
|
-
import { FormsModule } from '@angular/forms';
|
|
319
|
-
import { NumericMaskDirective } from '@seniorsistemas/angular-components/numeric-mask';
|
|
320
|
-
import { LocaleModule } from '@seniorsistemas/angular-components/locale';
|
|
321
|
-
|
|
322
|
-
@Component({
|
|
323
|
-
selector: 'app-with-locale-service',
|
|
324
|
-
standalone: true,
|
|
325
|
-
imports: [FormsModule, NumericMaskDirective, LocaleModule],
|
|
326
|
-
template: `
|
|
327
|
-
<!-- Locale automático do usuário -->
|
|
328
|
-
<input
|
|
329
|
-
sNumericMask
|
|
330
|
-
[minDecimalPlaces]="2"
|
|
331
|
-
[maxDecimalPlaces]="2"
|
|
332
|
-
[(ngModel)]="value"
|
|
333
|
-
/>
|
|
334
|
-
`,
|
|
335
|
-
})
|
|
336
|
-
export class WithLocaleServiceComponent {
|
|
337
|
-
value: string | null = null;
|
|
338
|
-
}
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
### Sem LocaleService (Locale Explícito)
|
|
342
|
-
|
|
343
|
-
```typescript
|
|
344
|
-
@Component({
|
|
345
|
-
selector: 'app-explicit-locale',
|
|
346
|
-
standalone: true,
|
|
347
|
-
imports: [FormsModule, NumericMaskDirective],
|
|
348
|
-
template: `
|
|
349
|
-
<!-- Locale explícito, não usa LocaleService -->
|
|
350
|
-
<input
|
|
351
|
-
sNumericMask
|
|
352
|
-
[locale]="'en-US'"
|
|
353
|
-
[minDecimalPlaces]="2"
|
|
354
|
-
[maxDecimalPlaces]="2"
|
|
355
|
-
[(ngModel)]="value"
|
|
356
|
-
/>
|
|
357
|
-
`,
|
|
358
|
-
})
|
|
359
|
-
export class ExplicitLocaleComponent {
|
|
360
|
-
value: string | null = null;
|
|
361
|
-
}
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
## Acessibilidade
|
|
365
|
-
|
|
366
|
-
A diretiva configura automaticamente:
|
|
367
|
-
|
|
368
|
-
- `inputmode="decimal"` - Teclado numérico em dispositivos móveis
|
|
369
|
-
- `autocomplete="off"` - Desabilita autocomplete
|
|
370
|
-
|
|
371
|
-
Para melhor acessibilidade, adicione manualmente:
|
|
372
|
-
|
|
373
|
-
```html
|
|
374
|
-
<label for="price">Preço (até 2 casas decimais)</label>
|
|
375
|
-
<input
|
|
376
|
-
id="price"
|
|
377
|
-
type="text"
|
|
378
|
-
sNumericMask
|
|
379
|
-
[locale]="'pt-BR'"
|
|
380
|
-
[minDecimalPlaces]="2"
|
|
381
|
-
[maxDecimalPlaces]="2"
|
|
382
|
-
[(ngModel)]="price"
|
|
383
|
-
aria-label="Digite um número com até 2 casas decimais"
|
|
384
|
-
/>
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
## Compatibilidade
|
|
388
|
-
|
|
389
|
-
- Angular 18+
|
|
390
|
-
- Todos os navegadores modernos com suporte a `Intl.NumberFormat`
|
|
391
|
-
|
|
392
|
-
## Licença
|
|
393
|
-
|
|
394
|
-
MIT
|
|
395
|
-
|