@ng-nest/ui 17.0.0 → 17.0.2
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/affix/affix.component.d.ts +1 -2
- package/affix/affix.module.d.ts +1 -3
- package/alert/alert.component.d.ts +4 -5
- package/alert/alert.module.d.ts +1 -8
- package/anchor/anchor-inner.component.d.ts +1 -1
- package/anchor/anchor.component.d.ts +6 -7
- package/anchor/anchor.module.d.ts +2 -6
- package/api/api.component.d.ts +4 -4
- package/api/api.module.d.ts +1 -2
- package/auto-complete/auto-complete-portal.component.d.ts +3 -5
- package/auto-complete/auto-complete.component.d.ts +12 -13
- package/auto-complete/auto-complete.module.d.ts +1 -9
- package/avatar/avatar-group.component.d.ts +1 -2
- package/avatar/avatar.component.d.ts +6 -7
- package/avatar/avatar.module.d.ts +2 -6
- package/back-top/back-top.component.d.ts +7 -12
- package/back-top/back-top.module.d.ts +1 -5
- package/badge/badge.component.d.ts +3 -8
- package/badge/badge.module.d.ts +1 -3
- package/base-form/base-form.component.d.ts +1 -1
- package/base-form/base-form.module.d.ts +1 -2
- package/border/border.component.d.ts +4 -4
- package/border/border.module.d.ts +1 -1
- package/button/button.component.d.ts +8 -10
- package/button/button.module.d.ts +1 -5
- package/button/buttons.component.d.ts +4 -5
- package/calendar/calendar.component.d.ts +9 -13
- package/calendar/calendar.module.d.ts +1 -10
- package/card/card.component.d.ts +2 -6
- package/card/card.module.d.ts +1 -5
- package/carousel/carousel-panel.component.d.ts +10 -13
- package/carousel/carousel.component.d.ts +4 -7
- package/carousel/carousel.module.d.ts +1 -5
- package/cascade/cascade-portal.component.d.ts +4 -5
- package/cascade/cascade.component.d.ts +14 -13
- package/cascade/cascade.module.d.ts +1 -9
- package/checkbox/checkbox.component.d.ts +6 -8
- package/checkbox/checkbox.module.d.ts +1 -8
- package/collapse/collapse-panel.component.d.ts +5 -8
- package/collapse/collapse.component.d.ts +3 -7
- package/collapse/collapse.module.d.ts +1 -5
- package/color/color.component.d.ts +4 -5
- package/color/color.module.d.ts +1 -3
- package/color-picker/color-picker-portal.component.d.ts +7 -11
- package/color-picker/color-picker.component.d.ts +11 -12
- package/color-picker/color-picker.module.d.ts +1 -11
- package/comment/comment-reply.component.d.ts +4 -9
- package/comment/comment.component.d.ts +5 -9
- package/comment/comment.module.d.ts +1 -11
- package/container/aside.component.d.ts +5 -5
- package/container/container.component.d.ts +2 -3
- package/container/container.module.d.ts +1 -3
- package/container/footer.component.d.ts +5 -7
- package/container/header.component.d.ts +5 -7
- package/container/main.component.d.ts +4 -4
- package/crumb/crumb.component.d.ts +4 -5
- package/crumb/crumb.module.d.ts +1 -5
- package/date-picker/date-picker-portal.component.d.ts +5 -9
- package/date-picker/date-picker.component.d.ts +14 -16
- package/date-picker/date-picker.module.d.ts +2 -21
- package/date-picker/date-quarter.pipe.d.ts +1 -1
- package/date-picker/date-range-portal.component.d.ts +1 -1
- package/date-picker/date-range.component.d.ts +16 -18
- package/date-picker/picker-date.component.d.ts +8 -11
- package/date-picker/picker-month.component.d.ts +8 -11
- package/date-picker/picker-quarter.component.d.ts +9 -14
- package/date-picker/picker-year.component.d.ts +5 -8
- package/description/description-item.component.d.ts +1 -2
- package/description/description.component.d.ts +4 -5
- package/description/description.module.d.ts +2 -5
- package/dialog/dialog-container.component.d.ts +1 -2
- package/dialog/dialog-portal.component.d.ts +1 -1
- package/dialog/dialog-portal.directives.d.ts +13 -17
- package/dialog/dialog.component.d.ts +15 -17
- package/dialog/dialog.module.d.ts +1 -14
- package/dialog/dialog.service.d.ts +8 -10
- package/doc/doc.component.d.ts +6 -6
- package/doc/doc.module.d.ts +1 -2
- package/drag/drag.directive.d.ts +5 -6
- package/drag/drag.module.d.ts +1 -2
- package/drawer/drawer-container.component.d.ts +1 -2
- package/drawer/drawer-portal.component.d.ts +1 -2
- package/drawer/drawer-portal.directives.d.ts +5 -6
- package/drawer/drawer.component.d.ts +10 -15
- package/drawer/drawer.module.d.ts +2 -8
- package/drawer/drawer.service.d.ts +5 -7
- package/dropdown/dropdown-portal.component.d.ts +1 -1
- package/dropdown/dropdown.component.d.ts +10 -13
- package/dropdown/dropdown.module.d.ts +1 -7
- package/empty/empty.component.d.ts +4 -7
- package/empty/empty.module.d.ts +1 -6
- package/esm2022/affix/affix.component.mjs +10 -10
- package/esm2022/affix/affix.module.mjs +4 -7
- package/esm2022/alert/alert.component.mjs +26 -18
- package/esm2022/alert/alert.module.mjs +4 -12
- package/esm2022/alert/alert.property.mjs +1 -1
- package/esm2022/anchor/anchor-inner.component.mjs +3 -2
- package/esm2022/anchor/anchor.component.mjs +21 -21
- package/esm2022/anchor/anchor.module.mjs +4 -9
- package/esm2022/anchor/anchor.property.mjs +1 -1
- package/esm2022/api/api.component.mjs +13 -11
- package/esm2022/api/api.module.mjs +4 -6
- package/esm2022/auto-complete/auto-complete-portal.component.mjs +14 -15
- package/esm2022/auto-complete/auto-complete.component.mjs +43 -30
- package/esm2022/auto-complete/auto-complete.module.mjs +5 -14
- package/esm2022/avatar/avatar-group.component.mjs +6 -6
- package/esm2022/avatar/avatar.component.mjs +17 -18
- package/esm2022/avatar/avatar.module.mjs +4 -9
- package/esm2022/avatar/avatar.property.mjs +1 -1
- package/esm2022/back-top/back-top.component.mjs +25 -29
- package/esm2022/back-top/back-top.module.mjs +4 -9
- package/esm2022/badge/badge.component.mjs +18 -22
- package/esm2022/badge/badge.module.mjs +4 -7
- package/esm2022/base-form/base-form.component.mjs +9 -4
- package/esm2022/base-form/base-form.module.mjs +4 -5
- package/esm2022/base-form/base-form.property.mjs +1 -1
- package/esm2022/border/border.component.mjs +13 -11
- package/esm2022/border/border.module.mjs +3 -3
- package/esm2022/button/button.component.mjs +19 -23
- package/esm2022/button/button.module.mjs +4 -9
- package/esm2022/button/button.property.mjs +1 -1
- package/esm2022/button/buttons.component.mjs +15 -14
- package/esm2022/calendar/calendar.component.mjs +35 -25
- package/esm2022/calendar/calendar.module.mjs +4 -14
- package/esm2022/card/card.component.mjs +14 -16
- package/esm2022/card/card.module.mjs +4 -9
- package/esm2022/carousel/carousel-panel.component.mjs +37 -33
- package/esm2022/carousel/carousel.component.mjs +19 -22
- package/esm2022/carousel/carousel.module.mjs +5 -10
- package/esm2022/carousel/carousel.property.mjs +1 -1
- package/esm2022/cascade/cascade-portal.component.mjs +19 -17
- package/esm2022/cascade/cascade.component.mjs +37 -30
- package/esm2022/cascade/cascade.module.mjs +5 -14
- package/esm2022/checkbox/checkbox.component.mjs +31 -23
- package/esm2022/checkbox/checkbox.module.mjs +4 -12
- package/esm2022/collapse/collapse-panel.component.mjs +19 -20
- package/esm2022/collapse/collapse.component.mjs +11 -14
- package/esm2022/collapse/collapse.module.mjs +4 -9
- package/esm2022/color/color.component.mjs +15 -16
- package/esm2022/color/color.module.mjs +4 -7
- package/esm2022/color-picker/color-picker-portal.component.mjs +53 -35
- package/esm2022/color-picker/color-picker.component.mjs +36 -35
- package/esm2022/color-picker/color-picker.module.mjs +5 -42
- package/esm2022/comment/comment-reply.component.mjs +18 -18
- package/esm2022/comment/comment.component.mjs +32 -24
- package/esm2022/comment/comment.module.mjs +4 -41
- package/esm2022/comment/comment.property.mjs +1 -1
- package/esm2022/container/aside.component.mjs +15 -12
- package/esm2022/container/container.component.mjs +14 -13
- package/esm2022/container/container.module.mjs +5 -35
- package/esm2022/container/footer.component.mjs +17 -20
- package/esm2022/container/header.component.mjs +17 -20
- package/esm2022/container/main.component.mjs +14 -11
- package/esm2022/core/config/config.service.mjs +8 -3
- package/esm2022/core/services/preloading-strategy.service.mjs +4 -3
- package/esm2022/crumb/crumb.component.mjs +15 -15
- package/esm2022/crumb/crumb.module.mjs +4 -9
- package/esm2022/date-picker/date-picker-portal.component.mjs +36 -27
- package/esm2022/date-picker/date-picker.component.mjs +51 -46
- package/esm2022/date-picker/date-picker.module.mjs +5 -106
- package/esm2022/date-picker/date-quarter.pipe.mjs +3 -3
- package/esm2022/date-picker/date-range-portal.component.mjs +22 -11
- package/esm2022/date-picker/date-range.component.mjs +53 -51
- package/esm2022/date-picker/picker-date.component.mjs +44 -38
- package/esm2022/date-picker/picker-month.component.mjs +30 -28
- package/esm2022/date-picker/picker-quarter.component.mjs +30 -30
- package/esm2022/date-picker/picker-year.component.mjs +25 -23
- package/esm2022/description/description-item.component.mjs +7 -9
- package/esm2022/description/description.component.mjs +13 -13
- package/esm2022/description/description.module.mjs +4 -8
- package/esm2022/dialog/dialog-container.component.mjs +8 -7
- package/esm2022/dialog/dialog-portal.component.mjs +27 -11
- package/esm2022/dialog/dialog-portal.directives.mjs +39 -39
- package/esm2022/dialog/dialog-ref.mjs +1 -1
- package/esm2022/dialog/dialog.component.mjs +40 -47
- package/esm2022/dialog/dialog.module.mjs +11 -69
- package/esm2022/dialog/dialog.service.mjs +15 -16
- package/esm2022/doc/doc.component.mjs +12 -9
- package/esm2022/doc/doc.module.mjs +4 -6
- package/esm2022/drag/drag.directive.mjs +10 -10
- package/esm2022/drag/drag.module.mjs +4 -6
- package/esm2022/drawer/drawer-container.component.mjs +8 -7
- package/esm2022/drawer/drawer-portal.component.mjs +12 -11
- package/esm2022/drawer/drawer-portal.directives.mjs +17 -16
- package/esm2022/drawer/drawer.component.mjs +23 -32
- package/esm2022/drawer/drawer.module.mjs +9 -25
- package/esm2022/drawer/drawer.service.mjs +14 -14
- package/esm2022/dropdown/dropdown-portal.component.mjs +7 -5
- package/esm2022/dropdown/dropdown.component.mjs +31 -24
- package/esm2022/dropdown/dropdown.module.mjs +5 -12
- package/esm2022/empty/empty.component.mjs +21 -17
- package/esm2022/empty/empty.module.mjs +4 -10
- package/esm2022/examples/examples.component.mjs +12 -9
- package/esm2022/examples/examples.module.mjs +4 -6
- package/esm2022/find/find.component.mjs +48 -29
- package/esm2022/find/find.module.mjs +4 -52
- package/esm2022/form/control.component.mjs +69 -39
- package/esm2022/form/form.component.mjs +27 -18
- package/esm2022/form/form.module.mjs +4 -69
- package/esm2022/highlight/highlight.component.mjs +26 -23
- package/esm2022/highlight/highlight.module.mjs +4 -8
- package/esm2022/i18n/i18n.directive.mjs +13 -10
- package/esm2022/i18n/i18n.module.mjs +3 -3
- package/esm2022/i18n/i18n.pipe.mjs +4 -3
- package/esm2022/i18n/i18n.service.mjs +7 -11
- package/esm2022/icon/icon.component.mjs +20 -21
- package/esm2022/icon/icon.module.mjs +4 -9
- package/esm2022/icon/icon.property.mjs +1 -1
- package/esm2022/icon/icon.service.mjs +35 -34
- package/esm2022/image/image-group.component.mjs +4 -3
- package/esm2022/image/image-preview.component.mjs +26 -31
- package/esm2022/image/image.component.mjs +30 -29
- package/esm2022/image/image.module.mjs +4 -13
- package/esm2022/inner/inner.component.mjs +14 -13
- package/esm2022/inner/inner.module.mjs +4 -7
- package/esm2022/input/input-group.component.mjs +12 -13
- package/esm2022/input/input.component.mjs +33 -34
- package/esm2022/input/input.module.mjs +4 -11
- package/esm2022/input-number/input-number.component.mjs +23 -26
- package/esm2022/input-number/input-number.module.mjs +4 -11
- package/esm2022/keyword/keyword.directive.mjs +13 -13
- package/esm2022/keyword/keyword.module.mjs +4 -7
- package/esm2022/keyword/keyword.property.mjs +3 -3
- package/esm2022/layout/col.component.mjs +14 -18
- package/esm2022/layout/layout.module.mjs +4 -7
- package/esm2022/layout/layout.property.mjs +1 -1
- package/esm2022/layout/row.component.mjs +12 -12
- package/esm2022/link/link.component.mjs +17 -18
- package/esm2022/link/link.module.mjs +4 -10
- package/esm2022/list/list-drop-group.directive.mjs +3 -2
- package/esm2022/list/list-option.component.mjs +16 -16
- package/esm2022/list/list.component.mjs +38 -32
- package/esm2022/list/list.module.mjs +4 -52
- package/esm2022/loading/loading.component.mjs +19 -21
- package/esm2022/loading/loading.module.mjs +4 -10
- package/esm2022/menu/menu-node.component.mjs +17 -17
- package/esm2022/menu/menu.component.mjs +21 -23
- package/esm2022/menu/menu.module.mjs +4 -11
- package/esm2022/message/message.component.mjs +10 -11
- package/esm2022/message/message.module.mjs +5 -12
- package/esm2022/message/message.service.mjs +12 -12
- package/esm2022/message-box/message-box.component.mjs +20 -8
- package/esm2022/message-box/message-box.module.mjs +5 -47
- package/esm2022/message-box/message-box.service.mjs +12 -11
- package/esm2022/notification/notification.component.mjs +10 -11
- package/esm2022/notification/notification.module.mjs +5 -12
- package/esm2022/notification/notification.service.mjs +14 -10
- package/esm2022/outlet/outlet.directive.mjs +9 -9
- package/esm2022/outlet/outlet.module.mjs +4 -6
- package/esm2022/page-header/page-header.component.mjs +19 -18
- package/esm2022/page-header/page-header.module.mjs +4 -8
- package/esm2022/pagination/pagination.component.mjs +39 -29
- package/esm2022/pagination/pagination.module.mjs +4 -13
- package/esm2022/pattern/pattern.component.mjs +12 -9
- package/esm2022/pattern/pattern.module.mjs +4 -6
- package/esm2022/popconfirm/popconfirm.component.mjs +24 -25
- package/esm2022/popconfirm/popconfirm.module.mjs +4 -11
- package/esm2022/popover/popover-portal.component.mjs +15 -14
- package/esm2022/popover/popover.directive.mjs +16 -18
- package/esm2022/popover/popover.module.mjs +5 -11
- package/esm2022/portal/portal.module.mjs +6 -9
- package/esm2022/portal/portal.service.mjs +12 -11
- package/esm2022/progress/progress.component.mjs +16 -18
- package/esm2022/progress/progress.module.mjs +4 -9
- package/esm2022/radio/radio.component.mjs +21 -21
- package/esm2022/radio/radio.module.mjs +4 -12
- package/esm2022/rate/rate.component.mjs +22 -21
- package/esm2022/rate/rate.module.mjs +4 -11
- package/esm2022/resizable/resizable.directive.mjs +56 -45
- package/esm2022/resizable/resizable.module.mjs +5 -7
- package/esm2022/resizable/resizable.property.mjs +3 -3
- package/esm2022/result/result.component.mjs +15 -18
- package/esm2022/result/result.module.mjs +4 -9
- package/esm2022/ripple/ripple.directive.mjs +11 -10
- package/esm2022/ripple/ripple.module.mjs +5 -8
- package/esm2022/select/select-portal.component.mjs +6 -4
- package/esm2022/select/select.component.mjs +52 -50
- package/esm2022/select/select.module.mjs +5 -46
- package/esm2022/skeleton/skeleton.component.mjs +14 -16
- package/esm2022/skeleton/skeleton.module.mjs +4 -8
- package/esm2022/slider/slider.component.mjs +38 -35
- package/esm2022/slider/slider.module.mjs +5 -11
- package/esm2022/slider-select/slider-select.component.mjs +45 -37
- package/esm2022/slider-select/slider-select.module.mjs +4 -36
- package/esm2022/statistic/countdown.component.mjs +14 -15
- package/esm2022/statistic/statistic.component.mjs +13 -13
- package/esm2022/statistic/statistic.module.mjs +4 -9
- package/esm2022/steps/steps.component.mjs +17 -18
- package/esm2022/steps/steps.module.mjs +4 -9
- package/esm2022/switch/switch.component.mjs +18 -17
- package/esm2022/switch/switch.module.mjs +4 -11
- package/esm2022/table/table-body.component.mjs +19 -9
- package/esm2022/table/table-foot.component.mjs +12 -15
- package/esm2022/table/table-head.component.mjs +33 -27
- package/esm2022/table/table.component.mjs +20 -10
- package/esm2022/table/table.module.mjs +4 -69
- package/esm2022/tabs/tab-content.component.mjs +12 -9
- package/esm2022/tabs/tab-link.directive.mjs +7 -5
- package/esm2022/tabs/tab.component.mjs +11 -10
- package/esm2022/tabs/tabs.component.mjs +28 -26
- package/esm2022/tabs/tabs.module.mjs +5 -26
- package/esm2022/tag/tag.component.mjs +16 -19
- package/esm2022/tag/tag.module.mjs +4 -9
- package/esm2022/text-retract/text-retract.component.mjs +17 -18
- package/esm2022/text-retract/text-retract.module.mjs +4 -10
- package/esm2022/textarea/textarea.component.mjs +24 -24
- package/esm2022/textarea/textarea.module.mjs +4 -10
- package/esm2022/theme/theme.component.mjs +44 -30
- package/esm2022/theme/theme.module.mjs +4 -40
- package/esm2022/time-ago/time-ago.module.mjs +4 -6
- package/esm2022/time-ago/time-ago.pipe.mjs +20 -20
- package/esm2022/time-picker/time-picker-frame.component.mjs +31 -29
- package/esm2022/time-picker/time-picker-portal.component.mjs +19 -19
- package/esm2022/time-picker/time-picker.component.mjs +39 -40
- package/esm2022/time-picker/time-picker.module.mjs +5 -46
- package/esm2022/time-range/time-range.module.mjs +4 -4
- package/esm2022/time-range/time-range.pipe.mjs +3 -3
- package/esm2022/timeline/timeline.component.mjs +17 -19
- package/esm2022/timeline/timeline.module.mjs +4 -11
- package/esm2022/tooltip/tooltip-portal.component.mjs +15 -14
- package/esm2022/tooltip/tooltip.directive.mjs +15 -18
- package/esm2022/tooltip/tooltip.module.mjs +5 -11
- package/esm2022/transfer/transfer.component.mjs +68 -54
- package/esm2022/transfer/transfer.module.mjs +4 -57
- package/esm2022/tree/tree-node.component.mjs +36 -29
- package/esm2022/tree/tree.component.mjs +10 -12
- package/esm2022/tree/tree.module.mjs +4 -41
- package/esm2022/tree/tree.service.mjs +4 -3
- package/esm2022/tree-file/tree-file.component.mjs +34 -30
- package/esm2022/tree-file/tree-file.module.mjs +4 -13
- package/esm2022/tree-select/tree-select-portal.component.mjs +25 -25
- package/esm2022/tree-select/tree-select.component.mjs +53 -51
- package/esm2022/tree-select/tree-select.module.mjs +6 -54
- package/esm2022/typography/typography.component.mjs +11 -11
- package/esm2022/typography/typography.module.mjs +4 -7
- package/esm2022/upload/upload-portal.component.mjs +11 -12
- package/esm2022/upload/upload.component.mjs +42 -39
- package/esm2022/upload/upload.module.mjs +4 -53
- package/examples/examples.component.d.ts +6 -6
- package/examples/examples.module.d.ts +1 -2
- package/fesm2022/ng-nest-ui-affix.mjs +12 -15
- package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-alert.mjs +26 -25
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +24 -26
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +15 -15
- package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +58 -50
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-avatar.mjs +23 -27
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +26 -33
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-badge.mjs +20 -26
- package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +11 -6
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-border.mjs +14 -12
- package/fesm2022/ng-nest-ui-border.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-button.mjs +30 -38
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +35 -33
- package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-card.mjs +15 -21
- package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-carousel.mjs +52 -54
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +54 -51
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +32 -30
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-collapse.mjs +27 -36
- package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +84 -98
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +16 -18
- package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-comment.mjs +43 -72
- package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-container.mjs +61 -94
- package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +10 -4
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-crumb.mjs +16 -20
- package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +247 -293
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +19 -25
- package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dialog.mjs +180 -223
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +13 -12
- package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drag.mjs +13 -14
- package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drawer.mjs +114 -133
- package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +39 -33
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-empty.mjs +21 -24
- package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-examples.mjs +13 -12
- package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-find.mjs +49 -76
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +88 -112
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +28 -27
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +21 -21
- package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +55 -57
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +50 -61
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +15 -17
- package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +25 -31
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +41 -49
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +17 -19
- package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-layout.mjs +25 -31
- package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-link.mjs +18 -24
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +51 -86
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +20 -27
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +33 -41
- package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message-box.mjs +33 -58
- package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message.mjs +22 -28
- package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-notification.mjs +24 -26
- package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-outlet.mjs +11 -13
- package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-page-header.mjs +20 -23
- package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +39 -37
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pattern.mjs +13 -12
- package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popconfirm.mjs +25 -33
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popover.mjs +31 -35
- package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-portal.mjs +25 -25
- package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-progress.mjs +16 -22
- package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +22 -28
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +23 -27
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-resizable.mjs +62 -52
- package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-result.mjs +16 -23
- package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-ripple.mjs +14 -15
- package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +59 -92
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +15 -20
- package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +46 -66
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider.mjs +40 -42
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +25 -30
- package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-steps.mjs +18 -23
- package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +19 -23
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +86 -128
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +52 -63
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tag.mjs +17 -24
- package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-text-retract.mjs +17 -23
- package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +25 -29
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +45 -64
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-ago.mjs +21 -23
- package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-picker.mjs +82 -119
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +5 -5
- package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-timeline.mjs +18 -26
- package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tooltip.mjs +30 -35
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +68 -104
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-file.mjs +35 -39
- package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +77 -119
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +48 -76
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-typography.mjs +13 -15
- package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-upload.mjs +51 -95
- package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
- package/find/find.component.d.ts +6 -7
- package/find/find.module.d.ts +1 -13
- package/form/control.component.d.ts +6 -7
- package/form/form.component.d.ts +4 -6
- package/form/form.module.d.ts +1 -24
- package/highlight/highlight.component.d.ts +12 -10
- package/highlight/highlight.module.d.ts +1 -4
- package/i18n/i18n.directive.d.ts +6 -7
- package/i18n/i18n.module.d.ts +1 -1
- package/i18n/i18n.pipe.d.ts +1 -1
- package/i18n/i18n.service.d.ts +3 -2
- package/icon/icon.component.d.ts +7 -9
- package/icon/icon.module.d.ts +1 -3
- package/icon/icon.property.d.ts +1 -1
- package/icon/icon.service.d.ts +6 -7
- package/image/image-group.component.d.ts +1 -1
- package/image/image-preview.component.d.ts +5 -10
- package/image/image.component.d.ts +9 -14
- package/image/image.module.d.ts +3 -11
- package/inner/inner.component.d.ts +2 -3
- package/inner/inner.module.d.ts +1 -3
- package/input/input-group.component.d.ts +3 -6
- package/input/input.component.d.ts +8 -10
- package/input/input.module.d.ts +2 -8
- package/input-number/input-number.component.d.ts +5 -6
- package/input-number/input-number.module.d.ts +1 -7
- package/keyword/keyword.directive.d.ts +3 -4
- package/keyword/keyword.module.d.ts +1 -3
- package/keyword/keyword.property.d.ts +1 -1
- package/layout/col.component.d.ts +5 -7
- package/layout/layout.module.d.ts +1 -3
- package/layout/row.component.d.ts +3 -4
- package/link/link.component.d.ts +5 -7
- package/link/link.module.d.ts +1 -6
- package/list/list-drop-group.directive.d.ts +1 -1
- package/list/list-option.component.d.ts +6 -7
- package/list/list.component.d.ts +9 -12
- package/list/list.module.d.ts +1 -13
- package/loading/loading.component.d.ts +7 -10
- package/loading/loading.module.d.ts +1 -6
- package/menu/menu-node.component.d.ts +6 -7
- package/menu/menu.component.d.ts +4 -7
- package/menu/menu.module.d.ts +1 -7
- package/message/message.component.d.ts +3 -6
- package/message/message.module.d.ts +1 -5
- package/message/message.service.d.ts +4 -5
- package/message-box/message-box.component.d.ts +1 -1
- package/message-box/message-box.module.d.ts +1 -11
- package/message-box/message-box.service.d.ts +2 -5
- package/notification/notification.component.d.ts +3 -6
- package/notification/notification.module.d.ts +1 -5
- package/notification/notification.service.d.ts +1 -3
- package/outlet/outlet.directive.d.ts +4 -5
- package/outlet/outlet.module.d.ts +1 -2
- package/package.json +72 -72
- package/page-header/page-header.component.d.ts +5 -7
- package/page-header/page-header.module.d.ts +1 -4
- package/pagination/pagination.component.d.ts +8 -10
- package/pagination/pagination.module.d.ts +1 -9
- package/pattern/pattern.component.d.ts +4 -4
- package/pattern/pattern.module.d.ts +1 -2
- package/popconfirm/popconfirm.component.d.ts +6 -9
- package/popconfirm/popconfirm.module.d.ts +1 -7
- package/popover/popover-portal.component.d.ts +4 -5
- package/popover/popover.directive.d.ts +9 -10
- package/popover/popover.module.d.ts +1 -6
- package/portal/portal.module.d.ts +1 -3
- package/portal/portal.service.d.ts +3 -4
- package/progress/progress.component.d.ts +3 -7
- package/progress/progress.module.d.ts +1 -5
- package/radio/radio.component.d.ts +6 -8
- package/radio/radio.module.d.ts +1 -8
- package/rate/rate.component.d.ts +6 -8
- package/rate/rate.module.d.ts +1 -7
- package/resizable/resizable.directive.d.ts +5 -7
- package/resizable/resizable.module.d.ts +1 -2
- package/resizable/resizable.property.d.ts +1 -1
- package/result/result.component.d.ts +3 -7
- package/result/result.module.d.ts +1 -5
- package/ripple/ripple.directive.d.ts +4 -5
- package/ripple/ripple.module.d.ts +1 -3
- package/select/select-portal.component.d.ts +1 -1
- package/select/select.component.d.ts +14 -15
- package/select/select.module.d.ts +1 -12
- package/skeleton/skeleton.component.d.ts +3 -6
- package/skeleton/skeleton.module.d.ts +1 -4
- package/slider/slider.component.d.ts +5 -7
- package/slider/slider.module.d.ts +1 -7
- package/slider-select/slider-select.component.d.ts +6 -7
- package/slider-select/slider-select.module.d.ts +1 -9
- package/statistic/countdown.component.d.ts +6 -7
- package/statistic/statistic.component.d.ts +2 -3
- package/statistic/statistic.module.d.ts +1 -5
- package/steps/steps.component.d.ts +4 -7
- package/steps/steps.module.d.ts +1 -5
- package/style/core/base.scss +0 -7
- package/style/core/index.css +1 -8
- package/style/core/index.css.map +1 -1
- package/style/params/colors.scss +1 -1
- package/switch/switch.component.d.ts +6 -7
- package/switch/switch.module.d.ts +1 -7
- package/table/table-body.component.d.ts +1 -1
- package/table/table-foot.component.d.ts +3 -6
- package/table/table-head.component.d.ts +5 -7
- package/table/table.component.d.ts +1 -1
- package/table/table.module.d.ts +4 -17
- package/tabs/tab-content.component.d.ts +6 -6
- package/tabs/tab-link.directive.d.ts +2 -2
- package/tabs/tab.component.d.ts +2 -3
- package/tabs/tabs.component.d.ts +8 -9
- package/tabs/tabs.module.d.ts +3 -9
- package/tag/tag.component.d.ts +4 -8
- package/tag/tag.module.d.ts +1 -5
- package/text-retract/text-retract.component.d.ts +6 -10
- package/text-retract/text-retract.module.d.ts +1 -6
- package/textarea/textarea.component.d.ts +5 -7
- package/textarea/textarea.module.d.ts +1 -6
- package/theme/theme.component.d.ts +8 -9
- package/theme/theme.module.d.ts +1 -10
- package/time-ago/time-ago.module.d.ts +1 -1
- package/time-ago/time-ago.pipe.d.ts +6 -9
- package/time-picker/time-picker-frame.component.d.ts +5 -6
- package/time-picker/time-picker-portal.component.d.ts +5 -7
- package/time-picker/time-picker.component.d.ts +14 -16
- package/time-picker/time-picker.module.d.ts +2 -13
- package/time-range/time-range.module.d.ts +1 -1
- package/time-range/time-range.pipe.d.ts +1 -1
- package/timeline/timeline.component.d.ts +5 -8
- package/timeline/timeline.module.d.ts +1 -7
- package/tooltip/tooltip-portal.component.d.ts +4 -5
- package/tooltip/tooltip.directive.d.ts +8 -9
- package/tooltip/tooltip.module.d.ts +1 -6
- package/transfer/transfer.component.d.ts +6 -9
- package/transfer/transfer.module.d.ts +1 -15
- package/tree/tree-node.component.d.ts +6 -10
- package/tree/tree.component.d.ts +1 -1
- package/tree/tree.module.d.ts +1 -11
- package/tree-file/tree-file.component.d.ts +5 -10
- package/tree-file/tree-file.module.d.ts +1 -9
- package/tree-select/tree-select-portal.component.d.ts +5 -7
- package/tree-select/tree-select.component.d.ts +14 -15
- package/tree-select/tree-select.module.d.ts +1 -14
- package/typography/typography.component.d.ts +3 -4
- package/typography/typography.module.d.ts +1 -3
- package/upload/upload-portal.component.d.ts +5 -7
- package/upload/upload.component.d.ts +12 -15
- package/upload/upload.module.d.ts +1 -14
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, inject, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, HostBinding, NgModule } from '@angular/core';
|
|
2
|
+
import { Component, Input, inject, Renderer2, ElementRef, ChangeDetectorRef, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, HostBinding, NgModule } from '@angular/core';
|
|
3
3
|
import { __decorate } from 'tslib';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import * as i2 from '@angular/common';
|
|
4
|
+
import { XProperty, XWithConfig, XInputNumber, XConfigService, XIsChange, XIsEmpty, XIsNumber, XIsString, XIsObject, XResize } from '@ng-nest/ui/core';
|
|
5
|
+
import * as i1 from '@angular/common';
|
|
7
6
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
8
7
|
import { Subject, takeUntil } from 'rxjs';
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import * as i4 from '@ng-nest/ui/icon';
|
|
12
|
-
import { XIconModule } from '@ng-nest/ui/icon';
|
|
8
|
+
import { XIconComponent } from '@ng-nest/ui/icon';
|
|
9
|
+
import { XOutletDirective } from '@ng-nest/ui/outlet';
|
|
13
10
|
|
|
14
11
|
/**
|
|
15
12
|
* Avatar
|
|
@@ -80,16 +77,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
80
77
|
}] });
|
|
81
78
|
|
|
82
79
|
class XAvatarComponent extends XAvatarProperty {
|
|
83
|
-
constructor(
|
|
84
|
-
super();
|
|
85
|
-
this.renderer = renderer;
|
|
86
|
-
this.elementRef = elementRef;
|
|
87
|
-
this.cdr = cdr;
|
|
88
|
-
this.configService = configService;
|
|
80
|
+
constructor() {
|
|
81
|
+
super(...arguments);
|
|
89
82
|
this.isImgError = false;
|
|
90
83
|
this.styleMap = {};
|
|
91
84
|
this.document = inject(DOCUMENT);
|
|
92
85
|
this._unSubject = new Subject();
|
|
86
|
+
this.renderer = inject(Renderer2);
|
|
87
|
+
this.elementRef = inject(ElementRef);
|
|
88
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
89
|
+
this.configService = inject(XConfigService);
|
|
93
90
|
}
|
|
94
91
|
ngOnDestroy() {
|
|
95
92
|
this._unSubject.next();
|
|
@@ -173,44 +170,43 @@ class XAvatarComponent extends XAvatarProperty {
|
|
|
173
170
|
this.isImgError = true;
|
|
174
171
|
this.cdr.detectChanges();
|
|
175
172
|
}
|
|
176
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XAvatarComponent, deps:
|
|
177
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XAvatarComponent, selector: "x-avatar", viewQueries: [{ propertyName: "labelRef", first: true, predicate: ["labelRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label\"\r\n [ngClass]=\"classMap\"\r\n [class.x-avatar-error]=\"isImgError\"\r\n [ngStyle]=\"styleMap\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n>\r\n <img *ngIf=\"src && !isImgError\" [src]=\"src\" [style.object-fit]=\"fit\" (error)=\"imgError()\" />\r\n <x-icon *ngIf=\"icon\" [type]=\"icon\"></x-icon>\r\n <x-icon *ngIf=\"isImgError\" type=\"fto-image\"></x-icon>\r\n <span #labelRef *xOutlet=\"label; context: { $label: label }\">\r\n {{ label }}\r\n </span>\r\n</span>\r\n", styles: ["x-avatar{display:flex}.x-avatar{margin:0;padding:0;font-size:var(--x-font-size);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--x-background-100)}.x-avatar>img{display:block;height:100%}.x-avatar-circle{border-radius:50%}.x-avatar-square{border-radius:var(--x-border-radius)}.x-avatar-error>img{height:initial}.x-avatar>span{white-space:nowrap}.x-avatar-big{height:3.5rem;width:3.5rem;line-height:3.5rem;font-size:2.1rem}.x-avatar-large{height:3rem;width:3rem;line-height:3rem;font-size:1.8rem}.x-avatar-medium{height:2.5rem;width:2.5rem;line-height:2.5rem;font-size:1.5rem}.x-avatar-small{height:2rem;width:2rem;line-height:2rem;font-size:1.2rem}.x-avatar-mini{height:1.5rem;width:1.5rem;line-height:1.5rem;font-size:.9rem}\n"], dependencies: [{ kind: "directive", type:
|
|
173
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XAvatarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
174
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XAvatarComponent, isStandalone: true, selector: "x-avatar", viewQueries: [{ propertyName: "labelRef", first: true, predicate: ["labelRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label\"\r\n [ngClass]=\"classMap\"\r\n [class.x-avatar-error]=\"isImgError\"\r\n [ngStyle]=\"styleMap\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n>\r\n <img *ngIf=\"src && !isImgError\" [src]=\"src\" [style.object-fit]=\"fit\" (error)=\"imgError()\" />\r\n <x-icon *ngIf=\"icon\" [type]=\"icon\"></x-icon>\r\n <x-icon *ngIf=\"isImgError\" type=\"fto-image\"></x-icon>\r\n <span #labelRef *xOutlet=\"label; context: { $label: label }\">\r\n {{ label }}\r\n </span>\r\n</span>\r\n", styles: ["x-avatar{display:flex}.x-avatar{margin:0;padding:0;font-size:var(--x-font-size);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--x-background-100)}.x-avatar>img{display:block;height:100%}.x-avatar-circle{border-radius:50%}.x-avatar-square{border-radius:var(--x-border-radius)}.x-avatar-error>img{height:initial}.x-avatar>span{white-space:nowrap}.x-avatar-big{height:3.5rem;width:3.5rem;line-height:3.5rem;font-size:2.1rem}.x-avatar-large{height:3rem;width:3rem;line-height:3rem;font-size:1.8rem}.x-avatar-medium{height:2.5rem;width:2.5rem;line-height:2.5rem;font-size:1.5rem}.x-avatar-small{height:2rem;width:2rem;line-height:2rem;font-size:1.2rem}.x-avatar-mini{height:1.5rem;width:1.5rem;line-height:1.5rem;font-size:.9rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
178
175
|
}
|
|
179
176
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XAvatarComponent, decorators: [{
|
|
180
177
|
type: Component,
|
|
181
|
-
args: [{ selector: `${XAvatarPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label\"\r\n [ngClass]=\"classMap\"\r\n [class.x-avatar-error]=\"isImgError\"\r\n [ngStyle]=\"styleMap\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n>\r\n <img *ngIf=\"src && !isImgError\" [src]=\"src\" [style.object-fit]=\"fit\" (error)=\"imgError()\" />\r\n <x-icon *ngIf=\"icon\" [type]=\"icon\"></x-icon>\r\n <x-icon *ngIf=\"isImgError\" type=\"fto-image\"></x-icon>\r\n <span #labelRef *xOutlet=\"label; context: { $label: label }\">\r\n {{ label }}\r\n </span>\r\n</span>\r\n", styles: ["x-avatar{display:flex}.x-avatar{margin:0;padding:0;font-size:var(--x-font-size);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--x-background-100)}.x-avatar>img{display:block;height:100%}.x-avatar-circle{border-radius:50%}.x-avatar-square{border-radius:var(--x-border-radius)}.x-avatar-error>img{height:initial}.x-avatar>span{white-space:nowrap}.x-avatar-big{height:3.5rem;width:3.5rem;line-height:3.5rem;font-size:2.1rem}.x-avatar-large{height:3rem;width:3rem;line-height:3rem;font-size:1.8rem}.x-avatar-medium{height:2.5rem;width:2.5rem;line-height:2.5rem;font-size:1.5rem}.x-avatar-small{height:2rem;width:2rem;line-height:2rem;font-size:1.2rem}.x-avatar-mini{height:1.5rem;width:1.5rem;line-height:1.5rem;font-size:.9rem}\n"] }]
|
|
182
|
-
}],
|
|
178
|
+
args: [{ selector: `${XAvatarPrefix}`, standalone: true, imports: [CommonModule, XOutletDirective, XIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label\"\r\n [ngClass]=\"classMap\"\r\n [class.x-avatar-error]=\"isImgError\"\r\n [ngStyle]=\"styleMap\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n>\r\n <img *ngIf=\"src && !isImgError\" [src]=\"src\" [style.object-fit]=\"fit\" (error)=\"imgError()\" />\r\n <x-icon *ngIf=\"icon\" [type]=\"icon\"></x-icon>\r\n <x-icon *ngIf=\"isImgError\" type=\"fto-image\"></x-icon>\r\n <span #labelRef *xOutlet=\"label; context: { $label: label }\">\r\n {{ label }}\r\n </span>\r\n</span>\r\n", styles: ["x-avatar{display:flex}.x-avatar{margin:0;padding:0;font-size:var(--x-font-size);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--x-background-100)}.x-avatar>img{display:block;height:100%}.x-avatar-circle{border-radius:50%}.x-avatar-square{border-radius:var(--x-border-radius)}.x-avatar-error>img{height:initial}.x-avatar>span{white-space:nowrap}.x-avatar-big{height:3.5rem;width:3.5rem;line-height:3.5rem;font-size:2.1rem}.x-avatar-large{height:3rem;width:3rem;line-height:3rem;font-size:1.8rem}.x-avatar-medium{height:2.5rem;width:2.5rem;line-height:2.5rem;font-size:1.5rem}.x-avatar-small{height:2rem;width:2rem;line-height:2rem;font-size:1.2rem}.x-avatar-mini{height:1.5rem;width:1.5rem;line-height:1.5rem;font-size:.9rem}\n"] }]
|
|
179
|
+
}], propDecorators: { labelRef: [{
|
|
183
180
|
type: ViewChild,
|
|
184
181
|
args: ['labelRef']
|
|
185
182
|
}] } });
|
|
186
183
|
|
|
187
184
|
class XAvatarGroupComponent extends XAvatarGroupProperty {
|
|
188
185
|
constructor() {
|
|
189
|
-
super();
|
|
186
|
+
super(...arguments);
|
|
190
187
|
this._has = true;
|
|
191
188
|
}
|
|
192
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XAvatarGroupComponent, deps:
|
|
193
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XAvatarGroupComponent, selector: "x-avatar-group", host: { properties: { "class.x-avatar-group": "this._has" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: ["x-avatar-group{display:flex}.x-avatar-group{margin:0;padding:0}.x-avatar-group>x-avatar{z-index:0}.x-avatar-group>x-avatar:not(:first-child){margin-left:-.5rem}.x-avatar-group>x-avatar .x-avatar{border:var(--x-border-width) var(--x-border-style) var(--x-white)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
189
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XAvatarGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
190
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XAvatarGroupComponent, isStandalone: true, selector: "x-avatar-group", host: { properties: { "class.x-avatar-group": "this._has" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: ["x-avatar-group{display:flex}.x-avatar-group{margin:0;padding:0}.x-avatar-group>x-avatar{z-index:0}.x-avatar-group>x-avatar:not(:first-child){margin-left:-.5rem}.x-avatar-group>x-avatar .x-avatar{border:var(--x-border-width) var(--x-border-style) var(--x-white)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
194
191
|
}
|
|
195
192
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XAvatarGroupComponent, decorators: [{
|
|
196
193
|
type: Component,
|
|
197
|
-
args: [{ selector: `${XAvatarGroupPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n", styles: ["x-avatar-group{display:flex}.x-avatar-group{margin:0;padding:0}.x-avatar-group>x-avatar{z-index:0}.x-avatar-group>x-avatar:not(:first-child){margin-left:-.5rem}.x-avatar-group>x-avatar .x-avatar{border:var(--x-border-width) var(--x-border-style) var(--x-white)}\n"] }]
|
|
198
|
-
}],
|
|
194
|
+
args: [{ selector: `${XAvatarGroupPrefix}`, standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n", styles: ["x-avatar-group{display:flex}.x-avatar-group{margin:0;padding:0}.x-avatar-group>x-avatar{z-index:0}.x-avatar-group>x-avatar:not(:first-child){margin-left:-.5rem}.x-avatar-group>x-avatar .x-avatar{border:var(--x-border-width) var(--x-border-style) var(--x-white)}\n"] }]
|
|
195
|
+
}], propDecorators: { _has: [{
|
|
199
196
|
type: HostBinding,
|
|
200
197
|
args: ['class.x-avatar-group']
|
|
201
198
|
}] } });
|
|
202
199
|
|
|
203
200
|
class XAvatarModule {
|
|
204
201
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
205
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: XAvatarModule,
|
|
206
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XAvatarModule, imports: [
|
|
202
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: XAvatarModule, imports: [XAvatarComponent, XAvatarGroupComponent], exports: [XAvatarComponent, XAvatarGroupComponent] }); }
|
|
203
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XAvatarModule, imports: [XAvatarComponent] }); }
|
|
207
204
|
}
|
|
208
205
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XAvatarModule, decorators: [{
|
|
209
206
|
type: NgModule,
|
|
210
207
|
args: [{
|
|
211
|
-
declarations: [XAvatarComponent, XAvatarProperty, XAvatarGroupComponent, XAvatarGroupProperty],
|
|
212
208
|
exports: [XAvatarComponent, XAvatarGroupComponent],
|
|
213
|
-
imports: [
|
|
209
|
+
imports: [XAvatarComponent, XAvatarGroupComponent]
|
|
214
210
|
}]
|
|
215
211
|
}] });
|
|
216
212
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-avatar.mjs","sources":["../../../../lib/ng-nest/ui/avatar/avatar.property.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.html","../../../../lib/ng-nest/ui/avatar/avatar-group.component.ts","../../../../lib/ng-nest/ui/avatar/avatar-group.component.html","../../../../lib/ng-nest/ui/avatar/avatar.module.ts","../../../../lib/ng-nest/ui/avatar/ng-nest-ui-avatar.ts"],"sourcesContent":["import { XSize, XTemplate, XProperty, XWithConfig, XShape, XFit, XResponseSize, XNumber, XInputNumber } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Avatar\r\n * @selector x-avatar\r\n * @decorator component\r\n */\r\nexport const XAvatarPrefix = 'x-avatar';\r\nconst X_CONFIG_NAME = 'avatar';\r\n\r\n/**\r\n * Avatar Property\r\n */\r\n@Component({ selector: `${XAvatarPrefix}-property`, template: '' })\r\nexport class XAvatarProperty extends XProperty {\r\n /**\r\n * @zh_CN 显示字符\r\n * @en_US Display characters\r\n */\r\n @Input() label?: XTemplate;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XAvatarSize>(X_CONFIG_NAME, 'medium') size?: XAvatarSize;\r\n /**\r\n * @zh_CN 显示图标\r\n * @en_US Show icon\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * @zh_CN 形状\r\n * @en_US Shape\r\n */\r\n @Input() @XWithConfig<XAvatarShape>(X_CONFIG_NAME, 'circle') shape?: XAvatarShape;\r\n /**\r\n * @zh_CN 图片地址\r\n * @en_US The map's address\r\n */\r\n @Input() src?: string;\r\n /**\r\n * @zh_CN 图片适应方式\r\n * @en_US Image adaptation method\r\n */\r\n @Input() @XWithConfig<XAvatarFit>(X_CONFIG_NAME, 'cover') fit?: XAvatarFit;\r\n /**\r\n * @zh_CN 字符类型的时候左右边距,px\r\n * @en_US When the character type is the left and right distance, PX\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 4) @XInputNumber() gap?: XNumber;\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '#999999') backgroundColor?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 头像形状\r\n * @en_US Avatar shape\r\n */\r\nexport type XAvatarShape = XShape;\r\n\r\n/**\r\n * @zh_CN 当展示类型为图片的时候,设置图片如何适应容器框\r\n * @en_US When the display type is picture, set how the picture fits into the container frame\r\n */\r\nexport type XAvatarFit = XFit;\r\n\r\n/**\r\n * @zh_CN 尺寸类型\r\n * @en_US Size type\r\n */\r\nexport type XAvatarSize = number | XSize | XResponseSize;\r\n\r\n/**\r\n * Avatar Group\r\n * @selector x-avatar-group\r\n * @decorator component\r\n */\r\nexport const XAvatarGroupPrefix = 'x-avatar-group';\r\n\r\n/**\r\n * Avatar Group Property\r\n */\r\n@Component({ selector: `${XAvatarGroupPrefix}-property`, template: '' })\r\nexport class XAvatarGroupProperty extends XProperty {}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n ViewChild,\r\n AfterViewInit,\r\n OnChanges,\r\n SimpleChanges,\r\n inject\r\n} from '@angular/core';\r\nimport { XAvatarPrefix, XAvatarProperty } from './avatar.property';\r\nimport {\r\n XIsEmpty,\r\n XConfigService,\r\n XIsNumber,\r\n XIsString,\r\n XResize,\r\n XIsObject,\r\n XResponseSize,\r\n XIsChange,\r\n XResizeObserver\r\n} from '@ng-nest/ui/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Subject, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: `${XAvatarPrefix}`,\r\n templateUrl: './avatar.component.html',\r\n styleUrls: ['./avatar.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAvatarComponent extends XAvatarProperty implements OnDestroy, OnChanges, AfterViewInit {\r\n isImgError: boolean = false;\r\n\r\n styleMap: { [key: string]: any } = {};\r\n document = inject(DOCUMENT);\r\n private _unSubject = new Subject<void>();\r\n private _resizeObserver!: XResizeObserver;\r\n\r\n @ViewChild('labelRef') labelRef!: ElementRef<HTMLElement>;\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.complete();\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n let { label } = changes;\r\n XIsChange(label) && setTimeout(() => this.setLabel());\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setClassMap();\r\n this.setLabel();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap = {\r\n [`${XAvatarPrefix}-${this.shape}`]: !XIsEmpty(this.shape)\r\n };\r\n if (XIsNumber(this.size)) {\r\n const nsize = Number(this.size);\r\n this.setStyleMap(nsize);\r\n this.cdr.detectChanges();\r\n } else if (XIsString(this.size)) {\r\n this.classMap[`${XAvatarPrefix}-${this.size}`] = !XIsEmpty(this.size);\r\n this.cdr.detectChanges();\r\n } else if (XIsObject(this.size)) {\r\n this.classMap[`${XAvatarPrefix}-medium`] = true;\r\n const sz = this.size as XResponseSize;\r\n let { xs, sm, md, lg, xl } = sz;\r\n if (!xs && !sm && !md && !lg && !xl) return;\r\n XResize(this.document.documentElement)\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n const width = this.document.documentElement.clientWidth;\r\n let nsize = 40;\r\n if (xs && width < 768) {\r\n nsize = xs;\r\n }\r\n if (sm && width >= 768) {\r\n nsize = sm;\r\n }\r\n if (md && width >= 992) {\r\n nsize = md;\r\n }\r\n if (lg && width >= 1200) {\r\n nsize = lg;\r\n }\r\n if (xl && width >= 1920) {\r\n nsize = xl;\r\n }\r\n this.setStyleMap(nsize);\r\n this.cdr.detectChanges();\r\n this.setLabel();\r\n });\r\n }\r\n }\r\n\r\n setStyleMap(size: number) {\r\n this.styleMap = {\r\n height: `${size}px`,\r\n width: `${size}px`,\r\n lineHeight: `${size}px`,\r\n fontSize: `${size * 0.6}px`\r\n };\r\n }\r\n\r\n setLabel() {\r\n if (!this.label) return;\r\n if (!this.elementRef || !this.labelRef) return;\r\n const eleWidth = this.elementRef.nativeElement.clientWidth;\r\n const labelWidth = this.labelRef.nativeElement.clientWidth;\r\n let scale = (eleWidth - Number(this.gap) * 2) / labelWidth;\r\n scale = scale > 1 ? 1 : scale;\r\n this.renderer.setStyle(this.labelRef.nativeElement, 'transform', `scale(${scale})`);\r\n }\r\n\r\n imgError() {\r\n this.isImgError = true;\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label\"\r\n [ngClass]=\"classMap\"\r\n [class.x-avatar-error]=\"isImgError\"\r\n [ngStyle]=\"styleMap\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n>\r\n <img *ngIf=\"src && !isImgError\" [src]=\"src\" [style.object-fit]=\"fit\" (error)=\"imgError()\" />\r\n <x-icon *ngIf=\"icon\" [type]=\"icon\"></x-icon>\r\n <x-icon *ngIf=\"isImgError\" type=\"fto-image\"></x-icon>\r\n <span #labelRef *xOutlet=\"label; context: { $label: label }\">\r\n {{ label }}\r\n </span>\r\n</span>\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';\r\nimport { XAvatarGroupPrefix, XAvatarGroupProperty } from './avatar.property';\r\n\r\n@Component({\r\n selector: `${XAvatarGroupPrefix}`,\r\n templateUrl: './avatar-group.component.html',\r\n styleUrls: ['./avatar-group.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAvatarGroupComponent extends XAvatarGroupProperty {\r\n @HostBinding('class.x-avatar-group') _has = true;\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XAvatarComponent } from './avatar.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XAvatarGroupProperty, XAvatarProperty } from './avatar.property';\r\nimport { XAvatarGroupComponent } from './avatar-group.component';\r\n\r\n@NgModule({\r\n declarations: [XAvatarComponent, XAvatarProperty, XAvatarGroupComponent, XAvatarGroupProperty],\r\n exports: [XAvatarComponent, XAvatarGroupComponent],\r\n imports: [CommonModule, XOutletModule, XIconModule]\r\n})\r\nexport class XAvatarModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-avatar.mjs","sources":["../../../../lib/ng-nest/ui/avatar/avatar.property.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.html","../../../../lib/ng-nest/ui/avatar/avatar-group.component.ts","../../../../lib/ng-nest/ui/avatar/avatar-group.component.html","../../../../lib/ng-nest/ui/avatar/avatar.module.ts","../../../../lib/ng-nest/ui/avatar/ng-nest-ui-avatar.ts"],"sourcesContent":["import {\r\n XSize,\r\n XTemplate,\r\n XProperty,\r\n XWithConfig,\r\n XShape,\r\n XFit,\r\n XResponseSize,\r\n XNumber,\r\n XInputNumber\r\n} from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Avatar\r\n * @selector x-avatar\r\n * @decorator component\r\n */\r\nexport const XAvatarPrefix = 'x-avatar';\r\nconst X_CONFIG_NAME = 'avatar';\r\n\r\n/**\r\n * Avatar Property\r\n */\r\n@Component({ selector: `${XAvatarPrefix}-property`, template: '' })\r\nexport class XAvatarProperty extends XProperty {\r\n /**\r\n * @zh_CN 显示字符\r\n * @en_US Display characters\r\n */\r\n @Input() label?: XTemplate;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XAvatarSize>(X_CONFIG_NAME, 'medium') size?: XAvatarSize;\r\n /**\r\n * @zh_CN 显示图标\r\n * @en_US Show icon\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * @zh_CN 形状\r\n * @en_US Shape\r\n */\r\n @Input() @XWithConfig<XAvatarShape>(X_CONFIG_NAME, 'circle') shape?: XAvatarShape;\r\n /**\r\n * @zh_CN 图片地址\r\n * @en_US The map's address\r\n */\r\n @Input() src?: string;\r\n /**\r\n * @zh_CN 图片适应方式\r\n * @en_US Image adaptation method\r\n */\r\n @Input() @XWithConfig<XAvatarFit>(X_CONFIG_NAME, 'cover') fit?: XAvatarFit;\r\n /**\r\n * @zh_CN 字符类型的时候左右边距,px\r\n * @en_US When the character type is the left and right distance, PX\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 4) @XInputNumber() gap?: XNumber;\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '#999999') backgroundColor?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 头像形状\r\n * @en_US Avatar shape\r\n */\r\nexport type XAvatarShape = XShape;\r\n\r\n/**\r\n * @zh_CN 当展示类型为图片的时候,设置图片如何适应容器框\r\n * @en_US When the display type is picture, set how the picture fits into the container frame\r\n */\r\nexport type XAvatarFit = XFit;\r\n\r\n/**\r\n * @zh_CN 尺寸类型\r\n * @en_US Size type\r\n */\r\nexport type XAvatarSize = number | XSize | XResponseSize;\r\n\r\n/**\r\n * Avatar Group\r\n * @selector x-avatar-group\r\n * @decorator component\r\n */\r\nexport const XAvatarGroupPrefix = 'x-avatar-group';\r\n\r\n/**\r\n * Avatar Group Property\r\n */\r\n@Component({ selector: `${XAvatarGroupPrefix}-property`, template: '' })\r\nexport class XAvatarGroupProperty extends XProperty {}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n ViewChild,\r\n AfterViewInit,\r\n OnChanges,\r\n SimpleChanges,\r\n inject\r\n} from '@angular/core';\r\nimport { XAvatarPrefix, XAvatarProperty } from './avatar.property';\r\nimport {\r\n XIsEmpty,\r\n XConfigService,\r\n XIsNumber,\r\n XIsString,\r\n XResize,\r\n XIsObject,\r\n XResponseSize,\r\n XIsChange,\r\n XResizeObserver\r\n} from '@ng-nest/ui/core';\r\nimport { DOCUMENT, CommonModule } from '@angular/common';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\n\r\n@Component({\r\n selector: `${XAvatarPrefix}`,\r\n standalone: true,\r\n imports: [CommonModule, XOutletDirective, XIconComponent],\r\n templateUrl: './avatar.component.html',\r\n styleUrls: ['./avatar.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAvatarComponent\r\n extends XAvatarProperty\r\n implements OnDestroy, OnChanges, AfterViewInit\r\n{\r\n isImgError: boolean = false;\r\n\r\n styleMap: { [key: string]: any } = {};\r\n document = inject(DOCUMENT);\r\n private _unSubject = new Subject<void>();\r\n private _resizeObserver!: XResizeObserver;\r\n\r\n @ViewChild('labelRef') labelRef!: ElementRef<HTMLElement>;\r\n\r\n private renderer = inject(Renderer2);\r\n private elementRef = inject(ElementRef);\r\n private cdr = inject(ChangeDetectorRef);\r\n configService = inject(XConfigService);\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.complete();\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n let { label } = changes;\r\n XIsChange(label) && setTimeout(() => this.setLabel());\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setClassMap();\r\n this.setLabel();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap = {\r\n [`${XAvatarPrefix}-${this.shape}`]: !XIsEmpty(this.shape)\r\n };\r\n if (XIsNumber(this.size)) {\r\n const nsize = Number(this.size);\r\n this.setStyleMap(nsize);\r\n this.cdr.detectChanges();\r\n } else if (XIsString(this.size)) {\r\n this.classMap[`${XAvatarPrefix}-${this.size}`] = !XIsEmpty(this.size);\r\n this.cdr.detectChanges();\r\n } else if (XIsObject(this.size)) {\r\n this.classMap[`${XAvatarPrefix}-medium`] = true;\r\n const sz = this.size as XResponseSize;\r\n let { xs, sm, md, lg, xl } = sz;\r\n if (!xs && !sm && !md && !lg && !xl) return;\r\n XResize(this.document.documentElement)\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n const width = this.document.documentElement.clientWidth;\r\n let nsize = 40;\r\n if (xs && width < 768) {\r\n nsize = xs;\r\n }\r\n if (sm && width >= 768) {\r\n nsize = sm;\r\n }\r\n if (md && width >= 992) {\r\n nsize = md;\r\n }\r\n if (lg && width >= 1200) {\r\n nsize = lg;\r\n }\r\n if (xl && width >= 1920) {\r\n nsize = xl;\r\n }\r\n this.setStyleMap(nsize);\r\n this.cdr.detectChanges();\r\n this.setLabel();\r\n });\r\n }\r\n }\r\n\r\n setStyleMap(size: number) {\r\n this.styleMap = {\r\n height: `${size}px`,\r\n width: `${size}px`,\r\n lineHeight: `${size}px`,\r\n fontSize: `${size * 0.6}px`\r\n };\r\n }\r\n\r\n setLabel() {\r\n if (!this.label) return;\r\n if (!this.elementRef || !this.labelRef) return;\r\n const eleWidth = this.elementRef.nativeElement.clientWidth;\r\n const labelWidth = this.labelRef.nativeElement.clientWidth;\r\n let scale = (eleWidth - Number(this.gap) * 2) / labelWidth;\r\n scale = scale > 1 ? 1 : scale;\r\n this.renderer.setStyle(this.labelRef.nativeElement, 'transform', `scale(${scale})`);\r\n }\r\n\r\n imgError() {\r\n this.isImgError = true;\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label\"\r\n [ngClass]=\"classMap\"\r\n [class.x-avatar-error]=\"isImgError\"\r\n [ngStyle]=\"styleMap\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n>\r\n <img *ngIf=\"src && !isImgError\" [src]=\"src\" [style.object-fit]=\"fit\" (error)=\"imgError()\" />\r\n <x-icon *ngIf=\"icon\" [type]=\"icon\"></x-icon>\r\n <x-icon *ngIf=\"isImgError\" type=\"fto-image\"></x-icon>\r\n <span #labelRef *xOutlet=\"label; context: { $label: label }\">\r\n {{ label }}\r\n </span>\r\n</span>\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';\r\nimport { XAvatarGroupPrefix, XAvatarGroupProperty } from './avatar.property';\r\n\r\n@Component({\r\n selector: `${XAvatarGroupPrefix}`,\r\n standalone: true,\r\n templateUrl: './avatar-group.component.html',\r\n styleUrls: ['./avatar-group.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAvatarGroupComponent extends XAvatarGroupProperty {\r\n @HostBinding('class.x-avatar-group') _has = true;\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { XAvatarComponent } from './avatar.component';\r\nimport { XAvatarGroupComponent } from './avatar-group.component';\r\n\r\n@NgModule({\r\n exports: [XAvatarComponent, XAvatarGroupComponent],\r\n imports: [XAvatarComponent, XAvatarGroupComponent]\r\n})\r\nexport class XAvatarModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, inject, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
|
|
2
|
+
import { Component, Input, inject, ChangeDetectorRef, ViewContainerRef, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
|
|
3
3
|
import { __decorate } from 'tslib';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import * as i4 from '@angular/common';
|
|
4
|
+
import { XProperty, XWithConfig, XConfigService, XIsChange, XIsNumber, reqAnimFrame } from '@ng-nest/ui/core';
|
|
5
|
+
import * as i1 from '@angular/common';
|
|
7
6
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
8
7
|
import { Subject, fromEvent } from 'rxjs';
|
|
9
8
|
import { throttleTime, takeUntil } from 'rxjs/operators';
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import * as i3 from '@angular/cdk/platform';
|
|
13
|
-
import * as i5 from '@ng-nest/ui/link';
|
|
14
|
-
import { XLinkModule } from '@ng-nest/ui/link';
|
|
9
|
+
import { XPortalService } from '@ng-nest/ui/portal';
|
|
10
|
+
import { XLinkComponent } from '@ng-nest/ui/link';
|
|
15
11
|
|
|
16
12
|
/**
|
|
17
13
|
* BackTop
|
|
@@ -52,6 +48,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
52
48
|
}] } });
|
|
53
49
|
|
|
54
50
|
class XBackTopComponent extends XBackTopProperty {
|
|
51
|
+
constructor() {
|
|
52
|
+
super(...arguments);
|
|
53
|
+
this.visiable = false;
|
|
54
|
+
this.scrolling = false;
|
|
55
|
+
this.doc = inject(DOCUMENT);
|
|
56
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
57
|
+
this.portal = inject(XPortalService);
|
|
58
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
59
|
+
this._unSubject = new Subject();
|
|
60
|
+
this._target = null;
|
|
61
|
+
this.configService = inject(XConfigService);
|
|
62
|
+
}
|
|
55
63
|
get scroll() {
|
|
56
64
|
return this._target || this.doc.defaultView;
|
|
57
65
|
}
|
|
@@ -71,25 +79,11 @@ class XBackTopComponent extends XBackTopProperty {
|
|
|
71
79
|
this.scroll.scrollTop = top;
|
|
72
80
|
}
|
|
73
81
|
}
|
|
74
|
-
constructor(renderer, elementRef, cdr, portal, viewContainerRef, configService, platform) {
|
|
75
|
-
super();
|
|
76
|
-
this.renderer = renderer;
|
|
77
|
-
this.elementRef = elementRef;
|
|
78
|
-
this.cdr = cdr;
|
|
79
|
-
this.portal = portal;
|
|
80
|
-
this.viewContainerRef = viewContainerRef;
|
|
81
|
-
this.configService = configService;
|
|
82
|
-
this.platform = platform;
|
|
83
|
-
this.visiable = false;
|
|
84
|
-
this.scrolling = false;
|
|
85
|
-
this.doc = inject(DOCUMENT);
|
|
86
|
-
this._unSubject = new Subject();
|
|
87
|
-
this._target = null;
|
|
88
|
-
}
|
|
89
82
|
ngOnChanges(changes) {
|
|
90
83
|
const { target } = changes;
|
|
91
84
|
if (XIsChange(target)) {
|
|
92
|
-
this._target =
|
|
85
|
+
this._target =
|
|
86
|
+
typeof this.target === 'string' ? this.doc.querySelector(this.target) : this.target;
|
|
93
87
|
this.setScrollEvent();
|
|
94
88
|
}
|
|
95
89
|
}
|
|
@@ -152,28 +146,27 @@ class XBackTopComponent extends XBackTopProperty {
|
|
|
152
146
|
}
|
|
153
147
|
});
|
|
154
148
|
}
|
|
155
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBackTopComponent, deps:
|
|
156
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XBackTopComponent, selector: "x-back-top", viewQueries: [{ propertyName: "backTopTpl", first: true, predicate: ["backTopTpl"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #backTopTpl>\r\n <div class=\"x-back-top\" [ngClass]=\"classMap\" (click)=\"onBackTop()\">\r\n <x-link *ngIf=\"!template\" icon=\"fto-arrow-up\"> </x-link>\r\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-back-top{margin:0;padding:0;display:flex;align-items:center;justify-content:center}.x-back-top>x-link .x-link{width:2.5rem;height:2.5rem;border-radius:50%;background-color:var(--x-background-a100);font-size:1.25rem;border:var(--x-border-width) var(--x-border-style) var(--x-border-200)}\n"], dependencies: [{ kind: "directive", type:
|
|
149
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBackTopComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
150
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XBackTopComponent, isStandalone: true, selector: "x-back-top", viewQueries: [{ propertyName: "backTopTpl", first: true, predicate: ["backTopTpl"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #backTopTpl>\r\n <div class=\"x-back-top\" [ngClass]=\"classMap\" (click)=\"onBackTop()\">\r\n <x-link *ngIf=\"!template\" icon=\"fto-arrow-up\"> </x-link>\r\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-back-top{margin:0;padding:0;display:flex;align-items:center;justify-content:center}.x-back-top>x-link .x-link{width:2.5rem;height:2.5rem;border-radius:50%;background-color:var(--x-background-a100);font-size:1.25rem;border:var(--x-border-width) var(--x-border-style) var(--x-border-200)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
157
151
|
}
|
|
158
152
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBackTopComponent, decorators: [{
|
|
159
153
|
type: Component,
|
|
160
|
-
args: [{ selector: `${XBackTopPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #backTopTpl>\r\n <div class=\"x-back-top\" [ngClass]=\"classMap\" (click)=\"onBackTop()\">\r\n <x-link *ngIf=\"!template\" icon=\"fto-arrow-up\"> </x-link>\r\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-back-top{margin:0;padding:0;display:flex;align-items:center;justify-content:center}.x-back-top>x-link .x-link{width:2.5rem;height:2.5rem;border-radius:50%;background-color:var(--x-background-a100);font-size:1.25rem;border:var(--x-border-width) var(--x-border-style) var(--x-border-200)}\n"] }]
|
|
161
|
-
}],
|
|
154
|
+
args: [{ selector: `${XBackTopPrefix}`, standalone: true, imports: [CommonModule, XLinkComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #backTopTpl>\r\n <div class=\"x-back-top\" [ngClass]=\"classMap\" (click)=\"onBackTop()\">\r\n <x-link *ngIf=\"!template\" icon=\"fto-arrow-up\"> </x-link>\r\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-back-top{margin:0;padding:0;display:flex;align-items:center;justify-content:center}.x-back-top>x-link .x-link{width:2.5rem;height:2.5rem;border-radius:50%;background-color:var(--x-background-a100);font-size:1.25rem;border:var(--x-border-width) var(--x-border-style) var(--x-border-200)}\n"] }]
|
|
155
|
+
}], propDecorators: { backTopTpl: [{
|
|
162
156
|
type: ViewChild,
|
|
163
157
|
args: ['backTopTpl']
|
|
164
158
|
}] } });
|
|
165
159
|
|
|
166
160
|
class XBackTopModule {
|
|
167
161
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBackTopModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
168
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: XBackTopModule,
|
|
169
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBackTopModule, imports: [
|
|
162
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: XBackTopModule, imports: [XBackTopComponent], exports: [XBackTopComponent] }); }
|
|
163
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBackTopModule, imports: [XBackTopComponent] }); }
|
|
170
164
|
}
|
|
171
165
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBackTopModule, decorators: [{
|
|
172
166
|
type: NgModule,
|
|
173
167
|
args: [{
|
|
174
|
-
declarations: [XBackTopComponent, XBackTopProperty],
|
|
175
168
|
exports: [XBackTopComponent],
|
|
176
|
-
imports: [
|
|
169
|
+
imports: [XBackTopComponent]
|
|
177
170
|
}]
|
|
178
171
|
}] });
|
|
179
172
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-back-top.mjs","sources":["../../../../lib/ng-nest/ui/back-top/back-top.property.ts","../../../../lib/ng-nest/ui/back-top/back-top.component.ts","../../../../lib/ng-nest/ui/back-top/back-top.component.html","../../../../lib/ng-nest/ui/back-top/back-top.module.ts","../../../../lib/ng-nest/ui/back-top/ng-nest-ui-back-top.ts"],"sourcesContent":["import { XProperty, XNumber, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, TemplateRef, Component } from '@angular/core';\r\n\r\n/**\r\n * BackTop\r\n * @selector x-back-top\r\n * @decorator component\r\n */\r\nexport const XBackTopPrefix = 'x-back-top';\r\nconst X_CONFIG_NAME = 'backTop';\r\n\r\n/**\r\n * BackTop Property\r\n */\r\n@Component({ selector: `${XBackTopPrefix}-property`, template: '' })\r\nexport class XBackTopProperty extends XProperty {\r\n /**\r\n * @zh_CN 距离右边的距离\r\n * @en_US Distance to the right\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '2.5rem') right?: string;\r\n /**\r\n * @zh_CN 距离底部的距离\r\n * @en_US Distance from bottom\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '2.5rem') bottom?: string;\r\n /**\r\n * @zh_CN 滚动多少高度后显示\r\n * @en_US Display after scrolling how much height\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 200) visibilityHeight?: XNumber;\r\n /**\r\n * @zh_CN 内容模板\r\n * @en_US Content template\r\n */\r\n @Input() template!: TemplateRef<any>;\r\n /**\r\n * @zh_CN 滚动的元素\r\n * @en_US Scroll element\r\n */\r\n @Input() target?: string | HTMLElement;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n ViewChild,\r\n TemplateRef,\r\n ViewContainerRef,\r\n OnChanges,\r\n SimpleChanges,\r\n inject\r\n} from '@angular/core';\r\nimport { XBackTopPrefix, XBackTopProperty } from './back-top.property';\r\nimport { reqAnimFrame, XConfigService, XIsChange, XIsNumber } from '@ng-nest/ui/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { throttleTime, takeUntil } from 'rxjs/operators';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { Platform } from '@angular/cdk/platform';\r\n\r\n@Component({\r\n selector: `${XBackTopPrefix}`,\r\n templateUrl: './back-top.component.html',\r\n styleUrls: ['./back-top.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XBackTopComponent extends XBackTopProperty implements OnInit, OnChanges, OnDestroy {\r\n @ViewChild('backTopTpl') backTopTpl!: TemplateRef<void>;\r\n\r\n get scroll(): HTMLElement | Window | null {\r\n return this._target || this.doc.defaultView;\r\n }\r\n\r\n get scrollTop(): number {\r\n if (this.scroll === this.doc.defaultView) {\r\n return this.doc.documentElement!.scrollTop;\r\n } else {\r\n return (this.scroll as HTMLElement).scrollTop;\r\n }\r\n }\r\n\r\n set scrollTop(top: number) {\r\n if (this.scroll === this.doc.defaultView) {\r\n this.doc.documentElement!.scrollTop = top!;\r\n } else {\r\n (this.scroll as HTMLElement).scrollTop = top!;\r\n }\r\n }\r\n\r\n visiable = false;\r\n scrolling = false;\r\n portalRef!: XPortalOverlayRef<any>;\r\n private doc = inject(DOCUMENT);\r\n private _unSubject = new Subject<void>();\r\n private _target: HTMLElement | null = null;\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public cdr: ChangeDetectorRef,\r\n public portal: XPortalService,\r\n public viewContainerRef: ViewContainerRef,\r\n public configService: XConfigService,\r\n public platform: Platform\r\n ) {\r\n super();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { target } = changes;\r\n if (XIsChange(target)) {\r\n this._target = typeof this.target === 'string' ? this.doc.querySelector(this.target) : this.target!;\r\n this.setScrollEvent();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.setScrollEvent();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n onBackTop() {\r\n this.scrolling = true;\r\n this.scrollTo(0, 200);\r\n }\r\n\r\n private setScrollEvent() {\r\n this._unSubject.next();\r\n if (!this.scroll) return;\r\n fromEvent(this.scroll, 'scroll')\r\n .pipe(throttleTime(20), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.setScrolling();\r\n });\r\n }\r\n\r\n private setScrolling() {\r\n const scrollTop = this.scrollTop;\r\n const visible = scrollTop >= (this.visibilityHeight as number);\r\n if (this.visiable !== visible) {\r\n this.visiable = visible;\r\n if (this.visiable) {\r\n this.portalRef = this.portal.attach({\r\n content: this.backTopTpl,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n width: '2.5rem',\r\n height: '2.5rem',\r\n positionStrategy: this.portal.setPlace('bottom-end', ...['0', this.right as string, this.bottom as string, '0'])\r\n }\r\n });\r\n } else {\r\n this.portalRef?.overlayRef?.hasAttached() && this.portalRef.overlayRef.detach();\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n private scrollTo(to: number, duration: number) {\r\n const difference = to - this.scrollTop;\r\n const perTick = (difference / duration) * 10;\r\n reqAnimFrame(() => {\r\n const num = this.scrollTop + perTick;\r\n if (XIsNumber(num) && num !== Infinity) {\r\n this.scrollTop = num;\r\n }\r\n if (this.scrollTop === to || duration <= 0) {\r\n return;\r\n } else {\r\n this.scrollTo(to, duration - 10);\r\n }\r\n });\r\n }\r\n}\r\n","<ng-template #backTopTpl>\r\n <div class=\"x-back-top\" [ngClass]=\"classMap\" (click)=\"onBackTop()\">\r\n <x-link *ngIf=\"!template\" icon=\"fto-arrow-up\"> </x-link>\r\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XBackTopComponent } from './back-top.component';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XBackTopProperty } from './back-top.property';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\n\r\n@NgModule({\r\n declarations: [XBackTopComponent, XBackTopProperty],\r\n exports: [XBackTopComponent],\r\n imports: [CommonModule, XLinkModule, XPortalModule]\r\n})\r\nexport class XBackTopModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-back-top.mjs","sources":["../../../../lib/ng-nest/ui/back-top/back-top.property.ts","../../../../lib/ng-nest/ui/back-top/back-top.component.ts","../../../../lib/ng-nest/ui/back-top/back-top.component.html","../../../../lib/ng-nest/ui/back-top/back-top.module.ts","../../../../lib/ng-nest/ui/back-top/ng-nest-ui-back-top.ts"],"sourcesContent":["import { XProperty, XNumber, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, TemplateRef, Component } from '@angular/core';\r\n\r\n/**\r\n * BackTop\r\n * @selector x-back-top\r\n * @decorator component\r\n */\r\nexport const XBackTopPrefix = 'x-back-top';\r\nconst X_CONFIG_NAME = 'backTop';\r\n\r\n/**\r\n * BackTop Property\r\n */\r\n@Component({ selector: `${XBackTopPrefix}-property`, template: '' })\r\nexport class XBackTopProperty extends XProperty {\r\n /**\r\n * @zh_CN 距离右边的距离\r\n * @en_US Distance to the right\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '2.5rem') right?: string;\r\n /**\r\n * @zh_CN 距离底部的距离\r\n * @en_US Distance from bottom\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '2.5rem') bottom?: string;\r\n /**\r\n * @zh_CN 滚动多少高度后显示\r\n * @en_US Display after scrolling how much height\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 200) visibilityHeight?: XNumber;\r\n /**\r\n * @zh_CN 内容模板\r\n * @en_US Content template\r\n */\r\n @Input() template!: TemplateRef<any>;\r\n /**\r\n * @zh_CN 滚动的元素\r\n * @en_US Scroll element\r\n */\r\n @Input() target?: string | HTMLElement;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n ViewChild,\r\n TemplateRef,\r\n ViewContainerRef,\r\n OnChanges,\r\n SimpleChanges,\r\n inject\r\n} from '@angular/core';\r\nimport { XBackTopPrefix, XBackTopProperty } from './back-top.property';\r\nimport { reqAnimFrame, XConfigService, XIsChange, XIsNumber } from '@ng-nest/ui/core';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { throttleTime, takeUntil } from 'rxjs/operators';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XLinkComponent } from '@ng-nest/ui/link';\r\n\r\n@Component({\r\n selector: `${XBackTopPrefix}`,\r\n standalone: true,\r\n imports: [CommonModule, XLinkComponent],\r\n templateUrl: './back-top.component.html',\r\n styleUrls: ['./back-top.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XBackTopComponent extends XBackTopProperty implements OnInit, OnChanges, OnDestroy {\r\n @ViewChild('backTopTpl') backTopTpl!: TemplateRef<void>;\r\n\r\n get scroll(): HTMLElement | Window | null {\r\n return this._target || this.doc.defaultView;\r\n }\r\n\r\n get scrollTop(): number {\r\n if (this.scroll === this.doc.defaultView) {\r\n return this.doc.documentElement!.scrollTop;\r\n } else {\r\n return (this.scroll as HTMLElement).scrollTop;\r\n }\r\n }\r\n\r\n set scrollTop(top: number) {\r\n if (this.scroll === this.doc.defaultView) {\r\n this.doc.documentElement!.scrollTop = top!;\r\n } else {\r\n (this.scroll as HTMLElement).scrollTop = top!;\r\n }\r\n }\r\n\r\n visiable = false;\r\n scrolling = false;\r\n portalRef!: XPortalOverlayRef<any>;\r\n private doc = inject(DOCUMENT);\r\n private cdr = inject(ChangeDetectorRef);\r\n private portal = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private _unSubject = new Subject<void>();\r\n private _target: HTMLElement | null = null;\r\n configService = inject(XConfigService);\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { target } = changes;\r\n if (XIsChange(target)) {\r\n this._target =\r\n typeof this.target === 'string' ? this.doc.querySelector(this.target) : this.target!;\r\n this.setScrollEvent();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.setScrollEvent();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n onBackTop() {\r\n this.scrolling = true;\r\n this.scrollTo(0, 200);\r\n }\r\n\r\n private setScrollEvent() {\r\n this._unSubject.next();\r\n if (!this.scroll) return;\r\n fromEvent(this.scroll, 'scroll')\r\n .pipe(throttleTime(20), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.setScrolling();\r\n });\r\n }\r\n\r\n private setScrolling() {\r\n const scrollTop = this.scrollTop;\r\n const visible = scrollTop >= (this.visibilityHeight as number);\r\n if (this.visiable !== visible) {\r\n this.visiable = visible;\r\n if (this.visiable) {\r\n this.portalRef = this.portal.attach({\r\n content: this.backTopTpl,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n width: '2.5rem',\r\n height: '2.5rem',\r\n positionStrategy: this.portal.setPlace(\r\n 'bottom-end',\r\n ...['0', this.right as string, this.bottom as string, '0']\r\n )\r\n }\r\n });\r\n } else {\r\n this.portalRef?.overlayRef?.hasAttached() && this.portalRef.overlayRef.detach();\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n private scrollTo(to: number, duration: number) {\r\n const difference = to - this.scrollTop;\r\n const perTick = (difference / duration) * 10;\r\n reqAnimFrame(() => {\r\n const num = this.scrollTop + perTick;\r\n if (XIsNumber(num) && num !== Infinity) {\r\n this.scrollTop = num;\r\n }\r\n if (this.scrollTop === to || duration <= 0) {\r\n return;\r\n } else {\r\n this.scrollTo(to, duration - 10);\r\n }\r\n });\r\n }\r\n}\r\n","<ng-template #backTopTpl>\r\n <div class=\"x-back-top\" [ngClass]=\"classMap\" (click)=\"onBackTop()\">\r\n <x-link *ngIf=\"!template\" icon=\"fto-arrow-up\"> </x-link>\r\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XBackTopComponent } from './back-top.component';\r\n@NgModule({\r\n exports: [XBackTopComponent],\r\n imports: [XBackTopComponent]\r\n})\r\nexport class XBackTopModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
|
-
import
|
|
4
|
-
import * as i1 from '@ng-nest/ui/core';
|
|
5
|
-
import { XProperty, XWithConfig, XInputNumber, XInputBoolean, XIsArray, XIsChange, XIsEmpty, XIsNumber, XBadgeAnimation, XBadgeStandaloneAnimation } from '@ng-nest/ui/core';
|
|
6
|
-
import * as i2 from '@angular/common';
|
|
2
|
+
import { Component, Input, inject, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
7
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { __decorate } from 'tslib';
|
|
6
|
+
import { XProperty, XWithConfig, XInputNumber, XInputBoolean, XConfigService, XIsArray, XIsChange, XIsEmpty, XIsNumber, XBadgeAnimation, XBadgeStandaloneAnimation } from '@ng-nest/ui/core';
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* Badge
|
|
@@ -63,6 +62,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
63
62
|
}] } });
|
|
64
63
|
|
|
65
64
|
class XBadgeComponent extends XBadgeProperty {
|
|
65
|
+
constructor() {
|
|
66
|
+
super(...arguments);
|
|
67
|
+
this.displayValue = '';
|
|
68
|
+
this.viewInit = false;
|
|
69
|
+
this.range = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, '+'];
|
|
70
|
+
this.displayNums = [];
|
|
71
|
+
this.maxNums = [];
|
|
72
|
+
this.configService = inject(XConfigService);
|
|
73
|
+
}
|
|
66
74
|
get valueNumber() {
|
|
67
75
|
return Number(this.value);
|
|
68
76
|
}
|
|
@@ -78,18 +86,6 @@ class XBadgeComponent extends XBadgeProperty {
|
|
|
78
86
|
}
|
|
79
87
|
return null;
|
|
80
88
|
}
|
|
81
|
-
constructor(renderer, elementRef, cdr, configService) {
|
|
82
|
-
super();
|
|
83
|
-
this.renderer = renderer;
|
|
84
|
-
this.elementRef = elementRef;
|
|
85
|
-
this.cdr = cdr;
|
|
86
|
-
this.configService = configService;
|
|
87
|
-
this.displayValue = '';
|
|
88
|
-
this.viewInit = false;
|
|
89
|
-
this.range = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, '+'];
|
|
90
|
-
this.displayNums = [];
|
|
91
|
-
this.maxNums = [];
|
|
92
|
-
}
|
|
93
89
|
ngOnInit() {
|
|
94
90
|
this.setClassMap();
|
|
95
91
|
}
|
|
@@ -97,7 +93,6 @@ class XBadgeComponent extends XBadgeProperty {
|
|
|
97
93
|
const { value } = simples;
|
|
98
94
|
XIsChange(value) && this.setDisplayValue();
|
|
99
95
|
}
|
|
100
|
-
ngAfterViewInit() { }
|
|
101
96
|
setClassMap() {
|
|
102
97
|
this.classMap[`${XBadgePrefix}-${this.type}`] = !XIsEmpty(this.type);
|
|
103
98
|
}
|
|
@@ -124,25 +119,24 @@ class XBadgeComponent extends XBadgeProperty {
|
|
|
124
119
|
this.maxNums = this.displayNums.map((_x, index) => index);
|
|
125
120
|
}
|
|
126
121
|
}
|
|
127
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBadgeComponent, deps:
|
|
128
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XBadgeComponent, selector: "x-badge", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #badge class=\"x-badge\" [ngClass]=\"classMap\" [class.x-badge-dot]=\"dot\" [class.x-badge-standalone]=\"standalone\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"valueNumber > 0 || dot\">\r\n <sup *ngIf=\"standalone\" [@x-badge-standalone-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n <sup *ngIf=\"!standalone\" [@x-badge-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #diaplayValueTpl>\r\n <span\r\n class=\"x-badge-scroll\"\r\n *ngFor=\"let item of maxNums; let i = index\"\r\n [style.transform]=\"'translateY(-' + (displayNums[i] == '+' ? 10 : displayNums[i]) * 100 + '%)'\"\r\n >\r\n <p *ngFor=\"let j of range\">{{ j }}</p>\r\n </span>\r\n</ng-template>\r\n", styles: ["x-badge{display:inline-block}.x-badge{margin:0;padding:0;font-size:var(--x-font-size);display:inline-block;box-sizing:border-box;text-align:center;position:relative}.x-badge>sup{position:absolute;top:0;right:0;overflow:hidden;transform:translate(50%,-50%);transform-origin:100% 0%;border-radius:.625rem;color:var(--x-white);display:inline-block;height:1.125rem;line-height:1.125rem;padding:0 .375rem;text-align:center;white-space:nowrap;box-shadow:0 0 0 .0625rem var(--x-white);vertical-align:middle}.x-badge-dot>sup{width:.5rem;height:.5rem;padding:0;right:0;border-radius:50%}.x-badge-standalone>sup{position:initial;transform:initial;transform-origin:initial}.x-badge-scroll{position:relative;height:1.125rem;display:inline-block;transition:transform var(--x-animation-duration-base) ease-in-out}.x-badge-primary>sup{background-color:var(--x-primary)}.x-badge-success>sup{background-color:var(--x-success)}.x-badge-info>sup{background-color:var(--x-info)}.x-badge-warning>sup{background-color:var(--x-warning)}.x-badge-danger>sup{background-color:var(--x-danger)}.x-badge-text>sup{background-color:var(--x-text)}\n"], dependencies: [{ kind: "directive", type:
|
|
122
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBadgeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XBadgeComponent, isStandalone: true, selector: "x-badge", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #badge class=\"x-badge\" [ngClass]=\"classMap\" [class.x-badge-dot]=\"dot\" [class.x-badge-standalone]=\"standalone\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"valueNumber > 0 || dot\">\r\n <sup *ngIf=\"standalone\" [@x-badge-standalone-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n <sup *ngIf=\"!standalone\" [@x-badge-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #diaplayValueTpl>\r\n <span\r\n class=\"x-badge-scroll\"\r\n *ngFor=\"let item of maxNums; let i = index\"\r\n [style.transform]=\"'translateY(-' + (displayNums[i] == '+' ? 10 : displayNums[i]) * 100 + '%)'\"\r\n >\r\n <p *ngFor=\"let j of range\">{{ j }}</p>\r\n </span>\r\n</ng-template>\r\n", styles: ["x-badge{display:inline-block}.x-badge{margin:0;padding:0;font-size:var(--x-font-size);display:inline-block;box-sizing:border-box;text-align:center;position:relative}.x-badge>sup{position:absolute;top:0;right:0;overflow:hidden;transform:translate(50%,-50%);transform-origin:100% 0%;border-radius:.625rem;color:var(--x-white);display:inline-block;height:1.125rem;line-height:1.125rem;padding:0 .375rem;text-align:center;white-space:nowrap;box-shadow:0 0 0 .0625rem var(--x-white);vertical-align:middle}.x-badge-dot>sup{width:.5rem;height:.5rem;padding:0;right:0;border-radius:50%}.x-badge-standalone>sup{position:initial;transform:initial;transform-origin:initial}.x-badge-scroll{position:relative;height:1.125rem;display:inline-block;transition:transform var(--x-animation-duration-base) ease-in-out}.x-badge-primary>sup{background-color:var(--x-primary)}.x-badge-success>sup{background-color:var(--x-success)}.x-badge-info>sup{background-color:var(--x-info)}.x-badge-warning>sup{background-color:var(--x-warning)}.x-badge-danger>sup{background-color:var(--x-danger)}.x-badge-text>sup{background-color:var(--x-text)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [XBadgeAnimation, XBadgeStandaloneAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
129
124
|
}
|
|
130
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBadgeComponent, decorators: [{
|
|
131
126
|
type: Component,
|
|
132
|
-
args: [{ selector: `${XBadgePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XBadgeAnimation, XBadgeStandaloneAnimation], template: "<div #badge class=\"x-badge\" [ngClass]=\"classMap\" [class.x-badge-dot]=\"dot\" [class.x-badge-standalone]=\"standalone\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"valueNumber > 0 || dot\">\r\n <sup *ngIf=\"standalone\" [@x-badge-standalone-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n <sup *ngIf=\"!standalone\" [@x-badge-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #diaplayValueTpl>\r\n <span\r\n class=\"x-badge-scroll\"\r\n *ngFor=\"let item of maxNums; let i = index\"\r\n [style.transform]=\"'translateY(-' + (displayNums[i] == '+' ? 10 : displayNums[i]) * 100 + '%)'\"\r\n >\r\n <p *ngFor=\"let j of range\">{{ j }}</p>\r\n </span>\r\n</ng-template>\r\n", styles: ["x-badge{display:inline-block}.x-badge{margin:0;padding:0;font-size:var(--x-font-size);display:inline-block;box-sizing:border-box;text-align:center;position:relative}.x-badge>sup{position:absolute;top:0;right:0;overflow:hidden;transform:translate(50%,-50%);transform-origin:100% 0%;border-radius:.625rem;color:var(--x-white);display:inline-block;height:1.125rem;line-height:1.125rem;padding:0 .375rem;text-align:center;white-space:nowrap;box-shadow:0 0 0 .0625rem var(--x-white);vertical-align:middle}.x-badge-dot>sup{width:.5rem;height:.5rem;padding:0;right:0;border-radius:50%}.x-badge-standalone>sup{position:initial;transform:initial;transform-origin:initial}.x-badge-scroll{position:relative;height:1.125rem;display:inline-block;transition:transform var(--x-animation-duration-base) ease-in-out}.x-badge-primary>sup{background-color:var(--x-primary)}.x-badge-success>sup{background-color:var(--x-success)}.x-badge-info>sup{background-color:var(--x-info)}.x-badge-warning>sup{background-color:var(--x-warning)}.x-badge-danger>sup{background-color:var(--x-danger)}.x-badge-text>sup{background-color:var(--x-text)}\n"] }]
|
|
133
|
-
}]
|
|
127
|
+
args: [{ selector: `${XBadgePrefix}`, standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XBadgeAnimation, XBadgeStandaloneAnimation], template: "<div #badge class=\"x-badge\" [ngClass]=\"classMap\" [class.x-badge-dot]=\"dot\" [class.x-badge-standalone]=\"standalone\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"valueNumber > 0 || dot\">\r\n <sup *ngIf=\"standalone\" [@x-badge-standalone-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n <sup *ngIf=\"!standalone\" [@x-badge-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #diaplayValueTpl>\r\n <span\r\n class=\"x-badge-scroll\"\r\n *ngFor=\"let item of maxNums; let i = index\"\r\n [style.transform]=\"'translateY(-' + (displayNums[i] == '+' ? 10 : displayNums[i]) * 100 + '%)'\"\r\n >\r\n <p *ngFor=\"let j of range\">{{ j }}</p>\r\n </span>\r\n</ng-template>\r\n", styles: ["x-badge{display:inline-block}.x-badge{margin:0;padding:0;font-size:var(--x-font-size);display:inline-block;box-sizing:border-box;text-align:center;position:relative}.x-badge>sup{position:absolute;top:0;right:0;overflow:hidden;transform:translate(50%,-50%);transform-origin:100% 0%;border-radius:.625rem;color:var(--x-white);display:inline-block;height:1.125rem;line-height:1.125rem;padding:0 .375rem;text-align:center;white-space:nowrap;box-shadow:0 0 0 .0625rem var(--x-white);vertical-align:middle}.x-badge-dot>sup{width:.5rem;height:.5rem;padding:0;right:0;border-radius:50%}.x-badge-standalone>sup{position:initial;transform:initial;transform-origin:initial}.x-badge-scroll{position:relative;height:1.125rem;display:inline-block;transition:transform var(--x-animation-duration-base) ease-in-out}.x-badge-primary>sup{background-color:var(--x-primary)}.x-badge-success>sup{background-color:var(--x-success)}.x-badge-info>sup{background-color:var(--x-info)}.x-badge-warning>sup{background-color:var(--x-warning)}.x-badge-danger>sup{background-color:var(--x-danger)}.x-badge-text>sup{background-color:var(--x-text)}\n"] }]
|
|
128
|
+
}] });
|
|
134
129
|
|
|
135
130
|
class XBadgeModule {
|
|
136
131
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
137
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: XBadgeModule,
|
|
138
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBadgeModule, imports: [
|
|
132
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: XBadgeModule, imports: [XBadgeComponent], exports: [XBadgeComponent] }); }
|
|
133
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBadgeModule, imports: [XBadgeComponent] }); }
|
|
139
134
|
}
|
|
140
135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XBadgeModule, decorators: [{
|
|
141
136
|
type: NgModule,
|
|
142
137
|
args: [{
|
|
143
|
-
declarations: [XBadgeComponent, XBadgeProperty],
|
|
144
138
|
exports: [XBadgeComponent],
|
|
145
|
-
imports: [
|
|
139
|
+
imports: [XBadgeComponent]
|
|
146
140
|
}]
|
|
147
141
|
}] });
|
|
148
142
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-badge.mjs","sources":["../../../../lib/ng-nest/ui/badge/badge.property.ts","../../../../lib/ng-nest/ui/badge/badge.component.ts","../../../../lib/ng-nest/ui/badge/badge.component.html","../../../../lib/ng-nest/ui/badge/badge.module.ts","../../../../lib/ng-nest/ui/badge/ng-nest-ui-badge.ts"],"sourcesContent":["import { XProperty, XInputNumber, XInputBoolean, XNumber, XBoolean, XType, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Badge\r\n * @selector x-badge\r\n * @decorator component\r\n */\r\nexport const XBadgePrefix = 'x-badge';\r\nconst X_CONFIG_NAME = 'badge';\r\n\r\n/**\r\n * Badge Property\r\n */\r\n@Component({ selector: `${XBadgePrefix}-property`, template: '' })\r\nexport class XBadgeProperty extends XProperty {\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n @Input() @XWithConfig<XBadgeType>(X_CONFIG_NAME, 'danger') type?: XBadgeType;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n @Input() @XInputNumber() max?: XNumber;\r\n /**\r\n * @zh_CN 显示值\r\n * @en_US Display value\r\n */\r\n @Input() value: XNumber = '';\r\n /**\r\n * @zh_CN 偏移值 [left, top]\r\n * @en_US Offset value\r\n */\r\n @Input() offset: (number | string)[] = [];\r\n /**\r\n * @zh_CN 是否显示小红点\r\n * @en_US Whether to show the small red dot\r\n */\r\n @Input() @XInputBoolean() dot?: XBoolean;\r\n /**\r\n * @zh_CN 独立使用\r\n * @en_US Independent use\r\n */\r\n @Input() @XInputBoolean() standalone?: XBoolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 标记类型\r\n * @en_US Mark type\r\n */\r\nexport type XBadgeType = XType;\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges\r\n} from '@angular/core';\r\nimport { XBadgePrefix, XBadgeProperty } from './badge.property';\r\nimport { XIsNumber, XIsChange, XIsEmpty, XConfigService, XIsArray, XBadgeAnimation, XBadgeStandaloneAnimation } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XBadgePrefix}`,\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XBadgeAnimation, XBadgeStandaloneAnimation]\r\n})\r\nexport class XBadgeComponent extends XBadgeProperty implements OnInit, OnChanges {\r\n displayValue: string = '';\r\n viewInit = false;\r\n range = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, '+'];\r\n displayNums: any[] = [];\r\n maxNums: number[] = [];\r\n\r\n get valueNumber() {\r\n return Number(this.value);\r\n }\r\n\r\n get getOffsetRight() {\r\n if (this.offset && XIsArray(this.offset) && this.offset.length > 0) {\r\n return `-${this.offset[0]}`;\r\n }\r\n return null;\r\n }\r\n\r\n get getOffsetTop() {\r\n if (this.offset && XIsArray(this.offset) && this.offset.length > 1) {\r\n return this.offset[1];\r\n }\r\n return null;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n const { value } = simples;\r\n XIsChange(value) && this.setDisplayValue();\r\n }\r\n\r\n ngAfterViewInit() {}\r\n\r\n setClassMap() {\r\n this.classMap[`${XBadgePrefix}-${this.type}`] = !XIsEmpty(this.type);\r\n }\r\n\r\n setDisplayValue() {\r\n let toNumber = Number(this.value);\r\n if (XIsNumber(toNumber) && this.max && toNumber > Number(this.max)) {\r\n this.displayValue = `${this.max}+`;\r\n } else {\r\n this.displayValue = `${this.value}`;\r\n }\r\n let res: any = [];\r\n for (let i = 0; i < this.displayValue.length; i++) {\r\n let str = this.displayValue[i];\r\n if (str === '+') {\r\n res.push(str);\r\n } else {\r\n res.push(Number(str));\r\n }\r\n }\r\n this.displayNums = res;\r\n if (this.displayNums.length != this.maxNums.length) {\r\n this.maxNums = this.displayNums.map((_x, index) => index) as number[];\r\n }\r\n }\r\n}\r\n","<div #badge class=\"x-badge\" [ngClass]=\"classMap\" [class.x-badge-dot]=\"dot\" [class.x-badge-standalone]=\"standalone\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"valueNumber > 0 || dot\">\r\n <sup *ngIf=\"standalone\" [@x-badge-standalone-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n <sup *ngIf=\"!standalone\" [@x-badge-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #diaplayValueTpl>\r\n <span\r\n class=\"x-badge-scroll\"\r\n *ngFor=\"let item of maxNums; let i = index\"\r\n [style.transform]=\"'translateY(-' + (displayNums[i] == '+' ? 10 : displayNums[i]) * 100 + '%)'\"\r\n >\r\n <p *ngFor=\"let j of range\">{{ j }}</p>\r\n </span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XBadgeComponent } from './badge.component';\r\nimport { XBadgeProperty } from './badge.property';\r\n\r\n@NgModule({\r\n declarations: [XBadgeComponent, XBadgeProperty],\r\n exports: [XBadgeComponent],\r\n imports: [CommonModule]\r\n})\r\nexport class XBadgeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-badge.mjs","sources":["../../../../lib/ng-nest/ui/badge/badge.property.ts","../../../../lib/ng-nest/ui/badge/badge.component.ts","../../../../lib/ng-nest/ui/badge/badge.component.html","../../../../lib/ng-nest/ui/badge/badge.module.ts","../../../../lib/ng-nest/ui/badge/ng-nest-ui-badge.ts"],"sourcesContent":["import { XProperty, XInputNumber, XInputBoolean, XNumber, XBoolean, XType, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Badge\r\n * @selector x-badge\r\n * @decorator component\r\n */\r\nexport const XBadgePrefix = 'x-badge';\r\nconst X_CONFIG_NAME = 'badge';\r\n\r\n/**\r\n * Badge Property\r\n */\r\n@Component({ selector: `${XBadgePrefix}-property`, template: '' })\r\nexport class XBadgeProperty extends XProperty {\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n @Input() @XWithConfig<XBadgeType>(X_CONFIG_NAME, 'danger') type?: XBadgeType;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n @Input() @XInputNumber() max?: XNumber;\r\n /**\r\n * @zh_CN 显示值\r\n * @en_US Display value\r\n */\r\n @Input() value: XNumber = '';\r\n /**\r\n * @zh_CN 偏移值 [left, top]\r\n * @en_US Offset value\r\n */\r\n @Input() offset: (number | string)[] = [];\r\n /**\r\n * @zh_CN 是否显示小红点\r\n * @en_US Whether to show the small red dot\r\n */\r\n @Input() @XInputBoolean() dot?: XBoolean;\r\n /**\r\n * @zh_CN 独立使用\r\n * @en_US Independent use\r\n */\r\n @Input() @XInputBoolean() standalone?: XBoolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 标记类型\r\n * @en_US Mark type\r\n */\r\nexport type XBadgeType = XType;\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n inject\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XBadgePrefix, XBadgeProperty } from './badge.property';\r\nimport {\r\n XIsNumber,\r\n XIsChange,\r\n XIsEmpty,\r\n XConfigService,\r\n XIsArray,\r\n XBadgeAnimation,\r\n XBadgeStandaloneAnimation\r\n} from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XBadgePrefix}`,\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XBadgeAnimation, XBadgeStandaloneAnimation]\r\n})\r\nexport class XBadgeComponent extends XBadgeProperty implements OnInit, OnChanges {\r\n displayValue: string = '';\r\n viewInit = false;\r\n range = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, '+'];\r\n displayNums: any[] = [];\r\n maxNums: number[] = [];\r\n\r\n get valueNumber() {\r\n return Number(this.value);\r\n }\r\n\r\n get getOffsetRight() {\r\n if (this.offset && XIsArray(this.offset) && this.offset.length > 0) {\r\n return `-${this.offset[0]}`;\r\n }\r\n return null;\r\n }\r\n\r\n get getOffsetTop() {\r\n if (this.offset && XIsArray(this.offset) && this.offset.length > 1) {\r\n return this.offset[1];\r\n }\r\n return null;\r\n }\r\n\r\n configService = inject(XConfigService);\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n const { value } = simples;\r\n XIsChange(value) && this.setDisplayValue();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap[`${XBadgePrefix}-${this.type}`] = !XIsEmpty(this.type);\r\n }\r\n\r\n setDisplayValue() {\r\n let toNumber = Number(this.value);\r\n if (XIsNumber(toNumber) && this.max && toNumber > Number(this.max)) {\r\n this.displayValue = `${this.max}+`;\r\n } else {\r\n this.displayValue = `${this.value}`;\r\n }\r\n let res: any = [];\r\n for (let i = 0; i < this.displayValue.length; i++) {\r\n let str = this.displayValue[i];\r\n if (str === '+') {\r\n res.push(str);\r\n } else {\r\n res.push(Number(str));\r\n }\r\n }\r\n this.displayNums = res;\r\n if (this.displayNums.length != this.maxNums.length) {\r\n this.maxNums = this.displayNums.map((_x, index) => index) as number[];\r\n }\r\n }\r\n}\r\n","<div #badge class=\"x-badge\" [ngClass]=\"classMap\" [class.x-badge-dot]=\"dot\" [class.x-badge-standalone]=\"standalone\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"valueNumber > 0 || dot\">\r\n <sup *ngIf=\"standalone\" [@x-badge-standalone-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n <sup *ngIf=\"!standalone\" [@x-badge-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #diaplayValueTpl>\r\n <span\r\n class=\"x-badge-scroll\"\r\n *ngFor=\"let item of maxNums; let i = index\"\r\n [style.transform]=\"'translateY(-' + (displayNums[i] == '+' ? 10 : displayNums[i]) * 100 + '%)'\"\r\n >\r\n <p *ngFor=\"let j of range\">{{ j }}</p>\r\n </span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XBadgeComponent } from './badge.component';\r\n\r\n@NgModule({\r\n exports: [XBadgeComponent],\r\n imports: [XBadgeComponent]\r\n})\r\nexport class XBadgeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|