@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
|
@@ -35,6 +35,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
35
35
|
}]
|
|
36
36
|
}] });
|
|
37
37
|
|
|
38
|
+
/**
|
|
39
|
+
* @deprecated Será removido na v20. Importe diretamente o standalone `InputTextDirective` (de
|
|
40
|
+
* `@seniorsistemas/angular-components/input-text`) no lugar deste módulo.
|
|
41
|
+
*
|
|
42
|
+
* Migração automática (também executada pelo `ng update` na v20):
|
|
43
|
+
* `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`
|
|
44
|
+
*/
|
|
38
45
|
class InputTextModule {
|
|
39
46
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
40
47
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: InputTextModule, imports: [InputTextDirective], exports: [InputTextDirective] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components-input-text.mjs","sources":["../../projects/angular-components/input-text/src/lib/input-text/input-text.directive.ts","../../projects/angular-components/input-text/src/lib/input-text/input-text.module.ts","../../projects/angular-components/input-text/src/seniorsistemas-angular-components-input-text.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n/**\n * @description Diretiva de estilo que aplica a aparência visual padrão de campo de texto\n * (borda, fundo, tipografia e estados de foco, desabilitado e inválido) a um `<input>` nativo.\n *\n * É uma diretiva **apenas de estilo**: não implementa `ControlValueAccessor`, não gerencia\n * foco/ARIA e não depende de nenhum outro componente. Combine livremente com `[formControl]`,\n * `[(ngModel)]`, `sInputMask`, `pKeyFilter`, `sTooltip`, `[readOnly]`, etc. no mesmo elemento.\n *\n * O estado de erro (borda vermelha) aparece automaticamente quando o próprio elemento\n * hospedeiro recebe as classes `ng-invalid` e `ng-dirty` do Angular Forms — ou seja, quando\n * `[formControl]`/`[(ngModel)]` está no MESMO elemento que `sInputText`.\n *\n * @example\n * ```html\n * <input type=\"text\" sInputText [formControl]=\"nome\" placeholder=\"Digite seu nome\" />\n * ```\n * @category Input\n */\nconst HOST_CLASSES =\n 's-input-text w-full min-h-[35px] rounded-medium border border-grayscale-30 bg-grayscale-0 px-[10px] py-[5px] text-sm leading-[1.25] text-grayscale-90 placeholder:text-grayscale-60 transition-colors duration-200 ease-out focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)] disabled:border-grayscale-20 disabled:bg-grayscale-5 disabled:text-grayscale-30 [&.ng-invalid.ng-dirty]:border-criticality-red';\n\n@Directive({\n selector: 'input[sInputText]',\n standalone: true,\n host: {\n class: HOST_CLASSES,\n },\n})\nexport class InputTextDirective {}\n\n","import { NgModule } from '@angular/core';\n\nimport { InputTextDirective } from './input-text.directive';\n\n@NgModule({\n imports: [InputTextDirective],\n exports: [InputTextDirective],\n})\nexport class InputTextModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACH,MAAM,YAAY,GACd,weAAwe,CAAC;MAShe,kBAAkB,CAAA;wGAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,weAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,YAAY;AACtB,qBAAA;AACJ,iBAAA,CAAA;;;
|
|
1
|
+
{"version":3,"file":"seniorsistemas-angular-components-input-text.mjs","sources":["../../projects/angular-components/input-text/src/lib/input-text/input-text.directive.ts","../../projects/angular-components/input-text/src/lib/input-text/input-text.module.ts","../../projects/angular-components/input-text/src/seniorsistemas-angular-components-input-text.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n/**\n * @description Diretiva de estilo que aplica a aparência visual padrão de campo de texto\n * (borda, fundo, tipografia e estados de foco, desabilitado e inválido) a um `<input>` nativo.\n *\n * É uma diretiva **apenas de estilo**: não implementa `ControlValueAccessor`, não gerencia\n * foco/ARIA e não depende de nenhum outro componente. Combine livremente com `[formControl]`,\n * `[(ngModel)]`, `sInputMask`, `pKeyFilter`, `sTooltip`, `[readOnly]`, etc. no mesmo elemento.\n *\n * O estado de erro (borda vermelha) aparece automaticamente quando o próprio elemento\n * hospedeiro recebe as classes `ng-invalid` e `ng-dirty` do Angular Forms — ou seja, quando\n * `[formControl]`/`[(ngModel)]` está no MESMO elemento que `sInputText`.\n *\n * @example\n * ```html\n * <input type=\"text\" sInputText [formControl]=\"nome\" placeholder=\"Digite seu nome\" />\n * ```\n * @category Input\n */\nconst HOST_CLASSES =\n 's-input-text w-full min-h-[35px] rounded-medium border border-grayscale-30 bg-grayscale-0 px-[10px] py-[5px] text-sm leading-[1.25] text-grayscale-90 placeholder:text-grayscale-60 transition-colors duration-200 ease-out focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)] disabled:border-grayscale-20 disabled:bg-grayscale-5 disabled:text-grayscale-30 [&.ng-invalid.ng-dirty]:border-criticality-red';\n\n@Directive({\n selector: 'input[sInputText]',\n standalone: true,\n host: {\n class: HOST_CLASSES,\n },\n})\nexport class InputTextDirective {}\n\n","import { NgModule } from '@angular/core';\n\nimport { InputTextDirective } from './input-text.directive';\n\n/**\n * @deprecated Será removido na v20. Importe diretamente o standalone `InputTextDirective` (de\n * `@seniorsistemas/angular-components/input-text`) 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: [InputTextDirective],\n exports: [InputTextDirective],\n})\nexport class InputTextModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACH,MAAM,YAAY,GACd,weAAwe,CAAC;MAShe,kBAAkB,CAAA;wGAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,weAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,YAAY;AACtB,qBAAA;AACJ,iBAAA,CAAA;;;ACzBD;;;;;;AAMG;MAKU,eAAe,CAAA;wGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAf,eAAe,EAAA,OAAA,EAAA,CAHd,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAClB,kBAAkB,CAAA,EAAA,CAAA,CAAA;yGAEnB,eAAe,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,kBAAkB,CAAC;oBAC7B,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAChC,iBAAA,CAAA;;;ACdD;;AAEG;;;;"}
|
|
@@ -298,6 +298,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
298
298
|
args: [TemplateDirective]
|
|
299
299
|
}] } });
|
|
300
300
|
|
|
301
|
+
/**
|
|
302
|
+
* @deprecated Será removido na v20. Importe diretamente o standalone `InsightsComponent` (de
|
|
303
|
+
* `@seniorsistemas/angular-components/insights`) no lugar deste módulo.
|
|
304
|
+
*
|
|
305
|
+
* Este módulo também reexportava `TemplateDirective` (`@seniorsistemas/angular-components/template`, usado em
|
|
306
|
+
* templates por `[sTemplate]`). Se o seu template usa algum deles, importe-o diretamente.
|
|
307
|
+
*
|
|
308
|
+
* Migração automática (também executada pelo `ng update` na v20):
|
|
309
|
+
* `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`
|
|
310
|
+
*/
|
|
301
311
|
class InsightsModule {
|
|
302
312
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InsightsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
303
313
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: InsightsModule, imports: [TemplateModule, InsightsComponent], exports: [InsightsComponent, TemplateModule] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components-insights.mjs","sources":["../../projects/angular-components/insights/src/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.ts","../../projects/angular-components/insights/src/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.html","../../projects/angular-components/insights/src/lib/insights/components/insights-card/insights-card.component.ts","../../projects/angular-components/insights/src/lib/insights/components/insights-card/insights-card.component.html","../../projects/angular-components/insights/src/lib/insights/components/insights-sidebar/insights-sidebar.component.ts","../../projects/angular-components/insights/src/lib/insights/components/insights-sidebar/insights-sidebar.component.html","../../projects/angular-components/insights/src/lib/insights/insights.component.ts","../../projects/angular-components/insights/src/lib/insights/insights.component.html","../../projects/angular-components/insights/src/lib/insights/insights.module.ts","../../projects/angular-components/insights/src/seniorsistemas-angular-components-insights.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport { SVGFactoryDirective } from '@seniorsistemas/angular-components/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 's-insights-card-loader',\r\n templateUrl: './insights-card-loader.component.html',\r\n styleUrls: ['./insights-card-loader.component.scss'],\r\n standalone: true,\r\n imports: [SVGFactoryDirective, TranslatePipe],\r\n})\r\nexport class InsightsCardLoaderComponent {}\r\n","<div class=\"insights-card-loader\">\n <div class=\"loader\">\n <div class=\"loader-icon\">\n <div *sSVGFactory=\"'iassist'\"></div>\n </div>\n </div>\n \n <span class=\"loader-label\">{{ \"platform.angular_components.loading_insight\" | translate }}</span>\n</div>\n","import { Clipboard } from '@angular/cdk/clipboard';\r\nimport { Component, DestroyRef, Input, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\n\r\nimport { TranslateService, TranslatePipe } from '@ngx-translate/core';\r\nimport { ToastService } from '@seniorsistemas/angular-components/toast';\r\nimport { finalize, first } from 'rxjs/operators';\r\n\r\nimport { marked } from 'marked';\r\nimport { InsightsItem } from '../../models/insights-item';\r\nimport { NgClass } from '@angular/common';\r\nimport { BadgeComponent } from '@seniorsistemas/angular-components/badge';\r\nimport { InsightsCardLoaderComponent } from './components/insights-card-loader/insights-card-loader.component';\r\n\r\n/**\r\n * @description Ícones customizáveis do `s-insights-card`. Chaves não informadas mantêm o ícone padrão.\r\n */\r\nexport interface InsightsCardIcons {\r\n /** Ícone do badge \"Insight\" no cabeçalho. Padrão: `fal fa-lightbulb`. */\r\n lightbulb?: string;\r\n /** Ícone do botão de copiar conteúdo. Padrão: `fal fa-copy`. */\r\n copy?: string;\r\n /** Ícone do botão de recarregar conteúdo. Padrão: `fal fa-redo`. */\r\n redo?: string;\r\n /** Ícone do botão de like. Padrão: `fal fa-thumbs-up` (não selecionado) / `fas fa-thumbs-up` (selecionado). */\r\n thumbsUp?: string;\r\n /** Ícone do botão de dislike. Padrão: `fal fa-thumbs-down` (não selecionado) / `fas fa-thumbs-down` (selecionado). */\r\n thumbsDown?: string;\r\n}\r\n\r\n@Component({\r\n selector: 's-insights-card',\r\n templateUrl: './insights-card.component.html',\r\n styleUrls: ['./insights-card.component.scss'],\r\n standalone: true,\r\n imports: [NgClass, BadgeComponent, InsightsCardLoaderComponent, TranslatePipe],\r\n})\r\nexport class InsightsCardComponent {\r\n private readonly clipboard = inject(Clipboard);\r\n private readonly toastService = inject(ToastService);\r\n private readonly translateService = inject(TranslateService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @Input({ required: true })\r\n public insight!: InsightsItem;\r\n\r\n @Input()\r\n public icons?: InsightsCardIcons;\r\n\r\n public open = false;\r\n public isLoading = false;\r\n public content?: string;\r\n\r\n public likeSelected = false;\r\n public dislikeSelected = false;\r\n\r\n public get lightbulbIconClass(): string {\r\n return this.icons?.lightbulb ?? 'fal fa-lightbulb';\r\n }\r\n\r\n public get copyIconClass(): string {\r\n return this.icons?.copy ?? 'fal fa-copy';\r\n }\r\n\r\n public get redoIconClass(): string {\r\n return this.icons?.redo ?? 'fal fa-redo';\r\n }\r\n\r\n public get thumbsUpIconClass(): string {\r\n return this.icons?.thumbsUp ?? (this.likeSelected ? 'fas fa-thumbs-up' : 'fal fa-thumbs-up');\r\n }\r\n\r\n public get thumbsDownIconClass(): string {\r\n return this.icons?.thumbsDown ?? (this.dislikeSelected ? 'fas fa-thumbs-down' : 'fal fa-thumbs-down');\r\n }\r\n\r\n public toggle(): void {\r\n const newOpenState = !this.open;\r\n this.open = newOpenState;\r\n if (newOpenState === true && this.insight.onOpenSidebar) {\r\n this.insight.onOpenSidebar();\r\n } else if (newOpenState === false && this.insight.onCloseSideBar) {\r\n this.insight.onCloseSideBar();\r\n }\r\n if (newOpenState === true) {\r\n this._requestInsight();\r\n }\r\n }\r\n\r\n public onLikeSelected(): void {\r\n if (this.likeSelected) {\r\n this.likeSelected = false;\r\n } else {\r\n this.likeSelected = true;\r\n this.dislikeSelected = false;\r\n this.insight.onLikeSelected?.();\r\n }\r\n }\r\n\r\n public onDislikeSelected(): void {\r\n if (this.dislikeSelected) {\r\n this.dislikeSelected = false;\r\n } else {\r\n this.dislikeSelected = true;\r\n this.likeSelected = false;\r\n this.insight.onDislikeSelected?.();\r\n }\r\n }\r\n\r\n public copyContent(): void {\r\n if (!this.content) return;\r\n\r\n this.insight.onCopy?.(this.content);\r\n\r\n if (this.clipboard.copy(this.content)) {\r\n this.toastService.show({\r\n severity: 'info',\r\n title: this.translateService.instant('platform.angular_components.copied_to_clipboard'),\r\n });\r\n }\r\n }\r\n\r\n public reloadContent(): void {\r\n this._requestInsight();\r\n }\r\n\r\n private _requestInsight(): void {\r\n this.isLoading = true;\r\n\r\n this.insight.request$\r\n .pipe(\r\n first(),\r\n finalize(() => (this.isLoading = false)),\r\n takeUntilDestroyed(this._destroyRef),\r\n )\r\n .subscribe(async (content: string) => {\r\n this.content = await marked(content);\r\n if (this.insight.onContentLoaded) {\r\n this.insight.onContentLoaded();\r\n }\r\n });\r\n }\r\n}\r\n","<div\r\n class=\"insights-card\"\r\n [ngClass]=\"{ 'insights-card--close': !open }\"\r\n>\r\n <div\r\n class=\"header\"\r\n (click)=\"toggle()\"\r\n >\r\n <s-badge\r\n text=\"Insight\"\r\n [iconClass]=\"lightbulbIconClass\"\r\n ></s-badge>\r\n <span class=\"insight-title\">{{ insight.title }}</span>\r\n <span class=\"toggle-icon\">\r\n <i\r\n class=\"fas\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': !open,\r\n 'fa-angle-up': open,\r\n }\"\r\n >\r\n </i>\r\n </span>\r\n </div>\r\n <div class=\"content\">\r\n @if (isLoading) {\r\n <s-insights-card-loader></s-insights-card-loader>\r\n } @else {\r\n @if (content) {\r\n <span\r\n class=\"text\"\r\n [innerHTML]=\"content\"\r\n ></span>\r\n <span class=\"insight-footer\">{{ 'platform.angular_components.insight_footer' | translate }}</span>\r\n } @else {\r\n <span class=\"text text--error\">{{\r\n 'platform.angular_components.error_loading_insight_alt' | translate\r\n }}</span>\r\n }\r\n <div class=\"options\">\r\n <button\r\n [disabled]=\"!content\"\r\n (click)=\"copyContent()\"\r\n class=\"option\"\r\n >\r\n <i [class]=\"copyIconClass\"></i>\r\n </button>\r\n <button\r\n (click)=\"reloadContent()\"\r\n class=\"option\"\r\n >\r\n <i [class]=\"redoIconClass\"></i>\r\n </button>\r\n @if (insight.onLikeSelected) {\r\n <button\r\n [disabled]=\"!content\"\r\n (click)=\"onLikeSelected()\"\r\n class=\"option\"\r\n >\r\n <i [class]=\"thumbsUpIconClass\"></i>\r\n </button>\r\n }\r\n @if (insight.onDislikeSelected) {\r\n <button\r\n [disabled]=\"!content\"\r\n (click)=\"onDislikeSelected()\"\r\n class=\"option\"\r\n >\r\n <i [class]=\"thumbsDownIconClass\"></i>\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n","import { Component, Input, output, TemplateRef } from '@angular/core';\r\n\r\nimport { InsightsItem } from '../../models/index';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { InsightsCardComponent, InsightsCardIcons } from '../insights-card/insights-card.component';\r\nimport { SVGFactoryDirective } from '@seniorsistemas/angular-components/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 's-insights-sidebar',\r\n templateUrl: './insights-sidebar.component.html',\r\n styleUrls: ['./insights-sidebar.component.scss'],\r\n standalone: true,\r\n imports: [NgTemplateOutlet, InsightsCardComponent, SVGFactoryDirective, TranslatePipe],\r\n})\r\nexport class InsightsSidebarComponent {\r\n @Input()\r\n public insights: InsightsItem[] = [];\r\n\r\n @Input()\r\n public hasPermission = false;\r\n\r\n @Input()\r\n public introText?: string;\r\n\r\n @Input()\r\n public introTemplate: TemplateRef<any> | null = null;\r\n\r\n @Input()\r\n public emptyText?: string;\r\n\r\n @Input()\r\n public emptyTemplate: TemplateRef<any> | null = null;\r\n\r\n @Input()\r\n public noPermissionText?: string;\r\n\r\n @Input()\r\n public noPermissionTemplate: TemplateRef<any> | null = null;\r\n\r\n /**\r\n * @description Ícone do botão de fechar o sidebar.\r\n * @default 'far fa-chevron-double-right'\r\n */\r\n @Input()\r\n public closeIconClass = 'far fa-chevron-double-right';\r\n\r\n /** @description Ícones customizáveis de cada `s-insights-card` renderizado no sidebar. */\r\n @Input()\r\n public icons?: InsightsCardIcons;\r\n\r\n public closedSidebar = output<void>();\r\n\r\n public openedSidebar = output<void>();\r\n\r\n public opened = false;\r\n\r\n public toggle(): void {\r\n const newState = !this.opened;\r\n if (newState) {\r\n this.open();\r\n } else {\r\n this.close();\r\n }\r\n }\r\n\r\n public open(): void {\r\n this.opened = true;\r\n this.openedSidebar.emit();\r\n }\r\n\r\n public close(): void {\r\n this.opened = false;\r\n this.closedSidebar.emit();\r\n }\r\n}\r\n","<div\r\n class=\"sidebar\"\r\n [class.opened]=\"opened\"\r\n>\r\n <div class=\"header\">\r\n <button\r\n (click)=\"close()\"\r\n class=\"option\"\r\n >\r\n <span [class]=\"closeIconClass\"></span>\r\n </button>\r\n <div class=\"title\">\r\n <span><ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container></span>\r\n <span>IAssist Insights</span>\r\n </div>\r\n </div>\r\n <div class=\"intro\">\r\n @if (hasPermission) {\r\n @if (insights.length) {\r\n @if (introTemplate) {\r\n <ng-container *ngTemplateOutlet=\"introTemplate\"></ng-container>\r\n } @else {\r\n <span class=\"text\">{{ introText || 'platform.angular_components.insight_intro' | translate }}</span>\r\n }\r\n } @else {\r\n @if (emptyTemplate) {\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n } @else {\r\n <span class=\"text\">{{ emptyText || 'platform.angular_components.insight_empty' | translate }}</span>\r\n }\r\n }\r\n } @else {\r\n @if (noPermissionTemplate) {\r\n <ng-container *ngTemplateOutlet=\"noPermissionTemplate\"></ng-container>\r\n } @else {\r\n <span>{{ noPermissionText || 'platform.angular_components.insight_no_permission' | translate }}</span>\r\n }\r\n }\r\n </div>\r\n <div class=\"insights\">\r\n @if (insights.length) {\r\n @for (insight of insights; track insight) {\r\n <s-insights-card\r\n [insight]=\"insight\"\r\n [icons]=\"icons\"\r\n >\r\n </s-insights-card>\r\n }\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #iassistIcon>\r\n <div style=\"width: 28px; height: 28px\">\r\n <span *sSVGFactory=\"'iassist'\"></span>\r\n </div>\r\n</ng-template>\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n Input,\r\n output,\r\n QueryList,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nimport { DEPRECATED_CONFIG } from '@seniorsistemas/angular-components/common/deprecated-selector';\r\nimport { DeprecatedSelectorDirective } from '@seniorsistemas/angular-components/common/deprecated-selector';\r\nimport { TemplateDirective } from '@seniorsistemas/angular-components/template';\r\n\r\nimport { InsightsSidebarComponent } from './components/insights-sidebar/insights-sidebar.component';\r\nimport { InsightsCardIcons } from './components/insights-card/insights-card.component';\r\nimport { InsightsItem } from './models/insights-item';\r\nimport { InsightsTemplateTypes } from './models/insights-template-types';\r\n/**\r\n * @description Componente de painel lateral de insights com IA. Exibe uma lista de itens\r\n * de insights em um sidebar, suportando templates customizáveis para o conteúdo de\r\n * introdução, estado vazio e sem permissão. Também exporta como seletor legado `s-ia-insight`.\r\n *\r\n * @example\r\n * ```html\r\n * <s-insights\r\n * [insights]=\"listaInsights\"\r\n * [hasPermission]=\"true\"\r\n * (openInsights)=\"onAbrir()\" />\r\n * ```\r\n *\r\n * @category Structure\r\n */\r\n@Component({\r\n selector: 's-insights, s-ia-insight',\r\n templateUrl: './insights.component.html',\r\n hostDirectives: [DeprecatedSelectorDirective],\r\n providers: [\r\n {\r\n provide: DEPRECATED_CONFIG,\r\n useValue: {\r\n oldSelector: 's-ia-insight',\r\n newSelector: 's-insights',\r\n removalVersion: '20.0.0',\r\n },\r\n },\r\n ],\r\n standalone: true,\r\n imports: [InsightsSidebarComponent],\r\n})\r\nexport class InsightsComponent implements AfterContentInit {\r\n /** @description Lista de itens de insight a serem exibidos no painel. @default [] */\r\n @Input()\r\n public insights: InsightsItem[] = [];\r\n\r\n /** @description Indica se o usuário tem permissão para ver os insights. @default true */\r\n @Input()\r\n public hasPermission = true;\r\n\r\n /** @description Texto de introdução exibido no topo do painel (quando sem template customizado). */\r\n @Input()\r\n public introText?: string;\r\n\r\n /** @description Texto exibido quando não há insights disponíveis. */\r\n @Input()\r\n public emptyText?: string;\r\n\r\n /** @description Texto exibido quando o usuário não tem permissão. */\r\n @Input()\r\n public noPermissionText?: string;\r\n\r\n /**\r\n * @description Ícone do botão de fechar o sidebar.\r\n * @default 'far fa-chevron-double-right'\r\n */\r\n @Input()\r\n public closeIconClass = 'far fa-chevron-double-right';\r\n\r\n /** @description Ícones customizáveis de cada card de insight exibido no sidebar. */\r\n @Input()\r\n public icons?: InsightsCardIcons;\r\n\r\n @ViewChild(InsightsSidebarComponent)\r\n public sidebar: InsightsSidebarComponent | null = null;\r\n\r\n @ContentChildren(TemplateDirective)\r\n public templates: QueryList<TemplateDirective> | null = null;\r\n\r\n /** @description Emitido quando o painel de insights é aberto. */\r\n public openInsights = output<void>();\r\n\r\n /** @description Emitido quando o painel de insights é fechado. */\r\n public closedInsights = output<void>();\r\n\r\n public introTemplate: TemplateRef<any> | null = null;\r\n public emptyTemplate: TemplateRef<any> | null = null;\r\n public noPermissionTemplate: TemplateRef<any> | null = null;\r\n\r\n public ngAfterContentInit(): void {\r\n this._getTemplates();\r\n }\r\n\r\n public open(): void {\r\n this.sidebar?.open();\r\n }\r\n\r\n public close(): void {\r\n this.sidebar?.close();\r\n }\r\n\r\n public getIntroTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('intro');\r\n }\r\n\r\n public getNoPermissionTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('no-permission');\r\n }\r\n\r\n public getEmptyTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('empty');\r\n }\r\n\r\n private _getCustomTemplate(type: InsightsTemplateTypes): TemplateRef<any> | null {\r\n return this.templates?.find((template: TemplateDirective) => template.type === type)?.template ?? null;\r\n }\r\n\r\n private _getTemplates(): void {\r\n this.introTemplate = this.getIntroTemplate();\r\n this.emptyTemplate = this.getEmptyTemplate();\r\n this.noPermissionTemplate = this.getNoPermissionTemplate();\r\n }\r\n}\r\n","<s-insights-sidebar\n #sidebar\n [insights]=\"insights\"\n [hasPermission]=\"hasPermission\"\n [introText]=\"introText\"\n [introTemplate]=\"introTemplate\"\n [emptyText]=\"emptyText\"\n [emptyTemplate]=\"emptyTemplate\"\n [noPermissionText]=\"noPermissionText\"\n [noPermissionTemplate]=\"noPermissionTemplate\"\n [closeIconClass]=\"closeIconClass\"\n [icons]=\"icons\"\n (openedSidebar)=\"openInsights.emit()\"\n (closedSidebar)=\"closedInsights.emit()\"\n>\n</s-insights-sidebar>\n","import { NgModule } from '@angular/core';\r\n\r\nimport { TemplateModule } from '@seniorsistemas/angular-components/template';\r\n\r\nimport { InsightsComponent } from './insights.component';\r\n\r\n@NgModule({\r\n imports: [TemplateModule, InsightsComponent],\r\n exports: [InsightsComponent, TemplateModule],\r\n})\r\nexport class InsightsModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seniorsistemas-angular-components-insights.mjs","sources":["../../projects/angular-components/insights/src/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.ts","../../projects/angular-components/insights/src/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.html","../../projects/angular-components/insights/src/lib/insights/components/insights-card/insights-card.component.ts","../../projects/angular-components/insights/src/lib/insights/components/insights-card/insights-card.component.html","../../projects/angular-components/insights/src/lib/insights/components/insights-sidebar/insights-sidebar.component.ts","../../projects/angular-components/insights/src/lib/insights/components/insights-sidebar/insights-sidebar.component.html","../../projects/angular-components/insights/src/lib/insights/insights.component.ts","../../projects/angular-components/insights/src/lib/insights/insights.component.html","../../projects/angular-components/insights/src/lib/insights/insights.module.ts","../../projects/angular-components/insights/src/seniorsistemas-angular-components-insights.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport { SVGFactoryDirective } from '@seniorsistemas/angular-components/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 's-insights-card-loader',\r\n templateUrl: './insights-card-loader.component.html',\r\n styleUrls: ['./insights-card-loader.component.scss'],\r\n standalone: true,\r\n imports: [SVGFactoryDirective, TranslatePipe],\r\n})\r\nexport class InsightsCardLoaderComponent {}\r\n","<div class=\"insights-card-loader\">\n <div class=\"loader\">\n <div class=\"loader-icon\">\n <div *sSVGFactory=\"'iassist'\"></div>\n </div>\n </div>\n \n <span class=\"loader-label\">{{ \"platform.angular_components.loading_insight\" | translate }}</span>\n</div>\n","import { Clipboard } from '@angular/cdk/clipboard';\r\nimport { Component, DestroyRef, Input, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\n\r\nimport { TranslateService, TranslatePipe } from '@ngx-translate/core';\r\nimport { ToastService } from '@seniorsistemas/angular-components/toast';\r\nimport { finalize, first } from 'rxjs/operators';\r\n\r\nimport { marked } from 'marked';\r\nimport { InsightsItem } from '../../models/insights-item';\r\nimport { NgClass } from '@angular/common';\r\nimport { BadgeComponent } from '@seniorsistemas/angular-components/badge';\r\nimport { InsightsCardLoaderComponent } from './components/insights-card-loader/insights-card-loader.component';\r\n\r\n/**\r\n * @description Ícones customizáveis do `s-insights-card`. Chaves não informadas mantêm o ícone padrão.\r\n */\r\nexport interface InsightsCardIcons {\r\n /** Ícone do badge \"Insight\" no cabeçalho. Padrão: `fal fa-lightbulb`. */\r\n lightbulb?: string;\r\n /** Ícone do botão de copiar conteúdo. Padrão: `fal fa-copy`. */\r\n copy?: string;\r\n /** Ícone do botão de recarregar conteúdo. Padrão: `fal fa-redo`. */\r\n redo?: string;\r\n /** Ícone do botão de like. Padrão: `fal fa-thumbs-up` (não selecionado) / `fas fa-thumbs-up` (selecionado). */\r\n thumbsUp?: string;\r\n /** Ícone do botão de dislike. Padrão: `fal fa-thumbs-down` (não selecionado) / `fas fa-thumbs-down` (selecionado). */\r\n thumbsDown?: string;\r\n}\r\n\r\n@Component({\r\n selector: 's-insights-card',\r\n templateUrl: './insights-card.component.html',\r\n styleUrls: ['./insights-card.component.scss'],\r\n standalone: true,\r\n imports: [NgClass, BadgeComponent, InsightsCardLoaderComponent, TranslatePipe],\r\n})\r\nexport class InsightsCardComponent {\r\n private readonly clipboard = inject(Clipboard);\r\n private readonly toastService = inject(ToastService);\r\n private readonly translateService = inject(TranslateService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @Input({ required: true })\r\n public insight!: InsightsItem;\r\n\r\n @Input()\r\n public icons?: InsightsCardIcons;\r\n\r\n public open = false;\r\n public isLoading = false;\r\n public content?: string;\r\n\r\n public likeSelected = false;\r\n public dislikeSelected = false;\r\n\r\n public get lightbulbIconClass(): string {\r\n return this.icons?.lightbulb ?? 'fal fa-lightbulb';\r\n }\r\n\r\n public get copyIconClass(): string {\r\n return this.icons?.copy ?? 'fal fa-copy';\r\n }\r\n\r\n public get redoIconClass(): string {\r\n return this.icons?.redo ?? 'fal fa-redo';\r\n }\r\n\r\n public get thumbsUpIconClass(): string {\r\n return this.icons?.thumbsUp ?? (this.likeSelected ? 'fas fa-thumbs-up' : 'fal fa-thumbs-up');\r\n }\r\n\r\n public get thumbsDownIconClass(): string {\r\n return this.icons?.thumbsDown ?? (this.dislikeSelected ? 'fas fa-thumbs-down' : 'fal fa-thumbs-down');\r\n }\r\n\r\n public toggle(): void {\r\n const newOpenState = !this.open;\r\n this.open = newOpenState;\r\n if (newOpenState === true && this.insight.onOpenSidebar) {\r\n this.insight.onOpenSidebar();\r\n } else if (newOpenState === false && this.insight.onCloseSideBar) {\r\n this.insight.onCloseSideBar();\r\n }\r\n if (newOpenState === true) {\r\n this._requestInsight();\r\n }\r\n }\r\n\r\n public onLikeSelected(): void {\r\n if (this.likeSelected) {\r\n this.likeSelected = false;\r\n } else {\r\n this.likeSelected = true;\r\n this.dislikeSelected = false;\r\n this.insight.onLikeSelected?.();\r\n }\r\n }\r\n\r\n public onDislikeSelected(): void {\r\n if (this.dislikeSelected) {\r\n this.dislikeSelected = false;\r\n } else {\r\n this.dislikeSelected = true;\r\n this.likeSelected = false;\r\n this.insight.onDislikeSelected?.();\r\n }\r\n }\r\n\r\n public copyContent(): void {\r\n if (!this.content) return;\r\n\r\n this.insight.onCopy?.(this.content);\r\n\r\n if (this.clipboard.copy(this.content)) {\r\n this.toastService.show({\r\n severity: 'info',\r\n title: this.translateService.instant('platform.angular_components.copied_to_clipboard'),\r\n });\r\n }\r\n }\r\n\r\n public reloadContent(): void {\r\n this._requestInsight();\r\n }\r\n\r\n private _requestInsight(): void {\r\n this.isLoading = true;\r\n\r\n this.insight.request$\r\n .pipe(\r\n first(),\r\n finalize(() => (this.isLoading = false)),\r\n takeUntilDestroyed(this._destroyRef),\r\n )\r\n .subscribe(async (content: string) => {\r\n this.content = await marked(content);\r\n if (this.insight.onContentLoaded) {\r\n this.insight.onContentLoaded();\r\n }\r\n });\r\n }\r\n}\r\n","<div\r\n class=\"insights-card\"\r\n [ngClass]=\"{ 'insights-card--close': !open }\"\r\n>\r\n <div\r\n class=\"header\"\r\n (click)=\"toggle()\"\r\n >\r\n <s-badge\r\n text=\"Insight\"\r\n [iconClass]=\"lightbulbIconClass\"\r\n ></s-badge>\r\n <span class=\"insight-title\">{{ insight.title }}</span>\r\n <span class=\"toggle-icon\">\r\n <i\r\n class=\"fas\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': !open,\r\n 'fa-angle-up': open,\r\n }\"\r\n >\r\n </i>\r\n </span>\r\n </div>\r\n <div class=\"content\">\r\n @if (isLoading) {\r\n <s-insights-card-loader></s-insights-card-loader>\r\n } @else {\r\n @if (content) {\r\n <span\r\n class=\"text\"\r\n [innerHTML]=\"content\"\r\n ></span>\r\n <span class=\"insight-footer\">{{ 'platform.angular_components.insight_footer' | translate }}</span>\r\n } @else {\r\n <span class=\"text text--error\">{{\r\n 'platform.angular_components.error_loading_insight_alt' | translate\r\n }}</span>\r\n }\r\n <div class=\"options\">\r\n <button\r\n [disabled]=\"!content\"\r\n (click)=\"copyContent()\"\r\n class=\"option\"\r\n >\r\n <i [class]=\"copyIconClass\"></i>\r\n </button>\r\n <button\r\n (click)=\"reloadContent()\"\r\n class=\"option\"\r\n >\r\n <i [class]=\"redoIconClass\"></i>\r\n </button>\r\n @if (insight.onLikeSelected) {\r\n <button\r\n [disabled]=\"!content\"\r\n (click)=\"onLikeSelected()\"\r\n class=\"option\"\r\n >\r\n <i [class]=\"thumbsUpIconClass\"></i>\r\n </button>\r\n }\r\n @if (insight.onDislikeSelected) {\r\n <button\r\n [disabled]=\"!content\"\r\n (click)=\"onDislikeSelected()\"\r\n class=\"option\"\r\n >\r\n <i [class]=\"thumbsDownIconClass\"></i>\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n","import { Component, Input, output, TemplateRef } from '@angular/core';\r\n\r\nimport { InsightsItem } from '../../models/index';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { InsightsCardComponent, InsightsCardIcons } from '../insights-card/insights-card.component';\r\nimport { SVGFactoryDirective } from '@seniorsistemas/angular-components/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 's-insights-sidebar',\r\n templateUrl: './insights-sidebar.component.html',\r\n styleUrls: ['./insights-sidebar.component.scss'],\r\n standalone: true,\r\n imports: [NgTemplateOutlet, InsightsCardComponent, SVGFactoryDirective, TranslatePipe],\r\n})\r\nexport class InsightsSidebarComponent {\r\n @Input()\r\n public insights: InsightsItem[] = [];\r\n\r\n @Input()\r\n public hasPermission = false;\r\n\r\n @Input()\r\n public introText?: string;\r\n\r\n @Input()\r\n public introTemplate: TemplateRef<any> | null = null;\r\n\r\n @Input()\r\n public emptyText?: string;\r\n\r\n @Input()\r\n public emptyTemplate: TemplateRef<any> | null = null;\r\n\r\n @Input()\r\n public noPermissionText?: string;\r\n\r\n @Input()\r\n public noPermissionTemplate: TemplateRef<any> | null = null;\r\n\r\n /**\r\n * @description Ícone do botão de fechar o sidebar.\r\n * @default 'far fa-chevron-double-right'\r\n */\r\n @Input()\r\n public closeIconClass = 'far fa-chevron-double-right';\r\n\r\n /** @description Ícones customizáveis de cada `s-insights-card` renderizado no sidebar. */\r\n @Input()\r\n public icons?: InsightsCardIcons;\r\n\r\n public closedSidebar = output<void>();\r\n\r\n public openedSidebar = output<void>();\r\n\r\n public opened = false;\r\n\r\n public toggle(): void {\r\n const newState = !this.opened;\r\n if (newState) {\r\n this.open();\r\n } else {\r\n this.close();\r\n }\r\n }\r\n\r\n public open(): void {\r\n this.opened = true;\r\n this.openedSidebar.emit();\r\n }\r\n\r\n public close(): void {\r\n this.opened = false;\r\n this.closedSidebar.emit();\r\n }\r\n}\r\n","<div\r\n class=\"sidebar\"\r\n [class.opened]=\"opened\"\r\n>\r\n <div class=\"header\">\r\n <button\r\n (click)=\"close()\"\r\n class=\"option\"\r\n >\r\n <span [class]=\"closeIconClass\"></span>\r\n </button>\r\n <div class=\"title\">\r\n <span><ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container></span>\r\n <span>IAssist Insights</span>\r\n </div>\r\n </div>\r\n <div class=\"intro\">\r\n @if (hasPermission) {\r\n @if (insights.length) {\r\n @if (introTemplate) {\r\n <ng-container *ngTemplateOutlet=\"introTemplate\"></ng-container>\r\n } @else {\r\n <span class=\"text\">{{ introText || 'platform.angular_components.insight_intro' | translate }}</span>\r\n }\r\n } @else {\r\n @if (emptyTemplate) {\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n } @else {\r\n <span class=\"text\">{{ emptyText || 'platform.angular_components.insight_empty' | translate }}</span>\r\n }\r\n }\r\n } @else {\r\n @if (noPermissionTemplate) {\r\n <ng-container *ngTemplateOutlet=\"noPermissionTemplate\"></ng-container>\r\n } @else {\r\n <span>{{ noPermissionText || 'platform.angular_components.insight_no_permission' | translate }}</span>\r\n }\r\n }\r\n </div>\r\n <div class=\"insights\">\r\n @if (insights.length) {\r\n @for (insight of insights; track insight) {\r\n <s-insights-card\r\n [insight]=\"insight\"\r\n [icons]=\"icons\"\r\n >\r\n </s-insights-card>\r\n }\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #iassistIcon>\r\n <div style=\"width: 28px; height: 28px\">\r\n <span *sSVGFactory=\"'iassist'\"></span>\r\n </div>\r\n</ng-template>\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n Input,\r\n output,\r\n QueryList,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nimport { DEPRECATED_CONFIG } from '@seniorsistemas/angular-components/common/deprecated-selector';\r\nimport { DeprecatedSelectorDirective } from '@seniorsistemas/angular-components/common/deprecated-selector';\r\nimport { TemplateDirective } from '@seniorsistemas/angular-components/template';\r\n\r\nimport { InsightsSidebarComponent } from './components/insights-sidebar/insights-sidebar.component';\r\nimport { InsightsCardIcons } from './components/insights-card/insights-card.component';\r\nimport { InsightsItem } from './models/insights-item';\r\nimport { InsightsTemplateTypes } from './models/insights-template-types';\r\n/**\r\n * @description Componente de painel lateral de insights com IA. Exibe uma lista de itens\r\n * de insights em um sidebar, suportando templates customizáveis para o conteúdo de\r\n * introdução, estado vazio e sem permissão. Também exporta como seletor legado `s-ia-insight`.\r\n *\r\n * @example\r\n * ```html\r\n * <s-insights\r\n * [insights]=\"listaInsights\"\r\n * [hasPermission]=\"true\"\r\n * (openInsights)=\"onAbrir()\" />\r\n * ```\r\n *\r\n * @category Structure\r\n */\r\n@Component({\r\n selector: 's-insights, s-ia-insight',\r\n templateUrl: './insights.component.html',\r\n hostDirectives: [DeprecatedSelectorDirective],\r\n providers: [\r\n {\r\n provide: DEPRECATED_CONFIG,\r\n useValue: {\r\n oldSelector: 's-ia-insight',\r\n newSelector: 's-insights',\r\n removalVersion: '20.0.0',\r\n },\r\n },\r\n ],\r\n standalone: true,\r\n imports: [InsightsSidebarComponent],\r\n})\r\nexport class InsightsComponent implements AfterContentInit {\r\n /** @description Lista de itens de insight a serem exibidos no painel. @default [] */\r\n @Input()\r\n public insights: InsightsItem[] = [];\r\n\r\n /** @description Indica se o usuário tem permissão para ver os insights. @default true */\r\n @Input()\r\n public hasPermission = true;\r\n\r\n /** @description Texto de introdução exibido no topo do painel (quando sem template customizado). */\r\n @Input()\r\n public introText?: string;\r\n\r\n /** @description Texto exibido quando não há insights disponíveis. */\r\n @Input()\r\n public emptyText?: string;\r\n\r\n /** @description Texto exibido quando o usuário não tem permissão. */\r\n @Input()\r\n public noPermissionText?: string;\r\n\r\n /**\r\n * @description Ícone do botão de fechar o sidebar.\r\n * @default 'far fa-chevron-double-right'\r\n */\r\n @Input()\r\n public closeIconClass = 'far fa-chevron-double-right';\r\n\r\n /** @description Ícones customizáveis de cada card de insight exibido no sidebar. */\r\n @Input()\r\n public icons?: InsightsCardIcons;\r\n\r\n @ViewChild(InsightsSidebarComponent)\r\n public sidebar: InsightsSidebarComponent | null = null;\r\n\r\n @ContentChildren(TemplateDirective)\r\n public templates: QueryList<TemplateDirective> | null = null;\r\n\r\n /** @description Emitido quando o painel de insights é aberto. */\r\n public openInsights = output<void>();\r\n\r\n /** @description Emitido quando o painel de insights é fechado. */\r\n public closedInsights = output<void>();\r\n\r\n public introTemplate: TemplateRef<any> | null = null;\r\n public emptyTemplate: TemplateRef<any> | null = null;\r\n public noPermissionTemplate: TemplateRef<any> | null = null;\r\n\r\n public ngAfterContentInit(): void {\r\n this._getTemplates();\r\n }\r\n\r\n public open(): void {\r\n this.sidebar?.open();\r\n }\r\n\r\n public close(): void {\r\n this.sidebar?.close();\r\n }\r\n\r\n public getIntroTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('intro');\r\n }\r\n\r\n public getNoPermissionTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('no-permission');\r\n }\r\n\r\n public getEmptyTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('empty');\r\n }\r\n\r\n private _getCustomTemplate(type: InsightsTemplateTypes): TemplateRef<any> | null {\r\n return this.templates?.find((template: TemplateDirective) => template.type === type)?.template ?? null;\r\n }\r\n\r\n private _getTemplates(): void {\r\n this.introTemplate = this.getIntroTemplate();\r\n this.emptyTemplate = this.getEmptyTemplate();\r\n this.noPermissionTemplate = this.getNoPermissionTemplate();\r\n }\r\n}\r\n","<s-insights-sidebar\n #sidebar\n [insights]=\"insights\"\n [hasPermission]=\"hasPermission\"\n [introText]=\"introText\"\n [introTemplate]=\"introTemplate\"\n [emptyText]=\"emptyText\"\n [emptyTemplate]=\"emptyTemplate\"\n [noPermissionText]=\"noPermissionText\"\n [noPermissionTemplate]=\"noPermissionTemplate\"\n [closeIconClass]=\"closeIconClass\"\n [icons]=\"icons\"\n (openedSidebar)=\"openInsights.emit()\"\n (closedSidebar)=\"closedInsights.emit()\"\n>\n</s-insights-sidebar>\n","import { NgModule } from '@angular/core';\r\n\r\nimport { TemplateModule } from '@seniorsistemas/angular-components/template';\r\n\r\nimport { InsightsComponent } from './insights.component';\r\n\r\n/**\r\n * @deprecated Será removido na v20. Importe diretamente o standalone `InsightsComponent` (de\r\n * `@seniorsistemas/angular-components/insights`) no lugar deste módulo.\r\n *\r\n * Este módulo também reexportava `TemplateDirective` (`@seniorsistemas/angular-components/template`, usado em\r\n * templates por `[sTemplate]`). Se o seu template usa algum deles, importe-o diretamente.\r\n *\r\n * Migração automática (também executada pelo `ng update` na v20):\r\n * `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`\r\n */\r\n@NgModule({\r\n imports: [TemplateModule, InsightsComponent],\r\n exports: [InsightsComponent, TemplateModule],\r\n})\r\nexport class InsightsModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -30,10 +30,11 @@ class KanbanEventService {
|
|
|
30
30
|
this.unselectItemEvent.emit(item);
|
|
31
31
|
}
|
|
32
32
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanEventService });
|
|
33
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanEventService, providedIn: 'root' });
|
|
34
34
|
}
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanEventService, decorators: [{
|
|
36
|
-
type: Injectable
|
|
36
|
+
type: Injectable,
|
|
37
|
+
args: [{ providedIn: 'root' }]
|
|
37
38
|
}] });
|
|
38
39
|
|
|
39
40
|
class KanbanColumnComponent {
|
|
@@ -425,6 +426,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
425
426
|
args: [TemplateDirective]
|
|
426
427
|
}] } });
|
|
427
428
|
|
|
429
|
+
/**
|
|
430
|
+
* @deprecated Será removido na v20. Importe diretamente o standalone `KanbanComponent` (de
|
|
431
|
+
* `@seniorsistemas/angular-components/kanban`) no lugar deste módulo.
|
|
432
|
+
*
|
|
433
|
+
* Este módulo também reexportava `TemplateDirective` (`@seniorsistemas/angular-components/template`, usado em
|
|
434
|
+
* templates por `[sTemplate]`). Se o seu template usa algum deles, importe-o diretamente.
|
|
435
|
+
*
|
|
436
|
+
* Migração automática (também executada pelo `ng update` na v20):
|
|
437
|
+
* `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`
|
|
438
|
+
*/
|
|
428
439
|
class KanbanModule {
|
|
429
440
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
430
441
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: KanbanModule, imports: [TemplateModule, KanbanComponent], exports: [KanbanComponent, TemplateModule] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components-kanban.mjs","sources":["../../projects/angular-components/kanban/src/lib/kanban/kanban-event.service.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-column/kanban-column.component.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-column/kanban-column.component.html","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.html","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item/kanban-item.component.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item/kanban-item.component.html","../../projects/angular-components/kanban/src/lib/kanban/kanban.component.ts","../../projects/angular-components/kanban/src/lib/kanban/kanban.component.html","../../projects/angular-components/kanban/src/lib/kanban/kanban.module.ts","../../projects/angular-components/kanban/src/seniorsistemas-angular-components-kanban.ts"],"sourcesContent":["import { EventEmitter, Injectable } from '@angular/core';\n\nimport { KanbanColumn, KanbanItem } from './types';\n\n@Injectable()\nexport class KanbanEventService {\n public selectAllColumnItemsEvent = new EventEmitter<KanbanColumn>();\n public unselectAllColumnItemsEvent = new EventEmitter<KanbanColumn>();\n public selectItemEvent = new EventEmitter<KanbanItem>();\n public unselectItemEvent = new EventEmitter<KanbanItem>();\n\n public emitSelectAllColumnItemsEvent(column: KanbanColumn): void {\n this.selectAllColumnItemsEvent.emit(column);\n }\n\n public emitUnselectAllColumnItemsEvent(column: KanbanColumn): void {\n this.unselectAllColumnItemsEvent.emit(column);\n }\n\n public emitSelectItemEvent(item: KanbanItem): void {\n this.selectItemEvent.emit(item);\n }\n\n public emitUnselectItemEvent(item: KanbanItem): void {\n this.unselectItemEvent.emit(item);\n }\n}\n","import { Component, Input, OnDestroy, OnInit, TemplateRef, inject } from '@angular/core';\r\n\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { KanbanColumn, KanbanItem } from '../../types';\r\nimport { KanbanEventService } from '../../kanban-event.service';\r\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { KanbanColumnOption } from '../../types/kanban-data';\r\nimport { TieredMenuItemData } from '@seniorsistemas/angular-components/tiered-menu';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { ButtonComponent } from '@seniorsistemas/angular-components/button';\r\n\r\n@Component({\r\n selector: 's-kanban-column',\r\n templateUrl: './kanban-column.component.html',\r\n styleUrls: ['./kanban-column.component.scss'],\r\n standalone: true,\r\n imports: [FormsModule, ReactiveFormsModule, NgTemplateOutlet, ButtonComponent],\r\n})\r\nexport class KanbanColumnComponent implements OnInit, OnDestroy {\r\n private readonly kanbanEventService = inject(KanbanEventService);\r\n\r\n @Input({ required: true })\r\n public data!: KanbanColumn;\r\n\r\n @Input()\r\n public showCheckbox = true;\r\n\r\n @Input()\r\n public headerTemplate: TemplateRef<any> | null = null;\r\n\r\n public selectionControl = new FormControl(false);\r\n public tieredMenuOptions!: TieredMenuItemData[];\r\n\r\n private _unsubscribe$ = new Subject<void>();\r\n\r\n public ngOnInit(): void {\r\n this._validateInputs();\r\n this._subscriveEvents();\r\n\r\n this._createTieredOptions();\r\n\r\n this.tieredMenuOptions = this.data.options ? (this.data.options as TieredMenuItemData[]) : [];\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._unsubscribe$.next();\r\n this._unsubscribe$.complete();\r\n }\r\n\r\n private _createTieredOptions(): void {\r\n if (!this.data.options) return;\r\n\r\n const options: KanbanColumnOption[] = [];\r\n\r\n this.data.options.forEach((option: KanbanColumnOption) => {\r\n options.push({\r\n ...option,\r\n command: () => {\r\n option.command(this.data);\r\n },\r\n });\r\n });\r\n\r\n this.data.options = options;\r\n }\r\n\r\n private _subscriveEvents(): void {\r\n this.selectionControl.valueChanges.pipe(takeUntil(this._unsubscribe$)).subscribe((value: boolean | null) => {\r\n if (value) {\r\n this.kanbanEventService.emitSelectAllColumnItemsEvent(this.data);\r\n } else {\r\n this.kanbanEventService.emitUnselectAllColumnItemsEvent(this.data);\r\n }\r\n });\r\n\r\n this.kanbanEventService.unselectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((_) => {\r\n this.selectionControl.setValue(false, { emitEvent: false });\r\n });\r\n\r\n this.kanbanEventService.selectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item: KanbanItem) => {\r\n if (!this.data.items.includes(item)) {\r\n this.selectionControl.setValue(false, { emitEvent: false });\r\n }\r\n });\r\n\r\n this.kanbanEventService.selectAllColumnItemsEvent\r\n .pipe(takeUntil(this._unsubscribe$))\r\n .subscribe((column: KanbanColumn) => {\r\n if (this.data !== column) {\r\n this.selectionControl.setValue(false, { emitEvent: false });\r\n }\r\n });\r\n\r\n this.kanbanEventService.unselectAllColumnItemsEvent\r\n .pipe(takeUntil(this._unsubscribe$))\r\n .subscribe((column: KanbanColumn) => {\r\n if (this.data !== column) {\r\n this.selectionControl.setValue(false, { emitEvent: false });\r\n }\r\n });\r\n }\r\n\r\n private _validateInputs(): void {\r\n if (!this.data) {\r\n throw new Error('data parameter is required');\r\n }\r\n }\r\n}\r\n","<div class=\"kanban-column\">\n <div class=\"kanban-column__header\">\n <div class=\"content\">\n <form>\n @if (showCheckbox) {\n <input\n type=\"checkbox\"\n name=\"checkbox\"\n [formControl]=\"selectionControl\"\n />\n }\n </form>\n\n @if (!headerTemplate) {\n <div class=\"header\">\n <span class=\"title\">{{ data.title }} ({{ data.items.length }})</span>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: data }\"></ng-container>\n }\n </div>\n @if (data.options) {\n <s-button\n priority=\"default\"\n [disabled]=\"false\"\n [auxiliary]=\"true\"\n size=\"small\"\n [menuOptions]=\"tieredMenuOptions\"\n >\n </s-button>\n }\n </div>\n <div class=\"kanban-column__body\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\nimport { BadgeComponent } from '@seniorsistemas/angular-components/badge';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 's-kanban-item-dragging',\r\n templateUrl: './kanban-item-dragging.component.html',\r\n styleUrls: ['./kanban-item-dragging.component.scss'],\r\n standalone: true,\r\n imports: [NgClass, BadgeComponent, TranslatePipe],\r\n})\r\nexport class KanbanItemDraggingComponent {\r\n @Input()\r\n public quantityItems = 0;\r\n}\r\n","<div class=\"kanban-item-dragging-container\">\r\n @if (quantityItems) {\r\n <div class=\"kanban-item-dragging\"></div>\r\n }\r\n\r\n <div\r\n class=\"kanban-item-dragging\"\r\n [ngClass]=\"{ 'kanban-item-dragging--over': quantityItems }\"\r\n >\r\n <div class=\"content\">\r\n <input\r\n type=\"checkbox\"\r\n checked\r\n />\r\n <s-badge\r\n [text]=\"'platform.angular_components.count_items_selected' | translate: { count: quantityItems }\"\r\n color=\"blue\"\r\n >\r\n </s-badge>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Input, OnInit, TemplateRef, inject } from '@angular/core';\r\n\r\nimport { KanbanItem } from '../../types';\r\nimport { KanbanEventService } from '../../kanban-event.service';\r\nimport { KanbanItemOption } from '../../types/kanban-data';\r\nimport { TieredMenuItemData, TieredMenuDirective } from '@seniorsistemas/angular-components/tiered-menu';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 's-kanban-item',\r\n templateUrl: './kanban-item.component.html',\r\n styleUrls: ['./kanban-item.component.scss'],\r\n standalone: true,\r\n imports: [NgClass, FormsModule, NgTemplateOutlet, TieredMenuDirective],\r\n})\r\nexport class KanbanItemComponent implements OnInit {\r\n private readonly _kanbanEventService = inject(KanbanEventService);\r\n\r\n @Input({ required: true })\r\n public item!: KanbanItem;\r\n\r\n @Input()\r\n public selected = false;\r\n\r\n @Input()\r\n public showCheckbox = true;\r\n\r\n @Input()\r\n public headerTemplate: TemplateRef<any> | null = null;\r\n\r\n @Input()\r\n public bodyTemplate: TemplateRef<any> | null = null;\r\n\r\n @Input()\r\n public footerTemplate: TemplateRef<any> | null = null;\r\n\r\n public kanbanItemOptions: TieredMenuItemData[] = [];\r\n\r\n public ngOnInit(): void {\r\n this._convertToTieredMenuItemData();\r\n }\r\n\r\n public onSelectedChange(value: any): void {\r\n if (value) {\r\n this._kanbanEventService.emitSelectItemEvent(this.item);\r\n } else {\r\n this._kanbanEventService.emitUnselectItemEvent(this.item);\r\n }\r\n }\r\n\r\n private _convertToTieredMenuItemData() {\r\n if (!this.item.options) return;\r\n\r\n const options: TieredMenuItemData[] = [];\r\n\r\n this.item.options.forEach((option: KanbanItemOption) => {\r\n options.push({\r\n ...option,\r\n command: () => option.command(this.item),\r\n });\r\n });\r\n\r\n this.kanbanItemOptions = options;\r\n }\r\n}\r\n","<div\r\n class=\"kanban-item\"\r\n [ngClass]=\"{\r\n 'kanban-item--selected': selected && !item.disabled,\r\n 'kanban-item--disabled': item.disabled,\r\n 'kanban-item--frozen': !item.disabled && item.frozen,\r\n }\"\r\n>\r\n <div class=\"kanban-item__header\">\r\n <div class=\"content\">\r\n <form>\r\n @if (showCheckbox && !item.disabled && !item.frozen) {\r\n <input\r\n type=\"checkbox\"\r\n name=\"checkbox\"\r\n [(ngModel)]=\"selected\"\r\n (ngModelChange)=\"onSelectedChange($event)\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n }\r\n </form>\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n @if (item.options && !item.disabled) {\r\n <button\r\n class=\"options-button\"\r\n (click)=\"$event.stopPropagation()\"\r\n sTieredMenu\r\n [items]=\"kanbanItemOptions\"\r\n >\r\n <i class=\"fas fa-ellipsis-v\"></i>\r\n </button>\r\n }\r\n </div>\r\n <div class=\"kanban-item__body\">\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n @if (footerTemplate) {\r\n <div class=\"kanban-item__footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n }\r\n</div>\r\n","import {\r\n CdkDragDrop,\r\n moveItemInArray,\r\n transferArrayItem,\r\n CdkDropList,\r\n CdkDrag,\r\n CdkDragPreview,\r\n CdkDragPlaceholder,\r\n} from '@angular/cdk/drag-drop';\r\nimport {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n TemplateRef,\r\n inject,\r\n} from '@angular/core';\r\n\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { KanbanEventService } from './kanban-event.service';\r\nimport { KanbanColumn, KanbanData, KanbanItem, KanbanItemMovedData } from './types/index';\r\nimport { TemplateDirective } from '@seniorsistemas/angular-components/template';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { KanbanColumnComponent } from './components/kanban-column/kanban-column.component';\r\nimport { KanbanItemDraggingComponent } from './components/kanban-item-dragging/kanban-item-dragging.component';\r\nimport { KanbanItemComponent } from './components/kanban-item/kanban-item.component';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n/**\r\n * @description Componente de quadro Kanban com suporte a arrastar e soltar colunas e itens.\r\n * Permite seleção via checkboxes, templates customizáveis para cabeçalho, corpo e rodapé\r\n * dos cards, além de emitir eventos de movição e seleção.\r\n *\r\n * @example\r\n * ```html\r\n * <s-kanban\r\n * [data]=\"dadosKanban\"\r\n * (itemsMoved)=\"onItemMovido($event)\" />\r\n * ```\r\n *\r\n * @category Data\r\n */\r\n@Component({\r\n selector: 's-kanban',\r\n templateUrl: './kanban.component.html',\r\n styleUrls: ['./kanban.component.scss'],\r\n standalone: true,\r\n imports: [\r\n KanbanColumnComponent,\r\n CdkDropList,\r\n NgTemplateOutlet,\r\n CdkDrag,\r\n CdkDragPreview,\r\n KanbanItemDraggingComponent,\r\n KanbanItemComponent,\r\n CdkDragPlaceholder,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class KanbanComponent implements OnInit, AfterContentInit, OnDestroy {\r\n private readonly kanbanEventService = inject(KanbanEventService);\r\n\r\n /** @description Dados do quadro Kanban com colunas e itens. Campo obrigatório. */\r\n @Input({ required: true })\r\n public data!: KanbanData;\r\n\r\n /** @description Exibe checkboxes de seleção em cada item Kanban. @default true */\r\n @Input()\r\n public showItemCheckboxes = true;\r\n\r\n /** @description Exibe checkboxes de seleção no cabeçalho de cada coluna. @default true */\r\n @Input()\r\n public showColumnCheckboxes = true;\r\n\r\n /** @description Emitido quando o usuário move um item entre colunas ou posições. */\r\n @Output()\r\n public itemsMoved = new EventEmitter<KanbanItemMovedData>();\r\n\r\n /** @description Emitido quando os dados do quadro são atualizados após movição. */\r\n @Output()\r\n public dataUpdated = new EventEmitter<KanbanData>();\r\n\r\n /** @description Emitido quando a seleção de itens muda, com a lista de itens selecionados. */\r\n @Output()\r\n public itemsSelected = new EventEmitter<KanbanItem[]>();\r\n\r\n public selectedColumn: KanbanColumn | null = null;\r\n public selectedItems = new Set<KanbanItem>();\r\n public draggingItems = new Set<KanbanItem>();\r\n\r\n public columnHeaderTemplate: TemplateRef<any> | null = null;\r\n public columnEmptyMessageTemplate: TemplateRef<any> | null = null;\r\n public itemHeaderTemplate: TemplateRef<any> | null = null;\r\n public itemBodyTemplate: TemplateRef<any> | null = null;\r\n public itemFooterTemplate: TemplateRef<any> | null = null;\r\n\r\n private readonly _instanceId = `kanban-${Math.random().toString(36).substring(2, 9)}-${Date.now().toString(36)}`;\r\n private readonly _columnIdMap = new Map<string, string>();\r\n private _unsubscribe$ = new Subject<void>();\r\n\r\n @ContentChildren(TemplateDirective) templates: QueryList<TemplateDirective> | null = null;\r\n\r\n public ngOnInit(): void {\r\n this._subscribeEvents();\r\n this._normalizeData();\r\n this._validateInputs();\r\n }\r\n\r\n ngAfterContentInit() {\r\n this._getTemplates();\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._unsubscribe$.next();\r\n this._unsubscribe$.complete();\r\n }\r\n\r\n public drop(event: CdkDragDrop<KanbanItem[]>): void {\r\n const previousColumn = this.data.columns.find(\r\n (column: KanbanColumn) => column.id === event.previousContainer.id,\r\n );\r\n const targetColumn = this.data.columns.find((column: KanbanColumn) => column.id === event.container.id);\r\n\r\n if (!previousColumn || !targetColumn) {\r\n throw new Error('Unable to obtain information about columns when performing drag and drop');\r\n }\r\n\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\r\n } else {\r\n transferArrayItem(\r\n event.previousContainer.data,\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex,\r\n );\r\n }\r\n\r\n this.selectedItems.forEach((item: KanbanItem) => {\r\n const previousIndex = event.previousContainer.data.indexOf(item);\r\n if (previousIndex !== -1 && item !== event.item.data) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(event.container.data, previousIndex, event.currentIndex);\r\n } else {\r\n transferArrayItem(\r\n event.previousContainer.data,\r\n event.container.data,\r\n previousIndex,\r\n event.currentIndex,\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.selectedItems.add(event.item.data);\r\n\r\n this.itemsMoved.emit({\r\n items: [...this.selectedItems],\r\n previousColumn,\r\n targetColumn,\r\n });\r\n\r\n if (this.dataUpdated.observers?.length) {\r\n this.dataUpdated.emit({ ...this.data });\r\n }\r\n\r\n this.data.columns.forEach((column: KanbanColumn) => {\r\n this.kanbanEventService.emitUnselectAllColumnItemsEvent(column);\r\n });\r\n this.selectedItems.clear();\r\n }\r\n\r\n public selectItem(event: MouseEvent, item: KanbanItem, column: KanbanColumn): void {\r\n if (item.disabled || item.frozen) return;\r\n\r\n if (event.ctrlKey) {\r\n if (this.selectedItems.delete(item)) {\r\n this.kanbanEventService.emitUnselectItemEvent(item);\r\n } else {\r\n if (this.selectedColumn && !this.selectedColumn.items.includes(item)) {\r\n this.selectedItems.clear();\r\n }\r\n\r\n this.selectedItems.add(item);\r\n this.selectedColumn = column;\r\n this.kanbanEventService.emitSelectItemEvent(item);\r\n }\r\n } else {\r\n if (this.selectedItems.delete(item)) return;\r\n\r\n this.selectedItems.clear();\r\n this.selectedItems.add(item);\r\n this.selectedColumn = column;\r\n this.kanbanEventService.emitSelectItemEvent(item);\r\n }\r\n }\r\n\r\n public dragStarted(): void {\r\n this.selectedItems.forEach((item: KanbanItem) => {\r\n this.draggingItems.add(item);\r\n });\r\n }\r\n\r\n public dragReleased(): void {\r\n this.draggingItems.clear();\r\n }\r\n\r\n public getLinkedColumns(currentColumn: KanbanColumn): string[] {\r\n return this.data.columns\r\n .filter((column: KanbanColumn) => column != currentColumn)\r\n .map((column: KanbanColumn) => column.id ?? '');\r\n }\r\n\r\n public getColumnHeaderTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('column-header') ?? null;\r\n }\r\n\r\n public getColumnEmptyMessageTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('column-empty-message') ?? null;\r\n }\r\n\r\n public getItemHeaderTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('item-header') ?? null;\r\n }\r\n\r\n public getItemBodyTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('item-body') ?? null;\r\n }\r\n\r\n public getItemFooterTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('item-footer') ?? null;\r\n }\r\n\r\n private _getCustomTemplate(type: string): TemplateRef<any> | null {\r\n return this.templates?.find((template: TemplateDirective) => template.type === type)?.template ?? null;\r\n }\r\n\r\n private _subscribeEvents(): void {\r\n this.kanbanEventService.selectAllColumnItemsEvent\r\n .pipe(takeUntil(this._unsubscribe$))\r\n .subscribe((column: KanbanColumn) => {\r\n column.items\r\n .filter((item: KanbanItem) => !item.disabled && !item.frozen)\r\n .forEach((item: KanbanItem) => {\r\n this.selectedItems.add(item);\r\n });\r\n this.selectedColumn = column;\r\n this.itemsSelected.emit([...this.selectedItems]);\r\n });\r\n\r\n this.kanbanEventService.unselectAllColumnItemsEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((_) => {\r\n this.selectedItems.clear();\r\n });\r\n\r\n this.kanbanEventService.selectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item: KanbanItem) => {\r\n if (this.selectedColumn && !this.selectedColumn.items.includes(item)) {\r\n this.selectedItems.clear();\r\n }\r\n this.selectedItems.add(item);\r\n this.itemsSelected.emit([...this.selectedItems]);\r\n\r\n // Finding the item column and setting selectedColumn.\r\n this.data.columns.forEach((column: KanbanColumn) => {\r\n column.items.forEach((currentItem: KanbanItem) => {\r\n if (currentItem === item) {\r\n this.selectedColumn = column;\r\n return;\r\n }\r\n });\r\n });\r\n });\r\n\r\n this.kanbanEventService.unselectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item: KanbanItem) => {\r\n this.selectedItems.delete(item);\r\n });\r\n }\r\n\r\n private _normalizeData(): void {\r\n this.data.columns.forEach((column: KanbanColumn) => {\r\n const originalId = column.id || `col-${Math.random().toString(36).substring(2, 9)}`;\r\n // Não mutar column.id, manter original\r\n if (!column.id) {\r\n column.id = originalId;\r\n }\r\n // Criar ID único para esta instância\r\n const uniqueId = `${this._instanceId}-${originalId}`;\r\n this._columnIdMap.set(originalId, uniqueId);\r\n });\r\n }\r\n\r\n private _validateInputs(): void {\r\n const columns = this.data.columns;\r\n const columnIds = this.data.columns.map((column: KanbanColumn) => column.id);\r\n\r\n if (new Set(columnIds).size !== columns.length) {\r\n throw new Error('Repeated IDs are not accepted.');\r\n }\r\n }\r\n\r\n private _getTemplates(): void {\r\n this.columnHeaderTemplate = this.getColumnHeaderTemplate();\r\n this.columnEmptyMessageTemplate = this.getColumnEmptyMessageTemplate();\r\n this.itemHeaderTemplate = this.getItemHeaderTemplate();\r\n this.itemBodyTemplate = this.getItemBodyTemplate();\r\n this.itemFooterTemplate = this.getItemFooterTemplate();\r\n }\r\n}\r\n","<div class=\"kanban\">\r\n @for (column of data.columns; track column) {\r\n <s-kanban-column\r\n [data]=\"column\"\r\n [showCheckbox]=\"showColumnCheckboxes\"\r\n [headerTemplate]=\"columnHeaderTemplate\"\r\n >\r\n <div\r\n [id]=\"column.id + ''\"\r\n style=\"height: 100%; width: 100%\"\r\n cdkDropList\r\n #dynamicList=\"cdkDropList\"\r\n [cdkDropListData]=\"column.items\"\r\n [cdkDropListConnectedTo]=\"getLinkedColumns(column)\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n >\r\n @if (column.items.length === 0) {\r\n @if (!columnEmptyMessageTemplate) {\r\n <div class=\"empty-message\">\r\n <p class=\"text\">\r\n <span class=\"fas fa-clock\"></span> \r\n <span>{{\r\n 'platform.angular_components.count_items_in_target'\r\n | translate: { count: column.items.length, target: column.title }\r\n }}</span>\r\n </p>\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"columnEmptyMessageTemplate; context: { $implicit: column }\"\r\n ></ng-container>\r\n }\r\n }\r\n @for (item of column.items; track item) {\r\n <div\r\n cdkDrag\r\n [cdkDragData]=\"item\"\r\n [cdkDragDisabled]=\"item.disabled || item.frozen\"\r\n (cdkDragStarted)=\"dragStarted()\"\r\n (cdkDragReleased)=\"dragReleased()\"\r\n (click)=\"selectItem($event, item, column)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\r\n <ng-container *cdkDragPreview>\r\n @if (selectedItems.size > 1) {\r\n <s-kanban-item-dragging [quantityItems]=\"selectedItems.size\"></s-kanban-item-dragging>\r\n } @else {\r\n <div class=\"max-w-96\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-container>\r\n <ng-template #itemTemplate>\r\n <s-kanban-item\r\n [item]=\"item\"\r\n [selected]=\"selectedItems.has(item)\"\r\n [showCheckbox]=\"showItemCheckboxes\"\r\n [headerTemplate]=\"itemHeaderTemplate\"\r\n [bodyTemplate]=\"itemBodyTemplate\"\r\n [footerTemplate]=\"itemFooterTemplate\"\r\n >\r\n </s-kanban-item>\r\n </ng-template>\r\n <div *cdkDragPlaceholder>\r\n <div class=\"placeholder\">\r\n <div class=\"placeholder-line\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </s-kanban-column>\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { KanbanEventService } from './kanban-event.service';\r\nimport { KanbanComponent } from './kanban.component';\r\nimport { TemplateModule } from '@seniorsistemas/angular-components/template';\r\n\r\n@NgModule({\r\n imports: [TemplateModule, KanbanComponent],\r\n exports: [KanbanComponent, TemplateModule],\r\n providers: [KanbanEventService],\r\n})\r\nexport class KanbanModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seniorsistemas-angular-components-kanban.mjs","sources":["../../projects/angular-components/kanban/src/lib/kanban/kanban-event.service.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-column/kanban-column.component.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-column/kanban-column.component.html","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.html","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item/kanban-item.component.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item/kanban-item.component.html","../../projects/angular-components/kanban/src/lib/kanban/kanban.component.ts","../../projects/angular-components/kanban/src/lib/kanban/kanban.component.html","../../projects/angular-components/kanban/src/lib/kanban/kanban.module.ts","../../projects/angular-components/kanban/src/seniorsistemas-angular-components-kanban.ts"],"sourcesContent":["import { EventEmitter, Injectable } from '@angular/core';\n\nimport { KanbanColumn, KanbanItem } from './types';\n\n@Injectable({ providedIn: 'root' })\nexport class KanbanEventService {\n public selectAllColumnItemsEvent = new EventEmitter<KanbanColumn>();\n public unselectAllColumnItemsEvent = new EventEmitter<KanbanColumn>();\n public selectItemEvent = new EventEmitter<KanbanItem>();\n public unselectItemEvent = new EventEmitter<KanbanItem>();\n\n public emitSelectAllColumnItemsEvent(column: KanbanColumn): void {\n this.selectAllColumnItemsEvent.emit(column);\n }\n\n public emitUnselectAllColumnItemsEvent(column: KanbanColumn): void {\n this.unselectAllColumnItemsEvent.emit(column);\n }\n\n public emitSelectItemEvent(item: KanbanItem): void {\n this.selectItemEvent.emit(item);\n }\n\n public emitUnselectItemEvent(item: KanbanItem): void {\n this.unselectItemEvent.emit(item);\n }\n}\n","import { Component, Input, OnDestroy, OnInit, TemplateRef, inject } from '@angular/core';\r\n\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { KanbanColumn, KanbanItem } from '../../types';\r\nimport { KanbanEventService } from '../../kanban-event.service';\r\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { KanbanColumnOption } from '../../types/kanban-data';\r\nimport { TieredMenuItemData } from '@seniorsistemas/angular-components/tiered-menu';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { ButtonComponent } from '@seniorsistemas/angular-components/button';\r\n\r\n@Component({\r\n selector: 's-kanban-column',\r\n templateUrl: './kanban-column.component.html',\r\n styleUrls: ['./kanban-column.component.scss'],\r\n standalone: true,\r\n imports: [FormsModule, ReactiveFormsModule, NgTemplateOutlet, ButtonComponent],\r\n})\r\nexport class KanbanColumnComponent implements OnInit, OnDestroy {\r\n private readonly kanbanEventService = inject(KanbanEventService);\r\n\r\n @Input({ required: true })\r\n public data!: KanbanColumn;\r\n\r\n @Input()\r\n public showCheckbox = true;\r\n\r\n @Input()\r\n public headerTemplate: TemplateRef<any> | null = null;\r\n\r\n public selectionControl = new FormControl(false);\r\n public tieredMenuOptions!: TieredMenuItemData[];\r\n\r\n private _unsubscribe$ = new Subject<void>();\r\n\r\n public ngOnInit(): void {\r\n this._validateInputs();\r\n this._subscriveEvents();\r\n\r\n this._createTieredOptions();\r\n\r\n this.tieredMenuOptions = this.data.options ? (this.data.options as TieredMenuItemData[]) : [];\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._unsubscribe$.next();\r\n this._unsubscribe$.complete();\r\n }\r\n\r\n private _createTieredOptions(): void {\r\n if (!this.data.options) return;\r\n\r\n const options: KanbanColumnOption[] = [];\r\n\r\n this.data.options.forEach((option: KanbanColumnOption) => {\r\n options.push({\r\n ...option,\r\n command: () => {\r\n option.command(this.data);\r\n },\r\n });\r\n });\r\n\r\n this.data.options = options;\r\n }\r\n\r\n private _subscriveEvents(): void {\r\n this.selectionControl.valueChanges.pipe(takeUntil(this._unsubscribe$)).subscribe((value: boolean | null) => {\r\n if (value) {\r\n this.kanbanEventService.emitSelectAllColumnItemsEvent(this.data);\r\n } else {\r\n this.kanbanEventService.emitUnselectAllColumnItemsEvent(this.data);\r\n }\r\n });\r\n\r\n this.kanbanEventService.unselectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((_) => {\r\n this.selectionControl.setValue(false, { emitEvent: false });\r\n });\r\n\r\n this.kanbanEventService.selectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item: KanbanItem) => {\r\n if (!this.data.items.includes(item)) {\r\n this.selectionControl.setValue(false, { emitEvent: false });\r\n }\r\n });\r\n\r\n this.kanbanEventService.selectAllColumnItemsEvent\r\n .pipe(takeUntil(this._unsubscribe$))\r\n .subscribe((column: KanbanColumn) => {\r\n if (this.data !== column) {\r\n this.selectionControl.setValue(false, { emitEvent: false });\r\n }\r\n });\r\n\r\n this.kanbanEventService.unselectAllColumnItemsEvent\r\n .pipe(takeUntil(this._unsubscribe$))\r\n .subscribe((column: KanbanColumn) => {\r\n if (this.data !== column) {\r\n this.selectionControl.setValue(false, { emitEvent: false });\r\n }\r\n });\r\n }\r\n\r\n private _validateInputs(): void {\r\n if (!this.data) {\r\n throw new Error('data parameter is required');\r\n }\r\n }\r\n}\r\n","<div class=\"kanban-column\">\n <div class=\"kanban-column__header\">\n <div class=\"content\">\n <form>\n @if (showCheckbox) {\n <input\n type=\"checkbox\"\n name=\"checkbox\"\n [formControl]=\"selectionControl\"\n />\n }\n </form>\n\n @if (!headerTemplate) {\n <div class=\"header\">\n <span class=\"title\">{{ data.title }} ({{ data.items.length }})</span>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: data }\"></ng-container>\n }\n </div>\n @if (data.options) {\n <s-button\n priority=\"default\"\n [disabled]=\"false\"\n [auxiliary]=\"true\"\n size=\"small\"\n [menuOptions]=\"tieredMenuOptions\"\n >\n </s-button>\n }\n </div>\n <div class=\"kanban-column__body\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\nimport { BadgeComponent } from '@seniorsistemas/angular-components/badge';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 's-kanban-item-dragging',\r\n templateUrl: './kanban-item-dragging.component.html',\r\n styleUrls: ['./kanban-item-dragging.component.scss'],\r\n standalone: true,\r\n imports: [NgClass, BadgeComponent, TranslatePipe],\r\n})\r\nexport class KanbanItemDraggingComponent {\r\n @Input()\r\n public quantityItems = 0;\r\n}\r\n","<div class=\"kanban-item-dragging-container\">\r\n @if (quantityItems) {\r\n <div class=\"kanban-item-dragging\"></div>\r\n }\r\n\r\n <div\r\n class=\"kanban-item-dragging\"\r\n [ngClass]=\"{ 'kanban-item-dragging--over': quantityItems }\"\r\n >\r\n <div class=\"content\">\r\n <input\r\n type=\"checkbox\"\r\n checked\r\n />\r\n <s-badge\r\n [text]=\"'platform.angular_components.count_items_selected' | translate: { count: quantityItems }\"\r\n color=\"blue\"\r\n >\r\n </s-badge>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Input, OnInit, TemplateRef, inject } from '@angular/core';\r\n\r\nimport { KanbanItem } from '../../types';\r\nimport { KanbanEventService } from '../../kanban-event.service';\r\nimport { KanbanItemOption } from '../../types/kanban-data';\r\nimport { TieredMenuItemData, TieredMenuDirective } from '@seniorsistemas/angular-components/tiered-menu';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 's-kanban-item',\r\n templateUrl: './kanban-item.component.html',\r\n styleUrls: ['./kanban-item.component.scss'],\r\n standalone: true,\r\n imports: [NgClass, FormsModule, NgTemplateOutlet, TieredMenuDirective],\r\n})\r\nexport class KanbanItemComponent implements OnInit {\r\n private readonly _kanbanEventService = inject(KanbanEventService);\r\n\r\n @Input({ required: true })\r\n public item!: KanbanItem;\r\n\r\n @Input()\r\n public selected = false;\r\n\r\n @Input()\r\n public showCheckbox = true;\r\n\r\n @Input()\r\n public headerTemplate: TemplateRef<any> | null = null;\r\n\r\n @Input()\r\n public bodyTemplate: TemplateRef<any> | null = null;\r\n\r\n @Input()\r\n public footerTemplate: TemplateRef<any> | null = null;\r\n\r\n public kanbanItemOptions: TieredMenuItemData[] = [];\r\n\r\n public ngOnInit(): void {\r\n this._convertToTieredMenuItemData();\r\n }\r\n\r\n public onSelectedChange(value: any): void {\r\n if (value) {\r\n this._kanbanEventService.emitSelectItemEvent(this.item);\r\n } else {\r\n this._kanbanEventService.emitUnselectItemEvent(this.item);\r\n }\r\n }\r\n\r\n private _convertToTieredMenuItemData() {\r\n if (!this.item.options) return;\r\n\r\n const options: TieredMenuItemData[] = [];\r\n\r\n this.item.options.forEach((option: KanbanItemOption) => {\r\n options.push({\r\n ...option,\r\n command: () => option.command(this.item),\r\n });\r\n });\r\n\r\n this.kanbanItemOptions = options;\r\n }\r\n}\r\n","<div\r\n class=\"kanban-item\"\r\n [ngClass]=\"{\r\n 'kanban-item--selected': selected && !item.disabled,\r\n 'kanban-item--disabled': item.disabled,\r\n 'kanban-item--frozen': !item.disabled && item.frozen,\r\n }\"\r\n>\r\n <div class=\"kanban-item__header\">\r\n <div class=\"content\">\r\n <form>\r\n @if (showCheckbox && !item.disabled && !item.frozen) {\r\n <input\r\n type=\"checkbox\"\r\n name=\"checkbox\"\r\n [(ngModel)]=\"selected\"\r\n (ngModelChange)=\"onSelectedChange($event)\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n }\r\n </form>\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n @if (item.options && !item.disabled) {\r\n <button\r\n class=\"options-button\"\r\n (click)=\"$event.stopPropagation()\"\r\n sTieredMenu\r\n [items]=\"kanbanItemOptions\"\r\n >\r\n <i class=\"fas fa-ellipsis-v\"></i>\r\n </button>\r\n }\r\n </div>\r\n <div class=\"kanban-item__body\">\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n @if (footerTemplate) {\r\n <div class=\"kanban-item__footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n }\r\n</div>\r\n","import {\r\n CdkDragDrop,\r\n moveItemInArray,\r\n transferArrayItem,\r\n CdkDropList,\r\n CdkDrag,\r\n CdkDragPreview,\r\n CdkDragPlaceholder,\r\n} from '@angular/cdk/drag-drop';\r\nimport {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n TemplateRef,\r\n inject,\r\n} from '@angular/core';\r\n\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { KanbanEventService } from './kanban-event.service';\r\nimport { KanbanColumn, KanbanData, KanbanItem, KanbanItemMovedData } from './types/index';\r\nimport { TemplateDirective } from '@seniorsistemas/angular-components/template';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { KanbanColumnComponent } from './components/kanban-column/kanban-column.component';\r\nimport { KanbanItemDraggingComponent } from './components/kanban-item-dragging/kanban-item-dragging.component';\r\nimport { KanbanItemComponent } from './components/kanban-item/kanban-item.component';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n/**\r\n * @description Componente de quadro Kanban com suporte a arrastar e soltar colunas e itens.\r\n * Permite seleção via checkboxes, templates customizáveis para cabeçalho, corpo e rodapé\r\n * dos cards, além de emitir eventos de movição e seleção.\r\n *\r\n * @example\r\n * ```html\r\n * <s-kanban\r\n * [data]=\"dadosKanban\"\r\n * (itemsMoved)=\"onItemMovido($event)\" />\r\n * ```\r\n *\r\n * @category Data\r\n */\r\n@Component({\r\n selector: 's-kanban',\r\n templateUrl: './kanban.component.html',\r\n styleUrls: ['./kanban.component.scss'],\r\n standalone: true,\r\n imports: [\r\n KanbanColumnComponent,\r\n CdkDropList,\r\n NgTemplateOutlet,\r\n CdkDrag,\r\n CdkDragPreview,\r\n KanbanItemDraggingComponent,\r\n KanbanItemComponent,\r\n CdkDragPlaceholder,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class KanbanComponent implements OnInit, AfterContentInit, OnDestroy {\r\n private readonly kanbanEventService = inject(KanbanEventService);\r\n\r\n /** @description Dados do quadro Kanban com colunas e itens. Campo obrigatório. */\r\n @Input({ required: true })\r\n public data!: KanbanData;\r\n\r\n /** @description Exibe checkboxes de seleção em cada item Kanban. @default true */\r\n @Input()\r\n public showItemCheckboxes = true;\r\n\r\n /** @description Exibe checkboxes de seleção no cabeçalho de cada coluna. @default true */\r\n @Input()\r\n public showColumnCheckboxes = true;\r\n\r\n /** @description Emitido quando o usuário move um item entre colunas ou posições. */\r\n @Output()\r\n public itemsMoved = new EventEmitter<KanbanItemMovedData>();\r\n\r\n /** @description Emitido quando os dados do quadro são atualizados após movição. */\r\n @Output()\r\n public dataUpdated = new EventEmitter<KanbanData>();\r\n\r\n /** @description Emitido quando a seleção de itens muda, com a lista de itens selecionados. */\r\n @Output()\r\n public itemsSelected = new EventEmitter<KanbanItem[]>();\r\n\r\n public selectedColumn: KanbanColumn | null = null;\r\n public selectedItems = new Set<KanbanItem>();\r\n public draggingItems = new Set<KanbanItem>();\r\n\r\n public columnHeaderTemplate: TemplateRef<any> | null = null;\r\n public columnEmptyMessageTemplate: TemplateRef<any> | null = null;\r\n public itemHeaderTemplate: TemplateRef<any> | null = null;\r\n public itemBodyTemplate: TemplateRef<any> | null = null;\r\n public itemFooterTemplate: TemplateRef<any> | null = null;\r\n\r\n private readonly _instanceId = `kanban-${Math.random().toString(36).substring(2, 9)}-${Date.now().toString(36)}`;\r\n private readonly _columnIdMap = new Map<string, string>();\r\n private _unsubscribe$ = new Subject<void>();\r\n\r\n @ContentChildren(TemplateDirective) templates: QueryList<TemplateDirective> | null = null;\r\n\r\n public ngOnInit(): void {\r\n this._subscribeEvents();\r\n this._normalizeData();\r\n this._validateInputs();\r\n }\r\n\r\n ngAfterContentInit() {\r\n this._getTemplates();\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._unsubscribe$.next();\r\n this._unsubscribe$.complete();\r\n }\r\n\r\n public drop(event: CdkDragDrop<KanbanItem[]>): void {\r\n const previousColumn = this.data.columns.find(\r\n (column: KanbanColumn) => column.id === event.previousContainer.id,\r\n );\r\n const targetColumn = this.data.columns.find((column: KanbanColumn) => column.id === event.container.id);\r\n\r\n if (!previousColumn || !targetColumn) {\r\n throw new Error('Unable to obtain information about columns when performing drag and drop');\r\n }\r\n\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\r\n } else {\r\n transferArrayItem(\r\n event.previousContainer.data,\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex,\r\n );\r\n }\r\n\r\n this.selectedItems.forEach((item: KanbanItem) => {\r\n const previousIndex = event.previousContainer.data.indexOf(item);\r\n if (previousIndex !== -1 && item !== event.item.data) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(event.container.data, previousIndex, event.currentIndex);\r\n } else {\r\n transferArrayItem(\r\n event.previousContainer.data,\r\n event.container.data,\r\n previousIndex,\r\n event.currentIndex,\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.selectedItems.add(event.item.data);\r\n\r\n this.itemsMoved.emit({\r\n items: [...this.selectedItems],\r\n previousColumn,\r\n targetColumn,\r\n });\r\n\r\n if (this.dataUpdated.observers?.length) {\r\n this.dataUpdated.emit({ ...this.data });\r\n }\r\n\r\n this.data.columns.forEach((column: KanbanColumn) => {\r\n this.kanbanEventService.emitUnselectAllColumnItemsEvent(column);\r\n });\r\n this.selectedItems.clear();\r\n }\r\n\r\n public selectItem(event: MouseEvent, item: KanbanItem, column: KanbanColumn): void {\r\n if (item.disabled || item.frozen) return;\r\n\r\n if (event.ctrlKey) {\r\n if (this.selectedItems.delete(item)) {\r\n this.kanbanEventService.emitUnselectItemEvent(item);\r\n } else {\r\n if (this.selectedColumn && !this.selectedColumn.items.includes(item)) {\r\n this.selectedItems.clear();\r\n }\r\n\r\n this.selectedItems.add(item);\r\n this.selectedColumn = column;\r\n this.kanbanEventService.emitSelectItemEvent(item);\r\n }\r\n } else {\r\n if (this.selectedItems.delete(item)) return;\r\n\r\n this.selectedItems.clear();\r\n this.selectedItems.add(item);\r\n this.selectedColumn = column;\r\n this.kanbanEventService.emitSelectItemEvent(item);\r\n }\r\n }\r\n\r\n public dragStarted(): void {\r\n this.selectedItems.forEach((item: KanbanItem) => {\r\n this.draggingItems.add(item);\r\n });\r\n }\r\n\r\n public dragReleased(): void {\r\n this.draggingItems.clear();\r\n }\r\n\r\n public getLinkedColumns(currentColumn: KanbanColumn): string[] {\r\n return this.data.columns\r\n .filter((column: KanbanColumn) => column != currentColumn)\r\n .map((column: KanbanColumn) => column.id ?? '');\r\n }\r\n\r\n public getColumnHeaderTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('column-header') ?? null;\r\n }\r\n\r\n public getColumnEmptyMessageTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('column-empty-message') ?? null;\r\n }\r\n\r\n public getItemHeaderTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('item-header') ?? null;\r\n }\r\n\r\n public getItemBodyTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('item-body') ?? null;\r\n }\r\n\r\n public getItemFooterTemplate(): TemplateRef<any> | null {\r\n return this._getCustomTemplate('item-footer') ?? null;\r\n }\r\n\r\n private _getCustomTemplate(type: string): TemplateRef<any> | null {\r\n return this.templates?.find((template: TemplateDirective) => template.type === type)?.template ?? null;\r\n }\r\n\r\n private _subscribeEvents(): void {\r\n this.kanbanEventService.selectAllColumnItemsEvent\r\n .pipe(takeUntil(this._unsubscribe$))\r\n .subscribe((column: KanbanColumn) => {\r\n column.items\r\n .filter((item: KanbanItem) => !item.disabled && !item.frozen)\r\n .forEach((item: KanbanItem) => {\r\n this.selectedItems.add(item);\r\n });\r\n this.selectedColumn = column;\r\n this.itemsSelected.emit([...this.selectedItems]);\r\n });\r\n\r\n this.kanbanEventService.unselectAllColumnItemsEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((_) => {\r\n this.selectedItems.clear();\r\n });\r\n\r\n this.kanbanEventService.selectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item: KanbanItem) => {\r\n if (this.selectedColumn && !this.selectedColumn.items.includes(item)) {\r\n this.selectedItems.clear();\r\n }\r\n this.selectedItems.add(item);\r\n this.itemsSelected.emit([...this.selectedItems]);\r\n\r\n // Finding the item column and setting selectedColumn.\r\n this.data.columns.forEach((column: KanbanColumn) => {\r\n column.items.forEach((currentItem: KanbanItem) => {\r\n if (currentItem === item) {\r\n this.selectedColumn = column;\r\n return;\r\n }\r\n });\r\n });\r\n });\r\n\r\n this.kanbanEventService.unselectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item: KanbanItem) => {\r\n this.selectedItems.delete(item);\r\n });\r\n }\r\n\r\n private _normalizeData(): void {\r\n this.data.columns.forEach((column: KanbanColumn) => {\r\n const originalId = column.id || `col-${Math.random().toString(36).substring(2, 9)}`;\r\n // Não mutar column.id, manter original\r\n if (!column.id) {\r\n column.id = originalId;\r\n }\r\n // Criar ID único para esta instância\r\n const uniqueId = `${this._instanceId}-${originalId}`;\r\n this._columnIdMap.set(originalId, uniqueId);\r\n });\r\n }\r\n\r\n private _validateInputs(): void {\r\n const columns = this.data.columns;\r\n const columnIds = this.data.columns.map((column: KanbanColumn) => column.id);\r\n\r\n if (new Set(columnIds).size !== columns.length) {\r\n throw new Error('Repeated IDs are not accepted.');\r\n }\r\n }\r\n\r\n private _getTemplates(): void {\r\n this.columnHeaderTemplate = this.getColumnHeaderTemplate();\r\n this.columnEmptyMessageTemplate = this.getColumnEmptyMessageTemplate();\r\n this.itemHeaderTemplate = this.getItemHeaderTemplate();\r\n this.itemBodyTemplate = this.getItemBodyTemplate();\r\n this.itemFooterTemplate = this.getItemFooterTemplate();\r\n }\r\n}\r\n","<div class=\"kanban\">\r\n @for (column of data.columns; track column) {\r\n <s-kanban-column\r\n [data]=\"column\"\r\n [showCheckbox]=\"showColumnCheckboxes\"\r\n [headerTemplate]=\"columnHeaderTemplate\"\r\n >\r\n <div\r\n [id]=\"column.id + ''\"\r\n style=\"height: 100%; width: 100%\"\r\n cdkDropList\r\n #dynamicList=\"cdkDropList\"\r\n [cdkDropListData]=\"column.items\"\r\n [cdkDropListConnectedTo]=\"getLinkedColumns(column)\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n >\r\n @if (column.items.length === 0) {\r\n @if (!columnEmptyMessageTemplate) {\r\n <div class=\"empty-message\">\r\n <p class=\"text\">\r\n <span class=\"fas fa-clock\"></span> \r\n <span>{{\r\n 'platform.angular_components.count_items_in_target'\r\n | translate: { count: column.items.length, target: column.title }\r\n }}</span>\r\n </p>\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"columnEmptyMessageTemplate; context: { $implicit: column }\"\r\n ></ng-container>\r\n }\r\n }\r\n @for (item of column.items; track item) {\r\n <div\r\n cdkDrag\r\n [cdkDragData]=\"item\"\r\n [cdkDragDisabled]=\"item.disabled || item.frozen\"\r\n (cdkDragStarted)=\"dragStarted()\"\r\n (cdkDragReleased)=\"dragReleased()\"\r\n (click)=\"selectItem($event, item, column)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\r\n <ng-container *cdkDragPreview>\r\n @if (selectedItems.size > 1) {\r\n <s-kanban-item-dragging [quantityItems]=\"selectedItems.size\"></s-kanban-item-dragging>\r\n } @else {\r\n <div class=\"max-w-96\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-container>\r\n <ng-template #itemTemplate>\r\n <s-kanban-item\r\n [item]=\"item\"\r\n [selected]=\"selectedItems.has(item)\"\r\n [showCheckbox]=\"showItemCheckboxes\"\r\n [headerTemplate]=\"itemHeaderTemplate\"\r\n [bodyTemplate]=\"itemBodyTemplate\"\r\n [footerTemplate]=\"itemFooterTemplate\"\r\n >\r\n </s-kanban-item>\r\n </ng-template>\r\n <div *cdkDragPlaceholder>\r\n <div class=\"placeholder\">\r\n <div class=\"placeholder-line\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </s-kanban-column>\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { KanbanEventService } from './kanban-event.service';\r\nimport { KanbanComponent } from './kanban.component';\r\nimport { TemplateModule } from '@seniorsistemas/angular-components/template';\r\n\r\n/**\r\n * @deprecated Será removido na v20. Importe diretamente o standalone `KanbanComponent` (de\r\n * `@seniorsistemas/angular-components/kanban`) no lugar deste módulo.\r\n *\r\n * Este módulo também reexportava `TemplateDirective` (`@seniorsistemas/angular-components/template`, usado em\r\n * templates por `[sTemplate]`). Se o seu template usa algum deles, importe-o diretamente.\r\n *\r\n * Migração automática (também executada pelo `ng update` na v20):\r\n * `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`\r\n */\r\n@NgModule({\r\n imports: [TemplateModule, KanbanComponent],\r\n exports: [KanbanComponent, TemplateModule],\r\n providers: [KanbanEventService],\r\n})\r\nexport class KanbanModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
47
47
|
args: [{ required: true }]
|
|
48
48
|
}] } });
|
|
49
49
|
|
|
50
|
+
/**
|
|
51
|
+
* @deprecated Será removido na v20. Importe diretamente o standalone `LabelValueComponent` (de
|
|
52
|
+
* `@seniorsistemas/angular-components/label-value`) no lugar deste módulo.
|
|
53
|
+
*
|
|
54
|
+
* Migração automática (também executada pelo `ng update` na v20):
|
|
55
|
+
* `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`
|
|
56
|
+
*/
|
|
50
57
|
class LabelValueModule {
|
|
51
58
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LabelValueModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
52
59
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: LabelValueModule, imports: [LabelValueComponent], exports: [LabelValueComponent] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components-label-value.mjs","sources":["../../projects/angular-components/label-value/src/lib/label-value/label-value.component.ts","../../projects/angular-components/label-value/src/lib/label-value/label-value.component.html","../../projects/angular-components/label-value/src/lib/label-value/label-value.module.ts","../../projects/angular-components/label-value/src/seniorsistemas-angular-components-label-value.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\nimport {\r\n BadgeConfiguration,\r\n CurrencyConfiguration,\r\n DateConfiguration,\r\n LabelValueConfiguration,\r\n NumberConfiguration,\r\n TextConfiguration,\r\n} from './types/label-value-configuration';\r\nimport { BadgeComponent } from '@seniorsistemas/angular-components/badge';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { LocalizedDatePipe, LocalizedNumberPipe } from '@seniorsistemas/angular-components/locale';\r\nimport { NumericPipe } from '@seniorsistemas/angular-components/numeric';\r\n\r\n/**\r\n * @description Componente de exibição de par label/valor que suporta diferentes\r\n * tipos de conteúdo configurados via `LabelValueConfiguration`: texto, número,\r\n * moeda, data e badge.\r\n *\r\n * @example\r\n * ```html\r\n * <s-label-value [configuration]=\"{ type: 'Text', label: 'Nome', value: 'João' }\" />\r\n * ```\r\n *\r\n * @category Summary\r\n */\r\n@Component({\r\n selector: 's-label-value',\r\n templateUrl: './label-value.component.html',\r\n styleUrls: ['./label-value.component.scss'],\r\n standalone: true,\r\n imports: [BadgeComponent, AsyncPipe, TranslatePipe, LocalizedDatePipe, LocalizedNumberPipe, NumericPipe],\r\n})\r\nexport class LabelValueComponent {\r\n /** @description Configuração do par label/valor, incluindo tipo e dados para renderização. Campo obrigatório. */\r\n @Input({ required: true })\r\n public configuration!: LabelValueConfiguration;\r\n\r\n isBadgeConfiguration(config: LabelValueConfiguration): config is BadgeConfiguration {\r\n return config.type === 'Badge';\r\n }\r\n\r\n isTextConfiguration(config: LabelValueConfiguration): config is TextConfiguration {\r\n return config.type === 'Text';\r\n }\r\n\r\n isCurrencyConfiguration(config: LabelValueConfiguration): config is CurrencyConfiguration {\r\n return config.type === 'Currency';\r\n }\r\n\r\n isNumberConfiguration(config: LabelValueConfiguration): config is NumberConfiguration {\r\n return config.type === 'Number';\r\n }\r\n\r\n isDateConfiguration(config: LabelValueConfiguration): config is DateConfiguration {\r\n return config.type === 'Date';\r\n }\r\n}\r\n","<div class=\"flex flex-col\">\n <p class=\"font-bold\">\n {{ configuration.title }}\n </p>\n\n @if (configuration.value) {\n @if (isTextConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value }}\n </span>\n }\n\n @if (isBadgeConfiguration(configuration)) {\n @for (badge of configuration.value; track $index) {\n <s-badge\n [type]=\"badge.type ?? 'pill'\"\n [color]=\"badge.color ?? 'blue'\"\n [text]=\"badge.text\"\n [iconClass]=\"badge.iconClass\"\n [iconPosition]=\"badge.iconPosition\"\n ></s-badge>\n }\n }\n\n @if (isCurrencyConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value | numeric: { numberFormatOptions: { style: 'currency', currency: configuration.currency } } | async }}\n </span>\n }\n\n @if (isNumberConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value | localizedNumber | async }}\n </span>\n }\n\n @if (isDateConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value | localizedDate: configuration.format || 'L' | async }}\n </span>\n }\n } @else {\n <span class=\"sds-empty-value\">\n {{ 'platform.angular_components.not_informed' | translate }}\n </span>\n }\n</div>\n","import { NgModule } from '@angular/core';\r\n\r\nimport { LabelValueComponent } from './label-value.component';\r\n\r\n@NgModule({\r\n imports: [LabelValueComponent],\r\n exports: [LabelValueComponent],\r\n})\r\nexport class LabelValueModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AAeA;;;;;;;;;;;AAWG;MAQU,mBAAmB,CAAA;;AAGrB,IAAA,aAAa,CAA2B;AAE/C,IAAA,oBAAoB,CAAC,MAA+B,EAAA;AAChD,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;KAClC;AAED,IAAA,mBAAmB,CAAC,MAA+B,EAAA;AAC/C,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;KACjC;AAED,IAAA,uBAAuB,CAAC,MAA+B,EAAA;AACnD,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;KACrC;AAED,IAAA,qBAAqB,CAAC,MAA+B,EAAA;AACjD,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;KACnC;AAED,IAAA,mBAAmB,CAAC,MAA+B,EAAA;AAC/C,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;KACjC;wGAvBQ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EClChC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wmDA+CA,EDfc,MAAA,EAAA,CAAA,kFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,EAAE,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,cAAA,EAAA,UAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAS,EAAE,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,aAAa,EAAE,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,iBAAiB,EAAE,IAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,mBAAmB,mDAAE,WAAW,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAE9F,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGb,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,CAAC,EAAA,QAAA,EAAA,wmDAAA,EAAA,MAAA,EAAA,CAAA,kFAAA,CAAA,EAAA,CAAA;8BAKjG,aAAa,EAAA,CAAA;sBADnB,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;;;
|
|
1
|
+
{"version":3,"file":"seniorsistemas-angular-components-label-value.mjs","sources":["../../projects/angular-components/label-value/src/lib/label-value/label-value.component.ts","../../projects/angular-components/label-value/src/lib/label-value/label-value.component.html","../../projects/angular-components/label-value/src/lib/label-value/label-value.module.ts","../../projects/angular-components/label-value/src/seniorsistemas-angular-components-label-value.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\nimport {\r\n BadgeConfiguration,\r\n CurrencyConfiguration,\r\n DateConfiguration,\r\n LabelValueConfiguration,\r\n NumberConfiguration,\r\n TextConfiguration,\r\n} from './types/label-value-configuration';\r\nimport { BadgeComponent } from '@seniorsistemas/angular-components/badge';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { LocalizedDatePipe, LocalizedNumberPipe } from '@seniorsistemas/angular-components/locale';\r\nimport { NumericPipe } from '@seniorsistemas/angular-components/numeric';\r\n\r\n/**\r\n * @description Componente de exibição de par label/valor que suporta diferentes\r\n * tipos de conteúdo configurados via `LabelValueConfiguration`: texto, número,\r\n * moeda, data e badge.\r\n *\r\n * @example\r\n * ```html\r\n * <s-label-value [configuration]=\"{ type: 'Text', label: 'Nome', value: 'João' }\" />\r\n * ```\r\n *\r\n * @category Summary\r\n */\r\n@Component({\r\n selector: 's-label-value',\r\n templateUrl: './label-value.component.html',\r\n styleUrls: ['./label-value.component.scss'],\r\n standalone: true,\r\n imports: [BadgeComponent, AsyncPipe, TranslatePipe, LocalizedDatePipe, LocalizedNumberPipe, NumericPipe],\r\n})\r\nexport class LabelValueComponent {\r\n /** @description Configuração do par label/valor, incluindo tipo e dados para renderização. Campo obrigatório. */\r\n @Input({ required: true })\r\n public configuration!: LabelValueConfiguration;\r\n\r\n isBadgeConfiguration(config: LabelValueConfiguration): config is BadgeConfiguration {\r\n return config.type === 'Badge';\r\n }\r\n\r\n isTextConfiguration(config: LabelValueConfiguration): config is TextConfiguration {\r\n return config.type === 'Text';\r\n }\r\n\r\n isCurrencyConfiguration(config: LabelValueConfiguration): config is CurrencyConfiguration {\r\n return config.type === 'Currency';\r\n }\r\n\r\n isNumberConfiguration(config: LabelValueConfiguration): config is NumberConfiguration {\r\n return config.type === 'Number';\r\n }\r\n\r\n isDateConfiguration(config: LabelValueConfiguration): config is DateConfiguration {\r\n return config.type === 'Date';\r\n }\r\n}\r\n","<div class=\"flex flex-col\">\n <p class=\"font-bold\">\n {{ configuration.title }}\n </p>\n\n @if (configuration.value) {\n @if (isTextConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value }}\n </span>\n }\n\n @if (isBadgeConfiguration(configuration)) {\n @for (badge of configuration.value; track $index) {\n <s-badge\n [type]=\"badge.type ?? 'pill'\"\n [color]=\"badge.color ?? 'blue'\"\n [text]=\"badge.text\"\n [iconClass]=\"badge.iconClass\"\n [iconPosition]=\"badge.iconPosition\"\n ></s-badge>\n }\n }\n\n @if (isCurrencyConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value | numeric: { numberFormatOptions: { style: 'currency', currency: configuration.currency } } | async }}\n </span>\n }\n\n @if (isNumberConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value | localizedNumber | async }}\n </span>\n }\n\n @if (isDateConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value | localizedDate: configuration.format || 'L' | async }}\n </span>\n }\n } @else {\n <span class=\"sds-empty-value\">\n {{ 'platform.angular_components.not_informed' | translate }}\n </span>\n }\n</div>\n","import { NgModule } from '@angular/core';\r\n\r\nimport { LabelValueComponent } from './label-value.component';\r\n\r\n/**\r\n * @deprecated Será removido na v20. Importe diretamente o standalone `LabelValueComponent` (de\r\n * `@seniorsistemas/angular-components/label-value`) 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: [LabelValueComponent],\r\n exports: [LabelValueComponent],\r\n})\r\nexport class LabelValueModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -287,6 +287,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
287
287
|
type: Input
|
|
288
288
|
}] } });
|
|
289
289
|
|
|
290
|
+
/**
|
|
291
|
+
* @deprecated Será removido na v20. Importe diretamente os standalones `LoadingStateComponent` e
|
|
292
|
+
* `LoadingStateDirective` (de `@seniorsistemas/angular-components/loading-state`) no lugar deste módulo.
|
|
293
|
+
*
|
|
294
|
+
* Migração automática (também executada pelo `ng update` na v20):
|
|
295
|
+
* `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`
|
|
296
|
+
*/
|
|
290
297
|
class LoadingStateModule {
|
|
291
298
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
292
299
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: LoadingStateModule, imports: [LoadingStateComponent, LoadingStateDirective], exports: [LoadingStateComponent, LoadingStateDirective] });
|