@updevs/components 1.0.0-alpha.8 → 1.0.0-alpha.81
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 +1 -11
- package/assets/styles/_bootstrap-components.scss +18 -1
- package/assets/styles/_core.scss +9 -0
- package/assets/styles/_debug.scss +49 -0
- package/assets/styles/_props.scss +91 -0
- package/assets/styles/_seven-columns.scss +73 -0
- package/assets/styles/_updevs.scss +16 -0
- package/assets/styles/_utilities-marketing.scss +209 -0
- package/assets/styles/_utilities.scss +127 -92
- package/assets/styles/_variables-dark.scss +8 -6
- package/assets/styles/_variables.scss +325 -256
- package/assets/styles/helpers/_index.scss +143 -0
- package/assets/styles/layout/_core.scss +3 -2
- package/assets/styles/layout/_dark.scss +40 -35
- package/assets/styles/layout/_footer.scss +1 -1
- package/assets/styles/layout/_navbar.scss +31 -19
- package/assets/styles/layout/_page.scss +6 -5
- package/assets/styles/layout/_root.scss +26 -34
- package/assets/styles/marketing/_browser.scss +67 -0
- package/assets/styles/marketing/_core.scss +8 -0
- package/assets/styles/marketing/_filters.scss +0 -0
- package/assets/styles/marketing/_hero.scss +70 -0
- package/assets/styles/marketing/_pricing.scss +111 -0
- package/assets/styles/marketing/_sections.scss +124 -0
- package/assets/styles/marketing/_shape.scss +31 -0
- package/assets/styles/mixins/_functions.scss +53 -0
- package/assets/styles/mixins/_mixins.scss +9 -9
- package/assets/styles/ui/_accordion.scss +165 -11
- package/assets/styles/ui/_alerts.scss +80 -38
- package/assets/styles/ui/_avatars.scss +36 -9
- package/assets/styles/ui/_badges.scss +47 -13
- package/assets/styles/ui/_button-group.scss +1 -1
- package/assets/styles/ui/_buttons.scss +33 -37
- package/assets/styles/ui/_calendars.scss +2 -2
- package/assets/styles/ui/_cards.scss +9 -0
- package/assets/styles/ui/_carousel.scss +1 -1
- package/assets/styles/ui/_charts.scss +1 -1
- package/assets/styles/ui/_chat.scss +38 -0
- package/assets/styles/ui/_close.scss +54 -1
- package/assets/styles/ui/_datagrid.scss +1 -1
- package/assets/styles/ui/_dropdowns.scss +3 -0
- package/assets/styles/ui/_empty.scss +0 -5
- package/assets/styles/ui/_flags.scss +2 -2
- package/assets/styles/ui/_forms.scss +33 -7
- package/assets/styles/ui/_grid.scss +1 -1
- package/assets/styles/ui/_icons.scss +1 -1
- package/assets/styles/ui/_images.scss +4 -0
- package/assets/styles/ui/_lists.scss +12 -16
- package/assets/styles/ui/_loaders.scss +1 -1
- package/assets/styles/ui/_markdown.scss +15 -4
- package/assets/styles/ui/_modals.scss +2 -2
- package/assets/styles/ui/_nav.scss +17 -3
- package/assets/styles/ui/_offcanvas.scss +2 -2
- package/assets/styles/ui/_pagination.scss +2 -0
- package/assets/styles/ui/_payments.scss +1 -1
- package/assets/styles/ui/_placeholder.scss +1 -1
- package/assets/styles/ui/_progress.scss +1 -1
- package/assets/styles/ui/_ribbons.scss +1 -0
- package/assets/styles/ui/_segmented.scss +101 -0
- package/assets/styles/ui/_signature.scss +15 -0
- package/assets/styles/ui/_social.scss +52 -0
- package/assets/styles/ui/_status.scss +1 -1
- package/assets/styles/ui/_steps.scss +5 -1
- package/assets/styles/ui/_switch-icon.scss +1 -1
- package/assets/styles/ui/_tables.scss +27 -1
- package/assets/styles/ui/_tags.scss +1 -1
- package/assets/styles/ui/_timeline.scss +1 -1
- package/assets/styles/ui/_toasts.scss +0 -1
- package/assets/styles/ui/_tracking.scss +1 -1
- package/assets/styles/ui/_type.scss +169 -8
- package/assets/styles/ui/forms/_form-check.scss +1 -1
- package/assets/styles/ui/forms/_form-colorinput.scss +1 -1
- package/assets/styles/ui/forms/_form-custom.scss +1 -1
- package/assets/styles/ui/forms/_form-imagecheck.scss +6 -5
- package/assets/styles/ui/forms/_form-selectgroup.scss +2 -2
- package/assets/styles/ui/typo/_hr.scss +4 -2
- package/assets/styles/utils/_colors.scss +72 -11
- package/assets/styles/utils/_opacity.scss +1 -1
- package/assets/styles/utils/_scroll.scss +0 -2
- package/assets/styles/utils/_sizing.scss +1 -1
- package/assets/styles/utils/_text.scss +1 -2
- package/assets/styles/vendor/_apexcharts.scss +52 -0
- package/assets/styles/vendor/_coloris.scss +72 -0
- package/assets/styles/vendor/_dropzone.scss +27 -0
- package/assets/styles/vendor/_fslightbox.scss +13 -0
- package/assets/styles/vendor/_jsvectormap.scss +47 -0
- package/assets/styles/vendor/_litepicker.scss +69 -0
- package/assets/styles/vendor/_nouislider.scss +49 -0
- package/assets/styles/vendor/_plyr.scss +3 -0
- package/assets/styles/vendor/_stars-rating.scss +22 -0
- package/assets/styles/vendor/_tom-select.scss +81 -0
- package/assets/styles/vendor/_turbo.scss +3 -0
- package/assets/styles/vendor/_typed.scss +4 -0
- package/assets/styles/vendor/_wysiwyg.scss +46 -0
- package/badge/badge-config.model.d.ts +14 -0
- package/badge/badge.component.d.ts +23 -0
- package/badge/badge.config.d.ts +12 -0
- package/badge/index.d.ts +1 -0
- package/badge/public-api.d.ts +3 -0
- package/badge/upd-badge.module.d.ts +8 -0
- package/button/button.component.d.ts +51 -33
- package/button/upd-button.module.d.ts +3 -1
- package/calendar/calendar.component.d.ts +63 -0
- package/calendar/index.d.ts +1 -0
- package/calendar/models/calendar-date.model.d.ts +10 -0
- package/calendar/models/calendar-month.model.d.ts +7 -0
- package/calendar/models/calendar-selected.model.d.ts +5 -0
- package/calendar/models/calendar-user-event.model.d.ts +4 -0
- package/calendar/models/calendar-year.model.d.ts +6 -0
- package/calendar/models/date-range.model.d.ts +22 -0
- package/calendar/models/enums/calendar-view.enum.d.ts +5 -0
- package/calendar/models/public-api.d.ts +7 -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/public-api.d.ts +1 -0
- package/calendar/types/calendar-view.type.d.ts +1 -0
- package/calendar/types/public-api.d.ts +1 -0
- package/calendar/upd-calendar.module.d.ts +13 -0
- package/card/card.component.d.ts +2 -2
- package/card/public-api.d.ts +1 -0
- package/card/types/public-api.d.ts +5 -0
- package/drag-and-drop/drag-and-drop.component.d.ts +26 -0
- package/drag-and-drop/index.d.ts +1 -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 +23 -6
- package/dropdown/models/dropdown-action-clicked.model.d.ts +6 -0
- package/dropdown/models/dropdown-item.d.ts +7 -2
- package/dropdown/models/dropdown-item.type.d.ts +1 -1
- package/dropdown/models/public-api.d.ts +2 -0
- package/dropdown/models/toolbar.type.d.ts +1 -0
- package/esm2022/badge/badge-config.model.mjs +14 -0
- package/esm2022/badge/badge.component.mjs +48 -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 +126 -132
- package/esm2022/button/index.mjs +1 -1
- package/esm2022/button/public-api.mjs +1 -1
- package/esm2022/button/upd-button.module.mjs +14 -6
- package/esm2022/button/updevs-components-button.mjs +1 -1
- package/esm2022/calendar/assets/i18n/en.json +16 -0
- package/esm2022/calendar/assets/i18n/pt.json +16 -0
- package/esm2022/calendar/calendar.component.mjs +318 -0
- package/esm2022/calendar/index.mjs +2 -0
- package/esm2022/calendar/models/calendar-date.model.mjs +2 -0
- package/esm2022/calendar/models/calendar-month.model.mjs +2 -0
- package/esm2022/calendar/models/calendar-selected.model.mjs +2 -0
- package/esm2022/calendar/models/calendar-user-event.model.mjs +2 -0
- package/esm2022/calendar/models/calendar-year.model.mjs +2 -0
- package/esm2022/calendar/models/date-range.model.mjs +18 -0
- package/esm2022/calendar/models/enums/calendar-view.enum.mjs +7 -0
- package/esm2022/calendar/models/public-api.mjs +8 -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/public-api.mjs +2 -0
- package/esm2022/calendar/types/calendar-view.type.mjs +2 -0
- package/esm2022/calendar/types/public-api.mjs +2 -0
- package/esm2022/calendar/upd-calendar.module.mjs +52 -0
- package/esm2022/calendar/updevs-components-calendar.mjs +5 -0
- package/esm2022/card/card.component.mjs +4 -4
- package/esm2022/card/directives/card-actions.directive.mjs +4 -4
- package/esm2022/card/directives/card-footer.directive.mjs +4 -4
- package/esm2022/card/directives/card-header.directive.mjs +4 -4
- package/esm2022/card/directives/card-image.directive.mjs +4 -4
- package/esm2022/card/directives/public-api.mjs +1 -1
- package/esm2022/card/index.mjs +1 -1
- package/esm2022/card/public-api.mjs +2 -1
- package/esm2022/card/types/card-state.type.mjs +1 -1
- package/esm2022/card/types/card-style.type.mjs +1 -1
- package/esm2022/card/types/hover-effect.type.mjs +1 -1
- package/esm2022/card/types/public-api.mjs +6 -0
- package/esm2022/card/types/ribbon-style.type.mjs +1 -1
- package/esm2022/card/types/status-position.type.mjs +1 -1
- package/esm2022/card/upd-card.module.mjs +5 -5
- package/esm2022/card/updevs-components-card.mjs +1 -1
- 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 +79 -21
- package/esm2022/dropdown/index.mjs +1 -1
- package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +2 -0
- package/esm2022/dropdown/models/dropdown-item.mjs +1 -1
- package/esm2022/dropdown/models/dropdown-item.type.mjs +1 -1
- package/esm2022/dropdown/models/public-api.mjs +3 -1
- package/esm2022/dropdown/models/toolbar.type.mjs +2 -0
- package/esm2022/dropdown/public-api.mjs +1 -1
- package/esm2022/dropdown/upd-dropdown.module.mjs +5 -5
- package/esm2022/dropdown/updevs-components-dropdown.mjs +1 -1
- 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 +166 -0
- package/esm2022/form/form.component.mjs +180 -0
- package/esm2022/form/index.mjs +1 -1
- package/esm2022/form/models/attachment-rule.model.mjs +2 -0
- package/esm2022/form/models/button-field.model.mjs +2 -0
- package/esm2022/form/models/button-group-field.model.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/attachment-type.enum.mjs +15 -0
- package/esm2022/form/models/enums/dynamic-field.type.mjs +17 -0
- package/esm2022/form/models/enums/public-api.mjs +3 -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/form-update-on.type.mjs +2 -0
- package/esm2022/form/models/input-field.model.mjs +2 -0
- package/esm2022/form/models/masked-input-field.model.mjs +2 -0
- package/esm2022/form/models/public-api.mjs +19 -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 -2
- package/esm2022/form/tools/errors-helper.mjs +54 -0
- package/esm2022/form/upd-form.module.mjs +84 -0
- package/esm2022/form/updevs-components-form.mjs +1 -1
- 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 +37 -51
- package/esm2022/form-controls/checkbox/index.mjs +1 -1
- package/esm2022/form-controls/checkbox/public-api.mjs +1 -1
- package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +12 -8
- package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +1 -1
- package/esm2022/form-controls/date-picker/date-picker.component.mjs +132 -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 +48 -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 +4 -4
- package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +4 -4
- package/esm2022/form-controls/input/directives/public-api.mjs +1 -1
- package/esm2022/form-controls/input/index.mjs +1 -1
- package/esm2022/form-controls/input/input.component.mjs +75 -35
- package/esm2022/form-controls/input/public-api.mjs +1 -1
- package/esm2022/form-controls/input/types/input.type.mjs +1 -1
- package/esm2022/form-controls/input/types/loader-position.type.mjs +1 -1
- package/esm2022/form-controls/input/types/public-api.mjs +1 -1
- package/esm2022/form-controls/input/upd-input.module.mjs +5 -5
- package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +1 -1
- package/esm2022/form-controls/radio/index.mjs +1 -1
- package/esm2022/form-controls/radio/public-api.mjs +1 -1
- package/esm2022/form-controls/radio/radio.component.mjs +12 -25
- package/esm2022/form-controls/radio/upd-radio.module.mjs +14 -6
- package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +1 -1
- package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +38 -14
- package/esm2022/form-controls/select/components/single/select.component.mjs +45 -21
- package/esm2022/form-controls/select/index.mjs +1 -1
- package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +129 -106
- package/esm2022/form-controls/select/models/defaults.mjs +8 -0
- package/esm2022/form-controls/select/models/public-api.mjs +2 -1
- package/esm2022/form-controls/select/models/select-item.mjs +1 -1
- package/esm2022/form-controls/select/public-api.mjs +1 -1
- package/esm2022/form-controls/select/upd-select.module.mjs +10 -6
- package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +1 -1
- package/esm2022/form-controls/textarea/index.mjs +1 -1
- package/esm2022/form-controls/textarea/public-api.mjs +1 -1
- package/esm2022/form-controls/textarea/textarea.component.mjs +18 -36
- package/esm2022/form-controls/textarea/upd-textarea.module.mjs +5 -5
- package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +1 -1
- package/esm2022/form-controls/time-picker/index.mjs +1 -1
- package/esm2022/form-controls/time-picker/public-api.mjs +1 -1
- package/esm2022/form-controls/time-picker/time-picker.component.mjs +4 -4
- package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +5 -5
- package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +8 -7
- package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +1 -1
- package/esm2022/index.mjs +2 -0
- package/esm2022/layout/abstractions/base-page.component.mjs +6 -7
- package/esm2022/layout/abstractions/base.layout.mjs +31 -0
- package/esm2022/layout/abstractions/public-api.mjs +1 -1
- package/esm2022/layout/assets/i18n/en.json +24 -2
- package/esm2022/layout/assets/i18n/pt.json +24 -2
- package/esm2022/layout/index.mjs +1 -1
- package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +18 -7
- package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +32 -6
- package/esm2022/layout/layouts/public-api.mjs +1 -1
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +8 -22
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +24 -27
- 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 +2 -1
- 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 +11 -17
- package/esm2022/layout/models/upd-layout.config.mjs +1 -1
- package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +5 -5
- package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +36 -9
- package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +4 -4
- package/esm2022/layout/pages/auth-flow/login/login.component.mjs +95 -12
- package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +4 -4
- package/esm2022/layout/pages/auth-flow/public-api.mjs +1 -1
- package/esm2022/layout/pages/public-api.mjs +1 -1
- package/esm2022/layout/partials/footer/footer.component.mjs +9 -24
- package/esm2022/layout/partials/footer/footer.module.mjs +28 -0
- package/esm2022/layout/partials/footer/public-api.mjs +2 -2
- package/esm2022/layout/partials/header/header-style.type.mjs +1 -1
- package/esm2022/layout/partials/header/header.component.mjs +115 -52
- package/esm2022/layout/partials/header/header.module.mjs +40 -0
- package/esm2022/layout/partials/header/public-api.mjs +2 -1
- package/esm2022/layout/partials/page-header/page-header.component.mjs +10 -9
- package/esm2022/layout/partials/page-header/public-api.mjs +1 -1
- package/esm2022/layout/partials/public-api.mjs +1 -1
- package/esm2022/layout/partials/sidebar/public-api.mjs +1 -1
- package/esm2022/layout/partials/sidebar/sidebar.component.mjs +177 -86
- package/esm2022/layout/public-api.mjs +1 -1
- package/esm2022/layout/services/public-api.mjs +1 -1
- package/esm2022/layout/services/upd-layout-config.service.mjs +4 -4
- package/esm2022/layout/tools/layout.constants.mjs +1 -1
- package/esm2022/layout/upd-layout.module.mjs +12 -8
- package/esm2022/layout/updevs-components-layout.mjs +1 -1
- package/esm2022/lib/index.mjs +1 -1
- 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 +3 -1
- 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 +1 -1
- package/esm2022/lib/types/horizontal-vertical.type.mjs +2 -0
- package/esm2022/lib/types/public-api.mjs +2 -1
- package/esm2022/lib/types/validation-status.type.mjs +1 -1
- package/esm2022/lib/upd-components.module.mjs +5 -5
- package/esm2022/link/index.mjs +1 -1
- package/esm2022/link/link.component.mjs +4 -4
- package/esm2022/link/public-api.mjs +1 -1
- package/esm2022/link/target.type.mjs +1 -1
- package/esm2022/link/upd-link.module.mjs +5 -5
- package/esm2022/link/updevs-components-link.mjs +1 -1
- package/esm2022/list/assets/i18n/en.json +7 -3
- package/esm2022/list/assets/i18n/pt.json +7 -3
- package/esm2022/list/index.mjs +1 -1
- package/esm2022/list/list.component.mjs +9 -29
- package/esm2022/list/models/badge-position.type.mjs +1 -1
- package/esm2022/list/models/list-item.mjs +1 -1
- package/esm2022/list/models/list-item.model.mjs +7 -2
- package/esm2022/list/models/public-api.mjs +1 -1
- package/esm2022/list/public-api.mjs +1 -1
- package/esm2022/list/upd-list.module.mjs +8 -7
- package/esm2022/list/updevs-components-list.mjs +1 -1
- 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 +90 -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 +47 -0
- package/esm2022/paginator/updevs-components-paginator.mjs +5 -0
- package/esm2022/popover/index.mjs +1 -1
- package/esm2022/popover/popover.component.mjs +6 -6
- package/esm2022/popover/popover.directive.mjs +23 -32
- package/esm2022/popover/public-api.mjs +1 -1
- package/esm2022/popover/upd-popover.module.mjs +5 -5
- package/esm2022/popover/updevs-components-popover.mjs +1 -1
- package/esm2022/pricing/index.mjs +2 -0
- package/esm2022/pricing/models/price-item-feature.model.mjs +2 -0
- package/esm2022/pricing/models/price-item-features-group.model.mjs +2 -0
- package/esm2022/pricing/models/price-item-tag.model.mjs +2 -0
- package/esm2022/pricing/models/price-item.model.mjs +2 -0
- package/esm2022/pricing/models/public-api.mjs +5 -0
- package/esm2022/pricing/pricing-cards/pricing-cards.component.mjs +27 -0
- package/esm2022/pricing/pricing-table/pricing-table.component.mjs +57 -0
- package/esm2022/pricing/public-api.mjs +5 -0
- package/esm2022/pricing/upd-pricing.module.mjs +49 -0
- package/esm2022/pricing/updevs-components-pricing.mjs +5 -0
- package/esm2022/public-api.mjs +1 -1
- package/esm2022/table/abstractions/base-column.model.mjs +52 -0
- package/esm2022/table/abstractions/base.column.mjs +84 -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 +52 -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 +29 -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 +439 -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 +150 -0
- package/esm2022/table/updevs-components-table.mjs +5 -0
- package/esm2022/updevs-components.mjs +2 -2
- package/fesm2022/updevs-components-badge.mjs +89 -0
- package/fesm2022/updevs-components-badge.mjs.map +1 -0
- package/fesm2022/updevs-components-button.mjs +138 -136
- package/fesm2022/updevs-components-button.mjs.map +1 -1
- package/fesm2022/updevs-components-calendar.mjs +582 -0
- package/fesm2022/updevs-components-calendar.mjs.map +1 -0
- package/fesm2022/updevs-components-card.mjs +20 -20
- package/fesm2022/updevs-components-card.mjs.map +1 -1
- 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 +83 -25
- package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
- 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 +47 -57
- package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-date-picker.mjs +175 -0
- package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-file-upload.mjs +264 -0
- package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-input.mjs +84 -44
- package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-radio.mjs +25 -30
- package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-select.mjs +219 -139
- package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-textarea.mjs +21 -39
- package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-time-picker.mjs +14 -13
- package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -1
- package/fesm2022/updevs-components-form.mjs +533 -10
- package/fesm2022/updevs-components-form.mjs.map +1 -1
- package/fesm2022/updevs-components-layout.mjs +757 -375
- package/fesm2022/updevs-components-layout.mjs.map +1 -1
- package/fesm2022/updevs-components-link.mjs +8 -8
- package/fesm2022/updevs-components-link.mjs.map +1 -1
- package/fesm2022/updevs-components-list.mjs +39 -53
- package/fesm2022/updevs-components-list.mjs.map +1 -1
- package/fesm2022/updevs-components-modal.mjs +504 -0
- package/fesm2022/updevs-components-modal.mjs.map +1 -0
- package/fesm2022/updevs-components-paginator.mjs +160 -0
- package/fesm2022/updevs-components-paginator.mjs.map +1 -0
- package/fesm2022/updevs-components-popover.mjs +30 -39
- package/fesm2022/updevs-components-popover.mjs.map +1 -1
- package/fesm2022/updevs-components-pricing.mjs +130 -0
- package/fesm2022/updevs-components-pricing.mjs.map +1 -0
- package/fesm2022/updevs-components-table.mjs +1754 -0
- package/fesm2022/updevs-components-table.mjs.map +1 -0
- package/fesm2022/updevs-components.mjs +17 -5
- package/fesm2022/updevs-components.mjs.map +1 -1
- package/form/components/dynamic-field/dynamic-field.component.d.ts +63 -0
- package/form/form.component.d.ts +64 -0
- package/form/models/attachment-rule.model.d.ts +35 -0
- package/form/models/button-field.model.d.ts +5 -0
- package/form/models/button-group-field.model.d.ts +5 -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 +49 -0
- package/form/models/enums/attachment-type.enum.d.ts +13 -0
- package/form/models/enums/dynamic-field.type.d.ts +15 -0
- package/form/models/enums/public-api.d.ts +2 -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 +10 -0
- package/form/models/form-update-on.type.d.ts +1 -0
- package/form/models/input-field.model.d.ts +9 -0
- package/form/models/masked-input-field.model.d.ts +6 -0
- package/form/models/public-api.d.ts +18 -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 +29 -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 -1
- package/form/tools/errors-helper.d.ts +11 -0
- package/form/upd-form.module.d.ts +22 -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 +14 -20
- package/form-controls/checkbox/upd-checkbox.module.d.ts +2 -1
- package/form-controls/date-picker/date-picker.component.d.ts +66 -0
- package/form-controls/date-picker/index.d.ts +1 -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/index.d.ts +1 -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/input.component.d.ts +27 -14
- package/form-controls/radio/radio.component.d.ts +5 -12
- package/form-controls/radio/upd-radio.module.d.ts +3 -1
- package/form-controls/select/components/multiple/select-multiple.component.d.ts +13 -2
- package/form-controls/select/components/single/select.component.d.ts +12 -4
- package/form-controls/select/models/abstractions/base-select.component.d.ts +36 -32
- package/form-controls/select/models/defaults.d.ts +8 -0
- package/form-controls/select/models/public-api.d.ts +1 -0
- package/form-controls/select/upd-select.module.d.ts +3 -2
- package/form-controls/textarea/textarea.component.d.ts +11 -15
- package/form-controls/time-picker/upd-time-picker.module.d.ts +2 -2
- package/index.d.ts +1 -4
- package/layout/abstractions/base.layout.d.ts +15 -0
- package/layout/layouts/blank-layout/blank-layout.component.d.ts +5 -1
- package/layout/layouts/blank-layout/blank-layout.module.d.ts +8 -1
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +2 -8
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +14 -13
- package/layout/models/login-page-config.model.d.ts +46 -0
- package/layout/models/login-page.config.d.ts +44 -0
- package/layout/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 +9 -0
- package/layout/models/upd-layout.config.d.ts +9 -0
- package/layout/pages/auth-flow/auth-flow.module.d.ts +9 -2
- package/layout/pages/auth-flow/login/login.component.d.ts +20 -6
- package/layout/partials/footer/footer.component.d.ts +4 -13
- package/layout/partials/footer/footer.module.d.ts +9 -0
- package/layout/partials/footer/public-api.d.ts +1 -1
- package/layout/partials/header/header.component.d.ts +41 -21
- package/layout/partials/header/header.module.d.ts +12 -0
- package/layout/partials/header/public-api.d.ts +1 -0
- package/layout/partials/page-header/page-header.component.d.ts +2 -2
- package/layout/partials/sidebar/sidebar.component.d.ts +28 -1
- package/layout/upd-layout.module.d.ts +2 -1
- package/lib/index.d.ts +1 -0
- package/lib/models/public-api.d.ts +2 -0
- package/lib/models/row-column-size.d.ts +23 -0
- package/lib/public-api.d.ts +3 -0
- package/lib/tools/column-size.helper.d.ts +6 -0
- package/lib/tools/public-api.d.ts +2 -0
- package/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 +2 -0
- package/lib/types/validation-status.type.d.ts +1 -0
- package/lib/upd-components.module.d.ts +1 -0
- package/list/list.component.d.ts +1 -16
- package/list/models/list-item.d.ts +4 -2
- package/list/models/list-item.model.d.ts +4 -2
- package/list/upd-list.module.d.ts +2 -2
- 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 +67 -6
- 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/popover.component.d.ts +2 -2
- package/pricing/index.d.ts +1 -0
- package/pricing/models/price-item-feature.model.d.ts +7 -0
- package/pricing/models/price-item-features-group.model.d.ts +5 -0
- package/pricing/models/price-item-tag.model.d.ts +6 -0
- package/pricing/models/price-item.model.d.ts +22 -0
- package/pricing/models/public-api.d.ts +4 -0
- package/pricing/pricing-cards/pricing-cards.component.d.ts +12 -0
- package/pricing/pricing-table/pricing-table.component.d.ts +30 -0
- package/pricing/public-api.d.ts +4 -0
- package/pricing/upd-pricing.module.d.ts +14 -0
- package/public-api.d.ts +1 -0
- package/table/abstractions/base-column.model.d.ts +31 -0
- package/table/abstractions/base.column.d.ts +26 -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 +33 -0
- package/table/models/table.config.d.ts +31 -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 +81 -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/esm2022/form/form.module.mjs +0 -18
- package/esm2022/layout/partials/footer/footer-copyright.directive.mjs +0 -13
- package/form/form.module.d.ts +0 -7
- package/layout/partials/footer/footer-copyright.directive.d.ts +0 -5
|
@@ -1,27 +1,110 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, inject, model, signal } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { FormGroup, Validators } from '@angular/forms';
|
|
2
4
|
import { LayoutService } from '@updevs/sdk/layout';
|
|
3
5
|
import { AuthService } from '@updevs/sdk/security';
|
|
6
|
+
import { DynamicFieldType } from '@updevs/components/form';
|
|
7
|
+
import { finalize } from 'rxjs';
|
|
8
|
+
import { UpdLayoutConfigService } from '../../../services/upd-layout-config.service';
|
|
4
9
|
import * as i0 from "@angular/core";
|
|
5
10
|
import * as i1 from "@angular/common";
|
|
6
11
|
import * as i2 from "@updevs/components/button";
|
|
7
12
|
import * as i3 from "@angular/forms";
|
|
13
|
+
import * as i4 from "@jsverse/transloco";
|
|
14
|
+
import * as i5 from "@updevs/components/link";
|
|
15
|
+
import * as i6 from "@updevs/components/card";
|
|
16
|
+
import * as i7 from "@updevs/components/form";
|
|
17
|
+
import * as i8 from "../../../partials/footer/footer.component";
|
|
18
|
+
import * as i9 from "../../../partials/header/header.component";
|
|
8
19
|
export class LoginComponent {
|
|
9
20
|
constructor() {
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
21
|
+
this.formGroup = model(new FormGroup({}));
|
|
22
|
+
this.formRows = [];
|
|
23
|
+
this.isSigningIn = signal(false);
|
|
24
|
+
this.layoutConfigService = inject(UpdLayoutConfigService);
|
|
25
|
+
this.config = this.layoutConfigService.config.securityLayoutConfig.loginPage;
|
|
26
|
+
this.bodyClasses = ['border-top-wide', this.border, 'd-flex', 'flex-column'];
|
|
27
|
+
this.router = inject(Router);
|
|
13
28
|
this.authService = inject(AuthService);
|
|
14
29
|
this.layoutService = inject(LayoutService);
|
|
15
|
-
|
|
30
|
+
}
|
|
31
|
+
get border() {
|
|
32
|
+
return `border-${this.config.borderColor}`;
|
|
33
|
+
}
|
|
34
|
+
get linkClasses() {
|
|
35
|
+
return [`link-${this.config.linksColor}`];
|
|
36
|
+
}
|
|
37
|
+
get boxBgColor() {
|
|
38
|
+
return this.config.bgColor || (!!this.config.bgStyle ? `bg-${this.config.bgStyle}` : '') || 'bg-white';
|
|
39
|
+
}
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
this.layoutService.addBodyClasses(this.boxBgColor);
|
|
42
|
+
if (this.config.layout !== 'cover') {
|
|
43
|
+
this.layoutService.addBodyClasses(...this.bodyClasses);
|
|
44
|
+
}
|
|
45
|
+
this.formRows = [
|
|
46
|
+
{
|
|
47
|
+
fields: [
|
|
48
|
+
{
|
|
49
|
+
name: 'username',
|
|
50
|
+
type: DynamicFieldType.Input,
|
|
51
|
+
colSize: { default: 12 },
|
|
52
|
+
label: { text: 'UpDevs.Login.Email', isTranslated: false },
|
|
53
|
+
validators: [Validators.required, Validators.minLength(3)],
|
|
54
|
+
shouldSubmitOnEnter: true
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
fields: [
|
|
60
|
+
{
|
|
61
|
+
name: 'password',
|
|
62
|
+
type: DynamicFieldType.Input,
|
|
63
|
+
inputType: 'password',
|
|
64
|
+
colSize: { default: 12 },
|
|
65
|
+
label: { text: 'UpDevs.Login.Password', isTranslated: false },
|
|
66
|
+
validators: [Validators.required, Validators.minLength(3)],
|
|
67
|
+
shouldSubmitOnEnter: true
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
fields: [
|
|
73
|
+
{
|
|
74
|
+
name: 'rememberMe',
|
|
75
|
+
type: DynamicFieldType.Checkbox,
|
|
76
|
+
colSize: { default: 12 },
|
|
77
|
+
label: { text: 'UpDevs.Login.RememberMe', isTranslated: false },
|
|
78
|
+
initValue: false
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
];
|
|
83
|
+
}
|
|
84
|
+
ngOnDestroy() {
|
|
85
|
+
this.layoutService.removeBodyClasses(this.boxBgColor);
|
|
86
|
+
if (this.config.layout !== 'cover') {
|
|
87
|
+
this.layoutService.removeBodyClasses(...this.bodyClasses);
|
|
88
|
+
}
|
|
16
89
|
}
|
|
17
90
|
login() {
|
|
18
|
-
|
|
91
|
+
// TODO: handle remember me
|
|
92
|
+
this.isSigningIn.set(true);
|
|
93
|
+
this.authService.login(this.formGroup().value.username, this.formGroup().value.password)
|
|
94
|
+
.pipe(finalize(() => this.isSigningIn.set(false)))
|
|
95
|
+
.subscribe();
|
|
96
|
+
}
|
|
97
|
+
goToRecoverPasswordPage() {
|
|
98
|
+
this.router.navigate([this.config.recoverPasswordRoute]).then();
|
|
99
|
+
}
|
|
100
|
+
goToSignUpPage() {
|
|
101
|
+
this.router.navigate([this.config.signUpRoute]).then();
|
|
19
102
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0
|
|
103
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
104
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: LoginComponent, selector: "upd-login", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { formGroup: "formGroupChange" }, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Login'\">\n <upd-header [style]=\"'transparent'\"></upd-header>\n <div class=\"page page-center\">\n @switch (config.layout) {\n @case ('centered-box') {\n <div class=\"container container-tight py-4\">\n <ng-container [ngTemplateOutlet]=\"loginCardTpl\"></ng-container>\n </div>\n }\n @case ('box-with-picture') {\n <div class=\"container container-normal py-4\">\n <div class=\"row align-items-center g-4\">\n <div class=\"col-lg\">\n <div class=\"container-tight\">\n <ng-container [ngTemplateOutlet]=\"loginCardTpl\"></ng-container>\n </div>\n </div>\n <div class=\"col-lg d-none d-lg-block\">\n <img height=\"300\" class=\"d-block mx-auto upd-right-login-image\" />\n </div>\n </div>\n </div>\n }\n @case ('cover') {\n <div class=\"row g-0 flex-fill\">\n <div class=\"col-12 col-lg-6 col-xl-4 border-top-wide d-flex flex-column justify-content-center\"\n [ngClass]=\"border\">\n <div class=\"container container-tight my-5 px-lg-5\">\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n\n <h2 class=\"h3 text-center mb-3\">\n {{ t('Title') }}\n </h2>\n\n <ng-container [ngTemplateOutlet]=\"loginFormTpl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"socialLoginTpl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"noAccountTpl\"></ng-container>\n </div>\n </div>\n <div class=\"col-12 col-lg-6 col-xl-8 d-none d-lg-block\">\n <div class=\"bg-cover h-100 min-vh-100 upd-right-login-cover-image\"></div>\n </div>\n </div>\n }\n }\n </div>\n <upd-footer></upd-footer>\n\n <ng-template #loginCardTpl>\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n <upd-card [removeBorder]=\"true\">\n <div class=\"p-4\">\n <h2 class=\"h2 text-center mb-4\">\n {{ t('Title') }}\n </h2>\n <ng-container [ngTemplateOutlet]=\"loginFormTpl\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"socialLoginTpl\"></ng-container>\n </upd-card>\n <ng-container [ngTemplateOutlet]=\"noAccountTpl\"></ng-container>\n </ng-template>\n\n <ng-template #loginFormTpl>\n <upd-form [rows]=\"formRows\" [hasActionsSection]=\"false\" [(formGroup)]=\"formGroup\" (submitted)=\"login()\"></upd-form>\n <div class=\"form-footer\">\n <upd-button [colorStyle]=\"config.signInButtonColor\" (clicked)=\"login()\" [isLoading]=\"isSigningIn()\"\n customClasses=\"w-100\">\n {{ t('SignIn') }}\n </upd-button>\n @if (!!config.recoverPasswordRoute) {\n <div class=\"d-flex mt-2\">\n <upd-link class=\"ms-auto\" [customClasses]=\"linkClasses\" (clicked)=\"goToRecoverPasswordPage()\">\n {{ t('RecoverPassword') }}\n </upd-link>\n </div>\n }\n </div>\n </ng-template>\n\n <ng-template #socialLoginTpl>\n @if (config.socialLoginButtons.length > 0) {\n <div class=\"hr-text\">\n {{ t('Or') }}\n </div>\n <div class=\"card-body\">\n <div class=\"row\">\n @for (btn of config.socialLoginButtons; track btn) {\n <div class=\"col\">\n <upd-button [model]=\"btn\"></upd-button>\n </div>\n }\n </div>\n </div>\n }\n </ng-template>\n\n <ng-template #headerTpl>\n <div class=\"text-center mb-4\">\n <a href=\".\" class=\"navbar-brand navbar-brand-autodark\">\n <img height=\"36\" class=\"navbar-brand-image upd-brand-logo\" />\n </a>\n </div>\n </ng-template>\n\n <ng-template #noAccountTpl>\n @if (!!config.signUpRoute) {\n <div class=\"text-center text-muted mt-3\">\n {{ t('NoAccountYet') }}\n <upd-link [customClasses]=\"linkClasses\" (clicked)=\"goToSignUpPage()\">{{ t('SignUp') }}</upd-link>\n </div>\n }\n </ng-template>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.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"] }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i5.LinkComponent, selector: "upd-link", inputs: ["href", "target", "customClasses", "isNavigation"], outputs: ["clicked"] }, { kind: "component", type: i6.CardComponent, selector: "upd-card", inputs: ["wrapperClasses", "title", "subtitle", "hoverEffect", "state", "type", "imagePosition", "bgColor", "stampIcon", "stampBackground", "statusBackground", "statusPosition", "ribbonBackground", "ribbonStyle", "ribbonIcon", "ribbonText", "rotate", "removeBorder", "useLightHeader", "showHeader", "isFooterTransparent", "footerText", "showProgressBar", "progress", "actions"] }, { kind: "component", type: i7.FormComponent, selector: "upd-form", inputs: ["rows", "layout", "title", "hasActionsSection", "isCard", "isDisabled", "isLoading", "isSaving", "formData", "formGroup"], outputs: ["initialized", "dataLoaded", "submitted", "formDataChange", "formGroupChange"] }, { kind: "component", type: i8.FooterComponent, selector: "upd-footer" }, { kind: "component", type: i9.HeaderComponent, selector: "upd-header", inputs: ["style"] }] }); }
|
|
22
105
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LoginComponent, decorators: [{
|
|
24
107
|
type: Component,
|
|
25
|
-
args: [{ selector: 'upd-login',
|
|
26
|
-
}]
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXBkZXZzL2NvbXBvbmVudHMvbGF5b3V0L3NyYy9wYWdlcy9hdXRoLWZsb3cvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXBkZXZzL2NvbXBvbmVudHMvbGF5b3V0L3NyYy9wYWdlcy9hdXRoLWZsb3cvbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFRbkQsTUFBTSxPQUFPLGNBQWM7SUFRdkI7UUFQQSxXQUFNLEdBQXdDLGNBQWMsQ0FBQztRQUM3RCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUVHLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBR25ELElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JFLENBQUM7OEdBZFEsY0FBYztrR0FBZCxjQUFjLGlEQ1YzQiwwMUxBb0dBOzsyRkQxRmEsY0FBYztrQkFOMUIsU0FBUzsrQkFDSSxXQUFXLGlCQUdOLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkay9zZWN1cml0eSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLWxvZ2luJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9naW4uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xvZ2luLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCB7XG4gICAgbGF5b3V0OiAnY2VudGVyZWQtYm94JyB8ICdib3gtd2l0aC1waWN0dXJlJyA9ICdjZW50ZXJlZC1ib3gnO1xuICAgIHVzZXJuYW1lID0gJyc7XG4gICAgcGFzc3dvcmQgPSAnJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0U2VydmljZSA9IGluamVjdChMYXlvdXRTZXJ2aWNlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UuYWRkQm9keUNsYXNzZXMoJ2JvcmRlci10b3Atd2lkZScsICdib3JkZXItcHJpbWFyeScsICdkLWZsZXgnLCAnZmxleC1jb2x1bW4nKTtcbiAgICB9XG5cbiAgICBsb2dpbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dpbih0aGlzLnVzZXJuYW1lLCB0aGlzLnBhc3N3b3JkKS5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGFnZSBwYWdlLWNlbnRlclwiPlxuICAgIEBzd2l0Y2ggKGxheW91dCkge1xuICAgICAgICBAY2FzZSAoJ2NlbnRlcmVkLWJveCcpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgY29udGFpbmVyLXRpZ2h0IHB5LTRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxvZ2luQ2FyZFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdib3gtd2l0aC1waWN0dXJlJykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBjb250YWluZXItbm9ybWFsIHB5LTRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciBnLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10aWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibG9naW5DYXJkXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGcgZC1ub25lIGQtbGctYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgaGVpZ2h0PVwiMzAwXCIgY2xhc3M9XCJkLWJsb2NrIG14LWF1dG8gdXBkLXJpZ2h0LWxvZ2luLWltYWdlXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgfVxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbG9naW5DYXJkPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtYi00XCI+XG4gICAgICAgIDxhIGhyZWY9XCIuXCIgY2xhc3M9XCJuYXZiYXItYnJhbmQgbmF2YmFyLWJyYW5kLWF1dG9kYXJrXCI+XG4gICAgICAgICAgICA8aW1nIGhlaWdodD1cIjM2XCIgY2xhc3M9XCJuYXZiYXItYnJhbmQtaW1hZ2UgdXBkLWJyYW5kLWxvZ29cIi8+XG4gICAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLW1kXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cbiAgICAgICAgICAgIDxoMiBjbGFzcz1cImgyIHRleHQtY2VudGVyIG1iLTRcIiBpMThuPkxvZ2luIHRvIHlvdXIgYWNjb3VudDwvaDI+XG4gICAgICAgICAgICA8Zm9ybSBhY3Rpb249XCIuL1wiIG1ldGhvZD1cImdldFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIG5vdmFsaWRhdGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkVtYWlsIGFkZHJlc3M8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImVtYWlsXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBuYW1lPVwidXNlcm5hbWVcIiBbKG5nTW9kZWwpXT1cInVzZXJuYW1lXCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgUGFzc3dvcmRcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1sYWJlbC1kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICA8YSBocmVmPVwiLi9mb3Jnb3QtcGFzc3dvcmQuaHRtbFwiIGkxOG4+SSBmb3Jnb3QgbXkgcGFzc3dvcmQ8L2E+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBpbnB1dC1ncm91cC1mbGF0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBuYW1lPVwicGFzc3dvcmRcIiBbKG5nTW9kZWwpXT1cInBhc3N3b3JkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJsaW5rLXNlY29uZGFyeVwiIHRpdGxlPVwiU2hvdyBwYXNzd29yZFwiIGRhdGEtYnMtdG9nZ2xlPVwidG9vbHRpcFwiPjwhLS0gRG93bmxvYWQgU1ZHIGljb24gZnJvbSBodHRwOi8vdGFibGVyLWljb25zLmlvL2kvZXllIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBjbGFzcz1cImljb25cIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBmaWxsPVwibm9uZVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIHN0cm9rZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz48Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjJcIi8+PHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjIgMTJjLTIuNjY3IDQuNjY3IC02IDcgLTEwIDdzLTcuMzMzIC0yLjMzMyAtMTAgLTdjMi42NjcgLTQuNjY3IDYgLTcgMTAgLTdzNy4zMzMgMi4zMzMgMTAgN1wiLz48L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVja1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGkxOG4+UmVtZW1iZXIgbWUgb24gdGhpcyBkZXZpY2U8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZm9vdGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtYnV0dG9uIChjbGlja2VkKT1cImxvZ2luKClcIiBjdXN0b21DbGFzc2VzPVwidy0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGkxOG4+U2lnbiBpbjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhyLXRleHRcIiBpMThuPm9yPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+PGEgaHJlZj1cIiNcIiBjbGFzcz1cImJ0biB3LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIERvd25sb2FkIFNWRyBpY29uIGZyb20gaHR0cDovL3RhYmxlci1pY29ucy5pby9pL2JyYW5kLWdpdGh1YiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgY2xhc3M9XCJpY29uIHRleHQtZ2l0aHViXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgZmlsbD1cIm5vbmVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZT1cIm5vbmVcIiBkPVwiTTAgMGgyNHYyNEgwelwiIGZpbGw9XCJub25lXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkgMTljLTQuMyAxLjQgLTQuMyAtMi41IC02IC0zbTEyIDV2LTMuNWMwIC0xIC4xIC0xLjQgLS41IC0yYzIuOCAtLjMgNS41IC0xLjQgNS41IC02YTQuNiA0LjYgMCAwIDAgLTEuMyAtMy4yYTQuMiA0LjIgMCAwIDAgLS4xIC0zLjJzLTEuMSAtLjMgLTMuNSAxLjNhMTIuMyAxMi4zIDAgMCAwIC02LjIgMGMtMi40IC0xLjYgLTMuNSAtMS4zIC0zLjUgLTEuM2E0LjIgNC4yIDAgMCAwIC0uMSAzLjJhNC42IDQuNiAwIDAgMCAtMS4zIDMuMmMwIDQuNiAyLjcgNS43IDUuNSA2Yy0uNiAuNiAtLjYgMS4yIC0uNSAydjMuNVwiLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIExvZ2luIHdpdGggR2l0aHViXG4gICAgICAgICAgICAgICAgPC9hPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj48YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIHctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gRG93bmxvYWQgU1ZHIGljb24gZnJvbSBodHRwOi8vdGFibGVyLWljb25zLmlvL2kvYnJhbmQtdHdpdHRlciAtLT5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgY2xhc3M9XCJpY29uIHRleHQtdHdpdHRlclwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMiA0LjAxYy0xIC40OSAtMS45OCAuNjg5IC0zIC45OWMtMS4xMjEgLTEuMjY1IC0yLjc4MyAtMS4zMzUgLTQuMzggLS43MzdzLTIuNjQzIDIuMDYgLTIuNjIgMy43Mzd2MWMtMy4yNDUgLjA4MyAtNi4xMzUgLTEuMzk1IC04IC00YzAgMCAtNC4xODIgNy40MzMgNCAxMWMtMS44NzIgMS4yNDcgLTMuNzM5IDIuMDg4IC02IDJjMy4zMDggMS44MDMgNi45MTMgMi40MjMgMTAuMDM0IDEuNTE3YzMuNTggLTEuMDQgNi41MjIgLTMuNzIzIDcuNjUxIC03Ljc0MmExMy44NCAxMy44NCAwIDAgMCAuNDk3IC0zLjc1M2MtLjAwMiAtLjI0OSAxLjUxIC0yLjc3MiAxLjgxOCAtNC4wMTN6XCIvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgTG9naW4gd2l0aCBUd2l0dGVyXG4gICAgICAgICAgICAgICAgPC9hPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LW11dGVkIG10LTNcIj5cbiAgICAgICAgRG9uJ3QgaGF2ZSBhY2NvdW50IHlldD8gPGEgaHJlZj1cIi4vc2lnbi11cC5odG1sXCIgdGFiaW5kZXg9XCItMVwiIGkxOG4+U2lnbiB1cDwvYT5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
108
|
+
args: [{ selector: 'upd-login', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Login'\">\n <upd-header [style]=\"'transparent'\"></upd-header>\n <div class=\"page page-center\">\n @switch (config.layout) {\n @case ('centered-box') {\n <div class=\"container container-tight py-4\">\n <ng-container [ngTemplateOutlet]=\"loginCardTpl\"></ng-container>\n </div>\n }\n @case ('box-with-picture') {\n <div class=\"container container-normal py-4\">\n <div class=\"row align-items-center g-4\">\n <div class=\"col-lg\">\n <div class=\"container-tight\">\n <ng-container [ngTemplateOutlet]=\"loginCardTpl\"></ng-container>\n </div>\n </div>\n <div class=\"col-lg d-none d-lg-block\">\n <img height=\"300\" class=\"d-block mx-auto upd-right-login-image\" />\n </div>\n </div>\n </div>\n }\n @case ('cover') {\n <div class=\"row g-0 flex-fill\">\n <div class=\"col-12 col-lg-6 col-xl-4 border-top-wide d-flex flex-column justify-content-center\"\n [ngClass]=\"border\">\n <div class=\"container container-tight my-5 px-lg-5\">\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n\n <h2 class=\"h3 text-center mb-3\">\n {{ t('Title') }}\n </h2>\n\n <ng-container [ngTemplateOutlet]=\"loginFormTpl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"socialLoginTpl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"noAccountTpl\"></ng-container>\n </div>\n </div>\n <div class=\"col-12 col-lg-6 col-xl-8 d-none d-lg-block\">\n <div class=\"bg-cover h-100 min-vh-100 upd-right-login-cover-image\"></div>\n </div>\n </div>\n }\n }\n </div>\n <upd-footer></upd-footer>\n\n <ng-template #loginCardTpl>\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n <upd-card [removeBorder]=\"true\">\n <div class=\"p-4\">\n <h2 class=\"h2 text-center mb-4\">\n {{ t('Title') }}\n </h2>\n <ng-container [ngTemplateOutlet]=\"loginFormTpl\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"socialLoginTpl\"></ng-container>\n </upd-card>\n <ng-container [ngTemplateOutlet]=\"noAccountTpl\"></ng-container>\n </ng-template>\n\n <ng-template #loginFormTpl>\n <upd-form [rows]=\"formRows\" [hasActionsSection]=\"false\" [(formGroup)]=\"formGroup\" (submitted)=\"login()\"></upd-form>\n <div class=\"form-footer\">\n <upd-button [colorStyle]=\"config.signInButtonColor\" (clicked)=\"login()\" [isLoading]=\"isSigningIn()\"\n customClasses=\"w-100\">\n {{ t('SignIn') }}\n </upd-button>\n @if (!!config.recoverPasswordRoute) {\n <div class=\"d-flex mt-2\">\n <upd-link class=\"ms-auto\" [customClasses]=\"linkClasses\" (clicked)=\"goToRecoverPasswordPage()\">\n {{ t('RecoverPassword') }}\n </upd-link>\n </div>\n }\n </div>\n </ng-template>\n\n <ng-template #socialLoginTpl>\n @if (config.socialLoginButtons.length > 0) {\n <div class=\"hr-text\">\n {{ t('Or') }}\n </div>\n <div class=\"card-body\">\n <div class=\"row\">\n @for (btn of config.socialLoginButtons; track btn) {\n <div class=\"col\">\n <upd-button [model]=\"btn\"></upd-button>\n </div>\n }\n </div>\n </div>\n }\n </ng-template>\n\n <ng-template #headerTpl>\n <div class=\"text-center mb-4\">\n <a href=\".\" class=\"navbar-brand navbar-brand-autodark\">\n <img height=\"36\" class=\"navbar-brand-image upd-brand-logo\" />\n </a>\n </div>\n </ng-template>\n\n <ng-template #noAccountTpl>\n @if (!!config.signUpRoute) {\n <div class=\"text-center text-muted mt-3\">\n {{ t('NoAccountYet') }}\n <upd-link [customClasses]=\"linkClasses\" (clicked)=\"goToSignUpPage()\">{{ t('SignUp') }}</upd-link>\n </div>\n }\n </ng-template>\n</ng-container>\n" }]
|
|
109
|
+
}] });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvcGFnZXMvYXV0aC1mbG93L2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhZ2VzL2F1dGgtZmxvdy9sb2dpbi9sb2dpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBcUIsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQW1CLE1BQU0seUJBQXlCLENBQUM7QUFDMUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7Ozs7QUFPckYsTUFBTSxPQUFPLGNBQWM7SUFMM0I7UUFNSSxjQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckMsYUFBUSxHQUFtQixFQUFFLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDckQsV0FBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDO1FBY2hFLGdCQUFXLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN4RSxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBd0UxRDtJQXZGRyxJQUFJLE1BQU07UUFDTixPQUFPLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFZLFVBQVU7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUM7SUFDM0csQ0FBQztJQU9ELFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNaO2dCQUNJLE1BQU0sRUFBRTtvQkFDSjt3QkFDSSxJQUFJLEVBQUUsVUFBVTt3QkFDaEIsSUFBSSxFQUFFLGdCQUFnQixDQUFDLEtBQUs7d0JBQzVCLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7d0JBQ3hCLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFO3dCQUMxRCxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQzFELG1CQUFtQixFQUFFLElBQUk7cUJBQ1Q7aUJBQ3ZCO2FBQ0o7WUFDRDtnQkFDSSxNQUFNLEVBQUU7b0JBQ0o7d0JBQ0ksSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLO3dCQUM1QixTQUFTLEVBQUUsVUFBVTt3QkFDckIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTt3QkFDeEIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUU7d0JBQzdELFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDMUQsbUJBQW1CLEVBQUUsSUFBSTtxQkFDVDtpQkFDdkI7YUFDSjtZQUNEO2dCQUNJLE1BQU0sRUFBRTtvQkFDSjt3QkFDSSxJQUFJLEVBQUUsWUFBWTt3QkFDbEIsSUFBSSxFQUFFLGdCQUFnQixDQUFDLFFBQVE7d0JBQy9CLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7d0JBQ3hCLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFO3dCQUMvRCxTQUFTLEVBQUUsS0FBSztxQkFDbkI7aUJBQ0o7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXRELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDRCwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQWEsQ0FBQyxRQUFRLEVBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQWEsQ0FBQyxRQUFRLENBQUM7YUFDckcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ2pELFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCx1QkFBdUI7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNELENBQUM7OEdBN0ZRLGNBQWM7a0dBQWQsY0FBYyw0T0NmM0IsKzJKQWlIQTs7MkZEbEdhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0ksV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgbW9kZWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkay9zZWN1cml0eSc7XG5pbXBvcnQgeyBGb3JtUm93TW9kZWwsIER5bmFtaWNGaWVsZFR5cGUsIElucHV0RmllbGRNb2RlbCB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFVwZExheW91dENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91cGQtbGF5b3V0LWNvbmZpZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtbG9naW4nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbG9naW4uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBmb3JtR3JvdXAgPSBtb2RlbChuZXcgRm9ybUdyb3VwKHt9KSk7XG4gICAgZm9ybVJvd3M6IEZvcm1Sb3dNb2RlbFtdID0gW107XG4gICAgaXNTaWduaW5nSW4gPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IGxheW91dENvbmZpZ1NlcnZpY2UgPSBpbmplY3QoVXBkTGF5b3V0Q29uZmlnU2VydmljZSk7XG4gICAgcmVhZG9ubHkgY29uZmlnID0gdGhpcy5sYXlvdXRDb25maWdTZXJ2aWNlLmNvbmZpZy5zZWN1cml0eUxheW91dENvbmZpZy5sb2dpblBhZ2U7XG5cbiAgICBnZXQgYm9yZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgYm9yZGVyLSR7dGhpcy5jb25maWcuYm9yZGVyQ29sb3J9YDtcbiAgICB9XG5cbiAgICBnZXQgbGlua0NsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gW2BsaW5rLSR7dGhpcy5jb25maWcubGlua3NDb2xvcn1gXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBib3hCZ0NvbG9yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5iZ0NvbG9yIHx8ICghIXRoaXMuY29uZmlnLmJnU3R5bGUgPyBgYmctJHt0aGlzLmNvbmZpZy5iZ1N0eWxlfWAgOiAnJykgfHwgJ2JnLXdoaXRlJztcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGJvZHlDbGFzc2VzID0gWydib3JkZXItdG9wLXdpZGUnLCB0aGlzLmJvcmRlciwgJ2QtZmxleCcsICdmbGV4LWNvbHVtbiddO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXlvdXRTZXJ2aWNlID0gaW5qZWN0KExheW91dFNlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5hZGRCb2R5Q2xhc3Nlcyh0aGlzLmJveEJnQ29sb3IpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5sYXlvdXQgIT09ICdjb3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5hZGRCb2R5Q2xhc3NlcyguLi50aGlzLmJvZHlDbGFzc2VzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9ybVJvd3MgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICd1c2VybmFtZScsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBEeW5hbWljRmllbGRUeXBlLklucHV0LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sU2l6ZTogeyBkZWZhdWx0OiAxMiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHsgdGV4dDogJ1VwRGV2cy5Mb2dpbi5FbWFpbCcsIGlzVHJhbnNsYXRlZDogZmFsc2UgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRTdWJtaXRPbkVudGVyOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH0gYXMgSW5wdXRGaWVsZE1vZGVsXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3Bhc3N3b3JkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IER5bmFtaWNGaWVsZFR5cGUuSW5wdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFR5cGU6ICdwYXNzd29yZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xTaXplOiB7IGRlZmF1bHQ6IDEyIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogeyB0ZXh0OiAnVXBEZXZzLkxvZ2luLlBhc3N3b3JkJywgaXNUcmFuc2xhdGVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZFN1Ym1pdE9uRW50ZXI6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfSBhcyBJbnB1dEZpZWxkTW9kZWxcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAncmVtZW1iZXJNZScsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBEeW5hbWljRmllbGRUeXBlLkNoZWNrYm94LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sU2l6ZTogeyBkZWZhdWx0OiAxMiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHsgdGV4dDogJ1VwRGV2cy5Mb2dpbi5SZW1lbWJlck1lJywgaXNUcmFuc2xhdGVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdFZhbHVlOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UucmVtb3ZlQm9keUNsYXNzZXModGhpcy5ib3hCZ0NvbG9yKTtcblxuICAgICAgICBpZiAodGhpcy5jb25maWcubGF5b3V0ICE9PSAnY292ZXInKSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UucmVtb3ZlQm9keUNsYXNzZXMoLi4udGhpcy5ib2R5Q2xhc3Nlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2dpbigpOiB2b2lkIHtcbiAgICAgICAgLy8gVE9ETzogaGFuZGxlIHJlbWVtYmVyIG1lXG4gICAgICAgIHRoaXMuaXNTaWduaW5nSW4uc2V0KHRydWUpO1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ2luKCh0aGlzLmZvcm1Hcm91cCgpLnZhbHVlIGFzIGFueSkudXNlcm5hbWUsICh0aGlzLmZvcm1Hcm91cCgpLnZhbHVlIGFzIGFueSkucGFzc3dvcmQpXG4gICAgICAgICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzU2lnbmluZ0luLnNldChmYWxzZSkpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGdvVG9SZWNvdmVyUGFzc3dvcmRQYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5jb25maWcucmVjb3ZlclBhc3N3b3JkUm91dGVdKS50aGVuKCk7XG4gICAgfVxuXG4gICAgZ29Ub1NpZ25VcFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmNvbmZpZy5zaWduVXBSb3V0ZV0pLnRoZW4oKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdDsgcHJlZml4OiAnVXBEZXZzLkxvZ2luJ1wiPlxuICAgIDx1cGQtaGVhZGVyIFtzdHlsZV09XCIndHJhbnNwYXJlbnQnXCI+PC91cGQtaGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlIHBhZ2UtY2VudGVyXCI+XG4gICAgICAgIEBzd2l0Y2ggKGNvbmZpZy5sYXlvdXQpIHtcbiAgICAgICAgICAgIEBjYXNlICgnY2VudGVyZWQtYm94Jykge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgY29udGFpbmVyLXRpZ2h0IHB5LTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2dpbkNhcmRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlICgnYm94LXdpdGgtcGljdHVyZScpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyIGNvbnRhaW5lci1ub3JtYWwgcHktNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciBnLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXRpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibG9naW5DYXJkVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGcgZC1ub25lIGQtbGctYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGhlaWdodD1cIjMwMFwiIGNsYXNzPVwiZC1ibG9jayBteC1hdXRvIHVwZC1yaWdodC1sb2dpbi1pbWFnZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAY2FzZSAoJ2NvdmVyJykge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZy0wIGZsZXgtZmlsbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1sZy02IGNvbC14bC00IGJvcmRlci10b3Atd2lkZSBkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJib3JkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgY29udGFpbmVyLXRpZ2h0IG15LTUgcHgtbGctNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVHBsXCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJoMyB0ZXh0LWNlbnRlciBtYi0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ1RpdGxlJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2dpbkZvcm1UcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNvY2lhbExvZ2luVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJub0FjY291bnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbGctNiBjb2wteGwtOCBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJnLWNvdmVyIGgtMTAwIG1pbi12aC0xMDAgdXBkLXJpZ2h0LWxvZ2luLWNvdmVyLWltYWdlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgPHVwZC1mb290ZXI+PC91cGQtZm9vdGVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNsb2dpbkNhcmRUcGw+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDx1cGQtY2FyZCBbcmVtb3ZlQm9yZGVyXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTRcIj5cbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJoMiB0ZXh0LWNlbnRlciBtYi00XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHQoJ1RpdGxlJykgfX1cbiAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibG9naW5Gb3JtVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic29jaWFsTG9naW5UcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91cGQtY2FyZD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJub0FjY291bnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNsb2dpbkZvcm1UcGw+XG4gICAgICAgIDx1cGQtZm9ybSBbcm93c109XCJmb3JtUm93c1wiIFtoYXNBY3Rpb25zU2VjdGlvbl09XCJmYWxzZVwiIFsoZm9ybUdyb3VwKV09XCJmb3JtR3JvdXBcIiAoc3VibWl0dGVkKT1cImxvZ2luKClcIj48L3VwZC1mb3JtPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1mb290ZXJcIj5cbiAgICAgICAgICAgIDx1cGQtYnV0dG9uIFtjb2xvclN0eWxlXT1cImNvbmZpZy5zaWduSW5CdXR0b25Db2xvclwiIChjbGlja2VkKT1cImxvZ2luKClcIiBbaXNMb2FkaW5nXT1cImlzU2lnbmluZ0luKClcIlxuICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzZXM9XCJ3LTEwMFwiPlxuICAgICAgICAgICAgICAgIHt7IHQoJ1NpZ25JbicpIH19XG4gICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgICAgICBAaWYgKCEhY29uZmlnLnJlY292ZXJQYXNzd29yZFJvdXRlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtbGluayBjbGFzcz1cIm1zLWF1dG9cIiBbY3VzdG9tQ2xhc3Nlc109XCJsaW5rQ2xhc3Nlc1wiIChjbGlja2VkKT1cImdvVG9SZWNvdmVyUGFzc3dvcmRQYWdlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ1JlY292ZXJQYXNzd29yZCcpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvdXBkLWxpbms+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI3NvY2lhbExvZ2luVHBsPlxuICAgICAgICBAaWYgKGNvbmZpZy5zb2NpYWxMb2dpbkJ1dHRvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhyLXRleHRcIj5cbiAgICAgICAgICAgICAgICB7eyB0KCdPcicpIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGJ0biBvZiBjb25maWcuc29jaWFsTG9naW5CdXR0b25zOyB0cmFjayBidG4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWJ1dHRvbiBbbW9kZWxdPVwiYnRuXCI+PC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVHBsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbWItNFwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cIi5cIiBjbGFzcz1cIm5hdmJhci1icmFuZCBuYXZiYXItYnJhbmQtYXV0b2RhcmtcIj5cbiAgICAgICAgICAgICAgICA8aW1nIGhlaWdodD1cIjM2XCIgY2xhc3M9XCJuYXZiYXItYnJhbmQtaW1hZ2UgdXBkLWJyYW5kLWxvZ29cIiAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNub0FjY291bnRUcGw+XG4gICAgICAgIEBpZiAoISFjb25maWcuc2lnblVwUm91dGUpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LW11dGVkIG10LTNcIj5cbiAgICAgICAgICAgICAgICB7eyB0KCdOb0FjY291bnRZZXQnKSB9fVxuICAgICAgICAgICAgICAgIDx1cGQtbGluayBbY3VzdG9tQ2xhc3Nlc109XCJsaW5rQ2xhc3Nlc1wiIChjbGlja2VkKT1cImdvVG9TaWduVXBQYWdlKClcIj57eyB0KCdTaWduVXAnKSB9fTwvdXBkLWxpbms+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class OauthCallbackComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: OauthCallbackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: OauthCallbackComponent, selector: "upd-oauth-callback", ngImport: i0, template: "<p>oauth-callback works!</p>\n", styles: [""] }); }
|
|
6
6
|
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: OauthCallbackComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
9
|
args: [{ selector: 'upd-oauth-callback', template: "<p>oauth-callback works!</p>\n" }]
|
|
10
10
|
}] });
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGgtY2FsbGJhY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvcGFnZXMvYXV0aC1mbG93L29hdXRoLWNhbGxiYWNrL29hdXRoLWNhbGxiYWNrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhZ2VzL2F1dGgtZmxvdy9vYXV0aC1jYWxsYmFjay9vYXV0aC1jYWxsYmFjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7a0dBQXRCLHNCQUFzQiwwRENQbkMsZ0NBQ0E7OzJGRE1hLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDSSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtb2F1dGgtY2FsbGJhY2snLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9vYXV0aC1jYWxsYmFjay5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vb2F1dGgtY2FsbGJhY2suY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBPYXV0aENhbGxiYWNrQ29tcG9uZW50IHtcblxufVxuIiwiPHA+b2F1dGgtY2FsbGJhY2sgd29ya3MhPC9wPlxuIl19
|
|
@@ -3,4 +3,4 @@ export * from './login/login.component';
|
|
|
3
3
|
export * from './oauth-callback/oauth-callback.component';
|
|
4
4
|
export * from './auth-flow.module';
|
|
5
5
|
export * from './auth-flow-routing.module';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhZ2VzL2F1dGgtZmxvdy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbG9nZ2VkLW91dC9sb2dnZWQtb3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL29hdXRoLWNhbGxiYWNrL29hdXRoLWNhbGxiYWNrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgtZmxvdy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLWZsb3ctcm91dGluZy5tb2R1bGUnO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './auth-flow/public-api';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhZ2VzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aC1mbG93L3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { Component,
|
|
2
|
-
import { BaseComponent } from '@updevs/sdk/layout';
|
|
3
|
-
import { TranslocoService } from '@ngneat/transloco';
|
|
4
|
-
import { FooterCopyrightDirective } from './footer-copyright.directive';
|
|
1
|
+
import { Component, HostBinding, ViewEncapsulation, inject } from '@angular/core';
|
|
2
|
+
import { BaseComponent, LayoutService } from '@updevs/sdk/layout';
|
|
5
3
|
import * as i0 from "@angular/core";
|
|
6
4
|
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "@
|
|
5
|
+
import * as i2 from "@jsverse/transloco";
|
|
8
6
|
export class FooterComponent extends BaseComponent {
|
|
9
7
|
constructor() {
|
|
10
8
|
super(...arguments);
|
|
@@ -25,21 +23,11 @@ export class FooterComponent extends BaseComponent {
|
|
|
25
23
|
* Current year.
|
|
26
24
|
*/
|
|
27
25
|
this.currentYear = new Date().getFullYear();
|
|
28
|
-
|
|
29
|
-
* Text displayed in the copyright section before the symbol and year.
|
|
30
|
-
*/
|
|
31
|
-
this.copyrightPrefix = 'Copyright';
|
|
32
|
-
/**
|
|
33
|
-
* Text displayed in the copyright section after the symbol and year.
|
|
34
|
-
*/
|
|
35
|
-
this.copyrightSuffix = '';
|
|
26
|
+
this.layoutService = inject(LayoutService);
|
|
36
27
|
this.baseWrapperClasses = 'footer d-print-none';
|
|
37
|
-
this.translocoService = inject(TranslocoService);
|
|
38
28
|
}
|
|
39
29
|
ngOnInit() {
|
|
40
|
-
const footerCpsSub = this.translocoService.selectTranslate('Footer.AllRightsReserved').subscribe(r => this.copyrightSuffix = r);
|
|
41
30
|
this.updateWrapperClasses();
|
|
42
|
-
this.addSubscriptions(footerCpsSub);
|
|
43
31
|
}
|
|
44
32
|
ngOnChanges(changes) {
|
|
45
33
|
if (!!changes['isSticky'].currentValue || !!changes['isTransparent'].currentValue) {
|
|
@@ -51,17 +39,14 @@ export class FooterComponent extends BaseComponent {
|
|
|
51
39
|
const transparentCls = this.isTransparent ? ' footer-transparent' : '';
|
|
52
40
|
this.wrapperClasses = `${this.baseWrapperClasses}${stickyBottomCls}${transparentCls}`;
|
|
53
41
|
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
55
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FooterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: FooterComponent, selector: "upd-footer", host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-xl\">\n <div class=\"row text-center align-items-center flex-row-reverse\">\n <div class=\"col-lg-auto ms-lg-auto\">\n @if (!!layoutService.rightFooter()) {\n <ng-container [ngTemplateOutlet]=\"layoutService.rightFooter()!\"></ng-container>\n }\n\n @if (links.length > 0) {\n <ul class=\"list-inline list-inline-dots mb-0\">\n @for (link of links; track link) {\n <li class=\"list-inline-item\">\n <a href=\"{{link.url}}\" target=\"{{link.target}}\" class=\"link-secondary\">\n <span [innerHTML]=\"link.text\"></span>\n </a>\n </li>\n }\n </ul>\n }\n </div>\n <div class=\"col-12 col-lg-auto mt-3 mt-lg-0\">\n <ul class=\"list-inline list-inline-dots mb-0\">\n <li class=\"list-inline-item\">\n <ng-container *transloco=\"let t; prefix: 'UpDevs.Footer'\">\n {{ t('Prefix') }} {{ t('Symbol') }} {{ currentYear }} {{ t('Suffix') }}\n </ng-container>\n </li>\n @if (!!version) {\n <li class=\"list-inline-item\">\n {{ version }}\n </li>\n }\n </ul>\n\n @if (!!layoutService.leftFooter()) {\n <ng-container [ngTemplateOutlet]=\"layoutService.leftFooter()!\"></ng-container>\n }\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
56
44
|
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FooterComponent, decorators: [{
|
|
58
46
|
type: Component,
|
|
59
|
-
args: [{ selector: 'upd-footer', encapsulation: ViewEncapsulation.None, template: "<div class=\"container-xl\">\n <div class=\"row text-center align-items-center flex-row-reverse\">\n <div class=\"col-lg-auto ms-lg-auto\">\n @if (links.length > 0) {\n <ul class=\"list-inline list-inline-dots mb-0\">\n @for (link of links; track link) {\n <li class=\"list-inline-item\">\n <a href=\"{{link.url}}\" target=\"{{link.target}}\" class=\"link-secondary\">\n <span [innerHTML]=\"link.text\"></span>\n
|
|
47
|
+
args: [{ selector: 'upd-footer', encapsulation: ViewEncapsulation.None, template: "<div class=\"container-xl\">\n <div class=\"row text-center align-items-center flex-row-reverse\">\n <div class=\"col-lg-auto ms-lg-auto\">\n @if (!!layoutService.rightFooter()) {\n <ng-container [ngTemplateOutlet]=\"layoutService.rightFooter()!\"></ng-container>\n }\n\n @if (links.length > 0) {\n <ul class=\"list-inline list-inline-dots mb-0\">\n @for (link of links; track link) {\n <li class=\"list-inline-item\">\n <a href=\"{{link.url}}\" target=\"{{link.target}}\" class=\"link-secondary\">\n <span [innerHTML]=\"link.text\"></span>\n </a>\n </li>\n }\n </ul>\n }\n </div>\n <div class=\"col-12 col-lg-auto mt-3 mt-lg-0\">\n <ul class=\"list-inline list-inline-dots mb-0\">\n <li class=\"list-inline-item\">\n <ng-container *transloco=\"let t; prefix: 'UpDevs.Footer'\">\n {{ t('Prefix') }} {{ t('Symbol') }} {{ currentYear }} {{ t('Suffix') }}\n </ng-container>\n </li>\n @if (!!version) {\n <li class=\"list-inline-item\">\n {{ version }}\n </li>\n }\n </ul>\n\n @if (!!layoutService.leftFooter()) {\n <ng-container [ngTemplateOutlet]=\"layoutService.leftFooter()!\"></ng-container>\n }\n </div>\n </div>\n</div>\n" }]
|
|
60
48
|
}], propDecorators: { wrapperClasses: [{
|
|
61
49
|
type: HostBinding,
|
|
62
50
|
args: ['class']
|
|
63
|
-
}], footerCopyrightTemplate: [{
|
|
64
|
-
type: ContentChild,
|
|
65
|
-
args: [FooterCopyrightDirective, { read: TemplateRef, static: true }]
|
|
66
51
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvcGFydGlhbHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBb0MsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFRbEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsYUFBYTtJQU5sRDs7UUFPMEIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFFMUM7O1dBRUc7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCOztXQUVHO1FBQ0gsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckI7O1dBRUc7UUFDSCxVQUFLLEdBQWdCLEVBQUUsQ0FBQztRQUN4Qjs7V0FFRztRQUNILGdCQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQU05QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV2Qyx1QkFBa0IsR0FBRyxxQkFBcUIsQ0FBQztLQWlCdEQ7SUFmRyxRQUFRO1FBQ0osSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDaEYsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5RCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsZUFBZSxHQUFHLGNBQWMsRUFBRSxDQUFDO0lBQzFGLENBQUM7OEdBMUNRLGVBQWU7a0dBQWYsZUFBZSx3SkNWNUIsMm5EQXVDQTs7MkZEN0JhLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0ksWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJOzhCQUdmLGNBQWM7c0JBQW5DLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uSW5pdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaW5rTW9kZWwgfSBmcm9tICdAdXBkZXZzL3Nkay9jb3JlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIExheW91dFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1mb290ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Zvb3Rlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRm9vdGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgd3JhcHBlckNsYXNzZXMgPSAnJztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGZvb3RlciB3aWxsIGFsd2F5cyBiZSBzaG93bi5cbiAgICAgKi9cbiAgICBpc1N0aWNreSA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGZvb3RlciBpcyB0cmFuc3BhcmVudCBvciBub3QuXG4gICAgICovXG4gICAgaXNUcmFuc3BhcmVudCA9IHRydWU7XG4gICAgLyoqXG4gICAgICogTGlua3MuXG4gICAgICovXG4gICAgbGlua3M6IExpbmtNb2RlbFtdID0gW107XG4gICAgLyoqXG4gICAgICogQ3VycmVudCB5ZWFyLlxuICAgICAqL1xuICAgIGN1cnJlbnRZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpO1xuICAgIC8qKlxuICAgICAqIFZlcnNpb24gb2YgdGhlIGFwcGxpY2F0aW9uLlxuICAgICAqL1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG5cbiAgICByZWFkb25seSBsYXlvdXRTZXJ2aWNlID0gaW5qZWN0KExheW91dFNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSBiYXNlV3JhcHBlckNsYXNzZXMgPSAnZm9vdGVyIGQtcHJpbnQtbm9uZSc7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVXcmFwcGVyQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCEhY2hhbmdlc1snaXNTdGlja3knXS5jdXJyZW50VmFsdWUgfHwgISFjaGFuZ2VzWydpc1RyYW5zcGFyZW50J10uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVdyYXBwZXJDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVdyYXBwZXJDbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGlja3lCb3R0b21DbHMgPSB0aGlzLmlzU3RpY2t5ID8gJyBzdGlja3ktYm90dG9tJyA6ICcnO1xuICAgICAgICBjb25zdCB0cmFuc3BhcmVudENscyA9IHRoaXMuaXNUcmFuc3BhcmVudCA/ICcgZm9vdGVyLXRyYW5zcGFyZW50JyA6ICcnO1xuICAgICAgICB0aGlzLndyYXBwZXJDbGFzc2VzID0gYCR7dGhpcy5iYXNlV3JhcHBlckNsYXNzZXN9JHtzdGlja3lCb3R0b21DbHN9JHt0cmFuc3BhcmVudENsc31gO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXIteGxcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IHRleHQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXJvdy1yZXZlcnNlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctYXV0byBtcy1sZy1hdXRvXCI+XG4gICAgICAgICAgICBAaWYgKCEhbGF5b3V0U2VydmljZS5yaWdodEZvb3RlcigpKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsYXlvdXRTZXJ2aWNlLnJpZ2h0Rm9vdGVyKCkhXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAobGlua3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtaW5saW5lIGxpc3QtaW5saW5lLWRvdHMgbWItMFwiPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChsaW5rIG9mIGxpbmtzOyB0cmFjayBsaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWlubGluZS1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cInt7bGluay51cmx9fVwiIHRhcmdldD1cInt7bGluay50YXJnZXR9fVwiIGNsYXNzPVwibGluay1zZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJsaW5rLnRleHRcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1sZy1hdXRvIG10LTMgbXQtbGctMFwiPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwibGlzdC1pbmxpbmUgbGlzdC1pbmxpbmUtZG90cyBtYi0wXCI+XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1pbmxpbmUtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdDsgcHJlZml4OiAnVXBEZXZzLkZvb3RlcidcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ1ByZWZpeCcpIH19IHt7IHQoJ1N5bWJvbCcpIH19IHt7IGN1cnJlbnRZZWFyIH19IHt7IHQoJ1N1ZmZpeCcpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgQGlmICghIXZlcnNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1pbmxpbmUtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgdmVyc2lvbiB9fVxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvdWw+XG5cbiAgICAgICAgICAgIEBpZiAoISFsYXlvdXRTZXJ2aWNlLmxlZnRGb290ZXIoKSkge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGF5b3V0U2VydmljZS5sZWZ0Rm9vdGVyKCkhXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { TranslocoModule } from '@jsverse/transloco';
|
|
4
|
+
import { FooterComponent } from './footer.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class FooterModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: FooterModule, declarations: [FooterComponent], imports: [CommonModule,
|
|
9
|
+
TranslocoModule], exports: [FooterComponent] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FooterModule, imports: [CommonModule,
|
|
11
|
+
TranslocoModule] }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FooterModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
imports: [
|
|
17
|
+
CommonModule,
|
|
18
|
+
TranslocoModule
|
|
19
|
+
],
|
|
20
|
+
declarations: [
|
|
21
|
+
FooterComponent
|
|
22
|
+
],
|
|
23
|
+
exports: [
|
|
24
|
+
FooterComponent
|
|
25
|
+
]
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL2Zvb3Rlci9mb290ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBY3JELE1BQU0sT0FBTyxZQUFZOzhHQUFaLFlBQVk7K0dBQVosWUFBWSxpQkFOakIsZUFBZSxhQUpmLFlBQVk7WUFDWixlQUFlLGFBTWYsZUFBZTsrR0FHVixZQUFZLFlBVmpCLFlBQVk7WUFDWixlQUFlOzsyRkFTVixZQUFZO2tCQVp4QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7cUJBQ2xCO29CQUNELFlBQVksRUFBRTt3QkFDVixlQUFlO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsZUFBZTtxQkFDbEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5cbmltcG9ydCB7IEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vZm9vdGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRyYW5zbG9jb01vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEZvb3RlckNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBGb290ZXJDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvb3Rlck1vZHVsZSB7fVxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './footer-copyright.directive';
|
|
2
1
|
export * from './footer.component';
|
|
3
|
-
|
|
2
|
+
export * from './footer.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL2Zvb3Rlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9vdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvb3Rlci5tb2R1bGUnO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXN0eWxlLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGF5b3V0L3NyYy9wYXJ0aWFscy9oZWFkZXIvaGVhZGVyLXN0eWxlLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEhlYWRlclN0eWxlVHlwZSA9ICdsaWdodCcgfCAnZGFyaycgfCAndHJhbnNwYXJlbnQnO1xuIl19
|