@updevs/components 1.0.0-alpha.10 → 1.0.0-alpha.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -8
- package/assets/styles/_core.scss +9 -0
- package/assets/styles/_debug.scss +49 -0
- package/assets/styles/_props.scss +91 -0
- package/assets/styles/_updevs.scss +12 -0
- package/assets/styles/_utilities-marketing.scss +209 -0
- package/assets/styles/_utilities.scss +127 -92
- package/assets/styles/_variables-dark.scss +8 -6
- package/assets/styles/_variables.scss +326 -257
- package/assets/styles/helpers/_index.scss +143 -0
- package/assets/styles/layout/_core.scss +3 -2
- package/assets/styles/layout/_dark.scss +40 -35
- package/assets/styles/layout/_footer.scss +1 -1
- package/assets/styles/layout/_navbar.scss +31 -19
- package/assets/styles/layout/_page.scss +6 -5
- package/assets/styles/layout/_root.scss +26 -34
- package/assets/styles/marketing/_browser.scss +67 -0
- package/assets/styles/marketing/_core.scss +8 -0
- package/assets/styles/marketing/_filters.scss +0 -0
- package/assets/styles/marketing/_hero.scss +70 -0
- package/assets/styles/marketing/_pricing.scss +111 -0
- package/assets/styles/marketing/_sections.scss +124 -0
- package/assets/styles/marketing/_shape.scss +31 -0
- package/assets/styles/mixins/_functions.scss +53 -0
- package/assets/styles/mixins/_mixins.scss +9 -9
- package/assets/styles/ui/_accordion.scss +165 -11
- package/assets/styles/ui/_alerts.scss +80 -38
- package/assets/styles/ui/_avatars.scss +36 -9
- package/assets/styles/ui/_badges.scss +47 -13
- package/assets/styles/ui/_button-group.scss +1 -1
- package/assets/styles/ui/_buttons.scss +33 -37
- package/assets/styles/ui/_calendars.scss +2 -2
- package/assets/styles/ui/_cards.scss +9 -0
- package/assets/styles/ui/_carousel.scss +1 -1
- package/assets/styles/ui/_charts.scss +1 -1
- package/assets/styles/ui/_chat.scss +38 -0
- package/assets/styles/ui/_close.scss +54 -1
- package/assets/styles/ui/_datagrid.scss +1 -1
- package/assets/styles/ui/_dropdowns.scss +3 -0
- package/assets/styles/ui/_empty.scss +0 -5
- package/assets/styles/ui/_flags.scss +2 -2
- package/assets/styles/ui/_forms.scss +33 -7
- package/assets/styles/ui/_grid.scss +1 -1
- package/assets/styles/ui/_icons.scss +1 -1
- package/assets/styles/ui/_images.scss +4 -0
- package/assets/styles/ui/_lists.scss +12 -16
- package/assets/styles/ui/_loaders.scss +1 -1
- package/assets/styles/ui/_markdown.scss +15 -4
- package/assets/styles/ui/_modals.scss +2 -2
- package/assets/styles/ui/_nav.scss +17 -3
- package/assets/styles/ui/_offcanvas.scss +2 -2
- package/assets/styles/ui/_pagination.scss +2 -0
- package/assets/styles/ui/_payments.scss +1 -1
- package/assets/styles/ui/_placeholder.scss +1 -1
- package/assets/styles/ui/_progress.scss +1 -1
- package/assets/styles/ui/_ribbons.scss +1 -0
- package/assets/styles/ui/_segmented.scss +101 -0
- package/assets/styles/ui/_signature.scss +15 -0
- package/assets/styles/ui/_social.scss +52 -0
- package/assets/styles/ui/_status.scss +1 -1
- package/assets/styles/ui/_steps.scss +5 -1
- package/assets/styles/ui/_switch-icon.scss +1 -1
- package/assets/styles/ui/_tables.scss +27 -1
- package/assets/styles/ui/_tags.scss +1 -1
- package/assets/styles/ui/_timeline.scss +1 -1
- package/assets/styles/ui/_toasts.scss +0 -1
- package/assets/styles/ui/_tracking.scss +1 -1
- package/assets/styles/ui/_type.scss +169 -8
- package/assets/styles/ui/forms/_form-check.scss +1 -1
- package/assets/styles/ui/forms/_form-colorinput.scss +1 -1
- package/assets/styles/ui/forms/_form-custom.scss +1 -1
- package/assets/styles/ui/forms/_form-imagecheck.scss +6 -5
- package/assets/styles/ui/forms/_form-selectgroup.scss +2 -2
- package/assets/styles/ui/typo/_hr.scss +4 -2
- package/assets/styles/utils/_colors.scss +72 -11
- package/assets/styles/utils/_opacity.scss +1 -1
- package/assets/styles/utils/_scroll.scss +0 -2
- package/assets/styles/utils/_sizing.scss +1 -1
- package/assets/styles/utils/_text.scss +1 -2
- package/assets/styles/vendor/_apexcharts.scss +52 -0
- package/assets/styles/vendor/_coloris.scss +72 -0
- package/assets/styles/vendor/_dropzone.scss +27 -0
- package/assets/styles/vendor/_fslightbox.scss +13 -0
- package/assets/styles/vendor/_jsvectormap.scss +47 -0
- package/assets/styles/vendor/_litepicker.scss +69 -0
- package/assets/styles/vendor/_nouislider.scss +49 -0
- package/assets/styles/vendor/_plyr.scss +3 -0
- package/assets/styles/vendor/_stars-rating.scss +22 -0
- package/assets/styles/vendor/_tom-select.scss +81 -0
- package/assets/styles/vendor/_turbo.scss +3 -0
- package/assets/styles/vendor/_typed.scss +4 -0
- package/assets/styles/vendor/_wysiwyg.scss +46 -0
- package/fesm2022/updevs-components-badge.mjs +29 -31
- package/fesm2022/updevs-components-badge.mjs.map +1 -1
- package/fesm2022/updevs-components-button.mjs +41 -41
- package/fesm2022/updevs-components-button.mjs.map +1 -1
- package/fesm2022/updevs-components-calendar.mjs +327 -1456
- package/fesm2022/updevs-components-calendar.mjs.map +1 -1
- package/fesm2022/updevs-components-card.mjs +25 -21
- package/fesm2022/updevs-components-card.mjs.map +1 -1
- package/fesm2022/updevs-components-drag-and-drop.mjs +17 -17
- package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -1
- package/fesm2022/updevs-components-dropdown.mjs +41 -20
- package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-abstractions.mjs +77 -18
- package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-checkbox.mjs +31 -21
- package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-date-picker.mjs +51 -66
- package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-file-upload.mjs +272 -0
- package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-input.mjs +46 -28
- package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-radio.mjs +20 -14
- package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-select.mjs +288 -111
- package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-textarea.mjs +25 -20
- package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-time-picker.mjs +14 -13
- package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -1
- package/fesm2022/updevs-components-form.mjs +255 -71
- package/fesm2022/updevs-components-form.mjs.map +1 -1
- package/fesm2022/updevs-components-layout.mjs +597 -330
- package/fesm2022/updevs-components-layout.mjs.map +1 -1
- package/fesm2022/updevs-components-link.mjs +9 -9
- package/fesm2022/updevs-components-link.mjs.map +1 -1
- package/fesm2022/updevs-components-list.mjs +20 -10
- package/fesm2022/updevs-components-list.mjs.map +1 -1
- package/fesm2022/updevs-components-modal.mjs +27 -25
- package/fesm2022/updevs-components-modal.mjs.map +1 -1
- package/fesm2022/updevs-components-paginator.mjs +38 -37
- package/fesm2022/updevs-components-paginator.mjs.map +1 -1
- package/fesm2022/updevs-components-popover.mjs +32 -40
- package/fesm2022/updevs-components-popover.mjs.map +1 -1
- package/fesm2022/updevs-components-pricing.mjs +130 -0
- package/fesm2022/updevs-components-pricing.mjs.map +1 -0
- package/fesm2022/updevs-components-table.mjs +678 -333
- package/fesm2022/updevs-components-table.mjs.map +1 -1
- package/fesm2022/updevs-components.mjs +5 -5
- package/fesm2022/updevs-components.mjs.map +1 -1
- package/package.json +70 -101
- package/types/updevs-components-badge.d.ts +44 -0
- package/types/updevs-components-button.d.ts +75 -0
- package/types/updevs-components-calendar.d.ts +175 -0
- package/{card/card.component.d.ts → types/updevs-components-card.d.ts} +52 -14
- package/types/updevs-components-drag-and-drop.d.ts +74 -0
- package/{dropdown/dropdown.component.d.ts → types/updevs-components-dropdown.d.ts} +56 -8
- package/types/updevs-components-form-controls-abstractions.d.ts +49 -0
- package/types/updevs-components-form-controls-checkbox.d.ts +33 -0
- package/types/updevs-components-form-controls-date-picker.d.ts +80 -0
- package/types/updevs-components-form-controls-file-upload.d.ts +69 -0
- package/types/updevs-components-form-controls-input.d.ts +95 -0
- package/types/updevs-components-form-controls-radio.d.ts +32 -0
- package/types/updevs-components-form-controls-select.d.ts +200 -0
- package/types/updevs-components-form-controls-textarea.d.ts +31 -0
- package/types/updevs-components-form-controls-time-picker.d.ts +164 -0
- package/types/updevs-components-form.d.ts +356 -0
- package/types/updevs-components-layout.d.ts +490 -0
- package/{link/link.component.d.ts → types/updevs-components-link.d.ts} +16 -4
- package/types/updevs-components-list.d.ts +107 -0
- package/types/updevs-components-modal.d.ts +155 -0
- package/types/updevs-components-paginator.d.ts +58 -0
- package/types/updevs-components-popover.d.ts +63 -0
- package/types/updevs-components-pricing.d.ts +91 -0
- package/types/updevs-components-table.d.ts +619 -0
- package/types/updevs-components.d.ts +44 -0
- package/badge/badge-config.model.d.ts +0 -14
- package/badge/badge.component.d.ts +0 -24
- package/badge/badge.config.d.ts +0 -12
- package/badge/index.d.ts +0 -1
- package/badge/public-api.d.ts +0 -3
- package/badge/upd-badge.module.d.ts +0 -8
- package/button/button.component.d.ts +0 -61
- package/button/index.d.ts +0 -1
- package/button/public-api.d.ts +0 -2
- package/button/upd-button.module.d.ts +0 -10
- package/calendar/calendar.component.d.ts +0 -127
- package/calendar/components/calendar-body/calendar-body.component.d.ts +0 -263
- package/calendar/components/calendar-header/calendar-header.component.d.ts +0 -57
- package/calendar/components/calendar-month-view/calendar-month-view.component.d.ts +0 -151
- package/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.d.ts +0 -10
- package/calendar/components/calendar-year-view/calendar-year-view.component.d.ts +0 -9
- package/calendar/index.d.ts +0 -1
- package/calendar/models/calendar-cell.model.d.ts +0 -16
- package/calendar/models/calendar-user-event.model.d.ts +0 -4
- package/calendar/models/date-range.model.d.ts +0 -26
- package/calendar/models/public-api.d.ts +0 -2
- package/calendar/public-api.d.ts +0 -5
- package/calendar/services/calendar-range-strategy.service.d.ts +0 -35
- package/calendar/services/calendar-signals.service.d.ts +0 -24
- package/calendar/services/calendar.service.d.ts +0 -15
- package/calendar/services/public-api.d.ts +0 -1
- package/calendar/tools/events-options.d.ts +0 -12
- package/calendar/tools/keyboard-tools.d.ts +0 -9
- package/calendar/tools/passive-listeners.d.ts +0 -16
- package/calendar/types/calendar-cell-class-function.type.d.ts +0 -3
- package/calendar/types/calendar-cell-css-classes.type.d.ts +0 -3
- package/calendar/types/calendar-view.type.d.ts +0 -1
- package/calendar/types/modifier-key.type.d.ts +0 -1
- package/calendar/types/public-api.d.ts +0 -1
- package/calendar/upd-calendar.module.d.ts +0 -18
- package/card/directives/card-actions.directive.d.ts +0 -7
- package/card/directives/card-footer.directive.d.ts +0 -7
- package/card/directives/card-header.directive.d.ts +0 -7
- package/card/directives/card-image.directive.d.ts +0 -7
- package/card/directives/public-api.d.ts +0 -4
- package/card/index.d.ts +0 -1
- package/card/public-api.d.ts +0 -3
- package/card/types/card-state.type.d.ts +0 -1
- package/card/types/card-style.type.d.ts +0 -1
- package/card/types/hover-effect.type.d.ts +0 -1
- package/card/types/ribbon-style.type.d.ts +0 -1
- package/card/types/status-position.type.d.ts +0 -1
- package/card/upd-card.module.d.ts +0 -14
- package/drag-and-drop/drag-and-drop.component.d.ts +0 -26
- package/drag-and-drop/index.d.ts +0 -1
- package/drag-and-drop/models/drag-and-drop-column.config.d.ts +0 -8
- package/drag-and-drop/models/drag-and-drop-column.model.d.ts +0 -10
- package/drag-and-drop/models/drag-and-drop-item.d.ts +0 -7
- package/drag-and-drop/models/drag-and-drop-item.model.d.ts +0 -13
- package/drag-and-drop/models/drag-and-drop.config.d.ts +0 -6
- package/drag-and-drop/models/public-api.d.ts +0 -4
- package/drag-and-drop/public-api.d.ts +0 -3
- package/drag-and-drop/upd-drag-and-drop.module.d.ts +0 -9
- package/dropdown/index.d.ts +0 -1
- package/dropdown/models/dropdown-action-clicked.model.d.ts +0 -6
- package/dropdown/models/dropdown-item.d.ts +0 -24
- package/dropdown/models/dropdown-item.type.d.ts +0 -1
- package/dropdown/models/public-api.d.ts +0 -4
- package/dropdown/models/toolbar.type.d.ts +0 -1
- package/dropdown/public-api.d.ts +0 -3
- package/dropdown/upd-dropdown.module.d.ts +0 -12
- package/esm2022/badge/badge-config.model.mjs +0 -14
- package/esm2022/badge/badge.component.mjs +0 -50
- package/esm2022/badge/badge.config.mjs +0 -2
- package/esm2022/badge/index.mjs +0 -2
- package/esm2022/badge/public-api.mjs +0 -4
- package/esm2022/badge/upd-badge.module.mjs +0 -24
- package/esm2022/badge/updevs-components-badge.mjs +0 -5
- package/esm2022/button/button.component.mjs +0 -157
- package/esm2022/button/index.mjs +0 -2
- package/esm2022/button/public-api.mjs +0 -3
- package/esm2022/button/upd-button.module.mjs +0 -32
- package/esm2022/button/updevs-components-button.mjs +0 -5
- package/esm2022/calendar/assets/i18n/en.json +0 -16
- package/esm2022/calendar/assets/i18n/pt.json +0 -16
- package/esm2022/calendar/calendar.component.mjs +0 -247
- package/esm2022/calendar/components/calendar-body/calendar-body.component.mjs +0 -515
- package/esm2022/calendar/components/calendar-header/calendar-header.component.mjs +0 -144
- package/esm2022/calendar/components/calendar-month-view/calendar-month-view.component.mjs +0 -423
- package/esm2022/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.mjs +0 -18
- package/esm2022/calendar/components/calendar-year-view/calendar-year-view.component.mjs +0 -17
- package/esm2022/calendar/index.mjs +0 -2
- package/esm2022/calendar/models/calendar-cell.model.mjs +0 -18
- package/esm2022/calendar/models/calendar-user-event.model.mjs +0 -2
- package/esm2022/calendar/models/date-range.model.mjs +0 -18
- package/esm2022/calendar/models/public-api.mjs +0 -3
- package/esm2022/calendar/public-api.mjs +0 -6
- package/esm2022/calendar/services/calendar-range-strategy.service.mjs +0 -99
- package/esm2022/calendar/services/calendar-signals.service.mjs +0 -47
- package/esm2022/calendar/services/calendar.service.mjs +0 -40
- package/esm2022/calendar/services/public-api.mjs +0 -2
- package/esm2022/calendar/tools/events-options.mjs +0 -14
- package/esm2022/calendar/tools/keyboard-tools.mjs +0 -14
- package/esm2022/calendar/tools/passive-listeners.mjs +0 -29
- package/esm2022/calendar/types/calendar-cell-class-function.type.mjs +0 -2
- package/esm2022/calendar/types/calendar-cell-css-classes.type.mjs +0 -2
- package/esm2022/calendar/types/calendar-view.type.mjs +0 -2
- package/esm2022/calendar/types/modifier-key.type.mjs +0 -2
- package/esm2022/calendar/types/public-api.mjs +0 -2
- package/esm2022/calendar/upd-calendar.module.mjs +0 -69
- package/esm2022/calendar/updevs-components-calendar.mjs +0 -5
- package/esm2022/card/card.component.mjs +0 -136
- package/esm2022/card/directives/card-actions.directive.mjs +0 -16
- package/esm2022/card/directives/card-footer.directive.mjs +0 -16
- package/esm2022/card/directives/card-header.directive.mjs +0 -16
- package/esm2022/card/directives/card-image.directive.mjs +0 -16
- package/esm2022/card/directives/public-api.mjs +0 -5
- package/esm2022/card/index.mjs +0 -2
- package/esm2022/card/public-api.mjs +0 -4
- package/esm2022/card/types/card-state.type.mjs +0 -2
- package/esm2022/card/types/card-style.type.mjs +0 -2
- package/esm2022/card/types/hover-effect.type.mjs +0 -2
- package/esm2022/card/types/ribbon-style.type.mjs +0 -2
- package/esm2022/card/types/status-position.type.mjs +0 -2
- package/esm2022/card/upd-card.module.mjs +0 -50
- package/esm2022/card/updevs-components-card.mjs +0 -5
- package/esm2022/drag-and-drop/drag-and-drop.component.mjs +0 -134
- package/esm2022/drag-and-drop/index.mjs +0 -2
- package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +0 -2
- package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +0 -9
- package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +0 -2
- package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +0 -14
- package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +0 -2
- package/esm2022/drag-and-drop/models/public-api.mjs +0 -5
- package/esm2022/drag-and-drop/public-api.mjs +0 -4
- package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +0 -28
- package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +0 -5
- package/esm2022/dropdown/dropdown.component.mjs +0 -182
- package/esm2022/dropdown/index.mjs +0 -2
- package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +0 -2
- package/esm2022/dropdown/models/dropdown-item.mjs +0 -2
- package/esm2022/dropdown/models/dropdown-item.type.mjs +0 -2
- package/esm2022/dropdown/models/public-api.mjs +0 -5
- package/esm2022/dropdown/models/toolbar.type.mjs +0 -2
- package/esm2022/dropdown/public-api.mjs +0 -4
- package/esm2022/dropdown/upd-dropdown.module.mjs +0 -40
- package/esm2022/dropdown/updevs-components-dropdown.mjs +0 -5
- package/esm2022/form/assets/i18n/en.json +0 -17
- package/esm2022/form/assets/i18n/pt.json +0 -17
- package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +0 -96
- package/esm2022/form/form.component.mjs +0 -102
- package/esm2022/form/index.mjs +0 -2
- package/esm2022/form/models/checkbox-field.model.mjs +0 -2
- package/esm2022/form/models/checkbox-group-field.model.mjs +0 -2
- package/esm2022/form/models/dynamic-field.model.mjs +0 -2
- package/esm2022/form/models/enums/dynamic-field.type.mjs +0 -14
- package/esm2022/form/models/enums/public-api.mjs +0 -2
- package/esm2022/form/models/form-row.model.mjs +0 -2
- package/esm2022/form/models/public-api.mjs +0 -6
- package/esm2022/form/models/radio-field.model.mjs +0 -2
- package/esm2022/form/models/radio-group-field.model.mjs +0 -2
- package/esm2022/form/models/select-field.model.mjs +0 -2
- package/esm2022/form/models/single-select-field.model.mjs +0 -2
- package/esm2022/form/models/textarea-field.model.mjs +0 -2
- package/esm2022/form/models/validator-config.mjs +0 -2
- package/esm2022/form/public-api.mjs +0 -4
- package/esm2022/form/tools/errors-helper.mjs +0 -54
- package/esm2022/form/upd-form.module.mjs +0 -75
- package/esm2022/form/updevs-components-form.mjs +0 -5
- package/esm2022/form-controls/abstractions/base-control.mjs +0 -40
- package/esm2022/form-controls/abstractions/index.mjs +0 -2
- package/esm2022/form-controls/abstractions/public-api.mjs +0 -2
- package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +0 -5
- package/esm2022/form-controls/checkbox/checkbox.component.mjs +0 -53
- package/esm2022/form-controls/checkbox/index.mjs +0 -2
- package/esm2022/form-controls/checkbox/public-api.mjs +0 -3
- package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +0 -32
- package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +0 -5
- package/esm2022/form-controls/date-picker/date-picker.component.mjs +0 -147
- package/esm2022/form-controls/date-picker/index.mjs +0 -2
- package/esm2022/form-controls/date-picker/public-api.mjs +0 -3
- package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +0 -40
- package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +0 -5
- package/esm2022/form-controls/input/directives/input-append.directive.mjs +0 -16
- package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +0 -16
- package/esm2022/form-controls/input/directives/public-api.mjs +0 -3
- package/esm2022/form-controls/input/index.mjs +0 -2
- package/esm2022/form-controls/input/input.component.mjs +0 -189
- package/esm2022/form-controls/input/public-api.mjs +0 -5
- package/esm2022/form-controls/input/types/input.type.mjs +0 -2
- package/esm2022/form-controls/input/types/loader-position.type.mjs +0 -2
- package/esm2022/form-controls/input/types/public-api.mjs +0 -3
- package/esm2022/form-controls/input/upd-input.module.mjs +0 -46
- package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +0 -5
- package/esm2022/form-controls/radio/index.mjs +0 -2
- package/esm2022/form-controls/radio/public-api.mjs +0 -3
- package/esm2022/form-controls/radio/radio.component.mjs +0 -56
- package/esm2022/form-controls/radio/upd-radio.module.mjs +0 -32
- package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +0 -5
- package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +0 -76
- package/esm2022/form-controls/select/components/single/select.component.mjs +0 -72
- package/esm2022/form-controls/select/index.mjs +0 -2
- package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +0 -221
- package/esm2022/form-controls/select/models/defaults.mjs +0 -8
- package/esm2022/form-controls/select/models/public-api.mjs +0 -3
- package/esm2022/form-controls/select/models/select-item.mjs +0 -2
- package/esm2022/form-controls/select/public-api.mjs +0 -5
- package/esm2022/form-controls/select/upd-select.module.mjs +0 -57
- package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +0 -5
- package/esm2022/form-controls/textarea/index.mjs +0 -2
- package/esm2022/form-controls/textarea/public-api.mjs +0 -3
- package/esm2022/form-controls/textarea/textarea.component.mjs +0 -46
- package/esm2022/form-controls/textarea/upd-textarea.module.mjs +0 -24
- package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +0 -5
- package/esm2022/form-controls/time-picker/assets/i18n/en.json +0 -5
- package/esm2022/form-controls/time-picker/assets/i18n/pt.json +0 -5
- package/esm2022/form-controls/time-picker/index.mjs +0 -2
- package/esm2022/form-controls/time-picker/public-api.mjs +0 -4
- package/esm2022/form-controls/time-picker/time-picker.component.mjs +0 -130
- package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +0 -124
- package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +0 -60
- package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/layout/abstractions/base-page.component.mjs +0 -23
- package/esm2022/layout/abstractions/base.layout.mjs +0 -31
- package/esm2022/layout/abstractions/public-api.mjs +0 -2
- package/esm2022/layout/assets/i18n/en.json +0 -20
- package/esm2022/layout/assets/i18n/pt.json +0 -20
- package/esm2022/layout/index.mjs +0 -2
- package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +0 -11
- package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +0 -24
- package/esm2022/layout/layouts/public-api.mjs +0 -5
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +0 -31
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +0 -80
- package/esm2022/layout/models/login-page-config.model.mjs +0 -20
- package/esm2022/layout/models/login-page.config.mjs +0 -2
- package/esm2022/layout/models/public-api.mjs +0 -3
- package/esm2022/layout/models/security-layout-config.model.mjs +0 -10
- package/esm2022/layout/models/security-layout.config.mjs +0 -2
- package/esm2022/layout/models/upd-layout-config.model.mjs +0 -24
- package/esm2022/layout/models/upd-layout.config.mjs +0 -2
- package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +0 -28
- package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +0 -65
- package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +0 -11
- package/esm2022/layout/pages/auth-flow/login/login.component.mjs +0 -99
- package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +0 -11
- package/esm2022/layout/pages/auth-flow/public-api.mjs +0 -6
- package/esm2022/layout/pages/public-api.mjs +0 -2
- package/esm2022/layout/partials/footer/footer-copyright.directive.mjs +0 -13
- package/esm2022/layout/partials/footer/footer.component.mjs +0 -55
- package/esm2022/layout/partials/footer/public-api.mjs +0 -3
- package/esm2022/layout/partials/header/header-style.type.mjs +0 -2
- package/esm2022/layout/partials/header/header.component.mjs +0 -77
- package/esm2022/layout/partials/header/public-api.mjs +0 -3
- package/esm2022/layout/partials/page-header/page-header.component.mjs +0 -15
- package/esm2022/layout/partials/page-header/public-api.mjs +0 -2
- package/esm2022/layout/partials/public-api.mjs +0 -5
- package/esm2022/layout/partials/sidebar/public-api.mjs +0 -2
- package/esm2022/layout/partials/sidebar/sidebar.component.mjs +0 -112
- package/esm2022/layout/public-api.mjs +0 -8
- package/esm2022/layout/services/public-api.mjs +0 -2
- package/esm2022/layout/services/upd-layout-config.service.mjs +0 -21
- package/esm2022/layout/tools/layout.constants.mjs +0 -15
- package/esm2022/layout/upd-layout.module.mjs +0 -43
- package/esm2022/layout/updevs-components-layout.mjs +0 -5
- package/esm2022/lib/index.mjs +0 -2
- package/esm2022/lib/models/public-api.mjs +0 -2
- package/esm2022/lib/models/row-column-size.mjs +0 -2
- package/esm2022/lib/public-api.mjs +0 -5
- package/esm2022/lib/tools/column-size.helper.mjs +0 -12
- package/esm2022/lib/tools/public-api.mjs +0 -2
- package/esm2022/lib/types/component-size.type.mjs +0 -2
- package/esm2022/lib/types/horizontal-vertical.type.mjs +0 -2
- package/esm2022/lib/types/public-api.mjs +0 -4
- package/esm2022/lib/types/validation-status.type.mjs +0 -2
- package/esm2022/lib/upd-components.module.mjs +0 -14
- package/esm2022/link/index.mjs +0 -2
- package/esm2022/link/link.component.mjs +0 -51
- package/esm2022/link/public-api.mjs +0 -4
- package/esm2022/link/target.type.mjs +0 -2
- package/esm2022/link/upd-link.module.mjs +0 -24
- package/esm2022/link/updevs-components-link.mjs +0 -5
- package/esm2022/list/assets/i18n/en.json +0 -9
- package/esm2022/list/assets/i18n/pt.json +0 -9
- package/esm2022/list/index.mjs +0 -2
- package/esm2022/list/list.component.mjs +0 -113
- package/esm2022/list/models/badge-position.type.mjs +0 -2
- package/esm2022/list/models/list-item.mjs +0 -2
- package/esm2022/list/models/list-item.model.mjs +0 -15
- package/esm2022/list/models/public-api.mjs +0 -3
- package/esm2022/list/public-api.mjs +0 -4
- package/esm2022/list/upd-list.module.mjs +0 -43
- package/esm2022/list/updevs-components-list.mjs +0 -5
- package/esm2022/modal/assets/i18n/en.json +0 -17
- package/esm2022/modal/assets/i18n/pt.json +0 -17
- package/esm2022/modal/components/modal-container/modal-container.component.mjs +0 -216
- package/esm2022/modal/index.mjs +0 -2
- package/esm2022/modal/models/base.modal.mjs +0 -14
- package/esm2022/modal/models/modal-config.model.mjs +0 -20
- package/esm2022/modal/models/modal-ref.mjs +0 -2
- package/esm2022/modal/models/modal.config.mjs +0 -2
- package/esm2022/modal/models/public-api.mjs +0 -4
- package/esm2022/modal/public-api.mjs +0 -4
- package/esm2022/modal/services/modal-alert.service.mjs +0 -99
- package/esm2022/modal/services/modal.service.mjs +0 -30
- package/esm2022/modal/services/public-api.mjs +0 -3
- package/esm2022/modal/types/modal-footer-style.type.mjs +0 -2
- package/esm2022/modal/types/modal-size.type.mjs +0 -2
- package/esm2022/modal/upd-modal.module.mjs +0 -89
- package/esm2022/modal/updevs-components-modal.mjs +0 -5
- package/esm2022/paginator/assets/i18n/en.json +0 -15
- package/esm2022/paginator/assets/i18n/pt.json +0 -15
- package/esm2022/paginator/index.mjs +0 -2
- package/esm2022/paginator/paginator.component.mjs +0 -66
- package/esm2022/paginator/public-api.mjs +0 -3
- package/esm2022/paginator/upd-paginator.module.mjs +0 -46
- package/esm2022/paginator/updevs-components-paginator.mjs +0 -5
- package/esm2022/popover/index.mjs +0 -2
- package/esm2022/popover/popover.component.mjs +0 -65
- package/esm2022/popover/popover.directive.mjs +0 -129
- package/esm2022/popover/public-api.mjs +0 -4
- package/esm2022/popover/upd-popover.module.mjs +0 -29
- package/esm2022/popover/updevs-components-popover.mjs +0 -5
- package/esm2022/public-api.mjs +0 -2
- package/esm2022/table/abstractions/base-column.model.mjs +0 -52
- package/esm2022/table/abstractions/base.column.mjs +0 -98
- package/esm2022/table/abstractions/filters-operands.service.mjs +0 -3
- package/esm2022/table/abstractions/public-api.mjs +0 -3
- package/esm2022/table/assets/i18n/en.json +0 -74
- package/esm2022/table/assets/i18n/pt.json +0 -74
- package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +0 -26
- package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +0 -13
- package/esm2022/table/components/columns/number-column/number-column.component.mjs +0 -13
- package/esm2022/table/components/columns/text-column/text-column.component.mjs +0 -31
- package/esm2022/table/components/columns-manager/columns-manager.component.mjs +0 -36
- package/esm2022/table/components/filter-row/filter-row.component.mjs +0 -114
- package/esm2022/table/components/save-search/save-search.component.mjs +0 -72
- package/esm2022/table/components/search-section/search-section.component.mjs +0 -93
- package/esm2022/table/directives/public-api.mjs +0 -2
- package/esm2022/table/directives/table-column.directive.mjs +0 -51
- package/esm2022/table/index.mjs +0 -2
- package/esm2022/table/models/columns/boolean-column.model.mjs +0 -22
- package/esm2022/table/models/columns/date-time-column.model.mjs +0 -16
- package/esm2022/table/models/columns/guid-column.model.mjs +0 -13
- package/esm2022/table/models/columns/image-column.model.mjs +0 -11
- package/esm2022/table/models/columns/number-column.model.mjs +0 -17
- package/esm2022/table/models/columns/public-api.mjs +0 -7
- package/esm2022/table/models/columns/text-column.model.mjs +0 -11
- package/esm2022/table/models/enums/column-type.enum.mjs +0 -15
- package/esm2022/table/models/enums/public-api.mjs +0 -2
- package/esm2022/table/models/filter-item.model.mjs +0 -2
- package/esm2022/table/models/filter-operand.config.mjs +0 -2
- package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +0 -25
- package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +0 -25
- package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +0 -31
- package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +0 -31
- package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +0 -16
- package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +0 -25
- package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +0 -45
- package/esm2022/table/models/public-api.mjs +0 -5
- package/esm2022/table/models/saved-view.model.mjs +0 -2
- package/esm2022/table/models/table-config.model.mjs +0 -21
- package/esm2022/table/models/table.config.mjs +0 -2
- package/esm2022/table/models/upd-table-config.model.mjs +0 -9
- package/esm2022/table/models/upd-table.config.mjs +0 -2
- package/esm2022/table/public-api.mjs +0 -6
- package/esm2022/table/services/default-filters-operands.service.mjs +0 -60
- package/esm2022/table/services/storages/saved-views.storage.mjs +0 -63
- package/esm2022/table/services/stores/filters-operands.store.mjs +0 -19
- package/esm2022/table/services/upd-table-config.service.mjs +0 -18
- package/esm2022/table/table.component.mjs +0 -382
- package/esm2022/table/tools/filters.tools.mjs +0 -48
- package/esm2022/table/tools/table.constants.mjs +0 -15
- package/esm2022/table/upd-table.module.mjs +0 -149
- package/esm2022/table/updevs-components-table.mjs +0 -5
- package/esm2022/updevs-components.mjs +0 -5
- package/form/components/dynamic-field/dynamic-field.component.d.ts +0 -45
- package/form/form.component.d.ts +0 -60
- package/form/index.d.ts +0 -1
- package/form/models/checkbox-field.model.d.ts +0 -4
- package/form/models/checkbox-group-field.model.d.ts +0 -6
- package/form/models/dynamic-field.model.d.ts +0 -30
- package/form/models/enums/dynamic-field.type.d.ts +0 -12
- package/form/models/enums/public-api.d.ts +0 -1
- package/form/models/form-row.model.d.ts +0 -8
- package/form/models/public-api.d.ts +0 -5
- package/form/models/radio-field.model.d.ts +0 -4
- package/form/models/radio-group-field.model.d.ts +0 -6
- package/form/models/select-field.model.d.ts +0 -28
- package/form/models/single-select-field.model.d.ts +0 -4
- package/form/models/textarea-field.model.d.ts +0 -10
- package/form/models/validator-config.d.ts +0 -5
- package/form/public-api.d.ts +0 -3
- package/form/tools/errors-helper.d.ts +0 -11
- package/form/upd-form.module.d.ts +0 -20
- package/form-controls/abstractions/base-control.d.ts +0 -24
- package/form-controls/abstractions/index.d.ts +0 -2
- package/form-controls/abstractions/public-api.d.ts +0 -2
- package/form-controls/checkbox/checkbox.component.d.ts +0 -21
- package/form-controls/checkbox/index.d.ts +0 -1
- package/form-controls/checkbox/public-api.d.ts +0 -2
- package/form-controls/checkbox/upd-checkbox.module.d.ts +0 -10
- package/form-controls/date-picker/date-picker.component.d.ts +0 -87
- package/form-controls/date-picker/index.d.ts +0 -1
- package/form-controls/date-picker/public-api.d.ts +0 -2
- package/form-controls/date-picker/upd-date-picker.module.d.ts +0 -12
- package/form-controls/input/directives/input-append.directive.d.ts +0 -7
- package/form-controls/input/directives/input-prepend.directive.d.ts +0 -7
- package/form-controls/input/directives/public-api.d.ts +0 -2
- package/form-controls/input/index.d.ts +0 -1
- package/form-controls/input/input.component.d.ts +0 -66
- package/form-controls/input/public-api.d.ts +0 -4
- package/form-controls/input/types/input.type.d.ts +0 -1
- package/form-controls/input/types/loader-position.type.d.ts +0 -1
- package/form-controls/input/types/public-api.d.ts +0 -2
- package/form-controls/input/upd-input.module.d.ts +0 -13
- package/form-controls/radio/index.d.ts +0 -1
- package/form-controls/radio/public-api.d.ts +0 -2
- package/form-controls/radio/radio.component.d.ts +0 -19
- package/form-controls/radio/upd-radio.module.d.ts +0 -10
- package/form-controls/select/components/multiple/select-multiple.component.d.ts +0 -25
- package/form-controls/select/components/single/select.component.d.ts +0 -26
- package/form-controls/select/index.d.ts +0 -1
- package/form-controls/select/models/abstractions/base-select.component.d.ts +0 -83
- package/form-controls/select/models/defaults.d.ts +0 -8
- package/form-controls/select/models/public-api.d.ts +0 -2
- package/form-controls/select/models/select-item.d.ts +0 -25
- package/form-controls/select/public-api.d.ts +0 -4
- package/form-controls/select/upd-select.module.d.ts +0 -16
- package/form-controls/textarea/index.d.ts +0 -1
- package/form-controls/textarea/public-api.d.ts +0 -2
- package/form-controls/textarea/textarea.component.d.ts +0 -21
- package/form-controls/textarea/upd-textarea.module.d.ts +0 -8
- package/form-controls/time-picker/index.d.ts +0 -1
- package/form-controls/time-picker/public-api.d.ts +0 -3
- package/form-controls/time-picker/time-picker.component.d.ts +0 -78
- package/form-controls/time-picker/time-selector/time-selector.component.d.ts +0 -69
- package/form-controls/time-picker/upd-time-picker.module.d.ts +0 -17
- package/index.d.ts +0 -2
- package/layout/abstractions/base-page.component.d.ts +0 -12
- package/layout/abstractions/base.layout.d.ts +0 -15
- package/layout/abstractions/public-api.d.ts +0 -1
- package/layout/index.d.ts +0 -1
- package/layout/layouts/blank-layout/blank-layout.component.d.ts +0 -5
- package/layout/layouts/blank-layout/blank-layout.module.d.ts +0 -8
- package/layout/layouts/public-api.d.ts +0 -4
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +0 -12
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +0 -21
- package/layout/models/login-page-config.model.d.ts +0 -37
- package/layout/models/login-page.config.d.ts +0 -35
- package/layout/models/public-api.d.ts +0 -2
- package/layout/models/security-layout-config.model.d.ts +0 -12
- package/layout/models/security-layout.config.d.ts +0 -10
- package/layout/models/upd-layout-config.model.d.ts +0 -48
- package/layout/models/upd-layout.config.d.ts +0 -46
- package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +0 -12
- package/layout/pages/auth-flow/auth-flow.module.d.ts +0 -18
- package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +0 -5
- package/layout/pages/auth-flow/login/login.component.d.ts +0 -23
- package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +0 -5
- package/layout/pages/auth-flow/public-api.d.ts +0 -5
- package/layout/pages/public-api.d.ts +0 -1
- package/layout/partials/footer/footer-copyright.directive.d.ts +0 -5
- package/layout/partials/footer/footer.component.d.ts +0 -34
- package/layout/partials/footer/public-api.d.ts +0 -2
- package/layout/partials/header/header-style.type.d.ts +0 -1
- package/layout/partials/header/header.component.d.ts +0 -31
- package/layout/partials/header/public-api.d.ts +0 -2
- package/layout/partials/page-header/page-header.component.d.ts +0 -7
- package/layout/partials/page-header/public-api.d.ts +0 -1
- package/layout/partials/public-api.d.ts +0 -4
- package/layout/partials/sidebar/public-api.d.ts +0 -1
- package/layout/partials/sidebar/sidebar.component.d.ts +0 -22
- package/layout/public-api.d.ts +0 -7
- package/layout/services/public-api.d.ts +0 -1
- package/layout/services/upd-layout-config.service.d.ts +0 -15
- package/layout/tools/layout.constants.d.ts +0 -15
- package/layout/upd-layout.module.d.ts +0 -18
- package/lib/index.d.ts +0 -2
- package/lib/models/public-api.d.ts +0 -2
- package/lib/models/row-column-size.d.ts +0 -6
- package/lib/public-api.d.ts +0 -5
- package/lib/tools/column-size.helper.d.ts +0 -6
- package/lib/tools/public-api.d.ts +0 -2
- package/lib/types/component-size.type.d.ts +0 -2
- package/lib/types/horizontal-vertical.type.d.ts +0 -2
- package/lib/types/public-api.d.ts +0 -4
- package/lib/types/validation-status.type.d.ts +0 -2
- package/lib/upd-components.module.d.ts +0 -7
- package/link/index.d.ts +0 -1
- package/link/public-api.d.ts +0 -3
- package/link/target.type.d.ts +0 -1
- package/link/upd-link.module.d.ts +0 -8
- package/list/index.d.ts +0 -1
- package/list/list.component.d.ts +0 -46
- package/list/models/badge-position.type.d.ts +0 -1
- package/list/models/list-item.d.ts +0 -20
- package/list/models/list-item.model.d.ts +0 -25
- package/list/models/public-api.d.ts +0 -2
- package/list/public-api.d.ts +0 -3
- package/list/upd-list.module.d.ts +0 -13
- package/modal/components/modal-container/modal-container.component.d.ts +0 -74
- package/modal/index.d.ts +0 -1
- package/modal/models/base.modal.d.ts +0 -8
- package/modal/models/modal-config.model.d.ts +0 -32
- package/modal/models/modal-ref.d.ts +0 -6
- package/modal/models/modal.config.d.ts +0 -30
- package/modal/models/public-api.d.ts +0 -3
- package/modal/public-api.d.ts +0 -3
- package/modal/services/modal-alert.service.d.ts +0 -22
- package/modal/services/modal.service.d.ts +0 -12
- package/modal/services/public-api.d.ts +0 -2
- package/modal/types/modal-footer-style.type.d.ts +0 -1
- package/modal/types/modal-size.type.d.ts +0 -1
- package/modal/upd-modal.module.d.ts +0 -18
- package/paginator/index.d.ts +0 -1
- package/paginator/paginator.component.d.ts +0 -42
- package/paginator/public-api.d.ts +0 -2
- package/paginator/upd-paginator.module.d.ts +0 -14
- package/popover/index.d.ts +0 -1
- package/popover/popover.component.d.ts +0 -22
- package/popover/popover.directive.d.ts +0 -33
- package/popover/public-api.d.ts +0 -3
- package/popover/upd-popover.module.d.ts +0 -9
- package/public-api.d.ts +0 -2
- package/table/abstractions/base-column.model.d.ts +0 -31
- package/table/abstractions/base.column.d.ts +0 -22
- package/table/abstractions/filters-operands.service.d.ts +0 -8
- package/table/abstractions/public-api.d.ts +0 -2
- package/table/components/columns/boolean-column/boolean-column.component.d.ts +0 -9
- package/table/components/columns/date-time-column/date-time-column.component.d.ts +0 -7
- package/table/components/columns/number-column/number-column.component.d.ts +0 -7
- package/table/components/columns/text-column/text-column.component.d.ts +0 -9
- package/table/components/columns-manager/columns-manager.component.d.ts +0 -15
- package/table/components/filter-row/filter-row.component.d.ts +0 -40
- package/table/components/save-search/save-search.component.d.ts +0 -17
- package/table/components/search-section/search-section.component.d.ts +0 -36
- package/table/directives/public-api.d.ts +0 -1
- package/table/directives/table-column.directive.d.ts +0 -14
- package/table/index.d.ts +0 -1
- package/table/models/columns/boolean-column.model.d.ts +0 -15
- package/table/models/columns/date-time-column.model.d.ts +0 -8
- package/table/models/columns/guid-column.model.d.ts +0 -4
- package/table/models/columns/image-column.model.d.ts +0 -6
- package/table/models/columns/number-column.model.d.ts +0 -8
- package/table/models/columns/public-api.d.ts +0 -6
- package/table/models/columns/text-column.model.d.ts +0 -6
- package/table/models/enums/column-type.enum.d.ts +0 -13
- package/table/models/enums/public-api.d.ts +0 -1
- package/table/models/filter-item.model.d.ts +0 -6
- package/table/models/filter-operand.config.d.ts +0 -9
- package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +0 -6
- package/table/models/operands-lists/date-filter-operands-list.model.d.ts +0 -6
- package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +0 -5
- package/table/models/operands-lists/filter-operands-list.config.d.ts +0 -5
- package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +0 -6
- package/table/models/operands-lists/number-filter-operands-list.model.d.ts +0 -6
- package/table/models/operands-lists/string-filter-operands-list.model.d.ts +0 -6
- package/table/models/public-api.d.ts +0 -4
- package/table/models/saved-view.model.d.ts +0 -11
- package/table/models/table-config.model.d.ts +0 -24
- package/table/models/table.config.d.ts +0 -22
- package/table/models/upd-table-config.model.d.ts +0 -6
- package/table/models/upd-table.config.d.ts +0 -6
- package/table/public-api.d.ts +0 -5
- package/table/services/default-filters-operands.service.d.ts +0 -17
- package/table/services/storages/saved-views.storage.d.ts +0 -22
- package/table/services/stores/filters-operands.store.d.ts +0 -11
- package/table/services/upd-table-config.service.d.ts +0 -12
- package/table/table.component.d.ts +0 -78
- package/table/tools/filters.tools.d.ts +0 -9
- package/table/tools/table.constants.d.ts +0 -15
- package/table/upd-table.module.d.ts +0 -40
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, input, inject, NgZone, ElementRef, Renderer2, RendererStyleFlags2,
|
|
2
|
+
import { EventEmitter, input, inject, NgZone, ElementRef, Renderer2, Injector, RendererStyleFlags2, afterNextRender, Output, Input, HostBinding, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { BaseComponent, PositioningService, DomEventsService } from '@updevs/sdk/layout';
|
|
4
4
|
import { TextService } from '@updevs/sdk';
|
|
5
5
|
import * as i1 from '@angular/common';
|
|
@@ -48,7 +48,7 @@ class DropdownComponent extends BaseComponent {
|
|
|
48
48
|
this.isOpenChange = new EventEmitter();
|
|
49
49
|
this.selectedItem = new EventEmitter();
|
|
50
50
|
this.checkboxChanged = new EventEmitter();
|
|
51
|
-
this.textOverflowStrategy = input('wrap');
|
|
51
|
+
this.textOverflowStrategy = input('wrap', ...(ngDevMode ? [{ debugName: "textOverflowStrategy" }] : []));
|
|
52
52
|
this.textService = inject(TextService);
|
|
53
53
|
this.baseWrapperClasses = 'dropdown-menu';
|
|
54
54
|
this._isOpen = false;
|
|
@@ -57,6 +57,7 @@ class DropdownComponent extends BaseComponent {
|
|
|
57
57
|
this.renderer = inject(Renderer2);
|
|
58
58
|
this.positioningService = inject(PositioningService);
|
|
59
59
|
this.domEventsService = inject(DomEventsService);
|
|
60
|
+
this.injector = inject(Injector);
|
|
60
61
|
this.dropdownElement = this.elementRef.nativeElement;
|
|
61
62
|
}
|
|
62
63
|
ngOnInit() {
|
|
@@ -83,21 +84,39 @@ class DropdownComponent extends BaseComponent {
|
|
|
83
84
|
};
|
|
84
85
|
return btn;
|
|
85
86
|
}
|
|
87
|
+
trackByItemId(index, item) {
|
|
88
|
+
return item.id ?? index;
|
|
89
|
+
}
|
|
90
|
+
getButtonClasses(item) {
|
|
91
|
+
const classes = ['dropdown-item'];
|
|
92
|
+
if (item.isDisabled) {
|
|
93
|
+
classes.push('disabled');
|
|
94
|
+
}
|
|
95
|
+
if (item.isActive) {
|
|
96
|
+
classes.push('active');
|
|
97
|
+
}
|
|
98
|
+
return classes.join(' ');
|
|
99
|
+
}
|
|
86
100
|
closeOnOutsideClick() {
|
|
87
|
-
|
|
101
|
+
if (!!this.dropdownOutsideClickSub) {
|
|
102
|
+
this.dropdownOutsideClickSub.unsubscribe();
|
|
103
|
+
}
|
|
104
|
+
const excludedElements = [this.dropdownElement];
|
|
88
105
|
if (!!this.dropdownReference) {
|
|
89
106
|
excludedElements.push(this.dropdownReference.nativeElement);
|
|
90
107
|
}
|
|
91
|
-
|
|
108
|
+
this.dropdownOutsideClickSub = this.domEventsService.startOutsideClickListener(() => this.ngZone.run(() => {
|
|
92
109
|
this.updateOpenState(false);
|
|
93
|
-
this.
|
|
110
|
+
this.updateWrapperClasses();
|
|
94
111
|
}), this.dropdownElement, true, ...excludedElements);
|
|
95
|
-
this.addSubscriptions(
|
|
112
|
+
this.addSubscriptions(this.dropdownOutsideClickSub);
|
|
96
113
|
}
|
|
97
114
|
updateStyle() {
|
|
98
115
|
this.updateWrapperClasses();
|
|
99
116
|
this.updateMaxHeight();
|
|
100
|
-
this.
|
|
117
|
+
if (this.isOpen) {
|
|
118
|
+
this.startPositionUpdate();
|
|
119
|
+
}
|
|
101
120
|
}
|
|
102
121
|
updateWrapperClasses() {
|
|
103
122
|
this.localWrapperClasses = this.baseWrapperClasses + ' ' + this.wrapperClasses;
|
|
@@ -122,9 +141,11 @@ class DropdownComponent extends BaseComponent {
|
|
|
122
141
|
if (!this.dropdownReference) {
|
|
123
142
|
return;
|
|
124
143
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
144
|
+
afterNextRender(() => {
|
|
145
|
+
this.ngZone.runOutsideAngular(() => this.positioningService
|
|
146
|
+
.computePosition(this.dropdownReference, this.elementRef, { placement: this.dropdownReferencePosition }, undefined, undefined, true)
|
|
147
|
+
.subscribe(resp => this.updatePosition(resp)));
|
|
148
|
+
}, { injector: this.injector });
|
|
128
149
|
}
|
|
129
150
|
updatePosition(result) {
|
|
130
151
|
const reference = this.dropdownReference.nativeElement.getBoundingClientRect();
|
|
@@ -136,19 +157,19 @@ class DropdownComponent extends BaseComponent {
|
|
|
136
157
|
}
|
|
137
158
|
if (!!this.minWidth) {
|
|
138
159
|
this.renderer.setStyle(ddElement, 'min-width', `${this.minWidth}px`, RendererStyleFlags2.Important);
|
|
139
|
-
widthOffset = (this.minWidth > width ? this.minWidth - width : 0) / 2;
|
|
160
|
+
widthOffset = (this.minWidth > width ? this.minWidth - width : 0) / 2; // TODO: check logic
|
|
140
161
|
}
|
|
141
162
|
this.renderer.setStyle(ddElement, 'position', result.strategy, RendererStyleFlags2.Important);
|
|
142
163
|
this.renderer.setStyle(ddElement, 'width', `${width}px`, RendererStyleFlags2.Important);
|
|
143
164
|
this.renderer.setStyle(ddElement, 'left', `${result.x - widthOffset}px`, RendererStyleFlags2.Important);
|
|
144
165
|
this.renderer.setStyle(ddElement, 'top', `${result.y}px`, RendererStyleFlags2.Important);
|
|
145
166
|
}
|
|
146
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
147
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
167
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
168
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: DropdownComponent, isStandalone: false, selector: "upd-dropdown", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null }, shouldCloseOnOutsideClick: { classPropertyName: "shouldCloseOnOutsideClick", publicName: "shouldCloseOnOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, arrowType: { classPropertyName: "arrowType", publicName: "arrowType", isSignal: false, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: false, isRequired: false, transformFunction: null }, elementsExcludedFromOutsideClick: { classPropertyName: "elementsExcludedFromOutsideClick", publicName: "elementsExcludedFromOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: false, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: false, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: false, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: false, isRequired: false, transformFunction: null }, dropdownReference: { classPropertyName: "dropdownReference", publicName: "dropdownReference", isSignal: false, isRequired: false, transformFunction: null }, dropdownReferencePosition: { classPropertyName: "dropdownReferencePosition", publicName: "dropdownReferencePosition", isSignal: false, isRequired: false, transformFunction: null }, textOverflowStrategy: { classPropertyName: "textOverflowStrategy", publicName: "textOverflowStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange", selectedItem: "selectedItem", checkboxChanged: "checkboxChanged" }, host: { properties: { "class": "this.localWrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track trackByItemId($index, item)) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"getButtonClasses(item)\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i3.RadioComponent, selector: "upd-radio", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline"], outputs: ["selected"] }, { kind: "component", type: i4.CheckboxComponent, selector: "upd-checkbox", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline", "isSwitch", "isIndeterminate"], outputs: ["changed", "isCheckedChange", "isIndeterminateChange"] }, { kind: "component", type: i5.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
148
169
|
}
|
|
149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
150
171
|
type: Component,
|
|
151
|
-
args: [{ selector: 'upd-dropdown', encapsulation: ViewEncapsulation.None, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track item) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"
|
|
172
|
+
args: [{ standalone: false, selector: 'upd-dropdown', encapsulation: ViewEncapsulation.None, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track trackByItemId($index, item)) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"getButtonClasses(item)\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"] }]
|
|
152
173
|
}], ctorParameters: () => [], propDecorators: { localWrapperClasses: [{
|
|
153
174
|
type: HostBinding,
|
|
154
175
|
args: ['class']
|
|
@@ -184,22 +205,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
184
205
|
type: Output
|
|
185
206
|
}], checkboxChanged: [{
|
|
186
207
|
type: Output
|
|
187
|
-
}] } });
|
|
208
|
+
}], textOverflowStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "textOverflowStrategy", required: false }] }] } });
|
|
188
209
|
|
|
189
210
|
class UpdDropdownModule {
|
|
190
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
191
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
211
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
212
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: UpdDropdownModule, declarations: [DropdownComponent], imports: [CommonModule,
|
|
192
213
|
UpdIconsModule,
|
|
193
214
|
UpdRadioModule,
|
|
194
215
|
UpdCheckboxModule,
|
|
195
216
|
UpdButtonModule], exports: [DropdownComponent] }); }
|
|
196
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
217
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdDropdownModule, imports: [CommonModule,
|
|
197
218
|
UpdIconsModule,
|
|
198
219
|
UpdRadioModule,
|
|
199
220
|
UpdCheckboxModule,
|
|
200
221
|
UpdButtonModule] }); }
|
|
201
222
|
}
|
|
202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdDropdownModule, decorators: [{
|
|
203
224
|
type: NgModule,
|
|
204
225
|
args: [{
|
|
205
226
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updevs-components-dropdown.mjs","sources":["../../../../libs/components/dropdown/src/dropdown.component.ts","../../../../libs/components/dropdown/src/dropdown.component.html","../../../../libs/components/dropdown/src/upd-dropdown.module.ts","../../../../libs/components/dropdown/src/updevs-components-dropdown.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n OnChanges,\n Output,\n EventEmitter,\n NgZone,\n ElementRef,\n Renderer2,\n RendererStyleFlags2,\n inject, input\n} from '@angular/core';\nimport {\n BaseComponent,\n PositioningService,\n ComputePositionResult,\n DomEventsService,\n ButtonModel,\n OverflowStrategyType\n} from '@updevs/sdk/layout';\nimport { TopBottomLeftRightType, LeftRightType } from '@updevs/sdk/types';\nimport { TextService } from '@updevs/sdk';\n\nimport { DropdownItem } from './models/dropdown-item';\nimport { DropdownActionClickedModel } from './models/dropdown-action-clicked.model';\n\n@Component({\n selector: 'upd-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DropdownComponent extends BaseComponent implements OnInit, OnChanges {\n @HostBinding('class') localWrapperClasses = '';\n\n @Input() items: DropdownItem[] = [];\n @Input() header?: string;\n @Input()\n set isOpen(value: boolean) {\n this.updateOpenState(value);\n\n if (this.shouldCloseOnOutsideClick) {\n this.closeOnOutsideClick();\n }\n }\n @Input() shouldCloseOnOutsideClick = false;\n @Input() arrowType?: LeftRightType;\n @Input() wrapperClasses = '';\n /**\n * Elements that won't trigger the close of the dropdown if clicked upon.\n * Only works when `shouldCloseOnOutsideClick` is set to true.\n */\n @Input() elementsExcludedFromOutsideClick?: HTMLElement[];\n /**\n * Minimum height of the component.\n */\n @Input() minHeight?: number;\n /**\n * Maximum height of the component.\n * If set, scroll bars will be used when the content's size is bigger than the component's.\n */\n @Input() maxHeight?: number;\n /**\n * Minimum width of the component.\n */\n @Input() minWidth?: number;\n /**\n * Maximum width of the component.\n * If set, scroll bars will be used when the content's size is bigger than the component's.\n */\n @Input() maxWidth?: number;\n /**\n * If set, the position of the dropdown will be set according to this element.\n */\n @Input() dropdownReference?: ElementRef;\n /**\n * If a reference is provided, this will be the position of the dropdown in relation to that reference.\n */\n @Input() dropdownReferencePosition: TopBottomLeftRightType = 'bottom';\n\n @Output() readonly isOpenChange = new EventEmitter<boolean>();\n @Output() readonly selectedItem = new EventEmitter<DropdownItem>();\n @Output() readonly checkboxChanged = new EventEmitter<DropdownItem>();\n\n textOverflowStrategy = input<OverflowStrategyType>('wrap');\n\n readonly textService = inject(TextService);\n get isOpen(): boolean {\n return this._isOpen;\n }\n get overflowClass(): string {\n switch (this.textOverflowStrategy()) {\n case 'no-wrap':\n return 'text-nowrap';\n case 'wrap':\n return 'text-wrap';\n case 'word-break':\n return 'text-break';\n default:\n return 'text-truncate';\n }\n }\n\n private baseWrapperClasses = 'dropdown-menu';\n private _isOpen = false;\n private readonly dropdownElement: HTMLElement;\n private readonly ngZone = inject(NgZone);\n private readonly elementRef = inject(ElementRef);\n private readonly renderer = inject(Renderer2);\n private readonly positioningService = inject(PositioningService);\n private readonly domEventsService = inject(DomEventsService);\n\n constructor() {\n super();\n this.dropdownElement = this.elementRef.nativeElement;\n }\n\n ngOnInit(): void {\n this.updateStyle();\n }\n\n ngOnChanges(): void {\n this.updateStyle();\n }\n\n onSelect(item: DropdownItem): void {\n this.selectedItem.emit(item);\n }\n\n onCheckboxChange(item: DropdownItem, isChecked: boolean): void {\n item.isChecked = isChecked;\n this.checkboxChanged.emit(item);\n }\n\n adaptAction(btn: ButtonModel, item: DropdownItem): ButtonModel {\n const defaultFunction = btn.clickFunction;\n btn.clickFunction = (evt) => {\n evt.event?.preventDefault();\n evt.event?.stopPropagation();\n\n if (!!defaultFunction) {\n defaultFunction({ event: evt.event, data: { item, button: btn } as DropdownActionClickedModel });\n }\n };\n return btn;\n }\n\n private closeOnOutsideClick(): void {\n const excludedElements = [];\n\n if (!!this.dropdownReference) {\n excludedElements.push(this.dropdownReference.nativeElement);\n }\n\n const outsideClickSub = this.domEventsService.startOutsideClickListener(\n () => this.ngZone.run(() => {\n this.updateOpenState(false);\n this.ngZone.run(() => this.updateWrapperClasses());\n }),\n this.dropdownElement,\n true,\n ...excludedElements\n );\n this.addSubscriptions(outsideClickSub);\n }\n\n private updateStyle(): void {\n this.updateWrapperClasses();\n this.updateMaxHeight();\n this.startPositionUpdate();\n }\n\n private updateWrapperClasses(): void {\n this.localWrapperClasses = this.baseWrapperClasses + ' ' + this.wrapperClasses;\n\n if (this.isOpen) {\n this.localWrapperClasses += ' dropdown-show';\n }\n\n if (!!this.arrowType) {\n this.localWrapperClasses += ' dropdown-menu-arrow' + (this.arrowType === 'right' ? ' dropdown-menu-end' : '');\n }\n\n if (!!this.maxHeight) {\n this.localWrapperClasses += ' dropdown-overflow';\n }\n }\n\n private updateOpenState(isOpen: boolean): void {\n this._isOpen = isOpen;\n this.isOpenChange.emit(isOpen);\n }\n\n private updateMaxHeight(): void {\n this.renderer.setStyle(this.dropdownElement, 'max-height', `${this.maxHeight}px`, RendererStyleFlags2.Important);\n }\n\n private startPositionUpdate(): void {\n if (!this.dropdownReference) {\n return;\n }\n\n this.ngZone.runOutsideAngular(() =>\n this.positioningService\n .computePosition(this.dropdownReference!, this.elementRef, { placement: this.dropdownReferencePosition })\n .subscribe(resp => this.updatePosition(resp))\n );\n }\n\n private updatePosition(result: ComputePositionResult): void {\n const reference = this.dropdownReference!.nativeElement.getBoundingClientRect();\n const ddElement = this.dropdownElement;\n const width = Math.abs(reference.width);\n let widthOffset = 0;\n\n if (!!this.maxWidth) {\n this.renderer.setStyle(ddElement, 'max-width', `${this.maxWidth}px`, RendererStyleFlags2.Important);\n }\n\n if (!!this.minWidth) {\n this.renderer.setStyle(ddElement, 'min-width', `${this.minWidth}px`, RendererStyleFlags2.Important);\n widthOffset = (this.minWidth > width ? this.minWidth - width : 0) / 2;\n }\n\n this.renderer.setStyle(ddElement, 'position', result.strategy, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'width', `${width}px`, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'left', `${result.x - widthOffset}px`, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'top', `${result.y}px`, RendererStyleFlags2.Important);\n }\n}\n","@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track item) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdButtonModule } from '@updevs/components/button';\nimport { UpdRadioModule } from '@updevs/components/form-controls/radio';\nimport { UpdCheckboxModule } from '@updevs/components/form-controls/checkbox';\n\nimport { DropdownComponent } from './dropdown.component';\n\n@NgModule({\n imports: [\n CommonModule,\n UpdIconsModule,\n UpdRadioModule,\n UpdCheckboxModule,\n UpdButtonModule\n ],\n declarations: [\n DropdownComponent\n ],\n exports: [\n DropdownComponent\n ]\n})\nexport class UpdDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updevs-components-dropdown.mjs","sources":["../../../../libs/components/dropdown/src/dropdown.component.ts","../../../../libs/components/dropdown/src/dropdown.component.html","../../../../libs/components/dropdown/src/upd-dropdown.module.ts","../../../../libs/components/dropdown/src/updevs-components-dropdown.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n OnChanges,\n Output,\n EventEmitter,\n NgZone,\n ElementRef,\n Renderer2,\n RendererStyleFlags2,\n inject, input,\n Injector,\n afterNextRender\n} from '@angular/core';\nimport { BaseComponent, PositioningService, ComputePositionResult, DomEventsService, ButtonModel } from '@updevs/sdk/layout';\nimport { TopBottomLeftRightType, LeftRightType, OverflowStrategyType } from '@updevs/sdk/types';\nimport { TextService } from '@updevs/sdk';\nimport { Subscription } from 'rxjs';\n\nimport { DropdownItem } from './models/dropdown-item';\nimport { DropdownActionClickedModel } from './models/dropdown-action-clicked.model';\n\n@Component({\n standalone: false,\n selector: 'upd-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DropdownComponent extends BaseComponent implements OnInit, OnChanges {\n @HostBinding('class') localWrapperClasses = '';\n\n @Input() items: DropdownItem[] = [];\n @Input() header?: string;\n\n @Input()\n set isOpen(value: boolean) {\n this.updateOpenState(value);\n\n if (this.shouldCloseOnOutsideClick) {\n this.closeOnOutsideClick();\n }\n }\n\n @Input() shouldCloseOnOutsideClick = false;\n @Input() arrowType?: LeftRightType;\n @Input() wrapperClasses = '';\n /**\n * Elements that won't trigger the close of the dropdown if clicked upon.\n * Only works when `shouldCloseOnOutsideClick` is set to true.\n */\n @Input() elementsExcludedFromOutsideClick?: HTMLElement[];\n /**\n * Minimum height of the component.\n */\n @Input() minHeight?: number;\n /**\n * Maximum height of the component.\n * If set, scroll bars will be used when the content's size is bigger than the component's.\n */\n @Input() maxHeight?: number;\n /**\n * Minimum width of the component.\n */\n @Input() minWidth?: number;\n /**\n * Maximum width of the component.\n * If set, scroll bars will be used when the content's size is bigger than the component's.\n */\n @Input() maxWidth?: number;\n /**\n * If set, the position of the dropdown will be set according to this element.\n */\n @Input() dropdownReference?: ElementRef;\n /**\n * If a reference is provided, this will be the position of the dropdown in relation to that reference.\n */\n @Input() dropdownReferencePosition: TopBottomLeftRightType = 'bottom';\n\n @Output() readonly isOpenChange = new EventEmitter<boolean>();\n @Output() readonly selectedItem = new EventEmitter<DropdownItem>();\n @Output() readonly checkboxChanged = new EventEmitter<DropdownItem>();\n\n textOverflowStrategy = input<OverflowStrategyType>('wrap');\n\n readonly textService = inject(TextService);\n\n get isOpen(): boolean {\n return this._isOpen;\n }\n\n get overflowClass(): string {\n switch (this.textOverflowStrategy()) {\n case 'no-wrap':\n return 'text-nowrap';\n case 'wrap':\n return 'text-wrap';\n case 'word-break':\n return 'text-break';\n default:\n return 'text-truncate';\n }\n }\n\n private baseWrapperClasses = 'dropdown-menu';\n private _isOpen = false;\n private dropdownOutsideClickSub?: Subscription;\n private readonly dropdownElement: HTMLElement;\n private readonly ngZone = inject(NgZone);\n private readonly elementRef = inject(ElementRef);\n private readonly renderer = inject(Renderer2);\n private readonly positioningService = inject(PositioningService);\n private readonly domEventsService = inject(DomEventsService);\n private readonly injector = inject(Injector);\n\n constructor() {\n super();\n this.dropdownElement = this.elementRef.nativeElement;\n }\n\n ngOnInit(): void {\n this.updateStyle();\n }\n\n ngOnChanges(): void {\n this.updateStyle();\n }\n\n onSelect(item: DropdownItem): void {\n this.selectedItem.emit(item);\n }\n\n onCheckboxChange(item: DropdownItem, isChecked: boolean): void {\n item.isChecked = isChecked;\n this.checkboxChanged.emit(item);\n }\n\n adaptAction(btn: ButtonModel, item: DropdownItem): ButtonModel {\n const defaultFunction = btn.clickFunction;\n btn.clickFunction = (evt) => {\n evt.event?.preventDefault();\n evt.event?.stopPropagation();\n\n if (!!defaultFunction) {\n defaultFunction({ event: evt.event, data: { item, button: btn } as DropdownActionClickedModel });\n }\n };\n\n return btn;\n }\n\n trackByItemId(index: number, item: DropdownItem): any {\n return item.id ?? index;\n }\n\n getButtonClasses(item: DropdownItem): string {\n const classes = ['dropdown-item'];\n\n if (item.isDisabled) {\n classes.push('disabled');\n }\n\n if (item.isActive) {\n classes.push('active');\n }\n\n return classes.join(' ');\n }\n\n private closeOnOutsideClick(): void {\n if (!!this.dropdownOutsideClickSub) {\n this.dropdownOutsideClickSub.unsubscribe();\n }\n\n const excludedElements = [this.dropdownElement];\n\n if (!!this.dropdownReference) {\n excludedElements.push(this.dropdownReference.nativeElement);\n }\n\n this.dropdownOutsideClickSub = this.domEventsService.startOutsideClickListener(\n () => this.ngZone.run(() => {\n this.updateOpenState(false);\n this.updateWrapperClasses();\n }),\n this.dropdownElement,\n true,\n ...excludedElements\n );\n this.addSubscriptions(this.dropdownOutsideClickSub);\n }\n\n private updateStyle(): void {\n this.updateWrapperClasses();\n this.updateMaxHeight();\n\n if (this.isOpen) {\n this.startPositionUpdate();\n }\n }\n\n private updateWrapperClasses(): void {\n this.localWrapperClasses = this.baseWrapperClasses + ' ' + this.wrapperClasses;\n\n if (this.isOpen) {\n this.localWrapperClasses += ' dropdown-show';\n }\n\n if (!!this.arrowType) {\n this.localWrapperClasses += ' dropdown-menu-arrow' + (this.arrowType === 'right' ? ' dropdown-menu-end' : '');\n }\n\n if (!!this.maxHeight) {\n this.localWrapperClasses += ' dropdown-overflow';\n }\n }\n\n private updateOpenState(isOpen: boolean): void {\n this._isOpen = isOpen;\n this.isOpenChange.emit(isOpen);\n }\n\n private updateMaxHeight(): void {\n this.renderer.setStyle(this.dropdownElement, 'max-height', `${this.maxHeight}px`, RendererStyleFlags2.Important);\n }\n\n private startPositionUpdate(): void {\n if (!this.dropdownReference) {\n return;\n }\n\n afterNextRender(() => {\n this.ngZone.runOutsideAngular(() =>\n this.positioningService\n .computePosition(\n this.dropdownReference!,\n this.elementRef,\n { placement: this.dropdownReferencePosition },\n undefined,\n undefined,\n true\n )\n .subscribe(resp => this.updatePosition(resp))\n );\n }, { injector: this.injector });\n }\n\n private updatePosition(result: ComputePositionResult): void {\n const reference = this.dropdownReference!.nativeElement.getBoundingClientRect();\n const ddElement = this.dropdownElement;\n const width = Math.abs(reference.width);\n let widthOffset = 0;\n\n if (!!this.maxWidth) {\n this.renderer.setStyle(ddElement, 'max-width', `${this.maxWidth}px`, RendererStyleFlags2.Important);\n }\n\n if (!!this.minWidth) {\n this.renderer.setStyle(ddElement, 'min-width', `${this.minWidth}px`, RendererStyleFlags2.Important);\n widthOffset = (this.minWidth > width ? this.minWidth - width : 0) / 2; // TODO: check logic\n }\n\n this.renderer.setStyle(ddElement, 'position', result.strategy, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'width', `${width}px`, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'left', `${result.x - widthOffset}px`, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'top', `${result.y}px`, RendererStyleFlags2.Important);\n }\n}\n","@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track trackByItemId($index, item)) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"getButtonClasses(item)\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdButtonModule } from '@updevs/components/button';\nimport { UpdRadioModule } from '@updevs/components/form-controls/radio';\nimport { UpdCheckboxModule } from '@updevs/components/form-controls/checkbox';\n\nimport { DropdownComponent } from './dropdown.component';\n\n@NgModule({\n imports: [\n CommonModule,\n UpdIconsModule,\n UpdRadioModule,\n UpdCheckboxModule,\n UpdButtonModule\n ],\n declarations: [\n DropdownComponent\n ],\n exports: [\n DropdownComponent\n ]\n})\nexport class UpdDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, inject, Directive } from '@angular/core';
|
|
2
|
+
import { input, model, inject, DestroyRef, effect, Directive } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
4
|
import { TextService } from '@updevs/sdk';
|
|
5
|
+
import { Tools } from '@updevs/sdk/core';
|
|
4
6
|
import { BaseComponent } from '@updevs/sdk/layout';
|
|
5
7
|
|
|
6
8
|
class BaseControl extends BaseComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.placeholder = input();
|
|
10
|
-
this.label = input();
|
|
11
|
-
this.description = input();
|
|
12
|
-
this.validationStatusDescriptions = input([]);
|
|
13
|
-
this.hint = input();
|
|
14
|
-
this.hintTemplate = input();
|
|
15
|
-
this.hintAsTooltip = input(false);
|
|
16
|
-
this.validationStatus = input();
|
|
17
|
-
this._textService = inject(TextService);
|
|
18
|
-
}
|
|
19
9
|
get placeholderText() {
|
|
20
10
|
return this._textService.getText(this.placeholder());
|
|
21
11
|
}
|
|
@@ -31,13 +21,82 @@ class BaseControl extends BaseComponent {
|
|
|
31
21
|
get hintText() {
|
|
32
22
|
return this._textService.getText(this.hint());
|
|
33
23
|
}
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
constructor() {
|
|
25
|
+
super();
|
|
26
|
+
this.name = input(Tools.Guid.generate(), ...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
27
|
+
this.placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : []));
|
|
28
|
+
this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
|
|
29
|
+
this.description = input(...(ngDevMode ? [undefined, { debugName: "description" }] : []));
|
|
30
|
+
this.validationStatusDescriptions = input([], ...(ngDevMode ? [{ debugName: "validationStatusDescriptions" }] : []));
|
|
31
|
+
this.labelColSize = input(...(ngDevMode ? [undefined, { debugName: "labelColSize" }] : []));
|
|
32
|
+
this.showValidStatus = input(false, ...(ngDevMode ? [{ debugName: "showValidStatus" }] : []));
|
|
33
|
+
this.isRequired = input(false, ...(ngDevMode ? [{ debugName: "isRequired" }] : []));
|
|
34
|
+
this.isDisabled = model(false, ...(ngDevMode ? [{ debugName: "isDisabled" }] : []));
|
|
35
|
+
this.hint = input(...(ngDevMode ? [undefined, { debugName: "hint" }] : []));
|
|
36
|
+
this.hintTemplate = input(...(ngDevMode ? [undefined, { debugName: "hintTemplate" }] : []));
|
|
37
|
+
this.hintAsTooltip = input(false, ...(ngDevMode ? [{ debugName: "hintAsTooltip" }] : []));
|
|
38
|
+
this.validationStatus = input(...(ngDevMode ? [undefined, { debugName: "validationStatus" }] : []));
|
|
39
|
+
this.control = input(...(ngDevMode ? [undefined, { debugName: "control" }] : []));
|
|
40
|
+
this._textService = inject(TextService);
|
|
41
|
+
this.destroyRef = inject(DestroyRef);
|
|
42
|
+
// Sync FormControl.disabled <-> isDisabled
|
|
43
|
+
effect(() => {
|
|
44
|
+
const control = this.control();
|
|
45
|
+
if (!!control) {
|
|
46
|
+
this.isDisabled.set(control.disabled);
|
|
47
|
+
control.statusChanges
|
|
48
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
49
|
+
.subscribe(() => this.isDisabled.set(control.disabled));
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
// Sync isDisabled -> FormControl
|
|
53
|
+
effect(() => {
|
|
54
|
+
const control = this.control();
|
|
55
|
+
const isDisabled = this.isDisabled();
|
|
56
|
+
if (!!control) {
|
|
57
|
+
if (isDisabled && !control.disabled) {
|
|
58
|
+
control.disable({ emitEvent: false });
|
|
59
|
+
}
|
|
60
|
+
else if (!isDisabled && control.disabled) {
|
|
61
|
+
control.enable({ emitEvent: false });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
// Sync FormControl.value <-> component value
|
|
66
|
+
effect(() => {
|
|
67
|
+
const control = this.control();
|
|
68
|
+
if (!!control) {
|
|
69
|
+
control.valueChanges
|
|
70
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
71
|
+
.subscribe(value => {
|
|
72
|
+
if (this._getValue() !== value) {
|
|
73
|
+
this._updateValue(value);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
if (control.value !== undefined && control.value !== this._getValue()) {
|
|
77
|
+
this._updateValue(control.value);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Updates the value in the form control.
|
|
84
|
+
* @param value The value to set in the form control.
|
|
85
|
+
* @param emitEvent Whether to emit the valueChanges event.
|
|
86
|
+
*/
|
|
87
|
+
_updateFormControl(value, emitEvent = false) {
|
|
88
|
+
const control = this.control();
|
|
89
|
+
if (!!control && control.value !== value) {
|
|
90
|
+
control.setValue(value, { emitEvent });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BaseControl, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
94
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.4", type: BaseControl, isStandalone: false, inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, validationStatusDescriptions: { classPropertyName: "validationStatusDescriptions", publicName: "validationStatusDescriptions", isSignal: true, isRequired: false, transformFunction: null }, labelColSize: { classPropertyName: "labelColSize", publicName: "labelColSize", isSignal: true, isRequired: false, transformFunction: null }, showValidStatus: { classPropertyName: "showValidStatus", publicName: "showValidStatus", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, hintTemplate: { classPropertyName: "hintTemplate", publicName: "hintTemplate", isSignal: true, isRequired: false, transformFunction: null }, hintAsTooltip: { classPropertyName: "hintAsTooltip", publicName: "hintAsTooltip", isSignal: true, isRequired: false, transformFunction: null }, validationStatus: { classPropertyName: "validationStatus", publicName: "validationStatus", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isDisabled: "isDisabledChange" }, usesInheritance: true, ngImport: i0 }); }
|
|
36
95
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BaseControl, decorators: [{
|
|
38
97
|
type: Directive,
|
|
39
|
-
args: [{}]
|
|
40
|
-
}] });
|
|
98
|
+
args: [{ standalone: false }]
|
|
99
|
+
}], ctorParameters: () => [], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], validationStatusDescriptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationStatusDescriptions", required: false }] }], labelColSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelColSize", required: false }] }], showValidStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "showValidStatus", required: false }] }], isRequired: [{ type: i0.Input, args: [{ isSignal: true, alias: "isRequired", required: false }] }], isDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDisabled", required: false }] }, { type: i0.Output, args: ["isDisabledChange"] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], hintTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "hintTemplate", required: false }] }], hintAsTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "hintAsTooltip", required: false }] }], validationStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationStatus", required: false }] }], control: [{ type: i0.Input, args: [{ isSignal: true, alias: "control", required: false }] }] } });
|
|
41
100
|
|
|
42
101
|
/**
|
|
43
102
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updevs-components-form-controls-abstractions.mjs","sources":["../../../../libs/components/form-controls/abstractions/src/base-control.ts","../../../../libs/components/form-controls/abstractions/src/updevs-components-form-controls-abstractions.ts"],"sourcesContent":["import { Directive, inject, TemplateRef, input } from '@angular/core';\nimport { TextModel, TextService } from '@updevs/sdk';\nimport { BaseComponent } from '@updevs/sdk/layout';\nimport { ValidationStatusType } from '@updevs/components';\n\n@Directive({})\nexport abstract class BaseControl extends BaseComponent {\n placeholder = input<TextModel>();\n label = input<TextModel>();\n description = input<TextModel>();\n validationStatusDescriptions = input<TextModel[]>([]);\n hint = input<TextModel>();\n hintTemplate = input<TemplateRef<any>>();\n hintAsTooltip = input(false);\n validationStatus = input<ValidationStatusType>();\n\n get placeholderText(): string {\n return this._textService.getText(this.placeholder());\n }\n get labelText(): string {\n return this._textService.getText(this.label());\n }\n get descriptionText(): string {\n return this._textService.getText(this.description());\n }\n get validationStatusTexts(): string[] {\n return this.validationStatusDescriptions().map(desc => this._textService.getText(desc));\n }\n get hintText(): string {\n return this._textService.getText(this.hint());\n }\n\n protected readonly _textService = inject(TextService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updevs-components-form-controls-abstractions.mjs","sources":["../../../../libs/components/form-controls/abstractions/src/base-control.ts","../../../../libs/components/form-controls/abstractions/src/updevs-components-form-controls-abstractions.ts"],"sourcesContent":["import { Directive, inject, TemplateRef, input, effect, model, DestroyRef } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { TextModel, TextService } from '@updevs/sdk';\nimport { Tools } from '@updevs/sdk/core';\nimport { BaseComponent } from '@updevs/sdk/layout';\nimport { RowColumnSize, ValidationStatusType } from '@updevs/components';\n\n@Directive({ standalone: false })\nexport abstract class BaseControl extends BaseComponent {\n readonly name = input<string>(Tools.Guid.generate());\n readonly placeholder = input<TextModel>();\n readonly label = input<TextModel>();\n readonly description = input<TextModel>();\n readonly validationStatusDescriptions = input<TextModel[]>([]);\n readonly labelColSize = input<RowColumnSize>();\n readonly showValidStatus = input(false);\n readonly isRequired = input(false);\n readonly isDisabled = model<boolean>(false);\n readonly hint = input<TextModel>();\n readonly hintTemplate = input<TemplateRef<any>>();\n readonly hintAsTooltip = input(false);\n readonly validationStatus = input<ValidationStatusType>();\n readonly control = input<AbstractControl>();\n\n protected readonly _textService = inject(TextService);\n\n private readonly destroyRef = inject(DestroyRef);\n\n get placeholderText(): string {\n return this._textService.getText(this.placeholder());\n }\n get labelText(): string {\n return this._textService.getText(this.label());\n }\n get descriptionText(): string {\n return this._textService.getText(this.description());\n }\n get validationStatusTexts(): string[] {\n return this.validationStatusDescriptions().map(desc => this._textService.getText(desc));\n }\n get hintText(): string {\n return this._textService.getText(this.hint());\n }\n\n constructor() {\n super();\n\n // Sync FormControl.disabled <-> isDisabled\n effect(() => {\n const control = this.control();\n\n if (!!control) {\n this.isDisabled.set(control.disabled);\n control.statusChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.isDisabled.set(control.disabled));\n }\n });\n\n // Sync isDisabled -> FormControl\n effect(() => {\n const control = this.control();\n const isDisabled = this.isDisabled();\n\n if (!!control) {\n if (isDisabled && !control.disabled) {\n control.disable({ emitEvent: false });\n } else if (!isDisabled && control.disabled) {\n control.enable({ emitEvent: false });\n }\n }\n });\n\n // Sync FormControl.value <-> component value\n effect(() => {\n const control = this.control();\n\n if (!!control) {\n control.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(value => {\n if (this._getValue() !== value) {\n this._updateValue(value);\n }\n });\n\n if (control.value !== undefined && control.value !== this._getValue()) {\n this._updateValue(control.value);\n }\n }\n });\n }\n\n /**\n * Updates the value in the form control.\n * @param value The value to set in the form control.\n * @param emitEvent Whether to emit the valueChanges event.\n */\n protected _updateFormControl(value: any, emitEvent = false): void {\n const control = this.control();\n\n if (!!control && control.value !== value) {\n control.setValue(value, { emitEvent });\n }\n }\n\n /**\n * Updates the component's value.\n */\n protected abstract _updateValue(value: any): void;\n\n /**\n * Gets the current component value.\n */\n protected abstract _getValue(): any;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, input, model, computed, effect, ElementRef,
|
|
2
|
+
import { EventEmitter, input, model, computed, effect, ElementRef, Output, ViewChild, HostBinding, Input, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { BaseControl } from '@updevs/components/form-controls/abstractions';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
@@ -13,14 +13,12 @@ class CheckboxComponent extends BaseControl {
|
|
|
13
13
|
super();
|
|
14
14
|
this.wrapperClasses = '';
|
|
15
15
|
this.changed = new EventEmitter();
|
|
16
|
-
this.value = input();
|
|
17
|
-
this.customClasses = input();
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
22
|
-
this.isSwitch = input(false);
|
|
23
|
-
this.isIndeterminate = model(false);
|
|
16
|
+
this.value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
|
|
17
|
+
this.customClasses = input(...(ngDevMode ? [undefined, { debugName: "customClasses" }] : []));
|
|
18
|
+
this.isChecked = model(false, ...(ngDevMode ? [{ debugName: "isChecked" }] : []));
|
|
19
|
+
this.isInline = input(false, ...(ngDevMode ? [{ debugName: "isInline" }] : []));
|
|
20
|
+
this.isSwitch = input(false, ...(ngDevMode ? [{ debugName: "isSwitch" }] : []));
|
|
21
|
+
this.isIndeterminate = model(false, ...(ngDevMode ? [{ debugName: "isIndeterminate" }] : []));
|
|
24
22
|
this.classes = computed(() => {
|
|
25
23
|
const lClasses = ['form-check-input'];
|
|
26
24
|
if (!!this.validationStatus()) {
|
|
@@ -28,21 +26,33 @@ class CheckboxComponent extends BaseControl {
|
|
|
28
26
|
lClasses.push(statusCls);
|
|
29
27
|
}
|
|
30
28
|
return [...lClasses, ...(this.customClasses() || '').split(' ')];
|
|
31
|
-
});
|
|
29
|
+
}, ...(ngDevMode ? [{ debugName: "classes" }] : []));
|
|
32
30
|
effect(() => {
|
|
33
|
-
this.
|
|
31
|
+
this.isIndeterminate();
|
|
32
|
+
if (!!this.checkboxInput) {
|
|
33
|
+
this.checkboxInput.nativeElement.indeterminate = !!this.isIndeterminate();
|
|
34
|
+
}
|
|
34
35
|
});
|
|
35
36
|
}
|
|
36
37
|
onSelectChange(event) {
|
|
37
38
|
this.isIndeterminate.set(false);
|
|
38
|
-
|
|
39
|
+
const isChecked = event.target.checked;
|
|
40
|
+
this.isChecked.set(isChecked);
|
|
41
|
+
this._updateFormControl(isChecked, true);
|
|
42
|
+
this.changed.emit(isChecked);
|
|
43
|
+
}
|
|
44
|
+
_getValue() {
|
|
45
|
+
return this.isChecked();
|
|
46
|
+
}
|
|
47
|
+
_updateValue(value) {
|
|
48
|
+
this.isChecked.set(!!value);
|
|
39
49
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: CheckboxComponent, isStandalone: false, selector: "upd-checkbox", inputs: { wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, customClasses: { classPropertyName: "customClasses", publicName: "customClasses", isSignal: true, isRequired: false, transformFunction: null }, isChecked: { classPropertyName: "isChecked", publicName: "isChecked", isSignal: true, isRequired: false, transformFunction: null }, isInline: { classPropertyName: "isInline", publicName: "isInline", isSignal: true, isRequired: false, transformFunction: null }, isSwitch: { classPropertyName: "isSwitch", publicName: "isSwitch", isSignal: true, isRequired: false, transformFunction: null }, isIndeterminate: { classPropertyName: "isIndeterminate", publicName: "isIndeterminate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changed: "changed", isChecked: "isCheckedChange", isIndeterminate: "isIndeterminateChange" }, host: { properties: { "class": "this.wrapperClasses" } }, viewQueries: [{ propertyName: "checkboxInput", first: true, predicate: ["checkboxInput"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<label class=\"form-check\" [class.form-check-inline]=\"isInline()\" [class.form-switch]=\"isSwitch()\" [ngClass]=\"customClasses()\">\n @if (!!hintText || !!hintTemplate()) {\n <div class=\"row g-2\">\n <div class=\"col-auto\">\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <span class=\"form-help\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\"\n [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n }\n</label>\n\n<ng-template #contentTpl>\n <input #checkboxInput type=\"checkbox\" [disabled]=\"isDisabled()\" [ngClass]=\"classes()\" [value]=\"value()\" [attr.name]=\"name()\"\n [attr.readonly]=\"isDisabled() ? '' : undefined\" [(ngModel)]=\"isChecked\" (change)=\"onSelectChange($event)\">\n\n @if (!!labelText) {\n <span class=\"form-check-label\">{{ labelText }}</span>\n }\n\n @if (!!descriptionText) {\n <span class=\"form-check-description\">{{ descriptionText }}</span>\n }\n\n @if (validationStatus() === 'invalid' && !!validationStatusTexts) {\n <div class=\"invalid-feedback\">{{ validationStatusTexts }}</div>\n }\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.PopoverDirective, selector: "[updPopover]", inputs: ["updPopover", "updPopoverTitle", "updPopoverTitleTemplate", "updPopoverTemplate", "updPopoverPlacement", "updPopoverCustomClasses", "updPopoverActAsTooltip"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
42
52
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
44
54
|
type: Component,
|
|
45
|
-
args: [{ selector: 'upd-checkbox', encapsulation: ViewEncapsulation.None, template: "<label class=\"form-check\" [class.form-check-inline]=\"isInline()\" [class.form-switch]=\"isSwitch()\" [ngClass]=\"customClasses()\">\n @if (!!hintText || !!hintTemplate()) {\n <div class=\"row g-2\">\n <div class=\"col-auto\">\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <span class=\"form-help\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\"\n [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n }\n</label>\n\n<ng-template #contentTpl>\n <input #checkboxInput type=\"checkbox\" [disabled]=\"isDisabled()\" [ngClass]=\"classes()\" [value]=\"value()\" [attr.name]=\"name()\"\n [attr.readonly]=\"isDisabled() ? '' : undefined\" [(ngModel)]=\"isChecked\" (change)=\"onSelectChange($event)\">\n\n @if (!!labelText) {\n <span class=\"form-check-label\">{{ labelText }}</span>\n }\n\n @if (!!descriptionText) {\n <span class=\"form-check-description\">{{ descriptionText }}</span>\n }\n\n @if (validationStatus() === 'invalid' && !!validationStatusTexts) {\n <div class=\"invalid-feedback\">{{ validationStatusTexts }}</div>\n }\n</ng-template>\n" }]
|
|
55
|
+
args: [{ standalone: false, selector: 'upd-checkbox', encapsulation: ViewEncapsulation.None, template: "<label class=\"form-check\" [class.form-check-inline]=\"isInline()\" [class.form-switch]=\"isSwitch()\" [ngClass]=\"customClasses()\">\n @if (!!hintText || !!hintTemplate()) {\n <div class=\"row g-2\">\n <div class=\"col-auto\">\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <span class=\"form-help\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\"\n [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n }\n</label>\n\n<ng-template #contentTpl>\n <input #checkboxInput type=\"checkbox\" [disabled]=\"isDisabled()\" [ngClass]=\"classes()\" [value]=\"value()\" [attr.name]=\"name()\"\n [attr.readonly]=\"isDisabled() ? '' : undefined\" [(ngModel)]=\"isChecked\" (change)=\"onSelectChange($event)\">\n\n @if (!!labelText) {\n <span class=\"form-check-label\">{{ labelText }}</span>\n }\n\n @if (!!descriptionText) {\n <span class=\"form-check-description\">{{ descriptionText }}</span>\n }\n\n @if (validationStatus() === 'invalid' && !!validationStatusTexts) {\n <div class=\"invalid-feedback\">{{ validationStatusTexts }}</div>\n }\n</ng-template>\n" }]
|
|
46
56
|
}], ctorParameters: () => [], propDecorators: { wrapperClasses: [{
|
|
47
57
|
type: HostBinding,
|
|
48
58
|
args: ['class']
|
|
@@ -53,18 +63,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
53
63
|
args: ['checkboxInput', { read: ElementRef }]
|
|
54
64
|
}], changed: [{
|
|
55
65
|
type: Output
|
|
56
|
-
}] } });
|
|
66
|
+
}], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], customClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "customClasses", required: false }] }], isChecked: [{ type: i0.Input, args: [{ isSignal: true, alias: "isChecked", required: false }] }, { type: i0.Output, args: ["isCheckedChange"] }], isInline: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInline", required: false }] }], isSwitch: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSwitch", required: false }] }], isIndeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "isIndeterminate", required: false }] }, { type: i0.Output, args: ["isIndeterminateChange"] }] } });
|
|
57
67
|
|
|
58
68
|
class UpdCheckboxModule {
|
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
60
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
70
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: UpdCheckboxModule, declarations: [CheckboxComponent], imports: [CommonModule,
|
|
61
71
|
FormsModule,
|
|
62
72
|
UpdPopoverModule], exports: [CheckboxComponent] }); }
|
|
63
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
73
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdCheckboxModule, imports: [CommonModule,
|
|
64
74
|
FormsModule,
|
|
65
75
|
UpdPopoverModule] }); }
|
|
66
76
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdCheckboxModule, decorators: [{
|
|
68
78
|
type: NgModule,
|
|
69
79
|
args: [{
|
|
70
80
|
imports: [
|