@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updevs-components-layout.mjs","sources":["../../../../projects/updevs/components/layout/src/abstractions/base-page.component.ts","../../../../projects/updevs/components/layout/src/layouts/blank-layout/blank-layout.component.ts","../../../../projects/updevs/components/layout/src/layouts/blank-layout/blank-layout.component.html","../../../../projects/updevs/components/layout/src/layouts/blank-layout/blank-layout.module.ts","../../../../projects/updevs/components/layout/src/partials/footer/footer-copyright.directive.ts","../../../../projects/updevs/components/layout/src/partials/footer/footer.component.ts","../../../../projects/updevs/components/layout/src/partials/footer/footer.component.html","../../../../projects/updevs/components/layout/src/partials/header/header.component.ts","../../../../projects/updevs/components/layout/src/partials/header/header.component.html","../../../../projects/updevs/components/layout/src/partials/sidebar/sidebar.component.ts","../../../../projects/updevs/components/layout/src/partials/sidebar/sidebar.component.html","../../../../projects/updevs/components/layout/src/partials/page-header/page-header.component.ts","../../../../projects/updevs/components/layout/src/partials/page-header/page-header.component.html","../../../../projects/updevs/components/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.ts","../../../../projects/updevs/components/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.html","../../../../projects/updevs/components/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.ts","../../../../projects/updevs/components/layout/src/pages/auth-flow/logged-out/logged-out.component.ts","../../../../projects/updevs/components/layout/src/pages/auth-flow/logged-out/logged-out.component.html","../../../../projects/updevs/components/layout/src/pages/auth-flow/login/login.component.ts","../../../../projects/updevs/components/layout/src/pages/auth-flow/login/login.component.html","../../../../projects/updevs/components/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.ts","../../../../projects/updevs/components/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.html","../../../../projects/updevs/components/layout/src/pages/auth-flow/auth-flow-routing.module.ts","../../../../projects/updevs/components/layout/src/pages/auth-flow/auth-flow.module.ts","../../../../projects/updevs/components/layout/src/models/upd-layout-config.model.ts","../../../../projects/updevs/components/layout/src/tools/layout.constants.ts","../../../../projects/updevs/components/layout/src/services/upd-layout-config.service.ts","../../../../projects/updevs/components/layout/src/upd-layout.module.ts","../../../../projects/updevs/components/layout/src/updevs-components-layout.ts"],"sourcesContent":["import { OnDestroy, Directive, inject } from '@angular/core';\nimport { BaseComponent, LayoutService } from '@updevs/sdk/layout';\n\n/**\n * Basic page structure.\n */\n@Directive({})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport abstract class BasePageComponent extends BaseComponent implements OnDestroy {\n protected readonly _layoutService = inject(LayoutService);\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n // TODO: clear subheader.\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'upd-blank-layout',\n templateUrl: './blank-layout.component.html',\n styleUrls: ['./blank-layout.component.scss']\n})\nexport class BlankLayoutComponent {\n\n}\n","<p>blank-layout works!</p>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BlankLayoutComponent } from './blank-layout.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n BlankLayoutComponent\n ],\n exports: [\n BlankLayoutComponent\n ]\n})\nexport class BlankLayoutModule {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[updFooterCopyright]'\n})\nexport class FooterCopyrightDirective {}\n","import {\n Component,\n ContentChild,\n TemplateRef,\n HostBinding,\n OnInit,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { LinkModel } from '@updevs/sdk/core';\nimport { BaseComponent } from '@updevs/sdk/layout';\nimport { TranslocoService } from '@ngneat/transloco';\n\nimport { FooterCopyrightDirective } from './footer-copyright.directive';\n\n@Component({\n selector: 'upd-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FooterComponent extends BaseComponent implements OnInit, OnChanges {\n @HostBinding('class') wrapperClasses = '';\n @ContentChild(FooterCopyrightDirective, { read: TemplateRef, static: true }) footerCopyrightTemplate?: TemplateRef<any>;\n\n /**\n * Whether the footer will always be shown.\n */\n isSticky = false;\n /**\n * Whether the footer is transparent or not.\n */\n isTransparent = true;\n /**\n * Links.\n */\n links: LinkModel[] = [];\n /**\n * Current year.\n */\n currentYear = new Date().getFullYear();\n /**\n * Text displayed in the copyright section before the symbol and year.\n */\n copyrightPrefix = 'Copyright';\n /**\n * Text displayed in the copyright section after the symbol and year.\n */\n copyrightSuffix = '';\n /**\n * Version of the application.\n */\n version?: string;\n\n private baseWrapperClasses = 'footer d-print-none';\n\n private readonly translocoService = inject(TranslocoService);\n\n ngOnInit(): void {\n const footerCpsSub = this.translocoService.selectTranslate('Footer.AllRightsReserved').subscribe(r => this.copyrightSuffix = r);\n\n this.updateWrapperClasses();\n this.addSubscriptions(footerCpsSub);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!!changes['isSticky'].currentValue || !!changes['isTransparent'].currentValue) {\n this.updateWrapperClasses();\n }\n }\n\n private updateWrapperClasses(): void {\n const stickyBottomCls = this.isSticky ? ' sticky-bottom' : '';\n const transparentCls = this.isTransparent ? ' footer-transparent' : '';\n this.wrapperClasses = `${this.baseWrapperClasses}${stickyBottomCls}${transparentCls}`;\n }\n}\n","<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 <ng-container *transloco=\"let t\">\n {{ t('Layout.Aloha') }}\n </ng-container>\n </a>\n </li>\n }\n </ul>\n }\n </div>\n <div class=\"col-12 col-lg-auto mt-3 mt-lg-0\">\n @if (!!footerCopyrightTemplate) {\n <ng-container [ngTemplateOutlet]=\"footerCopyrightTemplate\"></ng-container>\n } @else {\n <ul class=\"list-inline list-inline-dots mb-0\">\n <li class=\"list-inline-item\">\n {{ copyrightPrefix }} © {{ currentYear }} {{ copyrightSuffix }}\n </li>\n @if (!!version) {\n <li class=\"list-inline-item\">\n {{ version }}\n </li>\n }\n </ul>\n }\n </div>\n </div>\n</div>\n","import { Component, ViewEncapsulation, Input, HostBinding, OnChanges, SimpleChanges, OnInit, inject } from '@angular/core';\nimport { UpdCoreLayoutConfigService, BaseComponent, LayoutService } from '@updevs/sdk/layout';\nimport { TablerIconsType } from '@updevs/icons';\nimport { TranslocoService } from '@ngneat/transloco';\n\nimport { HeaderStyleType } from './header-style.type';\n\n@Component({\n selector: 'upd-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeaderComponent extends BaseComponent implements OnInit, OnChanges {\n @HostBinding('class') wrapperClasses = '';\n\n @Input() style: HeaderStyleType = 'light';\n @Input() showSearchBar = true;\n\n nextThemeIcon: TablerIconsType = 'moon';\n nextThemeColor = 'black';\n currentNotificationsIcon: TablerIconsType = 'bell';\n hasNewNotifications = false;\n showNotifications = false;\n showLanguageSwitcher = true; // TODO: add on config.\n showUserMenu = false;\n\n private baseWrapperClasses = 'navbar navbar-expand-md d-none d-lg-flex d-print-none';\n\n private readonly coreLayoutConfigService = inject(UpdCoreLayoutConfigService);\n private readonly layoutService = inject(LayoutService);\n private readonly translocoService = inject(TranslocoService);\n\n ngOnInit(): void {\n this.updateWrapperClasses();\n\n if (this.coreLayoutConfigService.config.showNotificationsButton) {\n this.setupNotifications();\n }\n\n if (this.coreLayoutConfigService.config.showUserMenu) {\n this.showUserMenu = true;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!!changes['style'].currentValue) {\n this.updateWrapperClasses();\n }\n }\n\n switchTheme(): void {\n const isDarkMode = this.nextThemeIcon === 'moon';\n this.nextThemeIcon = isDarkMode ? 'sun' : 'moon';\n this.nextThemeColor = isDarkMode ? 'white' : 'black';\n\n this.layoutService.toggleDarkMode(isDarkMode);\n }\n\n // TODO: implement.\n switchLanguage(): void {\n const currentLang = this.translocoService.getActiveLang();\n this.translocoService.setActiveLang(currentLang === 'en' ? 'pt' : 'en');\n }\n\n openNotifications(): void {\n this.updateNotificationsIcon();\n }\n\n private setupNotifications(): void {\n this.showNotifications = true;\n }\n\n private updateNotificationsIcon(): void {\n this.currentNotificationsIcon = this.currentNotificationsIcon === 'bell' ? 'bell-ringing' : 'bell';\n this.hasNewNotifications = !this.hasNewNotifications;\n }\n\n private updateWrapperClasses(): void {\n this.wrapperClasses = `${this.baseWrapperClasses} navbar-${this.style}`;\n }\n}\n","<div class=\"container-xl\">\n <button class=\"navbar-toggler\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <div class=\"navbar-nav flex-row order-md-last\">\n <div class=\"d-none d-md-flex me-3\">\n <div class=\"nav-item\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"switchTheme()\">\n <upd-icon [tablerIcon]=\"nextThemeIcon\"></upd-icon>\n </upd-link>\n </div>\n @if (showLanguageSwitcher) {\n <div class=\"nav-item\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"switchLanguage()\">\n <upd-icon tablerIcon=\"flag\"></upd-icon>\n </upd-link>\n </div>\n }\n @if (showNotifications) {\n <div class=\"nav-item dropdown d-none d-md-flex\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"openNotifications()\">\n <upd-icon [tablerIcon]=\"currentNotificationsIcon\"></upd-icon>\n @if (hasNewNotifications) {\n <span class=\"badge bg-red\"></span>\n }\n </upd-link>\n <div class=\"dropdown-menu dropdown-menu-arrow dropdown-menu-end dropdown-menu-card\">\n <div class=\"card\">\n <div class=\"card-header\">\n <h3 class=\"card-title\">Last updates</h3>\n </div>\n <div class=\"list-group list-group-flush list-group-hoverable\">\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span\n class=\"status-dot status-dot-animated bg-red d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 1</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Change deprecated html tags to text decoration classes (#29604)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span class=\"status-dot d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 2</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n justify-content:between ⇒ justify-content:space-between (#29734)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions show\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-yellow\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span class=\"status-dot d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 3</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Update change-version.js (#29736)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span\n class=\"status-dot status-dot-animated bg-green d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 4</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Regenerate package-lock.json (#29730)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n @if (showUserMenu) {\n <div class=\"nav-item dropdown\">\n <a href=\"#\" class=\"nav-link d-flex lh-1 text-reset p-0\" data-bs-toggle=\"dropdown\"\n aria-label=\"Open user menu\">\n <!--<span class=\"avatar avatar-sm\" style=\"background-image: url(./static/avatars/000m.jpg)\"></span>-->\n <span class=\"avatar avatar-sm\"></span>\n <div class=\"d-none d-xl-block ps-2\">\n <div>Eros Stein</div>\n <div class=\"mt-1 small text-muted\">Administrator</div>\n </div>\n </a>\n <div class=\"dropdown-menu dropdown-menu-end dropdown-menu-arrow\">\n <a href=\"#\" class=\"dropdown-item\">Status</a>\n <a href=\"./profile.html\" class=\"dropdown-item\">Profile</a>\n <a href=\"#\" class=\"dropdown-item\">Feedback</a>\n <div class=\"dropdown-divider\"></div>\n <a href=\"./settings.html\" class=\"dropdown-item\">Settings</a>\n <a href=\"./sign-in.html\" class=\"dropdown-item\">Logout</a>\n </div>\n </div>\n }\n </div>\n @if (showSearchBar) {\n <div class=\"collapse navbar-collapse\">\n <div>\n <form autocomplete=\"off\" novalidate>\n <div class=\"input-icon\">\n <span class=\"input-icon-addon\">\n <upd-icon tablerIcon=\"search\"></upd-icon>\n </span>\n <input type=\"text\" value=\"\" class=\"form-control\" placeholder=\"Search…\">\n </div>\n </form>\n </div>\n </div>\n }\n</div>\n","import { Component, HostBinding, ViewEncapsulation, OnInit, inject } from '@angular/core';\nimport { Router, NavigationStart } from '@angular/router';\nimport { OptionalType } from '@updevs/sdk/types';\nimport { RouteDataModel } from '@updevs/sdk/routes';\nimport { BaseComponent } from '@updevs/sdk/layout';\nimport { filter } from 'rxjs';\n\n@Component({\n selector: 'upd-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SidebarComponent extends BaseComponent implements OnInit {\n @HostBinding('class') wrapperClasses = 'navbar navbar-vertical navbar-expand-lg';\n @HostBinding('attr.data-bs-theme') theme = 'dark';\n\n menuItems: RouteDataModel[] = [];\n\n private readonly router = inject(Router);\n\n ngOnInit(): void {\n // TODO: remove demo code.\n const sampleCardsItem = new RouteDataModel({\n title: 'Sample cards',\n icon: { tablerIcon: 'home' }\n });\n const cardActionsItem = new RouteDataModel({\n title: 'Card actions',\n icon: { tablerIcon: 'folder' }\n });\n const emptyPageItem = new RouteDataModel({\n title: 'Empty page',\n icon: { tablerIcon: 'home' }\n });\n const cardsItem = new RouteDataModel({\n title: 'Cards',\n icon: { tablerIcon: 'user' },\n children: [\n sampleCardsItem,\n cardActionsItem\n ]\n });\n const interfaceItem = new RouteDataModel({\n title: 'Interface',\n icon: { tablerIcon: 'device-desktop' },\n children: [\n emptyPageItem,\n cardsItem\n ]\n });\n sampleCardsItem.parent = cardsItem;\n cardActionsItem.parent = cardsItem;\n emptyPageItem.parent = interfaceItem;\n cardsItem.parent = interfaceItem;\n this.menuItems = [\n new RouteDataModel({\n title: 'Home',\n icon: { tablerIcon: 'home' }\n }),\n new RouteDataModel({\n title: 'Archives',\n icon: { tablerIcon: 'folder' }\n }),\n interfaceItem,\n new RouteDataModel({\n title: 'Library',\n icon: { tablerIcon: 'building' }\n })\n ];\n // END demo code\n\n const routerSub = this.router.events.pipe(\n filter(event => event instanceof NavigationStart)\n ).subscribe(event => this.updateActiveRoute((<NavigationStart> event).url));\n\n this.updateActiveRoute(this.router.url);\n this.addSubscriptions(routerSub);\n }\n\n onMenuItemClick(item: RouteDataModel): void {\n this.resetMenuState(this.menuItems);\n\n item.isActive = true;\n\n this.updateParents(item);\n\n if (!!item.clickFunction) {\n item.clickFunction();\n return;\n }\n\n if ((item.children?.length || 0) > 0) {\n return;\n }\n\n this.router.navigate(item.getFullPath()).then();\n }\n\n hasChildren(item: RouteDataModel): boolean {\n return (item.children?.length || 0) > 0;\n }\n\n private findActiveNode(item: RouteDataModel, fullPath: string): OptionalType<RouteDataModel> {\n if (item.fullPath === fullPath) {\n return item;\n } else if (item.children.length > 0) {\n let result;\n\n for (let i = 0; !result && i < item.children.length; i++) {\n result = this.findActiveNode(item.children[i], fullPath);\n }\n\n return result;\n }\n\n return undefined;\n }\n\n private updateActiveRoute(newPath: string): void {\n this.resetMenuState(this.menuItems);\n\n let item: OptionalType<RouteDataModel>;\n\n for (const mi of this.menuItems) {\n item = this.findActiveNode(mi, newPath);\n\n if (!!item) {\n break;\n }\n }\n\n while (!!item) {\n item.isActive = true;\n item = item.parent;\n }\n }\n\n private resetMenuState(items: RouteDataModel[]): void {\n items.forEach(i => {\n i.isActive = false;\n\n if (i.children.length > 0) {\n this.resetMenuState(i.children);\n }\n });\n }\n\n private updateParents(menuItem: RouteDataModel): void {\n let item: OptionalType<RouteDataModel> = menuItem;\n\n while (!!item) {\n item.isActive = true;\n item = item.parent;\n }\n }\n}\n","<div class=\"container-fluid\">\n <button class=\"navbar-toggler\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <h1 class=\"navbar-brand navbar-brand-autodark\">\n <a href=\".\">\n <img width=\"110\" height=\"32\" class=\"navbar-brand-image upd-brand-logo\"/>\n </a>\n </h1>\n <div class=\"collapse navbar-collapse\">\n <ul class=\"navbar-nav pt-lg-3\">\n @for (item of menuItems; track item) {\n <li class=\"nav-item\" [class.dropdown]=\"hasChildren(item)\" [class.active]=\"item.isActive\">\n <ng-container [ngTemplateOutlet]=\"itemTpl\" [ngTemplateOutletContext]=\"{menuItem: item}\">\n </ng-container>\n </li>\n }\n </ul>\n </div>\n</div>\n\n<ng-template #itemTpl let-item=\"menuItem\">\n <upd-link [isNavigation]=\"true\" (clicked)=\"onMenuItemClick(item)\"\n [customClasses]=\"[hasChildren(item) ? 'dropdown-toggle' : '', item.isActive ? 'show' : '']\">\n <span class=\"nav-link-icon d-md-none d-lg-inline-block\">\n <upd-icon [model]=\"item.icon\"></upd-icon>\n </span>\n <span class=\"nav-link-title\">{{ item.title }}</span>\n </upd-link>\n @if (hasChildren(item)) {\n <ng-container [ngTemplateOutlet]=\"childrenTpl\" [ngTemplateOutletContext]=\"{menuItem: item}\">\n </ng-container>\n }\n</ng-template>\n\n<ng-template #childrenTpl let-item=\"menuItem\">\n <div class=\"dropdown-menu\" [class.show]=\"item.isActive\">\n <div class=\"dropdown-menu-columns\">\n <div class=\"dropdown-menu-column\">\n @for (child of item.children; track child) {\n @if (!hasChildren(child)) {\n <upd-link (clicked)=\"onMenuItemClick(child)\"\n [customClasses]=\"['dropdown-item', child.isActive ? 'active' : '']\">\n {{ child.title }}\n </upd-link>\n } @else {\n <div class=\"dropend\">\n <upd-link (clicked)=\"onMenuItemClick(child)\"\n [customClasses]=\"['dropdown-item', 'dropdown-toggle', child.isActive ? 'active' : '']\">\n {{ child.title }}\n </upd-link>\n <div class=\"dropdown-menu\" [class.show]=\"child.isActive\">\n @for (grandchild of child.children; track grandchild) {\n <upd-link (clicked)=\"onMenuItemClick(grandchild)\"\n [customClasses]=\"['dropdown-item', grandchild.isActive ? 'active' : '']\">\n {{ grandchild.title }}\n </upd-link>\n }\n </div>\n </div>\n }\n }\n </div>\n </div>\n </div>\n</ng-template>\n","import { Component, Input } from '@angular/core';\nimport { PageHeaderModel } from '@updevs/sdk/layout';\n\n@Component({\n selector: 'upd-page-header',\n templateUrl: './page-header.component.html',\n styleUrls: ['./page-header.component.scss']\n})\nexport class PageHeaderComponent {\n @Input() model!: PageHeaderModel;\n}\n","<div class=\"page-header d-print-none\">\n <div class=\"container-xl\">\n <div class=\"row g-2 align-items-center\">\n <div class=\"col\">\n <div class=\"page-pretitle\">\n {{ model.titleHeader }}\n </div>\n <h2 class=\"page-title\">\n {{ model.title }}\n </h2>\n </div>\n @if ((model.actionButtons?.length || 0) > 0) {\n <div class=\"col-auto ms-auto d-print-none\">\n <div class=\"btn-list\">\n @for (btn of model.actionButtons; track btn) {\n <upd-button [model]=\"btn!\"></upd-button>\n }\n </div>\n </div>\n }\n </div>\n </div>\n</div>\n","import { Component, ViewEncapsulation, OnInit, ChangeDetectorRef, inject } from '@angular/core';\nimport { BaseComponent, LayoutService, PageHeaderModel } from '@updevs/sdk/layout';\n\n@Component({\n selector: 'upd-vertical-sidebar-layout',\n templateUrl: './vertical-sidebar-layout.component.html',\n styleUrls: ['./vertical-sidebar-layout.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class VerticalSidebarLayoutComponent extends BaseComponent implements OnInit {\n showPageHeader = false;\n pageHeader?: PageHeaderModel;\n\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly layoutService = inject(LayoutService);\n\n ngOnInit(): void {\n const pHeaderSub = this.layoutService.onPageHeaderChange.subscribe(ph => {\n this.showPageHeader = !!ph;\n this.pageHeader = ph;\n\n this.changeDetectorRef.detectChanges();\n });\n\n this.addSubscriptions(pHeaderSub);\n }\n}\n","<div class=\"page\">\n <upd-sidebar></upd-sidebar>\n <upd-header></upd-header>\n\n <div class=\"page-wrapper\">\n @if (showPageHeader) {\n <upd-page-header [model]=\"pageHeader!\"></upd-page-header>\n }\n <div class=\"page-body\">\n <div class=\"container-xl\">\n <router-outlet></router-outlet>\n </div>\n </div>\n <upd-footer></upd-footer>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdButtonModule } from '@updevs/components/button';\nimport { UpdLinkModule } from '@updevs/components/link';\nimport { UpdCoreLayoutModule } from '@updevs/sdk/layout';\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\n\nimport * as en from '../../assets/i18n/en.json';\nimport * as pt from '../../assets/i18n/pt.json';\nimport { VerticalSidebarLayoutComponent } from './vertical-sidebar-layout.component';\nimport { FooterComponent } from '../../partials/footer/footer.component';\nimport { HeaderComponent } from '../../partials/header/header.component';\nimport { FooterCopyrightDirective } from '../../partials/footer/footer-copyright.directive';\nimport { SidebarComponent } from '../../partials/sidebar/sidebar.component';\nimport { PageHeaderComponent } from '../../partials/page-header/page-header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TranslocoModule,\n UpdIconsModule,\n UpdCoreLayoutModule,\n UpdButtonModule,\n UpdLinkModule\n ],\n declarations: [\n VerticalSidebarLayoutComponent,\n FooterComponent,\n HeaderComponent,\n SidebarComponent,\n PageHeaderComponent\n ],\n exports: [\n VerticalSidebarLayoutComponent,\n FooterComponent,\n HeaderComponent,\n SidebarComponent,\n PageHeaderComponent\n ],\n providers: [\n FooterCopyrightDirective\n ]\n})\nexport class VerticalSidebarLayoutModule {\n constructor(translocoService: TranslocoService) {\n translocoService.setTranslation(en, 'en');\n translocoService.setTranslation(pt, 'pt');\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'upd-logged-out',\n templateUrl: './logged-out.component.html',\n styleUrls: ['./logged-out.component.scss']\n})\nexport class LoggedOutComponent {\n\n}\n","<p>logged-out works!</p>\n","import { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { LayoutService } from '@updevs/sdk/layout';\nimport { AuthService } from '@updevs/sdk/security';\n\n@Component({\n selector: 'upd-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class LoginComponent {\n layout: 'centered-box' | 'box-with-picture' = 'centered-box';\n username = '';\n password = '';\n\n private readonly authService = inject(AuthService);\n private readonly layoutService = inject(LayoutService);\n\n constructor() {\n this.layoutService.addBodyClasses('border-top-wide', 'border-primary', 'd-flex', 'flex-column');\n }\n\n login(): void {\n this.authService.login(this.username, this.password).subscribe();\n }\n}\n","<div class=\"page page-center\">\n @switch (layout) {\n @case ('centered-box') {\n <div class=\"container container-tight py-4\">\n <ng-container [ngTemplateOutlet]=\"loginCard\"></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]=\"loginCard\"></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 }\n</div>\n\n<ng-template #loginCard>\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 <div class=\"card card-md\">\n <div class=\"card-body\">\n <h2 class=\"h2 text-center mb-4\" i18n>Login to your account</h2>\n <form action=\"./\" method=\"get\" autocomplete=\"off\" novalidate>\n <div class=\"mb-3\">\n <label class=\"form-label\">Email address</label>\n <input type=\"email\" class=\"form-control\" name=\"username\" [(ngModel)]=\"username\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">\n Password\n <span class=\"form-label-description\">\n <a href=\"./forgot-password.html\" i18n>I forgot my password</a>\n </span>\n </label>\n <div class=\"input-group input-group-flat\">\n <input type=\"password\" class=\"form-control\" name=\"password\" [(ngModel)]=\"password\">\n <span class=\"input-group-text\">\n <a href=\"#\" class=\"link-secondary\" title=\"Show password\" data-bs-toggle=\"tooltip\"><!-- Download SVG icon from http://tabler-icons.io/i/eye -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\"\n d=\"M0 0h24v24H0z\" fill=\"none\"/><circle cx=\"12\" cy=\"12\" r=\"2\"/><path\n d=\"M22 12c-2.667 4.667 -6 7 -10 7s-7.333 -2.333 -10 -7c2.667 -4.667 6 -7 10 -7s7.333 2.333 10 7\"/></svg>\n </a>\n </span>\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-check\">\n <input type=\"checkbox\" class=\"form-check-input\"/>\n <span class=\"form-check-label\" i18n>Remember me on this device</span>\n </label>\n </div>\n <div class=\"form-footer\">\n <upd-button (clicked)=\"login()\" customClasses=\"w-100\">\n <span i18n>Sign in</span>\n </upd-button>\n </div>\n </form>\n </div>\n <div class=\"hr-text\" i18n>or</div>\n <div class=\"card-body\">\n <div class=\"row\">\n <div class=\"col\"><a href=\"#\" class=\"btn w-100\">\n <!-- Download SVG icon from http://tabler-icons.io/i/brand-github -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-github\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"\n stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5\"/>\n </svg>\n Login with Github\n </a></div>\n <div class=\"col\"><a href=\"#\" class=\"btn w-100\">\n <!-- Download SVG icon from http://tabler-icons.io/i/brand-twitter -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-twitter\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"\n stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z\"/>\n </svg>\n Login with Twitter\n </a></div>\n </div>\n </div>\n </div>\n <div class=\"text-center text-muted mt-3\">\n Don't have account yet? <a href=\"./sign-up.html\" tabindex=\"-1\" i18n>Sign up</a>\n </div>\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'upd-oauth-callback',\n templateUrl: './oauth-callback.component.html',\n styleUrls: ['./oauth-callback.component.scss']\n})\nexport class OauthCallbackComponent {\n\n}\n","<p>oauth-callback works!</p>\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { OauthCallbackComponent } from './oauth-callback/oauth-callback.component';\nimport { LoggedOutComponent } from './logged-out/logged-out.component';\nimport { LoginComponent } from './login/login.component';\n\n/**\n * Auth flow routes.\n */\nexport const routes: Routes = [\n { path: 'oauth/callback', component: OauthCallbackComponent },\n { path: 'logged-out', component: LoggedOutComponent },\n { path: 'login', component: LoginComponent }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { useHash: true })],\n exports: [RouterModule]\n})\nexport class AuthFlowRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdButtonModule } from '@updevs/components/button';\n\nimport { LoginComponent } from './login/login.component';\nimport { OauthCallbackComponent } from './oauth-callback/oauth-callback.component';\nimport { LoggedOutComponent } from './logged-out/logged-out.component';\nimport { AuthFlowRoutingModule } from './auth-flow-routing.module';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n AuthFlowRoutingModule,\n UpdButtonModule,\n FormsModule\n ],\n declarations: [\n LoginComponent,\n OauthCallbackComponent,\n LoggedOutComponent\n ],\n exports: [\n LoginComponent,\n OauthCallbackComponent,\n LoggedOutComponent\n ]\n})\nexport class AuthFlowModule {}\n","import { UpdLayoutConfig } from './upd-layout.config';\n\n/**\n * Layout configuration.\n */\nexport class UpdLayoutConfigModel implements UpdLayoutConfig {\n /**\n * Main menu title.\n */\n menuTitle?: string;\n /**\n * Whether the menu should start expanded.\n */\n shouldMenuStartExpanded?: boolean;\n /**\n * Main application logo.\n */\n mainLogo?: string;\n /**\n * Small application logo.\n */\n smallLogo?: string;\n /**\n * Background image for the logged out page.\n */\n loggedOutBackground?: string;\n /**\n * Whether the default notifications button should be displayed.\n */\n showNotificationsButton?: boolean;\n /**\n * Whether the report error button should be displayed when an exception is thrown by the server.\n */\n displayReportErrorButton?: boolean;\n /**\n * Whether the logged user's menu should be displayed.\n */\n showUserMenu?: boolean;\n\n constructor(init?: UpdLayoutConfig) {\n Object.assign(this, init);\n\n if (this.mainLogo === undefined) {\n // this.mainLogo = LogoConstants.defaultLogo; // TODO: add images\n }\n\n if (this.smallLogo === undefined) {\n // this.smallLogo = LogoConstants.smallLogo;\n }\n\n if (this.loggedOutBackground === undefined) {\n // this.loggedOutBackground = ImageConstants.loggedOutBackground;\n }\n\n if (this.menuTitle === undefined) {\n this.menuTitle = 'UpDevs';\n }\n\n if (this.showNotificationsButton === undefined) {\n this.showNotificationsButton = true;\n }\n\n if (this.showUserMenu === undefined) {\n this.showUserMenu = true;\n }\n\n if (this.displayReportErrorButton === undefined) {\n this.displayReportErrorButton = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { UpdLayoutConfig } from '../models/upd-layout.config';\n\n/**\n * Layout constants.\n */\nexport class LayoutConstants {\n /**\n * Key to inject the default configuration.\n */\n static defaultOptionsKey = 'upd-layout-default-options';\n\n /**\n * Injection token for the default configuration.\n */\n static defaultOptionsInjectionToken = new InjectionToken<UpdLayoutConfig>(LayoutConstants.defaultOptionsKey);\n}\n","import { Injectable, Inject } from '@angular/core';\n\nimport { UpdLayoutConfigModel } from '../models/upd-layout-config.model';\nimport { LayoutConstants } from '../tools/layout.constants';\nimport { UpdLayoutConfig } from '../models/upd-layout.config';\n\n/**\n * Layout configuration data.\n */\n@Injectable()\nexport class UpdLayoutConfigService {\n /**\n * Configuration (See: #upsee[p:models, i:UpdCoreLayoutConfigModel]).\n */\n readonly config: UpdLayoutConfigModel;\n\n constructor(@Inject(LayoutConstants.defaultOptionsInjectionToken) layoutConfig: UpdLayoutConfig) {\n this.config = new UpdLayoutConfigModel(layoutConfig);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdCoreLayoutModule } from '@updevs/sdk/layout';\n\nimport { UpdLayoutConfig } from './models/upd-layout.config';\nimport { LayoutConstants } from './tools/layout.constants';\nimport { UpdLayoutConfigService } from './services/upd-layout-config.service';\n\n/**\n * Layout module.\n */\n@NgModule({\n imports: [\n CommonModule,\n UpdCoreLayoutModule\n ],\n providers: [\n UpdLayoutConfigService\n ]\n})\nexport class UpdLayoutModule {\n /**\n * Sets up the layout module with the provided configuration.\n * @param config Configuration (See: #updsee[p:abstractions, i:UpdCoreLayoutConfig]).\n */\n static forRoot(config: UpdLayoutConfig): ModuleWithProviders<UpdLayoutModule> {\n return {\n ngModule: UpdLayoutModule,\n providers: [\n { provide: LayoutConstants.defaultOptionsInjectionToken, useValue: config }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i3","i2.FooterComponent","i3.HeaderComponent","i4.SidebarComponent","i5.PageHeaderComponent","en","pt"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAGA;;AAEG;AAEH;AACM,MAAgB,iBAAkB,SAAQ,aAAa,CAAA;AAF7D,IAAA,WAAA,GAAA;;AAGuB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAM7D,KAAA;IAJY,WAAW,GAAA;QAChB,KAAK,CAAC,WAAW,EAAE,CAAC;;KAEvB;8GANiB,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjB,iBAAiB,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAFtC,SAAS;mBAAC,EAAE,CAAA;;;MCCA,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,wDCPjC,8BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDMa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACI,kBAAkB,EAAA,QAAA,EAAA,8BAAA,EAAA,CAAA;;;MEanB,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EANtB,YAAA,EAAA,CAAA,oBAAoB,CAHpB,EAAA,OAAA,EAAA,CAAA,YAAY,aAMZ,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YATtB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FASP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAX7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;AACf,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,oBAAoB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,oBAAoB;AACvB,qBAAA;AACJ,iBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MCVY,wBAAwB,CAAA;8GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AACnC,iBAAA,CAAA;;;ACmBK,MAAO,eAAgB,SAAQ,aAAa,CAAA;AANlD,IAAA,WAAA,GAAA;;QAO0B,IAAc,CAAA,cAAA,GAAG,EAAE,CAAC;AAG1C;;AAEG;QACH,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB;;AAEG;QACH,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;AACrB;;AAEG;QACH,IAAK,CAAA,KAAA,GAAgB,EAAE,CAAC;AACxB;;AAEG;AACH,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACvC;;AAEG;QACH,IAAe,CAAA,eAAA,GAAG,WAAW,CAAC;AAC9B;;AAEG;QACH,IAAe,CAAA,eAAA,GAAG,EAAE,CAAC;QAMb,IAAkB,CAAA,kBAAA,GAAG,qBAAqB,CAAC;AAElC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAoBhE,KAAA;IAlBG,QAAQ,GAAA;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QAEhI,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;KACvC;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,YAAY,EAAE;YAC/E,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC/B;KACJ;IAEO,oBAAoB,GAAA;AACxB,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,GAAG,gBAAgB,GAAG,EAAE,CAAC;AAC9D,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,GAAG,qBAAqB,GAAG,EAAE,CAAC;AACvE,QAAA,IAAI,CAAC,cAAc,GAAG,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,EAAG,eAAe,CAAA,EAAG,cAAc,CAAA,CAAE,CAAC;KACzF;8GAtDQ,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAEV,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,wBAAwB,EAAU,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAW,uFCzB/D,+jDAoCA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDba,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACI,YAAY,EAAA,aAAA,EAGP,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,+jDAAA,EAAA,CAAA;8BAGf,cAAc,EAAA,CAAA;sBAAnC,WAAW;uBAAC,OAAO,CAAA;gBACyD,uBAAuB,EAAA,CAAA;sBAAnG,YAAY;uBAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;AEZzE,MAAO,eAAgB,SAAQ,aAAa,CAAA;AANlD,IAAA,WAAA,GAAA;;QAO0B,IAAc,CAAA,cAAA,GAAG,EAAE,CAAC;QAEjC,IAAK,CAAA,KAAA,GAAoB,OAAO,CAAC;QACjC,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;QAE9B,IAAa,CAAA,aAAA,GAAoB,MAAM,CAAC;QACxC,IAAc,CAAA,cAAA,GAAG,OAAO,CAAC;QACzB,IAAwB,CAAA,wBAAA,GAAoB,MAAM,CAAC;QACnD,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;QAC5B,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,CAAC;QAC5B,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QAEb,IAAkB,CAAA,kBAAA,GAAG,uDAAuD,CAAC;AAEpE,QAAA,IAAA,CAAA,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAC7D,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAkDhE,KAAA;IAhDG,QAAQ,GAAA;QACJ,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,uBAAuB,EAAE;YAC7D,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,YAAY,EAAE;AAClD,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC5B;KACJ;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE;YACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC/B;KACJ;IAED,WAAW,GAAA;AACP,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC;AACjD,QAAA,IAAI,CAAC,aAAa,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;AACjD,QAAA,IAAI,CAAC,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAErD,QAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;KACjD;;IAGD,cAAc,GAAA;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;AAC1D,QAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,WAAW,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;KAC3E;IAED,iBAAiB,GAAA;QACb,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAClC;IAEO,kBAAkB,GAAA;AACtB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;KACjC;IAEO,uBAAuB,GAAA;AAC3B,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,KAAK,MAAM,GAAG,cAAc,GAAG,MAAM,CAAC;AACnG,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;KACxD;IAEO,oBAAoB,GAAA;AACxB,QAAA,IAAI,CAAC,cAAc,GAAG,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,QAAA,EAAW,IAAI,CAAC,KAAK,CAAA,CAAE,CAAC;KAC3E;8GAnEQ,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,oNCb5B,utXA6KA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,UAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,eAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDhKa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACI,YAAY,EAAA,aAAA,EAGP,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,utXAAA,EAAA,CAAA;8BAGf,cAAc,EAAA,CAAA;sBAAnC,WAAW;uBAAC,OAAO,CAAA;gBAEX,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;;;AEJJ,MAAO,gBAAiB,SAAQ,aAAa,CAAA;AANnD,IAAA,WAAA,GAAA;;QAO0B,IAAc,CAAA,cAAA,GAAG,yCAAyC,CAAC;QAC9C,IAAK,CAAA,KAAA,GAAG,MAAM,CAAC;QAElD,IAAS,CAAA,SAAA,GAAqB,EAAE,CAAC;AAEhB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAyI5C,KAAA;IAvIG,QAAQ,GAAA;;AAEJ,QAAA,MAAM,eAAe,GAAG,IAAI,cAAc,CAAC;AACvC,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;AAC/B,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,eAAe,GAAG,IAAI,cAAc,CAAC;AACvC,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;AACjC,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,aAAa,GAAG,IAAI,cAAc,CAAC;AACrC,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;AAC/B,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC;AACjC,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;AAC5B,YAAA,QAAQ,EAAE;gBACN,eAAe;gBACf,eAAe;AAClB,aAAA;AACJ,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,aAAa,GAAG,IAAI,cAAc,CAAC;AACrC,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,IAAI,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE;AACtC,YAAA,QAAQ,EAAE;gBACN,aAAa;gBACb,SAAS;AACZ,aAAA;AACJ,SAAA,CAAC,CAAC;AACH,QAAA,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC;AACnC,QAAA,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC;AACnC,QAAA,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC;AACrC,QAAA,SAAS,CAAC,MAAM,GAAG,aAAa,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG;AACb,YAAA,IAAI,cAAc,CAAC;AACf,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;aAC/B,CAAC;AACF,YAAA,IAAI,cAAc,CAAC;AACf,gBAAA,KAAK,EAAE,UAAU;AACjB,gBAAA,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;aACjC,CAAC;YACF,aAAa;AACb,YAAA,IAAI,cAAc,CAAC;AACf,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE;aACnC,CAAC;SACL,CAAC;;AAGF,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACrC,MAAM,CAAC,KAAK,IAAI,KAAK,YAAY,eAAe,CAAC,CACpD,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAoB,KAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;KACpC;AAED,IAAA,eAAe,CAAC,IAAoB,EAAA;AAChC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAEpC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AAErB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAEzB,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO;SACV;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;YAClC,OAAO;SACV;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;KACnD;AAED,IAAA,WAAW,CAAC,IAAoB,EAAA;QAC5B,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3C;IAEO,cAAc,CAAC,IAAoB,EAAE,QAAgB,EAAA;AACzD,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC5B,YAAA,OAAO,IAAI,CAAC;SACf;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,YAAA,IAAI,MAAM,CAAC;AAEX,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtD,gBAAA,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;aAC5D;AAED,YAAA,OAAO,MAAM,CAAC;SACjB;AAED,QAAA,OAAO,SAAS,CAAC;KACpB;AAEO,IAAA,iBAAiB,CAAC,OAAe,EAAA;AACrC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAEpC,QAAA,IAAI,IAAkC,CAAC;AAEvC,QAAA,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;YAC7B,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAExC,YAAA,IAAI,CAAC,CAAC,IAAI,EAAE;gBACR,MAAM;aACT;SACJ;AAED,QAAA,OAAO,CAAC,CAAC,IAAI,EAAE;AACX,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,YAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;SACtB;KACJ;AAEO,IAAA,cAAc,CAAC,KAAuB,EAAA;AAC1C,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAG;AACd,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEnB,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aACnC;AACL,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,aAAa,CAAC,QAAwB,EAAA;QAC1C,IAAI,IAAI,GAAiC,QAAQ,CAAC;AAElD,QAAA,OAAO,CAAC,CAAC,IAAI,EAAE;AACX,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,YAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;SACtB;KACJ;8GA9IQ,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,wKCb7B,wjGAkEA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,UAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,eAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDrDa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;+BACI,aAAa,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,wjGAAA,EAAA,CAAA;8BAGf,cAAc,EAAA,CAAA;sBAAnC,WAAW;uBAAC,OAAO,CAAA;gBACe,KAAK,EAAA,CAAA;sBAAvC,WAAW;uBAAC,oBAAoB,CAAA;;;MEPxB,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,mFCRhC,+0BAuBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,sBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDfa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACI,iBAAiB,EAAA,QAAA,EAAA,+0BAAA,EAAA,CAAA;8BAKlB,KAAK,EAAA,CAAA;sBAAb,KAAK;;;AEAJ,MAAO,8BAA+B,SAAQ,aAAa,CAAA;AANjE,IAAA,WAAA,GAAA;;QAOI,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AAGN,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAY1D,KAAA;IAVG,QAAQ,GAAA;AACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,IAAG;AACpE,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AAErB,YAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;AAC3C,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;KACrC;8GAhBQ,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,0FCT3C,ycAgBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,gBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDPa,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAN1C,SAAS;+BACI,6BAA6B,EAAA,aAAA,EAGxB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,ycAAA,EAAA,CAAA;;;MEuC5B,2BAA2B,CAAA;AACpC,IAAA,WAAA,CAAY,gBAAkC,EAAA;AAC1C,QAAA,gBAAgB,CAAC,cAAc,CAACC,IAAE,EAAE,IAAI,CAAC,CAAC;AAC1C,QAAA,gBAAgB,CAAC,cAAc,CAACC,IAAE,EAAE,IAAI,CAAC,CAAC;KAC7C;8GAJQ,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,iBAjBhC,8BAA8B;YAC9B,eAAe;YACf,eAAe;YACf,gBAAgB;AAChB,YAAA,mBAAmB,aAbnB,YAAY;YACZ,YAAY;YACZ,eAAe;YACf,cAAc;YACd,mBAAmB;YACnB,eAAe;AACf,YAAA,aAAa,aAUb,8BAA8B;YAC9B,eAAe;YACf,eAAe;YACf,gBAAgB;YAChB,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAMd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,EAJzB,SAAA,EAAA;YACP,wBAAwB;AAC3B,SAAA,EAAA,OAAA,EAAA,CAxBG,YAAY;YACZ,YAAY;YACZ,eAAe;YACf,cAAc;YACd,mBAAmB;YACnB,eAAe;YACf,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAoBR,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBA5BvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,YAAY;wBACZ,eAAe;wBACf,cAAc;wBACd,mBAAmB;wBACnB,eAAe;wBACf,aAAa;AAChB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,8BAA8B;wBAC9B,eAAe;wBACf,eAAe;wBACf,gBAAgB;wBAChB,mBAAmB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,8BAA8B;wBAC9B,eAAe;wBACf,eAAe;wBACf,gBAAgB;wBAChB,mBAAmB;AACtB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACP,wBAAwB;AAC3B,qBAAA;AACJ,iBAAA,CAAA;;;MCtCY,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,sDCP/B,4BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDMa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,4BAAA,EAAA,CAAA;;;MEOf,cAAc,CAAA;AAQvB,IAAA,WAAA,GAAA;QAPA,IAAM,CAAA,MAAA,GAAwC,cAAc,CAAC;QAC7D,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;QACd,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;AAEG,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAGnD,QAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;KACnG;IAED,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;KACpE;8GAdQ,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,iDCV3B,01LAoGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,sBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FD1Fa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;+BACI,WAAW,EAAA,aAAA,EAGN,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,01LAAA,EAAA,CAAA;;;MED5B,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,0DCPnC,gCACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDMa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,gCAAA,EAAA,CAAA;;;AEIhC;;AAEG;AACU,MAAA,MAAM,GAAW;AAC1B,IAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,sBAAsB,EAAE;AAC7D,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE;AACrD,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE;EAC9C;MAMW,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,0CAFpB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;AAEb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAHpB,OAAA,EAAA,CAAA,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAC/C,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEb,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1D,OAAO,EAAE,CAAC,YAAY,CAAC;AAC1B,iBAAA,CAAA;;;MCSY,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAVnB,cAAc;YACd,sBAAsB;AACtB,YAAA,kBAAkB,aARlB,YAAY;YACZ,qBAAqB;YACrB,eAAe;AACf,YAAA,WAAW,aAQX,cAAc;YACd,sBAAsB;YACtB,kBAAkB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAhBnB,YAAY;YACZ,qBAAqB;YACrB,eAAe;YACf,WAAW,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAaN,cAAc,EAAA,UAAA,EAAA,CAAA;kBAlB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,qBAAqB;wBACrB,eAAe;wBACf,WAAW;AACd,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,cAAc;wBACd,sBAAsB;wBACtB,kBAAkB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,cAAc;wBACd,sBAAsB;wBACtB,kBAAkB;AACrB,qBAAA;AACJ,iBAAA,CAAA;;;ACzBD;;AAEG;MACU,oBAAoB,CAAA;AAkC7B,IAAA,WAAA,CAAY,IAAsB,EAAA;AAC9B,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAE1B,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;;SAEhC;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;;SAEjC;AAED,QAAA,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE;;SAE3C;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;AAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;SAC7B;AAED,QAAA,IAAI,IAAI,CAAC,uBAAuB,KAAK,SAAS,EAAE;AAC5C,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;SACvC;AAED,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;AACjC,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC5B;AAED,QAAA,IAAI,IAAI,CAAC,wBAAwB,KAAK,SAAS,EAAE;AAC7C,YAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;SACzC;KACJ;AACJ;;AClED;;AAEG;MACU,eAAe,CAAA;AACxB;;AAEG;aACI,IAAiB,CAAA,iBAAA,GAAG,4BAA4B,CAAC,EAAA;AAExD;;AAEG;aACI,IAA4B,CAAA,4BAAA,GAAG,IAAI,cAAc,CAAkB,eAAe,CAAC,iBAAiB,CAAC,CAAC,EAAA;;;ACVjH;;AAEG;MAEU,sBAAsB,CAAA;AAM/B,IAAA,WAAA,CAAkE,YAA6B,EAAA;QAC3F,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAoB,CAAC,YAAY,CAAC,CAAC;KACxD;8GARQ,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAMX,eAAe,CAAC,4BAA4B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHANvD,sBAAsB,EAAA,CAAA,CAAA,EAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;;0BAOM,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,eAAe,CAAC,4BAA4B,CAAA;;;ACRpE;;AAEG;MAUU,eAAe,CAAA;AACxB;;;AAGG;IACH,OAAO,OAAO,CAAC,MAAuB,EAAA;QAClC,OAAO;AACH,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,SAAS,EAAE;gBACP,EAAE,OAAO,EAAE,eAAe,CAAC,4BAA4B,EAAE,QAAQ,EAAE,MAAM,EAAE;AAC9E,aAAA;SACJ,CAAC;KACL;8GAZQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAPpB,YAAY;YACZ,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAMd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAJb,SAAA,EAAA;YACP,sBAAsB;AACzB,SAAA,EAAA,OAAA,EAAA,CALG,YAAY;YACZ,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAMd,eAAe,EAAA,UAAA,EAAA,CAAA;kBAT3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,mBAAmB;AACtB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACP,sBAAsB;AACzB,qBAAA;AACJ,iBAAA,CAAA;;;ACnBD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"updevs-components-layout.mjs","sources":["../../../../libs/components/layout/src/abstractions/base-page.component.ts","../../../../libs/components/layout/src/partials/footer/footer.component.ts","../../../../libs/components/layout/src/partials/footer/footer.component.html","../../../../libs/components/layout/src/partials/footer/footer.module.ts","../../../../libs/components/layout/src/partials/header/header.component.ts","../../../../libs/components/layout/src/partials/header/header.component.html","../../../../libs/components/layout/src/partials/header/header.module.ts","../../../../libs/components/layout/src/models/login-page-config.model.ts","../../../../libs/components/layout/src/models/security-layout-config.model.ts","../../../../libs/components/layout/src/models/upd-layout-config.model.ts","../../../../libs/components/layout/src/tools/layout.constants.ts","../../../../libs/components/layout/src/services/upd-layout-config.service.ts","../../../../libs/components/layout/src/abstractions/base.layout.ts","../../../../libs/components/layout/src/layouts/blank-layout/blank-layout.component.ts","../../../../libs/components/layout/src/layouts/blank-layout/blank-layout.component.html","../../../../libs/components/layout/src/layouts/blank-layout/blank-layout.module.ts","../../../../libs/components/layout/src/partials/sidebar/sidebar.component.ts","../../../../libs/components/layout/src/partials/sidebar/sidebar.component.html","../../../../libs/components/layout/src/partials/page-header/page-header.component.ts","../../../../libs/components/layout/src/partials/page-header/page-header.component.html","../../../../libs/components/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.ts","../../../../libs/components/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.html","../../../../libs/components/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.ts","../../../../libs/components/layout/src/pages/auth-flow/logged-out/logged-out.component.ts","../../../../libs/components/layout/src/pages/auth-flow/logged-out/logged-out.component.html","../../../../libs/components/layout/src/pages/auth-flow/login/login.component.ts","../../../../libs/components/layout/src/pages/auth-flow/login/login.component.html","../../../../libs/components/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.ts","../../../../libs/components/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.html","../../../../libs/components/layout/src/pages/auth-flow/auth-flow-routing.module.ts","../../../../libs/components/layout/src/pages/auth-flow/auth-flow.module.ts","../../../../libs/components/layout/src/upd-layout.module.ts","../../../../libs/components/layout/src/updevs-components-layout.ts"],"sourcesContent":["import { OnDestroy, Directive, inject } from '@angular/core';\nimport { BaseComponent, LayoutService } from '@updevs/sdk/layout';\n\n/**\n * Basic page structure.\n */\n@Directive()\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport abstract class BasePageComponent extends BaseComponent implements OnDestroy {\n protected readonly _layoutService = inject(LayoutService);\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._layoutService.pageHeader.set(undefined);\n }\n}\n","import { Component, HostBinding, OnInit, OnChanges, SimpleChanges, ViewEncapsulation, inject } from '@angular/core';\nimport { LinkModel } from '@updevs/sdk/core';\nimport { BaseComponent, LayoutService } from '@updevs/sdk/layout';\n\n@Component({\n selector: 'upd-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FooterComponent extends BaseComponent implements OnInit, OnChanges {\n @HostBinding('class') wrapperClasses = '';\n\n /**\n * Whether the footer will always be shown.\n */\n isSticky = false;\n /**\n * Whether the footer is transparent or not.\n */\n isTransparent = true;\n /**\n * Links.\n */\n links: LinkModel[] = [];\n /**\n * Current year.\n */\n currentYear = new Date().getFullYear();\n /**\n * Version of the application.\n */\n version?: string;\n\n readonly layoutService = inject(LayoutService);\n\n private baseWrapperClasses = 'footer d-print-none';\n\n ngOnInit(): void {\n this.updateWrapperClasses();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!!changes['isSticky'].currentValue || !!changes['isTransparent'].currentValue) {\n this.updateWrapperClasses();\n }\n }\n\n private updateWrapperClasses(): void {\n const stickyBottomCls = this.isSticky ? ' sticky-bottom' : '';\n const transparentCls = this.isTransparent ? ' footer-transparent' : '';\n this.wrapperClasses = `${this.baseWrapperClasses}${stickyBottomCls}${transparentCls}`;\n }\n}\n","<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","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslocoModule } from '@jsverse/transloco';\n\nimport { FooterComponent } from './footer.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TranslocoModule\n ],\n declarations: [\n FooterComponent\n ],\n exports: [\n FooterComponent\n ]\n})\nexport class FooterModule {}\n","import {\n Component,\n ViewEncapsulation,\n HostBinding,\n OnInit,\n inject,\n computed,\n signal,\n viewChild,\n ElementRef, input\n} from '@angular/core';\nimport { TablerIconsType } from '@updevs/icons';\nimport { TextService } from '@updevs/sdk';\nimport { BaseComponent, LayoutService, PreferencesStorage, UpdCoreLayoutConfigService } from '@updevs/sdk/layout';\nimport { DropdownItem } from '@updevs/components/dropdown';\nimport { TranslocoService } from '@jsverse/transloco';\nimport { NotificationModel, NotificationsService } from '@updevs/sdk/notifications';\nimport { SecurityStorage } from '@updevs/sdk/security';\n\nimport { HeaderStyleType } from './header-style.type';\n\n@Component({\n selector: 'upd-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeaderComponent extends BaseComponent implements OnInit {\n @HostBinding('class') get classes(): string {\n return this.wrapperClasses();\n }\n\n languageSwitcherRef = viewChild('languageSwitcherBtn', { read: ElementRef });\n notificationsRef = viewChild('notificationsBtn', { read: ElementRef });\n loggedUserRef = viewChild('loggedUserBtn', { read: ElementRef });\n\n isLanguageSwitcherDropdownOpen = false;\n isNotificationsDropdownOpen = false;\n isLoggedUserDropdownOpen = false;\n\n readonly style = input<HeaderStyleType>('light');\n readonly nextThemeIcon = computed<TablerIconsType>(() => this.currentPreferences()?.isDarkTheme ? 'sun' : 'moon-stars');\n readonly currentNotificationsIcon = computed<TablerIconsType>(() => this.hasNewNotifications() ? 'bell-ringing' : 'bell');\n readonly hasNewNotifications = computed(() => this.currentNotifications().some(n => !n.dateRead));\n readonly userInfo = computed(() => this.securityStorage.getUserInfo());\n readonly textService = inject(TextService);\n readonly isSidebarMobileOpen = signal(false);\n readonly shouldBlinkIfNewNotifications = computed(() => !!this.coreLayoutConfigService.config.shouldBlinkIfNewNotifications);\n readonly languagesOptions = computed<DropdownItem[]>(() => {\n const allLanguagesOptions: DropdownItem[] = [];\n const availableLanguages = (this.coreLayoutConfigService.config.availableLanguages || {});\n\n Object.keys(availableLanguages).forEach(key => {\n allLanguagesOptions.push({\n id: key,\n type: 'default',\n text: availableLanguages[key],\n isActive: this.currentLanguageKey() === key\n });\n });\n\n return allLanguagesOptions;\n });\n readonly loggedUserOptions = computed<DropdownItem[]>(() => {\n const userActions: DropdownItem[] = [];\n\n this.coreLayoutConfigService.config.loggedUserMenuActions.forEach(act => userActions.push({\n id: act.id!(),\n text: act.text!(),\n type: 'default',\n icon: act.iconModel?.()\n }));\n\n return userActions;\n });\n readonly userIdentification = computed(() =>\n !!this.userInfo() ? this.coreLayoutConfigService.config.getUserName(this.userInfo()!) : ''\n );\n readonly userDescription = computed(() =>\n !!this.coreLayoutConfigService.config.getUserDescription\n ? this.coreLayoutConfigService.config.getUserDescription(this.userInfo()!)\n : ''\n );\n readonly latestNotifications = computed(() => {\n const unreadNotifications = this.currentNotifications()\n .filter(n => !n.dateRead)\n .sort((a, b) => new Date(b.dateReceived).getTime() - new Date(a.dateReceived).getTime())\n .slice(0, this.coreLayoutConfigService.config.numberOfLastNotificationsDisplayed);\n const readNotifications = this.currentNotifications()\n .filter(n => !!n.dateRead)\n .sort((a, b) => new Date(b.dateReceived).getTime() - new Date(a.dateReceived).getTime())\n .slice(0, this.coreLayoutConfigService.config.numberOfLastNotificationsDisplayed);\n\n return [\n ...unreadNotifications,\n ...readNotifications\n ].slice(0, this.coreLayoutConfigService.config.numberOfLastNotificationsDisplayed);\n });\n readonly userInitials = computed<string>(() => {\n const firstChar = this.userIdentification().charAt(0);\n const lastSpaceIndex = this.userIdentification().lastIndexOf(' ');\n const firstAfterLastSpace = lastSpaceIndex !== -1 ? this.userIdentification().charAt(lastSpaceIndex + 1) : '';\n\n return `${firstChar}${firstAfterLastSpace}`;\n });\n\n private readonly securityStorage = inject(SecurityStorage);\n private readonly coreLayoutConfigService = inject(UpdCoreLayoutConfigService);\n private readonly layoutService = inject(LayoutService);\n private readonly translocoService = inject(TranslocoService);\n private readonly preferencesStorage = inject(PreferencesStorage);\n private readonly notificationsService = inject(NotificationsService);\n private readonly currentPreferences = this.preferencesStorage.getPreferences();\n private readonly currentNotifications = this.notificationsService.notifications;\n private readonly currentLanguageKey = signal('');\n private readonly wrapperClasses = computed(() => `navbar navbar-expand-md d-none d-lg-flex d-print-none navbar-${this.style()}`);\n\n // eslint-disable-next-line @typescript-eslint/member-ordering\n readonly config = computed(() => this.layoutService.mainHeaderConfig());\n\n ngOnInit(): void {\n if (!!this.currentPreferences()?.isDarkTheme) {\n this.layoutService.setDarkMode();\n }\n\n if (!!this.currentPreferences()?.currentLanguageCode) {\n const code = this.currentPreferences()!.currentLanguageCode!;\n\n this.currentLanguageKey.set(code);\n this.translocoService.setActiveLang(code);\n }\n }\n\n switchTheme(): void {\n this.layoutService.toggleDarkMode();\n }\n\n switchLanguage(item: DropdownItem): void {\n this.currentLanguageKey.set(item.id);\n this.translocoService.setActiveLang(item.id);\n this.preferencesStorage.savePreferences({ ...this.currentPreferences(), currentLanguageCode: item.id });\n this.layoutService.notifyUserChangedLanguage(item.id);\n\n this.isLanguageSwitcherDropdownOpen = false;\n }\n\n selectLoggedUserMenuItem(item: DropdownItem): void {\n const btn = this.coreLayoutConfigService.config.loggedUserMenuActions.find(b => b.id!() === item.id);\n\n if (!!btn?.clickFunction) {\n btn.clickFunction!({ data: this.userInfo() });\n }\n }\n\n readNotification(notification: NotificationModel): void {\n if (!notification.dateRead) {\n this.notificationsService.markAsRead(notification.id);\n }\n\n this.notificationsService.clickOnNotification(notification);\n }\n\n removeNotification(notification: NotificationModel): void {\n this.notificationsService.removeNotifications(notification.id);\n }\n\n toggleSidebarOnMobile(): void {\n this.isSidebarMobileOpen.set(!this.isSidebarMobileOpen());\n }\n}\n","<div class=\"container-xl\">\n <button class=\"navbar-toggler\" type=\"button\" (click)=\"toggleSidebarOnMobile()\" [attr.aria-expanded]=\"isSidebarMobileOpen()\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <div class=\"navbar-nav flex-row order-md-last\">\n <div class=\"d-none d-md-flex me-3\">\n @if (!!config().showThemeSwitcher) {\n <div class=\"nav-item\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"switchTheme()\">\n <upd-icon [tablerIcon]=\"nextThemeIcon()\"></upd-icon>\n </upd-link>\n </div>\n }\n @if (!!config().showLanguageSwitcher && languagesOptions().length > 0) {\n <div class=\"nav-item\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"isLanguageSwitcherDropdownOpen=true\"\n #languageSwitcherBtn>\n <upd-icon tablerIcon=\"language\"></upd-icon>\n </upd-link>\n <upd-dropdown wrapperClasses=\"mt-1\" [isOpen]=\"isLanguageSwitcherDropdownOpen\"\n [dropdownReference]=\"languageSwitcherRef()\" [items]=\"languagesOptions()\" [shouldCloseOnOutsideClick]=\"true\"\n (isOpenChange)=\"isLanguageSwitcherDropdownOpen = $event\" (selectedItem)=\"switchLanguage($event)\">\n </upd-dropdown>\n </div>\n }\n @if (!!config().showNotifications && !!userInfo()) {\n <div class=\"nav-item dropdown d-none d-md-flex\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"isNotificationsDropdownOpen = true\"\n #notificationsBtn>\n <upd-icon [tablerIcon]=\"currentNotificationsIcon()\"></upd-icon>\n @if (hasNewNotifications()) {\n <span class=\"badge bg-red\" [class.badge-blink]=\"shouldBlinkIfNewNotifications()\"></span>\n }\n </upd-link>\n <upd-dropdown wrapperClasses=\"mt-1 dropdown-menu-card\" [isOpen]=\"isNotificationsDropdownOpen\"\n [dropdownReference]=\"notificationsRef()\" [shouldCloseOnOutsideClick]=\"true\"\n (isOpenChange)=\"isNotificationsDropdownOpen = $event\" [minWidth]=\"400\" arrowType=\"right\">\n <div class=\"card\">\n <div class=\"card-header\">\n <h3 class=\"card-title\">{{ 'UpDevs.NotificationCenter.Title' | transloco }}</h3>\n </div>\n @for (notification of latestNotifications(); track notification) {\n <div class=\"list-group list-group-flush list-group-hoverable\" (click)=\"readNotification(notification)\">\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\">\n @if (!!notification.dateRead) {\n <span class=\"status-dot d-block\"></span>\n } @else {\n <span class=\"status-dot status-dot-animated bg-primary d-block\"></span>\n }\n </div>\n <div class=\"col text-truncate\">\n <a href=\"javascript:void(0)\" class=\"text-body d-block\"\n [class.fw-bold]=\"!notification.dateRead\">\n {{ textService.getText(notification.title) }}\n </a>\n @if (!!notification.description) {\n <div class=\"d-block text-secondary text-truncate mt-n1\">\n {{ textService.getText(notification.description) }}\n </div>\n }\n </div>\n <div class=\"col-auto\">\n <upd-link [customClasses]=\"['list-group-item-actions']\"\n (clicked)=\"removeNotification(notification)\">\n <upd-icon tablerIcon=\"x\"></upd-icon>\n </upd-link>\n </div>\n </div>\n </div>\n </div>\n } @empty {\n <div class=\"empty\">\n <h1 class=\"text-body-tertiary\">{{ 'UpDevs.NotificationCenter.NoNotifications' | transloco }}</h1>\n </div>\n }\n </div>\n </upd-dropdown>\n </div>\n }\n </div>\n @if (!!config().showUserMenu && !!userInfo()) {\n <div class=\"nav-item dropdown\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"isLoggedUserDropdownOpen = true\" #loggedUserBtn>\n @if (!!userInfo()!.avatar) {\n <span class=\"avatar avatar-sm\" style=\"background-image: url({{userInfo()?.avatar}})\"></span>\n } @else {\n <span class=\"avatar avatar-sm\">{{ userInitials() }}</span>\n }\n\n <div class=\"d-none d-xl-block px-2\">\n <div>{{ userIdentification() }}</div>\n @if (!!userDescription()) {\n <div class=\"mt-1 small text-muted\">{{ userDescription() }}</div>\n }\n </div>\n </upd-link>\n @if (loggedUserOptions().length > 0) {\n <upd-dropdown wrapperClasses=\"mt-1\" [isOpen]=\"isLoggedUserDropdownOpen\" [dropdownReference]=\"loggedUserRef()\"\n [items]=\"loggedUserOptions()\" [shouldCloseOnOutsideClick]=\"true\" (selectedItem)=\"selectLoggedUserMenuItem($event)\"\n (isOpenChange)=\"isLoggedUserDropdownOpen = $event\" arrowType=\"right\">\n </upd-dropdown>\n }\n </div>\n }\n </div>\n @if (!!config().showSearchBar && !!userInfo()) {\n <div class=\"collapse navbar-collapse\" [class.show]=\"isSidebarMobileOpen()\">\n <div class=\"me-2\" [class.w-100]=\"config().shouldUseFullSearchBar\">\n <form autocomplete=\"off\" novalidate>\n <div class=\"input-icon\">\n <span class=\"input-icon-addon\">\n <upd-icon tablerIcon=\"search\"></upd-icon>\n </span>\n <input type=\"text\" value=\"\" class=\"form-control\" placeholder=\"{{'UpDevs.Header.Search' | transloco}}...\">\n </div>\n </form>\n </div>\n </div>\n } @else {\n <div></div>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdDropdownModule } from '@updevs/components/dropdown';\nimport { UpdLinkModule } from '@updevs/components/link';\nimport { TranslocoModule } from '@jsverse/transloco';\n\nimport { HeaderComponent } from './header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TranslocoModule,\n UpdIconsModule,\n UpdDropdownModule,\n UpdLinkModule\n ],\n declarations: [\n HeaderComponent\n ],\n exports: [\n HeaderComponent\n ]\n})\nexport class HeaderModule {}\n","import { ButtonModel } from '@updevs/sdk/layout';\nimport { BgColorStyleType, ColorStyleType } from '@updevs/sdk/types';\n\nimport { LoginPageConfig } from './login-page.config';\n\n/**\n * Configuration of the login page layout.\n */\nexport class LoginPageConfigModel implements LoginPageConfig {\n /**\n * Layout of the login page.\n */\n layout: 'centered-box' | 'box-with-picture' | 'cover';\n\n /**\n * Background color of the login box (exclusive with bgStyle).\n * Should be the name of a CSS class.\n */\n bgColor?: string;\n\n /**\n * Background color of the login box (exclusive with bgColor).\n */\n bgStyle?: BgColorStyleType;\n\n /**\n * Color of the border used in the login page.\n */\n borderColor: ColorStyleType;\n\n /**\n * Color of the sign-in button.\n */\n signInButtonColor: ColorStyleType;\n\n /**\n * Color of all links in the login page.\n */\n linksColor: ColorStyleType;\n\n /**\n * Route with the page to recover the user's password.\n */\n recoverPasswordRoute?: string;\n\n /**\n * Route with the page to register a user.\n */\n signUpRoute?: string;\n\n /**\n * Buttons used for social login (google, facebook, etc).\n */\n socialLoginButtons: ButtonModel[] = [];\n\n constructor(init?: LoginPageConfig) {\n Object.assign(this, init);\n\n this.layout = init?.layout || 'centered-box';\n this.borderColor = init?.borderColor || 'primary';\n this.signInButtonColor = init?.signInButtonColor || 'primary';\n this.linksColor = init?.linksColor || this.signInButtonColor;\n\n if (init?.socialLoginButtons) {\n this.socialLoginButtons = init.socialLoginButtons;\n }\n }\n}\n","import { SecurityLayoutConfig } from './security-layout.config';\nimport { LoginPageConfigModel } from './login-page-config.model';\n\n/**\n * Configuration for the pages related to the security.\n */\nexport class SecurityLayoutConfigModel implements SecurityLayoutConfig {\n /**\n * Configuration of the login page.\n */\n loginPage: LoginPageConfigModel;\n\n constructor(init?: SecurityLayoutConfig) {\n this.loginPage = new LoginPageConfigModel(init?.loginPage);\n }\n}\n","import { UpdLayoutConfig } from './upd-layout.config';\nimport { SecurityLayoutConfigModel } from './security-layout-config.model';\n\n/**\n * Layout configuration.\n */\nexport class UpdLayoutConfigModel implements UpdLayoutConfig {\n /**\n * Main menu title.\n */\n menuTitle?: string;\n /**\n * Whether the menu should start expanded.\n */\n shouldMenuStartExpanded?: boolean;\n /**\n * Main application logo.\n */\n mainLogo?: string;\n /**\n * Small application logo.\n */\n smallLogo?: string;\n /**\n * Background image for the logged out page.\n */\n loggedOutBackground?: string;\n /**\n * Whether the default notifications button should be displayed.\n */\n showNotificationsButton?: boolean;\n /**\n * Whether the report error button should be displayed when an exception is thrown by the server.\n */\n displayReportErrorButton?: boolean;\n /**\n * Whether the logged user's menu should be displayed.\n */\n showUserMenu?: boolean;\n /**\n * Whether the fluid layout (less padding) should be used.\n */\n useFluidLayout?: boolean;\n /**\n * Configuration for the pages related to the security.\n */\n securityLayoutConfig: SecurityLayoutConfigModel;\n\n constructor(init?: UpdLayoutConfig) {\n if (init?.mainLogo === undefined) {\n // this.mainLogo = LogoConstants.defaultLogo; // TODO: add images\n }\n\n if (init?.smallLogo === undefined) {\n // this.smallLogo = LogoConstants.smallLogo;\n }\n\n if (init?.loggedOutBackground === undefined) {\n // this.loggedOutBackground = ImageConstants.loggedOutBackground;\n }\n\n this.menuTitle = init?.menuTitle || 'UpDevs';\n this.showNotificationsButton = init?.showNotificationsButton || true;\n this.showUserMenu = init?.showUserMenu || true;\n this.displayReportErrorButton = init?.displayReportErrorButton || false;\n this.useFluidLayout = init?.useFluidLayout || false;\n this.securityLayoutConfig = new SecurityLayoutConfigModel(init?.securityLayoutConfig);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { UpdLayoutConfig } from '../models/upd-layout.config';\n\n/**\n * Layout constants.\n */\nexport class LayoutConstants {\n /**\n * Key to inject the default configuration.\n */\n static defaultOptionsKey = 'upd-layout-default-options';\n\n /**\n * Injection token for the default configuration.\n */\n static defaultOptionsInjectionToken = new InjectionToken<UpdLayoutConfig>(LayoutConstants.defaultOptionsKey);\n}\n","import { Injectable, Inject } from '@angular/core';\n\nimport { UpdLayoutConfigModel } from '../models/upd-layout-config.model';\nimport { LayoutConstants } from '../tools/layout.constants';\nimport { UpdLayoutConfig } from '../models/upd-layout.config';\n\n/**\n * Layout configuration data.\n */\n@Injectable()\nexport class UpdLayoutConfigService {\n /**\n * Configuration (See: #upsee[p:models, i:UpdCoreLayoutConfigModel]).\n */\n readonly config: UpdLayoutConfigModel;\n\n constructor(@Inject(LayoutConstants.defaultOptionsInjectionToken) layoutConfig: UpdLayoutConfig) {\n this.config = new UpdLayoutConfigModel(layoutConfig);\n }\n}\n","import { BaseComponent, LayoutService } from '@updevs/sdk/layout';\nimport { inject, OnInit, Directive, OnDestroy } from '@angular/core';\n\nimport { UpdLayoutConfigService } from '../services/upd-layout-config.service';\n\n/**\n * Basic layout structure.\n */\n@Directive()\nexport abstract class BaseLayout extends BaseComponent implements OnInit, OnDestroy {\n protected readonly _layoutConfigService = inject(UpdLayoutConfigService);\n protected readonly _layoutService = inject(LayoutService);\n\n ngOnInit(): void {\n if (this._layoutConfigService.config.useFluidLayout) {\n this._layoutService.addBodyClasses('layout-fluid');\n }\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n\n if (this._layoutConfigService.config.useFluidLayout) {\n this._layoutService.removeBodyClasses('layout-fluid');\n }\n }\n}\n","import { Component, computed, OnInit } from '@angular/core';\n\nimport { BaseLayout } from '../../abstractions/base.layout';\n\n@Component({\n selector: 'upd-blank-layout',\n templateUrl: './blank-layout.component.html',\n styleUrls: ['./blank-layout.component.scss']\n})\nexport class BlankLayoutComponent extends BaseLayout implements OnInit {\n readonly config = computed(() => this._layoutService.mainHeaderConfig());\n\n override ngOnInit() {\n // Overriding layout fluid from parent.\n }\n}\n","<div class=\"page\" [class.page-center]=\"_layoutService.isPageCentered()\">\n @if (!config().shouldHideTopBarIfBlankLayout) {\n <upd-header [style]=\"'transparent'\"></upd-header>\n }\n\n <router-outlet></router-outlet>\n\n @if (!config().shouldHideFooterIfBlankLayout) {\n <upd-footer></upd-footer>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdDropdownModule } from '@updevs/components/dropdown';\nimport { UpdLinkModule } from '@updevs/components/link';\nimport { TranslocoPipe } from '@jsverse/transloco';\n\nimport { FooterModule } from '../../partials/footer/footer.module';\nimport { HeaderModule } from '../../partials/header/header.module';\nimport { BlankLayoutComponent } from './blank-layout.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterOutlet,\n TranslocoPipe,\n UpdDropdownModule,\n UpdIconsModule,\n UpdLinkModule,\n FooterModule,\n HeaderModule\n ],\n declarations: [\n BlankLayoutComponent\n ],\n exports: [\n BlankLayoutComponent\n ]\n})\nexport class BlankLayoutModule {}\n","import { Component, HostBinding, ViewEncapsulation, OnInit, inject, signal, computed, viewChild, ElementRef } from '@angular/core';\nimport { Router, NavigationStart } from '@angular/router';\nimport { TextService } from '@updevs/sdk';\nimport { RouteDataModel, MenuService } from '@updevs/sdk/routes';\nimport { BaseComponent, LayoutService, UpdCoreLayoutConfigService } from '@updevs/sdk/layout';\nimport { SecurityStorage } from '@updevs/sdk/security';\nimport { OptionalType } from '@updevs/sdk/types';\nimport { DropdownItem } from '@updevs/components/dropdown';\nimport { filter } from 'rxjs';\n\n@Component({\n selector: 'upd-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SidebarComponent extends BaseComponent implements OnInit {\n @HostBinding('class') wrapperClasses = 'navbar navbar-vertical navbar-expand-lg';\n @HostBinding('attr.data-bs-theme') theme = 'dark';\n\n menuItems: RouteDataModel[] = [];\n isLoggedUserDropdownOpen = false;\n\n readonly loggedUserRef = viewChild('loggedUserBtn', { read: ElementRef });\n readonly textService = inject(TextService);\n readonly isSidebarMobileOpen = signal(false);\n readonly config = computed(() => this.layoutService.mainHeaderConfig());\n readonly userInfo = computed(() => this.securityStorage.getUserInfo());\n readonly userIdentification = computed(() =>\n !!this.userInfo() ? this.coreLayoutConfigService.config.getUserName(this.userInfo()!) : ''\n );\n readonly userDescription = computed(() =>\n !!this.coreLayoutConfigService.config.getUserDescription\n ? this.coreLayoutConfigService.config.getUserDescription(this.userInfo()!)\n : ''\n );\n readonly loggedUserOptions = computed<DropdownItem[]>(() => {\n const userActions: DropdownItem[] = [];\n\n this.coreLayoutConfigService.config.loggedUserMenuActions.forEach(act => userActions.push({\n id: act.id!(),\n text: act.text!(),\n type: 'default',\n icon: act.iconModel?.()\n }));\n\n return userActions;\n });\n readonly userInitials = computed<string>(() => {\n const firstChar = this.userIdentification().charAt(0);\n const lastSpaceIndex = this.userIdentification().lastIndexOf(' ');\n const firstAfterLastSpace = lastSpaceIndex !== -1 ? this.userIdentification().charAt(lastSpaceIndex + 1) : '';\n\n return `${firstChar}${firstAfterLastSpace}`;\n });\n\n private currentRoute = '';\n private menuItemsBackup: RouteDataModel[] = [];\n\n private readonly router = inject(Router);\n private readonly menuService = inject(MenuService);\n private readonly layoutService = inject(LayoutService);\n private readonly securityStorage = inject(SecurityStorage);\n private readonly coreLayoutConfigService = inject(UpdCoreLayoutConfigService);\n\n ngOnInit(): void {\n this.currentRoute = this.router.url;\n this.menuItems = this.menuService.generateMenu();\n this.menuItemsBackup = [...this.menuItems];\n const menuRefreshSub = this.menuService.refreshSubject.subscribe(() => {\n this.menuItems = [...this.menuService.generateMenu()];\n this.menuItemsBackup = [...this.menuItems];\n\n this.updateActiveRoute();\n });\n const routerSub = this.router.events.pipe(\n filter(event => event instanceof NavigationStart)\n ).subscribe(event => {\n this.currentRoute = (<NavigationStart>event).url;\n this.updateActiveRoute();\n });\n\n this.updateActiveRoute();\n this.addSubscriptions(routerSub, menuRefreshSub);\n }\n\n onMenuItemClick(item: RouteDataModel): void {\n if (item.isLocked) {\n if (!!item.lockedClickFunction) {\n item.lockedClickFunction();\n }\n\n return;\n }\n\n let newMenuItems = this.resetMenuState(this.menuItems);\n newMenuItems = this.setItemActive(newMenuItems, item, this.hasChildren(item) ? !item.isActive : true);\n newMenuItems = this.updateParents(newMenuItems, item);\n this.menuItems = newMenuItems;\n\n if (!!item.clickFunction) {\n item.clickFunction();\n return;\n }\n\n if (this.hasChildren(item)) {\n return;\n }\n\n const fullPath = this.findItemById(this.menuItemsBackup, item.id)!.getFullPath();\n\n this.router.navigate(fullPath).then();\n }\n\n hasChildren(item: RouteDataModel): boolean {\n return (item.children?.length || 0) > 0;\n }\n\n asMenuItem(item: any): RouteDataModel {\n return item as RouteDataModel;\n }\n\n getItemClasses(item: RouteDataModel, activeClass: string, ...classes: string[]): string[] {\n return [\n ...classes,\n item.isActive ? activeClass : '',\n item.isLocked ? 'disabled' : ''\n ];\n }\n\n toggleSidebarOnMobile(): void {\n this.isSidebarMobileOpen.set(!this.isSidebarMobileOpen());\n }\n\n selectLoggedUserMenuItem(item: DropdownItem): void {\n const btn = this.coreLayoutConfigService.config.loggedUserMenuActions.find(b => b.id!() === item.id);\n\n if (!!btn?.clickFunction) {\n btn.clickFunction!({ data: this.userInfo() });\n }\n }\n\n private findActiveNode(item: RouteDataModel, fullPath: string): OptionalType<RouteDataModel> {\n if (item.fullPath === fullPath) {\n return item;\n }\n\n for (const child of item.children) {\n const found = this.findActiveNode(child, fullPath);\n\n if (found) {\n return found;\n }\n }\n\n return undefined;\n }\n\n private updateActiveRoute(): void {\n let newMenuItems = this.resetMenuState(this.menuItems);\n const activePath = this.getActivePath(newMenuItems);\n newMenuItems = this.setActivePath(newMenuItems, activePath);\n this.menuItems = newMenuItems;\n }\n\n private setActivePath(items: RouteDataModel[], path: RouteDataModel[]): RouteDataModel[] {\n if (path.length === 0) {\n return items;\n }\n\n return items.map(item => {\n const pathItem = path.find(p => p.id === item.id);\n\n if (!pathItem) {\n return item;\n }\n\n const newItem = { ...item, isActive: true } as RouteDataModel;\n\n if (newItem.children?.length) {\n newItem.children = this.setActivePath(\n newItem.children,\n path.filter(p => p.parent?.id === newItem.id)\n );\n newItem.children.forEach(child => child.parent = newItem);\n }\n\n return newItem;\n });\n }\n\n private getActivePath(items: RouteDataModel[]): RouteDataModel[] {\n let activeItem: OptionalType<RouteDataModel>;\n\n // Find the deepest active item.\n for (const item of items) {\n activeItem = this.findActiveNode(item, this.currentRoute);\n\n if (activeItem) {\n break;\n }\n }\n\n // Collect parent hierarchy.\n const path: RouteDataModel[] = [];\n\n while (activeItem) {\n path.unshift(activeItem);\n activeItem = activeItem.parent;\n }\n\n return path;\n }\n\n private resetMenuState(items: RouteDataModel[]): RouteDataModel[] {\n return items.map(item => {\n const newItem = { ...item, isActive: false } as RouteDataModel;\n\n if (newItem.children?.length) {\n newItem.children = this.resetMenuState(newItem.children);\n newItem.children.forEach(child => child.parent = newItem);\n }\n\n return newItem;\n });\n }\n\n private setItemActive(items: RouteDataModel[], target: RouteDataModel, isActive: boolean): RouteDataModel[] {\n return items.map(item => {\n if (item.id === target.id) {\n const newItem = { ...item, isActive } as RouteDataModel;\n\n if (newItem.children?.length) {\n newItem.children = this.setItemActive(newItem.children, target, isActive);\n newItem.children.forEach(child => child.parent = newItem);\n }\n\n return newItem;\n }\n\n if (item.children?.length) {\n const newChildren = this.setItemActive(item.children, target, isActive);\n const newItem = { ...item, children: newChildren } as RouteDataModel;\n\n newChildren.forEach(child => child.parent = newItem);\n\n return newItem;\n }\n\n return item;\n });\n }\n\n private updateParents(items: RouteDataModel[], childItem: RouteDataModel): RouteDataModel[] {\n let parent = childItem.parent;\n let updatedItems = [...items];\n\n while (parent) {\n updatedItems = updatedItems.map(item => {\n if (item.id === parent!.id) {\n return { ...parent!, isActive: true } as RouteDataModel;\n }\n\n return item;\n });\n parent = parent.parent;\n }\n\n return updatedItems;\n }\n\n private findItemById(items: RouteDataModel[], targetId: any): OptionalType<RouteDataModel> {\n for (const item of items) {\n if (item.id === targetId) {\n return item;\n }\n\n if (item.children?.length) {\n const child = this.findItemById(item.children, targetId);\n\n if (!!child) {\n return child;\n }\n }\n }\n\n return undefined;\n }\n}\n","<div class=\"container-fluid\">\n <button class=\"navbar-toggler\" type=\"button\" (click)=\"toggleSidebarOnMobile()\" [attr.aria-expanded]=\"isSidebarMobileOpen()\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <h1 class=\"navbar-brand navbar-brand-autodark\">\n <a href=\".\">\n <img width=\"110\" height=\"32\" class=\"navbar-brand-image upd-brand-logo\" />\n </a>\n </h1>\n\n @if (!!config().showUserMenu && !!userInfo()) {\n <div class=\"navbar-nav flex-row d-lg-none\">\n <div class=\"nav-item dropdown\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"isLoggedUserDropdownOpen = true\" #loggedUserBtn>\n @if (!!userInfo()!.avatar) {\n <span class=\"avatar avatar-sm\" style=\"background-image: url({{userInfo()?.avatar}})\"></span>\n } @else {\n <span class=\"avatar avatar-sm\">{{ userInitials() }}</span>\n }\n\n <div class=\"d-none d-xl-block px-2\">\n <div>{{ userIdentification() }}</div>\n @if (!!userDescription()) {\n <div class=\"mt-1 small text-muted\">{{ userDescription() }}</div>\n }\n </div>\n </upd-link>\n @if (loggedUserOptions().length > 0) {\n <upd-dropdown wrapperClasses=\"mt-1\" [isOpen]=\"isLoggedUserDropdownOpen\" [dropdownReference]=\"loggedUserRef()\"\n [items]=\"loggedUserOptions()\" [shouldCloseOnOutsideClick]=\"true\" (selectedItem)=\"selectLoggedUserMenuItem($event)\"\n (isOpenChange)=\"isLoggedUserDropdownOpen = $event\" arrowType=\"right\">\n </upd-dropdown>\n }\n </div>\n </div>\n }\n\n <div class=\"collapse navbar-collapse\" [class.show]=\"isSidebarMobileOpen()\">\n <ul class=\"navbar-nav pt-lg-3\">\n @for (item of menuItems; track item.id) {\n <li class=\"nav-item\" [class.dropdown]=\"hasChildren(item)\" [class.active]=\"item.isActive\">\n <ng-container [ngTemplateOutlet]=\"itemTpl\" [ngTemplateOutletContext]=\"{menuItem: item}\"></ng-container>\n </li>\n }\n </ul>\n </div>\n</div>\n\n<ng-template #itemTpl let-item=\"menuItem\">\n <upd-link [isNavigation]=\"true\" (clicked)=\"onMenuItemClick(item)\"\n [customClasses]=\"getItemClasses(item, 'show', hasChildren(item) ? 'dropdown-toggle':'')\">\n <ng-container [ngTemplateOutlet]=\"linkContent\" [ngTemplateOutletContext]=\"{menuItem: item}\"></ng-container>\n </upd-link>\n @if (hasChildren(item)) {\n <ng-container [ngTemplateOutlet]=\"childrenTpl\" [ngTemplateOutletContext]=\"{menuItem: item}\"></ng-container>\n }\n</ng-template>\n\n<ng-template #linkContent let-item=\"menuItem\">\n @if (!!item.icon) {\n <span class=\"nav-link-icon d-md-none d-lg-inline-block\">\n <upd-icon [model]=\"item.icon\"></upd-icon>\n </span>\n }\n <span class=\"nav-link-title\">{{ textService.getText(item.title) }}</span>\n @if (item.isLocked) {\n <upd-icon class=\"ms-auto\" [model]=\"{tablerIcon: 'lock'}\"></upd-icon>\n }\n</ng-template>\n\n<ng-template #childrenTpl let-item=\"menuItem\">\n <div class=\"dropdown-menu\" [class.show]=\"item.isActive\">\n <div class=\"dropdown-menu-columns\">\n <div class=\"dropdown-menu-column\">\n @for (child of asMenuItem(item).children; track child.id) {\n @if (!hasChildren(child)) {\n <upd-link (clicked)=\"onMenuItemClick(child)\" [customClasses]=\"getItemClasses(child, 'active', 'dropdown-item')\">\n <ng-container [ngTemplateOutlet]=\"linkContent\" [ngTemplateOutletContext]=\"{menuItem: child}\"></ng-container>\n </upd-link>\n } @else {\n <div class=\"dropend\">\n <upd-link (clicked)=\"onMenuItemClick(child)\" [customClasses]=\"getItemClasses(child, 'active', 'dropdown-item')\">\n <ng-container [ngTemplateOutlet]=\"linkContent\" [ngTemplateOutletContext]=\"{menuItem: child}\"></ng-container>\n </upd-link>\n <div class=\"dropdown-menu\" [class.show]=\"child.isActive\">\n @for (grandchild of child.children; track grandchild) {\n <upd-link (clicked)=\"onMenuItemClick(grandchild)\"\n [customClasses]=\"getItemClasses(grandchild, 'active', 'dropdown-item')\">\n <ng-container [ngTemplateOutlet]=\"linkContent\" [ngTemplateOutletContext]=\"{menuItem: grandchild}\">\n </ng-container>\n </upd-link>\n }\n </div>\n </div>\n }\n }\n </div>\n </div>\n </div>\n</ng-template>\n","import { Component, input } from '@angular/core';\nimport { PageHeaderModel } from '@updevs/sdk/layout';\n\n@Component({\n selector: 'upd-page-header',\n templateUrl: './page-header.component.html',\n styleUrls: ['./page-header.component.scss']\n})\nexport class PageHeaderComponent {\n model = input.required<PageHeaderModel>();\n}\n","<div class=\"page-header d-print-none\">\n <div class=\"container-xl\">\n <div class=\"row g-2 align-items-center\">\n <div class=\"col\">\n <div class=\"page-pretitle\">\n {{ model().titleHeader }}\n </div>\n <h2 class=\"page-title\">\n {{ model().title }}\n </h2>\n </div>\n @if (model().actionButtons.length > 0) {\n <div class=\"col-auto ms-auto d-print-none\">\n <div class=\"btn-list\">\n @for (btn of model().actionButtons; track btn) {\n <upd-button [model]=\"btn\"></upd-button>\n }\n </div>\n </div>\n }\n </div>\n </div>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\nimport { BaseLayout } from '../../abstractions/base.layout';\n\n@Component({\n selector: 'upd-vertical-sidebar-layout',\n templateUrl: './vertical-sidebar-layout.component.html',\n styleUrls: ['./vertical-sidebar-layout.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class VerticalSidebarLayoutComponent extends BaseLayout {}\n","<div class=\"page\">\n <upd-sidebar></upd-sidebar>\n <upd-header></upd-header>\n\n <div class=\"page-wrapper\">\n @if (!!_layoutService.pageHeader()) {\n <upd-page-header [model]=\"_layoutService.pageHeader()!\"></upd-page-header>\n }\n <div class=\"page-body\">\n <div class=\"container-xl\">\n <router-outlet></router-outlet>\n </div>\n </div>\n <upd-footer></upd-footer>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdCoreLayoutModule } from '@updevs/sdk/layout';\nimport { UpdButtonModule } from '@updevs/components/button';\nimport { UpdLinkModule } from '@updevs/components/link';\nimport { UpdDropdownModule } from '@updevs/components/dropdown';\nimport { TranslocoModule, TranslocoService } from '@jsverse/transloco';\n\nimport * as en from '../../assets/i18n/en.json';\nimport * as pt from '../../assets/i18n/pt.json';\nimport { FooterModule } from '../../partials/footer/footer.module';\nimport { HeaderModule } from '../../partials/header/header.module';\nimport { VerticalSidebarLayoutComponent } from './vertical-sidebar-layout.component';\nimport { SidebarComponent } from '../../partials/sidebar/sidebar.component';\nimport { PageHeaderComponent } from '../../partials/page-header/page-header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TranslocoModule,\n UpdIconsModule,\n UpdCoreLayoutModule,\n UpdButtonModule,\n UpdLinkModule,\n UpdDropdownModule,\n FooterModule,\n HeaderModule\n ],\n declarations: [\n VerticalSidebarLayoutComponent,\n SidebarComponent,\n PageHeaderComponent\n ],\n exports: [\n VerticalSidebarLayoutComponent,\n SidebarComponent,\n PageHeaderComponent\n ]\n})\nexport class VerticalSidebarLayoutModule {\n constructor(translocoService: TranslocoService) {\n translocoService.setFallbackLangForMissingTranslation({ fallbackLang: 'en' });\n translocoService.setTranslation(en, 'en');\n translocoService.setTranslation(pt, 'pt');\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'upd-logged-out',\n templateUrl: './logged-out.component.html',\n styleUrls: ['./logged-out.component.scss']\n})\nexport class LoggedOutComponent {\n\n}\n","<p>logged-out works!</p>\n","import { Component, inject, OnDestroy, OnInit, model, signal } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormGroup, Validators } from '@angular/forms';\nimport { LayoutService } from '@updevs/sdk/layout';\nimport { AuthService } from '@updevs/sdk/security';\nimport { FormRowModel, DynamicFieldType, InputFieldModel } from '@updevs/components/form';\nimport { finalize } from 'rxjs';\n\nimport { UpdLayoutConfigService } from '../../../services/upd-layout-config.service';\n\n@Component({\n selector: 'upd-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit, OnDestroy {\n formGroup = model(new FormGroup({}));\n formRows: FormRowModel[] = [];\n isSigningIn = signal(false);\n readonly layoutConfigService = inject(UpdLayoutConfigService);\n readonly config = this.layoutConfigService.config.securityLayoutConfig.loginPage;\n\n get border(): string {\n return `border-${this.config.borderColor}`;\n }\n\n get linkClasses(): string[] {\n return [`link-${this.config.linksColor}`];\n }\n\n private get boxBgColor(): string {\n return this.config.bgColor || (!!this.config.bgStyle ? `bg-${this.config.bgStyle}` : '') || 'bg-white';\n }\n\n private readonly bodyClasses = ['border-top-wide', this.border, 'd-flex', 'flex-column'];\n private readonly router = inject(Router);\n private readonly authService = inject(AuthService);\n private readonly layoutService = inject(LayoutService);\n\n ngOnInit(): void {\n this.layoutService.addBodyClasses(this.boxBgColor);\n\n if (this.config.layout !== 'cover') {\n this.layoutService.addBodyClasses(...this.bodyClasses);\n }\n\n this.formRows = [\n {\n fields: [\n {\n name: 'username',\n type: DynamicFieldType.Input,\n colSize: { default: 12 },\n label: { text: 'UpDevs.Login.Email', isTranslated: false },\n validators: [Validators.required, Validators.minLength(3)],\n shouldSubmitOnEnter: true\n } as InputFieldModel\n ]\n },\n {\n fields: [\n {\n name: 'password',\n type: DynamicFieldType.Input,\n inputType: 'password',\n colSize: { default: 12 },\n label: { text: 'UpDevs.Login.Password', isTranslated: false },\n validators: [Validators.required, Validators.minLength(3)],\n shouldSubmitOnEnter: true\n } as InputFieldModel\n ]\n },\n {\n fields: [\n {\n name: 'rememberMe',\n type: DynamicFieldType.Checkbox,\n colSize: { default: 12 },\n label: { text: 'UpDevs.Login.RememberMe', isTranslated: false },\n initValue: false\n }\n ]\n }\n ];\n }\n\n ngOnDestroy(): void {\n this.layoutService.removeBodyClasses(this.boxBgColor);\n\n if (this.config.layout !== 'cover') {\n this.layoutService.removeBodyClasses(...this.bodyClasses);\n }\n }\n\n login(): void {\n // TODO: handle remember me\n this.isSigningIn.set(true);\n this.authService.login((this.formGroup().value as any).username, (this.formGroup().value as any).password)\n .pipe(finalize(() => this.isSigningIn.set(false)))\n .subscribe();\n }\n\n goToRecoverPasswordPage(): void {\n this.router.navigate([this.config.recoverPasswordRoute]).then();\n }\n\n goToSignUpPage(): void {\n this.router.navigate([this.config.signUpRoute]).then();\n }\n}\n","<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","import { Component } from '@angular/core';\n\n@Component({\n selector: 'upd-oauth-callback',\n templateUrl: './oauth-callback.component.html',\n styleUrls: ['./oauth-callback.component.scss']\n})\nexport class OauthCallbackComponent {\n\n}\n","<p>oauth-callback works!</p>\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { OauthCallbackComponent } from './oauth-callback/oauth-callback.component';\nimport { LoggedOutComponent } from './logged-out/logged-out.component';\nimport { LoginComponent } from './login/login.component';\n\n/**\n * Auth flow routes.\n */\nexport const routes: Routes = [\n { path: 'oauth/callback', component: OauthCallbackComponent },\n { path: 'logged-out', component: LoggedOutComponent },\n { path: 'login', component: LoginComponent }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { useHash: true })],\n exports: [RouterModule]\n})\nexport class AuthFlowRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { UpdButtonModule } from '@updevs/components/button';\nimport { UpdLinkModule } from '@updevs/components/link';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdCardModule } from '@updevs/components/card';\nimport { UpdFormModule } from '@updevs/components/form';\nimport { TranslocoDirective } from '@jsverse/transloco';\n\nimport { FooterModule } from '../../partials/footer/footer.module';\nimport { HeaderModule } from '../../partials/header/header.module';\nimport { LoginComponent } from './login/login.component';\nimport { OauthCallbackComponent } from './oauth-callback/oauth-callback.component';\nimport { LoggedOutComponent } from './logged-out/logged-out.component';\nimport { AuthFlowRoutingModule } from './auth-flow-routing.module';\n\n@NgModule({\n imports: [\n CommonModule,\n AuthFlowRoutingModule,\n UpdButtonModule,\n UpdIconsModule,\n FormsModule,\n TranslocoDirective,\n UpdLinkModule,\n UpdCardModule,\n UpdFormModule,\n FooterModule,\n HeaderModule\n ],\n declarations: [\n LoginComponent,\n OauthCallbackComponent,\n LoggedOutComponent\n ],\n exports: [\n LoginComponent,\n OauthCallbackComponent,\n LoggedOutComponent\n ]\n})\nexport class AuthFlowModule {\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdCoreLayoutModule } from '@updevs/sdk/layout';\nimport { UpdNotificationsModule } from '@updevs/sdk/notifications';\n\nimport { UpdLayoutConfig } from './models/upd-layout.config';\nimport { LayoutConstants } from './tools/layout.constants';\nimport { UpdLayoutConfigService } from './services/upd-layout-config.service';\n\n/**\n * Layout module.\n */\n@NgModule({\n imports: [\n CommonModule,\n UpdCoreLayoutModule,\n UpdNotificationsModule\n ],\n providers: [\n UpdLayoutConfigService\n ]\n})\nexport class UpdLayoutModule {\n /**\n * Sets up the layout module with the provided configuration.\n * @param config Configuration (See: #updsee[p:abstractions, i:UpdCoreLayoutConfig]).\n */\n static forRoot(config: UpdLayoutConfig): ModuleWithProviders<UpdLayoutModule> {\n return {\n ngModule: UpdLayoutModule,\n providers: [\n { provide: LayoutConstants.defaultOptionsInjectionToken, useValue: config }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i4","i2.FooterComponent","i3.HeaderComponent","i4.SidebarComponent","i5.PageHeaderComponent","en","pt","i3","i5","i8.FooterComponent","i9.HeaderComponent"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter,
|
|
2
|
+
import { EventEmitter, Output, Input, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
|
|
@@ -33,10 +33,10 @@ class LinkComponent {
|
|
|
33
33
|
}
|
|
34
34
|
this.classes = [...lClasses, ...this.customClasses];
|
|
35
35
|
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: LinkComponent, selector: "upd-link", inputs: { href: "href", target: "target", customClasses: "customClasses", isNavigation: "isNavigation" }, outputs: { clicked: "clicked" }, usesOnChanges: true, ngImport: i0, template: "<a [attr.href]=\"href\" [attr.target]=\"target\" [ngClass]=\"classes\" (click)=\"onClick($event)\">\n <ng-content></ng-content>\n</a>\n", styles: ["a:hover{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LinkComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
41
|
args: [{ selector: 'upd-link', encapsulation: ViewEncapsulation.None, template: "<a [attr.href]=\"href\" [attr.target]=\"target\" [ngClass]=\"classes\" (click)=\"onClick($event)\">\n <ng-content></ng-content>\n</a>\n", styles: ["a:hover{cursor:pointer}\n"] }]
|
|
42
42
|
}], propDecorators: { href: [{
|
|
@@ -52,11 +52,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
52
52
|
}] } });
|
|
53
53
|
|
|
54
54
|
class UpdLinkModule {
|
|
55
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
56
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0
|
|
57
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0
|
|
55
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
56
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdLinkModule, declarations: [LinkComponent], imports: [CommonModule], exports: [LinkComponent] }); }
|
|
57
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdLinkModule, imports: [CommonModule] }); }
|
|
58
58
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdLinkModule, decorators: [{
|
|
60
60
|
type: NgModule,
|
|
61
61
|
args: [{
|
|
62
62
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updevs-components-link.mjs","sources":["../../../../
|
|
1
|
+
{"version":3,"file":"updevs-components-link.mjs","sources":["../../../../libs/components/link/src/link.component.ts","../../../../libs/components/link/src/link.component.html","../../../../libs/components/link/src/upd-link.module.ts","../../../../libs/components/link/src/updevs-components-link.ts"],"sourcesContent":["import { Component, Output, EventEmitter, SimpleChanges, OnInit, OnChanges, Input, ViewEncapsulation } from '@angular/core';\n\nimport { LinkTargetType } from './target.type';\n\n@Component({\n selector: 'upd-link',\n templateUrl: './link.component.html',\n styleUrls: ['./link.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class LinkComponent implements OnInit, OnChanges {\n @Input() href?: string;\n @Input() target: LinkTargetType = '_self';\n @Input() customClasses: string[] = [];\n @Input() isNavigation = false;\n\n /**\n * Emitted when the link is clicked.\n * **NOTE:** The name of the event can not be 'click'. It would generate a conflict with the HTML event of same name.\n * That would cause strange behaviors like preventing `isDisabled` from working correctly.\n */\n @Output() readonly clicked = new EventEmitter<any>();\n\n classes: string[] = [];\n\n ngOnInit(): void {\n this.updateWrapperClasses();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateWrapperClasses();\n }\n\n onClick(event: MouseEvent): void {\n this.clicked.emit(undefined);\n event.stopPropagation();\n }\n\n private updateWrapperClasses(): void {\n const lClasses: string[] = [];\n\n if (this.isNavigation) {\n lClasses.push('nav-link');\n }\n\n this.classes = [...lClasses, ...this.customClasses];\n }\n}\n","<a [attr.href]=\"href\" [attr.target]=\"target\" [ngClass]=\"classes\" (click)=\"onClick($event)\">\n <ng-content></ng-content>\n</a>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { LinkComponent } from './link.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n LinkComponent\n ],\n exports: [\n LinkComponent\n ]\n})\nexport class UpdLinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|