ngx-tethys 17.0.0-next.1 → 17.0.0-next.3
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/CHANGELOG.md +13 -0
- package/action/action.component.d.ts +3 -3
- package/action/action.module.d.ts +1 -1
- package/action/actions.component.d.ts +5 -5
- package/affix/affix.component.d.ts +3 -3
- package/affix/affix.module.d.ts +1 -1
- package/alert/alert.component.d.ts +3 -3
- package/alert/alert.module.d.ts +1 -1
- package/anchor/anchor-link.component.d.ts +5 -5
- package/anchor/anchor.component.d.ts +9 -9
- package/anchor/anchor.module.d.ts +1 -1
- package/arrow-switcher/arrow-switcher.component.d.ts +3 -3
- package/arrow-switcher/module.d.ts +1 -1
- package/autocomplete/autocomplete.component.d.ts +9 -9
- package/autocomplete/autocomplete.trigger.directive.d.ts +6 -6
- package/autocomplete/module.d.ts +1 -1
- package/autocomplete/overlay/autocomplete-container.component.d.ts +3 -3
- package/autocomplete/overlay/autocomplete-ref.d.ts +4 -4
- package/autocomplete/overlay/autocomplete.service.d.ts +5 -5
- package/avatar/avatar-list/avatar-list.component.d.ts +6 -6
- package/avatar/avatar.component.d.ts +3 -3
- package/avatar/avatar.module.d.ts +1 -1
- package/back-top/back-top.component.d.ts +3 -3
- package/back-top/back-top.module.d.ts +1 -1
- package/badge/badge.component.d.ts +3 -3
- package/badge/badge.module.d.ts +1 -1
- package/breadcrumb/breadcrumb-item.component.d.ts +3 -3
- package/breadcrumb/breadcrumb.component.d.ts +3 -3
- package/breadcrumb/module.d.ts +1 -1
- package/button/button-group.component.d.ts +3 -3
- package/button/button-icon.component.d.ts +3 -3
- package/button/button.component.d.ts +3 -3
- package/button/button.module.d.ts +1 -1
- package/calendar/calendar-header.component.d.ts +3 -3
- package/calendar/calendar.component.d.ts +3 -3
- package/calendar/module.d.ts +1 -1
- package/card/card.component.d.ts +3 -3
- package/card/card.module.d.ts +1 -1
- package/card/content.component.d.ts +3 -3
- package/card/header.component.d.ts +3 -3
- package/carousel/carousel.component.d.ts +3 -3
- package/carousel/engine/carousel-base.d.ts +3 -3
- package/carousel/engine/carousel-fade.d.ts +2 -2
- package/carousel/engine/carousel-noop.d.ts +2 -2
- package/carousel/engine/carousel-slide.d.ts +2 -2
- package/carousel/module.d.ts +1 -1
- package/cascader/cascader.component.d.ts +3 -3
- package/cascader/module.d.ts +1 -1
- package/checkbox/checkbox.component.d.ts +3 -3
- package/checkbox/module.d.ts +1 -1
- package/collapse/collapse-item.component.d.ts +5 -5
- package/collapse/collapse.component.d.ts +7 -7
- package/collapse/module.d.ts +1 -1
- package/color-picker/color-picker-custom-panel.component.d.ts +3 -3
- package/color-picker/color-picker-panel.component.d.ts +6 -6
- package/color-picker/color-picker.component.d.ts +3 -3
- package/color-picker/module.d.ts +1 -1
- package/color-picker/parts/alpha/alpha.component.d.ts +3 -3
- package/color-picker/parts/hue/hue.component.d.ts +3 -3
- package/color-picker/parts/indicator/indicator.component.d.ts +3 -3
- package/color-picker/parts/inputs/inputs.component.d.ts +3 -3
- package/color-picker/parts/saturation/saturation.component.d.ts +3 -3
- package/comment/comment.component.d.ts +3 -3
- package/comment/comment.module.d.ts +1 -1
- package/date-picker/abstract-picker.component.d.ts +2 -2
- package/date-picker/base-picker.component.d.ts +5 -5
- package/date-picker/date-picker.component.d.ts +4 -4
- package/date-picker/date-picker.module.d.ts +1 -1
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +3 -3
- package/date-picker/lib/date/date-header.component.d.ts +3 -3
- package/date-picker/lib/date/date-table-cell.component.d.ts +3 -3
- package/date-picker/lib/date/date-table.component.d.ts +3 -3
- package/date-picker/lib/date-carousel/date-carousel.component.d.ts +3 -3
- package/date-picker/lib/decade/decade-header.component.d.ts +3 -3
- package/date-picker/lib/decade/decade-table.component.d.ts +3 -3
- package/date-picker/lib/lib-packer.module.d.ts +1 -1
- package/date-picker/lib/month/month-header.component.d.ts +3 -3
- package/date-picker/lib/month/month-table.component.d.ts +3 -3
- package/date-picker/lib/popups/date-popup.component.d.ts +4 -4
- package/date-picker/lib/popups/inner-popup.component.d.ts +3 -3
- package/date-picker/lib/quarter/quarter-table.component.d.ts +3 -3
- package/date-picker/lib/year/year-header.component.d.ts +3 -3
- package/date-picker/lib/year/year-table.component.d.ts +3 -3
- package/date-picker/month-picker.component.d.ts +4 -4
- package/date-picker/picker.component.d.ts +3 -3
- package/date-picker/quarter-picker.component.d.ts +4 -4
- package/date-picker/range-picker.component.d.ts +4 -4
- package/date-picker/week-picker.component.d.ts +4 -4
- package/date-picker/year-picker.component.d.ts +4 -4
- package/date-range/date-range.component.d.ts +3 -3
- package/date-range/module.d.ts +1 -1
- package/date-range/optional-dates/optional-dates.component.d.ts +3 -3
- package/dialog/body/dialog-body.component.d.ts +3 -3
- package/dialog/confirm/confirm.component.d.ts +4 -4
- package/dialog/dialog-container.component.d.ts +3 -3
- package/dialog/dialog-ref.d.ts +4 -4
- package/dialog/dialog.module.d.ts +1 -1
- package/dialog/dialog.service.d.ts +5 -5
- package/dialog/footer/dialog-footer.component.d.ts +3 -3
- package/dialog/header/dialog-header.component.d.ts +5 -5
- package/dialog/index.d.ts +1 -1
- package/divider/divider.component.d.ts +3 -3
- package/divider/divider.module.d.ts +1 -1
- package/dot/dot.component.d.ts +3 -3
- package/dot/dot.module.d.ts +1 -1
- package/dropdown/dropdown-menu.component.d.ts +6 -6
- package/dropdown/dropdown-submenu.component.d.ts +3 -3
- package/dropdown/module.d.ts +1 -1
- package/empty/empty.component.d.ts +3 -3
- package/empty/empty.module.d.ts +1 -1
- package/esm2022/action/action.component.mjs +10 -10
- package/esm2022/action/action.module.mjs +7 -7
- package/esm2022/action/actions.component.mjs +7 -7
- package/esm2022/affix/affix.component.mjs +7 -7
- package/esm2022/affix/affix.module.mjs +5 -5
- package/esm2022/alert/alert.component.mjs +8 -8
- package/esm2022/alert/alert.module.mjs +6 -6
- package/esm2022/anchor/anchor-link.component.mjs +7 -7
- package/esm2022/anchor/anchor.component.mjs +11 -11
- package/esm2022/anchor/anchor.module.mjs +7 -7
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +13 -13
- package/esm2022/arrow-switcher/module.mjs +6 -6
- package/esm2022/autocomplete/autocomplete.component.mjs +13 -13
- package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +2 -2
- package/esm2022/autocomplete/module.mjs +10 -10
- package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +5 -5
- package/esm2022/autocomplete/overlay/autocomplete-ref.mjs +1 -1
- package/esm2022/autocomplete/overlay/autocomplete.service.mjs +4 -4
- package/esm2022/avatar/avatar-list/avatar-list.component.mjs +8 -8
- package/esm2022/avatar/avatar.component.mjs +11 -11
- package/esm2022/avatar/avatar.module.mjs +7 -7
- package/esm2022/back-top/back-top.component.mjs +8 -8
- package/esm2022/back-top/back-top.module.mjs +6 -6
- package/esm2022/badge/badge.component.mjs +10 -10
- package/esm2022/badge/badge.module.mjs +5 -5
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
- package/esm2022/breadcrumb/breadcrumb.component.mjs +8 -8
- package/esm2022/breadcrumb/module.mjs +7 -7
- package/esm2022/button/button-group.component.mjs +5 -5
- package/esm2022/button/button-icon.component.mjs +9 -9
- package/esm2022/button/button.component.mjs +9 -9
- package/esm2022/button/button.module.mjs +8 -8
- package/esm2022/calendar/calendar-header.component.mjs +8 -8
- package/esm2022/calendar/calendar.component.mjs +8 -8
- package/esm2022/calendar/module.mjs +11 -11
- package/esm2022/card/card.component.mjs +8 -8
- package/esm2022/card/card.module.mjs +7 -7
- package/esm2022/card/content.component.mjs +5 -5
- package/esm2022/card/header.component.mjs +5 -5
- package/esm2022/carousel/carousel.component.mjs +13 -13
- package/esm2022/carousel/engine/carousel-base.mjs +1 -1
- package/esm2022/carousel/engine/carousel-fade.mjs +1 -1
- package/esm2022/carousel/engine/carousel-noop.mjs +1 -1
- package/esm2022/carousel/engine/carousel-slide.mjs +1 -1
- package/esm2022/carousel/module.mjs +5 -5
- package/esm2022/cascader/cascader-li.component.mjs +6 -6
- package/esm2022/cascader/cascader-search-option.component.mjs +7 -16
- package/esm2022/cascader/cascader.component.mjs +22 -22
- package/esm2022/cascader/module.mjs +7 -7
- package/esm2022/checkbox/checkbox.component.mjs +8 -8
- package/esm2022/checkbox/module.mjs +5 -5
- package/esm2022/collapse/collapse-item.component.mjs +11 -11
- package/esm2022/collapse/collapse.component.mjs +6 -6
- package/esm2022/collapse/module.mjs +7 -7
- package/esm2022/color-picker/color-picker-custom-panel.component.mjs +11 -11
- package/esm2022/color-picker/color-picker-panel.component.mjs +10 -10
- package/esm2022/color-picker/color-picker.component.mjs +3 -3
- package/esm2022/color-picker/module.mjs +25 -25
- package/esm2022/color-picker/parts/alpha/alpha.component.mjs +5 -5
- package/esm2022/color-picker/parts/hue/hue.component.mjs +5 -5
- package/esm2022/color-picker/parts/indicator/indicator.component.mjs +5 -5
- package/esm2022/color-picker/parts/inputs/inputs.component.mjs +7 -7
- package/esm2022/color-picker/parts/saturation/saturation.component.mjs +5 -5
- package/esm2022/comment/comment.component.mjs +7 -7
- package/esm2022/comment/comment.module.mjs +7 -7
- package/esm2022/date-picker/abstract-picker.component.mjs +4 -4
- package/esm2022/date-picker/abstract-picker.directive.mjs +3 -3
- package/esm2022/date-picker/base-picker.component.mjs +8 -8
- package/esm2022/date-picker/date-picker.component.mjs +12 -12
- package/esm2022/date-picker/date-picker.module.mjs +44 -44
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +10 -10
- package/esm2022/date-picker/lib/date/date-header.component.mjs +7 -7
- package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +5 -5
- package/esm2022/date-picker/lib/date/date-table.component.mjs +7 -7
- package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +11 -11
- package/esm2022/date-picker/lib/decade/decade-header.component.mjs +7 -7
- package/esm2022/date-picker/lib/decade/decade-table.component.mjs +5 -5
- package/esm2022/date-picker/lib/lib-packer.module.mjs +79 -79
- package/esm2022/date-picker/lib/month/month-header.component.mjs +7 -7
- package/esm2022/date-picker/lib/month/month-table.component.mjs +5 -5
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +15 -15
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +23 -23
- package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +5 -5
- package/esm2022/date-picker/lib/year/year-header.component.mjs +7 -7
- package/esm2022/date-picker/lib/year/year-table.component.mjs +5 -5
- package/esm2022/date-picker/month-picker.component.mjs +12 -12
- package/esm2022/date-picker/picker.component.mjs +8 -8
- package/esm2022/date-picker/quarter-picker.component.mjs +12 -12
- package/esm2022/date-picker/range-picker.component.mjs +12 -12
- package/esm2022/date-picker/week-picker.component.mjs +12 -12
- package/esm2022/date-picker/year-picker.component.mjs +12 -12
- package/esm2022/date-range/date-range.component.mjs +13 -13
- package/esm2022/date-range/module.mjs +10 -10
- package/esm2022/date-range/optional-dates/optional-dates.component.mjs +7 -7
- package/esm2022/dialog/body/dialog-body.component.mjs +5 -5
- package/esm2022/dialog/confirm/confirm.component.mjs +10 -18
- package/esm2022/dialog/dialog-container.component.mjs +5 -5
- package/esm2022/dialog/dialog-ref.mjs +1 -1
- package/esm2022/dialog/dialog.module.mjs +22 -22
- package/esm2022/dialog/dialog.service.mjs +4 -4
- package/esm2022/dialog/footer/dialog-footer.component.mjs +6 -6
- package/esm2022/dialog/header/dialog-header.component.mjs +11 -11
- package/esm2022/dialog/index.mjs +2 -2
- package/esm2022/divider/divider.component.mjs +7 -7
- package/esm2022/divider/divider.module.mjs +5 -5
- package/esm2022/dot/dot.component.mjs +5 -5
- package/esm2022/dot/dot.module.mjs +5 -5
- package/esm2022/dropdown/dropdown-menu.component.mjs +9 -9
- package/esm2022/dropdown/dropdown-submenu.component.mjs +5 -5
- package/esm2022/dropdown/module.mjs +15 -15
- package/esm2022/empty/empty.component.mjs +8 -8
- package/esm2022/empty/empty.module.mjs +6 -6
- package/esm2022/flexible-text/flexible-text.component.mjs +7 -7
- package/esm2022/flexible-text/flexible-text.module.mjs +5 -5
- package/esm2022/form/form-group-error/form-group-error.component.mjs +8 -8
- package/esm2022/form/form-group.component.mjs +8 -8
- package/esm2022/form/from-group-footer/form-group-footer.component.mjs +5 -5
- package/esm2022/form/module.mjs +18 -18
- package/esm2022/grid/module.mjs +6 -6
- package/esm2022/grid/thy-grid-item.component.mjs +5 -5
- package/esm2022/grid/thy-grid.component.mjs +4 -4
- package/esm2022/guider/guider-hint/guider-hint.component.mjs +6 -6
- package/esm2022/guider/guider.module.mjs +6 -24
- package/esm2022/icon/icon.component.mjs +8 -8
- package/esm2022/icon/icon.module.mjs +5 -5
- package/esm2022/icon/index.mjs +2 -2
- package/esm2022/image/image-group.component.mjs +5 -5
- package/esm2022/image/image.directive.mjs +3 -3
- package/esm2022/image/image.service.mjs +3 -3
- package/esm2022/image/module.mjs +9 -9
- package/esm2022/image/preview/image-preview-ref.mjs +1 -1
- package/esm2022/image/preview/image-preview.component.mjs +10 -21
- package/esm2022/input/input-count.component.mjs +7 -7
- package/esm2022/input/input-group.component.mjs +5 -5
- package/esm2022/input/input-search.component.mjs +9 -9
- package/esm2022/input/input.component.mjs +10 -10
- package/esm2022/input/module.mjs +16 -16
- package/esm2022/input-number/input-number.component.mjs +14 -14
- package/esm2022/input-number/module.mjs +6 -6
- package/esm2022/layout/content-main.component.mjs +5 -5
- package/esm2022/layout/content-section.component.mjs +5 -5
- package/esm2022/layout/content.component.mjs +5 -5
- package/esm2022/layout/header.component.mjs +7 -7
- package/esm2022/layout/layout.component.mjs +5 -5
- package/esm2022/layout/layout.module.mjs +48 -48
- package/esm2022/layout/sidebar-content.component.mjs +5 -5
- package/esm2022/layout/sidebar-footer.component.mjs +5 -5
- package/esm2022/layout/sidebar-header.component.mjs +5 -5
- package/esm2022/layout/sidebar.component.mjs +15 -24
- package/esm2022/list/list-item-meta.component.mjs +7 -7
- package/esm2022/list/list-item.component.mjs +5 -5
- package/esm2022/list/list.component.mjs +6 -6
- package/esm2022/list/list.module.mjs +9 -26
- package/esm2022/list/selection/selection-list.mjs +12 -12
- package/esm2022/list/selection/selection.interface.mjs +1 -1
- package/esm2022/loading/loading.component.mjs +7 -7
- package/esm2022/loading/loading.module.mjs +5 -5
- package/esm2022/mention/mention.directive.mjs +3 -3
- package/esm2022/mention/mention.module.mjs +5 -24
- package/esm2022/mention/suggestions/suggestions.component.mjs +9 -9
- package/esm2022/menu/divider/menu-divider.component.mjs +5 -5
- package/esm2022/menu/group/menu-group.component.mjs +13 -13
- package/esm2022/menu/item/action/menu-item-action.component.mjs +6 -6
- package/esm2022/menu/item/icon/menu-item-icon.component.mjs +5 -5
- package/esm2022/menu/item/menu-item.component.mjs +7 -7
- package/esm2022/menu/item/name/menu-item-name.component.mjs +6 -6
- package/esm2022/menu/menu.component.mjs +6 -6
- package/esm2022/menu/menu.module.mjs +25 -39
- package/esm2022/message/message-container.component.mjs +7 -7
- package/esm2022/message/message.component.mjs +7 -7
- package/esm2022/message/message.service.mjs +3 -3
- package/esm2022/message/module.mjs +7 -7
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +7 -7
- package/esm2022/nav/icon-nav/icon-nav.component.mjs +5 -5
- package/esm2022/nav/nav.component.mjs +11 -11
- package/esm2022/nav/nav.module.mjs +14 -14
- package/esm2022/notify/module.mjs +7 -7
- package/esm2022/notify/notify-container.component.mjs +7 -7
- package/esm2022/notify/notify.component.mjs +7 -7
- package/esm2022/notify/notify.service.mjs +3 -3
- package/esm2022/pagination/pagination.component.mjs +20 -30
- package/esm2022/pagination/pagination.module.mjs +6 -25
- package/esm2022/popover/body/popover-body.component.mjs +5 -5
- package/esm2022/popover/header/popover-header.component.mjs +7 -7
- package/esm2022/popover/module.mjs +13 -13
- package/esm2022/popover/popover-container.component.mjs +5 -5
- package/esm2022/popover/popover-ref.mjs +1 -1
- package/esm2022/popover/popover.service.mjs +4 -4
- package/esm2022/progress/progress-circle.component.mjs +8 -8
- package/esm2022/progress/progress-strip.component.mjs +6 -6
- package/esm2022/progress/progress.component.mjs +15 -15
- package/esm2022/progress/progress.module.mjs +7 -7
- package/esm2022/property/module.mjs +7 -7
- package/esm2022/property/properties.component.mjs +6 -6
- package/esm2022/property/property-item.component.mjs +11 -11
- package/esm2022/property-operation/group/property-operation-group.component.mjs +5 -5
- package/esm2022/property-operation/module.mjs +7 -23
- package/esm2022/property-operation/property-operation.component.mjs +14 -14
- package/esm2022/radio/button/radio-button.component.mjs +8 -8
- package/esm2022/radio/group/radio-group.component.mjs +8 -8
- package/esm2022/radio/module.mjs +7 -7
- package/esm2022/radio/radio.component.mjs +9 -9
- package/esm2022/rate/module.mjs +7 -7
- package/esm2022/rate/rate-item.component.mjs +9 -9
- package/esm2022/rate/rate.component.mjs +13 -13
- package/esm2022/resizable/module.mjs +6 -6
- package/esm2022/resizable/resize-handle.component.mjs +6 -6
- package/esm2022/resizable/resize-handles.component.mjs +8 -8
- package/esm2022/result/result.component.mjs +5 -5
- package/esm2022/result/result.module.mjs +5 -5
- package/esm2022/segment/segment-item.component.mjs +8 -8
- package/esm2022/segment/segment.component.mjs +12 -12
- package/esm2022/segment/segment.module.mjs +7 -7
- package/esm2022/segment/segment.token.mjs +1 -1
- package/esm2022/select/custom-select/custom-select.component.mjs +37 -37
- package/esm2022/select/index.mjs +3 -3
- package/esm2022/select/module.mjs +10 -10
- package/esm2022/select/native-select/native-select.component.mjs +103 -0
- package/esm2022/shared/option/group/option-group.component.mjs +11 -11
- package/esm2022/shared/option/list-option/list-option.component.mjs +8 -8
- package/esm2022/shared/option/module.mjs +10 -37
- package/esm2022/shared/option/option-group.component.mjs +5 -5
- package/esm2022/shared/option/option.component.mjs +8 -8
- package/esm2022/shared/option/option.token.mjs +1 -1
- package/esm2022/shared/option/options-container.component.mjs +5 -5
- package/esm2022/shared/select/module.mjs +6 -6
- package/esm2022/shared/select/select-control/select-control.component.mjs +15 -15
- package/esm2022/skeleton/module.mjs +9 -26
- package/esm2022/skeleton/skeleton-circle.component.mjs +9 -9
- package/esm2022/skeleton/skeleton-rectangle.component.mjs +11 -11
- package/esm2022/skeleton/skeleton.component.mjs +6 -6
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +14 -14
- package/esm2022/skeleton/stylized/list.component.mjs +12 -12
- package/esm2022/skeleton/stylized/paragraph.component.mjs +14 -14
- package/esm2022/slide/slide-body/slide-body-section.component.mjs +5 -5
- package/esm2022/slide/slide-body/slide-body.component.mjs +5 -5
- package/esm2022/slide/slide-container.component.mjs +5 -5
- package/esm2022/slide/slide-footer/slide-footer.component.mjs +5 -5
- package/esm2022/slide/slide-header/slide-header.component.mjs +8 -8
- package/esm2022/slide/slide-layout/slide-layout.component.mjs +5 -5
- package/esm2022/slide/slide-ref.service.mjs +4 -4
- package/esm2022/slide/slide.module.mjs +23 -35
- package/esm2022/slide/slide.service.mjs +4 -4
- package/esm2022/slider/slider.component.mjs +12 -12
- package/esm2022/slider/slider.module.mjs +5 -5
- package/esm2022/space/space.component.mjs +6 -6
- package/esm2022/space/space.module.mjs +5 -5
- package/esm2022/statistic/statistic.component.mjs +5 -5
- package/esm2022/statistic/statistic.module.mjs +5 -5
- package/esm2022/stepper/step-header.component.mjs +8 -8
- package/esm2022/stepper/step.component.mjs +5 -5
- package/esm2022/stepper/stepper-button.directive.mjs +6 -6
- package/esm2022/stepper/stepper.component.mjs +15 -15
- package/esm2022/stepper/stepper.module.mjs +7 -19
- package/esm2022/strength/strength.component.mjs +7 -7
- package/esm2022/strength/strength.module.mjs +5 -5
- package/esm2022/switch/switch.component.mjs +8 -8
- package/esm2022/switch/switch.module.mjs +5 -5
- package/esm2022/table/table-skeleton.component.mjs +12 -12
- package/esm2022/table/table.component.mjs +34 -34
- package/esm2022/table/table.module.mjs +10 -10
- package/esm2022/tabs/tab-content.component.mjs +5 -5
- package/esm2022/tabs/tab.component.mjs +6 -6
- package/esm2022/tabs/tabs.component.mjs +12 -12
- package/esm2022/tabs/tabs.module.mjs +8 -8
- package/esm2022/tag/tag.component.mjs +6 -6
- package/esm2022/tag/tag.module.mjs +6 -6
- package/esm2022/tag/tags.component.mjs +5 -5
- package/esm2022/time-picker/inner/inner-time-picker.component.mjs +6 -6
- package/esm2022/time-picker/time-picker-panel.component.mjs +12 -12
- package/esm2022/time-picker/time-picker.component.mjs +17 -17
- package/esm2022/time-picker/time-picker.module.mjs +7 -7
- package/esm2022/timeline/timeline-item.component.mjs +5 -5
- package/esm2022/timeline/timeline.component.mjs +8 -8
- package/esm2022/timeline/timeline.module.mjs +6 -6
- package/esm2022/tooltip/tooltip-ref.mjs +3 -3
- package/esm2022/tooltip/tooltip.component.mjs +5 -5
- package/esm2022/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/transfer/transfer-list.component.mjs +7 -18
- package/esm2022/transfer/transfer.component.mjs +9 -9
- package/esm2022/transfer/transfer.module.mjs +10 -10
- package/esm2022/tree/tree-node.component.mjs +5 -5
- package/esm2022/tree/tree.component.mjs +17 -17
- package/esm2022/tree/tree.module.mjs +7 -7
- package/esm2022/tree-select/module.mjs +9 -9
- package/esm2022/tree-select/tree-select.component.mjs +29 -29
- package/esm2022/typography/module.mjs +6 -6
- package/esm2022/typography/text/text.component.mjs +7 -7
- package/esm2022/upload/file-select.component.mjs +8 -8
- package/esm2022/upload/module.mjs +5 -5
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +10 -10
- package/esm2022/vote/vote.module.mjs +6 -6
- package/fesm2022/ngx-tethys-action.mjs +19 -19
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +10 -10
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +12 -12
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +20 -20
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +17 -17
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +26 -26
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +21 -21
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +12 -12
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +13 -13
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +17 -17
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +24 -24
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +22 -22
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +19 -19
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +16 -16
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +35 -44
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +11 -11
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +19 -19
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +54 -54
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +12 -12
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +248 -248
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +24 -24
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +48 -56
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +10 -10
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dot.mjs +8 -8
- package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +25 -25
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +12 -12
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +10 -10
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +33 -33
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +11 -11
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +10 -28
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +11 -11
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +22 -33
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +18 -18
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +37 -37
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +86 -95
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +31 -48
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +10 -10
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-mention.mjs +13 -32
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +58 -72
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +17 -17
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +30 -30
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +17 -17
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +24 -53
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +26 -26
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +28 -28
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +22 -38
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +19 -19
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +23 -23
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +24 -24
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +15 -15
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +8 -8
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +22 -22
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +58 -58
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +52 -79
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +57 -74
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +48 -60
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +15 -15
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +9 -9
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +8 -8
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +31 -43
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +10 -10
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +11 -11
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +51 -51
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +23 -23
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +13 -13
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +35 -35
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +14 -14
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +8 -8
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +21 -32
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +36 -36
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +26 -26
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +11 -11
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +11 -11
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +14 -14
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/flexible-text/flexible-text.component.d.ts +3 -3
- package/flexible-text/flexible-text.module.d.ts +1 -1
- package/form/form-group-error/form-group-error.component.d.ts +3 -3
- package/form/form-group.component.d.ts +3 -3
- package/form/from-group-footer/form-group-footer.component.d.ts +3 -3
- package/form/module.d.ts +1 -1
- package/grid/module.d.ts +1 -1
- package/grid/thy-grid-item.component.d.ts +4 -4
- package/grid/thy-grid.component.d.ts +2 -2
- package/guider/guider-hint/guider-hint.component.d.ts +3 -3
- package/guider/guider.module.d.ts +1 -1
- package/icon/icon.component.d.ts +3 -3
- package/icon/icon.module.d.ts +1 -1
- package/icon/index.d.ts +1 -1
- package/image/image-group.component.d.ts +3 -3
- package/image/module.d.ts +1 -1
- package/image/preview/image-preview-ref.d.ts +4 -4
- package/image/preview/image-preview.component.d.ts +4 -4
- package/input/input-count.component.d.ts +5 -5
- package/input/input-group.component.d.ts +4 -4
- package/input/input-search.component.d.ts +3 -3
- package/input/input.component.d.ts +3 -3
- package/input/module.d.ts +1 -1
- package/input-number/input-number.component.d.ts +3 -3
- package/input-number/module.d.ts +1 -1
- package/layout/content-main.component.d.ts +3 -3
- package/layout/content-section.component.d.ts +3 -3
- package/layout/content.component.d.ts +3 -3
- package/layout/header.component.d.ts +3 -3
- package/layout/layout.component.d.ts +3 -3
- package/layout/layout.module.d.ts +1 -1
- package/layout/sidebar-content.component.d.ts +3 -3
- package/layout/sidebar-footer.component.d.ts +3 -3
- package/layout/sidebar-header.component.d.ts +3 -3
- package/layout/sidebar.component.d.ts +3 -3
- package/list/list-item-meta.component.d.ts +3 -3
- package/list/list-item.component.d.ts +3 -3
- package/list/list.component.d.ts +3 -3
- package/list/list.module.d.ts +1 -1
- package/list/selection/selection-list.d.ts +9 -9
- package/list/selection/selection.interface.d.ts +4 -4
- package/loading/loading.component.d.ts +3 -3
- package/loading/loading.module.d.ts +1 -1
- package/mention/mention.directive.d.ts +2 -2
- package/mention/mention.module.d.ts +1 -1
- package/mention/suggestions/suggestions.component.d.ts +3 -3
- package/menu/divider/menu-divider.component.d.ts +3 -3
- package/menu/group/menu-group.component.d.ts +3 -3
- package/menu/item/action/menu-item-action.component.d.ts +3 -3
- package/menu/item/icon/menu-item-icon.component.d.ts +3 -3
- package/menu/item/menu-item.component.d.ts +3 -3
- package/menu/item/name/menu-item-name.component.d.ts +3 -3
- package/menu/menu.component.d.ts +3 -3
- package/menu/menu.module.d.ts +1 -1
- package/message/message-container.component.d.ts +3 -3
- package/message/message.component.d.ts +3 -3
- package/message/message.service.d.ts +2 -2
- package/message/module.d.ts +1 -1
- package/nav/icon-nav/icon-nav-link.directive.d.ts +3 -3
- package/nav/icon-nav/icon-nav.component.d.ts +3 -3
- package/nav/nav.component.d.ts +3 -3
- package/nav/nav.module.d.ts +1 -1
- package/notify/module.d.ts +1 -1
- package/notify/notify-container.component.d.ts +3 -3
- package/notify/notify.component.d.ts +3 -3
- package/notify/notify.service.d.ts +2 -2
- package/package.json +134 -134
- package/pagination/pagination.component.d.ts +3 -3
- package/pagination/pagination.module.d.ts +1 -1
- package/popover/body/popover-body.component.d.ts +3 -3
- package/popover/header/popover-header.component.d.ts +3 -3
- package/popover/module.d.ts +1 -1
- package/popover/popover-container.component.d.ts +3 -3
- package/popover/popover-ref.d.ts +4 -4
- package/popover/popover.service.d.ts +5 -5
- package/progress/progress-circle.component.d.ts +3 -3
- package/progress/progress-strip.component.d.ts +4 -4
- package/progress/progress.component.d.ts +6 -6
- package/progress/progress.module.d.ts +1 -1
- package/property/module.d.ts +1 -1
- package/property/properties.component.d.ts +3 -3
- package/property/property-item.component.d.ts +5 -5
- package/property-operation/group/property-operation-group.component.d.ts +3 -3
- package/property-operation/module.d.ts +1 -1
- package/property-operation/property-operation.component.d.ts +3 -3
- package/radio/button/radio-button.component.d.ts +6 -6
- package/radio/group/radio-group.component.d.ts +7 -7
- package/radio/module.d.ts +1 -1
- package/radio/radio.component.d.ts +6 -6
- package/rate/module.d.ts +1 -1
- package/rate/rate-item.component.d.ts +3 -3
- package/rate/rate.component.d.ts +3 -3
- package/resizable/module.d.ts +1 -1
- package/resizable/resize-handle.component.d.ts +3 -3
- package/resizable/resize-handles.component.d.ts +3 -3
- package/result/result.component.d.ts +3 -3
- package/result/result.module.d.ts +1 -1
- package/schematics/dependencies.js +1 -1
- package/schematics/ng-update/data/class-names.js +740 -4
- package/schematics/ng-update/update-17/index.spec.js +1 -1
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment-item.component.d.ts +3 -3
- package/segment/segment.component.d.ts +7 -7
- package/segment/segment.module.d.ts +1 -1
- package/segment/segment.token.d.ts +3 -3
- package/select/custom-select/custom-select.component.d.ts +17 -17
- package/select/index.d.ts +2 -2
- package/select/module.d.ts +2 -2
- package/select/{select.component.d.ts → native-select/native-select.component.d.ts} +4 -4
- package/select/{custom-select/styles → styles}/custom-select.scss +1 -1
- package/select/{custom-select/styles → styles}/mixin.scss +2 -2
- package/select/styles/select.scss +4 -4
- package/shared/option/group/option-group.component.d.ts +5 -5
- package/shared/option/list-option/list-option.component.d.ts +3 -3
- package/shared/option/module.d.ts +1 -1
- package/shared/option/option-group.component.d.ts +3 -3
- package/shared/option/option.component.d.ts +6 -6
- package/shared/option/option.token.d.ts +7 -7
- package/shared/option/options-container.component.d.ts +3 -3
- package/shared/select/module.d.ts +1 -1
- package/shared/select/select-control/select-control.component.d.ts +3 -3
- package/shared/select/select-control/select-control.scss +1 -1
- package/skeleton/module.d.ts +1 -1
- package/skeleton/skeleton-circle.component.d.ts +5 -5
- package/skeleton/skeleton-rectangle.component.d.ts +5 -5
- package/skeleton/skeleton.component.d.ts +3 -3
- package/skeleton/stylized/bullet-list.component.d.ts +3 -3
- package/skeleton/stylized/list.component.d.ts +3 -3
- package/skeleton/stylized/paragraph.component.d.ts +3 -3
- package/slide/slide-body/slide-body-section.component.d.ts +3 -3
- package/slide/slide-body/slide-body.component.d.ts +3 -3
- package/slide/slide-container.component.d.ts +3 -3
- package/slide/slide-footer/slide-footer.component.d.ts +3 -3
- package/slide/slide-header/slide-header.component.d.ts +3 -3
- package/slide/slide-layout/slide-layout.component.d.ts +3 -3
- package/slide/slide-ref.service.d.ts +4 -4
- package/slide/slide.module.d.ts +1 -1
- package/slide/slide.service.d.ts +5 -5
- package/slider/slider.component.d.ts +3 -3
- package/slider/slider.module.d.ts +1 -1
- package/space/space.component.d.ts +3 -3
- package/space/space.module.d.ts +1 -1
- package/statistic/statistic.component.d.ts +3 -3
- package/statistic/statistic.module.d.ts +1 -1
- package/stepper/step-header.component.d.ts +3 -3
- package/stepper/step.component.d.ts +4 -4
- package/stepper/stepper-button.directive.d.ts +3 -3
- package/stepper/stepper.component.d.ts +10 -10
- package/stepper/stepper.module.d.ts +1 -1
- package/strength/strength.component.d.ts +3 -3
- package/strength/strength.module.d.ts +1 -1
- package/styles/index.scss +1 -1
- package/styles/mixins/index.scss +1 -1
- package/switch/switch.component.d.ts +3 -3
- package/switch/switch.module.d.ts +1 -1
- package/table/table-skeleton.component.d.ts +3 -3
- package/table/table.component.d.ts +3 -3
- package/table/table.module.d.ts +1 -1
- package/tabs/tab-content.component.d.ts +3 -3
- package/tabs/tab.component.d.ts +3 -3
- package/tabs/tabs.component.d.ts +7 -7
- package/tabs/tabs.module.d.ts +1 -1
- package/tag/tag.component.d.ts +3 -3
- package/tag/tag.module.d.ts +1 -1
- package/tag/tags.component.d.ts +3 -3
- package/time-picker/inner/inner-time-picker.component.d.ts +3 -3
- package/time-picker/time-picker-panel.component.d.ts +3 -3
- package/time-picker/time-picker.component.d.ts +3 -3
- package/time-picker/time-picker.module.d.ts +1 -1
- package/timeline/timeline-item.component.d.ts +3 -3
- package/timeline/timeline.component.d.ts +6 -6
- package/timeline/timeline.module.d.ts +1 -1
- package/tooltip/tooltip.component.d.ts +3 -3
- package/tooltip/tooltip.module.d.ts +1 -1
- package/transfer/transfer-list.component.d.ts +3 -3
- package/transfer/transfer.component.d.ts +3 -3
- package/transfer/transfer.module.d.ts +1 -1
- package/tree/tree.component.d.ts +3 -3
- package/tree/tree.module.d.ts +1 -1
- package/tree-select/module.d.ts +1 -1
- package/tree-select/tree-select.component.d.ts +8 -8
- package/typography/module.d.ts +1 -1
- package/typography/text/text.component.d.ts +3 -3
- package/upload/file-select.component.d.ts +3 -3
- package/upload/module.d.ts +1 -1
- package/vote/vote.component.d.ts +3 -3
- package/vote/vote.module.d.ts +1 -1
- package/divider/examples/color/color.component.scss +0 -5
- package/divider/examples/deeper/deeper.component.scss +0 -5
- package/divider/examples/with-text/with-text.component.scss +0 -5
- package/esm2022/select/select.component.mjs +0 -103
|
@@ -6,7 +6,7 @@ import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
|
6
6
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
7
7
|
import { __decorate, __metadata } from 'tslib';
|
|
8
8
|
import { take, throttleTime, takeUntil, filter, tap, switchMap } from 'rxjs/operators';
|
|
9
|
-
import {
|
|
9
|
+
import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
|
|
10
10
|
import { ThyAutofocusDirective, ThySharedModule } from 'ngx-tethys/shared';
|
|
11
11
|
import * as i1$1 from 'ngx-tethys/core';
|
|
12
12
|
import { InputBoolean, mixinUnsubscribe, MixinBase, useHostFocusControl, mixinInitialized, mixinTabIndex, mixinDisabled, AbstractControlValueAccessor } from 'ngx-tethys/core';
|
|
@@ -78,7 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
78
78
|
|
|
79
79
|
const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
|
|
80
80
|
provide: NG_VALUE_ACCESSOR,
|
|
81
|
-
useExisting: forwardRef(() =>
|
|
81
|
+
useExisting: forwardRef(() => ThyInput),
|
|
82
82
|
multi: true
|
|
83
83
|
};
|
|
84
84
|
const noop$1 = () => { };
|
|
@@ -88,7 +88,7 @@ const password = 'password';
|
|
|
88
88
|
* @name thy-input
|
|
89
89
|
* @order 50
|
|
90
90
|
*/
|
|
91
|
-
class
|
|
91
|
+
class ThyInput {
|
|
92
92
|
/**
|
|
93
93
|
* 输入框类型
|
|
94
94
|
* @type 'number' | 'input'
|
|
@@ -167,24 +167,24 @@ class ThyInputComponent {
|
|
|
167
167
|
togglePasswordType() {
|
|
168
168
|
this.type = this.isPassword(this.type) ? 'text' : 'password';
|
|
169
169
|
}
|
|
170
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
171
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type:
|
|
170
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyInput, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
171
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyInput, isStandalone: true, selector: "thy-input", inputs: { placeholder: "placeholder", thySize: "thySize", thyAutofocus: "thyAutofocus", thyType: "thyType", type: "type", thyLabelText: "thyLabelText", readonly: "readonly" }, outputs: { focus: "focus", blur: "blur" }, host: { properties: { "class.form-control-active": "focused", "class.disabled": "disabled" }, classAttribute: "thy-input form-control" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], queries: [{ propertyName: "appendTemplate", first: true, predicate: ["append"], descendants: true }, { propertyName: "prependTemplate", first: true, predicate: ["prepend"], descendants: true }], viewQueries: [{ propertyName: "eyeTemplate", first: true, predicate: ["eye"], descendants: true, static: true }], ngImport: i0, template: "<div #prepend class=\"input-prepend\" *ngIf=\"prependTemplate\">\n <ng-template *ngTemplateOutlet=\"prependTemplate\"></ng-template>\n</div>\n<input\n #input\n thyInput\n [thySize]=\"thySize\"\n [thyAutofocus]=\"thyAutofocus\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onModelChange()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [readonly]=\"readonly\"\n/>\n<span class=\"input-label input-label-{{ thySize }}\" [class.active]=\"showLabel\">{{ thyLabelText }}</span>\n<div #append class=\"input-append\" *ngIf=\"appendTemplate\">\n <ng-template *ngTemplateOutlet=\"appendTemplate\"></ng-template>\n</div>\n\n<ng-template #eye>\n <a href=\"javascript:;\" class=\"link-secondary input-password-icon\" (click)=\"togglePasswordType()\">\n <thy-icon *ngIf=\"isPassword(type)\" thyIconName=\"eye\"></thy-icon>\n <thy-icon *ngIf=\"!isPassword(type)\" thyIconName=\"eye-invisible\"></thy-icon>\n </a>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
172
172
|
}
|
|
173
173
|
__decorate([
|
|
174
174
|
InputBoolean(),
|
|
175
175
|
__metadata("design:type", Object)
|
|
176
|
-
],
|
|
176
|
+
], ThyInput.prototype, "thyAutofocus", void 0);
|
|
177
177
|
__decorate([
|
|
178
178
|
InputBoolean(),
|
|
179
179
|
__metadata("design:type", Object)
|
|
180
|
-
],
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
180
|
+
], ThyInput.prototype, "readonly", void 0);
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyInput, decorators: [{
|
|
182
182
|
type: Component,
|
|
183
183
|
args: [{ selector: 'thy-input', providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], encapsulation: ViewEncapsulation.None, host: {
|
|
184
184
|
class: 'thy-input form-control',
|
|
185
185
|
'[class.form-control-active]': 'focused',
|
|
186
186
|
'[class.disabled]': 'disabled'
|
|
187
|
-
}, standalone: true, imports: [NgIf, NgTemplateOutlet, ThyInputDirective, ThyAutofocusDirective, FormsModule,
|
|
187
|
+
}, standalone: true, imports: [NgIf, NgTemplateOutlet, ThyInputDirective, ThyAutofocusDirective, FormsModule, ThyIcon], template: "<div #prepend class=\"input-prepend\" *ngIf=\"prependTemplate\">\n <ng-template *ngTemplateOutlet=\"prependTemplate\"></ng-template>\n</div>\n<input\n #input\n thyInput\n [thySize]=\"thySize\"\n [thyAutofocus]=\"thyAutofocus\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onModelChange()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [readonly]=\"readonly\"\n/>\n<span class=\"input-label input-label-{{ thySize }}\" [class.active]=\"showLabel\">{{ thyLabelText }}</span>\n<div #append class=\"input-append\" *ngIf=\"appendTemplate\">\n <ng-template *ngTemplateOutlet=\"appendTemplate\"></ng-template>\n</div>\n\n<ng-template #eye>\n <a href=\"javascript:;\" class=\"link-secondary input-password-icon\" (click)=\"togglePasswordType()\">\n <thy-icon *ngIf=\"isPassword(type)\" thyIconName=\"eye\"></thy-icon>\n <thy-icon *ngIf=\"!isPassword(type)\" thyIconName=\"eye-invisible\"></thy-icon>\n </a>\n</ng-template>\n" }]
|
|
188
188
|
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }], propDecorators: { placeholder: [{
|
|
189
189
|
type: Input
|
|
190
190
|
}], thySize: [{
|
|
@@ -224,7 +224,7 @@ const inputGroupSizeMap = {
|
|
|
224
224
|
* @name thy-input-group
|
|
225
225
|
* @order 20
|
|
226
226
|
*/
|
|
227
|
-
class
|
|
227
|
+
class ThyInputGroup extends mixinUnsubscribe(MixinBase) {
|
|
228
228
|
/**
|
|
229
229
|
* 输入框上添加的后置文本
|
|
230
230
|
*/
|
|
@@ -324,10 +324,10 @@ class ThyInputGroupComponent extends mixinUnsubscribe(MixinBase) {
|
|
|
324
324
|
super.ngOnDestroy();
|
|
325
325
|
this.hostFocusControl.destroy();
|
|
326
326
|
}
|
|
327
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
328
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type:
|
|
327
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyInputGroup, deps: [{ token: i1$1.ThyTranslate }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
328
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyInputGroup, isStandalone: true, selector: "thy-input-group", inputs: { thyAppendText: "thyAppendText", thyAppendTextTranslateKey: "thyAppendTextTranslateKey", thyPrependText: "thyPrependText", thyPrependTextTranslateKey: "thyPrependTextTranslateKey", thySize: "thySize" }, host: { properties: { "class.form-control": "prefixTemplate || suffixTemplate", "class.thy-input-group-with-prefix": "prefixTemplate", "class.thy-input-group-with-suffix": "suffixTemplate", "class.thy-input-group-with-textarea-suffix": "isTextareaSuffix", "class.thy-input-group-with-scroll-bar": "isTextareaSuffix && hasScrollbar", "class.disabled": "this.disabled" }, classAttribute: "thy-input-group" }, queries: [{ propertyName: "appendTemplate", first: true, predicate: ["append"], descendants: true }, { propertyName: "prependTemplate", first: true, predicate: ["prepend"], descendants: true }, { propertyName: "prefixTemplate", first: true, predicate: ["prefix"], descendants: true }, { propertyName: "suffixTemplate", first: true, predicate: ["suffix"], descendants: true }, { propertyName: "inputDirective", first: true, predicate: ThyInputDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"input-group-prepend\" *ngIf=\"prependText\">\n <span class=\"input-group-text\">{{ prependText }}</span>\n</div>\n<div class=\"input-group-prepend\" *ngIf=\"prependTemplate\">\n <ng-template *ngTemplateOutlet=\"prependTemplate\"></ng-template>\n</div>\n\n<div class=\"input-group-prefix\" *ngIf=\"prefixTemplate\">\n <ng-template *ngTemplateOutlet=\"prefixTemplate\"></ng-template>\n</div>\n\n<ng-content></ng-content>\n\n<div class=\"input-group-append\" *ngIf=\"appendText\">\n <span class=\"input-group-text\">{{ appendText }}</span>\n</div>\n<div class=\"input-group-append\" *ngIf=\"appendTemplate\">\n <ng-template *ngTemplateOutlet=\"appendTemplate\"></ng-template>\n</div>\n\n<div class=\"input-group-suffix\" *ngIf=\"suffixTemplate\">\n <ng-template *ngTemplateOutlet=\"suffixTemplate\"></ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
329
329
|
}
|
|
330
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
330
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyInputGroup, decorators: [{
|
|
331
331
|
type: Component,
|
|
332
332
|
args: [{ selector: 'thy-input-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
333
333
|
class: 'thy-input-group',
|
|
@@ -369,7 +369,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
369
369
|
|
|
370
370
|
const CUSTOM_INPUT_SEARCH_CONTROL_VALUE_ACCESSOR = {
|
|
371
371
|
provide: NG_VALUE_ACCESSOR,
|
|
372
|
-
useExisting: forwardRef(() =>
|
|
372
|
+
useExisting: forwardRef(() => ThyInputSearch),
|
|
373
373
|
multi: true
|
|
374
374
|
};
|
|
375
375
|
const noop = () => { };
|
|
@@ -379,7 +379,7 @@ const _MixinBase = mixinInitialized(mixinTabIndex(mixinDisabled(AbstractControlV
|
|
|
379
379
|
* @name thy-input-search
|
|
380
380
|
* @order 30
|
|
381
381
|
*/
|
|
382
|
-
class
|
|
382
|
+
class ThyInputSearch extends _MixinBase {
|
|
383
383
|
/**
|
|
384
384
|
* 是否自动聚焦
|
|
385
385
|
* @default false
|
|
@@ -474,15 +474,15 @@ class ThyInputSearchComponent extends _MixinBase {
|
|
|
474
474
|
ngOnDestroy() {
|
|
475
475
|
this.hostFocusControl.destroy();
|
|
476
476
|
}
|
|
477
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
478
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type:
|
|
477
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyInputSearch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
478
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyInputSearch, isStandalone: true, selector: "thy-input-search", inputs: { name: "name", placeholder: "placeholder", thyTheme: "thyTheme", thySearchFocus: "thySearchFocus", thyIconPosition: "thyIconPosition", thySize: "thySize" }, outputs: { clear: "clear", thyClear: "thyClear" }, host: { properties: { "class.thy-input-search-ellipse": "thyTheme === \"ellipse\"", "class.thy-input-search-transparent": "thyTheme === \"transparent\"", "class.thy-input-search-before-with-clear": "searchText && iconPosition === \"before\"", "class.form-control-active": "focused", "attr.tabindex": "tabIndex" }, classAttribute: "thy-input form-control thy-input-search" }, providers: [CUSTOM_INPUT_SEARCH_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<thy-icon class=\"input-prepend\" *ngIf=\"iconPosition === 'before'\" thyIconName=\"search\"></thy-icon>\n<input\n class=\"input-search-control\"\n #input\n thyInput\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [thyAutofocus]=\"autoFocus\"\n [(ngModel)]=\"searchText\"\n (ngModelChange)=\"searchModelChange()\"\n (focus)=\"!focused ? (focused = true) : null\"\n [thySize]=\"thySize\"\n tabindex=\"-1\" />\n<ng-container *ngIf=\"iconPosition === 'after'\">\n <div class=\"input-append input-append-divider\">\n <a class=\"close\" *ngIf=\"searchText; else onlyIcon\" href=\"javascript:;\" (click)=\"clearSearchText($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <ng-template #onlyIcon>\n <thy-icon class=\"text-placeholder\" thyIconName=\"search\"></thy-icon>\n </ng-template>\n </div>\n</ng-container>\n\n<a *ngIf=\"searchText && iconPosition === 'before'\" class=\"close input-append\" href=\"javascript:;\" (click)=\"clearSearchText($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
479
479
|
}
|
|
480
480
|
__decorate([
|
|
481
481
|
InputBoolean(),
|
|
482
482
|
__metadata("design:type", Boolean),
|
|
483
483
|
__metadata("design:paramtypes", [Boolean])
|
|
484
|
-
],
|
|
485
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
484
|
+
], ThyInputSearch.prototype, "thySearchFocus", null);
|
|
485
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyInputSearch, decorators: [{
|
|
486
486
|
type: Component,
|
|
487
487
|
args: [{ selector: 'thy-input-search', providers: [CUSTOM_INPUT_SEARCH_CONTROL_VALUE_ACCESSOR], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
488
488
|
class: 'thy-input form-control thy-input-search',
|
|
@@ -491,7 +491,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
491
491
|
'[class.thy-input-search-before-with-clear]': 'searchText && iconPosition === "before"',
|
|
492
492
|
'[class.form-control-active]': 'focused',
|
|
493
493
|
'[attr.tabindex]': 'tabIndex'
|
|
494
|
-
}, standalone: true, imports: [NgIf,
|
|
494
|
+
}, standalone: true, imports: [NgIf, ThyIcon, ThyInputDirective, ThyAutofocusDirective, FormsModule], template: "<thy-icon class=\"input-prepend\" *ngIf=\"iconPosition === 'before'\" thyIconName=\"search\"></thy-icon>\n<input\n class=\"input-search-control\"\n #input\n thyInput\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [thyAutofocus]=\"autoFocus\"\n [(ngModel)]=\"searchText\"\n (ngModelChange)=\"searchModelChange()\"\n (focus)=\"!focused ? (focused = true) : null\"\n [thySize]=\"thySize\"\n tabindex=\"-1\" />\n<ng-container *ngIf=\"iconPosition === 'after'\">\n <div class=\"input-append input-append-divider\">\n <a class=\"close\" *ngIf=\"searchText; else onlyIcon\" href=\"javascript:;\" (click)=\"clearSearchText($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <ng-template #onlyIcon>\n <thy-icon class=\"text-placeholder\" thyIconName=\"search\"></thy-icon>\n </ng-template>\n </div>\n</ng-container>\n\n<a *ngIf=\"searchText && iconPosition === 'before'\" class=\"close input-append\" href=\"javascript:;\" (click)=\"clearSearchText($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n" }]
|
|
495
495
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { inputElement: [{
|
|
496
496
|
type: ViewChild,
|
|
497
497
|
args: ['input', { static: true }]
|
|
@@ -519,7 +519,7 @@ const _Base = mixinUnsubscribe(MixinBase);
|
|
|
519
519
|
* @name thy-input-count
|
|
520
520
|
* @order 40
|
|
521
521
|
*/
|
|
522
|
-
class
|
|
522
|
+
class ThyInputCount extends _Base {
|
|
523
523
|
/**
|
|
524
524
|
* 输入框组件,如果不传默认会读取外层 thy-input-group 下的 thyInput 指令
|
|
525
525
|
* @type ThyInputDirective
|
|
@@ -557,10 +557,10 @@ class ThyInputCountComponent extends _Base {
|
|
|
557
557
|
this.thyInput$.next(this.inputGroup.inputDirective);
|
|
558
558
|
}
|
|
559
559
|
}
|
|
560
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
561
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type:
|
|
560
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyInputCount, deps: [{ token: i0.ChangeDetectorRef }, { token: ThyInputGroup, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
561
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyInputCount, isStandalone: true, selector: "thy-input-count", inputs: { thyInput: "thyInput" }, host: { classAttribute: "thy-input-count text-muted" }, usesInheritance: true, ngImport: i0, template: '{{inputLength}} / {{maxLength}}', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
562
562
|
}
|
|
563
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
563
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyInputCount, decorators: [{
|
|
564
564
|
type: Component,
|
|
565
565
|
args: [{
|
|
566
566
|
selector: 'thy-input-count',
|
|
@@ -571,7 +571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
571
571
|
},
|
|
572
572
|
standalone: true
|
|
573
573
|
}]
|
|
574
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type:
|
|
574
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: ThyInputGroup, decorators: [{
|
|
575
575
|
type: Optional
|
|
576
576
|
}] }], propDecorators: { thyInput: [{
|
|
577
577
|
type: Input
|
|
@@ -585,17 +585,17 @@ class ThyInputModule {
|
|
|
585
585
|
ThyIconModule,
|
|
586
586
|
ThyDividerModule,
|
|
587
587
|
ThyInputDirective,
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
588
|
+
ThyInput,
|
|
589
|
+
ThyInputGroup,
|
|
590
|
+
ThyInputSearch,
|
|
591
|
+
ThyInputCount], exports: [ThyInputDirective, ThyInput, ThyInputGroup, ThyInputSearch, ThyInputCount] }); }
|
|
592
592
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyInputModule, imports: [CommonModule,
|
|
593
593
|
FormsModule,
|
|
594
594
|
ThySharedModule,
|
|
595
595
|
ThyIconModule,
|
|
596
596
|
ThyDividerModule,
|
|
597
|
-
|
|
598
|
-
|
|
597
|
+
ThyInput,
|
|
598
|
+
ThyInputSearch] }); }
|
|
599
599
|
}
|
|
600
600
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyInputModule, decorators: [{
|
|
601
601
|
type: NgModule,
|
|
@@ -607,12 +607,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
607
607
|
ThyIconModule,
|
|
608
608
|
ThyDividerModule,
|
|
609
609
|
ThyInputDirective,
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
610
|
+
ThyInput,
|
|
611
|
+
ThyInputGroup,
|
|
612
|
+
ThyInputSearch,
|
|
613
|
+
ThyInputCount
|
|
614
614
|
],
|
|
615
|
-
exports: [ThyInputDirective,
|
|
615
|
+
exports: [ThyInputDirective, ThyInput, ThyInputGroup, ThyInputSearch, ThyInputCount]
|
|
616
616
|
}]
|
|
617
617
|
}] });
|
|
618
618
|
|
|
@@ -620,5 +620,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
620
620
|
* Generated bundle index. Do not edit.
|
|
621
621
|
*/
|
|
622
622
|
|
|
623
|
-
export { CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_SEARCH_CONTROL_VALUE_ACCESSOR,
|
|
623
|
+
export { CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_SEARCH_CONTROL_VALUE_ACCESSOR, ThyInput, ThyInputCount, ThyInputDirective, ThyInputGroup, ThyInputModule, ThyInputSearch };
|
|
624
624
|
//# sourceMappingURL=ngx-tethys-input.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-input.mjs","sources":["../../../src/input/input.directive.ts","../../../src/input/input.component.ts","../../../src/input/input.component.html","../../../src/input/input-group.component.ts","../../../src/input/input-group.component.html","../../../src/input/input-search.component.ts","../../../src/input/input-search.component.html","../../../src/input/input-count.component.ts","../../../src/input/module.ts","../../../src/input/ngx-tethys-input.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, Input, OnInit, Optional, Renderer2, Self } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nexport type ThyInputSize = 'xs' | 'sm' | 'md' | 'lg' | '';\n\nconst inputGroupSizeMap = {\n xs: ['form-control-xs'],\n sm: ['form-control-sm'],\n md: ['form-control-md'],\n lg: ['form-control-lg']\n};\n\n/**\n * 输入框指令\n * @name thyInput\n * @order 10\n */\n@Directive({\n selector: 'input[thyInput], select[thyInput], textarea[thyInput]',\n exportAs: 'thyInput',\n standalone: true\n})\nexport class ThyInputDirective implements OnInit {\n @HostBinding('class.form-control') isFormControl = true;\n\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 输入框大小\n * @type 'xs' | 'sm' | 'md' | 'default' | 'lg'\n * @default default\n */\n @Input()\n set thySize(size: ThyInputSize) {\n if (size && inputGroupSizeMap[size]) {\n this.hostRenderer.updateClass(inputGroupSizeMap[size]);\n } else {\n this.hostRenderer.updateClass([]);\n }\n }\n\n get ngControl() {\n return this.control;\n }\n\n get nativeElement(): HTMLInputElement {\n return this.elementRef.nativeElement;\n }\n\n constructor(private elementRef: ElementRef, private render: Renderer2, @Optional() @Self() private control: NgControl) {}\n\n ngOnInit() {\n this.initialized = true;\n }\n}\n","import { take } from 'rxjs/operators';\n\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThyIconComponent } from 'ngx-tethys/icon';\nimport { ThyAutofocusDirective } from 'ngx-tethys/shared';\nimport { ThyInputDirective, ThyInputSize } from './input.directive';\nimport { InputBoolean } from 'ngx-tethys/core';\n\nexport const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThyInputComponent),\n multi: true\n};\n\nconst noop = () => {};\n\nconst password = 'password';\n\n/**\n * 内部集成输入框组件,建议 thy-input-group 和 thyInput 组合使用\n * @name thy-input\n * @order 50\n */\n@Component({\n selector: 'thy-input',\n templateUrl: './input.component.html',\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'thy-input form-control',\n '[class.form-control-active]': 'focused',\n '[class.disabled]': 'disabled'\n },\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, ThyInputDirective, ThyAutofocusDirective, FormsModule, ThyIconComponent]\n})\nexport class ThyInputComponent implements ControlValueAccessor, OnInit {\n /**\n * Placeholder\n */\n @Input() placeholder = '';\n\n /**\n * 输入框大小\n * @type 'xs' | 'sm' | 'md' | 'default' | 'lg'\n * @default default\n */\n @Input() thySize: ThyInputSize;\n\n /**\n * 是否自动聚焦\n */\n @Input() @InputBoolean() thyAutofocus = false;\n\n /**\n * 输入框类型\n * @type 'number' | 'input'\n */\n @Input()\n set thyType(value: string) {\n this.type = value;\n }\n\n /**\n * @deprecated please use thyType\n */\n @Input() type: string;\n\n /**\n * 输入 Label 文本\n */\n @Input() thyLabelText: string;\n\n /**\n * 是否只读\n */\n @Input() @InputBoolean() readonly = false;\n\n /**\n * focus 聚焦事件\n */\n @Output() focus: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * blur 失焦事件\n */\n @Output() blur: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * 后置模板\n */\n @ContentChild('append') appendTemplate: TemplateRef<any>;\n\n /**\n * 前置模板\n */\n @ContentChild('prepend') prependTemplate: TemplateRef<any>;\n\n @ViewChild('eye', { static: true }) eyeTemplate: TemplateRef<any>;\n\n public _type = 'text';\n\n public value: string;\n\n public showLabel: boolean;\n\n public focused = false;\n\n public disabled = false;\n\n private onTouchedCallback: () => void = noop;\n\n private onChangeCallback: (_: any) => void = noop;\n\n constructor(private ngZone: NgZone, private elementRef: ElementRef) {}\n\n ngOnInit() {\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n if (this.isPassword(this.type)) {\n this.appendTemplate = this.eyeTemplate;\n }\n });\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onModelChange() {\n this.onChangeCallback(this.value);\n }\n\n onInputFocus(event: Event) {\n this.focused = true;\n this.showLabel = true;\n this.focus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.onTouchedCallback();\n if (this.elementRef.nativeElement.onblur) {\n this.elementRef.nativeElement.onblur(event);\n }\n this.focused = false;\n this.showLabel = false;\n this.blur.emit(event);\n }\n\n isPassword(value: string) {\n return value === password;\n }\n\n togglePasswordType() {\n this.type = this.isPassword(this.type) ? 'text' : 'password';\n }\n}\n","<div #prepend class=\"input-prepend\" *ngIf=\"prependTemplate\">\n <ng-template *ngTemplateOutlet=\"prependTemplate\"></ng-template>\n</div>\n<input\n #input\n thyInput\n [thySize]=\"thySize\"\n [thyAutofocus]=\"thyAutofocus\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onModelChange()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [readonly]=\"readonly\"\n/>\n<span class=\"input-label input-label-{{ thySize }}\" [class.active]=\"showLabel\">{{ thyLabelText }}</span>\n<div #append class=\"input-append\" *ngIf=\"appendTemplate\">\n <ng-template *ngTemplateOutlet=\"appendTemplate\"></ng-template>\n</div>\n\n<ng-template #eye>\n <a href=\"javascript:;\" class=\"link-secondary input-password-icon\" (click)=\"togglePasswordType()\">\n <thy-icon *ngIf=\"isPassword(type)\" thyIconName=\"eye\"></thy-icon>\n <thy-icon *ngIf=\"!isPassword(type)\" thyIconName=\"eye-invisible\"></thy-icon>\n </a>\n</ng-template>\n","import {\n Component,\n HostBinding,\n Input,\n ContentChild,\n TemplateRef,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n AfterContentChecked,\n OnInit,\n OnDestroy,\n ChangeDetectorRef,\n NgZone\n} from '@angular/core';\nimport { MixinBase, ThyTranslate, mixinUnsubscribe, useHostFocusControl } from 'ngx-tethys/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyInputDirective } from './input.directive';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { takeUntil, throttleTime } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\nimport { FocusOrigin } from '@angular/cdk/a11y';\n\nexport type InputGroupSize = 'sm' | 'lg' | 'md' | '';\n\nconst inputGroupSizeMap = {\n sm: ['input-group-sm'],\n lg: ['input-group-lg'],\n md: ['input-group-md']\n};\n\n/**\n * 输入框分组\n * @name thy-input-group\n * @order 20\n */\n@Component({\n selector: 'thy-input-group',\n templateUrl: './input-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'thy-input-group',\n '[class.form-control]': 'prefixTemplate || suffixTemplate',\n '[class.thy-input-group-with-prefix]': 'prefixTemplate',\n '[class.thy-input-group-with-suffix]': 'suffixTemplate',\n '[class.thy-input-group-with-textarea-suffix]': 'isTextareaSuffix',\n '[class.thy-input-group-with-scroll-bar]': 'isTextareaSuffix && hasScrollbar'\n },\n standalone: true,\n imports: [NgIf, NgTemplateOutlet]\n})\nexport class ThyInputGroupComponent extends mixinUnsubscribe(MixinBase) implements OnInit, AfterContentChecked, OnDestroy {\n private hostRenderer = useHostRenderer();\n\n private hostFocusControl = useHostFocusControl();\n\n public appendText: string;\n\n public prependText: string;\n\n public isTextareaSuffix: boolean;\n\n public hasScrollbar: boolean;\n\n @HostBinding('class.disabled') disabled = false;\n\n /**\n * 输入框上添加的后置文本\n */\n @Input()\n set thyAppendText(value: string) {\n this.appendText = value;\n }\n\n /**\n * 输入框上添加的后置文本多语言 Key\n */\n @Input()\n set thyAppendTextTranslateKey(value: string) {\n if (value) {\n this.appendText = this.thyTranslate.instant(value);\n }\n }\n\n /**\n * 输入框上添加的前置文本\n */\n @Input()\n set thyPrependText(value: string) {\n this.prependText = value;\n }\n\n /**\n * 输入框上添加的前置文本多语言 Key\n */\n @Input()\n set thyPrependTextTranslateKey(value: string) {\n if (value) {\n this.prependText = this.thyTranslate.instant(value);\n }\n }\n\n /**\n * 输入框分组大小\n * @type 'sm' | 'lg' | 'md' | ''\n * @default ''\n */\n @Input()\n set thySize(size: InputGroupSize) {\n if (size && inputGroupSizeMap[size]) {\n this.hostRenderer.updateClass(inputGroupSizeMap[size]);\n } else {\n this.hostRenderer.updateClass([]);\n }\n }\n\n /**\n * 后置模板\n */\n @ContentChild('append') appendTemplate: TemplateRef<unknown>;\n\n /**\n * 前置模板\n */\n @ContentChild('prepend') prependTemplate: TemplateRef<unknown>;\n\n /**\n * 前缀\n */\n @ContentChild('prefix') prefixTemplate: TemplateRef<unknown>;\n\n /**\n * 后缀\n */\n @ContentChild('suffix') suffixTemplate: TemplateRef<unknown>;\n\n /**\n * @private\n */\n @ContentChild(ThyInputDirective) inputDirective: ThyInputDirective;\n\n constructor(private thyTranslate: ThyTranslate, private ngZone: NgZone, private cdr: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit() {\n this.hostFocusControl.focusChanged = (origin: FocusOrigin) => {\n if (origin) {\n this.hostRenderer.addClass('form-control-active');\n } else {\n this.hostRenderer.removeClass('form-control-active');\n }\n };\n }\n\n ngAfterContentChecked(): void {\n this.disabled = !!this.inputDirective?.nativeElement?.hasAttribute('disabled');\n\n this.isTextareaSuffix = this.inputDirective?.nativeElement?.tagName === 'TEXTAREA';\n if (this.isTextareaSuffix) {\n this.determineHasScrollbar();\n }\n }\n\n private determineHasScrollbar() {\n this.ngZone.runOutsideAngular(() => {\n this.resizeObserver(this.inputDirective.nativeElement)\n .pipe(throttleTime(100), takeUntil(this.ngUnsubscribe$))\n .subscribe(() => {\n const hasScrollbar = this.inputDirective.nativeElement.scrollHeight > this.inputDirective.nativeElement.clientHeight;\n if (this.hasScrollbar !== hasScrollbar) {\n this.ngZone.run(() => {\n this.hasScrollbar = hasScrollbar;\n this.cdr.detectChanges();\n });\n }\n });\n });\n }\n\n private resizeObserver(element: HTMLElement): Observable<ResizeObserverEntry[]> {\n return typeof ResizeObserver === 'undefined' || !ResizeObserver\n ? of(null)\n : new Observable(observer => {\n const resize = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n observer.next(entries);\n });\n resize.observe(element);\n return () => {\n resize.disconnect();\n };\n });\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this.hostFocusControl.destroy();\n }\n}\n","<div class=\"input-group-prepend\" *ngIf=\"prependText\">\n <span class=\"input-group-text\">{{ prependText }}</span>\n</div>\n<div class=\"input-group-prepend\" *ngIf=\"prependTemplate\">\n <ng-template *ngTemplateOutlet=\"prependTemplate\"></ng-template>\n</div>\n\n<div class=\"input-group-prefix\" *ngIf=\"prefixTemplate\">\n <ng-template *ngTemplateOutlet=\"prefixTemplate\"></ng-template>\n</div>\n\n<ng-content></ng-content>\n\n<div class=\"input-group-append\" *ngIf=\"appendText\">\n <span class=\"input-group-text\">{{ appendText }}</span>\n</div>\n<div class=\"input-group-append\" *ngIf=\"appendTemplate\">\n <ng-template *ngTemplateOutlet=\"appendTemplate\"></ng-template>\n</div>\n\n<div class=\"input-group-suffix\" *ngIf=\"suffixTemplate\">\n <ng-template *ngTemplateOutlet=\"suffixTemplate\"></ng-template>\n</div>\n","import {\n AbstractControlValueAccessor,\n Constructor,\n InputBoolean,\n mixinDisabled,\n mixinInitialized,\n mixinTabIndex,\n ThyCanDisable,\n ThyHasTabIndex,\n ThyInitialized,\n useHostFocusControl\n} from 'ngx-tethys/core';\n\nimport { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIconComponent } from 'ngx-tethys/icon';\nimport { ThyAutofocusDirective } from 'ngx-tethys/shared';\nimport { ThyInputDirective, ThyInputSize } from './input.directive';\n\nimport { FocusOrigin } from '@angular/cdk/a11y';\n\nexport type ThyInputSearchTheme = 'default' | 'ellipse' | 'transparent' | '';\nexport type ThyInputSearchIconPosition = 'before' | 'after';\n\nexport const CUSTOM_INPUT_SEARCH_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThyInputSearchComponent),\n multi: true\n};\n\nconst noop = () => {};\n\nconst _MixinBase: Constructor<ThyHasTabIndex> &\n Constructor<ThyInitialized> &\n Constructor<ThyCanDisable> &\n typeof AbstractControlValueAccessor = mixinInitialized(mixinTabIndex(mixinDisabled(AbstractControlValueAccessor)));\n\n/**\n * 搜索输入框\n * @name thy-input-search\n * @order 30\n */\n@Component({\n selector: 'thy-input-search',\n templateUrl: './input-search.component.html',\n providers: [CUSTOM_INPUT_SEARCH_CONTROL_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-input form-control thy-input-search',\n '[class.thy-input-search-ellipse]': 'thyTheme === \"ellipse\"',\n '[class.thy-input-search-transparent]': 'thyTheme === \"transparent\"',\n '[class.thy-input-search-before-with-clear]': 'searchText && iconPosition === \"before\"',\n '[class.form-control-active]': 'focused',\n '[attr.tabindex]': 'tabIndex'\n },\n standalone: true,\n imports: [NgIf, ThyIconComponent, ThyInputDirective, ThyAutofocusDirective, FormsModule]\n})\nexport class ThyInputSearchComponent extends _MixinBase implements ControlValueAccessor, OnInit, OnDestroy {\n @ViewChild('input', { static: true }) inputElement: ElementRef<any>;\n\n private hostRenderer = useHostRenderer();\n\n private hostFocusControl = useHostFocusControl();\n\n public disabled = false;\n\n public autoFocus = false;\n\n public iconPosition: ThyInputSearchIconPosition = 'before';\n\n searchText: string;\n\n focused = false;\n\n /**\n * 搜索框 name 属性\n */\n @Input() name = '';\n\n /**\n * 搜索框 Placeholder\n */\n @Input() placeholder = '';\n\n /**\n * 搜索框风格\n * @type 'default' | 'ellipse' | 'transparent'\n * @default default\n */\n @Input() thyTheme: ThyInputSearchTheme;\n\n /**\n * 是否自动聚焦\n * @default false\n */\n @Input()\n @InputBoolean()\n set thySearchFocus(value: boolean) {\n this.autoFocus = value;\n this.focused = value;\n }\n\n /**\n * 搜索图标位置,当传入 after 时,搜索图标在输入框后方显示,有内容时显示为关闭按钮\n * @type\n */\n @Input() set thyIconPosition(value: ThyInputSearchIconPosition) {\n this.iconPosition = value || 'before';\n this.updateClasses();\n }\n\n /**\n * 输入框大小\n * @type 'xs' | 'sm' | 'md' | 'default' | 'lg'\n */\n @Input() thySize: ThyInputSize;\n\n /**\n * @deprecated please use thyClear\n */\n @Output() clear: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * 清除搜索事件\n */\n @Output() thyClear: EventEmitter<Event> = new EventEmitter<Event>();\n\n constructor(private cdr: ChangeDetectorRef, private elementRef: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.updateClasses(true);\n\n this.hostFocusControl.focusChanged = (origin: FocusOrigin) => {\n if (this.disabled) {\n return;\n }\n\n if (origin) {\n if (!this.focused) {\n this.inputElement.nativeElement.focus();\n }\n } else {\n if (this.focused) {\n this.focused = false;\n this.onTouchedFn();\n }\n }\n this.cdr.markForCheck();\n };\n }\n\n updateClasses(forceUpdate = false) {\n if (this.initialized || forceUpdate) {\n this.hostRenderer.updateClass([`thy-input-search-${this.iconPosition}`]);\n }\n }\n\n writeValue(value: any): void {\n this.searchText = value;\n this.cdr.markForCheck();\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n searchModelChange() {\n this.onChangeFn(this.searchText);\n }\n\n clearSearchText(event: Event) {\n const element = this.elementRef.nativeElement.querySelector('.input-search-control');\n element.focus();\n event.stopPropagation();\n if (this.disabled) {\n return;\n }\n this.searchText = '';\n this.onChangeFn(this.searchText);\n this.clear.emit(event);\n this.thyClear.emit(event);\n }\n\n ngOnDestroy(): void {\n this.hostFocusControl.destroy();\n }\n}\n","<thy-icon class=\"input-prepend\" *ngIf=\"iconPosition === 'before'\" thyIconName=\"search\"></thy-icon>\n<input\n class=\"input-search-control\"\n #input\n thyInput\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [thyAutofocus]=\"autoFocus\"\n [(ngModel)]=\"searchText\"\n (ngModelChange)=\"searchModelChange()\"\n (focus)=\"!focused ? (focused = true) : null\"\n [thySize]=\"thySize\"\n tabindex=\"-1\" />\n<ng-container *ngIf=\"iconPosition === 'after'\">\n <div class=\"input-append input-append-divider\">\n <a class=\"close\" *ngIf=\"searchText; else onlyIcon\" href=\"javascript:;\" (click)=\"clearSearchText($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <ng-template #onlyIcon>\n <thy-icon class=\"text-placeholder\" thyIconName=\"search\"></thy-icon>\n </ng-template>\n </div>\n</ng-container>\n\n<a *ngIf=\"searchText && iconPosition === 'before'\" class=\"close input-append\" href=\"javascript:;\" (click)=\"clearSearchText($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n","import { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef, Optional } from '@angular/core';\nimport { ThyInputDirective } from './input.directive';\nimport { mixinUnsubscribe, MixinBase } from 'ngx-tethys/core';\nimport { takeUntil, switchMap, filter, tap } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { ThyInputGroupComponent } from './input-group.component';\n\nconst _Base = mixinUnsubscribe(MixinBase);\n\n/**\n * 输入框输入文字展示\n * @name thy-input-count\n * @order 40\n */\n@Component({\n selector: 'thy-input-count',\n template: '{{inputLength}} / {{maxLength}}',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-input-count text-muted'\n },\n standalone: true\n})\nexport class ThyInputCountComponent extends _Base implements OnInit {\n private hasInput = false;\n\n /**\n * 输入框组件,如果不传默认会读取外层 thy-input-group 下的 thyInput 指令\n * @type ThyInputDirective\n */\n @Input() set thyInput(value: ThyInputDirective) {\n this.hasInput = true;\n this.thyInput$.next(value);\n }\n\n maxLength: number | string;\n\n inputLength = 0;\n\n thyInput$ = new Subject<ThyInputDirective>();\n\n constructor(private changeDetectorRef: ChangeDetectorRef, @Optional() private inputGroup: ThyInputGroupComponent) {\n super();\n this.setup();\n }\n\n setup() {\n this.thyInput$\n .pipe(\n filter(input => {\n return !!input;\n }),\n tap(input => {\n this.maxLength = input.nativeElement.getAttribute('maxlength');\n this.changeDetectorRef.markForCheck();\n }),\n takeUntil(this.ngUnsubscribe$),\n switchMap(input => {\n return input.ngControl.valueChanges;\n }),\n tap(value => {\n this.inputLength = value?.length || 0;\n this.changeDetectorRef.markForCheck();\n }),\n takeUntil(this.ngUnsubscribe$)\n )\n .subscribe();\n }\n\n ngOnInit(): void {\n if (!this.hasInput && this.inputGroup && this.inputGroup.inputDirective) {\n this.thyInput$.next(this.inputGroup.inputDirective);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyInputDirective } from './input.directive';\nimport { ThyInputComponent } from './input.component';\nimport { ThyInputGroupComponent } from './input-group.component';\nimport { ThyInputSearchComponent } from './input-search.component';\nimport { FormsModule } from '@angular/forms';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyDividerModule } from 'ngx-tethys/divider';\nimport { ThyInputCountComponent } from './input-count.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ThySharedModule,\n ThyIconModule,\n ThyDividerModule,\n ThyInputDirective,\n ThyInputComponent,\n ThyInputGroupComponent,\n ThyInputSearchComponent,\n ThyInputCountComponent\n ],\n exports: [ThyInputDirective, ThyInputComponent, ThyInputGroupComponent, ThyInputSearchComponent, ThyInputCountComponent]\n})\nexport class ThyInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["inputGroupSizeMap","noop","i1","i1.ThyInputGroupComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-input.mjs","sources":["../../../src/input/input.directive.ts","../../../src/input/input.component.ts","../../../src/input/input.component.html","../../../src/input/input-group.component.ts","../../../src/input/input-group.component.html","../../../src/input/input-search.component.ts","../../../src/input/input-search.component.html","../../../src/input/input-count.component.ts","../../../src/input/module.ts","../../../src/input/ngx-tethys-input.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, Input, OnInit, Optional, Renderer2, Self } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nexport type ThyInputSize = 'xs' | 'sm' | 'md' | 'lg' | '';\n\nconst inputGroupSizeMap = {\n xs: ['form-control-xs'],\n sm: ['form-control-sm'],\n md: ['form-control-md'],\n lg: ['form-control-lg']\n};\n\n/**\n * 输入框指令\n * @name thyInput\n * @order 10\n */\n@Directive({\n selector: 'input[thyInput], select[thyInput], textarea[thyInput]',\n exportAs: 'thyInput',\n standalone: true\n})\nexport class ThyInputDirective implements OnInit {\n @HostBinding('class.form-control') isFormControl = true;\n\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 输入框大小\n * @type 'xs' | 'sm' | 'md' | 'default' | 'lg'\n * @default default\n */\n @Input()\n set thySize(size: ThyInputSize) {\n if (size && inputGroupSizeMap[size]) {\n this.hostRenderer.updateClass(inputGroupSizeMap[size]);\n } else {\n this.hostRenderer.updateClass([]);\n }\n }\n\n get ngControl() {\n return this.control;\n }\n\n get nativeElement(): HTMLInputElement {\n return this.elementRef.nativeElement;\n }\n\n constructor(private elementRef: ElementRef, private render: Renderer2, @Optional() @Self() private control: NgControl) {}\n\n ngOnInit() {\n this.initialized = true;\n }\n}\n","import { take } from 'rxjs/operators';\n\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyAutofocusDirective } from 'ngx-tethys/shared';\nimport { ThyInputDirective, ThyInputSize } from './input.directive';\nimport { InputBoolean } from 'ngx-tethys/core';\n\nexport const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThyInput),\n multi: true\n};\n\nconst noop = () => {};\n\nconst password = 'password';\n\n/**\n * 内部集成输入框组件,建议 thy-input-group 和 thyInput 组合使用\n * @name thy-input\n * @order 50\n */\n@Component({\n selector: 'thy-input',\n templateUrl: './input.component.html',\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'thy-input form-control',\n '[class.form-control-active]': 'focused',\n '[class.disabled]': 'disabled'\n },\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, ThyInputDirective, ThyAutofocusDirective, FormsModule, ThyIcon]\n})\nexport class ThyInput implements ControlValueAccessor, OnInit {\n /**\n * Placeholder\n */\n @Input() placeholder = '';\n\n /**\n * 输入框大小\n * @type 'xs' | 'sm' | 'md' | 'default' | 'lg'\n * @default default\n */\n @Input() thySize: ThyInputSize;\n\n /**\n * 是否自动聚焦\n */\n @Input() @InputBoolean() thyAutofocus = false;\n\n /**\n * 输入框类型\n * @type 'number' | 'input'\n */\n @Input()\n set thyType(value: string) {\n this.type = value;\n }\n\n /**\n * @deprecated please use thyType\n */\n @Input() type: string;\n\n /**\n * 输入 Label 文本\n */\n @Input() thyLabelText: string;\n\n /**\n * 是否只读\n */\n @Input() @InputBoolean() readonly = false;\n\n /**\n * focus 聚焦事件\n */\n @Output() focus: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * blur 失焦事件\n */\n @Output() blur: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * 后置模板\n */\n @ContentChild('append') appendTemplate: TemplateRef<any>;\n\n /**\n * 前置模板\n */\n @ContentChild('prepend') prependTemplate: TemplateRef<any>;\n\n @ViewChild('eye', { static: true }) eyeTemplate: TemplateRef<any>;\n\n public _type = 'text';\n\n public value: string;\n\n public showLabel: boolean;\n\n public focused = false;\n\n public disabled = false;\n\n private onTouchedCallback: () => void = noop;\n\n private onChangeCallback: (_: any) => void = noop;\n\n constructor(private ngZone: NgZone, private elementRef: ElementRef) {}\n\n ngOnInit() {\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n if (this.isPassword(this.type)) {\n this.appendTemplate = this.eyeTemplate;\n }\n });\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onModelChange() {\n this.onChangeCallback(this.value);\n }\n\n onInputFocus(event: Event) {\n this.focused = true;\n this.showLabel = true;\n this.focus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.onTouchedCallback();\n if (this.elementRef.nativeElement.onblur) {\n this.elementRef.nativeElement.onblur(event);\n }\n this.focused = false;\n this.showLabel = false;\n this.blur.emit(event);\n }\n\n isPassword(value: string) {\n return value === password;\n }\n\n togglePasswordType() {\n this.type = this.isPassword(this.type) ? 'text' : 'password';\n }\n}\n","<div #prepend class=\"input-prepend\" *ngIf=\"prependTemplate\">\n <ng-template *ngTemplateOutlet=\"prependTemplate\"></ng-template>\n</div>\n<input\n #input\n thyInput\n [thySize]=\"thySize\"\n [thyAutofocus]=\"thyAutofocus\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onModelChange()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [readonly]=\"readonly\"\n/>\n<span class=\"input-label input-label-{{ thySize }}\" [class.active]=\"showLabel\">{{ thyLabelText }}</span>\n<div #append class=\"input-append\" *ngIf=\"appendTemplate\">\n <ng-template *ngTemplateOutlet=\"appendTemplate\"></ng-template>\n</div>\n\n<ng-template #eye>\n <a href=\"javascript:;\" class=\"link-secondary input-password-icon\" (click)=\"togglePasswordType()\">\n <thy-icon *ngIf=\"isPassword(type)\" thyIconName=\"eye\"></thy-icon>\n <thy-icon *ngIf=\"!isPassword(type)\" thyIconName=\"eye-invisible\"></thy-icon>\n </a>\n</ng-template>\n","import {\n Component,\n HostBinding,\n Input,\n ContentChild,\n TemplateRef,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n AfterContentChecked,\n OnInit,\n OnDestroy,\n ChangeDetectorRef,\n NgZone\n} from '@angular/core';\nimport { MixinBase, ThyTranslate, mixinUnsubscribe, useHostFocusControl } from 'ngx-tethys/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyInputDirective } from './input.directive';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { takeUntil, throttleTime } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\nimport { FocusOrigin } from '@angular/cdk/a11y';\n\nexport type InputGroupSize = 'sm' | 'lg' | 'md' | '';\n\nconst inputGroupSizeMap = {\n sm: ['input-group-sm'],\n lg: ['input-group-lg'],\n md: ['input-group-md']\n};\n\n/**\n * 输入框分组\n * @name thy-input-group\n * @order 20\n */\n@Component({\n selector: 'thy-input-group',\n templateUrl: './input-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'thy-input-group',\n '[class.form-control]': 'prefixTemplate || suffixTemplate',\n '[class.thy-input-group-with-prefix]': 'prefixTemplate',\n '[class.thy-input-group-with-suffix]': 'suffixTemplate',\n '[class.thy-input-group-with-textarea-suffix]': 'isTextareaSuffix',\n '[class.thy-input-group-with-scroll-bar]': 'isTextareaSuffix && hasScrollbar'\n },\n standalone: true,\n imports: [NgIf, NgTemplateOutlet]\n})\nexport class ThyInputGroup extends mixinUnsubscribe(MixinBase) implements OnInit, AfterContentChecked, OnDestroy {\n private hostRenderer = useHostRenderer();\n\n private hostFocusControl = useHostFocusControl();\n\n public appendText: string;\n\n public prependText: string;\n\n public isTextareaSuffix: boolean;\n\n public hasScrollbar: boolean;\n\n @HostBinding('class.disabled') disabled = false;\n\n /**\n * 输入框上添加的后置文本\n */\n @Input()\n set thyAppendText(value: string) {\n this.appendText = value;\n }\n\n /**\n * 输入框上添加的后置文本多语言 Key\n */\n @Input()\n set thyAppendTextTranslateKey(value: string) {\n if (value) {\n this.appendText = this.thyTranslate.instant(value);\n }\n }\n\n /**\n * 输入框上添加的前置文本\n */\n @Input()\n set thyPrependText(value: string) {\n this.prependText = value;\n }\n\n /**\n * 输入框上添加的前置文本多语言 Key\n */\n @Input()\n set thyPrependTextTranslateKey(value: string) {\n if (value) {\n this.prependText = this.thyTranslate.instant(value);\n }\n }\n\n /**\n * 输入框分组大小\n * @type 'sm' | 'lg' | 'md' | ''\n * @default ''\n */\n @Input()\n set thySize(size: InputGroupSize) {\n if (size && inputGroupSizeMap[size]) {\n this.hostRenderer.updateClass(inputGroupSizeMap[size]);\n } else {\n this.hostRenderer.updateClass([]);\n }\n }\n\n /**\n * 后置模板\n */\n @ContentChild('append') appendTemplate: TemplateRef<unknown>;\n\n /**\n * 前置模板\n */\n @ContentChild('prepend') prependTemplate: TemplateRef<unknown>;\n\n /**\n * 前缀\n */\n @ContentChild('prefix') prefixTemplate: TemplateRef<unknown>;\n\n /**\n * 后缀\n */\n @ContentChild('suffix') suffixTemplate: TemplateRef<unknown>;\n\n /**\n * @private\n */\n @ContentChild(ThyInputDirective) inputDirective: ThyInputDirective;\n\n constructor(private thyTranslate: ThyTranslate, private ngZone: NgZone, private cdr: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit() {\n this.hostFocusControl.focusChanged = (origin: FocusOrigin) => {\n if (origin) {\n this.hostRenderer.addClass('form-control-active');\n } else {\n this.hostRenderer.removeClass('form-control-active');\n }\n };\n }\n\n ngAfterContentChecked(): void {\n this.disabled = !!this.inputDirective?.nativeElement?.hasAttribute('disabled');\n\n this.isTextareaSuffix = this.inputDirective?.nativeElement?.tagName === 'TEXTAREA';\n if (this.isTextareaSuffix) {\n this.determineHasScrollbar();\n }\n }\n\n private determineHasScrollbar() {\n this.ngZone.runOutsideAngular(() => {\n this.resizeObserver(this.inputDirective.nativeElement)\n .pipe(throttleTime(100), takeUntil(this.ngUnsubscribe$))\n .subscribe(() => {\n const hasScrollbar = this.inputDirective.nativeElement.scrollHeight > this.inputDirective.nativeElement.clientHeight;\n if (this.hasScrollbar !== hasScrollbar) {\n this.ngZone.run(() => {\n this.hasScrollbar = hasScrollbar;\n this.cdr.detectChanges();\n });\n }\n });\n });\n }\n\n private resizeObserver(element: HTMLElement): Observable<ResizeObserverEntry[]> {\n return typeof ResizeObserver === 'undefined' || !ResizeObserver\n ? of(null)\n : new Observable(observer => {\n const resize = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n observer.next(entries);\n });\n resize.observe(element);\n return () => {\n resize.disconnect();\n };\n });\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this.hostFocusControl.destroy();\n }\n}\n","<div class=\"input-group-prepend\" *ngIf=\"prependText\">\n <span class=\"input-group-text\">{{ prependText }}</span>\n</div>\n<div class=\"input-group-prepend\" *ngIf=\"prependTemplate\">\n <ng-template *ngTemplateOutlet=\"prependTemplate\"></ng-template>\n</div>\n\n<div class=\"input-group-prefix\" *ngIf=\"prefixTemplate\">\n <ng-template *ngTemplateOutlet=\"prefixTemplate\"></ng-template>\n</div>\n\n<ng-content></ng-content>\n\n<div class=\"input-group-append\" *ngIf=\"appendText\">\n <span class=\"input-group-text\">{{ appendText }}</span>\n</div>\n<div class=\"input-group-append\" *ngIf=\"appendTemplate\">\n <ng-template *ngTemplateOutlet=\"appendTemplate\"></ng-template>\n</div>\n\n<div class=\"input-group-suffix\" *ngIf=\"suffixTemplate\">\n <ng-template *ngTemplateOutlet=\"suffixTemplate\"></ng-template>\n</div>\n","import {\n AbstractControlValueAccessor,\n Constructor,\n InputBoolean,\n mixinDisabled,\n mixinInitialized,\n mixinTabIndex,\n ThyCanDisable,\n ThyHasTabIndex,\n ThyInitialized,\n useHostFocusControl\n} from 'ngx-tethys/core';\n\nimport { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyAutofocusDirective } from 'ngx-tethys/shared';\nimport { ThyInputDirective, ThyInputSize } from './input.directive';\n\nimport { FocusOrigin } from '@angular/cdk/a11y';\n\nexport type ThyInputSearchTheme = 'default' | 'ellipse' | 'transparent' | '';\nexport type ThyInputSearchIconPosition = 'before' | 'after';\n\nexport const CUSTOM_INPUT_SEARCH_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThyInputSearch),\n multi: true\n};\n\nconst noop = () => {};\n\nconst _MixinBase: Constructor<ThyHasTabIndex> &\n Constructor<ThyInitialized> &\n Constructor<ThyCanDisable> &\n typeof AbstractControlValueAccessor = mixinInitialized(mixinTabIndex(mixinDisabled(AbstractControlValueAccessor)));\n\n/**\n * 搜索输入框\n * @name thy-input-search\n * @order 30\n */\n@Component({\n selector: 'thy-input-search',\n templateUrl: './input-search.component.html',\n providers: [CUSTOM_INPUT_SEARCH_CONTROL_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-input form-control thy-input-search',\n '[class.thy-input-search-ellipse]': 'thyTheme === \"ellipse\"',\n '[class.thy-input-search-transparent]': 'thyTheme === \"transparent\"',\n '[class.thy-input-search-before-with-clear]': 'searchText && iconPosition === \"before\"',\n '[class.form-control-active]': 'focused',\n '[attr.tabindex]': 'tabIndex'\n },\n standalone: true,\n imports: [NgIf, ThyIcon, ThyInputDirective, ThyAutofocusDirective, FormsModule]\n})\nexport class ThyInputSearch extends _MixinBase implements ControlValueAccessor, OnInit, OnDestroy {\n @ViewChild('input', { static: true }) inputElement: ElementRef<any>;\n\n private hostRenderer = useHostRenderer();\n\n private hostFocusControl = useHostFocusControl();\n\n public disabled = false;\n\n public autoFocus = false;\n\n public iconPosition: ThyInputSearchIconPosition = 'before';\n\n searchText: string;\n\n focused = false;\n\n /**\n * 搜索框 name 属性\n */\n @Input() name = '';\n\n /**\n * 搜索框 Placeholder\n */\n @Input() placeholder = '';\n\n /**\n * 搜索框风格\n * @type 'default' | 'ellipse' | 'transparent'\n * @default default\n */\n @Input() thyTheme: ThyInputSearchTheme;\n\n /**\n * 是否自动聚焦\n * @default false\n */\n @Input()\n @InputBoolean()\n set thySearchFocus(value: boolean) {\n this.autoFocus = value;\n this.focused = value;\n }\n\n /**\n * 搜索图标位置,当传入 after 时,搜索图标在输入框后方显示,有内容时显示为关闭按钮\n * @type\n */\n @Input() set thyIconPosition(value: ThyInputSearchIconPosition) {\n this.iconPosition = value || 'before';\n this.updateClasses();\n }\n\n /**\n * 输入框大小\n * @type 'xs' | 'sm' | 'md' | 'default' | 'lg'\n */\n @Input() thySize: ThyInputSize;\n\n /**\n * @deprecated please use thyClear\n */\n @Output() clear: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * 清除搜索事件\n */\n @Output() thyClear: EventEmitter<Event> = new EventEmitter<Event>();\n\n constructor(private cdr: ChangeDetectorRef, private elementRef: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.updateClasses(true);\n\n this.hostFocusControl.focusChanged = (origin: FocusOrigin) => {\n if (this.disabled) {\n return;\n }\n\n if (origin) {\n if (!this.focused) {\n this.inputElement.nativeElement.focus();\n }\n } else {\n if (this.focused) {\n this.focused = false;\n this.onTouchedFn();\n }\n }\n this.cdr.markForCheck();\n };\n }\n\n updateClasses(forceUpdate = false) {\n if (this.initialized || forceUpdate) {\n this.hostRenderer.updateClass([`thy-input-search-${this.iconPosition}`]);\n }\n }\n\n writeValue(value: any): void {\n this.searchText = value;\n this.cdr.markForCheck();\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n searchModelChange() {\n this.onChangeFn(this.searchText);\n }\n\n clearSearchText(event: Event) {\n const element = this.elementRef.nativeElement.querySelector('.input-search-control');\n element.focus();\n event.stopPropagation();\n if (this.disabled) {\n return;\n }\n this.searchText = '';\n this.onChangeFn(this.searchText);\n this.clear.emit(event);\n this.thyClear.emit(event);\n }\n\n ngOnDestroy(): void {\n this.hostFocusControl.destroy();\n }\n}\n","<thy-icon class=\"input-prepend\" *ngIf=\"iconPosition === 'before'\" thyIconName=\"search\"></thy-icon>\n<input\n class=\"input-search-control\"\n #input\n thyInput\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [thyAutofocus]=\"autoFocus\"\n [(ngModel)]=\"searchText\"\n (ngModelChange)=\"searchModelChange()\"\n (focus)=\"!focused ? (focused = true) : null\"\n [thySize]=\"thySize\"\n tabindex=\"-1\" />\n<ng-container *ngIf=\"iconPosition === 'after'\">\n <div class=\"input-append input-append-divider\">\n <a class=\"close\" *ngIf=\"searchText; else onlyIcon\" href=\"javascript:;\" (click)=\"clearSearchText($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <ng-template #onlyIcon>\n <thy-icon class=\"text-placeholder\" thyIconName=\"search\"></thy-icon>\n </ng-template>\n </div>\n</ng-container>\n\n<a *ngIf=\"searchText && iconPosition === 'before'\" class=\"close input-append\" href=\"javascript:;\" (click)=\"clearSearchText($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n","import { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef, Optional } from '@angular/core';\nimport { ThyInputDirective } from './input.directive';\nimport { mixinUnsubscribe, MixinBase } from 'ngx-tethys/core';\nimport { takeUntil, switchMap, filter, tap } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { ThyInputGroup } from './input-group.component';\n\nconst _Base = mixinUnsubscribe(MixinBase);\n\n/**\n * 输入框输入文字展示\n * @name thy-input-count\n * @order 40\n */\n@Component({\n selector: 'thy-input-count',\n template: '{{inputLength}} / {{maxLength}}',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-input-count text-muted'\n },\n standalone: true\n})\nexport class ThyInputCount extends _Base implements OnInit {\n private hasInput = false;\n\n /**\n * 输入框组件,如果不传默认会读取外层 thy-input-group 下的 thyInput 指令\n * @type ThyInputDirective\n */\n @Input() set thyInput(value: ThyInputDirective) {\n this.hasInput = true;\n this.thyInput$.next(value);\n }\n\n maxLength: number | string;\n\n inputLength = 0;\n\n thyInput$ = new Subject<ThyInputDirective>();\n\n constructor(private changeDetectorRef: ChangeDetectorRef, @Optional() private inputGroup: ThyInputGroup) {\n super();\n this.setup();\n }\n\n setup() {\n this.thyInput$\n .pipe(\n filter(input => {\n return !!input;\n }),\n tap(input => {\n this.maxLength = input.nativeElement.getAttribute('maxlength');\n this.changeDetectorRef.markForCheck();\n }),\n takeUntil(this.ngUnsubscribe$),\n switchMap(input => {\n return input.ngControl.valueChanges;\n }),\n tap(value => {\n this.inputLength = value?.length || 0;\n this.changeDetectorRef.markForCheck();\n }),\n takeUntil(this.ngUnsubscribe$)\n )\n .subscribe();\n }\n\n ngOnInit(): void {\n if (!this.hasInput && this.inputGroup && this.inputGroup.inputDirective) {\n this.thyInput$.next(this.inputGroup.inputDirective);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyInputDirective } from './input.directive';\nimport { ThyInput } from './input.component';\nimport { ThyInputGroup } from './input-group.component';\nimport { ThyInputSearch } from './input-search.component';\nimport { FormsModule } from '@angular/forms';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyDividerModule } from 'ngx-tethys/divider';\nimport { ThyInputCount } from './input-count.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ThySharedModule,\n ThyIconModule,\n ThyDividerModule,\n ThyInputDirective,\n ThyInput,\n ThyInputGroup,\n ThyInputSearch,\n ThyInputCount\n ],\n exports: [ThyInputDirective, ThyInput, ThyInputGroup, ThyInputSearch, ThyInputCount]\n})\nexport class ThyInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["inputGroupSizeMap","noop","i1","i1.ThyInputGroup"],"mappings":"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"}
|