@seniorsistemas/angular-components 19.9.14-develop-23365630 → 19.9.15-develop-11ab86f5
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
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isReferenceIdentifier = isReferenceIdentifier;
|
|
4
|
+
exports.findReferences = findReferences;
|
|
5
|
+
exports.isArrayElement = isArrayElement;
|
|
6
|
+
exports.findNamedImport = findNamedImport;
|
|
7
|
+
exports.buildRemoveFromArraysChanges = buildRemoveFromArraysChanges;
|
|
8
|
+
exports.buildReplaceInArraysChanges = buildReplaceInArraysChanges;
|
|
9
|
+
exports.consumeRemovedLineBreaks = consumeRemovedLineBreaks;
|
|
10
|
+
exports.buildEnsureInModuleImportsChanges = buildEnsureInModuleImportsChanges;
|
|
11
|
+
const ts = require("typescript");
|
|
12
|
+
/** `false` para identificadores que não são uma referência ao símbolo (import, nome de propriedade, etc.). */
|
|
13
|
+
function isReferenceIdentifier(node) {
|
|
14
|
+
const parent = node.parent;
|
|
15
|
+
if (!parent)
|
|
16
|
+
return true;
|
|
17
|
+
if (ts.isImportSpecifier(parent) || ts.isExportSpecifier(parent))
|
|
18
|
+
return false;
|
|
19
|
+
if (ts.isImportClause(parent) || ts.isNamespaceImport(parent))
|
|
20
|
+
return false;
|
|
21
|
+
if (ts.isPropertyAccessExpression(parent) && parent.name === node)
|
|
22
|
+
return false;
|
|
23
|
+
if (ts.isQualifiedName(parent) && parent.right === node)
|
|
24
|
+
return false;
|
|
25
|
+
if (ts.isPropertyAssignment(parent) && parent.name === node)
|
|
26
|
+
return false;
|
|
27
|
+
if ((ts.isPropertyDeclaration(parent) ||
|
|
28
|
+
ts.isMethodDeclaration(parent) ||
|
|
29
|
+
ts.isPropertySignature(parent) ||
|
|
30
|
+
ts.isMethodSignature(parent) ||
|
|
31
|
+
ts.isGetAccessorDeclaration(parent) ||
|
|
32
|
+
ts.isSetAccessorDeclaration(parent) ||
|
|
33
|
+
ts.isEnumMember(parent)) &&
|
|
34
|
+
parent.name === node) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
function findReferences(sourceFile, name) {
|
|
40
|
+
const found = [];
|
|
41
|
+
const visit = (node) => {
|
|
42
|
+
if (ts.isIdentifier(node) && node.text === name && isReferenceIdentifier(node))
|
|
43
|
+
found.push(node);
|
|
44
|
+
ts.forEachChild(node, visit);
|
|
45
|
+
};
|
|
46
|
+
visit(sourceFile);
|
|
47
|
+
return found;
|
|
48
|
+
}
|
|
49
|
+
function isArrayElement(node) {
|
|
50
|
+
return ts.isArrayLiteralExpression(node.parent);
|
|
51
|
+
}
|
|
52
|
+
/** Import nomeado (sem alias) de `name` vindo exatamente de `moduleSpecifier`. */
|
|
53
|
+
function findNamedImport(sourceFile, name, moduleSpecifier) {
|
|
54
|
+
for (const statement of sourceFile.statements) {
|
|
55
|
+
if (!ts.isImportDeclaration(statement) || !ts.isStringLiteral(statement.moduleSpecifier))
|
|
56
|
+
continue;
|
|
57
|
+
if (statement.moduleSpecifier.text !== moduleSpecifier)
|
|
58
|
+
continue;
|
|
59
|
+
const bindings = statement.importClause?.namedBindings;
|
|
60
|
+
if (!bindings || !ts.isNamedImports(bindings))
|
|
61
|
+
continue;
|
|
62
|
+
const element = bindings.elements.find((el) => (el.propertyName ?? el.name).text === name);
|
|
63
|
+
if (element)
|
|
64
|
+
return { declaration: statement, element };
|
|
65
|
+
}
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Remove o identificador de todo array literal que o contém, preservando a formatação dos demais elementos.
|
|
70
|
+
*/
|
|
71
|
+
function buildRemoveFromArraysChanges(sourceFile, name) {
|
|
72
|
+
const changes = [];
|
|
73
|
+
const visit = (node) => {
|
|
74
|
+
if (ts.isArrayLiteralExpression(node)) {
|
|
75
|
+
const elements = [...node.elements];
|
|
76
|
+
const idx = elements.findIndex((el) => ts.isIdentifier(el) && el.text === name);
|
|
77
|
+
if (idx !== -1) {
|
|
78
|
+
const el = elements[idx];
|
|
79
|
+
if (elements.length === 1) {
|
|
80
|
+
changes.push({ start: el.getStart(sourceFile), end: el.getEnd(), replacement: '' });
|
|
81
|
+
}
|
|
82
|
+
else if (idx < elements.length - 1) {
|
|
83
|
+
changes.push({
|
|
84
|
+
start: el.getStart(sourceFile),
|
|
85
|
+
end: elements[idx + 1].getStart(sourceFile),
|
|
86
|
+
replacement: '',
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
changes.push({ start: elements[idx - 1].getEnd(), end: el.getEnd(), replacement: '' });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
ts.forEachChild(node, visit);
|
|
95
|
+
};
|
|
96
|
+
visit(sourceFile);
|
|
97
|
+
return changes;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Troca `oldName` por `newName` dentro dos arrays literais, no lugar, sem reformatar o array.
|
|
101
|
+
* Se `newName` já está no array, o antigo é removido. Com `keepOld`, o novo é acrescentado logo depois do antigo.
|
|
102
|
+
*/
|
|
103
|
+
function buildReplaceInArraysChanges(sourceFile, oldName, newName, keepOld) {
|
|
104
|
+
const changes = [];
|
|
105
|
+
const visit = (node) => {
|
|
106
|
+
if (ts.isArrayLiteralExpression(node)) {
|
|
107
|
+
const elements = [...node.elements];
|
|
108
|
+
const idx = elements.findIndex((el) => ts.isIdentifier(el) && el.text === oldName);
|
|
109
|
+
if (idx !== -1) {
|
|
110
|
+
const el = elements[idx];
|
|
111
|
+
const hasNew = elements.some((other) => ts.isIdentifier(other) && other.text === newName);
|
|
112
|
+
if (keepOld) {
|
|
113
|
+
if (!hasNew)
|
|
114
|
+
changes.push({ start: el.getEnd(), end: el.getEnd(), replacement: `, ${newName}` });
|
|
115
|
+
}
|
|
116
|
+
else if (hasNew) {
|
|
117
|
+
changes.push(...removeElementChange(sourceFile, elements, idx));
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
changes.push({ start: el.getStart(sourceFile), end: el.getEnd(), replacement: newName });
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
ts.forEachChild(node, visit);
|
|
125
|
+
};
|
|
126
|
+
visit(sourceFile);
|
|
127
|
+
return changes;
|
|
128
|
+
}
|
|
129
|
+
function removeElementChange(sourceFile, elements, idx) {
|
|
130
|
+
const el = elements[idx];
|
|
131
|
+
if (elements.length === 1)
|
|
132
|
+
return [{ start: el.getStart(sourceFile), end: el.getEnd(), replacement: '' }];
|
|
133
|
+
if (idx < elements.length - 1) {
|
|
134
|
+
return [{ start: el.getStart(sourceFile), end: elements[idx + 1].getStart(sourceFile), replacement: '' }];
|
|
135
|
+
}
|
|
136
|
+
return [{ start: elements[idx - 1].getEnd(), end: el.getEnd(), replacement: '' }];
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Quando uma mudança remove uma linha inteira (ex.: um `import` que ficou vazio), consome também a quebra de linha
|
|
140
|
+
* para não deixar uma linha em branco no lugar.
|
|
141
|
+
*/
|
|
142
|
+
function consumeRemovedLineBreaks(content, changes) {
|
|
143
|
+
return changes.map((change) => {
|
|
144
|
+
if (change.replacement !== '' || change.start === change.end)
|
|
145
|
+
return change;
|
|
146
|
+
const atLineStart = change.start === 0 || content[change.start - 1] === '\n';
|
|
147
|
+
const trailing = /^[ \t]*\r?\n/.exec(content.slice(change.end));
|
|
148
|
+
if (atLineStart && trailing)
|
|
149
|
+
return { ...change, end: change.end + trailing[0].length };
|
|
150
|
+
return change;
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Standalone em `exports` de um `@NgModule` também precisa estar em `imports` do mesmo módulo (o compilador rejeita
|
|
155
|
+
* standalone só exportado: NG6004). Quando `oldName` está em `exports` e o `imports` não o tem (nem tem `newName`),
|
|
156
|
+
* acrescenta `newName` ao `imports` (cria a propriedade se ela não existir). Não mexe se `imports` não é um array literal.
|
|
157
|
+
*/
|
|
158
|
+
function buildEnsureInModuleImportsChanges(sourceFile, oldName, newName) {
|
|
159
|
+
const content = sourceFile.text;
|
|
160
|
+
const changes = [];
|
|
161
|
+
const propertyArray = (obj, name) => obj.properties.find((p) => ts.isPropertyAssignment(p) && ts.isIdentifier(p.name) && p.name.text === name);
|
|
162
|
+
const hasIdentifier = (arr, name) => arr.elements.some((el) => ts.isIdentifier(el) && el.text === name);
|
|
163
|
+
const indentOf = (pos) => {
|
|
164
|
+
const lineStart = content.lastIndexOf('\n', pos - 1) + 1;
|
|
165
|
+
return /^[ \t]*/.exec(content.slice(lineStart, pos))?.[0] ?? '';
|
|
166
|
+
};
|
|
167
|
+
const visit = (node) => {
|
|
168
|
+
if (ts.isObjectLiteralExpression(node) &&
|
|
169
|
+
ts.isCallExpression(node.parent) &&
|
|
170
|
+
ts.isIdentifier(node.parent.expression) &&
|
|
171
|
+
node.parent.expression.text === 'NgModule') {
|
|
172
|
+
const exportsProp = propertyArray(node, 'exports');
|
|
173
|
+
if (exportsProp && ts.isArrayLiteralExpression(exportsProp.initializer) && hasIdentifier(exportsProp.initializer, oldName)) {
|
|
174
|
+
const importsProp = propertyArray(node, 'imports');
|
|
175
|
+
if (!importsProp) {
|
|
176
|
+
const start = exportsProp.getStart(sourceFile);
|
|
177
|
+
const ownLine = /^[ \t]*$/.test(content.slice(content.lastIndexOf('\n', start - 1) + 1, start));
|
|
178
|
+
const text = ownLine ? `imports: [${newName}],\n${indentOf(start)}` : `imports: [${newName}], `;
|
|
179
|
+
changes.push({ start, end: start, replacement: text });
|
|
180
|
+
}
|
|
181
|
+
else if (ts.isArrayLiteralExpression(importsProp.initializer)) {
|
|
182
|
+
const arr = importsProp.initializer;
|
|
183
|
+
if (!hasIdentifier(arr, oldName) && !hasIdentifier(arr, newName)) {
|
|
184
|
+
const last = arr.elements[arr.elements.length - 1];
|
|
185
|
+
if (!last) {
|
|
186
|
+
changes.push({ start: arr.getStart(sourceFile), end: arr.getEnd(), replacement: `[${newName}]` });
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
const multiline = content.slice(arr.getStart(sourceFile), arr.getEnd()).includes('\n');
|
|
190
|
+
const replacement = multiline ? `,\n${indentOf(last.getStart(sourceFile))}${newName}` : `, ${newName}`;
|
|
191
|
+
changes.push({ start: last.getEnd(), end: last.getEnd(), replacement });
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
ts.forEachChild(node, visit);
|
|
198
|
+
};
|
|
199
|
+
visit(sourceFile);
|
|
200
|
+
return changes;
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=symbol-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbol-utils.js","sourceRoot":"","sources":["../../../projects/angular-components/schematics/utils/symbol-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as ts from 'typescript';
|
|
2
|
+
import { AstChange } from './ast-utils';
|
|
3
|
+
export interface TemplateAttr {
|
|
4
|
+
/** Nome exato, ex.: `[scale]`, `(onCodeChange)`, `sBignumberInput`. */
|
|
5
|
+
name: string;
|
|
6
|
+
/** Início do nome. */
|
|
7
|
+
nameStart: number;
|
|
8
|
+
nameEnd: number;
|
|
9
|
+
/** Intervalo do atributo inteiro (nome + valor). */
|
|
10
|
+
start: number;
|
|
11
|
+
end: number;
|
|
12
|
+
/** Valor sem aspas, quando existe. */
|
|
13
|
+
value?: string;
|
|
14
|
+
/** Aspas usadas no valor (`"` ou `'`), quando existe valor com aspas. */
|
|
15
|
+
quote?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface TemplateTag {
|
|
18
|
+
name: string;
|
|
19
|
+
start: number;
|
|
20
|
+
end: number;
|
|
21
|
+
attrs: TemplateAttr[];
|
|
22
|
+
}
|
|
23
|
+
export interface TemplateManual {
|
|
24
|
+
/** Posição no texto original do template. */
|
|
25
|
+
index: number;
|
|
26
|
+
message: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Varre as tags de abertura de um template, respeitando aspas nos valores (um `>` dentro de `"..."` não encerra a tag)
|
|
30
|
+
* e ignorando comentários HTML. Só olha tags de abertura; é um scanner leve, não um parser completo.
|
|
31
|
+
*/
|
|
32
|
+
export declare function scanOpenTags(text: string): TemplateTag[];
|
|
33
|
+
/** Remove o atributo junto com o espaço que vem antes dele. */
|
|
34
|
+
export declare function buildRemoveAttrEdit(text: string, attr: TemplateAttr): AstChange;
|
|
35
|
+
export interface InlineTemplateSegment {
|
|
36
|
+
/** Início do conteúdo (depois da crase/aspas). */
|
|
37
|
+
start: number;
|
|
38
|
+
end: number;
|
|
39
|
+
/** `true` quando o literal é crase: aspas simples dentro do template não quebram o TypeScript. */
|
|
40
|
+
isBacktick: boolean;
|
|
41
|
+
}
|
|
42
|
+
/** Acha os literais usados como `template:` em arquivos TypeScript (componentes, stories, specs). */
|
|
43
|
+
export declare function findInlineTemplateSegments(sourceFile: ts.SourceFile): InlineTemplateSegment[];
|
|
44
|
+
export interface TemplateTransformResult {
|
|
45
|
+
updated: string;
|
|
46
|
+
manual: TemplateManual[];
|
|
47
|
+
}
|
|
48
|
+
export type TemplateTransform = (text: string, options: {
|
|
49
|
+
quotesSafe: boolean;
|
|
50
|
+
}) => TemplateTransformResult;
|
|
51
|
+
export interface FileTransformResult {
|
|
52
|
+
updated: string;
|
|
53
|
+
manual: Array<{
|
|
54
|
+
line: number;
|
|
55
|
+
message: string;
|
|
56
|
+
}>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Aplica `transform` ao conteúdo de um `.html` ou aos `template:` inline de um `.ts`.
|
|
60
|
+
* Os avisos voltam com a linha do arquivo original.
|
|
61
|
+
*/
|
|
62
|
+
export declare function transformTemplates(path: string, content: string, transform: TemplateTransform): FileTransformResult;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scanOpenTags = scanOpenTags;
|
|
4
|
+
exports.buildRemoveAttrEdit = buildRemoveAttrEdit;
|
|
5
|
+
exports.findInlineTemplateSegments = findInlineTemplateSegments;
|
|
6
|
+
exports.transformTemplates = transformTemplates;
|
|
7
|
+
const ts = require("typescript");
|
|
8
|
+
const ast_utils_1 = require("./ast-utils");
|
|
9
|
+
const report_1 = require("./report");
|
|
10
|
+
const WHITESPACE = /\s/;
|
|
11
|
+
const TAG_NAME = /^[A-Za-z][\w:.-]*$/;
|
|
12
|
+
/**
|
|
13
|
+
* Varre as tags de abertura de um template, respeitando aspas nos valores (um `>` dentro de `"..."` não encerra a tag)
|
|
14
|
+
* e ignorando comentários HTML. Só olha tags de abertura; é um scanner leve, não um parser completo.
|
|
15
|
+
*/
|
|
16
|
+
function scanOpenTags(text) {
|
|
17
|
+
const tags = [];
|
|
18
|
+
let i = 0;
|
|
19
|
+
while (i < text.length) {
|
|
20
|
+
if (text.startsWith('<!--', i)) {
|
|
21
|
+
const close = text.indexOf('-->', i + 4);
|
|
22
|
+
i = close === -1 ? text.length : close + 3;
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
if (text[i] !== '<' || !/[A-Za-z]/.test(text[i + 1] ?? '')) {
|
|
26
|
+
i++;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
const tag = readTag(text, i);
|
|
30
|
+
if (tag) {
|
|
31
|
+
tags.push(tag);
|
|
32
|
+
i = tag.end;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
i++;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return tags;
|
|
39
|
+
}
|
|
40
|
+
function readTag(text, start) {
|
|
41
|
+
let i = start + 1;
|
|
42
|
+
while (i < text.length && !WHITESPACE.test(text[i]) && text[i] !== '>' && !(text[i] === '/' && text[i + 1] === '>'))
|
|
43
|
+
i++;
|
|
44
|
+
const name = text.slice(start + 1, i);
|
|
45
|
+
if (!TAG_NAME.test(name))
|
|
46
|
+
return undefined;
|
|
47
|
+
const attrs = [];
|
|
48
|
+
while (i < text.length) {
|
|
49
|
+
while (i < text.length && WHITESPACE.test(text[i]))
|
|
50
|
+
i++;
|
|
51
|
+
if (i >= text.length)
|
|
52
|
+
return undefined;
|
|
53
|
+
if (text[i] === '>')
|
|
54
|
+
return { name, start, end: i + 1, attrs };
|
|
55
|
+
if (text[i] === '/' && text[i + 1] === '>')
|
|
56
|
+
return { name, start, end: i + 2, attrs };
|
|
57
|
+
if (text[i] === '/') {
|
|
58
|
+
i++;
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
const nameStart = i;
|
|
62
|
+
while (i < text.length &&
|
|
63
|
+
!WHITESPACE.test(text[i]) &&
|
|
64
|
+
text[i] !== '=' &&
|
|
65
|
+
text[i] !== '>' &&
|
|
66
|
+
!(text[i] === '/' && text[i + 1] === '>')) {
|
|
67
|
+
i++;
|
|
68
|
+
}
|
|
69
|
+
const attr = {
|
|
70
|
+
name: text.slice(nameStart, i),
|
|
71
|
+
nameStart,
|
|
72
|
+
nameEnd: i,
|
|
73
|
+
start: nameStart,
|
|
74
|
+
end: i,
|
|
75
|
+
};
|
|
76
|
+
let j = i;
|
|
77
|
+
while (j < text.length && WHITESPACE.test(text[j]))
|
|
78
|
+
j++;
|
|
79
|
+
if (text[j] === '=') {
|
|
80
|
+
j++;
|
|
81
|
+
while (j < text.length && WHITESPACE.test(text[j]))
|
|
82
|
+
j++;
|
|
83
|
+
if (text[j] === '"' || text[j] === "'") {
|
|
84
|
+
const quote = text[j];
|
|
85
|
+
const close = text.indexOf(quote, j + 1);
|
|
86
|
+
if (close === -1)
|
|
87
|
+
return undefined;
|
|
88
|
+
attr.value = text.slice(j + 1, close);
|
|
89
|
+
attr.quote = quote;
|
|
90
|
+
attr.end = close + 1;
|
|
91
|
+
i = close + 1;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
const valueStart = j;
|
|
95
|
+
while (j < text.length && !WHITESPACE.test(text[j]) && text[j] !== '>')
|
|
96
|
+
j++;
|
|
97
|
+
attr.value = text.slice(valueStart, j);
|
|
98
|
+
attr.end = j;
|
|
99
|
+
i = j;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (attrs.length > 200)
|
|
103
|
+
return undefined;
|
|
104
|
+
attrs.push(attr);
|
|
105
|
+
}
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
/** Remove o atributo junto com o espaço que vem antes dele. */
|
|
109
|
+
function buildRemoveAttrEdit(text, attr) {
|
|
110
|
+
let start = attr.start;
|
|
111
|
+
while (start > 0 && WHITESPACE.test(text[start - 1]))
|
|
112
|
+
start--;
|
|
113
|
+
return { start, end: attr.end, replacement: '' };
|
|
114
|
+
}
|
|
115
|
+
/** Acha os literais usados como `template:` em arquivos TypeScript (componentes, stories, specs). */
|
|
116
|
+
function findInlineTemplateSegments(sourceFile) {
|
|
117
|
+
const segments = [];
|
|
118
|
+
const visit = (node) => {
|
|
119
|
+
if (ts.isPropertyAssignment(node) &&
|
|
120
|
+
((ts.isIdentifier(node.name) && node.name.text === 'template') ||
|
|
121
|
+
(ts.isStringLiteral(node.name) && node.name.text === 'template'))) {
|
|
122
|
+
const init = node.initializer;
|
|
123
|
+
if (ts.isNoSubstitutionTemplateLiteral(init) || ts.isStringLiteral(init)) {
|
|
124
|
+
segments.push({
|
|
125
|
+
start: init.getStart(sourceFile) + 1,
|
|
126
|
+
end: init.getEnd() - 1,
|
|
127
|
+
isBacktick: ts.isNoSubstitutionTemplateLiteral(init),
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
ts.forEachChild(node, visit);
|
|
132
|
+
};
|
|
133
|
+
visit(sourceFile);
|
|
134
|
+
return segments;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Aplica `transform` ao conteúdo de um `.html` ou aos `template:` inline de um `.ts`.
|
|
138
|
+
* Os avisos voltam com a linha do arquivo original.
|
|
139
|
+
*/
|
|
140
|
+
function transformTemplates(path, content, transform) {
|
|
141
|
+
if (path.endsWith('.html')) {
|
|
142
|
+
const { updated, manual } = transform(content, { quotesSafe: true });
|
|
143
|
+
return { updated, manual: manual.map((m) => ({ line: (0, report_1.lineOf)(content, m.index), message: m.message })) };
|
|
144
|
+
}
|
|
145
|
+
if (!path.endsWith('.ts') || path.endsWith('.d.ts') || !content.includes('template')) {
|
|
146
|
+
return { updated: content, manual: [] };
|
|
147
|
+
}
|
|
148
|
+
const sourceFile = ts.createSourceFile(path, content, ts.ScriptTarget.Latest, true);
|
|
149
|
+
const changes = [];
|
|
150
|
+
const manual = [];
|
|
151
|
+
for (const segment of findInlineTemplateSegments(sourceFile)) {
|
|
152
|
+
const text = content.slice(segment.start, segment.end);
|
|
153
|
+
if (!text.includes('<') && !text.includes('|'))
|
|
154
|
+
continue;
|
|
155
|
+
const result = transform(text, { quotesSafe: segment.isBacktick });
|
|
156
|
+
if (result.updated !== text) {
|
|
157
|
+
changes.push({ start: segment.start, end: segment.end, replacement: result.updated });
|
|
158
|
+
}
|
|
159
|
+
for (const m of result.manual) {
|
|
160
|
+
manual.push({ line: (0, report_1.lineOf)(content, segment.start + m.index), message: m.message });
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return { updated: changes.length > 0 ? (0, ast_utils_1.applyChanges)(content, changes) : content, manual };
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=template-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-utils.js","sourceRoot":"","sources":["../../../projects/angular-components/schematics/utils/template-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Tree } from '@angular-devkit/schematics';
|
|
2
|
+
/** Dado um specifier não relativo (ex.: `~features/x/y`), devolve os caminhos base candidatos (sem extensão). */
|
|
3
|
+
export type AliasResolver = (specifier: string) => string[];
|
|
4
|
+
/** Cria um resolvedor dos `paths` dos tsconfig do workspace (`~alias/*` → pasta real). */
|
|
5
|
+
export declare function createAliasResolver(tree: Tree): AliasResolver;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createAliasResolver = createAliasResolver;
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const ts = require("typescript");
|
|
6
|
+
const CONFIG_FILES = ['tsconfig.json', 'tsconfig.base.json', 'tsconfig.app.json', 'src/tsconfig.app.json'];
|
|
7
|
+
const MAX_EXTENDS_DEPTH = 5;
|
|
8
|
+
function readJson(tree, file) {
|
|
9
|
+
if (!tree.exists(file))
|
|
10
|
+
return undefined;
|
|
11
|
+
const { config, error } = ts.parseConfigFileTextToJson(file, tree.readText(file));
|
|
12
|
+
return error ? undefined : config;
|
|
13
|
+
}
|
|
14
|
+
/** Lê `baseUrl`/`paths` de um tsconfig, seguindo `extends` relativo (o filho substitui o pai). */
|
|
15
|
+
function readPathsConfig(tree, file, depth = 0) {
|
|
16
|
+
const json = readJson(tree, file);
|
|
17
|
+
if (!json)
|
|
18
|
+
return undefined;
|
|
19
|
+
const dir = path.posix.dirname(file);
|
|
20
|
+
const options = (json['compilerOptions'] ?? {});
|
|
21
|
+
let inherited;
|
|
22
|
+
const extendsValue = json['extends'];
|
|
23
|
+
if (typeof extendsValue === 'string' && extendsValue.startsWith('.') && depth < MAX_EXTENDS_DEPTH) {
|
|
24
|
+
const parent = path.posix.normalize(path.posix.join(dir, extendsValue));
|
|
25
|
+
inherited = readPathsConfig(tree, parent.endsWith('.json') ? parent : `${parent}.json`, depth + 1);
|
|
26
|
+
}
|
|
27
|
+
const base = options.baseUrl !== undefined ? path.posix.normalize(path.posix.join(dir, options.baseUrl)) : undefined;
|
|
28
|
+
if (options.paths)
|
|
29
|
+
return { base: base ?? dir, paths: options.paths };
|
|
30
|
+
if (inherited && base !== undefined)
|
|
31
|
+
return { base, paths: inherited.paths };
|
|
32
|
+
return inherited;
|
|
33
|
+
}
|
|
34
|
+
function matchPattern(pattern, specifier) {
|
|
35
|
+
const star = pattern.indexOf('*');
|
|
36
|
+
if (star === -1)
|
|
37
|
+
return pattern === specifier ? '' : undefined;
|
|
38
|
+
const prefix = pattern.slice(0, star);
|
|
39
|
+
const suffix = pattern.slice(star + 1);
|
|
40
|
+
if (specifier.length < prefix.length + suffix.length)
|
|
41
|
+
return undefined;
|
|
42
|
+
if (!specifier.startsWith(prefix) || !specifier.endsWith(suffix))
|
|
43
|
+
return undefined;
|
|
44
|
+
return specifier.slice(prefix.length, specifier.length - suffix.length);
|
|
45
|
+
}
|
|
46
|
+
/** Cria um resolvedor dos `paths` dos tsconfig do workspace (`~alias/*` → pasta real). */
|
|
47
|
+
function createAliasResolver(tree) {
|
|
48
|
+
const configs = [];
|
|
49
|
+
for (const file of CONFIG_FILES) {
|
|
50
|
+
const config = readPathsConfig(tree, file);
|
|
51
|
+
if (config && Object.keys(config.paths).length > 0)
|
|
52
|
+
configs.push(config);
|
|
53
|
+
}
|
|
54
|
+
if (configs.length === 0)
|
|
55
|
+
return () => [];
|
|
56
|
+
return (specifier) => {
|
|
57
|
+
const candidates = [];
|
|
58
|
+
for (const { base, paths } of configs) {
|
|
59
|
+
for (const [pattern, targets] of Object.entries(paths)) {
|
|
60
|
+
const captured = matchPattern(pattern, specifier);
|
|
61
|
+
if (captured === undefined)
|
|
62
|
+
continue;
|
|
63
|
+
for (const target of targets) {
|
|
64
|
+
const resolved = path.posix.normalize(path.posix.join(base, target.replace('*', captured)));
|
|
65
|
+
if (!candidates.includes(resolved))
|
|
66
|
+
candidates.push(resolved);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return candidates;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=tsconfig-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsconfig-paths.js","sourceRoot":"","sources":["../../../projects/angular-components/schematics/utils/tsconfig-paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -164,6 +164,13 @@ export declare class SelectComponent<T> implements ControlValueAccessor, OnInit,
|
|
|
164
164
|
filter: FormControl<string>;
|
|
165
165
|
}>;
|
|
166
166
|
private readonly _containerDiv;
|
|
167
|
+
/**
|
|
168
|
+
* Largura do painel (igual à do trigger), medida quando o overlay é anexado. Ler `offsetWidth`
|
|
169
|
+
* direto no template mede layout durante o change detection e dispara NG0100 quando a largura
|
|
170
|
+
* muda entre duas verificações. Um resize da janela fecha o painel (`onWindowResize`), então
|
|
171
|
+
* medir na abertura basta.
|
|
172
|
+
*/
|
|
173
|
+
protected readonly panelWidth: import("@angular/core").WritableSignal<number | null>;
|
|
167
174
|
private readonly _filterInput;
|
|
168
175
|
private readonly _selectAllCheckbox;
|
|
169
176
|
private readonly _dropdownPanel;
|
|
@@ -252,6 +259,7 @@ export declare class SelectComponent<T> implements ControlValueAccessor, OnInit,
|
|
|
252
259
|
* Fecha o dropdown de opções caso ele esteja visível ao redimensionar a janela.
|
|
253
260
|
* @param _ Evento de redimensionamento da janela (não utilizado).
|
|
254
261
|
*/
|
|
262
|
+
protected _syncPanelWidth(): void;
|
|
255
263
|
onWindowResize(_: Event): void;
|
|
256
264
|
/**
|
|
257
265
|
* Manipula o evento de clique no elemento container da seleção.
|
package/select-button/README.md
CHANGED
|
@@ -20,10 +20,13 @@ Componente para seleção de uma ou múltiplas opções através de botões visu
|
|
|
20
20
|
## Instalação
|
|
21
21
|
|
|
22
22
|
```typescript
|
|
23
|
-
import {
|
|
23
|
+
import { SelectButtonComponent } from '@seniorsistemas/angular-components/select-button';
|
|
24
24
|
|
|
25
|
-
@
|
|
26
|
-
|
|
25
|
+
@Component({
|
|
26
|
+
standalone: true,
|
|
27
|
+
imports: [SelectButtonComponent],
|
|
28
|
+
})
|
|
29
|
+
export class MeuComponent {}
|
|
27
30
|
```
|
|
28
31
|
|
|
29
32
|
## Uso básico
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./select-button.component";
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Será removido na v20. Importe diretamente o standalone `SelectButtonComponent` (de
|
|
5
|
+
* `@seniorsistemas/angular-components/select-button`) no lugar deste módulo.
|
|
6
|
+
*
|
|
7
|
+
* Migração automática (também executada pelo `ng update` na v20):
|
|
8
|
+
* `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`
|
|
9
|
+
*/
|
|
3
10
|
export declare class SelectButtonModule {
|
|
4
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectButtonModule, never>;
|
|
5
12
|
static ɵmod: i0.ɵɵNgModuleDeclaration<SelectButtonModule, never, [typeof i1.SelectButtonComponent], [typeof i1.SelectButtonComponent]>;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./border-button.component";
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Será removido na v20. Importe diretamente o standalone `BorderButtonComponent` (de
|
|
5
|
+
* `@seniorsistemas/angular-components/shared`) no lugar deste módulo.
|
|
6
|
+
*
|
|
7
|
+
* Migração automática (também executada pelo `ng update` na v20):
|
|
8
|
+
* `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`
|
|
9
|
+
*/
|
|
3
10
|
export declare class BorderButtonModule {
|
|
4
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<BorderButtonModule, never>;
|
|
5
12
|
static ɵmod: i0.ɵɵNgModuleDeclaration<BorderButtonModule, never, [typeof i1.BorderButtonComponent], [typeof i1.BorderButtonComponent]>;
|
package/sidebar/README.md
CHANGED
|
@@ -12,7 +12,7 @@ O pacote `sidebar` re-exporta `DrawerComponent` e `DrawerModule` do pacote `@sen
|
|
|
12
12
|
|
|
13
13
|
## Quando não usar
|
|
14
14
|
|
|
15
|
-
- Em todo código novo — use `DrawerComponent`
|
|
15
|
+
- Em todo código novo — use `DrawerComponent` do pacote `@seniorsistemas/angular-components/drawer`
|
|
16
16
|
|
|
17
17
|
## Migração
|
|
18
18
|
|
|
@@ -21,7 +21,7 @@ O pacote `sidebar` re-exporta `DrawerComponent` e `DrawerModule` do pacote `@sen
|
|
|
21
21
|
import { SidebarModule } from '@seniorsistemas/angular-components/sidebar';
|
|
22
22
|
|
|
23
23
|
// Depois (recomendado)
|
|
24
|
-
import {
|
|
24
|
+
import { DrawerComponent } from '@seniorsistemas/angular-components/drawer';
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
```html
|
package/slide-in-bar/README.md
CHANGED
|
@@ -21,13 +21,13 @@ Componente de painel deslizante lateral que expande e colapsa ao clicar em um bo
|
|
|
21
21
|
## Instalação
|
|
22
22
|
|
|
23
23
|
```typescript
|
|
24
|
-
import {
|
|
24
|
+
import { SlideInBarComponent } from '@seniorsistemas/angular-components/slide-in-bar';
|
|
25
25
|
|
|
26
|
-
@
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
@Component({
|
|
27
|
+
standalone: true,
|
|
28
|
+
imports: [SlideInBarComponent],
|
|
29
29
|
})
|
|
30
|
-
export class
|
|
30
|
+
export class MeuComponent {}
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
## Uso básico
|