From 3017658c2c4693b6df6ddbd0cee9f279532bed13 Mon Sep 17 00:00:00 2001 From: ng-nest-moon Date: Tue, 21 Nov 2023 21:17:56 +0800 Subject: [PATCH] refactor(standalone): update some components to standalone components includes: Affix Button Icon Badge Avatar Empty Link I18n Ripple --- .../13__ui/src/layout/index/index.module.ts | 4 +- .../9__ui/src/layout/index/index.module.ts | 4 +- .../src/main/system/users/user.module.ts | 4 +- .../src/main/system/users/user.module.ts | 4 +- .../src/main/system/users/user.module.ts | 8 +- .../demo/3.1__my-app/src/app/app.module.ts | 4 +- docs/ui/i18n/demo/3__module/module.ts | 2 +- lib/ng-nest/ui/affix/affix.component.spec.ts | 17 +- lib/ng-nest/ui/affix/affix.component.ts | 8 +- lib/ng-nest/ui/affix/affix.module.ts | 5 +- lib/ng-nest/ui/affix/affix.property.ts | 2 +- .../default/default/default.component.ts | 4 + .../en_US/default/scope/scope.component.ts | 4 + .../default/default/default.component.ts | 4 + .../zh_CN/default/scope/scope.component.ts | 4 + lib/ng-nest/ui/alert/alert.component.spec.ts | 38 +- lib/ng-nest/ui/alert/alert.component.ts | 31 +- lib/ng-nest/ui/alert/alert.module.ts | 10 +- lib/ng-nest/ui/alert/alert.property.ts | 14 +- .../en_US/default/custom/custom.component.ts | 4 + .../default/default/default.component.ts | 3 + .../description/description.component.ts | 3 + .../en_US/default/effect/effect.component.ts | 3 + .../en_US/default/icon/icon.component.ts | 3 + .../zh_CN/default/custom/custom.component.ts | 4 + .../default/default/default.component.ts | 3 + .../description/description.component.ts | 3 + .../zh_CN/default/effect/effect.component.ts | 3 + .../zh_CN/default/icon/icon.component.ts | 3 + .../ui/anchor/anchor.component.spec.ts | 4 +- lib/ng-nest/ui/anchor/anchor.module.ts | 4 +- lib/ng-nest/ui/api/api.component.spec.ts | 5 +- lib/ng-nest/ui/api/api.component.ts | 19 +- lib/ng-nest/ui/api/api.module.ts | 4 +- .../auto-complete.component.spec.ts | 8 +- .../ui/auto-complete/auto-complete.module.ts | 16 +- .../ui/avatar/avatar-group.component.ts | 5 +- .../ui/avatar/avatar.component.spec.ts | 13 +- lib/ng-nest/ui/avatar/avatar.component.ts | 23 +- lib/ng-nest/ui/avatar/avatar.module.ts | 7 +- lib/ng-nest/ui/avatar/avatar.property.ts | 16 +- .../en_US/default/badge/badge.component.ts | 5 + .../default/default/default.component.ts | 3 + .../default/display/display.component.ts | 3 + .../default/fallback/fallback.component.ts | 3 + .../en_US/default/fit/fit.component.ts | 3 + .../en_US/default/group/group.component.ts | 3 + .../en_US/default/label/label.component.ts | 4 + .../default/response/response.component.ts | 3 + .../zh_CN/default/badge/badge.component.ts | 5 + .../default/default/default.component.ts | 3 + .../default/display/display.component.ts | 3 + .../default/fallback/fallback.component.ts | 3 + .../zh_CN/default/fit/fit.component.ts | 3 + .../zh_CN/default/group/group.component.ts | 3 + .../zh_CN/default/label/label.component.ts | 4 + .../default/response/response.component.ts | 3 + .../ui/back-top/back-top.component.spec.ts | 4 +- lib/ng-nest/ui/back-top/back-top.module.ts | 4 +- lib/ng-nest/ui/badge/badge.component.spec.ts | 13 +- lib/ng-nest/ui/badge/badge.component.ts | 30 +- lib/ng-nest/ui/badge/badge.module.ts | 5 +- lib/ng-nest/ui/badge/badge.property.ts | 2 +- .../default/animation/animation.component.ts | 4 + .../en_US/default/color/color.component.ts | 4 + .../en_US/default/custom/custom.component.ts | 4 + .../default/default/default.component.ts | 4 + .../en_US/default/dot/dot.component.ts | 5 + .../en_US/default/max/max.component.ts | 4 + .../en_US/default/offset/offset.component.ts | 4 + .../standalone/standalone.component.ts | 3 + .../default/animation/animation.component.ts | 4 + .../zh_CN/default/color/color.component.ts | 4 + .../zh_CN/default/custom/custom.component.ts | 4 + .../default/default/default.component.ts | 4 + .../zh_CN/default/dot/dot.component.ts | 5 + .../zh_CN/default/max/max.component.ts | 4 + .../zh_CN/default/offset/offset.component.ts | 6 +- .../standalone/standalone.component.ts | 3 + .../ui/base-form/base-form.component.ts | 40 +- lib/ng-nest/ui/base-form/base-form.module.ts | 5 +- .../ui/base-form/base-form.property.ts | 13 +- .../ui/button/button.component.spec.ts | 13 +- lib/ng-nest/ui/button/button.component.ts | 37 +- lib/ng-nest/ui/button/button.module.ts | 7 +- lib/ng-nest/ui/button/button.property.ts | 16 +- lib/ng-nest/ui/button/buttons.component.ts | 34 +- .../default/default/default.component.ts | 3 + .../default/disabled/disabled.component.ts | 3 + .../en_US/default/group/group.component.ts | 3 + .../en_US/default/icon/icon.component.ts | 3 + .../default/loading/loading.component.ts | 3 + .../en_US/default/size/size.component.ts | 3 + .../en_US/default/text/text.component.ts | 3 + .../default/default/default.component.ts | 3 + .../default/disabled/disabled.component.ts | 3 + .../zh_CN/default/group/group.component.ts | 3 + .../zh_CN/default/icon/icon.component.ts | 3 + .../default/loading/loading.component.ts | 3 + .../zh_CN/default/size/size.component.ts | 3 + .../zh_CN/default/text/text.component.ts | 3 + .../ui/calendar/calendar.component.spec.ts | 8 +- lib/ng-nest/ui/calendar/calendar.module.ts | 18 +- lib/ng-nest/ui/card/card.component.spec.ts | 8 +- lib/ng-nest/ui/card/card.module.ts | 6 +- .../ui/carousel/carousel.component.spec.ts | 8 +- lib/ng-nest/ui/carousel/carousel.module.ts | 4 +- .../ui/cascade/cascade.component.spec.ts | 4 +- lib/ng-nest/ui/cascade/cascade.module.ts | 4 +- .../ui/checkbox/checkbox.component.spec.ts | 4 +- lib/ng-nest/ui/checkbox/checkbox.module.ts | 16 +- .../ui/collapse/collapse.component.spec.ts | 8 +- lib/ng-nest/ui/collapse/collapse.module.ts | 6 +- .../ui/color-picker/color-picker.module.ts | 28 +- .../ui/comment/comment.component.spec.ts | 8 +- lib/ng-nest/ui/comment/comment.module.ts | 24 +- lib/ng-nest/ui/core/config/config.service.ts | 28 +- lib/ng-nest/ui/core/config/config.spec.ts | 6 +- lib/ng-nest/ui/core/theme/theme.spec.ts | 4 +- lib/ng-nest/ui/crumb/crumb.component.spec.ts | 4 +- lib/ng-nest/ui/crumb/crumb.module.ts | 6 +- .../date-picker/date-picker.component.spec.ts | 4 +- .../ui/date-picker/date-picker.module.ts | 24 +- .../ui/description/description.module.ts | 4 +- .../ui/dialog/dialog.component.spec.ts | 12 +- lib/ng-nest/ui/dialog/dialog.module.ts | 25 +- lib/ng-nest/ui/doc/doc.component.spec.ts | 22 +- .../ui/drawer/drawer.component.spec.ts | 8 +- lib/ng-nest/ui/drawer/drawer.module.ts | 6 +- .../ui/dropdown/dropdown.component.spec.ts | 6 +- lib/ng-nest/ui/empty/empty.component.spec.ts | 13 +- lib/ng-nest/ui/empty/empty.component.ts | 24 +- lib/ng-nest/ui/empty/empty.module.ts | 8 +- lib/ng-nest/ui/empty/empty.property.ts | 2 +- .../en_US/default/custom/custom.component.ts | 5 + .../default/default/default.component.ts | 3 + .../zh_CN/default/custom/custom.component.ts | 5 + .../default/default/default.component.ts | 3 + lib/ng-nest/ui/find/find.module.ts | 16 +- lib/ng-nest/ui/form/form.component.spec.ts | 4 +- lib/ng-nest/ui/form/form.module.ts | 16 +- lib/ng-nest/ui/highlight/highlight.module.ts | 4 +- lib/ng-nest/ui/i18n/i18n.directive.ts | 21 +- lib/ng-nest/ui/i18n/i18n.module.ts | 2 +- lib/ng-nest/ui/i18n/i18n.pipe.spec.ts | 12 +- lib/ng-nest/ui/i18n/i18n.pipe.ts | 3 +- lib/ng-nest/ui/i18n/i18n.service.ts | 4 +- .../ant-design/ant-design.component.ts | 6 + .../en_US/default/eva/eva.component.ts | 6 + .../default/feather/feather.component.ts | 6 + .../font-awesome/font-awesome.component.ts | 6 + .../material-design.component.ts | 6 + .../ant-design/ant-design.component.ts | 6 + .../zh_CN/default/eva/eva.component.ts | 6 + .../default/feather/feather.component.ts | 6 + .../font-awesome/font-awesome.component.ts | 6 + .../material-design.component.ts | 6 + lib/ng-nest/ui/icon/icon.component.spec.ts | 5 +- lib/ng-nest/ui/icon/icon.component.ts | 39 +- lib/ng-nest/ui/icon/icon.module.ts | 5 +- lib/ng-nest/ui/icon/icon.property.ts | 13 +- lib/ng-nest/ui/icon/icon.service.ts | 15 +- lib/ng-nest/ui/image/image.component.spec.ts | 8 +- lib/ng-nest/ui/image/image.module.ts | 24 +- .../ui/input-number/input-number.module.ts | 13 +- lib/ng-nest/ui/input/input.component.spec.ts | 4 +- lib/ng-nest/ui/input/input.module.ts | 15 +- .../ui/keyword/keyword.directive.spec.ts | 4 +- .../default/default/default.component.ts | 4 + .../default/disabled/disabled.component.ts | 4 + .../en_US/default/icon/icon.component.ts | 4 + .../default/underline/underline.component.ts | 4 + .../default/default/default.component.ts | 4 + .../default/disabled/disabled.component.ts | 4 + .../zh_CN/default/icon/icon.component.ts | 4 + .../default/underline/underline.component.ts | 4 + lib/ng-nest/ui/link/link.component.spec.ts | 15 +- lib/ng-nest/ui/link/link.component.ts | 20 +- lib/ng-nest/ui/link/link.module.ts | 8 +- lib/ng-nest/ui/link/link.property.ts | 2 +- lib/ng-nest/ui/list/list.module.ts | 28 +- .../ui/loading/loading.component.spec.ts | 8 +- lib/ng-nest/ui/loading/loading.module.ts | 6 +- lib/ng-nest/ui/menu/menu.component.spec.ts | 4 +- lib/ng-nest/ui/menu/menu.module.ts | 4 +- .../message-box/message-box.component.spec.ts | 4 +- .../ui/message-box/message-box.module.ts | 21 +- .../ui/message/message.component.spec.ts | 4 +- lib/ng-nest/ui/message/message.module.ts | 4 +- .../notification.component.spec.ts | 4 +- .../ui/notification/notification.module.ts | 4 +- .../ui/outlet/outlet.directive.spec.ts | 4 +- lib/ng-nest/ui/outlet/outlet.directive.ts | 17 +- lib/ng-nest/ui/outlet/outlet.module.ts | 4 +- .../ui/page-header/page-header.module.ts | 4 +- .../pagination/pagination.component.spec.ts | 4 +- .../ui/pagination/pagination.module.ts | 17 +- .../ui/pattern/pattern.component.spec.ts | 5 +- lib/ng-nest/ui/pattern/pattern.component.ts | 18 +- lib/ng-nest/ui/pattern/pattern.module.ts | 4 +- .../popconfirm/popconfirm.component.spec.ts | 8 +- .../ui/popconfirm/popconfirm.module.ts | 8 +- .../ui/popover/popover.directive.spec.ts | 6 +- lib/ng-nest/ui/popover/popover.module.ts | 4 +- .../ui/progress/progress.component.spec.ts | 8 +- lib/ng-nest/ui/progress/progress.module.ts | 4 +- lib/ng-nest/ui/radio/radio.component.spec.ts | 4 +- lib/ng-nest/ui/radio/radio.module.ts | 16 +- lib/ng-nest/ui/rate/rate.component.spec.ts | 6 +- lib/ng-nest/ui/rate/rate.module.ts | 8 +- .../ui/resizable/resizable.directive.spec.ts | 4 +- .../ui/resizable/resizable.directive.ts | 116 +- lib/ng-nest/ui/resizable/resizable.module.ts | 6 +- .../ui/resizable/resizable.property.ts | 12 +- .../ui/result/result.component.spec.ts | 8 +- lib/ng-nest/ui/result/result.module.ts | 6 +- .../ui/ripple/ripple.directive.spec.ts | 15 +- lib/ng-nest/ui/ripple/ripple.directive.ts | 3 +- lib/ng-nest/ui/ripple/ripple.module.ts | 7 +- lib/ng-nest/ui/select/select.module.ts | 12 +- .../ui/skeleton/skeleton.component.spec.ts | 16 +- .../slider-select.component.spec.ts | 8 +- .../ui/slider-select/slider-select.module.ts | 8 +- .../ui/slider/slider.component.spec.ts | 4 +- lib/ng-nest/ui/slider/slider.module.ts | 8 +- .../ui/statistic/statistic.component.spec.ts | 8 +- lib/ng-nest/ui/statistic/statistic.module.ts | 4 +- lib/ng-nest/ui/steps/steps.component.spec.ts | 4 +- lib/ng-nest/ui/steps/steps.module.ts | 6 +- lib/ng-nest/ui/style/params/colors.scss | 2 +- .../ui/switch/switch.component.spec.ts | 4 +- lib/ng-nest/ui/switch/switch.module.ts | 6 +- lib/ng-nest/ui/table/table.component.spec.ts | 16 +- lib/ng-nest/ui/table/table.module.ts | 16 +- lib/ng-nest/ui/tabs/tabs.component.spec.ts | 8 +- lib/ng-nest/ui/tabs/tabs.module.ts | 14 +- lib/ng-nest/ui/tag/tag.component.spec.ts | 8 +- lib/ng-nest/ui/tag/tag.module.ts | 6 +- .../text-retract.component.spec.ts | 6 +- .../ui/text-retract/text-retract.module.ts | 6 +- lib/ng-nest/ui/textarea/textarea.module.ts | 6 +- lib/ng-nest/ui/theme/theme.component.spec.ts | 4 +- lib/ng-nest/ui/theme/theme.module.ts | 12 +- lib/ng-nest/ui/time-ago/time-ago.pipe.spec.ts | 4 +- .../ui/time-picker/time-picker.module.ts | 16 +- lib/ng-nest/ui/timeline/timeline.module.ts | 8 +- .../ui/tooltip/tooltip.directive.spec.ts | 4 +- lib/ng-nest/ui/tooltip/tooltip.module.ts | 4 +- .../ui/transfer/transfer.component.spec.ts | 8 +- lib/ng-nest/ui/transfer/transfer.module.ts | 20 +- .../ui/tree-file/tree-file.component.spec.ts | 8 +- lib/ng-nest/ui/tree-file/tree-file.module.ts | 6 +- .../ui/tree-select/tree-select.module.ts | 16 +- lib/ng-nest/ui/tree/tree.component.spec.ts | 14 +- lib/ng-nest/ui/tree/tree.module.ts | 12 +- .../ui/upload/upload.component.spec.ts | 8 +- lib/ng-nest/ui/upload/upload.module.ts | 18 +- src/environments/environment.development.ts | 2 +- src/main/docs/docs-routes.module.ts | 16 +- src/main/exception/404.module.ts | 4 +- src/main/home/home.module.ts | 4 +- src/main/layout/layout.module.ts | 20 +- .../test/modules/affix/affix.component.html | 2 + .../test/modules/affix/affix.component.ts | 11 + .../affix/default/default.component.html | 10 + .../affix/default/default.component.scss | 17 + .../affix/default/default.component.ts | 12 + .../modules/affix/scope/scope.component.html | 21 + .../modules/affix/scope/scope.component.scss | 17 + .../modules/affix/scope/scope.component.ts | 12 + .../test/modules/alert/alert.component.html | 6 +- .../test/modules/alert/alert.component.scss | 0 .../test/modules/alert/alert.component.ts | 16 +- src/main/test/modules/alert/alert.module.ts | 16 - .../alert/custom/custom.component.html | 18 +- .../modules/alert/custom/custom.component.ts | 10 +- .../alert/default/default.component.html | 2 +- .../alert/default/default.component.ts | 3 + .../description/description.component.html | 7 + .../description/description.component.scss | 5 + .../description/description.component.ts | 14 + .../alert/effect/effect.component.html | 6 + .../alert/effect/effect.component.scss | 5 + .../modules/alert/effect/effect.component.ts | 11 + .../modules/alert/icon/icon.component.html | 6 + .../modules/alert/icon/icon.component.scss | 5 + .../test/modules/alert/icon/icon.component.ts | 11 + src/main/test/modules/anchor/anchor.module.ts | 4 +- .../auto-complete/auto-complete.module.ts | 4 +- .../test/modules/avatar/avatar.component.html | 11 +- .../test/modules/avatar/avatar.component.scss | 0 .../test/modules/avatar/avatar.component.ts | 22 +- src/main/test/modules/avatar/avatar.module.ts | 21 - .../modules/avatar/badge/badge.component.ts | 5 + .../avatar/default/default.component.html | 4 +- .../avatar/default/default.component.ts | 3 + .../avatar/display/display.component.html | 5 + .../avatar/display/display.component.scss | 12 + .../avatar/display/display.component.ts | 15 + .../avatar/fallback/fallback.component.html | 3 + .../avatar/fallback/fallback.component.scss | 12 + .../avatar/fallback/fallback.component.ts | 11 + .../modules/avatar/fit/fit.component.html | 7 + .../modules/avatar/fit/fit.component.scss | 12 + .../test/modules/avatar/fit/fit.component.ts | 13 + .../modules/avatar/group/group.component.ts | 3 + .../modules/avatar/label/label.component.ts | 4 + .../avatar/response/response.component.ts | 3 + .../badge/animation/animation.component.html | 2 +- .../badge/animation/animation.component.ts | 4 + .../test/modules/badge/badge.component.html | 12 +- .../test/modules/badge/badge.component.scss | 0 .../test/modules/badge/badge.component.ts | 22 +- src/main/test/modules/badge/badge.module.ts | 21 - .../modules/badge/color/color.component.html | 20 + .../modules/badge/color/color.component.scss | 12 + .../modules/badge/color/color.component.ts | 12 + .../badge/custom/custom.component.html | 8 + .../badge/custom/custom.component.scss | 12 + .../modules/badge/custom/custom.component.ts | 12 + .../badge/default/default.component.scss | 2 +- .../badge/default/default.component.ts | 6 +- .../test/modules/badge/dot/dot.component.html | 8 + .../test/modules/badge/dot/dot.component.scss | 12 + .../test/modules/badge/dot/dot.component.ts | 13 + .../test/modules/badge/max/max.component.html | 8 + .../test/modules/badge/max/max.component.scss | 12 + .../test/modules/badge/max/max.component.ts | 12 + .../modules/badge/offset/offset.component.ts | 6 +- .../standalone/standalone.component.html | 7 - .../badge/standalone/standalone.component.ts | 3 + .../test/modules/button/button.component.html | 7 - .../test/modules/button/button.component.scss | 0 .../test/modules/button/button.component.ts | 20 +- src/main/test/modules/button/button.module.ts | 31 - .../button/default/default.component.ts | 5 +- .../button/disabled/disabled.component.ts | 3 + .../modules/button/group/group.component.ts | 3 + .../modules/button/icon/icon.component.ts | 3 + .../button/loading/loading.component.html | 65 +- .../button/loading/loading.component.scss | 2 +- .../button/loading/loading.component.ts | 5 +- .../modules/button/size/size.component.ts | 3 + .../modules/button/text/text.component.html | 3 - .../modules/button/text/text.component.ts | 3 + .../test/modules/checkbox/checkbox.module.ts | 4 +- .../test/modules/collapse/collapse.module.ts | 4 +- .../modules/date-picker/date-picker.module.ts | 4 +- src/main/test/modules/dialog/dialog.module.ts | 12 +- src/main/test/modules/drawer/drawer.module.ts | 4 +- .../test/modules/dropdown/dropdown.module.ts | 4 +- .../empty/custom/custom.component.html | 21 + .../empty/custom/custom.component.scss | 5 + .../modules/empty/custom/custom.component.ts | 13 + .../empty/default/default.component.html | 1 + .../empty/default/default.component.ts | 10 + .../test/modules/empty/empty.component.html | 2 + .../test/modules/empty/empty.component.ts | 11 + src/main/test/modules/form/form.module.ts | 4 +- .../icon/ant-design/ant-design.component.html | 12 + .../icon/ant-design/ant-design.component.scss | 40 + .../icon/ant-design/ant-design.component.ts | 752 +++++ .../test/modules/icon/eva/eva.component.html | 12 + .../test/modules/icon/eva/eva.component.scss | 40 + .../test/modules/icon/eva/eva.component.ts | 513 ++++ .../icon/feather/feather.component.html | 12 + .../icon/feather/feather.component.scss | 40 + .../modules/icon/feather/feather.component.ts | 302 ++ .../font-awesome/font-awesome.component.html | 12 + .../font-awesome/font-awesome.component.scss | 40 + .../font-awesome/font-awesome.component.ts | 1551 ++++++++++ .../test/modules/icon/icon.component.html | 5 + src/main/test/modules/icon/icon.component.ts | 20 + .../material-design.component.html | 12 + .../material-design.component.scss | 40 + .../material-design.component.ts | 2667 +++++++++++++++++ src/main/test/modules/image/image.module.ts | 4 +- .../input-number/input-number.module.ts | 4 +- src/main/test/modules/input/input.module.ts | 4 +- .../link/default/default.component.html | 10 + .../link/default/default.component.scss | 5 + .../modules/link/default/default.component.ts | 12 + .../link/disabled/disabled.component.html | 10 + .../link/disabled/disabled.component.scss | 5 + .../link/disabled/disabled.component.ts | 12 + .../modules/link/icon/icon.component.html | 6 + .../modules/link/icon/icon.component.scss | 5 + .../test/modules/link/icon/icon.component.ts | 12 + .../test/modules/link/link.component.html | 4 + src/main/test/modules/link/link.component.ts | 13 + .../link/underline/underline.component.html | 6 + .../link/underline/underline.component.scss | 5 + .../link/underline/underline.component.ts | 12 + src/main/test/modules/list/list.module.ts | 4 +- .../modules/message-box/message-box.module.ts | 4 +- .../test/modules/message/message.module.ts | 4 +- .../modules/popconfirm/popconfirm.module.ts | 4 +- .../test/modules/popover/popover.module.ts | 4 +- .../test/modules/progress/progress.module.ts | 11 +- src/main/test/modules/radio/radio.module.ts | 4 +- src/main/test/modules/rate/rate.module.ts | 4 +- .../slider-select/slider-select.module.ts | 8 +- src/main/test/modules/steps/steps.module.ts | 4 +- src/main/test/modules/switch/switch.module.ts | 4 +- src/main/test/modules/table/table.module.ts | 12 +- src/main/test/modules/tabs/tabs.module.ts | 13 +- src/main/test/modules/tag/tag.module.ts | 4 +- .../modules/time-picker/time-picker.module.ts | 4 +- .../test/modules/tooltip/tooltip.module.ts | 8 +- .../test/modules/transfer/transfer.module.ts | 8 +- src/main/test/modules/tree/tree.module.ts | 12 +- src/main/test/modules/upload/upload.module.ts | 4 +- src/main/test/test-routes.module.ts | 34 +- src/share/share.module.ts | 16 +- 414 files changed, 8404 insertions(+), 1113 deletions(-) create mode 100644 src/main/test/modules/affix/affix.component.html create mode 100644 src/main/test/modules/affix/affix.component.ts create mode 100644 src/main/test/modules/affix/default/default.component.html create mode 100644 src/main/test/modules/affix/default/default.component.scss create mode 100644 src/main/test/modules/affix/default/default.component.ts create mode 100644 src/main/test/modules/affix/scope/scope.component.html create mode 100644 src/main/test/modules/affix/scope/scope.component.scss create mode 100644 src/main/test/modules/affix/scope/scope.component.ts delete mode 100644 src/main/test/modules/alert/alert.component.scss delete mode 100644 src/main/test/modules/alert/alert.module.ts create mode 100644 src/main/test/modules/alert/description/description.component.html create mode 100644 src/main/test/modules/alert/description/description.component.scss create mode 100644 src/main/test/modules/alert/description/description.component.ts create mode 100644 src/main/test/modules/alert/effect/effect.component.html create mode 100644 src/main/test/modules/alert/effect/effect.component.scss create mode 100644 src/main/test/modules/alert/effect/effect.component.ts create mode 100644 src/main/test/modules/alert/icon/icon.component.html create mode 100644 src/main/test/modules/alert/icon/icon.component.scss create mode 100644 src/main/test/modules/alert/icon/icon.component.ts delete mode 100644 src/main/test/modules/avatar/avatar.component.scss delete mode 100644 src/main/test/modules/avatar/avatar.module.ts create mode 100644 src/main/test/modules/avatar/display/display.component.html create mode 100644 src/main/test/modules/avatar/display/display.component.scss create mode 100644 src/main/test/modules/avatar/display/display.component.ts create mode 100644 src/main/test/modules/avatar/fallback/fallback.component.html create mode 100644 src/main/test/modules/avatar/fallback/fallback.component.scss create mode 100644 src/main/test/modules/avatar/fallback/fallback.component.ts create mode 100644 src/main/test/modules/avatar/fit/fit.component.html create mode 100644 src/main/test/modules/avatar/fit/fit.component.scss create mode 100644 src/main/test/modules/avatar/fit/fit.component.ts delete mode 100644 src/main/test/modules/badge/badge.component.scss delete mode 100644 src/main/test/modules/badge/badge.module.ts create mode 100644 src/main/test/modules/badge/color/color.component.html create mode 100644 src/main/test/modules/badge/color/color.component.scss create mode 100644 src/main/test/modules/badge/color/color.component.ts create mode 100644 src/main/test/modules/badge/custom/custom.component.html create mode 100644 src/main/test/modules/badge/custom/custom.component.scss create mode 100644 src/main/test/modules/badge/custom/custom.component.ts create mode 100644 src/main/test/modules/badge/dot/dot.component.html create mode 100644 src/main/test/modules/badge/dot/dot.component.scss create mode 100644 src/main/test/modules/badge/dot/dot.component.ts create mode 100644 src/main/test/modules/badge/max/max.component.html create mode 100644 src/main/test/modules/badge/max/max.component.scss create mode 100644 src/main/test/modules/badge/max/max.component.ts delete mode 100644 src/main/test/modules/button/button.component.scss delete mode 100644 src/main/test/modules/button/button.module.ts create mode 100644 src/main/test/modules/empty/custom/custom.component.html create mode 100644 src/main/test/modules/empty/custom/custom.component.scss create mode 100644 src/main/test/modules/empty/custom/custom.component.ts create mode 100644 src/main/test/modules/empty/default/default.component.html create mode 100644 src/main/test/modules/empty/default/default.component.ts create mode 100644 src/main/test/modules/empty/empty.component.html create mode 100644 src/main/test/modules/empty/empty.component.ts create mode 100644 src/main/test/modules/icon/ant-design/ant-design.component.html create mode 100644 src/main/test/modules/icon/ant-design/ant-design.component.scss create mode 100644 src/main/test/modules/icon/ant-design/ant-design.component.ts create mode 100644 src/main/test/modules/icon/eva/eva.component.html create mode 100644 src/main/test/modules/icon/eva/eva.component.scss create mode 100644 src/main/test/modules/icon/eva/eva.component.ts create mode 100644 src/main/test/modules/icon/feather/feather.component.html create mode 100644 src/main/test/modules/icon/feather/feather.component.scss create mode 100644 src/main/test/modules/icon/feather/feather.component.ts create mode 100644 src/main/test/modules/icon/font-awesome/font-awesome.component.html create mode 100644 src/main/test/modules/icon/font-awesome/font-awesome.component.scss create mode 100644 src/main/test/modules/icon/font-awesome/font-awesome.component.ts create mode 100644 src/main/test/modules/icon/icon.component.html create mode 100644 src/main/test/modules/icon/icon.component.ts create mode 100644 src/main/test/modules/icon/material-design/material-design.component.html create mode 100644 src/main/test/modules/icon/material-design/material-design.component.scss create mode 100644 src/main/test/modules/icon/material-design/material-design.component.ts create mode 100644 src/main/test/modules/link/default/default.component.html create mode 100644 src/main/test/modules/link/default/default.component.scss create mode 100644 src/main/test/modules/link/default/default.component.ts create mode 100644 src/main/test/modules/link/disabled/disabled.component.html create mode 100644 src/main/test/modules/link/disabled/disabled.component.scss create mode 100644 src/main/test/modules/link/disabled/disabled.component.ts create mode 100644 src/main/test/modules/link/icon/icon.component.html create mode 100644 src/main/test/modules/link/icon/icon.component.scss create mode 100644 src/main/test/modules/link/icon/icon.component.ts create mode 100644 src/main/test/modules/link/link.component.html create mode 100644 src/main/test/modules/link/link.component.ts create mode 100644 src/main/test/modules/link/underline/underline.component.html create mode 100644 src/main/test/modules/link/underline/underline.component.scss create mode 100644 src/main/test/modules/link/underline/underline.component.ts diff --git a/docs/course/rbac/4-ui-navigation/demo/13__ui/src/layout/index/index.module.ts b/docs/course/rbac/4-ui-navigation/demo/13__ui/src/layout/index/index.module.ts index 44ad917f0..019526a5a 100644 --- a/docs/course/rbac/4-ui-navigation/demo/13__ui/src/layout/index/index.module.ts +++ b/docs/course/rbac/4-ui-navigation/demo/13__ui/src/layout/index/index.module.ts @@ -10,7 +10,7 @@ import { RouterModule } from '@angular/router'; import { mainRoutes } from 'src/environments/routes'; import { XMenuModule } from '@ng-nest/ui/menu'; import { XSliderModule } from '@ng-nest/ui/slider'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XCrumbModule } from '@ng-nest/ui/crumb'; @NgModule({ @@ -19,7 +19,7 @@ import { XCrumbModule } from '@ng-nest/ui/crumb'; CommonModule, XMenuModule, XSliderModule, - XIconModule, + XIconComponent, XCrumbModule, RouterModule.forChild([ { diff --git a/docs/course/rbac/4-ui-navigation/demo/9__ui/src/layout/index/index.module.ts b/docs/course/rbac/4-ui-navigation/demo/9__ui/src/layout/index/index.module.ts index ba044074f..7fff6135f 100644 --- a/docs/course/rbac/4-ui-navigation/demo/9__ui/src/layout/index/index.module.ts +++ b/docs/course/rbac/4-ui-navigation/demo/9__ui/src/layout/index/index.module.ts @@ -10,7 +10,7 @@ import { RouterModule } from '@angular/router'; import { mainRoutes } from 'src/environments/routes'; import { XMenuModule } from '@ng-nest/ui/menu'; import { XSliderModule } from '@ng-nest/ui/slider'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; @NgModule({ declarations: [IndexComponent, ContentComponent, CrumbComponent, HeaderComponent, SidebarComponent, TabsComponent], @@ -18,7 +18,7 @@ import { XIconModule } from '@ng-nest/ui/icon'; CommonModule, XMenuModule, XSliderModule, - XIconModule, + XIconComponent, RouterModule.forChild([ { path: '', diff --git a/docs/course/rbac/5-user-manage/demo/23__ui/src/main/system/users/user.module.ts b/docs/course/rbac/5-user-manage/demo/23__ui/src/main/system/users/user.module.ts index c91c8db0b..9da753a0c 100644 --- a/docs/course/rbac/5-user-manage/demo/23__ui/src/main/system/users/user.module.ts +++ b/docs/course/rbac/5-user-manage/demo/23__ui/src/main/system/users/user.module.ts @@ -4,14 +4,14 @@ import { UserComponent } from './user.component'; import { RouterModule } from '@angular/router'; import { XTableModule } from '@ng-nest/ui/table'; import { UserDetailComponent } from './user-detail/user-detail.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; @NgModule({ declarations: [UserComponent, UserDetailComponent], imports: [ CommonModule, XTableModule, - XButtonModule, + XButtonComponent, RouterModule.forChild([ { path: '', component: UserComponent }, { path: ':type', component: UserDetailComponent }, diff --git a/docs/course/rbac/5-user-manage/demo/24__ui/src/main/system/users/user.module.ts b/docs/course/rbac/5-user-manage/demo/24__ui/src/main/system/users/user.module.ts index 110659fec..400bee0b7 100644 --- a/docs/course/rbac/5-user-manage/demo/24__ui/src/main/system/users/user.module.ts +++ b/docs/course/rbac/5-user-manage/demo/24__ui/src/main/system/users/user.module.ts @@ -4,7 +4,7 @@ import { UserComponent } from './user.component'; import { RouterModule } from '@angular/router'; import { XTableModule } from '@ng-nest/ui/table'; import { UserDetailComponent } from './user-detail/user-detail.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XFormModule } from '@ng-nest/ui/form'; import { XMessageModule } from '@ng-nest/ui/message'; @@ -13,7 +13,7 @@ import { XMessageModule } from '@ng-nest/ui/message'; imports: [ CommonModule, XTableModule, - XButtonModule, + XButtonComponent, XFormModule, XMessageModule, RouterModule.forChild([ diff --git a/docs/course/rbac/5-user-manage/demo/25__ui/src/main/system/users/user.module.ts b/docs/course/rbac/5-user-manage/demo/25__ui/src/main/system/users/user.module.ts index d68419574..497a7282f 100644 --- a/docs/course/rbac/5-user-manage/demo/25__ui/src/main/system/users/user.module.ts +++ b/docs/course/rbac/5-user-manage/demo/25__ui/src/main/system/users/user.module.ts @@ -4,10 +4,10 @@ import { UserComponent } from './user.component'; import { RouterModule } from '@angular/router'; import { XTableModule } from '@ng-nest/ui/table'; import { UserDetailComponent } from './user-detail/user-detail.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XFormModule } from '@ng-nest/ui/form'; import { XMessageModule } from '@ng-nest/ui/message'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { XMessageBoxModule } from '@ng-nest/ui/message-box'; @NgModule({ @@ -15,10 +15,10 @@ import { XMessageBoxModule } from '@ng-nest/ui/message-box'; imports: [ CommonModule, XTableModule, - XButtonModule, + XButtonComponent, XFormModule, XMessageModule, - XLinkModule, + XLinkComponent, XMessageBoxModule, RouterModule.forChild([ { path: '', component: UserComponent }, diff --git a/docs/ui/getting-started/demo/3.1__my-app/src/app/app.module.ts b/docs/ui/getting-started/demo/3.1__my-app/src/app/app.module.ts index 3be66f0fc..d69575671 100644 --- a/docs/ui/getting-started/demo/3.1__my-app/src/app/app.module.ts +++ b/docs/ui/getting-started/demo/3.1__my-app/src/app/app.module.ts @@ -2,7 +2,7 @@ import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; @NgModule({ declarations: [ @@ -10,7 +10,7 @@ import { XButtonModule } from '@ng-nest/ui/button'; ], imports: [ BrowserModule, - XButtonModule + XButtonComponent ], providers: [], bootstrap: [AppComponent] diff --git a/docs/ui/i18n/demo/3__module/module.ts b/docs/ui/i18n/demo/3__module/module.ts index c860e1b5e..89f345378 100644 --- a/docs/ui/i18n/demo/3__module/module.ts +++ b/docs/ui/i18n/demo/3__module/module.ts @@ -1 +1 @@ -import { XI18nModule } from '@ng-nest/ui/i18n'; \ No newline at end of file +import { XI18nModule } from '@ng-nest/ui/i18n'; diff --git a/lib/ng-nest/ui/affix/affix.component.spec.ts b/lib/ng-nest/ui/affix/affix.component.spec.ts index dd52b5117..d03b3ac0b 100644 --- a/lib/ng-nest/ui/affix/affix.component.spec.ts +++ b/lib/ng-nest/ui/affix/affix.component.spec.ts @@ -1,22 +1,27 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { XAffixComponent } from './affix.component'; import { Component, DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; -import { XAffixModule } from '@ng-nest/ui/affix'; +import { XAffixComponent } from '@ng-nest/ui/affix'; import { XAffixPrefix } from './affix.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XThemeModule } from '@ng-nest/ui/theme'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XAffixPrefix, () => { - beforeEach((() => { + beforeEach(() => { TestBed.configureTestingModule({ - imports: [BrowserAnimationsModule, HttpClientTestingModule, XAffixModule, XButtonModule, XThemeModule], + imports: [ + BrowserAnimationsModule, + HttpClientTestingModule, + XAffixComponent, + XButtonComponent, + XThemeModule + ], declarations: [TestXAffixComponent] }).compileComponents(); - })); + }); describe(`default.`, () => { let fixture: ComponentFixture; let affix: DebugElement; diff --git a/lib/ng-nest/ui/affix/affix.component.ts b/lib/ng-nest/ui/affix/affix.component.ts index e498865c8..6ab2d74f0 100644 --- a/lib/ng-nest/ui/affix/affix.component.ts +++ b/lib/ng-nest/ui/affix/affix.component.ts @@ -1,16 +1,16 @@ -import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core'; +import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject } from '@angular/core'; import { XAffixPrefix, XAffixProperty } from './affix.property'; import { XConfigService } from '@ng-nest/ui/core'; @Component({ selector: `${XAffixPrefix}`, + standalone: true, + imports: [XAffixProperty], templateUrl: './affix.component.html', styleUrls: ['./affix.component.scss'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }) export class XAffixComponent extends XAffixProperty { - constructor(public configService: XConfigService) { - super(); - } + configService = inject(XConfigService); } diff --git a/lib/ng-nest/ui/affix/affix.module.ts b/lib/ng-nest/ui/affix/affix.module.ts index 1d3165d25..2568af83a 100644 --- a/lib/ng-nest/ui/affix/affix.module.ts +++ b/lib/ng-nest/ui/affix/affix.module.ts @@ -1,11 +1,8 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { XAffixComponent } from './affix.component'; -import { XAffixProperty } from './affix.property'; @NgModule({ - declarations: [XAffixComponent, XAffixProperty], exports: [XAffixComponent], - imports: [CommonModule] + imports: [XAffixComponent] }) export class XAffixModule {} diff --git a/lib/ng-nest/ui/affix/affix.property.ts b/lib/ng-nest/ui/affix/affix.property.ts index 80417709e..2e55e54f4 100644 --- a/lib/ng-nest/ui/affix/affix.property.ts +++ b/lib/ng-nest/ui/affix/affix.property.ts @@ -12,7 +12,7 @@ const X_CONFIG_NAME = 'affix'; /** * Affix Property */ -@Component({ selector: `${XAffixPrefix}-property`, template: '' }) +@Component({ selector: `${XAffixPrefix}-property`, template: '', standalone: true }) export class XAffixProperty extends XProperty { /** * @zh_CN 距离顶部距离 diff --git a/lib/ng-nest/ui/affix/examples/en_US/default/default/default.component.ts b/lib/ng-nest/ui/affix/examples/en_US/default/default/default.component.ts index cae54f2a5..a7a1cfd0c 100644 --- a/lib/ng-nest/ui/affix/examples/en_US/default/default/default.component.ts +++ b/lib/ng-nest/ui/affix/examples/en_US/default/default/default.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XAffixComponent } from '@ng-nest/ui/affix'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XAffixComponent, XButtonComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/lib/ng-nest/ui/affix/examples/en_US/default/scope/scope.component.ts b/lib/ng-nest/ui/affix/examples/en_US/default/scope/scope.component.ts index 946f791f7..b5015fd6b 100644 --- a/lib/ng-nest/ui/affix/examples/en_US/default/scope/scope.component.ts +++ b/lib/ng-nest/ui/affix/examples/en_US/default/scope/scope.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XAffixComponent } from '@ng-nest/ui/affix'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-scope', + standalone: true, + imports: [XAffixComponent, XButtonComponent], templateUrl: './scope.component.html', styleUrls: ['./scope.component.scss'] }) diff --git a/lib/ng-nest/ui/affix/examples/zh_CN/default/default/default.component.ts b/lib/ng-nest/ui/affix/examples/zh_CN/default/default/default.component.ts index cae54f2a5..a7a1cfd0c 100644 --- a/lib/ng-nest/ui/affix/examples/zh_CN/default/default/default.component.ts +++ b/lib/ng-nest/ui/affix/examples/zh_CN/default/default/default.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XAffixComponent } from '@ng-nest/ui/affix'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XAffixComponent, XButtonComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/lib/ng-nest/ui/affix/examples/zh_CN/default/scope/scope.component.ts b/lib/ng-nest/ui/affix/examples/zh_CN/default/scope/scope.component.ts index 946f791f7..b5015fd6b 100644 --- a/lib/ng-nest/ui/affix/examples/zh_CN/default/scope/scope.component.ts +++ b/lib/ng-nest/ui/affix/examples/zh_CN/default/scope/scope.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XAffixComponent } from '@ng-nest/ui/affix'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-scope', + standalone: true, + imports: [XAffixComponent, XButtonComponent], templateUrl: './scope.component.html', styleUrls: ['./scope.component.scss'] }) diff --git a/lib/ng-nest/ui/alert/alert.component.spec.ts b/lib/ng-nest/ui/alert/alert.component.spec.ts index 5e3bdd581..8a7201d62 100644 --- a/lib/ng-nest/ui/alert/alert.component.spec.ts +++ b/lib/ng-nest/ui/alert/alert.component.spec.ts @@ -1,24 +1,32 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { XAlertComponent } from './alert.component'; import { Component, DebugElement, ChangeDetectorRef } from '@angular/core'; import { By } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { XAlertModule } from '@ng-nest/ui/alert'; +import { XAlertComponent } from '@ng-nest/ui/alert'; import { FormsModule } from '@angular/forms'; import { XAlertPrefix } from './alert.property'; import { XStatisticModule } from '@ng-nest/ui/statistic'; import { XAddSeconds } from '@ng-nest/ui/core'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XThemeModule } from '@ng-nest/ui/theme'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XAlertPrefix, () => { - beforeEach((() => { + beforeEach(() => { TestBed.configureTestingModule({ - imports: [BrowserAnimationsModule, HttpClientTestingModule, FormsModule, BrowserAnimationsModule, XButtonModule, XAlertModule, XStatisticModule, XThemeModule], + imports: [ + BrowserAnimationsModule, + HttpClientTestingModule, + FormsModule, + BrowserAnimationsModule, + XButtonComponent, + XAlertComponent, + XStatisticModule, + XThemeModule + ], declarations: [TestXAlertComponent] }).compileComponents(); - })); + }); describe(`default.`, () => { let fixture: ComponentFixture; let alert: DebugElement; @@ -58,8 +66,16 @@ describe(XAlertPrefix, () => { - - + + +
@@ -77,7 +93,8 @@ describe(XAlertPrefix, () => {
- + + {{ hide ? '显示' : '隐藏' }}
`, @@ -99,7 +116,8 @@ describe(XAlertPrefix, () => { }) class TestXAlertComponent { hide = false; - content = '天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为也,所以动心忍性,增益其所不能。'; + content = + '天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为也,所以动心忍性,增益其所不能。'; deadline = XAddSeconds(new Date(), 10).getTime(); constructor(private cdr: ChangeDetectorRef) {} diff --git a/lib/ng-nest/ui/alert/alert.component.ts b/lib/ng-nest/ui/alert/alert.component.ts index 9f4fa9ebb..213cdd073 100644 --- a/lib/ng-nest/ui/alert/alert.component.ts +++ b/lib/ng-nest/ui/alert/alert.component.ts @@ -6,16 +6,33 @@ import { ChangeDetectionStrategy, OnDestroy, SimpleChanges, - ViewChild + ViewChild, + inject } from '@angular/core'; import { XAlertPrefix, XAlertProperty } from './alert.property'; import { XFadeAnimation, XIsEmpty, XConfigService, XIsChange, XClearClass } from '@ng-nest/ui/core'; import { of, Subject } from 'rxjs'; import { delay, takeUntil } from 'rxjs/operators'; import { CdkDrag } from '@angular/cdk/drag-drop'; +import { CommonModule } from '@angular/common'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; +import { XButtonComponent } from '@ng-nest/ui/button'; +import { DragDropModule } from '@angular/cdk/drag-drop'; +import { XResizableDirective } from '@ng-nest/ui/resizable'; @Component({ selector: `${XAlertPrefix}`, + standalone: true, + imports: [ + CommonModule, + DragDropModule, + XIconComponent, + XButtonComponent, + XOutletDirective, + XResizableDirective, + XAlertProperty + ], templateUrl: './alert.component.html', styleUrls: ['./alert.component.scss'], encapsulation: ViewEncapsulation.None, @@ -25,10 +42,8 @@ import { CdkDrag } from '@angular/cdk/drag-drop'; export class XAlertComponent extends XAlertProperty implements OnInit, OnDestroy { @ViewChild('alert') alert!: CdkDrag; private _unSubject = new Subject(); - - constructor(public cdr: ChangeDetectorRef, public configService: XConfigService) { - super(); - } + private cdr = inject(ChangeDetectorRef); + configService = inject(XConfigService); ngOnInit() { this.setClassMap(); @@ -42,7 +57,7 @@ export class XAlertComponent extends XAlertProperty implements OnInit, OnDestroy ngOnChanges(changes: SimpleChanges): void { const { type, effect, title, content, showIcon, draggable } = changes; - XIsChange(type, effect, title, content, showIcon, draggable) && this.setClassMap(); + XIsChange(type, effect, title, content, showIcon, draggable) && this.setClassMap(); } setClassMap() { @@ -50,10 +65,10 @@ export class XAlertComponent extends XAlertProperty implements OnInit, OnDestroy this.classMap = { [`${XAlertPrefix}-${this.type}`]: !XIsEmpty(this.type), [`x-${this.effect}`]: !XIsEmpty(this.effect), - [`${XAlertPrefix}-icon-medium`]: !XIsEmpty(this.title) && !XIsEmpty(this.content) && !XIsEmpty(this.showIcon), + [`${XAlertPrefix}-icon-medium`]: + !XIsEmpty(this.title) && !XIsEmpty(this.content) && !XIsEmpty(this.showIcon), [`${XAlertPrefix}-draggable`]: Boolean(this.draggable) }; - } setDuration() { diff --git a/lib/ng-nest/ui/alert/alert.module.ts b/lib/ng-nest/ui/alert/alert.module.ts index 1ba388cf5..6ddd62b79 100644 --- a/lib/ng-nest/ui/alert/alert.module.ts +++ b/lib/ng-nest/ui/alert/alert.module.ts @@ -1,16 +1,8 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { XAlertComponent } from './alert.component'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XOutletModule } from '@ng-nest/ui/outlet'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { XAlertProperty } from './alert.property'; -import { DragDropModule } from '@angular/cdk/drag-drop'; -import { XResizableModule } from '@ng-nest/ui/resizable'; @NgModule({ - declarations: [XAlertComponent, XAlertProperty], exports: [XAlertComponent], - imports: [CommonModule, DragDropModule, XIconModule, XButtonModule, XOutletModule, XResizableModule] + imports: [XAlertComponent] }) export class XAlertModule {} diff --git a/lib/ng-nest/ui/alert/alert.property.ts b/lib/ng-nest/ui/alert/alert.property.ts index 10544a504..198755afe 100644 --- a/lib/ng-nest/ui/alert/alert.property.ts +++ b/lib/ng-nest/ui/alert/alert.property.ts @@ -1,4 +1,14 @@ -import { XStatus, XTemplate, XEffect, XProperty, XInputBoolean, XInputNumber, XBoolean, XNumber, XWithConfig } from '@ng-nest/ui/core'; +import { + XStatus, + XTemplate, + XEffect, + XProperty, + XInputBoolean, + XInputNumber, + XBoolean, + XNumber, + XWithConfig +} from '@ng-nest/ui/core'; import { Input, EventEmitter, Output, Component, ElementRef } from '@angular/core'; import { CdkDragEnd } from '@angular/cdk/drag-drop'; import { XResizableEvent } from '@ng-nest/ui/resizable'; @@ -14,7 +24,7 @@ const X_CONFIG_NAME = 'alert'; /** * Alert Property */ -@Component({ selector: `${XAlertPrefix}-property`, template: '' }) +@Component({ selector: `${XAlertPrefix}-property`, template: '', standalone: true }) export class XAlertProperty extends XProperty { /** * @zh_CN 隐藏 diff --git a/lib/ng-nest/ui/alert/examples/en_US/default/custom/custom.component.ts b/lib/ng-nest/ui/alert/examples/en_US/default/custom/custom.component.ts index 9223c3c8a..277c950f4 100644 --- a/lib/ng-nest/ui/alert/examples/en_US/default/custom/custom.component.ts +++ b/lib/ng-nest/ui/alert/examples/en_US/default/custom/custom.component.ts @@ -1,8 +1,12 @@ import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; import { XAddSeconds } from '@ng-nest/ui/core'; +import { XStatisticModule } from '@ng-nest/ui/statistic'; @Component({ selector: 'ex-custom', + standalone: true, + imports: [XAlertComponent, XStatisticModule], templateUrl: './custom.component.html', styleUrls: ['./custom.component.scss'] }) diff --git a/lib/ng-nest/ui/alert/examples/en_US/default/default/default.component.ts b/lib/ng-nest/ui/alert/examples/en_US/default/default/default.component.ts index cae54f2a5..f9082b244 100644 --- a/lib/ng-nest/ui/alert/examples/en_US/default/default/default.component.ts +++ b/lib/ng-nest/ui/alert/examples/en_US/default/default/default.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XAlertComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/lib/ng-nest/ui/alert/examples/en_US/default/description/description.component.ts b/lib/ng-nest/ui/alert/examples/en_US/default/description/description.component.ts index 388340db3..3f1cd6238 100644 --- a/lib/ng-nest/ui/alert/examples/en_US/default/description/description.component.ts +++ b/lib/ng-nest/ui/alert/examples/en_US/default/description/description.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; @Component({ selector: 'ex-description', + standalone: true, + imports: [XAlertComponent], templateUrl: './description.component.html', styleUrls: ['./description.component.scss'] }) diff --git a/lib/ng-nest/ui/alert/examples/en_US/default/effect/effect.component.ts b/lib/ng-nest/ui/alert/examples/en_US/default/effect/effect.component.ts index 51c1ca537..437e2c298 100644 --- a/lib/ng-nest/ui/alert/examples/en_US/default/effect/effect.component.ts +++ b/lib/ng-nest/ui/alert/examples/en_US/default/effect/effect.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; @Component({ selector: 'ex-effect', + standalone: true, + imports: [XAlertComponent], templateUrl: './effect.component.html', styleUrls: ['./effect.component.scss'] }) diff --git a/lib/ng-nest/ui/alert/examples/en_US/default/icon/icon.component.ts b/lib/ng-nest/ui/alert/examples/en_US/default/icon/icon.component.ts index 7ad46cf35..8a3156635 100644 --- a/lib/ng-nest/ui/alert/examples/en_US/default/icon/icon.component.ts +++ b/lib/ng-nest/ui/alert/examples/en_US/default/icon/icon.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; @Component({ selector: 'ex-icon', + standalone: true, + imports: [XAlertComponent], templateUrl: './icon.component.html', styleUrls: ['./icon.component.scss'] }) diff --git a/lib/ng-nest/ui/alert/examples/zh_CN/default/custom/custom.component.ts b/lib/ng-nest/ui/alert/examples/zh_CN/default/custom/custom.component.ts index 9223c3c8a..277c950f4 100644 --- a/lib/ng-nest/ui/alert/examples/zh_CN/default/custom/custom.component.ts +++ b/lib/ng-nest/ui/alert/examples/zh_CN/default/custom/custom.component.ts @@ -1,8 +1,12 @@ import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; import { XAddSeconds } from '@ng-nest/ui/core'; +import { XStatisticModule } from '@ng-nest/ui/statistic'; @Component({ selector: 'ex-custom', + standalone: true, + imports: [XAlertComponent, XStatisticModule], templateUrl: './custom.component.html', styleUrls: ['./custom.component.scss'] }) diff --git a/lib/ng-nest/ui/alert/examples/zh_CN/default/default/default.component.ts b/lib/ng-nest/ui/alert/examples/zh_CN/default/default/default.component.ts index cae54f2a5..f9082b244 100644 --- a/lib/ng-nest/ui/alert/examples/zh_CN/default/default/default.component.ts +++ b/lib/ng-nest/ui/alert/examples/zh_CN/default/default/default.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XAlertComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/lib/ng-nest/ui/alert/examples/zh_CN/default/description/description.component.ts b/lib/ng-nest/ui/alert/examples/zh_CN/default/description/description.component.ts index 0420d764e..37cdb03c5 100644 --- a/lib/ng-nest/ui/alert/examples/zh_CN/default/description/description.component.ts +++ b/lib/ng-nest/ui/alert/examples/zh_CN/default/description/description.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; @Component({ selector: 'ex-description', + standalone: true, + imports: [XAlertComponent], templateUrl: './description.component.html', styleUrls: ['./description.component.scss'] }) diff --git a/lib/ng-nest/ui/alert/examples/zh_CN/default/effect/effect.component.ts b/lib/ng-nest/ui/alert/examples/zh_CN/default/effect/effect.component.ts index 51c1ca537..437e2c298 100644 --- a/lib/ng-nest/ui/alert/examples/zh_CN/default/effect/effect.component.ts +++ b/lib/ng-nest/ui/alert/examples/zh_CN/default/effect/effect.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; @Component({ selector: 'ex-effect', + standalone: true, + imports: [XAlertComponent], templateUrl: './effect.component.html', styleUrls: ['./effect.component.scss'] }) diff --git a/lib/ng-nest/ui/alert/examples/zh_CN/default/icon/icon.component.ts b/lib/ng-nest/ui/alert/examples/zh_CN/default/icon/icon.component.ts index 7ad46cf35..8a3156635 100644 --- a/lib/ng-nest/ui/alert/examples/zh_CN/default/icon/icon.component.ts +++ b/lib/ng-nest/ui/alert/examples/zh_CN/default/icon/icon.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; @Component({ selector: 'ex-icon', + standalone: true, + imports: [XAlertComponent], templateUrl: './icon.component.html', styleUrls: ['./icon.component.scss'] }) diff --git a/lib/ng-nest/ui/anchor/anchor.component.spec.ts b/lib/ng-nest/ui/anchor/anchor.component.spec.ts index ae24df604..dd5d49c9f 100644 --- a/lib/ng-nest/ui/anchor/anchor.component.spec.ts +++ b/lib/ng-nest/ui/anchor/anchor.component.spec.ts @@ -6,14 +6,14 @@ import { By } from '@angular/platform-browser'; import { XAnchorModule } from '@ng-nest/ui/anchor'; import { XAnchorPrefix } from './anchor.property'; import { XThemeModule } from '@ng-nest/ui/theme'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XAnchorPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BrowserAnimationsModule, HttpClientTestingModule, XAnchorModule, XThemeModule, XButtonModule], + imports: [BrowserAnimationsModule, HttpClientTestingModule, XAnchorModule, XThemeModule, XButtonComponent], declarations: [TestXAnchorComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/anchor/anchor.module.ts b/lib/ng-nest/ui/anchor/anchor.module.ts index e153695ff..dd4084129 100644 --- a/lib/ng-nest/ui/anchor/anchor.module.ts +++ b/lib/ng-nest/ui/anchor/anchor.module.ts @@ -1,7 +1,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XAnchorComponent } from './anchor.component'; -import { XAffixModule } from '@ng-nest/ui/affix'; +import { XAffixComponent } from '@ng-nest/ui/affix'; import { XSliderModule } from '@ng-nest/ui/slider'; import { XAnchorInnerProperty, XAnchorProperty } from './anchor.property'; import { XAnchorInnerComponent } from './anchor-inner.component'; @@ -9,6 +9,6 @@ import { XAnchorInnerComponent } from './anchor-inner.component'; @NgModule({ declarations: [XAnchorComponent, XAnchorProperty, XAnchorInnerComponent, XAnchorInnerProperty], exports: [XAnchorComponent, XAnchorInnerComponent], - imports: [CommonModule, XAffixModule, XSliderModule] + imports: [CommonModule, XAffixComponent, XSliderModule] }) export class XAnchorModule {} diff --git a/lib/ng-nest/ui/api/api.component.spec.ts b/lib/ng-nest/ui/api/api.component.spec.ts index cbb4c18f3..e563b44cb 100644 --- a/lib/ng-nest/ui/api/api.component.spec.ts +++ b/lib/ng-nest/ui/api/api.component.spec.ts @@ -1,16 +1,15 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { XApiComponent } from './api.component'; import { Component, DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; -import { XApiModule } from './api.module'; +import { XApiComponent } from '@ng-nest/ui/api'; import { XApiPrefix } from './api.property'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XApiPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, XApiModule], + imports: [HttpClientTestingModule, XApiComponent], declarations: [TestXApiComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/api/api.component.ts b/lib/ng-nest/ui/api/api.component.ts index b6f2db5f8..6e9be2d53 100644 --- a/lib/ng-nest/ui/api/api.component.ts +++ b/lib/ng-nest/ui/api/api.component.ts @@ -1,16 +1,29 @@ -import { Component, ViewEncapsulation, ChangeDetectionStrategy, Renderer2, ElementRef } from '@angular/core'; +import { + Component, + ViewEncapsulation, + ChangeDetectionStrategy, + Renderer2, + ElementRef, + OnInit, + inject +} from '@angular/core'; import { XApiPrefix } from './api.property'; import { XConfigService } from '@ng-nest/ui/core'; @Component({ selector: `${XApiPrefix}`, + standalone: true, templateUrl: './api.component.html', styleUrls: ['./style/index.scss'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }) -export class XApiComponent { - constructor(private renderer: Renderer2, private elementRef: ElementRef, public configService: XConfigService) { +export class XApiComponent implements OnInit { + private renderer = inject(Renderer2); + private elementRef = inject(ElementRef); + configService = inject(XConfigService); + + ngOnInit(): void { this.renderer.addClass(this.elementRef.nativeElement, XApiPrefix); } } diff --git a/lib/ng-nest/ui/api/api.module.ts b/lib/ng-nest/ui/api/api.module.ts index ccd4c3db5..da0b8b11a 100644 --- a/lib/ng-nest/ui/api/api.module.ts +++ b/lib/ng-nest/ui/api/api.module.ts @@ -1,10 +1,8 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { XApiComponent } from './api.component'; @NgModule({ - declarations: [XApiComponent], exports: [XApiComponent], - imports: [CommonModule] + imports: [XApiComponent] }) export class XApiModule {} diff --git a/lib/ng-nest/ui/auto-complete/auto-complete.component.spec.ts b/lib/ng-nest/ui/auto-complete/auto-complete.component.spec.ts index 934da31a6..e8bba1ecd 100644 --- a/lib/ng-nest/ui/auto-complete/auto-complete.component.spec.ts +++ b/lib/ng-nest/ui/auto-complete/auto-complete.component.spec.ts @@ -19,9 +19,9 @@ import { XColorPickerModule } from '@ng-nest/ui/color-picker'; import { XFindModule } from '@ng-nest/ui/find'; import { XTextareaModule } from '@ng-nest/ui/textarea'; import { XTimePickerModule } from '@ng-nest/ui/time-picker'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XDatePickerModule } from '@ng-nest/ui/date-picker'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XAutoCompletePrefix, () => { @@ -37,7 +37,7 @@ describe(XAutoCompletePrefix, () => { XLayoutModule, XRadioModule, XSelectModule, - XButtonModule, + XButtonComponent, XInputModule, XCascadeModule, XColorPickerModule, @@ -45,7 +45,7 @@ describe(XAutoCompletePrefix, () => { XTextareaModule, XTimePickerModule, XDatePickerModule, - XIconModule + XIconComponent ], declarations: [ TestXAutoCompleteComponent, diff --git a/lib/ng-nest/ui/auto-complete/auto-complete.module.ts b/lib/ng-nest/ui/auto-complete/auto-complete.module.ts index 7a82e3927..7666737f1 100644 --- a/lib/ng-nest/ui/auto-complete/auto-complete.module.ts +++ b/lib/ng-nest/ui/auto-complete/auto-complete.module.ts @@ -5,13 +5,21 @@ import { XAutoCompleteComponent } from './auto-complete.component'; import { XInputModule } from '@ng-nest/ui/input'; import { XPortalModule } from '@ng-nest/ui/portal'; import { XListModule } from '@ng-nest/ui/list'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; import { XAutoCompletePortalComponent } from './auto-complete-portal.component'; import { XAutoCompleteProperty } from './auto-complete.property'; @NgModule({ - declarations: [XAutoCompleteComponent, XAutoCompletePortalComponent, XAutoCompleteProperty], - exports: [XAutoCompleteComponent, XAutoCompletePortalComponent], - imports: [CommonModule, FormsModule, ReactiveFormsModule, XPortalModule, XInputModule, XListModule, XBaseFormModule] + declarations: [XAutoCompleteComponent, XAutoCompletePortalComponent, XAutoCompleteProperty], + exports: [XAutoCompleteComponent, XAutoCompletePortalComponent], + imports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + XPortalModule, + XInputModule, + XListModule, + XControlValueAccessor + ] }) export class XAutoCompleteModule {} diff --git a/lib/ng-nest/ui/avatar/avatar-group.component.ts b/lib/ng-nest/ui/avatar/avatar-group.component.ts index 64354d82d..3c6674bff 100644 --- a/lib/ng-nest/ui/avatar/avatar-group.component.ts +++ b/lib/ng-nest/ui/avatar/avatar-group.component.ts @@ -3,6 +3,8 @@ import { XAvatarGroupPrefix, XAvatarGroupProperty } from './avatar.property'; @Component({ selector: `${XAvatarGroupPrefix}`, + standalone: true, + imports: [XAvatarGroupProperty], templateUrl: './avatar-group.component.html', styleUrls: ['./avatar-group.component.scss'], encapsulation: ViewEncapsulation.None, @@ -10,7 +12,4 @@ import { XAvatarGroupPrefix, XAvatarGroupProperty } from './avatar.property'; }) export class XAvatarGroupComponent extends XAvatarGroupProperty { @HostBinding('class.x-avatar-group') _has = true; - constructor() { - super(); - } } diff --git a/lib/ng-nest/ui/avatar/avatar.component.spec.ts b/lib/ng-nest/ui/avatar/avatar.component.spec.ts index a0089f5e1..325e93be6 100644 --- a/lib/ng-nest/ui/avatar/avatar.component.spec.ts +++ b/lib/ng-nest/ui/avatar/avatar.component.spec.ts @@ -1,16 +1,15 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { XAvatarComponent } from './avatar.component'; import { Component, DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XLayoutModule } from '@ng-nest/ui/layout'; -import { XAvatarModule } from '@ng-nest/ui/avatar'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; import { FormsModule } from '@angular/forms'; import { XAvatarPrefix } from './avatar.property'; import { XThemeModule } from '@ng-nest/ui/theme'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { XBadgeModule } from '@ng-nest/ui/badge'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XAvatarPrefix, () => { @@ -20,10 +19,10 @@ describe(XAvatarPrefix, () => { BrowserAnimationsModule, HttpClientTestingModule, FormsModule, - XAvatarModule, + XAvatarComponent, XLayoutModule, - XIconModule, - XBadgeModule, + XIconComponent, + XBadgeComponent, XThemeModule ], declarations: [TestXAvatarComponent] diff --git a/lib/ng-nest/ui/avatar/avatar.component.ts b/lib/ng-nest/ui/avatar/avatar.component.ts index e7a6b40e4..1eb37ac80 100644 --- a/lib/ng-nest/ui/avatar/avatar.component.ts +++ b/lib/ng-nest/ui/avatar/avatar.component.ts @@ -24,17 +24,24 @@ import { XIsChange, XResizeObserver } from '@ng-nest/ui/core'; -import { DOCUMENT } from '@angular/common'; +import { DOCUMENT, CommonModule } from '@angular/common'; import { Subject, takeUntil } from 'rxjs'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; @Component({ selector: `${XAvatarPrefix}`, + standalone: true, + imports: [CommonModule, XOutletDirective, XIconComponent, XAvatarProperty], templateUrl: './avatar.component.html', styleUrls: ['./avatar.component.scss'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }) -export class XAvatarComponent extends XAvatarProperty implements OnDestroy, OnChanges, AfterViewInit { +export class XAvatarComponent + extends XAvatarProperty + implements OnDestroy, OnChanges, AfterViewInit +{ isImgError: boolean = false; styleMap: { [key: string]: any } = {}; @@ -44,14 +51,10 @@ export class XAvatarComponent extends XAvatarProperty implements OnDestroy, OnCh @ViewChild('labelRef') labelRef!: ElementRef; - constructor( - public renderer: Renderer2, - public elementRef: ElementRef, - public cdr: ChangeDetectorRef, - public configService: XConfigService - ) { - super(); - } + private renderer = inject(Renderer2); + private elementRef = inject(ElementRef); + private cdr = inject(ChangeDetectorRef); + configService = inject(XConfigService); ngOnDestroy(): void { this._unSubject.next(); diff --git a/lib/ng-nest/ui/avatar/avatar.module.ts b/lib/ng-nest/ui/avatar/avatar.module.ts index 01b06dc70..7944fd04e 100644 --- a/lib/ng-nest/ui/avatar/avatar.module.ts +++ b/lib/ng-nest/ui/avatar/avatar.module.ts @@ -1,14 +1,9 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { XAvatarComponent } from './avatar.component'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XOutletModule } from '@ng-nest/ui/outlet'; -import { XAvatarGroupProperty, XAvatarProperty } from './avatar.property'; import { XAvatarGroupComponent } from './avatar-group.component'; @NgModule({ - declarations: [XAvatarComponent, XAvatarProperty, XAvatarGroupComponent, XAvatarGroupProperty], exports: [XAvatarComponent, XAvatarGroupComponent], - imports: [CommonModule, XOutletModule, XIconModule] + imports: [XAvatarComponent, XAvatarGroupComponent] }) export class XAvatarModule {} diff --git a/lib/ng-nest/ui/avatar/avatar.property.ts b/lib/ng-nest/ui/avatar/avatar.property.ts index d8bd437ab..a14b84fbf 100644 --- a/lib/ng-nest/ui/avatar/avatar.property.ts +++ b/lib/ng-nest/ui/avatar/avatar.property.ts @@ -1,4 +1,14 @@ -import { XSize, XTemplate, XProperty, XWithConfig, XShape, XFit, XResponseSize, XNumber, XInputNumber } from '@ng-nest/ui/core'; +import { + XSize, + XTemplate, + XProperty, + XWithConfig, + XShape, + XFit, + XResponseSize, + XNumber, + XInputNumber +} from '@ng-nest/ui/core'; import { Input, Component } from '@angular/core'; /** @@ -12,7 +22,7 @@ const X_CONFIG_NAME = 'avatar'; /** * Avatar Property */ -@Component({ selector: `${XAvatarPrefix}-property`, template: '' }) +@Component({ selector: `${XAvatarPrefix}-property`, template: '', standalone: true }) export class XAvatarProperty extends XProperty { /** * @zh_CN 显示字符 @@ -84,5 +94,5 @@ export const XAvatarGroupPrefix = 'x-avatar-group'; /** * Avatar Group Property */ -@Component({ selector: `${XAvatarGroupPrefix}-property`, template: '' }) +@Component({ selector: `${XAvatarGroupPrefix}-property`, template: '', standalone: true }) export class XAvatarGroupProperty extends XProperty {} diff --git a/lib/ng-nest/ui/avatar/examples/en_US/default/badge/badge.component.ts b/lib/ng-nest/ui/avatar/examples/en_US/default/badge/badge.component.ts index a86905681..b86246dfd 100644 --- a/lib/ng-nest/ui/avatar/examples/en_US/default/badge/badge.component.ts +++ b/lib/ng-nest/ui/avatar/examples/en_US/default/badge/badge.component.ts @@ -1,7 +1,12 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; @Component({ selector: 'ex-badge', + standalone: true, + imports: [CommonModule, XBadgeComponent, XAvatarComponent], templateUrl: './badge.component.html', styleUrls: ['./badge.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/en_US/default/default/default.component.ts b/lib/ng-nest/ui/avatar/examples/en_US/default/default/default.component.ts index 098bab9f4..5281ec962 100644 --- a/lib/ng-nest/ui/avatar/examples/en_US/default/default/default.component.ts +++ b/lib/ng-nest/ui/avatar/examples/en_US/default/default/default.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XAvatarComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/en_US/default/display/display.component.ts b/lib/ng-nest/ui/avatar/examples/en_US/default/display/display.component.ts index 829aa61ea..8ce81f9e4 100644 --- a/lib/ng-nest/ui/avatar/examples/en_US/default/display/display.component.ts +++ b/lib/ng-nest/ui/avatar/examples/en_US/default/display/display.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-display', + standalone: true, + imports: [XAvatarComponent], templateUrl: './display.component.html', styleUrls: ['./display.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/en_US/default/fallback/fallback.component.ts b/lib/ng-nest/ui/avatar/examples/en_US/default/fallback/fallback.component.ts index 3f4d7048b..8244745d5 100644 --- a/lib/ng-nest/ui/avatar/examples/en_US/default/fallback/fallback.component.ts +++ b/lib/ng-nest/ui/avatar/examples/en_US/default/fallback/fallback.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-fallback', + standalone: true, + imports: [XAvatarComponent], templateUrl: './fallback.component.html', styleUrls: ['./fallback.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/en_US/default/fit/fit.component.ts b/lib/ng-nest/ui/avatar/examples/en_US/default/fit/fit.component.ts index 7d149de03..623710ea3 100644 --- a/lib/ng-nest/ui/avatar/examples/en_US/default/fit/fit.component.ts +++ b/lib/ng-nest/ui/avatar/examples/en_US/default/fit/fit.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-fit', + standalone: true, + imports: [XAvatarComponent], templateUrl: './fit.component.html', styleUrls: ['./fit.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/en_US/default/group/group.component.ts b/lib/ng-nest/ui/avatar/examples/en_US/default/group/group.component.ts index 2f4baafa3..4342b5d43 100644 --- a/lib/ng-nest/ui/avatar/examples/en_US/default/group/group.component.ts +++ b/lib/ng-nest/ui/avatar/examples/en_US/default/group/group.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent, XAvatarGroupComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-group', + standalone: true, + imports: [XAvatarComponent, XAvatarGroupComponent], templateUrl: './group.component.html', styleUrls: ['./group.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/en_US/default/label/label.component.ts b/lib/ng-nest/ui/avatar/examples/en_US/default/label/label.component.ts index f0ce9244a..e040e613e 100644 --- a/lib/ng-nest/ui/avatar/examples/en_US/default/label/label.component.ts +++ b/lib/ng-nest/ui/avatar/examples/en_US/default/label/label.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-label', + standalone: true, + imports: [XAvatarComponent, XButtonComponent], templateUrl: './label.component.html', styleUrls: ['./label.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/en_US/default/response/response.component.ts b/lib/ng-nest/ui/avatar/examples/en_US/default/response/response.component.ts index 575183522..1f0f549ae 100644 --- a/lib/ng-nest/ui/avatar/examples/en_US/default/response/response.component.ts +++ b/lib/ng-nest/ui/avatar/examples/en_US/default/response/response.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-response', + standalone: true, + imports: [XAvatarComponent], templateUrl: './response.component.html', styleUrls: ['./response.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/zh_CN/default/badge/badge.component.ts b/lib/ng-nest/ui/avatar/examples/zh_CN/default/badge/badge.component.ts index a86905681..b86246dfd 100644 --- a/lib/ng-nest/ui/avatar/examples/zh_CN/default/badge/badge.component.ts +++ b/lib/ng-nest/ui/avatar/examples/zh_CN/default/badge/badge.component.ts @@ -1,7 +1,12 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; @Component({ selector: 'ex-badge', + standalone: true, + imports: [CommonModule, XBadgeComponent, XAvatarComponent], templateUrl: './badge.component.html', styleUrls: ['./badge.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/zh_CN/default/default/default.component.ts b/lib/ng-nest/ui/avatar/examples/zh_CN/default/default/default.component.ts index 098bab9f4..5281ec962 100644 --- a/lib/ng-nest/ui/avatar/examples/zh_CN/default/default/default.component.ts +++ b/lib/ng-nest/ui/avatar/examples/zh_CN/default/default/default.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XAvatarComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/zh_CN/default/display/display.component.ts b/lib/ng-nest/ui/avatar/examples/zh_CN/default/display/display.component.ts index 9e3be6bd6..3c71c334c 100644 --- a/lib/ng-nest/ui/avatar/examples/zh_CN/default/display/display.component.ts +++ b/lib/ng-nest/ui/avatar/examples/zh_CN/default/display/display.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-display', + standalone: true, + imports: [XAvatarComponent], templateUrl: './display.component.html', styleUrls: ['./display.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/zh_CN/default/fallback/fallback.component.ts b/lib/ng-nest/ui/avatar/examples/zh_CN/default/fallback/fallback.component.ts index 3f4d7048b..8244745d5 100644 --- a/lib/ng-nest/ui/avatar/examples/zh_CN/default/fallback/fallback.component.ts +++ b/lib/ng-nest/ui/avatar/examples/zh_CN/default/fallback/fallback.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-fallback', + standalone: true, + imports: [XAvatarComponent], templateUrl: './fallback.component.html', styleUrls: ['./fallback.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/zh_CN/default/fit/fit.component.ts b/lib/ng-nest/ui/avatar/examples/zh_CN/default/fit/fit.component.ts index 7d149de03..623710ea3 100644 --- a/lib/ng-nest/ui/avatar/examples/zh_CN/default/fit/fit.component.ts +++ b/lib/ng-nest/ui/avatar/examples/zh_CN/default/fit/fit.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-fit', + standalone: true, + imports: [XAvatarComponent], templateUrl: './fit.component.html', styleUrls: ['./fit.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/zh_CN/default/group/group.component.ts b/lib/ng-nest/ui/avatar/examples/zh_CN/default/group/group.component.ts index 2f4baafa3..4342b5d43 100644 --- a/lib/ng-nest/ui/avatar/examples/zh_CN/default/group/group.component.ts +++ b/lib/ng-nest/ui/avatar/examples/zh_CN/default/group/group.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent, XAvatarGroupComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-group', + standalone: true, + imports: [XAvatarComponent, XAvatarGroupComponent], templateUrl: './group.component.html', styleUrls: ['./group.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/zh_CN/default/label/label.component.ts b/lib/ng-nest/ui/avatar/examples/zh_CN/default/label/label.component.ts index f0ce9244a..e040e613e 100644 --- a/lib/ng-nest/ui/avatar/examples/zh_CN/default/label/label.component.ts +++ b/lib/ng-nest/ui/avatar/examples/zh_CN/default/label/label.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-label', + standalone: true, + imports: [XAvatarComponent, XButtonComponent], templateUrl: './label.component.html', styleUrls: ['./label.component.scss'] }) diff --git a/lib/ng-nest/ui/avatar/examples/zh_CN/default/response/response.component.ts b/lib/ng-nest/ui/avatar/examples/zh_CN/default/response/response.component.ts index 575183522..1f0f549ae 100644 --- a/lib/ng-nest/ui/avatar/examples/zh_CN/default/response/response.component.ts +++ b/lib/ng-nest/ui/avatar/examples/zh_CN/default/response/response.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-response', + standalone: true, + imports: [XAvatarComponent], templateUrl: './response.component.html', styleUrls: ['./response.component.scss'] }) diff --git a/lib/ng-nest/ui/back-top/back-top.component.spec.ts b/lib/ng-nest/ui/back-top/back-top.component.spec.ts index a9867520c..618a7193a 100644 --- a/lib/ng-nest/ui/back-top/back-top.component.spec.ts +++ b/lib/ng-nest/ui/back-top/back-top.component.spec.ts @@ -6,7 +6,7 @@ import { By } from '@angular/platform-browser'; import { XBackTopModule } from '@ng-nest/ui/back-top'; import { XBackTopPrefix } from './back-top.property'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XTabsModule } from '@ng-nest/ui/tabs'; import { XThemeModule } from '@ng-nest/ui/theme'; import { HttpClientTestingModule } from '@angular/common/http/testing'; @@ -18,7 +18,7 @@ describe(XBackTopPrefix, () => { BrowserAnimationsModule, HttpClientTestingModule, XBackTopModule, - XButtonModule, + XButtonComponent, BrowserAnimationsModule, XTabsModule, XThemeModule diff --git a/lib/ng-nest/ui/back-top/back-top.module.ts b/lib/ng-nest/ui/back-top/back-top.module.ts index 6f093a1b9..9c8505467 100644 --- a/lib/ng-nest/ui/back-top/back-top.module.ts +++ b/lib/ng-nest/ui/back-top/back-top.module.ts @@ -1,13 +1,13 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XBackTopComponent } from './back-top.component'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { XBackTopProperty } from './back-top.property'; import { XPortalModule } from '@ng-nest/ui/portal'; @NgModule({ declarations: [XBackTopComponent, XBackTopProperty], exports: [XBackTopComponent], - imports: [CommonModule, XLinkModule, XPortalModule] + imports: [CommonModule, XLinkComponent, XPortalModule] }) export class XBackTopModule {} diff --git a/lib/ng-nest/ui/badge/badge.component.spec.ts b/lib/ng-nest/ui/badge/badge.component.spec.ts index 4bc496a3b..dc564b231 100644 --- a/lib/ng-nest/ui/badge/badge.component.spec.ts +++ b/lib/ng-nest/ui/badge/badge.component.spec.ts @@ -1,14 +1,13 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { XBadgeComponent } from './badge.component'; import { Component, DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XLayoutModule } from '@ng-nest/ui/layout'; -import { XBadgeModule } from '@ng-nest/ui/badge'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; import { FormsModule } from '@angular/forms'; import { XBadgePrefix } from './badge.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; import { HttpClientTestingModule } from '@angular/common/http/testing'; @@ -21,10 +20,10 @@ describe(XBadgePrefix, () => { HttpClientTestingModule, XThemeModule, FormsModule, - XBadgeModule, - XButtonModule, + XBadgeComponent, + XButtonComponent, XLayoutModule, - XIconModule + XIconComponent ], declarations: [TestXBadgeComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/badge/badge.component.ts b/lib/ng-nest/ui/badge/badge.component.ts index ecdf8e95f..d9e171fb1 100644 --- a/lib/ng-nest/ui/badge/badge.component.ts +++ b/lib/ng-nest/ui/badge/badge.component.ts @@ -2,18 +2,27 @@ import { Component, OnInit, ViewEncapsulation, - Renderer2, - ElementRef, - ChangeDetectorRef, ChangeDetectionStrategy, SimpleChanges, - OnChanges + OnChanges, + inject } from '@angular/core'; +import { CommonModule } from '@angular/common'; import { XBadgePrefix, XBadgeProperty } from './badge.property'; -import { XIsNumber, XIsChange, XIsEmpty, XConfigService, XIsArray, XBadgeAnimation, XBadgeStandaloneAnimation } from '@ng-nest/ui/core'; +import { + XIsNumber, + XIsChange, + XIsEmpty, + XConfigService, + XIsArray, + XBadgeAnimation, + XBadgeStandaloneAnimation +} from '@ng-nest/ui/core'; @Component({ selector: `${XBadgePrefix}`, + standalone: true, + imports: [CommonModule, XBadgeProperty], templateUrl: './badge.component.html', styleUrls: ['./badge.component.scss'], encapsulation: ViewEncapsulation.None, @@ -45,14 +54,7 @@ export class XBadgeComponent extends XBadgeProperty implements OnInit, OnChanges return null; } - constructor( - public renderer: Renderer2, - public elementRef: ElementRef, - public cdr: ChangeDetectorRef, - public configService: XConfigService - ) { - super(); - } + configService = inject(XConfigService); ngOnInit() { this.setClassMap(); @@ -63,8 +65,6 @@ export class XBadgeComponent extends XBadgeProperty implements OnInit, OnChanges XIsChange(value) && this.setDisplayValue(); } - ngAfterViewInit() {} - setClassMap() { this.classMap[`${XBadgePrefix}-${this.type}`] = !XIsEmpty(this.type); } diff --git a/lib/ng-nest/ui/badge/badge.module.ts b/lib/ng-nest/ui/badge/badge.module.ts index baa88a21e..0b7388f24 100644 --- a/lib/ng-nest/ui/badge/badge.module.ts +++ b/lib/ng-nest/ui/badge/badge.module.ts @@ -1,11 +1,8 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { XBadgeComponent } from './badge.component'; -import { XBadgeProperty } from './badge.property'; @NgModule({ - declarations: [XBadgeComponent, XBadgeProperty], exports: [XBadgeComponent], - imports: [CommonModule] + imports: [XBadgeComponent] }) export class XBadgeModule {} diff --git a/lib/ng-nest/ui/badge/badge.property.ts b/lib/ng-nest/ui/badge/badge.property.ts index de2f7a1d6..f6affea93 100644 --- a/lib/ng-nest/ui/badge/badge.property.ts +++ b/lib/ng-nest/ui/badge/badge.property.ts @@ -12,7 +12,7 @@ const X_CONFIG_NAME = 'badge'; /** * Badge Property */ -@Component({ selector: `${XBadgePrefix}-property`, template: '' }) +@Component({ selector: `${XBadgePrefix}-property`, template: '', standalone: true }) export class XBadgeProperty extends XProperty { /** * @zh_CN 背景颜色 diff --git a/lib/ng-nest/ui/badge/examples/en_US/default/animation/animation.component.ts b/lib/ng-nest/ui/badge/examples/en_US/default/animation/animation.component.ts index 17ed604cf..df8dc91b1 100644 --- a/lib/ng-nest/ui/badge/examples/en_US/default/animation/animation.component.ts +++ b/lib/ng-nest/ui/badge/examples/en_US/default/animation/animation.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-animation', + standalone: true, + imports: [XBadgeComponent, XButtonComponent, XButtonsComponent], templateUrl: './animation.component.html', styleUrls: ['./animation.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/en_US/default/color/color.component.ts b/lib/ng-nest/ui/badge/examples/en_US/default/color/color.component.ts index 22ba5b55a..f6fd010d9 100644 --- a/lib/ng-nest/ui/badge/examples/en_US/default/color/color.component.ts +++ b/lib/ng-nest/ui/badge/examples/en_US/default/color/color.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-color', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], templateUrl: './color.component.html', styleUrls: ['./color.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/en_US/default/custom/custom.component.ts b/lib/ng-nest/ui/badge/examples/en_US/default/custom/custom.component.ts index 7915d8beb..ef278bffd 100644 --- a/lib/ng-nest/ui/badge/examples/en_US/default/custom/custom.component.ts +++ b/lib/ng-nest/ui/badge/examples/en_US/default/custom/custom.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-custom', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], templateUrl: './custom.component.html', styleUrls: ['./custom.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/en_US/default/default/default.component.ts b/lib/ng-nest/ui/badge/examples/en_US/default/default/default.component.ts index cae54f2a5..6ac08a230 100644 --- a/lib/ng-nest/ui/badge/examples/en_US/default/default/default.component.ts +++ b/lib/ng-nest/ui/badge/examples/en_US/default/default/default.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/en_US/default/dot/dot.component.ts b/lib/ng-nest/ui/badge/examples/en_US/default/dot/dot.component.ts index 7156cc572..7a9a1453f 100644 --- a/lib/ng-nest/ui/badge/examples/en_US/default/dot/dot.component.ts +++ b/lib/ng-nest/ui/badge/examples/en_US/default/dot/dot.component.ts @@ -1,7 +1,12 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; +import { XIconComponent } from '@ng-nest/ui/icon'; @Component({ selector: 'ex-dot', + standalone: true, + imports: [XBadgeComponent, XButtonComponent, XIconComponent], templateUrl: './dot.component.html', styleUrls: ['./dot.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/en_US/default/max/max.component.ts b/lib/ng-nest/ui/badge/examples/en_US/default/max/max.component.ts index 34fc0c8fe..54e141e98 100644 --- a/lib/ng-nest/ui/badge/examples/en_US/default/max/max.component.ts +++ b/lib/ng-nest/ui/badge/examples/en_US/default/max/max.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-max', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], templateUrl: './max.component.html', styleUrls: ['./max.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/en_US/default/offset/offset.component.ts b/lib/ng-nest/ui/badge/examples/en_US/default/offset/offset.component.ts index 76c940d98..81747f90f 100644 --- a/lib/ng-nest/ui/badge/examples/en_US/default/offset/offset.component.ts +++ b/lib/ng-nest/ui/badge/examples/en_US/default/offset/offset.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-offset', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], templateUrl: './offset.component.html', styleUrls: ['./offset.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/en_US/default/standalone/standalone.component.ts b/lib/ng-nest/ui/badge/examples/en_US/default/standalone/standalone.component.ts index d26116a87..cefbbb90e 100644 --- a/lib/ng-nest/ui/badge/examples/en_US/default/standalone/standalone.component.ts +++ b/lib/ng-nest/ui/badge/examples/en_US/default/standalone/standalone.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; @Component({ selector: 'ex-standalone', + standalone: true, + imports: [XBadgeComponent], templateUrl: './standalone.component.html', styleUrls: ['./standalone.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/zh_CN/default/animation/animation.component.ts b/lib/ng-nest/ui/badge/examples/zh_CN/default/animation/animation.component.ts index 17ed604cf..df8dc91b1 100644 --- a/lib/ng-nest/ui/badge/examples/zh_CN/default/animation/animation.component.ts +++ b/lib/ng-nest/ui/badge/examples/zh_CN/default/animation/animation.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-animation', + standalone: true, + imports: [XBadgeComponent, XButtonComponent, XButtonsComponent], templateUrl: './animation.component.html', styleUrls: ['./animation.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/zh_CN/default/color/color.component.ts b/lib/ng-nest/ui/badge/examples/zh_CN/default/color/color.component.ts index 22ba5b55a..f6fd010d9 100644 --- a/lib/ng-nest/ui/badge/examples/zh_CN/default/color/color.component.ts +++ b/lib/ng-nest/ui/badge/examples/zh_CN/default/color/color.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-color', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], templateUrl: './color.component.html', styleUrls: ['./color.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/zh_CN/default/custom/custom.component.ts b/lib/ng-nest/ui/badge/examples/zh_CN/default/custom/custom.component.ts index 7915d8beb..ef278bffd 100644 --- a/lib/ng-nest/ui/badge/examples/zh_CN/default/custom/custom.component.ts +++ b/lib/ng-nest/ui/badge/examples/zh_CN/default/custom/custom.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-custom', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], templateUrl: './custom.component.html', styleUrls: ['./custom.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/zh_CN/default/default/default.component.ts b/lib/ng-nest/ui/badge/examples/zh_CN/default/default/default.component.ts index cae54f2a5..6ac08a230 100644 --- a/lib/ng-nest/ui/badge/examples/zh_CN/default/default/default.component.ts +++ b/lib/ng-nest/ui/badge/examples/zh_CN/default/default/default.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/zh_CN/default/dot/dot.component.ts b/lib/ng-nest/ui/badge/examples/zh_CN/default/dot/dot.component.ts index 7156cc572..7a9a1453f 100644 --- a/lib/ng-nest/ui/badge/examples/zh_CN/default/dot/dot.component.ts +++ b/lib/ng-nest/ui/badge/examples/zh_CN/default/dot/dot.component.ts @@ -1,7 +1,12 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; +import { XIconComponent } from '@ng-nest/ui/icon'; @Component({ selector: 'ex-dot', + standalone: true, + imports: [XBadgeComponent, XButtonComponent, XIconComponent], templateUrl: './dot.component.html', styleUrls: ['./dot.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/zh_CN/default/max/max.component.ts b/lib/ng-nest/ui/badge/examples/zh_CN/default/max/max.component.ts index 34fc0c8fe..54e141e98 100644 --- a/lib/ng-nest/ui/badge/examples/zh_CN/default/max/max.component.ts +++ b/lib/ng-nest/ui/badge/examples/zh_CN/default/max/max.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-max', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], templateUrl: './max.component.html', styleUrls: ['./max.component.scss'] }) diff --git a/lib/ng-nest/ui/badge/examples/zh_CN/default/offset/offset.component.ts b/lib/ng-nest/ui/badge/examples/zh_CN/default/offset/offset.component.ts index 76c940d98..17c866af0 100644 --- a/lib/ng-nest/ui/badge/examples/zh_CN/default/offset/offset.component.ts +++ b/lib/ng-nest/ui/badge/examples/zh_CN/default/offset/offset.component.ts @@ -1,8 +1,12 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-offset', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], templateUrl: './offset.component.html', styleUrls: ['./offset.component.scss'] }) -export class ExOffsetComponent {} \ No newline at end of file +export class ExOffsetComponent {} diff --git a/lib/ng-nest/ui/badge/examples/zh_CN/default/standalone/standalone.component.ts b/lib/ng-nest/ui/badge/examples/zh_CN/default/standalone/standalone.component.ts index d26116a87..cefbbb90e 100644 --- a/lib/ng-nest/ui/badge/examples/zh_CN/default/standalone/standalone.component.ts +++ b/lib/ng-nest/ui/badge/examples/zh_CN/default/standalone/standalone.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; @Component({ selector: 'ex-standalone', + standalone: true, + imports: [XBadgeComponent], templateUrl: './standalone.component.html', styleUrls: ['./standalone.component.scss'] }) diff --git a/lib/ng-nest/ui/base-form/base-form.component.ts b/lib/ng-nest/ui/base-form/base-form.component.ts index 1e2df1cc1..27c9567c3 100644 --- a/lib/ng-nest/ui/base-form/base-form.component.ts +++ b/lib/ng-nest/ui/base-form/base-form.component.ts @@ -1,13 +1,37 @@ -import { AbstractControl, ControlValueAccessor, NG_VALUE_ACCESSOR, ValidationErrors, ValidatorFn } from '@angular/forms'; +import { + AbstractControl, + ControlValueAccessor, + NG_VALUE_ACCESSOR, + ValidationErrors, + ValidatorFn +} from '@angular/forms'; import { ChangeDetectorRef, Component, forwardRef, inject, Renderer2, Type } from '@angular/core'; -import { XJustify, XAlign, XDirection, XIsEmpty, XClassMap, XSetFlex, XBoolean, XIsUndefined, XIsFunction } from '@ng-nest/ui/core'; +import { + XJustify, + XAlign, + XDirection, + XIsEmpty, + XClassMap, + XSetFlex, + XBoolean, + XIsUndefined, + XIsFunction +} from '@ng-nest/ui/core'; import { XFormProp } from './base-form.property'; -@Component({ selector: 'x-control-value-accessor', template: '' }) +@Component({ + selector: 'x-control-value-accessor', + standalone: true, + imports: [XFormProp], + template: '' +}) export class XControlValueAccessor extends XFormProp implements ControlValueAccessor { cdr = inject(ChangeDetectorRef); get invalid() { - return this.validator && ((!XIsEmpty(this.value) && this.invalidPattern) || this.invalidInputValidator); + return ( + this.validator && + ((!XIsEmpty(this.value) && this.invalidPattern) || this.invalidInputValidator) + ); } get invalidPattern(): boolean { if (!this.validator || XIsUndefined(this.pattern)) return false; @@ -58,7 +82,13 @@ export class XControlValueAccessor extends XFormProp implements ControlValueA this.disabled = disabled; this.cdr.markForCheck(); } - setFlex(ele: Element, renderer: Renderer2, justify?: XJustify, align?: XAlign, direction?: XDirection) { + setFlex( + ele: Element, + renderer: Renderer2, + justify?: XJustify, + align?: XAlign, + direction?: XDirection + ) { return XSetFlex(ele, renderer, justify, align, direction); } formControlValidator() { diff --git a/lib/ng-nest/ui/base-form/base-form.module.ts b/lib/ng-nest/ui/base-form/base-form.module.ts index f87095bdb..51590a923 100644 --- a/lib/ng-nest/ui/base-form/base-form.module.ts +++ b/lib/ng-nest/ui/base-form/base-form.module.ts @@ -1,9 +1,8 @@ import { NgModule } from '@angular/core'; import { XControlValueAccessor } from './base-form.component'; -import { XFormProp } from './base-form.property'; @NgModule({ - declarations: [XControlValueAccessor, XFormProp], - exports: [XControlValueAccessor, XFormProp] + imports: [XControlValueAccessor], + exports: [XControlValueAccessor] }) export class XBaseFormModule {} diff --git a/lib/ng-nest/ui/base-form/base-form.property.ts b/lib/ng-nest/ui/base-form/base-form.property.ts index 3f01798ac..efc89e171 100644 --- a/lib/ng-nest/ui/base-form/base-form.property.ts +++ b/lib/ng-nest/ui/base-form/base-form.property.ts @@ -1,10 +1,19 @@ import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core'; -import { XAlign, XBoolean, XDirection, XInputBoolean, XJustify, XProperty, XSize, XTemplate } from '@ng-nest/ui/core'; +import { + XAlign, + XBoolean, + XDirection, + XInputBoolean, + XJustify, + XProperty, + XSize, + XTemplate +} from '@ng-nest/ui/core'; /** * 表单对象共有的参数 */ -@Component({ selector: 'x-form-prop', template: '' }) +@Component({ selector: 'x-form-prop', template: '', standalone: true }) export class XFormProp extends XProperty { /** * 标签 diff --git a/lib/ng-nest/ui/button/button.component.spec.ts b/lib/ng-nest/ui/button/button.component.spec.ts index 4da3e880f..152fb0004 100644 --- a/lib/ng-nest/ui/button/button.component.spec.ts +++ b/lib/ng-nest/ui/button/button.component.spec.ts @@ -1,9 +1,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { XButtonComponent } from './button.component'; import { Component, DebugElement, ChangeDetectorRef } from '@angular/core'; import { By } from '@angular/platform-browser'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; import { XButtonPrefix } from './button.property'; import { XThemeModule } from '@ng-nest/ui/theme'; import { HttpClientTestingModule } from '@angular/common/http/testing'; @@ -11,7 +10,7 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XButtonPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, XButtonModule, XThemeModule], + imports: [HttpClientTestingModule, XButtonComponent, XButtonsComponent, XThemeModule], declarations: [ TestXButtonComponent, TestXButtonDiabledComponent, @@ -325,7 +324,9 @@ class TestXButtonIconComponent {} 上一页 - 下一页 + 下一页 @@ -359,7 +360,9 @@ class TestXButtonIconComponent {} 上一页 - 下一页 + 下一页 diff --git a/lib/ng-nest/ui/button/button.component.ts b/lib/ng-nest/ui/button/button.component.ts index c4ae36d18..e6b25601a 100644 --- a/lib/ng-nest/ui/button/button.component.ts +++ b/lib/ng-nest/ui/button/button.component.ts @@ -6,19 +6,23 @@ import { ChangeDetectionStrategy, SimpleChanges, ChangeDetectorRef, - Optional, - Host, ElementRef, Renderer2, - ViewChild + ViewChild, + inject } from '@angular/core'; import { XIsChange, XConfigService, XIsEmpty, XClearClass } from '@ng-nest/ui/core'; import { delay, of } from 'rxjs'; import { XButtonPrefix, XButtonProperty } from './button.property'; import { XButtonsComponent } from './buttons.component'; +import { CommonModule } from '@angular/common'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XRippleDirective } from '@ng-nest/ui/ripple'; @Component({ selector: `${XButtonPrefix}`, + standalone: true, + imports: [CommonModule, XIconComponent, XRippleDirective, XButtonProperty], templateUrl: './button.component.html', styleUrls: ['./button.component.scss'], encapsulation: ViewEncapsulation.None, @@ -27,15 +31,12 @@ import { XButtonsComponent } from './buttons.component'; export class XButtonComponent extends XButtonProperty implements OnInit, OnChanges { transition = false; @ViewChild('buttonRef', { static: true }) buttonRef!: ElementRef; - constructor( - @Optional() @Host() public buttons: XButtonsComponent, - public cdr: ChangeDetectorRef, - public elementRef: ElementRef, - public renderer: Renderer2, - public configService: XConfigService - ) { - super(); - } + + private buttons = inject(XButtonsComponent, { optional: true, host: true }); + private cdr = inject(ChangeDetectorRef); + private elementRef = inject(ElementRef); + private renderer = inject(Renderer2); + configService = inject(XConfigService); ngOnInit(): void { this.setSpace(); @@ -70,8 +71,16 @@ export class XButtonComponent extends XButtonProperty implements OnInit, OnChang setSpace() { if (!this.buttons?.space) return; - this.renderer.setStyle(this.elementRef.nativeElement, 'margin-left', `${Number(this.buttons.space) / 2}rem`); - this.renderer.setStyle(this.elementRef.nativeElement, 'margin-right', `${Number(this.buttons.space) / 2}rem`); + this.renderer.setStyle( + this.elementRef.nativeElement, + 'margin-left', + `${Number(this.buttons.space) / 2}rem` + ); + this.renderer.setStyle( + this.elementRef.nativeElement, + 'margin-right', + `${Number(this.buttons.space) / 2}rem` + ); } setDisabled() { diff --git a/lib/ng-nest/ui/button/button.module.ts b/lib/ng-nest/ui/button/button.module.ts index de4728471..3af92d1d4 100644 --- a/lib/ng-nest/ui/button/button.module.ts +++ b/lib/ng-nest/ui/button/button.module.ts @@ -1,14 +1,9 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { XButtonComponent } from './button.component'; -import { XIconModule } from '@ng-nest/ui/icon'; import { XButtonsComponent } from './buttons.component'; -import { XButtonProperty, XButtonsProperty } from './button.property'; -import { XRippleModule } from '@ng-nest/ui/ripple'; @NgModule({ - declarations: [XButtonComponent, XButtonsComponent, XButtonProperty, XButtonsProperty], exports: [XButtonComponent, XButtonsComponent], - imports: [CommonModule, XIconModule, XRippleModule] + imports: [XButtonComponent, XButtonsComponent] }) export class XButtonModule {} diff --git a/lib/ng-nest/ui/button/button.property.ts b/lib/ng-nest/ui/button/button.property.ts index 5bd148487..3ba27d837 100644 --- a/lib/ng-nest/ui/button/button.property.ts +++ b/lib/ng-nest/ui/button/button.property.ts @@ -1,5 +1,15 @@ import { Input, Component } from '@angular/core'; -import { XProperty, XDirection, XSize, XInputBoolean, XInputNumber, XNumber, XBoolean, XType, XWithConfig } from '@ng-nest/ui/core'; +import { + XProperty, + XDirection, + XSize, + XInputBoolean, + XInputNumber, + XNumber, + XBoolean, + XType, + XWithConfig +} from '@ng-nest/ui/core'; /** * Button @@ -12,7 +22,7 @@ const X_CONFIG_NAME = 'button'; /** * Button Property */ -@Component({ selector: `${XButtonPrefix}-property`, template: '' }) +@Component({ selector: `${XButtonPrefix}-property`, template: '', standalone: true }) export class XButtonProperty extends XProperty implements XButtonOption { /** * @zh_CN 类型 @@ -186,7 +196,7 @@ const X_CONFIG_NAME_BUTTONS = 'buttons'; /** * Buttons Property */ -@Component({ selector: `${XButtonsPrefix}-property`, template: '' }) +@Component({ selector: `${XButtonsPrefix}-property`, template: '', standalone: true }) export class XButtonsProperty extends XProperty { /** * @zh_CN 按钮间距,单位 rem (按 1rem = 16px 比例来计算) diff --git a/lib/ng-nest/ui/button/buttons.component.ts b/lib/ng-nest/ui/button/buttons.component.ts index 37499920c..5fd138a1b 100644 --- a/lib/ng-nest/ui/button/buttons.component.ts +++ b/lib/ng-nest/ui/button/buttons.component.ts @@ -1,9 +1,21 @@ -import { Component, OnInit, ViewEncapsulation, ChangeDetectionStrategy, Renderer2, ElementRef, HostBinding } from '@angular/core'; +import { + Component, + OnInit, + ViewEncapsulation, + ChangeDetectionStrategy, + Renderer2, + ElementRef, + HostBinding, + inject +} from '@angular/core'; import { XButtonsPrefix, XButtonsProperty } from './button.property'; import { XConfigService } from '@ng-nest/ui/core'; +import { CommonModule } from '@angular/common'; @Component({ selector: `${XButtonsPrefix}`, + standalone: true, + imports: [CommonModule, XButtonsProperty], template: '', styleUrls: ['./buttons.component.scss'], encapsulation: ViewEncapsulation.None, @@ -17,18 +29,26 @@ export class XButtonsComponent extends XButtonsProperty implements OnInit { return this.hiddenBorder; } - constructor(private renderer: Renderer2, private elementRef: ElementRef, public configService: XConfigService) { - super(); - this.renderer.addClass(this.elementRef.nativeElement, XButtonsPrefix); - } + private renderer = inject(Renderer2); + private elementRef = inject(ElementRef); + configService = inject(XConfigService); ngOnInit() { + this.renderer.addClass(this.elementRef.nativeElement, XButtonsPrefix); this.setSpace(); } setSpace() { if (!this.space) return; - this.renderer.setStyle(this.elementRef.nativeElement, 'margin-left', `-${Number(this.space) / 2}rem`); - this.renderer.setStyle(this.elementRef.nativeElement, 'margin-right', `-${Number(this.space) / 2}rem`); + this.renderer.setStyle( + this.elementRef.nativeElement, + 'margin-left', + `-${Number(this.space) / 2}rem` + ); + this.renderer.setStyle( + this.elementRef.nativeElement, + 'margin-right', + `-${Number(this.space) / 2}rem` + ); } } diff --git a/lib/ng-nest/ui/button/examples/en_US/default/default/default.component.ts b/lib/ng-nest/ui/button/examples/en_US/default/default/default.component.ts index cae54f2a5..1e1767e97 100644 --- a/lib/ng-nest/ui/button/examples/en_US/default/default/default.component.ts +++ b/lib/ng-nest/ui/button/examples/en_US/default/default/default.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XButtonComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/lib/ng-nest/ui/button/examples/en_US/default/disabled/disabled.component.ts b/lib/ng-nest/ui/button/examples/en_US/default/disabled/disabled.component.ts index 300c89438..397cc9708 100644 --- a/lib/ng-nest/ui/button/examples/en_US/default/disabled/disabled.component.ts +++ b/lib/ng-nest/ui/button/examples/en_US/default/disabled/disabled.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-disabled', + standalone: true, + imports: [XButtonComponent], templateUrl: './disabled.component.html', styleUrls: ['./disabled.component.scss'] }) diff --git a/lib/ng-nest/ui/button/examples/en_US/default/group/group.component.ts b/lib/ng-nest/ui/button/examples/en_US/default/group/group.component.ts index 0d612e26f..ecb929ff5 100644 --- a/lib/ng-nest/ui/button/examples/en_US/default/group/group.component.ts +++ b/lib/ng-nest/ui/button/examples/en_US/default/group/group.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-group', + standalone: true, + imports: [XButtonComponent, XButtonsComponent], templateUrl: './group.component.html', styleUrls: ['./group.component.scss'] }) diff --git a/lib/ng-nest/ui/button/examples/en_US/default/icon/icon.component.ts b/lib/ng-nest/ui/button/examples/en_US/default/icon/icon.component.ts index 7ad46cf35..b4b5da610 100644 --- a/lib/ng-nest/ui/button/examples/en_US/default/icon/icon.component.ts +++ b/lib/ng-nest/ui/button/examples/en_US/default/icon/icon.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-icon', + standalone: true, + imports: [XButtonComponent], templateUrl: './icon.component.html', styleUrls: ['./icon.component.scss'] }) diff --git a/lib/ng-nest/ui/button/examples/en_US/default/loading/loading.component.ts b/lib/ng-nest/ui/button/examples/en_US/default/loading/loading.component.ts index 634ca74b1..e5e1fd70f 100644 --- a/lib/ng-nest/ui/button/examples/en_US/default/loading/loading.component.ts +++ b/lib/ng-nest/ui/button/examples/en_US/default/loading/loading.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-loading', + standalone: true, + imports: [XButtonComponent], templateUrl: './loading.component.html', styleUrls: ['./loading.component.scss'] }) diff --git a/lib/ng-nest/ui/button/examples/en_US/default/size/size.component.ts b/lib/ng-nest/ui/button/examples/en_US/default/size/size.component.ts index 28ec1ffa8..8388d55da 100644 --- a/lib/ng-nest/ui/button/examples/en_US/default/size/size.component.ts +++ b/lib/ng-nest/ui/button/examples/en_US/default/size/size.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-size', + standalone: true, + imports: [XButtonComponent], templateUrl: './size.component.html', styleUrls: ['./size.component.scss'] }) diff --git a/lib/ng-nest/ui/button/examples/en_US/default/text/text.component.ts b/lib/ng-nest/ui/button/examples/en_US/default/text/text.component.ts index 99483d21a..183763527 100644 --- a/lib/ng-nest/ui/button/examples/en_US/default/text/text.component.ts +++ b/lib/ng-nest/ui/button/examples/en_US/default/text/text.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-text', + standalone: true, + imports: [XButtonComponent], templateUrl: './text.component.html', styleUrls: ['./text.component.scss'] }) diff --git a/lib/ng-nest/ui/button/examples/zh_CN/default/default/default.component.ts b/lib/ng-nest/ui/button/examples/zh_CN/default/default/default.component.ts index cae54f2a5..1e1767e97 100644 --- a/lib/ng-nest/ui/button/examples/zh_CN/default/default/default.component.ts +++ b/lib/ng-nest/ui/button/examples/zh_CN/default/default/default.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XButtonComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/lib/ng-nest/ui/button/examples/zh_CN/default/disabled/disabled.component.ts b/lib/ng-nest/ui/button/examples/zh_CN/default/disabled/disabled.component.ts index 300c89438..397cc9708 100644 --- a/lib/ng-nest/ui/button/examples/zh_CN/default/disabled/disabled.component.ts +++ b/lib/ng-nest/ui/button/examples/zh_CN/default/disabled/disabled.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-disabled', + standalone: true, + imports: [XButtonComponent], templateUrl: './disabled.component.html', styleUrls: ['./disabled.component.scss'] }) diff --git a/lib/ng-nest/ui/button/examples/zh_CN/default/group/group.component.ts b/lib/ng-nest/ui/button/examples/zh_CN/default/group/group.component.ts index 0d612e26f..ecb929ff5 100644 --- a/lib/ng-nest/ui/button/examples/zh_CN/default/group/group.component.ts +++ b/lib/ng-nest/ui/button/examples/zh_CN/default/group/group.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-group', + standalone: true, + imports: [XButtonComponent, XButtonsComponent], templateUrl: './group.component.html', styleUrls: ['./group.component.scss'] }) diff --git a/lib/ng-nest/ui/button/examples/zh_CN/default/icon/icon.component.ts b/lib/ng-nest/ui/button/examples/zh_CN/default/icon/icon.component.ts index 7ad46cf35..b4b5da610 100644 --- a/lib/ng-nest/ui/button/examples/zh_CN/default/icon/icon.component.ts +++ b/lib/ng-nest/ui/button/examples/zh_CN/default/icon/icon.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-icon', + standalone: true, + imports: [XButtonComponent], templateUrl: './icon.component.html', styleUrls: ['./icon.component.scss'] }) diff --git a/lib/ng-nest/ui/button/examples/zh_CN/default/loading/loading.component.ts b/lib/ng-nest/ui/button/examples/zh_CN/default/loading/loading.component.ts index 634ca74b1..e5e1fd70f 100644 --- a/lib/ng-nest/ui/button/examples/zh_CN/default/loading/loading.component.ts +++ b/lib/ng-nest/ui/button/examples/zh_CN/default/loading/loading.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-loading', + standalone: true, + imports: [XButtonComponent], templateUrl: './loading.component.html', styleUrls: ['./loading.component.scss'] }) diff --git a/lib/ng-nest/ui/button/examples/zh_CN/default/size/size.component.ts b/lib/ng-nest/ui/button/examples/zh_CN/default/size/size.component.ts index 28ec1ffa8..8388d55da 100644 --- a/lib/ng-nest/ui/button/examples/zh_CN/default/size/size.component.ts +++ b/lib/ng-nest/ui/button/examples/zh_CN/default/size/size.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-size', + standalone: true, + imports: [XButtonComponent], templateUrl: './size.component.html', styleUrls: ['./size.component.scss'] }) diff --git a/lib/ng-nest/ui/button/examples/zh_CN/default/text/text.component.ts b/lib/ng-nest/ui/button/examples/zh_CN/default/text/text.component.ts index 99483d21a..183763527 100644 --- a/lib/ng-nest/ui/button/examples/zh_CN/default/text/text.component.ts +++ b/lib/ng-nest/ui/button/examples/zh_CN/default/text/text.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-text', + standalone: true, + imports: [XButtonComponent], templateUrl: './text.component.html', styleUrls: ['./text.component.scss'] }) diff --git a/lib/ng-nest/ui/calendar/calendar.component.spec.ts b/lib/ng-nest/ui/calendar/calendar.component.spec.ts index cd45bfcba..2660e1530 100644 --- a/lib/ng-nest/ui/calendar/calendar.component.spec.ts +++ b/lib/ng-nest/ui/calendar/calendar.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { Component, DebugElement, ChangeDetectorRef } from '@angular/core'; @@ -7,7 +7,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XCalendarModule, XCalendarComponent } from '@ng-nest/ui/calendar'; import { FormsModule } from '@angular/forms'; import { XCalendarPrefix, XCalendarData } from './calendar.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { interval } from 'rxjs'; import { DatePipe } from '@angular/common'; @@ -25,10 +25,10 @@ describe(XCalendarPrefix, () => { XThemeModule, FormsModule, XCalendarModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule + XIconComponent ], declarations: [TestXCalendarComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/calendar/calendar.module.ts b/lib/ng-nest/ui/calendar/calendar.module.ts index 6dd9fcb68..fec7bfba8 100644 --- a/lib/ng-nest/ui/calendar/calendar.module.ts +++ b/lib/ng-nest/ui/calendar/calendar.module.ts @@ -3,16 +3,26 @@ import { CommonModule } from '@angular/common'; import { XCalendarComponent } from './calendar.component'; import { FormsModule } from '@angular/forms'; import { XDatePickerModule } from '@ng-nest/ui/date-picker'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; import { XRadioModule } from '@ng-nest/ui/radio'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { XTooltipModule } from '@ng-nest/ui/tooltip'; import { XCalendarProperty } from './calendar.property'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XI18nDirective } from '@ng-nest/ui/i18n'; @NgModule({ declarations: [XCalendarComponent, XCalendarProperty], exports: [XCalendarComponent], - imports: [CommonModule, FormsModule, XLinkModule, XTooltipModule, XRadioModule, XDatePickerModule, XButtonModule, XI18nModule] + imports: [ + CommonModule, + FormsModule, + XLinkComponent, + XTooltipModule, + XRadioModule, + XDatePickerModule, + XButtonComponent, + XButtonsComponent, + XI18nDirective + ] }) export class XCalendarModule {} diff --git a/lib/ng-nest/ui/card/card.component.spec.ts b/lib/ng-nest/ui/card/card.component.spec.ts index 1d8376d80..0969c59ce 100644 --- a/lib/ng-nest/ui/card/card.component.spec.ts +++ b/lib/ng-nest/ui/card/card.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XCardComponent } from './card.component'; @@ -8,7 +8,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XCardModule } from '@ng-nest/ui/card'; import { FormsModule } from '@angular/forms'; import { XCardPrefix } from './card.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -23,10 +23,10 @@ describe(XCardPrefix, () => { XThemeModule, FormsModule, XCardModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule + XIconComponent ], declarations: [TestXCardComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/card/card.module.ts b/lib/ng-nest/ui/card/card.module.ts index ab6774b28..ed3b73a91 100644 --- a/lib/ng-nest/ui/card/card.module.ts +++ b/lib/ng-nest/ui/card/card.module.ts @@ -1,13 +1,13 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XCardComponent } from './card.component'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XCardProperty } from './card.property'; @NgModule({ declarations: [XCardComponent, XCardProperty], exports: [XCardComponent], - imports: [CommonModule, XIconModule, XOutletModule] + imports: [CommonModule, XIconComponent, XOutletDirective] }) export class XCardModule {} diff --git a/lib/ng-nest/ui/carousel/carousel.component.spec.ts b/lib/ng-nest/ui/carousel/carousel.component.spec.ts index ef77c8d38..d6f0462c3 100644 --- a/lib/ng-nest/ui/carousel/carousel.component.spec.ts +++ b/lib/ng-nest/ui/carousel/carousel.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XCarouselComponent } from './carousel.component'; @@ -8,7 +8,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XCarouselModule } from '@ng-nest/ui/carousel'; import { FormsModule } from '@angular/forms'; import { XCarouselPrefix } from './carousel.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { XTabsModule } from '@ng-nest/ui/tabs'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; @@ -24,10 +24,10 @@ describe(XCarouselPrefix, () => { XThemeModule, FormsModule, XCarouselModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule, + XIconComponent, XTabsModule ], declarations: [TestXCarouselComponent, TestXCarouselCardComponent, TestXCarouselDirectionComponent, TestXCarouselTabsComponent] diff --git a/lib/ng-nest/ui/carousel/carousel.module.ts b/lib/ng-nest/ui/carousel/carousel.module.ts index cbd2c0e43..99dd31dd8 100644 --- a/lib/ng-nest/ui/carousel/carousel.module.ts +++ b/lib/ng-nest/ui/carousel/carousel.module.ts @@ -2,13 +2,13 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XCarouselComponent } from './carousel.component'; import { XCarouselPanelComponent } from './carousel-panel.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XCarouselProperty, XCarouselPanelProperty } from './carousel.property'; import { XProgressModule } from '@ng-nest/ui/progress'; @NgModule({ declarations: [XCarouselComponent, XCarouselPanelComponent, XCarouselProperty, XCarouselPanelProperty], exports: [XCarouselComponent, XCarouselPanelComponent], - imports: [CommonModule, XButtonModule, XProgressModule] + imports: [CommonModule, XButtonComponent, XProgressModule] }) export class XCarouselModule {} diff --git a/lib/ng-nest/ui/cascade/cascade.component.spec.ts b/lib/ng-nest/ui/cascade/cascade.component.spec.ts index e4d61384e..0dcd9441e 100644 --- a/lib/ng-nest/ui/cascade/cascade.component.spec.ts +++ b/lib/ng-nest/ui/cascade/cascade.component.spec.ts @@ -11,7 +11,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; import { XRadioModule } from '@ng-nest/ui/radio'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XCascadePrefix, () => { @@ -26,7 +26,7 @@ describe(XCascadePrefix, () => { ReactiveFormsModule, XLayoutModule, XRadioModule, - XIconModule + XIconComponent ], declarations: [ TestXCascadeComponent, diff --git a/lib/ng-nest/ui/cascade/cascade.module.ts b/lib/ng-nest/ui/cascade/cascade.module.ts index 41cb89ce2..05d146215 100644 --- a/lib/ng-nest/ui/cascade/cascade.module.ts +++ b/lib/ng-nest/ui/cascade/cascade.module.ts @@ -7,11 +7,11 @@ import { XInputModule } from '@ng-nest/ui/input'; import { XListModule } from '@ng-nest/ui/list'; import { XPortalModule } from '@ng-nest/ui/portal'; import { XCascadeProperty } from './cascade.property'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; @NgModule({ declarations: [XCascadeComponent, XCascadePortalComponent, XCascadeProperty], exports: [XCascadeComponent, XCascadePortalComponent], - imports: [CommonModule, FormsModule, XPortalModule, ReactiveFormsModule, XInputModule, XListModule, XBaseFormModule] + imports: [CommonModule, FormsModule, XPortalModule, ReactiveFormsModule, XInputModule, XListModule, XControlValueAccessor] }) export class XCascadeModule {} diff --git a/lib/ng-nest/ui/checkbox/checkbox.component.spec.ts b/lib/ng-nest/ui/checkbox/checkbox.component.spec.ts index 62bb93fdb..3473684b7 100644 --- a/lib/ng-nest/ui/checkbox/checkbox.component.spec.ts +++ b/lib/ng-nest/ui/checkbox/checkbox.component.spec.ts @@ -1,4 +1,4 @@ -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { Observable } from 'rxjs'; import { ComponentFixture, TestBed } from '@angular/core/testing'; @@ -33,7 +33,7 @@ describe(XCheckboxPrefix, () => { XThemeModule, FormsModule, XCheckboxModule, - XButtonModule, + XButtonComponent, XAutoCompleteModule, XSelectModule, XDatePickerModule, diff --git a/lib/ng-nest/ui/checkbox/checkbox.module.ts b/lib/ng-nest/ui/checkbox/checkbox.module.ts index 909b44b82..505f997e0 100644 --- a/lib/ng-nest/ui/checkbox/checkbox.module.ts +++ b/lib/ng-nest/ui/checkbox/checkbox.module.ts @@ -2,15 +2,23 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XCheckboxComponent } from './checkbox.component'; import { FormsModule } from '@angular/forms'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XCheckboxProperty } from './checkbox.property'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; import { XTagModule } from '@ng-nest/ui/tag'; @NgModule({ declarations: [XCheckboxComponent, XCheckboxProperty], exports: [XCheckboxComponent], - imports: [CommonModule, FormsModule, XButtonModule, XTagModule, XOutletModule, XBaseFormModule] + imports: [ + CommonModule, + FormsModule, + XButtonComponent, + XButtonsComponent, + XTagModule, + XOutletDirective, + XControlValueAccessor + ] }) export class XCheckboxModule {} diff --git a/lib/ng-nest/ui/collapse/collapse.component.spec.ts b/lib/ng-nest/ui/collapse/collapse.component.spec.ts index c4b644b52..bd986a1f6 100644 --- a/lib/ng-nest/ui/collapse/collapse.component.spec.ts +++ b/lib/ng-nest/ui/collapse/collapse.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XCollapseComponent } from './collapse.component'; @@ -8,7 +8,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XCollapseModule } from '@ng-nest/ui/collapse'; import { FormsModule } from '@angular/forms'; import { XCollapsePrefix } from './collapse.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -23,10 +23,10 @@ describe(XCollapsePrefix, () => { BrowserAnimationsModule, HttpClientTestingModule, XCollapseModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule + XIconComponent ], declarations: [TestXCollapseComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/collapse/collapse.module.ts b/lib/ng-nest/ui/collapse/collapse.module.ts index 5faf5955c..90aae3be7 100644 --- a/lib/ng-nest/ui/collapse/collapse.module.ts +++ b/lib/ng-nest/ui/collapse/collapse.module.ts @@ -2,13 +2,13 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XCollapseComponent } from './collapse.component'; import { XCollapsePanelComponent } from './collapse-panel.component'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XCollapseProperty, XCollapsePanelProperty } from './collapse.property'; @NgModule({ declarations: [XCollapseComponent, XCollapsePanelComponent, XCollapseProperty, XCollapsePanelProperty], exports: [XCollapseComponent, XCollapsePanelComponent], - imports: [CommonModule, XIconModule, XOutletModule] + imports: [CommonModule, XIconComponent, XOutletDirective] }) export class XCollapseModule {} diff --git a/lib/ng-nest/ui/color-picker/color-picker.module.ts b/lib/ng-nest/ui/color-picker/color-picker.module.ts index 780f92b3b..fe78d229e 100644 --- a/lib/ng-nest/ui/color-picker/color-picker.module.ts +++ b/lib/ng-nest/ui/color-picker/color-picker.module.ts @@ -9,21 +9,21 @@ import { XSliderSelectModule } from '@ng-nest/ui/slider-select'; import { XTabsModule } from '@ng-nest/ui/tabs'; import { DragDropModule } from '@angular/cdk/drag-drop'; import { XColorPickerProperty } from './color-picker.property'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; @NgModule({ - declarations: [XColorPickerComponent, XColorPickerPortalComponent, XColorPickerProperty], - exports: [XColorPickerComponent, XColorPickerPortalComponent], - imports: [ - CommonModule, - FormsModule, - ReactiveFormsModule, - DragDropModule, - XPortalModule, - XSliderSelectModule, - XTabsModule, - XInputModule, - XBaseFormModule - ] + declarations: [XColorPickerComponent, XColorPickerPortalComponent, XColorPickerProperty], + exports: [XColorPickerComponent, XColorPickerPortalComponent], + imports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + DragDropModule, + XPortalModule, + XSliderSelectModule, + XTabsModule, + XInputModule, + XControlValueAccessor + ] }) export class XColorPickerModule {} diff --git a/lib/ng-nest/ui/comment/comment.component.spec.ts b/lib/ng-nest/ui/comment/comment.component.spec.ts index 87a06a1dd..1a5089840 100644 --- a/lib/ng-nest/ui/comment/comment.component.spec.ts +++ b/lib/ng-nest/ui/comment/comment.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XCommentComponent } from './comment.component'; @@ -8,7 +8,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XCommentModule } from '@ng-nest/ui/comment'; import { FormsModule } from '@angular/forms'; import { XCommentPrefix, XCommentNode } from './comment.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { XAddMinutes, XAddHours } from '@ng-nest/ui/core'; import { DatePipe } from '@angular/common'; @@ -25,10 +25,10 @@ describe(XCommentPrefix, () => { XThemeModule, FormsModule, XCommentModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule + XIconComponent ], declarations: [TestXCommentComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/comment/comment.module.ts b/lib/ng-nest/ui/comment/comment.module.ts index 32b47e19d..d08a92915 100644 --- a/lib/ng-nest/ui/comment/comment.module.ts +++ b/lib/ng-nest/ui/comment/comment.module.ts @@ -3,26 +3,32 @@ import { CommonModule } from '@angular/common'; import { XCommentComponent } from './comment.component'; import { XCommentReplyComponent } from './comment-reply.component'; import { FormsModule } from '@angular/forms'; -import { XAvatarModule } from '@ng-nest/ui/avatar'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { XInputModule } from '@ng-nest/ui/input'; import { XTextRetractModule } from '@ng-nest/ui/text-retract'; import { XTimeAgoModule } from '@ng-nest/ui/time-ago'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XI18nPipe } from '@ng-nest/ui/i18n'; import { XCommentProperty, XCommentReplyProperty } from './comment.property'; @NgModule({ - declarations: [XCommentComponent, XCommentReplyComponent, XCommentProperty, XCommentReplyProperty], + declarations: [ + XCommentComponent, + XCommentReplyComponent, + XCommentProperty, + XCommentReplyProperty + ], exports: [XCommentComponent, XCommentReplyComponent], imports: [ CommonModule, FormsModule, - XI18nModule, + XI18nPipe, XInputModule, - XLinkModule, - XAvatarModule, - XButtonModule, + XLinkComponent, + XAvatarComponent, + XButtonComponent, + XButtonsComponent, XTextRetractModule, XTimeAgoModule ] diff --git a/lib/ng-nest/ui/core/config/config.service.ts b/lib/ng-nest/ui/core/config/config.service.ts index 4fb1bb929..ac2b368a0 100644 --- a/lib/ng-nest/ui/core/config/config.service.ts +++ b/lib/ng-nest/ui/core/config/config.service.ts @@ -37,7 +37,10 @@ export class XConfigService { set(componentName: T, value: XComponentConfig[T]): void { if (this.config?.components) { - this.config.components[componentName] = { ...this.config.components[componentName], ...value }; + this.config.components[componentName] = { + ...this.config.components[componentName], + ...value + }; this.componentConfigUpdated$.next(componentName); } } @@ -46,7 +49,11 @@ export class XConfigService { let colors = theme?.colors; if (!colors) colors = X_THEME_DARK_COLORS; this.setTheme({ - colors: this.themeService.getDefineColors(Object.assign({}, this.themeService.getColorsInProperty(X_THEME_COLORS), colors), '', true) + colors: this.themeService.getDefineColors( + Object.assign({}, this.themeService.getColorsInProperty(X_THEME_COLORS), colors), + '', + true + ) }); } @@ -54,7 +61,11 @@ export class XConfigService { let colors = theme?.colors; if (!colors) colors = X_THEME_COLORS; this.setTheme({ - colors: this.themeService.getDefineColors(Object.assign({}, this.themeService.getColorsInProperty(X_THEME_COLORS), colors), '', false) + colors: this.themeService.getDefineColors( + Object.assign({}, this.themeService.getColorsInProperty(X_THEME_COLORS), colors), + '', + false + ) }); } @@ -73,7 +84,11 @@ export class XConfigService { // tslint:disable-next-line:typedef export function XWithConfig(componentName: XComponentConfigKey, innerDefaultValue?: T) { - return function ConfigDecorator(target: any, propName: any, originalDescriptor?: TypedPropertyDescriptor): any { + return function ConfigDecorator( + target: any, + propName: any, + originalDescriptor?: TypedPropertyDescriptor + ): any { const privatePropName = `$$__assignedValue__${propName}`; Object.defineProperty(target, privatePropName, { @@ -84,7 +99,10 @@ export function XWithConfig(componentName: XComponentConfigKey, innerDefaultV return { get(): T | undefined { - const originalValue = originalDescriptor && originalDescriptor.get ? originalDescriptor.get.bind(this)() : this[privatePropName]; + const originalValue = + originalDescriptor && originalDescriptor.get + ? originalDescriptor.get.bind(this)() + : this[privatePropName]; if (isDefined(originalValue)) { return originalValue; diff --git a/lib/ng-nest/ui/core/config/config.spec.ts b/lib/ng-nest/ui/core/config/config.spec.ts index 7105bba02..45cccce6e 100644 --- a/lib/ng-nest/ui/core/config/config.spec.ts +++ b/lib/ng-nest/ui/core/config/config.spec.ts @@ -1,12 +1,12 @@ import { waitForAsync, TestBed, ComponentFixture } from '@angular/core/testing'; -import { XButtonModule, XButtonComponent } from '@ng-nest/ui/button'; +import { XButtonComponent, XButtonComponent } from '@ng-nest/ui/button'; import { XConfigService } from './config.service'; import { X_CONFIG, XConfig } from './config'; import { Component, DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XSize } from '@ng-nest/ui/core'; import { XDropdownModule } from '@ng-nest/ui/dropdown'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { HttpClientTestingModule } from '@angular/common/http/testing'; @Component({ @@ -41,7 +41,7 @@ describe('x-config', () => { }; beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - imports: [XButtonModule, HttpClientTestingModule, XDropdownModule, XLinkModule], + imports: [XButtonComponent, HttpClientTestingModule, XDropdownModule, XLinkComponent], declarations: [NzGlobalConfigTestBasicComponent], providers: [ { diff --git a/lib/ng-nest/ui/core/theme/theme.spec.ts b/lib/ng-nest/ui/core/theme/theme.spec.ts index 0fdc47a95..3af3795b3 100644 --- a/lib/ng-nest/ui/core/theme/theme.spec.ts +++ b/lib/ng-nest/ui/core/theme/theme.spec.ts @@ -1,5 +1,5 @@ import { waitForAsync, TestBed, ComponentFixture } from '@angular/core/testing'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XThemeService } from './theme.service'; import { Component } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; @@ -69,7 +69,7 @@ describe('x-theme', () => { }; beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - imports: [XButtonModule, HttpClientTestingModule, BrowserAnimationsModule, XColorPickerModule, FormsModule, ReactiveFormsModule], + imports: [XButtonComponent, HttpClientTestingModule, BrowserAnimationsModule, XColorPickerModule, FormsModule, ReactiveFormsModule], declarations: [XGlobalThemeTestBasicComponent], providers: [ { diff --git a/lib/ng-nest/ui/crumb/crumb.component.spec.ts b/lib/ng-nest/ui/crumb/crumb.component.spec.ts index d3c3f0d78..442854535 100644 --- a/lib/ng-nest/ui/crumb/crumb.component.spec.ts +++ b/lib/ng-nest/ui/crumb/crumb.component.spec.ts @@ -5,7 +5,7 @@ import { Component, DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XCrumbModule } from '@ng-nest/ui/crumb'; import { XCrumbPrefix } from './crumb.property'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XTagModule } from '@ng-nest/ui/tag'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -14,7 +14,7 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XCrumbPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BrowserAnimationsModule, HttpClientTestingModule, XThemeModule, XCrumbModule, XIconModule, XTagModule], + imports: [BrowserAnimationsModule, HttpClientTestingModule, XThemeModule, XCrumbModule, XIconComponent, XTagModule], declarations: [TestXCrumbComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/crumb/crumb.module.ts b/lib/ng-nest/ui/crumb/crumb.module.ts index 49f92b8cb..e4ea8852c 100644 --- a/lib/ng-nest/ui/crumb/crumb.module.ts +++ b/lib/ng-nest/ui/crumb/crumb.module.ts @@ -1,13 +1,13 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XCrumbComponent } from './crumb.component'; -import { XLinkModule } from '@ng-nest/ui/link'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XLinkComponent } from '@ng-nest/ui/link'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XCrumbProperty } from './crumb.property'; @NgModule({ declarations: [XCrumbComponent, XCrumbProperty], exports: [XCrumbComponent], - imports: [CommonModule, XLinkModule, XOutletModule] + imports: [CommonModule, XLinkComponent, XOutletDirective] }) export class XCrumbModule {} diff --git a/lib/ng-nest/ui/date-picker/date-picker.component.spec.ts b/lib/ng-nest/ui/date-picker/date-picker.component.spec.ts index ebb0e1255..f930f13d0 100644 --- a/lib/ng-nest/ui/date-picker/date-picker.component.spec.ts +++ b/lib/ng-nest/ui/date-picker/date-picker.component.spec.ts @@ -9,7 +9,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { XDatePickerPrefix } from './date-picker.property'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XI18nService, en_US, zh_CN } from '@ng-nest/ui/i18n'; import { XRadioModule } from '@ng-nest/ui/radio'; import { XSelectModule } from '@ng-nest/ui/select'; @@ -33,7 +33,7 @@ describe(XDatePickerPrefix, () => { FormsModule, ReactiveFormsModule, XLayoutModule, - XButtonModule, + XButtonComponent, XRadioModule, XSelectModule, XInputModule, diff --git a/lib/ng-nest/ui/date-picker/date-picker.module.ts b/lib/ng-nest/ui/date-picker/date-picker.module.ts index c3f702797..27b908cee 100644 --- a/lib/ng-nest/ui/date-picker/date-picker.module.ts +++ b/lib/ng-nest/ui/date-picker/date-picker.module.ts @@ -3,8 +3,8 @@ import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { XInputModule } from '@ng-nest/ui/input'; import { XPortalModule } from '@ng-nest/ui/portal'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XDatePickerComponent } from './date-picker.component'; import { XDatePickerPortalComponent } from './date-picker-portal.component'; import { XPickerDateComponent } from './picker-date.component'; @@ -18,13 +18,13 @@ import { XDateRangeProperty, XPickerQuarterProperty } from './date-picker.property'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XI18nPipe } from '@ng-nest/ui/i18n'; import { XTimePickerModule } from '@ng-nest/ui/time-picker'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; import { XDateRangeComponent } from './date-range.component'; import { XDateRangePortalComponent } from './date-range-portal.component'; -import { XLinkModule } from '@ng-nest/ui/link'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XLinkComponent } from '@ng-nest/ui/link'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XPickerQuarterComponent } from './picker-quarter.component'; import { XDateQuarterPipe } from './date-quarter.pipe'; @@ -63,12 +63,12 @@ import { XDateQuarterPipe } from './date-quarter.pipe'; XPortalModule, XTimePickerModule, XInputModule, - XLinkModule, - XButtonModule, - XIconModule, - XI18nModule, - XBaseFormModule, - XOutletModule + XLinkComponent, + XButtonComponent, + XIconComponent, + XI18nPipe, + XControlValueAccessor, + XOutletDirective ] }) export class XDatePickerModule {} diff --git a/lib/ng-nest/ui/description/description.module.ts b/lib/ng-nest/ui/description/description.module.ts index da7808588..9dc5cc5da 100644 --- a/lib/ng-nest/ui/description/description.module.ts +++ b/lib/ng-nest/ui/description/description.module.ts @@ -1,6 +1,6 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XDescriptionItemComponent } from './description-item.component'; import { XDescriptionComponent } from './description.component'; import { XDescriptionItemProperty, XDescriptionProperty } from './description.property'; @@ -8,6 +8,6 @@ import { XDescriptionItemProperty, XDescriptionProperty } from './description.pr @NgModule({ declarations: [XDescriptionComponent, XDescriptionProperty, XDescriptionItemComponent, XDescriptionItemProperty], exports: [XDescriptionComponent, XDescriptionItemComponent], - imports: [CommonModule, XOutletModule] + imports: [CommonModule, XOutletDirective] }) export class XDescriptionModule {} diff --git a/lib/ng-nest/ui/dialog/dialog.component.spec.ts b/lib/ng-nest/ui/dialog/dialog.component.spec.ts index a68f8ca99..316dc8ec6 100644 --- a/lib/ng-nest/ui/dialog/dialog.component.spec.ts +++ b/lib/ng-nest/ui/dialog/dialog.component.spec.ts @@ -4,7 +4,7 @@ import { XDialogComponent } from './dialog.component'; import { Component, DebugElement, ChangeDetectorRef } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XDialogModule } from '@ng-nest/ui/dialog'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XDialogPrefix } from './dialog.property'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XPlace } from '@ng-nest/ui/core'; @@ -12,8 +12,8 @@ import { XMessageBoxService, XMessageBoxModule, XMessageBoxAction } from '@ng-ne import { FormsModule } from '@angular/forms'; import { XInputModule } from '@ng-nest/ui/input'; import { XRadioModule } from '@ng-nest/ui/radio'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { XThemeModule } from '@ng-nest/ui/theme'; import { XI18nService, en_US, zh_CN } from '@ng-nest/ui/i18n'; import { interval } from 'rxjs'; @@ -31,9 +31,9 @@ describe(XDialogPrefix, () => { XInputModule, XRadioModule, XDialogModule, - XButtonModule, - XIconModule, - XLinkModule, + XButtonComponent, + XIconComponent, + XLinkComponent, XFormModule, XMessageBoxModule ], diff --git a/lib/ng-nest/ui/dialog/dialog.module.ts b/lib/ng-nest/ui/dialog/dialog.module.ts index 5abff7518..075b44db4 100644 --- a/lib/ng-nest/ui/dialog/dialog.module.ts +++ b/lib/ng-nest/ui/dialog/dialog.module.ts @@ -1,14 +1,14 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XDialogComponent } from './dialog.component'; -import { XAlertModule } from '@ng-nest/ui/alert'; +import { XAlertComponent } from '@ng-nest/ui/alert'; import { XPortalModule } from '@ng-nest/ui/portal'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { XInputModule } from '@ng-nest/ui/input'; -import { XOutletModule } from '@ng-nest/ui/outlet'; -import { XResizableModule } from '@ng-nest/ui/resizable'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; +import { XResizableDirective } from '@ng-nest/ui/resizable'; import { DragDropModule } from '@angular/cdk/drag-drop'; import { XDialogContainerProperty, XDialogProperty } from './dialog.property'; import { @@ -22,7 +22,7 @@ import { import { XDialogPortalComponent } from './dialog-portal.component'; import { XDialogService } from './dialog.service'; import { XDialogContainerComponent } from './dialog-container.component'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XI18nDirective } from '@ng-nest/ui/i18n'; @NgModule({ declarations: [ @@ -55,13 +55,14 @@ import { XI18nModule } from '@ng-nest/ui/i18n'; ReactiveFormsModule, DragDropModule, XInputModule, - XButtonModule, - XIconModule, + XButtonComponent, + XButtonsComponent, + XIconComponent, XPortalModule, - XAlertModule, - XOutletModule, - XResizableModule, - XI18nModule + XAlertComponent, + XOutletDirective, + XResizableDirective, + XI18nDirective ], providers: [XDialogService] }) diff --git a/lib/ng-nest/ui/doc/doc.component.spec.ts b/lib/ng-nest/ui/doc/doc.component.spec.ts index fb5170f5b..745cceaff 100644 --- a/lib/ng-nest/ui/doc/doc.component.spec.ts +++ b/lib/ng-nest/ui/doc/doc.component.spec.ts @@ -7,15 +7,15 @@ import { XDocModule } from '@ng-nest/ui/doc'; import { XDocPrefix } from './doc.property'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XLayoutModule } from '@ng-nest/ui/layout'; -import { XBadgeModule } from '@ng-nest/ui/badge'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XExamplesModule } from '@ng-nest/ui/examples'; -import { XApiModule } from '@ng-nest/ui/api'; +import { XApiComponent } from '@ng-nest/ui/api'; import { XTabsModule } from '@ng-nest/ui/tabs'; import { XHighlightModule } from '@ng-nest/ui/highlight'; -import { XPatternModule } from '@ng-nest/ui/pattern'; +import { XPatternComponent } from '@ng-nest/ui/pattern'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XDocPrefix, () => { @@ -26,15 +26,15 @@ describe(XDocPrefix, () => { HttpClientTestingModule, XThemeModule, XDocModule, - XIconModule, + XIconComponent, XLayoutModule, - XBadgeModule, - XButtonModule, + XBadgeComponent, + XButtonComponent, XExamplesModule, - XApiModule, + XApiComponent, XTabsModule, XHighlightModule, - XPatternModule + XPatternComponent ], declarations: [TestXDocComponent, ExColorComponent, ExCustomComponent, ExDefaultComponent, ExDotComponent, ExMaxComponent] }).compileComponents(); @@ -409,7 +409,7 @@ export class ExDotComponent {} }) export class ExColorComponent {} `; - vcwurln = `import { XBadgeModule } from '@ng-nest/ui/badge';`; + vcwurln = `import { XBadgeComponent } from '@ng-nest/ui/badge';`; } @Component({ diff --git a/lib/ng-nest/ui/drawer/drawer.component.spec.ts b/lib/ng-nest/ui/drawer/drawer.component.spec.ts index a51b7b599..472b92d4e 100644 --- a/lib/ng-nest/ui/drawer/drawer.component.spec.ts +++ b/lib/ng-nest/ui/drawer/drawer.component.spec.ts @@ -8,8 +8,8 @@ import { FormsModule } from '@angular/forms'; import { XDrawerModule } from '@ng-nest/ui/drawer'; import { XDrawerPrefix } from './drawer.property'; import { XRadioModule } from '@ng-nest/ui/radio'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XButtonComponent } from '@ng-nest/ui/button'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XInputModule } from '@ng-nest/ui/input'; import { XPosition } from '@ng-nest/ui/core'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -25,9 +25,9 @@ describe(XDrawerPrefix, () => { XDrawerModule, FormsModule, XInputModule, - XIconModule, + XIconComponent, XRadioModule, - XButtonModule + XButtonComponent ], declarations: [TestXDrawerComponent, TestXDrawerTitleComponent, TestXDrawerCustomComponent, TestXDrawerMultipleComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/drawer/drawer.module.ts b/lib/ng-nest/ui/drawer/drawer.module.ts index d1bd76f25..eb86f05e2 100644 --- a/lib/ng-nest/ui/drawer/drawer.module.ts +++ b/lib/ng-nest/ui/drawer/drawer.module.ts @@ -1,8 +1,8 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XDrawerComponent } from './drawer.component'; -import { XOutletModule } from '@ng-nest/ui/outlet'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XPortalModule } from '@ng-nest/ui/portal'; import { XDrawerContainerProperty, XDrawerProperty } from './drawer.property'; import { XDrawerService } from './drawer.service'; @@ -29,7 +29,7 @@ import { XDrawerContainerComponent } from './drawer-container.component'; XDrawerPortalComponent, XDrawerContainerComponent ], - imports: [CommonModule, XOutletModule, XButtonModule, XPortalModule], + imports: [CommonModule, XOutletDirective, XButtonComponent, XPortalModule], providers: [XDrawerService] }) export class XDrawerModule {} diff --git a/lib/ng-nest/ui/dropdown/dropdown.component.spec.ts b/lib/ng-nest/ui/dropdown/dropdown.component.spec.ts index 9e07cd8df..4bec3bd93 100644 --- a/lib/ng-nest/ui/dropdown/dropdown.component.spec.ts +++ b/lib/ng-nest/ui/dropdown/dropdown.component.spec.ts @@ -5,8 +5,8 @@ import { Component, DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XDropdownModule } from '@ng-nest/ui/dropdown'; import { XDropdownPrefix, XDropdownNode } from './dropdown.property'; -import { XLinkModule } from '@ng-nest/ui/link'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XLinkComponent } from '@ng-nest/ui/link'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -15,7 +15,7 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XDropdownPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BrowserAnimationsModule, HttpClientTestingModule, XThemeModule, XDropdownModule, XButtonModule, XLinkModule, XLayoutModule], + imports: [BrowserAnimationsModule, HttpClientTestingModule, XThemeModule, XDropdownModule, XButtonComponent, XLinkComponent, XLayoutModule], declarations: [TestXDropdownComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/empty/empty.component.spec.ts b/lib/ng-nest/ui/empty/empty.component.spec.ts index 2b383fe08..46b94c7c3 100644 --- a/lib/ng-nest/ui/empty/empty.component.spec.ts +++ b/lib/ng-nest/ui/empty/empty.component.spec.ts @@ -1,14 +1,13 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { XEmptyComponent } from './empty.component'; import { Component, DebugElement, ChangeDetectorRef } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XLayoutModule } from '@ng-nest/ui/layout'; -import { XEmptyModule } from '@ng-nest/ui/empty'; +import { XEmptyComponent } from '@ng-nest/ui/empty'; import { FormsModule } from '@angular/forms'; import { XEmptyPrefix } from './empty.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -23,11 +22,11 @@ describe(XEmptyPrefix, () => { HttpClientTestingModule, XThemeModule, FormsModule, - XEmptyModule, - XButtonModule, + XEmptyComponent, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule + XIconComponent ], declarations: [TestXEmptyComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/empty/empty.component.ts b/lib/ng-nest/ui/empty/empty.component.ts index d0e87f603..ba64e8a14 100644 --- a/lib/ng-nest/ui/empty/empty.component.ts +++ b/lib/ng-nest/ui/empty/empty.component.ts @@ -1,12 +1,24 @@ -import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; +import { + Component, + ViewEncapsulation, + ChangeDetectionStrategy, + ChangeDetectorRef, + inject +} from '@angular/core'; import { XEmptyPrefix, XEmptyProperty } from './empty.property'; import { XConfigService } from '@ng-nest/ui/core'; import { XI18nService } from '@ng-nest/ui/i18n'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XI18nPipe } from '@ng-nest/ui/i18n'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; +import { CommonModule } from '@angular/common'; @Component({ selector: `${XEmptyPrefix}`, + standalone: true, + imports: [CommonModule, XOutletDirective, XIconComponent, XI18nPipe, XEmptyProperty], templateUrl: './empty.component.html', styleUrls: ['./empty.component.scss'], encapsulation: ViewEncapsulation.None, @@ -15,12 +27,14 @@ import { takeUntil } from 'rxjs/operators'; export class XEmptyComponent extends XEmptyProperty { private _unSubject = new Subject(); - constructor(public configService: XConfigService, public cdr: ChangeDetectorRef, public i18n: XI18nService) { - super(); - } + private cdr = inject(ChangeDetectorRef); + private i18n = inject(XI18nService); + configService = inject(XConfigService); ngOnInit() { - this.i18n.localeChange.pipe(takeUntil(this._unSubject)).subscribe(() => this.cdr.markForCheck()); + this.i18n.localeChange + .pipe(takeUntil(this._unSubject)) + .subscribe(() => this.cdr.markForCheck()); } ngOnDestroy() { diff --git a/lib/ng-nest/ui/empty/empty.module.ts b/lib/ng-nest/ui/empty/empty.module.ts index 86d8b496e..b642558cc 100644 --- a/lib/ng-nest/ui/empty/empty.module.ts +++ b/lib/ng-nest/ui/empty/empty.module.ts @@ -1,14 +1,8 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { XEmptyComponent } from './empty.component'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XOutletModule } from '@ng-nest/ui/outlet'; -import { XEmptyProperty } from './empty.property'; -import { XI18nModule } from '@ng-nest/ui/i18n'; @NgModule({ - declarations: [XEmptyComponent, XEmptyProperty], exports: [XEmptyComponent], - imports: [CommonModule, XOutletModule, XIconModule, XI18nModule] + imports: [XEmptyComponent] }) export class XEmptyModule {} diff --git a/lib/ng-nest/ui/empty/empty.property.ts b/lib/ng-nest/ui/empty/empty.property.ts index c7c0bb1ca..039f3abcc 100644 --- a/lib/ng-nest/ui/empty/empty.property.ts +++ b/lib/ng-nest/ui/empty/empty.property.ts @@ -12,7 +12,7 @@ const X_CONFIG_NAME = 'empty'; /** * Empty Property */ -@Component({ selector: `${XEmptyPrefix}-property`, template: '' }) +@Component({ selector: `${XEmptyPrefix}-property`, template: '', standalone: true }) export class XEmptyProperty { /** * @zh_CN 图片地址或自定义模板 diff --git a/lib/ng-nest/ui/empty/examples/en_US/default/custom/custom.component.ts b/lib/ng-nest/ui/empty/examples/en_US/default/custom/custom.component.ts index 7915d8beb..f2637424c 100644 --- a/lib/ng-nest/ui/empty/examples/en_US/default/custom/custom.component.ts +++ b/lib/ng-nest/ui/empty/examples/en_US/default/custom/custom.component.ts @@ -1,7 +1,12 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; +import { XEmptyComponent } from '@ng-nest/ui/empty'; +import { XIconComponent } from '@ng-nest/ui/icon'; @Component({ selector: 'ex-custom', + standalone: true, + imports: [XEmptyComponent, XIconComponent, XButtonComponent], templateUrl: './custom.component.html', styleUrls: ['./custom.component.scss'] }) diff --git a/lib/ng-nest/ui/empty/examples/en_US/default/default/default.component.ts b/lib/ng-nest/ui/empty/examples/en_US/default/default/default.component.ts index 77efc793a..7c9d89a78 100644 --- a/lib/ng-nest/ui/empty/examples/en_US/default/default/default.component.ts +++ b/lib/ng-nest/ui/empty/examples/en_US/default/default/default.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XEmptyComponent } from '@ng-nest/ui/empty'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XEmptyComponent], templateUrl: './default.component.html' }) export class ExDefaultComponent {} diff --git a/lib/ng-nest/ui/empty/examples/zh_CN/default/custom/custom.component.ts b/lib/ng-nest/ui/empty/examples/zh_CN/default/custom/custom.component.ts index 7915d8beb..f2637424c 100644 --- a/lib/ng-nest/ui/empty/examples/zh_CN/default/custom/custom.component.ts +++ b/lib/ng-nest/ui/empty/examples/zh_CN/default/custom/custom.component.ts @@ -1,7 +1,12 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; +import { XEmptyComponent } from '@ng-nest/ui/empty'; +import { XIconComponent } from '@ng-nest/ui/icon'; @Component({ selector: 'ex-custom', + standalone: true, + imports: [XEmptyComponent, XIconComponent, XButtonComponent], templateUrl: './custom.component.html', styleUrls: ['./custom.component.scss'] }) diff --git a/lib/ng-nest/ui/empty/examples/zh_CN/default/default/default.component.ts b/lib/ng-nest/ui/empty/examples/zh_CN/default/default/default.component.ts index 77efc793a..7c9d89a78 100644 --- a/lib/ng-nest/ui/empty/examples/zh_CN/default/default/default.component.ts +++ b/lib/ng-nest/ui/empty/examples/zh_CN/default/default/default.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XEmptyComponent } from '@ng-nest/ui/empty'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XEmptyComponent], templateUrl: './default.component.html' }) export class ExDefaultComponent {} diff --git a/lib/ng-nest/ui/find/find.module.ts b/lib/ng-nest/ui/find/find.module.ts index a99987aac..124fce88c 100644 --- a/lib/ng-nest/ui/find/find.module.ts +++ b/lib/ng-nest/ui/find/find.module.ts @@ -3,14 +3,14 @@ import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { XFindComponent } from './find.component'; import { XFindProperty } from './find.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XDialogModule } from '@ng-nest/ui/dialog'; import { XTableModule } from '@ng-nest/ui/table'; import { XTagModule } from '@ng-nest/ui/tag'; -import { XEmptyModule } from '@ng-nest/ui/empty'; +import { XEmptyComponent } from '@ng-nest/ui/empty'; import { XTreeModule } from '@ng-nest/ui/tree'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; import { XInputModule } from '@ng-nest/ui/input'; @NgModule({ @@ -21,14 +21,14 @@ import { XInputModule } from '@ng-nest/ui/input'; FormsModule, ReactiveFormsModule, XTagModule, - XButtonModule, + XButtonComponent, XDialogModule, XTableModule, XTreeModule, - XIconModule, - XEmptyModule, + XIconComponent, + XEmptyComponent, XInputModule, - XBaseFormModule + XControlValueAccessor ] }) export class XFindModule {} diff --git a/lib/ng-nest/ui/form/form.component.spec.ts b/lib/ng-nest/ui/form/form.component.spec.ts index f4d6d5b0b..b2400eed3 100644 --- a/lib/ng-nest/ui/form/form.component.spec.ts +++ b/lib/ng-nest/ui/form/form.component.spec.ts @@ -11,14 +11,14 @@ import { XCalendarNode } from '@ng-nest/ui/calendar'; import { XCheckboxNode } from '@ng-nest/ui/checkbox'; import { XSelectNode } from '@ng-nest/ui/select'; import { Observable } from 'rxjs'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XTreeNode } from '@ng-nest/ui/tree'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XFormPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BrowserAnimationsModule, HttpClientTestingModule, XButtonModule, XFormModule], + imports: [BrowserAnimationsModule, HttpClientTestingModule, XButtonComponent, XFormModule], declarations: [TestXFormComponent, TestXFormRowComponent, TestXFormTitleComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/form/form.module.ts b/lib/ng-nest/ui/form/form.module.ts index 175908935..887e95b28 100644 --- a/lib/ng-nest/ui/form/form.module.ts +++ b/lib/ng-nest/ui/form/form.module.ts @@ -17,17 +17,17 @@ import { XRateModule } from '@ng-nest/ui/rate'; import { XSliderSelectModule } from '@ng-nest/ui/slider-select'; import { XSwitchModule } from '@ng-nest/ui/switch'; import { XTimePickerModule } from '@ng-nest/ui/time-picker'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XFindModule } from '@ng-nest/ui/find'; import { XTextareaModule } from '@ng-nest/ui/textarea'; -import { XOutletModule } from '@ng-nest/ui/outlet'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; import { XAutoCompleteModule } from '@ng-nest/ui/auto-complete'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XI18nDirective } from '@ng-nest/ui/i18n'; const modules = [ XLayoutModule, - XIconModule, + XIconComponent, XInputModule, XSelectModule, XCascadeModule, @@ -43,9 +43,9 @@ const modules = [ XTextareaModule, XFindModule, XAutoCompleteModule, - XOutletModule, - XBaseFormModule, - XI18nModule + XOutletDirective, + XControlValueAccessor, + XI18nDirective ]; @NgModule({ diff --git a/lib/ng-nest/ui/highlight/highlight.module.ts b/lib/ng-nest/ui/highlight/highlight.module.ts index 89ab6bb6d..7e9100f9d 100644 --- a/lib/ng-nest/ui/highlight/highlight.module.ts +++ b/lib/ng-nest/ui/highlight/highlight.module.ts @@ -2,11 +2,11 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XHighlightComponent } from './highlight.component'; import { XHighlightProperty } from './highlight.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; @NgModule({ declarations: [XHighlightComponent, XHighlightProperty], exports: [XHighlightComponent], - imports: [CommonModule, XButtonModule] + imports: [CommonModule, XButtonComponent] }) export class XHighlightModule {} diff --git a/lib/ng-nest/ui/i18n/i18n.directive.ts b/lib/ng-nest/ui/i18n/i18n.directive.ts index 61d503417..177b43548 100644 --- a/lib/ng-nest/ui/i18n/i18n.directive.ts +++ b/lib/ng-nest/ui/i18n/i18n.directive.ts @@ -1,16 +1,29 @@ -import { Directive, ElementRef, Input, OnDestroy, SimpleChanges, OnChanges } from '@angular/core'; +import { + Directive, + ElementRef, + Input, + OnDestroy, + SimpleChanges, + OnChanges, + OnInit, + inject +} from '@angular/core'; import { XI18nService } from './i18n.service'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { XIsChange } from '@ng-nest/ui/core'; @Directive({ - selector: '[x-i18n]' + selector: '[x-i18n]', + standalone: true }) -export class XI18nDirective implements OnChanges, OnDestroy { +export class XI18nDirective implements OnInit, OnChanges, OnDestroy { @Input('x-i18n') path!: string; private _unSubject = new Subject(); - constructor(private locale: XI18nService, private elementRef: ElementRef) { + private locale = inject(XI18nService); + private elementRef = inject(ElementRef); + + ngOnInit() { this.locale.localeChange.pipe(takeUntil(this._unSubject)).subscribe(() => this.setLocale()); } diff --git a/lib/ng-nest/ui/i18n/i18n.module.ts b/lib/ng-nest/ui/i18n/i18n.module.ts index 5b755ea1a..66c6a645c 100644 --- a/lib/ng-nest/ui/i18n/i18n.module.ts +++ b/lib/ng-nest/ui/i18n/i18n.module.ts @@ -3,7 +3,7 @@ import { XI18nPipe } from './i18n.pipe'; import { XI18nDirective } from './i18n.directive'; @NgModule({ - declarations: [XI18nPipe, XI18nDirective], + imports: [XI18nPipe, XI18nDirective], exports: [XI18nPipe, XI18nDirective] }) export class XI18nModule {} diff --git a/lib/ng-nest/ui/i18n/i18n.pipe.spec.ts b/lib/ng-nest/ui/i18n/i18n.pipe.spec.ts index 6a0d8d51a..b6c6523dc 100644 --- a/lib/ng-nest/ui/i18n/i18n.pipe.spec.ts +++ b/lib/ng-nest/ui/i18n/i18n.pipe.spec.ts @@ -1,10 +1,10 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { Component, ChangeDetectorRef } from '@angular/core'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XI18nPipe, XI18nDirective } from '@ng-nest/ui/i18n'; import { XI18nPrefix } from './i18n.property'; import { XCommentModule, XCommentNode } from '@ng-nest/ui/comment'; import { XAddMinutes, XAddHours } from '@ng-nest/ui/core'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XI18nService } from './i18n.service'; import en_US from './languages/en_US'; import zh_CN from './languages/zh_CN'; @@ -13,7 +13,13 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XI18nPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [XI18nModule, HttpClientTestingModule, XButtonModule, XCommentModule], + imports: [ + XI18nPipe, + XI18nDirective, + HttpClientTestingModule, + XButtonComponent, + XCommentModule + ], declarations: [TestXI18nComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/i18n/i18n.pipe.ts b/lib/ng-nest/ui/i18n/i18n.pipe.ts index 6d7a952a3..11e5bc6c0 100644 --- a/lib/ng-nest/ui/i18n/i18n.pipe.ts +++ b/lib/ng-nest/ui/i18n/i18n.pipe.ts @@ -3,7 +3,8 @@ import { XI18nService } from './i18n.service'; @Pipe({ name: 'xI18n', - pure: false + pure: false, + standalone: true }) export class XI18nPipe implements PipeTransform { private localeId: any; diff --git a/lib/ng-nest/ui/i18n/i18n.service.ts b/lib/ng-nest/ui/i18n/i18n.service.ts index 3eaa0c2a9..a43994c4f 100644 --- a/lib/ng-nest/ui/i18n/i18n.service.ts +++ b/lib/ng-nest/ui/i18n/i18n.service.ts @@ -23,7 +23,9 @@ export class XI18nService { let content = this._getObjectPath(this._locale, path) as string; if (typeof content === 'string') { if (data) { - Object.keys(data).forEach((key) => (content = content.replace(new RegExp(`%${key}%`, 'g'), data[key]))); + Object.keys(data).forEach( + (key) => (content = content.replace(new RegExp(`%${key}%`, 'g'), data[key])) + ); } return content; } diff --git a/lib/ng-nest/ui/icon/examples/en_US/default/ant-design/ant-design.component.ts b/lib/ng-nest/ui/icon/examples/en_US/default/ant-design/ant-design.component.ts index 18e554471..b15c5e98a 100644 --- a/lib/ng-nest/ui/icon/examples/en_US/default/ant-design/ant-design.component.ts +++ b/lib/ng-nest/ui/icon/examples/en_US/default/ant-design/ant-design.component.ts @@ -1,7 +1,13 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; @Component({ selector: 'ex-ant-design', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], templateUrl: './ant-design.component.html', styleUrls: ['./ant-design.component.scss'] }) diff --git a/lib/ng-nest/ui/icon/examples/en_US/default/eva/eva.component.ts b/lib/ng-nest/ui/icon/examples/en_US/default/eva/eva.component.ts index 2e9b39358..6eb76d919 100644 --- a/lib/ng-nest/ui/icon/examples/en_US/default/eva/eva.component.ts +++ b/lib/ng-nest/ui/icon/examples/en_US/default/eva/eva.component.ts @@ -1,7 +1,13 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; @Component({ selector: 'ex-eva', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], templateUrl: './eva.component.html', styleUrls: ['./eva.component.scss'] }) diff --git a/lib/ng-nest/ui/icon/examples/en_US/default/feather/feather.component.ts b/lib/ng-nest/ui/icon/examples/en_US/default/feather/feather.component.ts index 5eab74edc..d8fb9ffe8 100644 --- a/lib/ng-nest/ui/icon/examples/en_US/default/feather/feather.component.ts +++ b/lib/ng-nest/ui/icon/examples/en_US/default/feather/feather.component.ts @@ -1,7 +1,13 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; @Component({ selector: 'ex-feather', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], templateUrl: './feather.component.html', styleUrls: ['./feather.component.scss'] }) diff --git a/lib/ng-nest/ui/icon/examples/en_US/default/font-awesome/font-awesome.component.ts b/lib/ng-nest/ui/icon/examples/en_US/default/font-awesome/font-awesome.component.ts index 8ec148033..478f83583 100644 --- a/lib/ng-nest/ui/icon/examples/en_US/default/font-awesome/font-awesome.component.ts +++ b/lib/ng-nest/ui/icon/examples/en_US/default/font-awesome/font-awesome.component.ts @@ -1,7 +1,13 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; @Component({ selector: 'ex-font-awesome', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], templateUrl: './font-awesome.component.html', styleUrls: ['./font-awesome.component.scss'] }) diff --git a/lib/ng-nest/ui/icon/examples/en_US/default/material-design/material-design.component.ts b/lib/ng-nest/ui/icon/examples/en_US/default/material-design/material-design.component.ts index b0dacdee2..3d12c4645 100644 --- a/lib/ng-nest/ui/icon/examples/en_US/default/material-design/material-design.component.ts +++ b/lib/ng-nest/ui/icon/examples/en_US/default/material-design/material-design.component.ts @@ -1,7 +1,13 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; @Component({ selector: 'ex-material-design', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], templateUrl: './material-design.component.html', styleUrls: ['./material-design.component.scss'] }) diff --git a/lib/ng-nest/ui/icon/examples/zh_CN/default/ant-design/ant-design.component.ts b/lib/ng-nest/ui/icon/examples/zh_CN/default/ant-design/ant-design.component.ts index 18e554471..b15c5e98a 100644 --- a/lib/ng-nest/ui/icon/examples/zh_CN/default/ant-design/ant-design.component.ts +++ b/lib/ng-nest/ui/icon/examples/zh_CN/default/ant-design/ant-design.component.ts @@ -1,7 +1,13 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; @Component({ selector: 'ex-ant-design', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], templateUrl: './ant-design.component.html', styleUrls: ['./ant-design.component.scss'] }) diff --git a/lib/ng-nest/ui/icon/examples/zh_CN/default/eva/eva.component.ts b/lib/ng-nest/ui/icon/examples/zh_CN/default/eva/eva.component.ts index 2e9b39358..6eb76d919 100644 --- a/lib/ng-nest/ui/icon/examples/zh_CN/default/eva/eva.component.ts +++ b/lib/ng-nest/ui/icon/examples/zh_CN/default/eva/eva.component.ts @@ -1,7 +1,13 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; @Component({ selector: 'ex-eva', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], templateUrl: './eva.component.html', styleUrls: ['./eva.component.scss'] }) diff --git a/lib/ng-nest/ui/icon/examples/zh_CN/default/feather/feather.component.ts b/lib/ng-nest/ui/icon/examples/zh_CN/default/feather/feather.component.ts index 5eab74edc..d8fb9ffe8 100644 --- a/lib/ng-nest/ui/icon/examples/zh_CN/default/feather/feather.component.ts +++ b/lib/ng-nest/ui/icon/examples/zh_CN/default/feather/feather.component.ts @@ -1,7 +1,13 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; @Component({ selector: 'ex-feather', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], templateUrl: './feather.component.html', styleUrls: ['./feather.component.scss'] }) diff --git a/lib/ng-nest/ui/icon/examples/zh_CN/default/font-awesome/font-awesome.component.ts b/lib/ng-nest/ui/icon/examples/zh_CN/default/font-awesome/font-awesome.component.ts index 8ec148033..478f83583 100644 --- a/lib/ng-nest/ui/icon/examples/zh_CN/default/font-awesome/font-awesome.component.ts +++ b/lib/ng-nest/ui/icon/examples/zh_CN/default/font-awesome/font-awesome.component.ts @@ -1,7 +1,13 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; @Component({ selector: 'ex-font-awesome', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], templateUrl: './font-awesome.component.html', styleUrls: ['./font-awesome.component.scss'] }) diff --git a/lib/ng-nest/ui/icon/examples/zh_CN/default/material-design/material-design.component.ts b/lib/ng-nest/ui/icon/examples/zh_CN/default/material-design/material-design.component.ts index b0dacdee2..3d12c4645 100644 --- a/lib/ng-nest/ui/icon/examples/zh_CN/default/material-design/material-design.component.ts +++ b/lib/ng-nest/ui/icon/examples/zh_CN/default/material-design/material-design.component.ts @@ -1,7 +1,13 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; @Component({ selector: 'ex-material-design', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], templateUrl: './material-design.component.html', styleUrls: ['./material-design.component.scss'] }) diff --git a/lib/ng-nest/ui/icon/icon.component.spec.ts b/lib/ng-nest/ui/icon/icon.component.spec.ts index 6f678a7ba..fa8b7724b 100644 --- a/lib/ng-nest/ui/icon/icon.component.spec.ts +++ b/lib/ng-nest/ui/icon/icon.component.spec.ts @@ -1,9 +1,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { XIconComponent } from './icon.component'; import { Component, DebugElement, ChangeDetectorRef } from '@angular/core'; import { By } from '@angular/platform-browser'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { XIconPrefix } from './icon.property'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; @@ -13,7 +12,7 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XIconPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BrowserAnimationsModule, HttpClientTestingModule, XThemeModule, XIconModule, XLayoutModule], + imports: [BrowserAnimationsModule, HttpClientTestingModule, XThemeModule, XIconComponent, XLayoutModule], declarations: [TestXIconComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/icon/icon.component.ts b/lib/ng-nest/ui/icon/icon.component.ts index d497bbb16..09d5b43bc 100644 --- a/lib/ng-nest/ui/icon/icon.component.ts +++ b/lib/ng-nest/ui/icon/icon.component.ts @@ -11,10 +11,16 @@ import { HostBinding, inject } from '@angular/core'; -import { DOCUMENT } from '@angular/common'; +import { CommonModule, DOCUMENT } from '@angular/common'; import { XIconPrefix, XIconProperty } from './icon.property'; import { XIconService } from './icon.service'; -import { warnIconTypeNotFound, warnSVGTagNotFound, XIsChange, XIsEmpty, XConfigService } from '@ng-nest/ui/core'; +import { + warnIconTypeNotFound, + warnSVGTagNotFound, + XIsChange, + XIsEmpty, + XConfigService +} from '@ng-nest/ui/core'; // 来源路径对应 export const XSouceUrl: { [property: string]: string } = { @@ -39,34 +45,32 @@ export const XViewBox = [ @Component({ selector: `${XIconPrefix}`, + standalone: true, + imports: [CommonModule, XIconProperty], templateUrl: './icon.component.html', styleUrls: ['./style/index.scss'], encapsulation: ViewEncapsulation.None, - changeDetection: ChangeDetectionStrategy.OnPush + changeDetection: ChangeDetectionStrategy.OnPush, + providers: [XIconService] }) export class XIconComponent extends XIconProperty implements OnInit, OnChanges { private _svgElement!: SVGElement; private _loaded: boolean = false; private document = inject(DOCUMENT); + private elementRef = inject(ElementRef); + private renderer = inject(Renderer2); + private iconService = inject(XIconService); + private cdr = inject(ChangeDetectorRef); + configService = inject(XConfigService); @HostBinding('class.x-icon-spin') get getSpin() { return this.spin; } - constructor( - public elementRef: ElementRef, - private renderer: Renderer2, - public iconService: XIconService, - private cdr: ChangeDetectorRef, - public configService: XConfigService - ) { - super(); - this.iconService.rootUrl = this.href as string; + ngOnInit() { this.renderer.addClass(this.elementRef.nativeElement, XIconPrefix); } - ngOnInit() {} - ngOnChanges(changes: SimpleChanges): void { const { type, spin } = changes; if (XIsChange(type)) { @@ -100,7 +104,7 @@ export class XIconComponent extends XIconProperty implements OnInit, OnChanges { if (!XIsEmpty(toIcon)) { icons = [...icons, toIcon]; } - this.iconService.getSvgs(...icons).subscribe((x) => this.setSvgs(x)); + this.iconService.getSvgs(this.href!, ...icons).subscribe((x) => this.setSvgs(x)); } setSvgs(svgs: string[]) { @@ -138,7 +142,10 @@ export class XIconComponent extends XIconProperty implements OnInit, OnChanges { } buildSvg(svgStr: string): SVGSVGElement | undefined { - const result = this.document.createElementNS('http://www.w3.org/2000/svg', 'svg') as SVGSVGElement; + const result = this.document.createElementNS( + 'http://www.w3.org/2000/svg', + 'svg' + ) as SVGSVGElement; const svg = this.createSvg(svgStr); if (!svg) return; svg.children.forEach((x) => { diff --git a/lib/ng-nest/ui/icon/icon.module.ts b/lib/ng-nest/ui/icon/icon.module.ts index fafdd3f67..c911cd4f4 100644 --- a/lib/ng-nest/ui/icon/icon.module.ts +++ b/lib/ng-nest/ui/icon/icon.module.ts @@ -1,13 +1,10 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { XIconComponent } from './icon.component'; import { XIconService } from './icon.service'; -import { XIconProperty } from './icon.property'; @NgModule({ - declarations: [XIconComponent, XIconProperty], exports: [XIconComponent], - imports: [CommonModule], + imports: [XIconComponent], providers: [XIconService] }) export class XIconModule {} diff --git a/lib/ng-nest/ui/icon/icon.property.ts b/lib/ng-nest/ui/icon/icon.property.ts index 6867255a8..fd4bb2039 100644 --- a/lib/ng-nest/ui/icon/icon.property.ts +++ b/lib/ng-nest/ui/icon/icon.property.ts @@ -1,4 +1,11 @@ -import { XProperty, XInputNumber, XInputBoolean, XNumber, XBoolean, XWithConfig } from '@ng-nest/ui/core'; +import { + XProperty, + XInputNumber, + XInputBoolean, + XNumber, + XBoolean, + XWithConfig +} from '@ng-nest/ui/core'; import { Input, Component } from '@angular/core'; /** @@ -15,13 +22,13 @@ export const XIconHref = 'https://ngnest.com/static/icons/'; /** * Icon Property */ -@Component({ selector: `${XIconPrefix}-property`, template: '' }) +@Component({ selector: `${XIconPrefix}-property`, template: '', standalone: true }) export class XIconProperty extends XProperty { /** * @zh_CN SVG 图标根路径地址,可以通过全局只配置一次,所有图标资源在 github 上的 ng-nest-icon 中 * @en_US The root address of the SVG icon can be configured only once globally. All icon resources are in ng-nest-icon on github */ - @Input() @XWithConfig(X_CONFIG_NAME, XIconHref) href?: string; + @Input() @XWithConfig(X_CONFIG_NAME, XIconHref) href!: string; /** * @zh_CN 图标类型 * @en_US Icon type diff --git a/lib/ng-nest/ui/icon/icon.service.ts b/lib/ng-nest/ui/icon/icon.service.ts index d17e459aa..05dee226d 100644 --- a/lib/ng-nest/ui/icon/icon.service.ts +++ b/lib/ng-nest/ui/icon/icon.service.ts @@ -14,7 +14,6 @@ type Task = { // @dynamic @Injectable() export class XIconService { - rootUrl = `https://ngnest.com/static/icons/`; caches: { [property: string]: any } = {}; queue: Task[] = []; activeTaskXm: number = 0; @@ -23,7 +22,9 @@ export class XIconService { constructor(private sanitizer: DomSanitizer, @Optional() private http: HttpClient) { if (!http) { - throw new Error(`${XIconPrefix}: Not found 'HttpClient', You can import 'HttpClientModule' in your root module.`); + throw new Error( + `${XIconPrefix}: Not found 'HttpClient', You can import 'HttpClientModule' in your root module.` + ); } } @@ -69,13 +70,13 @@ export class XIconService { } } - getSvgs(...icons: string[]): Observable { - return Observable.create((subscriber: Subscriber) => { + getSvgs(root: string, ...icons: string[]): Observable { + return new Observable((subscriber: Subscriber) => { let result: string[] = []; icons.forEach((icon, index) => this.addTask({ name: icon, - observable: this.getSvgElement(icon), + observable: this.getSvgElement(root, icon), callback: (svg: string) => { result.push(svg); if (index === icons.length - 1) { @@ -88,8 +89,8 @@ export class XIconService { }); } - getSvgElement(icon: string): Observable { - const url = `${this.rootUrl}${icon}.svg`; + getSvgElement(root: string, icon: string): Observable { + const url = `${root}${icon}.svg`; const safeUrl = this.sanitizer.sanitize(SecurityContext.URL, url); return this.http.get(safeUrl as string, { responseType: 'text' }); } diff --git a/lib/ng-nest/ui/image/image.component.spec.ts b/lib/ng-nest/ui/image/image.component.spec.ts index 608d99f8a..9baefde1d 100644 --- a/lib/ng-nest/ui/image/image.component.spec.ts +++ b/lib/ng-nest/ui/image/image.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XImageComponent } from './image.component'; @@ -9,7 +9,7 @@ import { XImageModule } from '@ng-nest/ui/image'; import { XDialogModule } from '@ng-nest/ui/dialog'; import { FormsModule } from '@angular/forms'; import { XImagePrefix } from './image.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -24,10 +24,10 @@ describe(XImagePrefix, () => { XThemeModule, FormsModule, XImageModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule, + XIconComponent, XDialogModule ], declarations: [TestXImageComponent] diff --git a/lib/ng-nest/ui/image/image.module.ts b/lib/ng-nest/ui/image/image.module.ts index 31b6a31c9..959d56324 100644 --- a/lib/ng-nest/ui/image/image.module.ts +++ b/lib/ng-nest/ui/image/image.module.ts @@ -1,19 +1,31 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XImageComponent } from './image.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XImagePreviewProperty, XImageProperty } from './image.property'; import { XDialogModule } from '@ng-nest/ui/dialog'; import { XImagePreviewComponent } from './image-preview.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { DragDropModule } from '@angular/cdk/drag-drop'; -import { XI18nModule } from '@ng-nest/ui/i18n'; import { XImageGroupComponent } from './image-group.component'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; @NgModule({ - declarations: [XImageComponent, XImageProperty, XImagePreviewComponent, XImagePreviewProperty, XImageGroupComponent], + declarations: [ + XImageComponent, + XImageProperty, + XImagePreviewComponent, + XImagePreviewProperty, + XImageGroupComponent + ], exports: [XImageComponent, XImagePreviewComponent, XImageGroupComponent], - imports: [CommonModule, XIconModule, XDialogModule, XButtonModule, XI18nModule, XOutletModule, DragDropModule] + imports: [ + CommonModule, + XIconComponent, + XDialogModule, + XButtonComponent, + XOutletDirective, + DragDropModule + ] }) export class XImageModule {} diff --git a/lib/ng-nest/ui/input-number/input-number.module.ts b/lib/ng-nest/ui/input-number/input-number.module.ts index 8a21acdaa..2c3482db9 100644 --- a/lib/ng-nest/ui/input-number/input-number.module.ts +++ b/lib/ng-nest/ui/input-number/input-number.module.ts @@ -2,14 +2,21 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { XInputNumberComponent } from './input-number.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XInputNumberProperty } from './input-number.property'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; import { XInputModule } from '@ng-nest/ui/input'; @NgModule({ declarations: [XInputNumberComponent, XInputNumberProperty], exports: [XInputNumberComponent], - imports: [CommonModule, FormsModule, ReactiveFormsModule, XInputModule, XButtonModule, XBaseFormModule] + imports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + XInputModule, + XButtonComponent, + XControlValueAccessor + ] }) export class XInputNumberModule {} diff --git a/lib/ng-nest/ui/input/input.component.spec.ts b/lib/ng-nest/ui/input/input.component.spec.ts index df65ff322..2f320b58a 100644 --- a/lib/ng-nest/ui/input/input.component.spec.ts +++ b/lib/ng-nest/ui/input/input.component.spec.ts @@ -12,7 +12,7 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; import { XRadioModule } from '@ng-nest/ui/radio'; import { XSelectModule } from '@ng-nest/ui/select'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XDatePickerModule } from '@ng-nest/ui/date-picker'; import { XAutoCompleteModule } from '@ng-nest/ui/auto-complete'; import { XCascadeModule } from '@ng-nest/ui/cascade'; @@ -35,7 +35,7 @@ describe(XInputPrefix, () => { XLayoutModule, XRadioModule, XSelectModule, - XButtonModule, + XButtonComponent, XDatePickerModule, XAutoCompleteModule, XCascadeModule, diff --git a/lib/ng-nest/ui/input/input.module.ts b/lib/ng-nest/ui/input/input.module.ts index 225a8256c..f11efb3e2 100644 --- a/lib/ng-nest/ui/input/input.module.ts +++ b/lib/ng-nest/ui/input/input.module.ts @@ -2,15 +2,22 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { XInputComponent } from './input.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XInputGroupProperty, XInputProperty } from './input.property'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; import { XInputGroupComponent } from './input-group.component'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; @NgModule({ declarations: [XInputComponent, XInputProperty, XInputGroupComponent, XInputGroupProperty], exports: [XInputComponent, XInputGroupComponent], - imports: [CommonModule, FormsModule, ReactiveFormsModule, XIconModule, XBaseFormModule, XOutletModule] + imports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + XIconComponent, + XControlValueAccessor, + XOutletDirective + ] }) export class XInputModule {} diff --git a/lib/ng-nest/ui/keyword/keyword.directive.spec.ts b/lib/ng-nest/ui/keyword/keyword.directive.spec.ts index e3e331717..220c46b31 100644 --- a/lib/ng-nest/ui/keyword/keyword.directive.spec.ts +++ b/lib/ng-nest/ui/keyword/keyword.directive.spec.ts @@ -4,14 +4,14 @@ import { XKeywordDirective } from './keyword.directive'; import { Component, DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XKeywordPrefix } from './keyword.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XKeywordModule } from './keyword.module'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XKeywordPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, XKeywordModule, XButtonModule], + imports: [HttpClientTestingModule, XKeywordModule, XButtonComponent], declarations: [TestXKeywordComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/link/examples/en_US/default/default/default.component.ts b/lib/ng-nest/ui/link/examples/en_US/default/default/default.component.ts index cae54f2a5..708099f12 100644 --- a/lib/ng-nest/ui/link/examples/en_US/default/default/default.component.ts +++ b/lib/ng-nest/ui/link/examples/en_US/default/default/default.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XLinkComponent } from '@ng-nest/ui/link'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XLinkComponent, XLayoutModule], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/lib/ng-nest/ui/link/examples/en_US/default/disabled/disabled.component.ts b/lib/ng-nest/ui/link/examples/en_US/default/disabled/disabled.component.ts index 300c89438..6e5644f87 100644 --- a/lib/ng-nest/ui/link/examples/en_US/default/disabled/disabled.component.ts +++ b/lib/ng-nest/ui/link/examples/en_US/default/disabled/disabled.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XLinkComponent } from '@ng-nest/ui/link'; @Component({ selector: 'ex-disabled', + standalone: true, + imports: [XLinkComponent, XLayoutModule], templateUrl: './disabled.component.html', styleUrls: ['./disabled.component.scss'] }) diff --git a/lib/ng-nest/ui/link/examples/en_US/default/icon/icon.component.ts b/lib/ng-nest/ui/link/examples/en_US/default/icon/icon.component.ts index 7ad46cf35..7e6a8fbf7 100644 --- a/lib/ng-nest/ui/link/examples/en_US/default/icon/icon.component.ts +++ b/lib/ng-nest/ui/link/examples/en_US/default/icon/icon.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XLinkComponent } from '@ng-nest/ui/link'; @Component({ selector: 'ex-icon', + standalone: true, + imports: [XLinkComponent, XLayoutModule], templateUrl: './icon.component.html', styleUrls: ['./icon.component.scss'] }) diff --git a/lib/ng-nest/ui/link/examples/en_US/default/underline/underline.component.ts b/lib/ng-nest/ui/link/examples/en_US/default/underline/underline.component.ts index 960be44e2..3b31a9f70 100644 --- a/lib/ng-nest/ui/link/examples/en_US/default/underline/underline.component.ts +++ b/lib/ng-nest/ui/link/examples/en_US/default/underline/underline.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XLinkComponent } from '@ng-nest/ui/link'; @Component({ selector: 'ex-underline', + standalone: true, + imports: [XLinkComponent, XLayoutModule], templateUrl: './underline.component.html', styleUrls: ['./underline.component.scss'] }) diff --git a/lib/ng-nest/ui/link/examples/zh_CN/default/default/default.component.ts b/lib/ng-nest/ui/link/examples/zh_CN/default/default/default.component.ts index cae54f2a5..708099f12 100644 --- a/lib/ng-nest/ui/link/examples/zh_CN/default/default/default.component.ts +++ b/lib/ng-nest/ui/link/examples/zh_CN/default/default/default.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XLinkComponent } from '@ng-nest/ui/link'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XLinkComponent, XLayoutModule], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/lib/ng-nest/ui/link/examples/zh_CN/default/disabled/disabled.component.ts b/lib/ng-nest/ui/link/examples/zh_CN/default/disabled/disabled.component.ts index 300c89438..6e5644f87 100644 --- a/lib/ng-nest/ui/link/examples/zh_CN/default/disabled/disabled.component.ts +++ b/lib/ng-nest/ui/link/examples/zh_CN/default/disabled/disabled.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XLinkComponent } from '@ng-nest/ui/link'; @Component({ selector: 'ex-disabled', + standalone: true, + imports: [XLinkComponent, XLayoutModule], templateUrl: './disabled.component.html', styleUrls: ['./disabled.component.scss'] }) diff --git a/lib/ng-nest/ui/link/examples/zh_CN/default/icon/icon.component.ts b/lib/ng-nest/ui/link/examples/zh_CN/default/icon/icon.component.ts index 7ad46cf35..7e6a8fbf7 100644 --- a/lib/ng-nest/ui/link/examples/zh_CN/default/icon/icon.component.ts +++ b/lib/ng-nest/ui/link/examples/zh_CN/default/icon/icon.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XLinkComponent } from '@ng-nest/ui/link'; @Component({ selector: 'ex-icon', + standalone: true, + imports: [XLinkComponent, XLayoutModule], templateUrl: './icon.component.html', styleUrls: ['./icon.component.scss'] }) diff --git a/lib/ng-nest/ui/link/examples/zh_CN/default/underline/underline.component.ts b/lib/ng-nest/ui/link/examples/zh_CN/default/underline/underline.component.ts index 960be44e2..3b31a9f70 100644 --- a/lib/ng-nest/ui/link/examples/zh_CN/default/underline/underline.component.ts +++ b/lib/ng-nest/ui/link/examples/zh_CN/default/underline/underline.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XLinkComponent } from '@ng-nest/ui/link'; @Component({ selector: 'ex-underline', + standalone: true, + imports: [XLinkComponent, XLayoutModule], templateUrl: './underline.component.html', styleUrls: ['./underline.component.scss'] }) diff --git a/lib/ng-nest/ui/link/link.component.spec.ts b/lib/ng-nest/ui/link/link.component.spec.ts index 58b55d57a..c66e6c2a0 100644 --- a/lib/ng-nest/ui/link/link.component.spec.ts +++ b/lib/ng-nest/ui/link/link.component.spec.ts @@ -1,11 +1,10 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { XLinkComponent } from './link.component'; import { Component, DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XLayoutModule } from '@ng-nest/ui/layout'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { FormsModule } from '@angular/forms'; import { XLinkPrefix } from './link.property'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; @@ -15,7 +14,15 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XLinkPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, FormsModule, XLinkModule, XLayoutModule, XIconModule], + imports: [ + HttpClientTestingModule, + BrowserAnimationsModule, + XThemeModule, + FormsModule, + XLinkComponent, + XLayoutModule, + XIconComponent + ], declarations: [TestXLinkComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/link/link.component.ts b/lib/ng-nest/ui/link/link.component.ts index 8e4fdc955..bac9852e6 100644 --- a/lib/ng-nest/ui/link/link.component.ts +++ b/lib/ng-nest/ui/link/link.component.ts @@ -8,13 +8,20 @@ import { ChangeDetectorRef, ChangeDetectionStrategy, HostListener, - ViewChild + ViewChild, + inject } from '@angular/core'; import { XLinkPrefix, XLinkProperty } from './link.property'; import { XConfigService, XIsEmpty } from '@ng-nest/ui/core'; +import { CommonModule } from '@angular/common'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; +import { XRippleDirective } from '@ng-nest/ui/ripple'; @Component({ selector: `${XLinkPrefix}`, + standalone: true, + imports: [CommonModule, XIconComponent, XOutletDirective, XRippleDirective, XLinkProperty], templateUrl: './link.component.html', styleUrls: ['./link.component.scss'], encapsulation: ViewEncapsulation.None, @@ -35,14 +42,9 @@ export class XLinkComponent extends XLinkProperty implements OnInit, AfterViewIn this.cdr.detectChanges(); } - constructor( - public renderer: Renderer2, - public elementRef: ElementRef, - public cdr: ChangeDetectorRef, - public configService: XConfigService - ) { - super(); - } + private renderer = inject(Renderer2); + private cdr = inject(ChangeDetectorRef); + configService = inject(XConfigService); ngOnInit() { this.setClassMap(); diff --git a/lib/ng-nest/ui/link/link.module.ts b/lib/ng-nest/ui/link/link.module.ts index 6e09ee565..14c20da40 100644 --- a/lib/ng-nest/ui/link/link.module.ts +++ b/lib/ng-nest/ui/link/link.module.ts @@ -1,14 +1,8 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { XLinkComponent } from './link.component'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XOutletModule } from '@ng-nest/ui/outlet'; -import { XLinkProperty } from './link.property'; -import { XRippleModule } from '@ng-nest/ui/ripple'; @NgModule({ - declarations: [XLinkComponent, XLinkProperty], exports: [XLinkComponent], - imports: [CommonModule, XIconModule, XOutletModule, XRippleModule] + imports: [XLinkComponent] }) export class XLinkModule {} diff --git a/lib/ng-nest/ui/link/link.property.ts b/lib/ng-nest/ui/link/link.property.ts index 2b71df2d1..8c2d160cc 100644 --- a/lib/ng-nest/ui/link/link.property.ts +++ b/lib/ng-nest/ui/link/link.property.ts @@ -12,7 +12,7 @@ const X_CONFIG_NAME = 'link'; /** * Link Property */ -@Component({ selector: `${XLinkPrefix}-property`, template: '' }) +@Component({ selector: `${XLinkPrefix}-property`, template: '', standalone: true }) export class XLinkProperty extends XProperty { /** * @zh_CN 链接 diff --git a/lib/ng-nest/ui/list/list.module.ts b/lib/ng-nest/ui/list/list.module.ts index d3fc517d9..3c492965b 100644 --- a/lib/ng-nest/ui/list/list.module.ts +++ b/lib/ng-nest/ui/list/list.module.ts @@ -2,21 +2,27 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XListComponent } from './list.component'; import { XListOptionComponent } from './list-option.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { DragDropModule } from '@angular/cdk/drag-drop'; import { XListOptionProperty, XListProperty } from './list.property'; -import { XEmptyModule } from '@ng-nest/ui/empty'; +import { XEmptyComponent } from '@ng-nest/ui/empty'; import { A11yModule } from '@angular/cdk/a11y'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; -import { XOutletModule } from '@ng-nest/ui/outlet'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; +import { XI18nDirective } from '@ng-nest/ui/i18n'; import { ScrollingModule } from '@angular/cdk/scrolling'; import { XKeywordModule } from '@ng-nest/ui/keyword'; import { XListDropGroup } from './list-drop-group.directive'; @NgModule({ - declarations: [XListComponent, XListDropGroup, XListOptionComponent, XListProperty, XListOptionProperty], + declarations: [ + XListComponent, + XListDropGroup, + XListOptionComponent, + XListProperty, + XListOptionProperty + ], exports: [XListComponent, XListDropGroup, XListOptionComponent], imports: [ CommonModule, @@ -24,11 +30,11 @@ import { XListDropGroup } from './list-drop-group.directive'; ReactiveFormsModule, DragDropModule, A11yModule, - XIconModule, - XEmptyModule, - XBaseFormModule, - XI18nModule, - XOutletModule, + XIconComponent, + XEmptyComponent, + XControlValueAccessor, + XI18nDirective, + XOutletDirective, ScrollingModule, XKeywordModule ] diff --git a/lib/ng-nest/ui/loading/loading.component.spec.ts b/lib/ng-nest/ui/loading/loading.component.spec.ts index 8ae6b3b12..0d26db78e 100644 --- a/lib/ng-nest/ui/loading/loading.component.spec.ts +++ b/lib/ng-nest/ui/loading/loading.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XLoadingComponent } from './loading.component'; @@ -8,7 +8,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XLoadingModule } from '@ng-nest/ui/loading'; import { FormsModule } from '@angular/forms'; import { XLoadingPrefix } from './loading.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { of } from 'rxjs'; import { delay } from 'rxjs/operators'; @@ -26,10 +26,10 @@ describe(XLoadingPrefix, () => { FormsModule, BrowserAnimationsModule, XLoadingModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule + XIconComponent ], declarations: [TestXLoadingComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/loading/loading.module.ts b/lib/ng-nest/ui/loading/loading.module.ts index 3a4e5662b..cb0e695ea 100644 --- a/lib/ng-nest/ui/loading/loading.module.ts +++ b/lib/ng-nest/ui/loading/loading.module.ts @@ -1,14 +1,14 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XLoadingComponent } from './loading.component'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XPortalModule } from '@ng-nest/ui/portal'; import { XLoadingProperty } from './loading.property'; @NgModule({ declarations: [XLoadingComponent, XLoadingProperty], exports: [XLoadingComponent], - imports: [CommonModule, XIconModule, XOutletModule, XPortalModule] + imports: [CommonModule, XIconComponent, XOutletDirective, XPortalModule] }) export class XLoadingModule {} diff --git a/lib/ng-nest/ui/menu/menu.component.spec.ts b/lib/ng-nest/ui/menu/menu.component.spec.ts index 8f39ae4c1..434b42e72 100644 --- a/lib/ng-nest/ui/menu/menu.component.spec.ts +++ b/lib/ng-nest/ui/menu/menu.component.spec.ts @@ -4,7 +4,7 @@ import { XMenuComponent } from './menu.component'; import { Component, DebugElement, ChangeDetectorRef, NgModule } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XMenuModule } from '@ng-nest/ui/menu'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XMenuPrefix, XMenuNode } from './menu.property'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -16,7 +16,7 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XMenuPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, XMenuModule, XButtonModule, TestMenuRoutesModule], + imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, XMenuModule, XButtonComponent, TestMenuRoutesModule], declarations: [ TestXMenuComponent, TestXMenuExpandedComponent, diff --git a/lib/ng-nest/ui/menu/menu.module.ts b/lib/ng-nest/ui/menu/menu.module.ts index f08d2ef70..a828c6ae8 100644 --- a/lib/ng-nest/ui/menu/menu.module.ts +++ b/lib/ng-nest/ui/menu/menu.module.ts @@ -4,13 +4,13 @@ import { XMenuComponent } from './menu.component'; import { XMenuNodeComponent } from './menu-node.component'; import { XDropdownModule } from '@ng-nest/ui/dropdown'; import { XSliderModule } from '@ng-nest/ui/slider'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XMenuProperty, XMenuNodeProperty } from './menu.property'; import { RouterModule } from '@angular/router'; @NgModule({ declarations: [XMenuComponent, XMenuNodeComponent, XMenuProperty, XMenuNodeProperty], exports: [XMenuComponent, XMenuNodeComponent], - imports: [CommonModule, RouterModule, XDropdownModule, XSliderModule, XIconModule] + imports: [CommonModule, RouterModule, XDropdownModule, XSliderModule, XIconComponent] }) export class XMenuModule {} diff --git a/lib/ng-nest/ui/message-box/message-box.component.spec.ts b/lib/ng-nest/ui/message-box/message-box.component.spec.ts index fbc4a416b..08e222bb4 100644 --- a/lib/ng-nest/ui/message-box/message-box.component.spec.ts +++ b/lib/ng-nest/ui/message-box/message-box.component.spec.ts @@ -4,7 +4,7 @@ import { XMessageBoxComponent } from './message-box.component'; import { Component, DebugElement, ViewChild, TemplateRef, ChangeDetectorRef } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XMessageBoxModule } from '@ng-nest/ui/message-box'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XMessageBoxPrefix, XMessageBoxAction } from './message-box.property'; import { XMessageBoxService } from './message-box.service'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; @@ -17,7 +17,7 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XMessageBoxPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, XMessageBoxModule, XButtonModule, XMessageModule], + imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, XMessageBoxModule, XButtonComponent, XMessageModule], declarations: [TestXMessageBoxComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/message-box/message-box.module.ts b/lib/ng-nest/ui/message-box/message-box.module.ts index 35c22f8c1..b1c72b862 100644 --- a/lib/ng-nest/ui/message-box/message-box.module.ts +++ b/lib/ng-nest/ui/message-box/message-box.module.ts @@ -1,15 +1,15 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XMessageBoxComponent } from './message-box.component'; -import { XAlertModule } from '@ng-nest/ui/alert'; +import { XAlertComponent } from '@ng-nest/ui/alert'; import { XPortalModule } from '@ng-nest/ui/portal'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { XInputModule } from '@ng-nest/ui/input'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XMessageBoxService } from './message-box.service'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; @NgModule({ declarations: [XMessageBoxComponent], @@ -20,11 +20,12 @@ import { XBaseFormModule } from '@ng-nest/ui/base-form'; ReactiveFormsModule, XPortalModule, XInputModule, - XButtonModule, - XIconModule, - XAlertModule, - XOutletModule, - XBaseFormModule + XButtonComponent, + XButtonsComponent, + XIconComponent, + XAlertComponent, + XOutletDirective, + XControlValueAccessor ], providers: [XMessageBoxService] }) diff --git a/lib/ng-nest/ui/message/message.component.spec.ts b/lib/ng-nest/ui/message/message.component.spec.ts index d3be50bdb..cd4e2bfe9 100644 --- a/lib/ng-nest/ui/message/message.component.spec.ts +++ b/lib/ng-nest/ui/message/message.component.spec.ts @@ -4,7 +4,7 @@ import { XMessageComponent } from './message.component'; import { Component, DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XMessageModule } from '@ng-nest/ui/message'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XMessagePrefix } from './message.property'; import { XMessageService } from './message.service'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; @@ -22,7 +22,7 @@ describe(XMessagePrefix, () => { }; beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, XMessageModule, XButtonModule], + imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, XMessageModule, XButtonComponent], declarations: [TestXMessageComponent, TestXMessageTypeComponent, TestXMessageDisplayTypeComponent], providers: [ { diff --git a/lib/ng-nest/ui/message/message.module.ts b/lib/ng-nest/ui/message/message.module.ts index bf1dc12ae..f1f5f80e2 100644 --- a/lib/ng-nest/ui/message/message.module.ts +++ b/lib/ng-nest/ui/message/message.module.ts @@ -1,14 +1,14 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XMessageComponent } from './message.component'; -import { XAlertModule } from '@ng-nest/ui/alert'; +import { XAlertComponent } from '@ng-nest/ui/alert'; import { XMessageService } from './message.service'; import { XPortalModule } from '@ng-nest/ui/portal'; @NgModule({ declarations: [XMessageComponent], exports: [XMessageComponent], - imports: [CommonModule, XPortalModule, XAlertModule], + imports: [CommonModule, XPortalModule, XAlertComponent], providers: [XMessageService] }) export class XMessageModule {} diff --git a/lib/ng-nest/ui/notification/notification.component.spec.ts b/lib/ng-nest/ui/notification/notification.component.spec.ts index 47bda3394..b641c7930 100644 --- a/lib/ng-nest/ui/notification/notification.component.spec.ts +++ b/lib/ng-nest/ui/notification/notification.component.spec.ts @@ -4,7 +4,7 @@ import { XNotificationComponent } from './notification.component'; import { Component, DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XNotificationModule } from '@ng-nest/ui/notification'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XNotificationPrefix } from './notification.property'; import { XNotificationService } from './notification.service'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; @@ -15,7 +15,7 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XNotificationPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, XNotificationModule, XButtonModule], + imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, XNotificationModule, XButtonComponent], declarations: [TestXNotificationComponent, TestXNotificationTypeComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/notification/notification.module.ts b/lib/ng-nest/ui/notification/notification.module.ts index 2a0024fef..dbde4315e 100644 --- a/lib/ng-nest/ui/notification/notification.module.ts +++ b/lib/ng-nest/ui/notification/notification.module.ts @@ -1,14 +1,14 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XNotificationComponent } from './notification.component'; -import { XAlertModule } from '@ng-nest/ui/alert'; +import { XAlertComponent } from '@ng-nest/ui/alert'; import { XPortalModule } from '@ng-nest/ui/portal'; import { XNotificationService } from './notification.service'; @NgModule({ declarations: [XNotificationComponent], exports: [XNotificationComponent], - imports: [CommonModule, XPortalModule, XAlertModule], + imports: [CommonModule, XPortalModule, XAlertComponent], providers: [XNotificationService] }) export class XNotificationModule {} diff --git a/lib/ng-nest/ui/outlet/outlet.directive.spec.ts b/lib/ng-nest/ui/outlet/outlet.directive.spec.ts index 556d68a7d..8b3ef3b2a 100644 --- a/lib/ng-nest/ui/outlet/outlet.directive.spec.ts +++ b/lib/ng-nest/ui/outlet/outlet.directive.spec.ts @@ -1,13 +1,13 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { Component } from '@angular/core'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XOutletPrefix } from './outlet.property'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XOutletPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, XOutletModule], + imports: [HttpClientTestingModule, XOutletDirective], declarations: [TestXOutletComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/outlet/outlet.directive.ts b/lib/ng-nest/ui/outlet/outlet.directive.ts index 9fde1ed3d..5fd3bdbf5 100644 --- a/lib/ng-nest/ui/outlet/outlet.directive.ts +++ b/lib/ng-nest/ui/outlet/outlet.directive.ts @@ -1,11 +1,22 @@ -import { Directive, TemplateRef, Input, ViewContainerRef, SimpleChanges, EmbeddedViewRef, OnChanges, SimpleChange } from '@angular/core'; +import { + Directive, + TemplateRef, + Input, + ViewContainerRef, + SimpleChanges, + EmbeddedViewRef, + OnChanges, + SimpleChange, + inject +} from '@angular/core'; -@Directive({ selector: '[xOutlet]' }) +@Directive({ selector: '[xOutlet]', standalone: true }) export class XOutletDirective implements OnChanges { @Input() xOutletContext: any; @Input() xOutlet: any | TemplateRef; private embeddedViewRef!: EmbeddedViewRef; - constructor(private viewContainer: ViewContainerRef, private templateRef: TemplateRef) {} + private viewContainer = inject(ViewContainerRef); + private templateRef = inject(TemplateRef); ngOnChanges(changes: SimpleChanges): void { const shouldRecreateView = (ctxChanges: SimpleChanges): boolean => { diff --git a/lib/ng-nest/ui/outlet/outlet.module.ts b/lib/ng-nest/ui/outlet/outlet.module.ts index 1abd518cd..5d081b025 100644 --- a/lib/ng-nest/ui/outlet/outlet.module.ts +++ b/lib/ng-nest/ui/outlet/outlet.module.ts @@ -1,10 +1,8 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { XOutletDirective } from './outlet.directive'; @NgModule({ - declarations: [XOutletDirective], exports: [XOutletDirective], - imports: [CommonModule] + imports: [XOutletDirective] }) export class XOutletModule {} diff --git a/lib/ng-nest/ui/page-header/page-header.module.ts b/lib/ng-nest/ui/page-header/page-header.module.ts index f3b583b0f..d90e26e94 100644 --- a/lib/ng-nest/ui/page-header/page-header.module.ts +++ b/lib/ng-nest/ui/page-header/page-header.module.ts @@ -1,12 +1,12 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XPageHeaderComponent } from './page-header.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XPageHeaderProperty } from './page-header.property'; @NgModule({ declarations: [XPageHeaderComponent, XPageHeaderProperty], exports: [XPageHeaderComponent], - imports: [CommonModule, XButtonModule] + imports: [CommonModule, XButtonComponent] }) export class XPageHeaderModule {} diff --git a/lib/ng-nest/ui/pagination/pagination.component.spec.ts b/lib/ng-nest/ui/pagination/pagination.component.spec.ts index dc6a390b9..e5f0c470c 100644 --- a/lib/ng-nest/ui/pagination/pagination.component.spec.ts +++ b/lib/ng-nest/ui/pagination/pagination.component.spec.ts @@ -6,14 +6,14 @@ import { By } from '@angular/platform-browser'; import { XPaginationModule } from '@ng-nest/ui/pagination'; import { XPaginationPrefix } from './pagination.property'; import { XI18nService, en_US, zh_CN } from '@ng-nest/ui/i18n'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XPaginationPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, BrowserAnimationsModule, XPaginationModule, XButtonModule], + imports: [HttpClientTestingModule, BrowserAnimationsModule, XPaginationModule, XButtonComponent], declarations: [TestXPaginationComponent, TestXPaginationStyleComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/pagination/pagination.module.ts b/lib/ng-nest/ui/pagination/pagination.module.ts index 3af8cf4e1..18ea03684 100644 --- a/lib/ng-nest/ui/pagination/pagination.module.ts +++ b/lib/ng-nest/ui/pagination/pagination.module.ts @@ -1,17 +1,26 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XPaginationComponent } from './pagination.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; import { XPaginationProperty } from './pagination.property'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XI18nPipe } from '@ng-nest/ui/i18n'; import { XSelectModule } from '@ng-nest/ui/select'; import { FormsModule } from '@angular/forms'; import { XInputModule } from '@ng-nest/ui/input'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; @NgModule({ declarations: [XPaginationComponent, XPaginationProperty], exports: [XPaginationComponent], - imports: [CommonModule, FormsModule, XButtonModule, XI18nModule, XSelectModule, XInputModule, XOutletModule] + imports: [ + CommonModule, + FormsModule, + XButtonComponent, + XButtonsComponent, + XI18nPipe, + XSelectModule, + XInputModule, + XOutletDirective + ] }) export class XPaginationModule {} diff --git a/lib/ng-nest/ui/pattern/pattern.component.spec.ts b/lib/ng-nest/ui/pattern/pattern.component.spec.ts index cd924572a..6a02034ab 100644 --- a/lib/ng-nest/ui/pattern/pattern.component.spec.ts +++ b/lib/ng-nest/ui/pattern/pattern.component.spec.ts @@ -1,16 +1,15 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { XPatternComponent } from './pattern.component'; import { Component, DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; -import { XPatternModule } from './pattern.module'; +import { XPatternComponent } from '@ng-nest/ui/pattern'; import { PatternPrefix } from './pattern.property'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(PatternPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, XPatternModule], + imports: [HttpClientTestingModule, XPatternComponent], declarations: [TestXPatternComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/pattern/pattern.component.ts b/lib/ng-nest/ui/pattern/pattern.component.ts index 288ca0f19..0cc8ccdb5 100644 --- a/lib/ng-nest/ui/pattern/pattern.component.ts +++ b/lib/ng-nest/ui/pattern/pattern.component.ts @@ -1,15 +1,27 @@ -import { Component, ViewEncapsulation, ChangeDetectionStrategy, Renderer2, ElementRef } from '@angular/core'; +import { + Component, + ViewEncapsulation, + ChangeDetectionStrategy, + Renderer2, + ElementRef, + inject, + OnInit +} from '@angular/core'; import { PatternPrefix } from './pattern.property'; @Component({ selector: 'x-pattern', + standalone: true, templateUrl: './pattern.component.html', styleUrls: ['./style/index.scss'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }) -export class XPatternComponent { - constructor(private renderer: Renderer2, private elementRef: ElementRef) { +export class XPatternComponent implements OnInit { + private renderer = inject(Renderer2); + private elementRef = inject(ElementRef); + + ngOnInit(): void { this.renderer.addClass(this.elementRef.nativeElement, PatternPrefix); } } diff --git a/lib/ng-nest/ui/pattern/pattern.module.ts b/lib/ng-nest/ui/pattern/pattern.module.ts index de3b3e398..437e672af 100644 --- a/lib/ng-nest/ui/pattern/pattern.module.ts +++ b/lib/ng-nest/ui/pattern/pattern.module.ts @@ -1,10 +1,8 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { XPatternComponent } from './pattern.component'; @NgModule({ - declarations: [XPatternComponent], exports: [XPatternComponent], - imports: [CommonModule] + imports: [XPatternComponent] }) export class XPatternModule {} diff --git a/lib/ng-nest/ui/popconfirm/popconfirm.component.spec.ts b/lib/ng-nest/ui/popconfirm/popconfirm.component.spec.ts index 76b3875a0..6bc5480e3 100644 --- a/lib/ng-nest/ui/popconfirm/popconfirm.component.spec.ts +++ b/lib/ng-nest/ui/popconfirm/popconfirm.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XPopconfirmComponent } from './popconfirm.component'; @@ -8,7 +8,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XPopconfirmModule } from '@ng-nest/ui/popconfirm'; import { FormsModule } from '@angular/forms'; import { XPopconfirmPrefix } from './popconfirm.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { interval } from 'rxjs'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; @@ -26,10 +26,10 @@ describe(XPopconfirmPrefix, () => { XThemeModule, FormsModule, XPopconfirmModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule, + XIconComponent, XSwitchModule, XMessageModule ], diff --git a/lib/ng-nest/ui/popconfirm/popconfirm.module.ts b/lib/ng-nest/ui/popconfirm/popconfirm.module.ts index 4e3d2d4d2..331374b68 100644 --- a/lib/ng-nest/ui/popconfirm/popconfirm.module.ts +++ b/lib/ng-nest/ui/popconfirm/popconfirm.module.ts @@ -1,15 +1,15 @@ import { NgModule } from '@angular/core'; import { XPopconfirmComponent } from './popconfirm.component'; import { XPopoverModule } from '@ng-nest/ui/popover'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XButtonComponent } from '@ng-nest/ui/button'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { CommonModule } from '@angular/common'; import { XPopconfirmProperty } from './popconfirm.property'; @NgModule({ declarations: [XPopconfirmComponent, XPopconfirmProperty], exports: [XPopconfirmComponent], - imports: [CommonModule, XPopoverModule, XButtonModule, XIconModule, XOutletModule] + imports: [CommonModule, XPopoverModule, XButtonComponent, XIconComponent, XOutletDirective] }) export class XPopconfirmModule {} diff --git a/lib/ng-nest/ui/popover/popover.directive.spec.ts b/lib/ng-nest/ui/popover/popover.directive.spec.ts index 8c95b7183..3be80dc27 100644 --- a/lib/ng-nest/ui/popover/popover.directive.spec.ts +++ b/lib/ng-nest/ui/popover/popover.directive.spec.ts @@ -1,4 +1,4 @@ -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XPopoverDirective } from './popover.directive'; @@ -7,7 +7,7 @@ import { By } from '@angular/platform-browser'; import { XPopoverModule } from '@ng-nest/ui/popover'; import { XPopoverPrefix } from './popover.property'; import { interval } from 'rxjs'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; import { HttpClientTestingModule } from '@angular/common/http/testing'; @@ -15,7 +15,7 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XPopoverPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, XPopoverModule, XButtonModule, XIconModule], + imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, XPopoverModule, XButtonComponent, XIconComponent], declarations: [TestXPopoverComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/popover/popover.module.ts b/lib/ng-nest/ui/popover/popover.module.ts index b8e4c7af9..93eb29dab 100644 --- a/lib/ng-nest/ui/popover/popover.module.ts +++ b/lib/ng-nest/ui/popover/popover.module.ts @@ -3,12 +3,12 @@ import { CommonModule } from '@angular/common'; import { XPopoverDirective } from './popover.directive'; import { XPopoverPortalComponent } from './popover-portal.component'; import { XPortalModule } from '@ng-nest/ui/portal'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XPopoverProperty } from './popover.property'; @NgModule({ declarations: [XPopoverDirective, XPopoverPortalComponent, XPopoverProperty], exports: [XPopoverDirective, XPopoverPortalComponent], - imports: [CommonModule, XPortalModule, XOutletModule] + imports: [CommonModule, XPortalModule, XOutletDirective] }) export class XPopoverModule {} diff --git a/lib/ng-nest/ui/progress/progress.component.spec.ts b/lib/ng-nest/ui/progress/progress.component.spec.ts index 1a6cee3de..b86dc88ee 100644 --- a/lib/ng-nest/ui/progress/progress.component.spec.ts +++ b/lib/ng-nest/ui/progress/progress.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XProgressComponent } from './progress.component'; @@ -8,7 +8,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XProgressModule } from '@ng-nest/ui/progress'; import { FormsModule } from '@angular/forms'; import { XProgressPrefix } from './progress.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -23,10 +23,10 @@ describe(XProgressPrefix, () => { XThemeModule, FormsModule, XProgressModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule + XIconComponent ], declarations: [TestXProgressComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/progress/progress.module.ts b/lib/ng-nest/ui/progress/progress.module.ts index 5774765ce..152f9adf3 100644 --- a/lib/ng-nest/ui/progress/progress.module.ts +++ b/lib/ng-nest/ui/progress/progress.module.ts @@ -2,12 +2,12 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XProgressComponent } from './progress.component'; import { FormsModule } from '@angular/forms'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XProgressProperty } from './progress.property'; @NgModule({ declarations: [XProgressComponent, XProgressProperty], exports: [XProgressComponent], - imports: [CommonModule, FormsModule, XIconModule] + imports: [CommonModule, FormsModule, XIconComponent] }) export class XProgressModule {} diff --git a/lib/ng-nest/ui/radio/radio.component.spec.ts b/lib/ng-nest/ui/radio/radio.component.spec.ts index af37c23f2..0d20e803e 100644 --- a/lib/ng-nest/ui/radio/radio.component.spec.ts +++ b/lib/ng-nest/ui/radio/radio.component.spec.ts @@ -1,4 +1,4 @@ -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { Observable } from 'rxjs'; import { ComponentFixture, TestBed } from '@angular/core/testing'; @@ -36,7 +36,7 @@ describe(XRadioPrefix, () => { XAutoCompleteModule, XSelectModule, XDatePickerModule, - XButtonModule, + XButtonComponent, XLayoutModule, XCascadeModule, XColorPickerModule, diff --git a/lib/ng-nest/ui/radio/radio.module.ts b/lib/ng-nest/ui/radio/radio.module.ts index 4da714262..4dc70e7c6 100644 --- a/lib/ng-nest/ui/radio/radio.module.ts +++ b/lib/ng-nest/ui/radio/radio.module.ts @@ -2,15 +2,23 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XRadioComponent } from './radio.component'; import { FormsModule } from '@angular/forms'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; import { XRadioProperty } from './radio.property'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XTagModule } from '@ng-nest/ui/tag'; @NgModule({ declarations: [XRadioComponent, XRadioProperty], exports: [XRadioComponent], - imports: [CommonModule, FormsModule, XButtonModule, XTagModule, XOutletModule, XBaseFormModule] + imports: [ + CommonModule, + FormsModule, + XButtonComponent, + XButtonsComponent, + XTagModule, + XOutletDirective, + XControlValueAccessor + ] }) export class XRadioModule {} diff --git a/lib/ng-nest/ui/rate/rate.component.spec.ts b/lib/ng-nest/ui/rate/rate.component.spec.ts index 1f2ab720b..86b65fbbd 100644 --- a/lib/ng-nest/ui/rate/rate.component.spec.ts +++ b/lib/ng-nest/ui/rate/rate.component.spec.ts @@ -1,4 +1,4 @@ -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ComponentFixture, TestBed, __core_private_testing_placeholder__ } from '@angular/core/testing'; import { XRateComponent } from './rate.component'; @@ -9,13 +9,13 @@ import { XRateModule } from '@ng-nest/ui/rate'; import { FormsModule } from '@angular/forms'; import { XRatePrefix } from './rate.property'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XRatePrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, BrowserAnimationsModule, FormsModule, XRateModule, XButtonModule, XLayoutModule, XIconModule], + imports: [HttpClientTestingModule, BrowserAnimationsModule, FormsModule, XRateModule, XButtonComponent, XLayoutModule, XIconComponent], declarations: [TestXRateComponent, TestXRateHalfComponent, TestXRateDisabledComponent, TestXRateCustomComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/rate/rate.module.ts b/lib/ng-nest/ui/rate/rate.module.ts index 7461b1839..be49257cb 100644 --- a/lib/ng-nest/ui/rate/rate.module.ts +++ b/lib/ng-nest/ui/rate/rate.module.ts @@ -2,14 +2,14 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XRateComponent } from './rate.component'; import { FormsModule } from '@angular/forms'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XRateProperty } from './rate.property'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; @NgModule({ declarations: [XRateComponent, XRateProperty], exports: [XRateComponent], - imports: [CommonModule, FormsModule, XButtonModule, XIconModule, XBaseFormModule] + imports: [CommonModule, FormsModule, XButtonComponent, XIconComponent, XControlValueAccessor] }) export class XRateModule {} diff --git a/lib/ng-nest/ui/resizable/resizable.directive.spec.ts b/lib/ng-nest/ui/resizable/resizable.directive.spec.ts index 7b7538ab7..f3b8a28a2 100644 --- a/lib/ng-nest/ui/resizable/resizable.directive.spec.ts +++ b/lib/ng-nest/ui/resizable/resizable.directive.spec.ts @@ -1,12 +1,12 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; import { TestBed } from '@angular/core/testing'; -import { XResizableModule } from '@ng-nest/ui/resizable'; +import { XResizableDirective } from '@ng-nest/ui/resizable'; import { XResizablePrefix } from './resizable.property'; describe(XResizablePrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, XResizableModule] + imports: [HttpClientTestingModule, XResizableDirective] }).compileComponents(); }); describe(`default.`, () => { diff --git a/lib/ng-nest/ui/resizable/resizable.directive.ts b/lib/ng-nest/ui/resizable/resizable.directive.ts index b88b2dede..372c78e23 100644 --- a/lib/ng-nest/ui/resizable/resizable.directive.ts +++ b/lib/ng-nest/ui/resizable/resizable.directive.ts @@ -14,13 +14,12 @@ import { XComputed, XIsArray, XIsChange, XIsString } from '@ng-nest/ui/core'; import { fromEvent, Subscription, takeUntil } from 'rxjs'; import { XResizablePosition, XResizablePrefix, XResizableProperty } from './resizable.property'; -@Directive({ selector: '[xResizable]' }) +@Directive({ selector: '[xResizable]', standalone: true }) export class XResizableDirective extends XResizableProperty implements OnInit, OnDestroy { @HostBinding('class.x-resizable-disabled') get getDisabled() { return !this.xResizable; } - document = inject(DOCUMENT); - ele!: HTMLElement; + cornerPositions: XResizablePosition[] = ['top-start', 'top-end', 'bottom-start', 'bottom-end']; allPositions: XResizablePosition[] = ['left', 'right', 'top', 'bottom', ...this.cornerPositions]; positions: XResizablePosition[] = []; @@ -35,13 +34,11 @@ export class XResizableDirective extends XResizableProperty implements OnInit, O positionNodes: { [key: string]: HTMLElement } = {}; activatingNodes: HTMLElement[] = []; - firstLoaded = true; - constructor(private renderer: Renderer2, private elementRef: ElementRef) { - super(); - this.ele = this.elementRef.nativeElement; - } + private document = inject(DOCUMENT); + private renderer = inject(Renderer2); + private elementRef = inject(ElementRef); ngOnInit() { this.setMapClass(); @@ -74,8 +71,10 @@ export class XResizableDirective extends XResizableProperty implements OnInit, O } if (!direction) return; - const evt = event.type.startsWith('touch') ? (event as TouchEvent).targetTouches[0] : (event as MouseEvent); - const { clientWidth, clientHeight, offsetLeft, offsetTop } = this.ele; + const evt = event.type.startsWith('touch') + ? (event as TouchEvent).targetTouches[0] + : (event as MouseEvent); + const { clientWidth, clientHeight, offsetLeft, offsetTop } = this.elementRef.nativeElement; const { screenX, screenY } = evt; const isTouchEvent = event.type.startsWith('touch'); const moveEvent = isTouchEvent ? 'touchmove' : 'mousemove'; @@ -90,13 +89,23 @@ export class XResizableDirective extends XResizableProperty implements OnInit, O }); const mouseMoveSub = fromEvent(document, moveEvent) .pipe(takeUntil(mouseup)) - .subscribe((ev) => this.move(ev as MouseEvent | TouchEvent, clientWidth, clientHeight, offsetTop, offsetLeft, screenX, screenY)); + .subscribe((ev) => + this.move( + ev as MouseEvent | TouchEvent, + clientWidth, + clientHeight, + offsetTop, + offsetLeft, + screenX, + screenY + ) + ); this.mouseUpSub.add(mouseMoveSub); } setMapClass() { - this.renderer.addClass(this.ele, XResizablePrefix); + this.renderer.addClass(this.elementRef.nativeElement, XResizablePrefix); } setPosition() { @@ -115,7 +124,7 @@ export class XResizableDirective extends XResizableProperty implements OnInit, O } this.createNode(...this.positions); - const computedStyle = XComputed(this.ele); + const computedStyle = XComputed(this.elementRef.nativeElement); setTimeout(() => { this.minWidth = parseFloat(computedStyle.minWidth); this.maxWidth = parseFloat(computedStyle.maxWidth); @@ -159,15 +168,15 @@ export class XResizableDirective extends XResizableProperty implements OnInit, O for (let cla of classes) { const pos = this.renderer.createElement('div'); this.renderer.addClass(pos, `x-resizable-${cla}`); - this.renderer.appendChild(this.ele, pos); + this.renderer.appendChild(this.elementRef.nativeElement, pos); this.positionNodes[cla] = pos; } } initResize(event: MouseEvent | TouchEvent, direction: XResizablePosition) { this.direction = direction; - this.renderer.addClass(this.ele, `x-resizable-resizing`); - let { clientWidth, clientHeight, offsetLeft, offsetTop } = this.ele; + this.renderer.addClass(this.elementRef.nativeElement, `x-resizable-resizing`); + let { clientWidth, clientHeight, offsetLeft, offsetTop } = this.elementRef.nativeElement; this.newBox = { clientWidth, clientHeight, offsetLeft, offsetTop }; event.stopPropagation(); this.resizeBegin.emit(); @@ -179,9 +188,11 @@ export class XResizableDirective extends XResizableProperty implements OnInit, O } endResize(event: MouseEvent | TouchEvent) { - const evt = event.type.startsWith('touch') ? (event as TouchEvent).targetTouches[0] : (event as MouseEvent); + const evt = event.type.startsWith('touch') + ? (event as TouchEvent).targetTouches[0] + : (event as MouseEvent); this.direction = null; - this.renderer.removeClass(this.ele, `x-resizable-resizing`); + this.renderer.removeClass(this.elementRef.nativeElement, `x-resizable-resizing`); for (const node of this.activatingNodes) { this.renderer.removeClass(node, 'x-resizable-activating'); } @@ -189,14 +200,32 @@ export class XResizableDirective extends XResizableProperty implements OnInit, O this.resizeEnd.emit({ event: evt, ...this.newBox }); } - move(event: MouseEvent | TouchEvent, width: number, height: number, top: number, left: number, screenX: number, screenY: number) { - const evt = event.type.startsWith('touch') ? (event as TouchEvent).targetTouches[0] : (event as MouseEvent); + move( + event: MouseEvent | TouchEvent, + width: number, + height: number, + top: number, + left: number, + screenX: number, + screenY: number + ) { + const evt = event.type.startsWith('touch') + ? (event as TouchEvent).targetTouches[0] + : (event as MouseEvent); const movementX = evt.screenX - screenX; const movementY = evt.screenY - screenY; this.newBox = { - clientWidth: width - (['bottom-start', 'left', 'top-start'].includes(this.direction as string) ? movementX : -movementX), - clientHeight: height - (['top-start', 'top', 'top-end'].includes(this.direction as string) ? movementY : -movementY), + clientWidth: + width - + (['bottom-start', 'left', 'top-start'].includes(this.direction as string) + ? movementX + : -movementX), + clientHeight: + height - + (['top-start', 'top', 'top-end'].includes(this.direction as string) + ? movementY + : -movementY), offsetLeft: left + movementX, offsetTop: top + movementY }; @@ -212,7 +241,12 @@ export class XResizableDirective extends XResizableProperty implements OnInit, O this.resizing.emit({ ...this.newBox, event: evt, direction: this.direction }); } - resizeBox(box: { clientWidth: number; clientHeight: number; offsetLeft: number; offsetTop: number }) { + resizeBox(box: { + clientWidth: number; + clientHeight: number; + offsetLeft: number; + offsetTop: number; + }) { if (this.ghost) return; const overMinWidth = !this.minWidth || box.clientWidth >= this.minWidth; const underMaxWidth = !this.maxWidth || box.clientWidth <= this.maxWidth; @@ -222,61 +256,61 @@ export class XResizableDirective extends XResizableProperty implements OnInit, O switch (this.direction) { case 'right': if (overMinWidth && underMaxWidth) { - this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${box.clientWidth}px`); } break; case 'top-end': if (overMinWidth && underMaxWidth) { - this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${box.clientWidth}px`); } if (overMinHeight && underMaxHeight) { - this.renderer.setStyle(this.ele, 'top', `${box.offsetTop}px`); - this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'top', `${box.offsetTop}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'height', `${box.clientHeight}px`); } break; case 'bottom-end': if (overMinWidth && underMaxWidth) { - this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${box.clientWidth}px`); } if (overMinHeight && underMaxHeight) { - this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'height', `${box.clientHeight}px`); } break; case 'bottom-start': if (overMinWidth && underMaxWidth) { - this.renderer.setStyle(this.ele, 'left', `${box.offsetLeft}px`); - this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'left', `${box.offsetLeft}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${box.clientWidth}px`); } if (overMinHeight && underMaxHeight) { - this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'height', `${box.clientHeight}px`); } break; case 'left': console.log(this.minWidth); if (overMinWidth && underMaxWidth) { - this.renderer.setStyle(this.ele, 'left', `${box.offsetLeft}px`); - this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'left', `${box.offsetLeft}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${box.clientWidth}px`); } break; case 'top-start': if (overMinWidth && underMaxWidth) { - this.renderer.setStyle(this.ele, 'left', `${box.offsetLeft}px`); - this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'left', `${box.offsetLeft}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${box.clientWidth}px`); } if (overMinHeight && underMaxHeight) { - this.renderer.setStyle(this.ele, 'top', `${box.offsetTop}px`); - this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'top', `${box.offsetTop}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'height', `${box.clientHeight}px`); } break; case 'top': if (overMinHeight && underMaxHeight) { - this.renderer.setStyle(this.ele, 'top', `${box.offsetTop}px`); - this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'top', `${box.offsetTop}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'height', `${box.clientHeight}px`); } break; case 'bottom': if (overMinHeight && underMaxHeight) { - this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`); + this.renderer.setStyle(this.elementRef.nativeElement, 'height', `${box.clientHeight}px`); } break; } diff --git a/lib/ng-nest/ui/resizable/resizable.module.ts b/lib/ng-nest/ui/resizable/resizable.module.ts index 05b0102a5..522bc1ebb 100644 --- a/lib/ng-nest/ui/resizable/resizable.module.ts +++ b/lib/ng-nest/ui/resizable/resizable.module.ts @@ -1,10 +1,8 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { XResizableDirective } from './resizable.directive'; @NgModule({ - declarations: [XResizableDirective], - exports: [XResizableDirective], - imports: [CommonModule] + imports: [XResizableDirective], + exports: [XResizableDirective] }) export class XResizableModule {} diff --git a/lib/ng-nest/ui/resizable/resizable.property.ts b/lib/ng-nest/ui/resizable/resizable.property.ts index f02368dd8..5157041c0 100644 --- a/lib/ng-nest/ui/resizable/resizable.property.ts +++ b/lib/ng-nest/ui/resizable/resizable.property.ts @@ -1,5 +1,13 @@ import { Directive, EventEmitter, Input, Output } from '@angular/core'; -import { XBoolean, XCorner, XInputBoolean, XInputNumber, XNumber, XPosition, XProperty } from '@ng-nest/ui/core'; +import { + XBoolean, + XCorner, + XInputBoolean, + XInputNumber, + XNumber, + XPosition, + XProperty +} from '@ng-nest/ui/core'; /** * Resizable 指令名称 @@ -12,7 +20,7 @@ export const XResizablePrefix = 'x-resizable'; /** * Resizable Property */ -@Directive({ selector: '[xResizable]' }) +@Directive({ selector: '[xResizable]', standalone: true }) export class XResizableProperty extends XProperty { /** * @zh_CN 启用调整尺寸大小 diff --git a/lib/ng-nest/ui/result/result.component.spec.ts b/lib/ng-nest/ui/result/result.component.spec.ts index 087522dd9..8aa4e018b 100644 --- a/lib/ng-nest/ui/result/result.component.spec.ts +++ b/lib/ng-nest/ui/result/result.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XResultComponent } from './result.component'; @@ -8,7 +8,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XResultModule } from '@ng-nest/ui/result'; import { FormsModule } from '@angular/forms'; import { XResultPrefix } from './result.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -23,10 +23,10 @@ describe(XResultPrefix, () => { XThemeModule, FormsModule, XResultModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule + XIconComponent ], declarations: [TestXResultComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/result/result.module.ts b/lib/ng-nest/ui/result/result.module.ts index 3d848d988..3fd3a5d89 100644 --- a/lib/ng-nest/ui/result/result.module.ts +++ b/lib/ng-nest/ui/result/result.module.ts @@ -1,13 +1,13 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XResultComponent } from './result.component'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XResultProperty } from './result.property'; @NgModule({ declarations: [XResultComponent, XResultProperty], exports: [XResultComponent], - imports: [CommonModule, XIconModule, XOutletModule] + imports: [CommonModule, XIconComponent, XOutletDirective] }) export class XResultModule {} diff --git a/lib/ng-nest/ui/ripple/ripple.directive.spec.ts b/lib/ng-nest/ui/ripple/ripple.directive.spec.ts index a1693c314..8a95d460f 100644 --- a/lib/ng-nest/ui/ripple/ripple.directive.spec.ts +++ b/lib/ng-nest/ui/ripple/ripple.directive.spec.ts @@ -1,25 +1,24 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { XRippleDirective } from './ripple.directive'; +import { XRippleDirective } from '@ng-nest/ui/ripple'; import { Component, DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XRipplePrefix } from './ripple.property'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { XRippleModule } from './ripple.module'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XRipplePrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, XRippleModule, XButtonModule], - declarations: [TestXRippleComponent] + imports: [HttpClientTestingModule, XRippleDirective, XButtonComponent], + declarations: [TestXRippleDirective] }).compileComponents(); }); describe(`default.`, () => { - let fixture: ComponentFixture; + let fixture: ComponentFixture; let debugElement: DebugElement; beforeEach(() => { - fixture = TestBed.createComponent(TestXRippleComponent); + fixture = TestBed.createComponent(TestXRippleDirective); fixture.detectChanges(); debugElement = fixture.debugElement.query(By.directive(XRippleDirective)); }); @@ -76,4 +75,4 @@ describe(XRipplePrefix, () => { ` ] }) -class TestXRippleComponent {} +class TestXRippleDirective {} diff --git a/lib/ng-nest/ui/ripple/ripple.directive.ts b/lib/ng-nest/ui/ripple/ripple.directive.ts index fdd7093d4..4631f8ded 100644 --- a/lib/ng-nest/ui/ripple/ripple.directive.ts +++ b/lib/ng-nest/ui/ripple/ripple.directive.ts @@ -5,7 +5,8 @@ import { XRipplePrefix, XRippleProperty } from './ripple.property'; import { XComputed } from '@ng-nest/ui/core'; @Directive({ - selector: '[x-ripple]' + selector: '[x-ripple]', + standalone: true }) export class XRippleDirective extends XRippleProperty implements OnInit, OnDestroy { duration = 800; diff --git a/lib/ng-nest/ui/ripple/ripple.module.ts b/lib/ng-nest/ui/ripple/ripple.module.ts index b6c088200..b5a0e9b8e 100644 --- a/lib/ng-nest/ui/ripple/ripple.module.ts +++ b/lib/ng-nest/ui/ripple/ripple.module.ts @@ -1,11 +1,8 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { XRippleDirective } from './ripple.directive'; -import { XRippleProperty } from './ripple.property'; @NgModule({ - declarations: [XRippleDirective, XRippleProperty], - exports: [XRippleDirective], - imports: [CommonModule] + imports: [XRippleDirective], + exports: [XRippleDirective] }) export class XRippleModule {} diff --git a/lib/ng-nest/ui/select/select.module.ts b/lib/ng-nest/ui/select/select.module.ts index a3d405dc1..982a7bdc1 100644 --- a/lib/ng-nest/ui/select/select.module.ts +++ b/lib/ng-nest/ui/select/select.module.ts @@ -7,10 +7,10 @@ import { XPortalModule } from '@ng-nest/ui/portal'; import { XListModule } from '@ng-nest/ui/list'; import { XSelectPortalComponent } from './select-portal.component'; import { XSelectProperty } from './select.property'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; +import { XI18nDirective } from '@ng-nest/ui/i18n'; import { XTagModule } from '@ng-nest/ui/tag'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; @NgModule({ declarations: [XSelectComponent, XSelectPortalComponent, XSelectProperty], @@ -22,10 +22,10 @@ import { XOutletModule } from '@ng-nest/ui/outlet'; XPortalModule, XInputModule, XListModule, - XBaseFormModule, + XControlValueAccessor, XTagModule, - XI18nModule, - XOutletModule + XI18nDirective, + XOutletDirective ] }) export class XSelectModule {} diff --git a/lib/ng-nest/ui/skeleton/skeleton.component.spec.ts b/lib/ng-nest/ui/skeleton/skeleton.component.spec.ts index 5c2ae4071..c3897894e 100644 --- a/lib/ng-nest/ui/skeleton/skeleton.component.spec.ts +++ b/lib/ng-nest/ui/skeleton/skeleton.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XSkeletonComponent } from './skeleton.component'; @@ -8,11 +8,11 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XSkeletonModule } from '@ng-nest/ui/skeleton'; import { FormsModule } from '@angular/forms'; import { XSkeletonPrefix, XSkeletonRow } from './skeleton.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { XSwitchModule } from '@ng-nest/ui/switch'; -import { XAvatarModule } from '@ng-nest/ui/avatar'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; import { HttpClientTestingModule } from '@angular/common/http/testing'; @@ -27,12 +27,12 @@ describe(XSkeletonPrefix, () => { FormsModule, XSkeletonModule, XSwitchModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XAvatarModule, - XIconModule, - XLinkModule + XAvatarComponent, + XIconComponent, + XLinkComponent ], declarations: [TestXSkeletonComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/slider-select/slider-select.component.spec.ts b/lib/ng-nest/ui/slider-select/slider-select.component.spec.ts index 87cf855f1..58cc251ff 100644 --- a/lib/ng-nest/ui/slider-select/slider-select.component.spec.ts +++ b/lib/ng-nest/ui/slider-select/slider-select.component.spec.ts @@ -11,8 +11,8 @@ import { XTabsModule } from '@ng-nest/ui/tabs'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; import { HttpClientTestingModule } from '@angular/common/http/testing'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XButtonComponent } from '@ng-nest/ui/button'; describe(XSliderSelectPrefix, () => { beforeEach(() => { @@ -26,8 +26,8 @@ describe(XSliderSelectPrefix, () => { ReactiveFormsModule, XLayoutModule, XTabsModule, - XIconModule, - XButtonModule + XIconComponent, + XButtonComponent ], declarations: [ TestXSliderSelectComponent, diff --git a/lib/ng-nest/ui/slider-select/slider-select.module.ts b/lib/ng-nest/ui/slider-select/slider-select.module.ts index ec0e8a2c5..161614166 100644 --- a/lib/ng-nest/ui/slider-select/slider-select.module.ts +++ b/lib/ng-nest/ui/slider-select/slider-select.module.ts @@ -5,9 +5,9 @@ import { XSliderSelectComponent } from './slider-select.component'; import { XTooltipModule } from '@ng-nest/ui/tooltip'; import { DragDropModule } from '@angular/cdk/drag-drop'; import { XSliderSelectProperty } from './slider-select.property'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; import { XDragModule } from '@ng-nest/ui/drag'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; @NgModule({ declarations: [XSliderSelectComponent, XSliderSelectProperty], @@ -18,9 +18,9 @@ import { XOutletModule } from '@ng-nest/ui/outlet'; ReactiveFormsModule, DragDropModule, XTooltipModule, - XBaseFormModule, + XControlValueAccessor, XDragModule, - XOutletModule + XOutletDirective ] }) export class XSliderSelectModule {} diff --git a/lib/ng-nest/ui/slider/slider.component.spec.ts b/lib/ng-nest/ui/slider/slider.component.spec.ts index 82b34ef3f..fcda25370 100644 --- a/lib/ng-nest/ui/slider/slider.component.spec.ts +++ b/lib/ng-nest/ui/slider/slider.component.spec.ts @@ -7,7 +7,7 @@ import { XSliderModule } from '@ng-nest/ui/slider'; import { XSliderPrefix, XSliderNode } from './slider.property'; import { XData } from '@ng-nest/ui/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XTabsModule } from '@ng-nest/ui/tabs'; import { XThemeModule } from '@ng-nest/ui/theme'; import { HttpClientTestingModule } from '@angular/common/http/testing'; @@ -15,7 +15,7 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XSliderPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, XSliderModule, XThemeModule, BrowserAnimationsModule, XIconModule, XTabsModule], + imports: [HttpClientTestingModule, XSliderModule, XThemeModule, BrowserAnimationsModule, XIconComponent, XTabsModule], declarations: [TestXSliderComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/slider/slider.module.ts b/lib/ng-nest/ui/slider/slider.module.ts index a2a03841c..8770137d2 100644 --- a/lib/ng-nest/ui/slider/slider.module.ts +++ b/lib/ng-nest/ui/slider/slider.module.ts @@ -1,15 +1,15 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XSliderComponent } from './slider.component'; -import { XLinkModule } from '@ng-nest/ui/link'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XLinkComponent } from '@ng-nest/ui/link'; +import { XButtonComponent } from '@ng-nest/ui/button'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XSliderProperty } from './slider.property'; import { XDropdownModule } from '@ng-nest/ui/dropdown'; @NgModule({ declarations: [XSliderComponent, XSliderProperty], exports: [XSliderComponent], - imports: [CommonModule, XLinkModule, XButtonModule, XOutletModule, XDropdownModule] + imports: [CommonModule, XLinkComponent, XButtonComponent, XOutletDirective, XDropdownModule] }) export class XSliderModule {} diff --git a/lib/ng-nest/ui/statistic/statistic.component.spec.ts b/lib/ng-nest/ui/statistic/statistic.component.spec.ts index f5bd35c60..f63bb67ac 100644 --- a/lib/ng-nest/ui/statistic/statistic.component.spec.ts +++ b/lib/ng-nest/ui/statistic/statistic.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XStatisticComponent } from './statistic.component'; @@ -8,7 +8,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XStatisticModule } from '@ng-nest/ui/statistic'; import { FormsModule } from '@angular/forms'; import { XStatisticPrefix } from './statistic.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { XCardModule } from '@ng-nest/ui/card'; import { XAddDays } from '@ng-nest/ui/core'; @@ -25,11 +25,11 @@ describe(XStatisticPrefix, () => { XThemeModule, FormsModule, XStatisticModule, - XButtonModule, + XButtonComponent, XCardModule, XContainerModule, XLayoutModule, - XIconModule + XIconComponent ], declarations: [TestXStatisticComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/statistic/statistic.module.ts b/lib/ng-nest/ui/statistic/statistic.module.ts index 8913f8aad..e7f92c1a9 100644 --- a/lib/ng-nest/ui/statistic/statistic.module.ts +++ b/lib/ng-nest/ui/statistic/statistic.module.ts @@ -1,7 +1,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XStatisticComponent } from './statistic.component'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XCountdownComponent } from './countdown.component'; import { XTimeRangeModule } from '@ng-nest/ui/time-range'; import { XStatisticProperty, XCountdownProperty } from './statistic.property'; @@ -9,6 +9,6 @@ import { XStatisticProperty, XCountdownProperty } from './statistic.property'; @NgModule({ declarations: [XStatisticComponent, XCountdownComponent, XStatisticProperty, XCountdownProperty], exports: [XStatisticComponent, XCountdownComponent], - imports: [CommonModule, XOutletModule, XTimeRangeModule] + imports: [CommonModule, XOutletDirective, XTimeRangeModule] }) export class XStatisticModule {} diff --git a/lib/ng-nest/ui/steps/steps.component.spec.ts b/lib/ng-nest/ui/steps/steps.component.spec.ts index 580729c8a..431044e0f 100644 --- a/lib/ng-nest/ui/steps/steps.component.spec.ts +++ b/lib/ng-nest/ui/steps/steps.component.spec.ts @@ -5,7 +5,7 @@ import { Component, DebugElement, ChangeDetectorRef } from '@angular/core'; import { By } from '@angular/platform-browser'; import { XStepsModule } from '@ng-nest/ui/steps'; import { XStepsPrefix } from './steps.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XTabsModule } from '@ng-nest/ui/tabs'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -14,7 +14,7 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XStepsPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, XStepsModule, XButtonModule, XTabsModule], + imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, XStepsModule, XButtonComponent, XTabsModule], declarations: [TestXStepsComponent, TestXStepsDotComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/steps/steps.module.ts b/lib/ng-nest/ui/steps/steps.module.ts index 110ae01f3..ac39b51af 100644 --- a/lib/ng-nest/ui/steps/steps.module.ts +++ b/lib/ng-nest/ui/steps/steps.module.ts @@ -1,13 +1,13 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XStepsComponent } from './steps.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XStepsProperty } from './steps.property'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; @NgModule({ declarations: [XStepsComponent, XStepsProperty], exports: [XStepsComponent], - imports: [CommonModule, XIconModule, XOutletModule] + imports: [CommonModule, XIconComponent, XOutletDirective] }) export class XStepsModule {} diff --git a/lib/ng-nest/ui/style/params/colors.scss b/lib/ng-nest/ui/style/params/colors.scss index 6fc89e38c..c2ed2a849 100644 --- a/lib/ng-nest/ui/style/params/colors.scss +++ b/lib/ng-nest/ui/style/params/colors.scss @@ -2,7 +2,7 @@ $--x-colors: ( 'black': #000000, 'white': #ffffff, 'font-size': 0.875rem, - 'font-size-small': 0.65rem, + 'font-size-small': 0.75rem, 'font-size-medium': 1rem, 'font-size-large': 1.125rem, 'font-size-big': 1.25rem, diff --git a/lib/ng-nest/ui/switch/switch.component.spec.ts b/lib/ng-nest/ui/switch/switch.component.spec.ts index c65a3cb43..b50746210 100644 --- a/lib/ng-nest/ui/switch/switch.component.spec.ts +++ b/lib/ng-nest/ui/switch/switch.component.spec.ts @@ -12,7 +12,7 @@ import { XThemeModule } from '@ng-nest/ui/theme'; import { HttpClientTestingModule } from '@angular/common/http/testing'; import { XRadioModule } from '@ng-nest/ui/radio'; import { XInputModule } from '@ng-nest/ui/input'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; describe(XSwitchPrefix, () => { beforeEach(() => { @@ -27,7 +27,7 @@ describe(XSwitchPrefix, () => { XLayoutModule, XRadioModule, XInputModule, - XIconModule + XIconComponent ], declarations: [TestXSwitchComponent, TestXSwitchLabelComponent, TestXSwitchDisabledComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/switch/switch.module.ts b/lib/ng-nest/ui/switch/switch.module.ts index 33fa18fea..258edc023 100644 --- a/lib/ng-nest/ui/switch/switch.module.ts +++ b/lib/ng-nest/ui/switch/switch.module.ts @@ -3,13 +3,13 @@ import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { XSwitchComponent } from './switch.component'; import { XSwitchProperty } from './switch.property'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; import { XLoadingModule } from '@ng-nest/ui/loading'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; @NgModule({ declarations: [XSwitchComponent, XSwitchProperty], exports: [XSwitchComponent], - imports: [CommonModule, FormsModule, ReactiveFormsModule, XBaseFormModule, XLoadingModule, XOutletModule] + imports: [CommonModule, FormsModule, ReactiveFormsModule, XControlValueAccessor, XLoadingModule, XOutletDirective] }) export class XSwitchModule {} diff --git a/lib/ng-nest/ui/table/table.component.spec.ts b/lib/ng-nest/ui/table/table.component.spec.ts index cbef3461f..dd2d1cef6 100644 --- a/lib/ng-nest/ui/table/table.component.spec.ts +++ b/lib/ng-nest/ui/table/table.component.spec.ts @@ -9,14 +9,14 @@ import { XTablePrefix, XTableColumn, XTableCellConfig } from './table.property'; import { XRepositoryAbstract, XQuery, XResultList, XGroupItem, XFilter, XChunk, XGroupBy, XSort, XId, XOrderBy } from '@ng-nest/ui/core'; import { Observable, interval } from 'rxjs'; import { map as rxjsMap, delay } from 'rxjs/operators'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XAvatarModule } from '@ng-nest/ui/avatar'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; import { XDialogModule } from '@ng-nest/ui/dialog'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XInputModule } from '@ng-nest/ui/input'; import { XSelectModule } from '@ng-nest/ui/select'; import { XSwitchModule } from '@ng-nest/ui/switch'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XDescriptionModule } from '@ng-nest/ui/description'; import { HttpClientTestingModule } from '@angular/common/http/testing'; @@ -30,11 +30,11 @@ describe(XTablePrefix, () => { FormsModule, XDescriptionModule, XTableModule, - XIconModule, - XAvatarModule, + XIconComponent, + XAvatarComponent, XDialogModule, - XButtonModule, - XLinkModule, + XButtonComponent, + XLinkComponent, XInputModule, XSelectModule, XSwitchModule diff --git a/lib/ng-nest/ui/table/table.module.ts b/lib/ng-nest/ui/table/table.module.ts index dc6f8bae6..67473497b 100644 --- a/lib/ng-nest/ui/table/table.module.ts +++ b/lib/ng-nest/ui/table/table.module.ts @@ -1,10 +1,10 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XPaginationModule } from '@ng-nest/ui/pagination'; -import { XOutletModule } from '@ng-nest/ui/outlet'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ScrollingModule } from '@angular/cdk/scrolling'; -import { XEmptyModule } from '@ng-nest/ui/empty'; +import { XEmptyComponent } from '@ng-nest/ui/empty'; import { XCheckboxModule } from '@ng-nest/ui/checkbox'; import { XLoadingModule } from '@ng-nest/ui/loading'; import { FormsModule } from '@angular/forms'; @@ -18,7 +18,7 @@ import { XTableComponent } from './table.component'; import { XTableHeadComponent } from './table-head.component'; import { XTableBodyComponent } from './table-body.component'; import { XTableFootComponent } from './table-foot.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { DragDropModule } from '@angular/cdk/drag-drop'; import { XDragModule } from '@ng-nest/ui/drag'; @@ -38,13 +38,13 @@ import { XDragModule } from '@ng-nest/ui/drag'; CommonModule, FormsModule, XPaginationModule, - XOutletModule, + XOutletDirective, XCheckboxModule, - XIconModule, - XButtonModule, + XIconComponent, + XButtonComponent, ScrollingModule, DragDropModule, - XEmptyModule, + XEmptyComponent, XLoadingModule, XDragModule ] diff --git a/lib/ng-nest/ui/tabs/tabs.component.spec.ts b/lib/ng-nest/ui/tabs/tabs.component.spec.ts index ea5d098d2..755a22e4a 100644 --- a/lib/ng-nest/ui/tabs/tabs.component.spec.ts +++ b/lib/ng-nest/ui/tabs/tabs.component.spec.ts @@ -7,11 +7,11 @@ import { XTabsModule } from '@ng-nest/ui/tabs'; import { XTabsPrefix, XTabsLayout } from './tabs.property'; import { XRadioModule } from '@ng-nest/ui/radio'; import { FormsModule } from '@angular/forms'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XJustify } from '@ng-nest/ui/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XTabsPrefix, () => { @@ -24,8 +24,8 @@ describe(XTabsPrefix, () => { FormsModule, XTabsModule, XRadioModule, - XIconModule, - XButtonModule + XIconComponent, + XButtonComponent ], declarations: [TestXTabsComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/tabs/tabs.module.ts b/lib/ng-nest/ui/tabs/tabs.module.ts index 7ce694991..4846945d2 100644 --- a/lib/ng-nest/ui/tabs/tabs.module.ts +++ b/lib/ng-nest/ui/tabs/tabs.module.ts @@ -1,12 +1,12 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XTabsComponent } from './tabs.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XSliderModule } from '@ng-nest/ui/slider'; import { XTabComponent } from './tab.component'; import { XTabContentComponent } from './tab-content.component'; import { XTabsProperty, XTabProperty } from './tabs.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XTabLinkTemplateDirective, XTabLinkDirective } from './tab-link.directive'; @NgModule({ @@ -19,7 +19,13 @@ import { XTabLinkTemplateDirective, XTabLinkDirective } from './tab-link.directi XTabsProperty, XTabProperty ], - exports: [XTabsComponent, XTabContentComponent, XTabComponent, XTabLinkDirective, XTabLinkTemplateDirective], - imports: [CommonModule, XSliderModule, XButtonModule, XIconModule] + exports: [ + XTabsComponent, + XTabContentComponent, + XTabComponent, + XTabLinkDirective, + XTabLinkTemplateDirective + ], + imports: [CommonModule, XSliderModule, XButtonComponent, XIconComponent] }) export class XTabsModule {} diff --git a/lib/ng-nest/ui/tag/tag.component.spec.ts b/lib/ng-nest/ui/tag/tag.component.spec.ts index 41a9929ab..221654847 100644 --- a/lib/ng-nest/ui/tag/tag.component.spec.ts +++ b/lib/ng-nest/ui/tag/tag.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XTagComponent } from './tag.component'; @@ -8,7 +8,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XTagModule } from '@ng-nest/ui/tag'; import { FormsModule } from '@angular/forms'; import { XTagPrefix } from './tag.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -23,10 +23,10 @@ describe(XTagPrefix, () => { XThemeModule, FormsModule, XTagModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule + XIconComponent ], declarations: [TestXTagComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/tag/tag.module.ts b/lib/ng-nest/ui/tag/tag.module.ts index 256549bb5..f83915702 100644 --- a/lib/ng-nest/ui/tag/tag.module.ts +++ b/lib/ng-nest/ui/tag/tag.module.ts @@ -1,13 +1,13 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XTagComponent } from './tag.component'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XTagProperty } from './tag.property'; @NgModule({ declarations: [XTagComponent, XTagProperty], exports: [XTagComponent], - imports: [CommonModule, XIconModule, XOutletModule] + imports: [CommonModule, XIconComponent, XOutletDirective] }) export class XTagModule {} diff --git a/lib/ng-nest/ui/text-retract/text-retract.component.spec.ts b/lib/ng-nest/ui/text-retract/text-retract.component.spec.ts index 553b72a4b..aa12a9991 100644 --- a/lib/ng-nest/ui/text-retract/text-retract.component.spec.ts +++ b/lib/ng-nest/ui/text-retract/text-retract.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XTextRetractComponent } from './text-retract.component'; @@ -9,13 +9,13 @@ import { XTextRetractModule } from '@ng-nest/ui/text-retract'; import { FormsModule } from '@angular/forms'; import { XTextRetractPrefix } from './text-retract.property'; import { XI18nService, en_US, zh_CN } from '@ng-nest/ui/i18n'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XTextRetractPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, FormsModule, XTextRetractModule, XLayoutModule, XButtonModule, XIconModule], + imports: [HttpClientTestingModule, FormsModule, XTextRetractModule, XLayoutModule, XButtonComponent, XIconComponent], declarations: [TestXTextRetractComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/text-retract/text-retract.module.ts b/lib/ng-nest/ui/text-retract/text-retract.module.ts index 812b4c654..84d015097 100644 --- a/lib/ng-nest/ui/text-retract/text-retract.module.ts +++ b/lib/ng-nest/ui/text-retract/text-retract.module.ts @@ -2,13 +2,13 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XTextRetractComponent } from './text-retract.component'; import { FormsModule } from '@angular/forms'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { XTextRetractProperty } from './text-retract.property'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XI18nPipe } from '@ng-nest/ui/i18n'; @NgModule({ declarations: [XTextRetractComponent, XTextRetractProperty], exports: [XTextRetractComponent], - imports: [CommonModule, FormsModule, XLinkModule, XI18nModule] + imports: [CommonModule, FormsModule, XLinkComponent, XI18nPipe] }) export class XTextRetractModule {} diff --git a/lib/ng-nest/ui/textarea/textarea.module.ts b/lib/ng-nest/ui/textarea/textarea.module.ts index c635c2ea0..f676cba07 100644 --- a/lib/ng-nest/ui/textarea/textarea.module.ts +++ b/lib/ng-nest/ui/textarea/textarea.module.ts @@ -2,13 +2,13 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { XTextareaComponent } from './textarea.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XTextareaProperty } from './textarea.property'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; @NgModule({ declarations: [XTextareaComponent, XTextareaProperty], exports: [XTextareaComponent], - imports: [CommonModule, FormsModule, ReactiveFormsModule, XIconModule, XBaseFormModule] + imports: [CommonModule, FormsModule, ReactiveFormsModule, XIconComponent, XControlValueAccessor] }) export class XTextareaModule {} diff --git a/lib/ng-nest/ui/theme/theme.component.spec.ts b/lib/ng-nest/ui/theme/theme.component.spec.ts index ef4eca86d..b99633750 100644 --- a/lib/ng-nest/ui/theme/theme.component.spec.ts +++ b/lib/ng-nest/ui/theme/theme.component.spec.ts @@ -8,7 +8,7 @@ import { XThemePrefix } from './theme.property'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XFormModule } from '@ng-nest/ui/form'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XSwitchModule } from '@ng-nest/ui/switch'; import { XI18nService, en_US, zh_CN } from '@ng-nest/ui/i18n'; import { HttpClientTestingModule } from '@angular/common/http/testing'; @@ -21,7 +21,7 @@ describe(XThemePrefix, () => { BrowserAnimationsModule, FormsModule, ReactiveFormsModule, - XButtonModule, + XButtonComponent, XThemeModule, XSwitchModule, XFormModule diff --git a/lib/ng-nest/ui/theme/theme.module.ts b/lib/ng-nest/ui/theme/theme.module.ts index 258f6536f..b44995e6e 100644 --- a/lib/ng-nest/ui/theme/theme.module.ts +++ b/lib/ng-nest/ui/theme/theme.module.ts @@ -3,12 +3,12 @@ import { CommonModule } from '@angular/common'; import { XThemeComponent } from './theme.component'; import { XThemeProperty } from './theme.property'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XFormModule } from '@ng-nest/ui/form'; import { XSwitchModule } from '@ng-nest/ui/switch'; import { XLayoutModule } from '@ng-nest/ui/layout'; -import { XI18nModule } from '@ng-nest/ui/i18n'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XI18nDirective } from '@ng-nest/ui/i18n'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; @NgModule({ declarations: [XThemeComponent, XThemeProperty], @@ -18,11 +18,11 @@ import { XBaseFormModule } from '@ng-nest/ui/base-form'; FormsModule, ReactiveFormsModule, XSwitchModule, - XButtonModule, + XButtonComponent, XLayoutModule, XFormModule, - XI18nModule, - XBaseFormModule + XI18nDirective, + XControlValueAccessor ] }) export class XThemeModule {} diff --git a/lib/ng-nest/ui/time-ago/time-ago.pipe.spec.ts b/lib/ng-nest/ui/time-ago/time-ago.pipe.spec.ts index 750c99c55..46834f432 100644 --- a/lib/ng-nest/ui/time-ago/time-ago.pipe.spec.ts +++ b/lib/ng-nest/ui/time-ago/time-ago.pipe.spec.ts @@ -3,14 +3,14 @@ import { Component, ChangeDetectorRef } from '@angular/core'; import { XTimeAgoModule } from '@ng-nest/ui/time-ago'; import { XTimeAgoPrefix } from './time-ago.property'; import { XAddSeconds, XAddMinutes, XAddHours, XAddDays, XAddMonths, XAddYears } from '@ng-nest/ui/core'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XI18nService, en_US, zh_CN } from '@ng-nest/ui/i18n'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XTimeAgoPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, XTimeAgoModule, XButtonModule], + imports: [HttpClientTestingModule, XTimeAgoModule, XButtonComponent], declarations: [TestXTimeAgoComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/time-picker/time-picker.module.ts b/lib/ng-nest/ui/time-picker/time-picker.module.ts index c5f7aa256..6a725c4e9 100644 --- a/lib/ng-nest/ui/time-picker/time-picker.module.ts +++ b/lib/ng-nest/ui/time-picker/time-picker.module.ts @@ -3,15 +3,15 @@ import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { XInputModule } from '@ng-nest/ui/input'; import { XPortalModule } from '@ng-nest/ui/portal'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XListModule } from '@ng-nest/ui/list'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; import { XTimePickerComponent } from './time-picker.component'; import { XTimePickerPortalComponent } from './time-picker-portal.component'; import { XTimePickerProperty } from './time-picker.property'; import { XTimePickerFrameComponent } from './time-picker-frame.component'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XI18nDirective } from '@ng-nest/ui/i18n'; @NgModule({ declarations: [XTimePickerComponent, XTimePickerPortalComponent, XTimePickerFrameComponent, XTimePickerProperty], @@ -23,10 +23,10 @@ import { XI18nModule } from '@ng-nest/ui/i18n'; XPortalModule, XInputModule, XListModule, - XButtonModule, - XIconModule, - XBaseFormModule, - XI18nModule + XButtonComponent, + XIconComponent, + XControlValueAccessor, + XI18nDirective ] }) export class XTimePickerModule {} diff --git a/lib/ng-nest/ui/timeline/timeline.module.ts b/lib/ng-nest/ui/timeline/timeline.module.ts index c39ffcf2d..e40a80bdd 100644 --- a/lib/ng-nest/ui/timeline/timeline.module.ts +++ b/lib/ng-nest/ui/timeline/timeline.module.ts @@ -1,15 +1,15 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XTimelineComponent } from './timeline.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XTimeAgoModule } from '@ng-nest/ui/time-ago'; -import { XLinkModule } from '@ng-nest/ui/link'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XLinkComponent } from '@ng-nest/ui/link'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XTimelineProperty } from './timeline.property'; @NgModule({ declarations: [XTimelineComponent, XTimelineProperty], exports: [XTimelineComponent], - imports: [CommonModule, XIconModule, XTimeAgoModule, XLinkModule, XOutletModule] + imports: [CommonModule, XIconComponent, XTimeAgoModule, XLinkComponent, XOutletDirective] }) export class XTimelineModule {} diff --git a/lib/ng-nest/ui/tooltip/tooltip.directive.spec.ts b/lib/ng-nest/ui/tooltip/tooltip.directive.spec.ts index 27bb94aa0..e509bd0d9 100644 --- a/lib/ng-nest/ui/tooltip/tooltip.directive.spec.ts +++ b/lib/ng-nest/ui/tooltip/tooltip.directive.spec.ts @@ -1,4 +1,4 @@ -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XTooltipDirective } from './tooltip.directive'; @@ -13,7 +13,7 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XTooltipPrefix, () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, BrowserAnimationsModule, XTooltipModule, XButtonModule], + imports: [HttpClientTestingModule, BrowserAnimationsModule, XThemeModule, BrowserAnimationsModule, XTooltipModule, XButtonComponent], declarations: [TestXTooltipComponent] }).compileComponents(); }); diff --git a/lib/ng-nest/ui/tooltip/tooltip.module.ts b/lib/ng-nest/ui/tooltip/tooltip.module.ts index a2d0c9cda..7b59dc211 100644 --- a/lib/ng-nest/ui/tooltip/tooltip.module.ts +++ b/lib/ng-nest/ui/tooltip/tooltip.module.ts @@ -4,11 +4,11 @@ import { XTooltipDirective } from './tooltip.directive'; import { XTooltipPortalComponent } from './tooltip-portal.component'; import { XPortalModule } from '@ng-nest/ui/portal'; import { XTooltipProperty } from './tooltip.property'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; @NgModule({ declarations: [XTooltipDirective, XTooltipPortalComponent, XTooltipProperty], exports: [XTooltipDirective, XTooltipPortalComponent], - imports: [CommonModule, XPortalModule, XOutletModule] + imports: [CommonModule, XPortalModule, XOutletDirective] }) export class XTooltipModule {} diff --git a/lib/ng-nest/ui/transfer/transfer.component.spec.ts b/lib/ng-nest/ui/transfer/transfer.component.spec.ts index 68b250e48..94748c4be 100644 --- a/lib/ng-nest/ui/transfer/transfer.component.spec.ts +++ b/lib/ng-nest/ui/transfer/transfer.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XTransferComponent } from './transfer.component'; @@ -8,7 +8,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XTransferModule } from '@ng-nest/ui/transfer'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { XTransferPrefix, XTransferNode } from './transfer.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -27,10 +27,10 @@ describe(XTransferPrefix, () => { FormsModule, ReactiveFormsModule, XTransferModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule, + XIconComponent, XTreeModule, XSelectModule, XInputModule diff --git a/lib/ng-nest/ui/transfer/transfer.module.ts b/lib/ng-nest/ui/transfer/transfer.module.ts index 18afa8212..ba6460269 100644 --- a/lib/ng-nest/ui/transfer/transfer.module.ts +++ b/lib/ng-nest/ui/transfer/transfer.module.ts @@ -3,17 +3,17 @@ import { CommonModule } from '@angular/common'; import { XTransferComponent } from './transfer.component'; import { FormsModule } from '@angular/forms'; import { XCheckboxModule } from '@ng-nest/ui/checkbox'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { DragDropModule } from '@angular/cdk/drag-drop'; import { XInputModule } from '@ng-nest/ui/input'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XTransferProperty } from './transfer.property'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; import { XTreeModule } from '@ng-nest/ui/tree'; import { XTableModule } from '@ng-nest/ui/table'; import { XKeywordModule } from '@ng-nest/ui/keyword'; -import { XLinkModule } from '@ng-nest/ui/link'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XLinkComponent } from '@ng-nest/ui/link'; +import { XI18nPipe } from '@ng-nest/ui/i18n'; @NgModule({ declarations: [XTransferComponent, XTransferProperty], @@ -22,16 +22,16 @@ import { XI18nModule } from '@ng-nest/ui/i18n'; CommonModule, FormsModule, DragDropModule, - XOutletModule, + XOutletDirective, XCheckboxModule, - XButtonModule, + XButtonComponent, XInputModule, - XBaseFormModule, + XControlValueAccessor, XTreeModule, XTableModule, XKeywordModule, - XLinkModule, - XI18nModule + XLinkComponent, + XI18nPipe ] }) export class XTransferModule {} diff --git a/lib/ng-nest/ui/tree-file/tree-file.component.spec.ts b/lib/ng-nest/ui/tree-file/tree-file.component.spec.ts index 2dab3b023..683c00fb3 100644 --- a/lib/ng-nest/ui/tree-file/tree-file.component.spec.ts +++ b/lib/ng-nest/ui/tree-file/tree-file.component.spec.ts @@ -1,4 +1,4 @@ -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XTreeFileComponent } from './tree-file.component'; @@ -8,7 +8,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { XTreeFileModule } from '@ng-nest/ui/tree-file'; import { FormsModule } from '@angular/forms'; import { XTreeFilePrefix, XTreeFileNode } from './tree-file.property'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XContainerModule } from '@ng-nest/ui/container'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { XThemeModule } from '@ng-nest/ui/theme'; @@ -23,10 +23,10 @@ describe(XTreeFilePrefix, () => { BrowserAnimationsModule, HttpClientTestingModule, XTreeFileModule, - XButtonModule, + XButtonComponent, XContainerModule, XLayoutModule, - XIconModule + XIconComponent ], declarations: [TestXTreeFileComponent] }).compileComponents(); diff --git a/lib/ng-nest/ui/tree-file/tree-file.module.ts b/lib/ng-nest/ui/tree-file/tree-file.module.ts index eaa1d27eb..28d46bc46 100644 --- a/lib/ng-nest/ui/tree-file/tree-file.module.ts +++ b/lib/ng-nest/ui/tree-file/tree-file.module.ts @@ -5,13 +5,13 @@ import { XTreeFileProperty } from './tree-file.property'; import { XTreeModule } from '@ng-nest/ui/tree'; import { XHighlightModule } from '@ng-nest/ui/highlight'; import { XCrumbModule } from '@ng-nest/ui/crumb'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { XLoadingModule } from '@ng-nest/ui/loading'; @NgModule({ declarations: [XTreeFileComponent, XTreeFileProperty], exports: [XTreeFileComponent], - imports: [CommonModule, XTreeModule, XLinkModule, XCrumbModule, XIconModule, XLoadingModule, XHighlightModule] + imports: [CommonModule, XTreeModule, XLinkComponent, XCrumbModule, XIconComponent, XLoadingModule, XHighlightModule] }) export class XTreeFileModule {} diff --git a/lib/ng-nest/ui/tree-select/tree-select.module.ts b/lib/ng-nest/ui/tree-select/tree-select.module.ts index e3554882c..232b389a7 100644 --- a/lib/ng-nest/ui/tree-select/tree-select.module.ts +++ b/lib/ng-nest/ui/tree-select/tree-select.module.ts @@ -7,12 +7,12 @@ import { XPortalModule } from '@ng-nest/ui/portal'; import { XListModule } from '@ng-nest/ui/list'; import { XTreeSelectPortalComponent } from './tree-select-portal.component'; import { XTreeSelectProperty } from './tree-select.property'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; +import { XI18nDirective } from '@ng-nest/ui/i18n'; import { XTagModule } from '@ng-nest/ui/tag'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XTreeModule } from '@ng-nest/ui/tree'; -import { XEmptyModule } from '@ng-nest/ui/empty'; +import { XEmptyComponent } from '@ng-nest/ui/empty'; @NgModule({ declarations: [XTreeSelectComponent, XTreeSelectPortalComponent, XTreeSelectProperty], @@ -24,12 +24,12 @@ import { XEmptyModule } from '@ng-nest/ui/empty'; XPortalModule, XInputModule, XListModule, - XBaseFormModule, + XControlValueAccessor, XTagModule, - XI18nModule, - XOutletModule, + XI18nDirective, + XOutletDirective, XTreeModule, - XEmptyModule + XEmptyComponent ] }) export class XTreeSelectModule {} diff --git a/lib/ng-nest/ui/tree/tree.component.spec.ts b/lib/ng-nest/ui/tree/tree.component.spec.ts index 29956bda1..e63e9daad 100644 --- a/lib/ng-nest/ui/tree/tree.component.spec.ts +++ b/lib/ng-nest/ui/tree/tree.component.spec.ts @@ -7,8 +7,8 @@ import { XTreeModule } from '@ng-nest/ui/tree'; import { XTreePrefix, XTreeNode, XTreeAction } from './tree.property'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { Observable } from 'rxjs'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XButtonComponent } from '@ng-nest/ui/button'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { XFormModule, XFormRow } from '@ng-nest/ui/form'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { UntypedFormGroup } from '@angular/forms'; @@ -16,7 +16,7 @@ import { XRepositoryService, XHttpService, XGuid } from '@ng-nest/ui/core'; import { map } from 'rxjs/operators'; import { XMessageModule, XMessageService } from '@ng-nest/ui/message'; import { XThemeModule } from '@ng-nest/ui/theme'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XInputNumberModule } from '@ng-nest/ui/input-number'; import { HttpClientTestingModule } from '@angular/common/http/testing'; @@ -29,13 +29,13 @@ describe(XTreePrefix, () => { XThemeModule, XTreeModule, XLayoutModule, - XButtonModule, - XLinkModule, + XButtonComponent, + XLinkComponent, XFormModule, - XLinkModule, + XLinkComponent, XMessageModule, XInputNumberModule, - XIconModule + XIconComponent ], declarations: [ TestXTreeComponent, diff --git a/lib/ng-nest/ui/tree/tree.module.ts b/lib/ng-nest/ui/tree/tree.module.ts index 591f20510..fe35dd930 100644 --- a/lib/ng-nest/ui/tree/tree.module.ts +++ b/lib/ng-nest/ui/tree/tree.module.ts @@ -3,10 +3,10 @@ import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { XTreeComponent } from './tree.component'; import { XTreeNodeComponent } from './tree-node.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XCheckboxModule } from '@ng-nest/ui/checkbox'; -import { XOutletModule } from '@ng-nest/ui/outlet'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { XTreeProperty, XTreeNodeProperty } from './tree.property'; import { ScrollingModule } from '@angular/cdk/scrolling'; import { XKeywordModule } from '@ng-nest/ui/keyword'; @@ -19,10 +19,10 @@ import { DragDropModule } from '@angular/cdk/drag-drop'; CommonModule, FormsModule, DragDropModule, - XIconModule, + XIconComponent, XCheckboxModule, - XOutletModule, - XLinkModule, + XOutletDirective, + XLinkComponent, ScrollingModule, XKeywordModule ] diff --git a/lib/ng-nest/ui/upload/upload.component.spec.ts b/lib/ng-nest/ui/upload/upload.component.spec.ts index 24bae2582..ff173d701 100644 --- a/lib/ng-nest/ui/upload/upload.component.spec.ts +++ b/lib/ng-nest/ui/upload/upload.component.spec.ts @@ -1,4 +1,4 @@ -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { XUploadComponent } from './upload.component'; @@ -9,7 +9,7 @@ import { XUploadModule } from '@ng-nest/ui/upload'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { XUploadPrefix } from './upload.property'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { HttpClientTestingModule } from '@angular/common/http/testing'; describe(XUploadPrefix, () => { @@ -20,9 +20,9 @@ describe(XUploadPrefix, () => { BrowserAnimationsModule, FormsModule, ReactiveFormsModule, - XIconModule, + XIconComponent, XUploadModule, - XButtonModule, + XButtonComponent, XLayoutModule ], declarations: [TestXUploadComponent, TestXUploadDisabledComponent, TestXUploadImgComponent, TestXUploadImgCutComponent] diff --git a/lib/ng-nest/ui/upload/upload.module.ts b/lib/ng-nest/ui/upload/upload.module.ts index 90897ca83..dcb43ddda 100644 --- a/lib/ng-nest/ui/upload/upload.module.ts +++ b/lib/ng-nest/ui/upload/upload.module.ts @@ -2,15 +2,14 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XUploadComponent } from './upload.component'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XButtonComponent } from '@ng-nest/ui/button'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XUploadProperty } from './upload.property'; -import { XI18nModule } from '@ng-nest/ui/i18n'; -import { XOutletModule } from '@ng-nest/ui/outlet'; +import { XOutletDirective } from '@ng-nest/ui/outlet'; import { XPortalModule } from '@ng-nest/ui/portal'; import { XUploadPortalComponent } from './upload-portal.component'; import { DragDropModule } from '@angular/cdk/drag-drop'; -import { XBaseFormModule } from '@ng-nest/ui/base-form'; +import { XControlValueAccessor } from '@ng-nest/ui/base-form'; import { XImageModule } from '@ng-nest/ui/image'; import { XProgressModule } from '@ng-nest/ui/progress'; @@ -23,11 +22,10 @@ import { XProgressModule } from '@ng-nest/ui/progress'; ReactiveFormsModule, DragDropModule, XPortalModule, - XOutletModule, - XButtonModule, - XIconModule, - XI18nModule, - XBaseFormModule, + XOutletDirective, + XButtonComponent, + XIconComponent, + XControlValueAccessor, XImageModule, XProgressModule ] diff --git a/src/environments/environment.development.ts b/src/environments/environment.development.ts index d725814a4..ba84be32a 100644 --- a/src/environments/environment.development.ts +++ b/src/environments/environment.development.ts @@ -1,6 +1,6 @@ export const environment = { production: false, layout: 'test', - defaultPage: 'highlight', + defaultPage: 'empty', static: 'http://localhost:9494' }; diff --git a/src/main/docs/docs-routes.module.ts b/src/main/docs/docs-routes.module.ts index cea905740..b6eb24740 100644 --- a/src/main/docs/docs-routes.module.ts +++ b/src/main/docs/docs-routes.module.ts @@ -8,14 +8,14 @@ const routes: Routes = [ component: NsDocsComponent, children: [ { path: '', redirectTo: 'zh_CN', pathMatch: 'full' }, - { - path: 'zh_CN', - loadChildren: () => import('./zh_CN/docs-zh_CN.module').then((x) => x.NsDocsZhCNModule) - }, - { - path: 'en_US', - loadChildren: () => import('./en_US/docs-en_US.module').then((x) => x.NsDocsEnUSModule) - } + // { + // path: 'zh_CN', + // loadChildren: () => import('./zh_CN/docs-zh_CN.module').then((x) => x.NsDocsZhCNModule) + // }, + // { + // path: 'en_US', + // loadChildren: () => import('./en_US/docs-en_US.module').then((x) => x.NsDocsEnUSModule) + // } ] } ]; diff --git a/src/main/exception/404.module.ts b/src/main/exception/404.module.ts index df19a9023..c60a4e0bc 100644 --- a/src/main/exception/404.module.ts +++ b/src/main/exception/404.module.ts @@ -2,10 +2,10 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Exception404Component } from './404.component'; import { Exception404RoutesModule } from './404-routes.module'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XI18nPipe } from '@ng-nest/ui/i18n'; @NgModule({ - imports: [CommonModule, XI18nModule, Exception404RoutesModule], + imports: [CommonModule, XI18nPipe, Exception404RoutesModule], declarations: [Exception404Component], exports: [Exception404Component] }) diff --git a/src/main/home/home.module.ts b/src/main/home/home.module.ts index 909dbc051..8c9fc5488 100644 --- a/src/main/home/home.module.ts +++ b/src/main/home/home.module.ts @@ -1,10 +1,10 @@ import { NgModule } from '@angular/core'; import { HomeComponent } from './home.component'; import { HomeRoutesModule } from './home-routes.module'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; @NgModule({ - imports: [HomeRoutesModule, XButtonModule], + imports: [HomeRoutesModule, XButtonComponent], declarations: [HomeComponent], exports: [HomeComponent] }) diff --git a/src/main/layout/layout.module.ts b/src/main/layout/layout.module.ts index 97e686e46..0e15757ce 100644 --- a/src/main/layout/layout.module.ts +++ b/src/main/layout/layout.module.ts @@ -1,13 +1,13 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XMenuModule } from '@ng-nest/ui/menu'; import { XDropdownModule } from '@ng-nest/ui/dropdown'; -import { XLinkModule } from '@ng-nest/ui/link'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XLinkComponent } from '@ng-nest/ui/link'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XDrawerModule } from '@ng-nest/ui/drawer'; -import { XAffixModule } from '@ng-nest/ui/affix'; -import { XI18nModule } from '@ng-nest/ui/i18n'; +import { XAffixComponent } from '@ng-nest/ui/affix'; +import { XI18nPipe } from '@ng-nest/ui/i18n'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { XSelectModule } from '@ng-nest/ui/select'; import { XSliderModule } from '@ng-nest/ui/slider'; @@ -41,15 +41,15 @@ const components = [ imports: [ CommonModule, FormsModule, - XIconModule, + XIconComponent, XMenuModule, - XButtonModule, + XButtonComponent, XDropdownModule, XSelectModule, XDrawerModule, - XAffixModule, - XI18nModule, - XLinkModule, + XAffixComponent, + XI18nPipe, + XLinkComponent, XLayoutModule, XSliderModule, XAutoCompleteModule, diff --git a/src/main/test/modules/affix/affix.component.html b/src/main/test/modules/affix/affix.component.html new file mode 100644 index 000000000..948184ba6 --- /dev/null +++ b/src/main/test/modules/affix/affix.component.html @@ -0,0 +1,2 @@ + + diff --git a/src/main/test/modules/affix/affix.component.ts b/src/main/test/modules/affix/affix.component.ts new file mode 100644 index 000000000..ce6aa47b1 --- /dev/null +++ b/src/main/test/modules/affix/affix.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; +import { ExDefaultComponent } from './default/default.component'; +import { ExScopeComponent } from './scope/scope.component'; + +@Component({ + selector: 'te-affix', + standalone: true, + imports: [ExDefaultComponent, ExScopeComponent], + templateUrl: './affix.component.html' +}) +export class TeAffixComponent {} diff --git a/src/main/test/modules/affix/default/default.component.html b/src/main/test/modules/affix/default/default.component.html new file mode 100644 index 000000000..6a1152623 --- /dev/null +++ b/src/main/test/modules/affix/default/default.component.html @@ -0,0 +1,10 @@ +
+
+ + 滚动条下滑,我将固定到顶部 + + + 滚动条下滑,我与顶部距离5rem + +
+
diff --git a/src/main/test/modules/affix/default/default.component.scss b/src/main/test/modules/affix/default/default.component.scss new file mode 100644 index 000000000..0e19fd1c6 --- /dev/null +++ b/src/main/test/modules/affix/default/default.component.scss @@ -0,0 +1,17 @@ +:host { + .row.scroll { + height: 12rem; + width: 100%; + overflow: auto; + border-radius: 0.125rem; + border: 0.0625rem solid var(--x-border); + } + .row .box { + height: 25rem; + width: 200%; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); + } + .row x-affix:not(:first-child) { + margin-left: 1rem; + } +} diff --git a/src/main/test/modules/affix/default/default.component.ts b/src/main/test/modules/affix/default/default.component.ts new file mode 100644 index 000000000..a7a1cfd0c --- /dev/null +++ b/src/main/test/modules/affix/default/default.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; +import { XAffixComponent } from '@ng-nest/ui/affix'; +import { XButtonComponent } from '@ng-nest/ui/button'; + +@Component({ + selector: 'ex-default', + standalone: true, + imports: [XAffixComponent, XButtonComponent], + templateUrl: './default.component.html', + styleUrls: ['./default.component.scss'] +}) +export class ExDefaultComponent {} diff --git a/src/main/test/modules/affix/scope/scope.component.html b/src/main/test/modules/affix/scope/scope.component.html new file mode 100644 index 000000000..ab4a4dae6 --- /dev/null +++ b/src/main/test/modules/affix/scope/scope.component.html @@ -0,0 +1,21 @@ +
+
+ + top + +
+
+
+
+ + left + +
+
+
+
+ + top + left + +
+
diff --git a/src/main/test/modules/affix/scope/scope.component.scss b/src/main/test/modules/affix/scope/scope.component.scss new file mode 100644 index 000000000..f536d98cb --- /dev/null +++ b/src/main/test/modules/affix/scope/scope.component.scss @@ -0,0 +1,17 @@ +:host { + .row.scroll { + height: 12rem; + width: 100%; + overflow: auto; + border-radius: 0.125rem; + border: 0.0625rem solid var(--x-border); + } + .row .box { + height: 25rem; + width: 200%; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); + } + .row:not(:first-child) { + margin-top: 1rem; + } +} diff --git a/src/main/test/modules/affix/scope/scope.component.ts b/src/main/test/modules/affix/scope/scope.component.ts new file mode 100644 index 000000000..b5015fd6b --- /dev/null +++ b/src/main/test/modules/affix/scope/scope.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; +import { XAffixComponent } from '@ng-nest/ui/affix'; +import { XButtonComponent } from '@ng-nest/ui/button'; + +@Component({ + selector: 'ex-scope', + standalone: true, + imports: [XAffixComponent, XButtonComponent], + templateUrl: './scope.component.html', + styleUrls: ['./scope.component.scss'] +}) +export class ExScopeComponent {} diff --git a/src/main/test/modules/alert/alert.component.html b/src/main/test/modules/alert/alert.component.html index ba7f02e2c..2db6579de 100644 --- a/src/main/test/modules/alert/alert.component.html +++ b/src/main/test/modules/alert/alert.component.html @@ -1,5 +1,5 @@ -

警告提示

-

基础提示

-

自定义

+ + + diff --git a/src/main/test/modules/alert/alert.component.scss b/src/main/test/modules/alert/alert.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/main/test/modules/alert/alert.component.ts b/src/main/test/modules/alert/alert.component.ts index d838abfaf..4636c9cf2 100644 --- a/src/main/test/modules/alert/alert.component.ts +++ b/src/main/test/modules/alert/alert.component.ts @@ -1,8 +1,20 @@ import { Component } from '@angular/core'; +import { ExCustomComponent } from './custom/custom.component'; +import { ExDefaultComponent } from './default/default.component'; +import { ExDescriptionComponent } from './description/description.component'; +import { ExEffectComponent } from './effect/effect.component'; +import { ExIconComponent } from './icon/icon.component'; @Component({ selector: 'te-alert', - templateUrl: './alert.component.html', - styleUrls: ['./alert.component.scss'] + standalone: true, + imports: [ + ExCustomComponent, + ExDefaultComponent, + ExDescriptionComponent, + ExEffectComponent, + ExIconComponent + ], + templateUrl: './alert.component.html' }) export class TeAlertComponent {} diff --git a/src/main/test/modules/alert/alert.module.ts b/src/main/test/modules/alert/alert.module.ts deleted file mode 100644 index eec7c59ca..000000000 --- a/src/main/test/modules/alert/alert.module.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { XAlertModule } from '@ng-nest/ui/alert'; -import { ExDefaultComponent } from './default/default.component'; -import { TeAlertComponent } from './alert.component'; -import { XLayoutModule } from '@ng-nest/ui/layout'; -import { CommonModule } from '@angular/common'; -import { ExCustomComponent } from './custom/custom.component'; - -const routers = [{ path: '', component: TeAlertComponent }]; - -@NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, XAlertModule, XLayoutModule], - declarations: [TeAlertComponent, ExDefaultComponent, ExCustomComponent] -}) -export class TeAlertModule {} diff --git a/src/main/test/modules/alert/custom/custom.component.html b/src/main/test/modules/alert/custom/custom.component.html index 5bb746dbb..2751a4815 100644 --- a/src/main/test/modules/alert/custom/custom.component.html +++ b/src/main/test/modules/alert/custom/custom.component.html @@ -1,8 +1,14 @@
- -
+ + + + + + -📣📣📣 - - ❤️NG-NEST 是一个开源的 Web 应用程序框架,基于 Angular 和 Nest ,主要用于研发企业级中后台产品。 - + + 📣📣📣 + + ❤️NG-NEST 是一个开源的 Web 应用程序框架,基于 Angular 和 Nest ,主要用于研发企业级中后台产品。 + + diff --git a/src/main/test/modules/alert/custom/custom.component.ts b/src/main/test/modules/alert/custom/custom.component.ts index 7915d8beb..277c950f4 100644 --- a/src/main/test/modules/alert/custom/custom.component.ts +++ b/src/main/test/modules/alert/custom/custom.component.ts @@ -1,8 +1,16 @@ import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; +import { XAddSeconds } from '@ng-nest/ui/core'; +import { XStatisticModule } from '@ng-nest/ui/statistic'; @Component({ selector: 'ex-custom', + standalone: true, + imports: [XAlertComponent, XStatisticModule], templateUrl: './custom.component.html', styleUrls: ['./custom.component.scss'] }) -export class ExCustomComponent {} +export class ExCustomComponent { + deadline = XAddSeconds(new Date(), 10).getTime(); + close() {} +} diff --git a/src/main/test/modules/alert/default/default.component.html b/src/main/test/modules/alert/default/default.component.html index 552792213..e2e5d5cb9 100644 --- a/src/main/test/modules/alert/default/default.component.html +++ b/src/main/test/modules/alert/default/default.component.html @@ -3,4 +3,4 @@ - \ No newline at end of file + diff --git a/src/main/test/modules/alert/default/default.component.ts b/src/main/test/modules/alert/default/default.component.ts index cae54f2a5..f9082b244 100644 --- a/src/main/test/modules/alert/default/default.component.ts +++ b/src/main/test/modules/alert/default/default.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XAlertComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/src/main/test/modules/alert/description/description.component.html b/src/main/test/modules/alert/description/description.component.html new file mode 100644 index 000000000..de4769fc0 --- /dev/null +++ b/src/main/test/modules/alert/description/description.component.html @@ -0,0 +1,7 @@ +
+ + + + + +
diff --git a/src/main/test/modules/alert/description/description.component.scss b/src/main/test/modules/alert/description/description.component.scss new file mode 100644 index 000000000..9b84be0b6 --- /dev/null +++ b/src/main/test/modules/alert/description/description.component.scss @@ -0,0 +1,5 @@ +:host { + .row x-alert:not(:first-child) { + margin-top: 1rem; + } +} diff --git a/src/main/test/modules/alert/description/description.component.ts b/src/main/test/modules/alert/description/description.component.ts new file mode 100644 index 000000000..37cdb03c5 --- /dev/null +++ b/src/main/test/modules/alert/description/description.component.ts @@ -0,0 +1,14 @@ +import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; + +@Component({ + selector: 'ex-description', + standalone: true, + imports: [XAlertComponent], + templateUrl: './description.component.html', + styleUrls: ['./description.component.scss'] +}) +export class ExDescriptionComponent { + content = + '天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为也,所以动心忍性,增益其所不能。'; +} diff --git a/src/main/test/modules/alert/effect/effect.component.html b/src/main/test/modules/alert/effect/effect.component.html new file mode 100644 index 000000000..a22d7346c --- /dev/null +++ b/src/main/test/modules/alert/effect/effect.component.html @@ -0,0 +1,6 @@ +
+ + + + +
diff --git a/src/main/test/modules/alert/effect/effect.component.scss b/src/main/test/modules/alert/effect/effect.component.scss new file mode 100644 index 000000000..9b84be0b6 --- /dev/null +++ b/src/main/test/modules/alert/effect/effect.component.scss @@ -0,0 +1,5 @@ +:host { + .row x-alert:not(:first-child) { + margin-top: 1rem; + } +} diff --git a/src/main/test/modules/alert/effect/effect.component.ts b/src/main/test/modules/alert/effect/effect.component.ts new file mode 100644 index 000000000..437e2c298 --- /dev/null +++ b/src/main/test/modules/alert/effect/effect.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; + +@Component({ + selector: 'ex-effect', + standalone: true, + imports: [XAlertComponent], + templateUrl: './effect.component.html', + styleUrls: ['./effect.component.scss'] +}) +export class ExEffectComponent {} diff --git a/src/main/test/modules/alert/icon/icon.component.html b/src/main/test/modules/alert/icon/icon.component.html new file mode 100644 index 000000000..dc2a2a803 --- /dev/null +++ b/src/main/test/modules/alert/icon/icon.component.html @@ -0,0 +1,6 @@ +
+ + + + +
diff --git a/src/main/test/modules/alert/icon/icon.component.scss b/src/main/test/modules/alert/icon/icon.component.scss new file mode 100644 index 000000000..9b84be0b6 --- /dev/null +++ b/src/main/test/modules/alert/icon/icon.component.scss @@ -0,0 +1,5 @@ +:host { + .row x-alert:not(:first-child) { + margin-top: 1rem; + } +} diff --git a/src/main/test/modules/alert/icon/icon.component.ts b/src/main/test/modules/alert/icon/icon.component.ts new file mode 100644 index 000000000..8a3156635 --- /dev/null +++ b/src/main/test/modules/alert/icon/icon.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; +import { XAlertComponent } from '@ng-nest/ui/alert'; + +@Component({ + selector: 'ex-icon', + standalone: true, + imports: [XAlertComponent], + templateUrl: './icon.component.html', + styleUrls: ['./icon.component.scss'] +}) +export class ExIconComponent {} diff --git a/src/main/test/modules/anchor/anchor.module.ts b/src/main/test/modules/anchor/anchor.module.ts index acd0d5c31..01230d208 100644 --- a/src/main/test/modules/anchor/anchor.module.ts +++ b/src/main/test/modules/anchor/anchor.module.ts @@ -6,12 +6,12 @@ import { ExLoadingComponent } from './loading/loading.component'; import { TeAnchorComponent } from './anchor.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; const routers = [{ path: '', component: TeAnchorComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, XAnchorModule, XLayoutModule, XButtonModule], + imports: [RouterModule.forChild(routers), CommonModule, XAnchorModule, XLayoutModule, XButtonComponent], declarations: [TeAnchorComponent, ExDefaultComponent, ExLoadingComponent] }) export class TeAnchorModule {} diff --git a/src/main/test/modules/auto-complete/auto-complete.module.ts b/src/main/test/modules/auto-complete/auto-complete.module.ts index 78063c9ce..cd9312692 100644 --- a/src/main/test/modules/auto-complete/auto-complete.module.ts +++ b/src/main/test/modules/auto-complete/auto-complete.module.ts @@ -6,12 +6,12 @@ import { TeAutoCompleteComponent } from './auto-complete.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; const routers = [{ path: '', component: TeAutoCompleteComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, FormsModule, XAutoCompleteModule, XLayoutModule, XButtonModule], + imports: [RouterModule.forChild(routers), CommonModule, FormsModule, XAutoCompleteModule, XLayoutModule, XButtonComponent], declarations: [TeAutoCompleteComponent, ExDefaultComponent] }) export class TeAutoCompleteModule {} diff --git a/src/main/test/modules/avatar/avatar.component.html b/src/main/test/modules/avatar/avatar.component.html index 3abdf1c3b..377584be9 100644 --- a/src/main/test/modules/avatar/avatar.component.html +++ b/src/main/test/modules/avatar/avatar.component.html @@ -1,5 +1,8 @@ - - - - + + + + + + + diff --git a/src/main/test/modules/avatar/avatar.component.scss b/src/main/test/modules/avatar/avatar.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/main/test/modules/avatar/avatar.component.ts b/src/main/test/modules/avatar/avatar.component.ts index 540e0e050..fdcd130a4 100644 --- a/src/main/test/modules/avatar/avatar.component.ts +++ b/src/main/test/modules/avatar/avatar.component.ts @@ -1,8 +1,26 @@ import { Component } from '@angular/core'; +import { ExBadgeComponent } from './badge/badge.component'; +import { ExDefaultComponent } from './default/default.component'; +import { ExDisplayComponent } from './display/display.component'; +import { ExFallbackComponent } from './fallback/fallback.component'; +import { ExFitComponent } from './fit/fit.component'; +import { ExGroupComponent } from './group/group.component'; +import { ExLabelComponent } from './label/label.component'; +import { ExResponseComponent } from './response/response.component'; @Component({ selector: 'te-avatar', - templateUrl: './avatar.component.html', - styleUrls: ['./avatar.component.scss'] + standalone: true, + imports: [ + ExBadgeComponent, + ExDefaultComponent, + ExDisplayComponent, + ExFallbackComponent, + ExFitComponent, + ExGroupComponent, + ExLabelComponent, + ExResponseComponent + ], + templateUrl: './avatar.component.html' }) export class TeAvatarComponent {} diff --git a/src/main/test/modules/avatar/avatar.module.ts b/src/main/test/modules/avatar/avatar.module.ts deleted file mode 100644 index 1b20061ab..000000000 --- a/src/main/test/modules/avatar/avatar.module.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { XAvatarModule } from '@ng-nest/ui/avatar'; -import { ExDefaultComponent } from './default/default.component'; -import { TeAvatarComponent } from './avatar.component'; -import { XLayoutModule } from '@ng-nest/ui/layout'; -import { CommonModule } from '@angular/common'; -import { XBadgeModule } from '@ng-nest/ui/badge'; -import { ExBadgeComponent } from './badge/badge.component'; -import { ExResponseComponent } from './response/response.component'; -import { ExLabelComponent } from './label/label.component'; -import { ExGroupComponent } from './group/group.component'; -import { XButtonModule } from '@ng-nest/ui/button'; - -const routers = [{ path: '', component: TeAvatarComponent }]; - -@NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, XAvatarModule, XButtonModule, XLayoutModule, XBadgeModule], - declarations: [TeAvatarComponent, ExDefaultComponent, ExBadgeComponent, ExResponseComponent, ExLabelComponent, ExGroupComponent] -}) -export class TeAvatarModule {} diff --git a/src/main/test/modules/avatar/badge/badge.component.ts b/src/main/test/modules/avatar/badge/badge.component.ts index a86905681..b86246dfd 100644 --- a/src/main/test/modules/avatar/badge/badge.component.ts +++ b/src/main/test/modules/avatar/badge/badge.component.ts @@ -1,7 +1,12 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; @Component({ selector: 'ex-badge', + standalone: true, + imports: [CommonModule, XBadgeComponent, XAvatarComponent], templateUrl: './badge.component.html', styleUrls: ['./badge.component.scss'] }) diff --git a/src/main/test/modules/avatar/default/default.component.html b/src/main/test/modules/avatar/default/default.component.html index 128226c04..edb9feb42 100644 --- a/src/main/test/modules/avatar/default/default.component.html +++ b/src/main/test/modules/avatar/default/default.component.html @@ -1,5 +1,4 @@
- @@ -7,10 +6,9 @@
- -
\ No newline at end of file + diff --git a/src/main/test/modules/avatar/default/default.component.ts b/src/main/test/modules/avatar/default/default.component.ts index 098bab9f4..5281ec962 100644 --- a/src/main/test/modules/avatar/default/default.component.ts +++ b/src/main/test/modules/avatar/default/default.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XAvatarComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) diff --git a/src/main/test/modules/avatar/display/display.component.html b/src/main/test/modules/avatar/display/display.component.html new file mode 100644 index 000000000..09d83cdc5 --- /dev/null +++ b/src/main/test/modules/avatar/display/display.component.html @@ -0,0 +1,5 @@ +
+ + + +
diff --git a/src/main/test/modules/avatar/display/display.component.scss b/src/main/test/modules/avatar/display/display.component.scss new file mode 100644 index 000000000..a6d44cc93 --- /dev/null +++ b/src/main/test/modules/avatar/display/display.component.scss @@ -0,0 +1,12 @@ +:host { + .row { + display: flex; + align-items: center; + } + .row:not(:first-child) { + margin-top: 1rem; + } + .row x-avatar:not(:first-child) { + margin-left: 1rem; + } +} diff --git a/src/main/test/modules/avatar/display/display.component.ts b/src/main/test/modules/avatar/display/display.component.ts new file mode 100644 index 000000000..3c71c334c --- /dev/null +++ b/src/main/test/modules/avatar/display/display.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; + +@Component({ + selector: 'ex-display', + standalone: true, + imports: [XAvatarComponent], + templateUrl: './display.component.html', + styleUrls: ['./display.component.scss'] +}) +export class ExDisplayComponent { + src = 'https://ngnest.com/assets/img/logo/logo-144x144.png'; + icon = 'fto-user'; + label = '王'; +} diff --git a/src/main/test/modules/avatar/fallback/fallback.component.html b/src/main/test/modules/avatar/fallback/fallback.component.html new file mode 100644 index 000000000..2bbf59cd9 --- /dev/null +++ b/src/main/test/modules/avatar/fallback/fallback.component.html @@ -0,0 +1,3 @@ +
+ +
diff --git a/src/main/test/modules/avatar/fallback/fallback.component.scss b/src/main/test/modules/avatar/fallback/fallback.component.scss new file mode 100644 index 000000000..a6d44cc93 --- /dev/null +++ b/src/main/test/modules/avatar/fallback/fallback.component.scss @@ -0,0 +1,12 @@ +:host { + .row { + display: flex; + align-items: center; + } + .row:not(:first-child) { + margin-top: 1rem; + } + .row x-avatar:not(:first-child) { + margin-left: 1rem; + } +} diff --git a/src/main/test/modules/avatar/fallback/fallback.component.ts b/src/main/test/modules/avatar/fallback/fallback.component.ts new file mode 100644 index 000000000..8244745d5 --- /dev/null +++ b/src/main/test/modules/avatar/fallback/fallback.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; + +@Component({ + selector: 'ex-fallback', + standalone: true, + imports: [XAvatarComponent], + templateUrl: './fallback.component.html', + styleUrls: ['./fallback.component.scss'] +}) +export class ExFallbackComponent {} diff --git a/src/main/test/modules/avatar/fit/fit.component.html b/src/main/test/modules/avatar/fit/fit.component.html new file mode 100644 index 000000000..d8c61136d --- /dev/null +++ b/src/main/test/modules/avatar/fit/fit.component.html @@ -0,0 +1,7 @@ +
+ + + + + +
diff --git a/src/main/test/modules/avatar/fit/fit.component.scss b/src/main/test/modules/avatar/fit/fit.component.scss new file mode 100644 index 000000000..a6d44cc93 --- /dev/null +++ b/src/main/test/modules/avatar/fit/fit.component.scss @@ -0,0 +1,12 @@ +:host { + .row { + display: flex; + align-items: center; + } + .row:not(:first-child) { + margin-top: 1rem; + } + .row x-avatar:not(:first-child) { + margin-left: 1rem; + } +} diff --git a/src/main/test/modules/avatar/fit/fit.component.ts b/src/main/test/modules/avatar/fit/fit.component.ts new file mode 100644 index 000000000..623710ea3 --- /dev/null +++ b/src/main/test/modules/avatar/fit/fit.component.ts @@ -0,0 +1,13 @@ +import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; + +@Component({ + selector: 'ex-fit', + standalone: true, + imports: [XAvatarComponent], + templateUrl: './fit.component.html', + styleUrls: ['./fit.component.scss'] +}) +export class ExFitComponent { + src = 'https://ngnest.com/assets/img/logo/logo-144x144.png'; +} diff --git a/src/main/test/modules/avatar/group/group.component.ts b/src/main/test/modules/avatar/group/group.component.ts index 2f4baafa3..4342b5d43 100644 --- a/src/main/test/modules/avatar/group/group.component.ts +++ b/src/main/test/modules/avatar/group/group.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent, XAvatarGroupComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-group', + standalone: true, + imports: [XAvatarComponent, XAvatarGroupComponent], templateUrl: './group.component.html', styleUrls: ['./group.component.scss'] }) diff --git a/src/main/test/modules/avatar/label/label.component.ts b/src/main/test/modules/avatar/label/label.component.ts index f0ce9244a..e040e613e 100644 --- a/src/main/test/modules/avatar/label/label.component.ts +++ b/src/main/test/modules/avatar/label/label.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-label', + standalone: true, + imports: [XAvatarComponent, XButtonComponent], templateUrl: './label.component.html', styleUrls: ['./label.component.scss'] }) diff --git a/src/main/test/modules/avatar/response/response.component.ts b/src/main/test/modules/avatar/response/response.component.ts index 575183522..1f0f549ae 100644 --- a/src/main/test/modules/avatar/response/response.component.ts +++ b/src/main/test/modules/avatar/response/response.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XAvatarComponent } from '@ng-nest/ui/avatar'; @Component({ selector: 'ex-response', + standalone: true, + imports: [XAvatarComponent], templateUrl: './response.component.html', styleUrls: ['./response.component.scss'] }) diff --git a/src/main/test/modules/badge/animation/animation.component.html b/src/main/test/modules/badge/animation/animation.component.html index 63850bf2d..c96ddc4b0 100644 --- a/src/main/test/modules/badge/animation/animation.component.html +++ b/src/main/test/modules/badge/animation/animation.component.html @@ -2,7 +2,7 @@ - Replay + 消息
diff --git a/src/main/test/modules/badge/animation/animation.component.ts b/src/main/test/modules/badge/animation/animation.component.ts index 17ed604cf..df8dc91b1 100644 --- a/src/main/test/modules/badge/animation/animation.component.ts +++ b/src/main/test/modules/badge/animation/animation.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-animation', + standalone: true, + imports: [XBadgeComponent, XButtonComponent, XButtonsComponent], templateUrl: './animation.component.html', styleUrls: ['./animation.component.scss'] }) diff --git a/src/main/test/modules/badge/badge.component.html b/src/main/test/modules/badge/badge.component.html index e8c337947..946462a8e 100644 --- a/src/main/test/modules/badge/badge.component.html +++ b/src/main/test/modules/badge/badge.component.html @@ -1,6 +1,8 @@ - - - - - + + + + + + + diff --git a/src/main/test/modules/badge/badge.component.scss b/src/main/test/modules/badge/badge.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/main/test/modules/badge/badge.component.ts b/src/main/test/modules/badge/badge.component.ts index 978182701..b7cd2064b 100644 --- a/src/main/test/modules/badge/badge.component.ts +++ b/src/main/test/modules/badge/badge.component.ts @@ -1,8 +1,26 @@ import { Component } from '@angular/core'; +import { ExDefaultComponent } from './default/default.component'; +import { ExOffsetComponent } from './offset/offset.component'; +import { ExStandaloneComponent } from './standalone/standalone.component'; +import { ExAnimationComponent } from './animation/animation.component'; +import { ExColorComponent } from './color/color.component'; +import { ExCustomComponent } from './custom/custom.component'; +import { ExDotComponent } from './dot/dot.component'; +import { ExMaxComponent } from './max/max.component'; @Component({ selector: 'te-badge', - templateUrl: './badge.component.html', - styleUrls: ['./badge.component.scss'] + standalone: true, + imports: [ + ExAnimationComponent, + ExColorComponent, + ExCustomComponent, + ExDefaultComponent, + ExDotComponent, + ExMaxComponent, + ExOffsetComponent, + ExStandaloneComponent + ], + templateUrl: './badge.component.html' }) export class TeBadgeComponent {} diff --git a/src/main/test/modules/badge/badge.module.ts b/src/main/test/modules/badge/badge.module.ts deleted file mode 100644 index 975b8fff7..000000000 --- a/src/main/test/modules/badge/badge.module.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { XBadgeModule } from '@ng-nest/ui/badge'; -import { ExDefaultComponent } from './default/default.component'; -import { TeBadgeComponent } from './badge.component'; -import { XLayoutModule } from '@ng-nest/ui/layout'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { CommonModule } from '@angular/common'; -import { ExOffsetComponent } from './offset/offset.component'; -import { ExStandaloneComponent } from './standalone/standalone.component'; -import { XSwitchModule } from '@ng-nest/ui/switch'; -import { FormsModule } from '@angular/forms'; -import { ExAnimationComponent } from './animation/animation.component'; - -const routers = [{ path: '', component: TeBadgeComponent }]; - -@NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, FormsModule, XBadgeModule, XButtonModule, XLayoutModule, XSwitchModule], - declarations: [TeBadgeComponent, ExDefaultComponent, ExOffsetComponent, ExStandaloneComponent, ExAnimationComponent] -}) -export class TeBadgeModule {} diff --git a/src/main/test/modules/badge/color/color.component.html b/src/main/test/modules/badge/color/color.component.html new file mode 100644 index 000000000..b1dcefb11 --- /dev/null +++ b/src/main/test/modules/badge/color/color.component.html @@ -0,0 +1,20 @@ +
+ + 评论 + + + 评论 + + + 评论 + + + 评论 + + + 评论 + + + 评论 + +
diff --git a/src/main/test/modules/badge/color/color.component.scss b/src/main/test/modules/badge/color/color.component.scss new file mode 100644 index 000000000..15099405c --- /dev/null +++ b/src/main/test/modules/badge/color/color.component.scss @@ -0,0 +1,12 @@ +:host { + .row { + display: flex; + align-items: center; + } + .row:not(:first-child) { + margin-top: 1rem; + } + .row x-badge:not(:first-child) { + margin-left: 2rem; + } +} diff --git a/src/main/test/modules/badge/color/color.component.ts b/src/main/test/modules/badge/color/color.component.ts new file mode 100644 index 000000000..f6fd010d9 --- /dev/null +++ b/src/main/test/modules/badge/color/color.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; + +@Component({ + selector: 'ex-color', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], + templateUrl: './color.component.html', + styleUrls: ['./color.component.scss'] +}) +export class ExColorComponent {} diff --git a/src/main/test/modules/badge/custom/custom.component.html b/src/main/test/modules/badge/custom/custom.component.html new file mode 100644 index 000000000..32b3c0af6 --- /dev/null +++ b/src/main/test/modules/badge/custom/custom.component.html @@ -0,0 +1,8 @@ +
+ + 评论 + + + 回复 + +
diff --git a/src/main/test/modules/badge/custom/custom.component.scss b/src/main/test/modules/badge/custom/custom.component.scss new file mode 100644 index 000000000..15099405c --- /dev/null +++ b/src/main/test/modules/badge/custom/custom.component.scss @@ -0,0 +1,12 @@ +:host { + .row { + display: flex; + align-items: center; + } + .row:not(:first-child) { + margin-top: 1rem; + } + .row x-badge:not(:first-child) { + margin-left: 2rem; + } +} diff --git a/src/main/test/modules/badge/custom/custom.component.ts b/src/main/test/modules/badge/custom/custom.component.ts new file mode 100644 index 000000000..ef278bffd --- /dev/null +++ b/src/main/test/modules/badge/custom/custom.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; + +@Component({ + selector: 'ex-custom', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], + templateUrl: './custom.component.html', + styleUrls: ['./custom.component.scss'] +}) +export class ExCustomComponent {} diff --git a/src/main/test/modules/badge/default/default.component.scss b/src/main/test/modules/badge/default/default.component.scss index 983df8843..15099405c 100644 --- a/src/main/test/modules/badge/default/default.component.scss +++ b/src/main/test/modules/badge/default/default.component.scss @@ -9,4 +9,4 @@ .row x-badge:not(:first-child) { margin-left: 2rem; } -} \ No newline at end of file +} diff --git a/src/main/test/modules/badge/default/default.component.ts b/src/main/test/modules/badge/default/default.component.ts index 4026daf60..6ac08a230 100644 --- a/src/main/test/modules/badge/default/default.component.ts +++ b/src/main/test/modules/badge/default/default.component.ts @@ -1,8 +1,12 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) -export class ExDefaultComponent {} \ No newline at end of file +export class ExDefaultComponent {} diff --git a/src/main/test/modules/badge/dot/dot.component.html b/src/main/test/modules/badge/dot/dot.component.html new file mode 100644 index 000000000..014cf57b0 --- /dev/null +++ b/src/main/test/modules/badge/dot/dot.component.html @@ -0,0 +1,8 @@ +
+ + 评论 + + + + +
diff --git a/src/main/test/modules/badge/dot/dot.component.scss b/src/main/test/modules/badge/dot/dot.component.scss new file mode 100644 index 000000000..15099405c --- /dev/null +++ b/src/main/test/modules/badge/dot/dot.component.scss @@ -0,0 +1,12 @@ +:host { + .row { + display: flex; + align-items: center; + } + .row:not(:first-child) { + margin-top: 1rem; + } + .row x-badge:not(:first-child) { + margin-left: 2rem; + } +} diff --git a/src/main/test/modules/badge/dot/dot.component.ts b/src/main/test/modules/badge/dot/dot.component.ts new file mode 100644 index 000000000..7a9a1453f --- /dev/null +++ b/src/main/test/modules/badge/dot/dot.component.ts @@ -0,0 +1,13 @@ +import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; +import { XIconComponent } from '@ng-nest/ui/icon'; + +@Component({ + selector: 'ex-dot', + standalone: true, + imports: [XBadgeComponent, XButtonComponent, XIconComponent], + templateUrl: './dot.component.html', + styleUrls: ['./dot.component.scss'] +}) +export class ExDotComponent {} diff --git a/src/main/test/modules/badge/max/max.component.html b/src/main/test/modules/badge/max/max.component.html new file mode 100644 index 000000000..ba6d354d1 --- /dev/null +++ b/src/main/test/modules/badge/max/max.component.html @@ -0,0 +1,8 @@ +
+ + 评论 + + + 回复 + +
diff --git a/src/main/test/modules/badge/max/max.component.scss b/src/main/test/modules/badge/max/max.component.scss new file mode 100644 index 000000000..15099405c --- /dev/null +++ b/src/main/test/modules/badge/max/max.component.scss @@ -0,0 +1,12 @@ +:host { + .row { + display: flex; + align-items: center; + } + .row:not(:first-child) { + margin-top: 1rem; + } + .row x-badge:not(:first-child) { + margin-left: 2rem; + } +} diff --git a/src/main/test/modules/badge/max/max.component.ts b/src/main/test/modules/badge/max/max.component.ts new file mode 100644 index 000000000..54e141e98 --- /dev/null +++ b/src/main/test/modules/badge/max/max.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; + +@Component({ + selector: 'ex-max', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], + templateUrl: './max.component.html', + styleUrls: ['./max.component.scss'] +}) +export class ExMaxComponent {} diff --git a/src/main/test/modules/badge/offset/offset.component.ts b/src/main/test/modules/badge/offset/offset.component.ts index 76c940d98..17c866af0 100644 --- a/src/main/test/modules/badge/offset/offset.component.ts +++ b/src/main/test/modules/badge/offset/offset.component.ts @@ -1,8 +1,12 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-offset', + standalone: true, + imports: [XBadgeComponent, XButtonComponent], templateUrl: './offset.component.html', styleUrls: ['./offset.component.scss'] }) -export class ExOffsetComponent {} \ No newline at end of file +export class ExOffsetComponent {} diff --git a/src/main/test/modules/badge/standalone/standalone.component.html b/src/main/test/modules/badge/standalone/standalone.component.html index 6fa0df9c1..725f36a4b 100644 --- a/src/main/test/modules/badge/standalone/standalone.component.html +++ b/src/main/test/modules/badge/standalone/standalone.component.html @@ -3,11 +3,4 @@ - - - 评论 - - - 回复 - diff --git a/src/main/test/modules/badge/standalone/standalone.component.ts b/src/main/test/modules/badge/standalone/standalone.component.ts index d26116a87..cefbbb90e 100644 --- a/src/main/test/modules/badge/standalone/standalone.component.ts +++ b/src/main/test/modules/badge/standalone/standalone.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XBadgeComponent } from '@ng-nest/ui/badge'; @Component({ selector: 'ex-standalone', + standalone: true, + imports: [XBadgeComponent], templateUrl: './standalone.component.html', styleUrls: ['./standalone.component.scss'] }) diff --git a/src/main/test/modules/button/button.component.html b/src/main/test/modules/button/button.component.html index 9cbb9ca9c..1681cfb49 100644 --- a/src/main/test/modules/button/button.component.html +++ b/src/main/test/modules/button/button.component.html @@ -1,14 +1,7 @@ - - - - - - - diff --git a/src/main/test/modules/button/button.component.scss b/src/main/test/modules/button/button.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/main/test/modules/button/button.component.ts b/src/main/test/modules/button/button.component.ts index 6f253149c..a5ab05505 100644 --- a/src/main/test/modules/button/button.component.ts +++ b/src/main/test/modules/button/button.component.ts @@ -1,8 +1,24 @@ import { Component } from '@angular/core'; +import { ExDisabledComponent } from './disabled/disabled.component'; +import { ExGroupComponent } from './group/group.component'; +import { ExIconComponent } from './icon/icon.component'; +import { ExLoadingComponent } from './loading/loading.component'; +import { ExSizeComponent } from './size/size.component'; +import { ExTextComponent } from './text/text.component'; +import { ExDefaultComponent } from './default/default.component'; @Component({ selector: 'te-button', - templateUrl: './button.component.html', - styleUrls: ['./button.component.scss'] + standalone: true, + imports: [ + ExDefaultComponent, + ExDisabledComponent, + ExGroupComponent, + ExIconComponent, + ExLoadingComponent, + ExSizeComponent, + ExTextComponent + ], + templateUrl: './button.component.html' }) export class TeButtonComponent {} diff --git a/src/main/test/modules/button/button.module.ts b/src/main/test/modules/button/button.module.ts deleted file mode 100644 index 84d020b96..000000000 --- a/src/main/test/modules/button/button.module.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { ExDefaultComponent } from './default/default.component'; -import { TeButtonComponent } from './button.component'; -import { XLayoutModule } from '@ng-nest/ui/layout'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { CommonModule } from '@angular/common'; -import { ExDisabledComponent } from './disabled/disabled.component'; -import { ExGroupComponent } from './group/group.component'; -import { ExIconComponent } from './icon/icon.component'; -import { ExLoadingComponent } from './loading/loading.component'; -import { ExSizeComponent } from './size/size.component'; -import { ExTextComponent } from './text/text.component'; -import { XIconModule } from '@ng-nest/ui/icon'; - -const routers = [{ path: '', component: TeButtonComponent }]; - -@NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, XButtonModule, XLayoutModule, XIconModule], - declarations: [ - TeButtonComponent, - ExDefaultComponent, - ExDisabledComponent, - ExGroupComponent, - ExIconComponent, - ExLoadingComponent, - ExSizeComponent, - ExTextComponent - ] -}) -export class TeButtonModule {} diff --git a/src/main/test/modules/button/default/default.component.ts b/src/main/test/modules/button/default/default.component.ts index 4026daf60..1e1767e97 100644 --- a/src/main/test/modules/button/default/default.component.ts +++ b/src/main/test/modules/button/default/default.component.ts @@ -1,8 +1,11 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-default', + standalone: true, + imports: [XButtonComponent], templateUrl: './default.component.html', styleUrls: ['./default.component.scss'] }) -export class ExDefaultComponent {} \ No newline at end of file +export class ExDefaultComponent {} diff --git a/src/main/test/modules/button/disabled/disabled.component.ts b/src/main/test/modules/button/disabled/disabled.component.ts index 300c89438..397cc9708 100644 --- a/src/main/test/modules/button/disabled/disabled.component.ts +++ b/src/main/test/modules/button/disabled/disabled.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-disabled', + standalone: true, + imports: [XButtonComponent], templateUrl: './disabled.component.html', styleUrls: ['./disabled.component.scss'] }) diff --git a/src/main/test/modules/button/group/group.component.ts b/src/main/test/modules/button/group/group.component.ts index 0d612e26f..ecb929ff5 100644 --- a/src/main/test/modules/button/group/group.component.ts +++ b/src/main/test/modules/button/group/group.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-group', + standalone: true, + imports: [XButtonComponent, XButtonsComponent], templateUrl: './group.component.html', styleUrls: ['./group.component.scss'] }) diff --git a/src/main/test/modules/button/icon/icon.component.ts b/src/main/test/modules/button/icon/icon.component.ts index 7ad46cf35..b4b5da610 100644 --- a/src/main/test/modules/button/icon/icon.component.ts +++ b/src/main/test/modules/button/icon/icon.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-icon', + standalone: true, + imports: [XButtonComponent], templateUrl: './icon.component.html', styleUrls: ['./icon.component.scss'] }) diff --git a/src/main/test/modules/button/loading/loading.component.html b/src/main/test/modules/button/loading/loading.component.html index e44116c69..bb5039446 100644 --- a/src/main/test/modules/button/loading/loading.component.html +++ b/src/main/test/modules/button/loading/loading.component.html @@ -1,66 +1,3 @@ -
- 保存 - 主要按钮 -
-
- 默认按钮 - 主要按钮 - 成功按钮 - 警告按钮 - 危险按钮 - 信息按钮 -
-
- 朴素按钮 - 主要按钮 - 成功按钮 - 警告按钮 - 危险按钮 - 信息按钮 -
-
- 圆角按钮 - 主要按钮 - 成功按钮 - 警告按钮 - 危险按钮 - 信息按钮 -
-
- - - - - - -
- -
- 超大按钮 - 大型按钮 - 默认按钮 - 小型按钮 - 迷你按钮 -
-
- 超大按钮 - 大型按钮 - 默认按钮 - 小型按钮 - 迷你按钮 -
-
- 超大按钮 - 大型按钮 - 默认按钮 - 小型按钮 - 迷你按钮 -
-
- - - - - + 保存
diff --git a/src/main/test/modules/button/loading/loading.component.scss b/src/main/test/modules/button/loading/loading.component.scss index 6f005f5ac..f06f37b07 100644 --- a/src/main/test/modules/button/loading/loading.component.scss +++ b/src/main/test/modules/button/loading/loading.component.scss @@ -2,7 +2,7 @@ .row:not(:last-child) { margin-bottom: 1rem; } - .row > x-button:not(:first-child) { + .row > x-buttons:not(:first-child) { margin-left: 1rem; } } diff --git a/src/main/test/modules/button/loading/loading.component.ts b/src/main/test/modules/button/loading/loading.component.ts index 7b9f75027..e5e1fd70f 100644 --- a/src/main/test/modules/button/loading/loading.component.ts +++ b/src/main/test/modules/button/loading/loading.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-loading', + standalone: true, + imports: [XButtonComponent], templateUrl: './loading.component.html', styleUrls: ['./loading.component.scss'] }) @@ -13,6 +16,6 @@ export class ExLoadingComponent { this.loading = true; setTimeout(() => { this.loading = false; - }, 2000); + }, 3000); } } diff --git a/src/main/test/modules/button/size/size.component.ts b/src/main/test/modules/button/size/size.component.ts index 28ec1ffa8..8388d55da 100644 --- a/src/main/test/modules/button/size/size.component.ts +++ b/src/main/test/modules/button/size/size.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-size', + standalone: true, + imports: [XButtonComponent], templateUrl: './size.component.html', styleUrls: ['./size.component.scss'] }) diff --git a/src/main/test/modules/button/text/text.component.html b/src/main/test/modules/button/text/text.component.html index c680a2081..d83bfd42c 100644 --- a/src/main/test/modules/button/text/text.component.html +++ b/src/main/test/modules/button/text/text.component.html @@ -1,7 +1,4 @@
文字按钮 文字按钮 - -
-

我来了 这个是一个测试内容

diff --git a/src/main/test/modules/button/text/text.component.ts b/src/main/test/modules/button/text/text.component.ts index 99483d21a..183763527 100644 --- a/src/main/test/modules/button/text/text.component.ts +++ b/src/main/test/modules/button/text/text.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; @Component({ selector: 'ex-text', + standalone: true, + imports: [XButtonComponent], templateUrl: './text.component.html', styleUrls: ['./text.component.scss'] }) diff --git a/src/main/test/modules/checkbox/checkbox.module.ts b/src/main/test/modules/checkbox/checkbox.module.ts index c5ef9ff03..0026efe49 100644 --- a/src/main/test/modules/checkbox/checkbox.module.ts +++ b/src/main/test/modules/checkbox/checkbox.module.ts @@ -14,7 +14,7 @@ import { XColorPickerModule } from '@ng-nest/ui/color-picker'; import { XFindModule } from '@ng-nest/ui/find'; import { XTextareaModule } from '@ng-nest/ui/textarea'; import { XTimePickerModule } from '@ng-nest/ui/time-picker'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XInputModule } from '@ng-nest/ui/input'; import { FormsModule } from '@angular/forms'; import { ExTagComponent } from './tag/tag.component'; @@ -33,7 +33,7 @@ const routers = [{ path: '', component: TeCheckboxComponent }]; XAutoCompleteModule, XSelectModule, XDatePickerModule, - XButtonModule, + XButtonComponent, XLayoutModule, XCascadeModule, XColorPickerModule, diff --git a/src/main/test/modules/collapse/collapse.module.ts b/src/main/test/modules/collapse/collapse.module.ts index 76a6a5a09..7f60abd67 100644 --- a/src/main/test/modules/collapse/collapse.module.ts +++ b/src/main/test/modules/collapse/collapse.module.ts @@ -6,7 +6,7 @@ import { TeCollapseComponent } from './collapse.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; import { ExIconComponent } from './icon/icon.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ExGhostComponent } from './ghost/ghost.component'; import { ExArrowComponent } from './arrow/arrow.component'; import { ExBorderComponent } from './border/border.component'; @@ -15,7 +15,7 @@ import { ExDisabledComponent } from './disabled/disabled.component'; const routers = [{ path: '', component: TeCollapseComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, XCollapseModule, XLayoutModule, XIconModule], + imports: [RouterModule.forChild(routers), CommonModule, XCollapseModule, XLayoutModule, XIconComponent], declarations: [ TeCollapseComponent, ExDefaultComponent, diff --git a/src/main/test/modules/date-picker/date-picker.module.ts b/src/main/test/modules/date-picker/date-picker.module.ts index 238df830e..7e3bf5460 100644 --- a/src/main/test/modules/date-picker/date-picker.module.ts +++ b/src/main/test/modules/date-picker/date-picker.module.ts @@ -6,7 +6,7 @@ import { TeDatePickerComponent } from './date-picker.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ExYearMonthComponent } from './year-month/year-month.component'; import { ExTodayComponent } from './today/today.component'; import { ExTimeComponent } from './time/time.component'; @@ -38,7 +38,7 @@ const routers = [{ path: '', component: TeDatePickerComponent }]; XLayoutModule, XDatePickerModule, ReactiveFormsModule, - XButtonModule, + XButtonComponent, XRadioModule, XSelectModule, XInputModule, diff --git a/src/main/test/modules/dialog/dialog.module.ts b/src/main/test/modules/dialog/dialog.module.ts index 9b5322d51..3be10c657 100644 --- a/src/main/test/modules/dialog/dialog.module.ts +++ b/src/main/test/modules/dialog/dialog.module.ts @@ -6,7 +6,7 @@ import { TeDialogComponent } from './dialog.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XMessageBoxModule } from '@ng-nest/ui/message-box'; import { ExServiceComponent } from './service/service.component'; import { ExServiceDialogComponent } from './service/service-dialog.component'; @@ -16,8 +16,8 @@ import { ExCustomComponent } from './custom/custom.component'; import { ExContainerComponent } from './container/container.component'; import { XInputModule } from '@ng-nest/ui/input'; import { XRadioModule } from '@ng-nest/ui/radio'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { XFormModule } from '@ng-nest/ui/form'; import { ExFormComponent } from './form/form.component'; @@ -32,11 +32,11 @@ const routers = [{ path: '', component: TeDialogComponent }]; XDialogModule, XLayoutModule, XRadioModule, - XButtonModule, + XButtonComponent, DragDropModule, XInputModule, - XIconModule, - XLinkModule, + XIconComponent, + XLinkComponent, XFormModule ], declarations: [ diff --git a/src/main/test/modules/drawer/drawer.module.ts b/src/main/test/modules/drawer/drawer.module.ts index d8d882314..9e684a100 100644 --- a/src/main/test/modules/drawer/drawer.module.ts +++ b/src/main/test/modules/drawer/drawer.module.ts @@ -6,7 +6,7 @@ import { TeDrawerComponent } from './drawer.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XRadioModule } from '@ng-nest/ui/radio'; import { ExServiceComponent } from './service/service.component'; import { ExServiceDrawerComponent } from './service/service-drawer.component'; @@ -15,7 +15,7 @@ import { ExContainerComponent } from './container/container.component'; const routers = [{ path: '', component: TeDrawerComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, FormsModule, XDrawerModule, XLayoutModule, XRadioModule, XButtonModule], + imports: [RouterModule.forChild(routers), CommonModule, FormsModule, XDrawerModule, XLayoutModule, XRadioModule, XButtonComponent], declarations: [TeDrawerComponent, ExDefaultComponent, ExServiceComponent, ExServiceDrawerComponent, ExContainerComponent] }) export class TeDrawerModule {} diff --git a/src/main/test/modules/dropdown/dropdown.module.ts b/src/main/test/modules/dropdown/dropdown.module.ts index d05e85e49..aa1ef4662 100644 --- a/src/main/test/modules/dropdown/dropdown.module.ts +++ b/src/main/test/modules/dropdown/dropdown.module.ts @@ -5,12 +5,12 @@ import { ExDefaultComponent } from './default/default.component'; import { TeDropdownComponent } from './dropdown.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; const routers = [{ path: '', component: TeDropdownComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, XDropdownModule, XLayoutModule, XButtonModule], + imports: [RouterModule.forChild(routers), CommonModule, XDropdownModule, XLayoutModule, XButtonComponent], declarations: [TeDropdownComponent, ExDefaultComponent] }) export class TeDropdownModule {} diff --git a/src/main/test/modules/empty/custom/custom.component.html b/src/main/test/modules/empty/custom/custom.component.html new file mode 100644 index 000000000..9173687cd --- /dev/null +++ b/src/main/test/modules/empty/custom/custom.component.html @@ -0,0 +1,21 @@ +
+ +
+
+ +
+
+ + + +
+
+ + + 没有数据 + 重新请求 + + +
diff --git a/src/main/test/modules/empty/custom/custom.component.scss b/src/main/test/modules/empty/custom/custom.component.scss new file mode 100644 index 000000000..b4943baa0 --- /dev/null +++ b/src/main/test/modules/empty/custom/custom.component.scss @@ -0,0 +1,5 @@ +:host { + .row:not(:first-child) { + margin-top: 1rem; + } +} diff --git a/src/main/test/modules/empty/custom/custom.component.ts b/src/main/test/modules/empty/custom/custom.component.ts new file mode 100644 index 000000000..f2637424c --- /dev/null +++ b/src/main/test/modules/empty/custom/custom.component.ts @@ -0,0 +1,13 @@ +import { Component } from '@angular/core'; +import { XButtonComponent } from '@ng-nest/ui/button'; +import { XEmptyComponent } from '@ng-nest/ui/empty'; +import { XIconComponent } from '@ng-nest/ui/icon'; + +@Component({ + selector: 'ex-custom', + standalone: true, + imports: [XEmptyComponent, XIconComponent, XButtonComponent], + templateUrl: './custom.component.html', + styleUrls: ['./custom.component.scss'] +}) +export class ExCustomComponent {} diff --git a/src/main/test/modules/empty/default/default.component.html b/src/main/test/modules/empty/default/default.component.html new file mode 100644 index 000000000..70910acc2 --- /dev/null +++ b/src/main/test/modules/empty/default/default.component.html @@ -0,0 +1 @@ + diff --git a/src/main/test/modules/empty/default/default.component.ts b/src/main/test/modules/empty/default/default.component.ts new file mode 100644 index 000000000..7c9d89a78 --- /dev/null +++ b/src/main/test/modules/empty/default/default.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; +import { XEmptyComponent } from '@ng-nest/ui/empty'; + +@Component({ + selector: 'ex-default', + standalone: true, + imports: [XEmptyComponent], + templateUrl: './default.component.html' +}) +export class ExDefaultComponent {} diff --git a/src/main/test/modules/empty/empty.component.html b/src/main/test/modules/empty/empty.component.html new file mode 100644 index 000000000..64c6d1fab --- /dev/null +++ b/src/main/test/modules/empty/empty.component.html @@ -0,0 +1,2 @@ + + diff --git a/src/main/test/modules/empty/empty.component.ts b/src/main/test/modules/empty/empty.component.ts new file mode 100644 index 000000000..4a1c0cea0 --- /dev/null +++ b/src/main/test/modules/empty/empty.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; +import { ExDefaultComponent } from './default/default.component'; +import { ExCustomComponent } from './custom/custom.component'; + +@Component({ + selector: 'te-empty', + standalone: true, + imports: [ExDefaultComponent, ExCustomComponent], + templateUrl: './empty.component.html' +}) +export class TeEmptyComponent {} diff --git a/src/main/test/modules/form/form.module.ts b/src/main/test/modules/form/form.module.ts index 51b24ad47..079febadf 100644 --- a/src/main/test/modules/form/form.module.ts +++ b/src/main/test/modules/form/form.module.ts @@ -8,13 +8,13 @@ import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { ExMoreFormComponent } from './more-form/more-form.component'; import { ExFormVaildComponent } from './form-vaild/form-vaild.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ExOtherComponent } from './other/other.component'; const routers = [{ path: '', component: TeFormComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, FormsModule, ReactiveFormsModule, XFormModule, XLayoutModule, XButtonModule], + imports: [RouterModule.forChild(routers), CommonModule, FormsModule, ReactiveFormsModule, XFormModule, XLayoutModule, XButtonComponent], declarations: [TeFormComponent, ExDefaultComponent, ExMoreFormComponent, ExFormVaildComponent, ExOtherComponent] }) export class TeFormModule {} diff --git a/src/main/test/modules/icon/ant-design/ant-design.component.html b/src/main/test/modules/icon/ant-design/ant-design.component.html new file mode 100644 index 000000000..b4d93bae8 --- /dev/null +++ b/src/main/test/modules/icon/ant-design/ant-design.component.html @@ -0,0 +1,12 @@ + + + + +
+ + {{ icon }} +
+
+
+
+
diff --git a/src/main/test/modules/icon/ant-design/ant-design.component.scss b/src/main/test/modules/icon/ant-design/ant-design.component.scss new file mode 100644 index 000000000..4b5eb0404 --- /dev/null +++ b/src/main/test/modules/icon/ant-design/ant-design.component.scss @@ -0,0 +1,40 @@ +:host { + .x-row { + margin-top: 1rem; + > .x-col { + > .box { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 5rem; + border-radius: 0.125rem; + transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; + cursor: pointer; + > .x-icon { + font-size: 1.5rem; + transition: transform 0.3s ease-in-out; + } + > span { + font-size: 0.75rem; + cursor: inherit; + white-space: nowrap; + display: block; + overflow: hidden; + text-overflow: ellipsis; + width: 100%; + text-align: center; + padding: 0.5rem 0.625rem; + } + &:hover { + background-color: var(--x-primary); + color: white; + > .x-icon { + color: inherit; + transform: scale(1.4); + } + } + } + } + } +} diff --git a/src/main/test/modules/icon/ant-design/ant-design.component.ts b/src/main/test/modules/icon/ant-design/ant-design.component.ts new file mode 100644 index 000000000..b15c5e98a --- /dev/null +++ b/src/main/test/modules/icon/ant-design/ant-design.component.ts @@ -0,0 +1,752 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; + +@Component({ + selector: 'ex-ant-design', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], + templateUrl: './ant-design.component.html', + styleUrls: ['./ant-design.component.scss'] +}) +export class ExAntDesignComponent { + tabs = [ + { + type: 'ado', + name: 'Outlined', + icons: [ + 'account-book', + 'alert', + 'alibaba', + 'align-center', + 'align-left', + 'align-right', + 'alipay-circle', + 'alipay', + 'aliwangwang', + 'aliyun', + 'amazon', + 'android', + 'ant-cloud', + 'ant-design', + 'apartment', + 'api', + 'apple', + 'appstore', + 'area-chart', + 'arrow-down', + 'arrow-left', + 'arrow-right', + 'arrow-up', + 'arrows-alt', + 'audio', + 'audit', + 'backward', + 'bank', + 'bar-chart', + 'barcode', + 'bars', + 'behance-square', + 'behance', + 'bell', + 'bg-colors', + 'block', + 'bold', + 'book', + 'border-bottom', + 'border-horizontal', + 'border-inner', + 'border-left', + 'border-outer', + 'border-right', + 'border-top', + 'border-verticle', + 'border', + 'box-plot', + 'branches', + 'build', + 'bulb', + 'calculator', + 'calendar', + 'camera', + 'car', + 'caret-down', + 'caret-left', + 'caret-right', + 'caret-up', + 'carry-out', + 'check-circle', + 'check-square', + 'check', + 'chrome', + 'ci', + 'clock-circle', + 'close-circle', + 'close-square', + 'close', + 'cloud-download', + 'cloud-server', + 'cloud-sync', + 'cloud-upload', + 'cloud', + 'cluster', + 'code-sandbox', + 'code', + 'codepen-circle', + 'codepen', + 'coffee', + 'colum-height', + 'column-width', + 'compass', + 'contacts', + 'container', + 'control', + 'copy', + 'copyright', + 'credit-card', + 'crown', + 'customer-service', + 'dash', + 'dashboard', + 'database', + 'delete', + 'deployment-unit', + 'desktop', + 'diff', + 'dingding', + 'disconnect', + 'dislike', + 'dollar', + 'dot-chart', + 'double-left', + 'double-right', + 'down-circle', + 'down-square', + 'down', + 'download', + 'drag', + 'dribbble-square', + 'dribbble', + 'dropbox', + 'edit', + 'ellipsis', + 'enter', + 'environment', + 'euro', + 'exception', + 'exclamation-circle', + 'exclamation', + 'experiment', + 'export', + 'eye-invisible', + 'eye', + 'facebook', + 'fall', + 'fast-backward', + 'fast-forward', + 'file-add', + 'file-done', + 'file-excel', + 'file-exclamation', + 'file-image', + 'file-jpg', + 'file-markdown', + 'file-pdf', + 'file-ppt', + 'file-protect', + 'file-search', + 'file-sync', + 'file-text', + 'file-unknown', + 'file-word', + 'file-zip', + 'file', + 'filter', + 'fire', + 'flag', + 'folder-add', + 'folder-open', + 'folder', + 'font-colors', + 'font-size', + 'fork', + 'form', + 'forward', + 'frown', + 'fullscreen-exit', + 'fullscreen', + 'fund', + 'funnel-plot', + 'gateway', + 'gift', + 'github', + 'gitlab', + 'global', + 'gold', + 'google-plus', + 'google', + 'hdd', + 'heart', + 'heat-map', + 'highlight', + 'home', + 'hourglass', + 'html5', + 'idcard', + 'ie', + 'import', + 'inbox', + 'info-circle', + 'info', + 'instagram', + 'insurance', + 'interation', + 'issues-close', + 'italic', + 'key', + 'laptop', + 'layout', + 'left-circle', + 'left-square', + 'left', + 'like', + 'line-chart', + 'line-height', + 'line', + 'link', + 'linkedin', + 'loading-3-quarters', + 'loading', + 'lock', + 'login', + 'logout', + 'mail', + 'man', + 'medicine-box', + 'medium-workmark', + 'medium', + 'meh', + 'menu', + 'message', + 'minus-circle', + 'minus-square', + 'minus', + 'mobile', + 'money-collect', + 'monitor', + 'more', + 'notification', + 'number', + 'ordered-list', + 'paper-clip', + 'pause-circle', + 'pause', + 'pay-circle', + 'percentage', + 'phone', + 'pic-center', + 'pic-left', + 'pic-right', + 'picture', + 'pie-chart', + 'play-circle', + 'play-square', + 'plus-circle', + 'plus-square', + 'plus', + 'pound', + 'poweroff', + 'printer', + 'profile', + 'project', + 'property-safety', + 'pushpin', + 'qq', + 'qrcode', + 'question-circle', + 'question', + 'radar-chart', + 'radius-bottomleft', + 'radius-bottomright', + 'radius-setting', + 'radius-upleft', + 'radius-upright', + 'read', + 'reconciliation', + 'red-envelope', + 'reddit', + 'redo', + 'reload', + 'rest', + 'retweet', + 'right-circle', + 'right-square', + 'right', + 'rise', + 'robot', + 'rocket', + 'rollback', + 'safety-certificate', + 'safety', + 'save', + 'scan', + 'schedule', + 'scissor', + 'search', + 'security-scan', + 'select', + 'setting', + 'shake', + 'share-alt', + 'shop', + 'shopping-cart', + 'shopping', + 'shrink', + 'sketch', + 'skin', + 'skype', + 'slack-square', + 'slack', + 'sliders', + 'small-dash', + 'smile', + 'snippets', + 'solution', + 'sort-ascending', + 'sort-descending', + 'sound', + 'star', + 'step-backward', + 'step-forward', + 'stock', + 'stop', + 'strikethrough', + 'swap-left', + 'swap-right', + 'swap', + 'switcher', + 'sync', + 'table', + 'tablet', + 'tag', + 'tags', + 'taobao-circle', + 'taobao', + 'team', + 'thunderbolt', + 'to-top', + 'tool', + 'trademark', + 'transaction', + 'trophy', + 'twitter', + 'underline', + 'undo', + 'unlock', + 'unordered-list', + 'up-circle', + 'up-square', + 'up', + 'upload', + 'usb', + 'user-add', + 'user-delete', + 'user', + 'usergroup-add', + 'usergroup-delete', + 'vertical-align-bottom', + 'vertical-align-middle', + 'vertical-align-top', + 'vertical-left', + 'vertical-right', + 'video-camera', + 'wallet', + 'warning', + 'wechat', + 'weibo-circle', + 'weibo-square', + 'weibo', + 'wifi', + 'windows', + 'woman', + 'yahoo', + 'youtube', + 'yuque', + 'zhihu', + 'zoom-in', + 'zoom-out' + ] + }, + { + type: 'adf', + name: 'Filled', + icons: [ + 'account-book', + 'alert', + 'alipay-circle', + 'alipay-square', + 'aliwangwang', + 'amazon-circle', + 'amazon-square', + 'android', + 'api', + 'apple', + 'appstore', + 'audio', + 'backward', + 'bank', + 'behance-circle', + 'behance-square', + 'bell', + 'book', + 'box-plot', + 'build', + 'bulb', + 'calculator', + 'calendar', + 'camera', + 'car', + 'caret-down', + 'caret-left', + 'caret-right', + 'caret-up', + 'carry-out', + 'check-circle', + 'check-square', + 'chrome', + 'ci-circle', + 'clock-circle', + 'close-circle', + 'close-square', + 'cloud', + 'code-sandbox-circle', + 'code-sandbox-square', + 'code', + 'codepen-circle', + 'codepen-square', + 'compass', + 'contacts', + 'container', + 'control', + 'copy', + 'copyright-circle', + 'credit-card', + 'crown', + 'customer-service', + 'dashboard', + 'database', + 'delete', + 'diff', + 'dingtalk-circle', + 'dingtalk-square', + 'dislike', + 'dollar-circle', + 'down-circle', + 'down-square', + 'dribbble-circle', + 'dribbble-square', + 'dropbox-circle', + 'dropbox-square', + 'edit', + 'environment', + 'euro-circle', + 'exclamation-circle', + 'experiment', + 'eye-invisible', + 'eye', + 'facebook', + 'fast-backward', + 'fast-forward', + 'file-add', + 'file-excel', + 'file-exclamation', + 'file-image', + 'file-markdown', + 'file-pdf', + 'file-ppt', + 'file-text', + 'file-unknown', + 'file-word', + 'file-zip', + 'file', + 'filter', + 'fire', + 'flag', + 'folder-add', + 'folder-open', + 'folder', + 'forward', + 'frown', + 'fund', + 'funnel-plot', + 'gift', + 'github', + 'gitlab', + 'golden', + 'google-circle', + 'google-plus-circle', + 'google-plus-square', + 'google-square', + 'hdd', + 'heart', + 'highlight', + 'home', + 'hourglass', + 'html5', + 'idcard', + 'ie-circle', + 'ie-square', + 'info-circle', + 'instagram', + 'insurance', + 'interation', + 'layout', + 'left-circle', + 'left-square', + 'like', + 'linkedin', + 'lock', + 'mail', + 'medicine-box', + 'medium-circle', + 'medium-square', + 'meh', + 'message', + 'minus-circle', + 'minus-square', + 'mobile', + 'money-collect', + 'notification', + 'pause-circle', + 'pay-circle', + 'phone', + 'picture', + 'pie-chart', + 'play-circle', + 'play-square', + 'plus-circle', + 'plus-square', + 'pound-circle', + 'printer', + 'profile', + 'project', + 'property-safety', + 'pushpin', + 'qq-circle', + 'qq-square', + 'question-circle', + 'read', + 'reconciliation', + 'red-envelope', + 'reddit-circle', + 'reddit-square', + 'rest', + 'right-circle', + 'right-square', + 'rocket', + 'safety-certificate', + 'save', + 'schedule', + 'security-scan', + 'setting', + 'shop', + 'shopping', + 'sketch-circle', + 'sketch-square', + 'skin', + 'skype', + 'slack-circle', + 'slack-square', + 'sliders', + 'smile', + 'snippets', + 'sound', + 'star', + 'step-backward', + 'step-forward', + 'stop', + 'switcher', + 'tablet', + 'tag', + 'tags', + 'taobao-circle', + 'taobao-square', + 'thunderbolt', + 'tool', + 'trademark-circle', + 'trophy', + 'twitter-circle', + 'twitter-square', + 'unlock', + 'up-circle', + 'up-square', + 'usb', + 'video-camera', + 'wallet', + 'warning', + 'wechat', + 'weibo-circle', + 'weibo-square', + 'windows', + 'yahoo', + 'youtube', + 'yuque', + 'zhihu-circle', + 'zhihu-square' + ] + }, + { + type: 'adt', + name: 'TwoTone', + icons: [ + 'account-book', + 'alert', + 'api', + 'appstore', + 'audio', + 'bank', + 'bell', + 'book', + 'box-plot', + 'build', + 'bulb', + 'calculator', + 'camera', + 'canlendar', + 'car', + 'carry-out', + 'check-circle', + 'check-square', + 'ci', + 'clock-circle', + 'close-circle', + 'close-square', + 'cloud', + 'code', + 'compass', + 'contacts', + 'container', + 'control', + 'copy', + 'copyright', + 'credit-card', + 'crown', + 'customer-service', + 'dashboard', + 'database', + 'delete', + 'diff', + 'dislike', + 'dollar', + 'down-circle', + 'down-square', + 'edit', + 'environment', + 'euro', + 'exclamation-circle', + 'experiment', + 'eye-invisible', + 'eye', + 'file-add', + 'file-excel', + 'file-exclamation', + 'file-image', + 'file-markdown', + 'file-pdf', + 'file-ppt', + 'file-text', + 'file-unknown', + 'file-word', + 'file-zip', + 'file', + 'filter', + 'fire', + 'flag', + 'folder-add', + 'folder-open', + 'folder', + 'frown', + 'fund', + 'funnel-plot', + 'gift', + 'gold', + 'hdd', + 'heart', + 'highlight', + 'home', + 'hourglass', + 'html5', + 'idcard', + 'info-circle', + 'insurance', + 'interation', + 'layout', + 'left-circle', + 'left-square', + 'like', + 'lock', + 'mail', + 'medicine-box', + 'meh', + 'message', + 'minus-circle', + 'minus-square', + 'mobile', + 'money-collect', + 'notification', + 'pause-circle', + 'phone', + 'picture', + 'pie-chart', + 'play-circle', + 'play-square', + 'plus-circle', + 'plus-square', + 'pound-circle', + 'printer', + 'profile', + 'project', + 'property-safety', + 'pushpin', + 'question-circle', + 'reconciliation', + 'red-envelope', + 'rest', + 'right-circle', + 'right-square', + 'rocket', + 'safety-certificate', + 'save', + 'schedule', + 'security-scan', + 'setting', + 'shop', + 'shopping', + 'skin', + 'sliders', + 'smile', + 'snippets', + 'sound', + 'star', + 'stop', + 'switcher', + 'tablet', + 'tag', + 'tags', + 'thunderbolt', + 'tool', + 'trademark-circle', + 'trophy', + 'unlock', + 'up-circle', + 'up-square', + 'usb', + 'video-camera', + 'wallet', + 'warning' + ] + } + ]; +} diff --git a/src/main/test/modules/icon/eva/eva.component.html b/src/main/test/modules/icon/eva/eva.component.html new file mode 100644 index 000000000..b4d93bae8 --- /dev/null +++ b/src/main/test/modules/icon/eva/eva.component.html @@ -0,0 +1,12 @@ + + + + +
+ + {{ icon }} +
+
+
+
+
diff --git a/src/main/test/modules/icon/eva/eva.component.scss b/src/main/test/modules/icon/eva/eva.component.scss new file mode 100644 index 000000000..4b5eb0404 --- /dev/null +++ b/src/main/test/modules/icon/eva/eva.component.scss @@ -0,0 +1,40 @@ +:host { + .x-row { + margin-top: 1rem; + > .x-col { + > .box { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 5rem; + border-radius: 0.125rem; + transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; + cursor: pointer; + > .x-icon { + font-size: 1.5rem; + transition: transform 0.3s ease-in-out; + } + > span { + font-size: 0.75rem; + cursor: inherit; + white-space: nowrap; + display: block; + overflow: hidden; + text-overflow: ellipsis; + width: 100%; + text-align: center; + padding: 0.5rem 0.625rem; + } + &:hover { + background-color: var(--x-primary); + color: white; + > .x-icon { + color: inherit; + transform: scale(1.4); + } + } + } + } + } +} diff --git a/src/main/test/modules/icon/eva/eva.component.ts b/src/main/test/modules/icon/eva/eva.component.ts new file mode 100644 index 000000000..6eb76d919 --- /dev/null +++ b/src/main/test/modules/icon/eva/eva.component.ts @@ -0,0 +1,513 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; + +@Component({ + selector: 'ex-eva', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], + templateUrl: './eva.component.html', + styleUrls: ['./eva.component.scss'] +}) +export class ExEvaComponent { + tabs = [ + { + type: 'eao', + name: 'Outlined', + icons: [ + 'activity', + 'alert-circle', + 'alert-triangle', + 'archive', + 'arrow-back', + 'arrow-circle-down', + 'arrow-circle-left', + 'arrow-circle-right', + 'arrow-circle-up', + 'arrow-down', + 'arrow-downward', + 'arrow-forward', + 'arrow-ios-back', + 'arrow-ios-downward', + 'arrow-ios-forward', + 'arrow-ios-upward', + 'arrow-left', + 'arrow-right', + 'arrow-up', + 'arrow-upward', + 'arrowhead-down', + 'arrowhead-left', + 'arrowhead-right', + 'arrowhead-up', + 'at', + 'attach-2', + 'attach', + 'award', + 'backspace', + 'bar-chart-2', + 'bar-chart', + 'battery', + 'behance', + 'bell-off', + 'bell', + 'bluetooth', + 'book-open', + 'book', + 'bookmark', + 'briefcase', + 'browser', + 'brush', + 'bulb', + 'calendar', + 'camera', + 'car', + 'cast', + 'charging', + 'checkmark-circle-2', + 'checkmark-circle', + 'checkmark-square-2', + 'checkmark-square', + 'checkmark', + 'chevron-down', + 'chevron-left', + 'chevron-right', + 'chevron-up', + 'clipboard', + 'clock', + 'close-circle', + 'close-square', + 'close', + 'cloud-download', + 'cloud-upload', + 'code-download', + 'code', + 'collapse', + 'color-palette', + 'color-picker', + 'compass', + 'copy', + 'corner-down-left', + 'corner-down-right', + 'corner-left-down', + 'corner-left-up', + 'corner-right-down', + 'corner-right-up', + 'corner-up-left', + 'corner-up-right', + 'credit-card', + 'crop', + 'cube', + 'diagonal-arrow-left-down', + 'diagonal-arrow-left-up', + 'diagonal-arrow-right-down', + 'diagonal-arrow-right-up', + 'done-all', + 'download', + 'droplet-off', + 'droplet', + 'edit-2', + 'edit', + 'email', + 'expand', + 'external-link', + 'eye-off-2', + 'eye-off', + 'eye', + 'facebook', + 'file-add', + 'file-remove', + 'file-text', + 'file', + 'film', + 'flag', + 'flash-off', + 'flash', + 'flip-2', + 'flip', + 'folder-add', + 'folder-remove', + 'folder', + 'funnel', + 'gift', + 'github', + 'globe-2', + 'globe', + 'google', + 'layout', + 'hard-drive', + 'hash', + 'headphones', + 'heart', + 'home', + 'image', + 'inbox', + 'info', + 'keypad', + 'layers', + 'layout', + 'link-2', + 'link', + 'linkedin', + 'list', + 'loader', + 'lock', + 'log-in', + 'log-out', + 'map', + 'maximize', + 'menu', + 'message-circle', + 'message-square', + 'mic-off', + 'mic', + 'minimize', + 'minus-circle', + 'minus-square', + 'minus', + 'monitor', + 'moon', + 'more-horizontal', + 'more-vertical', + 'move', + 'music', + 'navigation-2', + 'navigation', + 'npm', + 'options-2', + 'options', + 'pantone', + 'paper-plane', + 'pause-circle', + 'people', + 'percent', + 'person-add', + 'person-delete', + 'person-done', + 'person-remove', + 'person', + 'phone-call', + 'phone-missed', + 'phone-off', + 'phone', + 'pie-chart', + 'pin', + 'play-circle', + 'plus-circle', + 'plus-square', + 'plus', + 'power', + 'pricetags', + 'printer', + 'question-mark-circle', + 'question-mark', + 'radio-button-off', + 'radio-button-on', + 'radio', + 'recording', + 'refresh', + 'repeat', + 'rewind-left', + 'rewind-right', + 'save', + 'scissors', + 'search', + 'settings-2', + 'settings', + 'shake', + 'share', + 'shield-off', + 'shield', + 'shopping-bag', + 'shopping-cart', + 'shuffle-2', + 'shuffle', + 'skip-back', + 'skip-forward', + 'slash', + 'smartphone', + 'speaker', + 'square', + 'star', + 'stop-circle', + 'sun', + 'swap', + 'sync', + 'text', + 'thermometer-minus', + 'thermometer-plus', + 'thermometer', + 'toggle-left', + 'toggle-right', + 'trash-2', + 'trash', + 'trending-down', + 'trending-up', + 'tv', + 'twitter', + 'umbrella', + 'undo', + 'unlock', + 'upload', + 'video-off', + 'video', + 'volume-down', + 'volume-mute', + 'volume-off', + 'volume-up', + 'wifi-off', + 'wifi' + ] + }, + { + type: 'eaf', + name: 'Fill', + icons: [ + 'activity', + 'alert-circle', + 'alert-triangle', + 'archive', + 'arrow-back', + 'arrow-circle-down', + 'arrow-circle-left', + 'arrow-circle-right', + 'arrow-circle-up', + 'arrow-down', + 'arrow-downward', + 'arrow-forward', + 'arrow-ios-back', + 'arrow-ios-downward', + 'arrow-ios-forward', + 'arrow-ios-upward', + 'arrow-left', + 'arrow-right', + 'arrow-up', + 'arrow-upward', + 'arrowhead-down', + 'arrowhead-left', + 'arrowhead-right', + 'arrowhead-up', + 'at', + 'attach-2', + 'attach', + 'award', + 'backspace', + 'bar-chart-2', + 'bar-chart', + 'battery', + 'behance', + 'bell-off', + 'bell', + 'bluetooth', + 'book-open', + 'book', + 'bookmark', + 'briefcase', + 'browser', + 'brush', + 'bulb', + 'calendar', + 'camera', + 'car', + 'cast', + 'charging', + 'checkmark-circle-2', + 'checkmark-circle', + 'checkmark-square-2', + 'checkmark-square', + 'checkmark', + 'chevron-down', + 'chevron-left', + 'chevron-right', + 'chevron-up', + 'clipboard', + 'clock', + 'close-circle', + 'close-square', + 'close', + 'cloud-download', + 'cloud-upload', + 'code-download', + 'code', + 'collapse', + 'color-palette', + 'color-picker', + 'compass', + 'copy', + 'corner-down-left', + 'corner-down-right', + 'corner-left-down', + 'corner-left-up', + 'corner-right-down', + 'corner-right-up', + 'corner-up-left', + 'corner-up-right', + 'credit-card', + 'crop', + 'cube', + 'diagonal-arrow-left-down', + 'diagonal-arrow-left-up', + 'diagonal-arrow-right-down', + 'diagonal-arrow-right-up', + 'done-all', + 'download', + 'droplet-off', + 'droplet', + 'edit-2', + 'edit', + 'email', + 'expand', + 'external-link', + 'eye-off-2', + 'eye-off', + 'eye', + 'facebook', + 'file-add', + 'file-remove', + 'file-text', + 'file', + 'film', + 'flag', + 'flash-off', + 'flash', + 'flip-2', + 'flip', + 'folder-add', + 'folder-remove', + 'folder', + 'funnel', + 'gift', + 'github', + 'globe-2', + 'globe-3', + 'globe', + 'google', + 'layout', + 'hard-drive', + 'hash', + 'headphones', + 'heart', + 'home', + 'image-2', + 'image', + 'inbox', + 'info', + 'keypad', + 'layers', + 'layout', + 'link-2', + 'link', + 'linkedin', + 'list', + 'lock', + 'log-in', + 'log-out', + 'map', + 'maximize', + 'menu', + 'message-circle', + 'message-square', + 'mic-off', + 'mic', + 'minimize', + 'minus-circle', + 'minus-square', + 'minus', + 'monitor', + 'moon', + 'more-horizontal', + 'more-vertical', + 'move', + 'music', + 'navigation-2', + 'navigation', + 'npm', + 'options-2', + 'options', + 'pantone', + 'paper-plane', + 'pause-circle', + 'people', + 'percent', + 'person-add', + 'person-delete', + 'person-done', + 'person-remove', + 'person', + 'phone-call', + 'phone-missed', + 'phone-off', + 'phone', + 'pie-chart-2', + 'pie-chart', + 'pin', + 'play-circle', + 'plus-circle', + 'plus-square', + 'plus', + 'power', + 'pricetags', + 'printer', + 'question-mark-circle', + 'question-mark', + 'radio-button-off', + 'radio-button-on', + 'radio', + 'recording', + 'refresh', + 'repeat', + 'rewind-left', + 'rewind-right', + 'save', + 'scissors', + 'search', + 'settings-2', + 'settings', + 'shake', + 'share', + 'shield-off', + 'shield', + 'shopping-bag', + 'shopping-cart', + 'shuffle-2', + 'shuffle', + 'skip-back', + 'skip-forward', + 'slash', + 'smartphone', + 'speaker', + 'square', + 'star', + 'stop-circle', + 'sun', + 'swap', + 'sync', + 'text', + 'thermometer-minus', + 'thermometer-plus', + 'thermometer', + 'toggle-left', + 'toggle-right', + 'trash-2', + 'trash', + 'trending-down', + 'trending-up', + 'tv', + 'twitter', + 'umbrella', + 'undo', + 'unlock', + 'upload', + 'video-off', + 'video', + 'volume-down', + 'volume-mute', + 'volume-off', + 'volume-up', + 'wifi-off', + 'wifi' + ] + } + ]; +} diff --git a/src/main/test/modules/icon/feather/feather.component.html b/src/main/test/modules/icon/feather/feather.component.html new file mode 100644 index 000000000..b4d93bae8 --- /dev/null +++ b/src/main/test/modules/icon/feather/feather.component.html @@ -0,0 +1,12 @@ + + + + +
+ + {{ icon }} +
+
+
+
+
diff --git a/src/main/test/modules/icon/feather/feather.component.scss b/src/main/test/modules/icon/feather/feather.component.scss new file mode 100644 index 000000000..4b5eb0404 --- /dev/null +++ b/src/main/test/modules/icon/feather/feather.component.scss @@ -0,0 +1,40 @@ +:host { + .x-row { + margin-top: 1rem; + > .x-col { + > .box { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 5rem; + border-radius: 0.125rem; + transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; + cursor: pointer; + > .x-icon { + font-size: 1.5rem; + transition: transform 0.3s ease-in-out; + } + > span { + font-size: 0.75rem; + cursor: inherit; + white-space: nowrap; + display: block; + overflow: hidden; + text-overflow: ellipsis; + width: 100%; + text-align: center; + padding: 0.5rem 0.625rem; + } + &:hover { + background-color: var(--x-primary); + color: white; + > .x-icon { + color: inherit; + transform: scale(1.4); + } + } + } + } + } +} diff --git a/src/main/test/modules/icon/feather/feather.component.ts b/src/main/test/modules/icon/feather/feather.component.ts new file mode 100644 index 000000000..d8fb9ffe8 --- /dev/null +++ b/src/main/test/modules/icon/feather/feather.component.ts @@ -0,0 +1,302 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; + +@Component({ + selector: 'ex-feather', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], + templateUrl: './feather.component.html', + styleUrls: ['./feather.component.scss'] +}) +export class ExFeatherComponent { + tabs = [ + { + type: 'fto', + name: 'Default', + icons: [ + 'activity', + 'airplay', + 'alert-circle', + 'alert-octagon', + 'alert-triangle', + 'align-center', + 'align-justify', + 'align-left', + 'align-right', + 'anchor', + 'aperture', + 'archive', + 'arrow-down-circle', + 'arrow-down-left', + 'arrow-down-right', + 'arrow-down', + 'arrow-left-circle', + 'arrow-left', + 'arrow-right-circle', + 'arrow-right', + 'arrow-up-circle', + 'arrow-up-left', + 'arrow-up-right', + 'arrow-up', + 'at-sign', + 'award', + 'bar-chart-2', + 'bar-chart', + 'battery-charging', + 'battery', + 'bell-off', + 'bell', + 'bluetooth', + 'bold', + 'book-open', + 'book', + 'bookmark', + 'box', + 'briefcase', + 'calendar', + 'camera-off', + 'camera', + 'cast', + 'check-circle', + 'check-square', + 'check', + 'chevron-down', + 'chevron-left', + 'chevron-right', + 'chevron-up', + 'chevrons-down', + 'chevrons-left', + 'chevrons-right', + 'chevrons-up', + 'chrome', + 'circle', + 'clipboard', + 'clock', + 'cloud-drizzle', + 'cloud-lightning', + 'cloud-off', + 'cloud-rain', + 'cloud-snow', + 'cloud', + 'code', + 'codepen', + 'codesandbox', + 'coffee', + 'columns', + 'command', + 'compass', + 'copy', + 'corner-down-left', + 'corner-down-right', + 'corner-left-down', + 'corner-left-up', + 'corner-right-down', + 'corner-right-up', + 'corner-up-left', + 'corner-up-right', + 'cpu', + 'credit-card', + 'crop', + 'crosshair', + 'database', + 'delete', + 'disc', + 'dollar-sign', + 'download-cloud', + 'download', + 'droplet', + 'edit-2', + 'edit-3', + 'edit', + 'external-link', + 'eye-off', + 'eye', + 'facebook', + 'fast-forward', + 'feather', + 'figma', + 'file-minus', + 'file-plus', + 'file-text', + 'file', + 'film', + 'filter', + 'flag', + 'folder-minus', + 'folder-plus', + 'folder', + 'frown', + 'gift', + 'git-branch', + 'git-commit', + 'git-merge', + 'git-pull-request', + 'github', + 'gitlab', + 'globe', + 'layout', + 'hard-drive', + 'hash', + 'headphones', + 'heart', + 'help-circle', + 'hexagon', + 'home', + 'image', + 'inbox', + 'info', + 'instagram', + 'italic', + 'key', + 'layers', + 'layout', + 'life-buoy', + 'link-2', + 'link', + 'linkedin', + 'list', + 'loader', + 'lock', + 'log-in', + 'log-out', + 'mail', + 'map-pin', + 'map', + 'maximize-2', + 'maximize', + 'meh', + 'menu', + 'message-circle', + 'message-square', + 'mic-off', + 'mic', + 'minimize-2', + 'minimize', + 'minus-circle', + 'minus-square', + 'minus', + 'monitor', + 'moon', + 'more-horizontal', + 'more-vertical', + 'mouse-pointer', + 'move', + 'music', + 'navigation-2', + 'navigation', + 'octagon', + 'package', + 'paperclip', + 'pause-circle', + 'pause', + 'pen-tool', + 'percent', + 'phone-call', + 'phone-forwarded', + 'phone-incoming', + 'phone-missed', + 'phone-off', + 'phone-outgoing', + 'phone', + 'pie-chart', + 'play-circle', + 'play', + 'plus-circle', + 'plus-square', + 'plus', + 'pocket', + 'power', + 'printer', + 'radio', + 'refresh-ccw', + 'refresh-cw', + 'repeat', + 'rewind', + 'rotate-ccw', + 'rotate-cw', + 'rss', + 'save', + 'scissors', + 'search', + 'send', + 'server', + 'settings', + 'share-2', + 'share', + 'shield-off', + 'shield', + 'shopping-bag', + 'shopping-cart', + 'shuffle', + 'sidebar', + 'skip-back', + 'skip-forward', + 'slack', + 'slash', + 'sliders', + 'smartphone', + 'smile', + 'speaker', + 'square', + 'star', + 'stop-circle', + 'sun', + 'sunrise', + 'sunset', + 'tablet', + 'tag', + 'target', + 'terminal', + 'thermometer', + 'thumbs-down', + 'thumbs-up', + 'toggle-left', + 'toggle-right', + 'trash-2', + 'trash', + 'trello', + 'trending-down', + 'trending-up', + 'triangle', + 'truck', + 'tv', + 'twitter', + 'type', + 'umbrella', + 'underline', + 'unlock', + 'upload-cloud', + 'upload', + 'user-check', + 'user-minus', + 'user-plus', + 'user-x', + 'user', + 'users', + 'video-off', + 'video', + 'voicemail', + 'volume-1', + 'volume-2', + 'volume-x', + 'volume', + 'watch', + 'wifi-off', + 'wifi', + 'wind', + 'x-circle', + 'x-octagon', + 'x-square', + 'x', + 'youtube', + 'zap-off', + 'zap', + 'zoom-in', + 'zoom-out' + ] + } + ]; +} diff --git a/src/main/test/modules/icon/font-awesome/font-awesome.component.html b/src/main/test/modules/icon/font-awesome/font-awesome.component.html new file mode 100644 index 000000000..b4d93bae8 --- /dev/null +++ b/src/main/test/modules/icon/font-awesome/font-awesome.component.html @@ -0,0 +1,12 @@ + + + + +
+ + {{ icon }} +
+
+
+
+
diff --git a/src/main/test/modules/icon/font-awesome/font-awesome.component.scss b/src/main/test/modules/icon/font-awesome/font-awesome.component.scss new file mode 100644 index 000000000..4b5eb0404 --- /dev/null +++ b/src/main/test/modules/icon/font-awesome/font-awesome.component.scss @@ -0,0 +1,40 @@ +:host { + .x-row { + margin-top: 1rem; + > .x-col { + > .box { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 5rem; + border-radius: 0.125rem; + transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; + cursor: pointer; + > .x-icon { + font-size: 1.5rem; + transition: transform 0.3s ease-in-out; + } + > span { + font-size: 0.75rem; + cursor: inherit; + white-space: nowrap; + display: block; + overflow: hidden; + text-overflow: ellipsis; + width: 100%; + text-align: center; + padding: 0.5rem 0.625rem; + } + &:hover { + background-color: var(--x-primary); + color: white; + > .x-icon { + color: inherit; + transform: scale(1.4); + } + } + } + } + } +} diff --git a/src/main/test/modules/icon/font-awesome/font-awesome.component.ts b/src/main/test/modules/icon/font-awesome/font-awesome.component.ts new file mode 100644 index 000000000..478f83583 --- /dev/null +++ b/src/main/test/modules/icon/font-awesome/font-awesome.component.ts @@ -0,0 +1,1551 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; + +@Component({ + selector: 'ex-font-awesome', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], + templateUrl: './font-awesome.component.html', + styleUrls: ['./font-awesome.component.scss'] +}) +export class ExFontAwesomeComponent { + tabs = [ + { + type: 'fab', + name: 'Brands', + icons: [ + '500px', + 'accessible-icon', + 'accusoft', + 'acquisitions-incorporated', + 'adn', + 'adobe', + 'adversal', + 'affiliatetheme', + 'airbnb', + 'algolia', + 'alipay', + 'amazon-pay', + 'amazon', + 'amilia', + 'android', + 'angellist', + 'angrycreative', + 'angular', + 'app-store-ios', + 'app-store', + 'apper', + 'apple-pay', + 'apple', + 'artstation', + 'asymmetrik', + 'atlassian', + 'audible', + 'autoprefixer', + 'avianex', + 'aviato', + 'aws', + 'bandcamp', + 'battle-net', + 'behance-square', + 'behance', + 'bimobject', + 'bitbucket', + 'bitcoin', + 'bity', + 'black-tie', + 'blackberry', + 'blogger-b', + 'blogger', + 'bluetooth-b', + 'bluetooth', + 'bootstrap', + 'btc', + 'buffer', + 'buromobelexperte', + 'buysellads', + 'canadian-maple-leaf', + 'cc-amazon-pay', + 'cc-amex', + 'cc-apple-pay', + 'cc-diners-club', + 'cc-discover', + 'cc-jcb', + 'cc-mastercard', + 'cc-paypal', + 'cc-stripe', + 'cc-visa', + 'centercode', + 'centos', + 'chrome', + 'chromecast', + 'cloudscale', + 'cloudsmith', + 'cloudversify', + 'codepen', + 'codiepie', + 'confluence', + 'connectdevelop', + 'contao', + 'cpanel', + 'creative-commons-by', + 'creative-commons-nc-eu', + 'creative-commons-nc-jp', + 'creative-commons-nc', + 'creative-commons-nd', + 'creative-commons-pd-alt', + 'creative-commons-pd', + 'creative-commons-remix', + 'creative-commons-sa', + 'creative-commons-sampling-plus', + 'creative-commons-sampling', + 'creative-commons-share', + 'creative-commons-zero', + 'creative-commons', + 'critical-role', + 'css3-alt', + 'css3', + 'cuttlefish', + 'd-and-d-beyond', + 'd-and-d', + 'dashcube', + 'delicious', + 'deploydog', + 'deskpro', + 'dev', + 'deviantart', + 'dhl', + 'diaspora', + 'digg', + 'digital-ocean', + 'discord', + 'discourse', + 'dochub', + 'docker', + 'draft2digital', + 'dribbble-square', + 'dribbble', + 'dropbox', + 'drupal', + 'dyalog', + 'earlybirds', + 'ebay', + 'edge', + 'elementor', + 'ello', + 'ember', + 'empire', + 'envira', + 'erlang', + 'ethereum', + 'etsy', + 'evernote', + 'expeditedssl', + 'facebook-f', + 'facebook-messenger', + 'facebook-square', + 'facebook', + 'fantasy-flight-games', + 'fedex', + 'fedora', + 'figma', + 'firefox', + 'first-order-alt', + 'first-order', + 'firstdraft', + 'flickr', + 'flipboard', + 'fly', + 'font-awesome-alt', + 'font-awesome-flag', + 'font-awesome-logo-full', + 'font-awesome', + 'fonticons-fi', + 'fonticons', + 'fort-awesome-alt', + 'fort-awesome', + 'forumbee', + 'foursquare', + 'free-code-camp', + 'freebsd', + 'fulcrum', + 'galactic-republic', + 'galactic-senate', + 'get-pocket', + 'gg-circle', + 'gg', + 'git-square', + 'git', + 'github-alt', + 'github-square', + 'github', + 'gitkraken', + 'gitlab', + 'gitter', + 'glide-g', + 'glide', + 'gofore', + 'goodreads-g', + 'goodreads', + 'google-drive', + 'google-play', + 'google-plus-g', + 'google-plus-square', + 'google-plus', + 'google-wallet', + 'google', + 'gratipay', + 'grav', + 'gripfire', + 'grunt', + 'gulp', + 'hacker-news-square', + 'hacker-news', + 'hackerrank', + 'hips', + 'hire-a-helper', + 'hooli', + 'hornbill', + 'hotjar', + 'houzz', + 'html5', + 'hubspot', + 'imdb', + 'instagram', + 'intercom', + 'internet-explorer', + 'invision', + 'ioxhost', + 'itch-io', + 'itunes-note', + 'itunes', + 'java', + 'jedi-order', + 'jenkins', + 'jira', + 'joget', + 'joomla', + 'js-square', + 'js', + 'jsfiddle', + 'kaggle', + 'keybase', + 'keycdn', + 'kickstarter-k', + 'kickstarter', + 'korvue', + 'laravel', + 'lastfm-square', + 'lastfm', + 'leanpub', + 'less', + 'line', + 'linkedin-in', + 'linkedin', + 'linode', + 'linux', + 'lyft', + 'magento', + 'mailchimp', + 'mandalorian', + 'markdown', + 'mastodon', + 'maxcdn', + 'medapps', + 'medium-m', + 'medium', + 'medrt', + 'meetup', + 'megaport', + 'mendeley', + 'microsoft', + 'mix', + 'mixcloud', + 'mizuni', + 'modx', + 'monero', + 'napster', + 'neos', + 'nimblr', + 'nintendo-switch', + 'node-js', + 'node', + 'npm', + 'ns8', + 'nutritionix', + 'odnoklassniki-square', + 'odnoklassniki', + 'old-republic', + 'opencart', + 'openid', + 'opera', + 'optin-monster', + 'osi', + 'page4', + 'pagelines', + 'palfed', + 'patreon', + 'paypal', + 'penny-arcade', + 'periscope', + 'phabricator', + 'phoenix-framework', + 'phoenix-squadron', + 'php', + 'pied-piper-alt', + 'pied-piper-hat', + 'pied-piper-pp', + 'pied-piper', + 'pinterest-p', + 'pinterest-square', + 'pinterest', + 'playstation', + 'product-hunt', + 'pushed', + 'python', + 'qq', + 'quinscape', + 'quora', + 'r-project', + 'raspberry-pi', + 'ravelry', + 'react', + 'reacteurope', + 'readme', + 'rebel', + 'red-river', + 'reddit-alien', + 'reddit-square', + 'reddit', + 'redhat', + 'renren', + 'replyd', + 'researchgate', + 'resolving', + 'rev', + 'rocketchat', + 'rockrms', + 'safari', + 'salesforce', + 'sass', + 'schlix', + 'scribd', + 'searchengin', + 'sellcast', + 'sellsy', + 'servicestack', + 'shirtsinbulk', + 'shopware', + 'simplybuilt', + 'sistrix', + 'sith', + 'sketch', + 'skyatlas', + 'skype', + 'slack-hash', + 'slack', + 'slideshare', + 'snapchat-ghost', + 'snapchat-square', + 'snapchat', + 'soundcloud', + 'sourcetree', + 'speakap', + 'speaker-deck', + 'spotify', + 'squarespace', + 'stack-exchange', + 'stack-overflow', + 'staylinked', + 'steam-square', + 'steam-symbol', + 'steam', + 'sticker-mule', + 'strava', + 'stripe-s', + 'stripe', + 'studiovinari', + 'stumbleupon-circle', + 'stumbleupon', + 'superpowers', + 'supple', + 'suse', + 'symfony', + 'teamspeak', + 'telegram-plane', + 'telegram', + 'tencent-weibo', + 'the-red-yeti', + 'themeco', + 'themeisle', + 'think-peaks', + 'trade-federation', + 'trello', + 'tripadvisor', + 'tumblr-square', + 'tumblr', + 'twitch', + 'twitter-square', + 'twitter', + 'typo3', + 'uber', + 'ubuntu', + 'uikit', + 'uniregistry', + 'untappd', + 'ups', + 'usb', + 'usps', + 'ussunnah', + 'vaadin', + 'viacoin', + 'viadeo-square', + 'viadeo', + 'viber', + 'vimeo-square', + 'vimeo-v', + 'vimeo', + 'vine', + 'vk', + 'vnv', + 'vuejs', + 'waze', + 'weebly', + 'weibo', + 'weixin', + 'whatsapp-square', + 'whatsapp', + 'whmcs', + 'wikipedia-w', + 'windows', + 'wix', + 'wizards-of-the-coast', + 'wolf-pack-battalion', + 'wordpress-simple', + 'wordpress', + 'wpbeginner', + 'wpexplorer', + 'wpforms', + 'wpressr', + 'xbox', + 'xing-square', + 'xing', + 'y-combinator', + 'yahoo', + 'yammer', + 'yandex-international', + 'yandex', + 'yarn', + 'yelp', + 'yoast', + 'youtube-square', + 'youtube', + 'zhihu' + ] + }, + { + type: 'far', + name: 'Regular', + icons: [ + 'address-book', + 'address-card', + 'angry', + 'arrow-alt-circle-down', + 'arrow-alt-circle-left', + 'arrow-alt-circle-right', + 'arrow-alt-circle-up', + 'bell-slash', + 'bell', + 'bookmark', + 'building', + 'calendar-alt', + 'calendar-check', + 'calendar-minus', + 'calendar-plus', + 'calendar-times', + 'calendar', + 'caret-square-down', + 'caret-square-left', + 'caret-square-right', + 'caret-square-up', + 'chart-bar', + 'check-circle', + 'check-square', + 'circle', + 'clipboard', + 'clock', + 'clone', + 'closed-captioning', + 'comment-alt', + 'comment-dots', + 'comment', + 'comments', + 'compass', + 'copy', + 'copyright', + 'credit-card', + 'dizzy', + 'dot-circle', + 'edit', + 'envelope-open', + 'envelope', + 'eye-slash', + 'eye', + 'file-alt', + 'file-archive', + 'file-audio', + 'file-code', + 'file-excel', + 'file-image', + 'file-pdf', + 'file-powerpoint', + 'file-video', + 'file-word', + 'file', + 'flag', + 'flushed', + 'folder-open', + 'folder', + 'font-awesome-logo-full', + 'frown-open', + 'frown', + 'futbol', + 'gem', + 'grimace', + 'grin-alt', + 'grin-beam-sweat', + 'grin-beam', + 'grin-hearts', + 'grin-squint-tears', + 'grin-squint', + 'grin-stars', + 'grin-tears', + 'grin-tongue-squint', + 'grin-tongue-wink', + 'grin-tongue', + 'grin-wink', + 'grin', + 'hand-lizard', + 'hand-paper', + 'hand-peace', + 'hand-point-down', + 'hand-point-left', + 'hand-point-right', + 'hand-point-up', + 'hand-pointer', + 'hand-rock', + 'hand-scissors', + 'hand-spock', + 'handshake', + 'hdd', + 'heart', + 'hospital', + 'hourglass', + 'id-badge', + 'id-card', + 'image', + 'images', + 'keyboard', + 'kiss-beam', + 'kiss-wink-heart', + 'kiss', + 'laugh-beam', + 'laugh-squint', + 'laugh-wink', + 'laugh', + 'lemon', + 'life-ring', + 'lightbulb', + 'list-alt', + 'map', + 'meh-blank', + 'meh-rolling-eyes', + 'meh', + 'minus-square', + 'money-bill-alt', + 'moon', + 'newspaper', + 'object-group', + 'object-ungroup', + 'paper-plane', + 'pause-circle', + 'play-circle', + 'plus-square', + 'question-circle', + 'registered', + 'sad-cry', + 'sad-tear', + 'save', + 'share-square', + 'smile-beam', + 'smile-wink', + 'smile', + 'snowflake', + 'square', + 'star-half', + 'star', + 'sticky-note', + 'stop-circle', + 'sun', + 'surprise', + 'thumbs-down', + 'thumbs-up', + 'times-circle', + 'tired', + 'trash-alt', + 'user-circle', + 'user', + 'window-close', + 'window-maximize', + 'window-minimize', + 'window-restore' + ] + }, + { + type: 'fas', + name: 'Solid', + icons: [ + 'ad', + 'address-book', + 'address-card', + 'adjust', + 'air-freshener', + 'align-center', + 'align-justify', + 'align-left', + 'align-right', + 'allergies', + 'ambulance', + 'american-sign-language-interpreting', + 'anchor', + 'angle-double-down', + 'angle-double-left', + 'angle-double-right', + 'angle-double-up', + 'angle-down', + 'angle-left', + 'angle-right', + 'angle-up', + 'angry', + 'ankh', + 'apple-alt', + 'archive', + 'archway', + 'arrow-alt-circle-down', + 'arrow-alt-circle-left', + 'arrow-alt-circle-right', + 'arrow-alt-circle-up', + 'arrow-circle-down', + 'arrow-circle-left', + 'arrow-circle-right', + 'arrow-circle-up', + 'arrow-down', + 'arrow-left', + 'arrow-right', + 'arrow-up', + 'arrows-alt-h', + 'arrows-alt-v', + 'arrows-alt', + 'assistive-listening-systems', + 'asterisk', + 'at', + 'atlas', + 'atom', + 'audio-description', + 'award', + 'baby-carriage', + 'baby', + 'backspace', + 'backward', + 'bacon', + 'balance-scale', + 'ban', + 'band-aid', + 'barcode', + 'bars', + 'baseball-ball', + 'basketball-ball', + 'bath', + 'battery-empty', + 'battery-full', + 'battery-half', + 'battery-quarter', + 'battery-three-quarters', + 'bed', + 'beer', + 'bell-slash', + 'bell', + 'bezier-curve', + 'bible', + 'bicycle', + 'binoculars', + 'biohazard', + 'birthday-cake', + 'blender-phone', + 'blender', + 'blind', + 'blog', + 'bold', + 'bolt', + 'bomb', + 'bone', + 'bong', + 'book-dead', + 'book-medical', + 'book-open', + 'book-reader', + 'book', + 'bookmark', + 'bowling-ball', + 'box-open', + 'box', + 'boxes', + 'braille', + 'brain', + 'bread-slice', + 'briefcase-medical', + 'briefcase', + 'broadcast-tower', + 'broom', + 'brush', + 'bug', + 'building', + 'bullhorn', + 'bullseye', + 'burn', + 'bus-alt', + 'bus', + 'business-time', + 'calculator', + 'calendar-alt', + 'calendar-check', + 'calendar-day', + 'calendar-minus', + 'calendar-plus', + 'calendar-times', + 'calendar-week', + 'calendar', + 'camera-retro', + 'camera', + 'campground', + 'candy-cane', + 'cannabis', + 'capsules', + 'car-alt', + 'car-battery', + 'car-crash', + 'car-side', + 'car', + 'caret-down', + 'caret-left', + 'caret-right', + 'caret-square-down', + 'caret-square-left', + 'caret-square-right', + 'caret-square-up', + 'caret-up', + 'carrot', + 'cart-arrow-down', + 'cart-plus', + 'cash-register', + 'cat', + 'certificate', + 'chair', + 'chalkboard-teacher', + 'chalkboard', + 'charging-station', + 'chart-area', + 'chart-bar', + 'chart-line', + 'chart-pie', + 'check-circle', + 'check-double', + 'check-square', + 'check', + 'cheese', + 'chess-bishop', + 'chess-board', + 'chess-king', + 'chess-knight', + 'chess-pawn', + 'chess-queen', + 'chess-rook', + 'chess', + 'chevron-circle-down', + 'chevron-circle-left', + 'chevron-circle-right', + 'chevron-circle-up', + 'chevron-down', + 'chevron-left', + 'chevron-right', + 'chevron-up', + 'child', + 'church', + 'circle-notch', + 'circle', + 'city', + 'clinic-medical', + 'clipboard-check', + 'clipboard-list', + 'clipboard', + 'clock', + 'clone', + 'closed-captioning', + 'cloud-download-alt', + 'cloud-meatball', + 'cloud-moon-rain', + 'cloud-moon', + 'cloud-rain', + 'cloud-showers-heavy', + 'cloud-sun-rain', + 'cloud-sun', + 'cloud-upload-alt', + 'cloud', + 'cocktail', + 'code-branch', + 'code', + 'coffee', + 'cog', + 'cogs', + 'coins', + 'columns', + 'comment-alt', + 'comment-dollar', + 'comment-dots', + 'comment-medical', + 'comment-slash', + 'comment', + 'comments-dollar', + 'comments', + 'compact-disc', + 'compass', + 'compress-arrows-alt', + 'compress', + 'concierge-bell', + 'cookie-bite', + 'cookie', + 'copy', + 'copyright', + 'couch', + 'credit-card', + 'crop-alt', + 'crop', + 'cross', + 'crosshairs', + 'crow', + 'crown', + 'crutch', + 'cube', + 'cubes', + 'cut', + 'database', + 'deaf', + 'democrat', + 'desktop', + 'dharmachakra', + 'diagnoses', + 'dice-d20', + 'dice-d6', + 'dice-five', + 'dice-four', + 'dice-one', + 'dice-six', + 'dice-three', + 'dice-two', + 'dice', + 'digital-tachograph', + 'directions', + 'divide', + 'dizzy', + 'dna', + 'dog', + 'dollar-sign', + 'dolly-flatbed', + 'dolly', + 'donate', + 'door-closed', + 'door-open', + 'dot-circle', + 'dove', + 'download', + 'drafting-compass', + 'dragon', + 'draw-polygon', + 'drum-steelpan', + 'drum', + 'drumstick-bite', + 'dumbbell', + 'dumpster-fire', + 'dumpster', + 'dungeon', + 'edit', + 'egg', + 'eject', + 'ellipsis-h', + 'ellipsis-v', + 'envelope-open-text', + 'envelope-open', + 'envelope-square', + 'envelope', + 'equals', + 'eraser', + 'ethernet', + 'euro-sign', + 'exchange-alt', + 'exclamation-circle', + 'exclamation-triangle', + 'exclamation', + 'expand-arrows-alt', + 'expand', + 'external-link-alt', + 'external-link-square-alt', + 'eye-dropper', + 'eye-slash', + 'eye', + 'fast-backward', + 'fast-forward', + 'fax', + 'feather-alt', + 'feather', + 'female', + 'fighter-jet', + 'file-alt', + 'file-archive', + 'file-audio', + 'file-code', + 'file-contract', + 'file-csv', + 'file-download', + 'file-excel', + 'file-export', + 'file-image', + 'file-import', + 'file-invoice-dollar', + 'file-invoice', + 'file-medical-alt', + 'file-medical', + 'file-pdf', + 'file-powerpoint', + 'file-prescription', + 'file-signature', + 'file-upload', + 'file-video', + 'file-word', + 'file', + 'fill-drip', + 'fill', + 'film', + 'filter', + 'fingerprint', + 'fire-alt', + 'fire-extinguisher', + 'fire', + 'first-aid', + 'fish', + 'fist-raised', + 'flag-checkered', + 'flag-usa', + 'flag', + 'flask', + 'flushed', + 'folder-minus', + 'folder-open', + 'folder-plus', + 'folder', + 'font-awesome-logo-full', + 'font', + 'football-ball', + 'forward', + 'frog', + 'frown-open', + 'frown', + 'funnel-dollar', + 'futbol', + 'gamepad', + 'gas-pump', + 'gavel', + 'gem', + 'genderless', + 'ghost', + 'gift', + 'gifts', + 'glass-cheers', + 'glass-martini-alt', + 'glass-martini', + 'glass-whiskey', + 'glasses', + 'globe-africa', + 'globe-americas', + 'globe-asia', + 'globe-europe', + 'globe', + 'golf-ball', + 'gopuram', + 'graduation-cap', + 'greater-than-equal', + 'greater-than', + 'grimace', + 'grin-alt', + 'grin-beam-sweat', + 'grin-beam', + 'grin-hearts', + 'grin-squint-tears', + 'grin-squint', + 'grin-stars', + 'grin-tears', + 'grin-tongue-squint', + 'grin-tongue-wink', + 'grin-tongue', + 'grin-wink', + 'grin', + 'grip-horizontal', + 'grip-lines-vertical', + 'grip-lines', + 'grip-vertical', + 'guitar', + 'h-square', + 'hamburger', + 'hammer', + 'hamsa', + 'hand-holding-heart', + 'hand-holding-usd', + 'hand-holding', + 'hand-lizard', + 'hand-middle-finger', + 'hand-paper', + 'hand-peace', + 'hand-point-down', + 'hand-point-left', + 'hand-point-right', + 'hand-point-up', + 'hand-pointer', + 'hand-rock', + 'hand-scissors', + 'hand-spock', + 'hands-helping', + 'hands', + 'handshake', + 'hanukiah', + 'hard-hat', + 'hashtag', + 'hat-wizard', + 'haykal', + 'hdd', + 'heading', + 'headphones-alt', + 'headphones', + 'headset', + 'heart-broken', + 'heart', + 'heartbeat', + 'helicopter', + 'highlighter', + 'hiking', + 'hippo', + 'history', + 'hockey-puck', + 'holly-berry', + 'home', + 'horse-head', + 'horse', + 'hospital-alt', + 'hospital-symbol', + 'hospital', + 'hot-tub', + 'hotdog', + 'hotel', + 'hourglass-end', + 'hourglass-half', + 'hourglass-start', + 'hourglass', + 'house-damage', + 'hryvnia', + 'i-cursor', + 'ice-cream', + 'icicles', + 'id-badge', + 'id-card-alt', + 'id-card', + 'igloo', + 'image', + 'images', + 'inbox', + 'indent', + 'industry', + 'infinity', + 'info-circle', + 'info', + 'italic', + 'jedi', + 'joint', + 'journal-whills', + 'kaaba', + 'key', + 'keyboard', + 'khanda', + 'kiss-beam', + 'kiss-wink-heart', + 'kiss', + 'kiwi-bird', + 'landmark', + 'language', + 'laptop-code', + 'laptop-medical', + 'laptop', + 'laugh-beam', + 'laugh-squint', + 'laugh-wink', + 'laugh', + 'layer-group', + 'leaf', + 'lemon', + 'less-than-equal', + 'less-than', + 'level-down-alt', + 'level-up-alt', + 'life-ring', + 'lightbulb', + 'link', + 'lira-sign', + 'list-alt', + 'list-ol', + 'list-ul', + 'list', + 'location-arrow', + 'lock-open', + 'lock', + 'long-arrow-alt-down', + 'long-arrow-alt-left', + 'long-arrow-alt-right', + 'long-arrow-alt-up', + 'low-vision', + 'luggage-cart', + 'magic', + 'magnet', + 'mail-bulk', + 'male', + 'map-marked-alt', + 'map-marked', + 'map-marker-alt', + 'map-marker', + 'map-pin', + 'map-signs', + 'map', + 'marker', + 'mars-double', + 'mars-stroke-h', + 'mars-stroke-v', + 'mars-stroke', + 'mars', + 'mask', + 'medal', + 'medkit', + 'meh-blank', + 'meh-rolling-eyes', + 'meh', + 'memory', + 'menorah', + 'mercury', + 'meteor', + 'microchip', + 'microphone-alt-slash', + 'microphone-alt', + 'microphone-slash', + 'microphone', + 'microscope', + 'minus-circle', + 'minus-square', + 'minus', + 'mitten', + 'mobile-alt', + 'mobile', + 'money-bill-alt', + 'money-bill-wave-alt', + 'money-bill-wave', + 'money-bill', + 'money-check-alt', + 'money-check', + 'monument', + 'moon', + 'mortar-pestle', + 'mosque', + 'motorcycle', + 'mountain', + 'mouse-pointer', + 'mug-hot', + 'music', + 'network-wired', + 'neuter', + 'newspaper', + 'not-equal', + 'notes-medical', + 'object-group', + 'object-ungroup', + 'oil-can', + 'om', + 'otter', + 'outdent', + 'pager', + 'paint-brush', + 'paint-roller', + 'palette', + 'pallet', + 'paper-plane', + 'paperclip', + 'parachute-box', + 'paragraph', + 'parking', + 'passport', + 'pastafarianism', + 'paste', + 'pause-circle', + 'pause', + 'paw', + 'peace', + 'pen-alt', + 'pen-fancy', + 'pen-nib', + 'pen-square', + 'pen', + 'pencil-alt', + 'pencil-ruler', + 'people-carry', + 'pepper-hot', + 'percent', + 'percentage', + 'person-booth', + 'phone-slash', + 'phone-square', + 'phone-volume', + 'phone', + 'piggy-bank', + 'pills', + 'pizza-slice', + 'place-of-worship', + 'plane-arrival', + 'plane-departure', + 'plane', + 'play-circle', + 'play', + 'plug', + 'plus-circle', + 'plus-square', + 'plus', + 'podcast', + 'poll-h', + 'poll', + 'poo-storm', + 'poo', + 'poop', + 'portrait', + 'pound-sign', + 'power-off', + 'pray', + 'praying-hands', + 'prescription-bottle-alt', + 'prescription-bottle', + 'prescription', + 'print', + 'procedures', + 'project-diagram', + 'puzzle-piece', + 'qrcode', + 'question-circle', + 'question', + 'quidditch', + 'quote-left', + 'quote-right', + 'quran', + 'radiation-alt', + 'radiation', + 'rainbow', + 'random', + 'receipt', + 'recycle', + 'redo-alt', + 'redo', + 'registered', + 'reply-all', + 'reply', + 'republican', + 'restroom', + 'retweet', + 'ribbon', + 'ring', + 'road', + 'robot', + 'rocket', + 'route', + 'rss-square', + 'rss', + 'ruble-sign', + 'ruler-combined', + 'ruler-horizontal', + 'ruler-vertical', + 'ruler', + 'running', + 'rupee-sign', + 'sad-cry', + 'sad-tear', + 'satellite-dish', + 'satellite', + 'save', + 'school', + 'screwdriver', + 'scroll', + 'sd-card', + 'search-dollar', + 'search-location', + 'search-minus', + 'search-plus', + 'search', + 'seedling', + 'server', + 'shapes', + 'share-alt-square', + 'share-alt', + 'share-square', + 'share', + 'shekel-sign', + 'shield-alt', + 'ship', + 'shipping-fast', + 'shoe-prints', + 'shopping-bag', + 'shopping-basket', + 'shopping-cart', + 'shower', + 'shuttle-van', + 'sign-in-alt', + 'sign-language', + 'sign-out-alt', + 'sign', + 'signal', + 'signature', + 'sim-card', + 'sitemap', + 'skating', + 'skiing-nordic', + 'skiing', + 'skull-crossbones', + 'skull', + 'slash', + 'sleigh', + 'sliders-h', + 'smile-beam', + 'smile-wink', + 'smile', + 'smog', + 'smoking-ban', + 'smoking', + 'sms', + 'snowboarding', + 'snowflake', + 'snowman', + 'snowplow', + 'socks', + 'solar-panel', + 'sort-alpha-down', + 'sort-alpha-up', + 'sort-amount-down', + 'sort-amount-up', + 'sort-down', + 'sort-numeric-down', + 'sort-numeric-up', + 'sort-up', + 'sort', + 'spa', + 'space-shuttle', + 'spider', + 'spinner', + 'splotch', + 'spray-can', + 'square-full', + 'square-root-alt', + 'square', + 'stamp', + 'star-and-crescent', + 'star-half-alt', + 'star-half', + 'star-of-david', + 'star-of-life', + 'star', + 'step-backward', + 'step-forward', + 'stethoscope', + 'sticky-note', + 'stop-circle', + 'stop', + 'stopwatch', + 'store-alt', + 'store', + 'stream', + 'street-view', + 'strikethrough', + 'stroopwafel', + 'subscript', + 'subway', + 'suitcase-rolling', + 'suitcase', + 'sun', + 'superscript', + 'surprise', + 'swatchbook', + 'swimmer', + 'swimming-pool', + 'synagogue', + 'sync-alt', + 'sync', + 'syringe', + 'table-tennis', + 'table', + 'tablet-alt', + 'tablet', + 'tablets', + 'tachometer-alt', + 'tag', + 'tags', + 'tape', + 'tasks', + 'taxi', + 'teeth-open', + 'teeth', + 'temperature-high', + 'temperature-low', + 'tenge', + 'terminal', + 'text-height', + 'text-width', + 'th-large', + 'th-list', + 'th', + 'theater-masks', + 'thermometer-empty', + 'thermometer-full', + 'thermometer-half', + 'thermometer-quarter', + 'thermometer-three-quarters', + 'thermometer', + 'thumbs-down', + 'thumbs-up', + 'thumbtack', + 'ticket-alt', + 'times-circle', + 'times', + 'tint-slash', + 'tint', + 'tired', + 'toggle-off', + 'toggle-on', + 'toilet-paper', + 'toilet', + 'toolbox', + 'tools', + 'tooth', + 'torah', + 'torii-gate', + 'tractor', + 'trademark', + 'traffic-light', + 'train', + 'tram', + 'transgender-alt', + 'transgender', + 'trash-alt', + 'trash-restore-alt', + 'trash-restore', + 'trash', + 'tree', + 'trophy', + 'truck-loading', + 'truck-monster', + 'truck-moving', + 'truck-pickup', + 'truck', + 'tshirt', + 'tty', + 'tv', + 'umbrella-beach', + 'umbrella', + 'underline', + 'undo-alt', + 'undo', + 'universal-access', + 'university', + 'unlink', + 'unlock-alt', + 'unlock', + 'upload', + 'user-alt-slash', + 'user-alt', + 'user-astronaut', + 'user-check', + 'user-circle', + 'user-clock', + 'user-cog', + 'user-edit', + 'user-friends', + 'user-graduate', + 'user-injured', + 'user-lock', + 'user-md', + 'user-minus', + 'user-ninja', + 'user-nurse', + 'user-plus', + 'user-secret', + 'user-shield', + 'user-slash', + 'user-tag', + 'user-tie', + 'user-times', + 'user', + 'users-cog', + 'users', + 'utensil-spoon', + 'utensils', + 'vector-square', + 'venus-double', + 'venus-mars', + 'venus', + 'vial', + 'vials', + 'video-slash', + 'video', + 'vihara', + 'volleyball-ball', + 'volume-down', + 'volume-mute', + 'volume-off', + 'volume-up', + 'vote-yea', + 'vr-cardboard', + 'walking', + 'wallet', + 'warehouse', + 'water', + 'wave-square', + 'weight-hanging', + 'weight', + 'wheelchair', + 'wifi', + 'wind', + 'window-close', + 'window-maximize', + 'window-minimize', + 'window-restore', + 'wine-bottle', + 'wine-glass-alt', + 'wine-glass', + 'won-sign', + 'wrench', + 'x-ray', + 'yen-sign', + 'yin-yang' + ] + } + ]; +} diff --git a/src/main/test/modules/icon/icon.component.html b/src/main/test/modules/icon/icon.component.html new file mode 100644 index 000000000..e0e0317ab --- /dev/null +++ b/src/main/test/modules/icon/icon.component.html @@ -0,0 +1,5 @@ + + + diff --git a/src/main/test/modules/icon/icon.component.ts b/src/main/test/modules/icon/icon.component.ts new file mode 100644 index 000000000..9f916632b --- /dev/null +++ b/src/main/test/modules/icon/icon.component.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { ExAntDesignComponent } from './ant-design/ant-design.component'; +import { ExEvaComponent } from './eva/eva.component'; +import { ExFeatherComponent } from './feather/feather.component'; +import { ExFontAwesomeComponent } from './font-awesome/font-awesome.component'; +import { ExMaterialDesignComponent } from './material-design/material-design.component'; + +@Component({ + selector: 'te-icon', + standalone: true, + imports: [ + ExAntDesignComponent, + ExEvaComponent, + ExFeatherComponent, + ExFontAwesomeComponent, + ExMaterialDesignComponent + ], + templateUrl: './icon.component.html' +}) +export class TeIconComponent {} diff --git a/src/main/test/modules/icon/material-design/material-design.component.html b/src/main/test/modules/icon/material-design/material-design.component.html new file mode 100644 index 000000000..b4d93bae8 --- /dev/null +++ b/src/main/test/modules/icon/material-design/material-design.component.html @@ -0,0 +1,12 @@ + + + + +
+ + {{ icon }} +
+
+
+
+
diff --git a/src/main/test/modules/icon/material-design/material-design.component.scss b/src/main/test/modules/icon/material-design/material-design.component.scss new file mode 100644 index 000000000..4b5eb0404 --- /dev/null +++ b/src/main/test/modules/icon/material-design/material-design.component.scss @@ -0,0 +1,40 @@ +:host { + .x-row { + margin-top: 1rem; + > .x-col { + > .box { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 5rem; + border-radius: 0.125rem; + transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; + cursor: pointer; + > .x-icon { + font-size: 1.5rem; + transition: transform 0.3s ease-in-out; + } + > span { + font-size: 0.75rem; + cursor: inherit; + white-space: nowrap; + display: block; + overflow: hidden; + text-overflow: ellipsis; + width: 100%; + text-align: center; + padding: 0.5rem 0.625rem; + } + &:hover { + background-color: var(--x-primary); + color: white; + > .x-icon { + color: inherit; + transform: scale(1.4); + } + } + } + } + } +} diff --git a/src/main/test/modules/icon/material-design/material-design.component.ts b/src/main/test/modules/icon/material-design/material-design.component.ts new file mode 100644 index 000000000..3d12c4645 --- /dev/null +++ b/src/main/test/modules/icon/material-design/material-design.component.ts @@ -0,0 +1,2667 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XTabsModule } from '@ng-nest/ui/tabs'; + +@Component({ + selector: 'ex-material-design', + standalone: true, + imports: [CommonModule, XIconComponent, XTabsModule, XLayoutModule], + templateUrl: './material-design.component.html', + styleUrls: ['./material-design.component.scss'] +}) +export class ExMaterialDesignComponent { + tabs = [ + { + type: 'mdo', + name: 'Outlined', + icons: [ + 'action-3d-rotation', + 'action-accessibility-new', + 'action-accessibility', + 'action-accessible-forward', + 'action-accessible', + 'action-account-balance-wallet', + 'action-account-balance', + 'action-account-box', + 'action-account-circle', + 'action-add-shopping-cart', + 'action-add-task', + 'action-addchart', + 'action-admin-panel-settings', + 'action-alarm-add', + 'action-alarm-off', + 'action-alarm-on', + 'action-alarm', + 'action-all-inbox', + 'action-all-out', + 'action-analytics', + 'action-anchor', + 'action-android', + 'action-announcement', + 'action-api', + 'action-app-blocking', + 'action-arrow-circle-down', + 'action-arrow-circle-up', + 'action-arrow-right-alt', + 'action-article', + 'action-aspect-ratio', + 'action-assessment', + 'action-assignment-ind', + 'action-assignment-late', + 'action-assignment-return', + 'action-assignment-returned', + 'action-assignment-turned-in', + 'action-assignment', + 'action-autorenew', + 'action-backup-table', + 'action-backup', + 'action-batch-prediction', + 'action-book-online', + 'action-book', + 'action-bookmark-border', + 'action-bookmark', + 'action-bookmarks', + 'action-bug-report', + 'action-build-circle', + 'action-build', + 'action-cached', + 'action-calendar-today', + 'action-calendar-view-day', + 'action-camera-enhance', + 'action-cancel-schedule-send', + 'action-card-giftcard', + 'action-card-membership', + 'action-card-travel', + 'action-change-history', + 'action-check-circle-outline', + 'action-check-circle', + 'action-chrome-reader-mode', + 'action-class', + 'action-close-fullscreen', + 'action-code', + 'action-comment-bank', + 'action-commute', + 'action-compare-arrows', + 'action-contact-page', + 'action-contact-support', + 'action-contactless', + 'action-copyright', + 'action-credit-card', + 'action-dashboard', + 'action-date-range', + 'action-delete-forever', + 'action-delete-outline', + 'action-delete', + 'action-description', + 'action-disabled-by-default', + 'action-dns', + 'action-done-all', + 'action-done-outline', + 'action-done', + 'action-donut-large', + 'action-donut-small', + 'action-drag-indicator', + 'action-dynamic-form', + 'action-eco', + 'action-eject', + 'action-euro-symbol', + 'action-event-seat', + 'action-event', + 'action-exit-to-app', + 'action-explore-off', + 'action-explore', + 'action-extension', + 'action-face', + 'action-fact-check', + 'action-favorite-border', + 'action-favorite', + 'action-feedback', + 'action-filter-alt', + 'action-find-in-page', + 'action-find-replace', + 'action-fingerprint', + 'action-flaky', + 'action-flight-land', + 'action-flight-takeoff', + 'action-flip-to-back', + 'action-flip-to-front', + 'action-g-translate', + 'action-gavel', + 'action-get-app', + 'action-gif', + 'action-grade', + 'action-grading', + 'action-group-work', + 'action-help-center', + 'action-help-outline', + 'action-help', + 'action-highlight-alt', + 'action-highlight-off', + 'action-history-toggle-off', + 'action-history', + 'action-home', + 'action-horizontal-split', + 'action-hourglass-disabled', + 'action-hourglass-empty', + 'action-hourglass-full', + 'action-http', + 'action-https', + 'action-important-devices', + 'action-info', + 'action-input', + 'action-integration-instructions', + 'action-invert-colors', + 'action-label-important', + 'action-label-off', + 'action-label', + 'action-language', + 'action-launch', + 'action-leaderboard', + 'action-lightbulb', + 'action-line-style', + 'action-line-weight', + 'action-list', + 'action-lock-open', + 'action-lock', + 'action-login', + 'action-loyalty', + 'action-markunread-mailbox', + 'action-maximize', + 'action-mediation', + 'action-minimize', + 'action-model-training', + 'action-next-plan', + 'action-not-accessible', + 'action-not-started', + 'action-note-add', + 'action-offline-bolt', + 'action-offline-pin', + 'action-online-prediction', + 'action-opacity', + 'action-open-in-browser', + 'action-open-in-full', + 'action-open-in-new', + 'action-open-with', + 'action-outbond', + 'action-outlet', + 'action-pageview', + 'action-pan-tool', + 'action-payment', + 'action-pending-actions', + 'action-pending', + 'action-perm-camera-mic', + 'action-perm-contact-calendar', + 'action-perm-data-setting', + 'action-perm-device-information', + 'action-perm-identity', + 'action-perm-media', + 'action-perm-phone-msg', + 'action-perm-scan-wifi', + 'action-pets', + 'action-picture-in-picture-alt', + 'action-picture-in-picture', + 'action-plagiarism', + 'action-play-for-work', + 'action-polymer', + 'action-power-settings-new', + 'action-pregnant-woman', + 'action-preview', + 'action-print', + 'action-privacy-tip', + 'action-published-with-changes', + 'action-query-builder', + 'action-question-answer', + 'action-quickreply', + 'action-receipt', + 'action-record-voice-over', + 'action-redeem', + 'action-remove-shopping-cart', + 'action-reorder', + 'action-report-problem', + 'action-request-page', + 'action-restore-from-trash', + 'action-restore-page', + 'action-restore', + 'action-room', + 'action-rounded-corner', + 'action-rowing', + 'action-rule', + 'action-schedule', + 'action-search-off', + 'action-search', + 'action-settings-applications', + 'action-settings-backup-restore', + 'action-settings-bluetooth', + 'action-settings-brightness', + 'action-settings-cell', + 'action-settings-ethernet', + 'action-settings-input-antenna', + 'action-settings-input-component', + 'action-settings-input-composite', + 'action-settings-input-hdmi', + 'action-settings-input-svideo', + 'action-settings-overscan', + 'action-settings-phone', + 'action-settings-power', + 'action-settings-remote', + 'action-settings-voice', + 'action-settings', + 'action-shop-two', + 'action-shop', + 'action-shopping-bag', + 'action-shopping-basket', + 'action-shopping-cart', + 'action-smart-button', + 'action-source', + 'action-speaker-notes-off', + 'action-speaker-notes', + 'action-spellcheck', + 'action-star-rate', + 'action-stars', + 'action-sticky-note-2', + 'action-store', + 'action-subject', + 'action-subtitles-off', + 'action-supervised-user-circle', + 'action-supervisor-account', + 'action-support', + 'action-swap-horiz', + 'action-swap-horizontal-circle', + 'action-swap-vert', + 'action-swap-vertical-circle', + 'action-sync-alt', + 'action-system-update-alt', + 'action-tab-unselected', + 'action-tab', + 'action-table-view', + 'action-text-rotate-up', + 'action-text-rotate-vertical', + 'action-text-rotation-angledown', + 'action-text-rotation-angleup', + 'action-text-rotation-down', + 'action-text-rotation-none', + 'action-theaters', + 'action-thumb-down', + 'action-thumb-up', + 'action-thumbs-up-down', + 'action-timeline', + 'action-toc', + 'action-today', + 'action-toll', + 'action-touch-app', + 'action-tour', + 'action-track-changes', + 'action-translate', + 'action-trending-down', + 'action-trending-flat', + 'action-trending-up', + 'action-turned-in-not', + 'action-turned-in', + 'action-unpublished', + 'action-update-disabled', + 'action-update', + 'action-upgrade', + 'action-verified-user', + 'action-verified', + 'action-vertical-split', + 'action-view-agenda', + 'action-view-array', + 'action-view-carousel', + 'action-view-column', + 'action-view-day', + 'action-view-headline', + 'action-view-list', + 'action-view-module', + 'action-view-quilt', + 'action-view-sidebar', + 'action-view-stream', + 'action-view-week', + 'action-visibility-off', + 'action-visibility', + 'action-voice-over-off', + 'action-watch-later', + 'action-wifi-protected-setup', + 'action-work-off', + 'action-work-outline', + 'action-work', + 'action-wysiwyg', + 'action-youtube-searched-for', + 'action-zoom-in', + 'action-zoom-out', + 'alert-add-alert', + 'alert-auto-delete', + 'alert-error-outline', + 'alert-error', + 'alert-notification-important', + 'alert-warning', + 'av-4k', + 'av-5g', + 'av-add-to-queue', + 'av-airplay', + 'av-album', + 'av-art-track', + 'av-av-timer', + 'av-branding-watermark', + 'av-call-to-action', + 'av-closed-caption-disabled', + 'av-closed-caption', + 'av-control-camera', + 'av-equalizer', + 'av-explicit', + 'av-fast-forward', + 'av-fast-rewind', + 'av-featured-play-list', + 'av-featured-video', + 'av-fiber-dvr', + 'av-fiber-manual-record', + 'av-fiber-new', + 'av-fiber-pin', + 'av-fiber-smart-record', + 'av-forward-30', + 'av-forward-5', + 'av-forward0-0', + 'av-forward0', + 'av-games', + 'av-hd', + 'av-hearing-disabled', + 'av-hearing', + 'av-high-quality', + 'av-library-add-check', + 'av-library-add', + 'av-library-books', + 'av-library-music', + 'av-loop', + 'av-mic-none', + 'av-mic-off', + 'av-mic', + 'av-missed-video-call', + 'av-movie', + 'av-music-video', + 'av-new-releases', + 'av-not-interested', + 'av-note', + 'av-pause-circle-filled', + 'av-pause-circle-outline', + 'av-pause', + 'av-play-arrow', + 'av-play-circle-filled', + 'av-play-circle-outline', + 'av-playlist-add-check', + 'av-playlist-add', + 'av-playlist-play', + 'av-queue-music', + 'av-queue-play-next', + 'av-queue', + 'av-radio', + 'av-recent-actors', + 'av-remove-from-queue', + 'av-repeat-one', + 'av-repeat', + 'av-replay-30', + 'av-replay-5', + 'av-replay', + 'av-replay0-0', + 'av-replay0', + 'av-shuffle', + 'av-skip-next', + 'av-skip-previous', + 'av-slow-motion-video', + 'av-snooze', + 'av-sort-by-alpha', + 'av-speed', + 'av-stop-circle', + 'av-stop', + 'av-subscriptions', + 'av-subtitles', + 'av-surround-sound', + 'av-video-call', + 'av-video-label', + 'av-video-library', + 'av-video-settings', + 'av-videocam-off', + 'av-videocam', + 'av-volume-down', + 'av-volume-mute', + 'av-volume-off', + 'av-volume-up', + 'av-web-asset', + 'av-web', + 'communication-add-ic-call', + 'communication-alternate-email', + 'communication-business', + 'communication-call-end', + 'communication-call-made', + 'communication-call-merge', + 'communication-call-missed-outgoing', + 'communication-call-missed', + 'communication-call-received', + 'communication-call-split', + 'communication-call', + 'communication-cancel-presentation', + 'communication-chat-bubble-outline', + 'communication-chat-bubble', + 'communication-chat', + 'communication-clear-all', + 'communication-comment', + 'communication-contact-mail', + 'communication-contact-phone', + 'communication-contacts', + 'communication-desktop-access-disabled', + 'communication-dialer-sip', + 'communication-dialpad', + 'communication-domain-disabled', + 'communication-domain-verification', + 'communication-duo', + 'communication-email', + 'communication-forum', + 'communication-forward-to-inbox', + 'communication-hourglass-bottom', + 'communication-hourglass-top', + 'communication-import-contacts', + 'communication-import-export', + 'communication-invert-colors-off', + 'communication-list-alt', + 'communication-live-help', + 'communication-location-off', + 'communication-location-on', + 'communication-mail-outline', + 'communication-mark-chat-read', + 'communication-mark-chat-unread', + 'communication-mark-email-read', + 'communication-mark-email-unread', + 'communication-message', + 'communication-mobile-screen-share', + 'communication-more-time', + 'communication-nat', + 'communication-no-sim', + 'communication-pause-presentation', + 'communication-person-add-disabled', + 'communication-person-search', + 'communication-phone-disabled', + 'communication-phone-enabled', + 'communication-phone', + 'communication-phonelink-erase', + 'communication-phonelink-lock', + 'communication-phonelink-ring', + 'communication-phonelink-setup', + 'communication-portable-wifi-off', + 'communication-present-to-all', + 'communication-print-disabled', + 'communication-qr-code-2', + 'communication-qr-code-scanner', + 'communication-qr-code', + 'communication-read-more', + 'communication-ring-volume', + 'communication-rss-feed', + 'communication-screen-share', + 'communication-sentiment-satisfied-alt', + 'communication-speaker-phone', + 'communication-stay-current-landscape', + 'communication-stay-current-portrait', + 'communication-stay-primary-landscape', + 'communication-stay-primary-portrait', + 'communication-stop-screen-share', + 'communication-swap-calls', + 'communication-textsms', + 'communication-unsubscribe', + 'communication-voicemail', + 'communication-vpn-key', + 'communication-wifi-calling', + 'content-add-box', + 'content-add-circle-outline', + 'content-add-circle', + 'content-add', + 'content-amp-stories', + 'content-archive', + 'content-backspace', + 'content-ballot', + 'content-biotech', + 'content-block', + 'content-calculate', + 'content-clear', + 'content-content-copy', + 'content-content-cut', + 'content-content-paste', + 'content-create', + 'content-delete-sweep', + 'content-drafts', + 'content-dynamic-feed', + 'content-file-copy', + 'content-filter-list', + 'content-flag', + 'content-font-download', + 'content-forward', + 'content-gesture', + 'content-how-to-reg', + 'content-how-to-vote', + 'content-inbox', + 'content-insights', + 'content-link-off', + 'content-link', + 'content-low-priority', + 'content-mail', + 'content-markunread', + 'content-move-to-inbox', + 'content-next-week', + 'content-outlined-flag', + 'content-policy', + 'content-push-pin', + 'content-redo', + 'content-remove-circle-outline', + 'content-remove-circle', + 'content-remove', + 'content-reply-all', + 'content-reply', + 'content-report-off', + 'content-report', + 'content-save-alt', + 'content-save', + 'content-select-all', + 'content-send', + 'content-sort', + 'content-square-foot', + 'content-text-format', + 'content-unarchive', + 'content-undo', + 'content-waves', + 'content-weekend', + 'content-where-to-vote', + 'device-access-alarm', + 'device-access-alarms', + 'device-access-time', + 'device-ad-units', + 'device-add-alarm', + 'device-add-to-home-screen', + 'device-airplanemode-active', + 'device-airplanemode-inactive', + 'device-battery-alert', + 'device-battery-charging-full', + 'device-battery-full', + 'device-battery-std', + 'device-battery-unknown', + 'device-bluetooth-connected', + 'device-bluetooth-disabled', + 'device-bluetooth-searching', + 'device-bluetooth', + 'device-brightness-auto', + 'device-brightness-high', + 'device-brightness-low', + 'device-brightness-medium', + 'device-data-usage', + 'device-developer-mode', + 'device-devices', + 'device-dvr', + 'device-gps-fixed', + 'device-gps-not-fixed', + 'device-gps-off', + 'device-graphic-eq', + 'device-location-disabled', + 'device-location-searching', + 'device-mobile-friendly', + 'device-mobile-off', + 'device-nfc', + 'device-screen-lock-landscape', + 'device-screen-lock-portrait', + 'device-screen-lock-rotation', + 'device-screen-rotation', + 'device-sd-storage', + 'device-settings-system-daydream', + 'device-signal-cellular-4-bar', + 'device-signal-cellular-alt', + 'device-signal-cellular-connected-no-internet-4-bar', + 'device-signal-cellular-no-sim', + 'device-signal-cellular-null', + 'device-signal-cellular-off', + 'device-signal-wifi-4-bar-lock', + 'device-signal-wifi-4-bar', + 'device-signal-wifi-off', + 'device-storage', + 'device-usb', + 'device-wallpaper', + 'device-widgets', + 'device-wifi-lock', + 'device-wifi-tethering', + 'editor-add-comment', + 'editor-align-horizontal-center', + 'editor-align-horizontal-left', + 'editor-align-horizontal-right', + 'editor-align-vertical-bottom', + 'editor-align-vertical-center', + 'editor-align-vertical-top', + 'editor-attach-file', + 'editor-attach-money', + 'editor-bar-chart', + 'editor-border-all', + 'editor-border-bottom', + 'editor-border-clear', + 'editor-border-horizontal', + 'editor-border-inner', + 'editor-border-left', + 'editor-border-outer', + 'editor-border-right', + 'editor-border-style', + 'editor-border-top', + 'editor-border-vertical', + 'editor-bubble-chart', + 'editor-drag-handle', + 'editor-format-align-center', + 'editor-format-align-justify', + 'editor-format-align-left', + 'editor-format-align-right', + 'editor-format-bold', + 'editor-format-clear', + 'editor-format-color-reset', + 'editor-format-indent-decrease', + 'editor-format-indent-increase', + 'editor-format-italic', + 'editor-format-line-spacing', + 'editor-format-list-bulleted', + 'editor-format-list-numbered-rtl', + 'editor-format-list-numbered', + 'editor-format-paint', + 'editor-format-quote', + 'editor-format-shapes', + 'editor-format-size', + 'editor-format-strikethrough', + 'editor-format-textdirection-l-to-r', + 'editor-format-textdirection-r-to-l', + 'editor-format-underlined', + 'editor-functions', + 'editor-height', + 'editor-highlight', + 'editor-horizontal-distribute', + 'editor-horizontal-rule', + 'editor-insert-chart-outlined', + 'editor-insert-chart', + 'editor-insert-comment', + 'editor-insert-drive-file', + 'editor-insert-emoticon', + 'editor-insert-invitation', + 'editor-insert-link', + 'editor-insert-photo', + 'editor-linear-scale', + 'editor-merge-type', + 'editor-mode-comment', + 'editor-monetization-on', + 'editor-money-off', + 'editor-multiline-chart', + 'editor-notes', + 'editor-pie-chart', + 'editor-post-add', + 'editor-publish', + 'editor-scatter-plot', + 'editor-score', + 'editor-short-text', + 'editor-show-chart', + 'editor-space-bar', + 'editor-stacked-line-chart', + 'editor-strikethrough-s', + 'editor-subscript', + 'editor-superscript', + 'editor-table-chart', + 'editor-table-rows', + 'editor-text-fields', + 'editor-title', + 'editor-vertical-align-bottom', + 'editor-vertical-align-center', + 'editor-vertical-align-top', + 'editor-vertical-distribute', + 'editor-wrap-text', + 'file-attach-email', + 'file-attachment', + 'file-cloud-circle', + 'file-cloud-done', + 'file-cloud-download', + 'file-cloud-off', + 'file-cloud-queue', + 'file-cloud-upload', + 'file-cloud', + 'file-create-new-folder', + 'file-folder-open', + 'file-folder-shared', + 'file-folder', + 'file-request-quote', + 'file-rule-folder', + 'file-snippet-folder', + 'file-text-snippet', + 'file-topic', + 'hardware-browser-not-supported', + 'hardware-cast-connected', + 'hardware-cast-for-education', + 'hardware-cast', + 'hardware-computer', + 'hardware-desktop-mac', + 'hardware-desktop-windows', + 'hardware-developer-board', + 'hardware-device-hub', + 'hardware-device-unknown', + 'hardware-devices-other', + 'hardware-dock', + 'hardware-gamepad', + 'hardware-headset-mic', + 'hardware-headset', + 'hardware-keyboard-arrow-down', + 'hardware-keyboard-arrow-left', + 'hardware-keyboard-arrow-right', + 'hardware-keyboard-arrow-up', + 'hardware-keyboard-backspace', + 'hardware-keyboard-capslock', + 'hardware-keyboard-hide', + 'hardware-keyboard-return', + 'hardware-keyboard-tab', + 'hardware-keyboard-voice', + 'hardware-keyboard', + 'hardware-laptop-chromebook', + 'hardware-laptop-mac', + 'hardware-laptop-windows', + 'hardware-laptop', + 'hardware-memory', + 'hardware-mouse', + 'hardware-phone-android', + 'hardware-phone-iphone', + 'hardware-phonelink-off', + 'hardware-phonelink', + 'hardware-point-of-sale', + 'hardware-power-input', + 'hardware-router', + 'hardware-scanner', + 'hardware-security', + 'hardware-sim-card', + 'hardware-smartphone', + 'hardware-speaker-group', + 'hardware-speaker', + 'hardware-tablet-android', + 'hardware-tablet-mac', + 'hardware-tablet', + 'hardware-toys', + 'hardware-tv', + 'hardware-videogame-asset', + 'hardware-watch', + 'home-sensor-door', + 'home-sensor-window', + 'image-add-a-photo', + 'image-add-photo-alternate', + 'image-add-to-photos', + 'image-adjust', + 'image-assistant-photo', + 'image-assistant', + 'image-audiotrack', + 'image-bedtime', + 'image-blur-circular', + 'image-blur-linear', + 'image-blur-off', + 'image-blur-on', + 'image-brightness-0', + 'image-brightness-2', + 'image-brightness-3', + 'image-brightness-4', + 'image-brightness-5', + 'image-brightness-6', + 'image-brightness-7', + 'image-brightness', + 'image-broken-image', + 'image-brush', + 'image-burst-mode', + 'image-camera-alt', + 'image-camera-front', + 'image-camera-rear', + 'image-camera-roll', + 'image-camera', + 'image-center-focus-strong', + 'image-center-focus-weak', + 'image-collections-bookmark', + 'image-collections', + 'image-color-lens', + 'image-colorize', + 'image-compare', + 'image-control-point-duplicate', + 'image-control-point', + 'image-crop-3-2', + 'image-crop-5-4', + 'image-crop-7-5', + 'image-crop-din', + 'image-crop-free', + 'image-crop-landscape', + 'image-crop-original', + 'image-crop-portrait', + 'image-crop-rotate', + 'image-crop-square', + 'image-crop', + 'image-crop6-9-0', + 'image-crop6-9', + 'image-dehaze', + 'image-details', + 'image-edit', + 'image-euro', + 'image-exposure-neg-0', + 'image-exposure-neg-2', + 'image-exposure-neg', + 'image-exposure-plus-0', + 'image-exposure-plus-2', + 'image-exposure-plus', + 'image-exposure-zero', + 'image-exposure', + 'image-filter(1)', + 'image-filter-0', + 'image-filter-2', + 'image-filter-3', + 'image-filter-4', + 'image-filter-5', + 'image-filter-6', + 'image-filter-7', + 'image-filter-8', + 'image-filter-9-plus', + 'image-filter-9', + 'image-filter-b-and-w', + 'image-filter-center-focus', + 'image-filter-drama', + 'image-filter-frames', + 'image-filter-hdr', + 'image-filter-none', + 'image-filter-tilt-shift', + 'image-filter-vintage', + 'image-filter', + 'image-flare', + 'image-flash-auto', + 'image-flash-off', + 'image-flash-on', + 'image-flip-camera-android', + 'image-flip-camera-ios', + 'image-flip', + 'image-gradient', + 'image-grain', + 'image-grid-off', + 'image-grid-on', + 'image-hdr-off', + 'image-hdr-on', + 'image-hdr-strong', + 'image-hdr-weak', + 'image-healing', + 'image-image-aspect-ratio', + 'image-image-not-supported', + 'image-image-search', + 'image-image', + 'image-iso', + 'image-landscape', + 'image-leak-add', + 'image-leak-remove', + 'image-lens', + 'image-linked-camera', + 'image-looks-3', + 'image-looks-4', + 'image-looks-5', + 'image-looks-6', + 'image-looks-one', + 'image-looks-two', + 'image-looks', + 'image-loupe', + 'image-monochrome-photos', + 'image-motion-photos-on', + 'image-motion-photos-pause', + 'image-motion-photos-paused', + 'image-movie-creation', + 'image-movie-filter', + 'image-music-note', + 'image-music-off', + 'image-nature-people', + 'image-nature', + 'image-navigate-before', + 'image-navigate-next', + 'image-palette', + 'image-panorama-fish-eye', + 'image-panorama-horizontal', + 'image-panorama-vertical', + 'image-panorama-wide-angle', + 'image-panorama', + 'image-photo-album', + 'image-photo-camera', + 'image-photo-filter', + 'image-photo-library', + 'image-photo-size-select-actual', + 'image-photo-size-select-large', + 'image-photo-size-select-small', + 'image-photo', + 'image-picture-as-pdf', + 'image-portrait', + 'image-receipt-long', + 'image-remove-red-eye', + 'image-rotate-90-degrees-ccw', + 'image-rotate-left', + 'image-rotate-right', + 'image-shutter-speed', + 'image-slideshow', + 'image-straighten', + 'image-style', + 'image-switch-camera', + 'image-switch-video', + 'image-tag-faces', + 'image-texture', + 'image-timelapse', + 'image-timer-3', + 'image-timer-off', + 'image-timer', + 'image-timer0-0', + 'image-timer0', + 'image-tonality', + 'image-transform', + 'image-tune', + 'image-view-comfy', + 'image-view-compact', + 'image-vignette', + 'image-wb-auto', + 'image-wb-cloudy', + 'image-wb-incandescent', + 'image-wb-iridescent', + 'image-wb-sunny', + 'maps-360', + 'maps-add-business', + 'maps-add-location-alt', + 'maps-add-location', + 'maps-add-road', + 'maps-agriculture', + 'maps-alt-route', + 'maps-atm', + 'maps-beenhere', + 'maps-bike-scooter', + 'maps-category', + 'maps-cleaning-services', + 'maps-compass-calibration', + 'maps-departure-board', + 'maps-design-services', + 'maps-directions-bike', + 'maps-directions-boat', + 'maps-directions-bus', + 'maps-directions-car', + 'maps-directions-railway', + 'maps-directions-run', + 'maps-directions-subway', + 'maps-directions-transit', + 'maps-directions-walk', + 'maps-directions', + 'maps-edit-attributes', + 'maps-edit-location', + 'maps-edit-road', + 'maps-electric-bike', + 'maps-electric-car', + 'maps-electric-moped', + 'maps-electric-scooter', + 'maps-electrical-services', + 'maps-ev-station', + 'maps-fastfood', + 'maps-flight', + 'maps-handyman', + 'maps-home-repair-service', + 'maps-hotel', + 'maps-hvac', + 'maps-layers-clear', + 'maps-layers', + 'maps-local-activity', + 'maps-local-airport', + 'maps-local-atm', + 'maps-local-bar', + 'maps-local-cafe', + 'maps-local-car-wash', + 'maps-local-convenience-store', + 'maps-local-dining', + 'maps-local-drink', + 'maps-local-fire-department', + 'maps-local-florist', + 'maps-local-gas-station', + 'maps-local-grocery-store', + 'maps-local-hospital', + 'maps-local-hotel', + 'maps-local-laundry-service', + 'maps-local-library', + 'maps-local-mall', + 'maps-local-movies', + 'maps-local-offer', + 'maps-local-parking', + 'maps-local-pharmacy', + 'maps-local-phone', + 'maps-local-pizza', + 'maps-local-play', + 'maps-local-police', + 'maps-local-post-office', + 'maps-local-printshop', + 'maps-local-see', + 'maps-local-shipping', + 'maps-local-taxi', + 'maps-map', + 'maps-maps-ugc', + 'maps-medical-services', + 'maps-menu-book', + 'maps-miscellaneous-services', + 'maps-money', + 'maps-moped', + 'maps-multiple-stop', + 'maps-museum', + 'maps-my-location', + 'maps-navigation', + 'maps-near-me-disabled', + 'maps-near-me', + 'maps-no-meals', + 'maps-no-transfer', + 'maps-not-listed-location', + 'maps-pedal-bike', + 'maps-person-pin-circle', + 'maps-person-pin', + 'maps-pest-control-rodent', + 'maps-pest-control', + 'maps-pin-drop', + 'maps-place', + 'maps-plumbing', + 'maps-rate-review', + 'maps-restaurant-menu', + 'maps-restaurant', + 'maps-run-circle', + 'maps-satellite', + 'maps-set-meal', + 'maps-store-mall-directory', + 'maps-streetview', + 'maps-subway', + 'maps-terrain', + 'maps-traffic', + 'maps-train', + 'maps-tram', + 'maps-transfer-within-a-station', + 'maps-transit-enterexit', + 'maps-trip-origin', + 'maps-two-wheeler', + 'maps-wine-bar', + 'maps-wrong-location', + 'maps-zoom-out-map', + 'navigation-app-settings-alt', + 'navigation-apps', + 'navigation-arrow-back-ios', + 'navigation-arrow-back', + 'navigation-arrow-downward', + 'navigation-arrow-drop-down-circle', + 'navigation-arrow-drop-down', + 'navigation-arrow-drop-up', + 'navigation-arrow-forward-ios', + 'navigation-arrow-forward', + 'navigation-arrow-left', + 'navigation-arrow-right', + 'navigation-arrow-upward', + 'navigation-campaign', + 'navigation-cancel', + 'navigation-check', + 'navigation-chevron-left', + 'navigation-chevron-right', + 'navigation-close', + 'navigation-double-arrow', + 'navigation-east', + 'navigation-expand-less', + 'navigation-expand-more', + 'navigation-first-page', + 'navigation-fullscreen-exit', + 'navigation-fullscreen', + 'navigation-home-work', + 'navigation-last-page', + 'navigation-legend-toggle', + 'navigation-menu-open', + 'navigation-menu', + 'navigation-more-horiz', + 'navigation-more-vert', + 'navigation-north-east', + 'navigation-north-west', + 'navigation-north', + 'navigation-payments', + 'navigation-refresh', + 'navigation-south-east', + 'navigation-south-west', + 'navigation-south', + 'navigation-subdirectory-arrow-left', + 'navigation-subdirectory-arrow-right', + 'navigation-switch-left', + 'navigation-switch-right', + 'navigation-unfold-less', + 'navigation-unfold-more', + 'navigation-west', + 'notification-account-tree', + 'notification-adb', + 'notification-airline-seat-flat-angled', + 'notification-airline-seat-flat', + 'notification-airline-seat-individual-suite', + 'notification-airline-seat-legroom-extra', + 'notification-airline-seat-legroom-normal', + 'notification-airline-seat-legroom-reduced', + 'notification-airline-seat-recline-extra', + 'notification-airline-seat-recline-normal', + 'notification-bluetooth-audio', + 'notification-confirmation-number', + 'notification-directions-off', + 'notification-disc-full', + 'notification-drive-eta', + 'notification-enhanced-encryption', + 'notification-event-available', + 'notification-event-busy', + 'notification-event-note', + 'notification-folder-special', + 'notification-live-tv', + 'notification-mms', + 'notification-more', + 'notification-network-check', + 'notification-network-locked', + 'notification-no-encryption', + 'notification-ondemand-video', + 'notification-personal-video', + 'notification-phone-bluetooth-speaker', + 'notification-phone-callback', + 'notification-phone-forwarded', + 'notification-phone-in-talk', + 'notification-phone-locked', + 'notification-phone-missed', + 'notification-phone-paused', + 'notification-power-off', + 'notification-power', + 'notification-priority-high', + 'notification-sd-card', + 'notification-sms-failed', + 'notification-sms', + 'notification-support-agent', + 'notification-sync-disabled', + 'notification-sync-problem', + 'notification-sync', + 'notification-system-update', + 'notification-tap-and-play', + 'notification-time-to-leave', + 'notification-tv-off', + 'notification-vibration', + 'notification-voice-chat', + 'notification-vpn-lock', + 'notification-wc', + 'notification-wifi-off', + 'notification-wifi', + 'places-ac-unit', + 'places-airport-shuttle', + 'places-all-inclusive', + 'places-apartment', + 'places-baby-changing-station', + 'places-backpack', + 'places-bathtub', + 'places-beach-access', + 'places-bento', + 'places-business-center', + 'places-carpenter', + 'places-casino', + 'places-charging-station', + 'places-checkroom', + 'places-child-care', + 'places-child-friendly', + 'places-corporate-fare', + 'places-countertops', + 'places-do-not-step', + 'places-do-not-touch', + 'places-dry', + 'places-elevator', + 'places-escalator-warning', + 'places-escalator', + 'places-family-restroom', + 'places-fence', + 'places-fire-extinguisher', + 'places-fitness-center', + 'places-food-bank', + 'places-foundation', + 'places-free-breakfast', + 'places-golf-course', + 'places-grass', + 'places-hot-tub', + 'places-house-siding', + 'places-house', + 'places-kitchen', + 'places-meeting-room', + 'places-microwave', + 'places-night-shelter', + 'places-no-backpack', + 'places-no-cell', + 'places-no-drinks', + 'places-no-flash', + 'places-no-food', + 'places-no-meeting-room', + 'places-no-photography', + 'places-no-stroller', + 'places-pool', + 'places-rice-bowl', + 'places-roofing', + 'places-room-preferences', + 'places-room-service', + 'places-rv-hookup', + 'places-smoke-free', + 'places-smoking-rooms', + 'places-soap', + 'places-spa', + 'places-sports-bar', + 'places-stairs', + 'places-storefront', + 'places-stroller', + 'places-tapas', + 'places-tty', + 'places-umbrella', + 'places-wash', + 'places-water-damage', + 'places-wheelchair-pickup', + 'social-6-ft-apart', + 'social-architecture', + 'social-cake', + 'social-clean-hands', + 'social-connect-without-contact', + 'social-construction', + 'social-coronavirus', + 'social-deck', + 'social-domain', + 'social-elderly', + 'social-emoji-emotions', + 'social-emoji-events', + 'social-emoji-flags', + 'social-emoji-food-beverage', + 'social-emoji-nature', + 'social-emoji-objects', + 'social-emoji-people', + 'social-emoji-symbols', + 'social-emoji-transportation', + 'social-engineering', + 'social-facebook', + 'social-fireplace', + 'social-follow-the-signs', + 'social-group-add', + 'social-group', + 'social-groups', + 'social-history-edu', + 'social-king-bed', + 'social-location-city', + 'social-luggage', + 'social-masks', + 'social-military-tech', + 'social-mood-bad', + 'social-mood', + 'social-nights-stay', + 'social-no-luggage', + 'social-notifications-active', + 'social-notifications-none', + 'social-notifications-off', + 'social-notifications-paused', + 'social-notifications', + 'social-outdoor-grill', + 'social-pages', + 'social-party-mode', + 'social-people-alt', + 'social-people-outline', + 'social-people', + 'social-person-add-alt-0', + 'social-person-add-alt', + 'social-person-add', + 'social-person-outline', + 'social-person-remove-alt-0', + 'social-person-remove-alt', + 'social-person-remove', + 'social-person', + 'social-plus-one', + 'social-poll', + 'social-psychology', + 'social-public-off', + 'social-public', + 'social-reduce-capacity', + 'social-sanitizer', + 'social-school', + 'social-science', + 'social-self-improvement', + 'social-sentiment-dissatisfied', + 'social-sentiment-neutral', + 'social-sentiment-satisfied', + 'social-sentiment-very-dissatisfied', + 'social-sentiment-very-satisfied', + 'social-share', + 'social-sick', + 'social-single-bed', + 'social-sports-baseball', + 'social-sports-basketball', + 'social-sports-cricket', + 'social-sports-esports', + 'social-sports-football', + 'social-sports-golf', + 'social-sports-handball', + 'social-sports-hockey', + 'social-sports-kabaddi', + 'social-sports-mma', + 'social-sports-motorsports', + 'social-sports-rugby', + 'social-sports-soccer', + 'social-sports-tennis', + 'social-sports-volleyball', + 'social-sports', + 'social-thumb-down-alt', + 'social-thumb-up-alt', + 'social-whatshot', + 'toggle-check-box-outline-blank', + 'toggle-check-box', + 'toggle-indeterminate-check-box', + 'toggle-radio-button-checked', + 'toggle-radio-button-unchecked', + 'toggle-star-border', + 'toggle-star-half', + 'toggle-star-outline', + 'toggle-star', + 'toggle-toggle-off', + 'toggle-toggle-on' + ] + }, + { + type: 'mdf', + name: 'Fill', + icons: [ + 'action-3d-rotation', + 'action-accessibility-new', + 'action-accessibility', + 'action-accessible-forward', + 'action-accessible', + 'action-account-balance-wallet', + 'action-account-balance', + 'action-account-box', + 'action-account-circle', + 'action-add-shopping-cart', + 'action-add-task', + 'action-addchart', + 'action-admin-panel-settings', + 'action-alarm-add', + 'action-alarm-off', + 'action-alarm-on', + 'action-alarm', + 'action-all-inbox', + 'action-all-out', + 'action-analytics', + 'action-anchor', + 'action-android', + 'action-announcement', + 'action-api', + 'action-app-blocking', + 'action-arrow-circle-down', + 'action-arrow-circle-up', + 'action-arrow-right-alt', + 'action-article', + 'action-aspect-ratio', + 'action-assessment', + 'action-assignment-ind', + 'action-assignment-late', + 'action-assignment-return', + 'action-assignment-returned', + 'action-assignment-turned-in', + 'action-assignment', + 'action-autorenew', + 'action-backup-table', + 'action-backup', + 'action-batch-prediction', + 'action-book-online', + 'action-book', + 'action-bookmark-border', + 'action-bookmark', + 'action-bookmarks', + 'action-bug-report', + 'action-build-circle', + 'action-build', + 'action-cached', + 'action-calendar-today', + 'action-calendar-view-day', + 'action-camera-enhance', + 'action-cancel-schedule-send', + 'action-card-giftcard', + 'action-card-membership', + 'action-card-travel', + 'action-change-history', + 'action-check-circle-outline', + 'action-check-circle', + 'action-chrome-reader-mode', + 'action-class', + 'action-close-fullscreen', + 'action-code', + 'action-comment-bank', + 'action-commute', + 'action-compare-arrows', + 'action-contact-page', + 'action-contact-support', + 'action-contactless', + 'action-copyright', + 'action-credit-card', + 'action-dashboard', + 'action-date-range', + 'action-delete-forever', + 'action-delete-outline', + 'action-delete', + 'action-description', + 'action-disabled-by-default', + 'action-dns', + 'action-done-all', + 'action-done-outline', + 'action-done', + 'action-donut-large', + 'action-donut-small', + 'action-drag-indicator', + 'action-dynamic-form', + 'action-eco', + 'action-eject', + 'action-euro-symbol', + 'action-event-seat', + 'action-event', + 'action-exit-to-app', + 'action-explore-off', + 'action-explore', + 'action-extension', + 'action-face', + 'action-fact-check', + 'action-favorite-border', + 'action-favorite', + 'action-feedback', + 'action-filter-alt', + 'action-find-in-page', + 'action-find-replace', + 'action-fingerprint', + 'action-flaky', + 'action-flight-land', + 'action-flight-takeoff', + 'action-flip-to-back', + 'action-flip-to-front', + 'action-g-translate', + 'action-gavel', + 'action-get-app', + 'action-gif', + 'action-grade', + 'action-grading', + 'action-group-work', + 'action-help-center', + 'action-help-outline', + 'action-help', + 'action-highlight-alt', + 'action-highlight-off', + 'action-history-toggle-off', + 'action-history', + 'action-home', + 'action-horizontal-split', + 'action-hourglass-disabled', + 'action-hourglass-empty', + 'action-hourglass-full', + 'action-http', + 'action-https', + 'action-important-devices', + 'action-info', + 'action-input', + 'action-integration-instructions', + 'action-invert-colors', + 'action-label-important', + 'action-label-off', + 'action-label', + 'action-language', + 'action-launch', + 'action-leaderboard', + 'action-lightbulb', + 'action-line-style', + 'action-line-weight', + 'action-list', + 'action-lock-open', + 'action-lock', + 'action-login', + 'action-loyalty', + 'action-markunread-mailbox', + 'action-maximize', + 'action-mediation', + 'action-minimize', + 'action-model-training', + 'action-next-plan', + 'action-not-accessible', + 'action-not-started', + 'action-note-add', + 'action-offline-bolt', + 'action-offline-pin', + 'action-online-prediction', + 'action-opacity', + 'action-open-in-browser', + 'action-open-in-full', + 'action-open-in-new', + 'action-open-with', + 'action-outbond', + 'action-outlet', + 'action-pageview', + 'action-pan-tool', + 'action-payment', + 'action-pending-actions', + 'action-pending', + 'action-perm-camera-mic', + 'action-perm-contact-calendar', + 'action-perm-data-setting', + 'action-perm-device-information', + 'action-perm-identity', + 'action-perm-media', + 'action-perm-phone-msg', + 'action-perm-scan-wifi', + 'action-pets', + 'action-picture-in-picture-alt', + 'action-picture-in-picture', + 'action-plagiarism', + 'action-play-for-work', + 'action-polymer', + 'action-power-settings-new', + 'action-pregnant-woman', + 'action-preview', + 'action-print', + 'action-privacy-tip', + 'action-published-with-changes', + 'action-query-builder', + 'action-question-answer', + 'action-quickreply', + 'action-receipt', + 'action-record-voice-over', + 'action-redeem', + 'action-remove-shopping-cart', + 'action-reorder', + 'action-report-problem', + 'action-request-page', + 'action-restore-from-trash', + 'action-restore-page', + 'action-restore', + 'action-room', + 'action-rounded-corner', + 'action-rowing', + 'action-rule', + 'action-schedule', + 'action-search-off', + 'action-search', + 'action-settings-applications', + 'action-settings-backup-restore', + 'action-settings-bluetooth', + 'action-settings-brightness', + 'action-settings-cell', + 'action-settings-ethernet', + 'action-settings-input-antenna', + 'action-settings-input-component', + 'action-settings-input-composite', + 'action-settings-input-hdmi', + 'action-settings-input-svideo', + 'action-settings-overscan', + 'action-settings-phone', + 'action-settings-power', + 'action-settings-remote', + 'action-settings-voice', + 'action-settings', + 'action-shop-two', + 'action-shop', + 'action-shopping-bag', + 'action-shopping-basket', + 'action-shopping-cart', + 'action-smart-button', + 'action-source', + 'action-speaker-notes-off', + 'action-speaker-notes', + 'action-spellcheck', + 'action-star-rate', + 'action-stars', + 'action-sticky-note-2', + 'action-store', + 'action-subject', + 'action-subtitles-off', + 'action-supervised-user-circle', + 'action-supervisor-account', + 'action-support', + 'action-swap-horiz', + 'action-swap-horizontal-circle', + 'action-swap-vert', + 'action-swap-vertical-circle', + 'action-sync-alt', + 'action-system-update-alt', + 'action-tab-unselected', + 'action-tab', + 'action-table-view', + 'action-text-rotate-up', + 'action-text-rotate-vertical', + 'action-text-rotation-angledown', + 'action-text-rotation-angleup', + 'action-text-rotation-down', + 'action-text-rotation-none', + 'action-theaters', + 'action-thumb-down', + 'action-thumb-up', + 'action-thumbs-up-down', + 'action-timeline', + 'action-toc', + 'action-today', + 'action-toll', + 'action-touch-app', + 'action-tour', + 'action-track-changes', + 'action-translate', + 'action-trending-down', + 'action-trending-flat', + 'action-trending-up', + 'action-turned-in-not', + 'action-turned-in', + 'action-unpublished', + 'action-update-disabled', + 'action-update', + 'action-upgrade', + 'action-verified-user', + 'action-verified', + 'action-vertical-split', + 'action-view-agenda', + 'action-view-array', + 'action-view-carousel', + 'action-view-column', + 'action-view-day', + 'action-view-headline', + 'action-view-list', + 'action-view-module', + 'action-view-quilt', + 'action-view-sidebar', + 'action-view-stream', + 'action-view-week', + 'action-visibility-off', + 'action-visibility', + 'action-voice-over-off', + 'action-watch-later', + 'action-wifi-protected-setup', + 'action-work-off', + 'action-work-outline', + 'action-work', + 'action-wysiwyg', + 'action-youtube-searched-for', + 'action-zoom-in', + 'action-zoom-out', + 'alert-add-alert', + 'alert-auto-delete', + 'alert-error-outline', + 'alert-error', + 'alert-notification-important', + 'alert-warning', + 'av-4k', + 'av-5g', + 'av-add-to-queue', + 'av-airplay', + 'av-album', + 'av-art-track', + 'av-av-timer', + 'av-branding-watermark', + 'av-call-to-action', + 'av-closed-caption-disabled', + 'av-closed-caption', + 'av-control-camera', + 'av-equalizer', + 'av-explicit', + 'av-fast-forward', + 'av-fast-rewind', + 'av-featured-play-list', + 'av-featured-video', + 'av-fiber-dvr', + 'av-fiber-manual-record', + 'av-fiber-new', + 'av-fiber-pin', + 'av-fiber-smart-record', + 'av-forward-30', + 'av-forward-5', + 'av-games', + 'av-hd', + 'av-hearing-disabled', + 'av-hearing', + 'av-high-quality', + 'av-library-add-check', + 'av-library-add', + 'av-library-books', + 'av-library-music', + 'av-loop', + 'av-mic-none', + 'av-mic-off', + 'av-mic', + 'av-missed-video-call', + 'av-movie', + 'av-music-video', + 'av-new-releases', + 'av-not-interested', + 'av-note', + 'av-pause-circle-filled', + 'av-pause-circle-outline', + 'av-pause', + 'av-play-arrow', + 'av-play-circle-filled', + 'av-play-circle-outline', + 'av-playlist-add-check', + 'av-playlist-add', + 'av-playlist-play', + 'av-queue-music', + 'av-queue-play-next', + 'av-queue', + 'av-radio', + 'av-recent-actors', + 'av-remove-from-queue', + 'av-repeat-one', + 'av-repeat', + 'av-replay-30', + 'av-replay-5', + 'av-replay', + 'av-shuffle', + 'av-skip-next', + 'av-skip-previous', + 'av-slow-motion-video', + 'av-snooze', + 'av-sort-by-alpha', + 'av-speed', + 'av-stop-circle', + 'av-stop', + 'av-subscriptions', + 'av-subtitles', + 'av-surround-sound', + 'av-video-call', + 'av-video-label', + 'av-video-library', + 'av-video-settings', + 'av-videocam-off', + 'av-videocam', + 'av-volume-down', + 'av-volume-mute', + 'av-volume-off', + 'av-volume-up', + 'av-web-asset', + 'av-web', + 'communication-add-ic-call', + 'communication-alternate-email', + 'communication-business', + 'communication-call-end', + 'communication-call-made', + 'communication-call-merge', + 'communication-call-missed-outgoing', + 'communication-call-missed', + 'communication-call-received', + 'communication-call-split', + 'communication-call', + 'communication-cancel-presentation', + 'communication-chat-bubble-outline', + 'communication-chat-bubble', + 'communication-chat', + 'communication-clear-all', + 'communication-comment', + 'communication-contact-mail', + 'communication-contact-phone', + 'communication-contacts', + 'communication-desktop-access-disabled', + 'communication-dialer-sip', + 'communication-dialpad', + 'communication-domain-disabled', + 'communication-domain-verification', + 'communication-duo', + 'communication-email', + 'communication-forum', + 'communication-forward-to-inbox', + 'communication-hourglass-bottom', + 'communication-hourglass-top', + 'communication-import-contacts', + 'communication-import-export', + 'communication-invert-colors-off', + 'communication-list-alt', + 'communication-live-help', + 'communication-location-off', + 'communication-location-on', + 'communication-mail-outline', + 'communication-mark-chat-read', + 'communication-mark-chat-unread', + 'communication-mark-email-read', + 'communication-mark-email-unread', + 'communication-message', + 'communication-mobile-screen-share', + 'communication-more-time', + 'communication-nat', + 'communication-no-sim', + 'communication-pause-presentation', + 'communication-person-add-disabled', + 'communication-person-search', + 'communication-phone-disabled', + 'communication-phone-enabled', + 'communication-phone', + 'communication-phonelink-erase', + 'communication-phonelink-lock', + 'communication-phonelink-ring', + 'communication-phonelink-setup', + 'communication-portable-wifi-off', + 'communication-present-to-all', + 'communication-print-disabled', + 'communication-qr-code-2', + 'communication-qr-code-scanner', + 'communication-qr-code', + 'communication-read-more', + 'communication-ring-volume', + 'communication-rss-feed', + 'communication-screen-share', + 'communication-sentiment-satisfied-alt', + 'communication-speaker-phone', + 'communication-stay-current-landscape', + 'communication-stay-current-portrait', + 'communication-stay-primary-landscape', + 'communication-stay-primary-portrait', + 'communication-stop-screen-share', + 'communication-swap-calls', + 'communication-textsms', + 'communication-unsubscribe', + 'communication-voicemail', + 'communication-vpn-key', + 'communication-wifi-calling', + 'content-add-box', + 'content-add-circle-outline', + 'content-add-circle', + 'content-add', + 'content-amp-stories', + 'content-archive', + 'content-backspace', + 'content-ballot', + 'content-biotech', + 'content-block', + 'content-calculate', + 'content-clear', + 'content-content-copy', + 'content-content-cut', + 'content-content-paste', + 'content-create', + 'content-delete-sweep', + 'content-drafts', + 'content-dynamic-feed', + 'content-file-copy', + 'content-filter-list', + 'content-flag', + 'content-font-download', + 'content-forward', + 'content-gesture', + 'content-how-to-reg', + 'content-how-to-vote', + 'content-inbox', + 'content-insights', + 'content-link-off', + 'content-link', + 'content-low-priority', + 'content-mail', + 'content-markunread', + 'content-move-to-inbox', + 'content-next-week', + 'content-outlined-flag', + 'content-policy', + 'content-push-pin', + 'content-redo', + 'content-remove-circle-outline', + 'content-remove-circle', + 'content-remove', + 'content-reply-all', + 'content-reply', + 'content-report-off', + 'content-report', + 'content-save-alt', + 'content-save', + 'content-select-all', + 'content-send', + 'content-sort', + 'content-square-foot', + 'content-text-format', + 'content-unarchive', + 'content-undo', + 'content-waves', + 'content-weekend', + 'content-where-to-vote', + 'device-access-alarm', + 'device-access-alarms', + 'device-access-time', + 'device-ad-units', + 'device-add-alarm', + 'device-add-to-home-screen', + 'device-airplanemode-active', + 'device-airplanemode-inactive', + 'device-battery-alert', + 'device-battery-charging-full', + 'device-battery-full', + 'device-battery-std', + 'device-battery-unknown', + 'device-bluetooth-connected', + 'device-bluetooth-disabled', + 'device-bluetooth-searching', + 'device-bluetooth', + 'device-brightness-auto', + 'device-brightness-high', + 'device-brightness-low', + 'device-brightness-medium', + 'device-data-usage', + 'device-developer-mode', + 'device-devices', + 'device-dvr', + 'device-gps-fixed', + 'device-gps-not-fixed', + 'device-gps-off', + 'device-graphic-eq', + 'device-location-disabled', + 'device-location-searching', + 'device-mobile-friendly', + 'device-mobile-off', + 'device-nfc', + 'device-screen-lock-landscape', + 'device-screen-lock-portrait', + 'device-screen-lock-rotation', + 'device-screen-rotation', + 'device-sd-storage', + 'device-settings-system-daydream', + 'device-signal-cellular-4-bar', + 'device-signal-cellular-alt', + 'device-signal-cellular-connected-no-internet-4-bar', + 'device-signal-cellular-no-sim', + 'device-signal-cellular-null', + 'device-signal-cellular-off', + 'device-signal-wifi-4-bar-lock', + 'device-signal-wifi-4-bar', + 'device-signal-wifi-off', + 'device-storage', + 'device-usb', + 'device-wallpaper', + 'device-widgets', + 'device-wifi-lock', + 'device-wifi-tethering', + 'editor-add-comment', + 'editor-align-horizontal-center', + 'editor-align-horizontal-left', + 'editor-align-horizontal-right', + 'editor-align-vertical-bottom', + 'editor-align-vertical-center', + 'editor-align-vertical-top', + 'editor-attach-file', + 'editor-attach-money', + 'editor-bar-chart', + 'editor-border-all', + 'editor-border-bottom', + 'editor-border-clear', + 'editor-border-horizontal', + 'editor-border-inner', + 'editor-border-left', + 'editor-border-outer', + 'editor-border-right', + 'editor-border-style', + 'editor-border-top', + 'editor-border-vertical', + 'editor-bubble-chart', + 'editor-drag-handle', + 'editor-format-align-center', + 'editor-format-align-justify', + 'editor-format-align-left', + 'editor-format-align-right', + 'editor-format-bold', + 'editor-format-clear', + 'editor-format-color-reset', + 'editor-format-indent-decrease', + 'editor-format-indent-increase', + 'editor-format-italic', + 'editor-format-line-spacing', + 'editor-format-list-bulleted', + 'editor-format-list-numbered-rtl', + 'editor-format-list-numbered', + 'editor-format-paint', + 'editor-format-quote', + 'editor-format-shapes', + 'editor-format-size', + 'editor-format-strikethrough', + 'editor-format-textdirection-l-to-r', + 'editor-format-textdirection-r-to-l', + 'editor-format-underlined', + 'editor-functions', + 'editor-height', + 'editor-highlight', + 'editor-horizontal-distribute', + 'editor-horizontal-rule', + 'editor-insert-chart-outlined', + 'editor-insert-chart', + 'editor-insert-comment', + 'editor-insert-drive-file', + 'editor-insert-emoticon', + 'editor-insert-invitation', + 'editor-insert-link', + 'editor-insert-photo', + 'editor-linear-scale', + 'editor-merge-type', + 'editor-mode-comment', + 'editor-monetization-on', + 'editor-money-off', + 'editor-multiline-chart', + 'editor-notes', + 'editor-pie-chart', + 'editor-post-add', + 'editor-publish', + 'editor-scatter-plot', + 'editor-score', + 'editor-short-text', + 'editor-show-chart', + 'editor-space-bar', + 'editor-stacked-line-chart', + 'editor-strikethrough-s', + 'editor-subscript', + 'editor-superscript', + 'editor-table-chart', + 'editor-table-rows', + 'editor-text-fields', + 'editor-title', + 'editor-vertical-align-bottom', + 'editor-vertical-align-center', + 'editor-vertical-align-top', + 'editor-vertical-distribute', + 'editor-wrap-text', + 'file-attach-email', + 'file-attachment', + 'file-cloud-circle', + 'file-cloud-done', + 'file-cloud-download', + 'file-cloud-off', + 'file-cloud-queue', + 'file-cloud-upload', + 'file-cloud', + 'file-create-new-folder', + 'file-folder-open', + 'file-folder-shared', + 'file-folder', + 'file-request-quote', + 'file-rule-folder', + 'file-snippet-folder', + 'file-text-snippet', + 'file-topic', + 'hardware-browser-not-supported', + 'hardware-cast-connected', + 'hardware-cast-for-education', + 'hardware-cast', + 'hardware-computer', + 'hardware-desktop-mac', + 'hardware-desktop-windows', + 'hardware-developer-board', + 'hardware-device-hub', + 'hardware-device-unknown', + 'hardware-devices-other', + 'hardware-dock', + 'hardware-gamepad', + 'hardware-headset-mic', + 'hardware-headset', + 'hardware-keyboard-arrow-down', + 'hardware-keyboard-arrow-left', + 'hardware-keyboard-arrow-right', + 'hardware-keyboard-arrow-up', + 'hardware-keyboard-backspace', + 'hardware-keyboard-capslock', + 'hardware-keyboard-hide', + 'hardware-keyboard-return', + 'hardware-keyboard-tab', + 'hardware-keyboard-voice', + 'hardware-keyboard', + 'hardware-laptop-chromebook', + 'hardware-laptop-mac', + 'hardware-laptop-windows', + 'hardware-laptop', + 'hardware-memory', + 'hardware-mouse', + 'hardware-phone-android', + 'hardware-phone-iphone', + 'hardware-phonelink-off', + 'hardware-phonelink', + 'hardware-point-of-sale', + 'hardware-power-input', + 'hardware-router', + 'hardware-scanner', + 'hardware-security', + 'hardware-sim-card', + 'hardware-smartphone', + 'hardware-speaker-group', + 'hardware-speaker', + 'hardware-tablet-android', + 'hardware-tablet-mac', + 'hardware-tablet', + 'hardware-toys', + 'hardware-tv', + 'hardware-videogame-asset', + 'hardware-watch', + 'home-sensor-door', + 'home-sensor-window', + 'image-add-a-photo', + 'image-add-photo-alternate', + 'image-add-to-photos', + 'image-adjust', + 'image-assistant-photo', + 'image-assistant', + 'image-audiotrack', + 'image-bedtime', + 'image-blur-circular', + 'image-blur-linear', + 'image-blur-off', + 'image-blur-on', + 'image-brightness-2', + 'image-brightness-3', + 'image-brightness-4', + 'image-brightness-5', + 'image-brightness-6', + 'image-brightness-7', + 'image-broken-image', + 'image-brush', + 'image-burst-mode', + 'image-camera-alt', + 'image-camera-front', + 'image-camera-rear', + 'image-camera-roll', + 'image-camera', + 'image-center-focus-strong', + 'image-center-focus-weak', + 'image-collections-bookmark', + 'image-collections', + 'image-color-lens', + 'image-colorize', + 'image-compare', + 'image-control-point-duplicate', + 'image-control-point', + 'image-crop-3-2', + 'image-crop-5-4', + 'image-crop-7-5', + 'image-crop-din', + 'image-crop-free', + 'image-crop-landscape', + 'image-crop-original', + 'image-crop-portrait', + 'image-crop-rotate', + 'image-crop-square', + 'image-crop', + 'image-dehaze', + 'image-details', + 'image-edit', + 'image-euro', + 'image-exposure-neg-2', + 'image-exposure-plus-2', + 'image-exposure-zero', + 'image-exposure', + 'image-filter-2', + 'image-filter-3', + 'image-filter-4', + 'image-filter-5', + 'image-filter-6', + 'image-filter-7', + 'image-filter-8', + 'image-filter-9-plus', + 'image-filter-9', + 'image-filter-b-and-w', + 'image-filter-center-focus', + 'image-filter-drama', + 'image-filter-frames', + 'image-filter-hdr', + 'image-filter-none', + 'image-filter-tilt-shift', + 'image-filter-vintage', + 'image-filter', + 'image-flare', + 'image-flash-auto', + 'image-flash-off', + 'image-flash-on', + 'image-flip-camera-android', + 'image-flip-camera-ios', + 'image-flip', + 'image-gradient', + 'image-grain', + 'image-grid-off', + 'image-grid-on', + 'image-hdr-off', + 'image-hdr-on', + 'image-hdr-strong', + 'image-hdr-weak', + 'image-healing', + 'image-image-aspect-ratio', + 'image-image-not-supported', + 'image-image-search', + 'image-image', + 'image-iso', + 'image-landscape', + 'image-leak-add', + 'image-leak-remove', + 'image-lens', + 'image-linked-camera', + 'image-looks-3', + 'image-looks-4', + 'image-looks-5', + 'image-looks-6', + 'image-looks-one', + 'image-looks-two', + 'image-looks', + 'image-loupe', + 'image-monochrome-photos', + 'image-motion-photos-on', + 'image-motion-photos-pause', + 'image-motion-photos-paused', + 'image-movie-creation', + 'image-movie-filter', + 'image-music-note', + 'image-music-off', + 'image-nature-people', + 'image-nature', + 'image-navigate-before', + 'image-navigate-next', + 'image-palette', + 'image-panorama-fish-eye', + 'image-panorama-horizontal', + 'image-panorama-vertical', + 'image-panorama-wide-angle', + 'image-panorama', + 'image-photo-album', + 'image-photo-camera', + 'image-photo-filter', + 'image-photo-library', + 'image-photo-size-select-actual', + 'image-photo-size-select-large', + 'image-photo-size-select-small', + 'image-photo', + 'image-picture-as-pdf', + 'image-portrait', + 'image-receipt-long', + 'image-remove-red-eye', + 'image-rotate-90-degrees-ccw', + 'image-rotate-left', + 'image-rotate-right', + 'image-shutter-speed', + 'image-slideshow', + 'image-straighten', + 'image-style', + 'image-switch-camera', + 'image-switch-video', + 'image-tag-faces', + 'image-texture', + 'image-timelapse', + 'image-timer-3', + 'image-timer-off', + 'image-timer', + 'image-tonality', + 'image-transform', + 'image-tune', + 'image-view-comfy', + 'image-view-compact', + 'image-vignette', + 'image-wb-auto', + 'image-wb-cloudy', + 'image-wb-incandescent', + 'image-wb-iridescent', + 'image-wb-sunny', + 'maps-360', + 'maps-add-business', + 'maps-add-location-alt', + 'maps-add-location', + 'maps-add-road', + 'maps-agriculture', + 'maps-alt-route', + 'maps-atm', + 'maps-beenhere', + 'maps-bike-scooter', + 'maps-category', + 'maps-cleaning-services', + 'maps-compass-calibration', + 'maps-departure-board', + 'maps-design-services', + 'maps-directions-bike', + 'maps-directions-boat', + 'maps-directions-bus', + 'maps-directions-car', + 'maps-directions-railway', + 'maps-directions-run', + 'maps-directions-subway', + 'maps-directions-transit', + 'maps-directions-walk', + 'maps-directions', + 'maps-edit-attributes', + 'maps-edit-location', + 'maps-edit-road', + 'maps-electric-bike', + 'maps-electric-car', + 'maps-electric-moped', + 'maps-electric-scooter', + 'maps-electrical-services', + 'maps-ev-station', + 'maps-fastfood', + 'maps-flight', + 'maps-handyman', + 'maps-home-repair-service', + 'maps-hotel', + 'maps-hvac', + 'maps-layers-clear', + 'maps-layers', + 'maps-local-activity', + 'maps-local-airport', + 'maps-local-atm', + 'maps-local-bar', + 'maps-local-cafe', + 'maps-local-car-wash', + 'maps-local-convenience-store', + 'maps-local-dining', + 'maps-local-drink', + 'maps-local-fire-department', + 'maps-local-florist', + 'maps-local-gas-station', + 'maps-local-grocery-store', + 'maps-local-hospital', + 'maps-local-hotel', + 'maps-local-laundry-service', + 'maps-local-library', + 'maps-local-mall', + 'maps-local-movies', + 'maps-local-offer', + 'maps-local-parking', + 'maps-local-pharmacy', + 'maps-local-phone', + 'maps-local-pizza', + 'maps-local-play', + 'maps-local-police', + 'maps-local-post-office', + 'maps-local-printshop', + 'maps-local-see', + 'maps-local-shipping', + 'maps-local-taxi', + 'maps-map', + 'maps-maps-ugc', + 'maps-medical-services', + 'maps-menu-book', + 'maps-miscellaneous-services', + 'maps-money', + 'maps-moped', + 'maps-multiple-stop', + 'maps-museum', + 'maps-my-location', + 'maps-navigation', + 'maps-near-me-disabled', + 'maps-near-me', + 'maps-no-meals', + 'maps-no-transfer', + 'maps-not-listed-location', + 'maps-pedal-bike', + 'maps-person-pin-circle', + 'maps-person-pin', + 'maps-pest-control-rodent', + 'maps-pest-control', + 'maps-pin-drop', + 'maps-place', + 'maps-plumbing', + 'maps-rate-review', + 'maps-restaurant-menu', + 'maps-restaurant', + 'maps-run-circle', + 'maps-satellite', + 'maps-set-meal', + 'maps-store-mall-directory', + 'maps-streetview', + 'maps-subway', + 'maps-terrain', + 'maps-traffic', + 'maps-train', + 'maps-tram', + 'maps-transfer-within-a-station', + 'maps-transit-enterexit', + 'maps-trip-origin', + 'maps-two-wheeler', + 'maps-wine-bar', + 'maps-wrong-location', + 'maps-zoom-out-map', + 'navigation-app-settings-alt', + 'navigation-apps', + 'navigation-arrow-back-ios', + 'navigation-arrow-back', + 'navigation-arrow-downward', + 'navigation-arrow-drop-down-circle', + 'navigation-arrow-drop-down', + 'navigation-arrow-drop-up', + 'navigation-arrow-forward-ios', + 'navigation-arrow-forward', + 'navigation-arrow-left', + 'navigation-arrow-right', + 'navigation-arrow-upward', + 'navigation-campaign', + 'navigation-cancel', + 'navigation-check', + 'navigation-chevron-left', + 'navigation-chevron-right', + 'navigation-close', + 'navigation-double-arrow', + 'navigation-east', + 'navigation-expand-less', + 'navigation-expand-more', + 'navigation-first-page', + 'navigation-fullscreen-exit', + 'navigation-fullscreen', + 'navigation-home-work', + 'navigation-last-page', + 'navigation-legend-toggle', + 'navigation-menu-open', + 'navigation-menu', + 'navigation-more-horiz', + 'navigation-more-vert', + 'navigation-north-east', + 'navigation-north-west', + 'navigation-north', + 'navigation-payments', + 'navigation-refresh', + 'navigation-south-east', + 'navigation-south-west', + 'navigation-south', + 'navigation-subdirectory-arrow-left', + 'navigation-subdirectory-arrow-right', + 'navigation-switch-left', + 'navigation-switch-right', + 'navigation-unfold-less', + 'navigation-unfold-more', + 'navigation-west', + 'notification-account-tree', + 'notification-adb', + 'notification-airline-seat-flat-angled', + 'notification-airline-seat-flat', + 'notification-airline-seat-individual-suite', + 'notification-airline-seat-legroom-extra', + 'notification-airline-seat-legroom-normal', + 'notification-airline-seat-legroom-reduced', + 'notification-airline-seat-recline-extra', + 'notification-airline-seat-recline-normal', + 'notification-bluetooth-audio', + 'notification-confirmation-number', + 'notification-directions-off', + 'notification-disc-full', + 'notification-drive-eta', + 'notification-enhanced-encryption', + 'notification-event-available', + 'notification-event-busy', + 'notification-event-note', + 'notification-folder-special', + 'notification-live-tv', + 'notification-mms', + 'notification-more', + 'notification-network-check', + 'notification-network-locked', + 'notification-no-encryption', + 'notification-ondemand-video', + 'notification-personal-video', + 'notification-phone-bluetooth-speaker', + 'notification-phone-callback', + 'notification-phone-forwarded', + 'notification-phone-in-talk', + 'notification-phone-locked', + 'notification-phone-missed', + 'notification-phone-paused', + 'notification-power-off', + 'notification-power', + 'notification-priority-high', + 'notification-sd-card', + 'notification-sms-failed', + 'notification-sms', + 'notification-support-agent', + 'notification-sync-disabled', + 'notification-sync-problem', + 'notification-sync', + 'notification-system-update', + 'notification-tap-and-play', + 'notification-time-to-leave', + 'notification-tv-off', + 'notification-vibration', + 'notification-voice-chat', + 'notification-vpn-lock', + 'notification-wc', + 'notification-wifi-off', + 'notification-wifi', + 'places-ac-unit', + 'places-airport-shuttle', + 'places-all-inclusive', + 'places-apartment', + 'places-baby-changing-station', + 'places-backpack', + 'places-bathtub', + 'places-beach-access', + 'places-bento', + 'places-business-center', + 'places-carpenter', + 'places-casino', + 'places-charging-station', + 'places-checkroom', + 'places-child-care', + 'places-child-friendly', + 'places-corporate-fare', + 'places-countertops', + 'places-do-not-step', + 'places-do-not-touch', + 'places-dry', + 'places-elevator', + 'places-escalator-warning', + 'places-escalator', + 'places-family-restroom', + 'places-fence', + 'places-fire-extinguisher', + 'places-fitness-center', + 'places-food-bank', + 'places-foundation', + 'places-free-breakfast', + 'places-golf-course', + 'places-grass', + 'places-hot-tub', + 'places-house-siding', + 'places-house', + 'places-kitchen', + 'places-meeting-room', + 'places-microwave', + 'places-night-shelter', + 'places-no-backpack', + 'places-no-cell', + 'places-no-drinks', + 'places-no-flash', + 'places-no-food', + 'places-no-meeting-room', + 'places-no-photography', + 'places-no-stroller', + 'places-pool', + 'places-rice-bowl', + 'places-roofing', + 'places-room-preferences', + 'places-room-service', + 'places-rv-hookup', + 'places-smoke-free', + 'places-smoking-rooms', + 'places-soap', + 'places-spa', + 'places-sports-bar', + 'places-stairs', + 'places-storefront', + 'places-stroller', + 'places-tapas', + 'places-tty', + 'places-umbrella', + 'places-wash', + 'places-water-damage', + 'places-wheelchair-pickup', + 'social-6-ft-apart', + 'social-architecture', + 'social-cake', + 'social-clean-hands', + 'social-connect-without-contact', + 'social-construction', + 'social-coronavirus', + 'social-deck', + 'social-domain', + 'social-elderly', + 'social-emoji-emotions', + 'social-emoji-events', + 'social-emoji-flags', + 'social-emoji-food-beverage', + 'social-emoji-nature', + 'social-emoji-objects', + 'social-emoji-people', + 'social-emoji-symbols', + 'social-emoji-transportation', + 'social-engineering', + 'social-facebook', + 'social-fireplace', + 'social-follow-the-signs', + 'social-group-add', + 'social-group', + 'social-groups', + 'social-history-edu', + 'social-king-bed', + 'social-location-city', + 'social-luggage', + 'social-masks', + 'social-military-tech', + 'social-mood-bad', + 'social-mood', + 'social-nights-stay', + 'social-no-luggage', + 'social-notifications-active', + 'social-notifications-none', + 'social-notifications-off', + 'social-notifications-paused', + 'social-notifications', + 'social-outdoor-grill', + 'social-pages', + 'social-party-mode', + 'social-people-alt', + 'social-people-outline', + 'social-people', + 'social-person-add', + 'social-person-outline', + 'social-person-remove', + 'social-person', + 'social-plus-one', + 'social-poll', + 'social-psychology', + 'social-public-off', + 'social-public', + 'social-reduce-capacity', + 'social-sanitizer', + 'social-school', + 'social-science', + 'social-self-improvement', + 'social-sentiment-dissatisfied', + 'social-sentiment-neutral', + 'social-sentiment-satisfied', + 'social-sentiment-very-dissatisfied', + 'social-sentiment-very-satisfied', + 'social-share', + 'social-sick', + 'social-single-bed', + 'social-sports-baseball', + 'social-sports-basketball', + 'social-sports-cricket', + 'social-sports-esports', + 'social-sports-football', + 'social-sports-golf', + 'social-sports-handball', + 'social-sports-hockey', + 'social-sports-kabaddi', + 'social-sports-mma', + 'social-sports-motorsports', + 'social-sports-rugby', + 'social-sports-soccer', + 'social-sports-tennis', + 'social-sports-volleyball', + 'social-sports', + 'social-thumb-down-alt', + 'social-thumb-up-alt', + 'social-whatshot', + 'toggle-check-box-outline-blank', + 'toggle-check-box', + 'toggle-indeterminate-check-box', + 'toggle-radio-button-checked', + 'toggle-radio-button-unchecked', + 'toggle-star-border', + 'toggle-star-half', + 'toggle-star-outline', + 'toggle-star', + 'toggle-toggle-off', + 'toggle-toggle-on' + ] + } + ]; +} diff --git a/src/main/test/modules/image/image.module.ts b/src/main/test/modules/image/image.module.ts index 80a959820..af3d8efa9 100644 --- a/src/main/test/modules/image/image.module.ts +++ b/src/main/test/modules/image/image.module.ts @@ -5,7 +5,7 @@ import { ExDefaultComponent } from './default/default.component'; import { TeImageComponent } from './image.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ExFallbackComponent } from './fallback/fallback.component'; import { ExPlaceholderComponent } from './placeholder/placeholder.component'; import { ExGroupComponent } from './group/group.component'; @@ -15,7 +15,7 @@ import { XDialogModule } from '@ng-nest/ui/dialog'; const routers = [{ path: '', component: TeImageComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, XImageModule, XButtonModule, XLayoutModule, XDialogModule], + imports: [RouterModule.forChild(routers), CommonModule, XImageModule, XButtonComponent, XLayoutModule, XDialogModule], declarations: [TeImageComponent, ExDefaultComponent, ExFallbackComponent, ExPlaceholderComponent, ExGroupComponent, ExCustomComponent] }) export class TeImageModule {} diff --git a/src/main/test/modules/input-number/input-number.module.ts b/src/main/test/modules/input-number/input-number.module.ts index b04621e54..e763f8786 100644 --- a/src/main/test/modules/input-number/input-number.module.ts +++ b/src/main/test/modules/input-number/input-number.module.ts @@ -6,7 +6,7 @@ import { TeInputNumberComponent } from './input-number.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ExFormatComponent } from './format/format.component'; import { ExBorderedComponent } from './bordered/bordered.component'; import { ExDisabledComponent } from './disabled/disabled.component'; @@ -26,7 +26,7 @@ const routers = [{ path: '', component: TeInputNumberComponent }]; FormsModule, XInputNumberModule, XLayoutModule, - XButtonModule, + XButtonComponent, XRadioModule ], declarations: [ diff --git a/src/main/test/modules/input/input.module.ts b/src/main/test/modules/input/input.module.ts index 8e30b61b7..221f5f7c6 100644 --- a/src/main/test/modules/input/input.module.ts +++ b/src/main/test/modules/input/input.module.ts @@ -10,7 +10,7 @@ import { ExValidatorComponent } from './validator/validator.component'; import { ExRequiredComponent } from './required/required.component'; import { ExPerpostComponent } from './perpost/perpost.component'; import { XAutoCompleteModule } from '@ng-nest/ui/auto-complete'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XCascadeModule } from '@ng-nest/ui/cascade'; import { XColorPickerModule } from '@ng-nest/ui/color-picker'; import { XDatePickerModule } from '@ng-nest/ui/date-picker'; @@ -32,7 +32,7 @@ const routers = [{ path: '', component: TeInputComponent }]; XLayoutModule, XRadioModule, XSelectModule, - XButtonModule, + XButtonComponent, XDatePickerModule, XAutoCompleteModule, XCascadeModule, diff --git a/src/main/test/modules/link/default/default.component.html b/src/main/test/modules/link/default/default.component.html new file mode 100644 index 000000000..c0b8049b8 --- /dev/null +++ b/src/main/test/modules/link/default/default.component.html @@ -0,0 +1,10 @@ + + + 默认链接 + 主要链接 + 成功链接 + 警告链接 + 危险链接 + 信息链接 + + diff --git a/src/main/test/modules/link/default/default.component.scss b/src/main/test/modules/link/default/default.component.scss new file mode 100644 index 000000000..b2428ff47 --- /dev/null +++ b/src/main/test/modules/link/default/default.component.scss @@ -0,0 +1,5 @@ +:host { + x-row > x-col > x-link:not(:first-child) { + margin-left: 1rem; + } +} diff --git a/src/main/test/modules/link/default/default.component.ts b/src/main/test/modules/link/default/default.component.ts new file mode 100644 index 000000000..708099f12 --- /dev/null +++ b/src/main/test/modules/link/default/default.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XLinkComponent } from '@ng-nest/ui/link'; + +@Component({ + selector: 'ex-default', + standalone: true, + imports: [XLinkComponent, XLayoutModule], + templateUrl: './default.component.html', + styleUrls: ['./default.component.scss'] +}) +export class ExDefaultComponent {} diff --git a/src/main/test/modules/link/disabled/disabled.component.html b/src/main/test/modules/link/disabled/disabled.component.html new file mode 100644 index 000000000..100e2262e --- /dev/null +++ b/src/main/test/modules/link/disabled/disabled.component.html @@ -0,0 +1,10 @@ + + + 默认链接 + 主要链接 + 成功链接 + 警告链接 + 危险链接 + 信息链接 + + diff --git a/src/main/test/modules/link/disabled/disabled.component.scss b/src/main/test/modules/link/disabled/disabled.component.scss new file mode 100644 index 000000000..b2428ff47 --- /dev/null +++ b/src/main/test/modules/link/disabled/disabled.component.scss @@ -0,0 +1,5 @@ +:host { + x-row > x-col > x-link:not(:first-child) { + margin-left: 1rem; + } +} diff --git a/src/main/test/modules/link/disabled/disabled.component.ts b/src/main/test/modules/link/disabled/disabled.component.ts new file mode 100644 index 000000000..6e5644f87 --- /dev/null +++ b/src/main/test/modules/link/disabled/disabled.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XLinkComponent } from '@ng-nest/ui/link'; + +@Component({ + selector: 'ex-disabled', + standalone: true, + imports: [XLinkComponent, XLayoutModule], + templateUrl: './disabled.component.html', + styleUrls: ['./disabled.component.scss'] +}) +export class ExDisabledComponent {} diff --git a/src/main/test/modules/link/icon/icon.component.html b/src/main/test/modules/link/icon/icon.component.html new file mode 100644 index 000000000..252375369 --- /dev/null +++ b/src/main/test/modules/link/icon/icon.component.html @@ -0,0 +1,6 @@ + + + 后退 + 前进 + + diff --git a/src/main/test/modules/link/icon/icon.component.scss b/src/main/test/modules/link/icon/icon.component.scss new file mode 100644 index 000000000..b2428ff47 --- /dev/null +++ b/src/main/test/modules/link/icon/icon.component.scss @@ -0,0 +1,5 @@ +:host { + x-row > x-col > x-link:not(:first-child) { + margin-left: 1rem; + } +} diff --git a/src/main/test/modules/link/icon/icon.component.ts b/src/main/test/modules/link/icon/icon.component.ts new file mode 100644 index 000000000..7e6a8fbf7 --- /dev/null +++ b/src/main/test/modules/link/icon/icon.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XLinkComponent } from '@ng-nest/ui/link'; + +@Component({ + selector: 'ex-icon', + standalone: true, + imports: [XLinkComponent, XLayoutModule], + templateUrl: './icon.component.html', + styleUrls: ['./icon.component.scss'] +}) +export class ExIconComponent {} diff --git a/src/main/test/modules/link/link.component.html b/src/main/test/modules/link/link.component.html new file mode 100644 index 000000000..3c6c56f83 --- /dev/null +++ b/src/main/test/modules/link/link.component.html @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/test/modules/link/link.component.ts b/src/main/test/modules/link/link.component.ts new file mode 100644 index 000000000..e49e050d7 --- /dev/null +++ b/src/main/test/modules/link/link.component.ts @@ -0,0 +1,13 @@ +import { Component } from '@angular/core'; +import { ExDefaultComponent } from './default/default.component'; +import { ExDisabledComponent } from './disabled/disabled.component'; +import { ExIconComponent } from './icon/icon.component'; +import { ExUnderlineComponent } from './underline/underline.component'; + +@Component({ + selector: 'te-link', + standalone: true, + imports: [ExDefaultComponent, ExDisabledComponent, ExIconComponent, ExUnderlineComponent], + templateUrl: './link.component.html' +}) +export class TeLinkComponent {} diff --git a/src/main/test/modules/link/underline/underline.component.html b/src/main/test/modules/link/underline/underline.component.html new file mode 100644 index 000000000..5c5ac0178 --- /dev/null +++ b/src/main/test/modules/link/underline/underline.component.html @@ -0,0 +1,6 @@ + + + 有下划线 + 无下划线 + + diff --git a/src/main/test/modules/link/underline/underline.component.scss b/src/main/test/modules/link/underline/underline.component.scss new file mode 100644 index 000000000..b2428ff47 --- /dev/null +++ b/src/main/test/modules/link/underline/underline.component.scss @@ -0,0 +1,5 @@ +:host { + x-row > x-col > x-link:not(:first-child) { + margin-left: 1rem; + } +} diff --git a/src/main/test/modules/link/underline/underline.component.ts b/src/main/test/modules/link/underline/underline.component.ts new file mode 100644 index 000000000..3b31a9f70 --- /dev/null +++ b/src/main/test/modules/link/underline/underline.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; +import { XLayoutModule } from '@ng-nest/ui/layout'; +import { XLinkComponent } from '@ng-nest/ui/link'; + +@Component({ + selector: 'ex-underline', + standalone: true, + imports: [XLinkComponent, XLayoutModule], + templateUrl: './underline.component.html', + styleUrls: ['./underline.component.scss'] +}) +export class ExUnderlineComponent {} diff --git a/src/main/test/modules/list/list.module.ts b/src/main/test/modules/list/list.module.ts index 9ca259d46..596675351 100644 --- a/src/main/test/modules/list/list.module.ts +++ b/src/main/test/modules/list/list.module.ts @@ -11,7 +11,7 @@ import { XRadioModule } from '@ng-nest/ui/radio'; import { ExLoadMoreComponent } from './load-more/load-more.component'; import { ExScrollComponent } from './scroll/scroll.component'; import { XDialogModule } from '@ng-nest/ui/dialog'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XInputNumberModule } from '@ng-nest/ui/input-number'; import { ExKeywordComponent } from './keyword/keyword.component'; @@ -25,7 +25,7 @@ const routers = [{ path: '', component: TeListComponent }]; XListModule, XRadioModule, XLayoutModule, - XButtonModule, + XButtonComponent, XDialogModule, XInputNumberModule ], diff --git a/src/main/test/modules/message-box/message-box.module.ts b/src/main/test/modules/message-box/message-box.module.ts index d0e826d50..7490a87f4 100644 --- a/src/main/test/modules/message-box/message-box.module.ts +++ b/src/main/test/modules/message-box/message-box.module.ts @@ -5,7 +5,7 @@ import { ExDefaultComponent } from './default/default.component'; import { TeMessageBoxComponent } from './message-box.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ExConfirmComponent } from './confirm/confirm.component'; import { ExPromptComponent } from './prompt/prompt.component'; import { ExCustomComponent } from './custom/custom.component'; @@ -16,7 +16,7 @@ import { ExLoadingComponent } from './loading/loading.component'; const routers = [{ path: '', component: TeMessageBoxComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, XMessageBoxModule, XMessageModule, XButtonModule, XLayoutModule], + imports: [RouterModule.forChild(routers), CommonModule, XMessageBoxModule, XMessageModule, XButtonComponent, XLayoutModule], declarations: [ TeMessageBoxComponent, ExDefaultComponent, diff --git a/src/main/test/modules/message/message.module.ts b/src/main/test/modules/message/message.module.ts index ed397ebc4..7c59946ca 100644 --- a/src/main/test/modules/message/message.module.ts +++ b/src/main/test/modules/message/message.module.ts @@ -5,13 +5,13 @@ import { ExDefaultComponent } from './default/default.component'; import { TeMessageComponent } from './message.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ExLoadingComponent } from './loading/loading.component'; const routers = [{ path: '', component: TeMessageComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, XMessageModule, XButtonModule, XLayoutModule], + imports: [RouterModule.forChild(routers), CommonModule, XMessageModule, XButtonComponent, XLayoutModule], declarations: [TeMessageComponent, ExDefaultComponent, ExLoadingComponent] }) export class TeMessageModule {} diff --git a/src/main/test/modules/popconfirm/popconfirm.module.ts b/src/main/test/modules/popconfirm/popconfirm.module.ts index 75df02523..65389824c 100644 --- a/src/main/test/modules/popconfirm/popconfirm.module.ts +++ b/src/main/test/modules/popconfirm/popconfirm.module.ts @@ -5,7 +5,7 @@ import { ExDefaultComponent } from './default/default.component'; import { TePopconfirmComponent } from './popconfirm.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ExAsyncCloseComponent } from './async-close/async-close.component'; import { ExConditionComponent } from './condition/condition.component'; import { XSwitchModule } from '@ng-nest/ui/switch'; @@ -20,7 +20,7 @@ const routers = [{ path: '', component: TePopconfirmComponent }]; CommonModule, XPopconfirmModule, XLayoutModule, - XButtonModule, + XButtonComponent, FormsModule, XSwitchModule, XMessageModule diff --git a/src/main/test/modules/popover/popover.module.ts b/src/main/test/modules/popover/popover.module.ts index 5fd4f2c6a..348dd1a92 100644 --- a/src/main/test/modules/popover/popover.module.ts +++ b/src/main/test/modules/popover/popover.module.ts @@ -5,12 +5,12 @@ import { ExDefaultComponent } from './default/default.component'; import { TePopoverComponent } from './popover.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; const routers = [{ path: '', component: TePopoverComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, XButtonModule, XPopoverModule, XLayoutModule], + imports: [RouterModule.forChild(routers), CommonModule, XButtonComponent, XPopoverModule, XLayoutModule], declarations: [TePopoverComponent, ExDefaultComponent] }) export class TePopoverModule {} diff --git a/src/main/test/modules/progress/progress.module.ts b/src/main/test/modules/progress/progress.module.ts index 7da0cc4ca..7a18e98dc 100644 --- a/src/main/test/modules/progress/progress.module.ts +++ b/src/main/test/modules/progress/progress.module.ts @@ -10,12 +10,19 @@ import { ExStepsComponent } from './steps/steps.component'; import { ExCircleComponent } from './circle/circle.component'; import { ExDashboardComponent } from './dashboard/dashboard.component'; import { ExSubsectionComponent } from './subsection/subsection.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; const routers = [{ path: '', component: TeProgressComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, XProgressModule, XLayoutModule, XButtonModule], + imports: [ + RouterModule.forChild(routers), + CommonModule, + XProgressModule, + XLayoutModule, + XButtonComponent, + XButtonsComponent + ], declarations: [ TeProgressComponent, ExDefaultComponent, diff --git a/src/main/test/modules/radio/radio.module.ts b/src/main/test/modules/radio/radio.module.ts index 9c13e78ae..7b28090b1 100644 --- a/src/main/test/modules/radio/radio.module.ts +++ b/src/main/test/modules/radio/radio.module.ts @@ -14,7 +14,7 @@ import { XColorPickerModule } from '@ng-nest/ui/color-picker'; import { XFindModule } from '@ng-nest/ui/find'; import { XTextareaModule } from '@ng-nest/ui/textarea'; import { XTimePickerModule } from '@ng-nest/ui/time-picker'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XInputModule } from '@ng-nest/ui/input'; import { FormsModule } from '@angular/forms'; import { ExTagComponent } from './tag/tag.component'; @@ -34,7 +34,7 @@ const routers = [{ path: '', component: TeRadioComponent }]; XAutoCompleteModule, XSelectModule, XDatePickerModule, - XButtonModule, + XButtonComponent, XLayoutModule, XCascadeModule, XColorPickerModule, diff --git a/src/main/test/modules/rate/rate.module.ts b/src/main/test/modules/rate/rate.module.ts index f386d0447..322dc823e 100644 --- a/src/main/test/modules/rate/rate.module.ts +++ b/src/main/test/modules/rate/rate.module.ts @@ -7,12 +7,12 @@ import { TeRateComponent } from './rate.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; const routers = [{ path: '', component: TeRateComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, FormsModule, XRateModule, XIconModule, XLayoutModule], + imports: [RouterModule.forChild(routers), CommonModule, FormsModule, XRateModule, XIconComponent, XLayoutModule], declarations: [TeRateComponent, ExDefaultComponent, ExColorComponent] }) export class TeRateModule {} diff --git a/src/main/test/modules/slider-select/slider-select.module.ts b/src/main/test/modules/slider-select/slider-select.module.ts index ba692c749..01fa1ee2c 100644 --- a/src/main/test/modules/slider-select/slider-select.module.ts +++ b/src/main/test/modules/slider-select/slider-select.module.ts @@ -14,8 +14,8 @@ import { ExReverseComponent } from './reverse/reverse.component'; import { ExVerticalComponent } from './vertical/vertical.component'; import { ExRangeComponent } from './range/range.component'; import { ExIconComponent } from './icon/icon.component'; -import { XIconModule } from '@ng-nest/ui/icon'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XIconComponent } from '@ng-nest/ui/icon'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ExMarksComponent } from './marks/marks.component'; import { ExCustomValueComponent } from './custom-value/custom-value.component'; @@ -28,8 +28,8 @@ const routers = [{ path: '', component: TeSliderSelectComponent }]; FormsModule, XSliderSelectModule, XLayoutModule, - XIconModule, - XButtonModule + XIconComponent, + XButtonComponent ], declarations: [ TeSliderSelectComponent, diff --git a/src/main/test/modules/steps/steps.module.ts b/src/main/test/modules/steps/steps.module.ts index e65a04922..87979dddc 100644 --- a/src/main/test/modules/steps/steps.module.ts +++ b/src/main/test/modules/steps/steps.module.ts @@ -6,13 +6,13 @@ import { TeStepsComponent } from './steps.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ExNodeStatusComponent } from './node-status/node-status.component'; const routers = [{ path: '', component: TeStepsComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, FormsModule, XStepsModule, XButtonModule, XLayoutModule], + imports: [RouterModule.forChild(routers), CommonModule, FormsModule, XStepsModule, XButtonComponent, XLayoutModule], declarations: [TeStepsComponent, ExDefaultComponent, ExNodeStatusComponent] }) export class TeStepsModule {} diff --git a/src/main/test/modules/switch/switch.module.ts b/src/main/test/modules/switch/switch.module.ts index f5a3b1fc7..885b3a309 100644 --- a/src/main/test/modules/switch/switch.module.ts +++ b/src/main/test/modules/switch/switch.module.ts @@ -13,7 +13,7 @@ import { ExSizeComponent } from './size/size.component'; import { XRadioModule } from '@ng-nest/ui/radio'; import { XInputModule } from '@ng-nest/ui/input'; import { ExTextComponent } from './text/text.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; const routers = [{ path: '', component: TeSwitchComponent }]; @@ -26,7 +26,7 @@ const routers = [{ path: '', component: TeSwitchComponent }]; XLayoutModule, XRadioModule, XInputModule, - XIconModule + XIconComponent ], declarations: [ TeSwitchComponent, diff --git a/src/main/test/modules/table/table.module.ts b/src/main/test/modules/table/table.module.ts index b093dfead..323d398b6 100644 --- a/src/main/test/modules/table/table.module.ts +++ b/src/main/test/modules/table/table.module.ts @@ -9,15 +9,15 @@ import { ConfigService } from './config/config.service'; import { RowclassService } from './rowclass/rowclass.service'; import { TeTableComponent } from './table.component'; import { ExExpandComponent } from './expand/expand.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XDialogModule } from '@ng-nest/ui/dialog'; import { ExAdaptionComponent } from './adaption/adaption.component'; import { CommonModule } from '@angular/common'; import { XDescriptionModule } from '@ng-nest/ui/description'; import { ExHeaderComponent } from './header/header.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ExScrollComponent } from './scroll/scroll.component'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { ExFixComponent } from './fix/fix.component'; import { ExHeadComponent } from './head/head.component'; import { FormsModule } from '@angular/forms'; @@ -56,11 +56,11 @@ const routers = [ CommonModule, FormsModule, XTableModule, - XButtonModule, - XIconModule, + XButtonComponent, + XIconComponent, XDialogModule, XDescriptionModule, - XLinkModule, + XLinkComponent, XInputModule, XSwitchModule, XSelectModule, diff --git a/src/main/test/modules/tabs/tabs.module.ts b/src/main/test/modules/tabs/tabs.module.ts index 032553ffd..4f5bd86ad 100644 --- a/src/main/test/modules/tabs/tabs.module.ts +++ b/src/main/test/modules/tabs/tabs.module.ts @@ -6,8 +6,8 @@ import { TeTabsComponent } from './tabs.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; import { ExActionComponent } from './action/action.component'; -import { XButtonModule } from '@ng-nest/ui/button'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ExExpandComponent } from './expand/expand.component'; import { ExRouterComponent } from './router/router.component'; import { ExExampleComponent } from './example/example.component'; @@ -15,7 +15,7 @@ import { XExamplesModule } from '@ng-nest/ui/examples'; import { XHighlightModule } from '@ng-nest/ui/highlight'; import { XTableModule } from '@ng-nest/ui/table'; import { ExScrollComponent } from './default/scroll/scroll.component'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XLinkComponent } from '@ng-nest/ui/link'; const routers = [{ path: '', component: TeTabsComponent }]; @@ -26,11 +26,12 @@ const routers = [{ path: '', component: TeTabsComponent }]; XTabsModule, XLayoutModule, XExamplesModule, - XButtonModule, - XIconModule, + XButtonComponent, + XButtonsComponent, + XIconComponent, XHighlightModule, XTableModule, - XLinkModule + XLinkComponent ], declarations: [ TeTabsComponent, diff --git a/src/main/test/modules/tag/tag.module.ts b/src/main/test/modules/tag/tag.module.ts index c2a9cfd0a..24fb64850 100644 --- a/src/main/test/modules/tag/tag.module.ts +++ b/src/main/test/modules/tag/tag.module.ts @@ -8,12 +8,12 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; import { ExCheckedComponent } from './checked/checked.component'; import { ExCloseComponent } from './close/close.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; const routers = [{ path: '', component: TeTagComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, XTagModule, XLayoutModule, XButtonModule], + imports: [RouterModule.forChild(routers), CommonModule, XTagModule, XLayoutModule, XButtonComponent], declarations: [TeTagComponent, ExDefaultComponent, ExColorComponent, ExCheckedComponent, ExCloseComponent] }) export class TeTagModule {} diff --git a/src/main/test/modules/time-picker/time-picker.module.ts b/src/main/test/modules/time-picker/time-picker.module.ts index 541d3b5ed..3839f32e3 100644 --- a/src/main/test/modules/time-picker/time-picker.module.ts +++ b/src/main/test/modules/time-picker/time-picker.module.ts @@ -4,7 +4,7 @@ import { XDatePickerModule } from '@ng-nest/ui/date-picker'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XRadioModule } from '@ng-nest/ui/radio'; import { XSelectModule } from '@ng-nest/ui/select'; import { XInputModule } from '@ng-nest/ui/input'; @@ -37,7 +37,7 @@ const routers = [{ path: '', component: TeTimePickerComponent }]; XLayoutModule, XDatePickerModule, ReactiveFormsModule, - XButtonModule, + XButtonComponent, XRadioModule, XSelectModule, XInputModule, diff --git a/src/main/test/modules/tooltip/tooltip.module.ts b/src/main/test/modules/tooltip/tooltip.module.ts index 94f452cd4..418db59c3 100644 --- a/src/main/test/modules/tooltip/tooltip.module.ts +++ b/src/main/test/modules/tooltip/tooltip.module.ts @@ -5,9 +5,9 @@ import { ExDefaultComponent } from './default/default.component'; import { TeTooltipComponent } from './tooltip.component'; import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ExCustomComponent } from './custom/custom.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; const routers = [{ path: '', component: TeTooltipComponent }]; @@ -15,10 +15,10 @@ const routers = [{ path: '', component: TeTooltipComponent }]; imports: [ RouterModule.forChild(routers), CommonModule, - XButtonModule, + XButtonComponent, XTooltipModule, XLayoutModule, - XIconModule + XIconComponent ], declarations: [TeTooltipComponent, ExDefaultComponent, ExCustomComponent] }) diff --git a/src/main/test/modules/transfer/transfer.module.ts b/src/main/test/modules/transfer/transfer.module.ts index f358bac8a..cceedaa98 100644 --- a/src/main/test/modules/transfer/transfer.module.ts +++ b/src/main/test/modules/transfer/transfer.module.ts @@ -9,12 +9,12 @@ import { ExTreeComponent } from './tree/tree.component'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { ExCustomComponent } from './custom/custom.component'; import { ExDragComponent } from './drag/drag.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { XTreeModule } from '@ng-nest/ui/tree'; import { ExTableComponent } from './table/table.component'; import { XTableModule } from '@ng-nest/ui/table'; import { ExFooterComponent } from './footer/footer.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { ExSearchComponent } from './search/search.component'; import { XSelectModule } from '@ng-nest/ui/select'; import { XInputModule } from '@ng-nest/ui/input'; @@ -29,9 +29,9 @@ const routers = [{ path: '', component: TeTransferComponent }]; FormsModule, ReactiveFormsModule, XTransferModule, - XButtonModule, + XButtonComponent, XLayoutModule, - XIconModule, + XIconComponent, XTreeModule, XTableModule, XSelectModule, diff --git a/src/main/test/modules/tree/tree.module.ts b/src/main/test/modules/tree/tree.module.ts index 5e2e12c4b..baa126fda 100644 --- a/src/main/test/modules/tree/tree.module.ts +++ b/src/main/test/modules/tree/tree.module.ts @@ -7,7 +7,7 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; import { ExVirtualScrollComponent } from './virtual-scroll/virtual-scroll.component'; import { ExControlComponent } from './control/control.component'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XInputNumberModule } from '@ng-nest/ui/input-number'; import { FormsModule } from '@angular/forms'; import { ExStatusComponent } from './status/status.component'; @@ -16,11 +16,11 @@ import { ExLazyComponent } from './lazy/lazy.component'; import { ExHeightComponent } from './height/height.component'; import { ExCustomComponent } from './custom/custom.component'; import { ExCheckboxComponent } from './checkbox/checkbox.component'; -import { XLinkModule } from '@ng-nest/ui/link'; +import { XLinkComponent } from '@ng-nest/ui/link'; import { ExActivatedComponent } from './activated/activated.component'; import { ExDragComponent } from './drag/drag.component'; import { ExIconComponent } from './icon/icon.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; import { ExLineComponent } from './line/line.component'; const routers = [{ path: '', component: TeTreeComponent }]; @@ -30,12 +30,12 @@ const routers = [{ path: '', component: TeTreeComponent }]; RouterModule.forChild(routers), CommonModule, FormsModule, - XLinkModule, + XLinkComponent, XTreeModule, XLayoutModule, - XButtonModule, + XButtonComponent, XInputNumberModule, - XIconModule + XIconComponent ], declarations: [ TeTreeComponent, diff --git a/src/main/test/modules/upload/upload.module.ts b/src/main/test/modules/upload/upload.module.ts index db692a9b1..6ed089411 100644 --- a/src/main/test/modules/upload/upload.module.ts +++ b/src/main/test/modules/upload/upload.module.ts @@ -8,12 +8,12 @@ import { XLayoutModule } from '@ng-nest/ui/layout'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { ExImgComponent } from './img/img.component'; -import { XIconModule } from '@ng-nest/ui/icon'; +import { XIconComponent } from '@ng-nest/ui/icon'; const routers = [{ path: '', component: TeUploadComponent }]; @NgModule({ - imports: [RouterModule.forChild(routers), CommonModule, FormsModule, XUploadModule, XLayoutModule, XIconModule], + imports: [RouterModule.forChild(routers), CommonModule, FormsModule, XUploadModule, XLayoutModule, XIconComponent], declarations: [TeUploadComponent, ExDefaultComponent, ExCustomComponent, ExImgComponent] }) export class TeUploadModule {} diff --git a/src/main/test/test-routes.module.ts b/src/main/test/test-routes.module.ts index 3c0623b98..2e1727b48 100644 --- a/src/main/test/test-routes.module.ts +++ b/src/main/test/test-routes.module.ts @@ -3,7 +3,27 @@ import { RouterModule, Routes } from '@angular/router'; import { environment } from '../../environments/environment'; import { TestComponent } from './test.component'; -const testModules = [ +const testModules: Routes = [ + { + path: 'affix', + loadComponent: () => import('./modules/affix/affix.component').then((x) => x.TeAffixComponent) + }, + { + path: 'icon', + loadComponent: () => import('./modules/icon/icon.component').then((x) => x.TeIconComponent) + }, + { + path: 'empty', + loadComponent: () => import('./modules/empty/empty.component').then((x) => x.TeEmptyComponent) + }, + { + path: 'link', + loadComponent: () => import('./modules/link/link.component').then((x) => x.TeLinkComponent) + }, + { + path: 'alert', + loadComponent: () => import('./modules/alert/alert.component').then((x) => x.TeAlertComponent) + }, { path: 'table', loadChildren: () => import('./modules/table/table.module').then((x) => x.TeTableModule) @@ -46,10 +66,6 @@ const testModules = [ loadChildren: () => import('./modules/message-box/message-box.module').then((x) => x.TeMessageBoxModule) }, - { - path: 'alert', - loadChildren: () => import('./modules/alert/alert.module').then((x) => x.TeAlertModule) - }, { path: 'find', loadChildren: () => import('./modules/find/find.module').then((x) => x.TeFindModule) @@ -101,7 +117,7 @@ const testModules = [ }, { path: 'badge', - loadChildren: () => import('./modules/badge/badge.module').then((x) => x.TeBadgeModule) + loadComponent: () => import('./modules/badge/badge.component').then((x) => x.TeBadgeComponent) }, { path: 'list', @@ -131,7 +147,8 @@ const testModules = [ }, { path: 'button', - loadChildren: () => import('./modules/button/button.module').then((x) => x.TeButtonModule) + loadComponent: () => + import('./modules/button/button.component').then((x) => x.TeButtonComponent) }, { path: 'textarea', @@ -147,7 +164,8 @@ const testModules = [ }, { path: 'avatar', - loadChildren: () => import('./modules/avatar/avatar.module').then((x) => x.TeAvatarModule) + loadComponent: () => + import('./modules/avatar/avatar.component').then((x) => x.TeAvatarComponent) }, { path: 'tree-select', diff --git a/src/share/share.module.ts b/src/share/share.module.ts index 9394b459f..b8639fcbe 100644 --- a/src/share/share.module.ts +++ b/src/share/share.module.ts @@ -5,12 +5,12 @@ import { RouterModule } from '@angular/router'; import { HttpClientModule } from '@angular/common/http'; import { XDocModule } from '@ng-nest/ui/doc'; import { XExamplesModule } from '@ng-nest/ui/examples'; -import { XApiModule } from '@ng-nest/ui/api'; +import { XApiComponent } from '@ng-nest/ui/api'; import { XTabsModule } from '@ng-nest/ui/tabs'; import { XHighlightModule } from '@ng-nest/ui/highlight'; -import { XPatternModule } from '@ng-nest/ui/pattern'; -import { XI18nModule } from '@ng-nest/ui/i18n'; -import { XButtonModule } from '@ng-nest/ui/button'; +import { XPatternComponent } from '@ng-nest/ui/pattern'; +import { XI18nDirective } from '@ng-nest/ui/i18n'; +import { XButtonComponent } from '@ng-nest/ui/button'; import { XTooltipModule } from '@ng-nest/ui/tooltip'; import { XAnchorModule } from '@ng-nest/ui/anchor'; import { NsAdaptionModule } from './adaption/adaption.module'; @@ -25,12 +25,12 @@ const modules = [ XDocModule, XExamplesModule, XAnchorModule, - XApiModule, + XApiComponent, XTabsModule, XHighlightModule, - XPatternModule, - XI18nModule, - XButtonModule, + XPatternComponent, + XI18nDirective, + XButtonComponent, XTooltipModule ];