@seniorsistemas/angular-components 19.0.4 → 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-models.d.ts +11 -0
- package/breadcrumb/lib/breadcrumb/breadcrumb.component.d.ts +19 -23
- package/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.d.ts +25 -0
- package/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.d.ts +10 -0
- package/breadcrumb/public-api.d.ts +4 -2
- package/button/lib/button/button.component.d.ts +103 -1
- 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-models.mjs +2 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +39 -98
- package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +120 -0
- package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.mjs +19 -0
- package/esm2022/breadcrumb/public-api.mjs +4 -3
- package/esm2022/button/lib/button/button.component.mjs +107 -3
- 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 +21 -2
- package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +32 -2
- 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/grid/row/row.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +2 -2
- 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/bignumber/bignumber-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +2 -2
- 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 +61 -2
- package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +25 -5
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +49 -2
- package/esm2022/gantt/lib/gantt/gantt.component.mjs +32 -1
- package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +1 -1
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +31 -2
- package/esm2022/grid-menu/lib/grid-menu/grid-menu.component.mjs +40 -1
- package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +1 -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 +41 -4
- 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/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
- package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +1 -1
- 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/components/kanban-column/kanban-column.component.mjs +1 -1
- package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +1 -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/lib/locale/fallback.mjs +4 -2
- 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 +21 -2
- 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/elements/field/object-card-field.component.mjs +1 -1
- package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +1 -1
- 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 +34 -3
- 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 +87 -3
- 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/lib/table/table-paging/table-paging.component.mjs +1 -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/components/tiered-menu/tiered-menu.component.mjs +65 -46
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +3 -3
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +35 -2
- 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 +93 -37
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-button.mjs +106 -2
- 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 +20 -1
- package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +31 -1
- 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 +38 -13
- 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 +60 -1
- 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 +48 -1
- 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 +31 -2
- 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 +81 -25
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +39 -2
- 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 +17 -2
- 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 +30 -12
- 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 +20 -1
- 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 +25 -2
- 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 +33 -2
- 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 +86 -2
- 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 +16 -1
- 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 +99 -47
- 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/fesm2022/seniorsistemas-angular-components.mjs +3 -1
- package/fesm2022/seniorsistemas-angular-components.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 +7 -7
- 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/components/tiered-menu/tiered-menu.component.d.ts +3 -1
- package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +31 -1
- 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
- package/breadcrumb/lib/breadcrumb/breadcrumb.module.d.ts +0 -10
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.module.mjs +0 -20
|
@@ -1,12 +1,30 @@
|
|
|
1
|
-
import { Component, ContentChildren, Input
|
|
1
|
+
import { Component, ContentChildren, Input } from '@angular/core';
|
|
2
2
|
import { TemplateDirective } from '@seniorsistemas/angular-components/template';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
|
+
/**
|
|
6
|
+
* @description Componente de cartão com suporte a banner, cabeçalho (título, subtítulo e ícone)
|
|
7
|
+
* e templates customizáveis para cabeçalho, corpo e rodapé via `TemplateDirective`.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```html
|
|
11
|
+
* <s-card title="Título" subtitle="Subtítulo">
|
|
12
|
+
* <ng-template sTemplate type="body">Conteúdo</ng-template>
|
|
13
|
+
* </s-card>
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @category Structure
|
|
17
|
+
*/
|
|
5
18
|
export class CardComponent {
|
|
19
|
+
/** @description URL da imagem exibida como banner no topo do card. */
|
|
6
20
|
bannerImage;
|
|
21
|
+
/** @description Faz o card ocupar 100% da largura disponível. @default false */
|
|
7
22
|
fullWidth = false;
|
|
23
|
+
/** @description Título exibido no cabeçalho do card. @default '' */
|
|
8
24
|
title = '';
|
|
25
|
+
/** @description Subtítulo exibido abaixo do título. @default '' */
|
|
9
26
|
subtitle = '';
|
|
27
|
+
/** @description Classe do ícone exibido no cabeçalho. @default '' */
|
|
10
28
|
icon = '';
|
|
11
29
|
showBanner = false;
|
|
12
30
|
templates;
|
|
@@ -39,9 +57,7 @@ export class CardComponent {
|
|
|
39
57
|
this.headerTemplate = this._getHeaderTemplate();
|
|
40
58
|
this.bodyTemplate = this._getBodyTemplate();
|
|
41
59
|
this.footerTemplate = this._getFooterTemplate();
|
|
42
|
-
this.hasCustomTemplates = !!(this.headerTemplate ||
|
|
43
|
-
this.bodyTemplate ||
|
|
44
|
-
this.footerTemplate);
|
|
60
|
+
this.hasCustomTemplates = !!(this.headerTemplate || this.bodyTemplate || this.footerTemplate);
|
|
45
61
|
}
|
|
46
62
|
_setShowBanner() {
|
|
47
63
|
return new Promise((resolve) => {
|
|
@@ -49,7 +65,6 @@ export class CardComponent {
|
|
|
49
65
|
resolve();
|
|
50
66
|
return;
|
|
51
67
|
}
|
|
52
|
-
;
|
|
53
68
|
const img = new Image();
|
|
54
69
|
img.src = this.bannerImage;
|
|
55
70
|
img.onload = () => {
|
|
@@ -82,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
82
97
|
type: ContentChildren,
|
|
83
98
|
args: [TemplateDirective]
|
|
84
99
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2FyZC9zcmMvbGliL2NhcmQvY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2FyZC9zcmMvbGliL2NhcmQvY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEdBR1IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztBQU9oRixNQUFNLE9BQU8sYUFBYTtJQUVmLFdBQVcsQ0FBVTtJQUdyQixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRWhCLEtBQUssR0FBRyxFQUFFLENBQUM7SUFFWCxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVaLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFHbkIsU0FBUyxDQUFnQztJQUV6QyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDM0IsY0FBYyxDQUF3QjtJQUN0QyxZQUFZLENBQXdCO0lBQ3BDLGNBQWMsQ0FBd0I7SUFFN0MsSUFBVyxTQUFTO1FBQ2hCLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzdDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckUsT0FBTyxjQUFjLElBQUksbUJBQW1CLENBQUM7SUFDakQsQ0FBQztJQUVNLEtBQUssQ0FBQyxrQkFBa0I7UUFDM0IsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxJQUFZO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQ3ZCLENBQUMsUUFBMkIsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLENBQzFELEVBQUUsUUFBUSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRWhELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUMsQ0FDeEIsSUFBSSxDQUFDLGNBQWM7WUFDbkIsSUFBSSxDQUFDLFlBQVk7WUFDakIsSUFBSSxDQUFDLGNBQWMsQ0FDdEIsQ0FBQztJQUNOLENBQUM7SUFFTyxjQUFjO1FBQ2xCLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNwQixPQUFPLEVBQUUsQ0FBQTtnQkFDVCxPQUFNO1lBQ1YsQ0FBQztZQUFBLENBQUM7WUFFRixNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3hCLEdBQUcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUMzQixHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDdkIsT0FBTyxFQUFFLENBQUE7WUFDYixDQUFDLENBQUE7WUFFRCxHQUFHLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDZixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsT0FBTyxFQUFFLENBQUE7WUFDYixDQUFDLENBQUE7UUFFTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7d0dBcEZRLGFBQWE7NEZBQWIsYUFBYSw0TEFlTCxpQkFBaUIsNkJDL0J0Qyx1bUVBcUVBOzs0RkRyRGEsYUFBYTtrQkFMekIsU0FBUzsrQkFDSSxRQUFROzhCQU1YLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFLQyxTQUFTO3NCQURmLGVBQWU7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSW5wdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3RlbXBsYXRlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBiYW5uZXJJbWFnZT86IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZ1bGxXaWR0aCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgdGl0bGUgPSAnJztcblxuICAgIEBJbnB1dCgpIHN1YnRpdGxlID0gJyc7XG5cbiAgICBASW5wdXQoKSBpY29uID0gJyc7XG5cbiAgICBwdWJsaWMgc2hvd0Jhbm5lciA9IGZhbHNlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZURpcmVjdGl2ZSlcbiAgICBwdWJsaWMgdGVtcGxhdGVzPzogUXVlcnlMaXN0PFRlbXBsYXRlRGlyZWN0aXZlPjtcblxuICAgIHB1YmxpYyBoYXNDdXN0b21UZW1wbGF0ZXMgPSBmYWxzZTtcbiAgICBwdWJsaWMgaGVhZGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgICBwdWJsaWMgYm9keVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgcHVibGljIGZvb3RlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICBwdWJsaWMgZ2V0IGhhc0hlYWRlcigpIHtcbiAgICAgICAgY29uc3QgaGVhZGVyVGVtcGxhdGUgPSAhIXRoaXMuaGVhZGVyVGVtcGxhdGU7XG4gICAgICAgIGNvbnN0IGhhc0hlYWRlckF0dHJpYnV0ZXMgPSB0aGlzLnRpdGxlIHx8IHRoaXMuc3VidGl0bGUgfHwgdGhpcy5pY29uO1xuICAgICAgICByZXR1cm4gaGVhZGVyVGVtcGxhdGUgfHwgaGFzSGVhZGVyQXR0cmlidXRlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbmdBZnRlckNvbnRlbnRJbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLl9zZXRTaG93QmFubmVyKCk7XG4gICAgICAgIHRoaXMuX3NldFRlbXBsYXRlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEN1c3RvbVRlbXBsYXRlKCdoZWFkZXInKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRCb2R5VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0Q3VzdG9tVGVtcGxhdGUoJ2JvZHknKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRGb290ZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRDdXN0b21UZW1wbGF0ZSgnZm9vdGVyJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q3VzdG9tVGVtcGxhdGUodHlwZTogc3RyaW5nKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXM/LmZpbmQoXG4gICAgICAgICAgICAodGVtcGxhdGU6IFRlbXBsYXRlRGlyZWN0aXZlKSA9PiB0ZW1wbGF0ZS50eXBlID09PSB0eXBlLFxuICAgICAgICApPy50ZW1wbGF0ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRUZW1wbGF0ZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGVhZGVyVGVtcGxhdGUgPSB0aGlzLl9nZXRIZWFkZXJUZW1wbGF0ZSgpO1xuICAgICAgICB0aGlzLmJvZHlUZW1wbGF0ZSA9IHRoaXMuX2dldEJvZHlUZW1wbGF0ZSgpO1xuICAgICAgICB0aGlzLmZvb3RlclRlbXBsYXRlID0gdGhpcy5fZ2V0Rm9vdGVyVGVtcGxhdGUoKTtcblxuICAgICAgICB0aGlzLmhhc0N1c3RvbVRlbXBsYXRlcyA9ICEhKFxuICAgICAgICAgICAgdGhpcy5oZWFkZXJUZW1wbGF0ZSB8fFxuICAgICAgICAgICAgdGhpcy5ib2R5VGVtcGxhdGUgfHxcbiAgICAgICAgICAgIHRoaXMuZm9vdGVyVGVtcGxhdGVcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRTaG93QmFubmVyKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5iYW5uZXJJbWFnZSkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKVxuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICAgICAgICBpbWcuc3JjID0gdGhpcy5iYW5uZXJJbWFnZTtcbiAgICAgICAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93QmFubmVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nLm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93QmFubmVyID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSlcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJjYXJkXCJcbiAgICBbY2xhc3MuY2FyZC0tZnVsbC13aWR0aF09XCJmdWxsV2lkdGhcIlxuPlxuICAgIEBpZiAoc2hvd0Jhbm5lcikge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImJhbm5lclwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgnICsgYmFubmVySW1hZ2UgKyAnKScgfVwiXG4gICAgICAgID48L2Rpdj5cbiAgICB9XG5cbiAgICA8IS0tIEBpZiAoaGFzQ3VzdG9tVGVtcGxhdGVzKSB7XG4gICAgICAgIEBpZiAoaGVhZGVyVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoYm9keVRlbXBsYXRlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib2R5VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoZm9vdGVyVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib2R5XCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIH0gLS0+XG5cbiAgICBAaWYoaGFzSGVhZGVyKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIEBpZihoZWFkZXJUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmKCFoZWFkZXJUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWljb25cIiAqbmdJZj1cImljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJpY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGVcIiAqbmdJZj1cInRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1zdWJ0aXRsZVwiICpuZ0lmPVwic3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzdWJ0aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgPGRpdiBjbGFzcz1cImJvZHlcIj5cbiAgICAgICAgQGlmKGJvZHlUZW1wbGF0ZSkge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICBAaWYoZm9vdGVyVGVtcGxhdGUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuIl19
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2FyZC9zcmMvbGliL2NhcmQvY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2FyZC9zcmMvbGliL2NhcmQvY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUU1RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7O0FBRWhGOzs7Ozs7Ozs7Ozs7R0FZRztBQU1ILE1BQU0sT0FBTyxhQUFhO0lBQ3RCLHNFQUFzRTtJQUUvRCxXQUFXLENBQVU7SUFFNUIsZ0ZBQWdGO0lBRXpFLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFekIsb0VBQW9FO0lBQzNELEtBQUssR0FBRyxFQUFFLENBQUM7SUFFcEIsbUVBQW1FO0lBQzFELFFBQVEsR0FBRyxFQUFFLENBQUM7SUFFdkIscUVBQXFFO0lBQzVELElBQUksR0FBRyxFQUFFLENBQUM7SUFFWixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBR25CLFNBQVMsQ0FBZ0M7SUFFekMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLGNBQWMsQ0FBd0I7SUFDdEMsWUFBWSxDQUF3QjtJQUNwQyxjQUFjLENBQXdCO0lBRTdDLElBQVcsU0FBUztRQUNoQixNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM3QyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3JFLE9BQU8sY0FBYyxJQUFJLG1CQUFtQixDQUFDO0lBQ2pELENBQUM7SUFFTSxLQUFLLENBQUMsa0JBQWtCO1FBQzNCLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBWTtRQUNuQyxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBMkIsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUM7SUFDbkcsQ0FBQztJQUVPLGFBQWE7UUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFaEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVPLGNBQWM7UUFDbEIsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sRUFBRSxDQUFDO2dCQUNWLE9BQU87WUFDWCxDQUFDO1lBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN4QixHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDM0IsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRSxDQUFDO1lBQ2QsQ0FBQyxDQUFDO1lBRUYsR0FBRyxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLE9BQU8sRUFBRSxDQUFDO1lBQ2QsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3dHQWxGUSxhQUFhOzRGQUFiLGFBQWEsNExBb0JMLGlCQUFpQiw2QkMxQ3RDLHVtRUFxRUE7OzRGRC9DYSxhQUFhO2tCQUx6QixTQUFTOytCQUNJLFFBQVE7OEJBT1gsV0FBVztzQkFEakIsS0FBSztnQkFLQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUtDLFNBQVM7c0JBRGYsZUFBZTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSW5wdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3RlbXBsYXRlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBkZSBjYXJ0w6NvIGNvbSBzdXBvcnRlIGEgYmFubmVyLCBjYWJlw6dhbGhvICh0w610dWxvLCBzdWJ0w610dWxvIGUgw61jb25lKVxuICogZSB0ZW1wbGF0ZXMgY3VzdG9taXrDoXZlaXMgcGFyYSBjYWJlw6dhbGhvLCBjb3JwbyBlIHJvZGFww6kgdmlhIGBUZW1wbGF0ZURpcmVjdGl2ZWAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxzLWNhcmQgdGl0bGU9XCJUw610dWxvXCIgc3VidGl0bGU9XCJTdWJ0w610dWxvXCI+XG4gKiAgIDxuZy10ZW1wbGF0ZSBzVGVtcGxhdGUgdHlwZT1cImJvZHlcIj5Db250ZcO6ZG88L25nLXRlbXBsYXRlPlxuICogPC9zLWNhcmQ+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgU3RydWN0dXJlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FyZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBVUkwgZGEgaW1hZ2VtIGV4aWJpZGEgY29tbyBiYW5uZXIgbm8gdG9wbyBkbyBjYXJkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGJhbm5lckltYWdlPzogc3RyaW5nO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBGYXogbyBjYXJkIG9jdXBhciAxMDAlIGRhIGxhcmd1cmEgZGlzcG9uw612ZWwuIEBkZWZhdWx0IGZhbHNlICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZnVsbFdpZHRoID0gZmFsc2U7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIFTDrXR1bG8gZXhpYmlkbyBubyBjYWJlw6dhbGhvIGRvIGNhcmQuIEBkZWZhdWx0ICcnICovXG4gICAgQElucHV0KCkgdGl0bGUgPSAnJztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gU3VidMOtdHVsbyBleGliaWRvIGFiYWl4byBkbyB0w610dWxvLiBAZGVmYXVsdCAnJyAqL1xuICAgIEBJbnB1dCgpIHN1YnRpdGxlID0gJyc7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIENsYXNzZSBkbyDDrWNvbmUgZXhpYmlkbyBubyBjYWJlw6dhbGhvLiBAZGVmYXVsdCAnJyAqL1xuICAgIEBJbnB1dCgpIGljb24gPSAnJztcblxuICAgIHB1YmxpYyBzaG93QmFubmVyID0gZmFsc2U7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFRlbXBsYXRlRGlyZWN0aXZlKVxuICAgIHB1YmxpYyB0ZW1wbGF0ZXM/OiBRdWVyeUxpc3Q8VGVtcGxhdGVEaXJlY3RpdmU+O1xuXG4gICAgcHVibGljIGhhc0N1c3RvbVRlbXBsYXRlcyA9IGZhbHNlO1xuICAgIHB1YmxpYyBoZWFkZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIHB1YmxpYyBib2R5VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgICBwdWJsaWMgZm9vdGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIHB1YmxpYyBnZXQgaGFzSGVhZGVyKCkge1xuICAgICAgICBjb25zdCBoZWFkZXJUZW1wbGF0ZSA9ICEhdGhpcy5oZWFkZXJUZW1wbGF0ZTtcbiAgICAgICAgY29uc3QgaGFzSGVhZGVyQXR0cmlidXRlcyA9IHRoaXMudGl0bGUgfHwgdGhpcy5zdWJ0aXRsZSB8fCB0aGlzLmljb247XG4gICAgICAgIHJldHVybiBoZWFkZXJUZW1wbGF0ZSB8fCBoYXNIZWFkZXJBdHRyaWJ1dGVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBuZ0FmdGVyQ29udGVudEluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuX3NldFNob3dCYW5uZXIoKTtcbiAgICAgICAgdGhpcy5fc2V0VGVtcGxhdGVzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0SGVhZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0Q3VzdG9tVGVtcGxhdGUoJ2hlYWRlcicpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEJvZHlUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRDdXN0b21UZW1wbGF0ZSgnYm9keScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEZvb3RlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEN1c3RvbVRlbXBsYXRlKCdmb290ZXInKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRDdXN0b21UZW1wbGF0ZSh0eXBlOiBzdHJpbmcpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRlbXBsYXRlcz8uZmluZCgodGVtcGxhdGU6IFRlbXBsYXRlRGlyZWN0aXZlKSA9PiB0ZW1wbGF0ZS50eXBlID09PSB0eXBlKT8udGVtcGxhdGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0VGVtcGxhdGVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gdGhpcy5fZ2V0SGVhZGVyVGVtcGxhdGUoKTtcbiAgICAgICAgdGhpcy5ib2R5VGVtcGxhdGUgPSB0aGlzLl9nZXRCb2R5VGVtcGxhdGUoKTtcbiAgICAgICAgdGhpcy5mb290ZXJUZW1wbGF0ZSA9IHRoaXMuX2dldEZvb3RlclRlbXBsYXRlKCk7XG5cbiAgICAgICAgdGhpcy5oYXNDdXN0b21UZW1wbGF0ZXMgPSAhISh0aGlzLmhlYWRlclRlbXBsYXRlIHx8IHRoaXMuYm9keVRlbXBsYXRlIHx8IHRoaXMuZm9vdGVyVGVtcGxhdGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldFNob3dCYW5uZXIoKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmJhbm5lckltYWdlKSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICAgICAgICBpbWcuc3JjID0gdGhpcy5iYW5uZXJJbWFnZTtcbiAgICAgICAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93QmFubmVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBpbWcub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dCYW5uZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbiIsIjxkaXZcbiAgICBjbGFzcz1cImNhcmRcIlxuICAgIFtjbGFzcy5jYXJkLS1mdWxsLXdpZHRoXT1cImZ1bGxXaWR0aFwiXG4+XG4gICAgQGlmIChzaG93QmFubmVyKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYmFubmVyXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtaW1hZ2UnOiAndXJsKCcgKyBiYW5uZXJJbWFnZSArICcpJyB9XCJcbiAgICAgICAgPjwvZGl2PlxuICAgIH1cblxuICAgIDwhLS0gQGlmIChoYXNDdXN0b21UZW1wbGF0ZXMpIHtcbiAgICAgICAgQGlmIChoZWFkZXJUZW1wbGF0ZSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChib2R5VGVtcGxhdGUpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib2R5XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChmb290ZXJUZW1wbGF0ZSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvZHlcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgfSAtLT5cblxuICAgIEBpZihoYXNIZWFkZXIpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgICAgQGlmKGhlYWRlclRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYoIWhlYWRlclRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItaWNvblwiICpuZ0lmPVwiaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cImljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZVwiICpuZ0lmPVwidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXN1YnRpdGxlXCIgKm5nSWY9XCJzdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1YnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgICAgICBAaWYoYm9keVRlbXBsYXRlKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYm9keVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIEBpZihmb290ZXJUZW1wbGF0ZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG4iXX0=
|
|
@@ -1,8 +1,26 @@
|
|
|
1
|
-
import { Component, ElementRef, Input, ViewChildren } from
|
|
1
|
+
import { Component, ElementRef, Input, ViewChildren } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
4
|
import * as i2 from "./components/chat-message/chat-message.component";
|
|
5
|
+
/**
|
|
6
|
+
* @description Componente de interface de chat que exibe uma lista de mensagens
|
|
7
|
+
* e faz scroll automático até a última mensagem sempre que novas são adicionadas.
|
|
8
|
+
* Renderiza cada mensagem via {@link ChatMessageComponent}.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```html
|
|
12
|
+
* <s-chat [messages]="conversaMensagens" />
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @category Inputs
|
|
16
|
+
*/
|
|
5
17
|
export class ChatComponent {
|
|
18
|
+
/**
|
|
19
|
+
* @description Lista de mensagens exibidas no chat.
|
|
20
|
+
* Cada item é do tipo {@link ChatMessage}, contendo texto, remetente e demais metadados.
|
|
21
|
+
*
|
|
22
|
+
* @default []
|
|
23
|
+
*/
|
|
6
24
|
messages = [];
|
|
7
25
|
messageElements = null;
|
|
8
26
|
ngAfterViewInit() {
|
|
@@ -12,18 +30,18 @@ export class ChatComponent {
|
|
|
12
30
|
});
|
|
13
31
|
}
|
|
14
32
|
scrollToBottom() {
|
|
15
|
-
this.messageElements?.last?.nativeElement.scrollIntoView({ behavior:
|
|
33
|
+
this.messageElements?.last?.nativeElement.scrollIntoView({ behavior: 'smooth' });
|
|
16
34
|
}
|
|
17
35
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
36
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChatComponent, selector: "s-chat", inputs: { messages: "messages" }, viewQueries: [{ propertyName: "messageElements", predicate: ["messageElements"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"chat-container\">\n <s-chat-message #messageElements *ngFor=\"let message of messages\" [message]=\"message\"> </s-chat-message>\n</div>\n", styles: [".chat-container{min-height:500px;overflow:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.ChatMessageComponent, selector: "s-chat-message", inputs: ["message"] }] });
|
|
19
37
|
}
|
|
20
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatComponent, decorators: [{
|
|
21
39
|
type: Component,
|
|
22
|
-
args: [{ selector:
|
|
40
|
+
args: [{ selector: 's-chat', template: "<div class=\"chat-container\">\n <s-chat-message #messageElements *ngFor=\"let message of messages\" [message]=\"message\"> </s-chat-message>\n</div>\n", styles: [".chat-container{min-height:500px;overflow:auto}\n"] }]
|
|
23
41
|
}], propDecorators: { messages: [{
|
|
24
42
|
type: Input
|
|
25
43
|
}], messageElements: [{
|
|
26
44
|
type: ViewChildren,
|
|
27
|
-
args: [
|
|
45
|
+
args: ['messageElements', { read: ElementRef }]
|
|
28
46
|
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2hhdC9zcmMvbGliL2NoYXQvY2hhdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2hhdC9zcmMvbGliL2NoYXQvY2hhdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUlyRzs7Ozs7Ozs7Ozs7R0FXRztBQU1ILE1BQU0sT0FBTyxhQUFhO0lBQ3RCOzs7OztPQUtHO0lBRUksUUFBUSxHQUFrQixFQUFFLENBQUM7SUFHbkIsZUFBZSxHQUE4QyxJQUFJLENBQUM7SUFFNUUsZUFBZTtRQUNsQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sY0FBYztRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQzt3R0F2QlEsYUFBYTs0RkFBYixhQUFhLGtLQVVtQixVQUFVLDZCQy9CdkQsNEpBR0E7OzRGRGtCYSxhQUFhO2tCQUx6QixTQUFTOytCQUNJLFFBQVE7OEJBWVgsUUFBUTtzQkFEZCxLQUFLO2dCQUlXLGVBQWU7c0JBRC9CLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2hhdE1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL2NoYXQtbWVzc2FnZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgaW50ZXJmYWNlIGRlIGNoYXQgcXVlIGV4aWJlIHVtYSBsaXN0YSBkZSBtZW5zYWdlbnNcbiAqIGUgZmF6IHNjcm9sbCBhdXRvbcOhdGljbyBhdMOpIGEgw7psdGltYSBtZW5zYWdlbSBzZW1wcmUgcXVlIG5vdmFzIHPDo28gYWRpY2lvbmFkYXMuXG4gKiBSZW5kZXJpemEgY2FkYSBtZW5zYWdlbSB2aWEge0BsaW5rIENoYXRNZXNzYWdlQ29tcG9uZW50fS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtY2hhdCBbbWVzc2FnZXNdPVwiY29udmVyc2FNZW5zYWdlbnNcIiAvPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IElucHV0c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3MtY2hhdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoYXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NoYXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBMaXN0YSBkZSBtZW5zYWdlbnMgZXhpYmlkYXMgbm8gY2hhdC5cbiAgICAgKiBDYWRhIGl0ZW0gw6kgZG8gdGlwbyB7QGxpbmsgQ2hhdE1lc3NhZ2V9LCBjb250ZW5kbyB0ZXh0bywgcmVtZXRlbnRlIGUgZGVtYWlzIG1ldGFkYWRvcy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFtdXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWVzc2FnZXM6IENoYXRNZXNzYWdlW10gPSBbXTtcblxuICAgIEBWaWV3Q2hpbGRyZW4oJ21lc3NhZ2VFbGVtZW50cycsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZUVsZW1lbnRzOiBudWxsIHwgUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiA9IG51bGw7XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XG5cbiAgICAgICAgdGhpcy5tZXNzYWdlRWxlbWVudHM/LmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY3JvbGxUb0JvdHRvbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlRWxlbWVudHM/Lmxhc3Q/Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiY2hhdC1jb250YWluZXJcIj5cbiAgICA8cy1jaGF0LW1lc3NhZ2UgI21lc3NhZ2VFbGVtZW50cyAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBtZXNzYWdlc1wiIFttZXNzYWdlXT1cIm1lc3NhZ2VcIj4gPC9zLWNoYXQtbWVzc2FnZT5cbjwvZGl2PlxuIl19
|
|
@@ -1,13 +1,29 @@
|
|
|
1
|
-
import { Component, Input } from
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
4
|
import * as i2 from "@seniorsistemas/angular-components/locale";
|
|
5
5
|
import * as i3 from "@ngx-translate/core";
|
|
6
|
+
/**
|
|
7
|
+
* @description Componente que renderiza uma única mensagem de chat.
|
|
8
|
+
* Exibe o conteúdo textual, o remetente (próprio ou terceiro) e suporte a
|
|
9
|
+
* anexos via `attachmentUrl`, exibindo o nome do arquivo automaticamente.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```html
|
|
13
|
+
* <s-chat-message [message]="item" />
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @category Inputs
|
|
17
|
+
*/
|
|
6
18
|
export class ChatMessageComponent {
|
|
19
|
+
/**
|
|
20
|
+
* @description Objeto com os dados da mensagem a ser exibida,
|
|
21
|
+
* incluindo texto, remetente e URL de anexo. Campo obrigatório.
|
|
22
|
+
*/
|
|
7
23
|
message;
|
|
8
24
|
fileName = null;
|
|
9
25
|
ngOnChanges(changes) {
|
|
10
|
-
if (changes[
|
|
26
|
+
if (changes['message']) {
|
|
11
27
|
this.fileName = this.message.attachmentUrl ? this.getFileNameByUrl(this.message.attachmentUrl) : null;
|
|
12
28
|
}
|
|
13
29
|
}
|
|
@@ -21,9 +37,9 @@ export class ChatMessageComponent {
|
|
|
21
37
|
}
|
|
22
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatMessageComponent, decorators: [{
|
|
23
39
|
type: Component,
|
|
24
|
-
args: [{ selector:
|
|
40
|
+
args: [{ selector: 's-chat-message', template: "<div class=\"chat-message\" [class.chat-message--mine]=\"message.isMine\">\n <div class=\"chat-message-wrapper\">\n <div class=\"header\">\n <img class=\"thumbnail\" [src]=\"message.thumbnailUrl\" alt=\"Thumbnail\" />\n <span class=\"name\">{{ message.senderName }}</span>\n <span *ngIf=\"message.sentAt\" class=\"date\">{{ message.sentAt | localizedDate: \"L LTS\" | async }}</span>\n </div>\n <p class=\"body\">{{ message.text }}</p>\n\n <div *ngIf=\"message.attachmentUrl\" class=\"attachment\">\n <span class=\"attachment-label\">{{ \"platform.angular_components.attachment\" | translate }}:</span>\n <a class=\"attachment-anchor\" [href]=\"message.attachmentUrl\" [download]=\"fileName\">{{ fileName }}</a>\n </div>\n </div>\n</div>\n", styles: [".chat-message{display:flex;justify-content:flex-start;padding:10px 20px}.chat-message .chat-message-wrapper{background-color:#cabbd0;border-radius:16px 16px 16px 0;display:inline-flex;flex-direction:column;max-width:85%;padding:20px}.chat-message .chat-message-wrapper .header{align-items:center;color:#000;display:flex;font-family:Open Sans,sans-serif;gap:8px}.chat-message .chat-message-wrapper .header .thumbnail{border-radius:50%;height:32px;object-fit:cover;object-position:center;width:32px;background-color:#fff}.chat-message .chat-message-wrapper .header .name{font-size:14px;font-weight:700}.chat-message .chat-message-wrapper .header .date{font-size:12px}.chat-message .chat-message-wrapper .body{color:#000;font-family:Open Sans,sans-serif;font-size:12px}.chat-message .chat-message-wrapper .attachment{align-items:center;display:flex;gap:10px;margin-top:12px;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.chat-message .chat-message-wrapper .attachment-label{color:#0e1119;font-family:Open Sans,sans-serif;font-size:12px;font-weight:700}.chat-message .chat-message-wrapper .attachment-anchor{background-color:#fff;border-radius:4px;padding:0 12px;text-decoration:none}.chat-message--mine{justify-content:flex-end}.chat-message--mine .chat-message-wrapper{background-color:#eeebf2;border-radius:16px 16px 0}\n"] }]
|
|
25
41
|
}], propDecorators: { message: [{
|
|
26
42
|
type: Input,
|
|
27
43
|
args: [{ required: true }]
|
|
28
44
|
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9jaGF0L3NyYy9saWIvY2hhdC9jb21wb25lbnRzL2NoYXQtbWVzc2FnZS9jaGF0LW1lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NoYXQvc3JjL2xpYi9jaGF0L2NvbXBvbmVudHMvY2hhdC1tZXNzYWdlL2NoYXQtbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBSTNFOzs7Ozs7Ozs7OztHQVdHO0FBTUgsTUFBTSxPQUFPLG9CQUFvQjtJQUM3Qjs7O09BR0c7SUFFSSxPQUFPLENBQWU7SUFFdEIsUUFBUSxHQUFrQixJQUFJLENBQUM7SUFFL0IsV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMxRyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQVk7UUFDakMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ25DLENBQUM7d0dBcEJRLG9CQUFvQjs0RkFBcEIsb0JBQW9CLDJHQ3JCakMscTBCQWVBOzs0RkRNYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0ksZ0JBQWdCOzhCQVVuQixPQUFPO3NCQURiLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENoYXRNZXNzYWdlIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2hhdC1tZXNzYWdlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBxdWUgcmVuZGVyaXphIHVtYSDDum5pY2EgbWVuc2FnZW0gZGUgY2hhdC5cbiAqIEV4aWJlIG8gY29udGXDumRvIHRleHR1YWwsIG8gcmVtZXRlbnRlIChwcsOzcHJpbyBvdSB0ZXJjZWlybykgZSBzdXBvcnRlIGFcbiAqIGFuZXhvcyB2aWEgYGF0dGFjaG1lbnRVcmxgLCBleGliaW5kbyBvIG5vbWUgZG8gYXJxdWl2byBhdXRvbWF0aWNhbWVudGUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxzLWNoYXQtbWVzc2FnZSBbbWVzc2FnZV09XCJpdGVtXCIgLz5cbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBJbnB1dHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLWNoYXQtbWVzc2FnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoYXQtbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENoYXRNZXNzYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gT2JqZXRvIGNvbSBvcyBkYWRvcyBkYSBtZW5zYWdlbSBhIHNlciBleGliaWRhLFxuICAgICAqIGluY2x1aW5kbyB0ZXh0bywgcmVtZXRlbnRlIGUgVVJMIGRlIGFuZXhvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uXG4gICAgICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgbWVzc2FnZSE6IENoYXRNZXNzYWdlO1xuXG4gICAgcHVibGljIGZpbGVOYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWydtZXNzYWdlJ10pIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZU5hbWUgPSB0aGlzLm1lc3NhZ2UuYXR0YWNobWVudFVybCA/IHRoaXMuZ2V0RmlsZU5hbWVCeVVybCh0aGlzLm1lc3NhZ2UuYXR0YWNobWVudFVybCkgOiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaWxlTmFtZUJ5VXJsKHBhdGg6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCByZWdleCA9IC9bXlxcXFwvXSskLztcbiAgICAgICAgY29uc3QgbWF0Y2ggPSByZWdleC5leGVjKHBhdGgpO1xuICAgICAgICByZXR1cm4gbWF0Y2ggPyBtYXRjaFswXSA6IG51bGw7XG4gICAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiY2hhdC1tZXNzYWdlXCIgW2NsYXNzLmNoYXQtbWVzc2FnZS0tbWluZV09XCJtZXNzYWdlLmlzTWluZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjaGF0LW1lc3NhZ2Utd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGh1bWJuYWlsXCIgW3NyY109XCJtZXNzYWdlLnRodW1ibmFpbFVybFwiIGFsdD1cIlRodW1ibmFpbFwiIC8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIj57eyBtZXNzYWdlLnNlbmRlck5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1lc3NhZ2Uuc2VudEF0XCIgY2xhc3M9XCJkYXRlXCI+e3sgbWVzc2FnZS5zZW50QXQgfCBsb2NhbGl6ZWREYXRlOiBcIkwgTFRTXCIgfCBhc3luYyB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwIGNsYXNzPVwiYm9keVwiPnt7IG1lc3NhZ2UudGV4dCB9fTwvcD5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwibWVzc2FnZS5hdHRhY2htZW50VXJsXCIgY2xhc3M9XCJhdHRhY2htZW50XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF0dGFjaG1lbnQtbGFiZWxcIj57eyBcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5hdHRhY2htZW50XCIgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxuICAgICAgICAgICAgPGEgY2xhc3M9XCJhdHRhY2htZW50LWFuY2hvclwiIFtocmVmXT1cIm1lc3NhZ2UuYXR0YWNobWVudFVybFwiIFtkb3dubG9hZF09XCJmaWxlTmFtZVwiPnt7IGZpbGVOYW1lIH19PC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -3,21 +3,41 @@ import { Component, computed, forwardRef, input, model, output, signal } from '@
|
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/common";
|
|
6
|
+
/**
|
|
7
|
+
* @description Componente de caixa de seleção (checkbox) com suporte a três estados:
|
|
8
|
+
* marcado, desmarcado e indeterminado. Implementa {@link ControlValueAccessor} para
|
|
9
|
+
* integração com Reactive Forms e Template-driven Forms do Angular.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```html
|
|
13
|
+
* <s-checkbox
|
|
14
|
+
* formControlName="aceito"
|
|
15
|
+
* label="Aceito os termos de uso"
|
|
16
|
+
* [indeterminate]="parcialmenteSelecionado" />
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @category Inputs
|
|
20
|
+
*/
|
|
6
21
|
export class CheckboxComponent {
|
|
22
|
+
/** @description Controla o estado desabilitado via two-way binding. @default false */
|
|
7
23
|
disabled = model(false);
|
|
24
|
+
/** @description Valor marcado/desmarcado do checkbox via two-way binding. @default false */
|
|
8
25
|
checked = model(false);
|
|
26
|
+
/** @description Quando `true`, o checkbox inicia no estado indeterminado (traço) até a primeira interação do usuário. @default false */
|
|
9
27
|
indeterminate = input(false);
|
|
28
|
+
/** @description Texto do label exibido ao lado do checkbox. @default '' */
|
|
10
29
|
label = input('');
|
|
11
30
|
/**
|
|
12
|
-
*
|
|
31
|
+
* @description Emitido quando o valor do checkbox é alterado pelo usuário.
|
|
32
|
+
* Emite o novo valor booleano (`true` para marcado, `false` para desmarcado).
|
|
13
33
|
*/
|
|
14
34
|
checkedChange = output();
|
|
15
35
|
_onChange = () => { };
|
|
16
36
|
_onTouched = () => { };
|
|
17
37
|
_hasUserInteracted = signal(false);
|
|
18
38
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
39
|
+
* @description Computed que indica se o estado indeterminado deve ser exibido.
|
|
40
|
+
* Retorna `true` enquanto `indeterminate` for `true` e o usuário não tiver interagido.
|
|
21
41
|
*/
|
|
22
42
|
isIndeterminate = computed(() => this.indeterminate() && !this._hasUserInteracted());
|
|
23
43
|
toggle() {
|
|
@@ -73,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
73
93
|
},
|
|
74
94
|
], template: "<div\n class=\"flex cursor-pointer select-none gap-3\"\n [class.cursor-not-allowed]=\"disabled()\"\n tabindex=\"0\"\n role=\"checkbox\"\n [attr.aria-checked]=\"isIndeterminate() ? 'mixed' : checked()\"\n [attr.aria-disabled]=\"disabled()\"\n (click)=\"toggle()\"\n (keydown.space)=\"toggle()\"\n (blur)=\"onBlur()\"\n>\n <div\n class=\"flex h-5 w-5 items-center justify-center rounded border border-grayscale-30 transition-all duration-200 hover:border-grayscale-50\"\n [ngClass]=\"{\n 'bg-primary hover:bg-tarawera-500': checked() || isIndeterminate(),\n 'bg-grayscale-0': !checked() && !isIndeterminate(),\n 'border-primary hover:border-tarawera-500': checked() || isIndeterminate(),\n 'opacity-50': disabled(),\n }\"\n >\n @if (isIndeterminate()) {\n <svg\n class=\"h-3 w-3 text-grayscale-0\"\n fill=\"none\"\n stroke=\"white\"\n stroke-width=\"4\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M6 12h12\" />\n </svg>\n } @else {\n @if (checked()) {\n <svg\n class=\"text-white h-3 w-3\"\n fill=\"none\"\n stroke=\"white\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M4.5 12.75l5.5 5.5 9.5-9.5\" />\n </svg>\n }\n }\n </div>\n <span\n [class.opacity-50]=\"disabled()\"\n class=\"text-grayscale-90\"\n >\n {{ label() }}\n </span>\n</div>\n" }]
|
|
75
95
|
}] });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NoZWNrYm94L3NyYy9saWIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NoZWNrYm94L3NyYy9saWIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFlekUsTUFBTSxPQUFPLGlCQUFpQjtJQUNyQixRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixLQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRWpDOztPQUVHO0lBQ2EsYUFBYSxHQUFHLE1BQU0sRUFBVyxDQUFDO0lBRTFDLFNBQVMsR0FBNkIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELFVBQVUsR0FBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbkMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTNDOzs7T0FHRztJQUNhLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQzlDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUNuRCxDQUFDO0lBRUssTUFBTTtRQUNYLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVPLElBQUksQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsUUFBa0M7UUFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFNBQXFCO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxRQUFpQjtRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO3dHQTlEVSxpQkFBaUI7NEZBQWpCLGlCQUFpQiwrcUJBVGpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDaEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ2ZILDJ3REFxREEsMkNEN0NZLFlBQVk7OzRGQVVYLGlCQUFpQjtrQkFiN0IsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLGFBQ1o7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZm9yd2FyZFJlZiwgaW5wdXQsIG1vZGVsLCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLWNoZWNrYm94JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHB1YmxpYyBkaXNhYmxlZCA9IG1vZGVsKGZhbHNlKTtcbiAgcHVibGljIGNoZWNrZWQgPSBtb2RlbChmYWxzZSk7XG4gIHB1YmxpYyBpbmRldGVybWluYXRlID0gaW5wdXQoZmFsc2UpO1xuICBwdWJsaWMgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGNoZWNrYm94IHZhbHVlIGNoYW5nZXMgdGhyb3VnaCB1c2VyIGludGVyYWN0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNoZWNrZWRDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIF9vbkNoYW5nZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkID0gKCkgPT4geyB9O1xuICBwcml2YXRlIF9vblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7IH07XG4gIHByaXZhdGUgX2hhc1VzZXJJbnRlcmFjdGVkID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjaGVja2JveCBzaG91bGQgZGlzcGxheSB0aGUgaW5kZXRlcm1pbmF0ZSBzdGF0ZS5cbiAgICogQ29tcHV0ZWQgc2lnbmFsIHRoYXQgb25seSByZWNhbGN1bGF0ZXMgd2hlbiBkZXBlbmRlbmNpZXMgY2hhbmdlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlzSW5kZXRlcm1pbmF0ZSA9IGNvbXB1dGVkKCgpID0+IFxuICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSgpICYmICF0aGlzLl9oYXNVc2VySW50ZXJhY3RlZCgpXG4gICk7XG5cbiAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaW5kZXRlcm1pbmF0ZSgpICYmICF0aGlzLl9oYXNVc2VySW50ZXJhY3RlZCgpKSB7XG4gICAgICB0aGlzLl9oYXNVc2VySW50ZXJhY3RlZC5zZXQodHJ1ZSk7XG4gICAgICB0aGlzLmNoZWNrZWQuc2V0KHRydWUpO1xuICAgICAgdGhpcy5lbWl0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9ICF0aGlzLmNoZWNrZWQoKTtcbiAgICAgIHRoaXMuY2hlY2tlZC5zZXQobmV3VmFsdWUpO1xuICAgICAgdGhpcy5lbWl0KG5ld1ZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVtaXQodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZC5zZXQoISF2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQuc2V0KGRpc2FibGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZsZXggY3Vyc29yLXBvaW50ZXIgc2VsZWN0LW5vbmUgZ2FwLTNcIlxuICAgIFtjbGFzcy5jdXJzb3Itbm90LWFsbG93ZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICByb2xlPVwiY2hlY2tib3hcIlxuICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJpc0luZGV0ZXJtaW5hdGUoKSA/ICdtaXhlZCcgOiBjaGVja2VkKClcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgICAoa2V5ZG93bi5zcGFjZSk9XCJ0b2dnbGUoKVwiXG4gICAgKGJsdXIpPVwib25CbHVyKClcIlxuPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmbGV4IGgtNSB3LTUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQgYm9yZGVyIGJvcmRlci1ncmF5c2NhbGUtMzAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGhvdmVyOmJvcmRlci1ncmF5c2NhbGUtNTBcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnYmctcHJpbWFyeSBob3ZlcjpiZy10YXJhd2VyYS01MDAnOiBjaGVja2VkKCkgfHwgaXNJbmRldGVybWluYXRlKCksXG4gICAgICAgICAgICAnYmctZ3JheXNjYWxlLTAnOiAhY2hlY2tlZCgpICYmICFpc0luZGV0ZXJtaW5hdGUoKSxcbiAgICAgICAgICAgICdib3JkZXItcHJpbWFyeSBob3Zlcjpib3JkZXItdGFyYXdlcmEtNTAwJzogY2hlY2tlZCgpIHx8IGlzSW5kZXRlcm1pbmF0ZSgpLFxuICAgICAgICAgICAgJ29wYWNpdHktNTAnOiBkaXNhYmxlZCgpLFxuICAgICAgICB9XCJcbiAgICA+XG4gICAgICAgIEBpZiAoaXNJbmRldGVybWluYXRlKCkpIHtcbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICBjbGFzcz1cImgtMyB3LTMgdGV4dC1ncmF5c2NhbGUtMFwiXG4gICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgIHN0cm9rZT1cIndoaXRlXCJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCJcbiAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMTJoMTJcIiAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmIChjaGVja2VkKCkpIHtcbiAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC13aGl0ZSBoLTMgdy0zXCJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjRcIlxuICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNC41IDEyLjc1bDUuNSA1LjUgOS41LTkuNVwiIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8c3BhblxuICAgICAgICBbY2xhc3Mub3BhY2l0eS01MF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LWdyYXlzY2FsZS05MFwiXG4gICAgPlxuICAgICAgICB7eyBsYWJlbCgpIH19XG4gICAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NoZWNrYm94L3NyYy9saWIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NoZWNrYm94L3NyYy9saWIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFekU7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFjSCxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLHNGQUFzRjtJQUMvRSxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLDRGQUE0RjtJQUNyRixPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLHdJQUF3STtJQUNqSSxhQUFhLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLDJFQUEyRTtJQUNwRSxLQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRWpDOzs7T0FHRztJQUNhLGFBQWEsR0FBRyxNQUFNLEVBQVcsQ0FBQztJQUUxQyxTQUFTLEdBQTZCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUMvQyxVQUFVLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQ2xDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUzQzs7O09BR0c7SUFDYSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFFOUYsTUFBTTtRQUNULElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUVPLElBQUksQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsUUFBa0M7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFNBQXFCO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxRQUFpQjtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sTUFBTTtRQUNULElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO3dHQWpFUSxpQkFBaUI7NEZBQWpCLGlCQUFpQiwrcUJBVGY7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osMEJDN0JMLDJ3REFxREEsMkNEL0JjLFlBQVk7OzRGQVViLGlCQUFpQjtrQkFiN0IsU0FBUzsrQkFDSSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLGFBQ1o7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGZvcndhcmRSZWYsIGlucHV0LCBtb2RlbCwgb3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBkZSBjYWl4YSBkZSBzZWxlw6fDo28gKGNoZWNrYm94KSBjb20gc3Vwb3J0ZSBhIHRyw6pzIGVzdGFkb3M6XG4gKiBtYXJjYWRvLCBkZXNtYXJjYWRvIGUgaW5kZXRlcm1pbmFkby4gSW1wbGVtZW50YSB7QGxpbmsgQ29udHJvbFZhbHVlQWNjZXNzb3J9IHBhcmFcbiAqIGludGVncmHDp8OjbyBjb20gUmVhY3RpdmUgRm9ybXMgZSBUZW1wbGF0ZS1kcml2ZW4gRm9ybXMgZG8gQW5ndWxhci5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtY2hlY2tib3hcbiAqICAgZm9ybUNvbnRyb2xOYW1lPVwiYWNlaXRvXCJcbiAqICAgbGFiZWw9XCJBY2VpdG8gb3MgdGVybW9zIGRlIHVzb1wiXG4gKiAgIFtpbmRldGVybWluYXRlXT1cInBhcmNpYWxtZW50ZVNlbGVjaW9uYWRvXCIgLz5cbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBJbnB1dHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLWNoZWNrYm94JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDb250cm9sYSBvIGVzdGFkbyBkZXNhYmlsaXRhZG8gdmlhIHR3by13YXkgYmluZGluZy4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBwdWJsaWMgZGlzYWJsZWQgPSBtb2RlbChmYWxzZSk7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBWYWxvciBtYXJjYWRvL2Rlc21hcmNhZG8gZG8gY2hlY2tib3ggdmlhIHR3by13YXkgYmluZGluZy4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBwdWJsaWMgY2hlY2tlZCA9IG1vZGVsKGZhbHNlKTtcbiAgICAvKiogQGRlc2NyaXB0aW9uIFF1YW5kbyBgdHJ1ZWAsIG8gY2hlY2tib3ggaW5pY2lhIG5vIGVzdGFkbyBpbmRldGVybWluYWRvICh0cmHDp28pIGF0w6kgYSBwcmltZWlyYSBpbnRlcmHDp8OjbyBkbyB1c3XDoXJpby4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBwdWJsaWMgaW5kZXRlcm1pbmF0ZSA9IGlucHV0KGZhbHNlKTtcbiAgICAvKiogQGRlc2NyaXB0aW9uIFRleHRvIGRvIGxhYmVsIGV4aWJpZG8gYW8gbGFkbyBkbyBjaGVja2JveC4gQGRlZmF1bHQgJycgKi9cbiAgICBwdWJsaWMgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvIHZhbG9yIGRvIGNoZWNrYm94IMOpIGFsdGVyYWRvIHBlbG8gdXN1w6FyaW8uXG4gICAgICogRW1pdGUgbyBub3ZvIHZhbG9yIGJvb2xlYW5vIChgdHJ1ZWAgcGFyYSBtYXJjYWRvLCBgZmFsc2VgIHBhcmEgZGVzbWFyY2FkbykuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNoZWNrZWRDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcblxuICAgIHByaXZhdGUgX29uQ2hhbmdlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICBwcml2YXRlIF9vblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICBwcml2YXRlIF9oYXNVc2VySW50ZXJhY3RlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29tcHV0ZWQgcXVlIGluZGljYSBzZSBvIGVzdGFkbyBpbmRldGVybWluYWRvIGRldmUgc2VyIGV4aWJpZG8uXG4gICAgICogUmV0b3JuYSBgdHJ1ZWAgZW5xdWFudG8gYGluZGV0ZXJtaW5hdGVgIGZvciBgdHJ1ZWAgZSBvIHVzdcOhcmlvIG7Do28gdGl2ZXIgaW50ZXJhZ2lkby5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaXNJbmRldGVybWluYXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pbmRldGVybWluYXRlKCkgJiYgIXRoaXMuX2hhc1VzZXJJbnRlcmFjdGVkKCkpO1xuXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaW5kZXRlcm1pbmF0ZSgpICYmICF0aGlzLl9oYXNVc2VySW50ZXJhY3RlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLl9oYXNVc2VySW50ZXJhY3RlZC5zZXQodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmNoZWNrZWQuc2V0KHRydWUpO1xuICAgICAgICAgICAgdGhpcy5lbWl0KHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSAhdGhpcy5jaGVja2VkKCk7XG4gICAgICAgICAgICB0aGlzLmNoZWNrZWQuc2V0KG5ld1ZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuZW1pdChuZXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGVtaXQodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLmNoZWNrZWRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrZWQuc2V0KCEhdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkLnNldChkaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgfVxufVxuXG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmbGV4IGN1cnNvci1wb2ludGVyIHNlbGVjdC1ub25lIGdhcC0zXCJcbiAgICBbY2xhc3MuY3Vyc29yLW5vdC1hbGxvd2VkXT1cImRpc2FibGVkKClcIlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgcm9sZT1cImNoZWNrYm94XCJcbiAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXNJbmRldGVybWluYXRlKCkgPyAnbWl4ZWQnIDogY2hlY2tlZCgpXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgIChjbGljayk9XCJ0b2dnbGUoKVwiXG4gICAgKGtleWRvd24uc3BhY2UpPVwidG9nZ2xlKClcIlxuICAgIChibHVyKT1cIm9uQmx1cigpXCJcbj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmxleCBoLTUgdy01IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkIGJvcmRlciBib3JkZXItZ3JheXNjYWxlLTMwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBob3Zlcjpib3JkZXItZ3JheXNjYWxlLTUwXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2JnLXByaW1hcnkgaG92ZXI6YmctdGFyYXdlcmEtNTAwJzogY2hlY2tlZCgpIHx8IGlzSW5kZXRlcm1pbmF0ZSgpLFxuICAgICAgICAgICAgJ2JnLWdyYXlzY2FsZS0wJzogIWNoZWNrZWQoKSAmJiAhaXNJbmRldGVybWluYXRlKCksXG4gICAgICAgICAgICAnYm9yZGVyLXByaW1hcnkgaG92ZXI6Ym9yZGVyLXRhcmF3ZXJhLTUwMCc6IGNoZWNrZWQoKSB8fCBpc0luZGV0ZXJtaW5hdGUoKSxcbiAgICAgICAgICAgICdvcGFjaXR5LTUwJzogZGlzYWJsZWQoKSxcbiAgICAgICAgfVwiXG4gICAgPlxuICAgICAgICBAaWYgKGlzSW5kZXRlcm1pbmF0ZSgpKSB7XG4gICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJoLTMgdy0zIHRleHQtZ3JheXNjYWxlLTBcIlxuICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICBzdHJva2U9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiNFwiXG4gICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyaDEyXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAoY2hlY2tlZCgpKSB7XG4gICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtd2hpdGUgaC0zIHctM1wiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwid2hpdGVcIlxuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQuNSAxMi43NWw1LjUgNS41IDkuNS05LjVcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgPHNwYW5cbiAgICAgICAgW2NsYXNzLm9wYWNpdHktNTBdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIGNsYXNzPVwidGV4dC1ncmF5c2NhbGUtOTBcIlxuICAgID5cbiAgICAgICAge3sgbGFiZWwoKSB9fVxuICAgIDwvc3Bhbj5cbjwvZGl2PlxuIl19
|
|
@@ -3,7 +3,27 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
import * as i2 from "@angular/forms";
|
|
6
|
+
/**
|
|
7
|
+
* @description Componente de lista de checkboxes hierárquica, com suporte a estados
|
|
8
|
+
* pai/filho e indeterminado. Ao marcar/desmarcar o item pai, todos os filhos são
|
|
9
|
+
* afetados, e o estado do pai é calculado automaticamente com base nos filhos.
|
|
10
|
+
* Implementa {@link ControlValueAccessor} para uso em formulários Angular.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```html
|
|
14
|
+
* <s-checkbox-list
|
|
15
|
+
* formControlName="permissoes"
|
|
16
|
+
* [data]="estruturaPermissoes" />
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @category Inputs
|
|
20
|
+
*/
|
|
6
21
|
export class CheckboxListComponent {
|
|
22
|
+
/**
|
|
23
|
+
* @description Estrutura de dados que define o item raiz e seus filhos.
|
|
24
|
+
* Cada `CheckboxListData` pode conter o label, estado inicial e uma lista de filhos recursiva.
|
|
25
|
+
* Campo obrigatório.
|
|
26
|
+
*/
|
|
7
27
|
data;
|
|
8
28
|
state = {
|
|
9
29
|
checked: false,
|
|
@@ -26,7 +46,7 @@ export class CheckboxListComponent {
|
|
|
26
46
|
}
|
|
27
47
|
}
|
|
28
48
|
get renderType() {
|
|
29
|
-
return this.data.renderType ??
|
|
49
|
+
return this.data.renderType ?? 'inline';
|
|
30
50
|
}
|
|
31
51
|
registerOnChange(onChange) {
|
|
32
52
|
this._onChange = onChange;
|
|
@@ -126,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
126
146
|
type: Input,
|
|
127
147
|
args: [{ required: true }]
|
|
128
148
|
}] } });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2hlY2tib3gtbGlzdC9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2hlY2tib3gtbGlzdC9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBaUJ6RSxNQUFNLE9BQU8scUJBQXFCO0lBRXZCLElBQUksQ0FBb0I7SUFFeEIsS0FBSyxHQUFzQjtRQUM5QixPQUFPLEVBQUUsS0FBSztRQUNkLGFBQWEsRUFBRSxLQUFLO1FBQ3BCLFFBQVEsRUFBRSxFQUFFO0tBQ2YsQ0FBQztJQUVNLFNBQVMsR0FBdUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFELFVBQVUsR0FBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFcEMsVUFBVSxDQUFDLEtBQXdCO1FBQ3RDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxLQUFLLEdBQUc7Z0JBQ1QsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsYUFBYSxFQUFFLEtBQUs7Z0JBQ3BCLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNoRCxDQUFD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QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUMzRSxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQzt3R0FuSFEscUJBQXFCOzRGQUFyQixxQkFBcUIsb0VBUm5CO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDcEQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLDBCQ2hCTCxzeUNBb0NBLHFnRURsQmEscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQVpqQyxTQUFTOytCQUNJLGlCQUFpQixhQUdoQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7OEJBSU0sSUFBSTtzQkFEVixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ2hlY2tib3hMaXN0RGF0YSB9IGZyb20gJy4vbW9kZWxzL2NoZWNrYm94LWxpc3QtZGF0YSc7XG5pbXBvcnQgeyBDaGVja2JveExpc3RDaGlsZHJlbiwgQ2hlY2tib3hMaXN0U3RhdGUgfSBmcm9tICcuL21vZGVscy9jaGVja2JveC1saXN0LXN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLWNoZWNrYm94LWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hMaXN0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBkYXRhITogQ2hlY2tib3hMaXN0RGF0YTtcblxuICAgIHB1YmxpYyBzdGF0ZTogQ2hlY2tib3hMaXN0U3RhdGUgPSB7XG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgICBpbmRldGVybWluYXRlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IHt9LFxuICAgIH07XG5cbiAgICBwcml2YXRlIF9vbkNoYW5nZTogKHZhbHVlOiBDaGVja2JveExpc3RTdGF0ZSkgPT4gdm9pZCA9ICgpID0+IHsgfTtcbiAgICBwcml2YXRlIF9vblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7IH07XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogQ2hlY2tib3hMaXN0U3RhdGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGluZGV0ZXJtaW5hdGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5faW5pdGlhbGl6ZUNoaWxkcmVuKHRoaXMuZGF0YSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZW5kZXJUeXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnJlbmRlclR5cGUgPz8gXCJpbmxpbmVcIjtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBDaGVja2JveExpc3RTdGF0ZSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2luaXRpYWxpemVDaGlsZHJlbihpdGVtOiBDaGVja2JveExpc3REYXRhKTogQ2hlY2tib3hMaXN0Q2hpbGRyZW4ge1xuICAgICAgICBjb25zdCBjaGlsZHJlblN0YXRlOiBDaGVja2JveExpc3RDaGlsZHJlbiA9IHt9O1xuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuU3RhdGVbY2hpbGQubGFiZWxdID0ge1xuICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgaW5kZXRlcm1pbmF0ZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLl9pbml0aWFsaXplQ2hpbGRyZW4oY2hpbGQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2hpbGRyZW5TdGF0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2hlY2tib3hTdGF0ZShpdGVtOiBDaGVja2JveExpc3RDaGlsZHJlbiB8IHVuZGVmaW5lZCwgbGFiZWw6IHN0cmluZykge1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1bbGFiZWxdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVBhcmVudCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgX2dldFByb3BlcnR5ID0gKG9iajogQ2hlY2tib3hMaXN0Q2hpbGRyZW4gfCB1bmRlZmluZWQsIGZpZWxkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmIChvYmopIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqW2ZpZWxkXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLmRhdGEuY2hpbGRyZW4gJiYgdGhpcy5kYXRhLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGFsbENoZWNrZWQgPSB0aGlzLmRhdGEuY2hpbGRyZW4uZXZlcnkoXG4gICAgICAgICAgICAgICAgKGNoaWxkKSA9PiBfZ2V0UHJvcGVydHkodGhpcy5zdGF0ZS5jaGlsZHJlbiwgY2hpbGQubGFiZWwpPy5jaGVja2VkLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IHNvbWVDaGVja2VkID0gdGhpcy5kYXRhLmNoaWxkcmVuLnNvbWUoXG4gICAgICAgICAgICAgICAgKGNoaWxkKSA9PlxuICAgICAgICAgICAgICAgICAgICBfZ2V0UHJvcGVydHkodGhpcy5zdGF0ZS5jaGlsZHJlbiwgY2hpbGQubGFiZWwpPy5jaGVja2VkIHx8XG4gICAgICAgICAgICAgICAgICAgIF9nZXRQcm9wZXJ0eSh0aGlzLnN0YXRlLmNoaWxkcmVuLCBjaGlsZC5sYWJlbCk/LmluZGV0ZXJtaW5hdGUsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZS5jaGVja2VkID0gYWxsQ2hlY2tlZDtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUuaW5kZXRlcm1pbmF0ZSA9ICFhbGxDaGVja2VkICYmIHNvbWVDaGVja2VkO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuc3RhdGUpO1xuICAgICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGVja2JveENoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdGUuY2hlY2tlZCA9ICF0aGlzLnN0YXRlLmNoZWNrZWQ7XG4gICAgICAgIHRoaXMuc3RhdGUuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLl90b2dnbGVDaGlsZHJlbkNoZWNrKHRoaXMuZGF0YSwgdGhpcy5zdGF0ZSwgdGhpcy5zdGF0ZS5jaGVja2VkKTtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy5zdGF0ZSk7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3RvZ2dsZUNoaWxkcmVuQ2hlY2soaXRlbTogQ2hlY2tib3hMaXN0RGF0YSwgc3RhdGU6IENoZWNrYm94TGlzdFN0YXRlLCBjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdGUuY2hpbGRyZW4gJiYgIXN0YXRlLmNoaWxkcmVuW2NoaWxkLmxhYmVsXSkge1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5jaGlsZHJlbltjaGlsZC5sYWJlbF0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV0ZXJtaW5hdGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMuX2luaXRpYWxpemVDaGlsZHJlbihjaGlsZCksXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChzdGF0ZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5jaGlsZHJlbltjaGlsZC5sYWJlbF0uY2hlY2tlZCA9IGNoZWNrZWQ7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlLmNoaWxkcmVuW2NoaWxkLmxhYmVsXS5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjaGlsZC5jaGlsZHJlbiAmJiBzdGF0ZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90b2dnbGVDaGlsZHJlbkNoZWNrKGNoaWxkLCBzdGF0ZS5jaGlsZHJlbltjaGlsZC5sYWJlbF0sIGNoZWNrZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNoZWNrYm94XCI+XG4gICAgPGxhYmVsPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNoZWNrYm94LXdyYXBwZXJcIlxuICAgICAgICAgICAgW2NsYXNzLmNoZWNrYm94LXdyYXBwZXItLWRpc2FibGVkXT1cInN0YXRlLmRpc2FibGVkXCJcbiAgICAgICAgICAgIFtjbGFzcy5jaGVja2JveC13cmFwcGVyLWlubGluZV09XCJyZW5kZXJUeXBlID09PSAnaW5saW5lJ1wiXG4gICAgICAgICAgICBbY2xhc3MuY2hlY2tib3gtd3JhcHBlci1ibG9ja109XCJyZW5kZXJUeXBlID09PSAnYmxvY2snXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrYm94LWlucHV0XCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic3RhdGUuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ2NoZWNrYm94LWlucHV0LS1jaGVja2VkJzogc3RhdGUuY2hlY2tlZCxcbiAgICAgICAgICAgICAgICAgICAgJ2NoZWNrYm94LWlucHV0LS1pbmRldGVybWluYXRlJzogc3RhdGUuaW5kZXRlcm1pbmF0ZSxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hlY2tib3hDaGFuZ2UoKVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cInN0YXRlLmluZGV0ZXJtaW5hdGUgPyAnbWl4ZWQnIDogc3RhdGUuY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJzdGF0ZS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge3sgZGF0YS5sYWJlbCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2xhYmVsPlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJkYXRhLmNoaWxkcmVuICYmIGRhdGEuY2hpbGRyZW4ubGVuZ3RoXCJcbiAgICAgICAgY2xhc3M9XCJjaGVja2JveC1jaGlsZHJlblwiXG4gICAgPlxuICAgICAgICA8cy1jaGVja2JveC1saXN0XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgZGF0YS5jaGlsZHJlblwiXG4gICAgICAgICAgICBbZGF0YV09XCJjaGlsZFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJnZXRDaGVja2JveFN0YXRlKHN0YXRlLmNoaWxkcmVuLCBjaGlsZC5sYWJlbClcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlUGFyZW50KClcIlxuICAgICAgICA+XG4gICAgICAgIDwvcy1jaGVja2JveC1saXN0PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2hlY2tib3gtbGlzdC9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2hlY2tib3gtbGlzdC9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBS3pFOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBYUgsTUFBTSxPQUFPLHFCQUFxQjtJQUM5Qjs7OztPQUlHO0lBRUksSUFBSSxDQUFvQjtJQUV4QixLQUFLLEdBQXNCO1FBQzlCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsYUFBYSxFQUFFLEtBQUs7UUFDcEIsUUFBUSxFQUFFLEVBQUU7S0FDZixDQUFDO0lBRU0sU0FBUyxHQUF1QyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDekQsVUFBVSxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUVuQyxVQUFVLENBQUMsS0FBd0I7UUFDdEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLEtBQUssR0FBRztnQkFDVCxPQUFPLEVBQUUsS0FBSztnQkFDZCxhQUFhLEVBQUUsS0FBSztnQkFDcEIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxtQkFBbUIs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SUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzNFLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDO3dHQXhIUSxxQkFBcUI7NEZBQXJCLHFCQUFxQixvRUFSbkI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNwRCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osMEJDL0JMLHN5Q0FvQ0EscWdFREhhLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFaakMsU0FBUzsrQkFDSSxpQkFBaUIsYUFHaEI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzhCQVNNLElBQUk7c0JBRFYsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IENoZWNrYm94TGlzdERhdGEgfSBmcm9tICcuL21vZGVscy9jaGVja2JveC1saXN0LWRhdGEnO1xuaW1wb3J0IHsgQ2hlY2tib3hMaXN0Q2hpbGRyZW4sIENoZWNrYm94TGlzdFN0YXRlIH0gZnJvbSAnLi9tb2RlbHMvY2hlY2tib3gtbGlzdC1zdGF0ZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgbGlzdGEgZGUgY2hlY2tib3hlcyBoaWVyw6FycXVpY2EsIGNvbSBzdXBvcnRlIGEgZXN0YWRvc1xuICogcGFpL2ZpbGhvIGUgaW5kZXRlcm1pbmFkby4gQW8gbWFyY2FyL2Rlc21hcmNhciBvIGl0ZW0gcGFpLCB0b2RvcyBvcyBmaWxob3Mgc8Ojb1xuICogYWZldGFkb3MsIGUgbyBlc3RhZG8gZG8gcGFpIMOpIGNhbGN1bGFkbyBhdXRvbWF0aWNhbWVudGUgY29tIGJhc2Ugbm9zIGZpbGhvcy5cbiAqIEltcGxlbWVudGEge0BsaW5rIENvbnRyb2xWYWx1ZUFjY2Vzc29yfSBwYXJhIHVzbyBlbSBmb3JtdWzDoXJpb3MgQW5ndWxhci5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtY2hlY2tib3gtbGlzdFxuICogICBmb3JtQ29udHJvbE5hbWU9XCJwZXJtaXNzb2VzXCJcbiAqICAgW2RhdGFdPVwiZXN0cnV0dXJhUGVybWlzc29lc1wiIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1jaGVja2JveC1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3gtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94TGlzdENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEVzdHJ1dHVyYSBkZSBkYWRvcyBxdWUgZGVmaW5lIG8gaXRlbSByYWl6IGUgc2V1cyBmaWxob3MuXG4gICAgICogQ2FkYSBgQ2hlY2tib3hMaXN0RGF0YWAgcG9kZSBjb250ZXIgbyBsYWJlbCwgZXN0YWRvIGluaWNpYWwgZSB1bWEgbGlzdGEgZGUgZmlsaG9zIHJlY3Vyc2l2YS5cbiAgICAgKiBDYW1wbyBvYnJpZ2F0w7NyaW8uXG4gICAgICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgZGF0YSE6IENoZWNrYm94TGlzdERhdGE7XG5cbiAgICBwdWJsaWMgc3RhdGU6IENoZWNrYm94TGlzdFN0YXRlID0ge1xuICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgaW5kZXRlcm1pbmF0ZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiB7fSxcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2U6ICh2YWx1ZTogQ2hlY2tib3hMaXN0U3RhdGUpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICBwcml2YXRlIF9vblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBDaGVja2JveExpc3RTdGF0ZSk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgaW5kZXRlcm1pbmF0ZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLl9pbml0aWFsaXplQ2hpbGRyZW4odGhpcy5kYXRhKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJlbmRlclR5cGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEucmVuZGVyVHlwZSA/PyAnaW5saW5lJztcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBDaGVja2JveExpc3RTdGF0ZSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2luaXRpYWxpemVDaGlsZHJlbihpdGVtOiBDaGVja2JveExpc3REYXRhKTogQ2hlY2tib3hMaXN0Q2hpbGRyZW4ge1xuICAgICAgICBjb25zdCBjaGlsZHJlblN0YXRlOiBDaGVja2JveExpc3RDaGlsZHJlbiA9IHt9O1xuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuU3RhdGVbY2hpbGQubGFiZWxdID0ge1xuICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgaW5kZXRlcm1pbmF0ZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLl9pbml0aWFsaXplQ2hpbGRyZW4oY2hpbGQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2hpbGRyZW5TdGF0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2hlY2tib3hTdGF0ZShpdGVtOiBDaGVja2JveExpc3RDaGlsZHJlbiB8IHVuZGVmaW5lZCwgbGFiZWw6IHN0cmluZykge1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1bbGFiZWxdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVBhcmVudCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgX2dldFByb3BlcnR5ID0gKG9iajogQ2hlY2tib3hMaXN0Q2hpbGRyZW4gfCB1bmRlZmluZWQsIGZpZWxkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmIChvYmopIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqW2ZpZWxkXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLmRhdGEuY2hpbGRyZW4gJiYgdGhpcy5kYXRhLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGFsbENoZWNrZWQgPSB0aGlzLmRhdGEuY2hpbGRyZW4uZXZlcnkoXG4gICAgICAgICAgICAgICAgKGNoaWxkKSA9PiBfZ2V0UHJvcGVydHkodGhpcy5zdGF0ZS5jaGlsZHJlbiwgY2hpbGQubGFiZWwpPy5jaGVja2VkLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IHNvbWVDaGVja2VkID0gdGhpcy5kYXRhLmNoaWxkcmVuLnNvbWUoXG4gICAgICAgICAgICAgICAgKGNoaWxkKSA9PlxuICAgICAgICAgICAgICAgICAgICBfZ2V0UHJvcGVydHkodGhpcy5zdGF0ZS5jaGlsZHJlbiwgY2hpbGQubGFiZWwpPy5jaGVja2VkIHx8XG4gICAgICAgICAgICAgICAgICAgIF9nZXRQcm9wZXJ0eSh0aGlzLnN0YXRlLmNoaWxkcmVuLCBjaGlsZC5sYWJlbCk/LmluZGV0ZXJtaW5hdGUsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZS5jaGVja2VkID0gYWxsQ2hlY2tlZDtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUuaW5kZXRlcm1pbmF0ZSA9ICFhbGxDaGVja2VkICYmIHNvbWVDaGVja2VkO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuc3RhdGUpO1xuICAgICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGVja2JveENoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdGUuY2hlY2tlZCA9ICF0aGlzLnN0YXRlLmNoZWNrZWQ7XG4gICAgICAgIHRoaXMuc3RhdGUuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLl90b2dnbGVDaGlsZHJlbkNoZWNrKHRoaXMuZGF0YSwgdGhpcy5zdGF0ZSwgdGhpcy5zdGF0ZS5jaGVja2VkKTtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy5zdGF0ZSk7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3RvZ2dsZUNoaWxkcmVuQ2hlY2soaXRlbTogQ2hlY2tib3hMaXN0RGF0YSwgc3RhdGU6IENoZWNrYm94TGlzdFN0YXRlLCBjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdGUuY2hpbGRyZW4gJiYgIXN0YXRlLmNoaWxkcmVuW2NoaWxkLmxhYmVsXSkge1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5jaGlsZHJlbltjaGlsZC5sYWJlbF0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV0ZXJtaW5hdGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMuX2luaXRpYWxpemVDaGlsZHJlbihjaGlsZCksXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChzdGF0ZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5jaGlsZHJlbltjaGlsZC5sYWJlbF0uY2hlY2tlZCA9IGNoZWNrZWQ7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlLmNoaWxkcmVuW2NoaWxkLmxhYmVsXS5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjaGlsZC5jaGlsZHJlbiAmJiBzdGF0ZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90b2dnbGVDaGlsZHJlbkNoZWNrKGNoaWxkLCBzdGF0ZS5jaGlsZHJlbltjaGlsZC5sYWJlbF0sIGNoZWNrZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cbiAgICA8bGFiZWw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tib3gtd3JhcHBlclwiXG4gICAgICAgICAgICBbY2xhc3MuY2hlY2tib3gtd3JhcHBlci0tZGlzYWJsZWRdPVwic3RhdGUuZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmNoZWNrYm94LXdyYXBwZXItaW5saW5lXT1cInJlbmRlclR5cGUgPT09ICdpbmxpbmUnXCJcbiAgICAgICAgICAgIFtjbGFzcy5jaGVja2JveC13cmFwcGVyLWJsb2NrXT1cInJlbmRlclR5cGUgPT09ICdibG9jaydcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tib3gtaW5wdXRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzdGF0ZS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAnY2hlY2tib3gtaW5wdXQtLWNoZWNrZWQnOiBzdGF0ZS5jaGVja2VkLFxuICAgICAgICAgICAgICAgICAgICAnY2hlY2tib3gtaW5wdXQtLWluZGV0ZXJtaW5hdGUnOiBzdGF0ZS5pbmRldGVybWluYXRlLFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGVja2JveENoYW5nZSgpXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwic3RhdGUuaW5kZXRlcm1pbmF0ZSA/ICdtaXhlZCcgOiBzdGF0ZS5jaGVja2VkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cInN0YXRlLmRpc2FibGVkXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7eyBkYXRhLmxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbGFiZWw+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImRhdGEuY2hpbGRyZW4gJiYgZGF0YS5jaGlsZHJlbi5sZW5ndGhcIlxuICAgICAgICBjbGFzcz1cImNoZWNrYm94LWNoaWxkcmVuXCJcbiAgICA+XG4gICAgICAgIDxzLWNoZWNrYm94LWxpc3RcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBkYXRhLmNoaWxkcmVuXCJcbiAgICAgICAgICAgIFtkYXRhXT1cImNoaWxkXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cImdldENoZWNrYm94U3RhdGUoc3RhdGUuY2hpbGRyZW4sIGNoaWxkLmxhYmVsKVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVQYXJlbnQoKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9zLWNoZWNrYm94LWxpc3Q+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -4,15 +4,30 @@ import { CheckDisabled } from '@seniorsistemas/angular-components/shared';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@seniorsistemas/angular-components/tooltip";
|
|
6
6
|
import * as i2 from "@angular/common";
|
|
7
|
+
/**
|
|
8
|
+
* @description Componente interno de item individual de chip, utilizado pelo {@link ChipsComponent}.
|
|
9
|
+
* Responsável pela renderização do texto, tooltip e botão de remoção de cada chip.
|
|
10
|
+
*
|
|
11
|
+
* @category Inputs
|
|
12
|
+
*/
|
|
7
13
|
export class ChipItemComponent {
|
|
14
|
+
/** @description Conteúdo a ser exibido no chip (string ou objeto). Campo obrigatório. */
|
|
8
15
|
dataRender;
|
|
16
|
+
/** @description Chave do objeto usada para exibição quando `dataRender` for um objeto. Campo obrigatório. */
|
|
9
17
|
objectField;
|
|
18
|
+
/** @description Desabilita os eventos de clique do chip. Campo obrigatório. */
|
|
10
19
|
disabled = false;
|
|
20
|
+
/** @description Template personalizado para renderização interna do chip. */
|
|
11
21
|
templateRef;
|
|
22
|
+
/** @description Índice do chip na lista, usado ao emitir o evento de remoção. Campo obrigatório. */
|
|
12
23
|
itemIndex = -1;
|
|
24
|
+
/** @description Habilita o tooltip para chips com texto truncado. Campo obrigatório. */
|
|
13
25
|
showTooltip = true;
|
|
26
|
+
/** @description Limite de caracteres exibidos antes de truncar o texto do chip. Campo obrigatório. */
|
|
14
27
|
maxLengthRenderWithoutTooltip = 20;
|
|
28
|
+
/** @description Emitido ao clicar no botão de remoção do chip. */
|
|
15
29
|
clickRemove = new EventEmitter();
|
|
30
|
+
/** @description Emitido ao clicar sobre o chip (fora do botão de remoção). */
|
|
16
31
|
chipClicked = new EventEmitter();
|
|
17
32
|
clickedRemove($event) {
|
|
18
33
|
this.clickRemove.emit({ itemIndex: this.itemIndex, event: $event });
|
|
@@ -22,7 +37,7 @@ export class ChipItemComponent {
|
|
|
22
37
|
}
|
|
23
38
|
get _text() {
|
|
24
39
|
const _text = this._rawText;
|
|
25
|
-
return _text.substring(0, _text.length > this.maxLengthRenderWithoutTooltip ? this.maxLengthRenderWithoutTooltip : _text.length) + (_text.length > this.maxLengthRenderWithoutTooltip ? '...' : '');
|
|
40
|
+
return (_text.substring(0, _text.length > this.maxLengthRenderWithoutTooltip ? this.maxLengthRenderWithoutTooltip : _text.length) + (_text.length > this.maxLengthRenderWithoutTooltip ? '...' : ''));
|
|
26
41
|
}
|
|
27
42
|
get _rawText() {
|
|
28
43
|
return this.objectField ? this.dataRender[this.objectField] || '' : this.dataRender || '';
|
|
@@ -64,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
64
79
|
}], chipClicked: [{
|
|
65
80
|
type: Output
|
|
66
81
|
}], clickedRemove: [], onChipClicked: [] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9jaGlwcy9zcmMvbGliL2NoaXBzL2NoaXAtaXRlbS9jaGlwLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NoaXBzL3NyYy9saWIvY2hpcHMvY2hpcC1pdGVtL2NoaXAtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7QUFDMUU7Ozs7O0dBS0c7QUFNSCxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLHlGQUF5RjtJQUM5RCxVQUFVLENBQW1CO0lBQ3hELDZHQUE2RztJQUNsRixXQUFXLENBQVU7SUFDaEQsK0VBQStFO0lBQ3BELFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDNUMsNkVBQTZFO0lBQ3BFLFdBQVcsQ0FBZ0M7SUFDcEQsb0dBQW9HO0lBQ3pFLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxQyx3RkFBd0Y7SUFDN0QsV0FBVyxHQUFHLElBQUksQ0FBQztJQUM5QyxzR0FBc0c7SUFDM0UsNkJBQTZCLEdBQUcsRUFBRSxDQUFDO0lBRTlELGtFQUFrRTtJQUN4RCxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXVDLENBQUM7SUFDaEYsOEVBQThFO0lBQ3BFLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBMkMsQ0FBQztJQUdwRixhQUFhLENBQUMsTUFBYTtRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBYTtRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzVCLE9BQU8sQ0FDSCxLQUFLLENBQUMsU0FBUyxDQUNYLENBQUMsRUFDRCxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUN4RyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ3ZFLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsVUFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztJQUN2RyxDQUFDO3dHQTFDUSxpQkFBaUI7NEZBQWpCLGlCQUFpQixnV0NiOUIsNitCQStCQTs7QURJSTtJQURDLGFBQWEsRUFBRTtzREFHZjtBQUVEO0lBREMsYUFBYSxFQUFFO3NEQUdmOzRGQTVCUSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0ksYUFBYTs4QkFNSSxVQUFVO3NCQUFwQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFRSxXQUFXO3NCQUFyQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFRSxRQUFRO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFaEIsV0FBVztzQkFBbkIsS0FBSztnQkFFcUIsU0FBUztzQkFBbkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRUUsV0FBVztzQkFBckMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRUUsNkJBQTZCO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFHZixXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFdBQVc7c0JBQXBCLE1BQU07Z0JBR1AsYUFBYSxNQUliLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoZWNrRGlzYWJsZWQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3NoYXJlZCc7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGludGVybm8gZGUgaXRlbSBpbmRpdmlkdWFsIGRlIGNoaXAsIHV0aWxpemFkbyBwZWxvIHtAbGluayBDaGlwc0NvbXBvbmVudH0uXG4gKiBSZXNwb25zw6F2ZWwgcGVsYSByZW5kZXJpemHDp8OjbyBkbyB0ZXh0bywgdG9vbHRpcCBlIGJvdMOjbyBkZSByZW1vw6fDo28gZGUgY2FkYSBjaGlwLlxuICpcbiAqIEBjYXRlZ29yeSBJbnB1dHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLWNoaXAtaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoaXAtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hpcC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENoaXBJdGVtQ29tcG9uZW50IHtcbiAgICAvKiogQGRlc2NyaXB0aW9uIENvbnRlw7pkbyBhIHNlciBleGliaWRvIG5vIGNoaXAgKHN0cmluZyBvdSBvYmpldG8pLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZGF0YVJlbmRlciE6IHN0cmluZyB8IE9iamVjdDtcbiAgICAvKiogQGRlc2NyaXB0aW9uIENoYXZlIGRvIG9iamV0byB1c2FkYSBwYXJhIGV4aWJpw6fDo28gcXVhbmRvIGBkYXRhUmVuZGVyYCBmb3IgdW0gb2JqZXRvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgb2JqZWN0RmllbGQhOiBzdHJpbmc7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBEZXNhYmlsaXRhIG9zIGV2ZW50b3MgZGUgY2xpcXVlIGRvIGNoaXAuIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIC8qKiBAZGVzY3JpcHRpb24gVGVtcGxhdGUgcGVyc29uYWxpemFkbyBwYXJhIHJlbmRlcml6YcOnw6NvIGludGVybmEgZG8gY2hpcC4gKi9cbiAgICBASW5wdXQoKSB0ZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiDDjW5kaWNlIGRvIGNoaXAgbmEgbGlzdGEsIHVzYWRvIGFvIGVtaXRpciBvIGV2ZW50byBkZSByZW1vw6fDo28uIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBpdGVtSW5kZXggPSAtMTtcbiAgICAvKiogQGRlc2NyaXB0aW9uIEhhYmlsaXRhIG8gdG9vbHRpcCBwYXJhIGNoaXBzIGNvbSB0ZXh0byB0cnVuY2Fkby4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHNob3dUb29sdGlwID0gdHJ1ZTtcbiAgICAvKiogQGRlc2NyaXB0aW9uIExpbWl0ZSBkZSBjYXJhY3RlcmVzIGV4aWJpZG9zIGFudGVzIGRlIHRydW5jYXIgbyB0ZXh0byBkbyBjaGlwLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgbWF4TGVuZ3RoUmVuZGVyV2l0aG91dFRvb2x0aXAgPSAyMDtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBhbyBjbGljYXIgbm8gYm90w6NvIGRlIHJlbW/Dp8OjbyBkbyBjaGlwLiAqL1xuICAgIEBPdXRwdXQoKSBjbGlja1JlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtSW5kZXg6IG51bWJlcjsgZXZlbnQ6IEV2ZW50IH0+KCk7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIGFvIGNsaWNhciBzb2JyZSBvIGNoaXAgKGZvcmEgZG8gYm90w6NvIGRlIHJlbW/Dp8OjbykuICovXG4gICAgQE91dHB1dCgpIGNoaXBDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGV2ZW50OiBFdmVudDsgZGF0YTogc3RyaW5nIHwgT2JqZWN0IH0+KCk7XG5cbiAgICBAQ2hlY2tEaXNhYmxlZCgpXG4gICAgY2xpY2tlZFJlbW92ZSgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMuY2xpY2tSZW1vdmUuZW1pdCh7IGl0ZW1JbmRleDogdGhpcy5pdGVtSW5kZXgsIGV2ZW50OiAkZXZlbnQgfSk7XG4gICAgfVxuICAgIEBDaGVja0Rpc2FibGVkKClcbiAgICBvbkNoaXBDbGlja2VkKCRldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5jaGlwQ2xpY2tlZC5lbWl0KHsgZXZlbnQ6ICRldmVudCwgZGF0YTogdGhpcy5kYXRhUmVuZGVyIH0pO1xuICAgIH1cblxuICAgIGdldCBfdGV4dCgpIHtcbiAgICAgICAgY29uc3QgX3RleHQgPSB0aGlzLl9yYXdUZXh0O1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgX3RleHQuc3Vic3RyaW5nKFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgX3RleHQubGVuZ3RoID4gdGhpcy5tYXhMZW5ndGhSZW5kZXJXaXRob3V0VG9vbHRpcCA/IHRoaXMubWF4TGVuZ3RoUmVuZGVyV2l0aG91dFRvb2x0aXAgOiBfdGV4dC5sZW5ndGgsXG4gICAgICAgICAgICApICsgKF90ZXh0Lmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoUmVuZGVyV2l0aG91dFRvb2x0aXAgPyAnLi4uJyA6ICcnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBfcmF3VGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0RmllbGQgPyAodGhpcy5kYXRhUmVuZGVyIGFzIGFueSlbdGhpcy5vYmplY3RGaWVsZF0gfHwgJycgOiB0aGlzLmRhdGFSZW5kZXIgfHwgJyc7XG4gICAgfVxufVxuXG4iLCI8bmctdGVtcGxhdGUgI2l0ZW1SZW5kZXI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNoaXAtaXRlbVwiXG4gICAgICAgIFtjbGFzcy5jaGlwLWl0ZW0tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwib25DaGlwQ2xpY2tlZCgkZXZlbnQpXCIgXG4gICAgICAgIFtzVG9vbHRpcF09XCJfcmF3VGV4dFwiXG4gICAgICAgIFtzaG93RGVsYXldPVwiMFwiXG4gICAgICAgIFt2aXNpYmxlXT1cInNob3dUb29sdGlwID8gX3Jhd1RleHQubGVuZ3RoID4gbWF4TGVuZ3RoUmVuZGVyV2l0aG91dFRvb2x0aXAgOiBmYWxzZVwiPlxuICAgICAgICAgICAgQGlmKHRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlUmVmOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZGF0YVJlbmRlciwgdGV4dDogX3RleHQgfVwiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAge3sgX3RleHQgfX1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCIgKGNsaWNrKT1cImNsaWNrZWRSZW1vdmUoJGV2ZW50KVwiPjwvaT5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cblxuQGlmKG9iamVjdEZpZWxkICYmICF0ZW1wbGF0ZVJlZikge1xuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtUmVuZGVyO1wiPjwvbmctY29udGFpbmVyPlxufVxuXG5AaWYoIW9iamVjdEZpZWxkICYmICF0ZW1wbGF0ZVJlZikge1xuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtUmVuZGVyO1wiPjwvbmctY29udGFpbmVyPlxufVxuXG5AaWYodGVtcGxhdGVSZWYpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVJlbmRlclwiPjwvbmctY29udGFpbmVyPlxufVxuIl19
|