@gipisistemas/ng-core 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- package/assets/styles/colors.scss +261 -0
- package/assets/styles/layout-grid.scss +146 -0
- package/assets/styles/styles.scss +149 -0
- package/assets/styles/theme.scss +22 -0
- package/assets/styles/typography.scss +54 -0
- package/assets/styles/variable.scss +41 -0
- package/bundles/gipisistemas-ng-core.umd.js +28311 -0
- package/bundles/gipisistemas-ng-core.umd.js.map +1 -0
- package/bundles/gipisistemas-ng-core.umd.min.js +66 -0
- package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -0
- package/core/app-messages.d.ts +9 -0
- package/core/app.messages.d.ts +4 -0
- package/core/components/abstract-crud.component.d.ts +27 -0
- package/core/components/abstract-find.component.d.ts +43 -0
- package/core/components/abstract.component.d.ts +23 -0
- package/core/components/alert/alert.component.d.ts +7 -0
- package/core/core.module.d.ts +17 -0
- package/core/custom-breakpoints.d.ts +7 -0
- package/core/enums/local-time.enum.d.ts +5 -0
- package/core/extensions/string.extension.d.ts +3 -0
- package/core/gipi-components/components/abstract-crud.component.d.ts +25 -0
- package/core/gipi-components/components/abstract-find.component.d.ts +73 -0
- package/core/gipi-components/components/abstract.component.d.ts +38 -0
- package/core/gipi-components/decorators/autowired.decorator.d.ts +7 -0
- package/core/gipi-components/enums/sort-direction.enum.d.ts +5 -0
- package/core/gipi-components/interface/abstract-crud.interface.d.ts +5 -0
- package/core/gipi-components/interface/abstract-find.interface.d.ts +12 -0
- package/core/gipi-components/interface/abstract.interface.d.ts +11 -0
- package/core/gipi-components/interface/base-permission.interface.d.ts +9 -0
- package/core/gipi-components/models/abstract-filter.model.d.ts +9 -0
- package/core/gipi-components/models/abstract.model.d.ts +7 -0
- package/core/gipi-components/models/applied-filter.model.d.ts +9 -0
- package/core/gipi-components/models/dto/abstract.dto.d.ts +7 -0
- package/core/gipi-components/models/page-event.model.d.ts +18 -0
- package/core/gipi-components/models/page.model.d.ts +7 -0
- package/core/gipi-components/models/sort.model.d.ts +6 -0
- package/core/gipi-components/services/abstract-crud.service.d.ts +83 -0
- package/core/gipi-components/services/abstract.service.d.ts +19 -0
- package/core/gipi-components/services/base.service.d.ts +35 -0
- package/core/gipi-components/services/file.service.d.ts +6 -0
- package/core/gipi-components/services/session-storage.service.d.ts +8 -0
- package/core/gipi-components/types/generic.type.d.ts +1 -0
- package/core/gipi-components/types/uuid.type.d.ts +1 -0
- package/core/guards/auth.guard.d.ts +11 -0
- package/core/guards/permission.guard.d.ts +14 -0
- package/core/guards/public.guard.d.ts +11 -0
- package/core/interceptors/auth.interceptor.d.ts +9 -0
- package/core/interceptors/error.interceptor.d.ts +11 -0
- package/core/models/abstract.model.d.ts +3 -0
- package/core/models/archive.model.d.ts +4 -0
- package/core/models/authority.model.d.ts +3 -0
- package/core/models/base-user.model.d.ts +12 -0
- package/core/models/dto/abstract.dto.d.ts +2 -0
- package/core/models/dto/api-error.dto.d.ts +9 -0
- package/core/models/dto/api-sub-error.dto.d.ts +7 -0
- package/core/models/dto/chart.dto.d.ts +5 -0
- package/core/models/dto/confirmation.dto.d.ts +10 -0
- package/core/models/dto/dialog.dto.d.ts +36 -0
- package/core/models/dto/filter.dto.d.ts +8 -0
- package/core/models/dto/input-listbox.dto.d.ts +6 -0
- package/core/models/dto/menu.dto.d.ts +15 -0
- package/core/models/dto/message.dto.d.ts +7 -0
- package/core/models/dto/page.dto.d.ts +8 -0
- package/core/models/dto/sort.dto.d.ts +7 -0
- package/core/models/dto/tab.dto.d.ts +12 -0
- package/core/models/dto/table-column.dto.d.ts +21 -0
- package/core/models/dto/table-group-header.dto.d.ts +7 -0
- package/core/models/dto/table-page-event.dto.d.ts +6 -0
- package/core/models/dto/token.dto.d.ts +8 -0
- package/core/models/enums/criteria-operation.enum.d.ts +13 -0
- package/core/models/enums/criteria-sort-direction.enum.d.ts +4 -0
- package/core/models/enums/menu-type.enum.d.ts +6 -0
- package/core/models/enums/radio-button.enum.d.ts +6 -0
- package/core/models/enums/sort-direction.enum.d.ts +4 -0
- package/core/models/multitenant.model.d.ts +4 -0
- package/core/models/permission.model.d.ts +8 -0
- package/core/models/role.model.d.ts +7 -0
- package/core/pipes/local-time.pipe.d.ts +6 -0
- package/core/services/abstract-crud.service.d.ts +15 -0
- package/core/services/abstract-find.service.d.ts +30 -0
- package/core/services/abstract.service.d.ts +13 -0
- package/core/services/authentication.service.d.ts +23 -0
- package/core/services/breakpoint-observer.service.d.ts +9 -0
- package/core/services/confirmation.service.d.ts +8 -0
- package/core/services/dialog.service.d.ts +8 -0
- package/core/services/message.service.d.ts +8 -0
- package/core/services/nav.service.d.ts +16 -0
- package/core/services/svg-register.service.d.ts +22 -0
- package/core/types/local-time.type.d.ts +5 -0
- package/core/types/ng-class.type.d.ts +10 -0
- package/core/utils/array.util.d.ts +14 -0
- package/core/utils/browser.util.d.ts +4 -0
- package/core/utils/currency.util.d.ts +6 -0
- package/core/utils/date.util.d.ts +39 -0
- package/core/utils/document.util.d.ts +11 -0
- package/core/utils/email.util.d.ts +4 -0
- package/core/utils/number.util.d.ts +8 -0
- package/core/utils/object.util.d.ts +20 -0
- package/core/utils/password.util.d.ts +11 -0
- package/core/utils/phone.util.d.ts +13 -0
- package/core/utils/string.util.d.ts +9 -0
- package/core/utils/table-column-builder.d.ts +40 -0
- package/core/utils/time.util.d.ts +9 -0
- package/core/utils/url-params.util.d.ts +7 -0
- package/core/utils/uuid.util.d.ts +5 -0
- package/core/utils/zindex.util.d.ts +7 -0
- package/core.d.ts +88 -0
- package/esm2015/core/app-messages.js +1 -0
- package/esm2015/core/app.messages.js +12 -0
- package/esm2015/core/components/abstract-crud.component.js +97 -0
- package/esm2015/core/components/abstract-find.component.js +189 -0
- package/esm2015/core/components/abstract.component.js +110 -0
- package/esm2015/core/components/alert/alert.component.js +24 -0
- package/esm2015/core/core.module.js +103 -0
- package/esm2015/core/custom-breakpoints.js +87 -0
- package/esm2015/core/enums/local-time.enum.js +6 -0
- package/esm2015/core/extensions/string.extension.js +37 -0
- package/esm2015/core/gipi-components/components/abstract-crud.component.js +110 -0
- package/esm2015/core/gipi-components/components/abstract-find.component.js +471 -0
- package/esm2015/core/gipi-components/components/abstract.component.js +140 -0
- package/esm2015/core/gipi-components/decorators/autowired.decorator.js +47 -0
- package/esm2015/core/gipi-components/enums/sort-direction.enum.js +6 -0
- package/esm2015/core/gipi-components/interface/abstract-crud.interface.js +1 -0
- package/esm2015/core/gipi-components/interface/abstract-find.interface.js +1 -0
- package/esm2015/core/gipi-components/interface/abstract.interface.js +1 -0
- package/esm2015/core/gipi-components/interface/base-permission.interface.js +1 -0
- package/esm2015/core/gipi-components/models/abstract-filter.model.js +3 -0
- package/esm2015/core/gipi-components/models/abstract.model.js +3 -0
- package/esm2015/core/gipi-components/models/applied-filter.model.js +19 -0
- package/esm2015/core/gipi-components/models/dto/abstract.dto.js +3 -0
- package/esm2015/core/gipi-components/models/page-event.model.js +35 -0
- package/esm2015/core/gipi-components/models/page.model.js +7 -0
- package/esm2015/core/gipi-components/models/sort.model.js +7 -0
- package/esm2015/core/gipi-components/services/abstract-crud.service.js +109 -0
- package/esm2015/core/gipi-components/services/abstract.service.js +47 -0
- package/esm2015/core/gipi-components/services/base.service.js +102 -0
- package/esm2015/core/gipi-components/services/file.service.js +51 -0
- package/esm2015/core/gipi-components/services/session-storage.service.js +44 -0
- package/esm2015/core/gipi-components/types/generic.type.js +1 -0
- package/esm2015/core/gipi-components/types/uuid.type.js +1 -0
- package/esm2015/core/guards/auth.guard.js +48 -0
- package/esm2015/core/guards/permission.guard.js +61 -0
- package/esm2015/core/guards/public.guard.js +45 -0
- package/esm2015/core/interceptors/auth.interceptor.js +28 -0
- package/esm2015/core/interceptors/error.interceptor.js +110 -0
- package/esm2015/core/models/abstract.model.js +3 -0
- package/esm2015/core/models/archive.model.js +3 -0
- package/esm2015/core/models/authority.model.js +3 -0
- package/esm2015/core/models/base-user.model.js +8 -0
- package/esm2015/core/models/dto/abstract.dto.js +3 -0
- package/esm2015/core/models/dto/api-error.dto.js +8 -0
- package/esm2015/core/models/dto/api-sub-error.dto.js +4 -0
- package/esm2015/core/models/dto/chart.dto.js +4 -0
- package/esm2015/core/models/dto/confirmation.dto.js +8 -0
- package/esm2015/core/models/dto/dialog.dto.js +4 -0
- package/esm2015/core/models/dto/filter.dto.js +4 -0
- package/esm2015/core/models/dto/input-listbox.dto.js +7 -0
- package/esm2015/core/models/dto/menu.dto.js +9 -0
- package/esm2015/core/models/dto/message.dto.js +4 -0
- package/esm2015/core/models/dto/page.dto.js +9 -0
- package/esm2015/core/models/dto/sort.dto.js +9 -0
- package/esm2015/core/models/dto/tab.dto.js +10 -0
- package/esm2015/core/models/dto/table-column.dto.js +24 -0
- package/esm2015/core/models/dto/table-group-header.dto.js +10 -0
- package/esm2015/core/models/dto/table-page-event.dto.js +7 -0
- package/esm2015/core/models/dto/token.dto.js +4 -0
- package/esm2015/core/models/enums/criteria-operation.enum.js +15 -0
- package/esm2015/core/models/enums/criteria-sort-direction.enum.js +6 -0
- package/esm2015/core/models/enums/menu-type.enum.js +7 -0
- package/esm2015/core/models/enums/radio-button.enum.js +8 -0
- package/esm2015/core/models/enums/sort-direction.enum.js +6 -0
- package/esm2015/core/models/multitenant.model.js +4 -0
- package/esm2015/core/models/permission.model.js +11 -0
- package/esm2015/core/models/role.model.js +8 -0
- package/esm2015/core/pipes/local-time.pipe.js +21 -0
- package/esm2015/core/services/abstract-crud.service.js +24 -0
- package/esm2015/core/services/abstract-find.service.js +65 -0
- package/esm2015/core/services/abstract.service.js +30 -0
- package/esm2015/core/services/authentication.service.js +100 -0
- package/esm2015/core/services/breakpoint-observer.service.js +42 -0
- package/esm2015/core/services/confirmation.service.js +55 -0
- package/esm2015/core/services/dialog.service.js +41 -0
- package/esm2015/core/services/message.service.js +33 -0
- package/esm2015/core/services/nav.service.js +48 -0
- package/esm2015/core/services/svg-register.service.js +55 -0
- package/esm2015/core/types/local-time.type.js +1 -0
- package/esm2015/core/types/ng-class.type.js +1 -0
- package/esm2015/core/utils/array.util.js +110 -0
- package/esm2015/core/utils/browser.util.js +13 -0
- package/esm2015/core/utils/currency.util.js +21 -0
- package/esm2015/core/utils/date.util.js +257 -0
- package/esm2015/core/utils/document.util.js +153 -0
- package/esm2015/core/utils/email.util.js +25 -0
- package/esm2015/core/utils/number.util.js +28 -0
- package/esm2015/core/utils/object.util.js +199 -0
- package/esm2015/core/utils/password.util.js +38 -0
- package/esm2015/core/utils/phone.util.js +125 -0
- package/esm2015/core/utils/string.util.js +40 -0
- package/esm2015/core/utils/table-column-builder.js +85 -0
- package/esm2015/core/utils/time.util.js +59 -0
- package/esm2015/core/utils/url-params.util.js +12 -0
- package/esm2015/core/utils/uuid.util.js +17 -0
- package/esm2015/core/utils/zindex.util.js +35 -0
- package/esm2015/core.js +89 -0
- package/esm2015/gipi-components.js +105 -0
- package/esm2015/gipisistemas-ng-core.js +21 -0
- package/esm2015/public_api.js +4 -0
- package/esm2015/shared/api/generate-id-component.js +12 -0
- package/esm2015/shared/api/gipi-ng-config.js +76 -0
- package/esm2015/shared/api/overlay-message.js +1 -0
- package/esm2015/shared/api/throttle.js +60 -0
- package/esm2015/shared/api/translation.js +1 -0
- package/esm2015/shared/components/button/button.component.js +110 -0
- package/esm2015/shared/components/card/card.component.js +44 -0
- package/esm2015/shared/components/checkbox/checkbox.component.js +79 -0
- package/esm2015/shared/components/dom/connected-overlay-scroll-handler.js +27 -0
- package/esm2015/shared/components/dom/dom-handler.js +538 -0
- package/esm2015/shared/components/icon/icon.component.js +35 -0
- package/esm2015/shared/components/input/input.component.js +235 -0
- package/esm2015/shared/components/input-currency/input-currency.component.js +115 -0
- package/esm2015/shared/components/input-file/input-file.component.js +161 -0
- package/esm2015/shared/components/loading/loading.component.js +15 -0
- package/esm2015/shared/components/loading-overlay/loading-overlay.component.js +21 -0
- package/esm2015/shared/components/overlay-panel/overlay-panel.component.js +361 -0
- package/esm2015/shared/components/popover/popover-ref.js +25 -0
- package/esm2015/shared/components/popover/popover.component.js +34 -0
- package/esm2015/shared/components/popover/popover.service.js +85 -0
- package/esm2015/shared/components/radio-group-entity/radio-group-entity.component.js +74 -0
- package/esm2015/shared/components/radio-group-enum/radio-group-enum.component.js +126 -0
- package/esm2015/shared/components/select-button/select-button.component.js +181 -0
- package/esm2015/shared/components/select-entity/select-entity.component.js +262 -0
- package/esm2015/shared/components/select-entity-paged/select-entity-paged.component.js +419 -0
- package/esm2015/shared/components/select-entity-paged/shared/default-options.js +35 -0
- package/esm2015/shared/components/select-entity-paged/shared/select-button-add/select-button-add.component.js +69 -0
- package/esm2015/shared/components/select-entity-paged/shared/select-button-next-batch/select-button-next-batch.component.js +59 -0
- package/esm2015/shared/components/select-entity-paged/shared/select-no-entries-found.directive.js +20 -0
- package/esm2015/shared/components/select-entity-paged/shared/select-search/select-search.component.js +547 -0
- package/esm2015/shared/components/select-entity-paged/shared/select-search-clear.directive.js +18 -0
- package/esm2015/shared/components/select-enum/select-enum.component.js +117 -0
- package/esm2015/shared/components/select-month-period/select-month-period.component.js +87 -0
- package/esm2015/shared/components/slide-toggle/slide-toggle.component.js +75 -0
- package/esm2015/shared/components/stepper/stepper.component.js +32 -0
- package/esm2015/shared/components/tab/tab.component.js +57 -0
- package/esm2015/shared/components/tab-group/tab-group.component.js +117 -0
- package/esm2015/shared/components/table/table.component.js +523 -0
- package/esm2015/shared/components/table-scrolled/table-scrolled.component.js +105 -0
- package/esm2015/shared/components/textarea/textarea.component.js +156 -0
- package/esm2015/shared/directives/dynamic-tab.directive.js +18 -0
- package/esm2015/shared/directives/generic-template.directive.js +30 -0
- package/esm2015/shared/directives/input-select-infinite-scroll.directive.js +109 -0
- package/esm2015/shared/directives/lower-case.directive.js +47 -0
- package/esm2015/shared/directives/phone-mask.directive.js +60 -0
- package/esm2015/shared/directives/space-drop.directive.js +47 -0
- package/esm2015/shared/directives/upper-case.directive.js +47 -0
- package/esm2015/shared/gipi-components/abstract-form/abstract-form.component.js +119 -0
- package/esm2015/shared/gipi-components/action-row/action-row.component.js +30 -0
- package/esm2015/shared/gipi-components/badge/badge.component.js +44 -0
- package/esm2015/shared/gipi-components/button/button.component.js +251 -0
- package/esm2015/shared/gipi-components/chips/chips.component.js +149 -0
- package/esm2015/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +44 -0
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +324 -0
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range-selection-startegy.js +41 -0
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range.directive.js +35 -0
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/shared/preset-range/preset-range.component.js +259 -0
- package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +218 -0
- package/esm2015/shared/gipi-components/datepicker/datepicker.module.js +130 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +341 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/calendar.js +397 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-input-parts.js +325 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +329 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-picker.js +41 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-selection-strategy.js +61 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-selection-model.js +159 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-animations.js +35 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-base.js +555 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-errors.js +14 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-input-base.js +303 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-input.js +179 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-intl.js +51 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-toggle.js +124 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker.js +29 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/month-view.js +365 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/multi-year-view.js +305 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-adapter.js +116 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-formats.js +10 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-adapter.js +294 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-formats.js +19 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/platform.js +81 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/year-view.js +294 -0
- package/esm2015/shared/gipi-components/dom/connected-overlay-scroll-handler.js +27 -0
- package/esm2015/shared/gipi-components/dom/dom-handler.js +645 -0
- package/esm2015/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +185 -0
- package/esm2015/shared/gipi-components/expansion-panel/expansion-panel.component.js +81 -0
- package/esm2015/shared/gipi-components/file-drag-and-drop/file-drag-and-drop.component.js +240 -0
- package/esm2015/shared/gipi-components/file-drag-and-drop/shared/file-drag-and-drop.directive.js +92 -0
- package/esm2015/shared/gipi-components/footer/footer.component.js +29 -0
- package/esm2015/shared/gipi-components/form-field/form-field.component.js +262 -0
- package/esm2015/shared/gipi-components/helpful-tip/helpful-tip.component.js +62 -0
- package/esm2015/shared/gipi-components/infinite-scroll/infinite-scroll.directive.js +103 -0
- package/esm2015/shared/gipi-components/input-checkbox/input-checkbox.component.js +112 -0
- package/esm2015/shared/gipi-components/input-currency/input-currency.component.js +197 -0
- package/esm2015/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +408 -0
- package/esm2015/shared/gipi-components/input-select/input-select.component.js +655 -0
- package/esm2015/shared/gipi-components/input-select-enum/input-select-enum.component.js +311 -0
- package/esm2015/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +422 -0
- package/esm2015/shared/gipi-components/input-select-paged/input-search/input-search.component.js +374 -0
- package/esm2015/shared/gipi-components/input-select-paged/input-select-paged.component.js +350 -0
- package/esm2015/shared/gipi-components/input-select-radio/input-select-radio.component.js +269 -0
- package/esm2015/shared/gipi-components/layout-grid/col.directive.js +161 -0
- package/esm2015/shared/gipi-components/layout-grid/row.directive.js +124 -0
- package/esm2015/shared/gipi-components/layout-grid/services/breakpoint.service.js +87 -0
- package/esm2015/shared/gipi-components/layout-grid/services/resize.service.js +64 -0
- package/esm2015/shared/gipi-components/month-year-picker/calendar-month-year/calendar-month-year.component.js +193 -0
- package/esm2015/shared/gipi-components/month-year-picker/mont-year-picker.module.js +47 -0
- package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +460 -0
- package/esm2015/shared/gipi-components/notification/notification.component.js +104 -0
- package/esm2015/shared/gipi-components/novelties/novelties.component.js +109 -0
- package/esm2015/shared/gipi-components/overlay/overlay.component.js +565 -0
- package/esm2015/shared/gipi-components/overlay/shared/overlay-service.js +21 -0
- package/esm2015/shared/gipi-components/overlay/shared/overlay_options.js +1 -0
- package/esm2015/shared/gipi-components/password-requeriments/password-requeriments.component.js +127 -0
- package/esm2015/shared/gipi-components/popover/popover.component.js +397 -0
- package/esm2015/shared/gipi-components/popover/shared/popover-animations.js +29 -0
- package/esm2015/shared/gipi-components/popover/shared/popover-errors.js +27 -0
- package/esm2015/shared/gipi-components/popover/shared/popover-interfaces.js +1 -0
- package/esm2015/shared/gipi-components/popover/shared/popover-target.js +19 -0
- package/esm2015/shared/gipi-components/popover/shared/popover-trigger.js +514 -0
- package/esm2015/shared/gipi-components/popover/shared/popover-types.js +1 -0
- package/esm2015/shared/gipi-components/radio-group/radio-group.component.js +143 -0
- package/esm2015/shared/gipi-components/range-page/range-page.component.js +254 -0
- package/esm2015/shared/gipi-components/range-slider/range-slider.component.js +345 -0
- package/esm2015/shared/gipi-components/select/select.component.js +211 -0
- package/esm2015/shared/gipi-components/select-button/select-button.component.js +187 -0
- package/esm2015/shared/gipi-components/sidebar/container/container.component.js +83 -0
- package/esm2015/shared/gipi-components/sidebar/sidenav/sidenav.component.js +240 -0
- package/esm2015/shared/gipi-components/stepper/stepper.component.js +37 -0
- package/esm2015/shared/gipi-components/table/components/table-body/table-body.component.js +203 -0
- package/esm2015/shared/gipi-components/table/components/table-footer/table-footer.component.js +30 -0
- package/esm2015/shared/gipi-components/table/components/table-header/table-header.component.js +152 -0
- package/esm2015/shared/gipi-components/table/components/table-pagination/shared/paginate.pipe.js +122 -0
- package/esm2015/shared/gipi-components/table/components/table-pagination/shared/pagination-controls.directive.js +225 -0
- package/esm2015/shared/gipi-components/table/components/table-pagination/shared/pagination-instance.js +1 -0
- package/esm2015/shared/gipi-components/table/components/table-pagination/shared/pagination.service.js +105 -0
- package/esm2015/shared/gipi-components/table/components/table-pagination/table-pagination.component.js +102 -0
- package/esm2015/shared/gipi-components/table/components/table-progress-bar/table-progress-bar.component.js +30 -0
- package/esm2015/shared/gipi-components/table/models/pipe-transform.model.js +1 -0
- package/esm2015/shared/gipi-components/table/models/sort.model.js +19 -0
- package/esm2015/shared/gipi-components/table/models/sorted-column.model.js +2 -0
- package/esm2015/shared/gipi-components/table/models/table-column-builder.model.js +104 -0
- package/esm2015/shared/gipi-components/table/models/table-column.model.js +162 -0
- package/esm2015/shared/gipi-components/table/table.component.js +159 -0
- package/esm2015/shared/gipi-components/table/types/sort-direction.type.js +1 -0
- package/esm2015/shared/gipi-components/table/types/sort.type.js +1 -0
- package/esm2015/shared/gipi-components/template/template.directive.js +33 -0
- package/esm2015/shared/gipi-components/toolbar/toolbar.component.js +53 -0
- package/esm2015/shared/gipi-components/top-nav/top-nav.component.js +38 -0
- package/esm2015/shared/gipi-components/user-profile/user-profile.component.js +109 -0
- package/esm2015/shared/material.module.js +102 -0
- package/esm2015/shared/shared.module.js +339 -0
- package/esm2015/shared.js +36 -0
- package/esm5/core/app-messages.js +1 -0
- package/esm5/core/app.messages.js +12 -0
- package/esm5/core/components/abstract-crud.component.js +108 -0
- package/esm5/core/components/abstract-find.component.js +201 -0
- package/esm5/core/components/abstract.component.js +112 -0
- package/esm5/core/components/alert/alert.component.js +25 -0
- package/esm5/core/core.module.js +107 -0
- package/esm5/core/custom-breakpoints.js +87 -0
- package/esm5/core/enums/local-time.enum.js +6 -0
- package/esm5/core/extensions/string.extension.js +37 -0
- package/esm5/core/gipi-components/components/abstract-crud.component.js +122 -0
- package/esm5/core/gipi-components/components/abstract-find.component.js +507 -0
- package/esm5/core/gipi-components/components/abstract.component.js +152 -0
- package/esm5/core/gipi-components/decorators/autowired.decorator.js +52 -0
- package/esm5/core/gipi-components/enums/sort-direction.enum.js +6 -0
- package/esm5/core/gipi-components/interface/abstract-crud.interface.js +1 -0
- package/esm5/core/gipi-components/interface/abstract-find.interface.js +1 -0
- package/esm5/core/gipi-components/interface/abstract.interface.js +1 -0
- package/esm5/core/gipi-components/interface/base-permission.interface.js +1 -0
- package/esm5/core/gipi-components/models/abstract-filter.model.js +7 -0
- package/esm5/core/gipi-components/models/abstract.model.js +7 -0
- package/esm5/core/gipi-components/models/applied-filter.model.js +29 -0
- package/esm5/core/gipi-components/models/dto/abstract.dto.js +7 -0
- package/esm5/core/gipi-components/models/page-event.model.js +49 -0
- package/esm5/core/gipi-components/models/page.model.js +9 -0
- package/esm5/core/gipi-components/models/sort.model.js +9 -0
- package/esm5/core/gipi-components/services/abstract-crud.service.js +114 -0
- package/esm5/core/gipi-components/services/abstract.service.js +49 -0
- package/esm5/core/gipi-components/services/base.service.js +143 -0
- package/esm5/core/gipi-components/services/file.service.js +53 -0
- package/esm5/core/gipi-components/services/session-storage.service.js +45 -0
- package/esm5/core/gipi-components/types/generic.type.js +1 -0
- package/esm5/core/gipi-components/types/uuid.type.js +1 -0
- package/esm5/core/guards/auth.guard.js +50 -0
- package/esm5/core/guards/permission.guard.js +74 -0
- package/esm5/core/guards/public.guard.js +47 -0
- package/esm5/core/interceptors/auth.interceptor.js +29 -0
- package/esm5/core/interceptors/error.interceptor.js +129 -0
- package/esm5/core/models/abstract.model.js +7 -0
- package/esm5/core/models/archive.model.js +7 -0
- package/esm5/core/models/authority.model.js +7 -0
- package/esm5/core/models/base-user.model.js +13 -0
- package/esm5/core/models/dto/abstract.dto.js +7 -0
- package/esm5/core/models/dto/api-error.dto.js +13 -0
- package/esm5/core/models/dto/api-sub-error.dto.js +11 -0
- package/esm5/core/models/dto/chart.dto.js +11 -0
- package/esm5/core/models/dto/confirmation.dto.js +13 -0
- package/esm5/core/models/dto/dialog.dto.js +11 -0
- package/esm5/core/models/dto/filter.dto.js +11 -0
- package/esm5/core/models/dto/input-listbox.dto.js +11 -0
- package/esm5/core/models/dto/menu.dto.js +14 -0
- package/esm5/core/models/dto/message.dto.js +11 -0
- package/esm5/core/models/dto/page.dto.js +14 -0
- package/esm5/core/models/dto/sort.dto.js +14 -0
- package/esm5/core/models/dto/tab.dto.js +15 -0
- package/esm5/core/models/dto/table-column.dto.js +29 -0
- package/esm5/core/models/dto/table-group-header.dto.js +15 -0
- package/esm5/core/models/dto/table-page-event.dto.js +11 -0
- package/esm5/core/models/dto/token.dto.js +11 -0
- package/esm5/core/models/enums/criteria-operation.enum.js +15 -0
- package/esm5/core/models/enums/criteria-sort-direction.enum.js +6 -0
- package/esm5/core/models/enums/menu-type.enum.js +7 -0
- package/esm5/core/models/enums/radio-button.enum.js +8 -0
- package/esm5/core/models/enums/sort-direction.enum.js +6 -0
- package/esm5/core/models/multitenant.model.js +11 -0
- package/esm5/core/models/permission.model.js +16 -0
- package/esm5/core/models/role.model.js +13 -0
- package/esm5/core/pipes/local-time.pipe.js +26 -0
- package/esm5/core/services/abstract-crud.service.js +30 -0
- package/esm5/core/services/abstract-find.service.js +71 -0
- package/esm5/core/services/abstract.service.js +32 -0
- package/esm5/core/services/authentication.service.js +121 -0
- package/esm5/core/services/breakpoint-observer.service.js +52 -0
- package/esm5/core/services/confirmation.service.js +66 -0
- package/esm5/core/services/dialog.service.js +44 -0
- package/esm5/core/services/message.service.js +36 -0
- package/esm5/core/services/nav.service.js +51 -0
- package/esm5/core/services/svg-register.service.js +67 -0
- package/esm5/core/types/local-time.type.js +1 -0
- package/esm5/core/types/ng-class.type.js +1 -0
- package/esm5/core/utils/array.util.js +120 -0
- package/esm5/core/utils/browser.util.js +17 -0
- package/esm5/core/utils/currency.util.js +26 -0
- package/esm5/core/utils/date.util.js +269 -0
- package/esm5/core/utils/document.util.js +157 -0
- package/esm5/core/utils/email.util.js +29 -0
- package/esm5/core/utils/number.util.js +32 -0
- package/esm5/core/utils/object.util.js +204 -0
- package/esm5/core/utils/password.util.js +42 -0
- package/esm5/core/utils/phone.util.js +135 -0
- package/esm5/core/utils/string.util.js +44 -0
- package/esm5/core/utils/table-column-builder.js +87 -0
- package/esm5/core/utils/time.util.js +65 -0
- package/esm5/core/utils/url-params.util.js +16 -0
- package/esm5/core/utils/uuid.util.js +21 -0
- package/esm5/core/utils/zindex.util.js +35 -0
- package/esm5/core.js +89 -0
- package/esm5/gipi-components.js +105 -0
- package/esm5/gipisistemas-ng-core.js +21 -0
- package/esm5/public_api.js +4 -0
- package/esm5/shared/api/generate-id-component.js +16 -0
- package/esm5/shared/api/gipi-ng-config.js +77 -0
- package/esm5/shared/api/overlay-message.js +1 -0
- package/esm5/shared/api/throttle.js +60 -0
- package/esm5/shared/api/translation.js +1 -0
- package/esm5/shared/components/button/button.component.js +111 -0
- package/esm5/shared/components/card/card.component.js +45 -0
- package/esm5/shared/components/checkbox/checkbox.component.js +85 -0
- package/esm5/shared/components/dom/connected-overlay-scroll-handler.js +30 -0
- package/esm5/shared/components/dom/dom-handler.js +573 -0
- package/esm5/shared/components/icon/icon.component.js +38 -0
- package/esm5/shared/components/input/input.component.js +242 -0
- package/esm5/shared/components/input-currency/input-currency.component.js +121 -0
- package/esm5/shared/components/input-file/input-file.component.js +165 -0
- package/esm5/shared/components/loading/loading.component.js +18 -0
- package/esm5/shared/components/loading-overlay/loading-overlay.component.js +23 -0
- package/esm5/shared/components/overlay-panel/overlay-panel.component.js +366 -0
- package/esm5/shared/components/popover/popover-ref.js +28 -0
- package/esm5/shared/components/popover/popover.component.js +35 -0
- package/esm5/shared/components/popover/popover.service.js +88 -0
- package/esm5/shared/components/radio-group-entity/radio-group-entity.component.js +80 -0
- package/esm5/shared/components/radio-group-enum/radio-group-enum.component.js +138 -0
- package/esm5/shared/components/select-button/select-button.component.js +195 -0
- package/esm5/shared/components/select-entity/select-entity.component.js +269 -0
- package/esm5/shared/components/select-entity-paged/select-entity-paged.component.js +453 -0
- package/esm5/shared/components/select-entity-paged/shared/default-options.js +35 -0
- package/esm5/shared/components/select-entity-paged/shared/select-button-add/select-button-add.component.js +72 -0
- package/esm5/shared/components/select-entity-paged/shared/select-button-next-batch/select-button-next-batch.component.js +62 -0
- package/esm5/shared/components/select-entity-paged/shared/select-no-entries-found.directive.js +23 -0
- package/esm5/shared/components/select-entity-paged/shared/select-search/select-search.component.js +590 -0
- package/esm5/shared/components/select-entity-paged/shared/select-search-clear.directive.js +21 -0
- package/esm5/shared/components/select-enum/select-enum.component.js +124 -0
- package/esm5/shared/components/select-month-period/select-month-period.component.js +91 -0
- package/esm5/shared/components/slide-toggle/slide-toggle.component.js +81 -0
- package/esm5/shared/components/stepper/stepper.component.js +36 -0
- package/esm5/shared/components/tab/tab.component.js +58 -0
- package/esm5/shared/components/tab-group/tab-group.component.js +125 -0
- package/esm5/shared/components/table/table.component.js +538 -0
- package/esm5/shared/components/table-scrolled/table-scrolled.component.js +107 -0
- package/esm5/shared/components/textarea/textarea.component.js +174 -0
- package/esm5/shared/directives/dynamic-tab.directive.js +19 -0
- package/esm5/shared/directives/generic-template.directive.js +31 -0
- package/esm5/shared/directives/input-select-infinite-scroll.directive.js +113 -0
- package/esm5/shared/directives/lower-case.directive.js +48 -0
- package/esm5/shared/directives/phone-mask.directive.js +61 -0
- package/esm5/shared/directives/space-drop.directive.js +48 -0
- package/esm5/shared/directives/upper-case.directive.js +48 -0
- package/esm5/shared/gipi-components/abstract-form/abstract-form.component.js +141 -0
- package/esm5/shared/gipi-components/action-row/action-row.component.js +33 -0
- package/esm5/shared/gipi-components/badge/badge.component.js +46 -0
- package/esm5/shared/gipi-components/button/button.component.js +257 -0
- package/esm5/shared/gipi-components/chips/chips.component.js +159 -0
- package/esm5/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +46 -0
- package/esm5/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +378 -0
- package/esm5/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range-selection-startegy.js +42 -0
- package/esm5/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range.directive.js +40 -0
- package/esm5/shared/gipi-components/datepicker/date-range-picker/shared/preset-range/preset-range.component.js +291 -0
- package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +252 -0
- package/esm5/shared/gipi-components/datepicker/datepicker.module.js +133 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +349 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/calendar.js +441 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-input-parts.js +339 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +376 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-picker.js +46 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-selection-strategy.js +62 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-selection-model.js +167 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-animations.js +35 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-base.js +586 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-errors.js +14 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-input-base.js +327 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-input.js +199 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-intl.js +52 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-toggle.js +133 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker.js +34 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/month-view.js +384 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/multi-year-view.js +324 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-adapter.js +118 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-formats.js +10 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-adapter.js +300 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-formats.js +19 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/platform.js +82 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/year-view.js +313 -0
- package/esm5/shared/gipi-components/dom/connected-overlay-scroll-handler.js +30 -0
- package/esm5/shared/gipi-components/dom/dom-handler.js +681 -0
- package/esm5/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +191 -0
- package/esm5/shared/gipi-components/expansion-panel/expansion-panel.component.js +83 -0
- package/esm5/shared/gipi-components/file-drag-and-drop/file-drag-and-drop.component.js +255 -0
- package/esm5/shared/gipi-components/file-drag-and-drop/shared/file-drag-and-drop.directive.js +93 -0
- package/esm5/shared/gipi-components/footer/footer.component.js +32 -0
- package/esm5/shared/gipi-components/form-field/form-field.component.js +276 -0
- package/esm5/shared/gipi-components/helpful-tip/helpful-tip.component.js +68 -0
- package/esm5/shared/gipi-components/infinite-scroll/infinite-scroll.directive.js +106 -0
- package/esm5/shared/gipi-components/input-checkbox/input-checkbox.component.js +118 -0
- package/esm5/shared/gipi-components/input-currency/input-currency.component.js +207 -0
- package/esm5/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +426 -0
- package/esm5/shared/gipi-components/input-select/input-select.component.js +698 -0
- package/esm5/shared/gipi-components/input-select-enum/input-select-enum.component.js +351 -0
- package/esm5/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +437 -0
- package/esm5/shared/gipi-components/input-select-paged/input-search/input-search.component.js +397 -0
- package/esm5/shared/gipi-components/input-select-paged/input-select-paged.component.js +384 -0
- package/esm5/shared/gipi-components/input-select-radio/input-select-radio.component.js +286 -0
- package/esm5/shared/gipi-components/layout-grid/col.directive.js +164 -0
- package/esm5/shared/gipi-components/layout-grid/row.directive.js +127 -0
- package/esm5/shared/gipi-components/layout-grid/services/breakpoint.service.js +90 -0
- package/esm5/shared/gipi-components/layout-grid/services/resize.service.js +68 -0
- package/esm5/shared/gipi-components/month-year-picker/calendar-month-year/calendar-month-year.component.js +200 -0
- package/esm5/shared/gipi-components/month-year-picker/mont-year-picker.module.js +50 -0
- package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +505 -0
- package/esm5/shared/gipi-components/notification/notification.component.js +106 -0
- package/esm5/shared/gipi-components/novelties/novelties.component.js +111 -0
- package/esm5/shared/gipi-components/overlay/overlay.component.js +670 -0
- package/esm5/shared/gipi-components/overlay/shared/overlay-service.js +22 -0
- package/esm5/shared/gipi-components/overlay/shared/overlay_options.js +1 -0
- package/esm5/shared/gipi-components/password-requeriments/password-requeriments.component.js +157 -0
- package/esm5/shared/gipi-components/popover/popover.component.js +473 -0
- package/esm5/shared/gipi-components/popover/shared/popover-animations.js +29 -0
- package/esm5/shared/gipi-components/popover/shared/popover-errors.js +21 -0
- package/esm5/shared/gipi-components/popover/shared/popover-interfaces.js +1 -0
- package/esm5/shared/gipi-components/popover/shared/popover-target.js +20 -0
- package/esm5/shared/gipi-components/popover/shared/popover-trigger.js +529 -0
- package/esm5/shared/gipi-components/popover/shared/popover-types.js +1 -0
- package/esm5/shared/gipi-components/radio-group/radio-group.component.js +155 -0
- package/esm5/shared/gipi-components/range-page/range-page.component.js +283 -0
- package/esm5/shared/gipi-components/range-slider/range-slider.component.js +364 -0
- package/esm5/shared/gipi-components/select/select.component.js +222 -0
- package/esm5/shared/gipi-components/select-button/select-button.component.js +206 -0
- package/esm5/shared/gipi-components/sidebar/container/container.component.js +96 -0
- package/esm5/shared/gipi-components/sidebar/sidenav/sidenav.component.js +267 -0
- package/esm5/shared/gipi-components/stepper/stepper.component.js +43 -0
- package/esm5/shared/gipi-components/table/components/table-body/table-body.component.js +209 -0
- package/esm5/shared/gipi-components/table/components/table-footer/table-footer.component.js +33 -0
- package/esm5/shared/gipi-components/table/components/table-header/table-header.component.js +155 -0
- package/esm5/shared/gipi-components/table/components/table-pagination/shared/paginate.pipe.js +123 -0
- package/esm5/shared/gipi-components/table/components/table-pagination/shared/pagination-controls.directive.js +228 -0
- package/esm5/shared/gipi-components/table/components/table-pagination/shared/pagination-instance.js +1 -0
- package/esm5/shared/gipi-components/table/components/table-pagination/shared/pagination.service.js +108 -0
- package/esm5/shared/gipi-components/table/components/table-pagination/table-pagination.component.js +116 -0
- package/esm5/shared/gipi-components/table/components/table-progress-bar/table-progress-bar.component.js +33 -0
- package/esm5/shared/gipi-components/table/models/pipe-transform.model.js +1 -0
- package/esm5/shared/gipi-components/table/models/sort.model.js +29 -0
- package/esm5/shared/gipi-components/table/models/sorted-column.model.js +2 -0
- package/esm5/shared/gipi-components/table/models/table-column-builder.model.js +106 -0
- package/esm5/shared/gipi-components/table/models/table-column.model.js +252 -0
- package/esm5/shared/gipi-components/table/table.component.js +161 -0
- package/esm5/shared/gipi-components/table/types/sort-direction.type.js +1 -0
- package/esm5/shared/gipi-components/table/types/sort.type.js +1 -0
- package/esm5/shared/gipi-components/template/template.directive.js +34 -0
- package/esm5/shared/gipi-components/toolbar/toolbar.component.js +56 -0
- package/esm5/shared/gipi-components/top-nav/top-nav.component.js +40 -0
- package/esm5/shared/gipi-components/user-profile/user-profile.component.js +115 -0
- package/esm5/shared/material.module.js +101 -0
- package/esm5/shared/shared.module.js +340 -0
- package/esm5/shared.js +36 -0
- package/fesm2015/gipisistemas-ng-core.js +25879 -0
- package/fesm2015/gipisistemas-ng-core.js.map +1 -0
- package/fesm5/gipisistemas-ng-core.js +27905 -0
- package/fesm5/gipisistemas-ng-core.js.map +1 -0
- package/gipi-components.d.ts +97 -0
- package/gipisistemas-ng-core.d.ts +20 -0
- package/gipisistemas-ng-core.metadata.json +1 -0
- package/package.json +31 -83
- package/public_api.d.ts +3 -0
- package/shared/api/generate-id-component.d.ts +3 -0
- package/shared/api/gipi-ng-config.d.ts +18 -0
- package/shared/api/overlay-message.d.ts +14 -0
- package/shared/api/throttle.d.ts +17 -0
- package/shared/api/translation.d.ts +45 -0
- package/shared/components/button/button.component.d.ts +26 -0
- package/shared/components/card/card.component.d.ts +10 -0
- package/shared/components/checkbox/checkbox.component.d.ts +20 -0
- package/shared/components/dom/connected-overlay-scroll-handler.d.ts +9 -0
- package/shared/components/dom/dom-handler.d.ts +74 -0
- package/shared/components/icon/icon.component.d.ts +9 -0
- package/shared/components/input/input.component.d.ts +52 -0
- package/shared/components/input-currency/input-currency.component.d.ts +29 -0
- package/shared/components/input-file/input-file.component.d.ts +28 -0
- package/shared/components/loading/loading.component.d.ts +4 -0
- package/shared/components/loading-overlay/loading-overlay.component.d.ts +6 -0
- package/shared/components/overlay-panel/overlay-panel.component.d.ts +67 -0
- package/shared/components/popover/popover-ref.d.ts +17 -0
- package/shared/components/popover/popover.component.d.ts +10 -0
- package/shared/components/popover/popover.service.d.ts +23 -0
- package/shared/components/radio-group-entity/radio-group-entity.component.d.ts +19 -0
- package/shared/components/radio-group-enum/radio-group-enum.component.d.ts +30 -0
- package/shared/components/select-button/select-button.component.d.ts +35 -0
- package/shared/components/select-entity/select-entity.component.d.ts +52 -0
- package/shared/components/select-entity-paged/select-entity-paged.component.d.ts +78 -0
- package/shared/components/select-entity-paged/shared/default-options.d.ts +25 -0
- package/shared/components/select-entity-paged/shared/select-button-add/select-button-add.component.d.ts +18 -0
- package/shared/components/select-entity-paged/shared/select-button-next-batch/select-button-next-batch.component.d.ts +16 -0
- package/shared/components/select-entity-paged/shared/select-no-entries-found.directive.d.ts +11 -0
- package/shared/components/select-entity-paged/shared/select-search/select-search.component.d.ts +119 -0
- package/shared/components/select-entity-paged/shared/select-search-clear.directive.d.ts +9 -0
- package/shared/components/select-enum/select-enum.component.d.ts +29 -0
- package/shared/components/select-month-period/select-month-period.component.d.ts +20 -0
- package/shared/components/slide-toggle/slide-toggle.component.d.ts +19 -0
- package/shared/components/stepper/stepper.component.d.ts +7 -0
- package/shared/components/tab/tab.component.d.ts +14 -0
- package/shared/components/tab-group/tab-group.component.d.ts +22 -0
- package/shared/components/table/table.component.d.ts +86 -0
- package/shared/components/table-scrolled/table-scrolled.component.d.ts +31 -0
- package/shared/components/textarea/textarea.component.d.ts +35 -0
- package/shared/directives/dynamic-tab.directive.d.ts +5 -0
- package/shared/directives/generic-template.directive.d.ts +8 -0
- package/shared/directives/input-select-infinite-scroll.directive.d.ts +35 -0
- package/shared/directives/lower-case.directive.d.ts +9 -0
- package/shared/directives/phone-mask.directive.d.ts +8 -0
- package/shared/directives/space-drop.directive.d.ts +9 -0
- package/shared/directives/upper-case.directive.d.ts +9 -0
- package/shared/gipi-components/abstract-form/abstract-form.component.d.ts +21 -0
- package/shared/gipi-components/action-row/action-row.component.d.ts +5 -0
- package/shared/gipi-components/badge/badge.component.d.ts +8 -0
- package/shared/gipi-components/button/button.component.d.ts +56 -0
- package/shared/gipi-components/chips/chips.component.d.ts +37 -0
- package/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.d.ts +11 -0
- package/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.d.ts +71 -0
- package/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range-selection-startegy.d.ts +11 -0
- package/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range.directive.d.ts +6 -0
- package/shared/gipi-components/datepicker/date-range-picker/shared/preset-range/preset-range.component.d.ts +40 -0
- package/shared/gipi-components/datepicker/datepicker/datepicker.component.d.ts +49 -0
- package/shared/gipi-components/datepicker/datepicker.module.d.ts +2 -0
- package/shared/gipi-components/datepicker/mat-datepicker/calendar-body.d.ts +143 -0
- package/shared/gipi-components/datepicker/mat-datepicker/calendar.d.ts +152 -0
- package/shared/gipi-components/datepicker/mat-datepicker/date-range-input-parts.d.ts +102 -0
- package/shared/gipi-components/datepicker/mat-datepicker/date-range-input.d.ts +124 -0
- package/shared/gipi-components/datepicker/mat-datepicker/date-range-picker.d.ts +21 -0
- package/shared/gipi-components/datepicker/mat-datepicker/date-range-selection-strategy.d.ts +45 -0
- package/shared/gipi-components/datepicker/mat-datepicker/date-selection-model.d.ts +106 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-animations.d.ts +16 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-base.d.ts +209 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-errors.d.ts +9 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-input-base.d.ts +136 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-input.d.ts +68 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-intl.d.ts +38 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-toggle.d.ts +39 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker.d.ts +11 -0
- package/shared/gipi-components/datepicker/mat-datepicker/month-view.d.ts +120 -0
- package/shared/gipi-components/datepicker/mat-datepicker/multi-year-view.d.ts +85 -0
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-adapter.d.ts +225 -0
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-formats.d.ts +20 -0
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-adapter.d.ts +76 -0
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-formats.d.ts +9 -0
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/platform.d.ts +33 -0
- package/shared/gipi-components/datepicker/mat-datepicker/year-view.d.ts +97 -0
- package/shared/gipi-components/dom/connected-overlay-scroll-handler.d.ts +9 -0
- package/shared/gipi-components/dom/dom-handler.d.ts +85 -0
- package/shared/gipi-components/dropdown-menu/dropdown-menu.component.d.ts +36 -0
- package/shared/gipi-components/expansion-panel/expansion-panel.component.d.ts +16 -0
- package/shared/gipi-components/file-drag-and-drop/file-drag-and-drop.component.d.ts +43 -0
- package/shared/gipi-components/file-drag-and-drop/shared/file-drag-and-drop.directive.d.ts +13 -0
- package/shared/gipi-components/footer/footer.component.d.ts +5 -0
- package/shared/gipi-components/form-field/form-field.component.d.ts +61 -0
- package/shared/gipi-components/helpful-tip/helpful-tip.component.d.ts +13 -0
- package/shared/gipi-components/infinite-scroll/infinite-scroll.directive.d.ts +27 -0
- package/shared/gipi-components/input-checkbox/input-checkbox.component.d.ts +28 -0
- package/shared/gipi-components/input-currency/input-currency.component.d.ts +48 -0
- package/shared/gipi-components/input-monthpicker/input-monthpicker.component.d.ts +89 -0
- package/shared/gipi-components/input-select/input-select.component.d.ts +120 -0
- package/shared/gipi-components/input-select-enum/input-select-enum.component.d.ts +65 -0
- package/shared/gipi-components/input-select-listbox/input-select-listbox.component.d.ts +85 -0
- package/shared/gipi-components/input-select-paged/input-search/input-search.component.d.ts +77 -0
- package/shared/gipi-components/input-select-paged/input-select-paged.component.d.ts +66 -0
- package/shared/gipi-components/input-select-radio/input-select-radio.component.d.ts +53 -0
- package/shared/gipi-components/layout-grid/col.directive.d.ts +38 -0
- package/shared/gipi-components/layout-grid/row.directive.d.ts +28 -0
- package/shared/gipi-components/layout-grid/services/breakpoint.service.d.ts +30 -0
- package/shared/gipi-components/layout-grid/services/resize.service.d.ts +17 -0
- package/shared/gipi-components/month-year-picker/calendar-month-year/calendar-month-year.component.d.ts +37 -0
- package/shared/gipi-components/month-year-picker/mont-year-picker.module.d.ts +2 -0
- package/shared/gipi-components/month-year-picker/month-year-picker.component.d.ts +104 -0
- package/shared/gipi-components/notification/notification.component.d.ts +21 -0
- package/shared/gipi-components/novelties/novelties.component.d.ts +22 -0
- package/shared/gipi-components/overlay/overlay.component.d.ts +113 -0
- package/shared/gipi-components/overlay/shared/overlay-service.d.ts +6 -0
- package/shared/gipi-components/overlay/shared/overlay_options.d.ts +50 -0
- package/shared/gipi-components/password-requeriments/password-requeriments.component.d.ts +27 -0
- package/shared/gipi-components/popover/popover.component.d.ts +133 -0
- package/shared/gipi-components/popover/shared/popover-animations.d.ts +13 -0
- package/shared/gipi-components/popover/shared/popover-errors.d.ts +14 -0
- package/shared/gipi-components/popover/shared/popover-interfaces.d.ts +43 -0
- package/shared/gipi-components/popover/shared/popover-target.d.ts +5 -0
- package/shared/gipi-components/popover/shared/popover-trigger.d.ts +140 -0
- package/shared/gipi-components/popover/shared/popover-types.d.ts +4 -0
- package/shared/gipi-components/radio-group/radio-group.component.d.ts +33 -0
- package/shared/gipi-components/range-page/range-page.component.d.ts +55 -0
- package/shared/gipi-components/range-slider/range-slider.component.d.ts +57 -0
- package/shared/gipi-components/select/select.component.d.ts +45 -0
- package/shared/gipi-components/select-button/select-button.component.d.ts +39 -0
- package/shared/gipi-components/sidebar/container/container.component.d.ts +15 -0
- package/shared/gipi-components/sidebar/sidenav/sidenav.component.d.ts +40 -0
- package/shared/gipi-components/stepper/stepper.component.d.ts +8 -0
- package/shared/gipi-components/table/components/table-body/table-body.component.d.ts +36 -0
- package/shared/gipi-components/table/components/table-footer/table-footer.component.d.ts +5 -0
- package/shared/gipi-components/table/components/table-header/table-header.component.d.ts +28 -0
- package/shared/gipi-components/table/components/table-pagination/shared/paginate.pipe.d.ts +40 -0
- package/shared/gipi-components/table/components/table-pagination/shared/pagination-controls.directive.d.ts +81 -0
- package/shared/gipi-components/table/components/table-pagination/shared/pagination-instance.d.ts +24 -0
- package/shared/gipi-components/table/components/table-pagination/shared/pagination.service.d.ts +45 -0
- package/shared/gipi-components/table/components/table-pagination/table-pagination.component.d.ts +21 -0
- package/shared/gipi-components/table/components/table-progress-bar/table-progress-bar.component.d.ts +5 -0
- package/shared/gipi-components/table/models/pipe-transform.model.d.ts +3 -0
- package/shared/gipi-components/table/models/sort.model.d.ts +10 -0
- package/shared/gipi-components/table/models/sorted-column.model.d.ts +6 -0
- package/shared/gipi-components/table/models/table-column-builder.model.d.ts +52 -0
- package/shared/gipi-components/table/models/table-column.model.d.ts +74 -0
- package/shared/gipi-components/table/table.component.d.ts +37 -0
- package/shared/gipi-components/table/types/sort-direction.type.d.ts +1 -0
- package/shared/gipi-components/table/types/sort.type.d.ts +1 -0
- package/shared/gipi-components/template/template.directive.d.ts +8 -0
- package/shared/gipi-components/toolbar/toolbar.component.d.ts +11 -0
- package/shared/gipi-components/top-nav/top-nav.component.d.ts +8 -0
- package/shared/gipi-components/user-profile/user-profile.component.d.ts +24 -0
- package/shared/material.module.d.ts +2 -0
- package/shared/shared.module.d.ts +6 -0
- package/shared.d.ts +35 -0
- package/README.md +0 -38
- package/_ITSS-NG-CI-CD.yml +0 -53
- package/_ITSS-NG-CI-PR.yml +0 -53
- package/angular-cli.json +0 -42
- package/azure-pipelines.yml +0 -35
- package/projects/itss-ng/ng-package.json +0 -7
- package/projects/itss-ng/package.json +0 -25
@@ -0,0 +1,670 @@
|
|
1
|
+
import { __assign, __decorate, __metadata, __param } from "tslib";
|
2
|
+
import { animate, animation, style, transition, trigger, useAnimation } from '@angular/animations';
|
3
|
+
import { DOCUMENT } from '@angular/common';
|
4
|
+
import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, Inject, Input, NgZone, OnDestroy, OnInit, Output, QueryList, Renderer2, TemplateRef, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';
|
5
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
6
|
+
import { ObjectUtil } from '../../../core/utils/object.util';
|
7
|
+
import ZIndexUtils from '../../../core/utils/zindex.util';
|
8
|
+
import { GIPINgConfig } from '../../api/gipi-ng-config';
|
9
|
+
import { GIPIConnectedOverlayScrollHandler } from '../dom/connected-overlay-scroll-handler';
|
10
|
+
import { GIPIDomHandler } from '../dom/dom-handler';
|
11
|
+
import { GIPITemplateDirective } from '../template/template.directive';
|
12
|
+
import { GIPIOverlayService } from './shared/overlay-service';
|
13
|
+
var showOverlayContentAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{showTransitionParams}}')]);
|
14
|
+
var hideOverlayContentAnimation = animation([animate('{{hideTransitionParams}}', style({ transform: '{{transform}}', opacity: 0 }))]);
|
15
|
+
/** @dynamic */
|
16
|
+
var GIPIOverlayComponent = /** @class */ (function () {
|
17
|
+
function GIPIOverlayComponent(_document, _config, _zone, elementRef, renderer, overlayService) {
|
18
|
+
this._document = _document;
|
19
|
+
this._config = _config;
|
20
|
+
this._zone = _zone;
|
21
|
+
this.elementRef = elementRef;
|
22
|
+
this.renderer = renderer;
|
23
|
+
this.overlayService = overlayService;
|
24
|
+
this.modalVisible = false;
|
25
|
+
this.isOverlayClicked = false;
|
26
|
+
this.isOverlayContentClicked = false;
|
27
|
+
this.transformOptions = {
|
28
|
+
default: 'scaleY(0.8)',
|
29
|
+
center: 'scale(0.7)',
|
30
|
+
top: 'translate3d(0px, -100%, 0px)',
|
31
|
+
'top-start': 'translate3d(0px, -100%, 0px)',
|
32
|
+
'top-end': 'translate3d(0px, -100%, 0px)',
|
33
|
+
bottom: 'translate3d(0px, 100%, 0px)',
|
34
|
+
'bottom-start': 'translate3d(0px, 100%, 0px)',
|
35
|
+
'bottom-end': 'translate3d(0px, 100%, 0px)',
|
36
|
+
left: 'translate3d(-100%, 0px, 0px)',
|
37
|
+
'left-start': 'translate3d(-100%, 0px, 0px)',
|
38
|
+
'left-end': 'translate3d(-100%, 0px, 0px)',
|
39
|
+
right: 'translate3d(100%, 0px, 0px)',
|
40
|
+
'right-start': 'translate3d(100%, 0px, 0px)',
|
41
|
+
'right-end': 'translate3d(100%, 0px, 0px)'
|
42
|
+
};
|
43
|
+
this._visible = false;
|
44
|
+
this.visibleChange = new EventEmitter();
|
45
|
+
this.onBeforeShow = new EventEmitter();
|
46
|
+
this.onShow = new EventEmitter();
|
47
|
+
this.onBeforeHide = new EventEmitter();
|
48
|
+
this.onHide = new EventEmitter();
|
49
|
+
this.onAnimationStart = new EventEmitter();
|
50
|
+
this.onAnimationDone = new EventEmitter();
|
51
|
+
this._window = this._document.defaultView;
|
52
|
+
}
|
53
|
+
GIPIOverlayComponent_1 = GIPIOverlayComponent;
|
54
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "visible", {
|
55
|
+
get: function () {
|
56
|
+
return this._visible;
|
57
|
+
},
|
58
|
+
set: function (value) {
|
59
|
+
this._visible = value;
|
60
|
+
if (this._visible && !this.modalVisible) {
|
61
|
+
this.modalVisible = true;
|
62
|
+
}
|
63
|
+
},
|
64
|
+
enumerable: false,
|
65
|
+
configurable: true
|
66
|
+
});
|
67
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "mode", {
|
68
|
+
get: function () {
|
69
|
+
var _a;
|
70
|
+
return this._mode || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.mode);
|
71
|
+
},
|
72
|
+
set: function (value) {
|
73
|
+
this._mode = value;
|
74
|
+
},
|
75
|
+
enumerable: false,
|
76
|
+
configurable: true
|
77
|
+
});
|
78
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "style", {
|
79
|
+
get: function () {
|
80
|
+
var _a, _b;
|
81
|
+
return ObjectUtil.merge(this._style, this.modal ? (_a = this.overlayResponsiveOptions) === null || _a === void 0 ? void 0 : _a.style : (_b = this.overlayOptions) === null || _b === void 0 ? void 0 : _b.style);
|
82
|
+
},
|
83
|
+
set: function (value) {
|
84
|
+
this._style = value;
|
85
|
+
},
|
86
|
+
enumerable: false,
|
87
|
+
configurable: true
|
88
|
+
});
|
89
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "styleClass", {
|
90
|
+
get: function () {
|
91
|
+
var _a, _b;
|
92
|
+
return ObjectUtil.merge(this._styleClass, this.modal ? (_a = this.overlayResponsiveOptions) === null || _a === void 0 ? void 0 : _a.styleClass : (_b = this.overlayOptions) === null || _b === void 0 ? void 0 : _b.styleClass);
|
93
|
+
},
|
94
|
+
set: function (value) {
|
95
|
+
this._styleClass = value;
|
96
|
+
},
|
97
|
+
enumerable: false,
|
98
|
+
configurable: true
|
99
|
+
});
|
100
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "contentStyle", {
|
101
|
+
get: function () {
|
102
|
+
var _a, _b;
|
103
|
+
return ObjectUtil.merge(this._contentStyle, this.modal ? (_a = this.overlayResponsiveOptions) === null || _a === void 0 ? void 0 : _a.contentStyle : (_b = this.overlayOptions) === null || _b === void 0 ? void 0 : _b.contentStyle);
|
104
|
+
},
|
105
|
+
set: function (value) {
|
106
|
+
this._contentStyle = value;
|
107
|
+
},
|
108
|
+
enumerable: false,
|
109
|
+
configurable: true
|
110
|
+
});
|
111
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "contentStyleClass", {
|
112
|
+
get: function () {
|
113
|
+
var _a, _b;
|
114
|
+
return ObjectUtil.merge(this._contentStyleClass, this.modal ? (_a = this.overlayResponsiveOptions) === null || _a === void 0 ? void 0 : _a.contentStyleClass : (_b = this.overlayOptions) === null || _b === void 0 ? void 0 : _b.contentStyleClass);
|
115
|
+
},
|
116
|
+
set: function (value) {
|
117
|
+
this._contentStyleClass = value;
|
118
|
+
},
|
119
|
+
enumerable: false,
|
120
|
+
configurable: true
|
121
|
+
});
|
122
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "target", {
|
123
|
+
get: function () {
|
124
|
+
var _a;
|
125
|
+
var value = this._target || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.target);
|
126
|
+
return (value === undefined) ? '@prev' : value;
|
127
|
+
},
|
128
|
+
set: function (value) {
|
129
|
+
this._target = value;
|
130
|
+
},
|
131
|
+
enumerable: false,
|
132
|
+
configurable: true
|
133
|
+
});
|
134
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "appendTo", {
|
135
|
+
get: function () {
|
136
|
+
var _a;
|
137
|
+
return this._appendTo || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.appendTo);
|
138
|
+
},
|
139
|
+
set: function (value) {
|
140
|
+
this._appendTo = value;
|
141
|
+
},
|
142
|
+
enumerable: false,
|
143
|
+
configurable: true
|
144
|
+
});
|
145
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "autoZIndex", {
|
146
|
+
get: function () {
|
147
|
+
var _a;
|
148
|
+
var value = this._autoZIndex || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.autoZIndex);
|
149
|
+
return (value === undefined) ? true : value;
|
150
|
+
},
|
151
|
+
set: function (value) {
|
152
|
+
this._autoZIndex = value;
|
153
|
+
},
|
154
|
+
enumerable: false,
|
155
|
+
configurable: true
|
156
|
+
});
|
157
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "baseZIndex", {
|
158
|
+
get: function () {
|
159
|
+
var _a;
|
160
|
+
var value = this._baseZIndex || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.baseZIndex);
|
161
|
+
return (value === undefined) ? 0 : value;
|
162
|
+
},
|
163
|
+
set: function (value) {
|
164
|
+
this._baseZIndex = value;
|
165
|
+
},
|
166
|
+
enumerable: false,
|
167
|
+
configurable: true
|
168
|
+
});
|
169
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "showTransitionOptions", {
|
170
|
+
get: function () {
|
171
|
+
var _a;
|
172
|
+
var value = this._showTransitionOptions || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.showTransitionOptions);
|
173
|
+
return (value === undefined) ? '.12s cubic-bezier(0, 0, 0.2, 1)' : value;
|
174
|
+
},
|
175
|
+
set: function (value) {
|
176
|
+
this._showTransitionOptions = value;
|
177
|
+
},
|
178
|
+
enumerable: false,
|
179
|
+
configurable: true
|
180
|
+
});
|
181
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "hideTransitionOptions", {
|
182
|
+
get: function () {
|
183
|
+
var _a;
|
184
|
+
var value = this._hideTransitionOptions || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.hideTransitionOptions);
|
185
|
+
return (value === undefined) ? '.1s linear' : value;
|
186
|
+
},
|
187
|
+
set: function (value) {
|
188
|
+
this._hideTransitionOptions = value;
|
189
|
+
},
|
190
|
+
enumerable: false,
|
191
|
+
configurable: true
|
192
|
+
});
|
193
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "listener", {
|
194
|
+
get: function () {
|
195
|
+
var _a;
|
196
|
+
return this._listener || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.listener);
|
197
|
+
},
|
198
|
+
set: function (value) {
|
199
|
+
this._listener = value;
|
200
|
+
},
|
201
|
+
enumerable: false,
|
202
|
+
configurable: true
|
203
|
+
});
|
204
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "responsive", {
|
205
|
+
get: function () {
|
206
|
+
var _a;
|
207
|
+
return this._responsive || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.responsive);
|
208
|
+
},
|
209
|
+
set: function (val) {
|
210
|
+
this._responsive = val;
|
211
|
+
},
|
212
|
+
enumerable: false,
|
213
|
+
configurable: true
|
214
|
+
});
|
215
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "options", {
|
216
|
+
get: function () {
|
217
|
+
return this._options;
|
218
|
+
},
|
219
|
+
set: function (val) {
|
220
|
+
this._options = val;
|
221
|
+
},
|
222
|
+
enumerable: false,
|
223
|
+
configurable: true
|
224
|
+
});
|
225
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "documentClick", {
|
226
|
+
get: function () {
|
227
|
+
return this._documentClick;
|
228
|
+
},
|
229
|
+
set: function (val) {
|
230
|
+
this._documentClick = val;
|
231
|
+
},
|
232
|
+
enumerable: false,
|
233
|
+
configurable: true
|
234
|
+
});
|
235
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "modal", {
|
236
|
+
get: function () {
|
237
|
+
var _a, _b;
|
238
|
+
return this.mode === 'modal' || (this.overlayResponsiveOptions && ((_a = this._window) === null || _a === void 0 ? void 0 : _a.matchMedia(((_b = this.overlayResponsiveOptions.media) === null || _b === void 0 ? void 0 : _b.replace('@media', '')) || "(max-width: " + this.overlayResponsiveOptions.breakpoint + ")").matches));
|
239
|
+
},
|
240
|
+
enumerable: false,
|
241
|
+
configurable: true
|
242
|
+
});
|
243
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "overlayMode", {
|
244
|
+
get: function () {
|
245
|
+
return this.mode || (this.modal ? 'modal' : 'overlay');
|
246
|
+
},
|
247
|
+
enumerable: false,
|
248
|
+
configurable: true
|
249
|
+
});
|
250
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "overlayOptions", {
|
251
|
+
get: function () {
|
252
|
+
var _a;
|
253
|
+
return __assign(__assign({}, (_a = this._config) === null || _a === void 0 ? void 0 : _a.overlayOptions), this.options); // TODO: Melhorar o desempenho
|
254
|
+
},
|
255
|
+
enumerable: false,
|
256
|
+
configurable: true
|
257
|
+
});
|
258
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "overlayResponsiveOptions", {
|
259
|
+
get: function () {
|
260
|
+
var _a;
|
261
|
+
return __assign(__assign({}, (_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.responsive), this.responsive); // TODO: Melhorar o desempenho
|
262
|
+
},
|
263
|
+
enumerable: false,
|
264
|
+
configurable: true
|
265
|
+
});
|
266
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "overlayResponsiveDirection", {
|
267
|
+
get: function () {
|
268
|
+
var _a;
|
269
|
+
return ((_a = this.overlayResponsiveOptions) === null || _a === void 0 ? void 0 : _a.direction) || 'center';
|
270
|
+
},
|
271
|
+
enumerable: false,
|
272
|
+
configurable: true
|
273
|
+
});
|
274
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "overlayEl", {
|
275
|
+
get: function () {
|
276
|
+
var _a;
|
277
|
+
return (_a = this.overlayViewChild) === null || _a === void 0 ? void 0 : _a.nativeElement;
|
278
|
+
},
|
279
|
+
enumerable: false,
|
280
|
+
configurable: true
|
281
|
+
});
|
282
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "contentEl", {
|
283
|
+
get: function () {
|
284
|
+
var _a;
|
285
|
+
return (_a = this.contentViewChild) === null || _a === void 0 ? void 0 : _a.nativeElement;
|
286
|
+
},
|
287
|
+
enumerable: false,
|
288
|
+
configurable: true
|
289
|
+
});
|
290
|
+
Object.defineProperty(GIPIOverlayComponent.prototype, "targetEl", {
|
291
|
+
get: function () {
|
292
|
+
var _a;
|
293
|
+
return GIPIDomHandler.getTargetElement(this.target, (_a = this.elementRef) === null || _a === void 0 ? void 0 : _a.nativeElement);
|
294
|
+
},
|
295
|
+
enumerable: false,
|
296
|
+
configurable: true
|
297
|
+
});
|
298
|
+
GIPIOverlayComponent.prototype.ngOnInit = function () { };
|
299
|
+
GIPIOverlayComponent.prototype.ngAfterContentInit = function () {
|
300
|
+
var _this = this;
|
301
|
+
if (!ObjectUtil.isNull(this.templates)) {
|
302
|
+
this.templates.forEach(function (item) {
|
303
|
+
switch (item.getType()) {
|
304
|
+
case 'content': {
|
305
|
+
_this.contentTemplate = item.template;
|
306
|
+
break;
|
307
|
+
}
|
308
|
+
default: {
|
309
|
+
_this.contentTemplate = item.template;
|
310
|
+
break;
|
311
|
+
}
|
312
|
+
}
|
313
|
+
});
|
314
|
+
}
|
315
|
+
};
|
316
|
+
GIPIOverlayComponent.prototype.ngOnDestroy = function () {
|
317
|
+
this.hide(this.overlayEl, true);
|
318
|
+
if (this.overlayEl) {
|
319
|
+
GIPIDomHandler.appendOverlay(this.overlayEl, this.targetEl, this.appendTo);
|
320
|
+
ZIndexUtils.clear(this.overlayEl);
|
321
|
+
}
|
322
|
+
if (this.scrollHandler) {
|
323
|
+
this.scrollHandler.destroy();
|
324
|
+
this.scrollHandler = null;
|
325
|
+
}
|
326
|
+
this.unbindListeners();
|
327
|
+
};
|
328
|
+
GIPIOverlayComponent.prototype.show = function (overlay, isFocus) {
|
329
|
+
var _a;
|
330
|
+
if (isFocus === void 0) { isFocus = false; }
|
331
|
+
this.onVisibleChange(true);
|
332
|
+
this.handleEvents('onShow', { overlay: overlay || this.overlayEl, target: this.targetEl, mode: this.overlayMode });
|
333
|
+
isFocus && GIPIDomHandler.focus(this.targetEl);
|
334
|
+
this.modal && GIPIDomHandler.addClass((_a = this._document) === null || _a === void 0 ? void 0 : _a.body, 'overflow-hidden');
|
335
|
+
};
|
336
|
+
GIPIOverlayComponent.prototype.hide = function (overlay, isFocus) {
|
337
|
+
var _a;
|
338
|
+
if (isFocus === void 0) { isFocus = false; }
|
339
|
+
if (!this.visible) {
|
340
|
+
return;
|
341
|
+
}
|
342
|
+
else {
|
343
|
+
this.onVisibleChange(false);
|
344
|
+
this.handleEvents('onHide', { overlay: overlay || this.overlayEl, target: this.targetEl, mode: this.overlayMode });
|
345
|
+
isFocus && GIPIDomHandler.focus(this.targetEl);
|
346
|
+
this.modal && GIPIDomHandler.removeClass((_a = this._document) === null || _a === void 0 ? void 0 : _a.body, 'overflow-hidden');
|
347
|
+
}
|
348
|
+
};
|
349
|
+
GIPIOverlayComponent.prototype.alignOverlay = function () {
|
350
|
+
!this.modal && GIPIDomHandler.alignOverlay(this.overlayEl, this.targetEl, this.appendTo);
|
351
|
+
};
|
352
|
+
GIPIOverlayComponent.prototype.onVisibleChange = function (visible) {
|
353
|
+
this._visible = visible;
|
354
|
+
this.visibleChange.emit(visible);
|
355
|
+
};
|
356
|
+
GIPIOverlayComponent.prototype.onOverlayClick = function (event) {
|
357
|
+
this.isOverlayClicked = true;
|
358
|
+
};
|
359
|
+
GIPIOverlayComponent.prototype.onOverlayContentClick = function (event) {
|
360
|
+
this.overlayService.add({
|
361
|
+
originalEvent: event,
|
362
|
+
target: this.targetEl
|
363
|
+
});
|
364
|
+
this.isOverlayContentClicked = true;
|
365
|
+
};
|
366
|
+
GIPIOverlayComponent.prototype.onOverlayContentAnimationStart = function (event) {
|
367
|
+
var _a;
|
368
|
+
switch (event.toState) {
|
369
|
+
case 'visible': {
|
370
|
+
this.handleEvents('onBeforeShow', { overlay: this.overlayEl, target: this.targetEl, mode: this.overlayMode });
|
371
|
+
if (this.autoZIndex) {
|
372
|
+
ZIndexUtils.set(this.overlayMode, this.overlayEl, this.baseZIndex + ((_a = this._config) === null || _a === void 0 ? void 0 : _a.zIndex[this.overlayMode]));
|
373
|
+
}
|
374
|
+
GIPIDomHandler.appendOverlay(this.overlayEl, this.appendTo === 'body' ? this._document.body : this.appendTo, this.appendTo);
|
375
|
+
this.alignOverlay();
|
376
|
+
break;
|
377
|
+
}
|
378
|
+
case 'void': {
|
379
|
+
this.handleEvents('onBeforeHide', { overlay: this.overlayEl, target: this.targetEl, mode: this.overlayMode });
|
380
|
+
this.modal && GIPIDomHandler.addClass(this.overlayEl, 'component-overlay-leave');
|
381
|
+
break;
|
382
|
+
}
|
383
|
+
}
|
384
|
+
this.handleEvents('onAnimationStart', event);
|
385
|
+
};
|
386
|
+
GIPIOverlayComponent.prototype.onOverlayContentAnimationDone = function (event) {
|
387
|
+
var container = this.overlayEl || event.element.parentElement;
|
388
|
+
switch (event.toState) {
|
389
|
+
case 'visible': {
|
390
|
+
this.show(container, true);
|
391
|
+
this.bindListeners();
|
392
|
+
break;
|
393
|
+
}
|
394
|
+
case 'void': {
|
395
|
+
this.hide(container, true);
|
396
|
+
this.unbindListeners();
|
397
|
+
GIPIDomHandler.appendOverlay(this.overlayEl, this.targetEl, this.appendTo);
|
398
|
+
ZIndexUtils.clear(container);
|
399
|
+
this.modalVisible = false;
|
400
|
+
break;
|
401
|
+
}
|
402
|
+
}
|
403
|
+
this.handleEvents('onAnimationDone', event);
|
404
|
+
};
|
405
|
+
GIPIOverlayComponent.prototype.handleEvents = function (name, params) {
|
406
|
+
var _a, _b, _c;
|
407
|
+
this[name].emit(params);
|
408
|
+
this.options && this.options[name] && this.options[name](params);
|
409
|
+
((_a = this._config) === null || _a === void 0 ? void 0 : _a.overlayOptions) && ((_b = this._config) === null || _b === void 0 ? void 0 : _b.overlayOptions)[name] && ((_c = this._config) === null || _c === void 0 ? void 0 : _c.overlayOptions)[name](params);
|
410
|
+
};
|
411
|
+
GIPIOverlayComponent.prototype.bindListeners = function () {
|
412
|
+
this.bindScrollListener();
|
413
|
+
this.bindDocumentClickListener();
|
414
|
+
this.bindDocumentResizeListener();
|
415
|
+
this.bindDocumentKeyboardListener();
|
416
|
+
};
|
417
|
+
GIPIOverlayComponent.prototype.unbindListeners = function () {
|
418
|
+
this.unbindScrollListener();
|
419
|
+
this.unbindDocumentClickListener();
|
420
|
+
this.unbindDocumentResizeListener();
|
421
|
+
this.unbindDocumentKeyboardListener();
|
422
|
+
};
|
423
|
+
GIPIOverlayComponent.prototype.bindScrollListener = function () {
|
424
|
+
var _this = this;
|
425
|
+
if (!this.scrollHandler) {
|
426
|
+
this.scrollHandler = new GIPIConnectedOverlayScrollHandler(this.targetEl, function (event) {
|
427
|
+
var valid = _this.listener
|
428
|
+
? _this.listener(event, { type: 'scroll', mode: _this.overlayMode, valid: true })
|
429
|
+
: true;
|
430
|
+
valid && _this.hide(event, true);
|
431
|
+
});
|
432
|
+
}
|
433
|
+
this.scrollHandler.bindScrollListener();
|
434
|
+
};
|
435
|
+
GIPIOverlayComponent.prototype.unbindScrollListener = function () {
|
436
|
+
if (this.scrollHandler) {
|
437
|
+
this.scrollHandler.unbindScrollListener();
|
438
|
+
}
|
439
|
+
};
|
440
|
+
GIPIOverlayComponent.prototype.bindDocumentClickListener = function () {
|
441
|
+
var _this = this;
|
442
|
+
if (!this.documentClickListener) {
|
443
|
+
this.documentClickListener = this.renderer.listen(this._document, 'click', function (event) {
|
444
|
+
var isTargetClicked = _this.targetEl && (_this.targetEl.isSameNode(event.target) || (!_this.isOverlayClicked && _this.targetEl.contains(event.target)));
|
445
|
+
var isDocumentClicked = _this.documentClick ? _this.documentClick() : false;
|
446
|
+
var isOutsideClicked = !isTargetClicked && !_this.isOverlayContentClicked && !isDocumentClicked;
|
447
|
+
var valid = _this.listener
|
448
|
+
? _this.listener(event, { type: 'outside', mode: _this.overlayMode, valid: event.which !== 3 && isOutsideClicked })
|
449
|
+
: isOutsideClicked;
|
450
|
+
valid && _this.hide(event);
|
451
|
+
_this.isOverlayClicked = _this.isOverlayContentClicked = false;
|
452
|
+
});
|
453
|
+
}
|
454
|
+
};
|
455
|
+
GIPIOverlayComponent.prototype.unbindDocumentClickListener = function () {
|
456
|
+
if (this.documentClickListener) {
|
457
|
+
this.documentClickListener();
|
458
|
+
this.documentClickListener = null;
|
459
|
+
}
|
460
|
+
};
|
461
|
+
GIPIOverlayComponent.prototype.bindDocumentResizeListener = function () {
|
462
|
+
var _this = this;
|
463
|
+
if (!this.documentResizeListener) {
|
464
|
+
this.documentResizeListener = this.renderer.listen(this._window, 'resize', function (event) {
|
465
|
+
var valid = _this.listener
|
466
|
+
? _this.listener(event, { type: 'resize', mode: _this.overlayMode, valid: !GIPIDomHandler.isTouchDevice() })
|
467
|
+
: !GIPIDomHandler.isTouchDevice();
|
468
|
+
valid && _this.hide(event, true);
|
469
|
+
});
|
470
|
+
}
|
471
|
+
};
|
472
|
+
GIPIOverlayComponent.prototype.unbindDocumentResizeListener = function () {
|
473
|
+
if (this.documentResizeListener) {
|
474
|
+
this.documentResizeListener();
|
475
|
+
this.documentResizeListener = null;
|
476
|
+
}
|
477
|
+
};
|
478
|
+
GIPIOverlayComponent.prototype.bindDocumentKeyboardListener = function () {
|
479
|
+
var _this = this;
|
480
|
+
if (this.documentKeyboardListener) {
|
481
|
+
return;
|
482
|
+
}
|
483
|
+
this._zone.runOutsideAngular(function () {
|
484
|
+
_this.documentKeyboardListener = _this.renderer.listen(_this._window, 'keydown', function (event) {
|
485
|
+
if (!_this.overlayOptions.hideOnEscape || event.keyCode !== 27) {
|
486
|
+
return;
|
487
|
+
}
|
488
|
+
var valid = _this.listener
|
489
|
+
? _this.listener(event, { type: 'keydown', mode: _this.overlayMode, valid: !GIPIDomHandler.isTouchDevice() })
|
490
|
+
: !GIPIDomHandler.isTouchDevice();
|
491
|
+
if (valid) {
|
492
|
+
_this._zone.run(function () {
|
493
|
+
_this.hide(event, true);
|
494
|
+
});
|
495
|
+
}
|
496
|
+
});
|
497
|
+
});
|
498
|
+
};
|
499
|
+
GIPIOverlayComponent.prototype.unbindDocumentKeyboardListener = function () {
|
500
|
+
if (this.documentKeyboardListener) {
|
501
|
+
this.documentKeyboardListener();
|
502
|
+
this.documentKeyboardListener = null;
|
503
|
+
}
|
504
|
+
};
|
505
|
+
var GIPIOverlayComponent_1;
|
506
|
+
GIPIOverlayComponent.ctorParameters = function () { return [
|
507
|
+
{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
508
|
+
{ type: GIPINgConfig },
|
509
|
+
{ type: NgZone },
|
510
|
+
{ type: ElementRef },
|
511
|
+
{ type: Renderer2 },
|
512
|
+
{ type: GIPIOverlayService }
|
513
|
+
]; };
|
514
|
+
__decorate([
|
515
|
+
Input(),
|
516
|
+
__metadata("design:type", Boolean),
|
517
|
+
__metadata("design:paramtypes", [Boolean])
|
518
|
+
], GIPIOverlayComponent.prototype, "visible", null);
|
519
|
+
__decorate([
|
520
|
+
Input(),
|
521
|
+
__metadata("design:type", String),
|
522
|
+
__metadata("design:paramtypes", [String])
|
523
|
+
], GIPIOverlayComponent.prototype, "mode", null);
|
524
|
+
__decorate([
|
525
|
+
Input(),
|
526
|
+
__metadata("design:type", Object),
|
527
|
+
__metadata("design:paramtypes", [Object])
|
528
|
+
], GIPIOverlayComponent.prototype, "style", null);
|
529
|
+
__decorate([
|
530
|
+
Input(),
|
531
|
+
__metadata("design:type", String),
|
532
|
+
__metadata("design:paramtypes", [String])
|
533
|
+
], GIPIOverlayComponent.prototype, "styleClass", null);
|
534
|
+
__decorate([
|
535
|
+
Input(),
|
536
|
+
__metadata("design:type", Object),
|
537
|
+
__metadata("design:paramtypes", [Object])
|
538
|
+
], GIPIOverlayComponent.prototype, "contentStyle", null);
|
539
|
+
__decorate([
|
540
|
+
Input(),
|
541
|
+
__metadata("design:type", String),
|
542
|
+
__metadata("design:paramtypes", [String])
|
543
|
+
], GIPIOverlayComponent.prototype, "contentStyleClass", null);
|
544
|
+
__decorate([
|
545
|
+
Input(),
|
546
|
+
__metadata("design:type", Object),
|
547
|
+
__metadata("design:paramtypes", [Object])
|
548
|
+
], GIPIOverlayComponent.prototype, "target", null);
|
549
|
+
__decorate([
|
550
|
+
Input(),
|
551
|
+
__metadata("design:type", Object),
|
552
|
+
__metadata("design:paramtypes", [Object])
|
553
|
+
], GIPIOverlayComponent.prototype, "appendTo", null);
|
554
|
+
__decorate([
|
555
|
+
Input(),
|
556
|
+
__metadata("design:type", Boolean),
|
557
|
+
__metadata("design:paramtypes", [Boolean])
|
558
|
+
], GIPIOverlayComponent.prototype, "autoZIndex", null);
|
559
|
+
__decorate([
|
560
|
+
Input(),
|
561
|
+
__metadata("design:type", Number),
|
562
|
+
__metadata("design:paramtypes", [Number])
|
563
|
+
], GIPIOverlayComponent.prototype, "baseZIndex", null);
|
564
|
+
__decorate([
|
565
|
+
Input(),
|
566
|
+
__metadata("design:type", String),
|
567
|
+
__metadata("design:paramtypes", [String])
|
568
|
+
], GIPIOverlayComponent.prototype, "showTransitionOptions", null);
|
569
|
+
__decorate([
|
570
|
+
Input(),
|
571
|
+
__metadata("design:type", String),
|
572
|
+
__metadata("design:paramtypes", [String])
|
573
|
+
], GIPIOverlayComponent.prototype, "hideTransitionOptions", null);
|
574
|
+
__decorate([
|
575
|
+
Input(),
|
576
|
+
__metadata("design:type", Object),
|
577
|
+
__metadata("design:paramtypes", [Object])
|
578
|
+
], GIPIOverlayComponent.prototype, "listener", null);
|
579
|
+
__decorate([
|
580
|
+
Input(),
|
581
|
+
__metadata("design:type", Object),
|
582
|
+
__metadata("design:paramtypes", [Object])
|
583
|
+
], GIPIOverlayComponent.prototype, "responsive", null);
|
584
|
+
__decorate([
|
585
|
+
Input(),
|
586
|
+
__metadata("design:type", Object),
|
587
|
+
__metadata("design:paramtypes", [Object])
|
588
|
+
], GIPIOverlayComponent.prototype, "options", null);
|
589
|
+
__decorate([
|
590
|
+
Input(),
|
591
|
+
__metadata("design:type", Function),
|
592
|
+
__metadata("design:paramtypes", [Function])
|
593
|
+
], GIPIOverlayComponent.prototype, "documentClick", null);
|
594
|
+
__decorate([
|
595
|
+
Output(),
|
596
|
+
__metadata("design:type", EventEmitter)
|
597
|
+
], GIPIOverlayComponent.prototype, "visibleChange", void 0);
|
598
|
+
__decorate([
|
599
|
+
Output(),
|
600
|
+
__metadata("design:type", EventEmitter)
|
601
|
+
], GIPIOverlayComponent.prototype, "onBeforeShow", void 0);
|
602
|
+
__decorate([
|
603
|
+
Output(),
|
604
|
+
__metadata("design:type", EventEmitter)
|
605
|
+
], GIPIOverlayComponent.prototype, "onShow", void 0);
|
606
|
+
__decorate([
|
607
|
+
Output(),
|
608
|
+
__metadata("design:type", EventEmitter)
|
609
|
+
], GIPIOverlayComponent.prototype, "onBeforeHide", void 0);
|
610
|
+
__decorate([
|
611
|
+
Output(),
|
612
|
+
__metadata("design:type", EventEmitter)
|
613
|
+
], GIPIOverlayComponent.prototype, "onHide", void 0);
|
614
|
+
__decorate([
|
615
|
+
Output(),
|
616
|
+
__metadata("design:type", EventEmitter)
|
617
|
+
], GIPIOverlayComponent.prototype, "onAnimationStart", void 0);
|
618
|
+
__decorate([
|
619
|
+
Output(),
|
620
|
+
__metadata("design:type", EventEmitter)
|
621
|
+
], GIPIOverlayComponent.prototype, "onAnimationDone", void 0);
|
622
|
+
__decorate([
|
623
|
+
ContentChildren(GIPITemplateDirective),
|
624
|
+
__metadata("design:type", QueryList)
|
625
|
+
], GIPIOverlayComponent.prototype, "templates", void 0);
|
626
|
+
__decorate([
|
627
|
+
ViewChild('overlay', { static: false }),
|
628
|
+
__metadata("design:type", ElementRef)
|
629
|
+
], GIPIOverlayComponent.prototype, "overlayViewChild", void 0);
|
630
|
+
__decorate([
|
631
|
+
ViewChild('content', { static: false }),
|
632
|
+
__metadata("design:type", ElementRef)
|
633
|
+
], GIPIOverlayComponent.prototype, "contentViewChild", void 0);
|
634
|
+
GIPIOverlayComponent = GIPIOverlayComponent_1 = __decorate([
|
635
|
+
Component({
|
636
|
+
selector: "gipi-overlay",
|
637
|
+
exportAs: 'gipiOverlay',
|
638
|
+
template: "<div *ngIf=\"modalVisible\"\n #overlay\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n role=\"menu\"\n [ngClass]=\"{\n 'overlay': true,\n 'overlay-modal component-overlay component-overlay-enter': modal,\n 'overlay-center': modal && overlayResponsiveDirection === 'center',\n 'overlay-top': modal && overlayResponsiveDirection === 'top',\n 'overlay-top-start': modal && overlayResponsiveDirection === 'top-start',\n 'overlay-top-end': modal && overlayResponsiveDirection === 'top-end',\n 'overlay-bottom': modal && overlayResponsiveDirection === 'bottom',\n 'overlay-bottom-start': modal && overlayResponsiveDirection === 'bottom-start',\n 'overlay-bottom-end': modal && overlayResponsiveDirection === 'bottom-end',\n 'overlay-left': modal && overlayResponsiveDirection === 'left',\n 'overlay-left-start': modal && overlayResponsiveDirection === 'left-start',\n 'overlay-left-end': modal && overlayResponsiveDirection === 'left-end',\n 'overlay-right': modal && overlayResponsiveDirection === 'right',\n 'overlay-right-start': modal && overlayResponsiveDirection === 'right-start',\n 'overlay-right-end': modal && overlayResponsiveDirection === 'right-end'\n }\"\n (click)=\"onOverlayClick($event)\">\n <div *ngIf=\"visible\"\n #content\n [ngStyle]=\"contentStyle\"\n [class]=\"contentStyleClass\"\n [ngClass]=\"'overlay-content'\"\n (click)=\"onOverlayContentClick($event)\"\n [@overlayContentAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions, transform: transformOptions[modal ? overlayResponsiveDirection : 'default'] } }\"\n (@overlayContentAnimation.start)=\"onOverlayContentAnimationStart($event)\"\n (@overlayContentAnimation.done)=\"onOverlayContentAnimationDone($event)\">\n <ng-content> </ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: { mode: overlayMode } }\"></ng-container>\n </div>\n</div>\n",
|
639
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
640
|
+
encapsulation: ViewEncapsulation.None,
|
641
|
+
animations: [
|
642
|
+
trigger('overlayContentAnimation', [
|
643
|
+
transition(':enter', [useAnimation(showOverlayContentAnimation)]),
|
644
|
+
transition(':leave', [useAnimation(hideOverlayContentAnimation)])
|
645
|
+
])
|
646
|
+
],
|
647
|
+
providers: [
|
648
|
+
{
|
649
|
+
provide: NG_VALUE_ACCESSOR,
|
650
|
+
useExisting: forwardRef(function () { return GIPIOverlayComponent_1; }),
|
651
|
+
multi: true
|
652
|
+
}
|
653
|
+
],
|
654
|
+
host: {
|
655
|
+
'class': 'gipi-overlay',
|
656
|
+
},
|
657
|
+
styles: [".overlay{position:absolute;top:0;left:0;margin-top:2px}.overlay-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%}.component-overlay{background-color:rgba(0,0,0,.4);transition-duration:.15s}.overlay-content{transform-origin:inherit;padding:12px;background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.overlay-modal>.overlay-content{z-index:1;width:90%}.overlay-top{align-items:flex-start}.overlay-top-start{align-items:flex-start;justify-content:flex-start}.overlay-top-end{align-items:flex-start;justify-content:flex-end}.overlay-bottom{align-items:flex-end}.overlay-bottom-start{align-items:flex-end;justify-content:flex-start}.overlay-bottom-end{align-items:flex-end;justify-content:flex-end}.overlay-left{justify-content:flex-start}.overlay-left-start{justify-content:flex-start;align-items:flex-start}.overlay-left-end{justify-content:flex-start;align-items:flex-end}.overlay-right{justify-content:flex-end}.overlay-right-start{justify-content:flex-end;align-items:flex-start}.overlay-right-end{justify-content:flex-end;align-items:flex-end}.overflow-hidden{overflow:hidden}.component-overlay-enter{-webkit-animation:150ms forwards component-overlay-enter-animation;animation:150ms forwards component-overlay-enter-animation}.component-overlay-leave{-webkit-animation:150ms forwards component-overlay-leave-animation;animation:150ms forwards component-overlay-leave-animation}@-webkit-keyframes component-overlay-enter-animation{from{background-color:transparent}to{background-color:#00000066}}@keyframes component-overlay-enter-animation{from{background-color:transparent}to{background-color:#00000066}}@-webkit-keyframes component-overlay-leave-animation{from{background-color:#00000066}to{background-color:transparent}}@keyframes component-overlay-leave-animation{from{background-color:#00000066}to{background-color:transparent}}"]
|
658
|
+
}),
|
659
|
+
__param(0, Inject(DOCUMENT)),
|
660
|
+
__metadata("design:paramtypes", [Document,
|
661
|
+
GIPINgConfig,
|
662
|
+
NgZone,
|
663
|
+
ElementRef,
|
664
|
+
Renderer2,
|
665
|
+
GIPIOverlayService])
|
666
|
+
], GIPIOverlayComponent);
|
667
|
+
return GIPIOverlayComponent;
|
668
|
+
}());
|
669
|
+
export { GIPIOverlayComponent };
|
670
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJzaGFyZWQvZ2lwaS1jb21wb25lbnRzL292ZXJsYXkvb3ZlcmxheS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBOEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvSSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9QLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLFdBQVcsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRzlELElBQU0sMkJBQTJCLEdBQStCLFNBQVMs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Y0M7U0EvY1ksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQsIEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhLCBhbmltYXRlLCBhbmltYXRpb24sIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyLCB1c2VBbmltYXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE9iamVjdFV0aWwgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3V0aWxzL29iamVjdC51dGlsJztcbmltcG9ydCBaSW5kZXhVdGlscyBmcm9tICcuLi8uLi8uLi9jb3JlL3V0aWxzL3ppbmRleC51dGlsJztcbmltcG9ydCB7IEdJUElOZ0NvbmZpZyB9IGZyb20gJy4uLy4uL2FwaS9naXBpLW5nLWNvbmZpZyc7XG5pbXBvcnQgeyBHSVBJQ29ubmVjdGVkT3ZlcmxheVNjcm9sbEhhbmRsZXIgfSBmcm9tICcuLi9kb20vY29ubmVjdGVkLW92ZXJsYXktc2Nyb2xsLWhhbmRsZXInO1xuaW1wb3J0IHsgR0lQSURvbUhhbmRsZXIgfSBmcm9tICcuLi9kb20vZG9tLWhhbmRsZXInO1xuaW1wb3J0IHsgR0lQSVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vdGVtcGxhdGUvdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEdJUElPdmVybGF5U2VydmljZSB9IGZyb20gJy4vc2hhcmVkL292ZXJsYXktc2VydmljZSc7XG5pbXBvcnQgeyBPdmVybGF5TW9kZVR5cGUsIE92ZXJsYXlPcHRpb25zLCBSZXNwb25zaXZlT3ZlcmxheURpcmVjdGlvblR5cGUsIFJlc3BvbnNpdmVPdmVybGF5T3B0aW9ucyB9IGZyb20gJy4vc2hhcmVkL292ZXJsYXlfb3B0aW9ucyc7XG5cbmNvbnN0IHNob3dPdmVybGF5Q29udGVudEFuaW1hdGlvbjogQW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGEgPSBhbmltYXRpb24oW3N0eWxlKHsgdHJhbnNmb3JtOiAne3t0cmFuc2Zvcm19fScsIG9wYWNpdHk6IDAgfSksIGFuaW1hdGUoJ3t7c2hvd1RyYW5zaXRpb25QYXJhbXN9fScpXSk7XG5jb25zdCBoaWRlT3ZlcmxheUNvbnRlbnRBbmltYXRpb246IEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhID0gYW5pbWF0aW9uKFthbmltYXRlKCd7e2hpZGVUcmFuc2l0aW9uUGFyYW1zfX0nLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3t7dHJhbnNmb3JtfX0nLCBvcGFjaXR5OiAwIH0pKV0pO1xuXG4vKiogQGR5bmFtaWMgKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgZ2lwaS1vdmVybGF5YCxcbiAgICBleHBvcnRBczogJ2dpcGlPdmVybGF5JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vb3ZlcmxheS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vb3ZlcmxheS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdvdmVybGF5Q29udGVudEFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFt1c2VBbmltYXRpb24oc2hvd092ZXJsYXlDb250ZW50QW5pbWF0aW9uKV0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW3VzZUFuaW1hdGlvbihoaWRlT3ZlcmxheUNvbnRlbnRBbmltYXRpb24pXSlcbiAgICAgICAgXSlcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpOiB0eXBlb2YgR0lQSU92ZXJsYXlDb21wb25lbnQgPT4gR0lQSU92ZXJsYXlDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnZ2lwaS1vdmVybGF5JyxcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEdJUElPdmVybGF5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgbW9kYWxWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBpc092ZXJsYXlDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBpc092ZXJsYXlDb250ZW50Q2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgc2Nyb2xsSGFuZGxlcjogYW55O1xuXG4gICAgZG9jdW1lbnRDbGlja0xpc3RlbmVyOiBhbnk7XG5cbiAgICBkb2N1bWVudFJlc2l6ZUxpc3RlbmVyOiBhbnk7XG5cbiAgICBwcml2YXRlIGRvY3VtZW50S2V5Ym9hcmRMaXN0ZW5lcjogVm9pZEZ1bmN0aW9uIHwgbnVsbDtcblxuICAgIHB1YmxpYyB0cmFuc2Zvcm1PcHRpb25zOiBhbnkgPSB7XG4gICAgICAgIGRlZmF1bHQ6ICdzY2FsZVkoMC44KScsXG4gICAgICAgIGNlbnRlcjogJ3NjYWxlKDAuNyknLFxuICAgICAgICB0b3A6ICd0cmFuc2xhdGUzZCgwcHgsIC0xMDAlLCAwcHgpJyxcbiAgICAgICAgJ3RvcC1zdGFydCc6ICd0cmFuc2xhdGUzZCgwcHgsIC0xMDAlLCAwcHgpJyxcbiAgICAgICAgJ3RvcC1lbmQnOiAndHJhbnNsYXRlM2QoMHB4LCAtMTAwJSwgMHB4KScsXG4gICAgICAgIGJvdHRvbTogJ3RyYW5zbGF0ZTNkKDBweCwgMTAwJSwgMHB4KScsXG4gICAgICAgICdib3R0b20tc3RhcnQnOiAndHJhbnNsYXRlM2QoMHB4LCAxMDAlLCAwcHgpJyxcbiAgICAgICAgJ2JvdHRvbS1lbmQnOiAndHJhbnNsYXRlM2QoMHB4LCAxMDAlLCAwcHgpJyxcbiAgICAgICAgbGVmdDogJ3RyYW5zbGF0ZTNkKC0xMDAlLCAwcHgsIDBweCknLFxuICAgICAgICAnbGVmdC1zdGFydCc6ICd0cmFuc2xhdGUzZCgtMTAwJSwgMHB4LCAwcHgpJyxcbiAgICAgICAgJ2xlZnQtZW5kJzogJ3RyYW5zbGF0ZTNkKC0xMDAlLCAwcHgsIDBweCknLFxuICAgICAgICByaWdodDogJ3RyYW5zbGF0ZTNkKDEwMCUsIDBweCwgMHB4KScsXG4gICAgICAgICdyaWdodC1zdGFydCc6ICd0cmFuc2xhdGUzZCgxMDAlLCAwcHgsIDBweCknLFxuICAgICAgICAncmlnaHQtZW5kJzogJ3RyYW5zbGF0ZTNkKDEwMCUsIDBweCwgMHB4KSdcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBfd2luZG93OiBXaW5kb3cgfCBudWxsO1xuXG4gICAgcHJpdmF0ZSBfdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgICB9XG4gICAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLl92aXNpYmxlICYmICF0aGlzLm1vZGFsVmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5tb2RhbFZpc2libGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbW9kZTogT3ZlcmxheU1vZGVUeXBlIHwgc3RyaW5nO1xuICAgIEBJbnB1dCgpIGdldCBtb2RlKCk6IE92ZXJsYXlNb2RlVHlwZSB8IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tb2RlIHx8IHRoaXMub3ZlcmxheU9wdGlvbnM/Lm1vZGU7XG4gICAgfVxuICAgIHNldCBtb2RlKHZhbHVlOiBPdmVybGF5TW9kZVR5cGUgfCBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbW9kZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3N0eWxlOiBhbnk7XG4gICAgQElucHV0KCkgZ2V0IHN0eWxlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiBPYmplY3RVdGlsLm1lcmdlKHRoaXMuX3N0eWxlLCB0aGlzLm1vZGFsID8gdGhpcy5vdmVybGF5UmVzcG9uc2l2ZU9wdGlvbnM/LnN0eWxlIDogdGhpcy5vdmVybGF5T3B0aW9ucz8uc3R5bGUpO1xuICAgIH1cbiAgICBzZXQgc3R5bGUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9zdHlsZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3N0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBnZXQgc3R5bGVDbGFzcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gT2JqZWN0VXRpbC5tZXJnZSh0aGlzLl9zdHlsZUNsYXNzLCB0aGlzLm1vZGFsID8gdGhpcy5vdmVybGF5UmVzcG9uc2l2ZU9wdGlvbnM/LnN0eWxlQ2xhc3MgOiB0aGlzLm92ZXJsYXlPcHRpb25zPy5zdHlsZUNsYXNzKTtcbiAgICB9XG4gICAgc2V0IHN0eWxlQ2xhc3ModmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zdHlsZUNsYXNzID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29udGVudFN0eWxlOiBhbnk7XG4gICAgQElucHV0KCkgZ2V0IGNvbnRlbnRTdHlsZSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gT2JqZWN0VXRpbC5tZXJnZSh0aGlzLl9jb250ZW50U3R5bGUsIHRoaXMubW9kYWwgPyB0aGlzLm92ZXJsYXlSZXNwb25zaXZlT3B0aW9ucz8uY29udGVudFN0eWxlIDogdGhpcy5vdmVybGF5T3B0aW9ucz8uY29udGVudFN0eWxlKTtcbiAgICB9XG4gICAgc2V0IGNvbnRlbnRTdHlsZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnRTdHlsZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbnRlbnRTdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgZ2V0IGNvbnRlbnRTdHlsZUNsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBPYmplY3RVdGlsLm1lcmdlKHRoaXMuX2NvbnRlbnRTdHlsZUNsYXNzLCB0aGlzLm1vZGFsID8gdGhpcy5vdmVybGF5UmVzcG9uc2l2ZU9wdGlvbnM/LmNvbnRlbnRTdHlsZUNsYXNzIDogdGhpcy5vdmVybGF5T3B0aW9ucz8uY29udGVudFN0eWxlQ2xhc3MpO1xuICAgIH1cbiAgICBzZXQgY29udGVudFN0eWxlQ2xhc3ModmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9jb250ZW50U3R5bGVDbGFzcyA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3RhcmdldDogYW55O1xuICAgIEBJbnB1dCgpIGdldCB0YXJnZXQoKTogYW55IHtcbiAgICAgICAgY29uc3QgdmFsdWU6IGFueSA9IHRoaXMuX3RhcmdldCB8fCB0aGlzLm92ZXJsYXlPcHRpb25zPy50YXJnZXQ7XG4gICAgICAgIHJldHVybiAodmFsdWUgPT09IHVuZGVmaW5lZCkgPyAnQHByZXYnIDogdmFsdWU7XG4gICAgfVxuICAgIHNldCB0YXJnZXQodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl90YXJnZXQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hcHBlbmRUbzogJ2JvZHknIHwgSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgZ2V0IGFwcGVuZFRvKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBlbmRUbyB8fCB0aGlzLm92ZXJsYXlPcHRpb25zPy5hcHBlbmRUbztcbiAgICB9XG4gICAgc2V0IGFwcGVuZFRvKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fYXBwZW5kVG8gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hdXRvWkluZGV4OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIGdldCBhdXRvWkluZGV4KCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2YWx1ZTogYm9vbGVhbiA9IHRoaXMuX2F1dG9aSW5kZXggfHwgdGhpcy5vdmVybGF5T3B0aW9ucz8uYXV0b1pJbmRleDtcbiAgICAgICAgcmV0dXJuICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSA/IHRydWUgOiB2YWx1ZTtcbiAgICB9XG4gICAgc2V0IGF1dG9aSW5kZXgodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fYXV0b1pJbmRleCA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Jhc2VaSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBnZXQgYmFzZVpJbmRleCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZTogbnVtYmVyID0gdGhpcy5fYmFzZVpJbmRleCB8fCB0aGlzLm92ZXJsYXlPcHRpb25zPy5iYXNlWkluZGV4O1xuICAgICAgICByZXR1cm4gKHZhbHVlID09PSB1bmRlZmluZWQpID8gMCA6IHZhbHVlO1xuICAgIH1cbiAgICBzZXQgYmFzZVpJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2Jhc2VaSW5kZXggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zaG93VHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBnZXQgc2hvd1RyYW5zaXRpb25PcHRpb25zKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSB0aGlzLl9zaG93VHJhbnNpdGlvbk9wdGlvbnMgfHwgdGhpcy5vdmVybGF5T3B0aW9ucz8uc2hvd1RyYW5zaXRpb25PcHRpb25zO1xuICAgICAgICByZXR1cm4gKHZhbHVlID09PSB1bmRlZmluZWQpID8gJy4xMnMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknIDogdmFsdWU7XG4gICAgfVxuICAgIHNldCBzaG93VHJhbnNpdGlvbk9wdGlvbnModmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zaG93VHJhbnNpdGlvbk9wdGlvbnMgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9oaWRlVHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBnZXQgaGlkZVRyYW5zaXRpb25PcHRpb25zKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSB0aGlzLl9oaWRlVHJhbnNpdGlvbk9wdGlvbnMgfHwgdGhpcy5vdmVybGF5T3B0aW9ucz8uaGlkZVRyYW5zaXRpb25PcHRpb25zO1xuICAgICAgICByZXR1cm4gKHZhbHVlID09PSB1bmRlZmluZWQpID8gJy4xcyBsaW5lYXInIDogdmFsdWU7XG4gICAgfVxuICAgIHNldCBoaWRlVHJhbnNpdGlvbk9wdGlvbnModmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9oaWRlVHJhbnNpdGlvbk9wdGlvbnMgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9saXN0ZW5lcjogYW55O1xuICAgIEBJbnB1dCgpIGdldCBsaXN0ZW5lcigpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGlzdGVuZXIgfHwgdGhpcy5vdmVybGF5T3B0aW9ucz8ubGlzdGVuZXI7XG4gICAgfVxuICAgIHNldCBsaXN0ZW5lcih2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX2xpc3RlbmVyID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVzcG9uc2l2ZTogUmVzcG9uc2l2ZU92ZXJsYXlPcHRpb25zIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIGdldCByZXNwb25zaXZlKCk6IFJlc3BvbnNpdmVPdmVybGF5T3B0aW9ucyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNwb25zaXZlIHx8IHRoaXMub3ZlcmxheU9wdGlvbnM/LnJlc3BvbnNpdmU7XG4gICAgfVxuICAgIHNldCByZXNwb25zaXZlKHZhbDogUmVzcG9uc2l2ZU92ZXJsYXlPcHRpb25zIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX3Jlc3BvbnNpdmUgPSB2YWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb3B0aW9uczogT3ZlcmxheU9wdGlvbnMgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgZ2V0IG9wdGlvbnMoKTogT3ZlcmxheU9wdGlvbnMgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgICB9XG4gICAgc2V0IG9wdGlvbnModmFsOiBPdmVybGF5T3B0aW9ucyB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gdmFsO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2RvY3VtZW50Q2xpY2s6ICgpID0+IGJvb2xlYW47XG4gICAgQElucHV0KCkgZ2V0IGRvY3VtZW50Q2xpY2soKTogKCkgPT4gYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kb2N1bWVudENsaWNrO1xuICAgIH1cbiAgICBzZXQgZG9jdW1lbnRDbGljayh2YWw6ICgpID0+IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZG9jdW1lbnRDbGljayA9IHZhbDtcbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIG9uQmVmb3JlU2hvdzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIG9uU2hvdzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIG9uQmVmb3JlSGlkZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIG9uSGlkZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIG9uQW5pbWF0aW9uU3RhcnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBvbkFuaW1hdGlvbkRvbmU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihHSVBJVGVtcGxhdGVEaXJlY3RpdmUpIHRlbXBsYXRlczogUXVlcnlMaXN0PGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBAVmlld0NoaWxkKCdvdmVybGF5JywgeyBzdGF0aWM6IGZhbHNlIH0pIG92ZXJsYXlWaWV3Q2hpbGQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgICBAVmlld0NoaWxkKCdjb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRlbnRWaWV3Q2hpbGQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgICBnZXQgbW9kYWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdtb2RhbCcgfHwgKHRoaXMub3ZlcmxheVJlc3BvbnNpdmVPcHRpb25zICYmIHRoaXMuX3dpbmRvdz8ubWF0Y2hNZWRpYSh0aGlzLm92ZXJsYXlSZXNwb25zaXZlT3B0aW9ucy5tZWRpYT8ucmVwbGFjZSgnQG1lZGlhJywgJycpIHx8IGAobWF4LXdpZHRoOiAke3RoaXMub3ZlcmxheVJlc3BvbnNpdmVPcHRpb25zLmJyZWFrcG9pbnR9KWApLm1hdGNoZXMpO1xuICAgIH1cblxuICAgIGdldCBvdmVybGF5TW9kZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlIHx8ICh0aGlzLm1vZGFsID8gJ21vZGFsJyA6ICdvdmVybGF5Jyk7XG4gICAgfVxuXG4gICAgZ2V0IG92ZXJsYXlPcHRpb25zKCk6IE92ZXJsYXlPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHsgLi4udGhpcy5fY29uZmlnPy5vdmVybGF5T3B0aW9ucywgLi4udGhpcy5vcHRpb25zIH07IC8vIFRPRE86IE1lbGhvcmFyIG8gZGVzZW1wZW5ob1xuICAgIH1cblxuICAgIGdldCBvdmVybGF5UmVzcG9uc2l2ZU9wdGlvbnMoKTogUmVzcG9uc2l2ZU92ZXJsYXlPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHsgLi4udGhpcy5vdmVybGF5T3B0aW9ucz8ucmVzcG9uc2l2ZSwgLi4udGhpcy5yZXNwb25zaXZlIH07IC8vIFRPRE86IE1lbGhvcmFyIG8gZGVzZW1wZW5ob1xuICAgIH1cblxuICAgIGdldCBvdmVybGF5UmVzcG9uc2l2ZURpcmVjdGlvbigpOiBSZXNwb25zaXZlT3ZlcmxheURpcmVjdGlvblR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5UmVzcG9uc2l2ZU9wdGlvbnM/LmRpcmVjdGlvbiB8fCAnY2VudGVyJztcbiAgICB9XG5cbiAgICBnZXQgb3ZlcmxheUVsKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRlbnRFbCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50Vmlld0NoaWxkPy5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCB0YXJnZXRFbCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gR0lQSURvbUhhbmRsZXIuZ2V0VGFyZ2V0RWxlbWVudCh0aGlzLnRhcmdldCwgdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgICAgICBwcml2YXRlIF9jb25maWc6IEdJUElOZ0NvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHB1YmxpYyBvdmVybGF5U2VydmljZTogR0lQSU92ZXJsYXlTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICB0aGlzLl93aW5kb3cgPSB0aGlzLl9kb2N1bWVudC5kZWZhdWx0VmlldztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHsgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMudGVtcGxhdGVzKSkge1xuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbnRlbnQnOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfSBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlkZSh0aGlzLm92ZXJsYXlFbCwgdHJ1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheUVsKSB7XG4gICAgICAgICAgICBHSVBJRG9tSGFuZGxlci5hcHBlbmRPdmVybGF5KHRoaXMub3ZlcmxheUVsLCB0aGlzLnRhcmdldEVsLCB0aGlzLmFwcGVuZFRvKTtcbiAgICAgICAgICAgIFpJbmRleFV0aWxzLmNsZWFyKHRoaXMub3ZlcmxheUVsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51bmJpbmRMaXN0ZW5lcnMoKTtcbiAgICB9XG5cbiAgICBzaG93KG92ZXJsYXk/OiBIVE1MRWxlbWVudCwgaXNGb2N1czogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25WaXNpYmxlQ2hhbmdlKHRydWUpO1xuICAgICAgICB0aGlzLmhhbmRsZUV2ZW50cygnb25TaG93JywgeyBvdmVybGF5OiBvdmVybGF5IHx8IHRoaXMub3ZlcmxheUVsLCB0YXJnZXQ6IHRoaXMudGFyZ2V0RWwsIG1vZGU6IHRoaXMub3ZlcmxheU1vZGUgfSk7XG5cbiAgICAgICAgaXNGb2N1cyAmJiBHSVBJRG9tSGFuZGxlci5mb2N1cyh0aGlzLnRhcmdldEVsKTtcbiAgICAgICAgdGhpcy5tb2RhbCAmJiBHSVBJRG9tSGFuZGxlci5hZGRDbGFzcyh0aGlzLl9kb2N1bWVudD8uYm9keSwgJ292ZXJmbG93LWhpZGRlbicpO1xuICAgIH1cblxuICAgIGhpZGUob3ZlcmxheT86IEhUTUxFbGVtZW50LCBpc0ZvY3VzOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25WaXNpYmxlQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXZlbnRzKCdvbkhpZGUnLCB7IG92ZXJsYXk6IG92ZXJsYXkgfHwgdGhpcy5vdmVybGF5RWwsIHRhcmdldDogdGhpcy50YXJnZXRFbCwgbW9kZTogdGhpcy5vdmVybGF5TW9kZSB9KTtcbiAgICAgICAgICAgIGlzRm9jdXMgJiYgR0lQSURvbUhhbmRsZXIuZm9jdXModGhpcy50YXJnZXRFbCk7XG4gICAgICAgICAgICB0aGlzLm1vZGFsICYmIEdJUElEb21IYW5kbGVyLnJlbW92ZUNsYXNzKHRoaXMuX2RvY3VtZW50Py5ib2R5LCAnb3ZlcmZsb3ctaGlkZGVuJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbGlnbk92ZXJsYXkoKTogdm9pZCB7XG4gICAgICAgICF0aGlzLm1vZGFsICYmIEdJUElEb21IYW5kbGVyLmFsaWduT3ZlcmxheSh0aGlzLm92ZXJsYXlFbCwgdGhpcy50YXJnZXRFbCwgdGhpcy5hcHBlbmRUbyk7XG4gICAgfVxuXG4gICAgb25WaXNpYmxlQ2hhbmdlKHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmlzaWJsZSA9IHZpc2libGU7XG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZpc2libGUpO1xuICAgIH1cblxuICAgIG9uT3ZlcmxheUNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc092ZXJsYXlDbGlja2VkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbk92ZXJsYXlDb250ZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5hZGQoe1xuICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXG4gICAgICAgICAgICB0YXJnZXQ6IHRoaXMudGFyZ2V0RWxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5pc092ZXJsYXlDb250ZW50Q2xpY2tlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgb25PdmVybGF5Q29udGVudEFuaW1hdGlvblN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LnRvU3RhdGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3Zpc2libGUnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFdmVudHMoJ29uQmVmb3JlU2hvdycsIHsgb3ZlcmxheTogdGhpcy5vdmVybGF5RWwsIHRhcmdldDogdGhpcy50YXJnZXRFbCwgbW9kZTogdGhpcy5vdmVybGF5TW9kZSB9KTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dG9aSW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgWkluZGV4VXRpbHMuc2V0KHRoaXMub3ZlcmxheU1vZGUsIHRoaXMub3ZlcmxheUVsLCB0aGlzLmJhc2VaSW5kZXggKyB0aGlzLl9jb25maWc/LnpJbmRleFt0aGlzLm92ZXJsYXlNb2RlXSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgR0lQSURvbUhhbmRsZXIuYXBwZW5kT3ZlcmxheSh0aGlzLm92ZXJsYXlFbCwgdGhpcy5hcHBlbmRUbyA9PT0gJ2JvZHknID8gdGhpcy5fZG9jdW1lbnQuYm9keSA6IHRoaXMuYXBwZW5kVG8sIHRoaXMuYXBwZW5kVG8pO1xuICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25PdmVybGF5KCk7XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH0gY2FzZSAndm9pZCc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUV2ZW50cygnb25CZWZvcmVIaWRlJywgeyBvdmVybGF5OiB0aGlzLm92ZXJsYXlFbCwgdGFyZ2V0OiB0aGlzLnRhcmdldEVsLCBtb2RlOiB0aGlzLm92ZXJsYXlNb2RlIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMubW9kYWwgJiYgR0lQSURvbUhhbmRsZXIuYWRkQ2xhc3ModGhpcy5vdmVybGF5RWwsICdjb21wb25lbnQtb3ZlcmxheS1sZWF2ZScpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5oYW5kbGVFdmVudHMoJ29uQW5pbWF0aW9uU3RhcnQnLCBldmVudCk7XG4gICAgfVxuXG4gICAgb25PdmVybGF5Q29udGVudEFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lcjogYW55ID0gdGhpcy5vdmVybGF5RWwgfHwgZXZlbnQuZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LnRvU3RhdGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3Zpc2libGUnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93KGNvbnRhaW5lciwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5iaW5kTGlzdGVuZXJzKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGNhc2UgJ3ZvaWQnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlKGNvbnRhaW5lciwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy51bmJpbmRMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgICAgICBHSVBJRG9tSGFuZGxlci5hcHBlbmRPdmVybGF5KHRoaXMub3ZlcmxheUVsLCB0aGlzLnRhcmdldEVsLCB0aGlzLmFwcGVuZFRvKTtcbiAgICAgICAgICAgICAgICBaSW5kZXhVdGlscy5jbGVhcihjb250YWluZXIpO1xuICAgICAgICAgICAgICAgIHRoaXMubW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhbmRsZUV2ZW50cygnb25BbmltYXRpb25Eb25lJywgZXZlbnQpO1xuICAgIH1cblxuICAgIGhhbmRsZUV2ZW50cyhuYW1lOiBzdHJpbmcsIHBhcmFtczogYW55KTogdm9pZCB7XG4gICAgICAgICh0aGlzIGFzIGFueSlbbmFtZV0uZW1pdChwYXJhbXMpO1xuICAgICAgICB0aGlzLm9wdGlvbnMgJiYgKHRoaXMub3B0aW9ucyBhcyBhbnkpW25hbWVdICYmICh0aGlzLm9wdGlvbnMgYXMgYW55KVtuYW1lXShwYXJhbXMpO1xuICAgICAgICB0aGlzLl9jb25maWc/Lm92ZXJsYXlPcHRpb25zICYmICh0aGlzLl9jb25maWc/Lm92ZXJsYXlPcHRpb25zIGFzIGFueSlbbmFtZV0gJiYgKHRoaXMuX2NvbmZpZz8ub3ZlcmxheU9wdGlvbnMgYXMgYW55KVtuYW1lXShwYXJhbXMpO1xuICAgIH1cblxuICAgIGJpbmRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgIHRoaXMuYmluZERvY3VtZW50Q2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICB0aGlzLmJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgICAgIHRoaXMuYmluZERvY3VtZW50S2V5Ym9hcmRMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIHVuYmluZExpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgICB0aGlzLnVuYmluZERvY3VtZW50Q2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICB0aGlzLnVuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy51bmJpbmREb2N1bWVudEtleWJvYXJkTGlzdGVuZXIoKTtcbiAgICB9XG5cbiAgICBiaW5kU2Nyb2xsTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zY3JvbGxIYW5kbGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIgPSBuZXcgR0lQSUNvbm5lY3RlZE92ZXJsYXlTY3JvbGxIYW5kbGVyKHRoaXMudGFyZ2V0RWwsIChldmVudDogYW55KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsaWQ6IGFueSA9IHRoaXMubGlzdGVuZXJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmxpc3RlbmVyKGV2ZW50LCB7IHR5cGU6ICdzY3JvbGwnLCBtb2RlOiB0aGlzLm92ZXJsYXlNb2RlLCB2YWxpZDogdHJ1ZSB9KVxuICAgICAgICAgICAgICAgICAgICA6IHRydWU7XG5cbiAgICAgICAgICAgICAgICB2YWxpZCAmJiB0aGlzLmhpZGUoZXZlbnQsIHRydWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgdW5iaW5kU2Nyb2xsTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci51bmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmluZERvY3VtZW50Q2xpY2tMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLl9kb2N1bWVudCwgJ2NsaWNrJywgZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzVGFyZ2V0Q2xpY2tlZDogYW55ID0gdGhpcy50YXJnZXRFbCAmJiAodGhpcy50YXJnZXRFbC5pc1NhbWVOb2RlKGV2ZW50LnRhcmdldCkgfHwgKCF0aGlzLmlzT3ZlcmxheUNsaWNrZWQgJiYgdGhpcy50YXJnZXRFbC5jb250YWlucyhldmVudC50YXJnZXQpKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNEb2N1bWVudENsaWNrZWQ6IGJvb2xlYW4gPSB0aGlzLmRvY3VtZW50Q2xpY2sgPyB0aGlzLmRvY3VtZW50Q2xpY2soKSA6IGZhbHNlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzT3V0c2lkZUNsaWNrZWQ6IGJvb2xlYW4gPSAhaXNUYXJnZXRDbGlja2VkICYmICF0aGlzLmlzT3ZlcmxheUNvbnRlbnRDbGlja2VkICYmICFpc0RvY3VtZW50Q2xpY2tlZDtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkOiBhbnkgPSB0aGlzLmxpc3RlbmVyXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5saXN0ZW5lcihldmVudCwgeyB0eXBlOiAnb3V0c2lkZScsIG1vZGU6IHRoaXMub3ZlcmxheU1vZGUsIHZhbGlkOiBldmVudC53aGljaCAhPT0gMyAmJiBpc091dHNpZGVDbGlja2VkIH0pXG4gICAgICAgICAgICAgICAgICAgIDogaXNPdXRzaWRlQ2xpY2tlZDtcblxuICAgICAgICAgICAgICAgIHZhbGlkICYmIHRoaXMuaGlkZShldmVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc092ZXJsYXlDbGlja2VkID0gdGhpcy5pc092ZXJsYXlDb250ZW50Q2xpY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJpbmREb2N1bWVudENsaWNrTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRDbGlja0xpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFJlc2l6ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5fd2luZG93LCAncmVzaXplJywgZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkOiBhbnkgPSB0aGlzLmxpc3RlbmVyXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5saXN0ZW5lcihldmVudCwgeyB0eXBlOiAncmVzaXplJywgbW9kZTogdGhpcy5vdmVybGF5TW9kZSwgdmFsaWQ6ICFHSVBJRG9tSGFuZGxlci5pc1RvdWNoRGV2aWNlKCkgfSlcbiAgICAgICAgICAgICAgICAgICAgOiAhR0lQSURvbUhhbmRsZXIuaXNUb3VjaERldmljZSgpO1xuXG4gICAgICAgICAgICAgICAgdmFsaWQgJiYgdGhpcy5oaWRlKGV2ZW50LCB0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5iaW5kRG9jdW1lbnRSZXNpemVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmluZERvY3VtZW50S2V5Ym9hcmRMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRLZXlib2FyZExpc3RlbmVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRLZXlib2FyZExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5fd2luZG93LCAna2V5ZG93bicsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5vdmVybGF5T3B0aW9ucy5oaWRlT25Fc2NhcGUgfHwgZXZlbnQua2V5Q29kZSAhPT0gMjcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkOiBhbnkgPSB0aGlzLmxpc3RlbmVyXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5saXN0ZW5lcihldmVudCwgeyB0eXBlOiAna2V5ZG93bicsIG1vZGU6IHRoaXMub3ZlcmxheU1vZGUsIHZhbGlkOiAhR0lQSURvbUhhbmRsZXIuaXNUb3VjaERldmljZSgpIH0pXG4gICAgICAgICAgICAgICAgICAgIDogIUdJUElEb21IYW5kbGVyLmlzVG91Y2hEZXZpY2UoKTtcblxuICAgICAgICAgICAgICAgIGlmICh2YWxpZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl96b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGUoZXZlbnQsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdW5iaW5kRG9jdW1lbnRLZXlib2FyZExpc3RlbmVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kb2N1bWVudEtleWJvYXJkTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRLZXlib2FyZExpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50S2V5Ym9hcmRMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
|