@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-inline-edit.mjs","sources":["../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-calendar-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-lookup-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-number-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-text-area-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-text-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-content-generator-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.module.ts","../../projects/angular-components/inline-edit/src/seniorsistemas-angular-components-inline-edit.ts"],"sourcesContent":["type errorMessageFn = () => {};\nexport interface InlineEditFieldOptions {\n label: string;\n name: string;\n tooltip?: string;\n errorMessages?: errorMessageFn | {};\n}\n\nexport abstract class InlineEditField {\n public label: string;\n public name: string;\n public tooltip?: string;\n public errorMessages?: errorMessageFn | {};\n\n constructor(options: InlineEditFieldOptions) {\n this.label = options.label;\n this.name = options.name;\n this.tooltip = options.tooltip;\n this.errorMessages = options.errorMessages;\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditCalendarFieldOptions extends InlineEditFieldOptions {\n view?: 'date' | 'month' | 'year';\n minDate?: Date;\n maxDate?: Date;\n defaultDate?: Date;\n appendTo?: string;\n showOnFocus?: boolean;\n onBlur?: (event: Event) => void;\n onFocus?: (event: Event) => void;\n onSelect?: (event: any) => void;\n onInput?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n selectionMode?: 'single' | 'multiple';\n rangeSeparator?: string;\n showSeconds?: boolean;\n placeholder?: string;\n}\n\nexport class InlineEditCalendarField extends InlineEditField implements InlineEditCalendarFieldOptions {\n public view?: 'date' | 'month' | 'year';\n public appendTo?: string;\n public minDate?: Date;\n public maxDate?: Date;\n public defaultDate?: Date;\n public showOnFocus?: boolean;\n public onBlur?: (event: Event) => void;\n public onFocus?: (event: Event) => void;\n public onSelect?: (event: any) => void;\n public onInput?: (event: any) => void;\n public onClose?: (event: any) => void;\n public onTodayClick?: (event: any) => void;\n public onClearClick?: (event: any) => void;\n public onMonthChange?: (event: any) => void;\n public onYearChange?: (event: any) => void;\n public selectionMode?: 'single' | 'multiple';\n public rangeSeparator?: string;\n public showSeconds?: boolean;\n public placeholder?: string;\n\n constructor(options: InlineEditCalendarFieldOptions) {\n super(options);\n\n this.view = options.view || \"date\";\n this.minDate = options.minDate;\n this.maxDate = options.maxDate;\n this.defaultDate = options.defaultDate;\n this.appendTo = options.appendTo;\n this.showOnFocus = typeof options.showOnFocus === \"boolean\" ? options.showOnFocus : true;\n this.onBlur = options.onBlur;\n this.onFocus = options.onFocus;\n this.onSelect = options.onSelect;\n this.onInput = options.onInput;\n this.onClose = options.onClose;\n this.onTodayClick = options.onTodayClick;\n this.onClearClick = options.onClearClick;\n this.onMonthChange = options.onMonthChange;\n this.onYearChange = options.onYearChange;\n this.selectionMode = options.selectionMode || \"single\";\n this.rangeSeparator = options.rangeSeparator || \"-\";\n this.showSeconds = options.showSeconds;\n this.placeholder = options.placeholder;\n }\n}\n","import { Observable } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { InlineEditField, InlineEditFieldOptions } from './inline-edit-field';\nimport { DefaultFilter } from '@seniorsistemas/angular-components/dynamic-form';\n\nexport interface InlineEditLookupFieldOptions extends InlineEditFieldOptions {\n multiple?: boolean;\n showSearch?: boolean;\n searchFields: any[];\n searchGridFields: any[];\n lookupSuggestions?: any[];\n suggestionsObservable?: Observable<any[]>;\n searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n dataKey: string;\n lookupDisplayField: string;\n searchTitle?: string;\n searchEmptyTitle?: string;\n filterTitle?: string;\n emptyMessage?: string;\n appendTo?: string;\n autocompleteForceSelection?: boolean;\n maxlength?: number | null;\n showAddOption?: boolean;\n showEditOption?: boolean;\n showRemoveOption?: boolean;\n placeholder?: string;\n onLookupRequest: (query: string) => void;\n onSearchRequest: (event: any) => void;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onBlur?: (event: FocusEvent) => void;\n onAdd?: () => void;\n onEdit?: (selectedItem: unknown) => void;\n onRemove?: (selectedItems: unknown[]) => void;\n}\n\nexport class InlineEditLookupField extends InlineEditField {\n public multiple = false;\n public showSearch = true;\n public searchFields: any[] = [];\n public searchGridFields: any[] = [];\n public lookupSuggestions: any[] = [];\n public suggestionsObservable?: Observable<any[]> | null = null;\n public searchObservable: Observable<{\n gridData: any[];\n totalRecords: number;\n searchTotalRecordsLabel?: string;\n }> | null = null;\n public dataKey = '';\n public lookupDisplayField = '';\n public searchTitle = '';\n public searchEmptyTitle = '';\n public filterTitle = '';\n public emptyMessage = '';\n public appendTo?: string;\n public autocompleteForceSelection = true;\n public maxlength: number | null = null;\n public showAddOption = false;\n public showEditOption = false;\n public showRemoveOption = false;\n public defaultFilter: DefaultFilter[] = [];\n public onLookupRequest?: (query: string) => void;\n public onSearchRequest?: (event: any) => void;\n public onClear?: (event: any) => void;\n public onBlur?: (event: FocusEvent) => void;\n public onAdd?: () => void;\n public onEdit?: (selectedItem: unknown) => void;\n public onRemove?: (selectedItems: unknown[]) => void;\n\n public placeholder?: string;\n\n private _gridData: any[] = [];\n private _searchTotalRecords = 0;\n private _searchTotalRecordsLabel = '';\n\n public onSelect = (event: any) => {};\n public onUnselect = (event: any) => {};\n\n public get gridData() {\n return this._gridData;\n }\n\n public get searchTotalRecords() {\n return this._searchTotalRecords;\n }\n\n public get searchTotalRecordsLabel() {\n return this._searchTotalRecordsLabel;\n }\n\n constructor(options: InlineEditLookupFieldOptions) {\n super(options);\n Object.assign(this, options);\n\n if (this.suggestionsObservable) {\n this.suggestionsObservable.subscribe((suggestions) => (this.lookupSuggestions = suggestions));\n }\n if (this.searchObservable) {\n this.searchObservable.pipe(delay(0)).subscribe(({ totalRecords, gridData, searchTotalRecordsLabel }) => {\n this._gridData = gridData;\n this._searchTotalRecords = totalRecords;\n this._searchTotalRecordsLabel = searchTotalRecordsLabel as string;\n });\n }\n }\n}\n\n","import { NumberLocaleOptions } from \"@seniorsistemas/angular-components/locale\";\n\nimport { AddonConfig } from \"../types/addon-config\";\nimport { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\ntype strinFn = () => string\n\nexport interface InlineEditNumberFieldOptions extends InlineEditFieldOptions {\n allowNegative?: boolean;\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n scale?: Function | number;\n mask?: strinFn | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n placeholder?: string;\n autoClear?: boolean;\n onBlur?: (event: Event) => void;\n onFocus?: (event: Event) => void;\n onComplete?: (event: any) => void;\n onInput?: (event: Event) => void;\n}\n\nexport class InlineEditNumberField extends InlineEditField {\n public allowNegative?: boolean;\n public numberLocaleOptions?: NumberLocaleOptions;\n public browserAutocomplete?: boolean;\n public precision?: Function | number;\n public scale?: Function | number;\n public alignTo: 'left' | 'right';\n public mask?: strinFn | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public placeholder?: string;\n public autoClear?: boolean;\n public onBlur?: (event: Event) => void;\n public onFocus?: (event: Event) => void;\n public onComplete?: (event: any) => void;\n public onInput?: (event: Event) => void;\n\n constructor(options: InlineEditNumberFieldOptions) {\n super(options);\n\n this.allowNegative = options.allowNegative ?? true;\n this.numberLocaleOptions = options.numberLocaleOptions;\n this.browserAutocomplete = options.browserAutocomplete;\n this.precision = options.precision;\n this.scale = options.scale ?? 2;\n this.alignTo = this.scale ? 'right' : 'left';\n this.mask = options.mask;\n this.leftAddon = options.leftAddon;\n this.rightAddon = options.rightAddon;\n this.onBlur = options.onBlur;\n this.onFocus = options.onFocus;\n this.onComplete = options.onComplete;\n this.onInput = options.onInput;\n this.autoClear = options.autoClear ?? true;\n this.placeholder = options.placeholder ?? \"\";\n }\n}\n","import { InlineEditFieldOptions, InlineEditField } from \"./inline-edit-field\";\n\nexport interface InlineEditTextAreaFieldOptions extends InlineEditFieldOptions {\n cols?: number;\n rows?: number;\n keyFilter?: any;\n readonly?: () => boolean;\n}\n\nexport class InlineEditTextAreaField extends InlineEditField {\n public cols?: number;\n public rows?: number;\n public keyFilter?: any;\n public readonly?: () => boolean;\n\n constructor(options: InlineEditTextAreaFieldOptions) {\n super(options);\n\n this.cols = options.cols;\n this.rows = options.rows;\n this.keyFilter = options.keyFilter;\n this.readonly = options.readonly;\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditTextFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditTextField extends InlineEditField {\n constructor(options: InlineEditTextFieldOptions) {\n super(options);\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditContentGeneratorFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditContentGeneratorField extends InlineEditField {\n constructor(options: InlineEditContentGeneratorFieldOptions) {\n super(options);\n }\n}\n","import { Component, ComponentRef, DestroyRef, Input, OnInit, ViewChild, ViewContainerRef, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { first } from 'rxjs/operators';\r\n\r\nimport { InlineEditCalendarField, InlineEditLookupField } from '../../fields/index';\r\nimport { InlineEditField } from '../../fields/inline-edit-field';\r\nimport { InlineEditCalendarComponent } from '../fields/inline-edit-calendar/inline-edit-calendar.component';\r\nimport { LocaleOptions, LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { InfoSignDirective } from '@seniorsistemas/angular-components/info-sign';\r\n\r\nimport { ButtonComponent } from '@seniorsistemas/angular-components/button';\r\nimport { ControlErrorsComponent } from '@seniorsistemas/angular-components/control-errors';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 's-inline-edit-item',\r\n templateUrl: './inline-edit-item.component.html',\r\n styleUrls: ['./inline-edit-item.component.scss'],\r\n standalone: true,\r\n imports: [InfoSignDirective, ButtonComponent, ControlErrorsComponent, TranslatePipe],\r\n})\r\nexport class InlineEditItemComponent implements OnInit {\r\n private readonly localeService = inject(LocaleService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @ViewChild('formContainer', { read: ViewContainerRef, static: true })\r\n public viewContainerRef: ViewContainerRef | null = null;\r\n\r\n @Input({ required: true })\r\n public label!: string;\r\n\r\n @Input({ required: true })\r\n public formGroup!: FormGroup;\r\n\r\n @Input({ required: true })\r\n public field!: InlineEditField;\r\n\r\n @Input()\r\n public errorMessages?: any;\r\n\r\n public isEditing = false;\r\n private _locale: string | undefined;\r\n private dynamicComponentRef: ComponentRef<any> | null = null;\r\n\r\n public ngOnInit(): void {\r\n this._getCalendarLocaleOptions();\r\n }\r\n\r\n public get showEmptyValueButton() {\r\n return !this.isEditing && !this.formGroup.get(this.field.name)?.value;\r\n }\r\n\r\n public get showEditButton() {\r\n return !this.isEditing && this.formGroup.get(this.field.name)?.value;\r\n }\r\n\r\n public get showValue() {\r\n return !this.isEditing && this.formGroup.get(this.field.name)?.value;\r\n }\r\n\r\n public onEdit(): void {\r\n this.isEditing = !this.isEditing;\r\n }\r\n\r\n public onCancel(): void {\r\n this.isEditing = !this.isEditing;\r\n }\r\n\r\n public onSave(): void {\r\n if (this.dynamicComponentRef && this.dynamicComponentRef.instance.saveValue) {\r\n const control = this.formGroup.get(this.field.name);\r\n if (control) {\r\n control.markAsDirty({ onlySelf: true });\r\n }\r\n\r\n this.dynamicComponentRef.instance.saveValue();\r\n }\r\n if (this.formGroup.get(this.field.name)?.valid) {\r\n this.isEditing = !this.isEditing;\r\n }\r\n }\r\n\r\n public setDynamicComponentRef(ref: ComponentRef<any>): void {\r\n this.dynamicComponentRef = ref;\r\n }\r\n\r\n public getErrorMessages(errorMessages: any) {\r\n if (errorMessages)\r\n return errorMessages instanceof Function\r\n ? { ...this.errorMessages, ...errorMessages() }\r\n : { ...this.errorMessages, ...errorMessages };\r\n return this.errorMessages;\r\n }\r\n\r\n public getFormattedValue(value: any): string {\r\n if (this.field instanceof InlineEditCalendarField) {\r\n return (this.dynamicComponentRef?.instance as InlineEditCalendarComponent).getValueAsText();\r\n }\r\n if (this.field instanceof InlineEditLookupField) {\r\n const lookupField = this.field as InlineEditLookupField;\r\n return this.field.multiple\r\n ? value.map((val: any) => val[lookupField.lookupDisplayField]).join(' - ')\r\n : value[lookupField.lookupDisplayField];\r\n }\r\n\r\n return value;\r\n }\r\n\r\n private _getCalendarLocaleOptions(): void {\r\n this.localeService\r\n .get()\r\n .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n .subscribe((localeOptions: LocaleOptions) => {\r\n this._locale = localeOptions.locale;\r\n });\r\n }\r\n}\r\n","<div class=\"inline-edit-item\">\r\n <label\r\n class=\"label\"\r\n *sInfoSign=\"field.tooltip ? field.tooltip : ''\"\r\n >\r\n {{ label }}:\r\n </label>\r\n\r\n <div class=\"content\">\r\n @if (showValue) {\r\n <span class=\"value\">\r\n {{ getFormattedValue(formGroup.get(field.name)?.value) }}\r\n </span>\r\n }\r\n\r\n @if (showEmptyValueButton) {\r\n <s-button\r\n style=\"margin-left: -8px\"\r\n priority=\"link\"\r\n [label]=\"'platform.angular_components.add_information' | translate\"\r\n (clicked)=\"onEdit()\"\r\n >\r\n </s-button>\r\n }\r\n\r\n <div\r\n [hidden]=\"!isEditing\"\r\n class=\"form-container\"\r\n >\r\n <ng-container #formContainer></ng-container>\r\n </div>\r\n\r\n <div class=\"options\">\r\n @if (showEditButton) {\r\n <s-button\r\n [tooltip]=\"'platform.angular_components.edit' | translate\"\r\n (clicked)=\"onEdit()\"\r\n priority=\"link\"\r\n [auxiliary]=\"true\"\r\n iconClass=\"fas fa-edit\"\r\n >\r\n </s-button>\r\n }\r\n @if (isEditing) {\r\n <s-button\r\n [tooltip]=\"'platform.angular_components.save' | translate\"\r\n (clicked)=\"onSave()\"\r\n priority=\"default\"\r\n [auxiliary]=\"true\"\r\n iconClass=\"fas fa-check\"\r\n styleClass=\"save-option\"\r\n iconColor=\"#428bca\"\r\n >\r\n </s-button>\r\n }\r\n @if (isEditing) {\r\n <s-button\r\n [tooltip]=\"'platform.angular_components.cancel' | translate\"\r\n (clicked)=\"onCancel()\"\r\n priority=\"default\"\r\n [auxiliary]=\"true\"\r\n iconClass=\"fas fa-times\"\r\n iconColor=\"#c13018\"\r\n >\r\n </s-button>\r\n }\r\n </div>\r\n </div>\r\n <s-control-errors\r\n [form]=\"formGroup\"\r\n [control]=\"formGroup.controls[field.name]\"\r\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"\r\n >\r\n </s-control-errors>\r\n</div>\r\n","import { Component, DestroyRef, ElementRef, Input, OnInit, ViewChild, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport {\r\n DatepickerComponent,\r\n DatePickerMode,\r\n DatepickerComponent as DatepickerComponent_1,\r\n} from '@seniorsistemas/angular-components/datepicker';\r\n\r\nimport { InlineEditCalendarField } from '../../../fields/inline-edit-calendar-field';\r\nimport { first } from 'rxjs/operators';\r\nimport { CalendarLocaleOptions, LocaleOptions, LocaleService } from '@seniorsistemas/angular-components/locale';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-calendar.component.html',\r\n styleUrls: ['./inline-edit-calendar.component.scss'],\r\n standalone: true,\r\n imports: [DatepickerComponent_1, FormsModule],\r\n})\r\nexport class InlineEditCalendarComponent implements OnInit {\r\n private readonly localeService = inject(LocaleService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @Input({ required: true })\r\n public field!: InlineEditCalendarField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n @ViewChild(DatepickerComponent, { read: ElementRef })\r\n datepickerEl: ElementRef | null = null;\r\n\r\n public tempValue: Date | null = null;\r\n public calendarLocaleOptions: CalendarLocaleOptions | null = null;\r\n\r\n public get resolvedHourFormat(): '12' | '24' {\r\n return this.calendarLocaleOptions?.hourFormat === '12' ? '12' : '24';\r\n }\r\n\r\n public get resolvedMode(): DatePickerMode {\r\n if (this.field.view === 'month') return 'month';\r\n if (this.field.view === 'year') return 'year';\r\n return 'date';\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._getLocaleOptions();\r\n\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || null;\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n\r\n public getValueAsText(): string {\r\n return this.datepickerEl?.nativeElement?.querySelector('input')?.value ?? '';\r\n }\r\n\r\n private _getLocaleOptions(): void {\r\n this.localeService\r\n .get()\r\n .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n .subscribe((locale: LocaleOptions) => {\r\n this.calendarLocaleOptions = locale.calendar;\r\n });\r\n }\r\n}\r\n","<s-datepicker\n #datepicker\n [inputId]=\"field.name\"\n [name]=\"field.name\"\n [showIcon]=\"true\"\n [mode]=\"resolvedMode\"\n [rangeSeparator]=\"field.rangeSeparator ?? ' — '\"\n [showSeconds]=\"field.showSeconds ?? false\"\n icon=\"fas fa-calendar\"\n [min]=\"field.minDate ?? null\"\n [max]=\"field.maxDate ?? null\"\n [dateFormat]=\"calendarLocaleOptions?.dateFormat ?? 'dd/MM/yyyy'\"\n [hourFormat]=\"resolvedHourFormat\"\n [defaultDate]=\"field.defaultDate ?? null\"\n [placeholder]=\"field.placeholder\"\n (blurred)=\"field.onBlur ? field.onBlur($event) : null\"\n (focused)=\"field.onFocus ? field.onFocus($event) : null\"\n (selected)=\"field.onSelect ? field.onSelect($event) : null\"\n (closed)=\"field.onClose ? field.onClose($event) : null\"\n (todayClick)=\"field.onTodayClick ? field.onTodayClick($event) : null\"\n (clearClick)=\"field.onClearClick ? field.onClearClick($event) : null\"\n (monthChange)=\"field.onMonthChange ? field.onMonthChange($event) : null\"\n (yearChange)=\"field.onYearChange ? field.onYearChange($event) : null\"\n [(ngModel)]=\"tempValue\">\n</s-datepicker>\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { InlineEditLookupField } from '../../../fields/inline-edit-lookup-field';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-lookup.component.html',\r\n styleUrls: ['./inline-edit-lookup.component.scss'],\r\n standalone: true,\r\n})\r\nexport class InlineEditLookupComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditLookupField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","<!--\nTODO: ativar campo novamente\n<s-lookup\n [id]=\"field.name\"\n [multiple]=\"field.multiple\"\n [lookupSuggestions]=\"field.lookupSuggestions\"\n [dataKey]=\"field.dataKey\"\n [placeholder]=\"field.placeholder\"\n [showSearch]=\"field.showSearch\"\n [searchFields]=\"field.searchFields\"\n [searchGridFields]=\"field.searchGridFields\"\n [searchGridData]=\"field.gridData\"\n (onLookupRequest)=\"field.onLookupRequest ? field.onLookupRequest($event) : null\"\n (onSearchRequest)=\"field.onSearchRequest ? field.onSearchRequest($event) : null\"\n [lookupDisplayField]=\"field.lookupDisplayField\"\n [searchTotalRecords]=\"field.searchTotalRecords\"\n [labelOptions]=\"{\n filterTitle: field.filterTitle,[\n searchTotalRecordsLabel: field.searchTotalRecordsLabel,\n searchEmptyTitle: field.searchEmptyTitle,\n searchTitle: field.searchTitle,\n\n }\"\n (onSelect)=\"field.onSelect($event)\"\n (onUnselect)=\"field.onUnselect($event)\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupAppendTo]=\"field.appendTo\"\n [lookupEmptyMessage]=\"field.emptyMessage\"\n [defaultFilter]=\"field.defaultFilter\"\n [autocompleteForceSelection]=\"field.autocompleteForceSelection\"\n [maxlength]=\"field.maxlength\"\n [showAddOption]=\"field.showAddOption\"\n [showEditOption]=\"field.showEditOption\"\n [showRemoveOption]=\"field.showRemoveOption\"\n (onAdd)=\"field.onAdd ? field.onAdd() : null\"\n (onEdit)=\"field.onEdit ? field.onEdit($event) : null\"\n (onRemove)=\"field.onRemove ? field.onRemove($event) : null\"\n [(ngModel)]=\"tempValue\">\n</s-lookup> -->\n\n","import { Component, DestroyRef, Input, OnInit, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { first } from 'rxjs/operators';\r\n\r\nimport { InlineEditNumberField } from '../../../fields/inline-edit-number-field';\r\nimport { LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { NgClass } from '@angular/common';\r\nimport { InputMaskDirective } from '@seniorsistemas/angular-components/input-mask';\r\nimport { InputTextDirective } from '@seniorsistemas/angular-components/input-text';\r\nimport { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';\r\nimport { ButtonComponent } from '@seniorsistemas/angular-components/button';\r\nimport { BignumberInputDirective } from '@seniorsistemas/angular-components/bignumber-input';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-number.component.html',\r\n styleUrls: ['./inline-edit-number.component.scss'],\r\n standalone: true,\r\n imports: [\r\n InputMaskDirective,\r\n FormsModule,\r\n InputTextDirective,\r\n TooltipDirective,\r\n ButtonComponent,\r\n NgClass,\r\n BignumberInputDirective,\r\n ],\r\n})\r\nexport class InlineEditNumberComponent implements OnInit {\r\n private readonly localeService = inject(LocaleService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @Input({ required: true })\r\n public field!: InlineEditNumberField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n this._onLocaleService();\r\n\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n\r\n public get mask(): string {\r\n return typeof this.field.mask === 'function' ? this.field.mask() : (this.field.mask as string);\r\n }\r\n\r\n public get leftAddonDisabled(): boolean {\r\n return typeof this.field!.leftAddon?.disabled === 'function'\r\n ? this.field.leftAddon.disabled()\r\n : (this.field.leftAddon?.disabled as boolean);\r\n }\r\n\r\n public get rightAddonDisabled(): boolean {\r\n return typeof this.field.rightAddon?.disabled === 'function'\r\n ? this.field.rightAddon.disabled()\r\n : (this.field.rightAddon?.disabled as boolean);\r\n }\r\n\r\n public get precision(): number {\r\n return typeof this.field.precision === 'function' ? this.field.precision() : (this.field.precision as number);\r\n }\r\n\r\n public get scale(): number {\r\n return typeof this.field.scale === 'function' ? this.field.scale() : (this.field.scale as number);\r\n }\r\n\r\n private _onLocaleService(): void {\r\n this.localeService\r\n .getLocale()\r\n .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n .subscribe({\r\n next: () => {\r\n if (!this.field.numberLocaleOptions?.decimalSeparator) {\r\n this.field.numberLocaleOptions = {\r\n ...this.field.numberLocaleOptions,\r\n decimalSeparator: this.localeService.getDecimalSeparator(),\r\n };\r\n }\r\n\r\n if (!this.field.numberLocaleOptions?.thousandsSeparator) {\r\n this.field.numberLocaleOptions = {\r\n ...this.field.numberLocaleOptions,\r\n thousandsSeparator: this.localeService.getGroupingSeparator(),\r\n };\r\n }\r\n },\r\n error: () =>\r\n (this.field.numberLocaleOptions = {\r\n thousandsSeparator: '.',\r\n decimalSeparator: ',',\r\n currencySymbol: '',\r\n }),\r\n });\r\n }\r\n}\r\n","@if (field.mask) {\r\n <input\r\n sInputText\r\n class=\"mousetrap\"\r\n type=\"text\"\r\n [id]=\"field.name\"\r\n [name]=\"field.name\"\r\n [sInputMask]=\"mask\"\r\n [placeholder]=\"field.placeholder\"\r\n slotChar=\"_\"\r\n [sTooltip]=\"field.tooltip\"\r\n tooltipPosition=\"top\"\r\n [showDelay]=\"500\"\r\n [autoClear]=\"field.autoClear ?? false\"\r\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\r\n (focus)=\"field.onFocus ? field.onFocus($event) : null\"\r\n (maskComplete)=\"field.onComplete ? field.onComplete($event) : null\"\r\n (input)=\"field.onInput ? field.onInput($event) : null\"\r\n [(ngModel)]=\"tempValue\"\r\n />\r\n} @else {\r\n <ng-container>\r\n <div>\r\n @if (field.leftAddon) {\r\n @if (field.leftAddon.callback) {\r\n <span class=\"addon-button addon-button--left\">\r\n <s-button\r\n [label]=\"field.leftAddon.label\"\r\n [iconClass]=\"field.leftAddon.icon\"\r\n [priority]=\"field.leftAddon.priority\"\r\n [disabled]=\"leftAddonDisabled\"\r\n (clicked)=\"field.leftAddon.callback()\"\r\n >\r\n </s-button>\r\n </span>\r\n }\r\n @if (!field.leftAddon.callback) {\r\n <span>\r\n @if (field.leftAddon.label) {\r\n <span>{{ field.leftAddon.label }}</span>\r\n }\r\n @if (!field.leftAddon.label) {\r\n <span [ngClass]=\"field.leftAddon.icon\"></span>\r\n }\r\n </span>\r\n }\r\n }\r\n <input\r\n [id]=\"field.name\"\r\n type=\"text\"\r\n [name]=\"field.name\"\r\n sBignumberInput\r\n [allowNegative]=\"field.allowNegative ?? false\"\r\n [precision]=\"precision\"\r\n [scale]=\"scale\"\r\n [alignTo]=\"field.alignTo\"\r\n [sTooltip]=\"field.tooltip\"\r\n tooltipPosition=\"top\"\r\n [placeholder]=\"field.placeholder\"\r\n [showDelay]=\"500\"\r\n sInputText\r\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\r\n [ngClass]=\"'mousetrap'\"\r\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\r\n (focus)=\"field.onFocus ? field.onFocus($event) : null\"\r\n [(ngModel)]=\"tempValue\"\r\n />\r\n @if (field.rightAddon) {\r\n @if (field.rightAddon.callback) {\r\n <span class=\"addon-button addon-button--right\">\r\n <s-button\r\n [label]=\"field.rightAddon.label\"\r\n [iconClass]=\"field.rightAddon.icon\"\r\n [priority]=\"field.rightAddon.priority\"\r\n [disabled]=\"rightAddonDisabled\"\r\n (clicked)=\"field.rightAddon.callback()\"\r\n >\r\n </s-button>\r\n </span>\r\n }\r\n @if (!field.rightAddon.callback) {\r\n <span>\r\n @if (field.rightAddon.label) {\r\n <span>{{ field.rightAddon.label }}</span>\r\n }\r\n @if (!field.rightAddon.label) {\r\n <span [ngClass]=\"field.rightAddon.icon\"></span>\r\n }\r\n </span>\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditTextAreaField } from '../../../fields/inline-edit-text-area-field';\r\nimport { Textarea } from 'primeng/textarea';\r\nimport { KeyFilter } from 'primeng/keyfilter';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-text-area.component.html',\r\n styleUrls: ['./inline-edit-text-area.component.scss'],\r\n standalone: true,\r\n imports: [FormsModule, Textarea, KeyFilter],\r\n})\r\nexport class InlineEditTextAreaComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditTextAreaField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","@if(field.keyFilter) {\n <textarea\n [id]=\"field.name\"\n pTextarea\n class=\"textarea-input\"\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n [(ngModel)]=\"tempValue\"\n [pKeyFilter]=\"field.keyFilter\">\n </textarea>\n}@else {\n <textarea\n [id]=\"field.name\"\n pTextarea\n class=\"textarea-input\"\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n [(ngModel)]=\"tempValue\">\n </textarea>\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditTextField } from '../../../fields/inline-edit-text-field';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-text.component.html',\r\n styleUrls: ['./inline-edit-text.component.scss'],\r\n standalone: true,\r\n imports: [FormsModule],\r\n})\r\nexport class InlineEditTextComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditTextField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue!: string;\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","<input\n type=\"text\"\n sInputText\n [(ngModel)]=\"tempValue\" />","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditContentGeneratorField } from '../../../fields/inline-edit-content-generator-field';\r\nimport { DeprecatedSelectorDirective } from '@seniorsistemas/angular-components/common/deprecated-selector';\r\nimport { ContentGeneratorComponent } from '@seniorsistemas/angular-components/content-generator';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-content-generator.component.html',\r\n styleUrls: ['./inline-edit-content-generator.component.scss'],\r\n standalone: true,\r\n imports: [DeprecatedSelectorDirective, ContentGeneratorComponent, FormsModule],\r\n})\r\nexport class InlineEditContentGeneratorComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditContentGeneratorField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","<s-content-generator [(ngModel)]=\"tempValue\"></s-content-generator>","import { Component, ComponentRef, Input, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport {\r\n InlineEditCalendarComponent,\r\n InlineEditItemComponent,\r\n InlineEditLookupComponent,\r\n InlineEditNumberComponent,\r\n InlineEditTextAreaComponent,\r\n InlineEditContentGeneratorComponent,\r\n InlineEditTextComponent,\r\n} from './components/index';\r\nimport {\r\n InlineEditCalendarField,\r\n InlineEditField,\r\n InlineEditLookupField,\r\n InlineEditNumberField,\r\n InlineEditTextAreaField,\r\n InlineEditContentGeneratorField,\r\n InlineEditTextField,\r\n} from './fields/index';\r\n\r\n/**\r\n * @description Componente de edição inline que renderiza dinamicamente campos editáveis\r\n * (texto, número, data, textarea, lookup e gerador de conteúdo) a partir de uma lista\r\n * de configurações `InlineEditField[]`. Integrado a um `FormGroup` Angular fornecido externamente.\r\n *\r\n * @example\r\n * ```html\r\n * <s-inline-edit [formGroup]=\"form\" [fields]=\"camposEditaveis\" />\r\n * ```\r\n *\r\n * @category Inputs\r\n */\r\n@Component({\r\n selector: 's-inline-edit',\r\n templateUrl: './inline-edit.component.html',\r\n styleUrls: ['./inline-edit.component.scss'],\r\n standalone: true,\r\n})\r\nexport class InlineEditComponent implements OnInit {\r\n /** @description `FormGroup` Angular ao qual os campos inline serão vinculados. @default new FormGroup({}) */\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n /** @description Lista de configurações dos campos inline a serem renderizados. @default [] */\r\n @Input()\r\n public fields: InlineEditField[] = [];\r\n\r\n /** @description Mapa de mensagens de erro customizadas por nome de validador. */\r\n @Input()\r\n public errorMessages?: any;\r\n\r\n @ViewChild('formContainer', { read: ViewContainerRef, static: true })\r\n public container: ViewContainerRef | null = null;\r\n\r\n public ngOnInit(): void {\r\n this._createFields();\r\n }\r\n\r\n private _componentMap = {\r\n [InlineEditCalendarField.name]: InlineEditCalendarComponent,\r\n [InlineEditLookupField.name]: InlineEditLookupComponent,\r\n [InlineEditTextField.name]: InlineEditTextComponent,\r\n [InlineEditNumberField.name]: InlineEditNumberComponent,\r\n [InlineEditTextAreaField.name]: InlineEditTextAreaComponent,\r\n [InlineEditContentGeneratorField.name]: InlineEditContentGeneratorComponent,\r\n };\r\n\r\n private _createFields(): void {\r\n if (!this.container) {\r\n return;\r\n }\r\n this.container.clear();\r\n\r\n const createComponent = (componentClass: any, field: InlineEditField): ComponentRef<any> => {\r\n const componentRef = this.container!.createComponent(componentClass);\r\n (componentRef.instance as any).field = field;\r\n (componentRef.instance as any).formGroup = this.formGroup;\r\n return componentRef;\r\n };\r\n\r\n for (let field of this.fields) {\r\n let componentClass = this._componentMap[field.constructor.name];\r\n\r\n if (componentClass) {\r\n const inlineEditItemRef = this.container.createComponent(InlineEditItemComponent);\r\n inlineEditItemRef.instance.label = field.label;\r\n inlineEditItemRef.instance.formGroup = this.formGroup;\r\n inlineEditItemRef.instance.field = field;\r\n inlineEditItemRef.instance.errorMessages = this.errorMessages;\r\n const dynamicComponentRef = createComponent(componentClass, field);\r\n\r\n const inlineEditItemInstance = inlineEditItemRef.instance as InlineEditItemComponent;\r\n if (inlineEditItemInstance.viewContainerRef) {\r\n inlineEditItemInstance.viewContainerRef.insert(dynamicComponentRef.hostView);\r\n inlineEditItemInstance.setDynamicComponentRef(dynamicComponentRef);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"inline-edit\">\n <ng-template #formContainer></ng-template>\n</div>\n","import { NgModule } from '@angular/core';\r\n\r\nimport { InlineEditComponent } from './inline-edit.component';\r\n\r\n@NgModule({\r\n imports: [InlineEditComponent],\r\n exports: [InlineEditComponent],\r\n})\r\nexport class InlineEditModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DatepickerComponent_1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seniorsistemas-angular-components-inline-edit.mjs","sources":["../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-calendar-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-lookup-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-number-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-text-area-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-text-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-content-generator-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.module.ts","../../projects/angular-components/inline-edit/src/seniorsistemas-angular-components-inline-edit.ts"],"sourcesContent":["type errorMessageFn = () => {};\nexport interface InlineEditFieldOptions {\n label: string;\n name: string;\n tooltip?: string;\n errorMessages?: errorMessageFn | {};\n}\n\nexport abstract class InlineEditField {\n public label: string;\n public name: string;\n public tooltip?: string;\n public errorMessages?: errorMessageFn | {};\n\n constructor(options: InlineEditFieldOptions) {\n this.label = options.label;\n this.name = options.name;\n this.tooltip = options.tooltip;\n this.errorMessages = options.errorMessages;\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditCalendarFieldOptions extends InlineEditFieldOptions {\n view?: 'date' | 'month' | 'year';\n minDate?: Date;\n maxDate?: Date;\n defaultDate?: Date;\n appendTo?: string;\n showOnFocus?: boolean;\n onBlur?: (event: Event) => void;\n onFocus?: (event: Event) => void;\n onSelect?: (event: any) => void;\n onInput?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n selectionMode?: 'single' | 'multiple';\n rangeSeparator?: string;\n showSeconds?: boolean;\n placeholder?: string;\n}\n\nexport class InlineEditCalendarField extends InlineEditField implements InlineEditCalendarFieldOptions {\n public view?: 'date' | 'month' | 'year';\n public appendTo?: string;\n public minDate?: Date;\n public maxDate?: Date;\n public defaultDate?: Date;\n public showOnFocus?: boolean;\n public onBlur?: (event: Event) => void;\n public onFocus?: (event: Event) => void;\n public onSelect?: (event: any) => void;\n public onInput?: (event: any) => void;\n public onClose?: (event: any) => void;\n public onTodayClick?: (event: any) => void;\n public onClearClick?: (event: any) => void;\n public onMonthChange?: (event: any) => void;\n public onYearChange?: (event: any) => void;\n public selectionMode?: 'single' | 'multiple';\n public rangeSeparator?: string;\n public showSeconds?: boolean;\n public placeholder?: string;\n\n constructor(options: InlineEditCalendarFieldOptions) {\n super(options);\n\n this.view = options.view || \"date\";\n this.minDate = options.minDate;\n this.maxDate = options.maxDate;\n this.defaultDate = options.defaultDate;\n this.appendTo = options.appendTo;\n this.showOnFocus = typeof options.showOnFocus === \"boolean\" ? options.showOnFocus : true;\n this.onBlur = options.onBlur;\n this.onFocus = options.onFocus;\n this.onSelect = options.onSelect;\n this.onInput = options.onInput;\n this.onClose = options.onClose;\n this.onTodayClick = options.onTodayClick;\n this.onClearClick = options.onClearClick;\n this.onMonthChange = options.onMonthChange;\n this.onYearChange = options.onYearChange;\n this.selectionMode = options.selectionMode || \"single\";\n this.rangeSeparator = options.rangeSeparator || \"-\";\n this.showSeconds = options.showSeconds;\n this.placeholder = options.placeholder;\n }\n}\n","import { Observable } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { InlineEditField, InlineEditFieldOptions } from './inline-edit-field';\nimport { DefaultFilter } from '@seniorsistemas/angular-components/dynamic-form';\n\nexport interface InlineEditLookupFieldOptions extends InlineEditFieldOptions {\n multiple?: boolean;\n showSearch?: boolean;\n searchFields: any[];\n searchGridFields: any[];\n lookupSuggestions?: any[];\n suggestionsObservable?: Observable<any[]>;\n searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n dataKey: string;\n lookupDisplayField: string;\n searchTitle?: string;\n searchEmptyTitle?: string;\n filterTitle?: string;\n emptyMessage?: string;\n appendTo?: string;\n autocompleteForceSelection?: boolean;\n maxlength?: number | null;\n showAddOption?: boolean;\n showEditOption?: boolean;\n showRemoveOption?: boolean;\n placeholder?: string;\n onLookupRequest: (query: string) => void;\n onSearchRequest: (event: any) => void;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onBlur?: (event: FocusEvent) => void;\n onAdd?: () => void;\n onEdit?: (selectedItem: unknown) => void;\n onRemove?: (selectedItems: unknown[]) => void;\n}\n\nexport class InlineEditLookupField extends InlineEditField {\n public multiple = false;\n public showSearch = true;\n public searchFields: any[] = [];\n public searchGridFields: any[] = [];\n public lookupSuggestions: any[] = [];\n public suggestionsObservable?: Observable<any[]> | null = null;\n public searchObservable: Observable<{\n gridData: any[];\n totalRecords: number;\n searchTotalRecordsLabel?: string;\n }> | null = null;\n public dataKey = '';\n public lookupDisplayField = '';\n public searchTitle = '';\n public searchEmptyTitle = '';\n public filterTitle = '';\n public emptyMessage = '';\n public appendTo?: string;\n public autocompleteForceSelection = true;\n public maxlength: number | null = null;\n public showAddOption = false;\n public showEditOption = false;\n public showRemoveOption = false;\n public defaultFilter: DefaultFilter[] = [];\n public onLookupRequest?: (query: string) => void;\n public onSearchRequest?: (event: any) => void;\n public onClear?: (event: any) => void;\n public onBlur?: (event: FocusEvent) => void;\n public onAdd?: () => void;\n public onEdit?: (selectedItem: unknown) => void;\n public onRemove?: (selectedItems: unknown[]) => void;\n\n public placeholder?: string;\n\n private _gridData: any[] = [];\n private _searchTotalRecords = 0;\n private _searchTotalRecordsLabel = '';\n\n public onSelect = (event: any) => {};\n public onUnselect = (event: any) => {};\n\n public get gridData() {\n return this._gridData;\n }\n\n public get searchTotalRecords() {\n return this._searchTotalRecords;\n }\n\n public get searchTotalRecordsLabel() {\n return this._searchTotalRecordsLabel;\n }\n\n constructor(options: InlineEditLookupFieldOptions) {\n super(options);\n Object.assign(this, options);\n\n if (this.suggestionsObservable) {\n this.suggestionsObservable.subscribe((suggestions) => (this.lookupSuggestions = suggestions));\n }\n if (this.searchObservable) {\n this.searchObservable.pipe(delay(0)).subscribe(({ totalRecords, gridData, searchTotalRecordsLabel }) => {\n this._gridData = gridData;\n this._searchTotalRecords = totalRecords;\n this._searchTotalRecordsLabel = searchTotalRecordsLabel as string;\n });\n }\n }\n}\n\n","import { NumberLocaleOptions } from \"@seniorsistemas/angular-components/locale\";\n\nimport { AddonConfig } from \"../types/addon-config\";\nimport { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\ntype strinFn = () => string\n\nexport interface InlineEditNumberFieldOptions extends InlineEditFieldOptions {\n allowNegative?: boolean;\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n scale?: Function | number;\n mask?: strinFn | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n placeholder?: string;\n autoClear?: boolean;\n onBlur?: (event: Event) => void;\n onFocus?: (event: Event) => void;\n onComplete?: (event: any) => void;\n onInput?: (event: Event) => void;\n}\n\nexport class InlineEditNumberField extends InlineEditField {\n public allowNegative?: boolean;\n public numberLocaleOptions?: NumberLocaleOptions;\n public browserAutocomplete?: boolean;\n public precision?: Function | number;\n public scale?: Function | number;\n public alignTo: 'left' | 'right';\n public mask?: strinFn | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public placeholder?: string;\n public autoClear?: boolean;\n public onBlur?: (event: Event) => void;\n public onFocus?: (event: Event) => void;\n public onComplete?: (event: any) => void;\n public onInput?: (event: Event) => void;\n\n constructor(options: InlineEditNumberFieldOptions) {\n super(options);\n\n this.allowNegative = options.allowNegative ?? true;\n this.numberLocaleOptions = options.numberLocaleOptions;\n this.browserAutocomplete = options.browserAutocomplete;\n this.precision = options.precision;\n this.scale = options.scale ?? 2;\n this.alignTo = this.scale ? 'right' : 'left';\n this.mask = options.mask;\n this.leftAddon = options.leftAddon;\n this.rightAddon = options.rightAddon;\n this.onBlur = options.onBlur;\n this.onFocus = options.onFocus;\n this.onComplete = options.onComplete;\n this.onInput = options.onInput;\n this.autoClear = options.autoClear ?? true;\n this.placeholder = options.placeholder ?? \"\";\n }\n}\n","import { InlineEditFieldOptions, InlineEditField } from \"./inline-edit-field\";\n\nexport interface InlineEditTextAreaFieldOptions extends InlineEditFieldOptions {\n cols?: number;\n rows?: number;\n keyFilter?: any;\n readonly?: () => boolean;\n}\n\nexport class InlineEditTextAreaField extends InlineEditField {\n public cols?: number;\n public rows?: number;\n public keyFilter?: any;\n public readonly?: () => boolean;\n\n constructor(options: InlineEditTextAreaFieldOptions) {\n super(options);\n\n this.cols = options.cols;\n this.rows = options.rows;\n this.keyFilter = options.keyFilter;\n this.readonly = options.readonly;\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditTextFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditTextField extends InlineEditField {\n constructor(options: InlineEditTextFieldOptions) {\n super(options);\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditContentGeneratorFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditContentGeneratorField extends InlineEditField {\n constructor(options: InlineEditContentGeneratorFieldOptions) {\n super(options);\n }\n}\n","import { Component, ComponentRef, DestroyRef, Input, OnInit, ViewChild, ViewContainerRef, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { first } from 'rxjs/operators';\r\n\r\nimport { InlineEditCalendarField, InlineEditLookupField } from '../../fields/index';\r\nimport { InlineEditField } from '../../fields/inline-edit-field';\r\nimport { InlineEditCalendarComponent } from '../fields/inline-edit-calendar/inline-edit-calendar.component';\r\nimport { LocaleOptions, LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { InfoSignDirective } from '@seniorsistemas/angular-components/info-sign';\r\n\r\nimport { ButtonComponent } from '@seniorsistemas/angular-components/button';\r\nimport { ControlErrorsComponent } from '@seniorsistemas/angular-components/control-errors';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 's-inline-edit-item',\r\n templateUrl: './inline-edit-item.component.html',\r\n styleUrls: ['./inline-edit-item.component.scss'],\r\n standalone: true,\r\n imports: [InfoSignDirective, ButtonComponent, ControlErrorsComponent, TranslatePipe],\r\n})\r\nexport class InlineEditItemComponent implements OnInit {\r\n private readonly localeService = inject(LocaleService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @ViewChild('formContainer', { read: ViewContainerRef, static: true })\r\n public viewContainerRef: ViewContainerRef | null = null;\r\n\r\n @Input({ required: true })\r\n public label!: string;\r\n\r\n @Input({ required: true })\r\n public formGroup!: FormGroup;\r\n\r\n @Input({ required: true })\r\n public field!: InlineEditField;\r\n\r\n @Input()\r\n public errorMessages?: any;\r\n\r\n public isEditing = false;\r\n private _locale: string | undefined;\r\n private dynamicComponentRef: ComponentRef<any> | null = null;\r\n\r\n public ngOnInit(): void {\r\n this._getCalendarLocaleOptions();\r\n }\r\n\r\n public get showEmptyValueButton() {\r\n return !this.isEditing && !this.formGroup.get(this.field.name)?.value;\r\n }\r\n\r\n public get showEditButton() {\r\n return !this.isEditing && this.formGroup.get(this.field.name)?.value;\r\n }\r\n\r\n public get showValue() {\r\n return !this.isEditing && this.formGroup.get(this.field.name)?.value;\r\n }\r\n\r\n public onEdit(): void {\r\n this.isEditing = !this.isEditing;\r\n }\r\n\r\n public onCancel(): void {\r\n this.isEditing = !this.isEditing;\r\n }\r\n\r\n public onSave(): void {\r\n if (this.dynamicComponentRef && this.dynamicComponentRef.instance.saveValue) {\r\n const control = this.formGroup.get(this.field.name);\r\n if (control) {\r\n control.markAsDirty({ onlySelf: true });\r\n }\r\n\r\n this.dynamicComponentRef.instance.saveValue();\r\n }\r\n if (this.formGroup.get(this.field.name)?.valid) {\r\n this.isEditing = !this.isEditing;\r\n }\r\n }\r\n\r\n public setDynamicComponentRef(ref: ComponentRef<any>): void {\r\n this.dynamicComponentRef = ref;\r\n }\r\n\r\n public getErrorMessages(errorMessages: any) {\r\n if (errorMessages)\r\n return errorMessages instanceof Function\r\n ? { ...this.errorMessages, ...errorMessages() }\r\n : { ...this.errorMessages, ...errorMessages };\r\n return this.errorMessages;\r\n }\r\n\r\n public getFormattedValue(value: any): string {\r\n if (this.field instanceof InlineEditCalendarField) {\r\n return (this.dynamicComponentRef?.instance as InlineEditCalendarComponent).getValueAsText();\r\n }\r\n if (this.field instanceof InlineEditLookupField) {\r\n const lookupField = this.field as InlineEditLookupField;\r\n return this.field.multiple\r\n ? value.map((val: any) => val[lookupField.lookupDisplayField]).join(' - ')\r\n : value[lookupField.lookupDisplayField];\r\n }\r\n\r\n return value;\r\n }\r\n\r\n private _getCalendarLocaleOptions(): void {\r\n this.localeService\r\n .get()\r\n .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n .subscribe((localeOptions: LocaleOptions) => {\r\n this._locale = localeOptions.locale;\r\n });\r\n }\r\n}\r\n","<div class=\"inline-edit-item\">\r\n <label\r\n class=\"label\"\r\n *sInfoSign=\"field.tooltip ? field.tooltip : ''\"\r\n >\r\n {{ label }}:\r\n </label>\r\n\r\n <div class=\"content\">\r\n @if (showValue) {\r\n <span class=\"value\">\r\n {{ getFormattedValue(formGroup.get(field.name)?.value) }}\r\n </span>\r\n }\r\n\r\n @if (showEmptyValueButton) {\r\n <s-button\r\n style=\"margin-left: -8px\"\r\n priority=\"link\"\r\n [label]=\"'platform.angular_components.add_information' | translate\"\r\n (clicked)=\"onEdit()\"\r\n >\r\n </s-button>\r\n }\r\n\r\n <div\r\n [hidden]=\"!isEditing\"\r\n class=\"form-container\"\r\n >\r\n <ng-container #formContainer></ng-container>\r\n </div>\r\n\r\n <div class=\"options\">\r\n @if (showEditButton) {\r\n <s-button\r\n [tooltip]=\"'platform.angular_components.edit' | translate\"\r\n (clicked)=\"onEdit()\"\r\n priority=\"link\"\r\n [auxiliary]=\"true\"\r\n iconClass=\"fas fa-edit\"\r\n >\r\n </s-button>\r\n }\r\n @if (isEditing) {\r\n <s-button\r\n [tooltip]=\"'platform.angular_components.save' | translate\"\r\n (clicked)=\"onSave()\"\r\n priority=\"default\"\r\n [auxiliary]=\"true\"\r\n iconClass=\"fas fa-check\"\r\n styleClass=\"save-option\"\r\n iconColor=\"#428bca\"\r\n >\r\n </s-button>\r\n }\r\n @if (isEditing) {\r\n <s-button\r\n [tooltip]=\"'platform.angular_components.cancel' | translate\"\r\n (clicked)=\"onCancel()\"\r\n priority=\"default\"\r\n [auxiliary]=\"true\"\r\n iconClass=\"fas fa-times\"\r\n iconColor=\"#c13018\"\r\n >\r\n </s-button>\r\n }\r\n </div>\r\n </div>\r\n <s-control-errors\r\n [form]=\"formGroup\"\r\n [control]=\"formGroup.controls[field.name]\"\r\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"\r\n >\r\n </s-control-errors>\r\n</div>\r\n","import { Component, DestroyRef, ElementRef, Input, OnInit, ViewChild, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport {\r\n DatepickerComponent,\r\n DatePickerMode,\r\n DatepickerComponent as DatepickerComponent_1,\r\n} from '@seniorsistemas/angular-components/datepicker';\r\n\r\nimport { InlineEditCalendarField } from '../../../fields/inline-edit-calendar-field';\r\nimport { first } from 'rxjs/operators';\r\nimport { CalendarLocaleOptions, LocaleOptions, LocaleService } from '@seniorsistemas/angular-components/locale';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-calendar.component.html',\r\n styleUrls: ['./inline-edit-calendar.component.scss'],\r\n standalone: true,\r\n imports: [DatepickerComponent_1, FormsModule],\r\n})\r\nexport class InlineEditCalendarComponent implements OnInit {\r\n private readonly localeService = inject(LocaleService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @Input({ required: true })\r\n public field!: InlineEditCalendarField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n @ViewChild(DatepickerComponent, { read: ElementRef })\r\n datepickerEl: ElementRef | null = null;\r\n\r\n public tempValue: Date | null = null;\r\n public calendarLocaleOptions: CalendarLocaleOptions | null = null;\r\n\r\n public get resolvedHourFormat(): '12' | '24' {\r\n return this.calendarLocaleOptions?.hourFormat === '12' ? '12' : '24';\r\n }\r\n\r\n public get resolvedMode(): DatePickerMode {\r\n if (this.field.view === 'month') return 'month';\r\n if (this.field.view === 'year') return 'year';\r\n return 'date';\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._getLocaleOptions();\r\n\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || null;\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n\r\n public getValueAsText(): string {\r\n return this.datepickerEl?.nativeElement?.querySelector('input')?.value ?? '';\r\n }\r\n\r\n private _getLocaleOptions(): void {\r\n this.localeService\r\n .get()\r\n .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n .subscribe((locale: LocaleOptions) => {\r\n this.calendarLocaleOptions = locale.calendar;\r\n });\r\n }\r\n}\r\n","<s-datepicker\n #datepicker\n [inputId]=\"field.name\"\n [name]=\"field.name\"\n [showIcon]=\"true\"\n [mode]=\"resolvedMode\"\n [rangeSeparator]=\"field.rangeSeparator ?? ' — '\"\n [showSeconds]=\"field.showSeconds ?? false\"\n icon=\"fas fa-calendar\"\n [min]=\"field.minDate ?? null\"\n [max]=\"field.maxDate ?? null\"\n [dateFormat]=\"calendarLocaleOptions?.dateFormat ?? 'dd/MM/yyyy'\"\n [hourFormat]=\"resolvedHourFormat\"\n [defaultDate]=\"field.defaultDate ?? null\"\n [placeholder]=\"field.placeholder\"\n (blurred)=\"field.onBlur ? field.onBlur($event) : null\"\n (focused)=\"field.onFocus ? field.onFocus($event) : null\"\n (selected)=\"field.onSelect ? field.onSelect($event) : null\"\n (closed)=\"field.onClose ? field.onClose($event) : null\"\n (todayClick)=\"field.onTodayClick ? field.onTodayClick($event) : null\"\n (clearClick)=\"field.onClearClick ? field.onClearClick($event) : null\"\n (monthChange)=\"field.onMonthChange ? field.onMonthChange($event) : null\"\n (yearChange)=\"field.onYearChange ? field.onYearChange($event) : null\"\n [(ngModel)]=\"tempValue\">\n</s-datepicker>\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { InlineEditLookupField } from '../../../fields/inline-edit-lookup-field';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-lookup.component.html',\r\n styleUrls: ['./inline-edit-lookup.component.scss'],\r\n standalone: true,\r\n})\r\nexport class InlineEditLookupComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditLookupField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","<!--\nTODO: ativar campo novamente\n<s-lookup\n [id]=\"field.name\"\n [multiple]=\"field.multiple\"\n [lookupSuggestions]=\"field.lookupSuggestions\"\n [dataKey]=\"field.dataKey\"\n [placeholder]=\"field.placeholder\"\n [showSearch]=\"field.showSearch\"\n [searchFields]=\"field.searchFields\"\n [searchGridFields]=\"field.searchGridFields\"\n [searchGridData]=\"field.gridData\"\n (onLookupRequest)=\"field.onLookupRequest ? field.onLookupRequest($event) : null\"\n (onSearchRequest)=\"field.onSearchRequest ? field.onSearchRequest($event) : null\"\n [lookupDisplayField]=\"field.lookupDisplayField\"\n [searchTotalRecords]=\"field.searchTotalRecords\"\n [labelOptions]=\"{\n filterTitle: field.filterTitle,[\n searchTotalRecordsLabel: field.searchTotalRecordsLabel,\n searchEmptyTitle: field.searchEmptyTitle,\n searchTitle: field.searchTitle,\n\n }\"\n (onSelect)=\"field.onSelect($event)\"\n (onUnselect)=\"field.onUnselect($event)\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupAppendTo]=\"field.appendTo\"\n [lookupEmptyMessage]=\"field.emptyMessage\"\n [defaultFilter]=\"field.defaultFilter\"\n [autocompleteForceSelection]=\"field.autocompleteForceSelection\"\n [maxlength]=\"field.maxlength\"\n [showAddOption]=\"field.showAddOption\"\n [showEditOption]=\"field.showEditOption\"\n [showRemoveOption]=\"field.showRemoveOption\"\n (onAdd)=\"field.onAdd ? field.onAdd() : null\"\n (onEdit)=\"field.onEdit ? field.onEdit($event) : null\"\n (onRemove)=\"field.onRemove ? field.onRemove($event) : null\"\n [(ngModel)]=\"tempValue\">\n</s-lookup> -->\n\n","import { Component, DestroyRef, Input, OnInit, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { first } from 'rxjs/operators';\r\n\r\nimport { InlineEditNumberField } from '../../../fields/inline-edit-number-field';\r\nimport { LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { NgClass } from '@angular/common';\r\nimport { InputMaskDirective } from '@seniorsistemas/angular-components/input-mask';\r\nimport { InputTextDirective } from '@seniorsistemas/angular-components/input-text';\r\nimport { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';\r\nimport { ButtonComponent } from '@seniorsistemas/angular-components/button';\r\nimport { NumericMaskDirective } from '@seniorsistemas/angular-components/numeric-mask';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-number.component.html',\r\n styleUrls: ['./inline-edit-number.component.scss'],\r\n standalone: true,\r\n imports: [\r\n InputMaskDirective,\r\n FormsModule,\r\n InputTextDirective,\r\n TooltipDirective,\r\n ButtonComponent,\r\n NgClass,\r\n NumericMaskDirective,\r\n ],\r\n})\r\nexport class InlineEditNumberComponent implements OnInit {\r\n private readonly localeService = inject(LocaleService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @Input({ required: true })\r\n public field!: InlineEditNumberField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n this._onLocaleService();\r\n\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n\r\n public get mask(): string {\r\n return typeof this.field.mask === 'function' ? this.field.mask() : (this.field.mask as string);\r\n }\r\n\r\n public get leftAddonDisabled(): boolean {\r\n return typeof this.field!.leftAddon?.disabled === 'function'\r\n ? this.field.leftAddon.disabled()\r\n : (this.field.leftAddon?.disabled as boolean);\r\n }\r\n\r\n public get rightAddonDisabled(): boolean {\r\n return typeof this.field.rightAddon?.disabled === 'function'\r\n ? this.field.rightAddon.disabled()\r\n : (this.field.rightAddon?.disabled as boolean);\r\n }\r\n\r\n public get precision(): number {\r\n return typeof this.field.precision === 'function' ? this.field.precision() : (this.field.precision as number);\r\n }\r\n\r\n public get scale(): number {\r\n return typeof this.field.scale === 'function' ? this.field.scale() : (this.field.scale as number);\r\n }\r\n\r\n private _onLocaleService(): void {\r\n this.localeService\r\n .getLocale()\r\n .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n .subscribe({\r\n next: () => {\r\n if (!this.field.numberLocaleOptions?.decimalSeparator) {\r\n this.field.numberLocaleOptions = {\r\n ...this.field.numberLocaleOptions,\r\n decimalSeparator: this.localeService.getDecimalSeparator(),\r\n };\r\n }\r\n\r\n if (!this.field.numberLocaleOptions?.thousandsSeparator) {\r\n this.field.numberLocaleOptions = {\r\n ...this.field.numberLocaleOptions,\r\n thousandsSeparator: this.localeService.getGroupingSeparator(),\r\n };\r\n }\r\n },\r\n error: () =>\r\n (this.field.numberLocaleOptions = {\r\n thousandsSeparator: '.',\r\n decimalSeparator: ',',\r\n currencySymbol: '',\r\n }),\r\n });\r\n }\r\n}\r\n","@if (field.mask) {\r\n <input\r\n sInputText\r\n class=\"mousetrap\"\r\n type=\"text\"\r\n [id]=\"field.name\"\r\n [name]=\"field.name\"\r\n [sInputMask]=\"mask\"\r\n [placeholder]=\"field.placeholder\"\r\n slotChar=\"_\"\r\n [sTooltip]=\"field.tooltip\"\r\n tooltipPosition=\"top\"\r\n [showDelay]=\"500\"\r\n [autoClear]=\"field.autoClear ?? false\"\r\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\r\n (focus)=\"field.onFocus ? field.onFocus($event) : null\"\r\n (maskComplete)=\"field.onComplete ? field.onComplete($event) : null\"\r\n (input)=\"field.onInput ? field.onInput($event) : null\"\r\n [(ngModel)]=\"tempValue\"\r\n />\r\n} @else {\r\n <ng-container>\r\n <div>\r\n @if (field.leftAddon) {\r\n @if (field.leftAddon.callback) {\r\n <span class=\"addon-button addon-button--left\">\r\n <s-button\r\n [label]=\"field.leftAddon.label\"\r\n [iconClass]=\"field.leftAddon.icon\"\r\n [priority]=\"field.leftAddon.priority\"\r\n [disabled]=\"leftAddonDisabled\"\r\n (clicked)=\"field.leftAddon.callback()\"\r\n >\r\n </s-button>\r\n </span>\r\n }\r\n @if (!field.leftAddon.callback) {\r\n <span>\r\n @if (field.leftAddon.label) {\r\n <span>{{ field.leftAddon.label }}</span>\r\n }\r\n @if (!field.leftAddon.label) {\r\n <span [ngClass]=\"field.leftAddon.icon\"></span>\r\n }\r\n </span>\r\n }\r\n }\r\n <input\r\n [id]=\"field.name\"\r\n type=\"text\"\r\n [name]=\"field.name\"\r\n sNumericMask\r\n [allowNegative]=\"field.allowNegative ?? false\"\r\n [precision]=\"precision\"\r\n [minDecimalPlaces]=\"scale\"\r\n [maxDecimalPlaces]=\"scale\"\r\n [blockDecimalOverflow]=\"false\"\r\n [sTooltip]=\"field.tooltip\"\r\n tooltipPosition=\"top\"\r\n [placeholder]=\"field.placeholder\"\r\n [showDelay]=\"500\"\r\n sInputText\r\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\r\n [ngClass]=\"'mousetrap'\"\r\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\r\n (focus)=\"field.onFocus ? field.onFocus($event) : null\"\r\n [(ngModel)]=\"tempValue\"\r\n />\r\n @if (field.rightAddon) {\r\n @if (field.rightAddon.callback) {\r\n <span class=\"addon-button addon-button--right\">\r\n <s-button\r\n [label]=\"field.rightAddon.label\"\r\n [iconClass]=\"field.rightAddon.icon\"\r\n [priority]=\"field.rightAddon.priority\"\r\n [disabled]=\"rightAddonDisabled\"\r\n (clicked)=\"field.rightAddon.callback()\"\r\n >\r\n </s-button>\r\n </span>\r\n }\r\n @if (!field.rightAddon.callback) {\r\n <span>\r\n @if (field.rightAddon.label) {\r\n <span>{{ field.rightAddon.label }}</span>\r\n }\r\n @if (!field.rightAddon.label) {\r\n <span [ngClass]=\"field.rightAddon.icon\"></span>\r\n }\r\n </span>\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditTextAreaField } from '../../../fields/inline-edit-text-area-field';\r\nimport { Textarea } from 'primeng/textarea';\r\nimport { KeyFilter } from 'primeng/keyfilter';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-text-area.component.html',\r\n styleUrls: ['./inline-edit-text-area.component.scss'],\r\n standalone: true,\r\n imports: [FormsModule, Textarea, KeyFilter],\r\n})\r\nexport class InlineEditTextAreaComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditTextAreaField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","@if(field.keyFilter) {\n <textarea\n [id]=\"field.name\"\n pTextarea\n class=\"textarea-input\"\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n [(ngModel)]=\"tempValue\"\n [pKeyFilter]=\"field.keyFilter\">\n </textarea>\n}@else {\n <textarea\n [id]=\"field.name\"\n pTextarea\n class=\"textarea-input\"\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n [(ngModel)]=\"tempValue\">\n </textarea>\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditTextField } from '../../../fields/inline-edit-text-field';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-text.component.html',\r\n styleUrls: ['./inline-edit-text.component.scss'],\r\n standalone: true,\r\n imports: [FormsModule],\r\n})\r\nexport class InlineEditTextComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditTextField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue!: string;\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","<input\n type=\"text\"\n sInputText\n [(ngModel)]=\"tempValue\" />","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditContentGeneratorField } from '../../../fields/inline-edit-content-generator-field';\r\nimport { DeprecatedSelectorDirective } from '@seniorsistemas/angular-components/common/deprecated-selector';\r\nimport { ContentGeneratorComponent } from '@seniorsistemas/angular-components/content-generator';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-content-generator.component.html',\r\n styleUrls: ['./inline-edit-content-generator.component.scss'],\r\n standalone: true,\r\n imports: [DeprecatedSelectorDirective, ContentGeneratorComponent, FormsModule],\r\n})\r\nexport class InlineEditContentGeneratorComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditContentGeneratorField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","<s-content-generator [(ngModel)]=\"tempValue\"></s-content-generator>","import { Component, ComponentRef, Input, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport {\r\n InlineEditCalendarComponent,\r\n InlineEditItemComponent,\r\n InlineEditLookupComponent,\r\n InlineEditNumberComponent,\r\n InlineEditTextAreaComponent,\r\n InlineEditContentGeneratorComponent,\r\n InlineEditTextComponent,\r\n} from './components/index';\r\nimport {\r\n InlineEditCalendarField,\r\n InlineEditField,\r\n InlineEditLookupField,\r\n InlineEditNumberField,\r\n InlineEditTextAreaField,\r\n InlineEditContentGeneratorField,\r\n InlineEditTextField,\r\n} from './fields/index';\r\n\r\n/**\r\n * @description Componente de edição inline que renderiza dinamicamente campos editáveis\r\n * (texto, número, data, textarea, lookup e gerador de conteúdo) a partir de uma lista\r\n * de configurações `InlineEditField[]`. Integrado a um `FormGroup` Angular fornecido externamente.\r\n *\r\n * @example\r\n * ```html\r\n * <s-inline-edit [formGroup]=\"form\" [fields]=\"camposEditaveis\" />\r\n * ```\r\n *\r\n * @category Inputs\r\n */\r\n@Component({\r\n selector: 's-inline-edit',\r\n templateUrl: './inline-edit.component.html',\r\n styleUrls: ['./inline-edit.component.scss'],\r\n standalone: true,\r\n})\r\nexport class InlineEditComponent implements OnInit {\r\n /** @description `FormGroup` Angular ao qual os campos inline serão vinculados. @default new FormGroup({}) */\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n /** @description Lista de configurações dos campos inline a serem renderizados. @default [] */\r\n @Input()\r\n public fields: InlineEditField[] = [];\r\n\r\n /** @description Mapa de mensagens de erro customizadas por nome de validador. */\r\n @Input()\r\n public errorMessages?: any;\r\n\r\n @ViewChild('formContainer', { read: ViewContainerRef, static: true })\r\n public container: ViewContainerRef | null = null;\r\n\r\n public ngOnInit(): void {\r\n this._createFields();\r\n }\r\n\r\n private _componentMap = {\r\n [InlineEditCalendarField.name]: InlineEditCalendarComponent,\r\n [InlineEditLookupField.name]: InlineEditLookupComponent,\r\n [InlineEditTextField.name]: InlineEditTextComponent,\r\n [InlineEditNumberField.name]: InlineEditNumberComponent,\r\n [InlineEditTextAreaField.name]: InlineEditTextAreaComponent,\r\n [InlineEditContentGeneratorField.name]: InlineEditContentGeneratorComponent,\r\n };\r\n\r\n private _createFields(): void {\r\n if (!this.container) {\r\n return;\r\n }\r\n this.container.clear();\r\n\r\n const createComponent = (componentClass: any, field: InlineEditField): ComponentRef<any> => {\r\n const componentRef = this.container!.createComponent(componentClass);\r\n (componentRef.instance as any).field = field;\r\n (componentRef.instance as any).formGroup = this.formGroup;\r\n return componentRef;\r\n };\r\n\r\n for (let field of this.fields) {\r\n let componentClass = this._componentMap[field.constructor.name];\r\n\r\n if (componentClass) {\r\n const inlineEditItemRef = this.container.createComponent(InlineEditItemComponent);\r\n inlineEditItemRef.instance.label = field.label;\r\n inlineEditItemRef.instance.formGroup = this.formGroup;\r\n inlineEditItemRef.instance.field = field;\r\n inlineEditItemRef.instance.errorMessages = this.errorMessages;\r\n const dynamicComponentRef = createComponent(componentClass, field);\r\n\r\n const inlineEditItemInstance = inlineEditItemRef.instance as InlineEditItemComponent;\r\n if (inlineEditItemInstance.viewContainerRef) {\r\n inlineEditItemInstance.viewContainerRef.insert(dynamicComponentRef.hostView);\r\n inlineEditItemInstance.setDynamicComponentRef(dynamicComponentRef);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"inline-edit\">\n <ng-template #formContainer></ng-template>\n</div>\n","import { NgModule } from '@angular/core';\r\n\r\nimport { InlineEditComponent } from './inline-edit.component';\r\n\r\n/**\r\n * @deprecated Será removido na v20. Importe diretamente o standalone `InlineEditComponent` (de\r\n * `@seniorsistemas/angular-components/inline-edit`) 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: [InlineEditComponent],\r\n exports: [InlineEditComponent],\r\n})\r\nexport class InlineEditModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DatepickerComponent_1"],"mappings":"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"}
|
|
@@ -36,6 +36,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
36
36
|
}, imports: [NgTemplateOutlet], template: "@let inputCornerClass =\n (leftAddon() ? '[&_input]:rounded-l-[0px] ' : '') + (rightAddon() ? '[&_input]:rounded-r-[0px]' : '');\n\n<ng-template\n #addonRender\n let-addon\n let-direction=\"direction\"\n>\n @let addonButtonClass =\n 'flex h-[35px] shrink-0 items-center justify-center gap-1 rounded-medium border border-grayscale-30 bg-grayscale-0 px-[10px] text-sm text-grayscale-90 transition-colors duration-200 ease-out hover:bg-grayscale-5 focus:outline focus:outline-2 focus:outline-offset-[-2px] focus:outline-[var(--s-focus-ring-color,#0090ff)] disabled:cursor-not-allowed disabled:border-grayscale-20 disabled:bg-grayscale-5 disabled:text-grayscale-30';\n\n @let className =\n addonButtonClass + ' ' + (direction === 'left' ? 'rounded-r-[0px] border-r-0' : 'rounded-l-[0px] border-l-0');\n <button\n type=\"button\"\n [class]=\"className\"\n [disabled]=\"isAddonDisabled(addon)\"\n (click)=\"addon.callback?.()\"\n >\n @if (addon.icon) {\n <i [class]=\"addon.icon\"></i>\n }\n @if (addon.label) {\n <span>{{ addon.label }} </span>\n }\n </button>\n</ng-template>\n\n<div\n [class]=\"inputCornerClass\"\n class=\"relative flex w-full items-stretch rounded-medium has-[input:focus]:outline has-[input:focus]:outline-2 has-[input:focus]:outline-offset-[-2px] has-[input:focus]:outline-[var(--s-focus-ring-color,#0090ff)] [&:has(input:focus)_input]:!border-grayscale-30 [&:has(input:focus)_input]:shadow-none [&:has(input:focus)_input]:outline-none [&:has(button:focus)_input]:!border-grayscale-30 [&:has(input.ng-invalid.ng-dirty):not(:focus-within)_button]:border-criticality-red\"\n>\n @if (leftAddon()) {\n <ng-container\n *ngTemplateOutlet=\"addonRender; context: { $implicit: leftAddon(), direction: 'left' }\"\n ></ng-container>\n }\n\n <ng-content select=\"input[sInputText]\"></ng-content>\n\n @if (rightAddon()) {\n <ng-container\n *ngTemplateOutlet=\"addonRender; context: { $implicit: rightAddon(), direction: 'right' }\"\n ></ng-container>\n }\n</div>\n\n" }]
|
|
37
37
|
}] });
|
|
38
38
|
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated Será removido na v20. Importe diretamente o standalone `InputGroupComponent` (de
|
|
41
|
+
* `@seniorsistemas/angular-components/input-group`) no lugar deste módulo.
|
|
42
|
+
*
|
|
43
|
+
* Migração automática (também executada pelo `ng update` na v20):
|
|
44
|
+
* `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`
|
|
45
|
+
*/
|
|
39
46
|
class InputGroupModule {
|
|
40
47
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
41
48
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: InputGroupModule, imports: [InputGroupComponent], exports: [InputGroupComponent] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components-input-group.mjs","sources":["../../projects/angular-components/input-group/src/lib/input-group/input-group.component.ts","../../projects/angular-components/input-group/src/lib/input-group/input-group.component.html","../../projects/angular-components/input-group/src/lib/input-group/input-group.module.ts","../../projects/angular-components/input-group/src/seniorsistemas-angular-components-input-group.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\n\nimport { InputGroupAddon } from './types/input-group-addon';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * @description Componente de layout que envolve um `<input sInputText>` (projetado via\n * `ng-content`) e adiciona botões internos à esquerda e/ou à direita do campo.\n *\n * O `<input>` projetado continua totalmente sob controle do consumidor — combine\n * livremente com `[formControl]`/`[(ngModel)]`, `sInputMask`, `pKeyFilter`, `sTooltip`, etc.\n *\n * @example\n * ```html\n * <s-input-group [leftAddon]=\"{ icon: 'pi pi-search', callback: buscar }\">\n * <input sInputText [formControl]=\"nome\" placeholder=\"Buscar...\" />\n * </s-input-group>\n * ```\n *\n * @category Structure\n */\n@Component({\n selector: 's-input-group',\n standalone: true,\n templateUrl: './input-group.component.html',\n host: {\n class: 'block w-full',\n },\n imports: [NgTemplateOutlet],\n})\nexport class InputGroupComponent {\n /** @description Configuração do botão exibido à esquerda do input. */\n leftAddon = input<InputGroupAddon>();\n\n /** @description Configuração do botão exibido à direita do input. */\n rightAddon = input<InputGroupAddon>();\n\n protected isAddonDisabled(addon: InputGroupAddon): boolean {\n return typeof addon.disabled === 'function' ? addon.disabled() : !!addon.disabled;\n }\n}\n\n","@let inputCornerClass =\n (leftAddon() ? '[&_input]:rounded-l-[0px] ' : '') + (rightAddon() ? '[&_input]:rounded-r-[0px]' : '');\n\n<ng-template\n #addonRender\n let-addon\n let-direction=\"direction\"\n>\n @let addonButtonClass =\n 'flex h-[35px] shrink-0 items-center justify-center gap-1 rounded-medium border border-grayscale-30 bg-grayscale-0 px-[10px] text-sm text-grayscale-90 transition-colors duration-200 ease-out hover:bg-grayscale-5 focus:outline focus:outline-2 focus:outline-offset-[-2px] focus:outline-[var(--s-focus-ring-color,#0090ff)] disabled:cursor-not-allowed disabled:border-grayscale-20 disabled:bg-grayscale-5 disabled:text-grayscale-30';\n\n @let className =\n addonButtonClass + ' ' + (direction === 'left' ? 'rounded-r-[0px] border-r-0' : 'rounded-l-[0px] border-l-0');\n <button\n type=\"button\"\n [class]=\"className\"\n [disabled]=\"isAddonDisabled(addon)\"\n (click)=\"addon.callback?.()\"\n >\n @if (addon.icon) {\n <i [class]=\"addon.icon\"></i>\n }\n @if (addon.label) {\n <span>{{ addon.label }} </span>\n }\n </button>\n</ng-template>\n\n<div\n [class]=\"inputCornerClass\"\n class=\"relative flex w-full items-stretch rounded-medium has-[input:focus]:outline has-[input:focus]:outline-2 has-[input:focus]:outline-offset-[-2px] has-[input:focus]:outline-[var(--s-focus-ring-color,#0090ff)] [&:has(input:focus)_input]:!border-grayscale-30 [&:has(input:focus)_input]:shadow-none [&:has(input:focus)_input]:outline-none [&:has(button:focus)_input]:!border-grayscale-30 [&:has(input.ng-invalid.ng-dirty):not(:focus-within)_button]:border-criticality-red\"\n>\n @if (leftAddon()) {\n <ng-container\n *ngTemplateOutlet=\"addonRender; context: { $implicit: leftAddon(), direction: 'left' }\"\n ></ng-container>\n }\n\n <ng-content select=\"input[sInputText]\"></ng-content>\n\n @if (rightAddon()) {\n <ng-container\n *ngTemplateOutlet=\"addonRender; context: { $implicit: rightAddon(), direction: 'right' }\"\n ></ng-container>\n }\n</div>\n\n","import { NgModule } from '@angular/core';\n\nimport { InputGroupComponent } from './input-group.component';\n\n@NgModule({\n imports: [InputGroupComponent],\n exports: [InputGroupComponent],\n})\nexport class InputGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAKA;;;;;;;;;;;;;;;AAeG;MAUU,mBAAmB,CAAA;;IAE5B,SAAS,GAAG,KAAK,EAAmB,CAAC;;IAGrC,UAAU,GAAG,KAAK,EAAmB,CAAC;AAE5B,IAAA,eAAe,CAAC,KAAsB,EAAA;QAC5C,OAAO,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;KACrF;wGATQ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9BhC,qnEA+CA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDnBc,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAEjB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAT/B,SAAS;+BACI,eAAe,EAAA,UAAA,EACb,IAAI,EAEV,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,cAAc;qBACxB,EACQ,OAAA,EAAA,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,qnEAAA,EAAA,CAAA;;;
|
|
1
|
+
{"version":3,"file":"seniorsistemas-angular-components-input-group.mjs","sources":["../../projects/angular-components/input-group/src/lib/input-group/input-group.component.ts","../../projects/angular-components/input-group/src/lib/input-group/input-group.component.html","../../projects/angular-components/input-group/src/lib/input-group/input-group.module.ts","../../projects/angular-components/input-group/src/seniorsistemas-angular-components-input-group.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\n\nimport { InputGroupAddon } from './types/input-group-addon';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * @description Componente de layout que envolve um `<input sInputText>` (projetado via\n * `ng-content`) e adiciona botões internos à esquerda e/ou à direita do campo.\n *\n * O `<input>` projetado continua totalmente sob controle do consumidor — combine\n * livremente com `[formControl]`/`[(ngModel)]`, `sInputMask`, `pKeyFilter`, `sTooltip`, etc.\n *\n * @example\n * ```html\n * <s-input-group [leftAddon]=\"{ icon: 'pi pi-search', callback: buscar }\">\n * <input sInputText [formControl]=\"nome\" placeholder=\"Buscar...\" />\n * </s-input-group>\n * ```\n *\n * @category Structure\n */\n@Component({\n selector: 's-input-group',\n standalone: true,\n templateUrl: './input-group.component.html',\n host: {\n class: 'block w-full',\n },\n imports: [NgTemplateOutlet],\n})\nexport class InputGroupComponent {\n /** @description Configuração do botão exibido à esquerda do input. */\n leftAddon = input<InputGroupAddon>();\n\n /** @description Configuração do botão exibido à direita do input. */\n rightAddon = input<InputGroupAddon>();\n\n protected isAddonDisabled(addon: InputGroupAddon): boolean {\n return typeof addon.disabled === 'function' ? addon.disabled() : !!addon.disabled;\n }\n}\n\n","@let inputCornerClass =\n (leftAddon() ? '[&_input]:rounded-l-[0px] ' : '') + (rightAddon() ? '[&_input]:rounded-r-[0px]' : '');\n\n<ng-template\n #addonRender\n let-addon\n let-direction=\"direction\"\n>\n @let addonButtonClass =\n 'flex h-[35px] shrink-0 items-center justify-center gap-1 rounded-medium border border-grayscale-30 bg-grayscale-0 px-[10px] text-sm text-grayscale-90 transition-colors duration-200 ease-out hover:bg-grayscale-5 focus:outline focus:outline-2 focus:outline-offset-[-2px] focus:outline-[var(--s-focus-ring-color,#0090ff)] disabled:cursor-not-allowed disabled:border-grayscale-20 disabled:bg-grayscale-5 disabled:text-grayscale-30';\n\n @let className =\n addonButtonClass + ' ' + (direction === 'left' ? 'rounded-r-[0px] border-r-0' : 'rounded-l-[0px] border-l-0');\n <button\n type=\"button\"\n [class]=\"className\"\n [disabled]=\"isAddonDisabled(addon)\"\n (click)=\"addon.callback?.()\"\n >\n @if (addon.icon) {\n <i [class]=\"addon.icon\"></i>\n }\n @if (addon.label) {\n <span>{{ addon.label }} </span>\n }\n </button>\n</ng-template>\n\n<div\n [class]=\"inputCornerClass\"\n class=\"relative flex w-full items-stretch rounded-medium has-[input:focus]:outline has-[input:focus]:outline-2 has-[input:focus]:outline-offset-[-2px] has-[input:focus]:outline-[var(--s-focus-ring-color,#0090ff)] [&:has(input:focus)_input]:!border-grayscale-30 [&:has(input:focus)_input]:shadow-none [&:has(input:focus)_input]:outline-none [&:has(button:focus)_input]:!border-grayscale-30 [&:has(input.ng-invalid.ng-dirty):not(:focus-within)_button]:border-criticality-red\"\n>\n @if (leftAddon()) {\n <ng-container\n *ngTemplateOutlet=\"addonRender; context: { $implicit: leftAddon(), direction: 'left' }\"\n ></ng-container>\n }\n\n <ng-content select=\"input[sInputText]\"></ng-content>\n\n @if (rightAddon()) {\n <ng-container\n *ngTemplateOutlet=\"addonRender; context: { $implicit: rightAddon(), direction: 'right' }\"\n ></ng-container>\n }\n</div>\n\n","import { NgModule } from '@angular/core';\n\nimport { InputGroupComponent } from './input-group.component';\n\n/**\n * @deprecated Será removido na v20. Importe diretamente o standalone `InputGroupComponent` (de\n * `@seniorsistemas/angular-components/input-group`) no lugar deste módulo.\n *\n * Migração automática (também executada pelo `ng update` na v20):\n * `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`\n */\n@NgModule({\n imports: [InputGroupComponent],\n exports: [InputGroupComponent],\n})\nexport class InputGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAKA;;;;;;;;;;;;;;;AAeG;MAUU,mBAAmB,CAAA;;IAE5B,SAAS,GAAG,KAAK,EAAmB,CAAC;;IAGrC,UAAU,GAAG,KAAK,EAAmB,CAAC;AAE5B,IAAA,eAAe,CAAC,KAAsB,EAAA;QAC5C,OAAO,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;KACrF;wGATQ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9BhC,qnEA+CA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDnBc,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAEjB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAT/B,SAAS;+BACI,eAAe,EAAA,UAAA,EACb,IAAI,EAEV,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,cAAc;qBACxB,EACQ,OAAA,EAAA,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,qnEAAA,EAAA,CAAA;;;AExB/B;;;;;;AAMG;MAKU,gBAAgB,CAAA;wGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAhB,gBAAgB,EAAA,OAAA,EAAA,CAHf,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACnB,mBAAmB,CAAA,EAAA,CAAA,CAAA;yGAEpB,gBAAgB,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,OAAO,EAAE,CAAC,mBAAmB,CAAC;AACjC,iBAAA,CAAA;;;ACdD;;AAEG;;;;"}
|
|
@@ -459,6 +459,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
459
459
|
}]
|
|
460
460
|
}] });
|
|
461
461
|
|
|
462
|
+
/**
|
|
463
|
+
* @deprecated Será removido na v20. Importe diretamente o standalone `InputMaskDirective` (de
|
|
464
|
+
* `@seniorsistemas/angular-components/input-mask`) no lugar deste módulo.
|
|
465
|
+
*
|
|
466
|
+
* Migração automática (também executada pelo `ng update` na v20):
|
|
467
|
+
* `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`
|
|
468
|
+
*/
|
|
462
469
|
class InputMaskModule {
|
|
463
470
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputMaskModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
464
471
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: InputMaskModule, imports: [InputMaskDirective], exports: [InputMaskDirective] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components-input-mask.mjs","sources":["../../projects/angular-components/input-mask/src/lib/input-mask/input-mask.directive.ts","../../projects/angular-components/input-mask/src/lib/input-mask/input-mask.module.ts","../../projects/angular-components/input-mask/src/seniorsistemas-angular-components-input-mask.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n forwardRef,\n inject,\n input,\n OnChanges,\n OnInit,\n output,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\ninterface MaskToken {\n type: 'literal' | 'digit' | 'alpha' | 'alphanumeric';\n char?: string;\n optional: boolean;\n}\n\n/**\n * @description Diretiva de máscara de entrada para campos de texto.\n *\n * Aplique `[sInputMask]` em qualquer `<input>` para aplicar uma máscara de formatação,\n * guiando a entrada do usuário com um padrão definido. Implementa ControlValueAccessor\n * e Validator para integração nativa com Angular Forms.\n *\n * **Slots de máscara:**\n * - `9` — dígito (0-9)\n * - `a` — letra (conforme `characterPattern`, padrão `[A-Za-z]`)\n * - `*` — alfanumérico (letra ou dígito)\n * - Outros caracteres são tratados como literais (ex: `.`, `-`, `/`, `(`, `)`)\n * - `?` — tudo após esse ponto na máscara é opcional\n *\n * @example\n * ```html\n * <!-- CPF -->\n * <input type=\"text\" [sInputMask]=\"'999.999.999-99'\" [(ngModel)]=\"cpf\" />\n *\n * <!-- Telefone com unmask -->\n * <input type=\"text\" [sInputMask]=\"'(99) 99999-9999'\" [unmask]=\"true\" [(ngModel)]=\"telefone\" />\n * ```\n * @category Input\n */\n@Directive({\n selector: 'input[sInputMask]',\n standalone: true,\n host: {\n '(keydown)': 'onKeyDown($event)',\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur($event)',\n '(paste)': 'onPaste($event)',\n '(click)': 'onClick()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputMaskDirective),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => InputMaskDirective),\n multi: true,\n },\n ],\n})\nexport class InputMaskDirective implements OnInit, OnChanges, ControlValueAccessor, Validator {\n /**\n * Padrão da máscara. Slots: `9` (dígito), `a` (letra), `*` (alfanumérico).\n * Demais caracteres são literais. `?` torna o restante da máscara opcional.\n */\n public mask = input<string | undefined>(undefined, { alias: 'sInputMask' });\n\n /**\n * Caractere exibido nas posições ainda não preenchidas.\n * @default '_'\n */\n public slotChar = input<string>('_');\n\n /**\n * Quando `true`, o modelo recebe apenas os caracteres digitados pelo usuário,\n * sem os literais da máscara. Quando `false`, o modelo recebe o valor completo\n * incluindo literais.\n * @default false\n */\n public unmask = input<boolean>(false);\n\n /**\n * Expressão regular usada para validar o slot `a` (letra).\n * @default '[A-Za-z]'\n */\n public characterPattern = input<string>('[A-Za-z]');\n\n /**\n * Quando `true`, limpa o campo ao perder o foco se a máscara estiver incompleta.\n * @default true\n */\n public autoClear = input<boolean>(true);\n\n /**\n * Emitido quando todos os slots obrigatórios da máscara estão preenchidos.\n * Emite o valor atual (mascarado ou não, conforme `unmask`).\n */\n public maskComplete = output<string>();\n\n private readonly el = inject(ElementRef<HTMLInputElement>);\n private readonly renderer = inject(Renderer2);\n\n private tokens: MaskToken[] = [];\n private buffer: string[] = [];\n private wasComplete = false;\n private lastValue: string | null = null;\n\n private onChange: (value: string | null) => void = () => {};\n private onTouched: () => void = () => {};\n\n public ngOnInit(): void {\n this.buildMask();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes['mask'] || changes['slotChar'] || changes['characterPattern']) {\n this.buildMask();\n if (this.mask()) {\n this.writeValue(this.lastValue);\n }\n }\n }\n\n private buildMask(): void {\n const maskStr = this.mask();\n if (!maskStr) {\n this.tokens = [];\n this.buffer = [];\n return;\n }\n this.tokens = this.parseMask(maskStr);\n this.resetBuffer();\n }\n\n private parseMask(mask: string): MaskToken[] {\n const tokens: MaskToken[] = [];\n let optional = false;\n\n for (let i = 0; i < mask.length; i++) {\n const ch = mask[i];\n\n if (ch === '?') {\n optional = true;\n continue;\n }\n\n switch (ch) {\n case '9':\n tokens.push({ type: 'digit', optional });\n break;\n case 'a':\n tokens.push({ type: 'alpha', optional });\n break;\n case '*':\n tokens.push({ type: 'alphanumeric', optional });\n break;\n default:\n tokens.push({ type: 'literal', char: ch, optional: false });\n break;\n }\n }\n\n return tokens;\n }\n\n private resetBuffer(): void {\n this.buffer = this.tokens.map((t) => (t.type === 'literal' ? t.char! : this.slotChar()));\n }\n\n private isValidChar(char: string, token: MaskToken): boolean {\n switch (token.type) {\n case 'digit':\n return /[0-9]/.test(char);\n case 'alpha':\n return new RegExp(this.characterPattern()).test(char);\n case 'alphanumeric':\n return /[A-Za-z0-9]/.test(char);\n default:\n return false;\n }\n }\n\n private isEditable(token: MaskToken): boolean {\n return token.type !== 'literal';\n }\n\n private nextEditablePos(from: number): number {\n for (let i = from; i < this.tokens.length; i++) {\n if (this.isEditable(this.tokens[i])) {\n return i;\n }\n }\n return this.tokens.length;\n }\n\n private prevEditablePos(from: number): number {\n for (let i = from; i >= 0; i--) {\n if (this.tokens[i] && this.isEditable(this.tokens[i])) {\n return i;\n }\n }\n return -1;\n }\n\n private setCursor(pos: number): void {\n const safePos = Math.min(pos, this.tokens.length);\n this.el.nativeElement.setSelectionRange(safePos, safePos);\n }\n\n private setInputValue(value: string): void {\n this.renderer.setProperty(this.el.nativeElement, 'value', value);\n }\n\n private getDisplayValue(): string {\n return this.buffer.join('');\n }\n\n private getBlurDisplayValue(): string {\n let lastFilledIndex = -1;\n for (let i = 0; i < this.buffer.length; i++) {\n if (this.tokens[i] && this.tokens[i].type !== 'literal' && this.buffer[i] !== this.slotChar()) {\n lastFilledIndex = i;\n }\n }\n if (lastFilledIndex === -1) return '';\n return this.buffer.slice(0, lastFilledIndex + 1).join('');\n }\n\n /**\n * Returns the value that should be set on the model.\n * Returns null when the user has not typed anything.\n */\n private getModelValue(): string | null {\n const hasInput = this.buffer.some(\n (ch, i) => this.tokens[i] && this.tokens[i].type !== 'literal' && ch !== this.slotChar(),\n );\n\n if (!hasInput) {\n return null;\n }\n\n if (this.unmask()) {\n return (\n this.buffer\n .filter((ch, i) => this.tokens[i] && this.tokens[i].type !== 'literal' && ch !== this.slotChar())\n .join('') || null\n );\n }\n\n return this.buffer.join('');\n }\n\n private clearRange(startPos: number, endPos: number): void {\n for (let i = startPos; i < endPos; i++) {\n if (this.tokens[i] && this.tokens[i].type !== 'literal') {\n this.buffer[i] = this.slotChar();\n }\n }\n this.setInputValue(this.getDisplayValue());\n }\n\n private isMaskComplete(): boolean {\n return this.tokens.every((token, i) => {\n if (token.type === 'literal' || token.optional) {\n return true;\n }\n\n return this.buffer[i] !== this.slotChar();\n });\n }\n\n private checkAndEmitComplete(): void {\n const complete = this.isMaskComplete();\n if (complete && !this.wasComplete) {\n this.wasComplete = true;\n this.maskComplete.emit(this.getModelValue() ?? '');\n } else if (!complete) {\n this.wasComplete = false;\n }\n }\n\n private dispatchInputEvent(): void {\n this.el.nativeElement.dispatchEvent(new Event('input', { bubbles: true }));\n }\n\n public onKeyDown(event: KeyboardEvent): void {\n if (!this.mask() || this.el.nativeElement.readOnly || this.el.nativeElement.disabled) {\n return;\n }\n\n const key = event.key;\n\n // Let the browser handle shortcuts (Ctrl/Cmd), Tab, and function keys\n if (event.ctrlKey || event.metaKey || key === 'Tab' || key.startsWith('F')) {\n return;\n }\n\n // Let the browser handle arrow navigation and Home/End natively\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(key)) {\n return;\n }\n\n const input = this.el.nativeElement;\n const startPos = input.selectionStart ?? 0;\n const endPos = input.selectionEnd ?? 0;\n\n if (key === 'Backspace') {\n event.preventDefault();\n if (startPos !== endPos) {\n this.clearRange(startPos, endPos);\n const nextPos = this.nextEditablePos(startPos);\n this.setCursor(nextPos < this.tokens.length ? nextPos : startPos);\n } else if (startPos > 0) {\n const pos = this.prevEditablePos(startPos - 1);\n if (pos >= 0) {\n this.buffer[pos] = this.slotChar();\n this.setInputValue(this.getDisplayValue());\n this.setCursor(pos);\n }\n }\n this.onChange(this.getModelValue());\n this.checkAndEmitComplete();\n this.dispatchInputEvent();\n return;\n }\n\n if (key === 'Delete') {\n event.preventDefault();\n if (startPos !== endPos) {\n this.clearRange(startPos, endPos);\n const nextPos = this.nextEditablePos(startPos);\n this.setCursor(nextPos < this.tokens.length ? nextPos : startPos);\n } else {\n const pos = this.nextEditablePos(startPos);\n if (pos < this.tokens.length) {\n this.buffer[pos] = this.slotChar();\n this.setInputValue(this.getDisplayValue());\n this.setCursor(pos);\n }\n }\n this.onChange(this.getModelValue());\n this.checkAndEmitComplete();\n this.dispatchInputEvent();\n return;\n }\n\n // Single printable character\n if (key.length === 1) {\n event.preventDefault();\n\n let insertPos = startPos;\n\n // Clear selection range if any\n if (startPos !== endPos) {\n this.clearRange(startPos, endPos);\n insertPos = startPos;\n }\n\n const pos = this.nextEditablePos(insertPos);\n if (pos >= this.tokens.length) {\n return;\n }\n\n const token = this.tokens[pos];\n\n if (!this.isValidChar(key, token)) {\n return;\n }\n\n this.buffer[pos] = key;\n this.setInputValue(this.getDisplayValue());\n\n const next = this.nextEditablePos(pos + 1);\n this.setCursor(next <= this.tokens.length ? next : this.tokens.length);\n\n this.onChange(this.getModelValue());\n this.checkAndEmitComplete();\n this.dispatchInputEvent();\n }\n }\n\n public onFocus(_event: FocusEvent): void {\n if (!this.mask()) {\n return;\n }\n\n // Always restore full mask display on focus (slot chars become visible)\n this.setInputValue(this.getDisplayValue());\n\n // Move cursor to the first empty editable slot\n const firstEmpty = this.buffer.findIndex(\n (ch, i) => this.tokens[i] && this.tokens[i].type !== 'literal' && ch === this.slotChar(),\n );\n\n this.setCursor(firstEmpty >= 0 ? firstEmpty : this.nextEditablePos(0));\n }\n\n public onBlur(_event: Event): void {\n if (!this.mask()) {\n return;\n }\n\n this.onTouched();\n\n if (!this.isMaskComplete()) {\n if (this.autoClear()) {\n this.resetBuffer();\n this.onChange(null);\n }\n this.setInputValue(this.getBlurDisplayValue());\n }\n }\n\n public onPaste(event: ClipboardEvent): void {\n if (!this.mask() || this.el.nativeElement.readOnly || this.el.nativeElement.disabled) {\n return;\n }\n\n event.preventDefault();\n\n const pastedText = event.clipboardData?.getData('text') ?? '';\n const input = this.el.nativeElement;\n const startPos = input.selectionStart ?? 0;\n const endPos = input.selectionEnd ?? 0;\n\n if (startPos !== endPos) {\n this.clearRange(startPos, endPos);\n }\n\n let pos = this.nextEditablePos(startPos);\n\n for (const ch of pastedText) {\n if (pos >= this.tokens.length) {\n break;\n }\n\n const token = this.tokens[pos];\n\n if (token.type === 'literal') {\n // Skip matching literal in pasted text; skip the literal slot regardless\n if (ch === token.char) {\n pos++;\n }\n pos = this.nextEditablePos(pos);\n continue;\n }\n\n if (this.isValidChar(ch, token)) {\n this.buffer[pos] = ch;\n pos = this.nextEditablePos(pos + 1);\n }\n }\n\n this.setInputValue(this.getDisplayValue());\n this.setCursor(pos <= this.tokens.length ? pos : this.tokens.length);\n this.onChange(this.getModelValue());\n this.checkAndEmitComplete();\n this.dispatchInputEvent();\n }\n\n public onClick(): void {\n if (!this.mask() || this.el.nativeElement.readOnly || this.el.nativeElement.disabled) {\n return;\n }\n\n const input = this.el.nativeElement;\n const pos = input.selectionStart ?? 0;\n\n // If cursor landed on a literal, nudge it to the nearest editable slot\n if (this.tokens[pos] && this.tokens[pos].type === 'literal') {\n this.setCursor(this.nextEditablePos(pos));\n }\n }\n\n public writeValue(value: string | null): void {\n this.lastValue = value;\n\n if (!this.mask()) {\n return;\n }\n\n this.resetBuffer();\n\n if (!value) {\n this.setInputValue('');\n return;\n }\n\n let bufferIdx = 0;\n let valueIdx = 0;\n\n while (valueIdx < value.length && bufferIdx < this.tokens.length) {\n const token = this.tokens[bufferIdx];\n const char = value[valueIdx];\n\n if (token.type === 'literal') {\n // Consume the literal character from value if it matches; always advance buffer\n if (char === token.char) valueIdx++;\n bufferIdx++;\n } else if (this.isValidChar(char, token)) {\n this.buffer[bufferIdx] = char;\n bufferIdx++;\n valueIdx++;\n } else {\n // Skip characters from value that do not match the current slot\n valueIdx++;\n }\n }\n\n this.setInputValue(this.getDisplayValue());\n }\n\n public registerOnChange(onChange: (value: string | null) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this.onTouched = onTouched;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.renderer.setProperty(this.el.nativeElement, 'disabled', isDisabled);\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n if (!this.mask() || !control.value) {\n return null;\n }\n\n if (!this.isMaskComplete()) {\n return { incompleteMask: { mask: this.mask() } };\n }\n\n return null;\n }\n}\n\n","import { NgModule } from '@angular/core';\n\nimport { InputMaskDirective } from './input-mask.directive';\n\n@NgModule({\n imports: [InputMaskDirective],\n exports: [InputMaskDirective],\n})\nexport class InputMaskModule {}\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-input-mask.mjs","sources":["../../projects/angular-components/input-mask/src/lib/input-mask/input-mask.directive.ts","../../projects/angular-components/input-mask/src/lib/input-mask/input-mask.module.ts","../../projects/angular-components/input-mask/src/seniorsistemas-angular-components-input-mask.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n forwardRef,\n inject,\n input,\n OnChanges,\n OnInit,\n output,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\ninterface MaskToken {\n type: 'literal' | 'digit' | 'alpha' | 'alphanumeric';\n char?: string;\n optional: boolean;\n}\n\n/**\n * @description Diretiva de máscara de entrada para campos de texto.\n *\n * Aplique `[sInputMask]` em qualquer `<input>` para aplicar uma máscara de formatação,\n * guiando a entrada do usuário com um padrão definido. Implementa ControlValueAccessor\n * e Validator para integração nativa com Angular Forms.\n *\n * **Slots de máscara:**\n * - `9` — dígito (0-9)\n * - `a` — letra (conforme `characterPattern`, padrão `[A-Za-z]`)\n * - `*` — alfanumérico (letra ou dígito)\n * - Outros caracteres são tratados como literais (ex: `.`, `-`, `/`, `(`, `)`)\n * - `?` — tudo após esse ponto na máscara é opcional\n *\n * @example\n * ```html\n * <!-- CPF -->\n * <input type=\"text\" [sInputMask]=\"'999.999.999-99'\" [(ngModel)]=\"cpf\" />\n *\n * <!-- Telefone com unmask -->\n * <input type=\"text\" [sInputMask]=\"'(99) 99999-9999'\" [unmask]=\"true\" [(ngModel)]=\"telefone\" />\n * ```\n * @category Input\n */\n@Directive({\n selector: 'input[sInputMask]',\n standalone: true,\n host: {\n '(keydown)': 'onKeyDown($event)',\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur($event)',\n '(paste)': 'onPaste($event)',\n '(click)': 'onClick()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputMaskDirective),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => InputMaskDirective),\n multi: true,\n },\n ],\n})\nexport class InputMaskDirective implements OnInit, OnChanges, ControlValueAccessor, Validator {\n /**\n * Padrão da máscara. Slots: `9` (dígito), `a` (letra), `*` (alfanumérico).\n * Demais caracteres são literais. `?` torna o restante da máscara opcional.\n */\n public mask = input<string | undefined>(undefined, { alias: 'sInputMask' });\n\n /**\n * Caractere exibido nas posições ainda não preenchidas.\n * @default '_'\n */\n public slotChar = input<string>('_');\n\n /**\n * Quando `true`, o modelo recebe apenas os caracteres digitados pelo usuário,\n * sem os literais da máscara. Quando `false`, o modelo recebe o valor completo\n * incluindo literais.\n * @default false\n */\n public unmask = input<boolean>(false);\n\n /**\n * Expressão regular usada para validar o slot `a` (letra).\n * @default '[A-Za-z]'\n */\n public characterPattern = input<string>('[A-Za-z]');\n\n /**\n * Quando `true`, limpa o campo ao perder o foco se a máscara estiver incompleta.\n * @default true\n */\n public autoClear = input<boolean>(true);\n\n /**\n * Emitido quando todos os slots obrigatórios da máscara estão preenchidos.\n * Emite o valor atual (mascarado ou não, conforme `unmask`).\n */\n public maskComplete = output<string>();\n\n private readonly el = inject(ElementRef<HTMLInputElement>);\n private readonly renderer = inject(Renderer2);\n\n private tokens: MaskToken[] = [];\n private buffer: string[] = [];\n private wasComplete = false;\n private lastValue: string | null = null;\n\n private onChange: (value: string | null) => void = () => {};\n private onTouched: () => void = () => {};\n\n public ngOnInit(): void {\n this.buildMask();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes['mask'] || changes['slotChar'] || changes['characterPattern']) {\n this.buildMask();\n if (this.mask()) {\n this.writeValue(this.lastValue);\n }\n }\n }\n\n private buildMask(): void {\n const maskStr = this.mask();\n if (!maskStr) {\n this.tokens = [];\n this.buffer = [];\n return;\n }\n this.tokens = this.parseMask(maskStr);\n this.resetBuffer();\n }\n\n private parseMask(mask: string): MaskToken[] {\n const tokens: MaskToken[] = [];\n let optional = false;\n\n for (let i = 0; i < mask.length; i++) {\n const ch = mask[i];\n\n if (ch === '?') {\n optional = true;\n continue;\n }\n\n switch (ch) {\n case '9':\n tokens.push({ type: 'digit', optional });\n break;\n case 'a':\n tokens.push({ type: 'alpha', optional });\n break;\n case '*':\n tokens.push({ type: 'alphanumeric', optional });\n break;\n default:\n tokens.push({ type: 'literal', char: ch, optional: false });\n break;\n }\n }\n\n return tokens;\n }\n\n private resetBuffer(): void {\n this.buffer = this.tokens.map((t) => (t.type === 'literal' ? t.char! : this.slotChar()));\n }\n\n private isValidChar(char: string, token: MaskToken): boolean {\n switch (token.type) {\n case 'digit':\n return /[0-9]/.test(char);\n case 'alpha':\n return new RegExp(this.characterPattern()).test(char);\n case 'alphanumeric':\n return /[A-Za-z0-9]/.test(char);\n default:\n return false;\n }\n }\n\n private isEditable(token: MaskToken): boolean {\n return token.type !== 'literal';\n }\n\n private nextEditablePos(from: number): number {\n for (let i = from; i < this.tokens.length; i++) {\n if (this.isEditable(this.tokens[i])) {\n return i;\n }\n }\n return this.tokens.length;\n }\n\n private prevEditablePos(from: number): number {\n for (let i = from; i >= 0; i--) {\n if (this.tokens[i] && this.isEditable(this.tokens[i])) {\n return i;\n }\n }\n return -1;\n }\n\n private setCursor(pos: number): void {\n const safePos = Math.min(pos, this.tokens.length);\n this.el.nativeElement.setSelectionRange(safePos, safePos);\n }\n\n private setInputValue(value: string): void {\n this.renderer.setProperty(this.el.nativeElement, 'value', value);\n }\n\n private getDisplayValue(): string {\n return this.buffer.join('');\n }\n\n private getBlurDisplayValue(): string {\n let lastFilledIndex = -1;\n for (let i = 0; i < this.buffer.length; i++) {\n if (this.tokens[i] && this.tokens[i].type !== 'literal' && this.buffer[i] !== this.slotChar()) {\n lastFilledIndex = i;\n }\n }\n if (lastFilledIndex === -1) return '';\n return this.buffer.slice(0, lastFilledIndex + 1).join('');\n }\n\n /**\n * Returns the value that should be set on the model.\n * Returns null when the user has not typed anything.\n */\n private getModelValue(): string | null {\n const hasInput = this.buffer.some(\n (ch, i) => this.tokens[i] && this.tokens[i].type !== 'literal' && ch !== this.slotChar(),\n );\n\n if (!hasInput) {\n return null;\n }\n\n if (this.unmask()) {\n return (\n this.buffer\n .filter((ch, i) => this.tokens[i] && this.tokens[i].type !== 'literal' && ch !== this.slotChar())\n .join('') || null\n );\n }\n\n return this.buffer.join('');\n }\n\n private clearRange(startPos: number, endPos: number): void {\n for (let i = startPos; i < endPos; i++) {\n if (this.tokens[i] && this.tokens[i].type !== 'literal') {\n this.buffer[i] = this.slotChar();\n }\n }\n this.setInputValue(this.getDisplayValue());\n }\n\n private isMaskComplete(): boolean {\n return this.tokens.every((token, i) => {\n if (token.type === 'literal' || token.optional) {\n return true;\n }\n\n return this.buffer[i] !== this.slotChar();\n });\n }\n\n private checkAndEmitComplete(): void {\n const complete = this.isMaskComplete();\n if (complete && !this.wasComplete) {\n this.wasComplete = true;\n this.maskComplete.emit(this.getModelValue() ?? '');\n } else if (!complete) {\n this.wasComplete = false;\n }\n }\n\n private dispatchInputEvent(): void {\n this.el.nativeElement.dispatchEvent(new Event('input', { bubbles: true }));\n }\n\n public onKeyDown(event: KeyboardEvent): void {\n if (!this.mask() || this.el.nativeElement.readOnly || this.el.nativeElement.disabled) {\n return;\n }\n\n const key = event.key;\n\n // Let the browser handle shortcuts (Ctrl/Cmd), Tab, and function keys\n if (event.ctrlKey || event.metaKey || key === 'Tab' || key.startsWith('F')) {\n return;\n }\n\n // Let the browser handle arrow navigation and Home/End natively\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(key)) {\n return;\n }\n\n const input = this.el.nativeElement;\n const startPos = input.selectionStart ?? 0;\n const endPos = input.selectionEnd ?? 0;\n\n if (key === 'Backspace') {\n event.preventDefault();\n if (startPos !== endPos) {\n this.clearRange(startPos, endPos);\n const nextPos = this.nextEditablePos(startPos);\n this.setCursor(nextPos < this.tokens.length ? nextPos : startPos);\n } else if (startPos > 0) {\n const pos = this.prevEditablePos(startPos - 1);\n if (pos >= 0) {\n this.buffer[pos] = this.slotChar();\n this.setInputValue(this.getDisplayValue());\n this.setCursor(pos);\n }\n }\n this.onChange(this.getModelValue());\n this.checkAndEmitComplete();\n this.dispatchInputEvent();\n return;\n }\n\n if (key === 'Delete') {\n event.preventDefault();\n if (startPos !== endPos) {\n this.clearRange(startPos, endPos);\n const nextPos = this.nextEditablePos(startPos);\n this.setCursor(nextPos < this.tokens.length ? nextPos : startPos);\n } else {\n const pos = this.nextEditablePos(startPos);\n if (pos < this.tokens.length) {\n this.buffer[pos] = this.slotChar();\n this.setInputValue(this.getDisplayValue());\n this.setCursor(pos);\n }\n }\n this.onChange(this.getModelValue());\n this.checkAndEmitComplete();\n this.dispatchInputEvent();\n return;\n }\n\n // Single printable character\n if (key.length === 1) {\n event.preventDefault();\n\n let insertPos = startPos;\n\n // Clear selection range if any\n if (startPos !== endPos) {\n this.clearRange(startPos, endPos);\n insertPos = startPos;\n }\n\n const pos = this.nextEditablePos(insertPos);\n if (pos >= this.tokens.length) {\n return;\n }\n\n const token = this.tokens[pos];\n\n if (!this.isValidChar(key, token)) {\n return;\n }\n\n this.buffer[pos] = key;\n this.setInputValue(this.getDisplayValue());\n\n const next = this.nextEditablePos(pos + 1);\n this.setCursor(next <= this.tokens.length ? next : this.tokens.length);\n\n this.onChange(this.getModelValue());\n this.checkAndEmitComplete();\n this.dispatchInputEvent();\n }\n }\n\n public onFocus(_event: FocusEvent): void {\n if (!this.mask()) {\n return;\n }\n\n // Always restore full mask display on focus (slot chars become visible)\n this.setInputValue(this.getDisplayValue());\n\n // Move cursor to the first empty editable slot\n const firstEmpty = this.buffer.findIndex(\n (ch, i) => this.tokens[i] && this.tokens[i].type !== 'literal' && ch === this.slotChar(),\n );\n\n this.setCursor(firstEmpty >= 0 ? firstEmpty : this.nextEditablePos(0));\n }\n\n public onBlur(_event: Event): void {\n if (!this.mask()) {\n return;\n }\n\n this.onTouched();\n\n if (!this.isMaskComplete()) {\n if (this.autoClear()) {\n this.resetBuffer();\n this.onChange(null);\n }\n this.setInputValue(this.getBlurDisplayValue());\n }\n }\n\n public onPaste(event: ClipboardEvent): void {\n if (!this.mask() || this.el.nativeElement.readOnly || this.el.nativeElement.disabled) {\n return;\n }\n\n event.preventDefault();\n\n const pastedText = event.clipboardData?.getData('text') ?? '';\n const input = this.el.nativeElement;\n const startPos = input.selectionStart ?? 0;\n const endPos = input.selectionEnd ?? 0;\n\n if (startPos !== endPos) {\n this.clearRange(startPos, endPos);\n }\n\n let pos = this.nextEditablePos(startPos);\n\n for (const ch of pastedText) {\n if (pos >= this.tokens.length) {\n break;\n }\n\n const token = this.tokens[pos];\n\n if (token.type === 'literal') {\n // Skip matching literal in pasted text; skip the literal slot regardless\n if (ch === token.char) {\n pos++;\n }\n pos = this.nextEditablePos(pos);\n continue;\n }\n\n if (this.isValidChar(ch, token)) {\n this.buffer[pos] = ch;\n pos = this.nextEditablePos(pos + 1);\n }\n }\n\n this.setInputValue(this.getDisplayValue());\n this.setCursor(pos <= this.tokens.length ? pos : this.tokens.length);\n this.onChange(this.getModelValue());\n this.checkAndEmitComplete();\n this.dispatchInputEvent();\n }\n\n public onClick(): void {\n if (!this.mask() || this.el.nativeElement.readOnly || this.el.nativeElement.disabled) {\n return;\n }\n\n const input = this.el.nativeElement;\n const pos = input.selectionStart ?? 0;\n\n // If cursor landed on a literal, nudge it to the nearest editable slot\n if (this.tokens[pos] && this.tokens[pos].type === 'literal') {\n this.setCursor(this.nextEditablePos(pos));\n }\n }\n\n public writeValue(value: string | null): void {\n this.lastValue = value;\n\n if (!this.mask()) {\n return;\n }\n\n this.resetBuffer();\n\n if (!value) {\n this.setInputValue('');\n return;\n }\n\n let bufferIdx = 0;\n let valueIdx = 0;\n\n while (valueIdx < value.length && bufferIdx < this.tokens.length) {\n const token = this.tokens[bufferIdx];\n const char = value[valueIdx];\n\n if (token.type === 'literal') {\n // Consume the literal character from value if it matches; always advance buffer\n if (char === token.char) valueIdx++;\n bufferIdx++;\n } else if (this.isValidChar(char, token)) {\n this.buffer[bufferIdx] = char;\n bufferIdx++;\n valueIdx++;\n } else {\n // Skip characters from value that do not match the current slot\n valueIdx++;\n }\n }\n\n this.setInputValue(this.getDisplayValue());\n }\n\n public registerOnChange(onChange: (value: string | null) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this.onTouched = onTouched;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.renderer.setProperty(this.el.nativeElement, 'disabled', isDisabled);\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n if (!this.mask() || !control.value) {\n return null;\n }\n\n if (!this.isMaskComplete()) {\n return { incompleteMask: { mask: this.mask() } };\n }\n\n return null;\n }\n}\n\n","import { NgModule } from '@angular/core';\n\nimport { InputMaskDirective } from './input-mask.directive';\n\n/**\n * @deprecated Será removido na v20. Importe diretamente o standalone `InputMaskDirective` (de\n * `@seniorsistemas/angular-components/input-mask`) no lugar deste módulo.\n *\n * Migração automática (também executada pelo `ng update` na v20):\n * `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`\n */\n@NgModule({\n imports: [InputMaskDirective],\n exports: [InputMaskDirective],\n})\nexport class InputMaskModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|