@seniorsistemas/angular-components 19.9.15 → 19.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +84 -2
- package/accordion/README.md +5 -4
- package/accordion/lib/accordion/accordion.module.d.ts +7 -0
- package/alert/lib/alert/alert.module.d.ts +7 -0
- package/badge/README.md +5 -4
- package/badge/lib/badge/badge.module.d.ts +10 -0
- package/bignumber-input/README.md +5 -4
- package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +16 -39
- package/bignumber-input/lib/bignumber-input/bignumber-input.module.d.ts +7 -0
- package/breadcrumb/README.md +5 -4
- package/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.d.ts +5 -1
- package/button/lib/button/button.module.d.ts +7 -0
- package/calendar-mask/README.md +5 -4
- package/calendar-mask/lib/calendar-mask/calendar-mask.module.d.ts +7 -0
- package/card/README.md +6 -5
- package/card/lib/card/card.module.d.ts +7 -0
- package/chat/README.md +11 -8
- package/chat/lib/chat/chat.module.d.ts +7 -0
- package/checkbox-list/README.md +5 -4
- package/checkbox-list/lib/checkbox-list/checkbox-list.module.d.ts +7 -0
- package/chips/README.md +5 -4
- package/chips/lib/chips/chips.module.d.ts +7 -0
- package/code-editor/README.md +5 -4
- package/code-editor/lib/code-editor/code-editor.module.d.ts +7 -0
- package/collapse-link/README.md +5 -4
- package/collapse-link/lib/collapse-link/collapse-link.module.d.ts +7 -0
- package/common/lib/angular-components.module.d.ts +9 -0
- package/common/lib/provide-angular-components.d.ts +19 -0
- package/common/lib/svg-factory/svg-factory.module.d.ts +7 -0
- package/common/public-api.d.ts +1 -0
- package/content-generator/README.md +2 -2
- package/content-generator/lib/content-generator/content-generator.module.d.ts +7 -0
- package/control-errors/README.md +2 -2
- package/control-errors/lib/control-errors/control-errors.module.d.ts +7 -0
- package/country-phone-picker/README.md +2 -2
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.d.ts +7 -0
- package/currency/README.md +1 -1
- package/custom-fields/README.md +14 -3
- package/custom-fields/lib/custom-fields/custom-fields.module.d.ts +7 -0
- package/custom-fields/lib/custom-fields/models/custom-field-value-parser.d.ts +21 -0
- package/custom-fields/lib/custom-fields/models/index.d.ts +1 -0
- package/dialog/README.md +1 -1
- package/drawer/README.md +8 -4
- package/drawer/lib/drawer/drawer.module.d.ts +10 -0
- package/dynamic-form/README.md +18 -2
- package/dynamic-form/dynamic-form/dynamic-form.module.d.ts +7 -0
- package/dynamic-form/dynamic-form/form-field/addon-config.d.ts +10 -1
- package/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.d.ts +15 -15
- package/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.d.ts +8 -6
- package/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.d.ts +5 -2
- package/dynamic-form/public-api.d.ts +0 -1
- package/editable-overlay/README.md +2 -2
- package/editable-overlay/lib/editable-overlay/editable-overlay.module.d.ts +7 -0
- package/empty-state/README.md +5 -2
- package/empty-state/lib/empty-state/empty-state.module.d.ts +7 -0
- package/esm2022/accordion/lib/accordion/accordion.module.mjs +8 -1
- package/esm2022/alert/lib/alert/alert.module.mjs +8 -1
- package/esm2022/badge/lib/badge/badge.module.mjs +11 -1
- package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +19 -127
- package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.module.mjs +8 -1
- package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.mjs +6 -2
- package/esm2022/button/lib/button/button.module.mjs +8 -1
- package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.module.mjs +8 -1
- package/esm2022/card/lib/card/card.module.mjs +8 -1
- package/esm2022/chat/lib/chat/chat.module.mjs +8 -1
- package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.module.mjs +8 -1
- package/esm2022/chips/lib/chips/chips.module.mjs +8 -1
- package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +10 -1
- package/esm2022/code-editor/lib/code-editor/code-editor.module.mjs +9 -15
- package/esm2022/collapse-link/lib/collapse-link/collapse-link.module.mjs +8 -1
- package/esm2022/common/lib/angular-components.module.mjs +10 -1
- package/esm2022/common/lib/provide-angular-components.mjs +22 -0
- package/esm2022/common/lib/svg-factory/svg-factory.module.mjs +8 -1
- package/esm2022/common/public-api.mjs +2 -1
- package/esm2022/content-generator/lib/content-generator/content-generator.module.mjs +8 -1
- package/esm2022/control-errors/lib/control-errors/control-errors.module.mjs +8 -1
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.mjs +8 -1
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.mjs +4 -3
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +17 -13
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.module.mjs +8 -1
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +4 -3
- package/esm2022/custom-fields/lib/custom-fields/models/custom-field-type.mjs +4 -2
- package/esm2022/custom-fields/lib/custom-fields/models/custom-field-value-parser.mjs +46 -0
- package/esm2022/custom-fields/lib/custom-fields/models/index.mjs +2 -1
- package/esm2022/drawer/lib/drawer/drawer.module.mjs +11 -1
- package/esm2022/dynamic-form/dynamic-form/dynamic-form.module.mjs +8 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/addon-config.mjs +6 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +33 -10
- package/esm2022/dynamic-form/public-api.mjs +2 -7
- package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.module.mjs +8 -1
- package/esm2022/empty-state/lib/empty-state/empty-state.module.mjs +8 -1
- package/esm2022/fieldset/lib/fieldset/fieldset.module.mjs +8 -1
- package/esm2022/file-picker/lib/file-picker/file-picker.module.mjs +8 -1
- package/esm2022/file-picker/lib/file-picker/file-picker.service.mjs +4 -3
- package/esm2022/gantt/lib/gantt/gantt.module.mjs +8 -1
- package/esm2022/global-search/lib/global-search/global-search.module.mjs +19 -1
- package/esm2022/grid-menu/lib/grid-menu/grid-menu.module.mjs +8 -1
- package/esm2022/help-popover/lib/help-popover/help-popover.module.mjs +8 -1
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.module.mjs +12 -1
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.service.mjs +4 -3
- package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.mjs +8 -1
- package/esm2022/info-sign/lib/info-sign/info-sign.module.mjs +8 -1
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +5 -5
- package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +8 -1
- package/esm2022/input-group/lib/input-group/input-group.module.mjs +8 -1
- package/esm2022/input-mask/lib/input-mask/input-mask.module.mjs +8 -1
- package/esm2022/input-text/lib/input-text/input-text.module.mjs +8 -1
- package/esm2022/insights/lib/insights/insights.module.mjs +11 -1
- package/esm2022/kanban/lib/kanban/kanban-event.service.mjs +4 -3
- package/esm2022/kanban/lib/kanban/kanban.module.mjs +11 -1
- package/esm2022/label-value/lib/label-value/label-value.module.mjs +8 -1
- package/esm2022/loading-state/lib/loading-state/loading-state.module.mjs +8 -1
- package/esm2022/locale/lib/locale/locale.module.mjs +14 -1
- package/esm2022/locale/lib/locale/locale.service.mjs +4 -3
- package/esm2022/locale/lib/locale/options/index.mjs +1 -13
- package/esm2022/locale/lib/locale/pipes/localized-bignumber-impure.pipe.mjs +1 -1
- package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +10 -2
- package/esm2022/locale/lib/locale/provide-locale.mjs +42 -0
- package/esm2022/locale/public-api.mjs +2 -1
- package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +5 -1
- package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.module.mjs +8 -1
- package/esm2022/mask/lib/mask/mask-formatter.module.mjs +8 -1
- package/esm2022/mouse-events/lib/mouse-events/mouse-events.module.mjs +8 -1
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.module.mjs +8 -1
- package/esm2022/number-input/lib/number-input/number-input.directive.mjs +2 -2
- package/esm2022/number-input/lib/number-input/number-input.module.mjs +9 -2
- package/esm2022/numeric/lib/numeric.module.mjs +8 -1
- package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.directive.mjs +178 -15
- package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.module.mjs +8 -1
- package/esm2022/object-card/lib/object-card/object-card.module.mjs +12 -1
- package/esm2022/panel/lib/panel/panel.module.mjs +11 -1
- package/esm2022/password-strength/lib/password-strength/password-strength.module.mjs +8 -1
- package/esm2022/picklist/lib/picklist/picklist.module.mjs +8 -1
- package/esm2022/pin-code-field/lib/pin-code-field.module.mjs +8 -1
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.mjs +8 -1
- package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +8 -1
- package/esm2022/rating-scale/lib/rating-scale/rating-scale.module.mjs +8 -1
- package/esm2022/select/lib/select/select.component.mjs +16 -3
- package/esm2022/select-button/lib/select-button/select-button.module.mjs +8 -1
- package/esm2022/shared/lib/shared/border-button/border-button.module.mjs +8 -1
- package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.mjs +8 -1
- package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.service.mjs +4 -3
- package/esm2022/slider/lib/slider/slider.module.mjs +8 -1
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.module.mjs +8 -1
- package/esm2022/split-button/lib/split-button/split-button.module.mjs +8 -1
- package/esm2022/stats-card/lib/stats-card/stats-card.module.mjs +8 -1
- package/esm2022/stepper/lib/stepper/stepper.module.mjs +8 -1
- package/esm2022/structure/lib/structure/structure.module.mjs +8 -1
- package/esm2022/switch/lib/switch/switch.module.mjs +8 -1
- package/esm2022/table/lib/table/table.module.mjs +9 -1
- package/esm2022/table-header/lib/table-header/table-header-checkox.module.mjs +8 -1
- package/esm2022/template/lib/template/template.module.mjs +8 -1
- package/esm2022/text-area/lib/text-area.module.mjs +8 -1
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.module.mjs +8 -1
- package/esm2022/thumbnails/lib/thumbnails/thumbnails.module.mjs +8 -1
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.module.mjs +8 -1
- package/esm2022/tile/lib/tile/tile.module.mjs +11 -1
- package/esm2022/timeline/lib/timeline/timeline.module.mjs +8 -1
- package/esm2022/toast/lib/toast/toast.module.mjs +8 -1
- package/esm2022/token-list/lib/token-list/token-list.module.mjs +8 -1
- package/esm2022/tooltip/lib/tooltip/tooltip.module.mjs +8 -1
- package/esm2022/topbar/lib/topbar/topbar.module.mjs +11 -1
- package/esm2022/tree/lib/tree/tree.module.mjs +8 -1
- package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.module.mjs +8 -1
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-alert.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-badge.mjs +10 -0
- package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +25 -126
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +5 -1
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-button.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-card.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chat.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-chat.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chips.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +164 -160
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-common.mjs +38 -2
- package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +10 -2
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +75 -15
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs +10 -0
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +52 -208
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +10 -2
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +18 -0
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +14 -2
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +11 -4
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-input-group.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-input-group.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-input-mask.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-input-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-input-text.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-input-text.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-insights.mjs +10 -0
- package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs +13 -2
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-label-value.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-label-value.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-locale.mjs +58 -5
- package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +11 -0
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-mask.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-number-input.mjs +9 -2
- package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs +184 -14
- package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs +11 -0
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-panel.mjs +10 -0
- package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select.mjs +15 -2
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +10 -2
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slider.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-structure.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-switch.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs +8 -0
- package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-template.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tile.mjs +10 -0
- package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-timeline.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-toast.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-token-list.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-topbar.mjs +10 -0
- package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tree.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
- package/fieldset/README.md +2 -2
- package/fieldset/lib/fieldset/fieldset.module.d.ts +7 -0
- package/file-picker/README.md +2 -2
- package/file-picker/lib/file-picker/file-picker.module.d.ts +7 -0
- package/file-upload/README.md +1 -1
- package/gantt/README.md +2 -2
- package/gantt/lib/gantt/gantt.module.d.ts +7 -0
- package/global-search/README.md +5 -2
- package/global-search/lib/global-search/global-search.module.d.ts +18 -0
- package/grid-menu/README.md +5 -4
- package/grid-menu/lib/grid-menu/grid-menu.module.d.ts +7 -0
- package/help-popover/README.md +5 -4
- package/help-popover/lib/help-popover/help-popover.module.d.ts +7 -0
- package/ia-insight/README.md +1 -1
- package/image-cropper/README.md +6 -5
- package/image-cropper/lib/image-cropper/image-cropper.module.d.ts +11 -0
- package/infinite-scroll/README.md +5 -4
- package/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.d.ts +7 -0
- package/info-sign/README.md +5 -4
- package/info-sign/lib/info-sign/info-sign.module.d.ts +7 -0
- package/inline-edit/README.md +5 -4
- package/inline-edit/lib/inline-edit/inline-edit.module.d.ts +7 -0
- package/input-group/lib/input-group/input-group.module.d.ts +7 -0
- package/input-mask/lib/input-mask/input-mask.module.d.ts +7 -0
- package/input-text/lib/input-text/input-text.module.d.ts +7 -0
- package/insights/README.md +6 -4
- package/insights/lib/insights/insights.module.d.ts +10 -0
- package/kanban/README.md +6 -4
- package/kanban/lib/kanban/kanban.module.d.ts +10 -0
- package/label-value/README.md +5 -4
- package/label-value/lib/label-value/label-value.module.d.ts +7 -0
- package/loading-state/README.md +9 -5
- package/loading-state/lib/loading-state/loading-state.module.d.ts +7 -0
- package/locale/lib/locale/locale.module.d.ts +13 -0
- package/locale/lib/locale/pipes/localized-bignumber-impure.pipe.d.ts +2 -2
- package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +20 -1
- package/locale/lib/locale/provide-locale.d.ts +18 -0
- package/locale/public-api.d.ts +1 -0
- package/localized-number-input/README.md +32 -8
- package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +4 -0
- package/localized-number-input/lib/localized-number-input/localized-number-input.module.d.ts +7 -0
- package/mask/lib/mask/mask-formatter.module.d.ts +7 -0
- package/mouse-events/README.md +5 -4
- package/mouse-events/lib/mouse-events/mouse-events.module.d.ts +7 -0
- package/navigation-button/README.md +5 -4
- package/navigation-button/lib/navigation-button/navigation-button.module.d.ts +7 -0
- package/number-input/lib/number-input/number-input.directive.d.ts +1 -1
- package/number-input/lib/number-input/number-input.module.d.ts +8 -1
- package/numeric/README.md +6 -5
- package/numeric/lib/numeric.module.d.ts +7 -0
- package/numeric-mask/README.md +44 -1
- package/numeric-mask/lib/numeric-mask/numeric-mask.directive.d.ts +65 -4
- package/numeric-mask/lib/numeric-mask/numeric-mask.module.d.ts +7 -0
- package/object-card/README.md +11 -4
- package/object-card/lib/object-card/object-card.module.d.ts +11 -0
- package/package.json +1 -1
- package/panel/README.md +8 -4
- package/panel/lib/panel/panel.module.d.ts +10 -0
- package/password-strength/README.md +6 -3
- package/password-strength/lib/password-strength/password-strength.module.d.ts +7 -0
- package/picklist/README.md +8 -5
- package/picklist/lib/picklist/picklist.module.d.ts +7 -0
- package/pin-code-field/lib/pin-code-field.module.d.ts +7 -0
- package/product-header/README.md +2 -2
- package/profile-picture-picker/README.md +6 -3
- package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.d.ts +7 -0
- package/progressbar/README.md +6 -3
- package/progressbar/lib/progressbar/progressbar.module.d.ts +7 -0
- package/rating-scale/README.md +6 -3
- package/rating-scale/lib/rating-scale/rating-scale.module.d.ts +7 -0
- package/schematics/collection.json +40 -0
- package/schematics/migrations/migrate-app-to-standalone/index.d.ts +32 -0
- package/schematics/migrations/migrate-app-to-standalone/index.js +98 -0
- package/schematics/migrations/migrate-app-to-standalone/index.js.map +1 -0
- package/schematics/migrations/migrate-deprecated-apis/index.d.ts +49 -0
- package/schematics/migrations/migrate-deprecated-apis/index.js +660 -0
- package/schematics/migrations/migrate-deprecated-apis/index.js.map +1 -0
- package/schematics/migrations/migrate-deprecated-datepicker/index.d.ts +31 -0
- package/schematics/migrations/migrate-deprecated-datepicker/index.js +115 -0
- package/schematics/migrations/migrate-deprecated-datepicker/index.js.map +1 -0
- package/schematics/migrations/migrate-deprecated-dynamic-form/index.d.ts +52 -0
- package/schematics/migrations/migrate-deprecated-dynamic-form/index.js +661 -0
- package/schematics/migrations/migrate-deprecated-dynamic-form/index.js.map +1 -0
- package/schematics/migrations/migrate-deprecated-imports/index.d.ts +23 -0
- package/schematics/migrations/migrate-deprecated-imports/index.js +335 -0
- package/schematics/migrations/migrate-deprecated-imports/index.js.map +1 -0
- package/schematics/migrations/migrate-deprecated-selectors/index.d.ts +15 -0
- package/schematics/migrations/migrate-deprecated-selectors/index.js +76 -0
- package/schematics/migrations/migrate-deprecated-selectors/index.js.map +1 -0
- package/schematics/migrations/migrate-modules-to-standalone/index.d.ts +51 -0
- package/schematics/migrations/migrate-modules-to-standalone/index.js +632 -0
- package/schematics/migrations/migrate-modules-to-standalone/index.js.map +1 -0
- package/schematics/migrations/migrate-modules-to-standalone/modules-map.json +1656 -0
- package/schematics/migrations/migrate-v20/index.d.ts +9 -0
- package/schematics/migrations/migrate-v20/index.js +90 -0
- package/schematics/migrations/migrate-v20/index.js.map +1 -0
- package/schematics/migrations/migrate-v20/items.d.ts +7 -0
- package/schematics/migrations/migrate-v20/items.js +54 -0
- package/schematics/migrations/migrate-v20/items.js.map +1 -0
- package/schematics/migrations/migrate-v20/plan.d.ts +32 -0
- package/schematics/migrations/migrate-v20/plan.js +29 -0
- package/schematics/migrations/migrate-v20/plan.js.map +1 -0
- package/schematics/migrations.json +5 -1
- package/schematics/schema/app-standalone.schema.json +21 -0
- package/schematics/schema/migrate-v20.schema.json +33 -0
- package/schematics/schema/scope.schema.json +17 -0
- package/schematics/utils/ast-utils.js +16 -0
- package/schematics/utils/ast-utils.js.map +1 -1
- package/schematics/utils/eol.d.ts +5 -0
- package/schematics/utils/eol.js +17 -0
- package/schematics/utils/eol.js.map +1 -0
- package/schematics/utils/prompt-utils.d.ts +62 -0
- package/schematics/utils/prompt-utils.js +166 -0
- package/schematics/utils/prompt-utils.js.map +1 -0
- package/schematics/utils/report.d.ts +27 -0
- package/schematics/utils/report.js +70 -0
- package/schematics/utils/report.js.map +1 -0
- package/schematics/utils/scope.d.ts +17 -0
- package/schematics/utils/scope.js +55 -0
- package/schematics/utils/scope.js.map +1 -0
- package/schematics/utils/selection.d.ts +21 -0
- package/schematics/utils/selection.js +60 -0
- package/schematics/utils/selection.js.map +1 -0
- package/schematics/utils/symbol-utils.d.ts +31 -0
- package/schematics/utils/symbol-utils.js +202 -0
- package/schematics/utils/symbol-utils.js.map +1 -0
- package/schematics/utils/template-utils.d.ts +62 -0
- package/schematics/utils/template-utils.js +165 -0
- package/schematics/utils/template-utils.js.map +1 -0
- package/schematics/utils/tsconfig-paths.d.ts +5 -0
- package/schematics/utils/tsconfig-paths.js +73 -0
- package/schematics/utils/tsconfig-paths.js.map +1 -0
- package/select/lib/select/select.component.d.ts +8 -0
- package/select-button/README.md +6 -3
- package/select-button/lib/select-button/select-button.module.d.ts +7 -0
- package/shared/lib/shared/border-button/border-button.module.d.ts +7 -0
- package/sidebar/README.md +2 -2
- package/slide-in-bar/README.md +5 -5
- package/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.d.ts +7 -0
- package/slider/README.md +6 -3
- package/slider/lib/slider/slider.module.d.ts +7 -0
- package/speech-recognition/README.md +6 -3
- package/speech-recognition/lib/speech-recognition/speech-recognition.module.d.ts +7 -0
- package/split-button/README.md +6 -3
- package/split-button/lib/split-button/split-button.module.d.ts +7 -0
- package/stats-card/README.md +6 -3
- package/stats-card/lib/stats-card/stats-card.module.d.ts +7 -0
- package/stepper/README.md +6 -3
- package/stepper/lib/stepper/stepper.module.d.ts +7 -0
- package/structure/lib/structure/structure.module.d.ts +7 -0
- package/switch/README.md +6 -3
- package/switch/lib/switch/switch.module.d.ts +7 -0
- package/table/README.md +12 -4
- package/table/lib/table/table.module.d.ts +8 -0
- package/table-header/lib/table-header/table-header-checkox.module.d.ts +7 -0
- package/template/README.md +0 -11
- package/template/lib/template/template.module.d.ts +7 -0
- package/text-area/lib/text-area.module.d.ts +7 -0
- package/text-area-ia/README.md +1 -1
- package/thumbnail/lib/thumbnail/thumbnail.module.d.ts +7 -0
- package/thumbnails/lib/thumbnails/thumbnails.module.d.ts +7 -0
- package/tiered-menu/lib/tiered-menu/tiered-menu.module.d.ts +7 -0
- package/tile/lib/tile/tile.module.d.ts +10 -0
- package/timeline/lib/timeline/timeline.module.d.ts +7 -0
- package/toast/lib/toast/toast.module.d.ts +7 -0
- package/token-list/lib/token-list/token-list.module.d.ts +7 -0
- package/tooltip/lib/tooltip/tooltip.module.d.ts +7 -0
- package/topbar/lib/topbar/topbar.module.d.ts +10 -0
- package/tree/lib/tree/tree.module.d.ts +7 -0
- package/workspace-switch/lib/workspace-switch/workspace-switch.module.d.ts +7 -0
- package/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +0 -664
- package/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.d.ts +0 -29
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +0 -96
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +0 -124
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components-panel.mjs","sources":["../../projects/angular-components/panel/src/lib/panel/panel.component.ts","../../projects/angular-components/panel/src/lib/panel/panel.component.html","../../projects/angular-components/panel/src/lib/panel/panel.module.ts","../../projects/angular-components/panel/src/seniorsistemas-angular-components-panel.ts"],"sourcesContent":["import { animate, style, transition, trigger } from '@angular/animations';\r\nimport {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n QueryList,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport {\r\n BorderButtonOptions,\r\n EnumSeverity,\r\n Severities,\r\n BorderButtonComponent,\r\n} from '@seniorsistemas/angular-components/shared';\r\nimport { TemplateDirective } from '@seniorsistemas/angular-components/template';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n/**\r\n * @description Componente de painel com cabeçalho, corpo e rodapé customizáveis\r\n * via `TemplateDirective`. Suporta colapsar/expandir com animação, nível de\r\n * severidade para estilo visual e botão de borda configurável.\r\n *\r\n * @example\r\n * ```html\r\n * <s-panel header=\"Título\" [toggleable]=\"true\" severity=\"info\">\r\n * <p>Conteúdo</p>\r\n * </s-panel>\r\n * ```\r\n *\r\n * @category Data\r\n */\r\n@Component({\r\n selector: 's-panel',\r\n templateUrl: './panel.component.html',\r\n animations: [\r\n trigger('BorderButtonAnimation', [\r\n transition(':enter', [\r\n style({ transform: 'scaleY(0)', opacity: 0 }),\r\n animate('300ms ease', style({ transform: 'scaleY(1)', opacity: 1 })),\r\n ]),\r\n transition(':leave', [\r\n style({ transform: 'scaleY(1)', opacity: 1 }),\r\n animate('300ms ease', style({ transform: 'scaleY(0)', opacity: 0 })),\r\n ]),\r\n ]),\r\n ],\r\n standalone: true,\r\n imports: [NgClass, BorderButtonComponent, NgTemplateOutlet, TranslateModule],\r\n})\r\nexport class PanelComponent implements AfterContentInit {\r\n private static _idCounter = 0;\r\n\r\n /** @description ID único gerado automaticamente para associar o botão toggle ao corpo do painel via aria-controls. */\r\n public readonly panelBodyId = `panel-body-${++PanelComponent._idCounter}`;\r\n\r\n /** @description Nível do heading do cabeçalho para acessibilidade (aria-level). @default 3 */\r\n @Input()\r\n public ariaHeaderLevel: number = 3;\r\n\r\n /** @description Título exibido no cabeçalho do painel. */\r\n @Input()\r\n public header?: string;\r\n\r\n /** @description Descrição exibida no cabeçalho do painel. */\r\n @Input()\r\n public description?: string;\r\n\r\n /** @description Habilita o botão de toggle para colapsar/expandir o painel. @default false */\r\n @Input()\r\n public toggleable = false;\r\n\r\n /** @description Define o estado inicial do painel como colapsado. @default false */\r\n @Input()\r\n public collapsed = false;\r\n\r\n /** @description Nível de severidade que altera o estilo visual do painel. @default 'default' */\r\n @Input()\r\n public severity: Severities = 'default';\r\n\r\n /** @description Opções de configuração do botão de borda lateral do painel. */\r\n @Input()\r\n public borderButtonOptions?: BorderButtonOptions;\r\n\r\n /** @description Classes CSS adicionais aplicadas ao elemento raíz do painel. @default '' */\r\n @Input()\r\n public class: string = '';\r\n\r\n /** @description Emitido quando o estado de colapso muda, com o novo valor booleano. */\r\n @Output()\r\n public collapsedChange = new EventEmitter<boolean>();\r\n\r\n @ContentChildren(TemplateDirective)\r\n public templates: QueryList<TemplateDirective> | null = null;\r\n\r\n public headerTemplate: TemplateRef<unknown> | null = null;\r\n\r\n public bodyTemplate: TemplateRef<unknown> | null = null;\r\n\r\n public footerTemplate: TemplateRef<unknown> | null = null;\r\n\r\n readonly EnumSeverity = EnumSeverity;\r\n\r\n public ngAfterContentInit(): void {\r\n this._getTemplates();\r\n }\r\n\r\n public toggleCollapsed(): void {\r\n this.collapsed = !this.collapsed;\r\n this.collapsedChange.emit(this.collapsed);\r\n }\r\n\r\n private _getCustomTemplate(type: string) {\r\n return this.templates?.find((template: TemplateDirective) => template.type === type)?.template;\r\n }\r\n\r\n private _getHeaderTemplate(): TemplateRef<unknown> | null {\r\n return this._getCustomTemplate('header') ?? null;\r\n }\r\n\r\n private _getBodyTemplate(): TemplateRef<unknown> | null {\r\n return this._getCustomTemplate('body') ?? null;\r\n }\r\n\r\n private _getFooterTemplate(): TemplateRef<unknown> | null {\r\n return this._getCustomTemplate('footer') ?? null;\r\n }\r\n\r\n private _getTemplates(): void {\r\n this.headerTemplate = this._getHeaderTemplate();\r\n this.bodyTemplate = this._getBodyTemplate();\r\n this.footerTemplate = this._getFooterTemplate();\r\n }\r\n}\r\n","<div\n class=\"relative border border-[#dedce5] bg-grayscale-0 p-5 transition-colors duration-500 ease-in-out\"\n [class]=\"class\"\n [ngClass]=\"{\n 'border-criticality-green': severity === EnumSeverity.Success,\n 'border-criticality-blue': severity === EnumSeverity.Info,\n 'border-criticality-orange': severity === EnumSeverity.Warn,\n 'border-criticality-red': severity === EnumSeverity.Error,\n }\"\n>\n @if (borderButtonOptions && borderButtonOptions.visible?.(severity)) {\n <s-border-button\n [severity]=\"severity\"\n [options]=\"borderButtonOptions\"\n class=\"absolute -top-3 right-[15px] z-10\"\n [@BorderButtonAnimation]\n >\n </s-border-button>\n }\n\n @if (header || headerTemplate) {\n <div\n class=\"flex justify-between\"\n [ngClass]=\"{ 'mb-3 border-b border-b-[#dedce5] pb-3': !collapsed }\"\n >\n <div class=\"grow\">\n @if (headerTemplate) {\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n } @else {\n <div class=\"flex flex-col gap-3\">\n <span\n class=\"uppercase\"\n role=\"heading\"\n [attr.aria-level]=\"ariaHeaderLevel\"\n >{{ header }}</span\n >\n @if (description) {\n <span class=\"text-sm text-grayscale-60\">{{ description }}</span>\n }\n </div>\n }\n </div>\n\n @if (toggleable) {\n <button\n type=\"button\"\n class=\"fas h-6 w-6 cursor-pointer border-none bg-transparent text-[#212533]\"\n [ngClass]=\"{\n 'fa-plus': collapsed,\n 'fa-minus': !collapsed,\n }\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"collapsed ? null : panelBodyId\"\n [attr.aria-label]=\"'platform.angular_components.panel_toggle' | translate: { header: header || '' }\"\n (click)=\"toggleCollapsed()\"\n ></button>\n }\n </div>\n }\n\n @if (!toggleable || !collapsed) {\n <div [id]=\"panelBodyId\">\n <div [class.pb-3]=\"footerTemplate\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n </div>\n\n @if (footerTemplate) {\n <div class=\"border-t border-t-[#dedce5] pt-3\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n }\n </div>\n }\n</div>\n\n","import { NgModule } from '@angular/core';\r\n\r\nimport { PanelComponent } from './panel.component';\r\nimport { TemplateModule } from '@seniorsistemas/angular-components/template';\r\n\r\n@NgModule({\r\n imports: [PanelComponent],\r\n exports: [PanelComponent, TemplateModule],\r\n})\r\nexport class PanelModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seniorsistemas-angular-components-panel.mjs","sources":["../../projects/angular-components/panel/src/lib/panel/panel.component.ts","../../projects/angular-components/panel/src/lib/panel/panel.component.html","../../projects/angular-components/panel/src/lib/panel/panel.module.ts","../../projects/angular-components/panel/src/seniorsistemas-angular-components-panel.ts"],"sourcesContent":["import { animate, style, transition, trigger } from '@angular/animations';\r\nimport {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n QueryList,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport {\r\n BorderButtonOptions,\r\n EnumSeverity,\r\n Severities,\r\n BorderButtonComponent,\r\n} from '@seniorsistemas/angular-components/shared';\r\nimport { TemplateDirective } from '@seniorsistemas/angular-components/template';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n/**\r\n * @description Componente de painel com cabeçalho, corpo e rodapé customizáveis\r\n * via `TemplateDirective`. Suporta colapsar/expandir com animação, nível de\r\n * severidade para estilo visual e botão de borda configurável.\r\n *\r\n * @example\r\n * ```html\r\n * <s-panel header=\"Título\" [toggleable]=\"true\" severity=\"info\">\r\n * <p>Conteúdo</p>\r\n * </s-panel>\r\n * ```\r\n *\r\n * @category Data\r\n */\r\n@Component({\r\n selector: 's-panel',\r\n templateUrl: './panel.component.html',\r\n animations: [\r\n trigger('BorderButtonAnimation', [\r\n transition(':enter', [\r\n style({ transform: 'scaleY(0)', opacity: 0 }),\r\n animate('300ms ease', style({ transform: 'scaleY(1)', opacity: 1 })),\r\n ]),\r\n transition(':leave', [\r\n style({ transform: 'scaleY(1)', opacity: 1 }),\r\n animate('300ms ease', style({ transform: 'scaleY(0)', opacity: 0 })),\r\n ]),\r\n ]),\r\n ],\r\n standalone: true,\r\n imports: [NgClass, BorderButtonComponent, NgTemplateOutlet, TranslateModule],\r\n})\r\nexport class PanelComponent implements AfterContentInit {\r\n private static _idCounter = 0;\r\n\r\n /** @description ID único gerado automaticamente para associar o botão toggle ao corpo do painel via aria-controls. */\r\n public readonly panelBodyId = `panel-body-${++PanelComponent._idCounter}`;\r\n\r\n /** @description Nível do heading do cabeçalho para acessibilidade (aria-level). @default 3 */\r\n @Input()\r\n public ariaHeaderLevel: number = 3;\r\n\r\n /** @description Título exibido no cabeçalho do painel. */\r\n @Input()\r\n public header?: string;\r\n\r\n /** @description Descrição exibida no cabeçalho do painel. */\r\n @Input()\r\n public description?: string;\r\n\r\n /** @description Habilita o botão de toggle para colapsar/expandir o painel. @default false */\r\n @Input()\r\n public toggleable = false;\r\n\r\n /** @description Define o estado inicial do painel como colapsado. @default false */\r\n @Input()\r\n public collapsed = false;\r\n\r\n /** @description Nível de severidade que altera o estilo visual do painel. @default 'default' */\r\n @Input()\r\n public severity: Severities = 'default';\r\n\r\n /** @description Opções de configuração do botão de borda lateral do painel. */\r\n @Input()\r\n public borderButtonOptions?: BorderButtonOptions;\r\n\r\n /** @description Classes CSS adicionais aplicadas ao elemento raíz do painel. @default '' */\r\n @Input()\r\n public class: string = '';\r\n\r\n /** @description Emitido quando o estado de colapso muda, com o novo valor booleano. */\r\n @Output()\r\n public collapsedChange = new EventEmitter<boolean>();\r\n\r\n @ContentChildren(TemplateDirective)\r\n public templates: QueryList<TemplateDirective> | null = null;\r\n\r\n public headerTemplate: TemplateRef<unknown> | null = null;\r\n\r\n public bodyTemplate: TemplateRef<unknown> | null = null;\r\n\r\n public footerTemplate: TemplateRef<unknown> | null = null;\r\n\r\n readonly EnumSeverity = EnumSeverity;\r\n\r\n public ngAfterContentInit(): void {\r\n this._getTemplates();\r\n }\r\n\r\n public toggleCollapsed(): void {\r\n this.collapsed = !this.collapsed;\r\n this.collapsedChange.emit(this.collapsed);\r\n }\r\n\r\n private _getCustomTemplate(type: string) {\r\n return this.templates?.find((template: TemplateDirective) => template.type === type)?.template;\r\n }\r\n\r\n private _getHeaderTemplate(): TemplateRef<unknown> | null {\r\n return this._getCustomTemplate('header') ?? null;\r\n }\r\n\r\n private _getBodyTemplate(): TemplateRef<unknown> | null {\r\n return this._getCustomTemplate('body') ?? null;\r\n }\r\n\r\n private _getFooterTemplate(): TemplateRef<unknown> | null {\r\n return this._getCustomTemplate('footer') ?? null;\r\n }\r\n\r\n private _getTemplates(): void {\r\n this.headerTemplate = this._getHeaderTemplate();\r\n this.bodyTemplate = this._getBodyTemplate();\r\n this.footerTemplate = this._getFooterTemplate();\r\n }\r\n}\r\n","<div\n class=\"relative border border-[#dedce5] bg-grayscale-0 p-5 transition-colors duration-500 ease-in-out\"\n [class]=\"class\"\n [ngClass]=\"{\n 'border-criticality-green': severity === EnumSeverity.Success,\n 'border-criticality-blue': severity === EnumSeverity.Info,\n 'border-criticality-orange': severity === EnumSeverity.Warn,\n 'border-criticality-red': severity === EnumSeverity.Error,\n }\"\n>\n @if (borderButtonOptions && borderButtonOptions.visible?.(severity)) {\n <s-border-button\n [severity]=\"severity\"\n [options]=\"borderButtonOptions\"\n class=\"absolute -top-3 right-[15px] z-10\"\n [@BorderButtonAnimation]\n >\n </s-border-button>\n }\n\n @if (header || headerTemplate) {\n <div\n class=\"flex justify-between\"\n [ngClass]=\"{ 'mb-3 border-b border-b-[#dedce5] pb-3': !collapsed }\"\n >\n <div class=\"grow\">\n @if (headerTemplate) {\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n } @else {\n <div class=\"flex flex-col gap-3\">\n <span\n class=\"uppercase\"\n role=\"heading\"\n [attr.aria-level]=\"ariaHeaderLevel\"\n >{{ header }}</span\n >\n @if (description) {\n <span class=\"text-sm text-grayscale-60\">{{ description }}</span>\n }\n </div>\n }\n </div>\n\n @if (toggleable) {\n <button\n type=\"button\"\n class=\"fas h-6 w-6 cursor-pointer border-none bg-transparent text-[#212533]\"\n [ngClass]=\"{\n 'fa-plus': collapsed,\n 'fa-minus': !collapsed,\n }\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"collapsed ? null : panelBodyId\"\n [attr.aria-label]=\"'platform.angular_components.panel_toggle' | translate: { header: header || '' }\"\n (click)=\"toggleCollapsed()\"\n ></button>\n }\n </div>\n }\n\n @if (!toggleable || !collapsed) {\n <div [id]=\"panelBodyId\">\n <div [class.pb-3]=\"footerTemplate\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n </div>\n\n @if (footerTemplate) {\n <div class=\"border-t border-t-[#dedce5] pt-3\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n }\n </div>\n }\n</div>\n\n","import { NgModule } from '@angular/core';\r\n\r\nimport { PanelComponent } from './panel.component';\r\nimport { TemplateModule } from '@seniorsistemas/angular-components/template';\r\n\r\n/**\r\n * @deprecated Será removido na v20. Importe diretamente o standalone `PanelComponent` (de\r\n * `@seniorsistemas/angular-components/panel`) no lugar deste módulo.\r\n *\r\n * Este módulo também reexportava `TemplateDirective` (`@seniorsistemas/angular-components/template`, usado em\r\n * templates por `[sTemplate]`). Se o seu template usa algum deles, importe-o diretamente.\r\n *\r\n * Migração automática (também executada pelo `ng update` na v20):\r\n * `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`\r\n */\r\n@NgModule({\r\n imports: [PanelComponent],\r\n exports: [PanelComponent, TemplateModule],\r\n})\r\nexport class PanelModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -365,6 +365,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
365
365
|
args: ['blur']
|
|
366
366
|
}] } });
|
|
367
367
|
|
|
368
|
+
/**
|
|
369
|
+
* @deprecated Será removido na v20. Importe diretamente o standalone `PasswordStrengthDirective` (de
|
|
370
|
+
* `@seniorsistemas/angular-components/password-strength`) no lugar deste módulo.
|
|
371
|
+
*
|
|
372
|
+
* Migração automática (também executada pelo `ng update` na v20):
|
|
373
|
+
* `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`
|
|
374
|
+
*/
|
|
368
375
|
class PasswordStrengthModule {
|
|
369
376
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordStrengthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
370
377
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: PasswordStrengthModule, imports: [PasswordStrengthDirective], exports: [PasswordStrengthDirective] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components-password-strength.mjs","sources":["../../projects/angular-components/password-strength/src/lib/password-strength/password-strength.component.ts","../../projects/angular-components/password-strength/src/lib/password-strength/password-strength.component.html","../../projects/angular-components/password-strength/src/lib/password-strength/password-strength.directive.ts","../../projects/angular-components/password-strength/src/lib/password-strength/password-strength.module.ts","../../projects/angular-components/password-strength/src/seniorsistemas-angular-components-password-strength.ts"],"sourcesContent":["import { Component, Input, OnInit, inject } from '@angular/core';\r\n\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nimport { PasswordStrengthPositions } from './types/password-positions';\r\nimport { PasswordStrengths } from './types/password-strengths';\r\nimport { NgStyle, NgClass } from '@angular/common';\r\n\r\n/**\r\n * @description Componente interno que exibe visualmente os indicadores de força de senha.\r\n * Utilizado em conjunto com a diretiva {@link PasswordStrengthDirective} para fornecer\r\n * feedback em tempo real enquanto o usuário digita, mostrando três níveis de força\r\n * (fraca, média e forte) com títulos e indicadores visuais configuráveis.\r\n *\r\n * @category Inputs\r\n */\r\n@Component({\r\n templateUrl: './password-strength.component.html',\r\n styleUrls: ['./password-strength.component.scss'],\r\n standalone: true,\r\n imports: [NgStyle, NgClass],\r\n})\r\nexport class PasswordStrengthComponent implements OnInit {\r\n private readonly translate = inject(TranslateService);\r\n\r\n /**\r\n * @description Texto personalizado exibido quando a senha é classificada como fraca.\r\n * Se não informado, utiliza a tradução padrão do token `platform.angular_components.weak`.\r\n */\r\n @Input()\r\n public weakTitle?: string;\r\n\r\n /**\r\n * @description Texto personalizado exibido quando a senha é classificada como média.\r\n * Se não informado, utiliza a tradução padrão do token `platform.angular_components.medium`.\r\n */\r\n @Input()\r\n public mediumTitle?: string;\r\n\r\n /**\r\n * @description Texto personalizado exibido quando a senha é classificada como forte.\r\n * Se não informado, utiliza a tradução padrão do token `platform.angular_components.strong`.\r\n */\r\n @Input()\r\n public strongTitle?: string;\r\n\r\n /**\r\n * @description Descrição complementar exibida abaixo dos indicadores de força,\r\n * orientando o usuário sobre os requisitos esperados para a senha. Campo obrigatório.\r\n */\r\n @Input({ required: true })\r\n public description!: string;\r\n\r\n public title?: string;\r\n public position: PasswordStrengthPositions = 'right';\r\n public left = 0;\r\n public top = 0;\r\n public visible = false;\r\n\r\n public ngOnInit(): void {\r\n this.title = this.weakTitle;\r\n }\r\n\r\n public setPasswordStrengthPosition() {\r\n const passwordStrength = document.querySelector('.password-strength');\r\n\r\n if (!passwordStrength) {\r\n return;\r\n }\r\n\r\n switch (this.position) {\r\n case 'top':\r\n passwordStrength.classList.add('password-strength--top');\r\n break;\r\n case 'right':\r\n passwordStrength.classList.add('password-strength--right');\r\n break;\r\n case 'left':\r\n passwordStrength.classList.add('password-strength--left');\r\n break;\r\n }\r\n }\r\n\r\n public updateIndicators(passwordStrength: PasswordStrengths) {\r\n const strengthIndicator1 = document.querySelector('#strength-indicator-1');\r\n const strengthIndicator2 = document.querySelector('#strength-indicator-2');\r\n const strengthIndicator3 = document.querySelector('#strength-indicator-3');\r\n\r\n const onIndicators = [];\r\n const indicators = [strengthIndicator1, strengthIndicator2, strengthIndicator3];\r\n\r\n let strengthClass: string;\r\n\r\n switch (passwordStrength) {\r\n case 'veryWeak':\r\n this.title = this.weakTitle ?? this.translate.instant('platform.angular_components.weak');\r\n break;\r\n case 'weak':\r\n this.title = this.weakTitle ?? this.translate.instant('platform.angular_components.weak');\r\n strengthClass = 'strength-indicator--weak';\r\n onIndicators.push(strengthIndicator1);\r\n break;\r\n case 'medium':\r\n this.title = this.mediumTitle ?? this.translate.instant('platform.angular_components.medium');\r\n strengthClass = 'strength-indicator--medium';\r\n onIndicators.push(strengthIndicator1);\r\n onIndicators.push(strengthIndicator2);\r\n break;\r\n case 'strong':\r\n this.title = this.strongTitle ?? this.translate.instant('platform.angular_components.strong');\r\n strengthClass = 'strength-indicator--strong';\r\n onIndicators.push(strengthIndicator1);\r\n onIndicators.push(strengthIndicator2);\r\n onIndicators.push(strengthIndicator3);\r\n break;\r\n }\r\n\r\n indicators.forEach((indicator) => {\r\n indicator?.classList.remove(\r\n 'strength-indicator--weak',\r\n 'strength-indicator--medium',\r\n 'strength-indicator--strong',\r\n );\r\n });\r\n\r\n onIndicators.forEach((indicator) => {\r\n indicator?.classList.add(strengthClass);\r\n });\r\n }\r\n}\r\n","<div\n class=\"password-strength\"\n [ngStyle]=\"{\n left: left + 'px',\n top: top + 'px',\n }\"\n [ngClass]=\"['password-strength--' + position]\"\n>\n <span class=\"password-strength-title\">{{ title }}</span>\n <div class=\"strength-indicators\">\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-1\"\n ></span>\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-2\"\n ></span>\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-3\"\n ></span>\n </div>\n <span class=\"content\">{{ description }}</span>\n</div>\n","import {\r\n ApplicationRef,\r\n // NOSONAR - 'ComponentFactoryResolver' is deprecated.\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n EmbeddedViewRef,\r\n HostListener,\r\n Injector,\r\n Input,\r\n OnInit,\r\n inject,\r\n} from '@angular/core';\r\nimport { isNullOrUndefined } from '@seniorsistemas/angular-components/utils';\r\n\r\nimport { PasswordStrengthComponent } from './password-strength.component';\r\nimport { PasswordStrengthPositions } from './types/password-positions';\r\nimport { PasswordStrengths } from './types/password-strengths';\r\n\r\n/**\r\n * @description Diretiva que adiciona o comportamento de verificação de força de senha\r\n * a um campo de input existente. Ao receber foco ou a cada tecla digitada, exibe o\r\n * componente {@link PasswordStrengthComponent} posicionado dinamicamente ao redor do campo,\r\n * fornecendo feedback visual sobre a força da senha informada.\r\n *\r\n * @example\r\n * ```html\r\n * <input\r\n * type=\"password\"\r\n * [sPasswordStrength]=\"true\"\r\n * passwordStrengthDescription=\"A senha deve conter letras maiúsculas, números e caracteres especiais.\"\r\n * [passwordStrengthValidation]=\"myValidator\" />\r\n * ```\r\n *\r\n * @category Inputs\r\n */\r\n@Directive({\r\n selector: '[sPasswordStrength]',\r\n standalone: true,\r\n})\r\nexport class PasswordStrengthDirective implements OnInit {\r\n private readonly elementRef = inject(ElementRef);\r\n private readonly appRef = inject(ApplicationRef);\r\n private readonly componentFactoryResolver = inject(ComponentFactoryResolver);\r\n private readonly injector = inject(Injector);\r\n\r\n /**\r\n * @description Habilita ou desabilita o comportamento da diretiva.\r\n * Quando `false`, o indicador de força não será exibido.\r\n *\r\n * @default true\r\n */\r\n @Input('sPasswordStrength')\r\n public enabled = true;\r\n\r\n /**\r\n * @description Função customizada de validação da força da senha.\r\n * Recebe o conteúdo atual do campo e deve retornar um valor do tipo {@link PasswordStrengths}\r\n * (`'veryWeak'`, `'weak'`, `'medium'` ou `'strong'`).\r\n * Se não informada, utiliza a validação padrão baseada em critérios de comprimento,\r\n * letras maiúsculas/minúsculas, números e caracteres especiais.\r\n */\r\n @Input()\r\n public passwordStrengthValidation?: (content: string) => PasswordStrengths;\r\n\r\n /**\r\n * @description Posição preferencial onde o indicador de força será exibido em relação ao campo.\r\n * Aceita `'right'`, `'left'` ou `'top'`. O componente tenta posicionar automaticamente\r\n * em outro lado caso não haja espaço suficiente na posição especificada.\r\n *\r\n * @default 'right'\r\n */\r\n @Input()\r\n public passwordStrengthPosition: PasswordStrengthPositions = 'right';\r\n\r\n /**\r\n * @description Texto personalizado exibido quando a senha é classificada como fraca.\r\n * Se não informado, utiliza a tradução padrão.\r\n */\r\n @Input()\r\n public passwordStrengthWeakTitle?: string;\r\n\r\n /**\r\n * @description Texto personalizado exibido quando a senha é classificada como média.\r\n * Se não informado, utiliza a tradução padrão.\r\n */\r\n @Input()\r\n public passwordStrengthMediumTitle?: string;\r\n\r\n /**\r\n * @description Texto personalizado exibido quando a senha é classificada como forte.\r\n * Se não informado, utiliza a tradução padrão.\r\n */\r\n @Input()\r\n public passwordStrengthStrongTitle?: string;\r\n\r\n /**\r\n * @description Descrição complementar exibida no indicador de força de senha,\r\n * orientando o usuário sobre os requisitos da senha. Campo obrigatório.\r\n */\r\n @Input({ required: true })\r\n public passwordStrengthDescription!: string;\r\n\r\n private componentRef?: null | ComponentRef<PasswordStrengthComponent>;\r\n\r\n public ngOnInit() {\r\n this.validateProperties();\r\n }\r\n\r\n @HostListener('keyup')\r\n @HostListener('focus')\r\n public onFocus(): void {\r\n const content = this.elementRef.nativeElement.value ?? '';\r\n\r\n this.createPasswordStrength();\r\n const component = this.componentRef?.instance;\r\n if (!component) {\r\n return;\r\n }\r\n if (content) {\r\n if (this.passwordStrengthValidation) {\r\n component.updateIndicators(this.passwordStrengthValidation(content));\r\n }\r\n } else {\r\n component.updateIndicators('veryWeak');\r\n }\r\n }\r\n\r\n @HostListener('blur')\r\n public onBlur(): void {\r\n this.destroyPasswordStrength();\r\n }\r\n\r\n private createPasswordStrength() {\r\n if (this.enabled && isNullOrUndefined(this.componentRef)) {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(PasswordStrengthComponent);\r\n this.componentRef = componentFactory.create(this.injector);\r\n this.appRef.attachView(this.componentRef.hostView);\r\n const domElem = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n this.setPasswordStrengthComponentProperties();\r\n this.showPasswordStrength();\r\n }\r\n }\r\n\r\n private showPasswordStrength() {\r\n if (this.componentRef) {\r\n this.componentRef.instance.visible = true;\r\n }\r\n }\r\n\r\n // NOSONAR - Refactor this function to reduce its Cognitive Complexity from 16 to the 15 allowed.\r\n private setPasswordStrengthComponentProperties() {\r\n if (isNullOrUndefined(this.componentRef)) {\r\n return;\r\n }\r\n\r\n this.componentRef.instance.position = this.passwordStrengthPosition;\r\n this.componentRef.instance.weakTitle = this.passwordStrengthWeakTitle;\r\n this.componentRef.instance.mediumTitle = this.passwordStrengthMediumTitle;\r\n this.componentRef.instance.strongTitle = this.passwordStrengthStrongTitle;\r\n this.componentRef.instance.description = this.passwordStrengthDescription;\r\n\r\n const { top, right, bottom, left } = this.elementRef.nativeElement.getBoundingClientRect();\r\n\r\n const margin = 20;\r\n const elementRefHeight = bottom - top;\r\n const elementRefWidth = right - left;\r\n const safeSpace = 150;\r\n\r\n let positioned = false;\r\n const invalidOptions: PasswordStrengthPositions[] = [];\r\n\r\n while (!positioned) {\r\n if (invalidOptions.includes('top') && invalidOptions.includes('right') && invalidOptions.includes('left')) {\r\n this.destroyPasswordStrength();\r\n throw new Error('No space to show password strength');\r\n }\r\n\r\n switch (this.passwordStrengthPosition) {\r\n case 'top': {\r\n const topShift = top;\r\n const rightShift = document.body.clientWidth - right;\r\n const leftShift = left;\r\n\r\n const MIN_HORIZONTAL_SAFE_SPACE = 50;\r\n\r\n if (\r\n topShift <= elementRefHeight + safeSpace ||\r\n rightShift < MIN_HORIZONTAL_SAFE_SPACE ||\r\n leftShift < MIN_HORIZONTAL_SAFE_SPACE\r\n ) {\r\n this.passwordStrengthPosition = 'right';\r\n invalidOptions.push('top');\r\n break;\r\n }\r\n\r\n this.componentRef.instance.top = Math.round(top - margin);\r\n this.componentRef.instance.left = Math.round(elementRefWidth / 2 + left);\r\n positioned = true;\r\n break;\r\n }\r\n case 'right': {\r\n const rightShift = document.body.clientWidth - right;\r\n\r\n if (rightShift <= elementRefWidth + safeSpace) {\r\n this.passwordStrengthPosition = 'left';\r\n invalidOptions.push('right');\r\n break;\r\n }\r\n\r\n this.componentRef.instance.top = Math.round(top + elementRefHeight / 2);\r\n this.componentRef.instance.left = Math.round(right + margin);\r\n positioned = true;\r\n break;\r\n }\r\n case 'left': {\r\n const leftShift = left;\r\n\r\n if (leftShift <= elementRefWidth + safeSpace) {\r\n this.passwordStrengthPosition = 'top';\r\n invalidOptions.push('left');\r\n break;\r\n }\r\n\r\n this.componentRef.instance.top = Math.round(top + elementRefHeight / 2);\r\n this.componentRef.instance.left = Math.round(left - margin);\r\n positioned = true;\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n\r\n this.componentRef.instance.position = this.passwordStrengthPosition;\r\n }\r\n }\r\n\r\n private validateProperties() {\r\n this.passwordStrengthValidation = this.passwordStrengthValidation || this.defaultValidator;\r\n }\r\n\r\n private destroyPasswordStrength(): void {\r\n if (this.componentRef) {\r\n this.appRef.detachView(this.componentRef.hostView);\r\n this.componentRef.destroy();\r\n this.componentRef = null;\r\n }\r\n }\r\n\r\n private defaultValidator(content: string): PasswordStrengths {\r\n let points = 0;\r\n const PASSWORD_MIN_LENGTH = 6;\r\n const WEEK_CRITERIA = 1;\r\n const MEDIUM_CRITERIA = 4;\r\n const STRONG_CRITERIA = 5;\r\n\r\n const regExpValidations = [\r\n /(?=.*\\d)/, // number\r\n /(?=.*[a-z])/, // lowercase\r\n /(?=.*[A-Z])/, // uppercase\r\n /(?=.*[!@#$%&*.\\\\=+^~-])/, // special character\r\n ];\r\n\r\n if (content.length >= PASSWORD_MIN_LENGTH) {\r\n points++;\r\n }\r\n\r\n regExpValidations.forEach((validation) => {\r\n if (validation.test(content)) {\r\n points++;\r\n }\r\n });\r\n\r\n if (points < WEEK_CRITERIA) {\r\n return 'veryWeak';\r\n }\r\n if (points < MEDIUM_CRITERIA) {\r\n return 'weak';\r\n }\r\n if (points < STRONG_CRITERIA) {\r\n return 'medium';\r\n }\r\n return 'strong';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { PasswordStrengthDirective } from './password-strength.directive';\r\n\r\n@NgModule({\r\n imports: [PasswordStrengthDirective],\r\n exports: [PasswordStrengthDirective],\r\n})\r\nexport class PasswordStrengthModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seniorsistemas-angular-components-password-strength.mjs","sources":["../../projects/angular-components/password-strength/src/lib/password-strength/password-strength.component.ts","../../projects/angular-components/password-strength/src/lib/password-strength/password-strength.component.html","../../projects/angular-components/password-strength/src/lib/password-strength/password-strength.directive.ts","../../projects/angular-components/password-strength/src/lib/password-strength/password-strength.module.ts","../../projects/angular-components/password-strength/src/seniorsistemas-angular-components-password-strength.ts"],"sourcesContent":["import { Component, Input, OnInit, inject } from '@angular/core';\r\n\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nimport { PasswordStrengthPositions } from './types/password-positions';\r\nimport { PasswordStrengths } from './types/password-strengths';\r\nimport { NgStyle, NgClass } from '@angular/common';\r\n\r\n/**\r\n * @description Componente interno que exibe visualmente os indicadores de força de senha.\r\n * Utilizado em conjunto com a diretiva {@link PasswordStrengthDirective} para fornecer\r\n * feedback em tempo real enquanto o usuário digita, mostrando três níveis de força\r\n * (fraca, média e forte) com títulos e indicadores visuais configuráveis.\r\n *\r\n * @category Inputs\r\n */\r\n@Component({\r\n templateUrl: './password-strength.component.html',\r\n styleUrls: ['./password-strength.component.scss'],\r\n standalone: true,\r\n imports: [NgStyle, NgClass],\r\n})\r\nexport class PasswordStrengthComponent implements OnInit {\r\n private readonly translate = inject(TranslateService);\r\n\r\n /**\r\n * @description Texto personalizado exibido quando a senha é classificada como fraca.\r\n * Se não informado, utiliza a tradução padrão do token `platform.angular_components.weak`.\r\n */\r\n @Input()\r\n public weakTitle?: string;\r\n\r\n /**\r\n * @description Texto personalizado exibido quando a senha é classificada como média.\r\n * Se não informado, utiliza a tradução padrão do token `platform.angular_components.medium`.\r\n */\r\n @Input()\r\n public mediumTitle?: string;\r\n\r\n /**\r\n * @description Texto personalizado exibido quando a senha é classificada como forte.\r\n * Se não informado, utiliza a tradução padrão do token `platform.angular_components.strong`.\r\n */\r\n @Input()\r\n public strongTitle?: string;\r\n\r\n /**\r\n * @description Descrição complementar exibida abaixo dos indicadores de força,\r\n * orientando o usuário sobre os requisitos esperados para a senha. Campo obrigatório.\r\n */\r\n @Input({ required: true })\r\n public description!: string;\r\n\r\n public title?: string;\r\n public position: PasswordStrengthPositions = 'right';\r\n public left = 0;\r\n public top = 0;\r\n public visible = false;\r\n\r\n public ngOnInit(): void {\r\n this.title = this.weakTitle;\r\n }\r\n\r\n public setPasswordStrengthPosition() {\r\n const passwordStrength = document.querySelector('.password-strength');\r\n\r\n if (!passwordStrength) {\r\n return;\r\n }\r\n\r\n switch (this.position) {\r\n case 'top':\r\n passwordStrength.classList.add('password-strength--top');\r\n break;\r\n case 'right':\r\n passwordStrength.classList.add('password-strength--right');\r\n break;\r\n case 'left':\r\n passwordStrength.classList.add('password-strength--left');\r\n break;\r\n }\r\n }\r\n\r\n public updateIndicators(passwordStrength: PasswordStrengths) {\r\n const strengthIndicator1 = document.querySelector('#strength-indicator-1');\r\n const strengthIndicator2 = document.querySelector('#strength-indicator-2');\r\n const strengthIndicator3 = document.querySelector('#strength-indicator-3');\r\n\r\n const onIndicators = [];\r\n const indicators = [strengthIndicator1, strengthIndicator2, strengthIndicator3];\r\n\r\n let strengthClass: string;\r\n\r\n switch (passwordStrength) {\r\n case 'veryWeak':\r\n this.title = this.weakTitle ?? this.translate.instant('platform.angular_components.weak');\r\n break;\r\n case 'weak':\r\n this.title = this.weakTitle ?? this.translate.instant('platform.angular_components.weak');\r\n strengthClass = 'strength-indicator--weak';\r\n onIndicators.push(strengthIndicator1);\r\n break;\r\n case 'medium':\r\n this.title = this.mediumTitle ?? this.translate.instant('platform.angular_components.medium');\r\n strengthClass = 'strength-indicator--medium';\r\n onIndicators.push(strengthIndicator1);\r\n onIndicators.push(strengthIndicator2);\r\n break;\r\n case 'strong':\r\n this.title = this.strongTitle ?? this.translate.instant('platform.angular_components.strong');\r\n strengthClass = 'strength-indicator--strong';\r\n onIndicators.push(strengthIndicator1);\r\n onIndicators.push(strengthIndicator2);\r\n onIndicators.push(strengthIndicator3);\r\n break;\r\n }\r\n\r\n indicators.forEach((indicator) => {\r\n indicator?.classList.remove(\r\n 'strength-indicator--weak',\r\n 'strength-indicator--medium',\r\n 'strength-indicator--strong',\r\n );\r\n });\r\n\r\n onIndicators.forEach((indicator) => {\r\n indicator?.classList.add(strengthClass);\r\n });\r\n }\r\n}\r\n","<div\n class=\"password-strength\"\n [ngStyle]=\"{\n left: left + 'px',\n top: top + 'px',\n }\"\n [ngClass]=\"['password-strength--' + position]\"\n>\n <span class=\"password-strength-title\">{{ title }}</span>\n <div class=\"strength-indicators\">\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-1\"\n ></span>\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-2\"\n ></span>\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-3\"\n ></span>\n </div>\n <span class=\"content\">{{ description }}</span>\n</div>\n","import {\r\n ApplicationRef,\r\n // NOSONAR - 'ComponentFactoryResolver' is deprecated.\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n EmbeddedViewRef,\r\n HostListener,\r\n Injector,\r\n Input,\r\n OnInit,\r\n inject,\r\n} from '@angular/core';\r\nimport { isNullOrUndefined } from '@seniorsistemas/angular-components/utils';\r\n\r\nimport { PasswordStrengthComponent } from './password-strength.component';\r\nimport { PasswordStrengthPositions } from './types/password-positions';\r\nimport { PasswordStrengths } from './types/password-strengths';\r\n\r\n/**\r\n * @description Diretiva que adiciona o comportamento de verificação de força de senha\r\n * a um campo de input existente. Ao receber foco ou a cada tecla digitada, exibe o\r\n * componente {@link PasswordStrengthComponent} posicionado dinamicamente ao redor do campo,\r\n * fornecendo feedback visual sobre a força da senha informada.\r\n *\r\n * @example\r\n * ```html\r\n * <input\r\n * type=\"password\"\r\n * [sPasswordStrength]=\"true\"\r\n * passwordStrengthDescription=\"A senha deve conter letras maiúsculas, números e caracteres especiais.\"\r\n * [passwordStrengthValidation]=\"myValidator\" />\r\n * ```\r\n *\r\n * @category Inputs\r\n */\r\n@Directive({\r\n selector: '[sPasswordStrength]',\r\n standalone: true,\r\n})\r\nexport class PasswordStrengthDirective implements OnInit {\r\n private readonly elementRef = inject(ElementRef);\r\n private readonly appRef = inject(ApplicationRef);\r\n private readonly componentFactoryResolver = inject(ComponentFactoryResolver);\r\n private readonly injector = inject(Injector);\r\n\r\n /**\r\n * @description Habilita ou desabilita o comportamento da diretiva.\r\n * Quando `false`, o indicador de força não será exibido.\r\n *\r\n * @default true\r\n */\r\n @Input('sPasswordStrength')\r\n public enabled = true;\r\n\r\n /**\r\n * @description Função customizada de validação da força da senha.\r\n * Recebe o conteúdo atual do campo e deve retornar um valor do tipo {@link PasswordStrengths}\r\n * (`'veryWeak'`, `'weak'`, `'medium'` ou `'strong'`).\r\n * Se não informada, utiliza a validação padrão baseada em critérios de comprimento,\r\n * letras maiúsculas/minúsculas, números e caracteres especiais.\r\n */\r\n @Input()\r\n public passwordStrengthValidation?: (content: string) => PasswordStrengths;\r\n\r\n /**\r\n * @description Posição preferencial onde o indicador de força será exibido em relação ao campo.\r\n * Aceita `'right'`, `'left'` ou `'top'`. O componente tenta posicionar automaticamente\r\n * em outro lado caso não haja espaço suficiente na posição especificada.\r\n *\r\n * @default 'right'\r\n */\r\n @Input()\r\n public passwordStrengthPosition: PasswordStrengthPositions = 'right';\r\n\r\n /**\r\n * @description Texto personalizado exibido quando a senha é classificada como fraca.\r\n * Se não informado, utiliza a tradução padrão.\r\n */\r\n @Input()\r\n public passwordStrengthWeakTitle?: string;\r\n\r\n /**\r\n * @description Texto personalizado exibido quando a senha é classificada como média.\r\n * Se não informado, utiliza a tradução padrão.\r\n */\r\n @Input()\r\n public passwordStrengthMediumTitle?: string;\r\n\r\n /**\r\n * @description Texto personalizado exibido quando a senha é classificada como forte.\r\n * Se não informado, utiliza a tradução padrão.\r\n */\r\n @Input()\r\n public passwordStrengthStrongTitle?: string;\r\n\r\n /**\r\n * @description Descrição complementar exibida no indicador de força de senha,\r\n * orientando o usuário sobre os requisitos da senha. Campo obrigatório.\r\n */\r\n @Input({ required: true })\r\n public passwordStrengthDescription!: string;\r\n\r\n private componentRef?: null | ComponentRef<PasswordStrengthComponent>;\r\n\r\n public ngOnInit() {\r\n this.validateProperties();\r\n }\r\n\r\n @HostListener('keyup')\r\n @HostListener('focus')\r\n public onFocus(): void {\r\n const content = this.elementRef.nativeElement.value ?? '';\r\n\r\n this.createPasswordStrength();\r\n const component = this.componentRef?.instance;\r\n if (!component) {\r\n return;\r\n }\r\n if (content) {\r\n if (this.passwordStrengthValidation) {\r\n component.updateIndicators(this.passwordStrengthValidation(content));\r\n }\r\n } else {\r\n component.updateIndicators('veryWeak');\r\n }\r\n }\r\n\r\n @HostListener('blur')\r\n public onBlur(): void {\r\n this.destroyPasswordStrength();\r\n }\r\n\r\n private createPasswordStrength() {\r\n if (this.enabled && isNullOrUndefined(this.componentRef)) {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(PasswordStrengthComponent);\r\n this.componentRef = componentFactory.create(this.injector);\r\n this.appRef.attachView(this.componentRef.hostView);\r\n const domElem = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n this.setPasswordStrengthComponentProperties();\r\n this.showPasswordStrength();\r\n }\r\n }\r\n\r\n private showPasswordStrength() {\r\n if (this.componentRef) {\r\n this.componentRef.instance.visible = true;\r\n }\r\n }\r\n\r\n // NOSONAR - Refactor this function to reduce its Cognitive Complexity from 16 to the 15 allowed.\r\n private setPasswordStrengthComponentProperties() {\r\n if (isNullOrUndefined(this.componentRef)) {\r\n return;\r\n }\r\n\r\n this.componentRef.instance.position = this.passwordStrengthPosition;\r\n this.componentRef.instance.weakTitle = this.passwordStrengthWeakTitle;\r\n this.componentRef.instance.mediumTitle = this.passwordStrengthMediumTitle;\r\n this.componentRef.instance.strongTitle = this.passwordStrengthStrongTitle;\r\n this.componentRef.instance.description = this.passwordStrengthDescription;\r\n\r\n const { top, right, bottom, left } = this.elementRef.nativeElement.getBoundingClientRect();\r\n\r\n const margin = 20;\r\n const elementRefHeight = bottom - top;\r\n const elementRefWidth = right - left;\r\n const safeSpace = 150;\r\n\r\n let positioned = false;\r\n const invalidOptions: PasswordStrengthPositions[] = [];\r\n\r\n while (!positioned) {\r\n if (invalidOptions.includes('top') && invalidOptions.includes('right') && invalidOptions.includes('left')) {\r\n this.destroyPasswordStrength();\r\n throw new Error('No space to show password strength');\r\n }\r\n\r\n switch (this.passwordStrengthPosition) {\r\n case 'top': {\r\n const topShift = top;\r\n const rightShift = document.body.clientWidth - right;\r\n const leftShift = left;\r\n\r\n const MIN_HORIZONTAL_SAFE_SPACE = 50;\r\n\r\n if (\r\n topShift <= elementRefHeight + safeSpace ||\r\n rightShift < MIN_HORIZONTAL_SAFE_SPACE ||\r\n leftShift < MIN_HORIZONTAL_SAFE_SPACE\r\n ) {\r\n this.passwordStrengthPosition = 'right';\r\n invalidOptions.push('top');\r\n break;\r\n }\r\n\r\n this.componentRef.instance.top = Math.round(top - margin);\r\n this.componentRef.instance.left = Math.round(elementRefWidth / 2 + left);\r\n positioned = true;\r\n break;\r\n }\r\n case 'right': {\r\n const rightShift = document.body.clientWidth - right;\r\n\r\n if (rightShift <= elementRefWidth + safeSpace) {\r\n this.passwordStrengthPosition = 'left';\r\n invalidOptions.push('right');\r\n break;\r\n }\r\n\r\n this.componentRef.instance.top = Math.round(top + elementRefHeight / 2);\r\n this.componentRef.instance.left = Math.round(right + margin);\r\n positioned = true;\r\n break;\r\n }\r\n case 'left': {\r\n const leftShift = left;\r\n\r\n if (leftShift <= elementRefWidth + safeSpace) {\r\n this.passwordStrengthPosition = 'top';\r\n invalidOptions.push('left');\r\n break;\r\n }\r\n\r\n this.componentRef.instance.top = Math.round(top + elementRefHeight / 2);\r\n this.componentRef.instance.left = Math.round(left - margin);\r\n positioned = true;\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n\r\n this.componentRef.instance.position = this.passwordStrengthPosition;\r\n }\r\n }\r\n\r\n private validateProperties() {\r\n this.passwordStrengthValidation = this.passwordStrengthValidation || this.defaultValidator;\r\n }\r\n\r\n private destroyPasswordStrength(): void {\r\n if (this.componentRef) {\r\n this.appRef.detachView(this.componentRef.hostView);\r\n this.componentRef.destroy();\r\n this.componentRef = null;\r\n }\r\n }\r\n\r\n private defaultValidator(content: string): PasswordStrengths {\r\n let points = 0;\r\n const PASSWORD_MIN_LENGTH = 6;\r\n const WEEK_CRITERIA = 1;\r\n const MEDIUM_CRITERIA = 4;\r\n const STRONG_CRITERIA = 5;\r\n\r\n const regExpValidations = [\r\n /(?=.*\\d)/, // number\r\n /(?=.*[a-z])/, // lowercase\r\n /(?=.*[A-Z])/, // uppercase\r\n /(?=.*[!@#$%&*.\\\\=+^~-])/, // special character\r\n ];\r\n\r\n if (content.length >= PASSWORD_MIN_LENGTH) {\r\n points++;\r\n }\r\n\r\n regExpValidations.forEach((validation) => {\r\n if (validation.test(content)) {\r\n points++;\r\n }\r\n });\r\n\r\n if (points < WEEK_CRITERIA) {\r\n return 'veryWeak';\r\n }\r\n if (points < MEDIUM_CRITERIA) {\r\n return 'weak';\r\n }\r\n if (points < STRONG_CRITERIA) {\r\n return 'medium';\r\n }\r\n return 'strong';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { PasswordStrengthDirective } from './password-strength.directive';\r\n\r\n/**\r\n * @deprecated Será removido na v20. Importe diretamente o standalone `PasswordStrengthDirective` (de\r\n * `@seniorsistemas/angular-components/password-strength`) no lugar deste módulo.\r\n *\r\n * Migração automática (também executada pelo `ng update` na v20):\r\n * `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`\r\n */\r\n@NgModule({\r\n imports: [PasswordStrengthDirective],\r\n exports: [PasswordStrengthDirective],\r\n})\r\nexport class PasswordStrengthModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -684,6 +684,13 @@ const parseItensPickList = (array, disabledFn, idKey) => {
|
|
|
684
684
|
});
|
|
685
685
|
};
|
|
686
686
|
|
|
687
|
+
/**
|
|
688
|
+
* @deprecated Será removido na v20. Importe diretamente o standalone `PicklistComponent` (de
|
|
689
|
+
* `@seniorsistemas/angular-components/picklist`) no lugar deste módulo.
|
|
690
|
+
*
|
|
691
|
+
* Migração automática (também executada pelo `ng update` na v20):
|
|
692
|
+
* `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`
|
|
693
|
+
*/
|
|
687
694
|
class PicklistModule {
|
|
688
695
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PicklistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
689
696
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: PicklistModule, imports: [PicklistComponent], exports: [PicklistComponent] });
|