@updevs/components 1.0.0-alpha.99 → 1.0.0-beta.1
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/fesm2022/updevs-components-badge.mjs +21 -21
- package/fesm2022/updevs-components-badge.mjs.map +1 -1
- package/fesm2022/updevs-components-button.mjs +39 -39
- package/fesm2022/updevs-components-button.mjs.map +1 -1
- package/fesm2022/updevs-components-calendar.mjs +41 -41
- package/fesm2022/updevs-components-calendar.mjs.map +1 -1
- package/fesm2022/updevs-components-card.mjs +24 -20
- 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 +10 -10
- package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-abstractions.mjs +19 -19
- package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-checkbox.mjs +16 -16
- package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-date-picker.mjs +8 -8
- package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-file-upload.mjs +26 -26
- package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-input.mjs +16 -14
- package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-radio.mjs +8 -8
- package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-select.mjs +52 -48
- package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-textarea.mjs +15 -15
- package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-time-picker.mjs +12 -12
- package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -1
- package/fesm2022/updevs-components-form.mjs +31 -31
- package/fesm2022/updevs-components-form.mjs.map +1 -1
- package/fesm2022/updevs-components-layout.mjs +112 -110
- package/fesm2022/updevs-components-layout.mjs.map +1 -1
- package/fesm2022/updevs-components-link.mjs +8 -8
- package/fesm2022/updevs-components-link.mjs.map +1 -1
- package/fesm2022/updevs-components-list.mjs +8 -8
- package/fesm2022/updevs-components-list.mjs.map +1 -1
- package/fesm2022/updevs-components-modal.mjs +25 -24
- package/fesm2022/updevs-components-modal.mjs.map +1 -1
- package/fesm2022/updevs-components-paginator.mjs +36 -36
- package/fesm2022/updevs-components-paginator.mjs.map +1 -1
- package/fesm2022/updevs-components-popover.mjs +13 -12
- package/fesm2022/updevs-components-popover.mjs.map +1 -1
- package/fesm2022/updevs-components-pricing.mjs +22 -22
- package/fesm2022/updevs-components-pricing.mjs.map +1 -1
- package/fesm2022/updevs-components-table.mjs +181 -208
- package/fesm2022/updevs-components-table.mjs.map +1 -1
- package/fesm2022/updevs-components.mjs +4 -4
- package/package.json +67 -111
- 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} +50 -12
- package/types/updevs-components-drag-and-drop.d.ts +74 -0
- package/{dropdown/dropdown.component.d.ts → types/updevs-components-dropdown.d.ts} +52 -8
- package/types/updevs-components-form-controls-abstractions.d.ts +49 -0
- package/types/updevs-components-form-controls-checkbox.d.ts +33 -0
- package/{form-controls/date-picker/date-picker.component.d.ts → types/updevs-components-form-controls-date-picker.d.ts} +17 -3
- package/types/updevs-components-form-controls-file-upload.d.ts +69 -0
- package/{form-controls/input/input.component.d.ts → types/updevs-components-form-controls-input.d.ts} +33 -7
- package/{form-controls/radio/radio.component.d.ts → types/updevs-components-form-controls-radio.d.ts} +14 -2
- 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 -23
- 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 -62
- 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 -63
- package/calendar/index.d.ts +0 -1
- package/calendar/models/calendar-date.model.d.ts +0 -10
- package/calendar/models/calendar-month.model.d.ts +0 -7
- package/calendar/models/calendar-selected.model.d.ts +0 -5
- package/calendar/models/calendar-user-event.model.d.ts +0 -4
- package/calendar/models/calendar-year.model.d.ts +0 -6
- package/calendar/models/date-range.model.d.ts +0 -22
- package/calendar/models/enums/calendar-view.enum.d.ts +0 -5
- package/calendar/models/public-api.d.ts +0 -7
- 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/public-api.d.ts +0 -1
- package/calendar/types/calendar-view.type.d.ts +0 -1
- package/calendar/types/public-api.d.ts +0 -1
- package/calendar/upd-calendar.module.d.ts +0 -13
- 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 -4
- 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/public-api.d.ts +0 -5
- 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 -25
- 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 -48
- 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 -318
- package/esm2022/calendar/index.mjs +0 -2
- package/esm2022/calendar/models/calendar-date.model.mjs +0 -2
- package/esm2022/calendar/models/calendar-month.model.mjs +0 -2
- package/esm2022/calendar/models/calendar-selected.model.mjs +0 -2
- package/esm2022/calendar/models/calendar-user-event.model.mjs +0 -2
- package/esm2022/calendar/models/calendar-year.model.mjs +0 -2
- package/esm2022/calendar/models/date-range.model.mjs +0 -18
- package/esm2022/calendar/models/enums/calendar-view.enum.mjs +0 -7
- package/esm2022/calendar/models/public-api.mjs +0 -8
- 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/public-api.mjs +0 -2
- package/esm2022/calendar/types/calendar-view.type.mjs +0 -2
- package/esm2022/calendar/types/public-api.mjs +0 -2
- package/esm2022/calendar/upd-calendar.module.mjs +0 -52
- 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 -5
- 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/public-api.mjs +0 -6
- 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 -203
- 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 -180
- package/esm2022/form/form.component.mjs +0 -180
- package/esm2022/form/index.mjs +0 -2
- package/esm2022/form/models/attachment-rule.model.mjs +0 -2
- package/esm2022/form/models/button-field.model.mjs +0 -2
- package/esm2022/form/models/button-group-field.model.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/attachment-type.enum.mjs +0 -15
- package/esm2022/form/models/enums/dynamic-field.type.mjs +0 -17
- package/esm2022/form/models/enums/public-api.mjs +0 -3
- package/esm2022/form/models/file-upload-field.model.mjs +0 -2
- package/esm2022/form/models/form-config.mjs +0 -2
- package/esm2022/form/models/form-row.model.mjs +0 -2
- package/esm2022/form/models/form-update-on.type.mjs +0 -2
- package/esm2022/form/models/input-field.model.mjs +0 -2
- package/esm2022/form/models/masked-input-field.model.mjs +0 -2
- package/esm2022/form/models/public-api.mjs +0 -19
- 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 -84
- package/esm2022/form/updevs-components-form.mjs +0 -5
- package/esm2022/form-controls/abstractions/base-control.mjs +0 -99
- 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 -63
- 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 -132
- 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/file-upload/assets/i18n/en.json +0 -15
- package/esm2022/form-controls/file-upload/assets/i18n/pt.json +0 -15
- package/esm2022/form-controls/file-upload/file-upload-changed.event.mjs +0 -2
- package/esm2022/form-controls/file-upload/file-upload.component.mjs +0 -177
- package/esm2022/form-controls/file-upload/index.mjs +0 -2
- package/esm2022/form-controls/file-upload/public-api.mjs +0 -4
- package/esm2022/form-controls/file-upload/upd-file-upload.module.mjs +0 -48
- package/esm2022/form-controls/file-upload/updevs-components-form-controls-file-upload.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 -205
- 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 -62
- 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 -109
- package/esm2022/form-controls/select/components/single/select.component.mjs +0 -190
- package/esm2022/form-controls/select/index.mjs +0 -2
- package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +0 -246
- package/esm2022/form-controls/select/models/defaults.mjs +0 -8
- package/esm2022/form-controls/select/models/public-api.mjs +0 -4
- package/esm2022/form-controls/select/models/select-item.mjs +0 -2
- package/esm2022/form-controls/select/models/types.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 -51
- 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 -61
- 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 -27
- package/esm2022/layout/assets/i18n/pt.json +0 -27
- package/esm2022/layout/index.mjs +0 -2
- package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +0 -22
- package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +0 -50
- package/esm2022/layout/layouts/public-api.mjs +0 -5
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +0 -17
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +0 -78
- 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 -73
- 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 -110
- 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.component.mjs +0 -52
- package/esm2022/layout/partials/footer/footer.module.mjs +0 -28
- 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 -140
- package/esm2022/layout/partials/header/header.module.mjs +0 -40
- package/esm2022/layout/partials/header/public-api.mjs +0 -4
- 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 -234
- 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 -47
- 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 -117
- 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 -20
- 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 -44
- 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 -90
- 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 -47
- 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 -120
- 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/pricing/index.mjs +0 -2
- package/esm2022/pricing/models/price-item-feature.model.mjs +0 -2
- package/esm2022/pricing/models/price-item-features-group.model.mjs +0 -2
- package/esm2022/pricing/models/price-item-tag.model.mjs +0 -2
- package/esm2022/pricing/models/price-item.model.mjs +0 -2
- package/esm2022/pricing/models/public-api.mjs +0 -5
- package/esm2022/pricing/pricing-cards/pricing-cards.component.mjs +0 -27
- package/esm2022/pricing/pricing-table/pricing-table.component.mjs +0 -57
- package/esm2022/pricing/public-api.mjs +0 -5
- package/esm2022/pricing/upd-pricing.module.mjs +0 -49
- package/esm2022/pricing/updevs-components-pricing.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 -84
- package/esm2022/table/abstractions/filters-operands.service.mjs +0 -3
- package/esm2022/table/abstractions/public-api.mjs +0 -4
- 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 -124
- package/esm2022/table/components/save-search/save-search.component.mjs +0 -72
- package/esm2022/table/components/search-section/search-section.component.mjs +0 -84
- package/esm2022/table/directives/public-api.mjs +0 -2
- package/esm2022/table/directives/table-column.directive.mjs +0 -54
- package/esm2022/table/index.mjs +0 -2
- package/esm2022/table/models/columns/boolean-column.model.mjs +0 -22
- package/esm2022/table/models/columns/custom-column.model.mjs +0 -11
- 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 -8
- 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/select-filter-operands-list.model.mjs +0 -12
- 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 -40
- 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/current-search-request.service.mjs +0 -280
- package/esm2022/table/services/default-filters-operands.service.mjs +0 -64
- package/esm2022/table/services/storages/saved-views.storage.mjs +0 -56
- 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 -435
- package/esm2022/table/tools/filters.tools.mjs +0 -75
- package/esm2022/table/tools/table.constants.mjs +0 -15
- package/esm2022/table/upd-table.module.mjs +0 -150
- 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 -65
- package/form/form.component.d.ts +0 -64
- package/form/index.d.ts +0 -1
- package/form/models/attachment-rule.model.d.ts +0 -35
- package/form/models/button-field.model.d.ts +0 -5
- package/form/models/button-group-field.model.d.ts +0 -5
- 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 -56
- package/form/models/enums/attachment-type.enum.d.ts +0 -13
- package/form/models/enums/dynamic-field.type.d.ts +0 -15
- package/form/models/enums/public-api.d.ts +0 -2
- package/form/models/file-upload-field.model.d.ts +0 -16
- package/form/models/form-config.d.ts +0 -2
- package/form/models/form-row.model.d.ts +0 -10
- package/form/models/form-update-on.type.d.ts +0 -1
- package/form/models/input-field.model.d.ts +0 -9
- package/form/models/masked-input-field.model.d.ts +0 -6
- package/form/models/public-api.d.ts +0 -18
- 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 -29
- 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 -22
- package/form-controls/abstractions/base-control.d.ts +0 -47
- 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/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/file-upload/file-upload-changed.event.d.ts +0 -4
- package/form-controls/file-upload/file-upload.component.d.ts +0 -48
- package/form-controls/file-upload/index.d.ts +0 -1
- package/form-controls/file-upload/public-api.d.ts +0 -3
- package/form-controls/file-upload/upd-file-upload.module.d.ts +0 -14
- 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/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/upd-radio.module.d.ts +0 -10
- package/form-controls/select/components/multiple/select-multiple.component.d.ts +0 -31
- package/form-controls/select/components/single/select.component.d.ts +0 -35
- package/form-controls/select/index.d.ts +0 -1
- package/form-controls/select/models/abstractions/base-select.component.d.ts +0 -88
- package/form-controls/select/models/defaults.d.ts +0 -8
- package/form-controls/select/models/public-api.d.ts +0 -3
- package/form-controls/select/models/select-item.d.ts +0 -25
- package/form-controls/select/models/types.d.ts +0 -4
- 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 -9
- package/layout/layouts/blank-layout/blank-layout.module.d.ts +0 -15
- package/layout/layouts/public-api.d.ts +0 -4
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +0 -6
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +0 -21
- package/layout/models/login-page-config.model.d.ts +0 -46
- package/layout/models/login-page.config.d.ts +0 -44
- 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 -20
- 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 -26
- 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.component.d.ts +0 -34
- package/layout/partials/footer/footer.module.d.ts +0 -9
- 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 -51
- package/layout/partials/header/header.module.d.ts +0 -12
- package/layout/partials/header/public-api.d.ts +0 -3
- 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 -46
- 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 -19
- 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 -23
- 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 -47
- package/list/models/badge-position.type.d.ts +0 -1
- package/list/models/list-item.d.ts +0 -21
- package/list/models/list-item.model.d.ts +0 -26
- 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/pricing/index.d.ts +0 -1
- package/pricing/models/price-item-feature.model.d.ts +0 -7
- package/pricing/models/price-item-features-group.model.d.ts +0 -5
- package/pricing/models/price-item-tag.model.d.ts +0 -6
- package/pricing/models/price-item.model.d.ts +0 -22
- package/pricing/models/public-api.d.ts +0 -4
- package/pricing/pricing-cards/pricing-cards.component.d.ts +0 -12
- package/pricing/pricing-table/pricing-table.component.d.ts +0 -30
- package/pricing/public-api.d.ts +0 -4
- package/pricing/upd-pricing.module.d.ts +0 -14
- package/public-api.d.ts +0 -2
- package/table/abstractions/base-column.model.d.ts +0 -29
- package/table/abstractions/base.column.d.ts +0 -26
- package/table/abstractions/filters-operands.service.d.ts +0 -8
- package/table/abstractions/public-api.d.ts +0 -3
- 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 -41
- package/table/components/save-search/save-search.component.d.ts +0 -17
- package/table/components/search-section/search-section.component.d.ts +0 -33
- 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/custom-column.model.d.ts +0 -5
- 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 -7
- 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 -7
- 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/select-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 -44
- package/table/models/table.config.d.ts +0 -42
- 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/current-search-request.service.d.ts +0 -174
- package/table/services/default-filters-operands.service.d.ts +0 -17
- package/table/services/storages/saved-views.storage.d.ts +0 -19
- 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 -77
- 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
|
@@ -19,37 +19,37 @@ class FileUploadComponent extends BaseControl {
|
|
|
19
19
|
super(...arguments);
|
|
20
20
|
this.hostWrapperClasses = '';
|
|
21
21
|
this.fileChanged = new EventEmitter();
|
|
22
|
-
this.fileName = input();
|
|
23
|
-
this.title = input();
|
|
24
|
-
this.allowFilesDrop = input(false);
|
|
25
|
-
this.isMultiple = input(false); // TODO: implement
|
|
26
|
-
this.allowedExtensions = input('*');
|
|
27
|
-
this.minFileSize = input();
|
|
28
|
-
this.maxFileSize = input();
|
|
29
|
-
this.layout = input('vertical');
|
|
30
|
-
this.isOver = signal(false);
|
|
31
|
-
this.showValidationStatus = computed(() => !!this.validationStatus() && (this.validationStatus() === 'invalid' || this.showValidStatus()));
|
|
22
|
+
this.fileName = input(...(ngDevMode ? [undefined, { debugName: "fileName" }] : []));
|
|
23
|
+
this.title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : []));
|
|
24
|
+
this.allowFilesDrop = input(false, ...(ngDevMode ? [{ debugName: "allowFilesDrop" }] : []));
|
|
25
|
+
this.isMultiple = input(false, ...(ngDevMode ? [{ debugName: "isMultiple" }] : [])); // TODO: implement
|
|
26
|
+
this.allowedExtensions = input('*', ...(ngDevMode ? [{ debugName: "allowedExtensions" }] : []));
|
|
27
|
+
this.minFileSize = input(...(ngDevMode ? [undefined, { debugName: "minFileSize" }] : []));
|
|
28
|
+
this.maxFileSize = input(...(ngDevMode ? [undefined, { debugName: "maxFileSize" }] : []));
|
|
29
|
+
this.layout = input('vertical', ...(ngDevMode ? [{ debugName: "layout" }] : []));
|
|
30
|
+
this.isOver = signal(false, ...(ngDevMode ? [{ debugName: "isOver" }] : []));
|
|
31
|
+
this.showValidationStatus = computed(() => !!this.validationStatus() && (this.validationStatus() === 'invalid' || this.showValidStatus()), ...(ngDevMode ? [{ debugName: "showValidationStatus" }] : []));
|
|
32
32
|
this.validationStatusClass = computed(() => {
|
|
33
33
|
if (this.showValidationStatus()) {
|
|
34
34
|
return `is-${this.validationStatus()}`;
|
|
35
35
|
}
|
|
36
36
|
return '';
|
|
37
|
-
});
|
|
37
|
+
}, ...(ngDevMode ? [{ debugName: "validationStatusClass" }] : []));
|
|
38
38
|
this.validationStatusBorderClass = computed(() => {
|
|
39
39
|
if (this.showValidationStatus()) {
|
|
40
40
|
return this.validationStatus() === 'invalid' ? 'border-danger' : 'border-success';
|
|
41
41
|
}
|
|
42
42
|
return '';
|
|
43
|
-
});
|
|
44
|
-
this.errorsList = computed(() => [...this.validationStatusTexts.concat(this.fileUploadErrors())]);
|
|
45
|
-
this.currentFiles = signal(undefined);
|
|
43
|
+
}, ...(ngDevMode ? [{ debugName: "validationStatusBorderClass" }] : []));
|
|
44
|
+
this.errorsList = computed(() => [...this.validationStatusTexts.concat(this.fileUploadErrors())], ...(ngDevMode ? [{ debugName: "errorsList" }] : []));
|
|
45
|
+
this.currentFiles = signal(undefined, ...(ngDevMode ? [{ debugName: "currentFiles" }] : []));
|
|
46
46
|
this.labelSizeClasses = computed(() => {
|
|
47
47
|
if (this.layout() !== 'horizontal') {
|
|
48
48
|
return 'form-label';
|
|
49
49
|
}
|
|
50
50
|
return ColumnSizeHelper.getClasses('col-form-label', ColumnSizeHelper.getSizeClasses(this.labelColSize(), 3));
|
|
51
|
-
});
|
|
52
|
-
this.firstFileName = computed(() => (this.currentFiles()?.length || 0) > 0 ? this.currentFiles()[0].name : this.fileName());
|
|
51
|
+
}, ...(ngDevMode ? [{ debugName: "labelSizeClasses" }] : []));
|
|
52
|
+
this.firstFileName = computed(() => (this.currentFiles()?.length || 0) > 0 ? this.currentFiles()[0].name : this.fileName(), ...(ngDevMode ? [{ debugName: "firstFileName" }] : []));
|
|
53
53
|
this.defaultMobileDesc = {
|
|
54
54
|
text: 'UpDevs.FormControls.FileUpload.DropzoneMobileDescription',
|
|
55
55
|
isTranslated: false
|
|
@@ -58,7 +58,7 @@ class FileUploadComponent extends BaseControl {
|
|
|
58
58
|
text: 'UpDevs.FormControls.FileUpload.DropzoneDesktopDescription',
|
|
59
59
|
isTranslated: false
|
|
60
60
|
};
|
|
61
|
-
this.fileUploadErrors = signal([]);
|
|
61
|
+
this.fileUploadErrors = signal([], ...(ngDevMode ? [{ debugName: "fileUploadErrors" }] : []));
|
|
62
62
|
this.platformService = inject(PlatformService);
|
|
63
63
|
}
|
|
64
64
|
get titleText() {
|
|
@@ -168,18 +168,18 @@ class FileUploadComponent extends BaseControl {
|
|
|
168
168
|
}
|
|
169
169
|
return errors;
|
|
170
170
|
}
|
|
171
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
172
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
171
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FileUploadComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
172
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: FileUploadComponent, isStandalone: false, selector: "upd-file-upload", inputs: { fileName: { classPropertyName: "fileName", publicName: "fileName", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, allowFilesDrop: { classPropertyName: "allowFilesDrop", publicName: "allowFilesDrop", isSignal: true, isRequired: false, transformFunction: null }, isMultiple: { classPropertyName: "isMultiple", publicName: "isMultiple", isSignal: true, isRequired: false, transformFunction: null }, allowedExtensions: { classPropertyName: "allowedExtensions", publicName: "allowedExtensions", isSignal: true, isRequired: false, transformFunction: null }, minFileSize: { classPropertyName: "minFileSize", publicName: "minFileSize", isSignal: true, isRequired: false, transformFunction: null }, maxFileSize: { classPropertyName: "maxFileSize", publicName: "maxFileSize", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fileChanged: "fileChanged" }, host: { properties: { "class": "this.hostWrapperClasses" } }, usesInheritance: true, ngImport: i0, template: "<input class=\"d-none\" [attr.id]=\"name()\" [attr.name]=\"name()\" type=\"file\" [attr.multiple]=\"isMultiple() ? true : undefined\"\n [accept]=\"allowedExtensions()\" (change)=\"onFileChange($event)\" />\n\n<div class=\"row\">\n <ng-container *transloco=\"let t; prefix: 'UpDevs.FormControls.FileUpload'\">\n @if (!!labelText) {\n <div [ngClass]=\"labelSizeClasses()\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n }\n\n @if (supportsAdvancedUpload && allowFilesDrop()) {\n <div class=\"d-flex flex-column border rounded-2 p-2 w-100 h-100\" [ngClass]=\"validationStatusBorderClass()\"\n [class.bg-muted-lt]=\"!isOver()\" [class.bg-primary-lt]=\"isOver()\" (drag)=\"onDrag($event)\" (dragstart)=\"onDragStart($event)\"\n (dragend)=\"onDragEnd($event)\" (dragover)=\"onDragOver($event)\" (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\" (drop)=\"onDrop($event)\">\n @if (!!titleText) {\n <span class=\"fw-bold align-self-center cursor-pointer\" [innerHTML]=\"titleText\"></span>\n }\n\n <label [for]=\"name()\" class=\"text-secondary align-self-center cursor-pointer\" [innerHTML]=\"dropDescriptionText\"></label>\n\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else {\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n }\n }\n @if (validationStatus() === 'invalid' && errorsList().length > 0) {\n @for (desc of errorsList(); track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n\n <ng-template #inputTpl>\n <div class=\"input-group col\">\n <label class=\"input-group-text cursor-pointer\" [ngClass]=\"validationStatusBorderClass()\" [for]=\"name()\">\n {{ t('SelectFile', { isMultiple: isMultiple() }) }}\n </label>\n <input type=\"text\" class=\"form-control text-truncate\" [class.border-end-0]=\"!!firstFileName()\"\n [value]=\"firstFileName() || ''\"\n [ngClass]=\"validationStatusClass()\" placeholder=\"{{ t('NoFileSelected', { isMultiple: isMultiple() }) }}\"\n [attr.disabled]=\"isDisabled() || undefined\" readonly>\n\n @if (!!firstFileName()) {\n <div class=\"input-group-text bg-transparent\" [ngClass]=\"validationStatusBorderClass()\">\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"removeFile()\" customClasses=\"link-secondary cursor-pointer\">\n <upd-icon tablerIcon=\"trash\" [tablerIconSize]=\"18\"></upd-icon>\n </upd-button>\n </div>\n }\n </div>\n </ng-template>\n </ng-container>\n</div>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\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: i1$1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i3.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i4.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "directive", type: i5.PopoverDirective, selector: "[updPopover]", inputs: ["updPopover", "updPopoverTitle", "updPopoverTitleTemplate", "updPopoverTemplate", "updPopoverPlacement", "updPopoverCustomClasses", "updPopoverActAsTooltip"] }] }); }
|
|
173
173
|
}
|
|
174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
174
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
175
175
|
type: Component,
|
|
176
|
-
args: [{ selector: 'upd-file-upload', template: "<input class=\"d-none\" [attr.id]=\"name()\" [attr.name]=\"name()\" type=\"file\" [attr.multiple]=\"isMultiple() ? true : undefined\"\n [accept]=\"allowedExtensions()\" (change)=\"onFileChange($event)\" />\n\n<div class=\"row\">\n <ng-container *transloco=\"let t; prefix: 'UpDevs.FormControls.FileUpload'\">\n @if (!!labelText) {\n <div [ngClass]=\"labelSizeClasses()\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n }\n\n @if (supportsAdvancedUpload && allowFilesDrop()) {\n <div class=\"d-flex flex-column border rounded-2 p-2 w-100 h-100\" [ngClass]=\"validationStatusBorderClass()\"\n [class.bg-muted-lt]=\"!isOver()\" [class.bg-primary-lt]=\"isOver()\" (drag)=\"onDrag($event)\" (dragstart)=\"onDragStart($event)\"\n (dragend)=\"onDragEnd($event)\" (dragover)=\"onDragOver($event)\" (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\" (drop)=\"onDrop($event)\">\n @if (!!titleText) {\n <span class=\"fw-bold align-self-center cursor-pointer\" [innerHTML]=\"titleText\"></span>\n }\n\n <label [for]=\"name()\" class=\"text-secondary align-self-center cursor-pointer\" [innerHTML]=\"dropDescriptionText\"></label>\n\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else {\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n }\n }\n @if (validationStatus() === 'invalid' && errorsList().length > 0) {\n @for (desc of errorsList(); track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n\n <ng-template #inputTpl>\n <div class=\"input-group col\">\n <label class=\"input-group-text cursor-pointer\" [ngClass]=\"validationStatusBorderClass()\" [for]=\"name()\">\n {{ t('SelectFile', { isMultiple: isMultiple() }) }}\n </label>\n <input type=\"text\" class=\"form-control text-truncate\" [class.border-end-0]=\"!!firstFileName()\"\n [value]=\"firstFileName() || ''\"\n [ngClass]=\"validationStatusClass()\" placeholder=\"{{ t('NoFileSelected', { isMultiple: isMultiple() }) }}\"\n [attr.disabled]=\"isDisabled() || undefined\" readonly>\n\n @if (!!firstFileName()) {\n <div class=\"input-group-text bg-transparent\" [ngClass]=\"validationStatusBorderClass()\">\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"removeFile()\" customClasses=\"link-secondary cursor-pointer\">\n <upd-icon tablerIcon=\"trash\" [tablerIconSize]=\"18\"></upd-icon>\n </upd-button>\n </div>\n }\n </div>\n </ng-template>\n </ng-container>\n</div>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n" }]
|
|
176
|
+
args: [{ standalone: false, selector: 'upd-file-upload', template: "<input class=\"d-none\" [attr.id]=\"name()\" [attr.name]=\"name()\" type=\"file\" [attr.multiple]=\"isMultiple() ? true : undefined\"\n [accept]=\"allowedExtensions()\" (change)=\"onFileChange($event)\" />\n\n<div class=\"row\">\n <ng-container *transloco=\"let t; prefix: 'UpDevs.FormControls.FileUpload'\">\n @if (!!labelText) {\n <div [ngClass]=\"labelSizeClasses()\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n }\n\n @if (supportsAdvancedUpload && allowFilesDrop()) {\n <div class=\"d-flex flex-column border rounded-2 p-2 w-100 h-100\" [ngClass]=\"validationStatusBorderClass()\"\n [class.bg-muted-lt]=\"!isOver()\" [class.bg-primary-lt]=\"isOver()\" (drag)=\"onDrag($event)\" (dragstart)=\"onDragStart($event)\"\n (dragend)=\"onDragEnd($event)\" (dragover)=\"onDragOver($event)\" (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\" (drop)=\"onDrop($event)\">\n @if (!!titleText) {\n <span class=\"fw-bold align-self-center cursor-pointer\" [innerHTML]=\"titleText\"></span>\n }\n\n <label [for]=\"name()\" class=\"text-secondary align-self-center cursor-pointer\" [innerHTML]=\"dropDescriptionText\"></label>\n\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else {\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n }\n }\n @if (validationStatus() === 'invalid' && errorsList().length > 0) {\n @for (desc of errorsList(); track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n\n <ng-template #inputTpl>\n <div class=\"input-group col\">\n <label class=\"input-group-text cursor-pointer\" [ngClass]=\"validationStatusBorderClass()\" [for]=\"name()\">\n {{ t('SelectFile', { isMultiple: isMultiple() }) }}\n </label>\n <input type=\"text\" class=\"form-control text-truncate\" [class.border-end-0]=\"!!firstFileName()\"\n [value]=\"firstFileName() || ''\"\n [ngClass]=\"validationStatusClass()\" placeholder=\"{{ t('NoFileSelected', { isMultiple: isMultiple() }) }}\"\n [attr.disabled]=\"isDisabled() || undefined\" readonly>\n\n @if (!!firstFileName()) {\n <div class=\"input-group-text bg-transparent\" [ngClass]=\"validationStatusBorderClass()\">\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"removeFile()\" customClasses=\"link-secondary cursor-pointer\">\n <upd-icon tablerIcon=\"trash\" [tablerIconSize]=\"18\"></upd-icon>\n </upd-button>\n </div>\n }\n </div>\n </ng-template>\n </ng-container>\n</div>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n" }]
|
|
177
177
|
}], propDecorators: { hostWrapperClasses: [{
|
|
178
178
|
type: HostBinding,
|
|
179
179
|
args: ['class']
|
|
180
180
|
}], fileChanged: [{
|
|
181
181
|
type: Output
|
|
182
|
-
}] } });
|
|
182
|
+
}], fileName: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileName", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], allowFilesDrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowFilesDrop", required: false }] }], isMultiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "isMultiple", required: false }] }], allowedExtensions: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowedExtensions", required: false }] }], minFileSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "minFileSize", required: false }] }], maxFileSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxFileSize", required: false }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }] } });
|
|
183
183
|
|
|
184
184
|
var UpDevs$1 = {
|
|
185
185
|
FormControls: {
|
|
@@ -233,19 +233,19 @@ class UpdFileUploadModule {
|
|
|
233
233
|
translocoService.setTranslation(en$1, 'en');
|
|
234
234
|
translocoService.setTranslation(pt$1, 'pt');
|
|
235
235
|
}
|
|
236
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
237
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
236
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdFileUploadModule, deps: [{ token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
237
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: UpdFileUploadModule, declarations: [FileUploadComponent], imports: [CommonModule,
|
|
238
238
|
TranslocoModule,
|
|
239
239
|
UpdButtonModule,
|
|
240
240
|
UpdIconsModule,
|
|
241
241
|
UpdPopoverModule], exports: [FileUploadComponent] }); }
|
|
242
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
242
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdFileUploadModule, imports: [CommonModule,
|
|
243
243
|
TranslocoModule,
|
|
244
244
|
UpdButtonModule,
|
|
245
245
|
UpdIconsModule,
|
|
246
246
|
UpdPopoverModule] }); }
|
|
247
247
|
}
|
|
248
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
248
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdFileUploadModule, decorators: [{
|
|
249
249
|
type: NgModule,
|
|
250
250
|
args: [{
|
|
251
251
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updevs-components-form-controls-file-upload.mjs","sources":["../../../../libs/components/form-controls/file-upload/src/file-upload.component.ts","../../../../libs/components/form-controls/file-upload/src/file-upload.component.html","../../../../libs/components/form-controls/file-upload/src/upd-file-upload.module.ts","../../../../libs/components/form-controls/file-upload/src/updevs-components-form-controls-file-upload.ts"],"sourcesContent":["import { Component, computed, EventEmitter, HostBinding, inject, input, Output, signal } from '@angular/core';\nimport { ColumnSizeHelper, HorizontalVerticalType } from '@updevs/components';\nimport { TextModel } from '@updevs/sdk';\nimport { PlatformService, Tools } from '@updevs/sdk/core';\nimport { BaseControl } from '@updevs/components/form-controls/abstractions';\nimport { OptionalType } from '@updevs/sdk/types';\n\nimport { FileUploadChangedEvent } from './file-upload-changed.event';\n\n@Component({\n selector: 'upd-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrl: './file-upload.component.scss'\n})\nexport class FileUploadComponent extends BaseControl {\n @HostBinding('class') hostWrapperClasses = '';\n\n @Output() readonly fileChanged = new EventEmitter<OptionalType<FileUploadChangedEvent>>();\n\n readonly fileName = input<string>();\n readonly title = input<TextModel>();\n readonly allowFilesDrop = input(false);\n readonly isMultiple = input(false); // TODO: implement\n readonly allowedExtensions = input('*');\n readonly minFileSize = input<number>();\n readonly maxFileSize = input<number>();\n readonly layout = input<HorizontalVerticalType>('vertical');\n readonly isOver = signal(false);\n readonly showValidationStatus = computed(() =>\n !!this.validationStatus() && (this.validationStatus() === 'invalid' || this.showValidStatus())\n );\n readonly validationStatusClass = computed(() => {\n if (this.showValidationStatus()) {\n return `is-${this.validationStatus()}`;\n }\n\n return '';\n });\n readonly validationStatusBorderClass = computed(() => {\n if (this.showValidationStatus()) {\n return this.validationStatus() === 'invalid' ? 'border-danger' : 'border-success';\n }\n\n return '';\n });\n readonly errorsList = computed(() => [...this.validationStatusTexts.concat(this.fileUploadErrors())]);\n readonly currentFiles = signal<OptionalType<File[]>>(undefined);\n readonly labelSizeClasses = computed(() => {\n if (this.layout() !== 'horizontal') {\n return 'form-label';\n }\n\n return ColumnSizeHelper.getClasses(\n 'col-form-label',\n ColumnSizeHelper.getSizeClasses(this.labelColSize(), 3)\n );\n });\n readonly firstFileName = computed(() => (this.currentFiles()?.length || 0) > 0 ? this.currentFiles()![0].name : this.fileName());\n\n get titleText(): string {\n return this._textService.getText(this.title(), { isMultiple: this.isMultiple() });\n }\n get dropDescriptionText(): string {\n return !!this.descriptionText\n ? this.descriptionText\n : this._textService.getText(\n this.platformService.isMobile ? this.defaultMobileDesc : this.defaultDesktopDesc, { isMultiple: this.isMultiple() }\n );\n }\n get supportsAdvancedUpload(): boolean {\n const div = document.createElement('div');\n return (('draggable' in div) || ('ondragstart' in div && 'ondrop' in div)) && 'FormData' in window && 'FileReader' in window;\n }\n\n private readonly defaultMobileDesc: TextModel = {\n text: 'UpDevs.FormControls.FileUpload.DropzoneMobileDescription',\n isTranslated: false\n };\n private readonly defaultDesktopDesc: TextModel = {\n text: 'UpDevs.FormControls.FileUpload.DropzoneDesktopDescription',\n isTranslated: false\n };\n private readonly fileUploadErrors = signal<string[]>([]);\n private readonly platformService = inject(PlatformService);\n\n onFileChange(event: Event): void {\n event.stopPropagation();\n\n const files = Array.from((event.target as any).files as FileList);\n\n if (!!files) {\n this.currentFiles.set([...files]);\n this._updateFormControl([...files], true);\n\n const errors = files.map(f => this.getFileErrors(f)).reduce((acc, e) => acc.concat(e), []);\n\n if (errors.length > 0) {\n this.fileUploadErrors.set([...errors]);\n return;\n }\n\n if (this.isMultiple()) {\n // TODO: implement\n } else {\n const file = files[0];\n const reader = new FileReader();\n reader.onload = (fileReader: any) => this.fileChanged.emit({ file: file, dataUrl: fileReader.target.result });\n\n reader.readAsDataURL(file);\n }\n }\n }\n\n removeFile(): void {\n this.currentFiles.set([]);\n this._updateFormControl([], true);\n this.fileChanged.emit(undefined);\n }\n\n onDrag(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n onDragStart(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n onDragEnd(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(false);\n }\n\n onDragOver(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(true);\n }\n\n onDragEnter(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(true);\n }\n\n onDragLeave(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(false);\n }\n\n onDrop(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(false);\n\n // TODO: const droppedFiles = event.dataTransfer!.files;\n }\n\n protected _getValue(): any {\n return this.currentFiles();\n }\n\n protected _updateValue(value: any): void {\n this.currentFiles.set(value);\n }\n\n private getFileErrors(file: File): string[] {\n const extension = `.${file.name.split('.').pop() || ''}`;\n const fileSizeInKB = Math.round(file.size / 1024);\n const errors: string[] = [];\n\n if (this.allowedExtensions() !== '*' && !this.allowedExtensions().includes(extension)) {\n errors.push(\n this._textService.getText(\n { text: 'UpDevs.FormControls.FileUpload.ExtensionNotAllowed', isTranslated: false },\n {\n fileName: file.name,\n extension,\n hasMultipleExt: this.allowedExtensions().includes(','),\n allowedExtensions: this.allowedExtensions()\n }\n )\n );\n }\n\n if (!!this.minFileSize() && fileSizeInKB < this.minFileSize()!) {\n errors.push(\n this._textService.getText(\n { text: 'UpDevs.FormControls.FileUpload.MinSizeNotMet', isTranslated: false },\n {\n fileName: file.name,\n fileSize: Tools.Text.formatKilobytes(fileSizeInKB),\n minAllowedSize: Tools.Text.formatKilobytes(this.minFileSize()!)\n }\n )\n );\n }\n\n if (!!this.maxFileSize() && fileSizeInKB > this.maxFileSize()!) {\n errors.push(\n this._textService.getText(\n { text: 'UpDevs.FormControls.FileUpload.MaxSizeExceeded', isTranslated: false },\n {\n fileName: file.name,\n fileSize: Tools.Text.formatKilobytes(fileSizeInKB),\n maxAllowedSize: Tools.Text.formatKilobytes(this.maxFileSize()!)\n }\n )\n );\n }\n\n return errors;\n }\n}\n","<input class=\"d-none\" [attr.id]=\"name()\" [attr.name]=\"name()\" type=\"file\" [attr.multiple]=\"isMultiple() ? true : undefined\"\n [accept]=\"allowedExtensions()\" (change)=\"onFileChange($event)\" />\n\n<div class=\"row\">\n <ng-container *transloco=\"let t; prefix: 'UpDevs.FormControls.FileUpload'\">\n @if (!!labelText) {\n <div [ngClass]=\"labelSizeClasses()\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n }\n\n @if (supportsAdvancedUpload && allowFilesDrop()) {\n <div class=\"d-flex flex-column border rounded-2 p-2 w-100 h-100\" [ngClass]=\"validationStatusBorderClass()\"\n [class.bg-muted-lt]=\"!isOver()\" [class.bg-primary-lt]=\"isOver()\" (drag)=\"onDrag($event)\" (dragstart)=\"onDragStart($event)\"\n (dragend)=\"onDragEnd($event)\" (dragover)=\"onDragOver($event)\" (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\" (drop)=\"onDrop($event)\">\n @if (!!titleText) {\n <span class=\"fw-bold align-self-center cursor-pointer\" [innerHTML]=\"titleText\"></span>\n }\n\n <label [for]=\"name()\" class=\"text-secondary align-self-center cursor-pointer\" [innerHTML]=\"dropDescriptionText\"></label>\n\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else {\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n }\n }\n @if (validationStatus() === 'invalid' && errorsList().length > 0) {\n @for (desc of errorsList(); track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n\n <ng-template #inputTpl>\n <div class=\"input-group col\">\n <label class=\"input-group-text cursor-pointer\" [ngClass]=\"validationStatusBorderClass()\" [for]=\"name()\">\n {{ t('SelectFile', { isMultiple: isMultiple() }) }}\n </label>\n <input type=\"text\" class=\"form-control text-truncate\" [class.border-end-0]=\"!!firstFileName()\"\n [value]=\"firstFileName() || ''\"\n [ngClass]=\"validationStatusClass()\" placeholder=\"{{ t('NoFileSelected', { isMultiple: isMultiple() }) }}\"\n [attr.disabled]=\"isDisabled() || undefined\" readonly>\n\n @if (!!firstFileName()) {\n <div class=\"input-group-text bg-transparent\" [ngClass]=\"validationStatusBorderClass()\">\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"removeFile()\" customClasses=\"link-secondary cursor-pointer\">\n <upd-icon tablerIcon=\"trash\" [tablerIconSize]=\"18\"></upd-icon>\n </upd-button>\n </div>\n }\n </div>\n </ng-template>\n </ng-container>\n</div>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslocoModule, TranslocoService } from '@jsverse/transloco';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdButtonModule } from '@updevs/components/button';\nimport { UpdPopoverModule } from '@updevs/components/popover';\n\nimport * as en from './assets/i18n/en.json';\nimport * as pt from './assets/i18n/pt.json';\nimport { FileUploadComponent } from './file-upload.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TranslocoModule,\n UpdButtonModule,\n UpdIconsModule,\n UpdPopoverModule\n ],\n declarations: [\n FileUploadComponent\n ],\n exports: [\n FileUploadComponent\n ]\n})\nexport class UpdFileUploadModule {\n constructor(translocoService: TranslocoService) {\n translocoService.setFallbackLangForMissingTranslation({ fallbackLang: 'en' });\n translocoService.setTranslation(en, 'en');\n translocoService.setTranslation(pt, 'pt');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","en","pt","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updevs-components-form-controls-file-upload.mjs","sources":["../../../../libs/components/form-controls/file-upload/src/file-upload.component.ts","../../../../libs/components/form-controls/file-upload/src/file-upload.component.html","../../../../libs/components/form-controls/file-upload/src/upd-file-upload.module.ts","../../../../libs/components/form-controls/file-upload/src/updevs-components-form-controls-file-upload.ts"],"sourcesContent":["import { Component, computed, EventEmitter, HostBinding, inject, input, Output, signal } from '@angular/core';\nimport { ColumnSizeHelper, HorizontalVerticalType } from '@updevs/components';\nimport { TextModel } from '@updevs/sdk';\nimport { PlatformService, Tools } from '@updevs/sdk/core';\nimport { BaseControl } from '@updevs/components/form-controls/abstractions';\nimport { OptionalType } from '@updevs/sdk/types';\n\nimport { FileUploadChangedEvent } from './file-upload-changed.event';\n\n@Component({\n standalone: false,\n selector: 'upd-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrl: './file-upload.component.scss'\n})\nexport class FileUploadComponent extends BaseControl {\n @HostBinding('class') hostWrapperClasses = '';\n\n @Output() readonly fileChanged = new EventEmitter<OptionalType<FileUploadChangedEvent>>();\n\n readonly fileName = input<string>();\n readonly title = input<TextModel>();\n readonly allowFilesDrop = input(false);\n readonly isMultiple = input(false); // TODO: implement\n readonly allowedExtensions = input('*');\n readonly minFileSize = input<number>();\n readonly maxFileSize = input<number>();\n readonly layout = input<HorizontalVerticalType>('vertical');\n readonly isOver = signal(false);\n readonly showValidationStatus = computed(() =>\n !!this.validationStatus() && (this.validationStatus() === 'invalid' || this.showValidStatus())\n );\n readonly validationStatusClass = computed(() => {\n if (this.showValidationStatus()) {\n return `is-${this.validationStatus()}`;\n }\n\n return '';\n });\n readonly validationStatusBorderClass = computed(() => {\n if (this.showValidationStatus()) {\n return this.validationStatus() === 'invalid' ? 'border-danger' : 'border-success';\n }\n\n return '';\n });\n readonly errorsList = computed(() => [...this.validationStatusTexts.concat(this.fileUploadErrors())]);\n readonly currentFiles = signal<OptionalType<File[]>>(undefined);\n readonly labelSizeClasses = computed(() => {\n if (this.layout() !== 'horizontal') {\n return 'form-label';\n }\n\n return ColumnSizeHelper.getClasses(\n 'col-form-label',\n ColumnSizeHelper.getSizeClasses(this.labelColSize(), 3)\n );\n });\n readonly firstFileName = computed(() => (this.currentFiles()?.length || 0) > 0 ? this.currentFiles()![0].name : this.fileName());\n\n get titleText(): string {\n return this._textService.getText(this.title(), { isMultiple: this.isMultiple() });\n }\n get dropDescriptionText(): string {\n return !!this.descriptionText\n ? this.descriptionText\n : this._textService.getText(\n this.platformService.isMobile ? this.defaultMobileDesc : this.defaultDesktopDesc, { isMultiple: this.isMultiple() }\n );\n }\n get supportsAdvancedUpload(): boolean {\n const div = document.createElement('div');\n return (('draggable' in div) || ('ondragstart' in div && 'ondrop' in div)) && 'FormData' in window && 'FileReader' in window;\n }\n\n private readonly defaultMobileDesc: TextModel = {\n text: 'UpDevs.FormControls.FileUpload.DropzoneMobileDescription',\n isTranslated: false\n };\n private readonly defaultDesktopDesc: TextModel = {\n text: 'UpDevs.FormControls.FileUpload.DropzoneDesktopDescription',\n isTranslated: false\n };\n private readonly fileUploadErrors = signal<string[]>([]);\n private readonly platformService = inject(PlatformService);\n\n onFileChange(event: Event): void {\n event.stopPropagation();\n\n const files = Array.from((event.target as any).files as FileList);\n\n if (!!files) {\n this.currentFiles.set([...files]);\n this._updateFormControl([...files], true);\n\n const errors = files.map(f => this.getFileErrors(f)).reduce((acc, e) => acc.concat(e), []);\n\n if (errors.length > 0) {\n this.fileUploadErrors.set([...errors]);\n return;\n }\n\n if (this.isMultiple()) {\n // TODO: implement\n } else {\n const file = files[0];\n const reader = new FileReader();\n reader.onload = (fileReader: any) => this.fileChanged.emit({ file: file, dataUrl: fileReader.target.result });\n\n reader.readAsDataURL(file);\n }\n }\n }\n\n removeFile(): void {\n this.currentFiles.set([]);\n this._updateFormControl([], true);\n this.fileChanged.emit(undefined);\n }\n\n onDrag(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n onDragStart(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n onDragEnd(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(false);\n }\n\n onDragOver(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(true);\n }\n\n onDragEnter(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(true);\n }\n\n onDragLeave(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(false);\n }\n\n onDrop(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(false);\n\n // TODO: const droppedFiles = event.dataTransfer!.files;\n }\n\n protected _getValue(): any {\n return this.currentFiles();\n }\n\n protected _updateValue(value: any): void {\n this.currentFiles.set(value);\n }\n\n private getFileErrors(file: File): string[] {\n const extension = `.${file.name.split('.').pop() || ''}`;\n const fileSizeInKB = Math.round(file.size / 1024);\n const errors: string[] = [];\n\n if (this.allowedExtensions() !== '*' && !this.allowedExtensions().includes(extension)) {\n errors.push(\n this._textService.getText(\n { text: 'UpDevs.FormControls.FileUpload.ExtensionNotAllowed', isTranslated: false },\n {\n fileName: file.name,\n extension,\n hasMultipleExt: this.allowedExtensions().includes(','),\n allowedExtensions: this.allowedExtensions()\n }\n )\n );\n }\n\n if (!!this.minFileSize() && fileSizeInKB < this.minFileSize()!) {\n errors.push(\n this._textService.getText(\n { text: 'UpDevs.FormControls.FileUpload.MinSizeNotMet', isTranslated: false },\n {\n fileName: file.name,\n fileSize: Tools.Text.formatKilobytes(fileSizeInKB),\n minAllowedSize: Tools.Text.formatKilobytes(this.minFileSize()!)\n }\n )\n );\n }\n\n if (!!this.maxFileSize() && fileSizeInKB > this.maxFileSize()!) {\n errors.push(\n this._textService.getText(\n { text: 'UpDevs.FormControls.FileUpload.MaxSizeExceeded', isTranslated: false },\n {\n fileName: file.name,\n fileSize: Tools.Text.formatKilobytes(fileSizeInKB),\n maxAllowedSize: Tools.Text.formatKilobytes(this.maxFileSize()!)\n }\n )\n );\n }\n\n return errors;\n }\n}\n","<input class=\"d-none\" [attr.id]=\"name()\" [attr.name]=\"name()\" type=\"file\" [attr.multiple]=\"isMultiple() ? true : undefined\"\n [accept]=\"allowedExtensions()\" (change)=\"onFileChange($event)\" />\n\n<div class=\"row\">\n <ng-container *transloco=\"let t; prefix: 'UpDevs.FormControls.FileUpload'\">\n @if (!!labelText) {\n <div [ngClass]=\"labelSizeClasses()\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n }\n\n @if (supportsAdvancedUpload && allowFilesDrop()) {\n <div class=\"d-flex flex-column border rounded-2 p-2 w-100 h-100\" [ngClass]=\"validationStatusBorderClass()\"\n [class.bg-muted-lt]=\"!isOver()\" [class.bg-primary-lt]=\"isOver()\" (drag)=\"onDrag($event)\" (dragstart)=\"onDragStart($event)\"\n (dragend)=\"onDragEnd($event)\" (dragover)=\"onDragOver($event)\" (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\" (drop)=\"onDrop($event)\">\n @if (!!titleText) {\n <span class=\"fw-bold align-self-center cursor-pointer\" [innerHTML]=\"titleText\"></span>\n }\n\n <label [for]=\"name()\" class=\"text-secondary align-self-center cursor-pointer\" [innerHTML]=\"dropDescriptionText\"></label>\n\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else {\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n }\n }\n @if (validationStatus() === 'invalid' && errorsList().length > 0) {\n @for (desc of errorsList(); track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n\n <ng-template #inputTpl>\n <div class=\"input-group col\">\n <label class=\"input-group-text cursor-pointer\" [ngClass]=\"validationStatusBorderClass()\" [for]=\"name()\">\n {{ t('SelectFile', { isMultiple: isMultiple() }) }}\n </label>\n <input type=\"text\" class=\"form-control text-truncate\" [class.border-end-0]=\"!!firstFileName()\"\n [value]=\"firstFileName() || ''\"\n [ngClass]=\"validationStatusClass()\" placeholder=\"{{ t('NoFileSelected', { isMultiple: isMultiple() }) }}\"\n [attr.disabled]=\"isDisabled() || undefined\" readonly>\n\n @if (!!firstFileName()) {\n <div class=\"input-group-text bg-transparent\" [ngClass]=\"validationStatusBorderClass()\">\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"removeFile()\" customClasses=\"link-secondary cursor-pointer\">\n <upd-icon tablerIcon=\"trash\" [tablerIconSize]=\"18\"></upd-icon>\n </upd-button>\n </div>\n }\n </div>\n </ng-template>\n </ng-container>\n</div>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslocoModule, TranslocoService } from '@jsverse/transloco';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdButtonModule } from '@updevs/components/button';\nimport { UpdPopoverModule } from '@updevs/components/popover';\n\nimport * as en from './assets/i18n/en.json';\nimport * as pt from './assets/i18n/pt.json';\nimport { FileUploadComponent } from './file-upload.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TranslocoModule,\n UpdButtonModule,\n UpdIconsModule,\n UpdPopoverModule\n ],\n declarations: [\n FileUploadComponent\n ],\n exports: [\n FileUploadComponent\n ]\n})\nexport class UpdFileUploadModule {\n constructor(translocoService: TranslocoService) {\n translocoService.setFallbackLangForMissingTranslation({ fallbackLang: 'en' });\n translocoService.setTranslation(en, 'en');\n translocoService.setTranslation(pt, 'pt');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","en","pt","i1"],"mappings":"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"}
|
|
@@ -16,12 +16,13 @@ class InputAppendDirective {
|
|
|
16
16
|
constructor() {
|
|
17
17
|
this.templateRef = inject((TemplateRef));
|
|
18
18
|
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
20
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: InputAppendDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.4", type: InputAppendDirective, isStandalone: false, selector: "ng-template[updInputAppend]", ngImport: i0 }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: InputAppendDirective, decorators: [{
|
|
23
23
|
type: Directive,
|
|
24
24
|
args: [{
|
|
25
|
+
standalone: false,
|
|
25
26
|
selector: 'ng-template[updInputAppend]'
|
|
26
27
|
}]
|
|
27
28
|
}] });
|
|
@@ -30,12 +31,13 @@ class InputPrependDirective {
|
|
|
30
31
|
constructor() {
|
|
31
32
|
this.templateRef = inject((TemplateRef));
|
|
32
33
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
34
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: InputPrependDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
35
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.4", type: InputPrependDirective, isStandalone: false, selector: "ng-template[updInputPrepend]", ngImport: i0 }); }
|
|
35
36
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: InputPrependDirective, decorators: [{
|
|
37
38
|
type: Directive,
|
|
38
39
|
args: [{
|
|
40
|
+
standalone: false,
|
|
39
41
|
selector: 'ng-template[updInputPrepend]'
|
|
40
42
|
}]
|
|
41
43
|
}] });
|
|
@@ -157,12 +159,12 @@ class InputComponent extends BaseControl {
|
|
|
157
159
|
this.layout === 'horizontal' ? 'col' : ''
|
|
158
160
|
];
|
|
159
161
|
}
|
|
160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
161
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
162
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: InputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
163
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: InputComponent, isStandalone: false, selector: "upd-input", inputs: { type: "type", mask: "mask", maskConfig: "maskConfig", value: "value", size: "size", customClasses: "customClasses", wrapperClasses: "wrapperClasses", maxLength: "maxLength", isPlainText: "isPlainText", isReadOnly: "isReadOnly", isLoading: "isLoading", isRound: "isRound", isFlush: "isFlush", isInputGroupFlat: "isInputGroupFlat", isPrependButton: "isPrependButton", isAppendButton: "isAppendButton", isFloating: "isFloating", loaderPosition: "loaderPosition", prependIconModel: "prependIconModel", appendIconModel: "appendIconModel", isValidationStatusLight: "isValidationStatusLight", layout: "layout" }, outputs: { valueChange: "valueChange", blurred: "blurred", keyDown: "keyDown", keyDownEsc: "keyDownEsc", keyUpEnter: "keyUpEnter" }, host: { properties: { "class": "this.hostWrapperClasses" } }, queries: [{ propertyName: "appendTemplate", first: true, predicate: InputAppendDirective, descendants: true }, { propertyName: "prependTemplate", first: true, predicate: InputPrependDirective, descendants: true }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputEl"], descendants: true, read: (ElementRef) }, { propertyName: "maskedInputElement", first: true, predicate: ["maskedInputEl"], descendants: true, read: (ElementRef) }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!appendTemplate || !!prependTemplate) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div class=\"input-group\" [class.input-group-flat]=\"isInputGroupFlat\" [ngClass]=\"validationClass\">\n @if (!!prependTemplate) {\n @if (!isPrependButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n }\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n\n @if (!!appendTemplate) {\n @if (!isAppendButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n }\n }\n </div>\n\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n} @else if (!!prependIconModel || !!appendIconModel || isLoading) {\n <ng-template [ngTemplateOutlet]=\"inputIconTpl\"></ng-template>\n} @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n}\n\n<ng-template #inputTpl>\n @if (shouldDisplayInnerLabel && !isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n\n <ng-template [ngTemplateOutlet]=\"basicInputTpl\"></ng-template>\n\n @if (shouldDisplayInnerLabel && isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n</ng-template>\n\n<ng-template #inputIconTpl>\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div [class.col]=\"layout === 'horizontal'\" [class.input-icon]=\"layout === 'vertical'\">\n @if (layout === 'horizontal') {\n <div class=\"input-icon\">\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n }\n </div>\n</ng-template>\n\n<ng-template #inputIconBaseTpl>\n @if (!!prependIconModel || (isLoading && loaderPosition === 'prepend')) {\n <span class=\"input-icon-addon\">\n @if (!!prependIconModel) {\n <upd-icon [model]=\"prependIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n\n @if (!!appendIconModel || (isLoading && loaderPosition === 'append')) {\n <span class=\"input-icon-addon\">\n @if (!!appendIconModel) {\n <upd-icon [model]=\"appendIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #loaderTpl>\n <div class=\"spinner-border spinner-border-sm text-muted\" role=\"status\"></div>\n</ng-template>\n\n<ng-template #basicInputTpl>\n @if (!!mask) {\n <input #maskedInputEl [updMask]=\"mask\" [updMaskConfig]=\"maskConfig\" [updateMaskValueSubject]=\"valueChangedSub\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\" [value]=\"value || ''\"\n [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\" (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\"\n (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\" (keyup.enter)=\"keyUpEnter.emit()\" />\n } @else {\n <input #inputEl [attr.type]=\"type\" [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\"\n [placeholder]=\"placeholderText\" [value]=\"value || ''\" [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\"\n (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\" (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\"\n (keyup.enter)=\"keyUpEnter.emit()\" />\n }\n</ng-template>\n\n<ng-template #feedbackTpl>\n @if (validationStatus() === 'invalid' && validationStatusTexts.length > 0) {\n @for (desc of validationStatusTexts; track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n</ng-template>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n\n<ng-template #labelTpl>\n @if (!!labelText && !isFloating) {\n <div [ngClass]=\"labelSizeClasses\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else if (!!labelText) {\n <label [ngClass]=\"labelSizeClasses\" [class.required]=\"isRequired()\">{{ labelText }}</label>\n }\n</ng-template>\n", styles: [".input-group-text .form-check>.form-check-input{margin:0!important}.input-group-text>upd-checkbox{height:16px!important}.input-group-text .form-check{margin:0!important;padding-left:0!important;min-height:16px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "directive", type: i3.MaskDirective, selector: "[updMask]", inputs: ["updMask", "updMaskConfig", "specialCharacters", "patterns", "prefix", "thousandSeparator", "decimalMarker", "suffix", "shownMaskExpression", "removeSpecialCharacters", "placeholderCharacter", "isHiddenInput", "showMaskTyped", "showTemplate", "clearIfNoMatch", "shouldValidate", "shouldTriggerOnMaskChange", "allowNegativeNumbers", "leadZeroDateTime", "separatorLimit", "updateMaskValueSubject"], outputs: ["maskFilled"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[updPopover]", inputs: ["updPopover", "updPopoverTitle", "updPopoverTitleTemplate", "updPopoverTemplate", "updPopoverPlacement", "updPopoverCustomClasses", "updPopoverActAsTooltip"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
162
164
|
}
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: InputComponent, decorators: [{
|
|
164
166
|
type: Component,
|
|
165
|
-
args: [{ selector: 'upd-input', encapsulation: ViewEncapsulation.None, template: "@if (!!appendTemplate || !!prependTemplate) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div class=\"input-group\" [class.input-group-flat]=\"isInputGroupFlat\" [ngClass]=\"validationClass\">\n @if (!!prependTemplate) {\n @if (!isPrependButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n }\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n\n @if (!!appendTemplate) {\n @if (!isAppendButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n }\n }\n </div>\n\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n} @else if (!!prependIconModel || !!appendIconModel || isLoading) {\n <ng-template [ngTemplateOutlet]=\"inputIconTpl\"></ng-template>\n} @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n}\n\n<ng-template #inputTpl>\n @if (shouldDisplayInnerLabel && !isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n\n <ng-template [ngTemplateOutlet]=\"basicInputTpl\"></ng-template>\n\n @if (shouldDisplayInnerLabel && isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n</ng-template>\n\n<ng-template #inputIconTpl>\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div [class.col]=\"layout === 'horizontal'\" [class.input-icon]=\"layout === 'vertical'\">\n @if (layout === 'horizontal') {\n <div class=\"input-icon\">\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n }\n </div>\n</ng-template>\n\n<ng-template #inputIconBaseTpl>\n @if (!!prependIconModel || (isLoading && loaderPosition === 'prepend')) {\n <span class=\"input-icon-addon\">\n @if (!!prependIconModel) {\n <upd-icon [model]=\"prependIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n\n @if (!!appendIconModel || (isLoading && loaderPosition === 'append')) {\n <span class=\"input-icon-addon\">\n @if (!!appendIconModel) {\n <upd-icon [model]=\"appendIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #loaderTpl>\n <div class=\"spinner-border spinner-border-sm text-muted\" role=\"status\"></div>\n</ng-template>\n\n<ng-template #basicInputTpl>\n @if (!!mask) {\n <input #maskedInputEl [updMask]=\"mask\" [updMaskConfig]=\"maskConfig\" [updateMaskValueSubject]=\"valueChangedSub\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\" [value]=\"value || ''\"\n [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\" (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\"\n (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\" (keyup.enter)=\"keyUpEnter.emit()\" />\n } @else {\n <input #inputEl [attr.type]=\"type\" [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\"\n [placeholder]=\"placeholderText\" [value]=\"value || ''\" [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\"\n (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\" (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\"\n (keyup.enter)=\"keyUpEnter.emit()\" />\n }\n</ng-template>\n\n<ng-template #feedbackTpl>\n @if (validationStatus() === 'invalid' && validationStatusTexts.length > 0) {\n @for (desc of validationStatusTexts; track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n</ng-template>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n\n<ng-template #labelTpl>\n @if (!!labelText && !isFloating) {\n <div [ngClass]=\"labelSizeClasses\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else if (!!labelText) {\n <label [ngClass]=\"labelSizeClasses\" [class.required]=\"isRequired()\">{{ labelText }}</label>\n }\n</ng-template>\n", styles: [".input-group-text .form-check>.form-check-input{margin:0!important}.input-group-text>upd-checkbox{height:16px!important}.input-group-text .form-check{margin:0!important;padding-left:0!important;min-height:16px!important}\n"] }]
|
|
167
|
+
args: [{ standalone: false, selector: 'upd-input', encapsulation: ViewEncapsulation.None, template: "@if (!!appendTemplate || !!prependTemplate) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div class=\"input-group\" [class.input-group-flat]=\"isInputGroupFlat\" [ngClass]=\"validationClass\">\n @if (!!prependTemplate) {\n @if (!isPrependButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n }\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n\n @if (!!appendTemplate) {\n @if (!isAppendButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n }\n }\n </div>\n\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n} @else if (!!prependIconModel || !!appendIconModel || isLoading) {\n <ng-template [ngTemplateOutlet]=\"inputIconTpl\"></ng-template>\n} @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n}\n\n<ng-template #inputTpl>\n @if (shouldDisplayInnerLabel && !isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n\n <ng-template [ngTemplateOutlet]=\"basicInputTpl\"></ng-template>\n\n @if (shouldDisplayInnerLabel && isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n</ng-template>\n\n<ng-template #inputIconTpl>\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div [class.col]=\"layout === 'horizontal'\" [class.input-icon]=\"layout === 'vertical'\">\n @if (layout === 'horizontal') {\n <div class=\"input-icon\">\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n }\n </div>\n</ng-template>\n\n<ng-template #inputIconBaseTpl>\n @if (!!prependIconModel || (isLoading && loaderPosition === 'prepend')) {\n <span class=\"input-icon-addon\">\n @if (!!prependIconModel) {\n <upd-icon [model]=\"prependIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n\n @if (!!appendIconModel || (isLoading && loaderPosition === 'append')) {\n <span class=\"input-icon-addon\">\n @if (!!appendIconModel) {\n <upd-icon [model]=\"appendIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #loaderTpl>\n <div class=\"spinner-border spinner-border-sm text-muted\" role=\"status\"></div>\n</ng-template>\n\n<ng-template #basicInputTpl>\n @if (!!mask) {\n <input #maskedInputEl [updMask]=\"mask\" [updMaskConfig]=\"maskConfig\" [updateMaskValueSubject]=\"valueChangedSub\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\" [value]=\"value || ''\"\n [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\" (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\"\n (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\" (keyup.enter)=\"keyUpEnter.emit()\" />\n } @else {\n <input #inputEl [attr.type]=\"type\" [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\"\n [placeholder]=\"placeholderText\" [value]=\"value || ''\" [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\"\n (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\" (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\"\n (keyup.enter)=\"keyUpEnter.emit()\" />\n }\n</ng-template>\n\n<ng-template #feedbackTpl>\n @if (validationStatus() === 'invalid' && validationStatusTexts.length > 0) {\n @for (desc of validationStatusTexts; track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n</ng-template>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n\n<ng-template #labelTpl>\n @if (!!labelText && !isFloating) {\n <div [ngClass]=\"labelSizeClasses\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else if (!!labelText) {\n <label [ngClass]=\"labelSizeClasses\" [class.required]=\"isRequired()\">{{ labelText }}</label>\n }\n</ng-template>\n", styles: [".input-group-text .form-check>.form-check-input{margin:0!important}.input-group-text>upd-checkbox{height:16px!important}.input-group-text .form-check{margin:0!important;padding-left:0!important;min-height:16px!important}\n"] }]
|
|
166
168
|
}], propDecorators: { hostWrapperClasses: [{
|
|
167
169
|
type: HostBinding,
|
|
168
170
|
args: ['class']
|
|
@@ -235,8 +237,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
235
237
|
}] } });
|
|
236
238
|
|
|
237
239
|
class UpdInputModule {
|
|
238
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
239
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
240
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
241
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: UpdInputModule, declarations: [InputComponent,
|
|
240
242
|
InputAppendDirective,
|
|
241
243
|
InputPrependDirective], imports: [CommonModule,
|
|
242
244
|
UpdIconsModule,
|
|
@@ -244,12 +246,12 @@ class UpdInputModule {
|
|
|
244
246
|
UpdPopoverModule], exports: [InputComponent,
|
|
245
247
|
InputAppendDirective,
|
|
246
248
|
InputPrependDirective] }); }
|
|
247
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
249
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdInputModule, imports: [CommonModule,
|
|
248
250
|
UpdIconsModule,
|
|
249
251
|
UpdMaskModule,
|
|
250
252
|
UpdPopoverModule] }); }
|
|
251
253
|
}
|
|
252
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdInputModule, decorators: [{
|
|
253
255
|
type: NgModule,
|
|
254
256
|
args: [{
|
|
255
257
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updevs-components-form-controls-input.mjs","sources":["../../../../libs/components/form-controls/input/src/directives/input-append.directive.ts","../../../../libs/components/form-controls/input/src/directives/input-prepend.directive.ts","../../../../libs/components/form-controls/input/src/input.component.ts","../../../../libs/components/form-controls/input/src/input.component.html","../../../../libs/components/form-controls/input/src/upd-input.module.ts","../../../../libs/components/form-controls/input/src/updevs-components-form-controls-input.ts"],"sourcesContent":["import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: 'ng-template[updInputAppend]'\n})\nexport class InputAppendDirective {\n readonly templateRef = inject(TemplateRef<any>);\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: 'ng-template[updInputPrepend]'\n})\nexport class InputPrependDirective {\n readonly templateRef = inject(TemplateRef<any>);\n}\n","import {\n Component,\n ViewEncapsulation,\n Input,\n SimpleChanges,\n OnInit,\n OnChanges,\n ContentChild,\n HostBinding,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef\n} from '@angular/core';\nimport { IconModel } from '@updevs/icons';\nimport { UpdMaskConfig } from '@updevs/sdk/mask';\nimport { ComponentSizeType, HorizontalVerticalType, ColumnSizeHelper } from '@updevs/components';\nimport { BaseControl } from '@updevs/components/form-controls/abstractions';\nimport { Subject } from 'rxjs';\n\nimport { InputType } from './types/input.type';\nimport { InputAppendDirective } from './directives/input-append.directive';\nimport { InputPrependDirective } from './directives/input-prepend.directive';\nimport { LoaderPositionType } from './types/loader-position.type';\n\n@Component({\n selector: 'upd-input',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputComponent extends BaseControl implements OnInit, OnChanges {\n @HostBinding('class') hostWrapperClasses = '';\n @ViewChild('inputEl', { read: ElementRef<HTMLInputElement> }) inputElement?: ElementRef<HTMLInputElement>;\n @ViewChild('maskedInputEl', { read: ElementRef<HTMLInputElement> }) maskedInputElement?: ElementRef<HTMLInputElement>;\n @ContentChild(InputAppendDirective) appendTemplate?: InputAppendDirective;\n @ContentChild(InputPrependDirective) prependTemplate?: InputPrependDirective;\n\n @Input() type: InputType = 'text';\n @Input() mask?: string;\n @Input() maskConfig?: UpdMaskConfig;\n @Input() value?: any;\n @Input() size: ComponentSizeType = 'default';\n @Input() customClasses?: string;\n @Input() wrapperClasses?: string;\n @Input() maxLength?: number;\n @Input() isPlainText = false;\n @Input() isReadOnly = false;\n @Input() isLoading = false;\n @Input() isRound = false;\n @Input() isFlush = false;\n @Input() isInputGroupFlat = false;\n @Input() isPrependButton = false;\n @Input() isAppendButton = false;\n @Input() isFloating = false;\n @Input() loaderPosition: LoaderPositionType = 'append';\n @Input() prependIconModel?: IconModel;\n @Input() appendIconModel?: IconModel;\n @Input() isValidationStatusLight = false;\n @Input() layout: HorizontalVerticalType = 'vertical';\n\n @Output() readonly valueChange = new EventEmitter<any>();\n @Output() readonly blurred = new EventEmitter<void>();\n /**\n * Emitted when any key is pressed.\n */\n @Output() readonly keyDown = new EventEmitter<any>();\n /**\n * Emitted when the ESC key is pressed.\n */\n @Output() readonly keyDownEsc = new EventEmitter<void>();\n /**\n * Emitted when the ENTER key is released.\n */\n @Output() readonly keyUpEnter = new EventEmitter<void>();\n\n classes: string[] = [];\n get shouldDisplayInnerLabel(): boolean {\n return !!this.label()\n && !this.prependIconModel\n && !this.appendIconModel\n && !this.isLoading\n && !this.appendTemplate\n && !this.prependTemplate;\n }\n get labelSizeClasses(): string {\n if (this.layout !== 'horizontal') {\n return 'form-label';\n }\n\n return ColumnSizeHelper.getClasses(\n 'col-form-label',\n ColumnSizeHelper.getSizeClasses(this.labelColSize(), 3)\n );\n }\n get validationClass(): string {\n return !!this.validationStatus() ? `is-${this.validationStatus()}` : '';\n }\n get validationBorderClass(): string {\n return !!this.validationStatus() ? `border-${this.validationStatus() === 'invalid' ? 'danger' : 'success'}` : '';\n }\n\n readonly valueChangedSub = new Subject<string>();\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateClasses();\n\n if (changes['value'] && !!this.mask) {\n this.valueChangedSub.next(changes['value'].currentValue);\n }\n }\n\n onInputChange(evt: Event): void {\n if (!evt.target) {\n return;\n }\n\n const newValue = (evt.target as any).value;\n this.value = newValue;\n\n this.valueChange.emit(newValue);\n this._updateFormControl(newValue, true);\n }\n\n focus(): void {\n this.inputElement?.nativeElement.focus();\n this.maskedInputElement?.nativeElement.focus();\n }\n\n protected _getValue(): any {\n return this.value;\n }\n\n protected _updateValue(value: any): void {\n this.value = value || '';\n this.valueChange.emit(this.value);\n }\n\n private updateClasses(): void {\n const lClasses: string[] = !this.isPlainText ? ['form-control'] : ['form-control-plaintext'];\n\n if (this.isRound) {\n lClasses.push('form-control-rounded');\n }\n\n if (this.isFlush) {\n lClasses.push('form-control-flush');\n }\n\n if (this.size !== 'default') {\n lClasses.push(`form-control-${this.size === 'large' ? 'lg' : 'sm'}`);\n }\n\n if (!!this.validationStatus()) {\n const statusCls = `is-${this.validationStatus()}`;\n lClasses.push(statusCls);\n\n if (this.isValidationStatusLight) {\n lClasses.push(`${statusCls}-lite`);\n }\n }\n\n if (this.layout === 'horizontal') {\n this.hostWrapperClasses = 'row';\n }\n\n if (!!this.wrapperClasses) {\n this.hostWrapperClasses += ` ${this.wrapperClasses}`;\n }\n\n if (this.isFloating) {\n this.hostWrapperClasses += ' form-floating';\n }\n\n this.classes = [\n ...lClasses,\n ...(this.customClasses || '').split(' '),\n this.layout === 'horizontal' ? 'col' : ''\n ];\n }\n}\n","@if (!!appendTemplate || !!prependTemplate) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div class=\"input-group\" [class.input-group-flat]=\"isInputGroupFlat\" [ngClass]=\"validationClass\">\n @if (!!prependTemplate) {\n @if (!isPrependButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n }\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n\n @if (!!appendTemplate) {\n @if (!isAppendButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n }\n }\n </div>\n\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n} @else if (!!prependIconModel || !!appendIconModel || isLoading) {\n <ng-template [ngTemplateOutlet]=\"inputIconTpl\"></ng-template>\n} @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n}\n\n<ng-template #inputTpl>\n @if (shouldDisplayInnerLabel && !isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n\n <ng-template [ngTemplateOutlet]=\"basicInputTpl\"></ng-template>\n\n @if (shouldDisplayInnerLabel && isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n</ng-template>\n\n<ng-template #inputIconTpl>\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div [class.col]=\"layout === 'horizontal'\" [class.input-icon]=\"layout === 'vertical'\">\n @if (layout === 'horizontal') {\n <div class=\"input-icon\">\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n }\n </div>\n</ng-template>\n\n<ng-template #inputIconBaseTpl>\n @if (!!prependIconModel || (isLoading && loaderPosition === 'prepend')) {\n <span class=\"input-icon-addon\">\n @if (!!prependIconModel) {\n <upd-icon [model]=\"prependIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n\n @if (!!appendIconModel || (isLoading && loaderPosition === 'append')) {\n <span class=\"input-icon-addon\">\n @if (!!appendIconModel) {\n <upd-icon [model]=\"appendIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #loaderTpl>\n <div class=\"spinner-border spinner-border-sm text-muted\" role=\"status\"></div>\n</ng-template>\n\n<ng-template #basicInputTpl>\n @if (!!mask) {\n <input #maskedInputEl [updMask]=\"mask\" [updMaskConfig]=\"maskConfig\" [updateMaskValueSubject]=\"valueChangedSub\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\" [value]=\"value || ''\"\n [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\" (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\"\n (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\" (keyup.enter)=\"keyUpEnter.emit()\" />\n } @else {\n <input #inputEl [attr.type]=\"type\" [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\"\n [placeholder]=\"placeholderText\" [value]=\"value || ''\" [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\"\n (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\" (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\"\n (keyup.enter)=\"keyUpEnter.emit()\" />\n }\n</ng-template>\n\n<ng-template #feedbackTpl>\n @if (validationStatus() === 'invalid' && validationStatusTexts.length > 0) {\n @for (desc of validationStatusTexts; track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n</ng-template>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n\n<ng-template #labelTpl>\n @if (!!labelText && !isFloating) {\n <div [ngClass]=\"labelSizeClasses\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else if (!!labelText) {\n <label [ngClass]=\"labelSizeClasses\" [class.required]=\"isRequired()\">{{ labelText }}</label>\n }\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdMaskModule } from '@updevs/sdk/mask';\nimport { UpdPopoverModule } from '@updevs/components/popover';\n\nimport { InputComponent } from './input.component';\nimport { InputAppendDirective } from './directives/input-append.directive';\nimport { InputPrependDirective } from './directives/input-prepend.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n UpdIconsModule,\n UpdMaskModule,\n UpdPopoverModule\n ],\n declarations: [\n InputComponent,\n InputAppendDirective,\n InputPrependDirective\n ],\n exports: [\n InputComponent,\n InputAppendDirective,\n InputPrependDirective\n ]\n})\nexport class UpdInputModule {}\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-input.mjs","sources":["../../../../libs/components/form-controls/input/src/directives/input-append.directive.ts","../../../../libs/components/form-controls/input/src/directives/input-prepend.directive.ts","../../../../libs/components/form-controls/input/src/input.component.ts","../../../../libs/components/form-controls/input/src/input.component.html","../../../../libs/components/form-controls/input/src/upd-input.module.ts","../../../../libs/components/form-controls/input/src/updevs-components-form-controls-input.ts"],"sourcesContent":["import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n standalone: false,\n selector: 'ng-template[updInputAppend]'\n})\nexport class InputAppendDirective {\n readonly templateRef = inject(TemplateRef<any>);\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n standalone: false,\n selector: 'ng-template[updInputPrepend]'\n})\nexport class InputPrependDirective {\n readonly templateRef = inject(TemplateRef<any>);\n}\n","import {\n Component,\n ViewEncapsulation,\n Input,\n SimpleChanges,\n OnInit,\n OnChanges,\n ContentChild,\n HostBinding,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef\n} from '@angular/core';\nimport { IconModel } from '@updevs/icons';\nimport { UpdMaskConfig } from '@updevs/sdk/mask';\nimport { ComponentSizeType, HorizontalVerticalType, ColumnSizeHelper } from '@updevs/components';\nimport { BaseControl } from '@updevs/components/form-controls/abstractions';\nimport { Subject } from 'rxjs';\n\nimport { InputType } from './types/input.type';\nimport { InputAppendDirective } from './directives/input-append.directive';\nimport { InputPrependDirective } from './directives/input-prepend.directive';\nimport { LoaderPositionType } from './types/loader-position.type';\n\n@Component({\n standalone: false,\n selector: 'upd-input',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputComponent extends BaseControl implements OnInit, OnChanges {\n @HostBinding('class') hostWrapperClasses = '';\n @ViewChild('inputEl', { read: ElementRef<HTMLInputElement> }) inputElement?: ElementRef<HTMLInputElement>;\n @ViewChild('maskedInputEl', { read: ElementRef<HTMLInputElement> }) maskedInputElement?: ElementRef<HTMLInputElement>;\n @ContentChild(InputAppendDirective) appendTemplate?: InputAppendDirective;\n @ContentChild(InputPrependDirective) prependTemplate?: InputPrependDirective;\n\n @Input() type: InputType = 'text';\n @Input() mask?: string;\n @Input() maskConfig?: UpdMaskConfig;\n @Input() value?: any;\n @Input() size: ComponentSizeType = 'default';\n @Input() customClasses?: string;\n @Input() wrapperClasses?: string;\n @Input() maxLength?: number;\n @Input() isPlainText = false;\n @Input() isReadOnly = false;\n @Input() isLoading = false;\n @Input() isRound = false;\n @Input() isFlush = false;\n @Input() isInputGroupFlat = false;\n @Input() isPrependButton = false;\n @Input() isAppendButton = false;\n @Input() isFloating = false;\n @Input() loaderPosition: LoaderPositionType = 'append';\n @Input() prependIconModel?: IconModel;\n @Input() appendIconModel?: IconModel;\n @Input() isValidationStatusLight = false;\n @Input() layout: HorizontalVerticalType = 'vertical';\n\n @Output() readonly valueChange = new EventEmitter<any>();\n @Output() readonly blurred = new EventEmitter<void>();\n /**\n * Emitted when any key is pressed.\n */\n @Output() readonly keyDown = new EventEmitter<any>();\n /**\n * Emitted when the ESC key is pressed.\n */\n @Output() readonly keyDownEsc = new EventEmitter<void>();\n /**\n * Emitted when the ENTER key is released.\n */\n @Output() readonly keyUpEnter = new EventEmitter<void>();\n\n classes: string[] = [];\n get shouldDisplayInnerLabel(): boolean {\n return !!this.label()\n && !this.prependIconModel\n && !this.appendIconModel\n && !this.isLoading\n && !this.appendTemplate\n && !this.prependTemplate;\n }\n get labelSizeClasses(): string {\n if (this.layout !== 'horizontal') {\n return 'form-label';\n }\n\n return ColumnSizeHelper.getClasses(\n 'col-form-label',\n ColumnSizeHelper.getSizeClasses(this.labelColSize(), 3)\n );\n }\n get validationClass(): string {\n return !!this.validationStatus() ? `is-${this.validationStatus()}` : '';\n }\n get validationBorderClass(): string {\n return !!this.validationStatus() ? `border-${this.validationStatus() === 'invalid' ? 'danger' : 'success'}` : '';\n }\n\n readonly valueChangedSub = new Subject<string>();\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateClasses();\n\n if (changes['value'] && !!this.mask) {\n this.valueChangedSub.next(changes['value'].currentValue);\n }\n }\n\n onInputChange(evt: Event): void {\n if (!evt.target) {\n return;\n }\n\n const newValue = (evt.target as any).value;\n this.value = newValue;\n\n this.valueChange.emit(newValue);\n this._updateFormControl(newValue, true);\n }\n\n focus(): void {\n this.inputElement?.nativeElement.focus();\n this.maskedInputElement?.nativeElement.focus();\n }\n\n protected _getValue(): any {\n return this.value;\n }\n\n protected _updateValue(value: any): void {\n this.value = value || '';\n this.valueChange.emit(this.value);\n }\n\n private updateClasses(): void {\n const lClasses: string[] = !this.isPlainText ? ['form-control'] : ['form-control-plaintext'];\n\n if (this.isRound) {\n lClasses.push('form-control-rounded');\n }\n\n if (this.isFlush) {\n lClasses.push('form-control-flush');\n }\n\n if (this.size !== 'default') {\n lClasses.push(`form-control-${this.size === 'large' ? 'lg' : 'sm'}`);\n }\n\n if (!!this.validationStatus()) {\n const statusCls = `is-${this.validationStatus()}`;\n lClasses.push(statusCls);\n\n if (this.isValidationStatusLight) {\n lClasses.push(`${statusCls}-lite`);\n }\n }\n\n if (this.layout === 'horizontal') {\n this.hostWrapperClasses = 'row';\n }\n\n if (!!this.wrapperClasses) {\n this.hostWrapperClasses += ` ${this.wrapperClasses}`;\n }\n\n if (this.isFloating) {\n this.hostWrapperClasses += ' form-floating';\n }\n\n this.classes = [\n ...lClasses,\n ...(this.customClasses || '').split(' '),\n this.layout === 'horizontal' ? 'col' : ''\n ];\n }\n}\n","@if (!!appendTemplate || !!prependTemplate) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div class=\"input-group\" [class.input-group-flat]=\"isInputGroupFlat\" [ngClass]=\"validationClass\">\n @if (!!prependTemplate) {\n @if (!isPrependButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n }\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n\n @if (!!appendTemplate) {\n @if (!isAppendButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n }\n }\n </div>\n\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n} @else if (!!prependIconModel || !!appendIconModel || isLoading) {\n <ng-template [ngTemplateOutlet]=\"inputIconTpl\"></ng-template>\n} @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n}\n\n<ng-template #inputTpl>\n @if (shouldDisplayInnerLabel && !isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n\n <ng-template [ngTemplateOutlet]=\"basicInputTpl\"></ng-template>\n\n @if (shouldDisplayInnerLabel && isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n</ng-template>\n\n<ng-template #inputIconTpl>\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div [class.col]=\"layout === 'horizontal'\" [class.input-icon]=\"layout === 'vertical'\">\n @if (layout === 'horizontal') {\n <div class=\"input-icon\">\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n }\n </div>\n</ng-template>\n\n<ng-template #inputIconBaseTpl>\n @if (!!prependIconModel || (isLoading && loaderPosition === 'prepend')) {\n <span class=\"input-icon-addon\">\n @if (!!prependIconModel) {\n <upd-icon [model]=\"prependIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n\n @if (!!appendIconModel || (isLoading && loaderPosition === 'append')) {\n <span class=\"input-icon-addon\">\n @if (!!appendIconModel) {\n <upd-icon [model]=\"appendIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #loaderTpl>\n <div class=\"spinner-border spinner-border-sm text-muted\" role=\"status\"></div>\n</ng-template>\n\n<ng-template #basicInputTpl>\n @if (!!mask) {\n <input #maskedInputEl [updMask]=\"mask\" [updMaskConfig]=\"maskConfig\" [updateMaskValueSubject]=\"valueChangedSub\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\" [value]=\"value || ''\"\n [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\" (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\"\n (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\" (keyup.enter)=\"keyUpEnter.emit()\" />\n } @else {\n <input #inputEl [attr.type]=\"type\" [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\"\n [placeholder]=\"placeholderText\" [value]=\"value || ''\" [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\"\n (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\" (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\"\n (keyup.enter)=\"keyUpEnter.emit()\" />\n }\n</ng-template>\n\n<ng-template #feedbackTpl>\n @if (validationStatus() === 'invalid' && validationStatusTexts.length > 0) {\n @for (desc of validationStatusTexts; track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n</ng-template>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n\n<ng-template #labelTpl>\n @if (!!labelText && !isFloating) {\n <div [ngClass]=\"labelSizeClasses\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else if (!!labelText) {\n <label [ngClass]=\"labelSizeClasses\" [class.required]=\"isRequired()\">{{ labelText }}</label>\n }\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdMaskModule } from '@updevs/sdk/mask';\nimport { UpdPopoverModule } from '@updevs/components/popover';\n\nimport { InputComponent } from './input.component';\nimport { InputAppendDirective } from './directives/input-append.directive';\nimport { InputPrependDirective } from './directives/input-prepend.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n UpdIconsModule,\n UpdMaskModule,\n UpdPopoverModule\n ],\n declarations: [\n InputComponent,\n InputAppendDirective,\n InputPrependDirective\n ],\n exports: [\n InputComponent,\n InputAppendDirective,\n InputPrependDirective\n ]\n})\nexport class UpdInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|