ngx-tethys 18.0.8 → 18.1.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -1
- package/action/action.component.d.ts +1 -2
- package/affix/affix.component.d.ts +2 -4
- package/alert/alert.component.d.ts +11 -19
- package/anchor/anchor-link.component.d.ts +2 -4
- package/anchor/anchor.component.d.ts +2 -7
- package/arrow-switcher/arrow-switcher.component.d.ts +1 -2
- package/autocomplete/autocomplete.component.d.ts +1 -2
- package/autocomplete/autocomplete.trigger.directive.d.ts +3 -5
- package/autocomplete/overlay/autocomplete-container.component.d.ts +4 -4
- package/autocomplete/overlay/autocomplete.service.d.ts +3 -5
- package/avatar/avatar.component.d.ts +1 -3
- package/avatar/avatar.pipe.d.ts +0 -2
- package/back-top/back-top.component.d.ts +2 -4
- package/badge/badge.component.d.ts +2 -2
- package/breadcrumb/breadcrumb-item.component.d.ts +1 -2
- package/breadcrumb/breadcrumb.component.d.ts +1 -2
- package/button/button.component.d.ts +1 -2
- package/calendar/calendar-header.component.d.ts +1 -2
- package/calendar/calendar.component.d.ts +1 -2
- package/carousel/carousel-item.directive.d.ts +1 -2
- package/carousel/carousel.component.d.ts +1 -4
- package/carousel/carousel.service.d.ts +1 -2
- package/cascader/cascader.component.d.ts +4 -4
- package/checkbox/checkbox.component.d.ts +0 -2
- package/collapse/collapse-item.component.d.ts +2 -4
- package/color-picker/color-picker-panel.component.d.ts +2 -3
- package/color-picker/color-picker.component.d.ts +2 -4
- package/color-picker/coordinates.directive.d.ts +1 -2
- package/color-picker/parts/alpha/alpha.component.d.ts +1 -2
- package/color-picker/parts/hue/hue.component.d.ts +1 -2
- package/color-picker/parts/saturation/saturation.component.d.ts +1 -2
- package/copy/copy.directive.d.ts +0 -2
- package/core/click-positioner.d.ts +0 -2
- package/core/scroll.d.ts +1 -2
- package/core/update-host-class.service.d.ts +1 -2
- package/date-picker/abstract-picker.component.d.ts +1 -1
- package/date-picker/abstract-picker.directive.d.ts +2 -3
- package/date-picker/base-picker.component.d.ts +2 -3
- package/date-picker/date-picker.component.d.ts +2 -2
- package/date-picker/date-picker.directive.d.ts +1 -3
- package/date-picker/date-picker.service.d.ts +2 -2
- package/date-picker/index.d.ts +26 -27
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -2
- package/date-picker/lib/calendar/calendar-header.component.d.ts +0 -1
- package/date-picker/lib/date/date-header.component.d.ts +0 -3
- package/date-picker/lib/date/date-table-cell.component.d.ts +1 -1
- package/date-picker/lib/date/date-table.component.d.ts +1 -3
- package/date-picker/lib/date-carousel/date-carousel.component.d.ts +1 -2
- package/date-picker/lib/decade/decade-header.component.d.ts +1 -1
- package/date-picker/lib/month/month-header.component.d.ts +0 -3
- package/date-picker/lib/month/month-table.component.d.ts +1 -2
- package/date-picker/lib/popups/date-popup.component.d.ts +1 -4
- package/date-picker/lib/popups/inner-popup.component.d.ts +0 -2
- package/date-picker/lib/quarter/quarter-table.component.d.ts +1 -2
- package/date-picker/lib/year/year-header.component.d.ts +0 -1
- package/date-picker/month-picker.component.d.ts +2 -2
- package/date-picker/picker.component.d.ts +1 -3
- package/date-picker/picker.pipes.d.ts +0 -3
- package/date-picker/quarter-picker.component.d.ts +2 -2
- package/date-picker/range-picker.component.d.ts +2 -2
- package/date-picker/range-picker.directive.d.ts +2 -3
- package/date-picker/week-picker.component.d.ts +2 -2
- package/date-picker/year-picker.component.d.ts +2 -2
- package/date-range/date-range.component.d.ts +3 -11
- package/date-range/optional-dates/optional-dates.component.d.ts +0 -2
- package/dialog/body/dialog-body.component.d.ts +0 -2
- package/dialog/confirm/confirm.component.d.ts +2 -3
- package/dialog/dialog-container.component.d.ts +4 -5
- package/dialog/dialog.service.d.ts +4 -4
- package/dialog/footer/dialog-footer.component.d.ts +2 -2
- package/dialog/header/dialog-header.component.d.ts +2 -6
- package/divider/divider.component.d.ts +8 -2
- package/dot/dot.component.d.ts +1 -2
- package/drag-drop/drag-content.directive.d.ts +2 -3
- package/drag-drop/drag-handle.directive.d.ts +2 -3
- package/drag-drop/drag.directive.d.ts +4 -5
- package/drag-drop/drop-container.directive.d.ts +6 -3
- package/dropdown/dropdown-active.directive.d.ts +3 -4
- package/dropdown/dropdown-menu-item.directive.d.ts +1 -2
- package/dropdown/dropdown-submenu.component.d.ts +1 -3
- package/dropdown/dropdown.directive.d.ts +3 -5
- package/empty/empty.component.d.ts +6 -6
- package/esm2022/action/action.component.mjs +20 -21
- package/esm2022/affix/affix.component.mjs +11 -14
- package/esm2022/alert/alert.component.mjs +55 -81
- package/esm2022/anchor/anchor-link.component.mjs +23 -16
- package/esm2022/anchor/anchor.component.mjs +27 -24
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +25 -26
- package/esm2022/autocomplete/autocomplete.component.mjs +11 -11
- package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +30 -37
- package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +11 -15
- package/esm2022/autocomplete/overlay/autocomplete.service.mjs +14 -21
- package/esm2022/avatar/avatar-list/avatar-list.component.mjs +4 -4
- package/esm2022/avatar/avatar.component.mjs +27 -28
- package/esm2022/avatar/avatar.pipe.mjs +6 -7
- package/esm2022/back-top/back-top.component.mjs +14 -18
- package/esm2022/badge/badge.component.mjs +8 -9
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
- package/esm2022/breadcrumb/breadcrumb.component.mjs +15 -17
- package/esm2022/button/button-icon.component.mjs +4 -4
- package/esm2022/button/button.component.mjs +15 -15
- package/esm2022/calendar/calendar-header.component.mjs +15 -15
- package/esm2022/calendar/calendar.component.mjs +14 -15
- package/esm2022/card/header.component.mjs +4 -4
- package/esm2022/carousel/carousel-item.directive.mjs +7 -6
- package/esm2022/carousel/carousel.component.mjs +13 -15
- package/esm2022/carousel/carousel.service.mjs +7 -9
- package/esm2022/cascader/cascader-li.component.mjs +4 -4
- package/esm2022/cascader/cascader-search-option.component.mjs +4 -4
- package/esm2022/cascader/cascader.component.mjs +15 -22
- package/esm2022/checkbox/checkbox.component.mjs +11 -13
- package/esm2022/collapse/collapse-item.component.mjs +21 -24
- package/esm2022/color-picker/color-picker-panel.component.mjs +14 -15
- package/esm2022/color-picker/color-picker.component.mjs +10 -11
- package/esm2022/color-picker/coordinates.directive.mjs +10 -10
- package/esm2022/color-picker/parts/alpha/alpha.component.mjs +6 -6
- package/esm2022/color-picker/parts/hue/hue.component.mjs +6 -6
- package/esm2022/color-picker/parts/saturation/saturation.component.mjs +9 -9
- package/esm2022/comment/comment.component.mjs +4 -4
- package/esm2022/copy/copy.directive.mjs +8 -12
- package/esm2022/core/click-positioner.mjs +6 -7
- package/esm2022/core/scroll.mjs +7 -9
- package/esm2022/core/store/store.mjs +1 -1
- package/esm2022/core/update-host-class.service.mjs +6 -6
- package/esm2022/date-picker/abstract-picker.component.mjs +5 -5
- package/esm2022/date-picker/abstract-picker.directive.mjs +42 -44
- package/esm2022/date-picker/base-picker.component.mjs +26 -26
- package/esm2022/date-picker/date-picker.component.mjs +10 -11
- package/esm2022/date-picker/date-picker.directive.mjs +6 -8
- package/esm2022/date-picker/date-picker.service.mjs +6 -10
- package/esm2022/date-picker/index.mjs +27 -28
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +7 -8
- package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +6 -7
- package/esm2022/date-picker/lib/date/date-header.component.mjs +6 -12
- package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +4 -4
- package/esm2022/date-picker/lib/date/date-table.component.mjs +10 -12
- package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +16 -16
- package/esm2022/date-picker/lib/decade/decade-header.component.mjs +8 -11
- package/esm2022/date-picker/lib/decade/decade-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/month/month-header.component.mjs +6 -12
- package/esm2022/date-picker/lib/month/month-table.component.mjs +9 -10
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +14 -29
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +14 -20
- package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +9 -10
- package/esm2022/date-picker/lib/year/year-header.component.mjs +6 -12
- package/esm2022/date-picker/lib/year/year-table.component.mjs +4 -4
- package/esm2022/date-picker/month-picker.component.mjs +9 -11
- package/esm2022/date-picker/picker.component.mjs +24 -35
- package/esm2022/date-picker/picker.pipes.mjs +10 -11
- package/esm2022/date-picker/quarter-picker.component.mjs +9 -11
- package/esm2022/date-picker/range-picker.component.mjs +9 -11
- package/esm2022/date-picker/range-picker.directive.mjs +6 -8
- package/esm2022/date-picker/week-picker.component.mjs +9 -11
- package/esm2022/date-picker/year-picker.component.mjs +9 -11
- package/esm2022/date-range/date-range.component.mjs +17 -18
- package/esm2022/date-range/optional-dates/optional-dates.component.mjs +9 -13
- package/esm2022/dialog/body/dialog-body.component.mjs +11 -12
- package/esm2022/dialog/confirm/confirm.component.mjs +10 -14
- package/esm2022/dialog/dialog-container.component.mjs +13 -18
- package/esm2022/dialog/dialog.service.mjs +10 -17
- package/esm2022/dialog/footer/dialog-footer.component.mjs +10 -14
- package/esm2022/dialog/header/dialog-header.component.mjs +17 -22
- package/esm2022/divider/divider.component.mjs +21 -13
- package/esm2022/dot/dot.component.mjs +7 -7
- package/esm2022/drag-drop/drag-content.directive.mjs +7 -9
- package/esm2022/drag-drop/drag-handle.directive.mjs +7 -9
- package/esm2022/drag-drop/drag.directive.mjs +13 -16
- package/esm2022/drag-drop/drop-container.directive.mjs +13 -13
- package/esm2022/dropdown/dropdown-active.directive.mjs +9 -12
- package/esm2022/dropdown/dropdown-menu-item.directive.mjs +12 -12
- package/esm2022/dropdown/dropdown-menu.component.mjs +11 -7
- package/esm2022/dropdown/dropdown-submenu.component.mjs +9 -10
- package/esm2022/dropdown/dropdown.directive.mjs +12 -10
- package/esm2022/empty/empty.component.mjs +17 -20
- package/esm2022/flexible-text/flexible-text.component.mjs +16 -17
- package/esm2022/form/form-group-error/form-group-error.component.mjs +12 -15
- package/esm2022/form/form-group-label.directive.mjs +9 -10
- package/esm2022/form/form-group.component.mjs +18 -22
- package/esm2022/form/form-submit.directive.mjs +6 -7
- package/esm2022/form/form-validator-loader.mjs +1 -1
- package/esm2022/form/form-validator.service.mjs +12 -13
- package/esm2022/form/form.directive.mjs +11 -16
- package/esm2022/form/from-group-footer/form-group-footer.component.mjs +13 -19
- package/esm2022/form/validator/unique-validator.directive.mjs +7 -10
- package/esm2022/fullscreen/fullscreen.component.mjs +10 -11
- package/esm2022/fullscreen/fullscreen.service.mjs +7 -10
- package/esm2022/grid/thy-col.directive.mjs +9 -14
- package/esm2022/grid/thy-grid-item.component.mjs +8 -14
- package/esm2022/grid/thy-grid.component.mjs +7 -8
- package/esm2022/guider/guider-hint/guider-hint.component.mjs +4 -4
- package/esm2022/guider/guider.directive.mjs +8 -9
- package/esm2022/guider/guider.service.mjs +12 -19
- package/esm2022/icon/icon-registry.mjs +11 -16
- package/esm2022/icon/icon.component.mjs +8 -9
- package/esm2022/image/image-group.component.mjs +7 -7
- package/esm2022/image/image.directive.mjs +11 -12
- package/esm2022/image/image.service.mjs +8 -14
- package/esm2022/image/preview/image-preview.component.mjs +36 -41
- package/esm2022/input/input-count.component.mjs +7 -10
- package/esm2022/input/input-group.component.mjs +15 -16
- package/esm2022/input/input-search.component.mjs +9 -10
- package/esm2022/input/input.component.mjs +17 -17
- package/esm2022/input/input.directive.mjs +12 -17
- package/esm2022/input-number/input-number.component.mjs +6 -6
- package/esm2022/layout/header.component.mjs +4 -4
- package/esm2022/layout/sidebar-header.component.mjs +4 -4
- package/esm2022/layout/sidebar.component.mjs +125 -121
- package/esm2022/list/list-item-meta.component.mjs +4 -4
- package/esm2022/list/selection/selection-list.mjs +25 -25
- package/esm2022/loading/loading.component.mjs +10 -11
- package/esm2022/mention/mention.directive.mjs +9 -14
- package/esm2022/mention/suggestions/suggestions.component.mjs +11 -12
- package/esm2022/menu/group/menu-group.component.mjs +37 -38
- package/esm2022/menu/item/action/menu-item-action.component.mjs +15 -16
- package/esm2022/menu/item/menu-item.component.mjs +8 -9
- package/esm2022/message/abstract/abstract-message-container.component.mjs +5 -5
- package/esm2022/message/abstract/abstract-message.component.mjs +6 -6
- package/esm2022/message/message-container.component.mjs +21 -15
- package/esm2022/message/message-queue.service.mjs +6 -8
- package/esm2022/message/message.component.mjs +9 -10
- package/esm2022/message/message.service.mjs +10 -11
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +4 -5
- package/esm2022/nav/icon-nav/icon-nav.component.mjs +6 -6
- package/esm2022/nav/nav-ink-bar.directive.mjs +9 -14
- package/esm2022/nav/nav-item.directive.mjs +8 -11
- package/esm2022/nav/nav.component.mjs +35 -38
- package/esm2022/nav/nav.pipe.mjs +6 -7
- package/esm2022/notify/notify-container.component.mjs +11 -14
- package/esm2022/notify/notify-queue.service.mjs +6 -8
- package/esm2022/notify/notify.component.mjs +10 -10
- package/esm2022/notify/notify.service.mjs +11 -12
- package/esm2022/pagination/pagination.component.mjs +41 -46
- package/esm2022/pagination/pagination.pipe.mjs +6 -7
- package/esm2022/popover/header/popover-header.component.mjs +15 -17
- package/esm2022/popover/popover-container.component.mjs +11 -13
- package/esm2022/popover/popover.directive.mjs +13 -12
- package/esm2022/popover/popover.service.mjs +14 -26
- package/esm2022/progress/progress-circle.component.mjs +4 -7
- package/esm2022/progress/progress-strip.component.mjs +10 -13
- package/esm2022/progress/progress.component.mjs +5 -8
- package/esm2022/property/property-item.component.mjs +13 -16
- package/esm2022/property-operation/property-operation.component.mjs +27 -28
- package/esm2022/radio/button/radio-button.component.mjs +9 -15
- package/esm2022/radio/group/radio-group.component.mjs +17 -17
- package/esm2022/radio/radio.component.mjs +12 -18
- package/esm2022/rate/rate.component.mjs +10 -10
- package/esm2022/resizable/resizable.directive.mjs +10 -12
- package/esm2022/resizable/resizable.service.mjs +7 -9
- package/esm2022/resizable/resize-handle.component.mjs +16 -14
- package/esm2022/resizable/resize-handles.component.mjs +12 -5
- package/esm2022/result/result.component.mjs +4 -4
- package/esm2022/segment/segment-item.component.mjs +15 -18
- package/esm2022/segment/segment.component.mjs +29 -30
- package/esm2022/select/custom-select/custom-select.component.mjs +19 -35
- package/esm2022/select/native-select/native-select.component.mjs +10 -11
- package/esm2022/shared/base-form-check.component.mjs +7 -8
- package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +7 -7
- package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -10
- package/esm2022/shared/directives/thy-contextmenu.directive.mjs +8 -8
- package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +8 -8
- package/esm2022/shared/directives/thy-enter.directive.mjs +8 -8
- package/esm2022/shared/directives/thy-scroll.directive.mjs +21 -21
- package/esm2022/shared/directives/thy-show.mjs +11 -11
- package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +7 -5
- package/esm2022/shared/directives/view-outlet.directive.mjs +7 -7
- package/esm2022/shared/ng-transclude.directive.mjs +6 -5
- package/esm2022/shared/option/group/option-group.component.mjs +10 -10
- package/esm2022/shared/option/list-option/list-option.component.mjs +14 -22
- package/esm2022/shared/option/option.component.mjs +11 -22
- package/esm2022/shared/select/select-control/select-control.component.mjs +27 -27
- package/esm2022/skeleton/skeleton-circle.component.mjs +7 -15
- package/esm2022/skeleton/skeleton-rectangle.component.mjs +7 -15
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +8 -9
- package/esm2022/skeleton/stylized/list.component.mjs +8 -9
- package/esm2022/skeleton/stylized/paragraph.component.mjs +8 -9
- package/esm2022/slide/drawer/drawer-container.directive.mjs +6 -6
- package/esm2022/slide/slide-container.component.mjs +12 -16
- package/esm2022/slide/slide-header/slide-header.component.mjs +13 -14
- package/esm2022/slide/slide-ref.service.mjs +1 -1
- package/esm2022/slide/slide.service.mjs +8 -12
- package/esm2022/slider/slider.component.mjs +8 -8
- package/esm2022/space/space.component.mjs +16 -16
- package/esm2022/statistic/statistic.component.mjs +23 -23
- package/esm2022/stepper/step.component.mjs +6 -11
- package/esm2022/stepper/stepper-button.directive.mjs +10 -11
- package/esm2022/stepper/stepper.component.mjs +5 -5
- package/esm2022/strength/strength.component.mjs +11 -12
- package/esm2022/switch/switch.component.mjs +11 -11
- package/esm2022/table/table-column.component.mjs +58 -63
- package/esm2022/table/table-skeleton.component.mjs +35 -38
- package/esm2022/table/table.component.mjs +19 -29
- package/esm2022/tabs/tab-content.component.mjs +9 -9
- package/esm2022/tabs/tabs.component.mjs +22 -25
- package/esm2022/tag/tag.component.mjs +22 -22
- package/esm2022/time-picker/inner/inner-time-picker.component.mjs +12 -12
- package/esm2022/time-picker/time-picker-panel.component.mjs +31 -34
- package/esm2022/time-picker/time-picker.component.mjs +33 -43
- package/esm2022/timeline/timeline-item.component.mjs +15 -16
- package/esm2022/timeline/timeline.component.mjs +15 -16
- package/esm2022/tooltip/tooltip.component.mjs +17 -17
- package/esm2022/tooltip/tooltip.directive.mjs +11 -10
- package/esm2022/tooltip/tooltip.service.mjs +9 -13
- package/esm2022/transfer/transfer-list.component.mjs +9 -9
- package/esm2022/transfer/transfer.component.mjs +4 -4
- package/esm2022/tree/tree-node.component.mjs +16 -20
- package/esm2022/tree/tree.component.mjs +90 -96
- package/esm2022/tree-select/tree-select.component.mjs +28 -36
- package/esm2022/typography/bg-color.directive.mjs +9 -9
- package/esm2022/typography/text/text.component.mjs +3 -4
- package/esm2022/typography/text-color.directive.mjs +9 -9
- package/esm2022/upload/file-drop.directive.mjs +1 -1
- package/esm2022/upload/file-select-base.mjs +5 -6
- package/esm2022/upload/file-select.component.mjs +4 -3
- package/esm2022/upload/upload.service.mjs +6 -7
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +4 -4
- package/esm2022/watermark/watermark.directive.mjs +12 -12
- package/fesm2022/ngx-tethys-action.mjs +20 -20
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +12 -14
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +54 -80
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +48 -35
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +25 -25
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +63 -75
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +32 -32
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +15 -18
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +8 -8
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +19 -21
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +16 -16
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +26 -26
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +3 -3
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +23 -24
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +19 -25
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +10 -11
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +20 -22
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +47 -45
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +3 -3
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-copy.mjs +8 -12
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +14 -16
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +2872 -2924
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +24 -26
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +61 -77
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +20 -12
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dot.mjs +6 -6
- package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
- package/fesm2022/ngx-tethys-drag-drop.mjs +33 -37
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +49 -43
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +18 -18
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +16 -17
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +74 -89
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-fullscreen.mjs +14 -17
- package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +20 -29
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +20 -26
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +18 -22
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +60 -65
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +5 -5
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +53 -60
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +129 -124
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +27 -27
- 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 +19 -24
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +56 -57
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +47 -41
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +61 -72
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +31 -34
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +46 -51
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +51 -57
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +15 -24
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +27 -27
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +14 -14
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +33 -39
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +9 -9
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +43 -34
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +3 -3
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +41 -44
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +28 -44
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +135 -150
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +33 -47
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +33 -37
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +7 -7
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +16 -16
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +22 -22
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +17 -22
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +11 -11
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +10 -10
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +107 -124
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +29 -32
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +21 -21
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +70 -80
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +26 -26
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +35 -36
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +10 -10
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +29 -37
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +102 -110
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +18 -18
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +11 -12
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +3 -3
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys-watermark.mjs +12 -12
- package/fesm2022/ngx-tethys-watermark.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 +1 -3
- package/form/form-group-error/form-group-error.component.d.ts +1 -3
- package/form/form-group-label.directive.d.ts +0 -2
- package/form/form-group.component.d.ts +1 -4
- package/form/form-submit.directive.d.ts +0 -2
- package/form/form-validator.service.d.ts +0 -2
- package/form/form.directive.d.ts +4 -4
- package/form/from-group-footer/form-group-footer.component.d.ts +2 -4
- package/form/validator/unique-validator.directive.d.ts +1 -4
- package/fullscreen/fullscreen.component.d.ts +0 -2
- package/fullscreen/fullscreen.service.d.ts +0 -2
- package/grid/thy-col.directive.d.ts +1 -2
- package/grid/thy-grid-item.component.d.ts +2 -4
- package/grid/thy-grid.component.d.ts +1 -3
- package/guider/guider.directive.d.ts +1 -3
- package/guider/guider.service.d.ts +0 -7
- package/icon/icon-registry.d.ts +1 -3
- package/icon/icon.component.d.ts +1 -3
- package/image/image-group.component.d.ts +1 -2
- package/image/image.directive.d.ts +1 -3
- package/image/image.service.d.ts +2 -2
- package/image/preview/image-preview.component.d.ts +1 -4
- package/input/input-count.component.d.ts +3 -4
- package/input/input-group.component.d.ts +1 -3
- package/input/input-search.component.d.ts +2 -2
- package/input/input.component.d.ts +1 -2
- package/input/input.directive.d.ts +2 -3
- package/input-number/input-number.component.d.ts +2 -2
- package/layout/sidebar.component.d.ts +44 -13
- package/list/selection/selection-list.d.ts +1 -2
- package/loading/loading.component.d.ts +0 -2
- package/loading/styles/loading.scss +3 -1
- package/mention/mention.directive.d.ts +4 -5
- package/mention/suggestions/suggestions.component.d.ts +2 -3
- package/menu/group/menu-group.component.d.ts +30 -8
- package/menu/item/action/menu-item-action.component.d.ts +2 -3
- package/menu/item/menu-item.component.d.ts +1 -2
- package/message/abstract/abstract-message-container.component.d.ts +1 -2
- package/message/abstract/abstract-message.component.d.ts +2 -2
- package/message/message-container.component.d.ts +1 -3
- package/message/message-queue.service.d.ts +1 -2
- package/message/message.component.d.ts +1 -3
- package/message/message.service.d.ts +3 -5
- package/nav/icon-nav/icon-nav.component.d.ts +2 -2
- package/nav/nav-ink-bar.directive.d.ts +2 -4
- package/nav/nav-item.directive.d.ts +3 -4
- package/nav/nav.component.d.ts +1 -3
- package/nav/nav.pipe.d.ts +0 -2
- package/notify/notify-container.component.d.ts +1 -3
- package/notify/notify-queue.service.d.ts +1 -2
- package/notify/notify.component.d.ts +2 -3
- package/notify/notify.service.d.ts +1 -4
- package/package.json +1 -1
- package/pagination/pagination.component.d.ts +2 -4
- package/pagination/pagination.pipe.d.ts +0 -2
- package/popover/header/popover-header.component.d.ts +0 -3
- package/popover/popover-container.component.d.ts +3 -4
- package/popover/popover.directive.d.ts +2 -5
- package/popover/popover.service.d.ts +4 -6
- package/progress/progress-circle.component.d.ts +0 -1
- package/progress/progress-strip.component.d.ts +0 -1
- package/progress/progress.component.d.ts +0 -1
- package/property/property-item.component.d.ts +6 -9
- package/property-operation/property-operation.component.d.ts +1 -3
- package/radio/button/radio-button.component.d.ts +2 -5
- package/radio/group/radio-group.component.d.ts +1 -2
- package/radio/radio.component.d.ts +2 -3
- package/rate/rate.component.d.ts +2 -2
- package/resizable/resizable.directive.d.ts +2 -4
- package/resizable/resizable.service.d.ts +2 -2
- package/resizable/resize-handle.component.d.ts +2 -7
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment-item.component.d.ts +4 -5
- package/segment/segment.component.d.ts +2 -7
- package/select/custom-select/custom-select.component.d.ts +5 -5
- package/select/native-select/native-select.component.d.ts +1 -1
- package/shared/base-form-check.component.d.ts +1 -1
- package/shared/directives/string-or-template-outlet.directive.d.ts +1 -2
- package/shared/directives/thy-autofocus.directive.d.ts +0 -2
- package/shared/directives/thy-contextmenu.directive.d.ts +1 -2
- package/shared/directives/thy-ctrl-enter.directive.d.ts +1 -2
- package/shared/directives/thy-enter.directive.d.ts +1 -2
- package/shared/directives/thy-scroll.directive.d.ts +1 -2
- package/shared/directives/thy-show.d.ts +1 -2
- package/shared/directives/thy-stop-propagation.directive.d.ts +2 -2
- package/shared/directives/view-outlet.directive.d.ts +1 -2
- package/shared/ng-transclude.directive.d.ts +1 -1
- package/shared/option/group/option-group.component.d.ts +1 -2
- package/shared/option/list-option/list-option.component.d.ts +6 -7
- package/shared/option/option.component.d.ts +5 -5
- package/shared/select/select-control/select-control.component.d.ts +1 -2
- package/skeleton/skeleton-circle.component.d.ts +1 -4
- package/skeleton/skeleton-rectangle.component.d.ts +5 -5
- package/skeleton/stylized/bullet-list.component.d.ts +9 -1
- package/slide/drawer/drawer-container.directive.d.ts +1 -2
- package/slide/slide-container.component.d.ts +3 -4
- package/slide/slide-header/slide-header.component.d.ts +0 -2
- package/slide/slide.service.d.ts +3 -3
- package/slider/slider.component.d.ts +2 -2
- package/space/space.component.d.ts +1 -2
- package/statistic/statistic.component.d.ts +1 -2
- package/stepper/step.component.d.ts +1 -2
- package/stepper/stepper-button.directive.d.ts +0 -3
- package/strength/strength.component.d.ts +0 -1
- package/switch/switch.component.d.ts +1 -1
- package/table/table-column.component.d.ts +32 -8
- package/table/table-skeleton.component.d.ts +1 -3
- package/table/table.component.d.ts +3 -5
- package/tabs/tabs.component.d.ts +1 -3
- package/tag/tag.component.d.ts +7 -3
- package/time-picker/inner/inner-time-picker.component.d.ts +2 -4
- package/time-picker/time-picker-panel.component.d.ts +1 -3
- package/time-picker/time-picker.component.d.ts +1 -2
- package/timeline/timeline-item.component.d.ts +1 -3
- package/timeline/timeline.component.d.ts +1 -3
- package/tooltip/tooltip.component.d.ts +1 -2
- package/tooltip/tooltip.directive.d.ts +6 -9
- package/tooltip/tooltip.service.d.ts +2 -4
- package/transfer/transfer-list.component.d.ts +1 -2
- package/tree/tree-node.component.d.ts +5 -21
- package/tree/tree.component.d.ts +1 -2
- package/tree-select/tree-select.component.d.ts +5 -6
- package/typography/bg-color.directive.d.ts +0 -2
- package/typography/text-color.directive.d.ts +1 -2
- package/upload/file-select-base.d.ts +2 -3
- package/upload/file-select.component.d.ts +1 -0
- package/upload/upload.service.d.ts +0 -2
- package/watermark/watermark.directive.d.ts +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-flexible-text.mjs","sources":["../../../src/flexible-text/flexible-text.component.ts","../../../src/flexible-text/flexible-text.component.html","../../../src/flexible-text/flexible-text.module.ts","../../../src/flexible-text/ngx-tethys-flexible-text.ts"],"sourcesContent":["import { ContentObserver } from '@angular/cdk/observers';\nimport { AfterContentInit, Component, ElementRef, Input, NgZone, OnDestroy, OnInit, TemplateRef, numberAttribute } from '@angular/core';\nimport { ThyPlacement } from 'ngx-tethys/core';\nimport { ThyTooltipDirective } from 'ngx-tethys/tooltip';\nimport { isUndefinedOrNull } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { from, Observable, Subject, Subscription } from 'rxjs';\nimport { debounceTime, take, takeUntil } from 'rxjs/operators';\n\n/**\n * 文本提示组件,支持组件 thy-flexible-text 和指令 [thyFlexibleText] 两种方式\n * @name thy-flexible-text,[thyFlexibleText]\n */\n@Component({\n selector: 'thy-flexible-text,[thyFlexibleText]',\n exportAs: 'thyFlexibleText',\n templateUrl: './flexible-text.component.html',\n hostDirectives: [ThyTooltipDirective],\n standalone: true\n})\nexport class ThyFlexibleText implements OnInit, AfterContentInit, OnDestroy {\n isOverflow = false;\n\n content: string | TemplateRef<HTMLElement>;\n\n placement: ThyPlacement;\n\n containerClass: string;\n\n subscription: Subscription | null = null;\n\n offset: number;\n\n /**\n * 触发提示方式\n * @type hover | focus | click\n * @default hover\n */\n @Input('thyTooltipTrigger') trigger: 'hover' | 'focus' | 'click';\n\n /**\n * 自定义class类,如果不设置默认会包含 `flexible-text-container`\n */\n @Input('thyContainerClass')\n set thyContainerClass(value: string) {\n this.containerClass = value;\n this.updateContainerClass();\n }\n\n get thyContainerClass(): string {\n return this.containerClass;\n }\n\n /**\n * 需要展示的全部内容\n * @type string | TemplateRef<HTMLElement>\n */\n @Input('thyTooltipContent') set thyContent(value: string | TemplateRef<HTMLElement>) {\n this.content = value;\n if (this.tooltipDirective) {\n this.tooltipDirective.content = this.content;\n }\n }\n\n /**\n * tooltip 的提示位置\n * @type top | bottom | left | right\n * @default top\n */\n @Input('thyTooltipPlacement') set thyPlacement(value: ThyPlacement) {\n this.placement = value;\n if (this.tooltipDirective) {\n this.tooltipDirective.placement = this.placement;\n }\n }\n\n /**\n * tooltip 偏移量\n */\n @Input({ alias: 'thyTooltipOffset', transform: numberAttribute }) set thyOffset(value: number) {\n this.offset = value;\n if (this.tooltipDirective) {\n this.tooltipDirective.tooltipOffset = this.offset;\n }\n }\n\n private destroy$ = new Subject<void>();\n\n private hostRenderer = useHostRenderer();\n\n constructor(\n private elementRef: ElementRef,\n private contentObserver: ContentObserver,\n private ngZone: NgZone,\n public tooltipDirective: ThyTooltipDirective\n ) {}\n\n static createResizeObserver(element: HTMLElement) {\n return new Observable(observer => {\n const resize = new ResizeObserver(entries => {\n observer.next(entries);\n });\n resize.observe(element);\n return () => {\n resize.disconnect();\n };\n });\n }\n\n ngOnInit() {\n this.updateContainerClass();\n if (this.placement) {\n this.tooltipDirective.placement = this.placement;\n }\n if (this.offset) {\n this.tooltipDirective.tooltipOffset = this.offset;\n }\n if (this.trigger) {\n this.tooltipDirective.trigger = this.trigger;\n }\n this.tooltipDirective.content = this.content;\n this.tooltipDirective.thyTooltipDisabled = true;\n }\n\n ngAfterContentInit() {\n // Note: the zone may be nooped through `BootstrapOptions` when bootstrapping the root module. This means\n // the `onStable` will never emit any value.\n const onStable$ = this.ngZone.isStable ? from(Promise.resolve()) : this.ngZone.onStable.pipe(take(1));\n // Normally this isn't in the zone, but it can cause performance regressions for apps\n // using `zone-patch-rxjs` because it'll trigger a change detection when it unsubscribes.\n this.ngZone.runOutsideAngular(() => {\n // Wait for the next time period to avoid blocking the js thread.\n onStable$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.contentObserver\n .observe(this.elementRef)\n .pipe(debounceTime(100), takeUntil(this.destroy$))\n .subscribe(() => {\n this.applyOverflow();\n });\n\n ThyFlexibleText.createResizeObserver(this.elementRef.nativeElement)\n .pipe(debounceTime(100), takeUntil(this.destroy$))\n .subscribe(() => {\n this.applyOverflow();\n });\n });\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.tooltipDirective.hide();\n }\n\n applyOverflow() {\n const nativeElement = this.elementRef.nativeElement;\n if (nativeElement.clientWidth < nativeElement.scrollWidth || nativeElement.clientHeight < nativeElement.scrollHeight) {\n this.isOverflow = true;\n } else {\n this.isOverflow = false;\n }\n this.tooltipDirective.thyTooltipDisabled = !this.isOverflow;\n }\n\n updateContainerClass() {\n const containerClass = isUndefinedOrNull(this.containerClass) ? 'flexible-text-container' : this.containerClass;\n const flexibleTextClass = {\n 'text-truncate': true,\n [containerClass]: containerClass !== ''\n };\n this.hostRenderer.updateClassByMap(flexibleTextClass);\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyFlexibleText } from './flexible-text.component';\nimport { ThyTooltipModule } from 'ngx-tethys/tooltip';\nimport { ObserversModule } from '@angular/cdk/observers';\n\n@NgModule({\n imports: [CommonModule, ThyTooltipModule, ObserversModule, ThyFlexibleText],\n exports: [ThyFlexibleText]\n})\nexport class ThyFlexibleTextModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-flexible-text.mjs","sources":["../../../src/flexible-text/flexible-text.component.ts","../../../src/flexible-text/flexible-text.component.html","../../../src/flexible-text/flexible-text.module.ts","../../../src/flexible-text/ngx-tethys-flexible-text.ts"],"sourcesContent":["import { ContentObserver } from '@angular/cdk/observers';\nimport {\n AfterContentInit,\n Component,\n ElementRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n TemplateRef,\n numberAttribute,\n inject\n} from '@angular/core';\nimport { ThyPlacement } from 'ngx-tethys/core';\nimport { ThyTooltipDirective } from 'ngx-tethys/tooltip';\nimport { isUndefinedOrNull } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { from, Observable, Subject, Subscription } from 'rxjs';\nimport { debounceTime, take, takeUntil } from 'rxjs/operators';\n\n/**\n * 文本提示组件,支持组件 thy-flexible-text 和指令 [thyFlexibleText] 两种方式\n * @name thy-flexible-text,[thyFlexibleText]\n */\n@Component({\n selector: 'thy-flexible-text,[thyFlexibleText]',\n exportAs: 'thyFlexibleText',\n templateUrl: './flexible-text.component.html',\n hostDirectives: [ThyTooltipDirective],\n standalone: true\n})\nexport class ThyFlexibleText implements OnInit, AfterContentInit, OnDestroy {\n private elementRef = inject(ElementRef);\n private contentObserver = inject(ContentObserver);\n private ngZone = inject(NgZone);\n tooltipDirective = inject(ThyTooltipDirective);\n\n isOverflow = false;\n\n content: string | TemplateRef<HTMLElement>;\n\n placement: ThyPlacement;\n\n containerClass: string;\n\n subscription: Subscription | null = null;\n\n offset: number;\n\n /**\n * 触发提示方式\n * @type hover | focus | click\n * @default hover\n */\n @Input('thyTooltipTrigger') trigger: 'hover' | 'focus' | 'click';\n\n /**\n * 自定义class类,如果不设置默认会包含 `flexible-text-container`\n */\n @Input('thyContainerClass')\n set thyContainerClass(value: string) {\n this.containerClass = value;\n this.updateContainerClass();\n }\n\n get thyContainerClass(): string {\n return this.containerClass;\n }\n\n /**\n * 需要展示的全部内容\n * @type string | TemplateRef<HTMLElement>\n */\n @Input('thyTooltipContent') set thyContent(value: string | TemplateRef<HTMLElement>) {\n this.content = value;\n if (this.tooltipDirective) {\n this.tooltipDirective.content = this.content;\n }\n }\n\n /**\n * tooltip 的提示位置\n * @type top | bottom | left | right\n * @default top\n */\n @Input('thyTooltipPlacement') set thyPlacement(value: ThyPlacement) {\n this.placement = value;\n if (this.tooltipDirective) {\n this.tooltipDirective.placement = this.placement;\n }\n }\n\n /**\n * tooltip 偏移量\n */\n @Input({ alias: 'thyTooltipOffset', transform: numberAttribute }) set thyOffset(value: number) {\n this.offset = value;\n if (this.tooltipDirective) {\n this.tooltipDirective.tooltipOffset = this.offset;\n }\n }\n\n private destroy$ = new Subject<void>();\n\n private hostRenderer = useHostRenderer();\n\n static createResizeObserver(element: HTMLElement) {\n return new Observable(observer => {\n const resize = new ResizeObserver(entries => {\n observer.next(entries);\n });\n resize.observe(element);\n return () => {\n resize.disconnect();\n };\n });\n }\n\n ngOnInit() {\n this.updateContainerClass();\n if (this.placement) {\n this.tooltipDirective.placement = this.placement;\n }\n if (this.offset) {\n this.tooltipDirective.tooltipOffset = this.offset;\n }\n if (this.trigger) {\n this.tooltipDirective.trigger = this.trigger;\n }\n this.tooltipDirective.content = this.content;\n this.tooltipDirective.thyTooltipDisabled = true;\n }\n\n ngAfterContentInit() {\n // Note: the zone may be nooped through `BootstrapOptions` when bootstrapping the root module. This means\n // the `onStable` will never emit any value.\n const onStable$ = this.ngZone.isStable ? from(Promise.resolve()) : this.ngZone.onStable.pipe(take(1));\n // Normally this isn't in the zone, but it can cause performance regressions for apps\n // using `zone-patch-rxjs` because it'll trigger a change detection when it unsubscribes.\n this.ngZone.runOutsideAngular(() => {\n // Wait for the next time period to avoid blocking the js thread.\n onStable$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.contentObserver\n .observe(this.elementRef)\n .pipe(debounceTime(100), takeUntil(this.destroy$))\n .subscribe(() => {\n this.applyOverflow();\n });\n\n ThyFlexibleText.createResizeObserver(this.elementRef.nativeElement)\n .pipe(debounceTime(100), takeUntil(this.destroy$))\n .subscribe(() => {\n this.applyOverflow();\n });\n });\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.tooltipDirective.hide();\n }\n\n applyOverflow() {\n const nativeElement = this.elementRef.nativeElement;\n if (nativeElement.clientWidth < nativeElement.scrollWidth || nativeElement.clientHeight < nativeElement.scrollHeight) {\n this.isOverflow = true;\n } else {\n this.isOverflow = false;\n }\n this.tooltipDirective.thyTooltipDisabled = !this.isOverflow;\n }\n\n updateContainerClass() {\n const containerClass = isUndefinedOrNull(this.containerClass) ? 'flexible-text-container' : this.containerClass;\n const flexibleTextClass = {\n 'text-truncate': true,\n [containerClass]: containerClass !== ''\n };\n this.hostRenderer.updateClassByMap(flexibleTextClass);\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyFlexibleText } from './flexible-text.component';\nimport { ThyTooltipModule } from 'ngx-tethys/tooltip';\nimport { ObserversModule } from '@angular/cdk/observers';\n\n@NgModule({\n imports: [CommonModule, ThyTooltipModule, ObserversModule, ThyFlexibleText],\n exports: [ThyFlexibleText]\n})\nexport class ThyFlexibleTextModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,17 +2,16 @@ import { ThyAlert, ThyAlertModule } from 'ngx-tethys/alert';
|
|
|
2
2
|
import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
|
|
3
3
|
import { ThyInputModule } from 'ngx-tethys/input';
|
|
4
4
|
import { ThyTooltipDirective, ThyTooltipModule } from 'ngx-tethys/tooltip';
|
|
5
|
-
import { NgClass,
|
|
5
|
+
import { NgClass, NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
6
6
|
import * as i0 from '@angular/core';
|
|
7
|
-
import { InjectionToken, Injectable, Optional, Inject, Directive, Input, HostBinding, ContentChildren, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChild, EventEmitter, Output, HostListener, forwardRef, NgModule } from '@angular/core';
|
|
8
|
-
import
|
|
9
|
-
import { NgForm, FormGroupDirective, NgControl, NG_ASYNC_VALIDATORS, Validators, NG_VALIDATORS, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
import { InjectionToken, Injectable, Optional, Inject, inject, ElementRef, Renderer2, NgZone, Directive, Input, HostBinding, ContentChildren, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChild, EventEmitter, Output, HostListener, forwardRef, NgModule } from '@angular/core';
|
|
8
|
+
import { NgForm, FormGroupDirective, ControlContainer, NgControl, NG_ASYNC_VALIDATORS, Validators, NG_VALIDATORS, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
10
9
|
import { helpers, isUndefinedOrNull, keycodes, coerceBooleanProperty as coerceBooleanProperty$1 } from 'ngx-tethys/util';
|
|
11
10
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
12
|
-
import {
|
|
11
|
+
import { Subject, of } from 'rxjs';
|
|
13
12
|
import { debounceTime, distinctUntilChanged, filter, switchMap, takeUntil, map, catchError } from 'rxjs/operators';
|
|
14
13
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
15
|
-
import
|
|
14
|
+
import { ThyTranslate } from 'ngx-tethys/core';
|
|
16
15
|
|
|
17
16
|
const THY_VALIDATOR_CONFIG = new InjectionToken('VALIDATION_CONFIG');
|
|
18
17
|
const THY_FORM_CONFIG = new InjectionToken('THY_FORM_CONFIG');
|
|
@@ -153,6 +152,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
153
152
|
* @private
|
|
154
153
|
*/
|
|
155
154
|
class ThyFormValidatorService {
|
|
155
|
+
constructor() {
|
|
156
|
+
this.thyFormValidateLoader = inject(ThyFormValidatorLoader);
|
|
157
|
+
this.errors = [];
|
|
158
|
+
this._controls = [];
|
|
159
|
+
// 记录所有元素的验证信息
|
|
160
|
+
this.validations = {};
|
|
161
|
+
this._destroy$ = new Subject();
|
|
162
|
+
}
|
|
156
163
|
_getElement(name) {
|
|
157
164
|
const element = this._formElement.elements[name];
|
|
158
165
|
if (element) {
|
|
@@ -278,14 +285,6 @@ class ThyFormValidatorService {
|
|
|
278
285
|
_getValidateOn() {
|
|
279
286
|
return (this._config && this._config.validateOn) || this.thyFormValidateLoader.validateOn;
|
|
280
287
|
}
|
|
281
|
-
constructor(thyFormValidateLoader) {
|
|
282
|
-
this.thyFormValidateLoader = thyFormValidateLoader;
|
|
283
|
-
this.errors = [];
|
|
284
|
-
this._controls = [];
|
|
285
|
-
// 记录所有元素的验证信息
|
|
286
|
-
this.validations = {};
|
|
287
|
-
this._destroy$ = new Subject();
|
|
288
|
-
}
|
|
289
288
|
initialize(ngForm, formElement) {
|
|
290
289
|
this._ngForm = ngForm;
|
|
291
290
|
this._formElement = formElement;
|
|
@@ -387,12 +386,12 @@ class ThyFormValidatorService {
|
|
|
387
386
|
ngOnDestroy() {
|
|
388
387
|
this._destroy$.next();
|
|
389
388
|
}
|
|
390
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormValidatorService, deps: [
|
|
389
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormValidatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
391
390
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormValidatorService }); }
|
|
392
391
|
}
|
|
393
392
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormValidatorService, decorators: [{
|
|
394
393
|
type: Injectable
|
|
395
|
-
}]
|
|
394
|
+
}] });
|
|
396
395
|
|
|
397
396
|
// 1. submit 按 Enter 键提交, Textare或包含[contenteditable]属性的元素 除外,需要按 Ctrl | Command + Enter 提交
|
|
398
397
|
// 2. alwaysSubmit 不管是哪个元素 按 Enter 键都提交
|
|
@@ -435,13 +434,13 @@ class ThyFormDirective {
|
|
|
435
434
|
set thyFormValidatorConfig(config) {
|
|
436
435
|
this.validator.setValidatorConfig(config);
|
|
437
436
|
}
|
|
438
|
-
constructor(
|
|
439
|
-
this.ngForm =
|
|
440
|
-
this.elementRef =
|
|
441
|
-
this.renderer =
|
|
442
|
-
this.ngZone =
|
|
443
|
-
this.validator =
|
|
444
|
-
this.config =
|
|
437
|
+
constructor() {
|
|
438
|
+
this.ngForm = inject(ControlContainer);
|
|
439
|
+
this.elementRef = inject(ElementRef);
|
|
440
|
+
this.renderer = inject(Renderer2);
|
|
441
|
+
this.ngZone = inject(NgZone);
|
|
442
|
+
this.validator = inject(ThyFormValidatorService);
|
|
443
|
+
this.config = inject(THY_FORM_CONFIG);
|
|
445
444
|
this.initialized = false;
|
|
446
445
|
this.hostRenderer = useHostRenderer();
|
|
447
446
|
this.wasValidated = false;
|
|
@@ -514,7 +513,7 @@ class ThyFormDirective {
|
|
|
514
513
|
this._unsubscribe = null;
|
|
515
514
|
}
|
|
516
515
|
}
|
|
517
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormDirective, deps: [
|
|
516
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
518
517
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyFormDirective, isStandalone: true, selector: "[thyForm],[thy-form]", inputs: { thyLayout: "thyLayout", thyEnterKeyMode: "thyEnterKeyMode", thyFormValidatorConfig: "thyFormValidatorConfig" }, host: { properties: { "class.was-validated": "this.wasValidated" }, classAttribute: "thy-form" }, providers: [ThyFormValidatorService], queries: [{ propertyName: "controls", predicate: NgControl, descendants: true }], exportAs: ["thyForm"], ngImport: i0 }); }
|
|
519
518
|
}
|
|
520
519
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormDirective, decorators: [{
|
|
@@ -528,10 +527,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
528
527
|
},
|
|
529
528
|
standalone: true
|
|
530
529
|
}]
|
|
531
|
-
}], ctorParameters: () => [
|
|
532
|
-
type: Inject,
|
|
533
|
-
args: [THY_FORM_CONFIG]
|
|
534
|
-
}] }], propDecorators: { thyLayout: [{
|
|
530
|
+
}], ctorParameters: () => [], propDecorators: { thyLayout: [{
|
|
535
531
|
type: Input
|
|
536
532
|
}], thyEnterKeyMode: [{
|
|
537
533
|
type: Input
|
|
@@ -552,6 +548,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
552
548
|
* @order 50
|
|
553
549
|
*/
|
|
554
550
|
class ThyFormGroupError {
|
|
551
|
+
constructor() {
|
|
552
|
+
this.thyParentForm = inject(ThyFormDirective, { optional: true });
|
|
553
|
+
this.thyShowFirst = true;
|
|
554
|
+
this.isHorizontal = true;
|
|
555
|
+
}
|
|
555
556
|
/**
|
|
556
557
|
* @type string[]
|
|
557
558
|
*/
|
|
@@ -565,25 +566,18 @@ class ThyFormGroupError {
|
|
|
565
566
|
get _isFormGroup() {
|
|
566
567
|
return this.thyErrors && this.thyErrors.length > 0;
|
|
567
568
|
}
|
|
568
|
-
constructor(thyParentForm) {
|
|
569
|
-
this.thyParentForm = thyParentForm;
|
|
570
|
-
this.thyShowFirst = true;
|
|
571
|
-
this.isHorizontal = true;
|
|
572
|
-
}
|
|
573
569
|
ngOnInit() {
|
|
574
570
|
if (this.thyParentForm) {
|
|
575
571
|
this.isHorizontal = this.thyParentForm.isHorizontal;
|
|
576
572
|
}
|
|
577
573
|
}
|
|
578
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroupError, deps: [
|
|
579
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
574
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroupError, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
575
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyFormGroupError, isStandalone: true, selector: "thy-form-group-error", inputs: { thyShowFirst: ["thyShowFirst", "thyShowFirst", coerceBooleanProperty$1], thyErrors: "thyErrors" }, host: { properties: { "class.form-group": "this._isFormGroup", "class.row": "this.isHorizontal" } }, ngImport: i0, template: "<div [ngClass]=\"{ 'col-sm-10 offset-sm-2 col-form-control': isHorizontal }\">\n @for (error of thyErrors; track $index) {\n <thy-alert thyType=\"danger\" [thyMessage]=\"error\"></thy-alert>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThyAlert, selector: "thy-alert", inputs: ["thyType", "thyTheme", "thyMessage", "thyIcon", "thyCloseable"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
580
576
|
}
|
|
581
577
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroupError, decorators: [{
|
|
582
578
|
type: Component,
|
|
583
|
-
args: [{ selector: 'thy-form-group-error', encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgClass,
|
|
584
|
-
}],
|
|
585
|
-
type: Optional
|
|
586
|
-
}] }], propDecorators: { thyShowFirst: [{
|
|
579
|
+
args: [{ selector: 'thy-form-group-error', encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgClass, ThyAlert], template: "<div [ngClass]=\"{ 'col-sm-10 offset-sm-2 col-form-control': isHorizontal }\">\n @for (error of thyErrors; track $index) {\n <thy-alert thyType=\"danger\" [thyMessage]=\"error\"></thy-alert>\n }\n</div>\n" }]
|
|
580
|
+
}], propDecorators: { thyShowFirst: [{
|
|
587
581
|
type: Input,
|
|
588
582
|
args: [{ transform: coerceBooleanProperty$1 }]
|
|
589
583
|
}], thyErrors: [{
|
|
@@ -601,6 +595,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
601
595
|
* @order 45
|
|
602
596
|
*/
|
|
603
597
|
class ThyFormGroupLabelDirective {
|
|
598
|
+
constructor() {
|
|
599
|
+
this.thyTranslate = inject(ThyTranslate);
|
|
600
|
+
this.labelRequired = false;
|
|
601
|
+
this._isFormGroupLabel = true;
|
|
602
|
+
}
|
|
604
603
|
set thyLabelText(value) {
|
|
605
604
|
this.labelText = value;
|
|
606
605
|
}
|
|
@@ -612,12 +611,7 @@ class ThyFormGroupLabelDirective {
|
|
|
612
611
|
set thyLabelRequired(value) {
|
|
613
612
|
this.labelRequired = value;
|
|
614
613
|
}
|
|
615
|
-
|
|
616
|
-
this.thyTranslate = thyTranslate;
|
|
617
|
-
this.labelRequired = false;
|
|
618
|
-
this._isFormGroupLabel = true;
|
|
619
|
-
}
|
|
620
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroupLabelDirective, deps: [{ token: i1$1.ThyTranslate }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
614
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroupLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
621
615
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: ThyFormGroupLabelDirective, isStandalone: true, selector: "[thyFormGroupLabel]", inputs: { thyLabelText: "thyLabelText", thyLabelTranslateKey: "thyLabelTranslateKey", thyLabelRequired: ["thyLabelRequired", "thyLabelRequired", coerceBooleanProperty$1] }, host: { properties: { "class.label-required": "this.labelRequired", "class.col-form-label": "this._isFormGroupLabel" } }, ngImport: i0 }); }
|
|
622
616
|
}
|
|
623
617
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroupLabelDirective, decorators: [{
|
|
@@ -626,7 +620,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
626
620
|
selector: '[thyFormGroupLabel]',
|
|
627
621
|
standalone: true
|
|
628
622
|
}]
|
|
629
|
-
}],
|
|
623
|
+
}], propDecorators: { labelRequired: [{
|
|
630
624
|
type: HostBinding,
|
|
631
625
|
args: ['class.label-required']
|
|
632
626
|
}], _isFormGroupLabel: [{
|
|
@@ -650,6 +644,17 @@ const internalIconMap = {
|
|
|
650
644
|
* @order 40
|
|
651
645
|
*/
|
|
652
646
|
class ThyFormGroup {
|
|
647
|
+
constructor() {
|
|
648
|
+
this.thyParentForm = inject(ThyFormDirective, { optional: true });
|
|
649
|
+
this.thyTranslate = inject(ThyTranslate);
|
|
650
|
+
this.labelRequired = false;
|
|
651
|
+
this.labelPaddingTopClear = false;
|
|
652
|
+
this.tipMode = 'default';
|
|
653
|
+
this._rowFill = false;
|
|
654
|
+
this._isFormGroup = true;
|
|
655
|
+
this.isHorizontal = true;
|
|
656
|
+
this.hasFeedback = false;
|
|
657
|
+
}
|
|
653
658
|
/**
|
|
654
659
|
* Label 文本
|
|
655
660
|
*/
|
|
@@ -717,29 +722,16 @@ class ThyFormGroup {
|
|
|
717
722
|
set thyRowFill(value) {
|
|
718
723
|
this._rowFill = value;
|
|
719
724
|
}
|
|
720
|
-
constructor(thyParentForm, thyTranslate) {
|
|
721
|
-
this.thyParentForm = thyParentForm;
|
|
722
|
-
this.thyTranslate = thyTranslate;
|
|
723
|
-
this.labelRequired = false;
|
|
724
|
-
this.labelPaddingTopClear = false;
|
|
725
|
-
this.tipMode = 'default';
|
|
726
|
-
this._rowFill = false;
|
|
727
|
-
this._isFormGroup = true;
|
|
728
|
-
this.isHorizontal = true;
|
|
729
|
-
this.hasFeedback = false;
|
|
730
|
-
}
|
|
731
725
|
ngOnInit() {
|
|
732
726
|
this.isHorizontal = this.thyParentForm ? this.thyParentForm.isHorizontal : true;
|
|
733
727
|
}
|
|
734
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroup, deps: [
|
|
735
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
728
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
729
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyFormGroup, isStandalone: true, selector: "thy-form-group", inputs: { thyLabelText: "thyLabelText", thyLabelTextTranslateKey: "thyLabelTextTranslateKey", thyLabelRequired: ["thyLabelRequired", "thyLabelRequired", coerceBooleanProperty$1], thyLabelPaddingTopClear: ["thyLabelPaddingTopClear", "thyLabelPaddingTopClear", coerceBooleanProperty$1], thyFeedbackIcon: "thyFeedbackIcon", thyTipsMode: "thyTipsMode", thyTips: "thyTips", thyTipsTranslateKey: "thyTipsTranslateKey", thyRowFill: ["thyRowFill", "thyRowFill", coerceBooleanProperty$1] }, host: { properties: { "class.row-fill": "this._rowFill", "class.form-group": "this._isFormGroup", "class.row": "this.isHorizontal", "class.has-feedback": "this.hasFeedback" } }, queries: [{ propertyName: "contentTemplateRef", first: true, predicate: ["formGroup"], descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "@if (contentTemplate || contentTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"contentTemplate || contentTemplateRef\"></ng-container>\n @if (feedbackSvgIconName) {\n <thy-icon class=\"form-control-feedback\" [thyIconName]=\"feedbackSvgIconName\"></thy-icon>\n } @else {\n @if (feedbackIcon) {\n <span class=\"form-control-feedback {{ feedbackIcon }}\"></span>\n }\n }\n} @else {\n @if (!(!isHorizontal && !labelText)) {\n <label\n class=\"form-label \"\n [ngClass]=\"{\n 'col-sm-2 col-form-label': isHorizontal,\n 'pt-0': labelPaddingTopClear\n }\"\n >\n <span\n [ngClass]=\"{\n 'label-required': labelRequired\n }\"\n >{{ labelText }}</span\n >\n @if (tipMode === 'label' && tips) {\n <thy-icon class=\"label-tips-icon\" thyIconName=\"question-circle\" [thyTooltip]=\"tips\"></thy-icon>\n }\n </label>\n }\n <div [ngClass]=\"{ 'col-sm-10 col-form-control': isHorizontal, 'position-relative': !isHorizontal }\">\n <ng-content></ng-content>\n @if (feedbackSvgIconName) {\n <thy-icon class=\"form-control-feedback\" [thyIconName]=\"feedbackSvgIconName\"></thy-icon>\n } @else {\n @if (feedbackIcon) {\n <span class=\"form-control-feedback {{ feedbackIcon }}\"></span>\n }\n }\n @if (tipMode === 'default' && tips) {\n <span class=\"form-text text-desc\">{{ tips }}</span>\n }\n </div>\n }\n\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
736
730
|
}
|
|
737
731
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroup, decorators: [{
|
|
738
732
|
type: Component,
|
|
739
|
-
args: [{ selector: 'thy-form-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
740
|
-
}],
|
|
741
|
-
type: Optional
|
|
742
|
-
}] }, { type: i1$1.ThyTranslate }], propDecorators: { _rowFill: [{
|
|
733
|
+
args: [{ selector: 'thy-form-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgTemplateOutlet, ThyIcon, NgClass, ThyTooltipDirective], template: "@if (contentTemplate || contentTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"contentTemplate || contentTemplateRef\"></ng-container>\n @if (feedbackSvgIconName) {\n <thy-icon class=\"form-control-feedback\" [thyIconName]=\"feedbackSvgIconName\"></thy-icon>\n } @else {\n @if (feedbackIcon) {\n <span class=\"form-control-feedback {{ feedbackIcon }}\"></span>\n }\n }\n} @else {\n @if (!(!isHorizontal && !labelText)) {\n <label\n class=\"form-label \"\n [ngClass]=\"{\n 'col-sm-2 col-form-label': isHorizontal,\n 'pt-0': labelPaddingTopClear\n }\"\n >\n <span\n [ngClass]=\"{\n 'label-required': labelRequired\n }\"\n >{{ labelText }}</span\n >\n @if (tipMode === 'label' && tips) {\n <thy-icon class=\"label-tips-icon\" thyIconName=\"question-circle\" [thyTooltip]=\"tips\"></thy-icon>\n }\n </label>\n }\n <div [ngClass]=\"{ 'col-sm-10 col-form-control': isHorizontal, 'position-relative': !isHorizontal }\">\n <ng-content></ng-content>\n @if (feedbackSvgIconName) {\n <thy-icon class=\"form-control-feedback\" [thyIconName]=\"feedbackSvgIconName\"></thy-icon>\n } @else {\n @if (feedbackIcon) {\n <span class=\"form-control-feedback {{ feedbackIcon }}\"></span>\n }\n }\n @if (tipMode === 'default' && tips) {\n <span class=\"form-text text-desc\">{{ tips }}</span>\n }\n </div>\n }\n\n" }]
|
|
734
|
+
}], propDecorators: { _rowFill: [{
|
|
743
735
|
type: HostBinding,
|
|
744
736
|
args: ['class.row-fill']
|
|
745
737
|
}], _isFormGroup: [{
|
|
@@ -786,8 +778,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
786
778
|
* @order 15
|
|
787
779
|
*/
|
|
788
780
|
class ThyFormSubmitDirective {
|
|
789
|
-
constructor(
|
|
790
|
-
this.thyFormDirective =
|
|
781
|
+
constructor() {
|
|
782
|
+
this.thyFormDirective = inject(ThyFormDirective);
|
|
791
783
|
/**
|
|
792
784
|
* Form 验证通过的提交函数
|
|
793
785
|
*/
|
|
@@ -801,7 +793,7 @@ class ThyFormSubmitDirective {
|
|
|
801
793
|
onSubmit($event) {
|
|
802
794
|
this.thyFormDirective.submit($event);
|
|
803
795
|
}
|
|
804
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormSubmitDirective, deps: [
|
|
796
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormSubmitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
805
797
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyFormSubmitDirective, isStandalone: true, selector: "[thyFormSubmit],[thy-form-submit]", outputs: { thyFormSubmit: "thyFormSubmit" }, host: { listeners: { "click": "onSubmit($event)" } }, ngImport: i0 }); }
|
|
806
798
|
}
|
|
807
799
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormSubmitDirective, decorators: [{
|
|
@@ -810,7 +802,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
810
802
|
selector: '[thyFormSubmit],[thy-form-submit]',
|
|
811
803
|
standalone: true
|
|
812
804
|
}]
|
|
813
|
-
}],
|
|
805
|
+
}], propDecorators: { thyFormSubmit: [{
|
|
814
806
|
type: Output
|
|
815
807
|
}], onSubmit: [{
|
|
816
808
|
type: HostListener,
|
|
@@ -823,16 +815,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
823
815
|
* @order 55
|
|
824
816
|
*/
|
|
825
817
|
class ThyFormGroupFooter {
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
constructor(thyParentForm, defaultConfig) {
|
|
830
|
-
this.thyParentForm = thyParentForm;
|
|
831
|
-
this.defaultConfig = defaultConfig;
|
|
818
|
+
constructor() {
|
|
819
|
+
this.thyParentForm = inject(ThyFormDirective, { optional: true });
|
|
820
|
+
this.defaultConfig = inject(THY_FORM_CONFIG);
|
|
832
821
|
this._isFormGroup = true;
|
|
833
822
|
this.isHorizontal = true;
|
|
834
823
|
this.footerClassMap = {};
|
|
835
824
|
}
|
|
825
|
+
get align() {
|
|
826
|
+
return !!this.thyAlign ? this.thyAlign : this.defaultConfig.footerAlign;
|
|
827
|
+
}
|
|
836
828
|
ngOnInit() {
|
|
837
829
|
if (this.thyParentForm) {
|
|
838
830
|
this.isHorizontal = this.thyParentForm.isHorizontal;
|
|
@@ -846,18 +838,13 @@ class ThyFormGroupFooter {
|
|
|
846
838
|
[`form-group-footer-align-${this.align}`]: true
|
|
847
839
|
};
|
|
848
840
|
}
|
|
849
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroupFooter, deps: [
|
|
850
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
841
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroupFooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
842
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyFormGroupFooter, isStandalone: true, selector: "thy-form-group-footer", inputs: { thyAlign: "thyAlign" }, host: { properties: { "class.form-group": "this._isFormGroup", "class.row": "this.isHorizontal" } }, queries: [{ propertyName: "description", first: true, predicate: ["description"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"footerClassMap\">\n <div class=\"btn-pair form-footer-actions\">\n <ng-content></ng-content>\n </div>\n\n @if (description) {\n <div class=\"form-footer-description\">\n <ng-container [ngTemplateOutlet]=\"description\"></ng-container>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
851
843
|
}
|
|
852
844
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroupFooter, decorators: [{
|
|
853
845
|
type: Component,
|
|
854
|
-
args: [{ selector: 'thy-form-group-footer', encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgClass,
|
|
855
|
-
}],
|
|
856
|
-
type: Optional
|
|
857
|
-
}] }, { type: undefined, decorators: [{
|
|
858
|
-
type: Inject,
|
|
859
|
-
args: [THY_FORM_CONFIG]
|
|
860
|
-
}] }], propDecorators: { _isFormGroup: [{
|
|
846
|
+
args: [{ selector: 'thy-form-group-footer', encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgClass, NgTemplateOutlet], template: "<div [ngClass]=\"footerClassMap\">\n <div class=\"btn-pair form-footer-actions\">\n <ng-content></ng-content>\n </div>\n\n @if (description) {\n <div class=\"form-footer-description\">\n <ng-container [ngTemplateOutlet]=\"description\"></ng-container>\n </div>\n }\n</div>\n" }]
|
|
847
|
+
}], propDecorators: { _isFormGroup: [{
|
|
861
848
|
type: HostBinding,
|
|
862
849
|
args: ['class.form-group']
|
|
863
850
|
}], isHorizontal: [{
|
|
@@ -876,9 +863,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
876
863
|
* @order 20
|
|
877
864
|
*/
|
|
878
865
|
class ThyUniqueCheckValidator {
|
|
879
|
-
constructor(
|
|
880
|
-
this.elementRef =
|
|
881
|
-
this.thyForm =
|
|
866
|
+
constructor() {
|
|
867
|
+
this.elementRef = inject(ElementRef);
|
|
868
|
+
this.thyForm = inject(ThyFormDirective, { optional: true });
|
|
882
869
|
}
|
|
883
870
|
validate(ctrl) {
|
|
884
871
|
return this.thyUniqueCheck(ctrl.value).pipe(map((failed) => {
|
|
@@ -890,7 +877,7 @@ class ThyUniqueCheckValidator {
|
|
|
890
877
|
return failed ? { thyUniqueCheck: failed } : null;
|
|
891
878
|
}), catchError(() => of(null)));
|
|
892
879
|
}
|
|
893
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyUniqueCheckValidator, deps: [
|
|
880
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyUniqueCheckValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
894
881
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyUniqueCheckValidator, isStandalone: true, selector: "[thyUniqueCheck]", inputs: { thyUniqueCheck: "thyUniqueCheck" }, providers: [
|
|
895
882
|
{
|
|
896
883
|
provide: NG_ASYNC_VALIDATORS,
|
|
@@ -912,9 +899,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
912
899
|
],
|
|
913
900
|
standalone: true
|
|
914
901
|
}]
|
|
915
|
-
}],
|
|
916
|
-
type: Optional
|
|
917
|
-
}] }], propDecorators: { thyUniqueCheck: [{
|
|
902
|
+
}], propDecorators: { thyUniqueCheck: [{
|
|
918
903
|
type: Input
|
|
919
904
|
}] } });
|
|
920
905
|
|