@seniorsistemas/angular-components 19.0.5 → 19.0.6
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/accordion/lib/accordion/accordion.component.d.ts +25 -0
- package/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.d.ts +60 -0
- package/alert/lib/alert/alert.component.d.ts +40 -0
- package/autocomplete/lib/autocomplete/autocomplete.component.d.ts +51 -0
- package/badge/lib/badge/badge.component.d.ts +20 -0
- package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +46 -1
- package/breadcrumb/lib/breadcrumb/breadcrumb.component.d.ts +12 -0
- package/button/lib/button/button.component.d.ts +101 -0
- package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +24 -0
- package/card/lib/card/card.component.d.ts +18 -0
- package/chat/lib/chat/chat.component.d.ts +20 -2
- package/chat/lib/chat/components/chat-message/chat-message.component.d.ts +18 -2
- package/checkbox/lib/checkbox/checkbox.component.d.ts +23 -3
- package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +20 -0
- package/chips/lib/chips/chip-item/chip-item.component.d.ts +15 -0
- package/chips/lib/chips/chips/chips.component.d.ts +41 -0
- package/code-editor/lib/code-editor/code-editor.component.d.ts +40 -0
- package/collapse-link/lib/collapse-link/collapse-link.component.d.ts +18 -0
- package/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.d.ts +5 -0
- package/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.d.ts +19 -0
- package/content-generator/lib/content-generator/content-generator.component.d.ts +30 -0
- package/control-errors/lib/control-errors/control-errors.component.d.ts +36 -0
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +36 -0
- package/currency/lib/currency.service.d.ts +15 -2
- package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +31 -0
- package/dialog/lib/src/dialog/dialog.component.d.ts +51 -0
- package/dialog/lib/src/dialog/services/dialog.service.d.ts +2 -2
- package/dialog/lib/src/dialog/services/internal-dialog.service.d.ts +1 -1
- package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +6 -5
- package/dynamic-form/dynamic-form/components/lookup/models/lookup-api.model.d.ts +5 -0
- package/dynamic-form/dynamic-form/configurations/structure/fieldset.d.ts +14 -0
- package/dynamic-form/dynamic-form/configurations/structure/row.d.ts +67 -0
- package/dynamic-form/dynamic-form/configurations/structure/section.d.ts +8 -0
- package/dynamic-form/dynamic-form/configurations/structure/structure.d.ts +19 -0
- package/dynamic-form/dynamic-form/dynamic-form.component.d.ts +21 -1
- package/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +45 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +59 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.d.ts +55 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +35 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +17 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.d.ts +23 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +66 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +15 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.d.ts +30 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.d.ts +47 -2
- package/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.d.ts +26 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.d.ts +18 -1
- package/dynamic-form/dynamic-form/form-field/configurations/fields/field.d.ts +44 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +112 -4
- package/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.d.ts +42 -3
- package/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.d.ts +48 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +62 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.d.ts +34 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.d.ts +63 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.d.ts +47 -1
- package/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +23 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +37 -1
- package/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.d.ts +65 -2
- package/dynamic-form/public-api.d.ts +1 -0
- package/editable-overlay/lib/editable-overlay/editable-overlay.directive.d.ts +16 -0
- package/empty-state/lib/empty-state/empty-state.component.d.ts +59 -0
- package/esm2022/accordion/lib/accordion/accordion.component.mjs +26 -1
- package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +61 -1
- package/esm2022/alert/lib/alert/alert.component.mjs +41 -1
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +52 -1
- package/esm2022/badge/lib/badge/badge.component.mjs +21 -1
- package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +47 -2
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +13 -1
- package/esm2022/button/lib/button/button.component.mjs +102 -1
- package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +72 -47
- package/esm2022/card/lib/card/card.component.mjs +21 -6
- package/esm2022/chat/lib/chat/chat.component.mjs +23 -5
- package/esm2022/chat/lib/chat/components/chat-message/chat-message.component.mjs +20 -4
- package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +24 -4
- package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +22 -2
- package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +17 -2
- package/esm2022/chips/lib/chips/chips/chips.component.mjs +42 -1
- package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +41 -1
- package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +19 -1
- package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +6 -1
- package/esm2022/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.mjs +20 -1
- package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +31 -1
- package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +37 -1
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +37 -1
- package/esm2022/currency/lib/currency.service.mjs +21 -8
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +32 -1
- package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +66 -11
- package/esm2022/dialog/lib/src/dialog/services/dialog.service.mjs +13 -10
- package/esm2022/dialog/lib/src/dialog/services/internal-dialog.service.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/components/lookup/models/lookup-api.model.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/fieldset.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/row.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/section.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/structure.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/dynamic-form.component.mjs +22 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +1 -1
- 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/field.mjs +1 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-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/configurations/fields/password-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +6 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +3 -3
- package/esm2022/dynamic-form/public-api.mjs +2 -2
- package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.directive.mjs +17 -1
- package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +60 -1
- package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +25 -5
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +48 -1
- package/esm2022/gantt/lib/gantt/gantt.component.mjs +32 -1
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +30 -1
- package/esm2022/grid-menu/lib/grid-menu/grid-menu.component.mjs +40 -1
- package/esm2022/help-popover/lib/help-popover/help-popover.directive.mjs +83 -27
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +40 -3
- package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +18 -2
- package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +33 -4
- package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +16 -1
- package/esm2022/insights/lib/insights/insights.component.mjs +23 -1
- package/esm2022/interactive-content/lib/interactive-content/interactive-content.directive.mjs +21 -1
- package/esm2022/kanban/lib/kanban/kanban.component.mjs +34 -16
- package/esm2022/label-value/lib/label-value/label-value.component.mjs +14 -1
- package/esm2022/loading-state/lib/loading-state/loading-state.component.mjs +37 -1
- package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +24 -1
- package/esm2022/locale/lib/locale/locale.service.mjs +8 -1
- package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +17 -1
- package/esm2022/mask/lib/mask/mask-formatter.pipe.mjs +13 -1
- package/esm2022/mouse-events/lib/mouse-events/double-click.directive.mjs +16 -3
- package/esm2022/mouse-events/lib/mouse-events/long-press.directive.mjs +24 -10
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +20 -1
- package/esm2022/number-input/lib/number-input/number-input.directive.mjs +32 -12
- package/esm2022/numeric/lib/numeric.pipe.mjs +16 -1
- package/esm2022/numeric/lib/numeric.service.mjs +21 -1
- package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.directive.mjs +9 -6
- package/esm2022/object-card/lib/object-card/object-card.component.mjs +24 -1
- package/esm2022/optional-fields/editor/editor-field.mjs +1 -1
- package/esm2022/paginator/lib/paginator/paginator.component.mjs +20 -1
- package/esm2022/panel/lib/panel/panel.component.mjs +44 -23
- package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +25 -1
- package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +54 -1
- package/esm2022/picklist/lib/picklist/picklist.component.mjs +33 -2
- package/esm2022/pin-code-field/lib/pin-code-field/pin-code-field.component.mjs +29 -34
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +86 -2
- package/esm2022/progressbar/lib/progressbar/progressbar.component.mjs +53 -3
- package/esm2022/radio-button/lib/radio-button/radio-button.component.mjs +28 -1
- package/esm2022/radio-button/lib/radio-button-group/radio-button-group.component.mjs +27 -1
- package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +39 -7
- package/esm2022/select/lib/select/select.component.mjs +35 -1
- package/esm2022/select-button/lib/select-button/select-button.component.mjs +35 -1
- package/esm2022/shared/lib/shared/border-button/border-button.component.mjs +11 -3
- package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +54 -1
- package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +76 -36
- package/esm2022/slider/lib/slider/slider.component.mjs +90 -9
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +25 -4
- package/esm2022/split-button/lib/split-button/split-button.component.mjs +24 -2
- package/esm2022/star-rating/star-rating/star-rating.component.mjs +17 -1
- package/esm2022/stats-card/lib/stats-card/stats-card.component.mjs +32 -10
- package/esm2022/stepper/lib/stepper/stepper.component.mjs +20 -1
- package/esm2022/structure/lib/structure/footer.component.mjs +11 -1
- package/esm2022/switch/lib/switch/switch.component.mjs +22 -2
- package/esm2022/table/lib/table/table-column/table-columns.component.mjs +16 -1
- package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +29 -3
- package/esm2022/tabs/lib/tab-item/tab-item.component.mjs +33 -2
- package/esm2022/tabs/lib/tabs/tabs.component.mjs +35 -3
- package/esm2022/template/lib/template/template.directive.mjs +14 -2
- package/esm2022/text-area/lib/text-area/text-area.component.mjs +28 -1
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +25 -1
- package/esm2022/thumbnails/lib/thumbnails/thumbnails.component.mjs +28 -3
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +30 -1
- package/esm2022/tile/lib/tile/tile.component.mjs +26 -1
- package/esm2022/timeline/lib/timeline/timeline.component.mjs +26 -3
- package/esm2022/toast/lib/toast/toast.component.mjs +24 -4
- package/esm2022/token-list/lib/token-list/token-list.component.mjs +22 -1
- package/esm2022/tooltip/lib/tooltip/tooltip.directive.mjs +66 -1
- package/esm2022/topbar/lib/topbar/topbar.component.mjs +18 -1
- package/esm2022/tree/lib/tree/tree.component.mjs +28 -1
- package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +47 -1
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs +85 -0
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-alert.mjs +40 -0
- package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +51 -0
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-badge.mjs +20 -0
- package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +46 -1
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +12 -0
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-button.mjs +101 -0
- package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +71 -46
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-card.mjs +19 -4
- package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chat.mjs +39 -5
- package/fesm2022/seniorsistemas-angular-components-chat.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +21 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +23 -3
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chips.mjs +57 -1
- package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +40 -0
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +18 -0
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-common.mjs +5 -0
- package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs +19 -0
- package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +30 -0
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +36 -0
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +36 -0
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-currency.mjs +19 -6
- package/fesm2022/seniorsistemas-angular-components-currency.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +31 -0
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs +74 -16
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +29 -4
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +16 -0
- package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +59 -0
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +21 -1
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +47 -0
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs +31 -0
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +29 -0
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +39 -0
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +80 -24
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +38 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +17 -1
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +30 -1
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +15 -0
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-insights.mjs +22 -0
- package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +20 -0
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs +28 -10
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-label-value.mjs +13 -0
- package/fesm2022/seniorsistemas-angular-components-label-value.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +59 -0
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-locale.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +16 -0
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-mask.mjs +12 -0
- package/fesm2022/seniorsistemas-angular-components-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +35 -8
- package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +19 -0
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-number-input.mjs +31 -11
- package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs +8 -5
- package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs +35 -0
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs +23 -0
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-optional-fields-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs +19 -0
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-panel.mjs +39 -18
- package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +77 -0
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs +32 -1
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +28 -33
- package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +85 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +52 -2
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-radio-button.mjs +53 -0
- package/fesm2022/seniorsistemas-angular-components-radio-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +36 -4
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs +34 -0
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select.mjs +34 -0
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs +9 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +53 -0
- package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +71 -31
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slider.mjs +89 -8
- package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +24 -3
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs +22 -0
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +16 -0
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +30 -8
- package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs +19 -0
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-structure.mjs +10 -0
- package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-switch.mjs +20 -0
- package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs +28 -2
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs +15 -0
- package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tabs.mjs +65 -2
- package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-template.mjs +13 -1
- package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs +27 -0
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +24 -0
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +26 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +29 -0
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tile.mjs +25 -0
- package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-timeline.mjs +25 -2
- package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-toast.mjs +22 -2
- package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-token-list.mjs +21 -0
- package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +65 -0
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-topbar.mjs +17 -0
- package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tree.mjs +27 -0
- package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +46 -0
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
- package/fieldset/lib/fieldset/fieldset.component.d.ts +23 -3
- package/file-picker/lib/file-picker/file-picker.component.d.ts +47 -0
- package/gantt/lib/gantt/gantt.component.d.ts +31 -0
- package/global-search/lib/global-search/global-search.component.d.ts +29 -0
- package/grid-menu/lib/grid-menu/grid-menu.component.d.ts +39 -0
- package/help-popover/lib/help-popover/help-popover.directive.d.ts +67 -17
- package/image-cropper/lib/image-cropper/image-cropper.component.d.ts +38 -0
- package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +15 -0
- package/info-sign/lib/info-sign/info-sign.directive.d.ts +30 -1
- package/inline-edit/lib/inline-edit/inline-edit.component.d.ts +15 -0
- package/insights/lib/insights/insights.component.d.ts +22 -0
- package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +20 -0
- package/kanban/lib/kanban/kanban.component.d.ts +25 -5
- package/label-value/lib/label-value/label-value.component.d.ts +13 -0
- package/loading-state/lib/loading-state/loading-state.component.d.ts +36 -0
- package/loading-state/lib/loading-state/loading-state.directive.d.ts +23 -0
- package/locale/lib/locale/locale.service.d.ts +7 -0
- package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +16 -0
- package/mask/lib/mask/mask-formatter.pipe.d.ts +12 -0
- package/mouse-events/lib/mouse-events/double-click.directive.d.ts +13 -0
- package/mouse-events/lib/mouse-events/long-press.directive.d.ts +16 -2
- package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +19 -0
- package/number-input/lib/number-input/number-input.directive.d.ts +19 -1
- package/numeric/lib/numeric.pipe.d.ts +15 -0
- package/numeric/lib/numeric.service.d.ts +20 -0
- package/numeric-mask/lib/numeric-mask/numeric-mask.directive.d.ts +5 -4
- package/object-card/lib/object-card/object-card.component.d.ts +23 -0
- package/optional-fields/editor/editor-field.d.ts +19 -0
- package/package.json +12 -12
- package/paginator/lib/paginator/paginator.component.d.ts +19 -0
- package/panel/lib/panel/panel.component.d.ts +24 -3
- package/password-strength/lib/password-strength/password-strength.component.d.ts +24 -0
- package/password-strength/lib/password-strength/password-strength.directive.d.ts +53 -0
- package/picklist/lib/picklist/picklist.component.d.ts +29 -0
- package/pin-code-field/lib/pin-code-field/pin-code-field.component.d.ts +28 -33
- package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +85 -1
- package/progressbar/lib/progressbar/progressbar.component.d.ts +50 -0
- package/radio-button/lib/radio-button/radio-button.component.d.ts +27 -0
- package/radio-button/lib/radio-button-group/radio-button-group.component.d.ts +26 -0
- package/rating-scale/lib/rating-scale/rating-scale.component.d.ts +30 -2
- package/select/lib/select/select.component.d.ts +34 -0
- package/select-button/lib/select-button/select-button.component.d.ts +34 -0
- package/shared/lib/shared/border-button/border-button.component.d.ts +10 -2
- package/sidebar/lib/sidebar/sidebar.component.d.ts +53 -0
- package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +53 -2
- package/slider/lib/slider/slider.component.d.ts +72 -0
- package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +18 -0
- package/split-button/lib/split-button/split-button.component.d.ts +22 -0
- package/star-rating/star-rating/star-rating.component.d.ts +16 -0
- package/stats-card/lib/stats-card/stats-card.component.d.ts +28 -0
- package/stepper/lib/stepper/stepper.component.d.ts +19 -0
- package/structure/lib/structure/footer.component.d.ts +10 -0
- package/switch/lib/switch/switch.component.d.ts +20 -0
- package/table/lib/table/table-column/table-columns.component.d.ts +15 -0
- package/table-header/lib/table-header/table-header-checkbox.component.d.ts +18 -0
- package/tabs/lib/tab-item/tab-item.component.d.ts +31 -0
- package/tabs/lib/tabs/tabs.component.d.ts +28 -0
- package/template/lib/template/template.directive.d.ts +12 -0
- package/text-area/lib/text-area/text-area.component.d.ts +27 -0
- package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +24 -0
- package/thumbnails/lib/thumbnails/thumbnails.component.d.ts +27 -2
- package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +29 -0
- package/tile/lib/tile/tile.component.d.ts +25 -0
- package/timeline/lib/timeline/timeline.component.d.ts +24 -0
- package/toast/lib/toast/toast.component.d.ts +22 -2
- package/token-list/lib/token-list/token-list.component.d.ts +21 -0
- package/tooltip/lib/tooltip/tooltip.directive.d.ts +65 -0
- package/topbar/lib/topbar/topbar.component.d.ts +17 -0
- package/tree/lib/tree/tree.component.d.ts +27 -0
- package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +46 -0
|
@@ -2,19 +2,69 @@ import { Component, Input } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "./components/progressbar-determinate/progressbar-determinate.component";
|
|
4
4
|
import * as i2 from "./components/progressbar-indeterminate/progressbar-indeterminate.component";
|
|
5
|
+
/**
|
|
6
|
+
* @description Componente de barra de progresso que representa visualmente o avanço de uma tarefa.
|
|
7
|
+
* Suporta modo determinado (valor percentual) e indeterminado (progresso desconhecido),
|
|
8
|
+
* além de um valor-alvo para comparação.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```html
|
|
12
|
+
* <s-progressbar
|
|
13
|
+
* [value]="75"
|
|
14
|
+
* activeColor="blue"
|
|
15
|
+
* label="Upload"
|
|
16
|
+
* [showValue]="true"
|
|
17
|
+
* />
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @category Feedback
|
|
21
|
+
*/
|
|
5
22
|
export class ProgressBarComponent {
|
|
23
|
+
/**
|
|
24
|
+
* @description Valor atual do progresso, em percentual (0 a 100).
|
|
25
|
+
* Não utilizado quando `mode` é `'indeterminate'`.
|
|
26
|
+
* Lança erro se o valor estiver fora do intervalo permitido.
|
|
27
|
+
*/
|
|
6
28
|
value;
|
|
29
|
+
/**
|
|
30
|
+
* @description Cor ativa da barra de progresso. Campo obrigatório.
|
|
31
|
+
* Valores aceitos: `'blue'`, `'green'`, `'red'`, `'yellow'`.
|
|
32
|
+
*/
|
|
7
33
|
activeColor;
|
|
34
|
+
/**
|
|
35
|
+
* @description Opções de formatação numérica utilizadas para exibir o valor percentual.
|
|
36
|
+
* Baseado na API `Intl.NumberFormat`.
|
|
37
|
+
*
|
|
38
|
+
* @default `{ style: 'decimal', minimumFractionDigits: 0, maximumFractionDigits: 2 }`
|
|
39
|
+
*/
|
|
8
40
|
numberFormatOptions = {
|
|
9
|
-
style:
|
|
41
|
+
style: 'decimal',
|
|
10
42
|
minimumFractionDigits: 0,
|
|
11
43
|
maximumFractionDigits: 2,
|
|
12
|
-
roundingMode:
|
|
44
|
+
roundingMode: 'trunc',
|
|
13
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* @description Valor-alvo em percentual (0 a 100), exibido como marcador de referência na barra.
|
|
48
|
+
* Não utilizado quando `mode` é `'indeterminate'`.
|
|
49
|
+
*/
|
|
14
50
|
targetValue;
|
|
51
|
+
/** @description Rótulo descritivo exibido ao lado da barra de progresso principal. */
|
|
15
52
|
label;
|
|
53
|
+
/** @description Rótulo descritivo exibido ao lado do marcador de valor-alvo. */
|
|
16
54
|
targetLabel;
|
|
55
|
+
/**
|
|
56
|
+
* @description Quando `true`, exibe o valor percentual atual sobre ou próximo da barra.
|
|
57
|
+
*
|
|
58
|
+
* @default true
|
|
59
|
+
*/
|
|
17
60
|
showValue = true;
|
|
61
|
+
/**
|
|
62
|
+
* @description Modo de operação da barra de progresso.
|
|
63
|
+
* - `'determinate'`: exibe o progresso baseado em `value` (padrão).
|
|
64
|
+
* - `'indeterminate'`: animação contínua sem valor definido; `value`, `targetValue` e `targetLabel` não devem ser usados.
|
|
65
|
+
*
|
|
66
|
+
* @default 'determinate'
|
|
67
|
+
*/
|
|
18
68
|
mode = 'determinate';
|
|
19
69
|
ngOnInit() {
|
|
20
70
|
this.validateInputs();
|
|
@@ -54,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
54
104
|
}], mode: [{
|
|
55
105
|
type: Input
|
|
56
106
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3NiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3Byb2dyZXNzYmFyL3NyYy9saWIvcHJvZ3Jlc3NiYXIvcHJvZ3Jlc3NiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3Byb2dyZXNzYmFyL3NyYy9saWIvcHJvZ3Jlc3NiYXIvcHJvZ3Jlc3NiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUFJekQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFNSCxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCOzs7O09BSUc7SUFFSSxLQUFLLENBQVU7SUFFdEI7OztPQUdHO0lBRUksV0FBVyxDQUFxQjtJQUV2Qzs7Ozs7T0FLRztJQUVJLG1CQUFtQixHQUE2QjtRQUNuRCxLQUFLLEVBQUUsU0FBUztRQUNoQixxQkFBcUIsRUFBRSxDQUFDO1FBQ3hCLHFCQUFxQixFQUFFLENBQUM7UUFDeEIsWUFBWSxFQUFFLE9BQU87S0FDeEIsQ0FBQztJQUVGOzs7T0FHRztJQUVJLFdBQVcsQ0FBVTtJQUU1QixzRkFBc0Y7SUFFL0UsS0FBSyxDQUFVO0lBRXRCLGdGQUFnRjtJQUV6RSxXQUFXLENBQVU7SUFFNUI7Ozs7T0FJRztJQUVJLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFFeEI7Ozs7OztPQU1HO0lBRUksSUFBSSxHQUFvQixhQUFhLENBQUM7SUFFdEMsUUFBUTtRQUNYLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sY0FBYztRQUNsQixJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkUsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3hGLE1BQU0sSUFBSSxLQUFLLENBQ1gscUdBQXFHLENBQ3hHLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQzt3R0FqRlEsb0JBQW9COzRGQUFwQixvQkFBb0IsdVFDMUJqQyxrZkFpQkE7OzRGRFNhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxlQUFlOzhCQVdsQixLQUFLO3NCQURYLEtBQUs7Z0JBUUMsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBVWxCLG1CQUFtQjtzQkFEekIsS0FBSztnQkFhQyxXQUFXO3NCQURqQixLQUFLO2dCQUtDLEtBQUs7c0JBRFgsS0FBSztnQkFLQyxXQUFXO3NCQURqQixLQUFLO2dCQVNDLFNBQVM7c0JBRGYsS0FBSztnQkFXQyxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJDb2xvcnMsIFByb2dyZXNzQmFyTW9kZSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIGJhcnJhIGRlIHByb2dyZXNzbyBxdWUgcmVwcmVzZW50YSB2aXN1YWxtZW50ZSBvIGF2YW7Dp28gZGUgdW1hIHRhcmVmYS5cbiAqIFN1cG9ydGEgbW9kbyBkZXRlcm1pbmFkbyAodmFsb3IgcGVyY2VudHVhbCkgZSBpbmRldGVybWluYWRvIChwcm9ncmVzc28gZGVzY29uaGVjaWRvKSxcbiAqIGFsw6ltIGRlIHVtIHZhbG9yLWFsdm8gcGFyYSBjb21wYXJhw6fDo28uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxzLXByb2dyZXNzYmFyXG4gKiAgIFt2YWx1ZV09XCI3NVwiXG4gKiAgIGFjdGl2ZUNvbG9yPVwiYmx1ZVwiXG4gKiAgIGxhYmVsPVwiVXBsb2FkXCJcbiAqICAgW3Nob3dWYWx1ZV09XCJ0cnVlXCJcbiAqIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgRmVlZGJhY2tcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXByb2dyZXNzYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3NiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2dyZXNzYmFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gVmFsb3IgYXR1YWwgZG8gcHJvZ3Jlc3NvLCBlbSBwZXJjZW50dWFsICgwIGEgMTAwKS5cbiAgICAgKiBOw6NvIHV0aWxpemFkbyBxdWFuZG8gYG1vZGVgIMOpIGAnaW5kZXRlcm1pbmF0ZSdgLlxuICAgICAqIExhbsOnYSBlcnJvIHNlIG8gdmFsb3IgZXN0aXZlciBmb3JhIGRvIGludGVydmFsbyBwZXJtaXRpZG8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmFsdWUhOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29yIGF0aXZhIGRhIGJhcnJhIGRlIHByb2dyZXNzby4gQ2FtcG8gb2JyaWdhdMOzcmlvLlxuICAgICAqIFZhbG9yZXMgYWNlaXRvczogYCdibHVlJ2AsIGAnZ3JlZW4nYCwgYCdyZWQnYCwgYCd5ZWxsb3cnYC5cbiAgICAgKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBhY3RpdmVDb2xvciE6IFByb2dyZXNzQmFyQ29sb3JzO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIE9ww6fDtWVzIGRlIGZvcm1hdGHDp8OjbyBudW3DqXJpY2EgdXRpbGl6YWRhcyBwYXJhIGV4aWJpciBvIHZhbG9yIHBlcmNlbnR1YWwuXG4gICAgICogQmFzZWFkbyBuYSBBUEkgYEludGwuTnVtYmVyRm9ybWF0YC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IGB7IHN0eWxlOiAnZGVjaW1hbCcsIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCwgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyIH1gXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbnVtYmVyRm9ybWF0T3B0aW9uczogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zID0ge1xuICAgICAgICBzdHlsZTogJ2RlY2ltYWwnLFxuICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsXG4gICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgICAgICAgcm91bmRpbmdNb2RlOiAndHJ1bmMnLFxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gVmFsb3ItYWx2byBlbSBwZXJjZW50dWFsICgwIGEgMTAwKSwgZXhpYmlkbyBjb21vIG1hcmNhZG9yIGRlIHJlZmVyw6puY2lhIG5hIGJhcnJhLlxuICAgICAqIE7Do28gdXRpbGl6YWRvIHF1YW5kbyBgbW9kZWAgw6kgYCdpbmRldGVybWluYXRlJ2AuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGFyZ2V0VmFsdWU/OiBudW1iZXI7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIFLDs3R1bG8gZGVzY3JpdGl2byBleGliaWRvIGFvIGxhZG8gZGEgYmFycmEgZGUgcHJvZ3Jlc3NvIHByaW5jaXBhbC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsYWJlbD86IHN0cmluZztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gUsOzdHVsbyBkZXNjcml0aXZvIGV4aWJpZG8gYW8gbGFkbyBkbyBtYXJjYWRvciBkZSB2YWxvci1hbHZvLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRhcmdldExhYmVsPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFF1YW5kbyBgdHJ1ZWAsIGV4aWJlIG8gdmFsb3IgcGVyY2VudHVhbCBhdHVhbCBzb2JyZSBvdSBwcsOzeGltbyBkYSBiYXJyYS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93VmFsdWUgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIE1vZG8gZGUgb3BlcmHDp8OjbyBkYSBiYXJyYSBkZSBwcm9ncmVzc28uXG4gICAgICogLSBgJ2RldGVybWluYXRlJ2A6IGV4aWJlIG8gcHJvZ3Jlc3NvIGJhc2VhZG8gZW0gYHZhbHVlYCAocGFkcsOjbykuXG4gICAgICogLSBgJ2luZGV0ZXJtaW5hdGUnYDogYW5pbWHDp8OjbyBjb250w61udWEgc2VtIHZhbG9yIGRlZmluaWRvOyBgdmFsdWVgLCBgdGFyZ2V0VmFsdWVgIGUgYHRhcmdldExhYmVsYCBuw6NvIGRldmVtIHNlciB1c2Fkb3MuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnZGV0ZXJtaW5hdGUnXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbW9kZTogUHJvZ3Jlc3NCYXJNb2RlID0gJ2RldGVybWluYXRlJztcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUlucHV0cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVJbnB1dHMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlIDwgMCB8fCB0aGlzLnZhbHVlID4gMTAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmFsdWUgZm9yIHZhbHVlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50YXJnZXRWYWx1ZSAmJiAodGhpcy50YXJnZXRWYWx1ZSA8IDAgfHwgdGhpcy50YXJnZXRWYWx1ZSA+IDEwMCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB2YWx1ZSBmb3IgdGFyZ2V0VmFsdWUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdpbmRldGVybWluYXRlJyAmJiAodGhpcy52YWx1ZSB8fCB0aGlzLnRhcmdldFZhbHVlIHx8IHRoaXMudGFyZ2V0TGFiZWwpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgJ1doZW4gdGhlIG1vZGUgaXMgaW5kZXRlcm1pbmF0ZSwgdGhlIHZhbHVlLCB0YXJnZXRWYWx1ZSBhbmQgdGFyZ2V0TGFiZWwgcGFyYW1ldGVycyBhcmUgbm90IGV4cGVjdGVkLicsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCJAaWYgKG1vZGUgPT09ICdkZXRlcm1pbmF0ZScpIHtcbiAgICA8cy1wcm9ncmVzc2Jhci1kZXRlcm1pbmF0ZVxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbbnVtYmVyRm9ybWF0T3B0aW9uc109XCJudW1iZXJGb3JtYXRPcHRpb25zXCJcbiAgICAgICAgW3RhcmdldFZhbHVlXT1cInRhcmdldFZhbHVlXCJcbiAgICAgICAgW3RhcmdldExhYmVsXT1cInRhcmdldExhYmVsXCJcbiAgICAgICAgW2FjdGl2ZUNvbG9yXT1cImFjdGl2ZUNvbG9yXCJcbiAgICAgICAgW3Nob3dWYWx1ZV09XCJzaG93VmFsdWVcIlxuICAgID5cbiAgICA8L3MtcHJvZ3Jlc3NiYXItZGV0ZXJtaW5hdGU+XG59IEBlbHNlIHtcbiAgICA8cy1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlXG4gICAgICAgIFthY3RpdmVDb2xvcl09XCJhY3RpdmVDb2xvclwiXG4gICAgICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgPlxuICAgIDwvcy1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlPlxufVxuIl19
|
|
@@ -4,6 +4,23 @@ import { FormsModule, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
|
|
|
4
4
|
import { InteractiveContentDirective } from '@seniorsistemas/angular-components/interactive-content';
|
|
5
5
|
import { RadioButtonRegistryService } from '../services/radio-button-registry.service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* @description Componente de botão de opção (radio button) individual que implementa
|
|
9
|
+
* {@link ControlValueAccessor} para integração com formulários Angular.
|
|
10
|
+
* Pode ser usado de forma independente ou agrupado dentro de {@link RadioButtonGroupComponent}
|
|
11
|
+
* para garantir a exclusividade de seleção entre os itens do grupo.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```html
|
|
15
|
+
* <s-radiobutton
|
|
16
|
+
* name="opcao"
|
|
17
|
+
* label="Opção A"
|
|
18
|
+
* value="A"
|
|
19
|
+
* [(ngModel)]="selecionado" />
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @category Inputs
|
|
23
|
+
*/
|
|
7
24
|
export class RadioButtonComponent {
|
|
8
25
|
static ID = 0;
|
|
9
26
|
radioButtonRegistry = inject(RadioButtonRegistryService);
|
|
@@ -16,12 +33,22 @@ export class RadioButtonComponent {
|
|
|
16
33
|
onTouched = () => { };
|
|
17
34
|
checked = null;
|
|
18
35
|
formItemDisabled = signal(false);
|
|
36
|
+
/** @description Controla o estado desabilitado do botão via two-way binding. @default false */
|
|
19
37
|
buttonDisabled = model(false);
|
|
38
|
+
/** @description Texto do label exibido ao lado do botão de opção. Campo obrigatório. */
|
|
20
39
|
label = input.required();
|
|
40
|
+
/** @description Nome do grupo de radio buttons. Deve ser igual para todos os botões do mesmo grupo. Campo obrigatório. */
|
|
21
41
|
name = input.required();
|
|
42
|
+
/** @description Valor associado a este botão de opção. Emitido ao formulário quando o item é selecionado. Campo obrigatório. */
|
|
22
43
|
value = model.required();
|
|
44
|
+
/**
|
|
45
|
+
* @description Identificador único do elemento `<input>` interno, usado para acessibilidade.
|
|
46
|
+
* Gerado automaticamente se não informado.
|
|
47
|
+
*/
|
|
23
48
|
inputId = input(`RadioButton_${RadioButtonComponent.ID++}`);
|
|
49
|
+
/** @description Emitido quando o campo interno recebe foco. */
|
|
24
50
|
focusedInput = output();
|
|
51
|
+
/** @description Emitido quando o campo interno perde o foco. */
|
|
25
52
|
inputFocusLost = output();
|
|
26
53
|
registerOnChange(fn) {
|
|
27
54
|
this.onChange = fn;
|
|
@@ -79,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
79
106
|
},
|
|
80
107
|
], template: "<div\n class=\"flex items-center gap-3\"\n (sInteractiveContent)=\"activedContent($event)\"\n [stopPropagation]=\"true\"\n [disabled]=\"disabled()\"\n [tabindex]=\"disabled() ? -1 : 0\"\n>\n <input\n type=\"radio\"\n [value]=\"value()\"\n [checked]=\"checked\"\n [name]=\"name()\"\n [id]=\"inputId()\"\n (change)=\"setValue()\"\n [disabled]=\"disabled()\"\n class=\"h-4 w-4 appearance-none rounded-[50%] transition-all ease-in-out disabled:opacity-50\"\n [ngClass]=\"{\n 'border-2 border-primary': checked,\n 'border-[1px] border-grayscale-30': !checked,\n 'cursor-pointer': !disabled(),\n 'focus-within:!border-primary hover:border-[1px] hover:border-[#063951]': !disabled() && checked,\n 'hover:border-grayscale-50': !disabled() && !checked,\n }\"\n [stopPropagation]=\"true\"\n (sInteractiveContent)=\"activedContent($event)\"\n (focus)=\"focusedInput.emit($event)\"\n (blur)=\"inputFocusLost.emit($event)\"\n />\n\n <label\n class=\"font-open-sans m-0 text-sm text-grayscale-90\"\n [disabled]=\"disabled()\"\n (sInteractiveContent)=\"activedContent($event)\"\n [stopPropagation]=\"true\"\n [tabindex]=\"disabled() ? -1 : 0\"\n [ngClass]=\"{\n 'cursor-pointer': !disabled(),\n 'opacity-50': disabled(),\n }\"\n [for]=\"inputId()\"\n >\n {{ label() }}\n </label>\n</div>\n" }]
|
|
81
108
|
}] });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYWRpby1idXR0b24vc3JjL2xpYi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYWRpby1idXR0b24vc3JjL2xpYi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQ0gsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsS0FBSyxFQUdMLE1BQU0sRUFDTixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBZXZGLE1BQU0sT0FBTyxvQkFBb0I7SUFDckIsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDTCxtQkFBbUIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUN6RCxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLE9BQU8sR0FBcUIsSUFBSSxDQUFDO0lBRXRCLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFD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LE9BQU8sRUFBRSwyQkFBMkIsQ0FBQyxhQUVqRDt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIGlucHV0LFxuICAgIG1vZGVsLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgb3V0cHV0LFxuICAgIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbnRlcmFjdGl2ZUNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2ludGVyYWN0aXZlLWNvbnRlbnQnO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25SZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9yYWRpby1idXR0b24tcmVnaXN0cnkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1yYWRpb2J1dHRvbicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIE5nQ2xhc3MsIEludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmFkaW9CdXR0b25Db21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgc3RhdGljIElEID0gMDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhZGlvQnV0dG9uUmVnaXN0cnkgPSBpbmplY3QoUmFkaW9CdXR0b25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAgIHByaXZhdGUgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlzYWJsZWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1dHRvbkRpc2FibGVkKCkgfHwgdGhpcy5mb3JtSXRlbURpc2FibGVkKCk7XG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgb25DaGFuZ2U6ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAgIHByb3RlY3RlZCBvblRvdWNoZWQ6ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAgIHByb3RlY3RlZCBjaGVja2VkOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG4gICAgcHJvdGVjdGVkIGZvcm1JdGVtRGlzYWJsZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgYnV0dG9uRGlzYWJsZWQgPSBtb2RlbChmYWxzZSk7XG4gICAgbGFiZWwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gICAgbmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgICB2YWx1ZSA9IG1vZGVsLnJlcXVpcmVkPHVua25vd24+KCk7XG4gICAgaW5wdXRJZCA9IGlucHV0KGBSYWRpb0J1dHRvbl8ke1JhZGlvQnV0dG9uQ29tcG9uZW50LklEKyt9YCk7XG5cbiAgICBmb2N1c2VkSW5wdXQgPSBvdXRwdXQ8Rm9jdXNFdmVudD4oKTtcbiAgICBpbnB1dEZvY3VzTG9zdCA9IG91dHB1dDxGb2N1c0V2ZW50PigpO1xuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1JdGVtRGlzYWJsZWQuc2V0KGlzRGlzYWJsZWQpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gdmFsdWUgPT09IHRoaXMudmFsdWUoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5yYWRpb0J1dHRvblJlZ2lzdHJ5LmFkZCh0aGlzLmNvbnRyb2wsIHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMucmFkaW9CdXR0b25SZWdpc3RyeS5yZW1vdmUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0VmFsdWUoKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUoKSk7XG4gICAgICAgIHRoaXMucmFkaW9CdXR0b25SZWdpc3RyeS5zZWxlY3QodGhpcyk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKHRoaXMudmFsdWUoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFjdGl2ZWRDb250ZW50KGV2ZW50OiBFdmVudCB8IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUoKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiXG4gICAgKHNJbnRlcmFjdGl2ZUNvbnRlbnQpPVwiYWN0aXZlZENvbnRlbnQoJGV2ZW50KVwiXG4gICAgW3N0b3BQcm9wYWdhdGlvbl09XCJ0cnVlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgW3RhYmluZGV4XT1cImRpc2FibGVkKCkgPyAtMSA6IDBcIlxuPlxuICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWUoKVwiXG4gICAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgICAgICBbbmFtZV09XCJuYW1lKClcIlxuICAgICAgICBbaWRdPVwiaW5wdXRJZCgpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJzZXRWYWx1ZSgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBjbGFzcz1cImgtNCB3LTQgYXBwZWFyYW5jZS1ub25lIHJvdW5kZWQtWzUwJV0gdHJhbnNpdGlvbi1hbGwgZWFzZS1pbi1vdXQgZGlzYWJsZWQ6b3BhY2l0eS01MFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdib3JkZXItMiBib3JkZXItcHJpbWFyeSc6IGNoZWNrZWQsXG4gICAgICAgICAgICAnYm9yZGVyLVsxcHhdIGJvcmRlci1ncmF5c2NhbGUtMzAnOiAhY2hlY2tlZCxcbiAgICAgICAgICAgICdjdXJzb3ItcG9pbnRlcic6ICFkaXNhYmxlZCgpLFxuICAgICAgICAgICAgJ2ZvY3VzLXdpdGhpbjohYm9yZGVyLXByaW1hcnkgaG92ZXI6Ym9yZGVyLVsxcHhdIGhvdmVyOmJvcmRlci1bIzA2Mzk1MV0nOiAhZGlzYWJsZWQoKSAmJiBjaGVja2VkLFxuICAgICAgICAgICAgJ2hvdmVyOmJvcmRlci1ncmF5c2NhbGUtNTAnOiAhZGlzYWJsZWQoKSAmJiAhY2hlY2tlZCxcbiAgICAgICAgfVwiXG4gICAgICAgIFtzdG9wUHJvcGFnYXRpb25dPVwidHJ1ZVwiXG4gICAgICAgIChzSW50ZXJhY3RpdmVDb250ZW50KT1cImFjdGl2ZWRDb250ZW50KCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwiZm9jdXNlZElucHV0LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cImlucHV0Rm9jdXNMb3N0LmVtaXQoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cImZvbnQtb3Blbi1zYW5zIG0tMCB0ZXh0LXNtIHRleHQtZ3JheXNjYWxlLTkwXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAoc0ludGVyYWN0aXZlQ29udGVudCk9XCJhY3RpdmVkQ29udGVudCgkZXZlbnQpXCJcbiAgICAgICAgW3N0b3BQcm9wYWdhdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgW3RhYmluZGV4XT1cImRpc2FibGVkKCkgPyAtMSA6IDBcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnY3Vyc29yLXBvaW50ZXInOiAhZGlzYWJsZWQoKSxcbiAgICAgICAgICAgICdvcGFjaXR5LTUwJzogZGlzYWJsZWQoKSxcbiAgICAgICAgfVwiXG4gICAgICAgIFtmb3JdPVwiaW5wdXRJZCgpXCJcbiAgICA+XG4gICAgICAgIHt7IGxhYmVsKCkgfX1cbiAgICA8L2xhYmVsPlxuPC9kaXY+XG4iXX0=
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYWRpby1idXR0b24vc3JjL2xpYi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYWRpby1idXR0b24vc3JjL2xpYi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQ0gsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsS0FBSyxFQUdMLE1BQU0sRUFDTixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBRXZGOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBY0gsTUFBTSxPQUFPLG9CQUFvQjtJQUNyQixNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNMLG1CQUFtQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3pELFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsT0FBTyxHQUFxQixJQUFJLENBQUM7SUFFdEIsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDeEMsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUks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QzlDTCx3Z0RBNENBLDJDRE5jLFdBQVcsK0JBQUUsT0FBTyxvRkFBRSwyQkFBMkI7OzRGQVVsRCxvQkFBb0I7a0JBYmhDLFNBQVM7K0JBQ0ksZUFBZSxjQUNiLElBQUksV0FDUCxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsMkJBQTJCLENBQUMsYUFFakQ7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBpbnB1dCxcbiAgICBtb2RlbCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIG91dHB1dCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9pbnRlcmFjdGl2ZS1jb250ZW50JztcbmltcG9ydCB7IFJhZGlvQnV0dG9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcmFkaW8tYnV0dG9uLXJlZ2lzdHJ5LnNlcnZpY2UnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIGJvdMOjbyBkZSBvcMOnw6NvIChyYWRpbyBidXR0b24pIGluZGl2aWR1YWwgcXVlIGltcGxlbWVudGFcbiAqIHtAbGluayBDb250cm9sVmFsdWVBY2Nlc3Nvcn0gcGFyYSBpbnRlZ3Jhw6fDo28gY29tIGZvcm11bMOhcmlvcyBBbmd1bGFyLlxuICogUG9kZSBzZXIgdXNhZG8gZGUgZm9ybWEgaW5kZXBlbmRlbnRlIG91IGFncnVwYWRvIGRlbnRybyBkZSB7QGxpbmsgUmFkaW9CdXR0b25Hcm91cENvbXBvbmVudH1cbiAqIHBhcmEgZ2FyYW50aXIgYSBleGNsdXNpdmlkYWRlIGRlIHNlbGXDp8OjbyBlbnRyZSBvcyBpdGVucyBkbyBncnVwby5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtcmFkaW9idXR0b25cbiAqICAgbmFtZT1cIm9wY2FvXCJcbiAqICAgbGFiZWw9XCJPcMOnw6NvIEFcIlxuICogICB2YWx1ZT1cIkFcIlxuICogICBbKG5nTW9kZWwpXT1cInNlbGVjaW9uYWRvXCIgLz5cbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBJbnB1dHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXJhZGlvYnV0dG9uJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgTmdDbGFzcywgSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0J1dHRvbkNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgSUQgPSAwO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmFkaW9CdXR0b25SZWdpc3RyeSA9IGluamVjdChSYWRpb0J1dHRvblJlZ2lzdHJ5U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcHJpdmF0ZSBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsID0gbnVsbDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uRGlzYWJsZWQoKSB8fCB0aGlzLmZvcm1JdGVtRGlzYWJsZWQoKTtcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCBvbkNoYW5nZTogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgcHJvdGVjdGVkIG9uVG91Y2hlZDogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgcHJvdGVjdGVkIGNoZWNrZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcbiAgICBwcm90ZWN0ZWQgZm9ybUl0ZW1EaXNhYmxlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIENvbnRyb2xhIG8gZXN0YWRvIGRlc2FiaWxpdGFkbyBkbyBib3TDo28gdmlhIHR3by13YXkgYmluZGluZy4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBidXR0b25EaXNhYmxlZCA9IG1vZGVsKGZhbHNlKTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVGV4dG8gZG8gbGFiZWwgZXhpYmlkbyBhbyBsYWRvIGRvIGJvdMOjbyBkZSBvcMOnw6NvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgbGFiZWwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIE5vbWUgZG8gZ3J1cG8gZGUgcmFkaW8gYnV0dG9ucy4gRGV2ZSBzZXIgaWd1YWwgcGFyYSB0b2RvcyBvcyBib3TDtWVzIGRvIG1lc21vIGdydXBvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgbmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVmFsb3IgYXNzb2NpYWRvIGEgZXN0ZSBib3TDo28gZGUgb3DDp8Ojby4gRW1pdGlkbyBhbyBmb3JtdWzDoXJpbyBxdWFuZG8gbyBpdGVtIMOpIHNlbGVjaW9uYWRvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgdmFsdWUgPSBtb2RlbC5yZXF1aXJlZDx1bmtub3duPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIElkZW50aWZpY2Fkb3Igw7puaWNvIGRvIGVsZW1lbnRvIGA8aW5wdXQ+YCBpbnRlcm5vLCB1c2FkbyBwYXJhIGFjZXNzaWJpbGlkYWRlLlxuICAgICAqIEdlcmFkbyBhdXRvbWF0aWNhbWVudGUgc2UgbsOjbyBpbmZvcm1hZG8uXG4gICAgICovXG4gICAgaW5wdXRJZCA9IGlucHV0KGBSYWRpb0J1dHRvbl8ke1JhZGlvQnV0dG9uQ29tcG9uZW50LklEKyt9YCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gY2FtcG8gaW50ZXJubyByZWNlYmUgZm9jby4gKi9cbiAgICBmb2N1c2VkSW5wdXQgPSBvdXRwdXQ8Rm9jdXNFdmVudD4oKTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyBjYW1wbyBpbnRlcm5vIHBlcmRlIG8gZm9jby4gKi9cbiAgICBpbnB1dEZvY3VzTG9zdCA9IG91dHB1dDxGb2N1c0V2ZW50PigpO1xuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1JdGVtRGlzYWJsZWQuc2V0KGlzRGlzYWJsZWQpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gdmFsdWUgPT09IHRoaXMudmFsdWUoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5yYWRpb0J1dHRvblJlZ2lzdHJ5LmFkZCh0aGlzLmNvbnRyb2wsIHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMucmFkaW9CdXR0b25SZWdpc3RyeS5yZW1vdmUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0VmFsdWUoKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUoKSk7XG4gICAgICAgIHRoaXMucmFkaW9CdXR0b25SZWdpc3RyeS5zZWxlY3QodGhpcyk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKHRoaXMudmFsdWUoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFjdGl2ZWRDb250ZW50KGV2ZW50OiBFdmVudCB8IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUoKTtcbiAgICB9XG59XG5cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCJcbiAgICAoc0ludGVyYWN0aXZlQ29udGVudCk9XCJhY3RpdmVkQ29udGVudCgkZXZlbnQpXCJcbiAgICBbc3RvcFByb3BhZ2F0aW9uXT1cInRydWVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICBbdGFiaW5kZXhdPVwiZGlzYWJsZWQoKSA/IC0xIDogMFwiXG4+XG4gICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSgpXCJcbiAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWUoKVwiXG4gICAgICAgIFtpZF09XCJpbnB1dElkKClcIlxuICAgICAgICAoY2hhbmdlKT1cInNldFZhbHVlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIGNsYXNzPVwiaC00IHctNCBhcHBlYXJhbmNlLW5vbmUgcm91bmRlZC1bNTAlXSB0cmFuc2l0aW9uLWFsbCBlYXNlLWluLW91dCBkaXNhYmxlZDpvcGFjaXR5LTUwXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2JvcmRlci0yIGJvcmRlci1wcmltYXJ5JzogY2hlY2tlZCxcbiAgICAgICAgICAgICdib3JkZXItWzFweF0gYm9yZGVyLWdyYXlzY2FsZS0zMCc6ICFjaGVja2VkLFxuICAgICAgICAgICAgJ2N1cnNvci1wb2ludGVyJzogIWRpc2FibGVkKCksXG4gICAgICAgICAgICAnZm9jdXMtd2l0aGluOiFib3JkZXItcHJpbWFyeSBob3Zlcjpib3JkZXItWzFweF0gaG92ZXI6Ym9yZGVyLVsjMDYzOTUxXSc6ICFkaXNhYmxlZCgpICYmIGNoZWNrZWQsXG4gICAgICAgICAgICAnaG92ZXI6Ym9yZGVyLWdyYXlzY2FsZS01MCc6ICFkaXNhYmxlZCgpICYmICFjaGVja2VkLFxuICAgICAgICB9XCJcbiAgICAgICAgW3N0b3BQcm9wYWdhdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgKHNJbnRlcmFjdGl2ZUNvbnRlbnQpPVwiYWN0aXZlZENvbnRlbnQoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1cyk9XCJmb2N1c2VkSW5wdXQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwiaW5wdXRGb2N1c0xvc3QuZW1pdCgkZXZlbnQpXCJcbiAgICAvPlxuXG4gICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwiZm9udC1vcGVuLXNhbnMgbS0wIHRleHQtc20gdGV4dC1ncmF5c2NhbGUtOTBcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIChzSW50ZXJhY3RpdmVDb250ZW50KT1cImFjdGl2ZWRDb250ZW50KCRldmVudClcIlxuICAgICAgICBbc3RvcFByb3BhZ2F0aW9uXT1cInRydWVcIlxuICAgICAgICBbdGFiaW5kZXhdPVwiZGlzYWJsZWQoKSA/IC0xIDogMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdjdXJzb3ItcG9pbnRlcic6ICFkaXNhYmxlZCgpLFxuICAgICAgICAgICAgJ29wYWNpdHktNTAnOiBkaXNhYmxlZCgpLFxuICAgICAgICB9XCJcbiAgICAgICAgW2Zvcl09XCJpbnB1dElkKClcIlxuICAgID5cbiAgICAgICAge3sgbGFiZWwoKSB9fVxuICAgIDwvbGFiZWw+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -4,13 +4,39 @@ import { randomHash } from '@seniorsistemas/angular-components/utils';
|
|
|
4
4
|
import { RadioButtonComponent } from '../radio-button/radio-button.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/forms";
|
|
7
|
+
/**
|
|
8
|
+
* @description Componente de grupo de botões de opção (radio button group) que gerencia
|
|
9
|
+
* a seleção exclusiva entre múltiplas opções. Implementa {@link ControlValueAccessor}
|
|
10
|
+
* para uso com Reactive Forms e Template-driven Forms do Angular.
|
|
11
|
+
* Renderiza internamente componentes {@link RadioButtonComponent} para cada item configurado.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```html
|
|
15
|
+
* <s-radiobutton-group
|
|
16
|
+
* formControlName="opcao"
|
|
17
|
+
* inputName="plano"
|
|
18
|
+
* [items]="planos"
|
|
19
|
+
* viewMode="vertical" />
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @category Inputs
|
|
23
|
+
*/
|
|
7
24
|
export class RadioButtonGroupComponent {
|
|
8
25
|
onChange = () => { };
|
|
9
26
|
onTouched = () => { };
|
|
10
27
|
modelValue = signal(undefined);
|
|
28
|
+
/** @description Controla o estado desabilitado de todos os botões do grupo via two-way binding. @default false */
|
|
11
29
|
disabled = model(false);
|
|
30
|
+
/** @description Lista de itens que serão renderizados como opções do grupo. Campo obrigatório. */
|
|
12
31
|
items = input.required();
|
|
32
|
+
/** @description Atributo `name` compartilhado entre todos os radio buttons do grupo, garantindo exclusividade. Campo obrigatório. */
|
|
13
33
|
inputName = input.required();
|
|
34
|
+
/**
|
|
35
|
+
* @description Direção de layout dos botões de opção.
|
|
36
|
+
* `'horizontal'` exibe os botões lado a lado; `'vertical'` os empilha.
|
|
37
|
+
*
|
|
38
|
+
* @default 'horizontal'
|
|
39
|
+
*/
|
|
14
40
|
viewMode = input('horizontal');
|
|
15
41
|
registerOnChange(fn) {
|
|
16
42
|
this.onChange = fn;
|
|
@@ -59,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
59
85
|
},
|
|
60
86
|
], template: "<section\n class=\"flex gap-2\"\n [class.flex-col]=\"viewMode() === 'horizontal'\"\n>\n @for (radioButtonItem of radioButtonItems(); track radioButtonItem.hash) {\n @let itemDisabled = disabled() ? true : radioButtonItem.disabled || false;\n\n <s-radiobutton\n [(ngModel)]=\"modelValue\"\n (ngModelChange)=\"setValue($event)\"\n [value]=\"radioButtonItem.value\"\n [buttonDisabled]=\"itemDisabled\"\n [name]=\"inputName()\"\n [label]=\"radioButtonItem.label\"\n >\n </s-radiobutton>\n }\n</section>\n" }]
|
|
61
87
|
}] });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYWRpby1idXR0b24vc3JjL2xpYi9yYWRpby1idXR0b24tZ3JvdXAvcmFkaW8tYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYWRpby1idXR0b24vc3JjL2xpYi9yYWRpby1idXR0b24tZ3JvdXAvcmFkaW8tYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBRzlFOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBY0gsTUFBTSxPQUFPLHlCQUF5QjtJQUN4QixRQUFRLEdBQTZCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUM5QyxTQUFTLEdBQTZCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUMvQyxVQUFVLEdBQUcsTUFBTSxDQUFVLFNBQVMsQ0FBQyxDQUFDO0lBRWxELGtIQUFrSDtJQUN6RyxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpDLGtHQUFrRztJQUN6RixLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBMEIsQ0FBQztJQUUxRCxxSUFBcUk7SUFDNUgsU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUU5Qzs7Ozs7T0FLRztJQUNNLFFBQVEsR0FBRyxLQUFLLENBQTRCLFlBQVksQ0FBQyxDQUFDO0lBRW5FLGdCQUFnQixDQUFDLEVBQTRCO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWM7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVTLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDdkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RCLE9BQU87Z0JBQ0gsR0FBRyxJQUFJO2dCQUNQLElBQUksRUFBRSxVQUFVLEVBQUU7YUFDckIsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7SUFFTyxRQUFRLENBQUMsS0FBYztRQUM3QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7d0dBdkRRLHlCQUF5Qjs0RkFBekIseUJBQXlCLG1uQkFSdkI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2dCQUN4RCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osMEJDbENMLGdtQkFrQkEsMkNEUWMsV0FBVywrVkFBRSxvQkFBb0I7OzRGQVVsQyx5QkFBeUI7a0JBYnJDLFNBQVM7K0JBQ0kscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFDLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxhQUVqQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQzs0QkFDeEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBmb3J3YXJkUmVmLCBpbnB1dCwgbW9kZWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHJhbmRvbUhhc2ggfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3V0aWxzJztcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Hcm91cEl0ZW0gfSBmcm9tICcuL21vZGVscy9yYWRpby1idXR0b24tZ3JvdXAubW9kZWxzJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBkZSBncnVwbyBkZSBib3TDtWVzIGRlIG9ww6fDo28gKHJhZGlvIGJ1dHRvbiBncm91cCkgcXVlIGdlcmVuY2lhXG4gKiBhIHNlbGXDp8OjbyBleGNsdXNpdmEgZW50cmUgbcO6bHRpcGxhcyBvcMOnw7Vlcy4gSW1wbGVtZW50YSB7QGxpbmsgQ29udHJvbFZhbHVlQWNjZXNzb3J9XG4gKiBwYXJhIHVzbyBjb20gUmVhY3RpdmUgRm9ybXMgZSBUZW1wbGF0ZS1kcml2ZW4gRm9ybXMgZG8gQW5ndWxhci5cbiAqIFJlbmRlcml6YSBpbnRlcm5hbWVudGUgY29tcG9uZW50ZXMge0BsaW5rIFJhZGlvQnV0dG9uQ29tcG9uZW50fSBwYXJhIGNhZGEgaXRlbSBjb25maWd1cmFkby5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtcmFkaW9idXR0b24tZ3JvdXBcbiAqICAgZm9ybUNvbnRyb2xOYW1lPVwib3BjYW9cIlxuICogICBpbnB1dE5hbWU9XCJwbGFub1wiXG4gKiAgIFtpdGVtc109XCJwbGFub3NcIlxuICogICB2aWV3TW9kZT1cInZlcnRpY2FsXCIgLz5cbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBJbnB1dHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXJhZGlvYnV0dG9uLWdyb3VwJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgUmFkaW9CdXR0b25Db21wb25lbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1idXR0b24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvQnV0dG9uR3JvdXBDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9CdXR0b25Hcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBwcm90ZWN0ZWQgb25DaGFuZ2U6ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAgIHByb3RlY3RlZCBvblRvdWNoZWQ6ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAgIHByb3RlY3RlZCBtb2RlbFZhbHVlID0gc2lnbmFsPHVua25vd24+KHVuZGVmaW5lZCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIENvbnRyb2xhIG8gZXN0YWRvIGRlc2FiaWxpdGFkbyBkZSB0b2RvcyBvcyBib3TDtWVzIGRvIGdydXBvIHZpYSB0d28td2F5IGJpbmRpbmcuIEBkZWZhdWx0IGZhbHNlICovXG4gICAgcmVhZG9ubHkgZGlzYWJsZWQgPSBtb2RlbChmYWxzZSk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIExpc3RhIGRlIGl0ZW5zIHF1ZSBzZXLDo28gcmVuZGVyaXphZG9zIGNvbW8gb3DDp8O1ZXMgZG8gZ3J1cG8uIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cbiAgICByZWFkb25seSBpdGVtcyA9IGlucHV0LnJlcXVpcmVkPFJhZGlvQnV0dG9uR3JvdXBJdGVtW10+KCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEF0cmlidXRvIGBuYW1lYCBjb21wYXJ0aWxoYWRvIGVudHJlIHRvZG9zIG9zIHJhZGlvIGJ1dHRvbnMgZG8gZ3J1cG8sIGdhcmFudGluZG8gZXhjbHVzaXZpZGFkZS4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xuICAgIHJlYWRvbmx5IGlucHV0TmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBEaXJlw6fDo28gZGUgbGF5b3V0IGRvcyBib3TDtWVzIGRlIG9ww6fDo28uXG4gICAgICogYCdob3Jpem9udGFsJ2AgZXhpYmUgb3MgYm90w7VlcyBsYWRvIGEgbGFkbzsgYCd2ZXJ0aWNhbCdgIG9zIGVtcGlsaGEuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnaG9yaXpvbnRhbCdcbiAgICAgKi9cbiAgICByZWFkb25seSB2aWV3TW9kZSA9IGlucHV0PCdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc+KCdob3Jpem9udGFsJyk7XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQuc2V0KGlzRGlzYWJsZWQpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RlbFZhbHVlLnNldCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJhZGlvQnV0dG9uSXRlbXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcygpO1xuICAgICAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgaGFzaDogcmFuZG9tSGFzaCgpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgc2V0VmFsdWUodmFsdWU6IHVua25vd24pIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKHZhbHVlKTtcbiAgICB9XG59XG5cbiIsIjxzZWN0aW9uXG4gICAgY2xhc3M9XCJmbGV4IGdhcC0yXCJcbiAgICBbY2xhc3MuZmxleC1jb2xdPVwidmlld01vZGUoKSA9PT0gJ2hvcml6b250YWwnXCJcbj5cbiAgICBAZm9yIChyYWRpb0J1dHRvbkl0ZW0gb2YgcmFkaW9CdXR0b25JdGVtcygpOyB0cmFjayByYWRpb0J1dHRvbkl0ZW0uaGFzaCkge1xuICAgICAgICBAbGV0IGl0ZW1EaXNhYmxlZCA9IGRpc2FibGVkKCkgPyB0cnVlIDogcmFkaW9CdXR0b25JdGVtLmRpc2FibGVkIHx8IGZhbHNlO1xuXG4gICAgICAgIDxzLXJhZGlvYnV0dG9uXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsVmFsdWVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwicmFkaW9CdXR0b25JdGVtLnZhbHVlXCJcbiAgICAgICAgICAgIFtidXR0b25EaXNhYmxlZF09XCJpdGVtRGlzYWJsZWRcIlxuICAgICAgICAgICAgW25hbWVdPVwiaW5wdXROYW1lKClcIlxuICAgICAgICAgICAgW2xhYmVsXT1cInJhZGlvQnV0dG9uSXRlbS5sYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgPC9zLXJhZGlvYnV0dG9uPlxuICAgIH1cbjwvc2VjdGlvbj5cbiJdfQ==
|
|
@@ -1,11 +1,39 @@
|
|
|
1
|
-
import { Component, Input, forwardRef } from
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from
|
|
1
|
+
import { Component, Input, forwardRef } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
|
+
/**
|
|
6
|
+
* @description Componente de escala de avaliação que permite ao usuário selecionar um nó de uma escala visual.
|
|
7
|
+
* Implementa `ControlValueAccessor` para integração com Reactive Forms e Template-Driven Forms.
|
|
8
|
+
* Ideal para pesquisas de satisfação (NPS, CSAT) e questionários de feedback.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```html
|
|
12
|
+
* <s-rating-scale
|
|
13
|
+
* [nodes]="ratingNodes"
|
|
14
|
+
* startLabel="Péssimo"
|
|
15
|
+
* endLabel="Ótimo"
|
|
16
|
+
* [(ngModel)]="rating"
|
|
17
|
+
* />
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @category Feedback
|
|
21
|
+
*/
|
|
5
22
|
export class RatingScaleComponent {
|
|
23
|
+
/**
|
|
24
|
+
* @description Lista de nós que compõem a escala de avaliação. Campo obrigatório.
|
|
25
|
+
* Cada `RatingScaleNode` define o valor, rótulo e cor do item na escala.
|
|
26
|
+
*/
|
|
6
27
|
nodes;
|
|
28
|
+
/** @description Rótulo exibido no início (extremidade esquerda) da escala. */
|
|
7
29
|
startLabel;
|
|
30
|
+
/** @description Rótulo exibido no final (extremidade direita) da escala. */
|
|
8
31
|
endLabel;
|
|
32
|
+
/**
|
|
33
|
+
* @description Quando `true`, a escala fica desabilitada e o usuário não pode selecionar nenhum nó.
|
|
34
|
+
*
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
9
37
|
disabled = false;
|
|
10
38
|
value;
|
|
11
39
|
_onChange;
|
|
@@ -28,19 +56,23 @@ export class RatingScaleComponent {
|
|
|
28
56
|
}
|
|
29
57
|
}
|
|
30
58
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RatingScaleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RatingScaleComponent, selector: "s-rating-scale", inputs: { nodes: "nodes", startLabel: "startLabel", endLabel: "endLabel", disabled: "disabled" }, providers: [
|
|
59
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RatingScaleComponent, selector: "s-rating-scale", inputs: { nodes: "nodes", startLabel: "startLabel", endLabel: "endLabel", disabled: "disabled" }, providers: [
|
|
60
|
+
{
|
|
32
61
|
provide: NG_VALUE_ACCESSOR,
|
|
33
62
|
useExisting: forwardRef(() => RatingScaleComponent),
|
|
34
63
|
multi: true,
|
|
35
|
-
}
|
|
64
|
+
},
|
|
65
|
+
], ngImport: i0, template: "<div\n class=\"rating-scale\"\n [ngClass]=\"{ 'rating-scale--disabled': disabled }\">\n <div class=\"nodes\">\n @for (node of nodes; track node.id) {\n <button\n class=\"node\"\n [ngClass]=\"{ 'node--selected': value?.id === node.id && !disabled }\"\n tabindex=\"0\"\n (click)=\"onSelect(node)\">\n @if (node.icon) {\n <span\n class=\"icon fas\"\n [ngClass]=\"node.icon\">\n </span>\n }\n @if (node.title) {\n <span class=\"label\">{{ node.title }}</span>\n }\n </button>\n }\n </div>\n <div class=\"labels\">\n <span>{{ startLabel }}</span>\n <span>{{ endLabel }}</span>\n </div>\n</div>", styles: [".rating-scale{display:flex;flex-direction:column}.rating-scale .nodes{display:flex}.rating-scale .nodes .node{align-items:center;background-color:#fff;border-color:#7892a1;border-radius:6px;border-style:solid;border-width:1px;display:flex;flex-grow:1;justify-content:center;margin:0 2px;padding:8px}.rating-scale .nodes .node .icon{color:#6e7280;font-size:1rem}.rating-scale .nodes .node .label{color:#212533;font-size:.875rem;font-weight:400;line-height:150%}.rating-scale .nodes .node .icon,.rating-scale .nodes .node .label{margin:6px}.rating-scale .nodes .node--selected{background-color:#d5e8ec;border-color:#428bca;color:#428bca}.rating-scale .nodes .node:first-child{margin-left:0}.rating-scale .nodes .node:last-child{margin-right:0}.rating-scale .labels{display:flex;justify-content:space-between;padding:12px 0}.rating-scale .labels span{color:#080808;font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:400;line-height:150%}.rating-scale--disabled{opacity:.5}.rating-scale:not(.rating-scale--disabled) .node{cursor:pointer}.rating-scale:not(.rating-scale--disabled) .node:hover{background-color:#dedce5}.rating-scale:not(.rating-scale--disabled) .node:focus{border-width:2px;outline:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
36
66
|
}
|
|
37
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RatingScaleComponent, decorators: [{
|
|
38
68
|
type: Component,
|
|
39
|
-
args: [{ selector:
|
|
69
|
+
args: [{ selector: 's-rating-scale', providers: [
|
|
70
|
+
{
|
|
40
71
|
provide: NG_VALUE_ACCESSOR,
|
|
41
72
|
useExisting: forwardRef(() => RatingScaleComponent),
|
|
42
73
|
multi: true,
|
|
43
|
-
}
|
|
74
|
+
},
|
|
75
|
+
], template: "<div\n class=\"rating-scale\"\n [ngClass]=\"{ 'rating-scale--disabled': disabled }\">\n <div class=\"nodes\">\n @for (node of nodes; track node.id) {\n <button\n class=\"node\"\n [ngClass]=\"{ 'node--selected': value?.id === node.id && !disabled }\"\n tabindex=\"0\"\n (click)=\"onSelect(node)\">\n @if (node.icon) {\n <span\n class=\"icon fas\"\n [ngClass]=\"node.icon\">\n </span>\n }\n @if (node.title) {\n <span class=\"label\">{{ node.title }}</span>\n }\n </button>\n }\n </div>\n <div class=\"labels\">\n <span>{{ startLabel }}</span>\n <span>{{ endLabel }}</span>\n </div>\n</div>", styles: [".rating-scale{display:flex;flex-direction:column}.rating-scale .nodes{display:flex}.rating-scale .nodes .node{align-items:center;background-color:#fff;border-color:#7892a1;border-radius:6px;border-style:solid;border-width:1px;display:flex;flex-grow:1;justify-content:center;margin:0 2px;padding:8px}.rating-scale .nodes .node .icon{color:#6e7280;font-size:1rem}.rating-scale .nodes .node .label{color:#212533;font-size:.875rem;font-weight:400;line-height:150%}.rating-scale .nodes .node .icon,.rating-scale .nodes .node .label{margin:6px}.rating-scale .nodes .node--selected{background-color:#d5e8ec;border-color:#428bca;color:#428bca}.rating-scale .nodes .node:first-child{margin-left:0}.rating-scale .nodes .node:last-child{margin-right:0}.rating-scale .labels{display:flex;justify-content:space-between;padding:12px 0}.rating-scale .labels span{color:#080808;font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:400;line-height:150%}.rating-scale--disabled{opacity:.5}.rating-scale:not(.rating-scale--disabled) .node{cursor:pointer}.rating-scale:not(.rating-scale--disabled) .node:hover{background-color:#dedce5}.rating-scale:not(.rating-scale--disabled) .node:focus{border-width:2px;outline:none}\n"] }]
|
|
44
76
|
}], propDecorators: { nodes: [{
|
|
45
77
|
type: Input,
|
|
46
78
|
args: [{ required: true }]
|
|
@@ -51,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
51
83
|
}], disabled: [{
|
|
52
84
|
type: Input
|
|
53
85
|
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLXNjYWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYXRpbmctc2NhbGUvc3JjL2xpYi9yYXRpbmctc2NhbGUvcmF0aW5nLXNjYWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYXRpbmctc2NhbGUvc3JjL2xpYi9yYXRpbmctc2NhbGUvcmF0aW5nLXNjYWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV6RTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQWFILE1BQU0sT0FBTyxvQkFBb0I7SUFDN0I7OztPQUdHO0lBRUksS0FBSyxDQUFxQjtJQUVqQyw4RUFBOEU7SUFFdkUsVUFBVSxDQUFVO0lBRTNCLDRFQUE0RTtJQUVyRSxRQUFRLENBQVU7SUFFekI7Ozs7T0FJRztJQUVJLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFakIsS0FBSyxDQUFtQjtJQUN2QixTQUFTLENBQW9DO0lBQzdDLFVBQVUsQ0FBb0M7SUFFL0MsVUFBVSxDQUFDLEtBQXNCO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUM7SUFDTSxnQkFBZ0IsQ0FBQyxRQUEwQztRQUM5RCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBQ00saUJBQWlCLENBQUMsU0FBMkM7UUFDaEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxNQUF1QjtRQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQzt3R0E3Q1Esb0JBQW9COzRGQUFwQixvQkFBb0IsMklBUmxCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDbkQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLDBCQ2hDTCxpM0JBMEJNOzs0RkRRTyxvQkFBb0I7a0JBWmhDLFNBQVM7K0JBQ0ksZ0JBQWdCLGFBR2Y7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzhCQVFNLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2xCLFVBQVU7c0JBRGhCLEtBQUs7Z0JBS0MsUUFBUTtzQkFEZCxLQUFLO2dCQVNDLFFBQVE7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUmF0aW5nU2NhbGVOb2RlIH0gZnJvbSAnLi9tb2RlbHMvcmF0aW5nLXNjYWxlLW5vZGUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIGVzY2FsYSBkZSBhdmFsaWHDp8OjbyBxdWUgcGVybWl0ZSBhbyB1c3XDoXJpbyBzZWxlY2lvbmFyIHVtIG7DsyBkZSB1bWEgZXNjYWxhIHZpc3VhbC5cbiAqIEltcGxlbWVudGEgYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCBwYXJhIGludGVncmHDp8OjbyBjb20gUmVhY3RpdmUgRm9ybXMgZSBUZW1wbGF0ZS1Ecml2ZW4gRm9ybXMuXG4gKiBJZGVhbCBwYXJhIHBlc3F1aXNhcyBkZSBzYXRpc2Zhw6fDo28gKE5QUywgQ1NBVCkgZSBxdWVzdGlvbsOhcmlvcyBkZSBmZWVkYmFjay5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtcmF0aW5nLXNjYWxlXG4gKiAgIFtub2Rlc109XCJyYXRpbmdOb2Rlc1wiXG4gKiAgIHN0YXJ0TGFiZWw9XCJQw6lzc2ltb1wiXG4gKiAgIGVuZExhYmVsPVwiw5N0aW1vXCJcbiAqICAgWyhuZ01vZGVsKV09XCJyYXRpbmdcIlxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBGZWVkYmFja1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3MtcmF0aW5nLXNjYWxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmF0aW5nLXNjYWxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYXRpbmctc2NhbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYXRpbmdTY2FsZUNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSYXRpbmdTY2FsZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gTGlzdGEgZGUgbsOzcyBxdWUgY29tcMO1ZW0gYSBlc2NhbGEgZGUgYXZhbGlhw6fDo28uIENhbXBvIG9icmlnYXTDs3Jpby5cbiAgICAgKiBDYWRhIGBSYXRpbmdTY2FsZU5vZGVgIGRlZmluZSBvIHZhbG9yLCByw7N0dWxvIGUgY29yIGRvIGl0ZW0gbmEgZXNjYWxhLlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIG5vZGVzITogUmF0aW5nU2NhbGVOb2RlW107XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIFLDs3R1bG8gZXhpYmlkbyBubyBpbsOtY2lvIChleHRyZW1pZGFkZSBlc3F1ZXJkYSkgZGEgZXNjYWxhLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHN0YXJ0TGFiZWw/OiBzdHJpbmc7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIFLDs3R1bG8gZXhpYmlkbyBubyBmaW5hbCAoZXh0cmVtaWRhZGUgZGlyZWl0YSkgZGEgZXNjYWxhLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVuZExhYmVsPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFF1YW5kbyBgdHJ1ZWAsIGEgZXNjYWxhIGZpY2EgZGVzYWJpbGl0YWRhIGUgbyB1c3XDoXJpbyBuw6NvIHBvZGUgc2VsZWNpb25hciBuZW5odW0gbsOzLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgcHVibGljIHZhbHVlPzogUmF0aW5nU2NhbGVOb2RlO1xuICAgIHByaXZhdGUgX29uQ2hhbmdlPzogKHZhbHVlOiBSYXRpbmdTY2FsZU5vZGUpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBfb25Ub3VjaGVkPzogKHZhbHVlOiBSYXRpbmdTY2FsZU5vZGUpID0+IHZvaWQ7XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogUmF0aW5nU2NhbGVOb2RlKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IFJhdGluZ1NjYWxlTm9kZSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAodmFsdWU6IFJhdGluZ1NjYWxlTm9kZSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2VsZWN0KHJhdGluZzogUmF0aW5nU2NhbGVOb2RlKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSByYXRpbmc7XG4gICAgICAgIGlmICh0aGlzLl9vbkNoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIjxkaXZcbiAgICBjbGFzcz1cInJhdGluZy1zY2FsZVwiXG4gICAgW25nQ2xhc3NdPVwieyAncmF0aW5nLXNjYWxlLS1kaXNhYmxlZCc6IGRpc2FibGVkIH1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibm9kZXNcIj5cbiAgICAgICAgQGZvciAobm9kZSBvZiBub2RlczsgdHJhY2sgbm9kZS5pZCkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwibm9kZVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnbm9kZS0tc2VsZWN0ZWQnOiB2YWx1ZT8uaWQgPT09IG5vZGUuaWQgJiYgIWRpc2FibGVkIH1cIlxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KG5vZGUpXCI+XG4gICAgICAgICAgICAgICAgQGlmIChub2RlLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbiBmYXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwibm9kZS5pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChub2RlLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57eyBub2RlLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImxhYmVsc1wiPlxuICAgICAgICA8c3Bhbj57eyBzdGFydExhYmVsIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyBlbmRMYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|