@updevs/components 1.0.0-alpha.2 → 1.0.0-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/assets/styles/_bootstrap-components.scss +18 -1
- package/assets/styles/_seven-columns.scss +73 -0
- package/assets/styles/_updevs.scss +4 -0
- package/assets/styles/_variables.scss +1 -1
- package/assets/styles/utils/_colors.scss +1 -1
- package/badge/badge-config.model.d.ts +14 -0
- package/badge/badge.component.d.ts +24 -0
- package/badge/badge.config.d.ts +12 -0
- package/badge/public-api.d.ts +3 -0
- package/badge/upd-badge.module.d.ts +8 -0
- package/button/button.component.d.ts +61 -0
- package/button/upd-button.module.d.ts +10 -0
- package/calendar/calendar.component.d.ts +127 -0
- package/calendar/components/calendar-body/calendar-body.component.d.ts +263 -0
- package/calendar/components/calendar-header/calendar-header.component.d.ts +57 -0
- package/calendar/components/calendar-month-view/calendar-month-view.component.d.ts +151 -0
- package/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.d.ts +10 -0
- package/calendar/components/calendar-year-view/calendar-year-view.component.d.ts +9 -0
- package/calendar/models/calendar-cell.model.d.ts +16 -0
- package/calendar/models/calendar-user-event.model.d.ts +4 -0
- package/calendar/models/date-range.model.d.ts +26 -0
- package/calendar/models/public-api.d.ts +2 -0
- package/calendar/public-api.d.ts +5 -0
- package/calendar/services/calendar-range-strategy.service.d.ts +35 -0
- package/calendar/services/calendar-signals.service.d.ts +24 -0
- package/calendar/services/calendar.service.d.ts +15 -0
- package/calendar/services/public-api.d.ts +1 -0
- package/calendar/tools/events-options.d.ts +12 -0
- package/calendar/tools/keyboard-tools.d.ts +9 -0
- package/calendar/tools/passive-listeners.d.ts +16 -0
- package/calendar/types/calendar-cell-class-function.type.d.ts +3 -0
- package/calendar/types/calendar-cell-css-classes.type.d.ts +3 -0
- package/calendar/types/calendar-view.type.d.ts +1 -0
- package/calendar/types/modifier-key.type.d.ts +1 -0
- package/calendar/types/public-api.d.ts +1 -0
- package/calendar/upd-calendar.module.d.ts +18 -0
- package/card/card.component.d.ts +54 -0
- package/card/directives/card-actions.directive.d.ts +7 -0
- package/card/directives/card-footer.directive.d.ts +7 -0
- package/card/directives/card-header.directive.d.ts +7 -0
- package/card/directives/card-image.directive.d.ts +7 -0
- package/card/upd-card.module.d.ts +14 -0
- package/drag-and-drop/drag-and-drop.component.d.ts +26 -0
- package/drag-and-drop/models/drag-and-drop-column.config.d.ts +8 -0
- package/drag-and-drop/models/drag-and-drop-column.model.d.ts +10 -0
- package/drag-and-drop/models/drag-and-drop-item.d.ts +7 -0
- package/drag-and-drop/models/drag-and-drop-item.model.d.ts +13 -0
- package/drag-and-drop/models/drag-and-drop.config.d.ts +6 -0
- package/drag-and-drop/models/public-api.d.ts +4 -0
- package/drag-and-drop/public-api.d.ts +3 -0
- package/drag-and-drop/upd-drag-and-drop.module.d.ts +9 -0
- package/dropdown/dropdown.component.d.ts +76 -0
- package/dropdown/models/dropdown-action-clicked.model.d.ts +6 -0
- package/dropdown/{src/models/dropdown-item.ts → models/dropdown-item.d.ts} +7 -4
- package/dropdown/{src/models/dropdown-item.type.ts → models/dropdown-item.type.d.ts} +1 -1
- package/dropdown/models/public-api.d.ts +4 -0
- package/dropdown/models/toolbar.type.d.ts +1 -0
- package/dropdown/upd-dropdown.module.d.ts +12 -0
- package/esm2022/badge/badge-config.model.mjs +14 -0
- package/esm2022/badge/badge.component.mjs +50 -0
- package/esm2022/badge/badge.config.mjs +2 -0
- package/esm2022/badge/index.mjs +2 -0
- package/esm2022/badge/public-api.mjs +4 -0
- package/esm2022/badge/upd-badge.module.mjs +24 -0
- package/esm2022/badge/updevs-components-badge.mjs +5 -0
- package/esm2022/button/button.component.mjs +157 -0
- package/esm2022/button/index.mjs +2 -0
- package/esm2022/button/public-api.mjs +3 -0
- package/esm2022/button/upd-button.module.mjs +32 -0
- package/esm2022/button/updevs-components-button.mjs +5 -0
- package/esm2022/calendar/assets/i18n/en.json +16 -0
- package/esm2022/calendar/assets/i18n/pt.json +16 -0
- package/esm2022/calendar/calendar.component.mjs +247 -0
- package/esm2022/calendar/components/calendar-body/calendar-body.component.mjs +515 -0
- package/esm2022/calendar/components/calendar-header/calendar-header.component.mjs +144 -0
- package/esm2022/calendar/components/calendar-month-view/calendar-month-view.component.mjs +423 -0
- package/esm2022/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.mjs +18 -0
- package/esm2022/calendar/components/calendar-year-view/calendar-year-view.component.mjs +17 -0
- package/esm2022/calendar/index.mjs +2 -0
- package/esm2022/calendar/models/calendar-cell.model.mjs +18 -0
- package/esm2022/calendar/models/calendar-user-event.model.mjs +2 -0
- package/esm2022/calendar/models/date-range.model.mjs +18 -0
- package/esm2022/calendar/models/public-api.mjs +3 -0
- package/esm2022/calendar/public-api.mjs +6 -0
- package/esm2022/calendar/services/calendar-range-strategy.service.mjs +99 -0
- package/esm2022/calendar/services/calendar-signals.service.mjs +47 -0
- package/esm2022/calendar/services/calendar.service.mjs +40 -0
- package/esm2022/calendar/services/public-api.mjs +2 -0
- package/esm2022/calendar/tools/events-options.mjs +14 -0
- package/esm2022/calendar/tools/keyboard-tools.mjs +14 -0
- package/esm2022/calendar/tools/passive-listeners.mjs +29 -0
- package/esm2022/calendar/types/calendar-cell-class-function.type.mjs +2 -0
- package/esm2022/calendar/types/calendar-cell-css-classes.type.mjs +2 -0
- package/esm2022/calendar/types/calendar-view.type.mjs +2 -0
- package/esm2022/calendar/types/modifier-key.type.mjs +2 -0
- package/esm2022/calendar/types/public-api.mjs +2 -0
- package/esm2022/calendar/upd-calendar.module.mjs +69 -0
- package/esm2022/calendar/updevs-components-calendar.mjs +5 -0
- package/esm2022/card/card.component.mjs +136 -0
- package/esm2022/card/directives/card-actions.directive.mjs +16 -0
- package/esm2022/card/directives/card-footer.directive.mjs +16 -0
- package/esm2022/card/directives/card-header.directive.mjs +16 -0
- package/esm2022/card/directives/card-image.directive.mjs +16 -0
- package/esm2022/card/directives/public-api.mjs +5 -0
- package/esm2022/card/index.mjs +2 -0
- package/esm2022/card/public-api.mjs +4 -0
- package/esm2022/card/types/card-state.type.mjs +2 -0
- package/esm2022/card/types/card-style.type.mjs +2 -0
- package/esm2022/card/types/hover-effect.type.mjs +2 -0
- package/esm2022/card/types/ribbon-style.type.mjs +2 -0
- package/esm2022/card/types/status-position.type.mjs +2 -0
- package/esm2022/card/upd-card.module.mjs +50 -0
- package/esm2022/card/updevs-components-card.mjs +5 -0
- package/esm2022/drag-and-drop/drag-and-drop.component.mjs +134 -0
- package/esm2022/drag-and-drop/index.mjs +2 -0
- package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +2 -0
- package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +9 -0
- package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +2 -0
- package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +14 -0
- package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +2 -0
- package/esm2022/drag-and-drop/models/public-api.mjs +5 -0
- package/esm2022/drag-and-drop/public-api.mjs +4 -0
- package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +28 -0
- package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +5 -0
- package/esm2022/dropdown/dropdown.component.mjs +182 -0
- package/esm2022/dropdown/index.mjs +2 -0
- package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +2 -0
- package/esm2022/dropdown/models/dropdown-item.mjs +2 -0
- package/esm2022/dropdown/models/dropdown-item.type.mjs +2 -0
- package/esm2022/dropdown/models/public-api.mjs +5 -0
- package/esm2022/dropdown/models/toolbar.type.mjs +2 -0
- package/esm2022/dropdown/public-api.mjs +4 -0
- package/esm2022/dropdown/upd-dropdown.module.mjs +40 -0
- package/esm2022/dropdown/updevs-components-dropdown.mjs +5 -0
- package/esm2022/form/assets/i18n/en.json +17 -0
- package/esm2022/form/assets/i18n/pt.json +17 -0
- package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +111 -0
- package/esm2022/form/form.component.mjs +122 -0
- package/esm2022/form/index.mjs +2 -0
- package/esm2022/form/models/checkbox-field.model.mjs +2 -0
- package/esm2022/form/models/checkbox-group-field.model.mjs +2 -0
- package/esm2022/form/models/dynamic-field.model.mjs +2 -0
- package/esm2022/form/models/enums/dynamic-field.type.mjs +14 -0
- package/esm2022/form/models/enums/public-api.mjs +2 -0
- package/esm2022/form/models/file-upload-field.model.mjs +2 -0
- package/esm2022/form/models/form-config.mjs +2 -0
- package/esm2022/form/models/form-row.model.mjs +2 -0
- package/esm2022/form/models/public-api.mjs +14 -0
- package/esm2022/form/models/radio-field.model.mjs +2 -0
- package/esm2022/form/models/radio-group-field.model.mjs +2 -0
- package/esm2022/form/models/select-field.model.mjs +2 -0
- package/esm2022/form/models/single-select-field.model.mjs +2 -0
- package/esm2022/form/models/textarea-field.model.mjs +2 -0
- package/esm2022/form/models/validator-config.mjs +2 -0
- package/esm2022/form/public-api.mjs +4 -0
- package/esm2022/form/tools/errors-helper.mjs +54 -0
- package/esm2022/form/upd-form.module.mjs +79 -0
- package/esm2022/form/updevs-components-form.mjs +5 -0
- package/esm2022/form-controls/abstractions/base-control.mjs +46 -0
- package/esm2022/form-controls/abstractions/index.mjs +2 -0
- package/esm2022/form-controls/abstractions/public-api.mjs +2 -0
- package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +5 -0
- package/esm2022/form-controls/checkbox/checkbox.component.mjs +51 -0
- package/esm2022/form-controls/checkbox/index.mjs +2 -0
- package/esm2022/form-controls/checkbox/public-api.mjs +3 -0
- package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +32 -0
- package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +5 -0
- package/esm2022/form-controls/date-picker/date-picker.component.mjs +147 -0
- package/esm2022/form-controls/date-picker/index.mjs +2 -0
- package/esm2022/form-controls/date-picker/public-api.mjs +3 -0
- package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +40 -0
- package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +5 -0
- package/esm2022/form-controls/file-upload/assets/i18n/en.json +15 -0
- package/esm2022/form-controls/file-upload/assets/i18n/pt.json +15 -0
- package/esm2022/form-controls/file-upload/file-upload-changed.event.mjs +2 -0
- package/esm2022/form-controls/file-upload/file-upload.component.mjs +169 -0
- package/esm2022/form-controls/file-upload/index.mjs +2 -0
- package/esm2022/form-controls/file-upload/public-api.mjs +4 -0
- package/esm2022/form-controls/file-upload/upd-file-upload.module.mjs +47 -0
- package/esm2022/form-controls/file-upload/updevs-components-form-controls-file-upload.mjs +5 -0
- package/esm2022/form-controls/input/directives/input-append.directive.mjs +16 -0
- package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +16 -0
- package/esm2022/form-controls/input/directives/public-api.mjs +3 -0
- package/esm2022/form-controls/input/index.mjs +2 -0
- package/esm2022/form-controls/input/input.component.mjs +179 -0
- package/esm2022/form-controls/input/public-api.mjs +5 -0
- package/esm2022/form-controls/input/types/input.type.mjs +2 -0
- package/esm2022/form-controls/input/types/loader-position.type.mjs +2 -0
- package/esm2022/form-controls/input/types/public-api.mjs +3 -0
- package/esm2022/form-controls/input/upd-input.module.mjs +46 -0
- package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +5 -0
- package/esm2022/form-controls/radio/index.mjs +2 -0
- package/esm2022/form-controls/radio/public-api.mjs +3 -0
- package/esm2022/form-controls/radio/radio.component.mjs +51 -0
- package/esm2022/form-controls/radio/upd-radio.module.mjs +32 -0
- package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +5 -0
- package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +76 -0
- package/esm2022/form-controls/select/components/single/select.component.mjs +72 -0
- package/esm2022/form-controls/select/index.mjs +2 -0
- package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +215 -0
- package/esm2022/form-controls/select/models/defaults.mjs +8 -0
- package/esm2022/form-controls/select/models/public-api.mjs +3 -0
- package/esm2022/form-controls/select/models/select-item.mjs +2 -0
- package/esm2022/form-controls/select/public-api.mjs +5 -0
- package/esm2022/form-controls/select/upd-select.module.mjs +57 -0
- package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +5 -0
- package/esm2022/form-controls/textarea/index.mjs +2 -0
- package/esm2022/form-controls/textarea/public-api.mjs +3 -0
- package/esm2022/form-controls/textarea/textarea.component.mjs +44 -0
- package/esm2022/form-controls/textarea/upd-textarea.module.mjs +24 -0
- package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +5 -0
- package/esm2022/form-controls/time-picker/index.mjs +2 -0
- package/esm2022/form-controls/time-picker/public-api.mjs +4 -0
- package/esm2022/form-controls/time-picker/time-picker.component.mjs +130 -0
- package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +124 -0
- package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +60 -0
- package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +5 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/layout/abstractions/base-page.component.mjs +23 -0
- package/esm2022/layout/abstractions/base.layout.mjs +31 -0
- package/esm2022/layout/abstractions/public-api.mjs +2 -0
- package/esm2022/layout/assets/i18n/en.json +27 -0
- package/esm2022/layout/assets/i18n/pt.json +27 -0
- package/esm2022/layout/index.mjs +2 -0
- package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +22 -0
- package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +50 -0
- package/esm2022/layout/layouts/public-api.mjs +5 -0
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +17 -0
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +82 -0
- package/esm2022/layout/models/login-page-config.model.mjs +20 -0
- package/esm2022/layout/models/login-page.config.mjs +2 -0
- package/esm2022/layout/models/public-api.mjs +3 -0
- package/esm2022/layout/models/security-layout-config.model.mjs +10 -0
- package/esm2022/layout/models/security-layout.config.mjs +2 -0
- package/esm2022/layout/models/upd-layout-config.model.mjs +24 -0
- package/esm2022/layout/models/upd-layout.config.mjs +2 -0
- package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +28 -0
- package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +73 -0
- package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +11 -0
- package/esm2022/layout/pages/auth-flow/login/login.component.mjs +108 -0
- package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +11 -0
- package/esm2022/layout/pages/auth-flow/public-api.mjs +6 -0
- package/esm2022/layout/pages/public-api.mjs +2 -0
- package/esm2022/layout/partials/footer/footer-copyright.directive.mjs +13 -0
- package/esm2022/layout/partials/footer/footer.component.mjs +55 -0
- package/esm2022/layout/partials/footer/footer.module.mjs +28 -0
- package/esm2022/layout/partials/footer/public-api.mjs +4 -0
- package/esm2022/layout/partials/header/header-style.type.mjs +2 -0
- package/esm2022/layout/partials/header/header.component.mjs +129 -0
- package/esm2022/layout/partials/header/header.module.mjs +40 -0
- package/esm2022/layout/partials/header/public-api.mjs +4 -0
- package/esm2022/layout/partials/page-header/page-header.component.mjs +15 -0
- package/esm2022/layout/partials/page-header/public-api.mjs +2 -0
- package/esm2022/layout/partials/public-api.mjs +5 -0
- package/esm2022/layout/partials/sidebar/public-api.mjs +2 -0
- package/esm2022/layout/partials/sidebar/sidebar.component.mjs +112 -0
- package/esm2022/layout/public-api.mjs +8 -0
- package/esm2022/layout/services/public-api.mjs +2 -0
- package/esm2022/layout/services/upd-layout-config.service.mjs +21 -0
- package/esm2022/layout/tools/layout.constants.mjs +15 -0
- package/esm2022/layout/upd-layout.module.mjs +47 -0
- package/esm2022/layout/updevs-components-layout.mjs +5 -0
- package/esm2022/lib/index.mjs +2 -0
- package/esm2022/lib/models/public-api.mjs +2 -0
- package/esm2022/lib/models/row-column-size.mjs +2 -0
- package/esm2022/lib/public-api.mjs +5 -0
- package/esm2022/lib/tools/column-size.helper.mjs +12 -0
- package/esm2022/lib/tools/public-api.mjs +2 -0
- package/esm2022/lib/types/component-size.type.mjs +2 -0
- package/esm2022/lib/types/horizontal-vertical.type.mjs +2 -0
- package/esm2022/lib/types/public-api.mjs +4 -0
- package/esm2022/lib/types/validation-status.type.mjs +2 -0
- package/esm2022/lib/upd-components.module.mjs +14 -0
- package/esm2022/link/index.mjs +2 -0
- package/esm2022/link/link.component.mjs +51 -0
- package/esm2022/link/public-api.mjs +4 -0
- package/esm2022/link/target.type.mjs +2 -0
- package/esm2022/link/upd-link.module.mjs +24 -0
- package/esm2022/link/updevs-components-link.mjs +5 -0
- package/esm2022/list/assets/i18n/en.json +9 -0
- package/esm2022/list/assets/i18n/pt.json +9 -0
- package/esm2022/list/index.mjs +2 -0
- package/esm2022/list/list.component.mjs +113 -0
- package/esm2022/list/models/badge-position.type.mjs +2 -0
- package/esm2022/list/models/list-item.mjs +2 -0
- package/esm2022/list/models/list-item.model.mjs +15 -0
- package/esm2022/list/models/public-api.mjs +3 -0
- package/esm2022/list/public-api.mjs +4 -0
- package/esm2022/list/upd-list.module.mjs +43 -0
- package/esm2022/list/updevs-components-list.mjs +5 -0
- package/esm2022/modal/assets/i18n/en.json +17 -0
- package/esm2022/modal/assets/i18n/pt.json +17 -0
- package/esm2022/modal/components/modal-container/modal-container.component.mjs +216 -0
- package/esm2022/modal/index.mjs +2 -0
- package/esm2022/modal/models/base.modal.mjs +14 -0
- package/esm2022/modal/models/modal-config.model.mjs +20 -0
- package/esm2022/modal/models/modal-ref.mjs +2 -0
- package/esm2022/modal/models/modal.config.mjs +2 -0
- package/esm2022/modal/models/public-api.mjs +4 -0
- package/esm2022/modal/public-api.mjs +4 -0
- package/esm2022/modal/services/modal-alert.service.mjs +99 -0
- package/esm2022/modal/services/modal.service.mjs +30 -0
- package/esm2022/modal/services/public-api.mjs +3 -0
- package/esm2022/modal/types/modal-footer-style.type.mjs +2 -0
- package/esm2022/modal/types/modal-size.type.mjs +2 -0
- package/esm2022/modal/upd-modal.module.mjs +89 -0
- package/esm2022/modal/updevs-components-modal.mjs +5 -0
- package/esm2022/paginator/assets/i18n/en.json +15 -0
- package/esm2022/paginator/assets/i18n/pt.json +15 -0
- package/esm2022/paginator/index.mjs +2 -0
- package/esm2022/paginator/paginator.component.mjs +66 -0
- package/esm2022/paginator/public-api.mjs +3 -0
- package/esm2022/paginator/upd-paginator.module.mjs +46 -0
- package/esm2022/paginator/updevs-components-paginator.mjs +5 -0
- package/esm2022/popover/index.mjs +2 -0
- package/esm2022/popover/popover.component.mjs +65 -0
- package/esm2022/popover/popover.directive.mjs +129 -0
- package/esm2022/popover/public-api.mjs +4 -0
- package/esm2022/popover/upd-popover.module.mjs +29 -0
- package/esm2022/popover/updevs-components-popover.mjs +5 -0
- package/esm2022/public-api.mjs +2 -0
- package/esm2022/table/abstractions/base-column.model.mjs +52 -0
- package/esm2022/table/abstractions/base.column.mjs +98 -0
- package/esm2022/table/abstractions/filters-operands.service.mjs +3 -0
- package/esm2022/table/abstractions/public-api.mjs +3 -0
- package/esm2022/table/assets/i18n/en.json +74 -0
- package/esm2022/table/assets/i18n/pt.json +74 -0
- package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +26 -0
- package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +13 -0
- package/esm2022/table/components/columns/number-column/number-column.component.mjs +13 -0
- package/esm2022/table/components/columns/text-column/text-column.component.mjs +31 -0
- package/esm2022/table/components/columns-manager/columns-manager.component.mjs +36 -0
- package/esm2022/table/components/filter-row/filter-row.component.mjs +114 -0
- package/esm2022/table/components/save-search/save-search.component.mjs +72 -0
- package/esm2022/table/components/search-section/search-section.component.mjs +93 -0
- package/esm2022/table/directives/public-api.mjs +2 -0
- package/esm2022/table/directives/table-column.directive.mjs +51 -0
- package/esm2022/table/index.mjs +2 -0
- package/esm2022/table/models/columns/boolean-column.model.mjs +22 -0
- package/esm2022/table/models/columns/date-time-column.model.mjs +16 -0
- package/esm2022/table/models/columns/guid-column.model.mjs +13 -0
- package/esm2022/table/models/columns/image-column.model.mjs +11 -0
- package/esm2022/table/models/columns/number-column.model.mjs +17 -0
- package/esm2022/table/models/columns/public-api.mjs +7 -0
- package/esm2022/table/models/columns/text-column.model.mjs +11 -0
- package/esm2022/table/models/enums/column-type.enum.mjs +15 -0
- package/esm2022/table/models/enums/public-api.mjs +2 -0
- package/esm2022/table/models/filter-item.model.mjs +2 -0
- package/esm2022/table/models/filter-operand.config.mjs +2 -0
- package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +25 -0
- package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +25 -0
- package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +31 -0
- package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +31 -0
- package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +16 -0
- package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +25 -0
- package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +45 -0
- package/esm2022/table/models/public-api.mjs +5 -0
- package/esm2022/table/models/saved-view.model.mjs +2 -0
- package/esm2022/table/models/table-config.model.mjs +21 -0
- package/esm2022/table/models/table.config.mjs +2 -0
- package/esm2022/table/models/upd-table-config.model.mjs +9 -0
- package/esm2022/table/models/upd-table.config.mjs +2 -0
- package/esm2022/table/public-api.mjs +6 -0
- package/esm2022/table/services/default-filters-operands.service.mjs +60 -0
- package/esm2022/table/services/storages/saved-views.storage.mjs +56 -0
- package/esm2022/table/services/stores/filters-operands.store.mjs +19 -0
- package/esm2022/table/services/upd-table-config.service.mjs +18 -0
- package/esm2022/table/table.component.mjs +382 -0
- package/esm2022/table/tools/filters.tools.mjs +48 -0
- package/esm2022/table/tools/table.constants.mjs +15 -0
- package/esm2022/table/upd-table.module.mjs +149 -0
- package/esm2022/table/updevs-components-table.mjs +5 -0
- package/esm2022/updevs-components.mjs +5 -0
- package/fesm2022/updevs-components-badge.mjs +91 -0
- package/fesm2022/updevs-components-badge.mjs.map +1 -0
- package/fesm2022/updevs-components-button.mjs +193 -0
- package/fesm2022/updevs-components-button.mjs.map +1 -0
- package/fesm2022/updevs-components-calendar.mjs +1711 -0
- package/fesm2022/updevs-components-calendar.mjs.map +1 -0
- package/fesm2022/updevs-components-card.mjs +238 -0
- package/fesm2022/updevs-components-card.mjs.map +1 -0
- package/fesm2022/updevs-components-drag-and-drop.mjs +185 -0
- package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -0
- package/fesm2022/updevs-components-dropdown.mjs +226 -0
- package/fesm2022/updevs-components-dropdown.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-abstractions.mjs +53 -0
- package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-checkbox.mjs +87 -0
- package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-date-picker.mjs +190 -0
- package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-file-upload.mjs +263 -0
- package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-input.mjs +253 -0
- package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-radio.mjs +87 -0
- package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-select.mjs +417 -0
- package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-textarea.mjs +72 -0
- package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-time-picker.mjs +344 -0
- package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -0
- package/fesm2022/updevs-components-form.mjs +416 -0
- package/fesm2022/updevs-components-form.mjs.map +1 -0
- package/fesm2022/updevs-components-layout.mjs +936 -0
- package/fesm2022/updevs-components-layout.mjs.map +1 -0
- package/fesm2022/updevs-components-link.mjs +79 -0
- package/fesm2022/updevs-components-link.mjs.map +1 -0
- package/fesm2022/updevs-components-list.mjs +205 -0
- package/fesm2022/updevs-components-list.mjs.map +1 -0
- package/fesm2022/updevs-components-modal.mjs +503 -0
- package/fesm2022/updevs-components-modal.mjs.map +1 -0
- package/fesm2022/updevs-components-paginator.mjs +159 -0
- package/fesm2022/updevs-components-paginator.mjs.map +1 -0
- package/fesm2022/updevs-components-popover.mjs +223 -0
- package/fesm2022/updevs-components-popover.mjs.map +1 -0
- package/fesm2022/updevs-components-table.mjs +1708 -0
- package/fesm2022/updevs-components-table.mjs.map +1 -0
- package/fesm2022/updevs-components.mjs +33 -0
- package/fesm2022/updevs-components.mjs.map +1 -0
- package/form/components/dynamic-field/dynamic-field.component.d.ts +50 -0
- package/form/form.component.d.ts +60 -0
- package/form/models/checkbox-field.model.d.ts +4 -0
- package/form/models/checkbox-group-field.model.d.ts +6 -0
- package/form/models/dynamic-field.model.d.ts +30 -0
- package/form/models/enums/dynamic-field.type.d.ts +12 -0
- package/form/models/enums/public-api.d.ts +1 -0
- package/form/models/file-upload-field.model.d.ts +16 -0
- package/form/models/form-config.d.ts +2 -0
- package/form/models/form-row.model.d.ts +8 -0
- package/form/models/public-api.d.ts +13 -0
- package/form/models/radio-field.model.d.ts +4 -0
- package/form/models/radio-group-field.model.d.ts +6 -0
- package/form/models/select-field.model.d.ts +28 -0
- package/form/models/single-select-field.model.d.ts +4 -0
- package/form/models/textarea-field.model.d.ts +10 -0
- package/form/models/validator-config.d.ts +5 -0
- package/form/public-api.d.ts +3 -0
- package/form/tools/errors-helper.d.ts +11 -0
- package/form/upd-form.module.d.ts +21 -0
- package/form-controls/abstractions/base-control.d.ts +29 -0
- package/form-controls/abstractions/index.d.ts +2 -0
- package/form-controls/abstractions/public-api.d.ts +2 -0
- package/form-controls/checkbox/checkbox.component.d.ts +19 -0
- package/form-controls/checkbox/{src/public-api.ts → public-api.d.ts} +0 -1
- package/form-controls/checkbox/upd-checkbox.module.d.ts +10 -0
- package/form-controls/date-picker/date-picker.component.d.ts +87 -0
- package/form-controls/date-picker/public-api.d.ts +2 -0
- package/form-controls/date-picker/upd-date-picker.module.d.ts +12 -0
- package/form-controls/file-upload/file-upload-changed.event.d.ts +4 -0
- package/form-controls/file-upload/file-upload.component.d.ts +46 -0
- package/form-controls/file-upload/public-api.d.ts +3 -0
- package/form-controls/file-upload/upd-file-upload.module.d.ts +14 -0
- package/form-controls/input/directives/input-append.directive.d.ts +7 -0
- package/form-controls/input/directives/input-prepend.directive.d.ts +7 -0
- package/form-controls/input/input.component.d.ts +62 -0
- package/form-controls/input/upd-input.module.d.ts +13 -0
- package/form-controls/radio/radio.component.d.ts +17 -0
- package/form-controls/radio/upd-radio.module.d.ts +10 -0
- package/form-controls/select/components/multiple/select-multiple.component.d.ts +25 -0
- package/form-controls/select/components/single/select.component.d.ts +26 -0
- package/form-controls/select/models/abstractions/base-select.component.d.ts +77 -0
- package/form-controls/select/models/defaults.d.ts +8 -0
- package/form-controls/select/{src/models/public-api.ts → models/public-api.d.ts} +1 -0
- package/form-controls/select/{src/models/select-item.ts → models/select-item.d.ts} +0 -1
- package/form-controls/select/upd-select.module.d.ts +16 -0
- package/form-controls/textarea/textarea.component.d.ts +19 -0
- package/form-controls/textarea/upd-textarea.module.d.ts +8 -0
- package/form-controls/time-picker/time-picker.component.d.ts +78 -0
- package/form-controls/time-picker/time-selector/time-selector.component.d.ts +69 -0
- package/form-controls/time-picker/upd-time-picker.module.d.ts +17 -0
- package/index.d.ts +2 -0
- package/layout/abstractions/base-page.component.d.ts +12 -0
- package/layout/abstractions/base.layout.d.ts +15 -0
- package/layout/index.d.ts +1 -0
- package/layout/layouts/blank-layout/blank-layout.component.d.ts +9 -0
- package/layout/layouts/blank-layout/blank-layout.module.d.ts +15 -0
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +6 -0
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +22 -0
- package/layout/models/login-page-config.model.d.ts +46 -0
- package/layout/models/login-page.config.d.ts +44 -0
- package/layout/{src/models/public-api.ts → models/public-api.d.ts} +1 -0
- package/layout/models/security-layout-config.model.d.ts +12 -0
- package/layout/models/security-layout.config.d.ts +10 -0
- package/layout/models/upd-layout-config.model.d.ts +48 -0
- package/layout/{src/models/upd-layout.config.ts → models/upd-layout.config.d.ts} +9 -0
- package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +12 -0
- package/layout/pages/auth-flow/auth-flow.module.d.ts +20 -0
- package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +5 -0
- package/layout/pages/auth-flow/login/login.component.d.ts +26 -0
- package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +5 -0
- package/layout/partials/footer/footer-copyright.directive.d.ts +5 -0
- package/layout/partials/footer/footer.component.d.ts +34 -0
- package/layout/partials/footer/footer.module.d.ts +9 -0
- package/layout/{src/partials/footer/public-api.ts → partials/footer/public-api.d.ts} +1 -0
- package/layout/partials/header/header.component.d.ts +48 -0
- package/layout/partials/header/header.module.d.ts +12 -0
- package/layout/{src/partials/header/public-api.ts → partials/header/public-api.d.ts} +1 -0
- package/layout/partials/page-header/page-header.component.d.ts +7 -0
- package/layout/partials/sidebar/sidebar.component.d.ts +22 -0
- package/layout/services/upd-layout-config.service.d.ts +15 -0
- package/layout/{src/tools/layout.constants.ts → tools/layout.constants.d.ts} +3 -6
- package/layout/upd-layout.module.d.ts +19 -0
- package/lib/index.d.ts +2 -0
- package/lib/models/public-api.d.ts +2 -0
- package/lib/models/row-column-size.d.ts +6 -0
- package/lib/public-api.d.ts +5 -0
- package/lib/tools/column-size.helper.d.ts +6 -0
- package/lib/tools/public-api.d.ts +2 -0
- package/{src/lib/types/component-size.type.ts → lib/types/component-size.type.d.ts} +1 -0
- package/lib/types/horizontal-vertical.type.d.ts +2 -0
- package/lib/types/public-api.d.ts +4 -0
- package/lib/types/validation-status.type.d.ts +2 -0
- package/lib/upd-components.module.d.ts +7 -0
- package/link/index.d.ts +1 -0
- package/link/link.component.d.ts +22 -0
- package/link/upd-link.module.d.ts +8 -0
- package/list/index.d.ts +1 -0
- package/list/list.component.d.ts +46 -0
- package/list/{src/models/list-item.ts → models/list-item.d.ts} +3 -4
- package/list/models/list-item.model.d.ts +25 -0
- package/list/upd-list.module.d.ts +13 -0
- package/modal/components/modal-container/modal-container.component.d.ts +74 -0
- package/modal/index.d.ts +1 -0
- package/modal/models/base.modal.d.ts +8 -0
- package/modal/models/modal-config.model.d.ts +32 -0
- package/modal/models/modal-ref.d.ts +6 -0
- package/modal/models/modal.config.d.ts +30 -0
- package/modal/models/public-api.d.ts +3 -0
- package/modal/public-api.d.ts +3 -0
- package/modal/services/modal-alert.service.d.ts +22 -0
- package/modal/services/modal.service.d.ts +12 -0
- package/modal/services/public-api.d.ts +2 -0
- package/modal/types/modal-footer-style.type.d.ts +1 -0
- package/modal/types/modal-size.type.d.ts +1 -0
- package/modal/upd-modal.module.d.ts +18 -0
- package/package.json +169 -21
- package/paginator/index.d.ts +1 -0
- package/paginator/paginator.component.d.ts +42 -0
- package/paginator/public-api.d.ts +2 -0
- package/paginator/upd-paginator.module.d.ts +14 -0
- package/popover/index.d.ts +1 -0
- package/popover/popover.component.d.ts +22 -0
- package/popover/popover.directive.d.ts +33 -0
- package/popover/upd-popover.module.d.ts +9 -0
- package/public-api.d.ts +2 -0
- package/table/abstractions/base-column.model.d.ts +31 -0
- package/table/abstractions/base.column.d.ts +22 -0
- package/table/abstractions/filters-operands.service.d.ts +8 -0
- package/table/abstractions/public-api.d.ts +2 -0
- package/table/components/columns/boolean-column/boolean-column.component.d.ts +9 -0
- package/table/components/columns/date-time-column/date-time-column.component.d.ts +7 -0
- package/table/components/columns/number-column/number-column.component.d.ts +7 -0
- package/table/components/columns/text-column/text-column.component.d.ts +9 -0
- package/table/components/columns-manager/columns-manager.component.d.ts +15 -0
- package/table/components/filter-row/filter-row.component.d.ts +40 -0
- package/table/components/save-search/save-search.component.d.ts +17 -0
- package/table/components/search-section/search-section.component.d.ts +36 -0
- package/table/directives/public-api.d.ts +1 -0
- package/table/directives/table-column.directive.d.ts +14 -0
- package/table/index.d.ts +1 -0
- package/table/models/columns/boolean-column.model.d.ts +15 -0
- package/table/models/columns/date-time-column.model.d.ts +8 -0
- package/table/models/columns/guid-column.model.d.ts +4 -0
- package/table/models/columns/image-column.model.d.ts +6 -0
- package/table/models/columns/number-column.model.d.ts +8 -0
- package/table/models/columns/public-api.d.ts +6 -0
- package/table/models/columns/text-column.model.d.ts +6 -0
- package/table/models/enums/column-type.enum.d.ts +13 -0
- package/table/models/enums/public-api.d.ts +1 -0
- package/table/models/filter-item.model.d.ts +6 -0
- package/table/models/filter-operand.config.d.ts +9 -0
- package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +6 -0
- package/table/models/operands-lists/date-filter-operands-list.model.d.ts +6 -0
- package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +5 -0
- package/table/models/operands-lists/filter-operands-list.config.d.ts +5 -0
- package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +6 -0
- package/table/models/operands-lists/number-filter-operands-list.model.d.ts +6 -0
- package/table/models/operands-lists/string-filter-operands-list.model.d.ts +6 -0
- package/table/models/public-api.d.ts +4 -0
- package/table/models/saved-view.model.d.ts +11 -0
- package/table/models/table-config.model.d.ts +24 -0
- package/table/models/table.config.d.ts +22 -0
- package/table/models/upd-table-config.model.d.ts +6 -0
- package/table/models/upd-table.config.d.ts +6 -0
- package/table/public-api.d.ts +5 -0
- package/table/services/default-filters-operands.service.d.ts +17 -0
- package/table/services/storages/saved-views.storage.d.ts +19 -0
- package/table/services/stores/filters-operands.store.d.ts +11 -0
- package/table/services/upd-table-config.service.d.ts +12 -0
- package/table/table.component.d.ts +78 -0
- package/table/tools/filters.tools.d.ts +9 -0
- package/table/tools/table.constants.d.ts +15 -0
- package/table/upd-table.module.d.ts +40 -0
- package/CHANGELOG.md +0 -8
- package/button/ng-package.json +0 -7
- package/button/src/button.component.html +0 -8
- package/button/src/button.component.scss +0 -5
- package/button/src/button.component.spec.ts +0 -23
- package/button/src/button.component.ts +0 -154
- package/button/src/upd-button.module.ts +0 -17
- package/card/ng-package.json +0 -7
- package/card/src/card.component.html +0 -105
- package/card/src/card.component.scss +0 -47
- package/card/src/card.component.spec.ts +0 -23
- package/card/src/card.component.ts +0 -112
- package/card/src/directives/card-actions.directive.spec.ts +0 -8
- package/card/src/directives/card-actions.directive.ts +0 -11
- package/card/src/directives/card-footer.directive.spec.ts +0 -8
- package/card/src/directives/card-footer.directive.ts +0 -11
- package/card/src/directives/card-header.directive.spec.ts +0 -8
- package/card/src/directives/card-header.directive.ts +0 -11
- package/card/src/directives/card-image.directive.spec.ts +0 -8
- package/card/src/directives/card-image.directive.ts +0 -11
- package/card/src/types/public-api.ts +0 -5
- package/card/src/upd-card.module.ts +0 -32
- package/dropdown/ng-package.json +0 -7
- package/dropdown/src/dropdown.component.html +0 -32
- package/dropdown/src/dropdown.component.scss +0 -19
- package/dropdown/src/dropdown.component.spec.ts +0 -23
- package/dropdown/src/dropdown.component.ts +0 -182
- package/dropdown/src/models/public-api.ts +0 -2
- package/dropdown/src/upd-dropdown.module.ts +0 -25
- package/form/ng-package.json +0 -7
- package/form/src/form.module.ts +0 -10
- package/form/src/public-api.ts +0 -1
- package/form-controls/checkbox/ng-package.json +0 -7
- package/form-controls/checkbox/src/checkbox.component.html +0 -7
- package/form-controls/checkbox/src/checkbox.component.scss +0 -0
- package/form-controls/checkbox/src/checkbox.component.spec.ts +0 -23
- package/form-controls/checkbox/src/checkbox.component.ts +0 -48
- package/form-controls/checkbox/src/upd-checkbox.module.ts +0 -19
- package/form-controls/input/ng-package.json +0 -7
- package/form-controls/input/src/directives/input-append.directive.spec.ts +0 -8
- package/form-controls/input/src/directives/input-append.directive.ts +0 -11
- package/form-controls/input/src/directives/input-prepend.directive.spec.ts +0 -8
- package/form-controls/input/src/directives/input-prepend.directive.ts +0 -11
- package/form-controls/input/src/input.component.html +0 -82
- package/form-controls/input/src/input.component.scss +0 -13
- package/form-controls/input/src/input.component.spec.ts +0 -23
- package/form-controls/input/src/input.component.ts +0 -124
- package/form-controls/input/src/upd-input.module.ts +0 -29
- package/form-controls/radio/ng-package.json +0 -7
- package/form-controls/radio/src/radio.component.html +0 -7
- package/form-controls/radio/src/radio.component.scss +0 -0
- package/form-controls/radio/src/radio.component.spec.ts +0 -23
- package/form-controls/radio/src/radio.component.ts +0 -47
- package/form-controls/radio/src/upd-radio.module.ts +0 -17
- package/form-controls/select/ng-package.json +0 -7
- package/form-controls/select/src/components/multiple/select-multiple.component.html +0 -41
- package/form-controls/select/src/components/multiple/select-multiple.component.scss +0 -6
- package/form-controls/select/src/components/multiple/select-multiple.component.spec.ts +0 -21
- package/form-controls/select/src/components/multiple/select-multiple.component.ts +0 -69
- package/form-controls/select/src/components/shared.scss +0 -40
- package/form-controls/select/src/components/single/select.component.html +0 -53
- package/form-controls/select/src/components/single/select.component.scss +0 -3
- package/form-controls/select/src/components/single/select.component.spec.ts +0 -23
- package/form-controls/select/src/components/single/select.component.ts +0 -58
- package/form-controls/select/src/models/abstractions/base-select.component.ts +0 -259
- package/form-controls/select/src/upd-select.module.ts +0 -32
- package/form-controls/textarea/ng-package.json +0 -7
- package/form-controls/textarea/src/textarea.component.html +0 -8
- package/form-controls/textarea/src/textarea.component.scss +0 -0
- package/form-controls/textarea/src/textarea.component.spec.ts +0 -23
- package/form-controls/textarea/src/textarea.component.ts +0 -47
- package/form-controls/textarea/src/upd-textarea.module.ts +0 -17
- package/form-controls/time-picker/ng-package.json +0 -7
- package/form-controls/time-picker/src/time-picker.component.html +0 -17
- package/form-controls/time-picker/src/time-picker.component.scss +0 -10
- package/form-controls/time-picker/src/time-picker.component.spec.ts +0 -21
- package/form-controls/time-picker/src/time-picker.component.ts +0 -110
- package/form-controls/time-picker/src/time-selector/time-selector.component.html +0 -44
- package/form-controls/time-picker/src/time-selector/time-selector.component.scss +0 -47
- package/form-controls/time-picker/src/time-selector/time-selector.component.spec.ts +0 -21
- package/form-controls/time-picker/src/time-selector/time-selector.component.ts +0 -107
- package/form-controls/time-picker/src/upd-time-picker.module.ts +0 -39
- package/layout/ng-package.json +0 -7
- package/layout/src/abstractions/base-page.component.ts +0 -21
- package/layout/src/assets/i18n/en.json +0 -5
- package/layout/src/assets/i18n/pt.json +0 -5
- package/layout/src/layouts/blank-layout/blank-layout.component.html +0 -1
- package/layout/src/layouts/blank-layout/blank-layout.component.scss +0 -0
- package/layout/src/layouts/blank-layout/blank-layout.component.spec.ts +0 -23
- package/layout/src/layouts/blank-layout/blank-layout.component.ts +0 -10
- package/layout/src/layouts/blank-layout/blank-layout.module.ts +0 -17
- package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.html +0 -14
- package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.scss +0 -0
- package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.spec.ts +0 -23
- package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.ts +0 -31
- package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.ts +0 -52
- package/layout/src/models/upd-layout-config.model.ts +0 -71
- package/layout/src/pages/auth-flow/auth-flow-routing.module.ts +0 -21
- package/layout/src/pages/auth-flow/auth-flow.module.ts +0 -29
- package/layout/src/pages/auth-flow/logged-out/logged-out.component.html +0 -1
- package/layout/src/pages/auth-flow/logged-out/logged-out.component.scss +0 -0
- package/layout/src/pages/auth-flow/logged-out/logged-out.component.spec.ts +0 -23
- package/layout/src/pages/auth-flow/logged-out/logged-out.component.ts +0 -10
- package/layout/src/pages/auth-flow/login/login.component.html +0 -96
- package/layout/src/pages/auth-flow/login/login.component.scss +0 -0
- package/layout/src/pages/auth-flow/login/login.component.spec.ts +0 -23
- package/layout/src/pages/auth-flow/login/login.component.ts +0 -26
- package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.html +0 -1
- package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.scss +0 -0
- package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.spec.ts +0 -23
- package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.ts +0 -10
- package/layout/src/partials/footer/footer-copyright.directive.spec.ts +0 -8
- package/layout/src/partials/footer/footer-copyright.directive.ts +0 -9
- package/layout/src/partials/footer/footer.component.html +0 -30
- package/layout/src/partials/footer/footer.component.scss +0 -0
- package/layout/src/partials/footer/footer.component.spec.ts +0 -23
- package/layout/src/partials/footer/footer.component.ts +0 -73
- package/layout/src/partials/header/header.component.html +0 -163
- package/layout/src/partials/header/header.component.scss +0 -0
- package/layout/src/partials/header/header.component.spec.ts +0 -23
- package/layout/src/partials/header/header.component.ts +0 -86
- package/layout/src/partials/page-header/page-header.component.html +0 -19
- package/layout/src/partials/page-header/page-header.component.scss +0 -0
- package/layout/src/partials/page-header/page-header.component.spec.ts +0 -23
- package/layout/src/partials/page-header/page-header.component.ts +0 -11
- package/layout/src/partials/sidebar/sidebar.component.html +0 -62
- package/layout/src/partials/sidebar/sidebar.component.scss +0 -0
- package/layout/src/partials/sidebar/sidebar.component.spec.ts +0 -23
- package/layout/src/partials/sidebar/sidebar.component.ts +0 -161
- package/layout/src/services/upd-layout-config.service.spec.ts +0 -16
- package/layout/src/services/upd-layout-config.service.ts +0 -20
- package/layout/src/upd-layout.module.ts +0 -34
- package/link/ng-package.json +0 -7
- package/link/src/link.component.html +0 -3
- package/link/src/link.component.scss +0 -3
- package/link/src/link.component.spec.ts +0 -23
- package/link/src/link.component.ts +0 -48
- package/link/src/upd-link.module.ts +0 -17
- package/list/ng-package.json +0 -7
- package/list/src/assets/i18n/en.json +0 -5
- package/list/src/assets/i18n/pt.json +0 -5
- package/list/src/list.component.html +0 -58
- package/list/src/list.component.scss +0 -21
- package/list/src/list.component.spec.ts +0 -23
- package/list/src/list.component.ts +0 -147
- package/list/src/models/list-item.model.ts +0 -35
- package/list/src/upd-list.module.ts +0 -30
- package/ng-package.json +0 -10
- package/popover/ng-package.json +0 -7
- package/popover/src/popover.component.html +0 -20
- package/popover/src/popover.component.scss +0 -8
- package/popover/src/popover.component.spec.ts +0 -23
- package/popover/src/popover.component.ts +0 -53
- package/popover/src/popover.directive.spec.ts +0 -8
- package/popover/src/popover.directive.ts +0 -128
- package/popover/src/upd-popover.module.ts +0 -20
- package/src/lib/public-api.ts +0 -2
- package/src/lib/types/public-api.ts +0 -2
- package/src/lib/types/validation-status.type.ts +0 -1
- package/src/lib/upd-components.module.ts +0 -6
- package/src/public-api.ts +0 -1
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
- /package/{button/src/index.ts → badge/index.d.ts} +0 -0
- /package/{card/src/index.ts → button/index.d.ts} +0 -0
- /package/button/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/{dropdown/src/index.ts → calendar/index.d.ts} +0 -0
- /package/card/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
- /package/{form-controls/checkbox/src/index.ts → card/index.d.ts} +0 -0
- /package/card/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/card/{src/types/card-state.type.ts → types/card-state.type.d.ts} +0 -0
- /package/card/{src/types/card-style.type.ts → types/card-style.type.d.ts} +0 -0
- /package/card/{src/types/hover-effect.type.ts → types/hover-effect.type.d.ts} +0 -0
- /package/card/{src/types/ribbon-style.type.ts → types/ribbon-style.type.d.ts} +0 -0
- /package/card/{src/types/status-position.type.ts → types/status-position.type.d.ts} +0 -0
- /package/{form-controls/input/src/index.ts → drag-and-drop/index.d.ts} +0 -0
- /package/{form-controls/radio/src/index.ts → dropdown/index.d.ts} +0 -0
- /package/dropdown/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/en.json +0 -0
- /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/pt.json +0 -0
- /package/{src/lib/index.ts → form/index.d.ts} +0 -0
- /package/form-controls/{select/src/index.ts → checkbox/index.d.ts} +0 -0
- /package/form-controls/{textarea/src/index.ts → date-picker/index.d.ts} +0 -0
- /package/form-controls/{time-picker/src/index.ts → file-upload/index.d.ts} +0 -0
- /package/form-controls/input/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
- /package/{form/src/index.ts → form-controls/input/index.d.ts} +0 -0
- /package/form-controls/input/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/form-controls/input/{src/types/input.type.ts → types/input.type.d.ts} +0 -0
- /package/form-controls/input/{src/types/loader-position.type.ts → types/loader-position.type.d.ts} +0 -0
- /package/form-controls/input/{src/types/public-api.ts → types/public-api.d.ts} +0 -0
- /package/{layout/src/index.ts → form-controls/radio/index.d.ts} +0 -0
- /package/form-controls/radio/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/{link/src/index.ts → form-controls/select/index.d.ts} +0 -0
- /package/form-controls/select/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/{list/src/index.ts → form-controls/textarea/index.d.ts} +0 -0
- /package/form-controls/textarea/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/{popover/src/index.ts → form-controls/time-picker/index.d.ts} +0 -0
- /package/form-controls/time-picker/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/layout/{src/abstractions/public-api.ts → abstractions/public-api.d.ts} +0 -0
- /package/layout/{src/layouts/public-api.ts → layouts/public-api.d.ts} +0 -0
- /package/layout/{src/pages/auth-flow/public-api.ts → pages/auth-flow/public-api.d.ts} +0 -0
- /package/layout/{src/pages/public-api.ts → pages/public-api.d.ts} +0 -0
- /package/layout/{src/partials/header/header-style.type.ts → partials/header/header-style.type.d.ts} +0 -0
- /package/layout/{src/partials/page-header/public-api.ts → partials/page-header/public-api.d.ts} +0 -0
- /package/layout/{src/partials/public-api.ts → partials/public-api.d.ts} +0 -0
- /package/layout/{src/partials/sidebar/public-api.ts → partials/sidebar/public-api.d.ts} +0 -0
- /package/layout/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/layout/{src/services/public-api.ts → services/public-api.d.ts} +0 -0
- /package/link/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/link/{src/target.type.ts → target.type.d.ts} +0 -0
- /package/list/{src/models/badge-position.type.ts → models/badge-position.type.d.ts} +0 -0
- /package/list/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
- /package/list/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/popover/{src/public-api.ts → public-api.d.ts} +0 -0
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { Component, HostBinding, ViewEncapsulation, Input, Output, EventEmitter, NgZone, ElementRef, Renderer2, RendererStyleFlags2, inject, input } from '@angular/core';
|
|
2
|
+
import { BaseComponent, PositioningService, DomEventsService } from '@updevs/sdk/layout';
|
|
3
|
+
import { TextService } from '@updevs/sdk';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@updevs/icons";
|
|
7
|
+
import * as i3 from "@updevs/components/form-controls/radio";
|
|
8
|
+
import * as i4 from "@updevs/components/form-controls/checkbox";
|
|
9
|
+
import * as i5 from "@updevs/components/button";
|
|
10
|
+
export class DropdownComponent extends BaseComponent {
|
|
11
|
+
set isOpen(value) {
|
|
12
|
+
this.updateOpenState(value);
|
|
13
|
+
if (this.shouldCloseOnOutsideClick) {
|
|
14
|
+
this.closeOnOutsideClick();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
get isOpen() {
|
|
18
|
+
return this._isOpen;
|
|
19
|
+
}
|
|
20
|
+
get overflowClass() {
|
|
21
|
+
switch (this.textOverflowStrategy()) {
|
|
22
|
+
case 'no-wrap':
|
|
23
|
+
return 'text-nowrap';
|
|
24
|
+
case 'wrap':
|
|
25
|
+
return 'text-wrap';
|
|
26
|
+
case 'word-break':
|
|
27
|
+
return 'text-break';
|
|
28
|
+
default:
|
|
29
|
+
return 'text-truncate';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
constructor() {
|
|
33
|
+
super();
|
|
34
|
+
this.localWrapperClasses = '';
|
|
35
|
+
this.items = [];
|
|
36
|
+
this.shouldCloseOnOutsideClick = false;
|
|
37
|
+
this.wrapperClasses = '';
|
|
38
|
+
/**
|
|
39
|
+
* If a reference is provided, this will be the position of the dropdown in relation to that reference.
|
|
40
|
+
*/
|
|
41
|
+
this.dropdownReferencePosition = 'bottom';
|
|
42
|
+
this.isOpenChange = new EventEmitter();
|
|
43
|
+
this.selectedItem = new EventEmitter();
|
|
44
|
+
this.checkboxChanged = new EventEmitter();
|
|
45
|
+
this.textOverflowStrategy = input('wrap');
|
|
46
|
+
this.textService = inject(TextService);
|
|
47
|
+
this.baseWrapperClasses = 'dropdown-menu';
|
|
48
|
+
this._isOpen = false;
|
|
49
|
+
this.ngZone = inject(NgZone);
|
|
50
|
+
this.elementRef = inject(ElementRef);
|
|
51
|
+
this.renderer = inject(Renderer2);
|
|
52
|
+
this.positioningService = inject(PositioningService);
|
|
53
|
+
this.domEventsService = inject(DomEventsService);
|
|
54
|
+
this.dropdownElement = this.elementRef.nativeElement;
|
|
55
|
+
}
|
|
56
|
+
ngOnInit() {
|
|
57
|
+
this.updateStyle();
|
|
58
|
+
}
|
|
59
|
+
ngOnChanges() {
|
|
60
|
+
this.updateStyle();
|
|
61
|
+
}
|
|
62
|
+
onSelect(item) {
|
|
63
|
+
this.selectedItem.emit(item);
|
|
64
|
+
}
|
|
65
|
+
onCheckboxChange(item, isChecked) {
|
|
66
|
+
item.isChecked = isChecked;
|
|
67
|
+
this.checkboxChanged.emit(item);
|
|
68
|
+
}
|
|
69
|
+
adaptAction(btn, item) {
|
|
70
|
+
const defaultFunction = btn.clickFunction;
|
|
71
|
+
btn.clickFunction = (evt) => {
|
|
72
|
+
evt.event?.preventDefault();
|
|
73
|
+
evt.event?.stopPropagation();
|
|
74
|
+
if (!!defaultFunction) {
|
|
75
|
+
defaultFunction({ event: evt.event, data: { item, button: btn } });
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
return btn;
|
|
79
|
+
}
|
|
80
|
+
closeOnOutsideClick() {
|
|
81
|
+
const excludedElements = [];
|
|
82
|
+
if (!!this.dropdownReference) {
|
|
83
|
+
excludedElements.push(this.dropdownReference.nativeElement);
|
|
84
|
+
}
|
|
85
|
+
const outsideClickSub = this.domEventsService.startOutsideClickListener(() => this.ngZone.run(() => {
|
|
86
|
+
this.updateOpenState(false);
|
|
87
|
+
this.ngZone.run(() => this.updateWrapperClasses());
|
|
88
|
+
}), this.dropdownElement, true, ...excludedElements);
|
|
89
|
+
this.addSubscriptions(outsideClickSub);
|
|
90
|
+
}
|
|
91
|
+
updateStyle() {
|
|
92
|
+
this.updateWrapperClasses();
|
|
93
|
+
this.updateMaxHeight();
|
|
94
|
+
this.startPositionUpdate();
|
|
95
|
+
}
|
|
96
|
+
updateWrapperClasses() {
|
|
97
|
+
this.localWrapperClasses = this.baseWrapperClasses + ' ' + this.wrapperClasses;
|
|
98
|
+
if (this.isOpen) {
|
|
99
|
+
this.localWrapperClasses += ' dropdown-show';
|
|
100
|
+
}
|
|
101
|
+
if (!!this.arrowType) {
|
|
102
|
+
this.localWrapperClasses += ' dropdown-menu-arrow' + (this.arrowType === 'right' ? ' dropdown-menu-end' : '');
|
|
103
|
+
}
|
|
104
|
+
if (!!this.maxHeight) {
|
|
105
|
+
this.localWrapperClasses += ' dropdown-overflow';
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
updateOpenState(isOpen) {
|
|
109
|
+
this._isOpen = isOpen;
|
|
110
|
+
this.isOpenChange.emit(isOpen);
|
|
111
|
+
}
|
|
112
|
+
updateMaxHeight() {
|
|
113
|
+
this.renderer.setStyle(this.dropdownElement, 'max-height', `${this.maxHeight}px`, RendererStyleFlags2.Important);
|
|
114
|
+
}
|
|
115
|
+
startPositionUpdate() {
|
|
116
|
+
if (!this.dropdownReference) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
this.ngZone.runOutsideAngular(() => this.positioningService
|
|
120
|
+
.computePosition(this.dropdownReference, this.elementRef, { placement: this.dropdownReferencePosition }, undefined, undefined, true)
|
|
121
|
+
.subscribe(resp => this.updatePosition(resp)));
|
|
122
|
+
}
|
|
123
|
+
updatePosition(result) {
|
|
124
|
+
const reference = this.dropdownReference.nativeElement.getBoundingClientRect();
|
|
125
|
+
const ddElement = this.dropdownElement;
|
|
126
|
+
const width = Math.abs(reference.width);
|
|
127
|
+
let widthOffset = 0;
|
|
128
|
+
if (!!this.maxWidth) {
|
|
129
|
+
this.renderer.setStyle(ddElement, 'max-width', `${this.maxWidth}px`, RendererStyleFlags2.Important);
|
|
130
|
+
}
|
|
131
|
+
if (!!this.minWidth) {
|
|
132
|
+
this.renderer.setStyle(ddElement, 'min-width', `${this.minWidth}px`, RendererStyleFlags2.Important);
|
|
133
|
+
widthOffset = (this.minWidth > width ? this.minWidth - width : 0) / 2; // TODO: check logic
|
|
134
|
+
}
|
|
135
|
+
this.renderer.setStyle(ddElement, 'position', result.strategy, RendererStyleFlags2.Important);
|
|
136
|
+
this.renderer.setStyle(ddElement, 'width', `${width}px`, RendererStyleFlags2.Important);
|
|
137
|
+
this.renderer.setStyle(ddElement, 'left', `${result.x - widthOffset}px`, RendererStyleFlags2.Important);
|
|
138
|
+
this.renderer.setStyle(ddElement, 'top', `${result.y}px`, RendererStyleFlags2.Important);
|
|
139
|
+
}
|
|
140
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
141
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: DropdownComponent, selector: "upd-dropdown", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null }, shouldCloseOnOutsideClick: { classPropertyName: "shouldCloseOnOutsideClick", publicName: "shouldCloseOnOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, arrowType: { classPropertyName: "arrowType", publicName: "arrowType", isSignal: false, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: false, isRequired: false, transformFunction: null }, elementsExcludedFromOutsideClick: { classPropertyName: "elementsExcludedFromOutsideClick", publicName: "elementsExcludedFromOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: false, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: false, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: false, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: false, isRequired: false, transformFunction: null }, dropdownReference: { classPropertyName: "dropdownReference", publicName: "dropdownReference", isSignal: false, isRequired: false, transformFunction: null }, dropdownReferencePosition: { classPropertyName: "dropdownReferencePosition", publicName: "dropdownReferencePosition", isSignal: false, isRequired: false, transformFunction: null }, textOverflowStrategy: { classPropertyName: "textOverflowStrategy", publicName: "textOverflowStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange", selectedItem: "selectedItem", checkboxChanged: "checkboxChanged" }, host: { properties: { "class": "this.localWrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track item) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i3.RadioComponent, selector: "upd-radio", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline"], outputs: ["selected"] }, { kind: "component", type: i4.CheckboxComponent, selector: "upd-checkbox", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline", "isSwitch", "isIndeterminate"], outputs: ["changed", "isCheckedChange", "isIndeterminateChange"] }, { kind: "component", type: i5.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
142
|
+
}
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
144
|
+
type: Component,
|
|
145
|
+
args: [{ selector: 'upd-dropdown', encapsulation: ViewEncapsulation.None, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track item) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"] }]
|
|
146
|
+
}], ctorParameters: () => [], propDecorators: { localWrapperClasses: [{
|
|
147
|
+
type: HostBinding,
|
|
148
|
+
args: ['class']
|
|
149
|
+
}], items: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], header: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], isOpen: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], shouldCloseOnOutsideClick: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], arrowType: [{
|
|
158
|
+
type: Input
|
|
159
|
+
}], wrapperClasses: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], elementsExcludedFromOutsideClick: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], minHeight: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], maxHeight: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], minWidth: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], maxWidth: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], dropdownReference: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], dropdownReferencePosition: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], isOpenChange: [{
|
|
176
|
+
type: Output
|
|
177
|
+
}], selectedItem: [{
|
|
178
|
+
type: Output
|
|
179
|
+
}], checkboxChanged: [{
|
|
180
|
+
type: Output
|
|
181
|
+
}] } });
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Ryb3Bkb3duL3NyYy9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJvcGRvd24vc3JjL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBR0wsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIsTUFBTSxFQUFFLEtBQUssRUFDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBeUIsZ0JBQWdCLEVBQWUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7O0FBVzFDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBTWhELElBQ0ksTUFBTSxDQUFDLEtBQWM7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO0lBNkNELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2IsUUFBUSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLEtBQUssU0FBUztnQkFDVixPQUFPLGFBQWEsQ0FBQztZQUN6QixLQUFLLE1BQU07Z0JBQ1AsT0FBTyxXQUFXLENBQUM7WUFDdkIsS0FBSyxZQUFZ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QyxJQUFJO3dEQUdmLG1CQUFtQjtzQkFBeEMsV0FBVzt1QkFBQyxPQUFPO2dCQUVYLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0YsTUFBTTtzQkFEVCxLQUFLO2dCQVNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0csZ0NBQWdDO3NCQUF4QyxLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFJRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUlHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFFYSxZQUFZO3NCQUE5QixNQUFNO2dCQUNZLFlBQVk7c0JBQTlCLE1BQU07Z0JBQ1ksZUFBZTtzQkFBakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBOZ1pvbmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBSZW5kZXJlcjIsXG4gICAgUmVuZGVyZXJTdHlsZUZsYWdzMixcbiAgICBpbmplY3QsIGlucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgUG9zaXRpb25pbmdTZXJ2aWNlLCBDb21wdXRlUG9zaXRpb25SZXN1bHQsIERvbUV2ZW50c1NlcnZpY2UsIEJ1dHRvbk1vZGVsIH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcbmltcG9ydCB7IFRvcEJvdHRvbUxlZnRSaWdodFR5cGUsIExlZnRSaWdodFR5cGUsIE92ZXJmbG93U3RyYXRlZ3lUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvdHlwZXMnO1xuaW1wb3J0IHsgVGV4dFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkayc7XG5cbmltcG9ydCB7IERyb3Bkb3duSXRlbSB9IGZyb20gJy4vbW9kZWxzL2Ryb3Bkb3duLWl0ZW0nO1xuaW1wb3J0IHsgRHJvcGRvd25BY3Rpb25DbGlja2VkTW9kZWwgfSBmcm9tICcuL21vZGVscy9kcm9wZG93bi1hY3Rpb24tY2xpY2tlZC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGxvY2FsV3JhcHBlckNsYXNzZXMgPSAnJztcblxuICAgIEBJbnB1dCgpIGl0ZW1zOiBEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICAgIEBJbnB1dCgpIGhlYWRlcj86IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGlzT3Blbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZU9wZW5TdGF0ZSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGljaykge1xuICAgICAgICAgICAgdGhpcy5jbG9zZU9uT3V0c2lkZUNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSBzaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrID0gZmFsc2U7XG4gICAgQElucHV0KCkgYXJyb3dUeXBlPzogTGVmdFJpZ2h0VHlwZTtcbiAgICBASW5wdXQoKSB3cmFwcGVyQ2xhc3NlcyA9ICcnO1xuICAgIC8qKlxuICAgICAqIEVsZW1lbnRzIHRoYXQgd29uJ3QgdHJpZ2dlciB0aGUgY2xvc2Ugb2YgdGhlIGRyb3Bkb3duIGlmIGNsaWNrZWQgdXBvbi5cbiAgICAgKiBPbmx5IHdvcmtzIHdoZW4gYHNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2tgIGlzIHNldCB0byB0cnVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGVsZW1lbnRzRXhjbHVkZWRGcm9tT3V0c2lkZUNsaWNrPzogSFRNTEVsZW1lbnRbXTtcbiAgICAvKipcbiAgICAgKiBNaW5pbXVtIGhlaWdodCBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1pbkhlaWdodD86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIElmIHNldCwgc2Nyb2xsIGJhcnMgd2lsbCBiZSB1c2VkIHdoZW4gdGhlIGNvbnRlbnQncyBzaXplIGlzIGJpZ2dlciB0aGFuIHRoZSBjb21wb25lbnQncy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogTWluaW11bSB3aWR0aCBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1pbldpZHRoPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIE1heGltdW0gd2lkdGggb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBJZiBzZXQsIHNjcm9sbCBiYXJzIHdpbGwgYmUgdXNlZCB3aGVuIHRoZSBjb250ZW50J3Mgc2l6ZSBpcyBiaWdnZXIgdGhhbiB0aGUgY29tcG9uZW50J3MuXG4gICAgICovXG4gICAgQElucHV0KCkgbWF4V2lkdGg/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogSWYgc2V0LCB0aGUgcG9zaXRpb24gb2YgdGhlIGRyb3Bkb3duIHdpbGwgYmUgc2V0IGFjY29yZGluZyB0byB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcGRvd25SZWZlcmVuY2U/OiBFbGVtZW50UmVmO1xuICAgIC8qKlxuICAgICAqIElmIGEgcmVmZXJlbmNlIGlzIHByb3ZpZGVkLCB0aGlzIHdpbGwgYmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBkcm9wZG93biBpbiByZWxhdGlvbiB0byB0aGF0IHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBkcm9wZG93blJlZmVyZW5jZVBvc2l0aW9uOiBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlID0gJ2JvdHRvbSc7XG5cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgaXNPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPERyb3Bkb3duSXRlbT4oKTtcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hlY2tib3hDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxEcm9wZG93bkl0ZW0+KCk7XG5cbiAgICB0ZXh0T3ZlcmZsb3dTdHJhdGVneSA9IGlucHV0PE92ZXJmbG93U3RyYXRlZ3lUeXBlPignd3JhcCcpO1xuXG4gICAgcmVhZG9ubHkgdGV4dFNlcnZpY2UgPSBpbmplY3QoVGV4dFNlcnZpY2UpO1xuXG4gICAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzT3BlbjtcbiAgICB9XG5cbiAgICBnZXQgb3ZlcmZsb3dDbGFzcygpOiBzdHJpbmcge1xuICAgICAgICBzd2l0Y2ggKHRoaXMudGV4dE92ZXJmbG93U3RyYXRlZ3koKSkge1xuICAgICAgICAgICAgY2FzZSAnbm8td3JhcCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0ZXh0LW5vd3JhcCc7XG4gICAgICAgICAgICBjYXNlICd3cmFwJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RleHQtd3JhcCc7XG4gICAgICAgICAgICBjYXNlICd3b3JkLWJyZWFrJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RleHQtYnJlYWsnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RleHQtdHJ1bmNhdGUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiYXNlV3JhcHBlckNsYXNzZXMgPSAnZHJvcGRvd24tbWVudSc7XG4gICAgcHJpdmF0ZSBfaXNPcGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bkVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvc2l0aW9uaW5nU2VydmljZSA9IGluamVjdChQb3NpdGlvbmluZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9tRXZlbnRzU2VydmljZSA9IGluamVjdChEb21FdmVudHNTZXJ2aWNlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVN0eWxlKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlU3R5bGUoKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdChpdGVtOiBEcm9wZG93bkl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChpdGVtKTtcbiAgICB9XG5cbiAgICBvbkNoZWNrYm94Q2hhbmdlKGl0ZW06IERyb3Bkb3duSXRlbSwgaXNDaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGl0ZW0uaXNDaGVja2VkID0gaXNDaGVja2VkO1xuICAgICAgICB0aGlzLmNoZWNrYm94Q2hhbmdlZC5lbWl0KGl0ZW0pO1xuICAgIH1cblxuICAgIGFkYXB0QWN0aW9uKGJ0bjogQnV0dG9uTW9kZWwsIGl0ZW06IERyb3Bkb3duSXRlbSk6IEJ1dHRvbk1vZGVsIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdEZ1bmN0aW9uID0gYnRuLmNsaWNrRnVuY3Rpb247XG4gICAgICAgIGJ0bi5jbGlja0Z1bmN0aW9uID0gKGV2dCkgPT4ge1xuICAgICAgICAgICAgZXZ0LmV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZ0LmV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgaWYgKCEhZGVmYXVsdEZ1bmN0aW9uKSB7XG4gICAgICAgICAgICAgICAgZGVmYXVsdEZ1bmN0aW9uKHsgZXZlbnQ6IGV2dC5ldmVudCwgZGF0YTogeyBpdGVtLCBidXR0b246IGJ0biB9IGFzIERyb3Bkb3duQWN0aW9uQ2xpY2tlZE1vZGVsIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYnRuO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VPbk91dHNpZGVDbGljaygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXhjbHVkZWRFbGVtZW50cyA9IFtdO1xuXG4gICAgICAgIGlmICghIXRoaXMuZHJvcGRvd25SZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIGV4Y2x1ZGVkRWxlbWVudHMucHVzaCh0aGlzLmRyb3Bkb3duUmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3V0c2lkZUNsaWNrU3ViID0gdGhpcy5kb21FdmVudHNTZXJ2aWNlLnN0YXJ0T3V0c2lkZUNsaWNrTGlzdGVuZXIoXG4gICAgICAgICAgICAoKSA9PiB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlT3BlblN0YXRlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy51cGRhdGVXcmFwcGVyQ2xhc3NlcygpKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkVsZW1lbnQsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgLi4uZXhjbHVkZWRFbGVtZW50c1xuICAgICAgICApO1xuICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnMob3V0c2lkZUNsaWNrU3ViKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVN0eWxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVdyYXBwZXJDbGFzc2VzKCk7XG4gICAgICAgIHRoaXMudXBkYXRlTWF4SGVpZ2h0KCk7XG4gICAgICAgIHRoaXMuc3RhcnRQb3NpdGlvblVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlV3JhcHBlckNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYWxXcmFwcGVyQ2xhc3NlcyA9IHRoaXMuYmFzZVdyYXBwZXJDbGFzc2VzICsgJyAnICsgdGhpcy53cmFwcGVyQ2xhc3NlcztcblxuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMubG9jYWxXcmFwcGVyQ2xhc3NlcyArPSAnIGRyb3Bkb3duLXNob3cnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEhdGhpcy5hcnJvd1R5cGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9jYWxXcmFwcGVyQ2xhc3NlcyArPSAnIGRyb3Bkb3duLW1lbnUtYXJyb3cnICsgKHRoaXMuYXJyb3dUeXBlID09PSAncmlnaHQnID8gJyBkcm9wZG93bi1tZW51LWVuZCcgOiAnJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLm1heEhlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5sb2NhbFdyYXBwZXJDbGFzc2VzICs9ICcgZHJvcGRvd24tb3ZlcmZsb3cnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVPcGVuU3RhdGUoaXNPcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzT3BlbiA9IGlzT3BlbjtcbiAgICAgICAgdGhpcy5pc09wZW5DaGFuZ2UuZW1pdChpc09wZW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTWF4SGVpZ2h0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZHJvcGRvd25FbGVtZW50LCAnbWF4LWhlaWdodCcsIGAke3RoaXMubWF4SGVpZ2h0fXB4YCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhcnRQb3NpdGlvblVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRyb3Bkb3duUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbmluZ1NlcnZpY2VcbiAgICAgICAgICAgICAgICAuY29tcHV0ZVBvc2l0aW9uKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duUmVmZXJlbmNlISxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgICAgICB7IHBsYWNlbWVudDogdGhpcy5kcm9wZG93blJlZmVyZW5jZVBvc2l0aW9uIH0sXG4gICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcCA9PiB0aGlzLnVwZGF0ZVBvc2l0aW9uKHJlc3ApKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUG9zaXRpb24ocmVzdWx0OiBDb21wdXRlUG9zaXRpb25SZXN1bHQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gdGhpcy5kcm9wZG93blJlZmVyZW5jZSEubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgZGRFbGVtZW50ID0gdGhpcy5kcm9wZG93bkVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gTWF0aC5hYnMocmVmZXJlbmNlLndpZHRoKTtcbiAgICAgICAgbGV0IHdpZHRoT2Zmc2V0ID0gMDtcblxuICAgICAgICBpZiAoISF0aGlzLm1heFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ21heC13aWR0aCcsIGAke3RoaXMubWF4V2lkdGh9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLm1pbldpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ21pbi13aWR0aCcsIGAke3RoaXMubWluV2lkdGh9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgICAgICB3aWR0aE9mZnNldCA9ICh0aGlzLm1pbldpZHRoID4gd2lkdGggPyB0aGlzLm1pbldpZHRoIC0gd2lkdGggOiAwKSAvIDI7IC8vIFRPRE86IGNoZWNrIGxvZ2ljXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ3Bvc2l0aW9uJywgcmVzdWx0LnN0cmF0ZWd5LCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZGRFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICdsZWZ0JywgYCR7cmVzdWx0LnggLSB3aWR0aE9mZnNldH1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICd0b3AnLCBgJHtyZXN1bHQueX1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICB9XG59XG4iLCJAaWYgKCEhaGVhZGVyKSB7XG4gICAgPGg2IGNsYXNzPVwiZHJvcGRvd24taGVhZGVyXCI+e3sgaGVhZGVyIH19PC9oNj5cbn1cblxuQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbSkge1xuICAgIEBzd2l0Y2ggKGl0ZW0udHlwZSkge1xuICAgICAgICBAY2FzZSAoJ2RpdmlkZXInKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tZGl2aWRlclwiPjwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnZGVmYXVsdCcpIHtcbiAgICAgICAgICAgIDx1cGQtYnV0dG9uIFtjdXN0b21DbGFzc2VzXT1cIidkcm9wZG93bi1pdGVtJyArIChpdGVtLmlzRGlzYWJsZWQgPyAnIGRpc2FibGVkJyA6ICcnKSArIChpdGVtLmlzQWN0aXZlID8gJyBhY3RpdmUnIDogJycpXCJcbiAgICAgICAgICAgICAgICBbc2hvdWxkSWdub3JlQnRuQ2xhc3NdPVwidHJ1ZVwiIChjbGlja2VkKT1cIm9uU2VsZWN0KGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgQGlmICghIWl0ZW0uaWNvbikge1xuICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gW21vZGVsXT1cIml0ZW0uaWNvblwiIGN1c3RvbUNsYXNzZXM9XCJkcm9wZG93bi1pdGVtLWljb25cIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoISFpdGVtLmxlZnRCb3hUZXh0IHx8ICEhaXRlbS5sZWZ0Qm94SW1hZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoe3tpdGVtLmxlZnRCb3hJbWFnZX19KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF2YXRhciBhdmF0YXIteHMgcm91bmRlZCBtZS0yXCI+e3sgaXRlbS5sZWZ0Qm94VGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0U2VydmljZS5nZXRUZXh0KGl0ZW0udGV4dCkgfX1cblxuICAgICAgICAgICAgICAgIEBpZiAoISFpdGVtLmJhZGdlQ29sb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy17e2l0ZW0uYmFkZ2VDb2xvcn19IG1zLWF1dG9cIj57eyBpdGVtLmJhZGdlVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdyYWRpbycpIHtcbiAgICAgICAgICAgIDx1cGQtcmFkaW8gKHNlbGVjdGVkKT1cIm9uU2VsZWN0KGl0ZW0pXCIgW2xhYmVsXT1cIml0ZW0udGV4dFwiIFtpc0NoZWNrZWRdPVwiaXRlbS5pc0NoZWNrZWQgfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgIFt3cmFwcGVyQ2xhc3Nlc109XCInZHJvcGRvd24taXRlbScgKyAoaXRlbS5pc0Rpc2FibGVkID8gJyBkaXNhYmxlZCcgOiAnJykgKyAoaXRlbS5pc0FjdGl2ZSA/ICcgYWN0aXZlJyA6ICcnKVwiPjwvdXBkLXJhZGlvPlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnY2hlY2tib3gnKSB7XG4gICAgICAgICAgICA8dXBkLWNoZWNrYm94IChjaGFuZ2VkKT1cIm9uQ2hlY2tib3hDaGFuZ2UoaXRlbSwgJGV2ZW50KVwiIFtsYWJlbF09XCJpdGVtLnRleHRcIiBbaXNDaGVja2VkXT1cIml0ZW0uaXNDaGVja2VkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgICAgICBbaXNTd2l0Y2hdPVwiaXRlbS5pc1N3aXRjaCB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgW3dyYXBwZXJDbGFzc2VzXT1cIidkcm9wZG93bi1pdGVtJyArIChpdGVtLmlzRGlzYWJsZWQgPyAnIGRpc2FibGVkJyA6ICcnKSArIChpdGVtLmlzQWN0aXZlID8gJyBhY3RpdmUnIDogJycpXCI+PC91cGQtY2hlY2tib3g+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCd3aXRoLXRvb2xiYXInKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIFtjbGFzcy5kaXNhYmxlZF09XCJpdGVtLmlzRGlzYWJsZWRcIiBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uaXNBY3RpdmVcIiAoY2xpY2spPVwib25TZWxlY3QoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICBAaWYgKCEhaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwiaXRlbS5pY29uXCIgY3VzdG9tQ2xhc3Nlcz1cImRyb3Bkb3duLWl0ZW0taWNvblwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICghIWl0ZW0ubGVmdEJveFRleHQgfHwgISFpdGVtLmxlZnRCb3hJbWFnZSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IHVybCh7e2l0ZW0ubGVmdEJveEltYWdlfX0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXZhdGFyIGF2YXRhci14cyByb3VuZGVkIG1lLTJcIj57eyBpdGVtLmxlZnRCb3hUZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIm92ZXJmbG93Q2xhc3NcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdGV4dFNlcnZpY2UuZ2V0VGV4dChpdGVtLnRleHQpIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgQGlmICgoaXRlbS5hY3Rpb25CdXR0b25zPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy1hdXRvIGQtZmxleFwiIFtjbGFzcy5idG4tZ3JvdXBdPVwiaXRlbS50b29sYmFyVHlwZSA9PT0gJ2dyb3VwZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5nYXAtMV09XCJpdGVtLnRvb2xiYXJUeXBlID09PSAnc3BhY2VkJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoYnRuIG9mIGl0ZW0uYWN0aW9uQnV0dG9uczsgdHJhY2sgYnRuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1idXR0b24gW21vZGVsXT1cImFkYXB0QWN0aW9uKGJ0biwgaXRlbSlcIj48L3VwZC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoISFpdGVtLmJhZGdlQ29sb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy17e2l0ZW0uYmFkZ2VDb2xvcn19IG1zLWF1dG9cIj57eyBpdGVtLmJhZGdlVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './public-api';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJvcGRvd24vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYWN0aW9uLWNsaWNrZWQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJvcGRvd24vc3JjL21vZGVscy9kcm9wZG93bi1hY3Rpb24tY2xpY2tlZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnV0dG9uTW9kZWwgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuXG5pbXBvcnQgeyBEcm9wZG93bkl0ZW0gfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duQWN0aW9uQ2xpY2tlZE1vZGVsIHtcbiAgICBidXR0b246IEJ1dHRvbk1vZGVsO1xuICAgIGl0ZW06IERyb3Bkb3duSXRlbTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvbW9kZWxzL2Ryb3Bkb3duLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbk1vZGVsIH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcbmltcG9ydCB7IEljb25Nb2RlbCB9IGZyb20gJ0B1cGRldnMvaWNvbnMnO1xuaW1wb3J0IHsgVGV4dE1vZGVsIH0gZnJvbSAnQHVwZGV2cy9zZGsnO1xuaW1wb3J0IHsgQmdDb2xvclN0eWxlVHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcblxuaW1wb3J0IHsgRHJvcGRvd25JdGVtVHlwZSB9IGZyb20gJy4vZHJvcGRvd24taXRlbS50eXBlJztcbmltcG9ydCB7IFRvb2xiYXJUeXBlIH0gZnJvbSAnLi90b29sYmFyLnR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duSXRlbSB7XG4gICAgaWQ/OiBhbnk7XG4gICAgdGV4dD86IFRleHRNb2RlbDtcbiAgICBpY29uPzogSWNvbk1vZGVsO1xuICAgIHR5cGU6IERyb3Bkb3duSXRlbVR5cGU7XG4gICAgdG9vbGJhclR5cGU/OiBUb29sYmFyVHlwZTtcbiAgICAvKipcbiAgICAgKiBJZiB0eXBlIGlzIGNoZWNrYm94LCBhbmQgdGhpcyBpcyBzZXQsIHRoZSBzd2l0Y2ggc3R5bGUgd2lsbCBiZSB1c2VkLlxuICAgICAqL1xuICAgIGlzU3dpdGNoPzogYm9vbGVhbjtcbiAgICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gICAgbGVmdEJveFRleHQ/OiBzdHJpbmc7XG4gICAgbGVmdEJveEltYWdlPzogc3RyaW5nO1xuICAgIGJhZGdlQ29sb3I/OiBCZ0NvbG9yU3R5bGVUeXBlO1xuICAgIGJhZGdlVGV4dD86IHN0cmluZztcbiAgICBpc0NoZWNrZWQ/OiBib29sZWFuO1xuICAgIGFjdGlvbkJ1dHRvbnM/OiBCdXR0b25Nb2RlbFtdO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Ryb3Bkb3duL3NyYy9tb2RlbHMvZHJvcGRvd24taXRlbS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBEcm9wZG93bkl0ZW1UeXBlID0gJ2RlZmF1bHQnIHwgJ3JhZGlvJyB8ICdjaGVja2JveCcgfCAnZGl2aWRlcicgfCAnd2l0aC10b29sYmFyJztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './dropdown-action-clicked.model';
|
|
2
|
+
export * from './dropdown-item';
|
|
3
|
+
export * from './dropdown-item.type';
|
|
4
|
+
export * from './toolbar.type';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvbW9kZWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tYWN0aW9uLWNsaWNrZWQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24taXRlbS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbGJhci50eXBlJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Ryb3Bkb3duL3NyYy9tb2RlbHMvdG9vbGJhci50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBUb29sYmFyVHlwZSA9ICdncm91cGVkJyB8ICdzcGFjZWQnO1xuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './models/public-api';
|
|
2
|
+
export * from './dropdown.component';
|
|
3
|
+
export * from './upd-dropdown.module';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91cGQtZHJvcGRvd24ubW9kdWxlJztcbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { UpdIconsModule } from '@updevs/icons';
|
|
4
|
+
import { UpdButtonModule } from '@updevs/components/button';
|
|
5
|
+
import { UpdRadioModule } from '@updevs/components/form-controls/radio';
|
|
6
|
+
import { UpdCheckboxModule } from '@updevs/components/form-controls/checkbox';
|
|
7
|
+
import { DropdownComponent } from './dropdown.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class UpdDropdownModule {
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdDropdownModule, declarations: [DropdownComponent], imports: [CommonModule,
|
|
12
|
+
UpdIconsModule,
|
|
13
|
+
UpdRadioModule,
|
|
14
|
+
UpdCheckboxModule,
|
|
15
|
+
UpdButtonModule], exports: [DropdownComponent] }); }
|
|
16
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdDropdownModule, imports: [CommonModule,
|
|
17
|
+
UpdIconsModule,
|
|
18
|
+
UpdRadioModule,
|
|
19
|
+
UpdCheckboxModule,
|
|
20
|
+
UpdButtonModule] }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdDropdownModule, decorators: [{
|
|
23
|
+
type: NgModule,
|
|
24
|
+
args: [{
|
|
25
|
+
imports: [
|
|
26
|
+
CommonModule,
|
|
27
|
+
UpdIconsModule,
|
|
28
|
+
UpdRadioModule,
|
|
29
|
+
UpdCheckboxModule,
|
|
30
|
+
UpdButtonModule
|
|
31
|
+
],
|
|
32
|
+
declarations: [
|
|
33
|
+
DropdownComponent
|
|
34
|
+
],
|
|
35
|
+
exports: [
|
|
36
|
+
DropdownComponent
|
|
37
|
+
]
|
|
38
|
+
}]
|
|
39
|
+
}] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLWRyb3Bkb3duLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvdXBkLWRyb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBaUJ6RCxNQUFNLE9BQU8saUJBQWlCOzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFOdEIsaUJBQWlCLGFBUGpCLFlBQVk7WUFDWixjQUFjO1lBQ2QsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixlQUFlLGFBTWYsaUJBQWlCOytHQUdaLGlCQUFpQixZQWJ0QixZQUFZO1lBQ1osY0FBYztZQUNkLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsZUFBZTs7MkZBU1YsaUJBQWlCO2tCQWY3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGVBQWU7cUJBQ2xCO29CQUNELFlBQVksRUFBRTt3QkFDVixpQkFBaUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7cUJBQ3BCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBVcGRJY29uc01vZHVsZSB9IGZyb20gJ0B1cGRldnMvaWNvbnMnO1xuaW1wb3J0IHsgVXBkQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBVcGRSYWRpb01vZHVsZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3JhZGlvJztcbmltcG9ydCB7IFVwZENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvY2hlY2tib3gnO1xuXG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVXBkSWNvbnNNb2R1bGUsXG4gICAgICAgIFVwZFJhZGlvTW9kdWxlLFxuICAgICAgICBVcGRDaGVja2JveE1vZHVsZSxcbiAgICAgICAgVXBkQnV0dG9uTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRHJvcGRvd25Db21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRHJvcGRvd25Db21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFVwZERyb3Bkb3duTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkZXZzLWNvbXBvbmVudHMtZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJvcGRvd24vc3JjL3VwZGV2cy1jb21wb25lbnRzLWRyb3Bkb3duLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"UpDevs": {
|
|
3
|
+
"Form": {
|
|
4
|
+
"Submit": "Submit",
|
|
5
|
+
"ErrorMessages": {
|
|
6
|
+
"Generic": "Error",
|
|
7
|
+
"Email": "Invalid email",
|
|
8
|
+
"Max": "Value should not be greater than {{value}}",
|
|
9
|
+
"Min": "Value should not be lower than {{value}}",
|
|
10
|
+
"MaxLength": "Maximum length: {{value}}",
|
|
11
|
+
"MinLength": "Minimum length: {{value}}",
|
|
12
|
+
"Required": "Required field",
|
|
13
|
+
"RequiredTrue": "This field must be selected"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"UpDevs": {
|
|
3
|
+
"Form": {
|
|
4
|
+
"Submit": "Enviar",
|
|
5
|
+
"ErrorMessages": {
|
|
6
|
+
"Generic": "Erro",
|
|
7
|
+
"Email": "E-mail inválido",
|
|
8
|
+
"Max": "O valor não pode ser maior do que {{value}}",
|
|
9
|
+
"Min": "O valor não pode ser menor do que {{value}}",
|
|
10
|
+
"MaxLength": "Tamanho máximo permitido: {{value}}",
|
|
11
|
+
"MinLength": "Tamanho mínimo permitido: {{value}}",
|
|
12
|
+
"Required": "Campo obrigatório",
|
|
13
|
+
"RequiredTrue": "Este campo deve ser selecionado"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { Component, HostBinding, inject, input } from '@angular/core';
|
|
2
|
+
import { TextService } from '@updevs/sdk';
|
|
3
|
+
import { BaseComponent } from '@updevs/sdk/layout';
|
|
4
|
+
import { ColumnSizeHelper } from '@updevs/components';
|
|
5
|
+
import { Defaults as SelectDefaults } from '@updevs/components/form-controls/select';
|
|
6
|
+
import { ErrorsHelper } from '../../tools/errors-helper';
|
|
7
|
+
import { DynamicFieldType } from '../../models/enums/dynamic-field.type';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@updevs/components/form-controls/input";
|
|
10
|
+
import * as i2 from "@updevs/components/form-controls/checkbox";
|
|
11
|
+
import * as i3 from "@updevs/components/form-controls/radio";
|
|
12
|
+
import * as i4 from "@updevs/components/form-controls/select";
|
|
13
|
+
import * as i5 from "@updevs/components/form-controls/textarea";
|
|
14
|
+
import * as i6 from "@updevs/components/form-controls/file-upload";
|
|
15
|
+
export class DynamicFieldComponent extends BaseComponent {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.wrapperClasses = '';
|
|
19
|
+
this.DynamicFieldType = DynamicFieldType;
|
|
20
|
+
this.SelectDefaults = SelectDefaults;
|
|
21
|
+
this.formGroup = input.required();
|
|
22
|
+
this.field = input.required();
|
|
23
|
+
this.layout = input.required();
|
|
24
|
+
this.validationStatusDescriptions = [];
|
|
25
|
+
this.errorsHelper = inject(ErrorsHelper);
|
|
26
|
+
this.textService = inject(TextService);
|
|
27
|
+
}
|
|
28
|
+
get formControl() {
|
|
29
|
+
return this.formGroup().controls[this.field().name];
|
|
30
|
+
}
|
|
31
|
+
get checkboxField() {
|
|
32
|
+
return this.field();
|
|
33
|
+
}
|
|
34
|
+
get checkboxGroupField() {
|
|
35
|
+
return this.field();
|
|
36
|
+
}
|
|
37
|
+
get radioField() {
|
|
38
|
+
return this.field();
|
|
39
|
+
}
|
|
40
|
+
get radioGroupField() {
|
|
41
|
+
return this.field();
|
|
42
|
+
}
|
|
43
|
+
get selectField() {
|
|
44
|
+
return this.field();
|
|
45
|
+
}
|
|
46
|
+
get singleSelectField() {
|
|
47
|
+
return this.field();
|
|
48
|
+
}
|
|
49
|
+
get textareaField() {
|
|
50
|
+
return this.field();
|
|
51
|
+
}
|
|
52
|
+
get fileUploadField() {
|
|
53
|
+
return this.field();
|
|
54
|
+
}
|
|
55
|
+
get checkboxGroupOptionsKeys() {
|
|
56
|
+
return Object.keys(this.checkboxGroupField.options);
|
|
57
|
+
}
|
|
58
|
+
get radioGroupOptionsKeys() {
|
|
59
|
+
return Object.keys(this.radioGroupField.options);
|
|
60
|
+
}
|
|
61
|
+
get fileNameControl() {
|
|
62
|
+
return !!this.fileUploadField.fileNameFormProperty
|
|
63
|
+
? this.formGroup().controls[this.fileUploadField.fileNameFormProperty]
|
|
64
|
+
: undefined;
|
|
65
|
+
}
|
|
66
|
+
ngOnInit() {
|
|
67
|
+
const statusSub = this.formControl.statusChanges.subscribe(status => {
|
|
68
|
+
if (status === 'INVALID') {
|
|
69
|
+
this.validationStatusDescriptions = this.errorsHelper.getMessages(this.formControl)
|
|
70
|
+
.map(t => ({ text: t, isTranslated: true }));
|
|
71
|
+
this.validationStatus = 'invalid';
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.validationStatusDescriptions = [];
|
|
75
|
+
this.validationStatus = this.field().showValidStatus ? 'valid' : undefined;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
this.setupWrapperClasses();
|
|
79
|
+
this.addSubscriptions(statusSub);
|
|
80
|
+
}
|
|
81
|
+
onBlur() {
|
|
82
|
+
if (this.field().shouldValidateOnBlur) {
|
|
83
|
+
this.formControl.updateValueAndValidity();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
getText(textModel) {
|
|
87
|
+
return this.textService.getText(textModel);
|
|
88
|
+
}
|
|
89
|
+
getOptionDescription(key, type) {
|
|
90
|
+
return type === 'checkbox' ? this.checkboxGroupField.options[key] : this.radioGroupField.options[key];
|
|
91
|
+
}
|
|
92
|
+
handleFileSelected(event) {
|
|
93
|
+
this.formControl.setValue(!!this.fileUploadField.saveAsDataUrl ? event?.dataUrl : event?.file);
|
|
94
|
+
if (!!this.fileUploadField.fileNameFormProperty) {
|
|
95
|
+
this.fileNameControl.setValue(event?.file.name);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
setupWrapperClasses() {
|
|
99
|
+
this.wrapperClasses = ColumnSizeHelper.getSizeClasses(this.field().colSize);
|
|
100
|
+
}
|
|
101
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DynamicFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
102
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: DynamicFieldComponent, selector: "upd-dynamic-field", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, ngImport: i0, template: "@switch (field().type) {\n @case (DynamicFieldType.Input) {\n <upd-input [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [layout]=\"layout()\" [isDisabled]=\"field().isDisabled || false\"\n [type]=\"field().inputType || 'text'\" [labelColSize]=\"field().labelColSize\" [value]=\"formControl.value\"\n (valueChange)=\"formControl.setValue($event)\" (blurred)=\"onBlur()\"></upd-input>\n }\n @case (DynamicFieldType.Checkbox) {\n <upd-checkbox [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isDisabled]=\"field().isDisabled || false\" [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n [isSwitch]=\"checkboxField.isSwitch || false\" (changed)=\"formControl.setValue($event)\"></upd-checkbox>\n }\n @case (DynamicFieldType.CheckboxGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of checkboxGroupOptionsKeys; track option) {\n <upd-checkbox [name]=\"field().name\" [label]=\"getOptionDescription(option, 'checkbox')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\" [isSwitch]=\"checkboxField.isSwitch || false\"\n (changed)=\"formControl.setValue(option)\"></upd-checkbox>\n }\n }\n @case (DynamicFieldType.Radio) {\n <upd-radio [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isChecked]=\"formControl.value\" [isDisabled]=\"field().isDisabled || false\" [isInline]=\"radioField.isInline || false\"\n (selected)=\"formControl.setValue($event)\">\n </upd-radio>\n }\n @case (DynamicFieldType.RadioGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of radioGroupOptionsKeys; track option) {\n <upd-radio [name]=\"field().name\" [label]=\"getOptionDescription(option, 'radio')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n (selected)=\"formControl.setValue(option)\"></upd-radio>\n }\n }\n @case (DynamicFieldType.Select) {\n <upd-select [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\"\n [useSystemStyle]=\"singleSelectField.useSystemStyle || false\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedItem)=\"formControl.setValue($event?.value)\"></upd-select>\n }\n @case (DynamicFieldType.SelectMultiple) {\n <upd-select-multiple [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedIds)=\"formControl.setValue($event)\"></upd-select-multiple>\n }\n @case (DynamicFieldType.Label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n @case (DynamicFieldType.TextArea) {\n <upd-textarea [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [value]=\"formControl.value\" [customClasses]=\"textareaField.customClasses\" [wrapperClasses]=\"textareaField.wrapperClasses\"\n [maxLength]=\"textareaField.maxLength\" [rows]=\"textareaField.rows\"\n [displayCharactersCount]=\"textareaField.displayCharactersCount || false\"></upd-textarea>\n }\n @case (DynamicFieldType.FileUpload) {\n <upd-file-upload [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [isDisabled]=\"field().isDisabled || false\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\" [fileName]=\"fileNameControl?.value\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [allowFilesDrop]=\"fileUploadField.allowFilesDrop || false\"\n [title]=\"fileUploadField.title\" [labelColSize]=\"field().labelColSize\" [minFileSize]=\"fileUploadField.minFileSize\"\n [isMultiple]=\"fileUploadField.isMultiple || false\" [allowedExtensions]=\"fileUploadField.allowedExtensions || '*'\"\n [maxFileSize]=\"fileUploadField.maxFileSize\" [layout]=\"layout()\" (fileChanged)=\"handleFileSelected($event)\"></upd-file-upload>\n }\n}\n", styles: [""], dependencies: [{ kind: "component", type: i1.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "maxLength", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "loaderPosition", "prependIconModel", "appendIconModel", "isValidationStatusLight", "layout"], outputs: ["valueChange", "blurred", "keyDown", "keyDownEsc", "keyUpEnter"] }, { kind: "component", type: i2.CheckboxComponent, selector: "upd-checkbox", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline", "isSwitch", "isIndeterminate"], outputs: ["changed", "isCheckedChange", "isIndeterminateChange"] }, { kind: "component", type: i3.RadioComponent, selector: "upd-radio", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline"], outputs: ["selected"] }, { kind: "component", type: i4.SelectComponent, selector: "upd-select", inputs: ["useSystemStyle", "shouldShowClearButton", "isCompact", "selected"], outputs: ["selectedItem"] }, { kind: "component", type: i4.SelectMultipleComponent, selector: "upd-select-multiple", outputs: ["selectedItems", "selectedIds"] }, { kind: "component", type: i5.TextareaComponent, selector: "upd-textarea", inputs: ["value", "customClasses", "wrapperClasses", "maxLength", "rows", "displayCharactersCount"], outputs: ["valueChange"] }, { kind: "component", type: i6.FileUploadComponent, selector: "upd-file-upload", inputs: ["fileName", "title", "allowFilesDrop", "isMultiple", "allowedExtensions", "minFileSize", "maxFileSize", "layout"], outputs: ["fileChanged"] }] }); }
|
|
103
|
+
}
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DynamicFieldComponent, decorators: [{
|
|
105
|
+
type: Component,
|
|
106
|
+
args: [{ selector: 'upd-dynamic-field', template: "@switch (field().type) {\n @case (DynamicFieldType.Input) {\n <upd-input [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [layout]=\"layout()\" [isDisabled]=\"field().isDisabled || false\"\n [type]=\"field().inputType || 'text'\" [labelColSize]=\"field().labelColSize\" [value]=\"formControl.value\"\n (valueChange)=\"formControl.setValue($event)\" (blurred)=\"onBlur()\"></upd-input>\n }\n @case (DynamicFieldType.Checkbox) {\n <upd-checkbox [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isDisabled]=\"field().isDisabled || false\" [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n [isSwitch]=\"checkboxField.isSwitch || false\" (changed)=\"formControl.setValue($event)\"></upd-checkbox>\n }\n @case (DynamicFieldType.CheckboxGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of checkboxGroupOptionsKeys; track option) {\n <upd-checkbox [name]=\"field().name\" [label]=\"getOptionDescription(option, 'checkbox')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\" [isSwitch]=\"checkboxField.isSwitch || false\"\n (changed)=\"formControl.setValue(option)\"></upd-checkbox>\n }\n }\n @case (DynamicFieldType.Radio) {\n <upd-radio [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isChecked]=\"formControl.value\" [isDisabled]=\"field().isDisabled || false\" [isInline]=\"radioField.isInline || false\"\n (selected)=\"formControl.setValue($event)\">\n </upd-radio>\n }\n @case (DynamicFieldType.RadioGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of radioGroupOptionsKeys; track option) {\n <upd-radio [name]=\"field().name\" [label]=\"getOptionDescription(option, 'radio')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n (selected)=\"formControl.setValue(option)\"></upd-radio>\n }\n }\n @case (DynamicFieldType.Select) {\n <upd-select [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\"\n [useSystemStyle]=\"singleSelectField.useSystemStyle || false\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedItem)=\"formControl.setValue($event?.value)\"></upd-select>\n }\n @case (DynamicFieldType.SelectMultiple) {\n <upd-select-multiple [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedIds)=\"formControl.setValue($event)\"></upd-select-multiple>\n }\n @case (DynamicFieldType.Label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n @case (DynamicFieldType.TextArea) {\n <upd-textarea [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [value]=\"formControl.value\" [customClasses]=\"textareaField.customClasses\" [wrapperClasses]=\"textareaField.wrapperClasses\"\n [maxLength]=\"textareaField.maxLength\" [rows]=\"textareaField.rows\"\n [displayCharactersCount]=\"textareaField.displayCharactersCount || false\"></upd-textarea>\n }\n @case (DynamicFieldType.FileUpload) {\n <upd-file-upload [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [isDisabled]=\"field().isDisabled || false\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\" [fileName]=\"fileNameControl?.value\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [allowFilesDrop]=\"fileUploadField.allowFilesDrop || false\"\n [title]=\"fileUploadField.title\" [labelColSize]=\"field().labelColSize\" [minFileSize]=\"fileUploadField.minFileSize\"\n [isMultiple]=\"fileUploadField.isMultiple || false\" [allowedExtensions]=\"fileUploadField.allowedExtensions || '*'\"\n [maxFileSize]=\"fileUploadField.maxFileSize\" [layout]=\"layout()\" (fileChanged)=\"handleFileSelected($event)\"></upd-file-upload>\n }\n}\n" }]
|
|
107
|
+
}], propDecorators: { wrapperClasses: [{
|
|
108
|
+
type: HostBinding,
|
|
109
|
+
args: ['class']
|
|
110
|
+
}] } });
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS9zcmMvY29tcG9uZW50cy9keW5hbWljLWZpZWxkL2R5bmFtaWMtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm0vc3JjL2NvbXBvbmVudHMvZHluYW1pYy1maWVsZC9keW5hbWljLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsV0FBVyxFQUFFLE1BQU0sRUFBZSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFhLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFnRCxNQUFNLG9CQUFvQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLElBQUksY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFJckYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7OztBQWV6RSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQUx4RDs7UUFNMEIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFFMUMscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFDcEMsbUJBQWMsR0FBRyxjQUFjLENBQUM7UUFDaEMsY0FBUyxHQUEyQixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckQsVUFBSyxHQUFtQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekQsV0FBTSxHQUF3QyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7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b3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0U2lnbmFsLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRleHRNb2RlbCwgVGV4dFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkayc7XG5pbXBvcnQgeyBPcHRpb25hbFR5cGUgfSBmcm9tICdAdXBkZXZzL3Nkay90eXBlcyc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcbmltcG9ydCB7IENvbHVtblNpemVIZWxwZXIsIEhvcml6b250YWxWZXJ0aWNhbFR5cGUsIFZhbGlkYXRpb25TdGF0dXNUeXBlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzJztcbmltcG9ydCB7IERlZmF1bHRzIGFzIFNlbGVjdERlZmF1bHRzIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0JztcbmltcG9ydCB7IEZpbGVVcGxvYWRDaGFuZ2VkRXZlbnQgfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9maWxlLXVwbG9hZCc7XG5cbmltcG9ydCB7IEZpbGVVcGxvYWRGaWVsZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbGUtdXBsb2FkLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEVycm9yc0hlbHBlciB9IGZyb20gJy4uLy4uL3Rvb2xzL2Vycm9ycy1oZWxwZXInO1xuaW1wb3J0IHsgRHluYW1pY0ZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9lbnVtcy9keW5hbWljLWZpZWxkLnR5cGUnO1xuaW1wb3J0IHsgRHluYW1pY0ZpZWxkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHluYW1pYy1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBDaGVja2JveEZpZWxkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hlY2tib3gtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgUmFkaW9GaWVsZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JhZGlvLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IFNlbGVjdEZpZWxkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IFNpbmdsZVNlbGVjdEZpZWxkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2luZ2xlLXNlbGVjdC1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBDaGVja2JveEdyb3VwRmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jaGVja2JveC1ncm91cC1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBSYWRpb0dyb3VwRmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9yYWRpby1ncm91cC1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBUZXh0YXJlYUZpZWxkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGV4dGFyZWEtZmllbGQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1keW5hbWljLWZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2R5bmFtaWMtZmllbGQuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSB3cmFwcGVyQ2xhc3NlcyA9ICcnO1xuXG4gICAgRHluYW1pY0ZpZWxkVHlwZSA9IER5bmFtaWNGaWVsZFR5cGU7XG4gICAgU2VsZWN0RGVmYXVsdHMgPSBTZWxlY3REZWZhdWx0cztcbiAgICBmb3JtR3JvdXA6IElucHV0U2lnbmFsPEZvcm1Hcm91cD4gPSBpbnB1dC5yZXF1aXJlZCgpO1xuICAgIGZpZWxkOiBJbnB1dFNpZ25hbDxEeW5hbWljRmllbGRNb2RlbD4gPSBpbnB1dC5yZXF1aXJlZCgpO1xuICAgIGxheW91dDogSW5wdXRTaWduYWw8SG9yaXpvbnRhbFZlcnRpY2FsVHlwZT4gPSBpbnB1dC5yZXF1aXJlZCgpO1xuICAgIHZhbGlkYXRpb25TdGF0dXM/OiBWYWxpZGF0aW9uU3RhdHVzVHlwZTtcbiAgICB2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zOiBUZXh0TW9kZWxbXSA9IFtdO1xuICAgIGdldCBmb3JtQ29udHJvbCgpOiBGb3JtQ29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cCgpLmNvbnRyb2xzW3RoaXMuZmllbGQoKS5uYW1lXSBhcyBGb3JtQ29udHJvbDtcbiAgICB9XG4gICAgZ2V0IGNoZWNrYm94RmllbGQoKTogQ2hlY2tib3hGaWVsZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoKSBhcyBDaGVja2JveEZpZWxkTW9kZWw7XG4gICAgfVxuICAgIGdldCBjaGVja2JveEdyb3VwRmllbGQoKTogQ2hlY2tib3hHcm91cEZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZCgpIGFzIENoZWNrYm94R3JvdXBGaWVsZE1vZGVsO1xuICAgIH1cbiAgICBnZXQgcmFkaW9GaWVsZCgpOiBDaGVja2JveEZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZCgpIGFzIFJhZGlvRmllbGRNb2RlbDtcbiAgICB9XG4gICAgZ2V0IHJhZGlvR3JvdXBGaWVsZCgpOiBSYWRpb0dyb3VwRmllbGRNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkKCkgYXMgUmFkaW9Hcm91cEZpZWxkTW9kZWw7XG4gICAgfVxuICAgIGdldCBzZWxlY3RGaWVsZCgpOiBTZWxlY3RGaWVsZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoKSBhcyBTZWxlY3RGaWVsZE1vZGVsO1xuICAgIH1cbiAgICBnZXQgc2luZ2xlU2VsZWN0RmllbGQoKTogU2luZ2xlU2VsZWN0RmllbGRNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkKCkgYXMgU2luZ2xlU2VsZWN0RmllbGRNb2RlbDtcbiAgICB9XG4gICAgZ2V0IHRleHRhcmVhRmllbGQoKTogVGV4dGFyZWFGaWVsZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoKSBhcyBUZXh0YXJlYUZpZWxkTW9kZWw7XG4gICAgfVxuICAgIGdldCBmaWxlVXBsb2FkRmllbGQoKTogRmlsZVVwbG9hZEZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZCgpIGFzIEZpbGVVcGxvYWRGaWVsZE1vZGVsO1xuICAgIH1cbiAgICBnZXQgY2hlY2tib3hHcm91cE9wdGlvbnNLZXlzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuY2hlY2tib3hHcm91cEZpZWxkLm9wdGlvbnMpO1xuICAgIH1cbiAgICBnZXQgcmFkaW9Hcm91cE9wdGlvbnNLZXlzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMucmFkaW9Hcm91cEZpZWxkLm9wdGlvbnMpO1xuICAgIH1cbiAgICBnZXQgZmlsZU5hbWVDb250cm9sKCk6IE9wdGlvbmFsVHlwZTxGb3JtQ29udHJvbD4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpbGVVcGxvYWRGaWVsZC5maWxlTmFtZUZvcm1Qcm9wZXJ0eVxuICAgICAgICAgICAgPyB0aGlzLmZvcm1Hcm91cCgpLmNvbnRyb2xzW3RoaXMuZmlsZVVwbG9hZEZpZWxkLmZpbGVOYW1lRm9ybVByb3BlcnR5XSBhcyBGb3JtQ29udHJvbFxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvcnNIZWxwZXIgPSBpbmplY3QoRXJyb3JzSGVscGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRTZXJ2aWNlID0gaW5qZWN0KFRleHRTZXJ2aWNlKTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGF0dXNTdWIgPSB0aGlzLmZvcm1Db250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICAgICAgICBpZiAoc3RhdHVzID09PSAnSU5WQUxJRCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnMgPSB0aGlzLmVycm9yc0hlbHBlci5nZXRNZXNzYWdlcyh0aGlzLmZvcm1Db250cm9sKVxuICAgICAgICAgICAgICAgICAgICAubWFwKHQgPT4gKHsgdGV4dDogdCwgaXNUcmFuc2xhdGVkOiB0cnVlIH0pKTtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25TdGF0dXMgPSAnaW52YWxpZCc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9ucyA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblN0YXR1cyA9IHRoaXMuZmllbGQoKS5zaG93VmFsaWRTdGF0dXMgPyAndmFsaWQnIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnNldHVwV3JhcHBlckNsYXNzZXMoKTtcbiAgICAgICAgdGhpcy5hZGRTdWJzY3JpcHRpb25zKHN0YXR1c1N1Yik7XG4gICAgfVxuXG4gICAgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5maWVsZCgpLnNob3VsZFZhbGlkYXRlT25CbHVyKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFRleHQodGV4dE1vZGVsPzogVGV4dE1vZGVsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dFNlcnZpY2UuZ2V0VGV4dCh0ZXh0TW9kZWwpO1xuICAgIH1cblxuICAgIGdldE9wdGlvbkRlc2NyaXB0aW9uKGtleTogc3RyaW5nLCB0eXBlOiAnY2hlY2tib3gnIHwgJ3JhZGlvJyk6IE9wdGlvbmFsVHlwZTxUZXh0TW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIHR5cGUgPT09ICdjaGVja2JveCcgPyB0aGlzLmNoZWNrYm94R3JvdXBGaWVsZC5vcHRpb25zW2tleV0gOiB0aGlzLnJhZGlvR3JvdXBGaWVsZC5vcHRpb25zW2tleV07XG4gICAgfVxuXG4gICAgaGFuZGxlRmlsZVNlbGVjdGVkKGV2ZW50PzogRmlsZVVwbG9hZENoYW5nZWRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKCEhdGhpcy5maWxlVXBsb2FkRmllbGQuc2F2ZUFzRGF0YVVybCA/IGV2ZW50Py5kYXRhVXJsIDogZXZlbnQ/LmZpbGUpO1xuXG4gICAgICAgIGlmICghIXRoaXMuZmlsZVVwbG9hZEZpZWxkLmZpbGVOYW1lRm9ybVByb3BlcnR5KSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVOYW1lQ29udHJvbCEuc2V0VmFsdWUoZXZlbnQ/LmZpbGUubmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwV3JhcHBlckNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JhcHBlckNsYXNzZXMgPSBDb2x1bW5TaXplSGVscGVyLmdldFNpemVDbGFzc2VzKHRoaXMuZmllbGQoKS5jb2xTaXplKTtcbiAgICB9XG59XG4iLCJAc3dpdGNoIChmaWVsZCgpLnR5cGUpIHtcbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5JbnB1dCkge1xuICAgICAgICA8dXBkLWlucHV0IFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW3BsYWNlaG9sZGVyXT1cImZpZWxkKCkucGxhY2Vob2xkZXJcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCIgW3ZhbGlkYXRpb25TdGF0dXNdPVwidmFsaWRhdGlvblN0YXR1c1wiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW2xheW91dF09XCJsYXlvdXQoKVwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbdHlwZV09XCJmaWVsZCgpLmlucHV0VHlwZSB8fCAndGV4dCdcIiBbbGFiZWxDb2xTaXplXT1cImZpZWxkKCkubGFiZWxDb2xTaXplXCIgW3ZhbHVlXT1cImZvcm1Db250cm9sLnZhbHVlXCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSgkZXZlbnQpXCIgKGJsdXJyZWQpPVwib25CbHVyKClcIj48L3VwZC1pbnB1dD5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuQ2hlY2tib3gpIHtcbiAgICAgICAgPHVwZC1jaGVja2JveCBbbmFtZV09XCJmaWVsZCgpLm5hbWVcIiBbbGFiZWxdPVwiZmllbGQoKS5sYWJlbFwiIFtoaW50XT1cImZpZWxkKCkuaGludFwiIFtoaW50QXNUb29sdGlwXT1cImZpZWxkKCkuaGludEFzVG9vbHRpcCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c109XCJ2YWxpZGF0aW9uU3RhdHVzXCIgW3ZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnNdPVwidmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc1wiIFt2YWx1ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiIFtpc0NoZWNrZWRdPVwiZm9ybUNvbnRyb2wudmFsdWVcIiBbaXNJbmxpbmVdPVwiY2hlY2tib3hGaWVsZC5pc0lubGluZSB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbaXNTd2l0Y2hdPVwiY2hlY2tib3hGaWVsZC5pc1N3aXRjaCB8fCBmYWxzZVwiIChjaGFuZ2VkKT1cImZvcm1Db250cm9sLnNldFZhbHVlKCRldmVudClcIj48L3VwZC1jaGVja2JveD5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuQ2hlY2tib3hHcm91cCkge1xuICAgICAgICBAaWYgKCEhZmllbGQoKS5sYWJlbCkge1xuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7IGdldFRleHQoZmllbGQoKS5sYWJlbCkgfX08L2xhYmVsPlxuICAgICAgICB9XG5cbiAgICAgICAgQGZvciAob3B0aW9uIG9mIGNoZWNrYm94R3JvdXBPcHRpb25zS2V5czsgdHJhY2sgb3B0aW9uKSB7XG4gICAgICAgICAgICA8dXBkLWNoZWNrYm94IFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJnZXRPcHRpb25EZXNjcmlwdGlvbihvcHRpb24sICdjaGVja2JveCcpXCIgW2hpbnRdPVwiZmllbGQoKS5oaW50XCJcbiAgICAgICAgICAgICAgICBbaGludEFzVG9vbHRpcF09XCJmaWVsZCgpLmhpbnRBc1Rvb2x0aXAgfHwgZmFsc2VcIiBbdmFsaWRhdGlvblN0YXR1c109XCJ2YWxpZGF0aW9uU3RhdHVzXCJcbiAgICAgICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJmb3JtQ29udHJvbC52YWx1ZVwiIFtpc0lubGluZV09XCJjaGVja2JveEZpZWxkLmlzSW5saW5lIHx8IGZhbHNlXCIgW2lzU3dpdGNoXT1cImNoZWNrYm94RmllbGQuaXNTd2l0Y2ggfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2VkKT1cImZvcm1Db250cm9sLnNldFZhbHVlKG9wdGlvbilcIj48L3VwZC1jaGVja2JveD5cbiAgICAgICAgfVxuICAgIH1cbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5SYWRpbykge1xuICAgICAgICA8dXBkLXJhZGlvIFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW2hpbnRdPVwiZmllbGQoKS5oaW50XCIgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFt2YWxpZGF0aW9uU3RhdHVzXT1cInZhbGlkYXRpb25TdGF0dXNcIiBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW3ZhbHVlXT1cInRydWVcIlxuICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJmb3JtQ29udHJvbC52YWx1ZVwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiIFtpc0lubGluZV09XCJyYWRpb0ZpZWxkLmlzSW5saW5lIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIChzZWxlY3RlZCk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSgkZXZlbnQpXCI+XG4gICAgICAgIDwvdXBkLXJhZGlvPlxuICAgIH1cbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5SYWRpb0dyb3VwKSB7XG4gICAgICAgIEBpZiAoISFmaWVsZCgpLmxhYmVsKSB7XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgZ2V0VGV4dChmaWVsZCgpLmxhYmVsKSB9fTwvbGFiZWw+XG4gICAgICAgIH1cblxuICAgICAgICBAZm9yIChvcHRpb24gb2YgcmFkaW9Hcm91cE9wdGlvbnNLZXlzOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgICAgIDx1cGQtcmFkaW8gW25hbWVdPVwiZmllbGQoKS5uYW1lXCIgW2xhYmVsXT1cImdldE9wdGlvbkRlc2NyaXB0aW9uKG9wdGlvbiwgJ3JhZGlvJylcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgICAgIFtoaW50QXNUb29sdGlwXT1cImZpZWxkKCkuaGludEFzVG9vbHRpcCB8fCBmYWxzZVwiIFt2YWxpZGF0aW9uU3RhdHVzXT1cInZhbGlkYXRpb25TdGF0dXNcIlxuICAgICAgICAgICAgICAgIFt2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXT1cInZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCIgW2lzRGlzYWJsZWRdPVwiZmllbGQoKS5pc0Rpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgICAgICBbaXNDaGVja2VkXT1cImZvcm1Db250cm9sLnZhbHVlXCIgW2lzSW5saW5lXT1cImNoZWNrYm94RmllbGQuaXNJbmxpbmUgfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZShvcHRpb24pXCI+PC91cGQtcmFkaW8+XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuU2VsZWN0KSB7XG4gICAgICAgIDx1cGQtc2VsZWN0IFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW2hpbnRdPVwiZmllbGQoKS5oaW50XCIgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFt2YWxpZGF0aW9uU3RhdHVzXT1cInZhbGlkYXRpb25TdGF0dXNcIiBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCJcbiAgICAgICAgICAgIFt1c2VTeXN0ZW1TdHlsZV09XCJzaW5nbGVTZWxlY3RGaWVsZC51c2VTeXN0ZW1TdHlsZSB8fCBmYWxzZVwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbaXRlbXNdPVwic2VsZWN0RmllbGQuaXRlbXNcIiBbbGF5b3V0XT1cImxheW91dCgpXCIgW2xhYmVsQ29sU2l6ZV09XCJmaWVsZCgpLmxhYmVsQ29sU2l6ZVwiIFtzdG9yZV09XCJzZWxlY3RGaWVsZC5zdG9yZSFcIlxuICAgICAgICAgICAgW29ic2VydmFibGVdPVwic2VsZWN0RmllbGQub2JzZXJ2YWJsZVwiIFtpdGVtS2V5XT1cInNlbGVjdEZpZWxkLml0ZW1LZXlcIiBbaXRlbVZhbHVlXT1cInNlbGVjdEZpZWxkLml0ZW1WYWx1ZVwiXG4gICAgICAgICAgICBbZHJvcGRvd25NYXhIZWlnaHRdPVwic2VsZWN0RmllbGQuZHJvcGRvd25NYXhIZWlnaHQgfHwgU2VsZWN0RGVmYXVsdHMuZHJvcGRvd25NYXhIZWlnaHRcIlxuICAgICAgICAgICAgW3R5cGVhaGVhZERlYm91bmNlXT1cInNlbGVjdEZpZWxkLnR5cGVhaGVhZERlYm91bmNlIHx8IFNlbGVjdERlZmF1bHRzLnR5cGVhaGVhZERlYm91bmNlXCJcbiAgICAgICAgICAgIFtzaG91bGRBdXRvU2VhcmNoXT1cInNlbGVjdEZpZWxkLnNob3VsZEF1dG9TZWFyY2ggfHwgU2VsZWN0RGVmYXVsdHMuc2hvdWxkQXV0b1NlYXJjaFwiXG4gICAgICAgICAgICBbc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGlja109XCJzZWxlY3RGaWVsZC5zaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrIHx8IFNlbGVjdERlZmF1bHRzLnNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2tcIlxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSgkZXZlbnQ/LnZhbHVlKVwiPjwvdXBkLXNlbGVjdD5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuU2VsZWN0TXVsdGlwbGUpIHtcbiAgICAgICAgPHVwZC1zZWxlY3QtbXVsdGlwbGUgW25hbWVdPVwiZmllbGQoKS5uYW1lXCIgW2xhYmVsXT1cImZpZWxkKCkubGFiZWxcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCIgW3ZhbGlkYXRpb25TdGF0dXNdPVwidmFsaWRhdGlvblN0YXR1c1wiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW2lzRGlzYWJsZWRdPVwiZmllbGQoKS5pc0Rpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJzZWxlY3RGaWVsZC5pdGVtc1wiIFtsYXlvdXRdPVwibGF5b3V0KClcIiBbbGFiZWxDb2xTaXplXT1cImZpZWxkKCkubGFiZWxDb2xTaXplXCIgW3N0b3JlXT1cInNlbGVjdEZpZWxkLnN0b3JlIVwiXG4gICAgICAgICAgICBbb2JzZXJ2YWJsZV09XCJzZWxlY3RGaWVsZC5vYnNlcnZhYmxlXCIgW2l0ZW1LZXldPVwic2VsZWN0RmllbGQuaXRlbUtleVwiIFtpdGVtVmFsdWVdPVwic2VsZWN0RmllbGQuaXRlbVZhbHVlXCJcbiAgICAgICAgICAgIFtkcm9wZG93bk1heEhlaWdodF09XCJzZWxlY3RGaWVsZC5kcm9wZG93bk1heEhlaWdodCB8fCBTZWxlY3REZWZhdWx0cy5kcm9wZG93bk1heEhlaWdodFwiXG4gICAgICAgICAgICBbdHlwZWFoZWFkRGVib3VuY2VdPVwic2VsZWN0RmllbGQudHlwZWFoZWFkRGVib3VuY2UgfHwgU2VsZWN0RGVmYXVsdHMudHlwZWFoZWFkRGVib3VuY2VcIlxuICAgICAgICAgICAgW3Nob3VsZEF1dG9TZWFyY2hdPVwic2VsZWN0RmllbGQuc2hvdWxkQXV0b1NlYXJjaCB8fCBTZWxlY3REZWZhdWx0cy5zaG91bGRBdXRvU2VhcmNoXCJcbiAgICAgICAgICAgIFtzaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrXT1cInNlbGVjdEZpZWxkLnNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2sgfHwgU2VsZWN0RGVmYXVsdHMuc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGlja1wiXG4gICAgICAgICAgICAoc2VsZWN0ZWRJZHMpPVwiZm9ybUNvbnRyb2wuc2V0VmFsdWUoJGV2ZW50KVwiPjwvdXBkLXNlbGVjdC1tdWx0aXBsZT5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuTGFiZWwpIHtcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7IGdldFRleHQoZmllbGQoKS5sYWJlbCkgfX08L2xhYmVsPlxuICAgIH1cbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5UZXh0QXJlYSkge1xuICAgICAgICA8dXBkLXRleHRhcmVhIFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW3BsYWNlaG9sZGVyXT1cImZpZWxkKCkucGxhY2Vob2xkZXJcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCIgW3ZhbGlkYXRpb25TdGF0dXNdPVwidmFsaWRhdGlvblN0YXR1c1wiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW2lzRGlzYWJsZWRdPVwiZmllbGQoKS5pc0Rpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJmb3JtQ29udHJvbC52YWx1ZVwiIFtjdXN0b21DbGFzc2VzXT1cInRleHRhcmVhRmllbGQuY3VzdG9tQ2xhc3Nlc1wiIFt3cmFwcGVyQ2xhc3Nlc109XCJ0ZXh0YXJlYUZpZWxkLndyYXBwZXJDbGFzc2VzXCJcbiAgICAgICAgICAgIFttYXhMZW5ndGhdPVwidGV4dGFyZWFGaWVsZC5tYXhMZW5ndGhcIiBbcm93c109XCJ0ZXh0YXJlYUZpZWxkLnJvd3NcIlxuICAgICAgICAgICAgW2Rpc3BsYXlDaGFyYWN0ZXJzQ291bnRdPVwidGV4dGFyZWFGaWVsZC5kaXNwbGF5Q2hhcmFjdGVyc0NvdW50IHx8IGZhbHNlXCI+PC91cGQtdGV4dGFyZWE+XG4gICAgfVxuICAgIEBjYXNlIChEeW5hbWljRmllbGRUeXBlLkZpbGVVcGxvYWQpIHtcbiAgICAgICAgPHVwZC1maWxlLXVwbG9hZCBbbmFtZV09XCJmaWVsZCgpLm5hbWVcIiBbbGFiZWxdPVwiZmllbGQoKS5sYWJlbFwiIFtoaW50XT1cImZpZWxkKCkuaGludFwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbaGludEFzVG9vbHRpcF09XCJmaWVsZCgpLmhpbnRBc1Rvb2x0aXAgfHwgZmFsc2VcIiBbdmFsaWRhdGlvblN0YXR1c109XCJ2YWxpZGF0aW9uU3RhdHVzXCIgW2ZpbGVOYW1lXT1cImZpbGVOYW1lQ29udHJvbD8udmFsdWVcIlxuICAgICAgICAgICAgW3ZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnNdPVwidmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc1wiIFthbGxvd0ZpbGVzRHJvcF09XCJmaWxlVXBsb2FkRmllbGQuYWxsb3dGaWxlc0Ryb3AgfHwgZmFsc2VcIlxuICAgICAgICAgICAgW3RpdGxlXT1cImZpbGVVcGxvYWRGaWVsZC50aXRsZVwiIFtsYWJlbENvbFNpemVdPVwiZmllbGQoKS5sYWJlbENvbFNpemVcIiBbbWluRmlsZVNpemVdPVwiZmlsZVVwbG9hZEZpZWxkLm1pbkZpbGVTaXplXCJcbiAgICAgICAgICAgIFtpc011bHRpcGxlXT1cImZpbGVVcGxvYWRGaWVsZC5pc011bHRpcGxlIHx8IGZhbHNlXCIgW2FsbG93ZWRFeHRlbnNpb25zXT1cImZpbGVVcGxvYWRGaWVsZC5hbGxvd2VkRXh0ZW5zaW9ucyB8fCAnKidcIlxuICAgICAgICAgICAgW21heEZpbGVTaXplXT1cImZpbGVVcGxvYWRGaWVsZC5tYXhGaWxlU2l6ZVwiIFtsYXlvdXRdPVwibGF5b3V0KClcIiAoZmlsZUNoYW5nZWQpPVwiaGFuZGxlRmlsZVNlbGVjdGVkKCRldmVudClcIj48L3VwZC1maWxlLXVwbG9hZD5cbiAgICB9XG59XG4iXX0=
|