@updevs/components 1.0.0-alpha.10 → 1.0.0-alpha.100
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 -8
- package/assets/styles/_core.scss +9 -0
- package/assets/styles/_debug.scss +49 -0
- package/assets/styles/_props.scss +91 -0
- package/assets/styles/_updevs.scss +12 -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 +326 -257
- 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/fesm2022/updevs-components-badge.mjs +29 -31
- package/fesm2022/updevs-components-badge.mjs.map +1 -1
- package/fesm2022/updevs-components-button.mjs +41 -41
- package/fesm2022/updevs-components-button.mjs.map +1 -1
- package/fesm2022/updevs-components-calendar.mjs +327 -1456
- package/fesm2022/updevs-components-calendar.mjs.map +1 -1
- package/fesm2022/updevs-components-card.mjs +25 -21
- package/fesm2022/updevs-components-card.mjs.map +1 -1
- package/fesm2022/updevs-components-drag-and-drop.mjs +17 -17
- package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -1
- package/fesm2022/updevs-components-dropdown.mjs +41 -20
- package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-abstractions.mjs +77 -18
- package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-checkbox.mjs +31 -21
- package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-date-picker.mjs +51 -66
- package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-file-upload.mjs +272 -0
- package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-input.mjs +46 -28
- package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-radio.mjs +20 -14
- package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-select.mjs +288 -111
- package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-textarea.mjs +25 -20
- 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 +255 -71
- package/fesm2022/updevs-components-form.mjs.map +1 -1
- package/fesm2022/updevs-components-layout.mjs +597 -330
- package/fesm2022/updevs-components-layout.mjs.map +1 -1
- package/fesm2022/updevs-components-link.mjs +9 -9
- package/fesm2022/updevs-components-link.mjs.map +1 -1
- package/fesm2022/updevs-components-list.mjs +20 -10
- package/fesm2022/updevs-components-list.mjs.map +1 -1
- package/fesm2022/updevs-components-modal.mjs +27 -25
- package/fesm2022/updevs-components-modal.mjs.map +1 -1
- package/fesm2022/updevs-components-paginator.mjs +38 -37
- package/fesm2022/updevs-components-paginator.mjs.map +1 -1
- package/fesm2022/updevs-components-popover.mjs +32 -40
- 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 +678 -333
- package/fesm2022/updevs-components-table.mjs.map +1 -1
- package/fesm2022/updevs-components.mjs +5 -5
- package/fesm2022/updevs-components.mjs.map +1 -1
- package/package.json +70 -101
- package/types/updevs-components-badge.d.ts +44 -0
- package/types/updevs-components-button.d.ts +75 -0
- package/types/updevs-components-calendar.d.ts +175 -0
- package/{card/card.component.d.ts → types/updevs-components-card.d.ts} +52 -14
- package/types/updevs-components-drag-and-drop.d.ts +74 -0
- package/{dropdown/dropdown.component.d.ts → types/updevs-components-dropdown.d.ts} +56 -8
- package/types/updevs-components-form-controls-abstractions.d.ts +49 -0
- package/types/updevs-components-form-controls-checkbox.d.ts +33 -0
- package/types/updevs-components-form-controls-date-picker.d.ts +80 -0
- package/types/updevs-components-form-controls-file-upload.d.ts +69 -0
- package/types/updevs-components-form-controls-input.d.ts +95 -0
- package/types/updevs-components-form-controls-radio.d.ts +32 -0
- package/types/updevs-components-form-controls-select.d.ts +200 -0
- package/types/updevs-components-form-controls-textarea.d.ts +31 -0
- package/types/updevs-components-form-controls-time-picker.d.ts +164 -0
- package/types/updevs-components-form.d.ts +356 -0
- package/types/updevs-components-layout.d.ts +490 -0
- package/{link/link.component.d.ts → types/updevs-components-link.d.ts} +16 -4
- package/types/updevs-components-list.d.ts +107 -0
- package/types/updevs-components-modal.d.ts +155 -0
- package/types/updevs-components-paginator.d.ts +58 -0
- package/types/updevs-components-popover.d.ts +63 -0
- package/types/updevs-components-pricing.d.ts +91 -0
- package/types/updevs-components-table.d.ts +619 -0
- package/types/updevs-components.d.ts +44 -0
- package/badge/badge-config.model.d.ts +0 -14
- package/badge/badge.component.d.ts +0 -24
- package/badge/badge.config.d.ts +0 -12
- package/badge/index.d.ts +0 -1
- package/badge/public-api.d.ts +0 -3
- package/badge/upd-badge.module.d.ts +0 -8
- package/button/button.component.d.ts +0 -61
- package/button/index.d.ts +0 -1
- package/button/public-api.d.ts +0 -2
- package/button/upd-button.module.d.ts +0 -10
- package/calendar/calendar.component.d.ts +0 -127
- package/calendar/components/calendar-body/calendar-body.component.d.ts +0 -263
- package/calendar/components/calendar-header/calendar-header.component.d.ts +0 -57
- package/calendar/components/calendar-month-view/calendar-month-view.component.d.ts +0 -151
- package/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.d.ts +0 -10
- package/calendar/components/calendar-year-view/calendar-year-view.component.d.ts +0 -9
- package/calendar/index.d.ts +0 -1
- package/calendar/models/calendar-cell.model.d.ts +0 -16
- package/calendar/models/calendar-user-event.model.d.ts +0 -4
- package/calendar/models/date-range.model.d.ts +0 -26
- package/calendar/models/public-api.d.ts +0 -2
- package/calendar/public-api.d.ts +0 -5
- package/calendar/services/calendar-range-strategy.service.d.ts +0 -35
- package/calendar/services/calendar-signals.service.d.ts +0 -24
- package/calendar/services/calendar.service.d.ts +0 -15
- package/calendar/services/public-api.d.ts +0 -1
- package/calendar/tools/events-options.d.ts +0 -12
- package/calendar/tools/keyboard-tools.d.ts +0 -9
- package/calendar/tools/passive-listeners.d.ts +0 -16
- package/calendar/types/calendar-cell-class-function.type.d.ts +0 -3
- package/calendar/types/calendar-cell-css-classes.type.d.ts +0 -3
- package/calendar/types/calendar-view.type.d.ts +0 -1
- package/calendar/types/modifier-key.type.d.ts +0 -1
- package/calendar/types/public-api.d.ts +0 -1
- package/calendar/upd-calendar.module.d.ts +0 -18
- package/card/directives/card-actions.directive.d.ts +0 -7
- package/card/directives/card-footer.directive.d.ts +0 -7
- package/card/directives/card-header.directive.d.ts +0 -7
- package/card/directives/card-image.directive.d.ts +0 -7
- package/card/directives/public-api.d.ts +0 -4
- package/card/index.d.ts +0 -1
- package/card/public-api.d.ts +0 -3
- package/card/types/card-state.type.d.ts +0 -1
- package/card/types/card-style.type.d.ts +0 -1
- package/card/types/hover-effect.type.d.ts +0 -1
- package/card/types/ribbon-style.type.d.ts +0 -1
- package/card/types/status-position.type.d.ts +0 -1
- package/card/upd-card.module.d.ts +0 -14
- package/drag-and-drop/drag-and-drop.component.d.ts +0 -26
- package/drag-and-drop/index.d.ts +0 -1
- package/drag-and-drop/models/drag-and-drop-column.config.d.ts +0 -8
- package/drag-and-drop/models/drag-and-drop-column.model.d.ts +0 -10
- package/drag-and-drop/models/drag-and-drop-item.d.ts +0 -7
- package/drag-and-drop/models/drag-and-drop-item.model.d.ts +0 -13
- package/drag-and-drop/models/drag-and-drop.config.d.ts +0 -6
- package/drag-and-drop/models/public-api.d.ts +0 -4
- package/drag-and-drop/public-api.d.ts +0 -3
- package/drag-and-drop/upd-drag-and-drop.module.d.ts +0 -9
- package/dropdown/index.d.ts +0 -1
- package/dropdown/models/dropdown-action-clicked.model.d.ts +0 -6
- package/dropdown/models/dropdown-item.d.ts +0 -24
- package/dropdown/models/dropdown-item.type.d.ts +0 -1
- package/dropdown/models/public-api.d.ts +0 -4
- package/dropdown/models/toolbar.type.d.ts +0 -1
- package/dropdown/public-api.d.ts +0 -3
- package/dropdown/upd-dropdown.module.d.ts +0 -12
- package/esm2022/badge/badge-config.model.mjs +0 -14
- package/esm2022/badge/badge.component.mjs +0 -50
- package/esm2022/badge/badge.config.mjs +0 -2
- package/esm2022/badge/index.mjs +0 -2
- package/esm2022/badge/public-api.mjs +0 -4
- package/esm2022/badge/upd-badge.module.mjs +0 -24
- package/esm2022/badge/updevs-components-badge.mjs +0 -5
- package/esm2022/button/button.component.mjs +0 -157
- package/esm2022/button/index.mjs +0 -2
- package/esm2022/button/public-api.mjs +0 -3
- package/esm2022/button/upd-button.module.mjs +0 -32
- package/esm2022/button/updevs-components-button.mjs +0 -5
- package/esm2022/calendar/assets/i18n/en.json +0 -16
- package/esm2022/calendar/assets/i18n/pt.json +0 -16
- package/esm2022/calendar/calendar.component.mjs +0 -247
- package/esm2022/calendar/components/calendar-body/calendar-body.component.mjs +0 -515
- package/esm2022/calendar/components/calendar-header/calendar-header.component.mjs +0 -144
- package/esm2022/calendar/components/calendar-month-view/calendar-month-view.component.mjs +0 -423
- package/esm2022/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.mjs +0 -18
- package/esm2022/calendar/components/calendar-year-view/calendar-year-view.component.mjs +0 -17
- package/esm2022/calendar/index.mjs +0 -2
- package/esm2022/calendar/models/calendar-cell.model.mjs +0 -18
- package/esm2022/calendar/models/calendar-user-event.model.mjs +0 -2
- package/esm2022/calendar/models/date-range.model.mjs +0 -18
- package/esm2022/calendar/models/public-api.mjs +0 -3
- package/esm2022/calendar/public-api.mjs +0 -6
- package/esm2022/calendar/services/calendar-range-strategy.service.mjs +0 -99
- package/esm2022/calendar/services/calendar-signals.service.mjs +0 -47
- package/esm2022/calendar/services/calendar.service.mjs +0 -40
- package/esm2022/calendar/services/public-api.mjs +0 -2
- package/esm2022/calendar/tools/events-options.mjs +0 -14
- package/esm2022/calendar/tools/keyboard-tools.mjs +0 -14
- package/esm2022/calendar/tools/passive-listeners.mjs +0 -29
- package/esm2022/calendar/types/calendar-cell-class-function.type.mjs +0 -2
- package/esm2022/calendar/types/calendar-cell-css-classes.type.mjs +0 -2
- package/esm2022/calendar/types/calendar-view.type.mjs +0 -2
- package/esm2022/calendar/types/modifier-key.type.mjs +0 -2
- package/esm2022/calendar/types/public-api.mjs +0 -2
- package/esm2022/calendar/upd-calendar.module.mjs +0 -69
- package/esm2022/calendar/updevs-components-calendar.mjs +0 -5
- package/esm2022/card/card.component.mjs +0 -136
- package/esm2022/card/directives/card-actions.directive.mjs +0 -16
- package/esm2022/card/directives/card-footer.directive.mjs +0 -16
- package/esm2022/card/directives/card-header.directive.mjs +0 -16
- package/esm2022/card/directives/card-image.directive.mjs +0 -16
- package/esm2022/card/directives/public-api.mjs +0 -5
- package/esm2022/card/index.mjs +0 -2
- package/esm2022/card/public-api.mjs +0 -4
- package/esm2022/card/types/card-state.type.mjs +0 -2
- package/esm2022/card/types/card-style.type.mjs +0 -2
- package/esm2022/card/types/hover-effect.type.mjs +0 -2
- package/esm2022/card/types/ribbon-style.type.mjs +0 -2
- package/esm2022/card/types/status-position.type.mjs +0 -2
- package/esm2022/card/upd-card.module.mjs +0 -50
- package/esm2022/card/updevs-components-card.mjs +0 -5
- package/esm2022/drag-and-drop/drag-and-drop.component.mjs +0 -134
- package/esm2022/drag-and-drop/index.mjs +0 -2
- package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +0 -2
- package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +0 -9
- package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +0 -2
- package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +0 -14
- package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +0 -2
- package/esm2022/drag-and-drop/models/public-api.mjs +0 -5
- package/esm2022/drag-and-drop/public-api.mjs +0 -4
- package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +0 -28
- package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +0 -5
- package/esm2022/dropdown/dropdown.component.mjs +0 -182
- package/esm2022/dropdown/index.mjs +0 -2
- package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +0 -2
- package/esm2022/dropdown/models/dropdown-item.mjs +0 -2
- package/esm2022/dropdown/models/dropdown-item.type.mjs +0 -2
- package/esm2022/dropdown/models/public-api.mjs +0 -5
- package/esm2022/dropdown/models/toolbar.type.mjs +0 -2
- package/esm2022/dropdown/public-api.mjs +0 -4
- package/esm2022/dropdown/upd-dropdown.module.mjs +0 -40
- package/esm2022/dropdown/updevs-components-dropdown.mjs +0 -5
- package/esm2022/form/assets/i18n/en.json +0 -17
- package/esm2022/form/assets/i18n/pt.json +0 -17
- package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +0 -96
- package/esm2022/form/form.component.mjs +0 -102
- package/esm2022/form/index.mjs +0 -2
- package/esm2022/form/models/checkbox-field.model.mjs +0 -2
- package/esm2022/form/models/checkbox-group-field.model.mjs +0 -2
- package/esm2022/form/models/dynamic-field.model.mjs +0 -2
- package/esm2022/form/models/enums/dynamic-field.type.mjs +0 -14
- package/esm2022/form/models/enums/public-api.mjs +0 -2
- package/esm2022/form/models/form-row.model.mjs +0 -2
- package/esm2022/form/models/public-api.mjs +0 -6
- package/esm2022/form/models/radio-field.model.mjs +0 -2
- package/esm2022/form/models/radio-group-field.model.mjs +0 -2
- package/esm2022/form/models/select-field.model.mjs +0 -2
- package/esm2022/form/models/single-select-field.model.mjs +0 -2
- package/esm2022/form/models/textarea-field.model.mjs +0 -2
- package/esm2022/form/models/validator-config.mjs +0 -2
- package/esm2022/form/public-api.mjs +0 -4
- package/esm2022/form/tools/errors-helper.mjs +0 -54
- package/esm2022/form/upd-form.module.mjs +0 -75
- package/esm2022/form/updevs-components-form.mjs +0 -5
- package/esm2022/form-controls/abstractions/base-control.mjs +0 -40
- package/esm2022/form-controls/abstractions/index.mjs +0 -2
- package/esm2022/form-controls/abstractions/public-api.mjs +0 -2
- package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +0 -5
- package/esm2022/form-controls/checkbox/checkbox.component.mjs +0 -53
- package/esm2022/form-controls/checkbox/index.mjs +0 -2
- package/esm2022/form-controls/checkbox/public-api.mjs +0 -3
- package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +0 -32
- package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +0 -5
- package/esm2022/form-controls/date-picker/date-picker.component.mjs +0 -147
- package/esm2022/form-controls/date-picker/index.mjs +0 -2
- package/esm2022/form-controls/date-picker/public-api.mjs +0 -3
- package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +0 -40
- package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +0 -5
- package/esm2022/form-controls/input/directives/input-append.directive.mjs +0 -16
- package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +0 -16
- package/esm2022/form-controls/input/directives/public-api.mjs +0 -3
- package/esm2022/form-controls/input/index.mjs +0 -2
- package/esm2022/form-controls/input/input.component.mjs +0 -189
- package/esm2022/form-controls/input/public-api.mjs +0 -5
- package/esm2022/form-controls/input/types/input.type.mjs +0 -2
- package/esm2022/form-controls/input/types/loader-position.type.mjs +0 -2
- package/esm2022/form-controls/input/types/public-api.mjs +0 -3
- package/esm2022/form-controls/input/upd-input.module.mjs +0 -46
- package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +0 -5
- package/esm2022/form-controls/radio/index.mjs +0 -2
- package/esm2022/form-controls/radio/public-api.mjs +0 -3
- package/esm2022/form-controls/radio/radio.component.mjs +0 -56
- package/esm2022/form-controls/radio/upd-radio.module.mjs +0 -32
- package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +0 -5
- package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +0 -76
- package/esm2022/form-controls/select/components/single/select.component.mjs +0 -72
- package/esm2022/form-controls/select/index.mjs +0 -2
- package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +0 -221
- package/esm2022/form-controls/select/models/defaults.mjs +0 -8
- package/esm2022/form-controls/select/models/public-api.mjs +0 -3
- package/esm2022/form-controls/select/models/select-item.mjs +0 -2
- package/esm2022/form-controls/select/public-api.mjs +0 -5
- package/esm2022/form-controls/select/upd-select.module.mjs +0 -57
- package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +0 -5
- package/esm2022/form-controls/textarea/index.mjs +0 -2
- package/esm2022/form-controls/textarea/public-api.mjs +0 -3
- package/esm2022/form-controls/textarea/textarea.component.mjs +0 -46
- package/esm2022/form-controls/textarea/upd-textarea.module.mjs +0 -24
- package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +0 -5
- package/esm2022/form-controls/time-picker/assets/i18n/en.json +0 -5
- package/esm2022/form-controls/time-picker/assets/i18n/pt.json +0 -5
- package/esm2022/form-controls/time-picker/index.mjs +0 -2
- package/esm2022/form-controls/time-picker/public-api.mjs +0 -4
- package/esm2022/form-controls/time-picker/time-picker.component.mjs +0 -130
- package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +0 -124
- package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +0 -60
- package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/layout/abstractions/base-page.component.mjs +0 -23
- package/esm2022/layout/abstractions/base.layout.mjs +0 -31
- package/esm2022/layout/abstractions/public-api.mjs +0 -2
- package/esm2022/layout/assets/i18n/en.json +0 -20
- package/esm2022/layout/assets/i18n/pt.json +0 -20
- package/esm2022/layout/index.mjs +0 -2
- package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +0 -11
- package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +0 -24
- package/esm2022/layout/layouts/public-api.mjs +0 -5
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +0 -31
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +0 -80
- package/esm2022/layout/models/login-page-config.model.mjs +0 -20
- package/esm2022/layout/models/login-page.config.mjs +0 -2
- package/esm2022/layout/models/public-api.mjs +0 -3
- package/esm2022/layout/models/security-layout-config.model.mjs +0 -10
- package/esm2022/layout/models/security-layout.config.mjs +0 -2
- package/esm2022/layout/models/upd-layout-config.model.mjs +0 -24
- package/esm2022/layout/models/upd-layout.config.mjs +0 -2
- package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +0 -28
- package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +0 -65
- package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +0 -11
- package/esm2022/layout/pages/auth-flow/login/login.component.mjs +0 -99
- package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +0 -11
- package/esm2022/layout/pages/auth-flow/public-api.mjs +0 -6
- package/esm2022/layout/pages/public-api.mjs +0 -2
- package/esm2022/layout/partials/footer/footer-copyright.directive.mjs +0 -13
- package/esm2022/layout/partials/footer/footer.component.mjs +0 -55
- package/esm2022/layout/partials/footer/public-api.mjs +0 -3
- package/esm2022/layout/partials/header/header-style.type.mjs +0 -2
- package/esm2022/layout/partials/header/header.component.mjs +0 -77
- package/esm2022/layout/partials/header/public-api.mjs +0 -3
- package/esm2022/layout/partials/page-header/page-header.component.mjs +0 -15
- package/esm2022/layout/partials/page-header/public-api.mjs +0 -2
- package/esm2022/layout/partials/public-api.mjs +0 -5
- package/esm2022/layout/partials/sidebar/public-api.mjs +0 -2
- package/esm2022/layout/partials/sidebar/sidebar.component.mjs +0 -112
- package/esm2022/layout/public-api.mjs +0 -8
- package/esm2022/layout/services/public-api.mjs +0 -2
- package/esm2022/layout/services/upd-layout-config.service.mjs +0 -21
- package/esm2022/layout/tools/layout.constants.mjs +0 -15
- package/esm2022/layout/upd-layout.module.mjs +0 -43
- package/esm2022/layout/updevs-components-layout.mjs +0 -5
- package/esm2022/lib/index.mjs +0 -2
- package/esm2022/lib/models/public-api.mjs +0 -2
- package/esm2022/lib/models/row-column-size.mjs +0 -2
- package/esm2022/lib/public-api.mjs +0 -5
- package/esm2022/lib/tools/column-size.helper.mjs +0 -12
- package/esm2022/lib/tools/public-api.mjs +0 -2
- package/esm2022/lib/types/component-size.type.mjs +0 -2
- package/esm2022/lib/types/horizontal-vertical.type.mjs +0 -2
- package/esm2022/lib/types/public-api.mjs +0 -4
- package/esm2022/lib/types/validation-status.type.mjs +0 -2
- package/esm2022/lib/upd-components.module.mjs +0 -14
- package/esm2022/link/index.mjs +0 -2
- package/esm2022/link/link.component.mjs +0 -51
- package/esm2022/link/public-api.mjs +0 -4
- package/esm2022/link/target.type.mjs +0 -2
- package/esm2022/link/upd-link.module.mjs +0 -24
- package/esm2022/link/updevs-components-link.mjs +0 -5
- package/esm2022/list/assets/i18n/en.json +0 -9
- package/esm2022/list/assets/i18n/pt.json +0 -9
- package/esm2022/list/index.mjs +0 -2
- package/esm2022/list/list.component.mjs +0 -113
- package/esm2022/list/models/badge-position.type.mjs +0 -2
- package/esm2022/list/models/list-item.mjs +0 -2
- package/esm2022/list/models/list-item.model.mjs +0 -15
- package/esm2022/list/models/public-api.mjs +0 -3
- package/esm2022/list/public-api.mjs +0 -4
- package/esm2022/list/upd-list.module.mjs +0 -43
- package/esm2022/list/updevs-components-list.mjs +0 -5
- package/esm2022/modal/assets/i18n/en.json +0 -17
- package/esm2022/modal/assets/i18n/pt.json +0 -17
- package/esm2022/modal/components/modal-container/modal-container.component.mjs +0 -216
- package/esm2022/modal/index.mjs +0 -2
- package/esm2022/modal/models/base.modal.mjs +0 -14
- package/esm2022/modal/models/modal-config.model.mjs +0 -20
- package/esm2022/modal/models/modal-ref.mjs +0 -2
- package/esm2022/modal/models/modal.config.mjs +0 -2
- package/esm2022/modal/models/public-api.mjs +0 -4
- package/esm2022/modal/public-api.mjs +0 -4
- package/esm2022/modal/services/modal-alert.service.mjs +0 -99
- package/esm2022/modal/services/modal.service.mjs +0 -30
- package/esm2022/modal/services/public-api.mjs +0 -3
- package/esm2022/modal/types/modal-footer-style.type.mjs +0 -2
- package/esm2022/modal/types/modal-size.type.mjs +0 -2
- package/esm2022/modal/upd-modal.module.mjs +0 -89
- package/esm2022/modal/updevs-components-modal.mjs +0 -5
- package/esm2022/paginator/assets/i18n/en.json +0 -15
- package/esm2022/paginator/assets/i18n/pt.json +0 -15
- package/esm2022/paginator/index.mjs +0 -2
- package/esm2022/paginator/paginator.component.mjs +0 -66
- package/esm2022/paginator/public-api.mjs +0 -3
- package/esm2022/paginator/upd-paginator.module.mjs +0 -46
- package/esm2022/paginator/updevs-components-paginator.mjs +0 -5
- package/esm2022/popover/index.mjs +0 -2
- package/esm2022/popover/popover.component.mjs +0 -65
- package/esm2022/popover/popover.directive.mjs +0 -129
- package/esm2022/popover/public-api.mjs +0 -4
- package/esm2022/popover/upd-popover.module.mjs +0 -29
- package/esm2022/popover/updevs-components-popover.mjs +0 -5
- package/esm2022/public-api.mjs +0 -2
- package/esm2022/table/abstractions/base-column.model.mjs +0 -52
- package/esm2022/table/abstractions/base.column.mjs +0 -98
- package/esm2022/table/abstractions/filters-operands.service.mjs +0 -3
- package/esm2022/table/abstractions/public-api.mjs +0 -3
- package/esm2022/table/assets/i18n/en.json +0 -74
- package/esm2022/table/assets/i18n/pt.json +0 -74
- package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +0 -26
- package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +0 -13
- package/esm2022/table/components/columns/number-column/number-column.component.mjs +0 -13
- package/esm2022/table/components/columns/text-column/text-column.component.mjs +0 -31
- package/esm2022/table/components/columns-manager/columns-manager.component.mjs +0 -36
- package/esm2022/table/components/filter-row/filter-row.component.mjs +0 -114
- package/esm2022/table/components/save-search/save-search.component.mjs +0 -72
- package/esm2022/table/components/search-section/search-section.component.mjs +0 -93
- package/esm2022/table/directives/public-api.mjs +0 -2
- package/esm2022/table/directives/table-column.directive.mjs +0 -51
- package/esm2022/table/index.mjs +0 -2
- package/esm2022/table/models/columns/boolean-column.model.mjs +0 -22
- package/esm2022/table/models/columns/date-time-column.model.mjs +0 -16
- package/esm2022/table/models/columns/guid-column.model.mjs +0 -13
- package/esm2022/table/models/columns/image-column.model.mjs +0 -11
- package/esm2022/table/models/columns/number-column.model.mjs +0 -17
- package/esm2022/table/models/columns/public-api.mjs +0 -7
- package/esm2022/table/models/columns/text-column.model.mjs +0 -11
- package/esm2022/table/models/enums/column-type.enum.mjs +0 -15
- package/esm2022/table/models/enums/public-api.mjs +0 -2
- package/esm2022/table/models/filter-item.model.mjs +0 -2
- package/esm2022/table/models/filter-operand.config.mjs +0 -2
- package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +0 -25
- package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +0 -25
- package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +0 -31
- package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +0 -31
- package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +0 -16
- package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +0 -25
- package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +0 -45
- package/esm2022/table/models/public-api.mjs +0 -5
- package/esm2022/table/models/saved-view.model.mjs +0 -2
- package/esm2022/table/models/table-config.model.mjs +0 -21
- package/esm2022/table/models/table.config.mjs +0 -2
- package/esm2022/table/models/upd-table-config.model.mjs +0 -9
- package/esm2022/table/models/upd-table.config.mjs +0 -2
- package/esm2022/table/public-api.mjs +0 -6
- package/esm2022/table/services/default-filters-operands.service.mjs +0 -60
- package/esm2022/table/services/storages/saved-views.storage.mjs +0 -63
- package/esm2022/table/services/stores/filters-operands.store.mjs +0 -19
- package/esm2022/table/services/upd-table-config.service.mjs +0 -18
- package/esm2022/table/table.component.mjs +0 -382
- package/esm2022/table/tools/filters.tools.mjs +0 -48
- package/esm2022/table/tools/table.constants.mjs +0 -15
- package/esm2022/table/upd-table.module.mjs +0 -149
- package/esm2022/table/updevs-components-table.mjs +0 -5
- package/esm2022/updevs-components.mjs +0 -5
- package/form/components/dynamic-field/dynamic-field.component.d.ts +0 -45
- package/form/form.component.d.ts +0 -60
- package/form/index.d.ts +0 -1
- package/form/models/checkbox-field.model.d.ts +0 -4
- package/form/models/checkbox-group-field.model.d.ts +0 -6
- package/form/models/dynamic-field.model.d.ts +0 -30
- package/form/models/enums/dynamic-field.type.d.ts +0 -12
- package/form/models/enums/public-api.d.ts +0 -1
- package/form/models/form-row.model.d.ts +0 -8
- package/form/models/public-api.d.ts +0 -5
- package/form/models/radio-field.model.d.ts +0 -4
- package/form/models/radio-group-field.model.d.ts +0 -6
- package/form/models/select-field.model.d.ts +0 -28
- package/form/models/single-select-field.model.d.ts +0 -4
- package/form/models/textarea-field.model.d.ts +0 -10
- package/form/models/validator-config.d.ts +0 -5
- package/form/public-api.d.ts +0 -3
- package/form/tools/errors-helper.d.ts +0 -11
- package/form/upd-form.module.d.ts +0 -20
- package/form-controls/abstractions/base-control.d.ts +0 -24
- package/form-controls/abstractions/index.d.ts +0 -2
- package/form-controls/abstractions/public-api.d.ts +0 -2
- package/form-controls/checkbox/checkbox.component.d.ts +0 -21
- package/form-controls/checkbox/index.d.ts +0 -1
- package/form-controls/checkbox/public-api.d.ts +0 -2
- package/form-controls/checkbox/upd-checkbox.module.d.ts +0 -10
- package/form-controls/date-picker/date-picker.component.d.ts +0 -87
- package/form-controls/date-picker/index.d.ts +0 -1
- package/form-controls/date-picker/public-api.d.ts +0 -2
- package/form-controls/date-picker/upd-date-picker.module.d.ts +0 -12
- package/form-controls/input/directives/input-append.directive.d.ts +0 -7
- package/form-controls/input/directives/input-prepend.directive.d.ts +0 -7
- package/form-controls/input/directives/public-api.d.ts +0 -2
- package/form-controls/input/index.d.ts +0 -1
- package/form-controls/input/input.component.d.ts +0 -66
- package/form-controls/input/public-api.d.ts +0 -4
- package/form-controls/input/types/input.type.d.ts +0 -1
- package/form-controls/input/types/loader-position.type.d.ts +0 -1
- package/form-controls/input/types/public-api.d.ts +0 -2
- package/form-controls/input/upd-input.module.d.ts +0 -13
- package/form-controls/radio/index.d.ts +0 -1
- package/form-controls/radio/public-api.d.ts +0 -2
- package/form-controls/radio/radio.component.d.ts +0 -19
- package/form-controls/radio/upd-radio.module.d.ts +0 -10
- package/form-controls/select/components/multiple/select-multiple.component.d.ts +0 -25
- package/form-controls/select/components/single/select.component.d.ts +0 -26
- package/form-controls/select/index.d.ts +0 -1
- package/form-controls/select/models/abstractions/base-select.component.d.ts +0 -83
- package/form-controls/select/models/defaults.d.ts +0 -8
- package/form-controls/select/models/public-api.d.ts +0 -2
- package/form-controls/select/models/select-item.d.ts +0 -25
- package/form-controls/select/public-api.d.ts +0 -4
- package/form-controls/select/upd-select.module.d.ts +0 -16
- package/form-controls/textarea/index.d.ts +0 -1
- package/form-controls/textarea/public-api.d.ts +0 -2
- package/form-controls/textarea/textarea.component.d.ts +0 -21
- package/form-controls/textarea/upd-textarea.module.d.ts +0 -8
- package/form-controls/time-picker/index.d.ts +0 -1
- package/form-controls/time-picker/public-api.d.ts +0 -3
- package/form-controls/time-picker/time-picker.component.d.ts +0 -78
- package/form-controls/time-picker/time-selector/time-selector.component.d.ts +0 -69
- package/form-controls/time-picker/upd-time-picker.module.d.ts +0 -17
- package/index.d.ts +0 -2
- package/layout/abstractions/base-page.component.d.ts +0 -12
- package/layout/abstractions/base.layout.d.ts +0 -15
- package/layout/abstractions/public-api.d.ts +0 -1
- package/layout/index.d.ts +0 -1
- package/layout/layouts/blank-layout/blank-layout.component.d.ts +0 -5
- package/layout/layouts/blank-layout/blank-layout.module.d.ts +0 -8
- package/layout/layouts/public-api.d.ts +0 -4
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +0 -12
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +0 -21
- package/layout/models/login-page-config.model.d.ts +0 -37
- package/layout/models/login-page.config.d.ts +0 -35
- package/layout/models/public-api.d.ts +0 -2
- package/layout/models/security-layout-config.model.d.ts +0 -12
- package/layout/models/security-layout.config.d.ts +0 -10
- package/layout/models/upd-layout-config.model.d.ts +0 -48
- package/layout/models/upd-layout.config.d.ts +0 -46
- package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +0 -12
- package/layout/pages/auth-flow/auth-flow.module.d.ts +0 -18
- package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +0 -5
- package/layout/pages/auth-flow/login/login.component.d.ts +0 -23
- package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +0 -5
- package/layout/pages/auth-flow/public-api.d.ts +0 -5
- package/layout/pages/public-api.d.ts +0 -1
- package/layout/partials/footer/footer-copyright.directive.d.ts +0 -5
- package/layout/partials/footer/footer.component.d.ts +0 -34
- package/layout/partials/footer/public-api.d.ts +0 -2
- package/layout/partials/header/header-style.type.d.ts +0 -1
- package/layout/partials/header/header.component.d.ts +0 -31
- package/layout/partials/header/public-api.d.ts +0 -2
- package/layout/partials/page-header/page-header.component.d.ts +0 -7
- package/layout/partials/page-header/public-api.d.ts +0 -1
- package/layout/partials/public-api.d.ts +0 -4
- package/layout/partials/sidebar/public-api.d.ts +0 -1
- package/layout/partials/sidebar/sidebar.component.d.ts +0 -22
- package/layout/public-api.d.ts +0 -7
- package/layout/services/public-api.d.ts +0 -1
- package/layout/services/upd-layout-config.service.d.ts +0 -15
- package/layout/tools/layout.constants.d.ts +0 -15
- package/layout/upd-layout.module.d.ts +0 -18
- package/lib/index.d.ts +0 -2
- package/lib/models/public-api.d.ts +0 -2
- package/lib/models/row-column-size.d.ts +0 -6
- package/lib/public-api.d.ts +0 -5
- package/lib/tools/column-size.helper.d.ts +0 -6
- package/lib/tools/public-api.d.ts +0 -2
- package/lib/types/component-size.type.d.ts +0 -2
- package/lib/types/horizontal-vertical.type.d.ts +0 -2
- package/lib/types/public-api.d.ts +0 -4
- package/lib/types/validation-status.type.d.ts +0 -2
- package/lib/upd-components.module.d.ts +0 -7
- package/link/index.d.ts +0 -1
- package/link/public-api.d.ts +0 -3
- package/link/target.type.d.ts +0 -1
- package/link/upd-link.module.d.ts +0 -8
- package/list/index.d.ts +0 -1
- package/list/list.component.d.ts +0 -46
- package/list/models/badge-position.type.d.ts +0 -1
- package/list/models/list-item.d.ts +0 -20
- package/list/models/list-item.model.d.ts +0 -25
- package/list/models/public-api.d.ts +0 -2
- package/list/public-api.d.ts +0 -3
- package/list/upd-list.module.d.ts +0 -13
- package/modal/components/modal-container/modal-container.component.d.ts +0 -74
- package/modal/index.d.ts +0 -1
- package/modal/models/base.modal.d.ts +0 -8
- package/modal/models/modal-config.model.d.ts +0 -32
- package/modal/models/modal-ref.d.ts +0 -6
- package/modal/models/modal.config.d.ts +0 -30
- package/modal/models/public-api.d.ts +0 -3
- package/modal/public-api.d.ts +0 -3
- package/modal/services/modal-alert.service.d.ts +0 -22
- package/modal/services/modal.service.d.ts +0 -12
- package/modal/services/public-api.d.ts +0 -2
- package/modal/types/modal-footer-style.type.d.ts +0 -1
- package/modal/types/modal-size.type.d.ts +0 -1
- package/modal/upd-modal.module.d.ts +0 -18
- package/paginator/index.d.ts +0 -1
- package/paginator/paginator.component.d.ts +0 -42
- package/paginator/public-api.d.ts +0 -2
- package/paginator/upd-paginator.module.d.ts +0 -14
- package/popover/index.d.ts +0 -1
- package/popover/popover.component.d.ts +0 -22
- package/popover/popover.directive.d.ts +0 -33
- package/popover/public-api.d.ts +0 -3
- package/popover/upd-popover.module.d.ts +0 -9
- package/public-api.d.ts +0 -2
- package/table/abstractions/base-column.model.d.ts +0 -31
- package/table/abstractions/base.column.d.ts +0 -22
- package/table/abstractions/filters-operands.service.d.ts +0 -8
- package/table/abstractions/public-api.d.ts +0 -2
- package/table/components/columns/boolean-column/boolean-column.component.d.ts +0 -9
- package/table/components/columns/date-time-column/date-time-column.component.d.ts +0 -7
- package/table/components/columns/number-column/number-column.component.d.ts +0 -7
- package/table/components/columns/text-column/text-column.component.d.ts +0 -9
- package/table/components/columns-manager/columns-manager.component.d.ts +0 -15
- package/table/components/filter-row/filter-row.component.d.ts +0 -40
- package/table/components/save-search/save-search.component.d.ts +0 -17
- package/table/components/search-section/search-section.component.d.ts +0 -36
- package/table/directives/public-api.d.ts +0 -1
- package/table/directives/table-column.directive.d.ts +0 -14
- package/table/index.d.ts +0 -1
- package/table/models/columns/boolean-column.model.d.ts +0 -15
- package/table/models/columns/date-time-column.model.d.ts +0 -8
- package/table/models/columns/guid-column.model.d.ts +0 -4
- package/table/models/columns/image-column.model.d.ts +0 -6
- package/table/models/columns/number-column.model.d.ts +0 -8
- package/table/models/columns/public-api.d.ts +0 -6
- package/table/models/columns/text-column.model.d.ts +0 -6
- package/table/models/enums/column-type.enum.d.ts +0 -13
- package/table/models/enums/public-api.d.ts +0 -1
- package/table/models/filter-item.model.d.ts +0 -6
- package/table/models/filter-operand.config.d.ts +0 -9
- package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +0 -6
- package/table/models/operands-lists/date-filter-operands-list.model.d.ts +0 -6
- package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +0 -5
- package/table/models/operands-lists/filter-operands-list.config.d.ts +0 -5
- package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +0 -6
- package/table/models/operands-lists/number-filter-operands-list.model.d.ts +0 -6
- package/table/models/operands-lists/string-filter-operands-list.model.d.ts +0 -6
- package/table/models/public-api.d.ts +0 -4
- package/table/models/saved-view.model.d.ts +0 -11
- package/table/models/table-config.model.d.ts +0 -24
- package/table/models/table.config.d.ts +0 -22
- package/table/models/upd-table-config.model.d.ts +0 -6
- package/table/models/upd-table.config.d.ts +0 -6
- package/table/public-api.d.ts +0 -5
- package/table/services/default-filters-operands.service.d.ts +0 -17
- package/table/services/storages/saved-views.storage.d.ts +0 -22
- package/table/services/stores/filters-operands.store.d.ts +0 -11
- package/table/services/upd-table-config.service.d.ts +0 -12
- package/table/table.component.d.ts +0 -78
- package/table/tools/filters.tools.d.ts +0 -9
- package/table/tools/table.constants.d.ts +0 -15
- package/table/upd-table.module.d.ts +0 -40
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Directive,
|
|
3
|
-
import { BaseComponent, LayoutService, UpdCoreLayoutConfigService, UpdCoreLayoutModule } from '@updevs/sdk/layout';
|
|
2
|
+
import { inject, Directive, HostBinding, ViewEncapsulation, Component, NgModule, viewChild, ElementRef, input, computed, signal, InjectionToken, Inject, Injectable, model } from '@angular/core';
|
|
3
|
+
import { BaseComponent, LayoutService, UpdCoreLayoutConfigService, PreferencesStorage, UpdCoreLayoutModule } from '@updevs/sdk/layout';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
6
|
-
import * as i1$
|
|
7
|
-
import { Router, NavigationStart, RouterModule } from '@angular/router';
|
|
6
|
+
import * as i1$3 from '@angular/router';
|
|
7
|
+
import { RouterOutlet, Router, NavigationStart, RouterModule } from '@angular/router';
|
|
8
8
|
import * as i1$2 from '@updevs/icons';
|
|
9
9
|
import { UpdIconsModule } from '@updevs/icons';
|
|
10
|
-
import * as
|
|
11
|
-
import {
|
|
12
|
-
import * as
|
|
10
|
+
import * as i2 from '@updevs/components/dropdown';
|
|
11
|
+
import { UpdDropdownModule } from '@updevs/components/dropdown';
|
|
12
|
+
import * as i3 from '@updevs/components/link';
|
|
13
13
|
import { UpdLinkModule } from '@updevs/components/link';
|
|
14
14
|
import * as i1$1 from '@jsverse/transloco';
|
|
15
|
-
import { TranslocoService,
|
|
15
|
+
import { TranslocoModule, TranslocoService, TranslocoPipe, TranslocoDirective } from '@jsverse/transloco';
|
|
16
|
+
import { TextService } from '@updevs/sdk';
|
|
17
|
+
import { NotificationsService, UpdNotificationsModule } from '@updevs/sdk/notifications';
|
|
18
|
+
import { SecurityStorage, AuthService } from '@updevs/sdk/security';
|
|
19
|
+
import * as i1$4 from '@updevs/components/button';
|
|
20
|
+
import { UpdButtonModule } from '@updevs/components/button';
|
|
16
21
|
import { MenuService } from '@updevs/sdk/routes';
|
|
17
22
|
import { filter, finalize } from 'rxjs';
|
|
18
|
-
import * as i3 from '@angular/forms';
|
|
23
|
+
import * as i3$1 from '@angular/forms';
|
|
19
24
|
import { FormGroup, Validators, FormsModule } from '@angular/forms';
|
|
20
|
-
import { AuthService } from '@updevs/sdk/security';
|
|
21
25
|
import * as i7 from '@updevs/components/form';
|
|
22
26
|
import { DynamicFieldType, UpdFormModule } from '@updevs/components/form';
|
|
23
27
|
import * as i6 from '@updevs/components/card';
|
|
@@ -34,99 +38,246 @@ class BasePageComponent extends BaseComponent {
|
|
|
34
38
|
}
|
|
35
39
|
ngOnDestroy() {
|
|
36
40
|
super.ngOnDestroy();
|
|
37
|
-
|
|
41
|
+
this._layoutService.pageHeader.set(undefined);
|
|
38
42
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BasePageComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
44
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.4", type: BasePageComponent, isStandalone: false, usesInheritance: true, ngImport: i0 }); }
|
|
41
45
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
43
|
-
type: Directive
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BasePageComponent, decorators: [{
|
|
47
|
+
type: Directive,
|
|
48
|
+
args: [{ standalone: false }]
|
|
44
49
|
}] });
|
|
45
50
|
|
|
46
|
-
class
|
|
47
|
-
|
|
48
|
-
|
|
51
|
+
class FooterComponent extends BaseComponent {
|
|
52
|
+
constructor() {
|
|
53
|
+
super(...arguments);
|
|
54
|
+
this.wrapperClasses = '';
|
|
55
|
+
/**
|
|
56
|
+
* Whether the footer will always be shown.
|
|
57
|
+
*/
|
|
58
|
+
this.isSticky = false;
|
|
59
|
+
/**
|
|
60
|
+
* Whether the footer is transparent or not.
|
|
61
|
+
*/
|
|
62
|
+
this.isTransparent = true;
|
|
63
|
+
/**
|
|
64
|
+
* Links.
|
|
65
|
+
*/
|
|
66
|
+
this.links = [];
|
|
67
|
+
/**
|
|
68
|
+
* Current year.
|
|
69
|
+
*/
|
|
70
|
+
this.currentYear = new Date().getFullYear();
|
|
71
|
+
this.layoutService = inject(LayoutService);
|
|
72
|
+
this.baseWrapperClasses = 'footer d-print-none';
|
|
73
|
+
}
|
|
74
|
+
ngOnInit() {
|
|
75
|
+
this.updateWrapperClasses();
|
|
76
|
+
}
|
|
77
|
+
ngOnChanges(changes) {
|
|
78
|
+
if (!!changes['isSticky'].currentValue || !!changes['isTransparent'].currentValue) {
|
|
79
|
+
this.updateWrapperClasses();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
updateWrapperClasses() {
|
|
83
|
+
const stickyBottomCls = this.isSticky ? ' sticky-bottom' : '';
|
|
84
|
+
const transparentCls = this.isTransparent ? ' footer-transparent' : '';
|
|
85
|
+
this.wrapperClasses = `${this.baseWrapperClasses}${stickyBottomCls}${transparentCls}`;
|
|
86
|
+
}
|
|
87
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FooterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
88
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: FooterComponent, isStandalone: false, selector: "upd-footer", host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-xl\">\n <div class=\"row text-center align-items-center flex-row-reverse\">\n <div class=\"col-lg-auto ms-lg-auto\">\n @if (!!layoutService.rightFooter()) {\n <ng-container [ngTemplateOutlet]=\"layoutService.rightFooter()!\"></ng-container>\n }\n\n @if (links.length > 0) {\n <ul class=\"list-inline list-inline-dots mb-0\">\n @for (link of links; track link) {\n <li class=\"list-inline-item\">\n <a href=\"{{link.url}}\" target=\"{{link.target}}\" class=\"link-secondary\">\n <span [innerHTML]=\"link.text\"></span>\n </a>\n </li>\n }\n </ul>\n }\n </div>\n <div class=\"col-12 col-lg-auto mt-3 mt-lg-0\">\n <ul class=\"list-inline list-inline-dots mb-0\">\n <li class=\"list-inline-item\">\n <ng-container *transloco=\"let t; prefix: 'UpDevs.Footer'\">\n {{ t('Prefix') }} {{ t('Symbol') }} {{ currentYear }} {{ t('Suffix') }}\n </ng-container>\n </li>\n @if (!!version) {\n <li class=\"list-inline-item\">\n {{ version }}\n </li>\n }\n </ul>\n\n @if (!!layoutService.leftFooter()) {\n <ng-container [ngTemplateOutlet]=\"layoutService.leftFooter()!\"></ng-container>\n }\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
49
89
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FooterComponent, decorators: [{
|
|
51
91
|
type: Component,
|
|
52
|
-
args: [{ selector: 'upd-
|
|
53
|
-
}]
|
|
92
|
+
args: [{ standalone: false, selector: 'upd-footer', encapsulation: ViewEncapsulation.None, template: "<div class=\"container-xl\">\n <div class=\"row text-center align-items-center flex-row-reverse\">\n <div class=\"col-lg-auto ms-lg-auto\">\n @if (!!layoutService.rightFooter()) {\n <ng-container [ngTemplateOutlet]=\"layoutService.rightFooter()!\"></ng-container>\n }\n\n @if (links.length > 0) {\n <ul class=\"list-inline list-inline-dots mb-0\">\n @for (link of links; track link) {\n <li class=\"list-inline-item\">\n <a href=\"{{link.url}}\" target=\"{{link.target}}\" class=\"link-secondary\">\n <span [innerHTML]=\"link.text\"></span>\n </a>\n </li>\n }\n </ul>\n }\n </div>\n <div class=\"col-12 col-lg-auto mt-3 mt-lg-0\">\n <ul class=\"list-inline list-inline-dots mb-0\">\n <li class=\"list-inline-item\">\n <ng-container *transloco=\"let t; prefix: 'UpDevs.Footer'\">\n {{ t('Prefix') }} {{ t('Symbol') }} {{ currentYear }} {{ t('Suffix') }}\n </ng-container>\n </li>\n @if (!!version) {\n <li class=\"list-inline-item\">\n {{ version }}\n </li>\n }\n </ul>\n\n @if (!!layoutService.leftFooter()) {\n <ng-container [ngTemplateOutlet]=\"layoutService.leftFooter()!\"></ng-container>\n }\n </div>\n </div>\n</div>\n" }]
|
|
93
|
+
}], propDecorators: { wrapperClasses: [{
|
|
94
|
+
type: HostBinding,
|
|
95
|
+
args: ['class']
|
|
96
|
+
}] } });
|
|
54
97
|
|
|
55
|
-
class
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
57
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
58
|
-
|
|
98
|
+
class FooterModule {
|
|
99
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
100
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: FooterModule, declarations: [FooterComponent], imports: [CommonModule,
|
|
101
|
+
TranslocoModule], exports: [FooterComponent] }); }
|
|
102
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FooterModule, imports: [CommonModule,
|
|
103
|
+
TranslocoModule] }); }
|
|
59
104
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FooterModule, decorators: [{
|
|
61
106
|
type: NgModule,
|
|
62
107
|
args: [{
|
|
63
108
|
imports: [
|
|
64
|
-
CommonModule
|
|
109
|
+
CommonModule,
|
|
110
|
+
TranslocoModule
|
|
65
111
|
],
|
|
66
112
|
declarations: [
|
|
67
|
-
|
|
113
|
+
FooterComponent
|
|
68
114
|
],
|
|
69
115
|
exports: [
|
|
70
|
-
|
|
116
|
+
FooterComponent
|
|
71
117
|
]
|
|
72
118
|
}]
|
|
73
119
|
}] });
|
|
74
120
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
class HeaderComponent extends BaseComponent {
|
|
122
|
+
constructor() {
|
|
123
|
+
super(...arguments);
|
|
124
|
+
this.languageSwitcherRef = viewChild('languageSwitcherBtn', { ...(ngDevMode ? { debugName: "languageSwitcherRef" } : {}), read: ElementRef });
|
|
125
|
+
this.notificationsRef = viewChild('notificationsBtn', { ...(ngDevMode ? { debugName: "notificationsRef" } : {}), read: ElementRef });
|
|
126
|
+
this.loggedUserRef = viewChild('loggedUserBtn', { ...(ngDevMode ? { debugName: "loggedUserRef" } : {}), read: ElementRef });
|
|
127
|
+
this.isLanguageSwitcherDropdownOpen = false;
|
|
128
|
+
this.isNotificationsDropdownOpen = false;
|
|
129
|
+
this.isLoggedUserDropdownOpen = false;
|
|
130
|
+
this.style = input('light', ...(ngDevMode ? [{ debugName: "style" }] : []));
|
|
131
|
+
this.nextThemeIcon = computed(() => this.currentPreferences()?.isDarkTheme ? 'sun' : 'moon-stars', ...(ngDevMode ? [{ debugName: "nextThemeIcon" }] : []));
|
|
132
|
+
this.currentNotificationsIcon = computed(() => this.hasNewNotifications() ? 'bell-ringing' : 'bell', ...(ngDevMode ? [{ debugName: "currentNotificationsIcon" }] : []));
|
|
133
|
+
this.hasNewNotifications = computed(() => this.currentNotifications().some(n => !n.dateRead), ...(ngDevMode ? [{ debugName: "hasNewNotifications" }] : []));
|
|
134
|
+
this.userInfo = computed(() => this.securityStorage.getUserInfo(), ...(ngDevMode ? [{ debugName: "userInfo" }] : []));
|
|
135
|
+
this.textService = inject(TextService);
|
|
136
|
+
this.isSidebarMobileOpen = signal(false, ...(ngDevMode ? [{ debugName: "isSidebarMobileOpen" }] : []));
|
|
137
|
+
this.shouldBlinkIfNewNotifications = computed(() => !!this.coreLayoutConfigService.config.shouldBlinkIfNewNotifications, ...(ngDevMode ? [{ debugName: "shouldBlinkIfNewNotifications" }] : []));
|
|
138
|
+
this.languagesOptions = computed(() => {
|
|
139
|
+
const allLanguagesOptions = [];
|
|
140
|
+
const availableLanguages = (this.coreLayoutConfigService.config.availableLanguages || {});
|
|
141
|
+
Object.keys(availableLanguages).forEach(key => {
|
|
142
|
+
allLanguagesOptions.push({
|
|
143
|
+
id: key,
|
|
144
|
+
type: 'default',
|
|
145
|
+
text: availableLanguages[key],
|
|
146
|
+
isActive: this.currentLanguageKey() === key
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
return allLanguagesOptions;
|
|
150
|
+
}, ...(ngDevMode ? [{ debugName: "languagesOptions" }] : []));
|
|
151
|
+
this.loggedUserOptions = computed(() => {
|
|
152
|
+
const userActions = [];
|
|
153
|
+
this.coreLayoutConfigService.config.loggedUserMenuActions.forEach(act => userActions.push({
|
|
154
|
+
id: act.id(),
|
|
155
|
+
text: act.text(),
|
|
156
|
+
type: 'default',
|
|
157
|
+
icon: act.iconModel?.()
|
|
158
|
+
}));
|
|
159
|
+
return userActions;
|
|
160
|
+
}, ...(ngDevMode ? [{ debugName: "loggedUserOptions" }] : []));
|
|
161
|
+
this.userIdentification = computed(() => !!this.userInfo() ? this.coreLayoutConfigService.config.getUserName(this.userInfo()) : '', ...(ngDevMode ? [{ debugName: "userIdentification" }] : []));
|
|
162
|
+
this.userDescription = computed(() => !!this.coreLayoutConfigService.config.getUserDescription
|
|
163
|
+
? this.coreLayoutConfigService.config.getUserDescription(this.userInfo())
|
|
164
|
+
: '', ...(ngDevMode ? [{ debugName: "userDescription" }] : []));
|
|
165
|
+
this.latestNotifications = computed(() => {
|
|
166
|
+
const unreadNotifications = this.currentNotifications()
|
|
167
|
+
.filter(n => !n.dateRead)
|
|
168
|
+
.sort((a, b) => new Date(b.dateReceived).getTime() - new Date(a.dateReceived).getTime())
|
|
169
|
+
.slice(0, this.coreLayoutConfigService.config.numberOfLastNotificationsDisplayed);
|
|
170
|
+
const readNotifications = this.currentNotifications()
|
|
171
|
+
.filter(n => !!n.dateRead)
|
|
172
|
+
.sort((a, b) => new Date(b.dateReceived).getTime() - new Date(a.dateReceived).getTime())
|
|
173
|
+
.slice(0, this.coreLayoutConfigService.config.numberOfLastNotificationsDisplayed);
|
|
174
|
+
return [
|
|
175
|
+
...unreadNotifications,
|
|
176
|
+
...readNotifications
|
|
177
|
+
].slice(0, this.coreLayoutConfigService.config.numberOfLastNotificationsDisplayed);
|
|
178
|
+
}, ...(ngDevMode ? [{ debugName: "latestNotifications" }] : []));
|
|
179
|
+
this.userInitials = computed(() => {
|
|
180
|
+
const firstChar = this.userIdentification().charAt(0);
|
|
181
|
+
const lastSpaceIndex = this.userIdentification().lastIndexOf(' ');
|
|
182
|
+
const firstAfterLastSpace = lastSpaceIndex !== -1 ? this.userIdentification().charAt(lastSpaceIndex + 1) : '';
|
|
183
|
+
return `${firstChar}${firstAfterLastSpace}`;
|
|
184
|
+
}, ...(ngDevMode ? [{ debugName: "userInitials" }] : []));
|
|
185
|
+
this.securityStorage = inject(SecurityStorage);
|
|
186
|
+
this.coreLayoutConfigService = inject(UpdCoreLayoutConfigService);
|
|
187
|
+
this.layoutService = inject(LayoutService);
|
|
188
|
+
this.translocoService = inject(TranslocoService);
|
|
189
|
+
this.preferencesStorage = inject(PreferencesStorage);
|
|
190
|
+
this.notificationsService = inject(NotificationsService);
|
|
191
|
+
this.currentPreferences = this.preferencesStorage.getPreferences();
|
|
192
|
+
this.currentNotifications = this.notificationsService.notifications;
|
|
193
|
+
this.currentLanguageKey = signal('', ...(ngDevMode ? [{ debugName: "currentLanguageKey" }] : []));
|
|
194
|
+
this.wrapperClasses = computed(() => `navbar navbar-expand-md d-none d-lg-flex d-print-none navbar-${this.style()}`, ...(ngDevMode ? [{ debugName: "wrapperClasses" }] : []));
|
|
195
|
+
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
196
|
+
this.config = computed(() => this.layoutService.mainHeaderConfig(), ...(ngDevMode ? [{ debugName: "config" }] : []));
|
|
197
|
+
}
|
|
198
|
+
get classes() {
|
|
199
|
+
return this.wrapperClasses();
|
|
200
|
+
}
|
|
201
|
+
ngOnInit() {
|
|
202
|
+
if (!!this.currentPreferences()?.isDarkTheme) {
|
|
203
|
+
this.layoutService.setDarkMode();
|
|
204
|
+
}
|
|
205
|
+
if (!!this.currentPreferences()?.currentLanguageCode) {
|
|
206
|
+
const code = this.currentPreferences().currentLanguageCode;
|
|
207
|
+
this.currentLanguageKey.set(code);
|
|
208
|
+
this.translocoService.setActiveLang(code);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
switchTheme() {
|
|
212
|
+
this.layoutService.toggleDarkMode();
|
|
213
|
+
}
|
|
214
|
+
switchLanguage(item) {
|
|
215
|
+
this.currentLanguageKey.set(item.id);
|
|
216
|
+
this.translocoService.setActiveLang(item.id);
|
|
217
|
+
this.preferencesStorage.savePreferences({ ...this.currentPreferences(), currentLanguageCode: item.id });
|
|
218
|
+
this.layoutService.notifyUserChangedLanguage(item.id);
|
|
219
|
+
this.isLanguageSwitcherDropdownOpen = false;
|
|
220
|
+
}
|
|
221
|
+
selectLoggedUserMenuItem(item) {
|
|
222
|
+
const btn = this.coreLayoutConfigService.config.loggedUserMenuActions.find(b => b.id() === item.id);
|
|
223
|
+
if (!!btn?.clickFunction) {
|
|
224
|
+
btn.clickFunction({ data: this.userInfo() });
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
readNotification(notification) {
|
|
228
|
+
if (!notification.dateRead) {
|
|
229
|
+
this.notificationsService.markAsRead(notification.id);
|
|
230
|
+
}
|
|
231
|
+
this.notificationsService.clickOnNotification(notification);
|
|
232
|
+
}
|
|
233
|
+
removeNotification(notification) {
|
|
234
|
+
this.notificationsService.removeNotifications(notification.id);
|
|
235
|
+
}
|
|
236
|
+
toggleSidebarOnMobile() {
|
|
237
|
+
this.isSidebarMobileOpen.set(!this.isSidebarMobileOpen());
|
|
238
|
+
}
|
|
239
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: HeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
240
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: HeaderComponent, isStandalone: false, selector: "upd-header", inputs: { style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.classes" } }, viewQueries: [{ propertyName: "languageSwitcherRef", first: true, predicate: ["languageSwitcherBtn"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "notificationsRef", first: true, predicate: ["notificationsBtn"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "loggedUserRef", first: true, predicate: ["loggedUserBtn"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "component", type: i1$2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i2.DropdownComponent, selector: "upd-dropdown", inputs: ["items", "header", "isOpen", "shouldCloseOnOutsideClick", "arrowType", "wrapperClasses", "elementsExcludedFromOutsideClick", "minHeight", "maxHeight", "minWidth", "maxWidth", "dropdownReference", "dropdownReferencePosition", "textOverflowStrategy"], outputs: ["isOpenChange", "selectedItem", "checkboxChanged"] }, { kind: "component", type: i3.LinkComponent, selector: "upd-link", inputs: ["href", "target", "customClasses", "isNavigation"], outputs: ["clicked"] }, { kind: "pipe", type: i1$1.TranslocoPipe, name: "transloco" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
241
|
+
}
|
|
242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
243
|
+
type: Component,
|
|
244
|
+
args: [{ standalone: false, selector: 'upd-header', encapsulation: ViewEncapsulation.None, template: "<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" }]
|
|
245
|
+
}], propDecorators: { classes: [{
|
|
246
|
+
type: HostBinding,
|
|
247
|
+
args: ['class']
|
|
248
|
+
}], languageSwitcherRef: [{ type: i0.ViewChild, args: ['languageSwitcherBtn', { ...{ read: ElementRef }, isSignal: true }] }], notificationsRef: [{ type: i0.ViewChild, args: ['notificationsBtn', { ...{ read: ElementRef }, isSignal: true }] }], loggedUserRef: [{ type: i0.ViewChild, args: ['loggedUserBtn', { ...{ read: ElementRef }, isSignal: true }] }], style: [{ type: i0.Input, args: [{ isSignal: true, alias: "style", required: false }] }] } });
|
|
124
249
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
250
|
+
class HeaderModule {
|
|
251
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: HeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
252
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: HeaderModule, declarations: [HeaderComponent], imports: [CommonModule,
|
|
253
|
+
TranslocoModule,
|
|
254
|
+
UpdIconsModule,
|
|
255
|
+
UpdDropdownModule,
|
|
256
|
+
UpdLinkModule], exports: [HeaderComponent] }); }
|
|
257
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: HeaderModule, imports: [CommonModule,
|
|
258
|
+
TranslocoModule,
|
|
259
|
+
UpdIconsModule,
|
|
260
|
+
UpdDropdownModule,
|
|
261
|
+
UpdLinkModule] }); }
|
|
262
|
+
}
|
|
263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: HeaderModule, decorators: [{
|
|
264
|
+
type: NgModule,
|
|
265
|
+
args: [{
|
|
266
|
+
imports: [
|
|
267
|
+
CommonModule,
|
|
268
|
+
TranslocoModule,
|
|
269
|
+
UpdIconsModule,
|
|
270
|
+
UpdDropdownModule,
|
|
271
|
+
UpdLinkModule
|
|
272
|
+
],
|
|
273
|
+
declarations: [
|
|
274
|
+
HeaderComponent
|
|
275
|
+
],
|
|
276
|
+
exports: [
|
|
277
|
+
HeaderComponent
|
|
278
|
+
]
|
|
279
|
+
}]
|
|
280
|
+
}] });
|
|
130
281
|
|
|
131
282
|
/**
|
|
132
283
|
* Configuration of the login page layout.
|
|
@@ -201,10 +352,10 @@ class UpdLayoutConfigService {
|
|
|
201
352
|
constructor(layoutConfig) {
|
|
202
353
|
this.config = new UpdLayoutConfigModel(layoutConfig);
|
|
203
354
|
}
|
|
204
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
205
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
355
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdLayoutConfigService, deps: [{ token: LayoutConstants.defaultOptionsInjectionToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
356
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdLayoutConfigService }); }
|
|
206
357
|
}
|
|
207
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
358
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdLayoutConfigService, decorators: [{
|
|
208
359
|
type: Injectable
|
|
209
360
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
210
361
|
type: Inject,
|
|
@@ -231,143 +382,138 @@ class BaseLayout extends BaseComponent {
|
|
|
231
382
|
this._layoutService.removeBodyClasses('layout-fluid');
|
|
232
383
|
}
|
|
233
384
|
}
|
|
234
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
235
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
236
|
-
}
|
|
237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseLayout, decorators: [{
|
|
238
|
-
type: Directive
|
|
239
|
-
}] });
|
|
240
|
-
|
|
241
|
-
class FooterCopyrightDirective {
|
|
242
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FooterCopyrightDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
243
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: FooterCopyrightDirective, selector: "[updFooterCopyright]", ngImport: i0 }); }
|
|
385
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BaseLayout, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
386
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.4", type: BaseLayout, isStandalone: false, usesInheritance: true, ngImport: i0 }); }
|
|
244
387
|
}
|
|
245
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
388
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BaseLayout, decorators: [{
|
|
246
389
|
type: Directive,
|
|
247
|
-
args: [{
|
|
248
|
-
selector: '[updFooterCopyright]'
|
|
249
|
-
}]
|
|
390
|
+
args: [{ standalone: false }]
|
|
250
391
|
}] });
|
|
251
392
|
|
|
252
|
-
class
|
|
393
|
+
class BlankLayoutComponent extends BaseLayout {
|
|
253
394
|
constructor() {
|
|
254
395
|
super(...arguments);
|
|
255
|
-
this.
|
|
256
|
-
/**
|
|
257
|
-
* Whether the footer will always be shown.
|
|
258
|
-
*/
|
|
259
|
-
this.isSticky = false;
|
|
260
|
-
/**
|
|
261
|
-
* Whether the footer is transparent or not.
|
|
262
|
-
*/
|
|
263
|
-
this.isTransparent = true;
|
|
264
|
-
/**
|
|
265
|
-
* Links.
|
|
266
|
-
*/
|
|
267
|
-
this.links = [];
|
|
268
|
-
/**
|
|
269
|
-
* Current year.
|
|
270
|
-
*/
|
|
271
|
-
this.currentYear = new Date().getFullYear();
|
|
272
|
-
this.baseWrapperClasses = 'footer d-print-none';
|
|
396
|
+
this.config = computed(() => this._layoutService.mainHeaderConfig(), ...(ngDevMode ? [{ debugName: "config" }] : []));
|
|
273
397
|
}
|
|
274
398
|
ngOnInit() {
|
|
275
|
-
|
|
276
|
-
}
|
|
277
|
-
ngOnChanges(changes) {
|
|
278
|
-
if (!!changes['isSticky'].currentValue || !!changes['isTransparent'].currentValue) {
|
|
279
|
-
this.updateWrapperClasses();
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
updateWrapperClasses() {
|
|
283
|
-
const stickyBottomCls = this.isSticky ? ' sticky-bottom' : '';
|
|
284
|
-
const transparentCls = this.isTransparent ? ' footer-transparent' : '';
|
|
285
|
-
this.wrapperClasses = `${this.baseWrapperClasses}${stickyBottomCls}${transparentCls}`;
|
|
399
|
+
// Overriding layout fluid from parent.
|
|
286
400
|
}
|
|
287
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
288
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
401
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BlankLayoutComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
402
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: BlankLayoutComponent, isStandalone: false, selector: "upd-blank-layout", usesInheritance: true, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "directive", type: i1$3.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: FooterComponent, selector: "upd-footer" }, { kind: "component", type: HeaderComponent, selector: "upd-header", inputs: ["style"] }] }); }
|
|
289
403
|
}
|
|
290
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
404
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BlankLayoutComponent, decorators: [{
|
|
291
405
|
type: Component,
|
|
292
|
-
args: [{ selector: 'upd-
|
|
293
|
-
}]
|
|
294
|
-
type: HostBinding,
|
|
295
|
-
args: ['class']
|
|
296
|
-
}], footerCopyrightTemplate: [{
|
|
297
|
-
type: ContentChild,
|
|
298
|
-
args: [FooterCopyrightDirective, { read: TemplateRef, static: true }]
|
|
299
|
-
}] } });
|
|
406
|
+
args: [{ standalone: false, selector: 'upd-blank-layout', template: "<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" }]
|
|
407
|
+
}] });
|
|
300
408
|
|
|
301
|
-
class
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
this.translocoService = inject(TranslocoService);
|
|
318
|
-
}
|
|
319
|
-
ngOnInit() {
|
|
320
|
-
this.updateWrapperClasses();
|
|
321
|
-
if (this.coreLayoutConfigService.config.showNotificationsButton) {
|
|
322
|
-
this.setupNotifications();
|
|
323
|
-
}
|
|
324
|
-
if (this.coreLayoutConfigService.config.showUserMenu) {
|
|
325
|
-
this.showUserMenu = true;
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
ngOnChanges(changes) {
|
|
329
|
-
if (!!changes['style'].currentValue) {
|
|
330
|
-
this.updateWrapperClasses();
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
switchTheme() {
|
|
334
|
-
const isDarkMode = this.nextThemeIcon === 'moon';
|
|
335
|
-
this.nextThemeIcon = isDarkMode ? 'sun' : 'moon';
|
|
336
|
-
this.nextThemeColor = isDarkMode ? 'white' : 'black';
|
|
337
|
-
this.layoutService.toggleDarkMode(isDarkMode);
|
|
338
|
-
}
|
|
339
|
-
// TODO: implement.
|
|
340
|
-
switchLanguage() {
|
|
341
|
-
const currentLang = this.translocoService.getActiveLang();
|
|
342
|
-
this.translocoService.setActiveLang(currentLang === 'en' ? 'pt' : 'en');
|
|
343
|
-
}
|
|
344
|
-
openNotifications() {
|
|
345
|
-
this.updateNotificationsIcon();
|
|
346
|
-
}
|
|
347
|
-
setupNotifications() {
|
|
348
|
-
this.showNotifications = true;
|
|
349
|
-
}
|
|
350
|
-
updateNotificationsIcon() {
|
|
351
|
-
this.currentNotificationsIcon = this.currentNotificationsIcon === 'bell' ? 'bell-ringing' : 'bell';
|
|
352
|
-
this.hasNewNotifications = !this.hasNewNotifications;
|
|
353
|
-
}
|
|
354
|
-
updateWrapperClasses() {
|
|
355
|
-
this.wrapperClasses = `${this.baseWrapperClasses} navbar-${this.style}`;
|
|
356
|
-
}
|
|
357
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
358
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: HeaderComponent, selector: "upd-header", inputs: { style: "style", showSearchBar: "showSearchBar" }, host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<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 \u21D2 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\u2026\">\n </div>\n </form>\n </div>\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1$2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i2.LinkComponent, selector: "upd-link", inputs: ["href", "target", "customClasses", "isNavigation"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
409
|
+
class BlankLayoutModule {
|
|
410
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BlankLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
411
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: BlankLayoutModule, declarations: [BlankLayoutComponent], imports: [CommonModule,
|
|
412
|
+
RouterOutlet,
|
|
413
|
+
TranslocoPipe,
|
|
414
|
+
UpdDropdownModule,
|
|
415
|
+
UpdIconsModule,
|
|
416
|
+
UpdLinkModule,
|
|
417
|
+
FooterModule,
|
|
418
|
+
HeaderModule], exports: [BlankLayoutComponent] }); }
|
|
419
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BlankLayoutModule, imports: [CommonModule,
|
|
420
|
+
UpdDropdownModule,
|
|
421
|
+
UpdIconsModule,
|
|
422
|
+
UpdLinkModule,
|
|
423
|
+
FooterModule,
|
|
424
|
+
HeaderModule] }); }
|
|
359
425
|
}
|
|
360
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
361
|
-
type:
|
|
362
|
-
args: [{ selector: 'upd-header', encapsulation: ViewEncapsulation.None, template: "<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 \u21D2 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\u2026\">\n </div>\n </form>\n </div>\n </div>\n }\n</div>\n" }]
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
426
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BlankLayoutModule, decorators: [{
|
|
427
|
+
type: NgModule,
|
|
428
|
+
args: [{
|
|
429
|
+
imports: [
|
|
430
|
+
CommonModule,
|
|
431
|
+
RouterOutlet,
|
|
432
|
+
TranslocoPipe,
|
|
433
|
+
UpdDropdownModule,
|
|
434
|
+
UpdIconsModule,
|
|
435
|
+
UpdLinkModule,
|
|
436
|
+
FooterModule,
|
|
437
|
+
HeaderModule
|
|
438
|
+
],
|
|
439
|
+
declarations: [
|
|
440
|
+
BlankLayoutComponent
|
|
441
|
+
],
|
|
442
|
+
exports: [
|
|
443
|
+
BlankLayoutComponent
|
|
444
|
+
]
|
|
445
|
+
}]
|
|
446
|
+
}] });
|
|
447
|
+
|
|
448
|
+
var UpDevs$1 = {
|
|
449
|
+
Login: {
|
|
450
|
+
Title: "Login",
|
|
451
|
+
NoAccountYet: "Don't have an account?",
|
|
452
|
+
SignUp: "Sign-up",
|
|
453
|
+
SignIn: "Sign-in",
|
|
454
|
+
RecoverPassword: "Recover my password",
|
|
455
|
+
RememberMe: "Remember me on this device",
|
|
456
|
+
Or: "or",
|
|
457
|
+
Email: "Email",
|
|
458
|
+
Password: "Password"
|
|
459
|
+
},
|
|
460
|
+
Footer: {
|
|
461
|
+
Prefix: "Copyright",
|
|
462
|
+
"Symbol": "©",
|
|
463
|
+
Suffix: "All rights reserved."
|
|
464
|
+
},
|
|
465
|
+
NotificationCenter: {
|
|
466
|
+
Title: "Latest notifications",
|
|
467
|
+
NoNotifications: "No notifications"
|
|
468
|
+
},
|
|
469
|
+
Header: {
|
|
470
|
+
Search: "Search"
|
|
471
|
+
}
|
|
472
|
+
};
|
|
473
|
+
var en = {
|
|
474
|
+
UpDevs: UpDevs$1
|
|
475
|
+
};
|
|
476
|
+
|
|
477
|
+
var en$1 = /*#__PURE__*/Object.freeze({
|
|
478
|
+
__proto__: null,
|
|
479
|
+
UpDevs: UpDevs$1,
|
|
480
|
+
default: en
|
|
481
|
+
});
|
|
482
|
+
|
|
483
|
+
var UpDevs = {
|
|
484
|
+
Login: {
|
|
485
|
+
Title: "Login",
|
|
486
|
+
NoAccountYet: "Não tem conta?",
|
|
487
|
+
SignUp: "Cadastre-se",
|
|
488
|
+
SignIn: "Entrar",
|
|
489
|
+
RecoverPassword: "Recuperar minha senha",
|
|
490
|
+
RememberMe: "Lembrar",
|
|
491
|
+
Or: "ou",
|
|
492
|
+
Email: "Email",
|
|
493
|
+
Password: "Senha"
|
|
494
|
+
},
|
|
495
|
+
Footer: {
|
|
496
|
+
Prefix: "Copyright",
|
|
497
|
+
"Symbol": "©",
|
|
498
|
+
Suffix: "Todos os direitos reservados."
|
|
499
|
+
},
|
|
500
|
+
NotificationCenter: {
|
|
501
|
+
Title: "Últimas notificações",
|
|
502
|
+
NoNotifications: "Sem notificações"
|
|
503
|
+
},
|
|
504
|
+
Header: {
|
|
505
|
+
Search: "Pesquisar"
|
|
506
|
+
}
|
|
507
|
+
};
|
|
508
|
+
var pt = {
|
|
509
|
+
UpDevs: UpDevs
|
|
510
|
+
};
|
|
511
|
+
|
|
512
|
+
var pt$1 = /*#__PURE__*/Object.freeze({
|
|
513
|
+
__proto__: null,
|
|
514
|
+
UpDevs: UpDevs,
|
|
515
|
+
default: pt
|
|
516
|
+
});
|
|
371
517
|
|
|
372
518
|
class SidebarComponent extends BaseComponent {
|
|
373
519
|
constructor() {
|
|
@@ -375,14 +521,55 @@ class SidebarComponent extends BaseComponent {
|
|
|
375
521
|
this.wrapperClasses = 'navbar navbar-vertical navbar-expand-lg';
|
|
376
522
|
this.theme = 'dark';
|
|
377
523
|
this.menuItems = [];
|
|
524
|
+
this.isLoggedUserDropdownOpen = false;
|
|
525
|
+
this.loggedUserRef = viewChild('loggedUserBtn', { ...(ngDevMode ? { debugName: "loggedUserRef" } : {}), read: ElementRef });
|
|
526
|
+
this.textService = inject(TextService);
|
|
527
|
+
this.isSidebarMobileOpen = signal(false, ...(ngDevMode ? [{ debugName: "isSidebarMobileOpen" }] : []));
|
|
528
|
+
this.config = computed(() => this.layoutService.mainHeaderConfig(), ...(ngDevMode ? [{ debugName: "config" }] : []));
|
|
529
|
+
this.userInfo = computed(() => this.securityStorage.getUserInfo(), ...(ngDevMode ? [{ debugName: "userInfo" }] : []));
|
|
530
|
+
this.userIdentification = computed(() => !!this.userInfo() ? this.coreLayoutConfigService.config.getUserName(this.userInfo()) : '', ...(ngDevMode ? [{ debugName: "userIdentification" }] : []));
|
|
531
|
+
this.userDescription = computed(() => !!this.coreLayoutConfigService.config.getUserDescription
|
|
532
|
+
? this.coreLayoutConfigService.config.getUserDescription(this.userInfo())
|
|
533
|
+
: '', ...(ngDevMode ? [{ debugName: "userDescription" }] : []));
|
|
534
|
+
this.loggedUserOptions = computed(() => {
|
|
535
|
+
const userActions = [];
|
|
536
|
+
this.coreLayoutConfigService.config.loggedUserMenuActions.forEach(act => userActions.push({
|
|
537
|
+
id: act.id(),
|
|
538
|
+
text: act.text(),
|
|
539
|
+
type: 'default',
|
|
540
|
+
icon: act.iconModel?.()
|
|
541
|
+
}));
|
|
542
|
+
return userActions;
|
|
543
|
+
}, ...(ngDevMode ? [{ debugName: "loggedUserOptions" }] : []));
|
|
544
|
+
this.userInitials = computed(() => {
|
|
545
|
+
const firstChar = this.userIdentification().charAt(0);
|
|
546
|
+
const lastSpaceIndex = this.userIdentification().lastIndexOf(' ');
|
|
547
|
+
const firstAfterLastSpace = lastSpaceIndex !== -1 ? this.userIdentification().charAt(lastSpaceIndex + 1) : '';
|
|
548
|
+
return `${firstChar}${firstAfterLastSpace}`;
|
|
549
|
+
}, ...(ngDevMode ? [{ debugName: "userInitials" }] : []));
|
|
550
|
+
this.currentRoute = '';
|
|
551
|
+
this.menuItemsBackup = [];
|
|
378
552
|
this.router = inject(Router);
|
|
379
553
|
this.menuService = inject(MenuService);
|
|
554
|
+
this.layoutService = inject(LayoutService);
|
|
555
|
+
this.securityStorage = inject(SecurityStorage);
|
|
556
|
+
this.coreLayoutConfigService = inject(UpdCoreLayoutConfigService);
|
|
380
557
|
}
|
|
381
558
|
ngOnInit() {
|
|
559
|
+
this.currentRoute = this.router.url;
|
|
382
560
|
this.menuItems = this.menuService.generateMenu();
|
|
383
|
-
|
|
384
|
-
this.
|
|
385
|
-
|
|
561
|
+
this.menuItemsBackup = [...this.menuItems];
|
|
562
|
+
const menuRefreshSub = this.menuService.refreshSubject.subscribe(() => {
|
|
563
|
+
this.menuItems = [...this.menuService.generateMenu()];
|
|
564
|
+
this.menuItemsBackup = [...this.menuItems];
|
|
565
|
+
this.updateActiveRoute();
|
|
566
|
+
});
|
|
567
|
+
const routerSub = this.router.events.pipe(filter(event => event instanceof NavigationStart)).subscribe(event => {
|
|
568
|
+
this.currentRoute = event.url;
|
|
569
|
+
this.updateActiveRoute();
|
|
570
|
+
});
|
|
571
|
+
this.updateActiveRoute();
|
|
572
|
+
this.addSubscriptions(routerSub, menuRefreshSub);
|
|
386
573
|
}
|
|
387
574
|
onMenuItemClick(item) {
|
|
388
575
|
if (item.isLocked) {
|
|
@@ -391,17 +578,19 @@ class SidebarComponent extends BaseComponent {
|
|
|
391
578
|
}
|
|
392
579
|
return;
|
|
393
580
|
}
|
|
394
|
-
this.resetMenuState(this.menuItems);
|
|
395
|
-
item.isActive
|
|
396
|
-
this.updateParents(item);
|
|
581
|
+
let newMenuItems = this.resetMenuState(this.menuItems);
|
|
582
|
+
newMenuItems = this.setItemActive(newMenuItems, item, this.hasChildren(item) ? !item.isActive : true);
|
|
583
|
+
newMenuItems = this.updateParents(newMenuItems, item);
|
|
584
|
+
this.menuItems = newMenuItems;
|
|
397
585
|
if (!!item.clickFunction) {
|
|
398
586
|
item.clickFunction();
|
|
399
587
|
return;
|
|
400
588
|
}
|
|
401
|
-
if ((item
|
|
589
|
+
if (this.hasChildren(item)) {
|
|
402
590
|
return;
|
|
403
591
|
}
|
|
404
|
-
this.
|
|
592
|
+
const fullPath = this.findItemById(this.menuItemsBackup, item.id).getFullPath();
|
|
593
|
+
this.router.navigate(fullPath).then();
|
|
405
594
|
}
|
|
406
595
|
hasChildren(item) {
|
|
407
596
|
return (item.children?.length || 0) > 0;
|
|
@@ -416,128 +605,192 @@ class SidebarComponent extends BaseComponent {
|
|
|
416
605
|
item.isLocked ? 'disabled' : ''
|
|
417
606
|
];
|
|
418
607
|
}
|
|
608
|
+
toggleSidebarOnMobile() {
|
|
609
|
+
this.isSidebarMobileOpen.set(!this.isSidebarMobileOpen());
|
|
610
|
+
}
|
|
611
|
+
selectLoggedUserMenuItem(item) {
|
|
612
|
+
const btn = this.coreLayoutConfigService.config.loggedUserMenuActions.find(b => b.id() === item.id);
|
|
613
|
+
if (!!btn?.clickFunction) {
|
|
614
|
+
btn.clickFunction({ data: this.userInfo() });
|
|
615
|
+
}
|
|
616
|
+
}
|
|
419
617
|
findActiveNode(item, fullPath) {
|
|
420
618
|
if (item.fullPath === fullPath) {
|
|
421
619
|
return item;
|
|
422
620
|
}
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
621
|
+
for (const child of item.children) {
|
|
622
|
+
const found = this.findActiveNode(child, fullPath);
|
|
623
|
+
if (found) {
|
|
624
|
+
return found;
|
|
427
625
|
}
|
|
428
|
-
return result;
|
|
429
626
|
}
|
|
430
627
|
return undefined;
|
|
431
628
|
}
|
|
432
|
-
updateActiveRoute(
|
|
433
|
-
this.resetMenuState(this.menuItems);
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
629
|
+
updateActiveRoute() {
|
|
630
|
+
let newMenuItems = this.resetMenuState(this.menuItems);
|
|
631
|
+
const activePath = this.getActivePath(newMenuItems);
|
|
632
|
+
newMenuItems = this.setActivePath(newMenuItems, activePath);
|
|
633
|
+
this.menuItems = newMenuItems;
|
|
634
|
+
}
|
|
635
|
+
setActivePath(items, path) {
|
|
636
|
+
if (path.length === 0) {
|
|
637
|
+
return items;
|
|
638
|
+
}
|
|
639
|
+
return items.map(item => {
|
|
640
|
+
const pathItem = path.find(p => p.id === item.id);
|
|
641
|
+
if (!pathItem) {
|
|
642
|
+
return item;
|
|
643
|
+
}
|
|
644
|
+
const newItem = { ...item, isActive: true };
|
|
645
|
+
if (newItem.children?.length) {
|
|
646
|
+
newItem.children = this.setActivePath(newItem.children, path.filter(p => p.parent?.id === newItem.id));
|
|
647
|
+
newItem.children.forEach(child => child.parent = newItem);
|
|
648
|
+
}
|
|
649
|
+
return newItem;
|
|
650
|
+
});
|
|
651
|
+
}
|
|
652
|
+
getActivePath(items) {
|
|
653
|
+
let activeItem;
|
|
654
|
+
// Find the deepest active item.
|
|
655
|
+
for (const item of items) {
|
|
656
|
+
activeItem = this.findActiveNode(item, this.currentRoute);
|
|
657
|
+
if (activeItem) {
|
|
438
658
|
break;
|
|
439
659
|
}
|
|
440
660
|
}
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
661
|
+
// Collect parent hierarchy.
|
|
662
|
+
const path = [];
|
|
663
|
+
while (activeItem) {
|
|
664
|
+
path.unshift(activeItem);
|
|
665
|
+
activeItem = activeItem.parent;
|
|
444
666
|
}
|
|
667
|
+
return path;
|
|
445
668
|
}
|
|
446
669
|
resetMenuState(items) {
|
|
447
|
-
items.
|
|
448
|
-
|
|
449
|
-
if (
|
|
450
|
-
this.resetMenuState(
|
|
670
|
+
return items.map(item => {
|
|
671
|
+
const newItem = { ...item, isActive: false };
|
|
672
|
+
if (newItem.children?.length) {
|
|
673
|
+
newItem.children = this.resetMenuState(newItem.children);
|
|
674
|
+
newItem.children.forEach(child => child.parent = newItem);
|
|
451
675
|
}
|
|
676
|
+
return newItem;
|
|
452
677
|
});
|
|
453
678
|
}
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
679
|
+
setItemActive(items, target, isActive) {
|
|
680
|
+
return items.map(item => {
|
|
681
|
+
if (item.id === target.id) {
|
|
682
|
+
const newItem = { ...item, isActive };
|
|
683
|
+
if (newItem.children?.length) {
|
|
684
|
+
newItem.children = this.setItemActive(newItem.children, target, isActive);
|
|
685
|
+
newItem.children.forEach(child => child.parent = newItem);
|
|
686
|
+
}
|
|
687
|
+
return newItem;
|
|
688
|
+
}
|
|
689
|
+
if (item.children?.length) {
|
|
690
|
+
const newChildren = this.setItemActive(item.children, target, isActive);
|
|
691
|
+
const newItem = { ...item, children: newChildren };
|
|
692
|
+
newChildren.forEach(child => child.parent = newItem);
|
|
693
|
+
return newItem;
|
|
694
|
+
}
|
|
695
|
+
return item;
|
|
696
|
+
});
|
|
697
|
+
}
|
|
698
|
+
updateParents(items, childItem) {
|
|
699
|
+
let parent = childItem.parent;
|
|
700
|
+
let updatedItems = [...items];
|
|
701
|
+
while (parent) {
|
|
702
|
+
updatedItems = updatedItems.map(item => {
|
|
703
|
+
if (item.id === parent.id) {
|
|
704
|
+
return { ...parent, isActive: true };
|
|
705
|
+
}
|
|
706
|
+
return item;
|
|
707
|
+
});
|
|
708
|
+
parent = parent.parent;
|
|
709
|
+
}
|
|
710
|
+
return updatedItems;
|
|
711
|
+
}
|
|
712
|
+
findItemById(items, targetId) {
|
|
713
|
+
for (const item of items) {
|
|
714
|
+
if (item.id === targetId) {
|
|
715
|
+
return item;
|
|
716
|
+
}
|
|
717
|
+
if (item.children?.length) {
|
|
718
|
+
const child = this.findItemById(item.children, targetId);
|
|
719
|
+
if (!!child) {
|
|
720
|
+
return child;
|
|
721
|
+
}
|
|
722
|
+
}
|
|
459
723
|
}
|
|
724
|
+
return undefined;
|
|
460
725
|
}
|
|
461
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
462
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
726
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: SidebarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
727
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: SidebarComponent, isStandalone: false, selector: "upd-sidebar", host: { properties: { "class": "this.wrapperClasses", "attr.data-bs-theme": "this.theme" } }, viewQueries: [{ propertyName: "loggedUserRef", first: true, predicate: ["loggedUserBtn"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i3.LinkComponent, selector: "upd-link", inputs: ["href", "target", "customClasses", "isNavigation"], outputs: ["clicked"] }, { kind: "component", type: i2.DropdownComponent, selector: "upd-dropdown", inputs: ["items", "header", "isOpen", "shouldCloseOnOutsideClick", "arrowType", "wrapperClasses", "elementsExcludedFromOutsideClick", "minHeight", "maxHeight", "minWidth", "maxWidth", "dropdownReference", "dropdownReferencePosition", "textOverflowStrategy"], outputs: ["isOpenChange", "selectedItem", "checkboxChanged"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
463
728
|
}
|
|
464
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
729
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
465
730
|
type: Component,
|
|
466
|
-
args: [{ selector: 'upd-sidebar', encapsulation: ViewEncapsulation.None, template: "<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}\"></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\">{{ 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) {\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" }]
|
|
731
|
+
args: [{ standalone: false, selector: 'upd-sidebar', encapsulation: ViewEncapsulation.None, template: "<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" }]
|
|
467
732
|
}], propDecorators: { wrapperClasses: [{
|
|
468
733
|
type: HostBinding,
|
|
469
734
|
args: ['class']
|
|
470
735
|
}], theme: [{
|
|
471
736
|
type: HostBinding,
|
|
472
737
|
args: ['attr.data-bs-theme']
|
|
473
|
-
}] } });
|
|
738
|
+
}], loggedUserRef: [{ type: i0.ViewChild, args: ['loggedUserBtn', { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
474
739
|
|
|
475
740
|
class PageHeaderComponent {
|
|
476
|
-
|
|
477
|
-
|
|
741
|
+
constructor() {
|
|
742
|
+
this.model = input.required(...(ngDevMode ? [{ debugName: "model" }] : []));
|
|
743
|
+
}
|
|
744
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: PageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
745
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: PageHeaderComponent, isStandalone: false, selector: "upd-page-header", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "component", type: i1$4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }] }); }
|
|
478
746
|
}
|
|
479
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
747
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: PageHeaderComponent, decorators: [{
|
|
480
748
|
type: Component,
|
|
481
|
-
args: [{ selector: 'upd-page-header', template: "<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
|
|
482
|
-
}], propDecorators: { model: [{
|
|
483
|
-
type: Input
|
|
484
|
-
}] } });
|
|
749
|
+
args: [{ standalone: false, selector: 'upd-page-header', template: "<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" }]
|
|
750
|
+
}], propDecorators: { model: [{ type: i0.Input, args: [{ isSignal: true, alias: "model", required: true }] }] } });
|
|
485
751
|
|
|
486
752
|
class VerticalSidebarLayoutComponent extends BaseLayout {
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
this.showPageHeader = false;
|
|
490
|
-
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
491
|
-
}
|
|
492
|
-
ngOnInit() {
|
|
493
|
-
super.ngOnInit();
|
|
494
|
-
const pHeaderSub = this._layoutService.onPageHeaderChange.subscribe(ph => {
|
|
495
|
-
this.showPageHeader = !!ph;
|
|
496
|
-
this.pageHeader = ph;
|
|
497
|
-
this.changeDetectorRef.detectChanges();
|
|
498
|
-
});
|
|
499
|
-
this.addSubscriptions(pHeaderSub);
|
|
500
|
-
}
|
|
501
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: VerticalSidebarLayoutComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
502
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: VerticalSidebarLayoutComponent, selector: "upd-vertical-sidebar-layout", usesInheritance: true, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "directive", type: i1$4.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: FooterComponent, selector: "upd-footer" }, { kind: "component", type: HeaderComponent, selector: "upd-header", inputs: ["style", "showSearchBar"] }, { kind: "component", type: SidebarComponent, selector: "upd-sidebar" }, { kind: "component", type: PageHeaderComponent, selector: "upd-page-header", inputs: ["model"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
753
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: VerticalSidebarLayoutComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
754
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: VerticalSidebarLayoutComponent, isStandalone: false, selector: "upd-vertical-sidebar-layout", usesInheritance: true, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "directive", type: i1$3.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: FooterComponent, selector: "upd-footer" }, { kind: "component", type: HeaderComponent, selector: "upd-header", inputs: ["style"] }, { kind: "component", type: SidebarComponent, selector: "upd-sidebar" }, { kind: "component", type: PageHeaderComponent, selector: "upd-page-header", inputs: ["model"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
503
755
|
}
|
|
504
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
756
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: VerticalSidebarLayoutComponent, decorators: [{
|
|
505
757
|
type: Component,
|
|
506
|
-
args: [{ selector: 'upd-vertical-sidebar-layout', encapsulation: ViewEncapsulation.None, template: "<div class=\"page\">\n <upd-sidebar></upd-sidebar>\n <upd-header></upd-header>\n\n <div class=\"page-wrapper\">\n @if (
|
|
758
|
+
args: [{ standalone: false, selector: 'upd-vertical-sidebar-layout', encapsulation: ViewEncapsulation.None, template: "<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" }]
|
|
507
759
|
}] });
|
|
508
760
|
|
|
509
761
|
class VerticalSidebarLayoutModule {
|
|
510
762
|
constructor(translocoService) {
|
|
763
|
+
translocoService.setFallbackLangForMissingTranslation({ fallbackLang: 'en' });
|
|
511
764
|
translocoService.setTranslation(en$1, 'en');
|
|
512
765
|
translocoService.setTranslation(pt$1, 'pt');
|
|
513
766
|
}
|
|
514
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
515
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
516
|
-
FooterComponent,
|
|
517
|
-
HeaderComponent,
|
|
767
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: VerticalSidebarLayoutModule, deps: [{ token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
768
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: VerticalSidebarLayoutModule, declarations: [VerticalSidebarLayoutComponent,
|
|
518
769
|
SidebarComponent,
|
|
519
|
-
PageHeaderComponent,
|
|
520
|
-
FooterCopyrightDirective], imports: [CommonModule,
|
|
770
|
+
PageHeaderComponent], imports: [CommonModule,
|
|
521
771
|
RouterModule,
|
|
522
772
|
TranslocoModule,
|
|
523
773
|
UpdIconsModule,
|
|
524
774
|
UpdCoreLayoutModule,
|
|
525
775
|
UpdButtonModule,
|
|
526
|
-
UpdLinkModule
|
|
527
|
-
|
|
528
|
-
|
|
776
|
+
UpdLinkModule,
|
|
777
|
+
UpdDropdownModule,
|
|
778
|
+
FooterModule,
|
|
779
|
+
HeaderModule], exports: [VerticalSidebarLayoutComponent,
|
|
529
780
|
SidebarComponent,
|
|
530
|
-
PageHeaderComponent
|
|
531
|
-
|
|
532
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: VerticalSidebarLayoutModule, imports: [CommonModule,
|
|
781
|
+
PageHeaderComponent] }); }
|
|
782
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: VerticalSidebarLayoutModule, imports: [CommonModule,
|
|
533
783
|
RouterModule,
|
|
534
784
|
TranslocoModule,
|
|
535
785
|
UpdIconsModule,
|
|
536
786
|
UpdCoreLayoutModule,
|
|
537
787
|
UpdButtonModule,
|
|
538
|
-
UpdLinkModule
|
|
788
|
+
UpdLinkModule,
|
|
789
|
+
UpdDropdownModule,
|
|
790
|
+
FooterModule,
|
|
791
|
+
HeaderModule] }); }
|
|
539
792
|
}
|
|
540
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
793
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: VerticalSidebarLayoutModule, decorators: [{
|
|
541
794
|
type: NgModule,
|
|
542
795
|
args: [{
|
|
543
796
|
imports: [
|
|
@@ -547,44 +800,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
547
800
|
UpdIconsModule,
|
|
548
801
|
UpdCoreLayoutModule,
|
|
549
802
|
UpdButtonModule,
|
|
550
|
-
UpdLinkModule
|
|
803
|
+
UpdLinkModule,
|
|
804
|
+
UpdDropdownModule,
|
|
805
|
+
FooterModule,
|
|
806
|
+
HeaderModule
|
|
551
807
|
],
|
|
552
808
|
declarations: [
|
|
553
809
|
VerticalSidebarLayoutComponent,
|
|
554
|
-
FooterComponent,
|
|
555
|
-
HeaderComponent,
|
|
556
810
|
SidebarComponent,
|
|
557
|
-
PageHeaderComponent
|
|
558
|
-
FooterCopyrightDirective
|
|
811
|
+
PageHeaderComponent
|
|
559
812
|
],
|
|
560
813
|
exports: [
|
|
561
814
|
VerticalSidebarLayoutComponent,
|
|
562
|
-
FooterComponent,
|
|
563
|
-
HeaderComponent,
|
|
564
815
|
SidebarComponent,
|
|
565
|
-
PageHeaderComponent
|
|
566
|
-
FooterCopyrightDirective
|
|
816
|
+
PageHeaderComponent
|
|
567
817
|
]
|
|
568
818
|
}]
|
|
569
819
|
}], ctorParameters: () => [{ type: i1$1.TranslocoService }] });
|
|
570
820
|
|
|
571
821
|
class LoggedOutComponent {
|
|
572
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
573
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
822
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: LoggedOutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
823
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.4", type: LoggedOutComponent, isStandalone: false, selector: "upd-logged-out", ngImport: i0, template: "<p>logged-out works!</p>\n", styles: [""] }); }
|
|
574
824
|
}
|
|
575
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
825
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: LoggedOutComponent, decorators: [{
|
|
576
826
|
type: Component,
|
|
577
|
-
args: [{ selector: 'upd-logged-out', template: "<p>logged-out works!</p>\n" }]
|
|
827
|
+
args: [{ standalone: false, selector: 'upd-logged-out', template: "<p>logged-out works!</p>\n" }]
|
|
578
828
|
}] });
|
|
579
829
|
|
|
580
830
|
class LoginComponent {
|
|
581
831
|
constructor() {
|
|
582
|
-
this.formGroup = model(new FormGroup({}));
|
|
832
|
+
this.formGroup = model(new FormGroup({}), ...(ngDevMode ? [{ debugName: "formGroup" }] : []));
|
|
583
833
|
this.formRows = [];
|
|
584
|
-
this.isSigningIn = signal(false);
|
|
834
|
+
this.isSigningIn = signal(false, ...(ngDevMode ? [{ debugName: "isSigningIn" }] : []));
|
|
585
835
|
this.layoutConfigService = inject(UpdLayoutConfigService);
|
|
586
836
|
this.config = this.layoutConfigService.config.securityLayoutConfig.loginPage;
|
|
587
837
|
this.bodyClasses = ['border-top-wide', this.border, 'd-flex', 'flex-column'];
|
|
838
|
+
this.router = inject(Router);
|
|
588
839
|
this.authService = inject(AuthService);
|
|
589
840
|
this.layoutService = inject(LayoutService);
|
|
590
841
|
}
|
|
@@ -611,7 +862,7 @@ class LoginComponent {
|
|
|
611
862
|
colSize: { default: 12 },
|
|
612
863
|
label: { text: 'UpDevs.Login.Email', isTranslated: false },
|
|
613
864
|
validators: [Validators.required, Validators.minLength(3)],
|
|
614
|
-
|
|
865
|
+
shouldSubmitOnEnter: true
|
|
615
866
|
}
|
|
616
867
|
]
|
|
617
868
|
},
|
|
@@ -624,7 +875,7 @@ class LoginComponent {
|
|
|
624
875
|
colSize: { default: 12 },
|
|
625
876
|
label: { text: 'UpDevs.Login.Password', isTranslated: false },
|
|
626
877
|
validators: [Validators.required, Validators.minLength(3)],
|
|
627
|
-
|
|
878
|
+
shouldSubmitOnEnter: true
|
|
628
879
|
}
|
|
629
880
|
]
|
|
630
881
|
},
|
|
@@ -648,26 +899,33 @@ class LoginComponent {
|
|
|
648
899
|
}
|
|
649
900
|
}
|
|
650
901
|
login() {
|
|
902
|
+
// TODO: handle remember me
|
|
651
903
|
this.isSigningIn.set(true);
|
|
652
904
|
this.authService.login(this.formGroup().value.username, this.formGroup().value.password)
|
|
653
905
|
.pipe(finalize(() => this.isSigningIn.set(false)))
|
|
654
906
|
.subscribe();
|
|
655
907
|
}
|
|
656
|
-
|
|
657
|
-
|
|
908
|
+
goToRecoverPasswordPage() {
|
|
909
|
+
this.router.navigate([this.config.recoverPasswordRoute]).then();
|
|
910
|
+
}
|
|
911
|
+
goToSignUpPage() {
|
|
912
|
+
this.router.navigate([this.config.signUpRoute]).then();
|
|
913
|
+
}
|
|
914
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: LoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
915
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: LoginComponent, isStandalone: false, selector: "upd-login", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { formGroup: "formGroupChange" }, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Login'\">\n <upd-header [style]=\"'transparent'\"></upd-header>\n <div class=\"page page-center\">\n @switch (config.layout) {\n @case ('centered-box') {\n <div class=\"container container-tight py-4\">\n <ng-container [ngTemplateOutlet]=\"loginCardTpl\"></ng-container>\n </div>\n }\n @case ('box-with-picture') {\n <div class=\"container container-normal py-4\">\n <div class=\"row align-items-center g-4\">\n <div class=\"col-lg\">\n <div class=\"container-tight\">\n <ng-container [ngTemplateOutlet]=\"loginCardTpl\"></ng-container>\n </div>\n </div>\n <div class=\"col-lg d-none d-lg-block\">\n <img height=\"300\" class=\"d-block mx-auto upd-right-login-image\" />\n </div>\n </div>\n </div>\n }\n @case ('cover') {\n <div class=\"row g-0 flex-fill\">\n <div class=\"col-12 col-lg-6 col-xl-4 border-top-wide d-flex flex-column justify-content-center\"\n [ngClass]=\"border\">\n <div class=\"container container-tight my-5 px-lg-5\">\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n\n <h2 class=\"h3 text-center mb-3\">\n {{ t('Title') }}\n </h2>\n\n <ng-container [ngTemplateOutlet]=\"loginFormTpl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"socialLoginTpl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"noAccountTpl\"></ng-container>\n </div>\n </div>\n <div class=\"col-12 col-lg-6 col-xl-8 d-none d-lg-block\">\n <div class=\"bg-cover h-100 min-vh-100 upd-right-login-cover-image\"></div>\n </div>\n </div>\n }\n }\n </div>\n <upd-footer></upd-footer>\n\n <ng-template #loginCardTpl>\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n <upd-card [removeBorder]=\"true\">\n <div class=\"p-4\">\n <h2 class=\"h2 text-center mb-4\">\n {{ t('Title') }}\n </h2>\n <ng-container [ngTemplateOutlet]=\"loginFormTpl\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"socialLoginTpl\"></ng-container>\n </upd-card>\n <ng-container [ngTemplateOutlet]=\"noAccountTpl\"></ng-container>\n </ng-template>\n\n <ng-template #loginFormTpl>\n <upd-form [rows]=\"formRows\" [hasActionsSection]=\"false\" [(formGroup)]=\"formGroup\" (submitted)=\"login()\"></upd-form>\n <div class=\"form-footer\">\n <upd-button [colorStyle]=\"config.signInButtonColor\" (clicked)=\"login()\" [isLoading]=\"isSigningIn()\"\n customClasses=\"w-100\">\n {{ t('SignIn') }}\n </upd-button>\n @if (!!config.recoverPasswordRoute) {\n <div class=\"d-flex mt-2\">\n <upd-link class=\"ms-auto\" [customClasses]=\"linkClasses\" (clicked)=\"goToRecoverPasswordPage()\">\n {{ t('RecoverPassword') }}\n </upd-link>\n </div>\n }\n </div>\n </ng-template>\n\n <ng-template #socialLoginTpl>\n @if (config.socialLoginButtons.length > 0) {\n <div class=\"hr-text\">\n {{ t('Or') }}\n </div>\n <div class=\"card-body\">\n <div class=\"row\">\n @for (btn of config.socialLoginButtons; track btn) {\n <div class=\"col\">\n <upd-button [model]=\"btn\"></upd-button>\n </div>\n }\n </div>\n </div>\n }\n </ng-template>\n\n <ng-template #headerTpl>\n <div class=\"text-center mb-4\">\n <a href=\".\" class=\"navbar-brand navbar-brand-autodark\">\n <img height=\"36\" class=\"navbar-brand-image upd-brand-logo\" />\n </a>\n </div>\n </ng-template>\n\n <ng-template #noAccountTpl>\n @if (!!config.signUpRoute) {\n <div class=\"text-center text-muted mt-3\">\n {{ t('NoAccountYet') }}\n <upd-link [customClasses]=\"linkClasses\" (clicked)=\"goToSignUpPage()\">{{ t('SignUp') }}</upd-link>\n </div>\n }\n </ng-template>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i3.LinkComponent, selector: "upd-link", inputs: ["href", "target", "customClasses", "isNavigation"], outputs: ["clicked"] }, { kind: "component", type: i6.CardComponent, selector: "upd-card", inputs: ["wrapperClasses", "title", "subtitle", "hoverEffect", "state", "type", "imagePosition", "bgColor", "stampIcon", "stampBackground", "statusBackground", "statusPosition", "ribbonBackground", "ribbonStyle", "ribbonIcon", "ribbonText", "rotate", "removeBorder", "useLightHeader", "showHeader", "isFooterTransparent", "footerText", "showProgressBar", "progress", "actions"] }, { kind: "component", type: i7.FormComponent, selector: "upd-form", inputs: ["rows", "layout", "title", "hasActionsSection", "isCard", "isDisabled", "isLoading", "isSaving", "formData", "formGroup"], outputs: ["initialized", "dataLoaded", "submitted", "formDataChange", "formGroupChange"] }, { kind: "component", type: FooterComponent, selector: "upd-footer" }, { kind: "component", type: HeaderComponent, selector: "upd-header", inputs: ["style"] }] }); }
|
|
658
916
|
}
|
|
659
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
917
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: LoginComponent, decorators: [{
|
|
660
918
|
type: Component,
|
|
661
|
-
args: [{ selector: 'upd-login', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Login'\">\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\"
|
|
662
|
-
}] });
|
|
919
|
+
args: [{ standalone: false, selector: 'upd-login', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Login'\">\n <upd-header [style]=\"'transparent'\"></upd-header>\n <div class=\"page page-center\">\n @switch (config.layout) {\n @case ('centered-box') {\n <div class=\"container container-tight py-4\">\n <ng-container [ngTemplateOutlet]=\"loginCardTpl\"></ng-container>\n </div>\n }\n @case ('box-with-picture') {\n <div class=\"container container-normal py-4\">\n <div class=\"row align-items-center g-4\">\n <div class=\"col-lg\">\n <div class=\"container-tight\">\n <ng-container [ngTemplateOutlet]=\"loginCardTpl\"></ng-container>\n </div>\n </div>\n <div class=\"col-lg d-none d-lg-block\">\n <img height=\"300\" class=\"d-block mx-auto upd-right-login-image\" />\n </div>\n </div>\n </div>\n }\n @case ('cover') {\n <div class=\"row g-0 flex-fill\">\n <div class=\"col-12 col-lg-6 col-xl-4 border-top-wide d-flex flex-column justify-content-center\"\n [ngClass]=\"border\">\n <div class=\"container container-tight my-5 px-lg-5\">\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n\n <h2 class=\"h3 text-center mb-3\">\n {{ t('Title') }}\n </h2>\n\n <ng-container [ngTemplateOutlet]=\"loginFormTpl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"socialLoginTpl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"noAccountTpl\"></ng-container>\n </div>\n </div>\n <div class=\"col-12 col-lg-6 col-xl-8 d-none d-lg-block\">\n <div class=\"bg-cover h-100 min-vh-100 upd-right-login-cover-image\"></div>\n </div>\n </div>\n }\n }\n </div>\n <upd-footer></upd-footer>\n\n <ng-template #loginCardTpl>\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n <upd-card [removeBorder]=\"true\">\n <div class=\"p-4\">\n <h2 class=\"h2 text-center mb-4\">\n {{ t('Title') }}\n </h2>\n <ng-container [ngTemplateOutlet]=\"loginFormTpl\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"socialLoginTpl\"></ng-container>\n </upd-card>\n <ng-container [ngTemplateOutlet]=\"noAccountTpl\"></ng-container>\n </ng-template>\n\n <ng-template #loginFormTpl>\n <upd-form [rows]=\"formRows\" [hasActionsSection]=\"false\" [(formGroup)]=\"formGroup\" (submitted)=\"login()\"></upd-form>\n <div class=\"form-footer\">\n <upd-button [colorStyle]=\"config.signInButtonColor\" (clicked)=\"login()\" [isLoading]=\"isSigningIn()\"\n customClasses=\"w-100\">\n {{ t('SignIn') }}\n </upd-button>\n @if (!!config.recoverPasswordRoute) {\n <div class=\"d-flex mt-2\">\n <upd-link class=\"ms-auto\" [customClasses]=\"linkClasses\" (clicked)=\"goToRecoverPasswordPage()\">\n {{ t('RecoverPassword') }}\n </upd-link>\n </div>\n }\n </div>\n </ng-template>\n\n <ng-template #socialLoginTpl>\n @if (config.socialLoginButtons.length > 0) {\n <div class=\"hr-text\">\n {{ t('Or') }}\n </div>\n <div class=\"card-body\">\n <div class=\"row\">\n @for (btn of config.socialLoginButtons; track btn) {\n <div class=\"col\">\n <upd-button [model]=\"btn\"></upd-button>\n </div>\n }\n </div>\n </div>\n }\n </ng-template>\n\n <ng-template #headerTpl>\n <div class=\"text-center mb-4\">\n <a href=\".\" class=\"navbar-brand navbar-brand-autodark\">\n <img height=\"36\" class=\"navbar-brand-image upd-brand-logo\" />\n </a>\n </div>\n </ng-template>\n\n <ng-template #noAccountTpl>\n @if (!!config.signUpRoute) {\n <div class=\"text-center text-muted mt-3\">\n {{ t('NoAccountYet') }}\n <upd-link [customClasses]=\"linkClasses\" (clicked)=\"goToSignUpPage()\">{{ t('SignUp') }}</upd-link>\n </div>\n }\n </ng-template>\n</ng-container>\n" }]
|
|
920
|
+
}], propDecorators: { formGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "formGroup", required: false }] }, { type: i0.Output, args: ["formGroupChange"] }] } });
|
|
663
921
|
|
|
664
922
|
class OauthCallbackComponent {
|
|
665
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
666
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
923
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: OauthCallbackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
924
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.4", type: OauthCallbackComponent, isStandalone: false, selector: "upd-oauth-callback", ngImport: i0, template: "<p>oauth-callback works!</p>\n", styles: [""] }); }
|
|
667
925
|
}
|
|
668
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
926
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: OauthCallbackComponent, decorators: [{
|
|
669
927
|
type: Component,
|
|
670
|
-
args: [{ selector: 'upd-oauth-callback', template: "<p>oauth-callback works!</p>\n" }]
|
|
928
|
+
args: [{ standalone: false, selector: 'upd-oauth-callback', template: "<p>oauth-callback works!</p>\n" }]
|
|
671
929
|
}] });
|
|
672
930
|
|
|
673
931
|
/**
|
|
@@ -679,11 +937,11 @@ const routes = [
|
|
|
679
937
|
{ path: 'login', component: LoginComponent }
|
|
680
938
|
];
|
|
681
939
|
class AuthFlowRoutingModule {
|
|
682
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
683
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
684
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
940
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: AuthFlowRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
941
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: AuthFlowRoutingModule, imports: [i1$3.RouterModule], exports: [RouterModule] }); }
|
|
942
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: AuthFlowRoutingModule, imports: [RouterModule.forRoot(routes, { useHash: true }), RouterModule] }); }
|
|
685
943
|
}
|
|
686
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
944
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: AuthFlowRoutingModule, decorators: [{
|
|
687
945
|
type: NgModule,
|
|
688
946
|
args: [{
|
|
689
947
|
imports: [RouterModule.forRoot(routes, { useHash: true })],
|
|
@@ -692,8 +950,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
692
950
|
}] });
|
|
693
951
|
|
|
694
952
|
class AuthFlowModule {
|
|
695
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
696
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
953
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: AuthFlowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
954
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: AuthFlowModule, declarations: [LoginComponent,
|
|
697
955
|
OauthCallbackComponent,
|
|
698
956
|
LoggedOutComponent], imports: [CommonModule,
|
|
699
957
|
AuthFlowRoutingModule,
|
|
@@ -703,19 +961,23 @@ class AuthFlowModule {
|
|
|
703
961
|
TranslocoDirective,
|
|
704
962
|
UpdLinkModule,
|
|
705
963
|
UpdCardModule,
|
|
706
|
-
UpdFormModule
|
|
964
|
+
UpdFormModule,
|
|
965
|
+
FooterModule,
|
|
966
|
+
HeaderModule], exports: [LoginComponent,
|
|
707
967
|
OauthCallbackComponent,
|
|
708
968
|
LoggedOutComponent] }); }
|
|
709
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
969
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: AuthFlowModule, imports: [CommonModule,
|
|
710
970
|
AuthFlowRoutingModule,
|
|
711
971
|
UpdButtonModule,
|
|
712
972
|
UpdIconsModule,
|
|
713
973
|
FormsModule,
|
|
714
974
|
UpdLinkModule,
|
|
715
975
|
UpdCardModule,
|
|
716
|
-
UpdFormModule
|
|
976
|
+
UpdFormModule,
|
|
977
|
+
FooterModule,
|
|
978
|
+
HeaderModule] }); }
|
|
717
979
|
}
|
|
718
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
980
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: AuthFlowModule, decorators: [{
|
|
719
981
|
type: NgModule,
|
|
720
982
|
args: [{
|
|
721
983
|
imports: [
|
|
@@ -727,7 +989,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
727
989
|
TranslocoDirective,
|
|
728
990
|
UpdLinkModule,
|
|
729
991
|
UpdCardModule,
|
|
730
|
-
UpdFormModule
|
|
992
|
+
UpdFormModule,
|
|
993
|
+
FooterModule,
|
|
994
|
+
HeaderModule
|
|
731
995
|
],
|
|
732
996
|
declarations: [
|
|
733
997
|
LoginComponent,
|
|
@@ -758,20 +1022,23 @@ class UpdLayoutModule {
|
|
|
758
1022
|
]
|
|
759
1023
|
};
|
|
760
1024
|
}
|
|
761
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
762
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
763
|
-
UpdCoreLayoutModule
|
|
764
|
-
|
|
1025
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1026
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: UpdLayoutModule, imports: [CommonModule,
|
|
1027
|
+
UpdCoreLayoutModule,
|
|
1028
|
+
UpdNotificationsModule] }); }
|
|
1029
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdLayoutModule, providers: [
|
|
765
1030
|
UpdLayoutConfigService
|
|
766
1031
|
], imports: [CommonModule,
|
|
767
|
-
UpdCoreLayoutModule
|
|
1032
|
+
UpdCoreLayoutModule,
|
|
1033
|
+
UpdNotificationsModule] }); }
|
|
768
1034
|
}
|
|
769
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1035
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdLayoutModule, decorators: [{
|
|
770
1036
|
type: NgModule,
|
|
771
1037
|
args: [{
|
|
772
1038
|
imports: [
|
|
773
1039
|
CommonModule,
|
|
774
|
-
UpdCoreLayoutModule
|
|
1040
|
+
UpdCoreLayoutModule,
|
|
1041
|
+
UpdNotificationsModule
|
|
775
1042
|
],
|
|
776
1043
|
providers: [
|
|
777
1044
|
UpdLayoutConfigService
|
|
@@ -783,5 +1050,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
783
1050
|
* Generated bundle index. Do not edit.
|
|
784
1051
|
*/
|
|
785
1052
|
|
|
786
|
-
export { AuthFlowModule, AuthFlowRoutingModule, BasePageComponent, BlankLayoutComponent, BlankLayoutModule, FooterComponent,
|
|
1053
|
+
export { AuthFlowModule, AuthFlowRoutingModule, BasePageComponent, BlankLayoutComponent, BlankLayoutModule, FooterComponent, FooterModule, HeaderComponent, HeaderModule, LoggedOutComponent, LoginComponent, OauthCallbackComponent, PageHeaderComponent, SidebarComponent, UpdLayoutConfigService, UpdLayoutModule, VerticalSidebarLayoutComponent, VerticalSidebarLayoutModule, routes };
|
|
787
1054
|
//# sourceMappingURL=updevs-components-layout.mjs.map
|