@updevs/components 1.0.0-alpha.1 → 1.0.0-alpha.10
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 +5 -21
- package/assets/styles/_bootstrap-components.scss +55 -0
- package/assets/styles/_bootstrap-config.scss +7 -0
- package/assets/styles/_bootstrap-override.scss +78 -0
- package/assets/styles/_config.scss +9 -0
- package/assets/styles/_core.scss +71 -0
- package/assets/styles/_mixins.scss +2 -0
- package/assets/styles/_seven-columns.scss +73 -0
- package/assets/styles/_updevs.scss +13 -0
- package/assets/styles/_utilities.scss +98 -0
- package/assets/styles/_variables-dark.scss +17 -0
- package/assets/styles/_variables.scss +934 -0
- package/assets/styles/fonts/_webfonts.scss +15 -0
- package/assets/styles/layout/_animations.scss +62 -0
- package/assets/styles/layout/_core.scss +61 -0
- package/assets/styles/layout/_dark.scss +72 -0
- package/assets/styles/layout/_footer.scss +12 -0
- package/assets/styles/layout/_navbar.scss +380 -0
- package/assets/styles/layout/_page.scss +169 -0
- package/assets/styles/layout/_root.scss +72 -0
- package/assets/styles/mixins/_functions.scss +43 -0
- package/assets/styles/mixins/_mixins.scss +68 -0
- package/assets/styles/ui/_accordion.scss +24 -0
- package/assets/styles/ui/_alerts.scss +59 -0
- package/assets/styles/ui/_avatars.scss +118 -0
- package/assets/styles/ui/_badges.scss +79 -0
- package/assets/styles/ui/_breadcrumbs.scss +50 -0
- package/assets/styles/ui/_button-group.scss +16 -0
- package/assets/styles/ui/_buttons.scss +265 -0
- package/assets/styles/ui/_calendars.scss +104 -0
- package/assets/styles/ui/_cards.scss +586 -0
- package/assets/styles/ui/_carousel.scss +68 -0
- package/assets/styles/ui/_charts.scss +61 -0
- package/assets/styles/ui/_chips.scss +0 -0
- package/assets/styles/ui/_close.scss +7 -0
- package/assets/styles/ui/_datagrid.scss +17 -0
- package/assets/styles/ui/_dropdowns.scss +117 -0
- package/assets/styles/ui/_empty.scss +65 -0
- package/assets/styles/ui/_flags.scss +31 -0
- package/assets/styles/ui/_forms.scss +224 -0
- package/assets/styles/ui/_grid.scss +115 -0
- package/assets/styles/ui/_icons.scss +72 -0
- package/assets/styles/ui/_images.scss +15 -0
- package/assets/styles/ui/_legend.scss +12 -0
- package/assets/styles/ui/_lists.scss +127 -0
- package/assets/styles/ui/_loaders.scss +72 -0
- package/assets/styles/ui/_login.scss +3 -0
- package/assets/styles/ui/_markdown.scss +42 -0
- package/assets/styles/ui/_modals.scss +67 -0
- package/assets/styles/ui/_nav.scss +92 -0
- package/assets/styles/ui/_offcanvas.scss +17 -0
- package/assets/styles/ui/_pagination.scss +56 -0
- package/assets/styles/ui/_payments.scss +28 -0
- package/assets/styles/ui/_placeholder.scss +9 -0
- package/assets/styles/ui/_popovers.scss +2 -0
- package/assets/styles/ui/_progress.scss +107 -0
- package/assets/styles/ui/_ribbons.scss +156 -0
- package/assets/styles/ui/_stars.scss +13 -0
- package/assets/styles/ui/_status.scss +163 -0
- package/assets/styles/ui/_steps.scss +152 -0
- package/assets/styles/ui/_switch-icon.scss +211 -0
- package/assets/styles/ui/_tables.scss +150 -0
- package/assets/styles/ui/_tags.scss +57 -0
- package/assets/styles/ui/_timeline.scss +61 -0
- package/assets/styles/ui/_toasts.scss +19 -0
- package/assets/styles/ui/_toolbar.scss +10 -0
- package/assets/styles/ui/_tracking.scss +29 -0
- package/assets/styles/ui/_type.scss +169 -0
- package/assets/styles/ui/forms/_form-check.scss +91 -0
- package/assets/styles/ui/forms/_form-colorinput.scss +54 -0
- package/assets/styles/ui/forms/_form-custom.scss +28 -0
- package/assets/styles/ui/forms/_form-icon.scss +35 -0
- package/assets/styles/ui/forms/_form-imagecheck.scss +104 -0
- package/assets/styles/ui/forms/_form-selectgroup.scss +153 -0
- package/assets/styles/ui/forms/_validation.scss +13 -0
- package/assets/styles/ui/typo/_hr.scss +74 -0
- package/assets/styles/utils/_background.scss +15 -0
- package/assets/styles/utils/_colors.scss +40 -0
- package/assets/styles/utils/_opacity.scss +7 -0
- package/assets/styles/utils/_scroll.scss +47 -0
- package/assets/styles/utils/_shadow.scss +17 -0
- package/assets/styles/utils/_sizing.scss +10 -0
- package/assets/styles/utils/_text.scss +15 -0
- package/badge/badge-config.model.d.ts +14 -0
- package/badge/badge.component.d.ts +24 -0
- package/badge/badge.config.d.ts +12 -0
- package/badge/index.d.ts +1 -0
- package/badge/public-api.d.ts +3 -0
- package/badge/upd-badge.module.d.ts +8 -0
- package/button/button.component.d.ts +61 -0
- package/button/index.d.ts +1 -0
- package/button/public-api.d.ts +2 -0
- package/button/upd-button.module.d.ts +10 -0
- package/calendar/calendar.component.d.ts +127 -0
- package/calendar/components/calendar-body/calendar-body.component.d.ts +263 -0
- package/calendar/components/calendar-header/calendar-header.component.d.ts +57 -0
- package/calendar/components/calendar-month-view/calendar-month-view.component.d.ts +151 -0
- package/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.d.ts +10 -0
- package/calendar/components/calendar-year-view/calendar-year-view.component.d.ts +9 -0
- package/calendar/index.d.ts +1 -0
- package/calendar/models/calendar-cell.model.d.ts +16 -0
- package/calendar/models/calendar-user-event.model.d.ts +4 -0
- package/calendar/models/date-range.model.d.ts +26 -0
- package/calendar/models/public-api.d.ts +2 -0
- package/calendar/public-api.d.ts +5 -0
- package/calendar/services/calendar-range-strategy.service.d.ts +35 -0
- package/calendar/services/calendar-signals.service.d.ts +24 -0
- package/calendar/services/calendar.service.d.ts +15 -0
- package/calendar/services/public-api.d.ts +1 -0
- package/calendar/tools/events-options.d.ts +12 -0
- package/calendar/tools/keyboard-tools.d.ts +9 -0
- package/calendar/tools/passive-listeners.d.ts +16 -0
- package/calendar/types/calendar-cell-class-function.type.d.ts +3 -0
- package/calendar/types/calendar-cell-css-classes.type.d.ts +3 -0
- package/calendar/types/calendar-view.type.d.ts +1 -0
- package/calendar/types/modifier-key.type.d.ts +1 -0
- package/calendar/types/public-api.d.ts +1 -0
- package/calendar/upd-calendar.module.d.ts +18 -0
- package/card/card.component.d.ts +54 -0
- package/card/directives/card-actions.directive.d.ts +7 -0
- package/card/directives/card-footer.directive.d.ts +7 -0
- package/card/directives/card-header.directive.d.ts +7 -0
- package/card/directives/card-image.directive.d.ts +7 -0
- package/card/directives/public-api.d.ts +4 -0
- package/card/index.d.ts +1 -0
- package/card/public-api.d.ts +3 -0
- package/card/types/card-state.type.d.ts +1 -0
- package/card/types/card-style.type.d.ts +1 -0
- package/card/types/hover-effect.type.d.ts +1 -0
- package/card/types/ribbon-style.type.d.ts +1 -0
- package/card/types/status-position.type.d.ts +1 -0
- package/card/upd-card.module.d.ts +14 -0
- package/drag-and-drop/drag-and-drop.component.d.ts +26 -0
- package/drag-and-drop/index.d.ts +1 -0
- package/drag-and-drop/models/drag-and-drop-column.config.d.ts +8 -0
- package/drag-and-drop/models/drag-and-drop-column.model.d.ts +10 -0
- package/drag-and-drop/models/drag-and-drop-item.d.ts +7 -0
- package/drag-and-drop/models/drag-and-drop-item.model.d.ts +13 -0
- package/drag-and-drop/models/drag-and-drop.config.d.ts +6 -0
- package/drag-and-drop/models/public-api.d.ts +4 -0
- package/drag-and-drop/public-api.d.ts +3 -0
- package/drag-and-drop/upd-drag-and-drop.module.d.ts +9 -0
- package/dropdown/dropdown.component.d.ts +76 -0
- package/dropdown/index.d.ts +1 -0
- package/dropdown/models/dropdown-action-clicked.model.d.ts +6 -0
- package/dropdown/models/dropdown-item.d.ts +24 -0
- package/dropdown/models/dropdown-item.type.d.ts +1 -0
- package/dropdown/models/public-api.d.ts +4 -0
- package/dropdown/models/toolbar.type.d.ts +1 -0
- package/dropdown/public-api.d.ts +3 -0
- package/dropdown/upd-dropdown.module.d.ts +12 -0
- package/esm2022/badge/badge-config.model.mjs +14 -0
- package/esm2022/badge/badge.component.mjs +50 -0
- package/esm2022/badge/badge.config.mjs +2 -0
- package/esm2022/badge/index.mjs +2 -0
- package/esm2022/badge/public-api.mjs +4 -0
- package/esm2022/badge/upd-badge.module.mjs +24 -0
- package/esm2022/badge/updevs-components-badge.mjs +5 -0
- package/esm2022/button/button.component.mjs +157 -0
- package/esm2022/button/index.mjs +2 -0
- package/esm2022/button/public-api.mjs +3 -0
- package/esm2022/button/upd-button.module.mjs +32 -0
- package/esm2022/button/updevs-components-button.mjs +5 -0
- package/esm2022/calendar/assets/i18n/en.json +16 -0
- package/esm2022/calendar/assets/i18n/pt.json +16 -0
- package/esm2022/calendar/calendar.component.mjs +247 -0
- package/esm2022/calendar/components/calendar-body/calendar-body.component.mjs +515 -0
- package/esm2022/calendar/components/calendar-header/calendar-header.component.mjs +144 -0
- package/esm2022/calendar/components/calendar-month-view/calendar-month-view.component.mjs +423 -0
- package/esm2022/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.mjs +18 -0
- package/esm2022/calendar/components/calendar-year-view/calendar-year-view.component.mjs +17 -0
- package/esm2022/calendar/index.mjs +2 -0
- package/esm2022/calendar/models/calendar-cell.model.mjs +18 -0
- package/esm2022/calendar/models/calendar-user-event.model.mjs +2 -0
- package/esm2022/calendar/models/date-range.model.mjs +18 -0
- package/esm2022/calendar/models/public-api.mjs +3 -0
- package/esm2022/calendar/public-api.mjs +6 -0
- package/esm2022/calendar/services/calendar-range-strategy.service.mjs +99 -0
- package/esm2022/calendar/services/calendar-signals.service.mjs +47 -0
- package/esm2022/calendar/services/calendar.service.mjs +40 -0
- package/esm2022/calendar/services/public-api.mjs +2 -0
- package/esm2022/calendar/tools/events-options.mjs +14 -0
- package/esm2022/calendar/tools/keyboard-tools.mjs +14 -0
- package/esm2022/calendar/tools/passive-listeners.mjs +29 -0
- package/esm2022/calendar/types/calendar-cell-class-function.type.mjs +2 -0
- package/esm2022/calendar/types/calendar-cell-css-classes.type.mjs +2 -0
- package/esm2022/calendar/types/calendar-view.type.mjs +2 -0
- package/esm2022/calendar/types/modifier-key.type.mjs +2 -0
- package/esm2022/calendar/types/public-api.mjs +2 -0
- package/esm2022/calendar/upd-calendar.module.mjs +69 -0
- package/esm2022/calendar/updevs-components-calendar.mjs +5 -0
- package/esm2022/card/card.component.mjs +136 -0
- package/esm2022/card/directives/card-actions.directive.mjs +16 -0
- package/esm2022/card/directives/card-footer.directive.mjs +16 -0
- package/esm2022/card/directives/card-header.directive.mjs +16 -0
- package/esm2022/card/directives/card-image.directive.mjs +16 -0
- package/esm2022/card/directives/public-api.mjs +5 -0
- package/esm2022/card/index.mjs +2 -0
- package/esm2022/card/public-api.mjs +4 -0
- package/esm2022/card/types/card-state.type.mjs +2 -0
- package/esm2022/card/types/card-style.type.mjs +2 -0
- package/esm2022/card/types/hover-effect.type.mjs +2 -0
- package/esm2022/card/types/ribbon-style.type.mjs +2 -0
- package/esm2022/card/types/status-position.type.mjs +2 -0
- package/esm2022/card/upd-card.module.mjs +50 -0
- package/esm2022/card/updevs-components-card.mjs +5 -0
- package/esm2022/drag-and-drop/drag-and-drop.component.mjs +134 -0
- package/esm2022/drag-and-drop/index.mjs +2 -0
- package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +2 -0
- package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +9 -0
- package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +2 -0
- package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +14 -0
- package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +2 -0
- package/esm2022/drag-and-drop/models/public-api.mjs +5 -0
- package/esm2022/drag-and-drop/public-api.mjs +4 -0
- package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +28 -0
- package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +5 -0
- package/esm2022/dropdown/dropdown.component.mjs +182 -0
- package/esm2022/dropdown/index.mjs +2 -0
- package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +2 -0
- package/esm2022/dropdown/models/dropdown-item.mjs +2 -0
- package/esm2022/dropdown/models/dropdown-item.type.mjs +2 -0
- package/esm2022/dropdown/models/public-api.mjs +5 -0
- package/esm2022/dropdown/models/toolbar.type.mjs +2 -0
- package/esm2022/dropdown/public-api.mjs +4 -0
- package/esm2022/dropdown/upd-dropdown.module.mjs +40 -0
- package/esm2022/dropdown/updevs-components-dropdown.mjs +5 -0
- package/esm2022/form/assets/i18n/en.json +17 -0
- package/esm2022/form/assets/i18n/pt.json +17 -0
- package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +96 -0
- package/esm2022/form/form.component.mjs +102 -0
- package/esm2022/form/index.mjs +2 -0
- package/esm2022/form/models/checkbox-field.model.mjs +2 -0
- package/esm2022/form/models/checkbox-group-field.model.mjs +2 -0
- package/esm2022/form/models/dynamic-field.model.mjs +2 -0
- package/esm2022/form/models/enums/dynamic-field.type.mjs +14 -0
- package/esm2022/form/models/enums/public-api.mjs +2 -0
- package/esm2022/form/models/form-row.model.mjs +2 -0
- package/esm2022/form/models/public-api.mjs +6 -0
- package/esm2022/form/models/radio-field.model.mjs +2 -0
- package/esm2022/form/models/radio-group-field.model.mjs +2 -0
- package/esm2022/form/models/select-field.model.mjs +2 -0
- package/esm2022/form/models/single-select-field.model.mjs +2 -0
- package/esm2022/form/models/textarea-field.model.mjs +2 -0
- package/esm2022/form/models/validator-config.mjs +2 -0
- package/esm2022/form/public-api.mjs +4 -0
- package/esm2022/form/tools/errors-helper.mjs +54 -0
- package/esm2022/form/upd-form.module.mjs +75 -0
- package/esm2022/form/updevs-components-form.mjs +5 -0
- package/esm2022/form-controls/abstractions/base-control.mjs +40 -0
- package/esm2022/form-controls/abstractions/index.mjs +2 -0
- package/esm2022/form-controls/abstractions/public-api.mjs +2 -0
- package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +5 -0
- package/esm2022/form-controls/checkbox/checkbox.component.mjs +53 -0
- package/esm2022/form-controls/checkbox/index.mjs +2 -0
- package/esm2022/form-controls/checkbox/public-api.mjs +3 -0
- package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +32 -0
- package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +5 -0
- package/esm2022/form-controls/date-picker/date-picker.component.mjs +147 -0
- package/esm2022/form-controls/date-picker/index.mjs +2 -0
- package/esm2022/form-controls/date-picker/public-api.mjs +3 -0
- package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +40 -0
- package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +5 -0
- package/esm2022/form-controls/input/directives/input-append.directive.mjs +16 -0
- package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +16 -0
- package/esm2022/form-controls/input/directives/public-api.mjs +3 -0
- package/esm2022/form-controls/input/index.mjs +2 -0
- package/esm2022/form-controls/input/input.component.mjs +189 -0
- package/esm2022/form-controls/input/public-api.mjs +5 -0
- package/esm2022/form-controls/input/types/input.type.mjs +2 -0
- package/esm2022/form-controls/input/types/loader-position.type.mjs +2 -0
- package/esm2022/form-controls/input/types/public-api.mjs +3 -0
- package/esm2022/form-controls/input/upd-input.module.mjs +46 -0
- package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +5 -0
- package/esm2022/form-controls/radio/index.mjs +2 -0
- package/esm2022/form-controls/radio/public-api.mjs +3 -0
- package/esm2022/form-controls/radio/radio.component.mjs +56 -0
- package/esm2022/form-controls/radio/upd-radio.module.mjs +32 -0
- package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +5 -0
- package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +76 -0
- package/esm2022/form-controls/select/components/single/select.component.mjs +72 -0
- package/esm2022/form-controls/select/index.mjs +2 -0
- package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +221 -0
- package/esm2022/form-controls/select/models/defaults.mjs +8 -0
- package/esm2022/form-controls/select/models/public-api.mjs +3 -0
- package/esm2022/form-controls/select/models/select-item.mjs +2 -0
- package/esm2022/form-controls/select/public-api.mjs +5 -0
- package/esm2022/form-controls/select/upd-select.module.mjs +57 -0
- package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +5 -0
- package/esm2022/form-controls/textarea/index.mjs +2 -0
- package/esm2022/form-controls/textarea/public-api.mjs +3 -0
- package/esm2022/form-controls/textarea/textarea.component.mjs +46 -0
- package/esm2022/form-controls/textarea/upd-textarea.module.mjs +24 -0
- package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +5 -0
- package/esm2022/form-controls/time-picker/assets/i18n/en.json +5 -0
- package/esm2022/form-controls/time-picker/assets/i18n/pt.json +5 -0
- package/esm2022/form-controls/time-picker/index.mjs +2 -0
- package/esm2022/form-controls/time-picker/public-api.mjs +4 -0
- package/esm2022/form-controls/time-picker/time-picker.component.mjs +130 -0
- package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +124 -0
- package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +60 -0
- package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +5 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/layout/abstractions/base-page.component.mjs +23 -0
- package/esm2022/layout/abstractions/base.layout.mjs +31 -0
- package/esm2022/layout/abstractions/public-api.mjs +2 -0
- package/esm2022/layout/assets/i18n/en.json +20 -0
- package/esm2022/layout/assets/i18n/pt.json +20 -0
- package/esm2022/layout/index.mjs +2 -0
- package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +11 -0
- package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +24 -0
- package/esm2022/layout/layouts/public-api.mjs +5 -0
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +31 -0
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +80 -0
- package/esm2022/layout/models/login-page-config.model.mjs +20 -0
- package/esm2022/layout/models/login-page.config.mjs +2 -0
- package/esm2022/layout/models/public-api.mjs +3 -0
- package/esm2022/layout/models/security-layout-config.model.mjs +10 -0
- package/esm2022/layout/models/security-layout.config.mjs +2 -0
- package/esm2022/layout/models/upd-layout-config.model.mjs +24 -0
- package/esm2022/layout/models/upd-layout.config.mjs +2 -0
- package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +28 -0
- package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +65 -0
- package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +11 -0
- package/esm2022/layout/pages/auth-flow/login/login.component.mjs +99 -0
- package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +11 -0
- package/esm2022/layout/pages/auth-flow/public-api.mjs +6 -0
- package/esm2022/layout/pages/public-api.mjs +2 -0
- package/esm2022/layout/partials/footer/footer-copyright.directive.mjs +13 -0
- package/esm2022/layout/partials/footer/footer.component.mjs +55 -0
- package/esm2022/layout/partials/footer/public-api.mjs +3 -0
- package/esm2022/layout/partials/header/header-style.type.mjs +2 -0
- package/esm2022/layout/partials/header/header.component.mjs +77 -0
- package/esm2022/layout/partials/header/public-api.mjs +3 -0
- package/esm2022/layout/partials/page-header/page-header.component.mjs +15 -0
- package/esm2022/layout/partials/page-header/public-api.mjs +2 -0
- package/esm2022/layout/partials/public-api.mjs +5 -0
- package/esm2022/layout/partials/sidebar/public-api.mjs +2 -0
- package/esm2022/layout/partials/sidebar/sidebar.component.mjs +112 -0
- package/esm2022/layout/public-api.mjs +8 -0
- package/esm2022/layout/services/public-api.mjs +2 -0
- package/esm2022/layout/services/upd-layout-config.service.mjs +21 -0
- package/esm2022/layout/tools/layout.constants.mjs +15 -0
- package/esm2022/layout/upd-layout.module.mjs +43 -0
- package/esm2022/layout/updevs-components-layout.mjs +5 -0
- package/esm2022/lib/index.mjs +2 -0
- package/esm2022/lib/models/public-api.mjs +2 -0
- package/esm2022/lib/models/row-column-size.mjs +2 -0
- package/esm2022/lib/public-api.mjs +5 -0
- package/esm2022/lib/tools/column-size.helper.mjs +12 -0
- package/esm2022/lib/tools/public-api.mjs +2 -0
- package/esm2022/lib/types/component-size.type.mjs +2 -0
- package/esm2022/lib/types/horizontal-vertical.type.mjs +2 -0
- package/esm2022/lib/types/public-api.mjs +4 -0
- package/esm2022/lib/types/validation-status.type.mjs +2 -0
- package/esm2022/lib/upd-components.module.mjs +14 -0
- package/esm2022/link/index.mjs +2 -0
- package/esm2022/link/link.component.mjs +51 -0
- package/esm2022/link/public-api.mjs +4 -0
- package/esm2022/link/target.type.mjs +2 -0
- package/esm2022/link/upd-link.module.mjs +24 -0
- package/esm2022/link/updevs-components-link.mjs +5 -0
- package/esm2022/list/assets/i18n/en.json +9 -0
- package/esm2022/list/assets/i18n/pt.json +9 -0
- package/esm2022/list/index.mjs +2 -0
- package/esm2022/list/list.component.mjs +113 -0
- package/esm2022/list/models/badge-position.type.mjs +2 -0
- package/esm2022/list/models/list-item.mjs +2 -0
- package/esm2022/list/models/list-item.model.mjs +15 -0
- package/esm2022/list/models/public-api.mjs +3 -0
- package/esm2022/list/public-api.mjs +4 -0
- package/esm2022/list/upd-list.module.mjs +43 -0
- package/esm2022/list/updevs-components-list.mjs +5 -0
- package/esm2022/modal/assets/i18n/en.json +17 -0
- package/esm2022/modal/assets/i18n/pt.json +17 -0
- package/esm2022/modal/components/modal-container/modal-container.component.mjs +216 -0
- package/esm2022/modal/index.mjs +2 -0
- package/esm2022/modal/models/base.modal.mjs +14 -0
- package/esm2022/modal/models/modal-config.model.mjs +20 -0
- package/esm2022/modal/models/modal-ref.mjs +2 -0
- package/esm2022/modal/models/modal.config.mjs +2 -0
- package/esm2022/modal/models/public-api.mjs +4 -0
- package/esm2022/modal/public-api.mjs +4 -0
- package/esm2022/modal/services/modal-alert.service.mjs +99 -0
- package/esm2022/modal/services/modal.service.mjs +30 -0
- package/esm2022/modal/services/public-api.mjs +3 -0
- package/esm2022/modal/types/modal-footer-style.type.mjs +2 -0
- package/esm2022/modal/types/modal-size.type.mjs +2 -0
- package/esm2022/modal/upd-modal.module.mjs +89 -0
- package/esm2022/modal/updevs-components-modal.mjs +5 -0
- package/esm2022/paginator/assets/i18n/en.json +15 -0
- package/esm2022/paginator/assets/i18n/pt.json +15 -0
- package/esm2022/paginator/index.mjs +2 -0
- package/esm2022/paginator/paginator.component.mjs +66 -0
- package/esm2022/paginator/public-api.mjs +3 -0
- package/esm2022/paginator/upd-paginator.module.mjs +46 -0
- package/esm2022/paginator/updevs-components-paginator.mjs +5 -0
- package/esm2022/popover/index.mjs +2 -0
- package/esm2022/popover/popover.component.mjs +65 -0
- package/esm2022/popover/popover.directive.mjs +129 -0
- package/esm2022/popover/public-api.mjs +4 -0
- package/esm2022/popover/upd-popover.module.mjs +29 -0
- package/esm2022/popover/updevs-components-popover.mjs +5 -0
- package/esm2022/public-api.mjs +2 -0
- package/esm2022/table/abstractions/base-column.model.mjs +52 -0
- package/esm2022/table/abstractions/base.column.mjs +98 -0
- package/esm2022/table/abstractions/filters-operands.service.mjs +3 -0
- package/esm2022/table/abstractions/public-api.mjs +3 -0
- package/esm2022/table/assets/i18n/en.json +74 -0
- package/esm2022/table/assets/i18n/pt.json +74 -0
- package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +26 -0
- package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +13 -0
- package/esm2022/table/components/columns/number-column/number-column.component.mjs +13 -0
- package/esm2022/table/components/columns/text-column/text-column.component.mjs +31 -0
- package/esm2022/table/components/columns-manager/columns-manager.component.mjs +36 -0
- package/esm2022/table/components/filter-row/filter-row.component.mjs +114 -0
- package/esm2022/table/components/save-search/save-search.component.mjs +72 -0
- package/esm2022/table/components/search-section/search-section.component.mjs +93 -0
- package/esm2022/table/directives/public-api.mjs +2 -0
- package/esm2022/table/directives/table-column.directive.mjs +51 -0
- package/esm2022/table/index.mjs +2 -0
- package/esm2022/table/models/columns/boolean-column.model.mjs +22 -0
- package/esm2022/table/models/columns/date-time-column.model.mjs +16 -0
- package/esm2022/table/models/columns/guid-column.model.mjs +13 -0
- package/esm2022/table/models/columns/image-column.model.mjs +11 -0
- package/esm2022/table/models/columns/number-column.model.mjs +17 -0
- package/esm2022/table/models/columns/public-api.mjs +7 -0
- package/esm2022/table/models/columns/text-column.model.mjs +11 -0
- package/esm2022/table/models/enums/column-type.enum.mjs +15 -0
- package/esm2022/table/models/enums/public-api.mjs +2 -0
- package/esm2022/table/models/filter-item.model.mjs +2 -0
- package/esm2022/table/models/filter-operand.config.mjs +2 -0
- package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +25 -0
- package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +25 -0
- package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +31 -0
- package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +31 -0
- package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +16 -0
- package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +25 -0
- package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +45 -0
- package/esm2022/table/models/public-api.mjs +5 -0
- package/esm2022/table/models/saved-view.model.mjs +2 -0
- package/esm2022/table/models/table-config.model.mjs +21 -0
- package/esm2022/table/models/table.config.mjs +2 -0
- package/esm2022/table/models/upd-table-config.model.mjs +9 -0
- package/esm2022/table/models/upd-table.config.mjs +2 -0
- package/esm2022/table/public-api.mjs +6 -0
- package/esm2022/table/services/default-filters-operands.service.mjs +60 -0
- package/esm2022/table/services/storages/saved-views.storage.mjs +63 -0
- package/esm2022/table/services/stores/filters-operands.store.mjs +19 -0
- package/esm2022/table/services/upd-table-config.service.mjs +18 -0
- package/esm2022/table/table.component.mjs +382 -0
- package/esm2022/table/tools/filters.tools.mjs +48 -0
- package/esm2022/table/tools/table.constants.mjs +15 -0
- package/esm2022/table/upd-table.module.mjs +149 -0
- package/esm2022/table/updevs-components-table.mjs +5 -0
- package/esm2022/updevs-components.mjs +5 -0
- package/fesm2022/updevs-components-badge.mjs +91 -0
- package/fesm2022/updevs-components-badge.mjs.map +1 -0
- package/fesm2022/updevs-components-button.mjs +193 -0
- package/fesm2022/updevs-components-button.mjs.map +1 -0
- package/fesm2022/updevs-components-calendar.mjs +1711 -0
- package/fesm2022/updevs-components-calendar.mjs.map +1 -0
- package/fesm2022/updevs-components-card.mjs +238 -0
- package/fesm2022/updevs-components-card.mjs.map +1 -0
- package/fesm2022/updevs-components-drag-and-drop.mjs +185 -0
- package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -0
- package/fesm2022/updevs-components-dropdown.mjs +226 -0
- package/fesm2022/updevs-components-dropdown.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-abstractions.mjs +47 -0
- package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-checkbox.mjs +89 -0
- package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-date-picker.mjs +190 -0
- package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-input.mjs +263 -0
- package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-radio.mjs +92 -0
- package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-select.mjs +423 -0
- package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-textarea.mjs +74 -0
- package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-time-picker.mjs +344 -0
- package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -0
- package/fesm2022/updevs-components-form.mjs +378 -0
- package/fesm2022/updevs-components-form.mjs.map +1 -0
- package/fesm2022/updevs-components-layout.mjs +787 -0
- package/fesm2022/updevs-components-layout.mjs.map +1 -0
- package/fesm2022/updevs-components-link.mjs +79 -0
- package/fesm2022/updevs-components-link.mjs.map +1 -0
- package/fesm2022/updevs-components-list.mjs +205 -0
- package/fesm2022/updevs-components-list.mjs.map +1 -0
- package/fesm2022/updevs-components-modal.mjs +503 -0
- package/fesm2022/updevs-components-modal.mjs.map +1 -0
- package/fesm2022/updevs-components-paginator.mjs +159 -0
- package/fesm2022/updevs-components-paginator.mjs.map +1 -0
- package/fesm2022/updevs-components-popover.mjs +223 -0
- package/fesm2022/updevs-components-popover.mjs.map +1 -0
- package/fesm2022/updevs-components-table.mjs +1715 -0
- package/fesm2022/updevs-components-table.mjs.map +1 -0
- package/fesm2022/updevs-components.mjs +33 -0
- package/fesm2022/updevs-components.mjs.map +1 -0
- package/form/components/dynamic-field/dynamic-field.component.d.ts +45 -0
- package/form/form.component.d.ts +60 -0
- package/form/index.d.ts +1 -0
- package/form/models/checkbox-field.model.d.ts +4 -0
- package/form/models/checkbox-group-field.model.d.ts +6 -0
- package/form/models/dynamic-field.model.d.ts +30 -0
- package/form/models/enums/dynamic-field.type.d.ts +12 -0
- package/form/models/enums/public-api.d.ts +1 -0
- package/form/models/form-row.model.d.ts +8 -0
- package/form/models/public-api.d.ts +5 -0
- package/form/models/radio-field.model.d.ts +4 -0
- package/form/models/radio-group-field.model.d.ts +6 -0
- package/form/models/select-field.model.d.ts +28 -0
- package/form/models/single-select-field.model.d.ts +4 -0
- package/form/models/textarea-field.model.d.ts +10 -0
- package/form/models/validator-config.d.ts +5 -0
- package/form/public-api.d.ts +3 -0
- package/form/tools/errors-helper.d.ts +11 -0
- package/form/upd-form.module.d.ts +20 -0
- package/form-controls/abstractions/base-control.d.ts +24 -0
- package/form-controls/abstractions/index.d.ts +2 -0
- package/form-controls/abstractions/public-api.d.ts +2 -0
- package/form-controls/checkbox/checkbox.component.d.ts +21 -0
- package/form-controls/checkbox/index.d.ts +1 -0
- package/form-controls/checkbox/public-api.d.ts +2 -0
- package/form-controls/checkbox/upd-checkbox.module.d.ts +10 -0
- package/form-controls/date-picker/date-picker.component.d.ts +87 -0
- package/form-controls/date-picker/index.d.ts +1 -0
- package/form-controls/date-picker/public-api.d.ts +2 -0
- package/form-controls/date-picker/upd-date-picker.module.d.ts +12 -0
- package/form-controls/input/directives/input-append.directive.d.ts +7 -0
- package/form-controls/input/directives/input-prepend.directive.d.ts +7 -0
- package/form-controls/input/directives/public-api.d.ts +2 -0
- package/form-controls/input/index.d.ts +1 -0
- package/form-controls/input/input.component.d.ts +66 -0
- package/form-controls/input/public-api.d.ts +4 -0
- package/form-controls/input/types/input.type.d.ts +1 -0
- package/form-controls/input/types/loader-position.type.d.ts +1 -0
- package/form-controls/input/types/public-api.d.ts +2 -0
- package/form-controls/input/upd-input.module.d.ts +13 -0
- package/form-controls/radio/index.d.ts +1 -0
- package/form-controls/radio/public-api.d.ts +2 -0
- package/form-controls/radio/radio.component.d.ts +19 -0
- package/form-controls/radio/upd-radio.module.d.ts +10 -0
- package/form-controls/select/components/multiple/select-multiple.component.d.ts +25 -0
- package/form-controls/select/components/single/select.component.d.ts +26 -0
- package/form-controls/select/index.d.ts +1 -0
- package/form-controls/select/models/abstractions/base-select.component.d.ts +83 -0
- package/form-controls/select/models/defaults.d.ts +8 -0
- package/form-controls/select/models/public-api.d.ts +2 -0
- package/form-controls/select/models/select-item.d.ts +25 -0
- package/form-controls/select/public-api.d.ts +4 -0
- package/form-controls/select/upd-select.module.d.ts +16 -0
- package/form-controls/textarea/index.d.ts +1 -0
- package/form-controls/textarea/public-api.d.ts +2 -0
- package/form-controls/textarea/textarea.component.d.ts +21 -0
- package/form-controls/textarea/upd-textarea.module.d.ts +8 -0
- package/form-controls/time-picker/index.d.ts +1 -0
- package/form-controls/time-picker/public-api.d.ts +3 -0
- package/form-controls/time-picker/time-picker.component.d.ts +78 -0
- package/form-controls/time-picker/time-selector/time-selector.component.d.ts +69 -0
- package/form-controls/time-picker/upd-time-picker.module.d.ts +17 -0
- package/index.d.ts +2 -0
- package/layout/abstractions/base-page.component.d.ts +12 -0
- package/layout/abstractions/base.layout.d.ts +15 -0
- package/layout/abstractions/public-api.d.ts +1 -0
- package/layout/index.d.ts +1 -0
- package/layout/layouts/blank-layout/blank-layout.component.d.ts +5 -0
- package/layout/layouts/blank-layout/blank-layout.module.d.ts +8 -0
- package/layout/layouts/public-api.d.ts +4 -0
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +12 -0
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +21 -0
- package/layout/models/login-page-config.model.d.ts +37 -0
- package/layout/models/login-page.config.d.ts +35 -0
- package/layout/models/public-api.d.ts +2 -0
- package/layout/models/security-layout-config.model.d.ts +12 -0
- package/layout/models/security-layout.config.d.ts +10 -0
- package/layout/models/upd-layout-config.model.d.ts +48 -0
- package/layout/models/upd-layout.config.d.ts +46 -0
- package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +12 -0
- package/layout/pages/auth-flow/auth-flow.module.d.ts +18 -0
- package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +5 -0
- package/layout/pages/auth-flow/login/login.component.d.ts +23 -0
- package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +5 -0
- package/layout/pages/auth-flow/public-api.d.ts +5 -0
- package/layout/pages/public-api.d.ts +1 -0
- package/layout/partials/footer/footer-copyright.directive.d.ts +5 -0
- package/layout/partials/footer/footer.component.d.ts +34 -0
- package/layout/partials/footer/public-api.d.ts +2 -0
- package/layout/partials/header/header-style.type.d.ts +1 -0
- package/layout/partials/header/header.component.d.ts +31 -0
- package/layout/partials/header/public-api.d.ts +2 -0
- package/layout/partials/page-header/page-header.component.d.ts +7 -0
- package/layout/partials/page-header/public-api.d.ts +1 -0
- package/layout/partials/public-api.d.ts +4 -0
- package/layout/partials/sidebar/public-api.d.ts +1 -0
- package/layout/partials/sidebar/sidebar.component.d.ts +22 -0
- package/layout/public-api.d.ts +7 -0
- package/layout/services/public-api.d.ts +1 -0
- package/layout/services/upd-layout-config.service.d.ts +15 -0
- package/layout/tools/layout.constants.d.ts +15 -0
- package/layout/upd-layout.module.d.ts +18 -0
- package/lib/index.d.ts +2 -0
- package/lib/models/public-api.d.ts +2 -0
- package/lib/models/row-column-size.d.ts +6 -0
- package/lib/public-api.d.ts +5 -0
- package/lib/tools/column-size.helper.d.ts +6 -0
- package/lib/tools/public-api.d.ts +2 -0
- package/lib/types/component-size.type.d.ts +2 -0
- package/lib/types/horizontal-vertical.type.d.ts +2 -0
- package/lib/types/public-api.d.ts +4 -0
- package/lib/types/validation-status.type.d.ts +2 -0
- package/lib/upd-components.module.d.ts +7 -0
- package/link/index.d.ts +1 -0
- package/link/link.component.d.ts +22 -0
- package/link/public-api.d.ts +3 -0
- package/link/target.type.d.ts +1 -0
- package/link/upd-link.module.d.ts +8 -0
- package/list/index.d.ts +1 -0
- package/list/list.component.d.ts +46 -0
- package/list/models/badge-position.type.d.ts +1 -0
- package/list/models/list-item.d.ts +20 -0
- package/list/models/list-item.model.d.ts +25 -0
- package/list/models/public-api.d.ts +2 -0
- package/list/public-api.d.ts +3 -0
- package/list/upd-list.module.d.ts +13 -0
- package/modal/components/modal-container/modal-container.component.d.ts +74 -0
- package/modal/index.d.ts +1 -0
- package/modal/models/base.modal.d.ts +8 -0
- package/modal/models/modal-config.model.d.ts +32 -0
- package/modal/models/modal-ref.d.ts +6 -0
- package/modal/models/modal.config.d.ts +30 -0
- package/modal/models/public-api.d.ts +3 -0
- package/modal/public-api.d.ts +3 -0
- package/modal/services/modal-alert.service.d.ts +22 -0
- package/modal/services/modal.service.d.ts +12 -0
- package/modal/services/public-api.d.ts +2 -0
- package/modal/types/modal-footer-style.type.d.ts +1 -0
- package/modal/types/modal-size.type.d.ts +1 -0
- package/modal/upd-modal.module.d.ts +18 -0
- package/package.json +158 -14
- package/paginator/index.d.ts +1 -0
- package/paginator/paginator.component.d.ts +42 -0
- package/paginator/public-api.d.ts +2 -0
- package/paginator/upd-paginator.module.d.ts +14 -0
- package/popover/index.d.ts +1 -0
- package/popover/popover.component.d.ts +22 -0
- package/popover/popover.directive.d.ts +33 -0
- package/popover/public-api.d.ts +3 -0
- package/popover/upd-popover.module.d.ts +9 -0
- package/public-api.d.ts +2 -0
- package/table/abstractions/base-column.model.d.ts +31 -0
- package/table/abstractions/base.column.d.ts +22 -0
- package/table/abstractions/filters-operands.service.d.ts +8 -0
- package/table/abstractions/public-api.d.ts +2 -0
- package/table/components/columns/boolean-column/boolean-column.component.d.ts +9 -0
- package/table/components/columns/date-time-column/date-time-column.component.d.ts +7 -0
- package/table/components/columns/number-column/number-column.component.d.ts +7 -0
- package/table/components/columns/text-column/text-column.component.d.ts +9 -0
- package/table/components/columns-manager/columns-manager.component.d.ts +15 -0
- package/table/components/filter-row/filter-row.component.d.ts +40 -0
- package/table/components/save-search/save-search.component.d.ts +17 -0
- package/table/components/search-section/search-section.component.d.ts +36 -0
- package/table/directives/public-api.d.ts +1 -0
- package/table/directives/table-column.directive.d.ts +14 -0
- package/table/index.d.ts +1 -0
- package/table/models/columns/boolean-column.model.d.ts +15 -0
- package/table/models/columns/date-time-column.model.d.ts +8 -0
- package/table/models/columns/guid-column.model.d.ts +4 -0
- package/table/models/columns/image-column.model.d.ts +6 -0
- package/table/models/columns/number-column.model.d.ts +8 -0
- package/table/models/columns/public-api.d.ts +6 -0
- package/table/models/columns/text-column.model.d.ts +6 -0
- package/table/models/enums/column-type.enum.d.ts +13 -0
- package/table/models/enums/public-api.d.ts +1 -0
- package/table/models/filter-item.model.d.ts +6 -0
- package/table/models/filter-operand.config.d.ts +9 -0
- package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +6 -0
- package/table/models/operands-lists/date-filter-operands-list.model.d.ts +6 -0
- package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +5 -0
- package/table/models/operands-lists/filter-operands-list.config.d.ts +5 -0
- package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +6 -0
- package/table/models/operands-lists/number-filter-operands-list.model.d.ts +6 -0
- package/table/models/operands-lists/string-filter-operands-list.model.d.ts +6 -0
- package/table/models/public-api.d.ts +4 -0
- package/table/models/saved-view.model.d.ts +11 -0
- package/table/models/table-config.model.d.ts +24 -0
- package/table/models/table.config.d.ts +22 -0
- package/table/models/upd-table-config.model.d.ts +6 -0
- package/table/models/upd-table.config.d.ts +6 -0
- package/table/public-api.d.ts +5 -0
- package/table/services/default-filters-operands.service.d.ts +17 -0
- package/table/services/storages/saved-views.storage.d.ts +22 -0
- package/table/services/stores/filters-operands.store.d.ts +11 -0
- package/table/services/upd-table-config.service.d.ts +12 -0
- package/table/table.component.d.ts +78 -0
- package/table/tools/filters.tools.d.ts +9 -0
- package/table/tools/table.constants.d.ts +15 -0
- package/table/upd-table.module.d.ts +40 -0
- package/CHANGELOG.md +0 -8
- package/ng-package.json +0 -7
- package/src/lib/components.component.spec.ts +0 -23
- package/src/lib/components.component.ts +0 -14
- package/src/lib/components.module.ts +0 -17
- package/src/lib/components.service.spec.ts +0 -16
- package/src/lib/components.service.ts +0 -9
- package/src/public-api.ts +0 -7
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Component, ViewEncapsulation, Input, HostBinding, inject } from '@angular/core';
|
|
2
|
+
import { UpdCoreLayoutConfigService, BaseComponent, LayoutService } from '@updevs/sdk/layout';
|
|
3
|
+
import { TranslocoService } from '@jsverse/transloco';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@updevs/icons";
|
|
6
|
+
import * as i2 from "@updevs/components/link";
|
|
7
|
+
export class HeaderComponent extends BaseComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.wrapperClasses = '';
|
|
11
|
+
this.style = 'light';
|
|
12
|
+
this.showSearchBar = true;
|
|
13
|
+
this.nextThemeIcon = 'moon';
|
|
14
|
+
this.nextThemeColor = 'black';
|
|
15
|
+
this.currentNotificationsIcon = 'bell';
|
|
16
|
+
this.hasNewNotifications = false;
|
|
17
|
+
this.showNotifications = false;
|
|
18
|
+
this.showLanguageSwitcher = true; // TODO: add on config.
|
|
19
|
+
this.showUserMenu = false;
|
|
20
|
+
this.baseWrapperClasses = 'navbar navbar-expand-md d-none d-lg-flex d-print-none';
|
|
21
|
+
this.coreLayoutConfigService = inject(UpdCoreLayoutConfigService);
|
|
22
|
+
this.layoutService = inject(LayoutService);
|
|
23
|
+
this.translocoService = inject(TranslocoService);
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
this.updateWrapperClasses();
|
|
27
|
+
if (this.coreLayoutConfigService.config.showNotificationsButton) {
|
|
28
|
+
this.setupNotifications();
|
|
29
|
+
}
|
|
30
|
+
if (this.coreLayoutConfigService.config.showUserMenu) {
|
|
31
|
+
this.showUserMenu = true;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
ngOnChanges(changes) {
|
|
35
|
+
if (!!changes['style'].currentValue) {
|
|
36
|
+
this.updateWrapperClasses();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
switchTheme() {
|
|
40
|
+
const isDarkMode = this.nextThemeIcon === 'moon';
|
|
41
|
+
this.nextThemeIcon = isDarkMode ? 'sun' : 'moon';
|
|
42
|
+
this.nextThemeColor = isDarkMode ? 'white' : 'black';
|
|
43
|
+
this.layoutService.toggleDarkMode(isDarkMode);
|
|
44
|
+
}
|
|
45
|
+
// TODO: implement.
|
|
46
|
+
switchLanguage() {
|
|
47
|
+
const currentLang = this.translocoService.getActiveLang();
|
|
48
|
+
this.translocoService.setActiveLang(currentLang === 'en' ? 'pt' : 'en');
|
|
49
|
+
}
|
|
50
|
+
openNotifications() {
|
|
51
|
+
this.updateNotificationsIcon();
|
|
52
|
+
}
|
|
53
|
+
setupNotifications() {
|
|
54
|
+
this.showNotifications = true;
|
|
55
|
+
}
|
|
56
|
+
updateNotificationsIcon() {
|
|
57
|
+
this.currentNotificationsIcon = this.currentNotificationsIcon === 'bell' ? 'bell-ringing' : 'bell';
|
|
58
|
+
this.hasNewNotifications = !this.hasNewNotifications;
|
|
59
|
+
}
|
|
60
|
+
updateWrapperClasses() {
|
|
61
|
+
this.wrapperClasses = `${this.baseWrapperClasses} navbar-${this.style}`;
|
|
62
|
+
}
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
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.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 }); }
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
67
|
+
type: Component,
|
|
68
|
+
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" }]
|
|
69
|
+
}], propDecorators: { wrapperClasses: [{
|
|
70
|
+
type: HostBinding,
|
|
71
|
+
args: ['class']
|
|
72
|
+
}], style: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], showSearchBar: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}] } });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvcGFydGlhbHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQW9DLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBVXRELE1BQU0sT0FBTyxlQUFnQixTQUFRLGFBQWE7SUFObEQ7O1FBTzBCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBRWpDLFVBQUssR0FBb0IsT0FBTyxDQUFDO1FBQ2pDLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBRTlCLGtCQUFhLEdBQW9CLE1BQU0sQ0FBQztRQUN4QyxtQkFBYyxHQUFHLE9BQU8sQ0FBQztRQUN6Qiw2QkFBd0IsR0FBb0IsTUFBTSxDQUFDO1FBQ25ELHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUM1QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIseUJBQW9CLEdBQUcsSUFBSSxDQUFDLENBQUMsdUJBQXVCO1FBQ3BELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRWIsdUJBQWtCLEdBQUcsdURBQXVELENBQUM7UUFFcEUsNEJBQXVCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FrRGhFO0lBaERHLFFBQVE7UUFDSixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUU1QixJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUM5RCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU0sQ0FBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBRXJELElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsY0FBYztRQUNWLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNuRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDekQsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixXQUFXLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1RSxDQUFDOzhHQW5FUSxlQUFlO2tHQUFmLGVBQWUsb05DYjVCLHV0WEE2S0E7OzJGRGhLYSxlQUFlO2tCQU4zQixTQUFTOytCQUNJLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSTs4QkFHZixjQUFjO3NCQUFuQyxXQUFXO3VCQUFDLE9BQU87Z0JBRVgsS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCwgSG9zdEJpbmRpbmcsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVwZENvcmVMYXlvdXRDb25maWdTZXJ2aWNlLCBCYXNlQ29tcG9uZW50LCBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcbmltcG9ydCB7IFRhYmxlckljb25zVHlwZSB9IGZyb20gJ0B1cGRldnMvaWNvbnMnO1xuaW1wb3J0IHsgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5cbmltcG9ydCB7IEhlYWRlclN0eWxlVHlwZSB9IGZyb20gJy4vaGVhZGVyLXN0eWxlLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1oZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgd3JhcHBlckNsYXNzZXMgPSAnJztcblxuICAgIEBJbnB1dCgpIHN0eWxlOiBIZWFkZXJTdHlsZVR5cGUgPSAnbGlnaHQnO1xuICAgIEBJbnB1dCgpIHNob3dTZWFyY2hCYXIgPSB0cnVlO1xuXG4gICAgbmV4dFRoZW1lSWNvbjogVGFibGVySWNvbnNUeXBlID0gJ21vb24nO1xuICAgIG5leHRUaGVtZUNvbG9yID0gJ2JsYWNrJztcbiAgICBjdXJyZW50Tm90aWZpY2F0aW9uc0ljb246IFRhYmxlckljb25zVHlwZSA9ICdiZWxsJztcbiAgICBoYXNOZXdOb3RpZmljYXRpb25zID0gZmFsc2U7XG4gICAgc2hvd05vdGlmaWNhdGlvbnMgPSBmYWxzZTtcbiAgICBzaG93TGFuZ3VhZ2VTd2l0Y2hlciA9IHRydWU7IC8vIFRPRE86IGFkZCBvbiBjb25maWcuXG4gICAgc2hvd1VzZXJNZW51ID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGJhc2VXcmFwcGVyQ2xhc3NlcyA9ICduYXZiYXIgbmF2YmFyLWV4cGFuZC1tZCBkLW5vbmUgZC1sZy1mbGV4IGQtcHJpbnQtbm9uZSc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvcmVMYXlvdXRDb25maWdTZXJ2aWNlID0gaW5qZWN0KFVwZENvcmVMYXlvdXRDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxheW91dFNlcnZpY2UgPSBpbmplY3QoTGF5b3V0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xvY29TZXJ2aWNlID0gaW5qZWN0KFRyYW5zbG9jb1NlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlV3JhcHBlckNsYXNzZXMoKTtcblxuICAgICAgICBpZiAodGhpcy5jb3JlTGF5b3V0Q29uZmlnU2VydmljZS5jb25maWcuc2hvd05vdGlmaWNhdGlvbnNCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXBOb3RpZmljYXRpb25zKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb3JlTGF5b3V0Q29uZmlnU2VydmljZS5jb25maWcuc2hvd1VzZXJNZW51KSB7XG4gICAgICAgICAgICB0aGlzLnNob3dVc2VyTWVudSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghIWNoYW5nZXNbJ3N0eWxlJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVdyYXBwZXJDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2hUaGVtZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNEYXJrTW9kZSA9IHRoaXMubmV4dFRoZW1lSWNvbiA9PT0gJ21vb24nO1xuICAgICAgICB0aGlzLm5leHRUaGVtZUljb24gPSBpc0RhcmtNb2RlID8gJ3N1bicgOiAnbW9vbic7XG4gICAgICAgIHRoaXMubmV4dFRoZW1lQ29sb3IgPSBpc0RhcmtNb2RlID8gJ3doaXRlJyA6ICdibGFjayc7XG5cbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnRvZ2dsZURhcmtNb2RlKGlzRGFya01vZGUpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGltcGxlbWVudC5cbiAgICBzd2l0Y2hMYW5ndWFnZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudExhbmcgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UuZ2V0QWN0aXZlTGFuZygpO1xuICAgICAgICB0aGlzLnRyYW5zbG9jb1NlcnZpY2Uuc2V0QWN0aXZlTGFuZyhjdXJyZW50TGFuZyA9PT0gJ2VuJyA/ICdwdCcgOiAnZW4nKTtcbiAgICB9XG5cbiAgICBvcGVuTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVOb3RpZmljYXRpb25zSWNvbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBOb3RpZmljYXRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dOb3RpZmljYXRpb25zID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU5vdGlmaWNhdGlvbnNJY29uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnROb3RpZmljYXRpb25zSWNvbiA9IHRoaXMuY3VycmVudE5vdGlmaWNhdGlvbnNJY29uID09PSAnYmVsbCcgPyAnYmVsbC1yaW5naW5nJyA6ICdiZWxsJztcbiAgICAgICAgdGhpcy5oYXNOZXdOb3RpZmljYXRpb25zID0gIXRoaXMuaGFzTmV3Tm90aWZpY2F0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVdyYXBwZXJDbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyYXBwZXJDbGFzc2VzID0gYCR7dGhpcy5iYXNlV3JhcHBlckNsYXNzZXN9IG5hdmJhci0ke3RoaXMuc3R5bGV9YDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXhsXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cIm5hdmJhci1uYXYgZmxleC1yb3cgb3JkZXItbWQtbGFzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ub25lIGQtbWQtZmxleCBtZS0zXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8dXBkLWxpbmsgW2lzTmF2aWdhdGlvbl09XCJ0cnVlXCIgW2N1c3RvbUNsYXNzZXNdPVwiWydweC0wJ11cIiAoY2xpY2tlZCk9XCJzd2l0Y2hUaGVtZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbdGFibGVySWNvbl09XCJuZXh0VGhlbWVJY29uXCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3VwZC1saW5rPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKHNob3dMYW5ndWFnZVN3aXRjaGVyKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtbGluayBbaXNOYXZpZ2F0aW9uXT1cInRydWVcIiBbY3VzdG9tQ2xhc3Nlc109XCJbJ3B4LTAnXVwiIChjbGlja2VkKT1cInN3aXRjaExhbmd1YWdlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiB0YWJsZXJJY29uPVwiZmxhZ1wiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvdXBkLWxpbms+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHNob3dOb3RpZmljYXRpb25zKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtIGRyb3Bkb3duIGQtbm9uZSBkLW1kLWZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVwZC1saW5rIFtpc05hdmlnYXRpb25dPVwidHJ1ZVwiIFtjdXN0b21DbGFzc2VzXT1cIlsncHgtMCddXCIgKGNsaWNrZWQpPVwib3Blbk5vdGlmaWNhdGlvbnMoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIFt0YWJsZXJJY29uXT1cImN1cnJlbnROb3RpZmljYXRpb25zSWNvblwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGhhc05ld05vdGlmaWNhdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJnLXJlZFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC91cGQtbGluaz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1hcnJvdyBkcm9wZG93bi1tZW51LWVuZCBkcm9wZG93bi1tZW51LWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGVcIj5MYXN0IHVwZGF0ZXM8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWdyb3VwIGxpc3QtZ3JvdXAtZmx1c2ggbGlzdC1ncm91cC1ob3ZlcmFibGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj48c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0YXR1cy1kb3Qgc3RhdHVzLWRvdC1hbmltYXRlZCBiZy1yZWQgZC1ibG9ja1wiPjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHRleHQtdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInRleHQtYm9keSBkLWJsb2NrXCI+RXhhbXBsZSAxPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ibG9jayB0ZXh0LW11dGVkIHRleHQtdHJ1bmNhdGUgbXQtbjFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYW5nZSBkZXByZWNhdGVkIGh0bWwgdGFncyB0byB0ZXh0IGRlY29yYXRpb24gY2xhc3NlcyAoIzI5NjA0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbS1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIERvd25sb2FkIFNWRyBpY29uIGZyb20gaHR0cDovL3RhYmxlci1pY29ucy5pby9pL3N0YXIgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBjbGFzcz1cImljb24gdGV4dC1tdXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDE3Ljc1bC02LjE3MiAzLjI0NWwxLjE3OSAtNi44NzNsLTUgLTQuODY3bDYuOSAtMWwzLjA4NiAtNi4yNTNsMy4wODYgNi4yNTNsNi45IDFsLTUgNC44NjdsMS4xNzkgNi44NzN6XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj48c3BhbiBjbGFzcz1cInN0YXR1cy1kb3QgZC1ibG9ja1wiPjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHRleHQtdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInRleHQtYm9keSBkLWJsb2NrXCI+RXhhbXBsZSAyPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ibG9jayB0ZXh0LW11dGVkIHRleHQtdHJ1bmNhdGUgbXQtbjFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDpiZXR3ZWVuIOKHkiBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiAoIzI5NzM0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbS1hY3Rpb25zIHNob3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRG93bmxvYWQgU1ZHIGljb24gZnJvbSBodHRwOi8vdGFibGVyLWljb25zLmlvL2kvc3RhciAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGNsYXNzPVwiaWNvbiB0ZXh0LXllbGxvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDE3Ljc1bC02LjE3MiAzLjI0NWwxLjE3OSAtNi44NzNsLTUgLTQuODY3bDYuOSAtMWwzLjA4NiAtNi4yNTNsMy4wODYgNi4yNTNsNi45IDFsLTUgNC44NjdsMS4xNzkgNi44NzN6XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj48c3BhbiBjbGFzcz1cInN0YXR1cy1kb3QgZC1ibG9ja1wiPjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHRleHQtdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInRleHQtYm9keSBkLWJsb2NrXCI+RXhhbXBsZSAzPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ibG9jayB0ZXh0LW11dGVkIHRleHQtdHJ1bmNhdGUgbXQtbjFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwZGF0ZSBjaGFuZ2UtdmVyc2lvbi5qcyAoIzI5NzM2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbS1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIERvd25sb2FkIFNWRyBpY29uIGZyb20gaHR0cDovL3RhYmxlci1pY29ucy5pby9pL3N0YXIgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBjbGFzcz1cImljb24gdGV4dC1tdXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDE3Ljc1bC02LjE3MiAzLjI0NWwxLjE3OSAtNi44NzNsLTUgLTQuODY3bDYuOSAtMWwzLjA4NiAtNi4yNTNsMy4wODYgNi4yNTNsNi45IDFsLTUgNC44NjdsMS4xNzkgNi44NzN6XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj48c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0YXR1cy1kb3Qgc3RhdHVzLWRvdC1hbmltYXRlZCBiZy1ncmVlbiBkLWJsb2NrXCI+PC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgdGV4dC10cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwidGV4dC1ib2R5IGQtYmxvY2tcIj5FeGFtcGxlIDQ8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWJsb2NrIHRleHQtbXV0ZWQgdGV4dC10cnVuY2F0ZSBtdC1uMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnZW5lcmF0ZSBwYWNrYWdlLWxvY2suanNvbiAoIzI5NzMwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbS1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIERvd25sb2FkIFNWRyBpY29uIGZyb20gaHR0cDovL3RhYmxlci1pY29ucy5pby9pL3N0YXIgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBjbGFzcz1cImljb24gdGV4dC1tdXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDE3Ljc1bC02LjE3MiAzLjI0NWwxLjE3OSAtNi44NzNsLTUgLTQuODY3bDYuOSAtMWwzLjA4NiAtNi4yNTNsMy4wODYgNi4yNTNsNi45IDFsLTUgNC44NjdsMS4xNzkgNi44NzN6XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAoc2hvd1VzZXJNZW51KSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW0gZHJvcGRvd25cIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwibmF2LWxpbmsgZC1mbGV4IGxoLTEgdGV4dC1yZXNldCBwLTBcIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk9wZW4gdXNlciBtZW51XCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS08c3BhbiBjbGFzcz1cImF2YXRhciBhdmF0YXItc21cIiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IHVybCguL3N0YXRpYy9hdmF0YXJzLzAwMG0uanBnKVwiPjwvc3Bhbj4tLT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhdmF0YXIgYXZhdGFyLXNtXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ub25lIGQteGwtYmxvY2sgcHMtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5Fcm9zIFN0ZWluPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMSBzbWFsbCB0ZXh0LW11dGVkXCI+QWRtaW5pc3RyYXRvcjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1lbmQgZHJvcGRvd24tbWVudS1hcnJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlN0YXR1czwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIi4vcHJvZmlsZS5odG1sXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+UHJvZmlsZTwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5GZWVkYmFjazwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIi4vc2V0dGluZ3MuaHRtbFwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlNldHRpbmdzPC9hPlxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiLi9zaWduLWluLmh0bWxcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5Mb2dvdXQ8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIEBpZiAoc2hvd1NlYXJjaEJhcikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlXCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIG5vdmFsaWRhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWljb24tYWRkb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gdGFibGVySWNvbj1cInNlYXJjaFwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2jigKZcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './header.component';
|
|
2
|
+
export * from './header-style.type';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL2hlYWRlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hlYWRlci1zdHlsZS50eXBlJztcbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { PageHeaderModel } from '@updevs/sdk/layout';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@updevs/components/button";
|
|
5
|
+
export class PageHeaderComponent {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: PageHeaderComponent, selector: "upd-page-header", inputs: { model: "model" }, 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.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title"], outputs: ["clicked"] }] }); }
|
|
8
|
+
}
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PageHeaderComponent, decorators: [{
|
|
10
|
+
type: Component,
|
|
11
|
+
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!\"></upd-button>\n }\n </div>\n </div>\n }\n </div>\n </div>\n</div>\n" }]
|
|
12
|
+
}], propDecorators: { model: [{
|
|
13
|
+
type: Input
|
|
14
|
+
}] } });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvcGFydGlhbHMvcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvcGFydGlhbHMvcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFPckQsTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1CO2tHQUFuQixtQkFBbUIsbUZDUmhDLHUwQkF1QkE7OzJGRGZhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSxpQkFBaUI7OEJBS2xCLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhZ2VIZWFkZXJNb2RlbCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLXBhZ2UtaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGFnZUhlYWRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgbW9kZWwhOiBQYWdlSGVhZGVyTW9kZWw7XG59XG4iLCI8ZGl2IGNsYXNzPVwicGFnZS1oZWFkZXIgZC1wcmludC1ub25lXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci14bFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGctMiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS1wcmV0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBtb2RlbC50aXRsZUhlYWRlciB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInBhZ2UtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbW9kZWwudGl0bGUgfX1cbiAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKG1vZGVsLmFjdGlvbkJ1dHRvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBtcy1hdXRvIGQtcHJpbnQtbm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGJ0biBvZiBtb2RlbC5hY3Rpb25CdXR0b25zOyB0cmFjayBidG4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWJ1dHRvbiBbbW9kZWxdPVwiYnRuIVwiPjwvdXBkLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './page-header.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL3BhZ2UtaGVhZGVyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGFnZS1oZWFkZXIuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './footer/public-api';
|
|
2
|
+
export * from './header/public-api';
|
|
3
|
+
export * from './page-header/public-api';
|
|
4
|
+
export * from './sidebar/public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9vdGVyL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9oZWFkZXIvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2UtaGVhZGVyL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9zaWRlYmFyL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './sidebar.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL3NpZGViYXIvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaWRlYmFyLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { Component, HostBinding, ViewEncapsulation, inject } from '@angular/core';
|
|
2
|
+
import { Router, NavigationStart } from '@angular/router';
|
|
3
|
+
import { MenuService } from '@updevs/sdk/routes';
|
|
4
|
+
import { BaseComponent } from '@updevs/sdk/layout';
|
|
5
|
+
import { filter } from 'rxjs';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@updevs/icons";
|
|
9
|
+
import * as i3 from "@updevs/components/link";
|
|
10
|
+
export class SidebarComponent extends BaseComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.wrapperClasses = 'navbar navbar-vertical navbar-expand-lg';
|
|
14
|
+
this.theme = 'dark';
|
|
15
|
+
this.menuItems = [];
|
|
16
|
+
this.router = inject(Router);
|
|
17
|
+
this.menuService = inject(MenuService);
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.menuItems = this.menuService.generateMenu();
|
|
21
|
+
const routerSub = this.router.events.pipe(filter(event => event instanceof NavigationStart)).subscribe(event => this.updateActiveRoute(event.url));
|
|
22
|
+
this.updateActiveRoute(this.router.url);
|
|
23
|
+
this.addSubscriptions(routerSub);
|
|
24
|
+
}
|
|
25
|
+
onMenuItemClick(item) {
|
|
26
|
+
if (item.isLocked) {
|
|
27
|
+
if (!!item.lockedClickFunction) {
|
|
28
|
+
item.lockedClickFunction();
|
|
29
|
+
}
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
this.resetMenuState(this.menuItems);
|
|
33
|
+
item.isActive = true;
|
|
34
|
+
this.updateParents(item);
|
|
35
|
+
if (!!item.clickFunction) {
|
|
36
|
+
item.clickFunction();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if ((item.children?.length || 0) > 0) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this.router.navigate(item.getFullPath()).then();
|
|
43
|
+
}
|
|
44
|
+
hasChildren(item) {
|
|
45
|
+
return (item.children?.length || 0) > 0;
|
|
46
|
+
}
|
|
47
|
+
asMenuItem(item) {
|
|
48
|
+
return item;
|
|
49
|
+
}
|
|
50
|
+
getItemClasses(item, activeClass, ...classes) {
|
|
51
|
+
return [
|
|
52
|
+
...classes,
|
|
53
|
+
item.isActive ? activeClass : '',
|
|
54
|
+
item.isLocked ? 'disabled' : ''
|
|
55
|
+
];
|
|
56
|
+
}
|
|
57
|
+
findActiveNode(item, fullPath) {
|
|
58
|
+
if (item.fullPath === fullPath) {
|
|
59
|
+
return item;
|
|
60
|
+
}
|
|
61
|
+
else if (item.children.length > 0) {
|
|
62
|
+
let result;
|
|
63
|
+
for (let i = 0; !result && i < item.children.length; i++) {
|
|
64
|
+
result = this.findActiveNode(item.children[i], fullPath);
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
updateActiveRoute(newPath) {
|
|
71
|
+
this.resetMenuState(this.menuItems);
|
|
72
|
+
let item;
|
|
73
|
+
for (const mi of this.menuItems) {
|
|
74
|
+
item = this.findActiveNode(mi, newPath);
|
|
75
|
+
if (!!item) {
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
while (!!item) {
|
|
80
|
+
item.isActive = true;
|
|
81
|
+
item = item.parent;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
resetMenuState(items) {
|
|
85
|
+
items.forEach(i => {
|
|
86
|
+
i.isActive = false;
|
|
87
|
+
if (i.children.length > 0) {
|
|
88
|
+
this.resetMenuState(i.children);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
updateParents(menuItem) {
|
|
93
|
+
let item = menuItem;
|
|
94
|
+
while (!!item) {
|
|
95
|
+
item.isActive = true;
|
|
96
|
+
item = item.parent;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SidebarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: SidebarComponent, selector: "upd-sidebar", host: { properties: { "class": "this.wrapperClasses", "attr.data-bs-theme": "this.theme" } }, usesInheritance: true, ngImport: i0, 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", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i3.LinkComponent, selector: "upd-link", inputs: ["href", "target", "customClasses", "isNavigation"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
101
|
+
}
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
103
|
+
type: Component,
|
|
104
|
+
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" }]
|
|
105
|
+
}], propDecorators: { wrapperClasses: [{
|
|
106
|
+
type: HostBinding,
|
|
107
|
+
args: ['class']
|
|
108
|
+
}], theme: [{
|
|
109
|
+
type: HostBinding,
|
|
110
|
+
args: ['attr.data-bs-theme']
|
|
111
|
+
}] } });
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGF5b3V0L3NyYy9wYXJ0aWFscy9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvcGFydGlhbHMvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTFELE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBUTlCLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxhQUFhO0lBTm5EOztRQU8wQixtQkFBYyxHQUFHLHlDQUF5QyxDQUFDO1FBQzlDLFVBQUssR0FBRyxNQUFNLENBQUM7UUFFbEQsY0FBUyxHQUFxQixFQUFFLENBQUM7UUFFaEIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQTRHdEQ7SUExR0csUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNqRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3JDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsQ0FDcEQsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQW9CLEtBQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQW9CO1FBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMvQixDQUFDO1lBRUQsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUVyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQW9CO1FBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFTO1FBQ2hCLE9BQU8sSUFBc0IsQ0FBQztJQUNsQyxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQW9CLEVBQUUsV0FBbUIsRUFBRSxHQUFHLE9BQWlCO1FBQzFFLE9BQU87WUFDSCxHQUFHLE9BQU87WUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ2xDLENBQUM7SUFDTixDQUFDO0lBRU8sY0FBYyxDQUFDLElBQW9CLEVBQUUsUUFBZ0I7UUFDekQsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xDLElBQUksTUFBTSxDQUFDO1lBRVgsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3ZELE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDN0QsQ0FBQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBZTtRQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwQyxJQUFJLElBQWtDLENBQUM7UUFFdkMsS0FBSyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUIsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXhDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNULE1BQU07WUFDVixDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsS0FBdUI7UUFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNkLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBRW5CLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxhQUFhLENBQUMsUUFBd0I7UUFDMUMsSUFBSSxJQUFJLEdBQWlDLFFBQVEsQ0FBQztRQUVsRCxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDOzhHQWxIUSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix3S0NiN0Isa21IQXdFQTs7MkZEM0RhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDSSxhQUFhLGlCQUdSLGlCQUFpQixDQUFDLElBQUk7OEJBR2YsY0FBYztzQkFBbkMsV0FBVzt1QkFBQyxPQUFPO2dCQUNlLEtBQUs7c0JBQXZDLFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb24sIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25TdGFydCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPcHRpb25hbFR5cGUgfSBmcm9tICdAdXBkZXZzL3Nkay90eXBlcyc7XG5pbXBvcnQgeyBSb3V0ZURhdGFNb2RlbCwgTWVudVNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkay9yb3V0ZXMnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtc2lkZWJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NpZGViYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNpZGViYXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgd3JhcHBlckNsYXNzZXMgPSAnbmF2YmFyIG5hdmJhci12ZXJ0aWNhbCBuYXZiYXItZXhwYW5kLWxnJztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1icy10aGVtZScpIHRoZW1lID0gJ2RhcmsnO1xuXG4gICAgbWVudUl0ZW1zOiBSb3V0ZURhdGFNb2RlbFtdID0gW107XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVudVNlcnZpY2UgPSBpbmplY3QoTWVudVNlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1zID0gdGhpcy5tZW51U2VydmljZS5nZW5lcmF0ZU1lbnUoKTtcbiAgICAgICAgY29uc3Qgcm91dGVyU3ViID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpXG4gICAgICAgICkuc3Vic2NyaWJlKGV2ZW50ID0+IHRoaXMudXBkYXRlQWN0aXZlUm91dGUoKDxOYXZpZ2F0aW9uU3RhcnQ+IGV2ZW50KS51cmwpKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZVJvdXRlKHRoaXMucm91dGVyLnVybCk7XG4gICAgICAgIHRoaXMuYWRkU3Vic2NyaXB0aW9ucyhyb3V0ZXJTdWIpO1xuICAgIH1cblxuICAgIG9uTWVudUl0ZW1DbGljayhpdGVtOiBSb3V0ZURhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbS5pc0xvY2tlZCkge1xuICAgICAgICAgICAgaWYgKCEhaXRlbS5sb2NrZWRDbGlja0Z1bmN0aW9uKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5sb2NrZWRDbGlja0Z1bmN0aW9uKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVzZXRNZW51U3RhdGUodGhpcy5tZW51SXRlbXMpO1xuXG4gICAgICAgIGl0ZW0uaXNBY3RpdmUgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMudXBkYXRlUGFyZW50cyhpdGVtKTtcblxuICAgICAgICBpZiAoISFpdGVtLmNsaWNrRnVuY3Rpb24pIHtcbiAgICAgICAgICAgIGl0ZW0uY2xpY2tGdW5jdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKChpdGVtLmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShpdGVtLmdldEZ1bGxQYXRoKCkpLnRoZW4oKTtcbiAgICB9XG5cbiAgICBoYXNDaGlsZHJlbihpdGVtOiBSb3V0ZURhdGFNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCB8fCAwKSA+IDA7XG4gICAgfVxuXG4gICAgYXNNZW51SXRlbShpdGVtOiBhbnkpOiBSb3V0ZURhdGFNb2RlbCB7XG4gICAgICAgIHJldHVybiBpdGVtIGFzIFJvdXRlRGF0YU1vZGVsO1xuICAgIH1cblxuICAgIGdldEl0ZW1DbGFzc2VzKGl0ZW06IFJvdXRlRGF0YU1vZGVsLCBhY3RpdmVDbGFzczogc3RyaW5nLCAuLi5jbGFzc2VzOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLmNsYXNzZXMsXG4gICAgICAgICAgICBpdGVtLmlzQWN0aXZlID8gYWN0aXZlQ2xhc3MgOiAnJyxcbiAgICAgICAgICAgIGl0ZW0uaXNMb2NrZWQgPyAnZGlzYWJsZWQnIDogJydcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRBY3RpdmVOb2RlKGl0ZW06IFJvdXRlRGF0YU1vZGVsLCBmdWxsUGF0aDogc3RyaW5nKTogT3B0aW9uYWxUeXBlPFJvdXRlRGF0YU1vZGVsPiB7XG4gICAgICAgIGlmIChpdGVtLmZ1bGxQYXRoID09PSBmdWxsUGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0O1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgIXJlc3VsdCAmJiBpIDwgaXRlbS5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMuZmluZEFjdGl2ZU5vZGUoaXRlbS5jaGlsZHJlbltpXSwgZnVsbFBhdGgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUFjdGl2ZVJvdXRlKG5ld1BhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlc2V0TWVudVN0YXRlKHRoaXMubWVudUl0ZW1zKTtcblxuICAgICAgICBsZXQgaXRlbTogT3B0aW9uYWxUeXBlPFJvdXRlRGF0YU1vZGVsPjtcblxuICAgICAgICBmb3IgKGNvbnN0IG1pIG9mIHRoaXMubWVudUl0ZW1zKSB7XG4gICAgICAgICAgICBpdGVtID0gdGhpcy5maW5kQWN0aXZlTm9kZShtaSwgbmV3UGF0aCk7XG5cbiAgICAgICAgICAgIGlmICghIWl0ZW0pIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHdoaWxlICghIWl0ZW0pIHtcbiAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgaXRlbSA9IGl0ZW0ucGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldE1lbnVTdGF0ZShpdGVtczogUm91dGVEYXRhTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBpdGVtcy5mb3JFYWNoKGkgPT4ge1xuICAgICAgICAgICAgaS5pc0FjdGl2ZSA9IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAoaS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldE1lbnVTdGF0ZShpLmNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVQYXJlbnRzKG1lbnVJdGVtOiBSb3V0ZURhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICBsZXQgaXRlbTogT3B0aW9uYWxUeXBlPFJvdXRlRGF0YU1vZGVsPiA9IG1lbnVJdGVtO1xuXG4gICAgICAgIHdoaWxlICghIWl0ZW0pIHtcbiAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgaXRlbSA9IGl0ZW0ucGFyZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJuYXZiYXItdG9nZ2xlclwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJuYXZiYXItdG9nZ2xlci1pY29uXCI+PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxoMSBjbGFzcz1cIm5hdmJhci1icmFuZCBuYXZiYXItYnJhbmQtYXV0b2RhcmtcIj5cbiAgICAgICAgPGEgaHJlZj1cIi5cIj5cbiAgICAgICAgICAgIDxpbWcgd2lkdGg9XCIxMTBcIiBoZWlnaHQ9XCIzMlwiIGNsYXNzPVwibmF2YmFyLWJyYW5kLWltYWdlIHVwZC1icmFuZC1sb2dvXCIgLz5cbiAgICAgICAgPC9hPlxuICAgIDwvaDE+XG4gICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZVwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJuYXZiYXItbmF2IHB0LWxnLTNcIj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgbWVudUl0ZW1zOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiBbY2xhc3MuZHJvcGRvd25dPVwiaGFzQ2hpbGRyZW4oaXRlbSlcIiBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uaXNBY3RpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVHBsXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInttZW51SXRlbTogaXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVRwbCBsZXQtaXRlbT1cIm1lbnVJdGVtXCI+XG4gICAgPHVwZC1saW5rIFtpc05hdmlnYXRpb25dPVwidHJ1ZVwiIChjbGlja2VkKT1cIm9uTWVudUl0ZW1DbGljayhpdGVtKVwiXG4gICAgICAgIFtjdXN0b21DbGFzc2VzXT1cImdldEl0ZW1DbGFzc2VzKGl0ZW0sICdzaG93JywgaGFzQ2hpbGRyZW4oaXRlbSkgPyAnZHJvcGRvd24tdG9nZ2xlJzonJylcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsaW5rQ29udGVudFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bWVudUl0ZW06IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC91cGQtbGluaz5cbiAgICBAaWYgKGhhc0NoaWxkcmVuKGl0ZW0pKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hpbGRyZW5UcGxcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie21lbnVJdGVtOiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGlua0NvbnRlbnQgbGV0LWl0ZW09XCJtZW51SXRlbVwiPlxuICAgIEBpZiAoISFpdGVtLmljb24pIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJuYXYtbGluay1pY29uIGQtbWQtbm9uZSBkLWxnLWlubGluZS1ibG9ja1wiPlxuICAgICAgICAgICAgPHVwZC1pY29uIFttb2RlbF09XCJpdGVtLmljb25cIj48L3VwZC1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuICAgIDxzcGFuIGNsYXNzPVwibmF2LWxpbmstdGl0bGVcIj57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxuICAgIEBpZiAoaXRlbS5pc0xvY2tlZCkge1xuICAgICAgICA8dXBkLWljb24gY2xhc3M9XCJtcy1hdXRvXCIgW21vZGVsXT1cInt0YWJsZXJJY29uOiAnbG9jayd9XCI+PC91cGQtaWNvbj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NoaWxkcmVuVHBsIGxldC1pdGVtPVwibWVudUl0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIFtjbGFzcy5zaG93XT1cIml0ZW0uaXNBY3RpdmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUtY29sdW1uc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUtY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoY2hpbGQgb2YgYXNNZW51SXRlbShpdGVtKS5jaGlsZHJlbjsgdHJhY2sgY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICghaGFzQ2hpbGRyZW4oY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWxpbmsgKGNsaWNrZWQpPVwib25NZW51SXRlbUNsaWNrKGNoaWxkKVwiIFtjdXN0b21DbGFzc2VzXT1cImdldEl0ZW1DbGFzc2VzKGNoaWxkLCAnYWN0aXZlJywgJ2Ryb3Bkb3duLWl0ZW0nKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlua0NvbnRlbnRcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie21lbnVJdGVtOiBjaGlsZH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdXBkLWxpbms+XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3BlbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWxpbmsgKGNsaWNrZWQpPVwib25NZW51SXRlbUNsaWNrKGNoaWxkKVwiIFtjdXN0b21DbGFzc2VzXT1cImdldEl0ZW1DbGFzc2VzKGNoaWxkLCAnYWN0aXZlJywgJ2Ryb3Bkb3duLWl0ZW0nKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmtDb250ZW50XCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInttZW51SXRlbTogY2hpbGR9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91cGQtbGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIFtjbGFzcy5zaG93XT1cImNoaWxkLmlzQWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGdyYW5kY2hpbGQgb2YgY2hpbGQuY2hpbGRyZW47IHRyYWNrIGdyYW5kY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtbGluayAoY2xpY2tlZCk9XCJvbk1lbnVJdGVtQ2xpY2soZ3JhbmRjaGlsZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cImdldEl0ZW1DbGFzc2VzKGdyYW5kY2hpbGQsICdhY3RpdmUnLCAnZHJvcGRvd24taXRlbScpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsaW5rQ29udGVudFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bWVudUl0ZW06IGdyYW5kY2hpbGR9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VwZC1saW5rPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './abstractions/public-api';
|
|
2
|
+
export * from './layouts/public-api';
|
|
3
|
+
export * from './models/public-api';
|
|
4
|
+
export * from './pages/public-api';
|
|
5
|
+
export * from './partials/public-api';
|
|
6
|
+
export * from './services/public-api';
|
|
7
|
+
export * from './upd-layout.module';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3Rpb25zL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXRzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2VzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9wYXJ0aWFscy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3VwZC1sYXlvdXQubW9kdWxlJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './upd-layout-config.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3NlcnZpY2VzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdXBkLWxheW91dC1jb25maWcuc2VydmljZSc7XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable, Inject } from '@angular/core';
|
|
2
|
+
import { UpdLayoutConfigModel } from '../models/upd-layout-config.model';
|
|
3
|
+
import { LayoutConstants } from '../tools/layout.constants';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Layout configuration data.
|
|
7
|
+
*/
|
|
8
|
+
export class UpdLayoutConfigService {
|
|
9
|
+
constructor(layoutConfig) {
|
|
10
|
+
this.config = new UpdLayoutConfigModel(layoutConfig);
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdLayoutConfigService, deps: [{ token: LayoutConstants.defaultOptionsInjectionToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdLayoutConfigService }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdLayoutConfigService, decorators: [{
|
|
16
|
+
type: Injectable
|
|
17
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
18
|
+
type: Inject,
|
|
19
|
+
args: [LayoutConstants.defaultOptionsInjectionToken]
|
|
20
|
+
}] }] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLWxheW91dC1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3NlcnZpY2VzL3VwZC1sYXlvdXQtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUc1RDs7R0FFRztBQUVILE1BQU0sT0FBTyxzQkFBc0I7SUFNL0IsWUFBa0UsWUFBNkI7UUFDM0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pELENBQUM7OEdBUlEsc0JBQXNCLGtCQU1YLGVBQWUsQ0FBQyw0QkFBNEI7a0hBTnZELHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVTs7MEJBT00sTUFBTTsyQkFBQyxlQUFlLENBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFVwZExheW91dENvbmZpZ01vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3VwZC1sYXlvdXQtY29uZmlnLm1vZGVsJztcbmltcG9ydCB7IExheW91dENvbnN0YW50cyB9IGZyb20gJy4uL3Rvb2xzL2xheW91dC5jb25zdGFudHMnO1xuaW1wb3J0IHsgVXBkTGF5b3V0Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL3VwZC1sYXlvdXQuY29uZmlnJztcblxuLyoqXG4gKiBMYXlvdXQgY29uZmlndXJhdGlvbiBkYXRhLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVXBkTGF5b3V0Q29uZmlnU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiAoU2VlOiAjdXBzZWVbcDptb2RlbHMsIGk6VXBkQ29yZUxheW91dENvbmZpZ01vZGVsXSkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgY29uZmlnOiBVcGRMYXlvdXRDb25maWdNb2RlbDtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTGF5b3V0Q29uc3RhbnRzLmRlZmF1bHRPcHRpb25zSW5qZWN0aW9uVG9rZW4pIGxheW91dENvbmZpZzogVXBkTGF5b3V0Q29uZmlnKSB7XG4gICAgICAgIHRoaXMuY29uZmlnID0gbmV3IFVwZExheW91dENvbmZpZ01vZGVsKGxheW91dENvbmZpZyk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Layout constants.
|
|
4
|
+
*/
|
|
5
|
+
export class LayoutConstants {
|
|
6
|
+
/**
|
|
7
|
+
* Key to inject the default configuration.
|
|
8
|
+
*/
|
|
9
|
+
static { this.defaultOptionsKey = 'upd-layout-default-options'; }
|
|
10
|
+
/**
|
|
11
|
+
* Injection token for the default configuration.
|
|
12
|
+
*/
|
|
13
|
+
static { this.defaultOptionsInjectionToken = new InjectionToken(LayoutConstants.defaultOptionsKey); }
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3Rvb2xzL2xheW91dC5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvQzs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQ3hCOztPQUVHO2FBQ0ksc0JBQWlCLEdBQUcsNEJBQTRCLENBQUM7SUFFeEQ7O09BRUc7YUFDSSxpQ0FBNEIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBVcGRMYXlvdXRDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvdXBkLWxheW91dC5jb25maWcnO1xuXG4vKipcbiAqIExheW91dCBjb25zdGFudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBMYXlvdXRDb25zdGFudHMge1xuICAgIC8qKlxuICAgICAqIEtleSB0byBpbmplY3QgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICBzdGF0aWMgZGVmYXVsdE9wdGlvbnNLZXkgPSAndXBkLWxheW91dC1kZWZhdWx0LW9wdGlvbnMnO1xuXG4gICAgLyoqXG4gICAgICogSW5qZWN0aW9uIHRva2VuIGZvciB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uLlxuICAgICAqL1xuICAgIHN0YXRpYyBkZWZhdWx0T3B0aW9uc0luamVjdGlvblRva2VuID0gbmV3IEluamVjdGlvblRva2VuPFVwZExheW91dENvbmZpZz4oTGF5b3V0Q29uc3RhbnRzLmRlZmF1bHRPcHRpb25zS2V5KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { UpdCoreLayoutModule } from '@updevs/sdk/layout';
|
|
4
|
+
import { LayoutConstants } from './tools/layout.constants';
|
|
5
|
+
import { UpdLayoutConfigService } from './services/upd-layout-config.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Layout module.
|
|
9
|
+
*/
|
|
10
|
+
export class UpdLayoutModule {
|
|
11
|
+
/**
|
|
12
|
+
* Sets up the layout module with the provided configuration.
|
|
13
|
+
* @param config Configuration (See: #updsee[p:abstractions, i:UpdCoreLayoutConfig]).
|
|
14
|
+
*/
|
|
15
|
+
static forRoot(config) {
|
|
16
|
+
return {
|
|
17
|
+
ngModule: UpdLayoutModule,
|
|
18
|
+
providers: [
|
|
19
|
+
{ provide: LayoutConstants.defaultOptionsInjectionToken, useValue: config }
|
|
20
|
+
]
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
24
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdLayoutModule, imports: [CommonModule,
|
|
25
|
+
UpdCoreLayoutModule] }); }
|
|
26
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdLayoutModule, providers: [
|
|
27
|
+
UpdLayoutConfigService
|
|
28
|
+
], imports: [CommonModule,
|
|
29
|
+
UpdCoreLayoutModule] }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdLayoutModule, decorators: [{
|
|
32
|
+
type: NgModule,
|
|
33
|
+
args: [{
|
|
34
|
+
imports: [
|
|
35
|
+
CommonModule,
|
|
36
|
+
UpdCoreLayoutModule
|
|
37
|
+
],
|
|
38
|
+
providers: [
|
|
39
|
+
UpdLayoutConfigService
|
|
40
|
+
]
|
|
41
|
+
}]
|
|
42
|
+
}] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLWxheW91dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGF5b3V0L3NyYy91cGQtbGF5b3V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUU5RTs7R0FFRztBQVVILE1BQU0sT0FBTyxlQUFlO0lBQ3hCOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBdUI7UUFDbEMsT0FBTztZQUNILFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFNBQVMsRUFBRTtnQkFDUCxFQUFFLE9BQU8sRUFBRSxlQUFlLENBQUMsNEJBQTRCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTthQUM5RTtTQUNKLENBQUM7SUFDTixDQUFDOzhHQVpRLGVBQWU7K0dBQWYsZUFBZSxZQVBwQixZQUFZO1lBQ1osbUJBQW1COytHQU1kLGVBQWUsYUFKYjtZQUNQLHNCQUFzQjtTQUN6QixZQUxHLFlBQVk7WUFDWixtQkFBbUI7OzJGQU1kLGVBQWU7a0JBVDNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3FCQUN0QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Asc0JBQXNCO3FCQUN6QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVXBkQ29yZUxheW91dE1vZHVsZSB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5cbmltcG9ydCB7IFVwZExheW91dENvbmZpZyB9IGZyb20gJy4vbW9kZWxzL3VwZC1sYXlvdXQuY29uZmlnJztcbmltcG9ydCB7IExheW91dENvbnN0YW50cyB9IGZyb20gJy4vdG9vbHMvbGF5b3V0LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBVcGRMYXlvdXRDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91cGQtbGF5b3V0LWNvbmZpZy5zZXJ2aWNlJztcblxuLyoqXG4gKiBMYXlvdXQgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBVcGRDb3JlTGF5b3V0TW9kdWxlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVXBkTGF5b3V0Q29uZmlnU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVXBkTGF5b3V0TW9kdWxlIHtcbiAgICAvKipcbiAgICAgKiBTZXRzIHVwIHRoZSBsYXlvdXQgbW9kdWxlIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24uXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIChTZWU6ICN1cGRzZWVbcDphYnN0cmFjdGlvbnMsIGk6VXBkQ29yZUxheW91dENvbmZpZ10pLlxuICAgICAqL1xuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZzogVXBkTGF5b3V0Q29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxVcGRMYXlvdXRNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBVcGRMYXlvdXRNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExheW91dENvbnN0YW50cy5kZWZhdWx0T3B0aW9uc0luamVjdGlvblRva2VuLCB1c2VWYWx1ZTogY29uZmlnIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkZXZzLWNvbXBvbmVudHMtbGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvdXBkZXZzLWNvbXBvbmVudHMtbGF5b3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './public-api';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './row-column-size';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Jvdy1jb2x1bW4tc2l6ZSc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNvbHVtbi1zaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvbW9kZWxzL3Jvdy1jb2x1bW4tc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSb3dDb2x1bW5TaXplIHtcbiAgICBkZWZhdWx0OiBudW1iZXI7XG4gICAgbWVkaXVtPzogbnVtYmVyO1xuICAgIHNtYWxsPzogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './models/public-api';
|
|
2
|
+
export * from './tools/public-api';
|
|
3
|
+
export * from './types/public-api';
|
|
4
|
+
export * from './upd-components.module';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi90b29scy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3VwZC1jb21wb25lbnRzLm1vZHVsZSc7XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class ColumnSizeHelper {
|
|
2
|
+
static getSizeClasses(colSize, defaultIfEmpty) {
|
|
3
|
+
if (!colSize) {
|
|
4
|
+
return `col-${defaultIfEmpty || 12}`;
|
|
5
|
+
}
|
|
6
|
+
return this.getClasses(`col-${colSize.default}`, `col-md-${colSize.medium || colSize.default}`, `col-sm-${(colSize.small || 12)}`);
|
|
7
|
+
}
|
|
8
|
+
static getClasses(...classes) {
|
|
9
|
+
return classes.join(' ').trim();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNpemUuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdG9vbHMvY29sdW1uLXNpemUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUF1QixFQUFFLGNBQXVCO1FBQ2xFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLE9BQU8sT0FBTyxjQUFjLElBQUksRUFBRSxFQUFFLENBQUM7UUFDekMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FDbEIsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQ3hCLFVBQVUsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQzdDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQ3BDLENBQUM7SUFDTixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLE9BQWlCO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3dDb2x1bW5TaXplIH0gZnJvbSAnLi4vbW9kZWxzL3Jvdy1jb2x1bW4tc2l6ZSc7XG5cbmV4cG9ydCBjbGFzcyBDb2x1bW5TaXplSGVscGVyIHtcbiAgICBzdGF0aWMgZ2V0U2l6ZUNsYXNzZXMoY29sU2l6ZT86IFJvd0NvbHVtblNpemUsIGRlZmF1bHRJZkVtcHR5PzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFjb2xTaXplKSB7XG4gICAgICAgICAgICByZXR1cm4gYGNvbC0ke2RlZmF1bHRJZkVtcHR5IHx8IDEyfWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRDbGFzc2VzKFxuICAgICAgICAgICAgYGNvbC0ke2NvbFNpemUuZGVmYXVsdH1gLFxuICAgICAgICAgICAgYGNvbC1tZC0ke2NvbFNpemUubWVkaXVtIHx8IGNvbFNpemUuZGVmYXVsdH1gLFxuICAgICAgICAgICAgYGNvbC1zbS0keyhjb2xTaXplLnNtYWxsIHx8IDEyKX1gXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldENsYXNzZXMoLi4uY2xhc3Nlczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './column-size.helper';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3Rvb2xzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29sdW1uLXNpemUuaGVscGVyJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXNpemUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3R5cGVzL2NvbXBvbmVudC1zaXplLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENvbXBvbmVudFNpemVUeXBlID0gJ3NtYWxsJyB8ICdkZWZhdWx0JyB8ICdsYXJnZSc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC12ZXJ0aWNhbC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdHlwZXMvaG9yaXpvbnRhbC12ZXJ0aWNhbC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBIb3Jpem9udGFsVmVydGljYWxUeXBlID0gJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './component-size.type';
|
|
2
|
+
export * from './horizontal-vertical.type';
|
|
3
|
+
export * from './validation-status.type';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3R5cGVzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC1zaXplLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ob3Jpem9udGFsLXZlcnRpY2FsLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0aW9uLXN0YXR1cy50eXBlJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1zdGF0dXMudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3R5cGVzL3ZhbGlkYXRpb24tc3RhdHVzLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFZhbGlkYXRpb25TdGF0dXNUeXBlID0gJ3ZhbGlkJyB8ICdpbnZhbGlkJztcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class UpdComponentsModule {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdComponentsModule }); }
|
|
6
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdComponentsModule }); }
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdComponentsModule, decorators: [{
|
|
9
|
+
type: NgModule,
|
|
10
|
+
args: [{
|
|
11
|
+
imports: []
|
|
12
|
+
}]
|
|
13
|
+
}] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLWNvbXBvbmVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdXBkLWNvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3pDLE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSC9CLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIFVwZENvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==
|