@ng-nest/ui 17.0.11 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/affix/affix.component.d.ts +0 -2
- package/affix/affix.property.d.ts +12 -7
- package/alert/alert.component.d.ts +12 -11
- package/alert/alert.property.d.ts +36 -35
- package/anchor/anchor.component.d.ts +15 -18
- package/anchor/anchor.property.d.ts +17 -8
- package/api/api.component.d.ts +2 -7
- package/auto-complete/auto-complete-portal.component.d.ts +20 -25
- package/auto-complete/auto-complete.component.d.ts +17 -34
- package/auto-complete/auto-complete.property.d.ts +282 -20
- package/avatar/avatar.component.d.ts +29 -19
- package/avatar/avatar.property.d.ts +78 -12
- package/back-top/back-top.component.d.ts +12 -17
- package/back-top/back-top.property.d.ts +12 -8
- package/badge/badge.component.d.ts +9 -16
- package/badge/badge.property.d.ts +95 -13
- package/base-form/base-form.component.d.ts +53 -26
- package/base-form/base-form.module.d.ts +1 -2
- package/base-form/base-form.property.d.ts +173 -45
- package/button/button.component.d.ts +16 -14
- package/button/button.property.d.ts +242 -100
- package/button/buttons.component.d.ts +8 -10
- package/calendar/calendar.component.d.ts +41 -27
- package/calendar/calendar.property.d.ts +69 -10
- package/card/card.component.d.ts +4 -6
- package/card/card.property.d.ts +50 -9
- package/carousel/carousel-panel.component.d.ts +15 -14
- package/carousel/carousel.component.d.ts +18 -19
- package/carousel/carousel.property.d.ts +168 -28
- package/cascade/cascade-portal.component.d.ts +28 -28
- package/cascade/cascade.component.d.ts +24 -30
- package/cascade/cascade.property.d.ts +292 -20
- package/checkbox/checkbox.component.d.ts +17 -17
- package/checkbox/checkbox.property.d.ts +274 -35
- package/collapse/collapse-panel.component.d.ts +5 -2
- package/collapse/collapse.component.d.ts +3 -7
- package/collapse/collapse.property.d.ts +113 -20
- package/color/color.component.d.ts +4 -9
- package/color/color.property.d.ts +36 -8
- package/color-picker/color-picker-portal.component.d.ts +40 -52
- package/color-picker/color-picker.component.d.ts +19 -28
- package/color-picker/color-picker.property.d.ts +260 -10
- package/comment/comment-reply.component.d.ts +1 -8
- package/comment/comment.component.d.ts +4 -14
- package/comment/comment.property.d.ts +21 -15
- package/container/aside.component.d.ts +3 -8
- package/container/container.component.d.ts +5 -9
- package/container/container.property.d.ts +33 -19
- package/container/footer.component.d.ts +2 -5
- package/container/header.component.d.ts +2 -5
- package/container/main.component.d.ts +2 -7
- package/core/animation/badge.d.ts +8 -0
- package/core/animation/connect.d.ts +8 -1
- package/core/animation/consts.d.ts +4 -0
- package/core/animation/drop.d.ts +4 -0
- package/core/animation/fade.d.ts +4 -0
- package/core/animation/move.d.ts +4 -0
- package/core/animation/opacity.d.ts +4 -0
- package/core/animation/slide.d.ts +4 -1
- package/core/config/config.d.ts +174 -108
- package/core/config/config.service.d.ts +5 -5
- package/core/config/index.d.ts +1 -0
- package/core/functions/chunk.d.ts +12 -1
- package/core/functions/clone-deep.d.ts +16 -0
- package/core/functions/convert.d.ts +77 -4
- package/core/functions/csspx.d.ts +5 -0
- package/core/functions/date.d.ts +59 -3
- package/core/functions/drop.d.ts +13 -1
- package/core/functions/flex.d.ts +4 -0
- package/core/functions/group-by.d.ts +5 -1
- package/core/functions/guid.d.ts +2 -1
- package/core/functions/has-in.d.ts +4 -0
- package/core/functions/order-by.d.ts +5 -1
- package/core/functions/parent-path.d.ts +8 -0
- package/core/functions/property.d.ts +12 -6
- package/core/functions/public-api.d.ts +1 -0
- package/core/functions/remove.d.ts +5 -1
- package/core/functions/resize.d.ts +13 -1
- package/core/interfaces/data.type.d.ts +172 -3
- package/core/interfaces/identify.type.d.ts +60 -0
- package/core/interfaces/layout.type.d.ts +88 -37
- package/core/interfaces/result-list.type.d.ts +91 -3
- package/core/services/http.service.d.ts +0 -22
- package/core/services/repository.service.d.ts +1 -1
- package/core/services/reuse-strategy.service.d.ts +0 -22
- package/core/services/storage.service.d.ts +0 -21
- package/core/theme/theme.d.ts +45 -1
- package/core/theme/theme.service.d.ts +46 -11
- package/core/util/animation.d.ts +1 -1
- package/core/util/camel-to-kebab.d.ts +13 -0
- package/core/util/check.d.ts +10 -2
- package/core/util/computed-style.d.ts +8 -0
- package/core/util/host.d.ts +3 -2
- package/core/util/html.d.ts +3 -2
- package/core/util/kebab-to-camel.d.ts +13 -0
- package/core/util/log.d.ts +10 -2
- package/core/util/option.d.ts +3 -4
- package/core/util/public-api.d.ts +2 -0
- package/crumb/crumb.component.d.ts +1 -10
- package/crumb/crumb.property.d.ts +12 -8
- package/date-picker/date-picker-portal.component.d.ts +80 -33
- package/date-picker/date-picker.component.d.ts +74 -32
- package/date-picker/date-picker.property.d.ts +662 -214
- package/date-picker/date-range-portal.component.d.ts +102 -49
- package/date-picker/date-range.component.d.ts +87 -43
- package/date-picker/picker-date.component.d.ts +63 -17
- package/date-picker/picker-month.component.d.ts +59 -13
- package/date-picker/picker-quarter.component.d.ts +61 -15
- package/date-picker/picker-year.component.d.ts +8 -11
- package/description/description-item.component.d.ts +1 -1
- package/description/description.component.d.ts +6 -10
- package/description/description.property.d.ts +135 -16
- package/dialog/dialog-portal.component.d.ts +4 -4
- package/dialog/dialog-portal.directives.d.ts +1 -1
- package/dialog/dialog.component.d.ts +30 -23
- package/dialog/dialog.property.d.ts +77 -134
- package/doc/doc.component.d.ts +2 -5
- package/drag/drag.directive.d.ts +1 -1
- package/drag/drag.property.d.ts +4 -5
- package/drawer/drawer-container.component.d.ts +1 -1
- package/drawer/drawer-portal.component.d.ts +1 -1
- package/drawer/drawer.component.d.ts +15 -14
- package/drawer/drawer.property.d.ts +26 -18
- package/dropdown/dropdown-portal.component.d.ts +36 -45
- package/dropdown/dropdown.component.d.ts +17 -21
- package/dropdown/dropdown.property.d.ts +24 -21
- package/empty/empty.component.d.ts +0 -7
- package/empty/empty.property.d.ts +27 -4
- package/esm2022/affix/affix.component.mjs +6 -11
- package/esm2022/affix/affix.module.mjs +4 -4
- package/esm2022/affix/affix.property.mjs +22 -20
- package/esm2022/alert/alert.component.mjs +39 -44
- package/esm2022/alert/alert.module.mjs +4 -4
- package/esm2022/alert/alert.property.mjs +102 -107
- package/esm2022/anchor/anchor-inner.component.mjs +3 -3
- package/esm2022/anchor/anchor.component.mjs +73 -95
- package/esm2022/anchor/anchor.module.mjs +4 -4
- package/esm2022/anchor/anchor.property.mjs +45 -35
- package/esm2022/api/api.component.mjs +11 -14
- package/esm2022/api/api.module.mjs +4 -4
- package/esm2022/auto-complete/auto-complete-portal.component.mjs +36 -47
- package/esm2022/auto-complete/auto-complete.component.mjs +122 -162
- package/esm2022/auto-complete/auto-complete.module.mjs +4 -4
- package/esm2022/auto-complete/auto-complete.property.mjs +142 -55
- package/esm2022/avatar/avatar-group.component.mjs +3 -3
- package/esm2022/avatar/avatar.component.mjs +75 -81
- package/esm2022/avatar/avatar.module.mjs +4 -4
- package/esm2022/avatar/avatar.property.mjs +116 -45
- package/esm2022/back-top/back-top.component.mjs +57 -73
- package/esm2022/back-top/back-top.module.mjs +4 -4
- package/esm2022/back-top/back-top.property.mjs +37 -29
- package/esm2022/badge/badge.component.mjs +51 -59
- package/esm2022/badge/badge.module.mjs +4 -4
- package/esm2022/badge/badge.property.mjs +111 -38
- package/esm2022/base-form/base-form.component.mjs +89 -81
- package/esm2022/base-form/base-form.module.mjs +7 -8
- package/esm2022/base-form/base-form.property.mjs +200 -89
- package/esm2022/button/button.component.mjs +50 -59
- package/esm2022/button/button.module.mjs +4 -4
- package/esm2022/button/button.property.mjs +293 -98
- package/esm2022/button/buttons.component.mjs +35 -21
- package/esm2022/calendar/calendar.component.mjs +56 -84
- package/esm2022/calendar/calendar.module.mjs +4 -4
- package/esm2022/calendar/calendar.property.mjs +78 -24
- package/esm2022/card/card.component.mjs +10 -14
- package/esm2022/card/card.module.mjs +4 -4
- package/esm2022/card/card.property.mjs +57 -22
- package/esm2022/carousel/carousel-panel.component.mjs +98 -76
- package/esm2022/carousel/carousel.component.mjs +55 -65
- package/esm2022/carousel/carousel.module.mjs +4 -4
- package/esm2022/carousel/carousel.property.mjs +215 -85
- package/esm2022/cascade/cascade-portal.component.mjs +77 -69
- package/esm2022/cascade/cascade.component.mjs +107 -135
- package/esm2022/cascade/cascade.module.mjs +4 -4
- package/esm2022/cascade/cascade.property.mjs +137 -48
- package/esm2022/checkbox/checkbox.component.mjs +68 -83
- package/esm2022/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/checkbox/checkbox.property.mjs +136 -73
- package/esm2022/collapse/collapse-panel.component.mjs +31 -21
- package/esm2022/collapse/collapse.component.mjs +16 -21
- package/esm2022/collapse/collapse.module.mjs +4 -4
- package/esm2022/collapse/collapse.property.mjs +156 -66
- package/esm2022/color/color.component.mjs +25 -26
- package/esm2022/color/color.module.mjs +4 -4
- package/esm2022/color/color.property.mjs +47 -27
- package/esm2022/color-picker/color-picker-portal.component.mjs +120 -130
- package/esm2022/color-picker/color-picker.component.mjs +76 -117
- package/esm2022/color-picker/color-picker.module.mjs +4 -4
- package/esm2022/color-picker/color-picker.property.mjs +123 -27
- package/esm2022/comment/comment-reply.component.mjs +9 -24
- package/esm2022/comment/comment.component.mjs +11 -40
- package/esm2022/comment/comment.module.mjs +4 -4
- package/esm2022/comment/comment.property.mjs +27 -50
- package/esm2022/container/aside.component.mjs +12 -15
- package/esm2022/container/container.component.mjs +21 -24
- package/esm2022/container/container.module.mjs +4 -4
- package/esm2022/container/container.property.mjs +55 -51
- package/esm2022/container/footer.component.mjs +14 -16
- package/esm2022/container/header.component.mjs +14 -16
- package/esm2022/container/main.component.mjs +10 -13
- package/esm2022/core/animation/badge.mjs +17 -3
- package/esm2022/core/animation/connect.mjs +17 -99
- package/esm2022/core/animation/consts.mjs +5 -1
- package/esm2022/core/animation/drop.mjs +5 -1
- package/esm2022/core/animation/fade.mjs +13 -3
- package/esm2022/core/animation/move.mjs +5 -1
- package/esm2022/core/animation/opacity.mjs +5 -1
- package/esm2022/core/animation/slide.mjs +5 -23
- package/esm2022/core/config/config.mjs +1 -1
- package/esm2022/core/config/config.service.mjs +11 -59
- package/esm2022/core/config/index.mjs +2 -0
- package/esm2022/core/functions/chunk.mjs +12 -1
- package/esm2022/core/functions/clone-deep.mjs +17 -1
- package/esm2022/core/functions/convert.mjs +110 -13
- package/esm2022/core/functions/csspx.mjs +17 -0
- package/esm2022/core/functions/date.mjs +80 -4
- package/esm2022/core/functions/drop.mjs +13 -1
- package/esm2022/core/functions/flex.mjs +5 -1
- package/esm2022/core/functions/group-by.mjs +5 -1
- package/esm2022/core/functions/guid.mjs +3 -2
- package/esm2022/core/functions/has-in.mjs +5 -1
- package/esm2022/core/functions/order-by.mjs +5 -1
- package/esm2022/core/functions/parent-path.mjs +9 -1
- package/esm2022/core/functions/property.mjs +16 -8
- package/esm2022/core/functions/public-api.mjs +2 -1
- package/esm2022/core/functions/remove.mjs +5 -1
- package/esm2022/core/functions/resize.mjs +7 -5
- package/esm2022/core/interfaces/data.type.mjs +97 -8
- package/esm2022/core/interfaces/identify.type.mjs +5 -2
- package/esm2022/core/interfaces/layout.type.mjs +1 -1
- package/esm2022/core/interfaces/result-list.type.mjs +1 -1
- package/esm2022/core/services/http.service.mjs +4 -33
- package/esm2022/core/services/preloading-strategy.service.mjs +4 -6
- package/esm2022/core/services/repository.service.mjs +1 -1
- package/esm2022/core/services/reuse-strategy.service.mjs +1 -26
- package/esm2022/core/services/storage.service.mjs +4 -26
- package/esm2022/core/theme/theme.mjs +55 -11
- package/esm2022/core/theme/theme.service.mjs +92 -20
- package/esm2022/core/util/animation.mjs +2 -23
- package/esm2022/core/util/camel-to-kebab.mjs +16 -0
- package/esm2022/core/util/check.mjs +11 -3
- package/esm2022/core/util/computed-style.mjs +9 -1
- package/esm2022/core/util/host.mjs +4 -3
- package/esm2022/core/util/html.mjs +5 -4
- package/esm2022/core/util/kebab-to-camel.mjs +16 -0
- package/esm2022/core/util/log.mjs +11 -3
- package/esm2022/core/util/option.mjs +4 -5
- package/esm2022/core/util/public-api.mjs +3 -1
- package/esm2022/crumb/crumb.component.mjs +6 -29
- package/esm2022/crumb/crumb.module.mjs +4 -4
- package/esm2022/crumb/crumb.property.mjs +21 -26
- package/esm2022/date-picker/date-picker-portal.component.mjs +86 -102
- package/esm2022/date-picker/date-picker.component.mjs +157 -191
- package/esm2022/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/date-picker/date-picker.property.mjs +440 -462
- package/esm2022/date-picker/date-quarter.pipe.mjs +3 -3
- package/esm2022/date-picker/date-range-portal.component.mjs +172 -186
- package/esm2022/date-picker/date-range.component.mjs +224 -266
- package/esm2022/date-picker/picker-date.component.mjs +150 -150
- package/esm2022/date-picker/picker-month.component.mjs +115 -118
- package/esm2022/date-picker/picker-quarter.component.mjs +120 -119
- package/esm2022/date-picker/picker-year.component.mjs +121 -108
- package/esm2022/description/description-item.component.mjs +12 -11
- package/esm2022/description/description.component.mjs +33 -48
- package/esm2022/description/description.module.mjs +4 -4
- package/esm2022/description/description.property.mjs +175 -52
- package/esm2022/dialog/dialog-container.component.mjs +3 -3
- package/esm2022/dialog/dialog-portal.component.mjs +14 -20
- package/esm2022/dialog/dialog-portal.directives.mjs +20 -20
- package/esm2022/dialog/dialog-ref.mjs +1 -1
- package/esm2022/dialog/dialog.component.mjs +117 -131
- package/esm2022/dialog/dialog.module.mjs +4 -4
- package/esm2022/dialog/dialog.property.mjs +149 -139
- package/esm2022/dialog/dialog.service.mjs +7 -7
- package/esm2022/doc/doc.component.mjs +11 -12
- package/esm2022/doc/doc.module.mjs +4 -4
- package/esm2022/drag/drag.directive.mjs +8 -21
- package/esm2022/drag/drag.module.mjs +4 -4
- package/esm2022/drag/drag.property.mjs +10 -16
- package/esm2022/drawer/drawer-container.component.mjs +9 -9
- package/esm2022/drawer/drawer-portal.component.mjs +11 -13
- package/esm2022/drawer/drawer-portal.directives.mjs +9 -9
- package/esm2022/drawer/drawer.component.mjs +40 -59
- package/esm2022/drawer/drawer.module.mjs +4 -4
- package/esm2022/drawer/drawer.property.mjs +47 -54
- package/esm2022/drawer/drawer.service.mjs +6 -6
- package/esm2022/dropdown/dropdown-portal.component.mjs +90 -91
- package/esm2022/dropdown/dropdown.component.mjs +75 -91
- package/esm2022/dropdown/dropdown.module.mjs +4 -4
- package/esm2022/dropdown/dropdown.property.mjs +62 -59
- package/esm2022/empty/empty.component.mjs +6 -26
- package/esm2022/empty/empty.module.mjs +4 -4
- package/esm2022/empty/empty.property.mjs +41 -20
- package/esm2022/examples/examples.component.mjs +11 -12
- package/esm2022/examples/examples.module.mjs +4 -4
- package/esm2022/find/find.component.mjs +188 -232
- package/esm2022/find/find.module.mjs +4 -4
- package/esm2022/find/find.property.mjs +234 -193
- package/esm2022/form/control.component.mjs +138 -116
- package/esm2022/form/form.component.mjs +28 -36
- package/esm2022/form/form.module.mjs +4 -4
- package/esm2022/form/form.property.mjs +57 -55
- package/esm2022/highlight/highlight.component.mjs +54 -59
- package/esm2022/highlight/highlight.module.mjs +4 -4
- package/esm2022/highlight/highlight.property.mjs +25 -21
- package/esm2022/highlight/highlight.service.mjs +17 -0
- package/esm2022/highlight/public-api.mjs +2 -1
- package/esm2022/i18n/i18n.directive.mjs +17 -31
- package/esm2022/i18n/i18n.module.mjs +4 -4
- package/esm2022/i18n/i18n.pipe.mjs +4 -4
- package/esm2022/i18n/i18n.property.mjs +2 -2
- package/esm2022/i18n/i18n.service.mjs +4 -4
- package/esm2022/i18n/languages/ar_EG.mjs +122 -77
- package/esm2022/i18n/languages/bg_BG.mjs +135 -87
- package/esm2022/i18n/languages/ca_ES.mjs +130 -82
- package/esm2022/i18n/languages/cs_CZ.mjs +127 -79
- package/esm2022/i18n/languages/da_DK.mjs +129 -81
- package/esm2022/i18n/languages/de_DE.mjs +125 -77
- package/esm2022/i18n/languages/el_GR.mjs +132 -84
- package/esm2022/i18n/languages/en_GB.mjs +5 -2
- package/esm2022/i18n/languages/en_US.mjs +5 -2
- package/esm2022/i18n/languages/es_ES.mjs +131 -83
- package/esm2022/i18n/languages/et_EE.mjs +130 -82
- package/esm2022/i18n/languages/fa_IR.mjs +109 -61
- package/esm2022/i18n/languages/fi_FI.mjs +134 -86
- package/esm2022/i18n/languages/fr_BE.mjs +128 -80
- package/esm2022/i18n/languages/fr_FR.mjs +127 -79
- package/esm2022/i18n/languages/he_IL.mjs +119 -74
- package/esm2022/i18n/languages/hi_IN.mjs +104 -56
- package/esm2022/i18n/languages/hr_HR.mjs +133 -85
- package/esm2022/i18n/languages/hu_HU.mjs +132 -84
- package/esm2022/i18n/languages/hy_AM.mjs +133 -85
- package/esm2022/i18n/languages/id_ID.mjs +119 -71
- package/esm2022/i18n/languages/is_IS.mjs +125 -77
- package/esm2022/i18n/languages/it_IT.mjs +127 -79
- package/esm2022/i18n/languages/ja_JP.mjs +95 -47
- package/esm2022/i18n/languages/ka_GE.mjs +106 -58
- package/esm2022/i18n/languages/kn_IN.mjs +110 -62
- package/esm2022/i18n/languages/ko_KR.mjs +126 -70
- package/esm2022/i18n/languages/ku_IQ.mjs +117 -85
- package/esm2022/i18n/languages/lv_LV.mjs +128 -72
- package/esm2022/i18n/languages/mn_MN.mjs +138 -82
- package/esm2022/i18n/languages/ms_MY.mjs +124 -68
- package/esm2022/i18n/languages/nb_NO.mjs +133 -77
- package/esm2022/i18n/languages/ne_NP.mjs +117 -61
- package/esm2022/i18n/languages/nl_BE.mjs +134 -78
- package/esm2022/i18n/languages/nl_NL.mjs +134 -78
- package/esm2022/i18n/languages/pl_PL.mjs +132 -76
- package/esm2022/i18n/languages/pt_BR.mjs +133 -77
- package/esm2022/i18n/languages/pt_PT.mjs +133 -77
- package/esm2022/i18n/languages/ro_RO.mjs +130 -74
- package/esm2022/i18n/languages/ru_RU.mjs +131 -75
- package/esm2022/i18n/languages/sk_SK.mjs +130 -83
- package/esm2022/i18n/languages/sl_SI.mjs +121 -73
- package/esm2022/i18n/languages/sr_RS.mjs +138 -90
- package/esm2022/i18n/languages/sv_SE.mjs +132 -84
- package/esm2022/i18n/languages/ta_IN.mjs +117 -61
- package/esm2022/i18n/languages/th_TH.mjs +99 -43
- package/esm2022/i18n/languages/tr_TR.mjs +126 -70
- package/esm2022/i18n/languages/uk_UA.mjs +124 -68
- package/esm2022/i18n/languages/vi_VN.mjs +133 -77
- package/esm2022/i18n/languages/zh_CN.mjs +5 -2
- package/esm2022/i18n/languages/zh_TW.mjs +5 -2
- package/esm2022/icon/icon.component.mjs +46 -77
- package/esm2022/icon/icon.module.mjs +4 -4
- package/esm2022/icon/icon.property.mjs +52 -30
- package/esm2022/icon/icon.service.mjs +15 -14
- package/esm2022/image/image-group.component.mjs +15 -15
- package/esm2022/image/image-preview.component.mjs +47 -46
- package/esm2022/image/image.component.mjs +34 -53
- package/esm2022/image/image.module.mjs +4 -4
- package/esm2022/image/image.property.mjs +152 -38
- package/esm2022/index.mjs +1 -3
- package/esm2022/inner/inner.component.mjs +15 -20
- package/esm2022/inner/inner.module.mjs +4 -4
- package/esm2022/inner/inner.property.mjs +17 -15
- package/esm2022/input/input-group.component.mjs +5 -7
- package/esm2022/input/input.component.mjs +130 -143
- package/esm2022/input/input.module.mjs +4 -4
- package/esm2022/input/input.property.mjs +205 -143
- package/esm2022/input-number/input-number.component.mjs +68 -86
- package/esm2022/input-number/input-number.module.mjs +4 -4
- package/esm2022/input-number/input-number.property.mjs +130 -60
- package/esm2022/keyword/keyword.directive.mjs +46 -54
- package/esm2022/keyword/keyword.module.mjs +4 -4
- package/esm2022/keyword/keyword.property.mjs +32 -28
- package/esm2022/layout/col.component.mjs +48 -51
- package/esm2022/layout/layout.module.mjs +4 -4
- package/esm2022/layout/layout.property.mjs +71 -63
- package/esm2022/layout/row.component.mjs +36 -27
- package/esm2022/link/link.component.mjs +18 -45
- package/esm2022/link/link.module.mjs +4 -4
- package/esm2022/link/link.property.mjs +101 -41
- package/esm2022/list/list-drop-group.directive.mjs +9 -18
- package/esm2022/list/list-option.component.mjs +16 -33
- package/esm2022/list/list.component.mjs +160 -164
- package/esm2022/list/list.module.mjs +4 -4
- package/esm2022/list/list.property.mjs +195 -188
- package/esm2022/loading/loading.component.mjs +44 -45
- package/esm2022/loading/loading.module.mjs +4 -4
- package/esm2022/loading/loading.property.mjs +50 -52
- package/esm2022/menu/menu-node.component.mjs +21 -21
- package/esm2022/menu/menu.component.mjs +57 -76
- package/esm2022/menu/menu.module.mjs +4 -4
- package/esm2022/menu/menu.property.mjs +56 -73
- package/esm2022/message/message.component.mjs +8 -8
- package/esm2022/message/message.module.mjs +4 -4
- package/esm2022/message/message.property.mjs +1 -1
- package/esm2022/message/message.service.mjs +7 -7
- package/esm2022/message-box/message-box.component.mjs +5 -5
- package/esm2022/message-box/message-box.module.mjs +4 -4
- package/esm2022/message-box/message-box.service.mjs +6 -6
- package/esm2022/notification/notification.component.mjs +8 -8
- package/esm2022/notification/notification.module.mjs +4 -4
- package/esm2022/notification/notification.property.mjs +1 -1
- package/esm2022/notification/notification.service.mjs +8 -8
- package/esm2022/outlet/outlet.directive.mjs +12 -14
- package/esm2022/outlet/outlet.module.mjs +4 -4
- package/esm2022/outlet/outlet.property.mjs +2 -2
- package/esm2022/page-header/page-header.component.mjs +12 -28
- package/esm2022/page-header/page-header.module.mjs +4 -4
- package/esm2022/page-header/page-header.property.mjs +31 -27
- package/esm2022/pagination/pagination.component.mjs +74 -100
- package/esm2022/pagination/pagination.module.mjs +4 -4
- package/esm2022/pagination/pagination.property.mjs +99 -136
- package/esm2022/pattern/pattern.component.mjs +12 -13
- package/esm2022/pattern/pattern.module.mjs +4 -4
- package/esm2022/pattern/pattern.property.mjs +2 -2
- package/esm2022/popconfirm/popconfirm.component.mjs +35 -47
- package/esm2022/popconfirm/popconfirm.module.mjs +4 -4
- package/esm2022/popconfirm/popconfirm.property.mjs +76 -62
- package/esm2022/popover/popover-portal.component.mjs +24 -75
- package/esm2022/popover/popover.directive.mjs +70 -86
- package/esm2022/popover/popover.module.mjs +4 -4
- package/esm2022/popover/popover.property.mjs +71 -58
- package/esm2022/portal/portal.module.mjs +4 -4
- package/esm2022/portal/portal.property.mjs +1 -1
- package/esm2022/portal/portal.service.mjs +4 -4
- package/esm2022/progress/progress.component.mjs +173 -167
- package/esm2022/progress/progress.module.mjs +4 -4
- package/esm2022/progress/progress.property.mjs +67 -71
- package/esm2022/radio/radio.component.mjs +45 -61
- package/esm2022/radio/radio.module.mjs +4 -4
- package/esm2022/radio/radio.property.mjs +139 -66
- package/esm2022/rate/rate.component.mjs +61 -79
- package/esm2022/rate/rate.module.mjs +4 -4
- package/esm2022/rate/rate.property.mjs +121 -29
- package/esm2022/resizable/resizable.directive.mjs +30 -45
- package/esm2022/resizable/resizable.module.mjs +4 -4
- package/esm2022/resizable/resizable.property.mjs +16 -46
- package/esm2022/result/result.component.mjs +13 -17
- package/esm2022/result/result.module.mjs +4 -4
- package/esm2022/result/result.property.mjs +25 -17
- package/esm2022/ripple/ripple.directive.mjs +38 -27
- package/esm2022/ripple/ripple.module.mjs +4 -4
- package/esm2022/ripple/ripple.property.mjs +27 -20
- package/esm2022/select/select-portal.component.mjs +52 -67
- package/esm2022/select/select.component.mjs +301 -289
- package/esm2022/select/select.module.mjs +4 -4
- package/esm2022/select/select.property.mjs +195 -102
- package/esm2022/skeleton/skeleton.component.mjs +12 -23
- package/esm2022/skeleton/skeleton.module.mjs +4 -4
- package/esm2022/skeleton/skeleton.property.mjs +31 -28
- package/esm2022/slider/slider.component.mjs +103 -149
- package/esm2022/slider/slider.module.mjs +4 -4
- package/esm2022/slider/slider.property.mjs +60 -79
- package/esm2022/slider-select/slider-select.component.mjs +201 -220
- package/esm2022/slider-select/slider-select.module.mjs +4 -4
- package/esm2022/slider-select/slider-select.property.mjs +143 -70
- package/esm2022/statistic/countdown.component.mjs +13 -16
- package/esm2022/statistic/statistic.component.mjs +23 -21
- package/esm2022/statistic/statistic.module.mjs +4 -4
- package/esm2022/statistic/statistic.property.mjs +68 -34
- package/esm2022/steps/steps.component.mjs +33 -63
- package/esm2022/steps/steps.module.mjs +4 -4
- package/esm2022/steps/steps.property.mjs +28 -39
- package/esm2022/switch/switch.component.mjs +22 -37
- package/esm2022/switch/switch.module.mjs +4 -4
- package/esm2022/switch/switch.property.mjs +122 -32
- package/esm2022/table/table-body.component.mjs +134 -139
- package/esm2022/table/table-foot.component.mjs +15 -18
- package/esm2022/table/table-head.component.mjs +60 -91
- package/esm2022/table/table.component.mjs +192 -222
- package/esm2022/table/table.module.mjs +4 -4
- package/esm2022/table/table.property.mjs +396 -341
- package/esm2022/tabs/tab-content.component.mjs +13 -16
- package/esm2022/tabs/tab-link.directive.mjs +6 -6
- package/esm2022/tabs/tab.component.mjs +9 -17
- package/esm2022/tabs/tabs.component.mjs +83 -135
- package/esm2022/tabs/tabs.module.mjs +4 -4
- package/esm2022/tabs/tabs.property.mjs +80 -91
- package/esm2022/tag/tag.component.mjs +19 -33
- package/esm2022/tag/tag.module.mjs +4 -4
- package/esm2022/tag/tag.property.mjs +44 -68
- package/esm2022/text-retract/text-retract.component.mjs +29 -46
- package/esm2022/text-retract/text-retract.module.mjs +4 -4
- package/esm2022/text-retract/text-retract.property.mjs +22 -18
- package/esm2022/textarea/textarea.component.mjs +49 -79
- package/esm2022/textarea/textarea.module.mjs +4 -4
- package/esm2022/textarea/textarea.property.mjs +124 -47
- package/esm2022/theme/theme.component.mjs +86 -81
- package/esm2022/theme/theme.module.mjs +4 -4
- package/esm2022/theme/theme.property.mjs +35 -46
- package/esm2022/time-ago/time-ago.module.mjs +4 -4
- package/esm2022/time-ago/time-ago.pipe.mjs +12 -11
- package/esm2022/time-ago/time-ago.property.mjs +2 -2
- package/esm2022/time-picker/time-picker-frame.component.mjs +173 -188
- package/esm2022/time-picker/time-picker-portal.component.mjs +35 -42
- package/esm2022/time-picker/time-picker.component.mjs +139 -170
- package/esm2022/time-picker/time-picker.module.mjs +4 -4
- package/esm2022/time-picker/time-picker.property.mjs +158 -70
- package/esm2022/time-range/time-range.module.mjs +4 -4
- package/esm2022/time-range/time-range.pipe.mjs +10 -10
- package/esm2022/time-range/time-range.property.mjs +2 -2
- package/esm2022/timeline/timeline.component.mjs +14 -38
- package/esm2022/timeline/timeline.module.mjs +4 -4
- package/esm2022/timeline/timeline.property.mjs +30 -30
- package/esm2022/tooltip/tooltip-portal.component.mjs +51 -65
- package/esm2022/tooltip/tooltip.directive.mjs +65 -62
- package/esm2022/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/tooltip/tooltip.property.mjs +53 -47
- package/esm2022/transfer/transfer.component.mjs +225 -184
- package/esm2022/transfer/transfer.module.mjs +4 -4
- package/esm2022/transfer/transfer.property.mjs +84 -76
- package/esm2022/tree/tree-node.component.mjs +142 -132
- package/esm2022/tree/tree.component.mjs +236 -232
- package/esm2022/tree/tree.module.mjs +4 -4
- package/esm2022/tree/tree.property.mjs +228 -226
- package/esm2022/tree/tree.service.mjs +4 -4
- package/esm2022/tree-file/tree-file.component.mjs +34 -43
- package/esm2022/tree-file/tree-file.module.mjs +4 -4
- package/esm2022/tree-file/tree-file.property.mjs +45 -56
- package/esm2022/tree-select/tree-select-portal.component.mjs +45 -78
- package/esm2022/tree-select/tree-select.component.mjs +283 -296
- package/esm2022/tree-select/tree-select.module.mjs +4 -4
- package/esm2022/tree-select/tree-select.property.mjs +203 -125
- package/esm2022/typography/typography.component.mjs +13 -10
- package/esm2022/typography/typography.module.mjs +4 -4
- package/esm2022/typography/typography.property.mjs +12 -11
- package/esm2022/upload/upload-portal.component.mjs +54 -57
- package/esm2022/upload/upload.component.mjs +79 -98
- package/esm2022/upload/upload.module.mjs +4 -4
- package/esm2022/upload/upload.property.mjs +73 -68
- package/examples/examples.component.d.ts +2 -5
- package/fesm2022/ng-nest-ui-affix.mjs +30 -32
- package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-alert.mjs +142 -152
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +121 -133
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +14 -17
- package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +296 -260
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-avatar.mjs +195 -130
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +95 -103
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-badge.mjs +161 -96
- package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +286 -166
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-button.mjs +376 -175
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +134 -108
- package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-card.mjs +67 -36
- package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-carousel.mjs +365 -223
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +318 -249
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +203 -155
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-collapse.mjs +202 -106
- package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +316 -270
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +73 -54
- package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-comment.mjs +44 -108
- package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-container.mjs +119 -123
- package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +985 -664
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-crumb.mjs +28 -55
- package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +1552 -1671
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +218 -109
- package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dialog.mjs +307 -316
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +14 -15
- package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drag.mjs +20 -39
- package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drawer.mjs +116 -145
- package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +223 -238
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-empty.mjs +49 -46
- package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-examples.mjs +14 -15
- package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-find.mjs +422 -425
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +218 -203
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +93 -81
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +5892 -3516
- package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +112 -120
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +244 -147
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +33 -35
- package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +198 -146
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +340 -292
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +78 -82
- package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-layout.mjs +151 -140
- package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-link.mjs +119 -86
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +376 -400
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +94 -97
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +131 -167
- package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message-box.mjs +13 -13
- package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message.mjs +17 -17
- package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-notification.mjs +18 -18
- package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-outlet.mjs +16 -18
- package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-page-header.mjs +44 -55
- package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +173 -236
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pattern.mjs +16 -17
- package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popconfirm.mjs +110 -107
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popover.mjs +163 -215
- package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-portal.mjs +7 -7
- package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-progress.mjs +240 -238
- package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +184 -127
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +182 -108
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-resizable.mjs +46 -91
- package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-result.mjs +38 -34
- package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-ripple.mjs +66 -48
- package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +547 -459
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +44 -52
- package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +344 -290
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider.mjs +163 -228
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +102 -68
- package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-steps.mjs +61 -102
- package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +145 -69
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +784 -800
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +185 -259
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tag.mjs +63 -101
- package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-text-retract.mjs +52 -64
- package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +173 -126
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +123 -129
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-ago.mjs +16 -15
- package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-picker.mjs +498 -463
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +14 -14
- package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-timeline.mjs +44 -68
- package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tooltip.mjs +168 -170
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +311 -262
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-file.mjs +80 -99
- package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +527 -495
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +601 -587
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-typography.mjs +26 -22
- package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-upload.mjs +204 -220
- package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
- package/fesm2022/ng-nest-ui.mjs +0 -2
- package/fesm2022/ng-nest-ui.mjs.map +1 -1
- package/find/find.component.d.ts +30 -34
- package/find/find.property.d.ts +321 -108
- package/form/control.component.d.ts +37 -18
- package/form/form.component.d.ts +8 -10
- package/form/form.property.d.ts +111 -27
- package/highlight/highlight.component.d.ts +10 -17
- package/highlight/highlight.property.d.ts +40 -11
- package/highlight/highlight.service.d.ts +8 -0
- package/highlight/public-api.d.ts +1 -0
- package/i18n/i18n.directive.d.ts +6 -9
- package/i18n/i18n.property.d.ts +6 -2
- package/i18n/i18n.service.d.ts +2 -2
- package/i18n/languages/ar_EG.d.ts +56 -0
- package/i18n/languages/bg_BG.d.ts +56 -0
- package/i18n/languages/ca_ES.d.ts +56 -0
- package/i18n/languages/cs_CZ.d.ts +56 -0
- package/i18n/languages/da_DK.d.ts +56 -0
- package/i18n/languages/de_DE.d.ts +56 -0
- package/i18n/languages/el_GR.d.ts +56 -0
- package/i18n/languages/en_GB.d.ts +3 -0
- package/i18n/languages/en_US.d.ts +3 -0
- package/i18n/languages/es_ES.d.ts +56 -0
- package/i18n/languages/et_EE.d.ts +56 -0
- package/i18n/languages/fa_IR.d.ts +56 -0
- package/i18n/languages/fi_FI.d.ts +56 -0
- package/i18n/languages/fr_BE.d.ts +60 -4
- package/i18n/languages/fr_FR.d.ts +56 -0
- package/i18n/languages/he_IL.d.ts +56 -0
- package/i18n/languages/hi_IN.d.ts +56 -0
- package/i18n/languages/hr_HR.d.ts +56 -0
- package/i18n/languages/hu_HU.d.ts +56 -0
- package/i18n/languages/hy_AM.d.ts +56 -0
- package/i18n/languages/id_ID.d.ts +56 -0
- package/i18n/languages/is_IS.d.ts +56 -0
- package/i18n/languages/it_IT.d.ts +56 -0
- package/i18n/languages/ja_JP.d.ts +56 -0
- package/i18n/languages/ka_GE.d.ts +56 -0
- package/i18n/languages/kn_IN.d.ts +56 -0
- package/i18n/languages/ko_KR.d.ts +56 -0
- package/i18n/languages/ku_IQ.d.ts +32 -0
- package/i18n/languages/lv_LV.d.ts +56 -0
- package/i18n/languages/mn_MN.d.ts +56 -0
- package/i18n/languages/ms_MY.d.ts +56 -0
- package/i18n/languages/nb_NO.d.ts +56 -0
- package/i18n/languages/ne_NP.d.ts +56 -0
- package/i18n/languages/nl_BE.d.ts +56 -0
- package/i18n/languages/nl_NL.d.ts +56 -0
- package/i18n/languages/pl_PL.d.ts +56 -0
- package/i18n/languages/pt_BR.d.ts +56 -0
- package/i18n/languages/pt_PT.d.ts +56 -0
- package/i18n/languages/ro_RO.d.ts +56 -0
- package/i18n/languages/ru_RU.d.ts +56 -0
- package/i18n/languages/sk_SK.d.ts +56 -1
- package/i18n/languages/sl_SI.d.ts +56 -0
- package/i18n/languages/sr_RS.d.ts +56 -0
- package/i18n/languages/sv_SE.d.ts +56 -0
- package/i18n/languages/ta_IN.d.ts +56 -0
- package/i18n/languages/th_TH.d.ts +56 -0
- package/i18n/languages/tr_TR.d.ts +56 -0
- package/i18n/languages/uk_UA.d.ts +56 -0
- package/i18n/languages/vi_VN.d.ts +56 -0
- package/i18n/languages/zh_CN.d.ts +3 -0
- package/i18n/languages/zh_TW.d.ts +3 -0
- package/icon/icon.component.d.ts +8 -14
- package/icon/icon.property.d.ts +31 -13
- package/icon/icon.service.d.ts +1 -1
- package/image/image-group.component.d.ts +1 -3
- package/image/image-preview.component.d.ts +11 -13
- package/image/image.component.d.ts +10 -11
- package/image/image.property.d.ts +117 -16
- package/index.d.ts +0 -2
- package/inner/inner.component.d.ts +3 -10
- package/inner/inner.property.d.ts +8 -4
- package/input/input-group.component.d.ts +0 -2
- package/input/input.component.d.ts +32 -30
- package/input/input.property.d.ts +347 -65
- package/input-number/input-number.component.d.ts +14 -19
- package/input-number/input-number.property.d.ts +292 -26
- package/keyword/keyword.directive.d.ts +4 -12
- package/keyword/keyword.property.d.ts +11 -7
- package/layout/col.component.d.ts +8 -11
- package/layout/layout.property.d.ts +25 -18
- package/layout/row.component.d.ts +7 -8
- package/link/link.component.d.ts +7 -13
- package/link/link.property.d.ts +64 -11
- package/list/list-drop-group.directive.d.ts +3 -5
- package/list/list-option.component.d.ts +7 -9
- package/list/list.component.d.ts +35 -30
- package/list/list.property.d.ts +126 -61
- package/loading/loading.component.d.ts +12 -12
- package/loading/loading.property.d.ts +20 -11
- package/menu/menu-node.component.d.ts +11 -8
- package/menu/menu.component.d.ts +18 -19
- package/menu/menu.property.d.ts +23 -28
- package/message/message.property.d.ts +1 -1
- package/notification/notification.property.d.ts +1 -1
- package/outlet/outlet.directive.d.ts +4 -4
- package/outlet/outlet.property.d.ts +1 -1
- package/package.json +78 -84
- package/page-header/page-header.component.d.ts +4 -8
- package/page-header/page-header.property.d.ts +11 -8
- package/pagination/pagination.component.d.ts +15 -22
- package/pagination/pagination.property.d.ts +34 -66
- package/pattern/pattern.component.d.ts +2 -5
- package/pattern/pattern.property.d.ts +1 -1
- package/popconfirm/popconfirm.component.d.ts +12 -14
- package/popconfirm/popconfirm.property.d.ts +32 -19
- package/popover/popover-portal.component.d.ts +16 -33
- package/popover/popover.directive.d.ts +6 -12
- package/popover/popover.property.d.ts +31 -22
- package/portal/portal.property.d.ts +2 -2
- package/portal/portal.service.d.ts +2 -2
- package/progress/progress.component.d.ts +25 -30
- package/progress/progress.property.d.ts +29 -20
- package/radio/radio.component.d.ts +14 -15
- package/radio/radio.property.d.ts +271 -31
- package/rate/rate.component.d.ts +14 -17
- package/rate/rate.property.d.ts +259 -12
- package/resizable/resizable.directive.d.ts +5 -5
- package/resizable/resizable.property.d.ts +14 -14
- package/result/result.component.d.ts +5 -7
- package/result/result.property.d.ts +11 -7
- package/ripple/ripple.directive.d.ts +5 -4
- package/ripple/ripple.property.d.ts +14 -5
- package/select/select-portal.component.d.ts +39 -43
- package/select/select.component.d.ts +53 -56
- package/select/select.property.d.ts +317 -37
- package/skeleton/skeleton.component.d.ts +4 -8
- package/skeleton/skeleton.property.d.ts +17 -8
- package/slider/slider.component.d.ts +34 -31
- package/slider/slider.property.d.ts +26 -22
- package/slider-select/slider-select.component.d.ts +38 -38
- package/slider-select/slider-select.property.d.ts +302 -28
- package/statistic/countdown.component.d.ts +2 -5
- package/statistic/statistic.component.d.ts +3 -8
- package/statistic/statistic.property.d.ts +44 -13
- package/steps/steps.component.d.ts +6 -16
- package/steps/steps.property.d.ts +15 -10
- package/style/core/index.css +0 -38
- package/style/core/index.css.map +1 -1
- package/style/core/var.scss +0 -4
- package/style/mixins/compatibility.scss +0 -1
- package/style/mixins/form.scss +8 -2
- package/style/params/index.scss +0 -1
- package/style/params/primary.scss +7 -28
- package/switch/switch.component.d.ts +9 -10
- package/switch/switch.property.d.ts +265 -16
- package/table/table-body.component.d.ts +21 -20
- package/table/table-foot.component.d.ts +7 -5
- package/table/table-head.component.d.ts +17 -19
- package/table/table.component.d.ts +62 -50
- package/table/table.property.d.ts +180 -178
- package/tabs/tab-content.component.d.ts +6 -8
- package/tabs/tab.component.d.ts +3 -5
- package/tabs/tabs.component.d.ts +17 -24
- package/tabs/tabs.property.d.ts +28 -24
- package/tag/tag.component.d.ts +7 -8
- package/tag/tag.property.d.ts +19 -21
- package/text-retract/text-retract.component.d.ts +4 -14
- package/text-retract/text-retract.property.d.ts +9 -5
- package/textarea/textarea.component.d.ts +17 -20
- package/textarea/textarea.property.d.ts +266 -30
- package/theme/theme.component.d.ts +24 -13
- package/theme/theme.property.d.ts +67 -16
- package/time-ago/time-ago.pipe.d.ts +7 -3
- package/time-ago/time-ago.property.d.ts +1 -1
- package/time-picker/time-picker-frame.component.d.ts +52 -39
- package/time-picker/time-picker-portal.component.d.ts +29 -29
- package/time-picker/time-picker.component.d.ts +29 -30
- package/time-picker/time-picker.property.d.ts +314 -23
- package/time-range/time-range.property.d.ts +1 -1
- package/timeline/timeline.component.d.ts +5 -13
- package/timeline/timeline.property.d.ts +12 -8
- package/tooltip/tooltip-portal.component.d.ts +23 -29
- package/tooltip/tooltip.directive.d.ts +10 -9
- package/tooltip/tooltip.property.d.ts +18 -14
- package/transfer/transfer.component.d.ts +23 -20
- package/transfer/transfer.property.d.ts +81 -25
- package/tree/tree-node.component.d.ts +21 -21
- package/tree/tree.component.d.ts +29 -28
- package/tree/tree.property.d.ts +129 -79
- package/tree-file/tree-file.component.d.ts +7 -9
- package/tree-file/tree-file.property.d.ts +40 -16
- package/tree-select/tree-select-portal.component.d.ts +38 -49
- package/tree-select/tree-select.component.d.ts +50 -53
- package/tree-select/tree-select.property.d.ts +328 -39
- package/typography/typography.component.d.ts +1 -1
- package/typography/typography.property.d.ts +3 -3
- package/upload/upload-portal.component.d.ts +14 -14
- package/upload/upload.component.d.ts +18 -17
- package/upload/upload.property.d.ts +73 -24
- package/border/border.component.d.ts +0 -11
- package/border/border.module.d.ts +0 -7
- package/border/border.property.d.ts +0 -6
- package/border/index.d.ts +0 -5
- package/border/public-api.d.ts +0 -3
- package/esm2022/border/border.component.mjs +0 -21
- package/esm2022/border/border.module.mjs +0 -16
- package/esm2022/border/border.property.mjs +0 -7
- package/esm2022/border/ng-nest-ui-border.mjs +0 -5
- package/esm2022/border/public-api.mjs +0 -4
- package/fesm2022/ng-nest-ui-border.mjs +0 -47
- package/fesm2022/ng-nest-ui-border.mjs.map +0 -1
- package/style/params/colors.scss +0 -38
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-list.mjs","sources":["../../../../lib/ng-nest/ui/list/list.property.ts","../../../../lib/ng-nest/ui/list/list-option.component.ts","../../../../lib/ng-nest/ui/list/list-option.component.html","../../../../lib/ng-nest/ui/list/list-drop-group.directive.ts","../../../../lib/ng-nest/ui/list/list.component.ts","../../../../lib/ng-nest/ui/list/list.component.html","../../../../lib/ng-nest/ui/list/list.module.ts","../../../../lib/ng-nest/ui/list/ng-nest-ui-list.ts"],"sourcesContent":["import {\r\n XData,\r\n XParentIdentityProperty,\r\n XDataConvert,\r\n XInputNumber,\r\n XInputBoolean,\r\n XNumber,\r\n XBoolean,\r\n XTemplate,\r\n XWithConfig,\r\n XSize\r\n} from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component, TemplateRef, ElementRef } from '@angular/core';\r\nimport { XControlValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { CdkDragDrop } from '@angular/cdk/drag-drop';\r\n\r\n/**\r\n * List\r\n * @selector x-list\r\n * @decorator component\r\n */\r\nexport const XListPrefix = 'x-list';\r\nconst X_CONFIG_NAME = 'list';\r\n\r\n/**\r\n * List Property\r\n */\r\n@Component({ selector: `${XListPrefix}-property`, template: '' })\r\nexport class XListProperty extends XControlValueAccessor<any> {\r\n /**\r\n * @zh_CN 列表数据\r\n * @en_US List data\r\n */\r\n @Input() @XDataConvert() data: XData<XListNode> = [];\r\n /**\r\n * @zh_CN 多选个数,设置为0,不限制选择个数\r\n * @en_US Multiple choice\r\n */\r\n @Input() @XInputNumber() multiple: XNumber = 1;\r\n /**\r\n * @zh_CN 多选添加全选功能,适用于 multiple=0\r\n * @en_US Multi choice to add full selection function\r\n */\r\n @Input() @XInputBoolean() selectAll?: XBoolean;\r\n /**\r\n * @zh_CN 全选的文字\r\n * @en_US Selected all text\r\n * @default '全选'\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME) selectAllText?: string;\r\n /**\r\n * @zh_CN 选中\r\n * @en_US Selected\r\n */\r\n @Input() @XInputBoolean() checked?: XBoolean;\r\n /**\r\n * @zh_CN 拖动\r\n * @en_US Drag\r\n */\r\n @Input() @XInputBoolean() drag?: XBoolean;\r\n /**\r\n * @zh_CN 当开启多选的时候,ngModel 的值为对象数组\r\n * @en_US When multiple selection is enabled, the value of ngmodel is an array of objects\r\n */\r\n @Input() @XInputBoolean() objectArray?: XBoolean;\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n @Input() nodeTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 列表头部\r\n * @en_US List header\r\n */\r\n @Input() header?: XTemplate;\r\n /**\r\n * @zh_CN 列表底部\r\n * @en_US List footer\r\n */\r\n @Input() footer?: XTemplate;\r\n /**\r\n * @zh_CN 滚动区域元素\r\n * @en_US Rolling area element\r\n */\r\n @Input() scrollElement?: HTMLElement;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size!: XSize;\r\n /**\r\n * @zh_CN 加载更多\r\n * @en_US load more\r\n */\r\n @Input() @XInputBoolean() loadMore!: XBoolean;\r\n /**\r\n * @zh_CN 加载更多的文字\r\n * @en_US Load more text\r\n * @default '加载更多'\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME) loadMoreText?: string;\r\n /**\r\n * @zh_CN 正在加载中的文字\r\n * @en_US Loading\r\n * @default '正在加载中'\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME) loadingMoreText?: string;\r\n /**\r\n * @zh_CN 开启虚拟滚动,不支持节点拖动功能\r\n * @en_US Turn on virtual scrolling\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() virtualScroll!: XBoolean;\r\n /**\r\n * @zh_CN 虚拟滚动高度, 实际会去掉头尾、全选、更多的高度\r\n * @en_US The virtual rolling height will actually remove the head and end, the full selection, more height\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 400) @XInputNumber() scrollHeight!: XNumber;\r\n /**\r\n * @zh_CN 虚拟滚动高度自适应指定元素\r\n * @en_US virtual rolling height follows the specified object\r\n */\r\n @Input() heightAdaption!: ElementRef<HTMLElement> | HTMLElement;\r\n /**\r\n * @zh_CN 超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US Exceed the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() minBufferPx: number = 100;\r\n /**\r\n * @zh_CN 渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US Render the pixels of the new data buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() maxBufferPx: number = 200;\r\n /**\r\n * @zh_CN 关键字高亮\r\n * @en_US Keyword highlighting\r\n */\r\n @Input() keywordText!: string | string[];\r\n /**\r\n * @zh_CN 匹配关键字区分大小写\r\n * @en_US Case-sensitive\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) caseSensitive!: XBoolean;\r\n /**\r\n * @zh_CN Full event\r\n * @en_US 全选事件\r\n */\r\n @Output() onSelectAll = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 节点 mouseenter 事件\r\n * @en_US Node mouseenter event\r\n */\r\n @Output() nodeMouseenter = new EventEmitter<XListNode>();\r\n /**\r\n * @zh_CN 节点 mouseleave 事件\r\n * @en_US Node mouseleave event\r\n */\r\n @Output() nodeMouseleave = new EventEmitter<XListNode>();\r\n /**\r\n * @zh_CN 节点点击事件\r\n * @en_US Node click event\r\n */\r\n @Output() nodeClick = new EventEmitter<XListNode>();\r\n /**\r\n * @zh_CN 拖动结束事件\r\n * @en_US Drag the end\r\n */\r\n @Output() dropListDropped = new EventEmitter<XListDragDrop>();\r\n /**\r\n * @zh_CN Tab out 事件\r\n * @en_US Tab Out event\r\n */\r\n @Output() keyManagerTabOut = new EventEmitter<void>();\r\n /**\r\n * @zh_CN Tab out 事件\r\n * @en_US Tab Out event\r\n */\r\n @Output() keyManagerChange = new EventEmitter<number>();\r\n}\r\n\r\n/**\r\n * @zh_CN List 数据对象\r\n * @en_US List data object\r\n */\r\nexport interface XListNode extends XParentIdentityProperty<XListNode> {\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Iicon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 分割线\r\n * @en_US Split line\r\n */\r\n divided?: boolean;\r\n /**\r\n * @zh_CN 事件\r\n * @en_US Event\r\n */\r\n event?: Event;\r\n /**\r\n * @zh_CN 悬停\r\n * @en_US Hover\r\n */\r\n hover?: boolean;\r\n /**\r\n * @zh_CN 打开弹框\r\n * @en_US open portal\r\n */\r\n openPortal?: boolean;\r\n /**\r\n * @zh_CN 激活\r\n * @en_US Active\r\n */\r\n active?: boolean;\r\n /**\r\n * @zh_CN 检查更新\r\n * @en_US Check for updates\r\n */\r\n change?: Function;\r\n}\r\n\r\n/**\r\n * List Option\r\n * @selector x-list-option\r\n * @decorator component\r\n */\r\nexport const XListOptionPrefix = 'x-list-option';\r\n\r\n/**\r\n * List Option Property\r\n */\r\n@Component({ selector: `${XListOptionPrefix}-property`, template: '' })\r\nexport class XListOptionProperty {\r\n /**\r\n * @zh_CN 节点参数\r\n * @en_US Node param\r\n */\r\n @Input() node?: XListNode;\r\n /**\r\n * @zh_CN 选中\r\n * @en_US Selected\r\n */\r\n @Input() @XInputBoolean() checked?: XBoolean;\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n @Input() nodeTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 选中\r\n * @en_US selected\r\n */\r\n @Input() @XInputBoolean() selected?: boolean;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US disabled\r\n */\r\n @Input() @XInputBoolean() disabled?: boolean;\r\n /**\r\n * @zh_CN 激活\r\n * @en_US active\r\n */\r\n @Input() @XInputBoolean() active?: boolean;\r\n /**\r\n * @zh_CN 打开弹框\r\n * @en_US open portal\r\n */\r\n @Input() @XInputBoolean() openPortal?: boolean;\r\n /**\r\n * @zh_CN 自定义数据对象样式\r\n * @en_US Customize data object styles\r\n */\r\n @Input() optionClass?: (node: XListNode) => { [className: string]: boolean };\r\n /**\r\n * @zh_CN 图标\r\n * @en_US icon\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * @zh_CN 分割线\r\n * @en_US Split line\r\n */\r\n @Input() divided?: boolean;\r\n /**\r\n * @zh_CN 标签\r\n * @en_US label\r\n */\r\n @Input() label?: string;\r\n /**\r\n * @zh_CN 有子节点\r\n * @en_US leaf\r\n */\r\n @Input() @XInputBoolean() leaf?: boolean;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size!: XSize;\r\n /**\r\n * @zh_CN 关键字高亮\r\n * @en_US Keyword highlighting\r\n */\r\n @Input() keywordText!: string | string[];\r\n /**\r\n * @zh_CN 匹配关键字区分大小写\r\n * @en_US Case-sensitive\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) caseSensitive!: XBoolean;\r\n /**\r\n * @zh_CN 有子节点\r\n * @en_US leaf\r\n */\r\n @Output() activeChange = new EventEmitter<boolean>();\r\n}\r\n\r\n/**\r\n * @zh_CN 拖动相关的数据\r\n * @en_US Drag related data\r\n */\r\nexport type XListDragDrop = { data: XListNode[]; current: XListNode; currentIndex: number; event: CdkDragDrop<XListNode[]> };\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n ViewEncapsulation,\r\n inject\r\n} from '@angular/core';\r\nimport { XListOptionPrefix, XListOptionProperty } from './list.property';\r\nimport { Highlightable } from '@angular/cdk/a11y';\r\nimport { XClassMap, XClearClass, XConfigService, XIsChange } from '@ng-nest/ui/core';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XKeywordDirective } from '@ng-nest/ui/keyword';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XListOptionPrefix}`,\r\n standalone: true,\r\n imports: [NgClass, NgTemplateOutlet, XIconComponent, XKeywordDirective],\r\n templateUrl: './list-option.component.html',\r\n styleUrls: ['./list-option.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XListOptionComponent extends XListOptionProperty implements Highlightable, OnInit, OnChanges {\r\n @HostBinding('attr.role') role = 'option';\r\n classMap: XClassMap = {};\r\n private cdr = inject(ChangeDetectorRef);\r\n elementRef = inject(ElementRef);\r\n configService = inject(XConfigService);\r\n\r\n ngOnInit() {\r\n if (this.node)\r\n this.node.change = () => {\r\n this.cdr.detectChanges();\r\n };\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { size } = changes;\r\n XIsChange(size) && this.setClassMap();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.classMap);\r\n this.classMap[`${XListOptionPrefix}-${this.size}`] = this.size ? true : false;\r\n }\r\n\r\n setActiveStyles(): void {\r\n this.active = true;\r\n this.activeChange.emit(this.active);\r\n this.cdr.detectChanges();\r\n }\r\n setInactiveStyles(): void {\r\n this.active = false;\r\n this.activeChange.emit(this.active);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n getLabel() {\r\n return this.label as string;\r\n }\r\n}\r\n","<div\r\n class=\"x-list-option\"\r\n [ngClass]=\"classMap\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-open-portal]=\"node?.openPortal\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <div class=\"x-list-option-content\">\r\n @if (nodeTpl) {\r\n <ng-template *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-template>\r\n } @else {\r\n @if (icon) {\r\n <x-icon [type]=\"icon\"></x-icon>\r\n }\r\n <span x-keyword [text]=\"keywordText\" [caseSensitive]=\"caseSensitive\">{{ label }}</span>\r\n }\r\n </div>\r\n @if (leaf) {\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\"></x-icon>\r\n }\r\n @if (checked && !leaf && selected) {\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n","import { BooleanInput, coerceArray, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { CdkDropList } from '@angular/cdk/drag-drop';\r\nimport { Directive, InjectionToken, Input, OnDestroy } from '@angular/core';\r\n\r\nexport const X_LIST_DROP_GROUP = new InjectionToken<XListDropGroup>('XListDropGroup');\r\n\r\n@Directive({\r\n selector: '[xListDropGroup]',\r\n standalone: true,\r\n providers: [{ provide: X_LIST_DROP_GROUP, useExisting: XListDropGroup }]\r\n})\r\nexport class XListDropGroup implements OnDestroy {\r\n readonly dropLists = new Set<CdkDropList>();\r\n\r\n @Input('xListDropGroupDisabled')\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(value: BooleanInput) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n private _disabled = false;\r\n\r\n setConnectedTo() {\r\n this.dropLists.forEach((x) => {\r\n this.dropLists.forEach((y) => {\r\n if (!y.connectedTo) {\r\n y.connectedTo = [x];\r\n } else {\r\n if (!coerceArray(y.connectedTo).includes(x)) {\r\n coerceArray(y.connectedTo).push(x);\r\n }\r\n }\r\n });\r\n });\r\n console.log(this.dropLists);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.dropLists.clear();\r\n }\r\n}\r\n","import { Subject } from 'rxjs';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n SimpleChanges,\r\n OnChanges,\r\n QueryList,\r\n ElementRef,\r\n ViewChild,\r\n HostBinding,\r\n HostListener,\r\n ViewChildren,\r\n inject,\r\n AfterRenderPhase,\r\n afterRender\r\n} from '@angular/core';\r\nimport { XListPrefix, XListNode, XListProperty } from './list.property';\r\nimport {\r\n XIsChange,\r\n XSetData,\r\n XConfigService,\r\n XIsEmpty,\r\n XIsUndefined,\r\n XIsNull,\r\n XResize,\r\n XResizeObserver\r\n} from '@ng-nest/ui/core';\r\nimport { CdkDrag, CdkDragDrop, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { XListOptionComponent } from './list-option.component';\r\nimport { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\r\nimport { ENTER } from '@angular/cdk/keycodes';\r\nimport { map, takeUntil, debounceTime } from 'rxjs/operators';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XI18nList, XI18nService } from '@ng-nest/ui/i18n';\r\nimport { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { XListDropGroup, X_LIST_DROP_GROUP } from './list-drop-group.directive';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XEmptyComponent } from '@ng-nest/ui/empty';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: `${XListPrefix}`,\r\n standalone: true,\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CdkDropList,\r\n CdkDrag,\r\n ScrollingModule,\r\n XIconComponent,\r\n XEmptyComponent,\r\n XListOptionComponent,\r\n XOutletDirective\r\n ],\r\n templateUrl: './list.component.html',\r\n styleUrls: ['./list.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XListComponent)]\r\n})\r\nexport class XListComponent extends XListProperty implements OnInit, OnChanges {\r\n nodes: XListNode[] = [];\r\n selectedNodes: XListNode[] = [];\r\n @ViewChild('headerRef') headerRef!: ElementRef<HTMLElement>;\r\n @ViewChild('footerRef') footerRef!: ElementRef<HTMLElement>;\r\n @ViewChild('selectAllRef') selectAllRef!: ElementRef<HTMLElement>;\r\n @ViewChild('loadMoreRef') loadMoreRef!: ElementRef<HTMLElement>;\r\n @ViewChild('virtualBody') virtualBody!: CdkVirtualScrollViewport;\r\n @ViewChild(CdkDropList) dropList!: CdkDropList;\r\n @ViewChild('listItems') listItems!: ElementRef<HTMLElement>;\r\n @ViewChildren(XListOptionComponent)\r\n options!: QueryList<XListOptionComponent>;\r\n keyManager!: ActiveDescendantKeyManager<XListOptionComponent>;\r\n isSelectAll = false;\r\n locale: XI18nList = {};\r\n loadMoreIndex = 0;\r\n icon: string = '';\r\n iconSpin: boolean = false;\r\n private _resizeObserver!: XResizeObserver;\r\n\r\n @HostBinding('attr.role') role = 'listbox';\r\n @HostBinding('attr.tabindex') tabindex = -1;\r\n\r\n @HostListener('keydown', ['$event']) keydown($event: KeyboardEvent) {\r\n this.keyManager.onKeydown($event);\r\n const activeIndex = this.keyManager.activeItemIndex as number;\r\n if ($event.keyCode === ENTER && !XIsUndefined(activeIndex)) {\r\n this.setUnActive(activeIndex);\r\n this.onNodeClick($event, this.nodes[activeIndex]);\r\n }\r\n }\r\n\r\n itemSizeMap: { [key: string]: number } = {\r\n mini: 22,\r\n small: 24,\r\n medium: 28,\r\n large: 32,\r\n big: 36\r\n };\r\n\r\n get getItemSize() {\r\n return this.itemSizeMap[this.size];\r\n }\r\n\r\n get isEmpty() {\r\n return XIsEmpty(this.nodes);\r\n }\r\n\r\n get getSelectAllText() {\r\n return this.selectAllText || this.locale.selectAllText;\r\n }\r\n\r\n get getLoadMoreText() {\r\n return this.loadMoreText || this.locale.loadMoreText;\r\n }\r\n\r\n get getLoadingMoreText() {\r\n return this.loadingMoreText || this.locale.loadingMoreText;\r\n }\r\n\r\n get getVirtualScrollHeight() {\r\n let headerH = 0,\r\n footerH = 0,\r\n selectAllH = 0,\r\n loadMoreH = 0;\r\n if (this.headerRef) headerH = this.headerRef.nativeElement.clientHeight;\r\n if (this.footerRef) footerH = this.footerRef.nativeElement.clientHeight;\r\n if (this.selectAllRef) selectAllH = this.selectAllRef.nativeElement.clientHeight;\r\n if (this.loadMoreRef) loadMoreH = this.loadMoreRef.nativeElement.clientHeight;\r\n\r\n return Number(this.scrollHeight) - headerH - footerH - selectAllH - loadMoreH;\r\n }\r\n\r\n override writeValue(value: any): void {\r\n this.value = value;\r\n this.setSelected();\r\n this.setKeyManager();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private _unSubject = new Subject<void>();\r\n override cdr = inject(ChangeDetectorRef);\r\n private i18n = inject(XI18nService);\r\n private group = inject<XListDropGroup>(X_LIST_DROP_GROUP, { optional: true, skipSelf: true });\r\n configService = inject(XConfigService);\r\n\r\n constructor() {\r\n super();\r\n afterRender(\r\n () => {\r\n if (this.virtualScroll && this.scrollHeight) {\r\n this.virtualBody?.checkViewportSize();\r\n }\r\n },\r\n { phase: AfterRenderPhase.MixedReadWrite }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.i18n.localeChange\r\n .pipe(\r\n map((x) => x.list as XI18nList),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.locale = x;\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.initKeyManager();\r\n if (this.virtualScroll && this.heightAdaption) {\r\n this.setVirtualScrollHeight();\r\n XResize(this.heightAdaption as HTMLElement)\r\n .pipe(debounceTime(30), takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n this.setVirtualScrollHeight();\r\n });\r\n }\r\n if (this.group && this.dropList) {\r\n this.group.dropLists.add(this.dropList);\r\n this.group.setConnectedTo();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n this._resizeObserver?.disconnect();\r\n this.group?.dropLists.delete(this.dropList);\r\n }\r\n\r\n private setVirtualScrollHeight() {\r\n this.scrollHeight = (this.heightAdaption as HTMLElement).clientHeight;\r\n this.minBufferPx = this.getVirtualScrollHeight;\r\n this.maxBufferPx = this.getVirtualScrollHeight * 1.2;\r\n this.virtualBody['_scrollStrategy']['_minBufferPx'] = this.minBufferPx;\r\n this.virtualBody['_scrollStrategy']['_maxBufferPx'] = this.maxBufferPx;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setData() {\r\n if (this.loadMore) {\r\n this.icon = 'fto-loader';\r\n this.iconSpin = true;\r\n }\r\n XSetData<XListNode>(this.data, this._unSubject, true, this.loadMoreIndex).subscribe((x) => {\r\n if (this.loadMore) {\r\n this.nodes = [...this.nodes, ...x];\r\n this.icon = '';\r\n this.iconSpin = false;\r\n } else {\r\n this.nodes = x;\r\n }\r\n this.setSelected();\r\n this.setKeyManager();\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n private initKeyManager() {\r\n this.keyManager = new ActiveDescendantKeyManager<XListOptionComponent>(this.options).withWrap();\r\n\r\n this.keyManager.tabOut.pipe(takeUntil(this._unSubject)).subscribe(() => {\r\n this.setUnActive(this.keyManager.activeItemIndex as number);\r\n this.keyManagerTabOut.emit();\r\n });\r\n\r\n this.keyManager.change.pipe(takeUntil(this._unSubject)).subscribe((num: number) => {\r\n this.setScorllTop(num);\r\n this.keyManagerChange.emit(num);\r\n });\r\n }\r\n\r\n setScorllTop(_num: number) {\r\n if (!this.scrollElement || !this.keyManager.activeItem) return;\r\n let ele = this.keyManager.activeItem!.elementRef.nativeElement as HTMLElement;\r\n let list = this.scrollElement;\r\n let min = list.scrollTop;\r\n let max = list.scrollTop + list.clientHeight;\r\n if (ele.offsetTop + ele.clientHeight > max) {\r\n let scrollTop = ele.offsetTop + ele.clientHeight - list.clientHeight;\r\n list.scrollTop = scrollTop;\r\n }\r\n if (ele.offsetTop < min) {\r\n list.scrollTop = ele.offsetTop;\r\n }\r\n }\r\n\r\n setSelected() {\r\n if (this.nodes.length > 0) {\r\n this.nodes\r\n .filter((x) => x.selected)\r\n .map((x) => {\r\n x.selected = false;\r\n });\r\n let valArry: any[] = [];\r\n if (this.value instanceof Array) {\r\n valArry = this.value;\r\n if (valArry.length === this.nodes.length) {\r\n this.isSelectAll = true;\r\n }\r\n } else {\r\n valArry = [this.value];\r\n }\r\n\r\n let ids = [];\r\n let selectedNodes = [];\r\n if (this.objectArray) {\r\n ids = valArry.filter((x) => !XIsUndefined(x) && !XIsNull(x)).map((x) => x.id);\r\n } else {\r\n ids = valArry;\r\n }\r\n for (let id of ids) {\r\n let node = this.nodes.find((x) => x.id === id);\r\n if (node) {\r\n node.selected = true;\r\n selectedNodes.push(node);\r\n }\r\n }\r\n this.selectedNodes = selectedNodes;\r\n }\r\n }\r\n\r\n setKeyManager() {\r\n if (XIsUndefined(this.keyManager) || XIsUndefined(this.nodes) || this.nodes.length === 0) return;\r\n let activeIndex = 0;\r\n if (XIsEmpty(this.value)) {\r\n this.keyManager.updateActiveItem(activeIndex);\r\n return;\r\n }\r\n let valArry: any[] = [];\r\n if (this.value instanceof Array) {\r\n valArry = this.value;\r\n } else {\r\n valArry = [this.value];\r\n }\r\n const first = valArry[0];\r\n if (this.objectArray) {\r\n activeIndex = this.nodes.findIndex((x) => x.id === first.id);\r\n } else {\r\n activeIndex = this.nodes.findIndex((x) => x.id === first);\r\n }\r\n this.keyManager.updateActiveItem(activeIndex);\r\n this.setScorllTop(activeIndex);\r\n }\r\n\r\n onNodeClick(event: Event, node: XListNode) {\r\n if (XIsUndefined(node) || node.disabled) {\r\n event.stopPropagation();\r\n return;\r\n }\r\n if (node.disabled) return;\r\n if (node.selected && this.multiple === 1) {\r\n node.event = event;\r\n this.nodeClick.emit(node);\r\n return;\r\n }\r\n const selected = !node.selected;\r\n if (selected) {\r\n if (this.selectedNodes.length < Number(this.multiple) || this.multiple === 0) {\r\n node.selected = selected;\r\n this.selectedNodes = [...this.selectedNodes, node];\r\n if (this.selectedNodes.length === this.nodes.length) {\r\n this.isSelectAll = true;\r\n }\r\n this.cdr.detectChanges();\r\n } else if (this.multiple === 1 && this.selectedNodes.length === 1) {\r\n node.selected = selected;\r\n this.selectedNodes[0].selected = false;\r\n this.selectedNodes[0] = node;\r\n this.cdr.detectChanges();\r\n } else {\r\n return;\r\n }\r\n } else {\r\n node.selected = selected;\r\n this.selectedNodes.splice(\r\n this.selectedNodes.findIndex((x) => x.id == node.id),\r\n 1\r\n );\r\n this.isSelectAll = false;\r\n }\r\n if (this.multiple === 1 && this.selectedNodes.length === 1) {\r\n this.value = this.objectArray ? this.selectedNodes[0] : this.selectedNodes[0].id;\r\n } else {\r\n this.value = this.objectArray ? this.selectedNodes : this.selectedNodes.map((x) => x.id);\r\n }\r\n if (this.onChange) this.onChange(this.value);\r\n this.cdr.detectChanges();\r\n node.event = event;\r\n this.nodeClick.emit(node);\r\n }\r\n\r\n onMouseenter(event: Event, node: XListNode) {\r\n if (node.disabled) {\r\n event.stopPropagation();\r\n return;\r\n }\r\n node.event = event;\r\n this.nodeMouseenter.emit(node);\r\n }\r\n\r\n onMouseleave(event: Event, node: XListNode) {\r\n if (node.disabled) {\r\n event.stopPropagation();\r\n return;\r\n }\r\n node.event = event;\r\n this.nodeMouseleave.emit(node);\r\n }\r\n\r\n dropCdk(event: CdkDragDrop<XListNode[]>) {\r\n moveItemInArray(this.nodes, event.previousIndex, event.currentIndex);\r\n this.dropListDropped.emit({\r\n data: this.nodes,\r\n current: this.nodes[event.currentIndex],\r\n currentIndex: event.currentIndex,\r\n event: event\r\n });\r\n this.cdr.detectChanges();\r\n }\r\n\r\n predicate(_drag: CdkDrag<XListNode>, _drop: CdkDropList<XListNode>) {\r\n return true;\r\n }\r\n\r\n onSelectAllNodes() {\r\n this.isSelectAll = !this.isSelectAll;\r\n if (this.isSelectAll) {\r\n this.nodes.map((x) => {\r\n x.selected = true;\r\n return x;\r\n });\r\n this.selectedNodes = [...this.nodes];\r\n } else {\r\n this.nodes.map((x) => {\r\n x.selected = false;\r\n return x;\r\n });\r\n this.selectedNodes = [];\r\n }\r\n this.value = this.objectArray ? this.selectedNodes : this.selectedNodes.map((x) => x.id);\r\n if (this.onChange) this.onChange(this.value);\r\n this.onSelectAll.emit(this.isSelectAll);\r\n }\r\n\r\n onLoadMore() {\r\n this.loadMoreIndex++;\r\n this.setData();\r\n }\r\n\r\n trackByNode(_index: number, item: XListNode) {\r\n return item.id;\r\n }\r\n\r\n setUnActive(num: number) {\r\n if (num > -1) this.nodes[num].active = false;\r\n }\r\n}\r\n","<div class=\"x-list\">\r\n @if (header) {\r\n <div #headerRef class=\"x-list-header\" *xOutlet=\"header\">{{ header }}</div>\r\n }\r\n @if (selectAll && multiple === 0) {\r\n <div #selectAllRef class=\"x-list-select-all\">\r\n <x-list-option\r\n [size]=\"size\"\r\n [label]=\"getSelectAllText\"\r\n [checked]=\"true\"\r\n [selected]=\"isSelectAll\"\r\n (click)=\"onSelectAllNodes()\"\r\n ></x-list-option>\r\n </div>\r\n }\r\n @if (virtualScroll) {\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n [itemSize]=\"getItemSize\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n class=\"x-list-content\"\r\n [style.height.px]=\"getVirtualScrollHeight\"\r\n [hidden]=\"isEmpty\"\r\n >\r\n <x-list-option\r\n *cdkVirtualFor=\"let node of nodes; trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [openPortal]=\"node.openPortal\"\r\n [(active)]=\"node.active\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n <div\r\n class=\"x-list-content\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [hidden]=\"isEmpty\"\r\n [cdkDropListData]=\"nodes\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n @for (node of nodes; track node.id) {\r\n <x-list-option\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [(active)]=\"node.active\"\r\n [openPortal]=\"node.openPortal\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n }\r\n </div>\r\n }\r\n @if (loadMore && !isEmpty) {\r\n <div #loadMoreRef class=\"x-list-load-more\">\r\n <x-list-option [size]=\"size\" [nodeTpl]=\"loadMoreTpl\" (click)=\"onLoadMore()\"></x-list-option>\r\n </div>\r\n <ng-template #loadMoreTpl>\r\n @if (icon && iconSpin) {\r\n <x-icon [type]=\"icon\" [spin]=\"iconSpin\"></x-icon>\r\n }\r\n {{ icon && iconSpin ? getLoadingMoreText : getLoadMoreText }}\r\n </ng-template>\r\n }\r\n @if (isEmpty) {\r\n <x-empty></x-empty>\r\n }\r\n @if (footer) {\r\n <div #footerRef class=\"x-list-footer\" *xOutlet=\"footer\">{{ footer }}</div>\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XListComponent } from './list.component';\r\nimport { XListOptionComponent } from './list-option.component';\r\nimport { XListDropGroup } from './list-drop-group.directive';\r\n\r\n@NgModule({\r\n exports: [XListComponent, XListDropGroup, XListOptionComponent],\r\n imports: [XListComponent, XListDropGroup, XListOptionComponent]\r\n})\r\nexport class XListModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-list.mjs","sources":["../../../../lib/ng-nest/ui/list/list.property.ts","../../../../lib/ng-nest/ui/list/list-option.component.ts","../../../../lib/ng-nest/ui/list/list-option.component.html","../../../../lib/ng-nest/ui/list/list-drop-group.directive.ts","../../../../lib/ng-nest/ui/list/list.component.ts","../../../../lib/ng-nest/ui/list/list.component.html","../../../../lib/ng-nest/ui/list/list.module.ts","../../../../lib/ng-nest/ui/list/ng-nest-ui-list.ts"],"sourcesContent":["import {\r\n XData,\r\n XParentIdentityProperty,\r\n XNumber,\r\n XBoolean,\r\n XTemplate,\r\n XSize,\r\n XToNumber,\r\n XToBoolean\r\n} from '@ng-nest/ui/core';\r\nimport { Component, TemplateRef, ElementRef, input, output, model } from '@angular/core';\r\nimport { XFormControlFunction } from '@ng-nest/ui/base-form';\r\nimport { CdkDragDrop } from '@angular/cdk/drag-drop';\r\n\r\n/**\r\n * List\r\n * @selector x-list\r\n * @decorator component\r\n */\r\nexport const XListPrefix = 'x-list';\r\nconst X_LIST_CONFIG_NAME = 'list';\r\n\r\n/**\r\n * List Property\r\n */\r\n@Component({ selector: `${XListPrefix}-property`, template: '' })\r\nexport class XListProperty extends XFormControlFunction(X_LIST_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 列表数据\r\n * @en_US List data\r\n */\r\n readonly data = input<XData<XListNode>>([]);\r\n /**\r\n * @zh_CN 多选个数,设置为0,不限制选择个数\r\n * @en_US Multiple choice\r\n */\r\n readonly multiple = input<number, XNumber>(1, { transform: XToNumber });\r\n /**\r\n * @zh_CN 多选添加全选功能,适用于 multiple=0\r\n * @en_US Multi choice to add full selection function\r\n */\r\n readonly selectAll = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 全选的文字\r\n * @en_US Selected all text\r\n * @default '全选'\r\n */\r\n readonly selectAllText = input<string>(this.config?.selectAllText ?? '');\r\n /**\r\n * @zh_CN 选中\r\n * @en_US Selected\r\n */\r\n readonly checked = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 拖动\r\n * @en_US Drag\r\n */\r\n readonly drag = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 当开启多选的时候,ngModel 的值为对象数组\r\n * @en_US When multiple selection is enabled, the value of ngmodel is an array of objects\r\n */\r\n readonly objectArray = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n readonly nodeTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 列表头部\r\n * @en_US List header\r\n */\r\n readonly header = input<XTemplate>();\r\n /**\r\n * @zh_CN 列表底部\r\n * @en_US List footer\r\n */\r\n readonly footer = input<XTemplate>();\r\n /**\r\n * @zh_CN 滚动区域元素\r\n * @en_US Rolling area element\r\n */\r\n readonly scrollElement = input<HTMLElement>();\r\n /**\r\n * @zh_CN 加载更多\r\n * @en_US load more\r\n */\r\n readonly loadMore = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 加载更多的文字\r\n * @en_US Load more text\r\n * @default '加载更多'\r\n */\r\n readonly loadMoreText = input<string>(this.config?.loadMoreText ?? '');\r\n /**\r\n * @zh_CN 正在加载中的文字\r\n * @en_US Loading\r\n * @default '正在加载中'\r\n */\r\n readonly loadingMoreText = input<string>(this.config?.loadingMoreText ?? '');\r\n /**\r\n * @zh_CN 开启虚拟滚动,不支持节点拖动功能\r\n * @en_US Turn on virtual scrolling\r\n */\r\n readonly virtualScroll = input<boolean, XBoolean>(this.config?.virtualScroll ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 虚拟滚动高度, 实际会去掉头尾、全选、更多的高度\r\n * @en_US The virtual rolling height will actually remove the head and end, the full selection, more height\r\n */\r\n readonly scrollHeight = input<number, XNumber>(this.config?.scrollHeight ?? 400, { transform: XToNumber });\r\n /**\r\n * @zh_CN 虚拟滚动高度自适应指定元素\r\n * @en_US virtual rolling height follows the specified object\r\n */\r\n readonly heightAdaption = input<ElementRef<HTMLElement> | HTMLElement>();\r\n /**\r\n * @zh_CN 超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US Exceed the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n readonly minBufferPx = input<number, XNumber>(100, { transform: XToNumber });\r\n /**\r\n * @zh_CN 渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US Render the pixels of the new data buffer, corresponding to the parameters in cdk scroll\r\n */\r\n readonly maxBufferPx = input<number, XNumber>(200, { transform: XToNumber });\r\n /**\r\n * @zh_CN 关键字高亮\r\n * @en_US Keyword highlighting\r\n */\r\n readonly keywordText = input<string | string[]>();\r\n /**\r\n * @zh_CN 匹配关键字区分大小写\r\n * @en_US Case-sensitive\r\n */\r\n readonly caseSensitive = input<boolean, XBoolean>(this.config?.caseSensitive ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 在弹框中选择时的样式,根据尺寸来决定\r\n * @en_US The style selected in the pop-up box is determined by size\r\n */\r\n readonly inPortal = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN Full event\r\n * @en_US 全选事件\r\n */\r\n readonly onSelectAll = output<boolean>();\r\n /**\r\n * @zh_CN 节点 mouseenter 事件\r\n * @en_US Node mouseenter event\r\n */\r\n readonly nodeMouseenter = output<XListNode>();\r\n /**\r\n * @zh_CN 节点 mouseleave 事件\r\n * @en_US Node mouseleave event\r\n */\r\n readonly nodeMouseleave = output<XListNode>();\r\n /**\r\n * @zh_CN 节点点击事件\r\n * @en_US Node click event\r\n */\r\n readonly nodeClick = output<XListNode>();\r\n /**\r\n * @zh_CN 拖动结束事件\r\n * @en_US Drag the end\r\n */\r\n readonly dropListDropped = output<XListDragDrop>();\r\n /**\r\n * @zh_CN Tab out 事件\r\n * @en_US Tab Out event\r\n */\r\n readonly keyManagerTabOut = output<void>();\r\n /**\r\n * @zh_CN Tab out 事件\r\n * @en_US Tab Out event\r\n */\r\n readonly keyManagerChange = output<number>();\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n override readonly size = input<XSize>(this.config?.size ?? 'medium');\r\n}\r\n\r\n/**\r\n * @zh_CN List 数据对象\r\n * @en_US List data object\r\n */\r\nexport interface XListNode extends XParentIdentityProperty<XListNode> {\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Iicon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 分割线\r\n * @en_US Split line\r\n */\r\n divided?: boolean;\r\n /**\r\n * @zh_CN 事件\r\n * @en_US Event\r\n */\r\n event?: Event;\r\n /**\r\n * @zh_CN 悬停\r\n * @en_US Hover\r\n */\r\n hover?: boolean;\r\n /**\r\n * @zh_CN 打开弹框\r\n * @en_US open portal\r\n */\r\n openPortal?: boolean;\r\n /**\r\n * @zh_CN 激活\r\n * @en_US Active\r\n */\r\n active?: boolean;\r\n /**\r\n * @zh_CN 检查更新\r\n * @en_US Check for updates\r\n */\r\n change?: Function;\r\n}\r\n\r\n/**\r\n * List Option\r\n * @selector x-list-option\r\n * @decorator component\r\n */\r\nexport const XListOptionPrefix = 'x-list-option';\r\n\r\n/**\r\n * List Option Property\r\n */\r\n@Component({ selector: `${XListOptionPrefix}-property`, template: '' })\r\nexport class XListOptionProperty {\r\n /**\r\n * @zh_CN 节点参数\r\n * @en_US Node param\r\n */\r\n readonly node = input<XListNode>();\r\n /**\r\n * @zh_CN 选中\r\n * @en_US Selected\r\n */\r\n readonly checked = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n readonly nodeTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 选中\r\n * @en_US selected\r\n */\r\n readonly selected = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US forbidden\r\n */\r\n readonly forbidden = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 激活\r\n * @en_US active\r\n */\r\n readonly active = model<boolean>(false);\r\n /**\r\n * @zh_CN 打开弹框\r\n * @en_US open portal\r\n */\r\n readonly openPortal = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 自定义数据对象样式\r\n * @en_US Customize data object styles\r\n */\r\n readonly optionClass = input<(node: XListNode) => { [className: string]: boolean }>();\r\n /**\r\n * @zh_CN 图标\r\n * @en_US icon\r\n */\r\n readonly icon = input<string>();\r\n /**\r\n * @zh_CN 分割线\r\n * @en_US Split line\r\n */\r\n readonly divided = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 标签\r\n * @en_US label\r\n */\r\n readonly label = input<string>();\r\n /**\r\n * @zh_CN 叶子节点\r\n * @en_US leaf\r\n */\r\n readonly leaf = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n readonly size = input<XSize>('medium');\r\n /**\r\n * @zh_CN 关键字高亮\r\n * @en_US Keyword highlighting\r\n */\r\n readonly keywordText = input<string | string[]>();\r\n /**\r\n * @zh_CN 匹配关键字区分大小写\r\n * @en_US Case-sensitive\r\n */\r\n readonly caseSensitive = input<boolean, XBoolean>(true, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * @zh_CN 拖动相关的数据\r\n * @en_US Drag related data\r\n */\r\nexport type XListDragDrop = {\r\n /**\r\n * @zh_CN 节点数据集合\r\n * @en_US Node data collection\r\n */\r\n data: XListNode[];\r\n /**\r\n * @zh_CN 当前拖动节点\r\n * @en_US The current drag nodes\r\n */\r\n current: XListNode;\r\n /**\r\n * @zh_CN 当前拖动节点的索引\r\n * @en_US The current drag index of the node\r\n */\r\n currentIndex: number;\r\n /**\r\n * @zh_CN 当前拖动节点事件\r\n * @en_US The current drag nodes event\r\n */\r\n event: CdkDragDrop<XListNode[]>;\r\n};\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n ViewEncapsulation,\r\n computed,\r\n effect,\r\n inject\r\n} from '@angular/core';\r\nimport { XListOptionPrefix, XListOptionProperty } from './list.property';\r\nimport { Highlightable } from '@angular/cdk/a11y';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XKeywordDirective } from '@ng-nest/ui/keyword';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XListOptionPrefix}`,\r\n standalone: true,\r\n imports: [NgClass, NgTemplateOutlet, XIconComponent, XKeywordDirective],\r\n templateUrl: './list-option.component.html',\r\n styleUrls: ['./list-option.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XListOptionComponent extends XListOptionProperty implements Highlightable {\r\n @HostBinding('attr.role') role = 'option';\r\n elementRef = inject(ElementRef);\r\n classMap = computed(() => ({\r\n [`${XListOptionPrefix}-${this.size()}`]: this.size() ? true : false\r\n }));\r\n disabled = false;\r\n\r\n constructor() {\r\n super();\r\n effect(() => (this.disabled = this.forbidden()));\r\n }\r\n\r\n setActiveStyles(): void {\r\n this.active.set(true);\r\n }\r\n setInactiveStyles(): void {\r\n this.active.set(false);\r\n }\r\n\r\n getLabel() {\r\n return this.label() as string;\r\n }\r\n}\r\n","<div\r\n class=\"x-list-option\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-selected]=\"selected()\"\r\n [class.x-disabled]=\"forbidden()\"\r\n [class.x-open-portal]=\"openPortal()\"\r\n [class.x-active]=\"active()\"\r\n [class.x-list-icon]=\"icon()\"\r\n [class.x-list-divided]=\"divided()\"\r\n>\r\n <div class=\"x-list-option-content\">\r\n @if (nodeTpl()) {\r\n <ng-template *ngTemplateOutlet=\"nodeTpl()!; context: { $node: node() }\"></ng-template>\r\n } @else {\r\n @if (icon()) {\r\n <x-icon [type]=\"icon()\"></x-icon>\r\n }\r\n <span x-keyword [text]=\"keywordText()\" [caseSensitive]=\"caseSensitive()\">{{ label() }}</span>\r\n }\r\n </div>\r\n @if (leaf()) {\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\"></x-icon>\r\n }\r\n @if (checked() && !leaf() && selected()) {\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n","import { coerceArray } from '@angular/cdk/coercion';\r\nimport { CdkDropList } from '@angular/cdk/drag-drop';\r\nimport { Directive, InjectionToken, OnDestroy, input } from '@angular/core';\r\nimport { XBoolean, XToBoolean } from '@ng-nest/ui/core';\r\n\r\nexport const X_LIST_DROP_GROUP = new InjectionToken<XListDropGroup>('XListDropGroup');\r\n\r\n@Directive({\r\n selector: '[xListDropGroup]',\r\n standalone: true,\r\n providers: [{ provide: X_LIST_DROP_GROUP, useExisting: XListDropGroup }]\r\n})\r\nexport class XListDropGroup implements OnDestroy {\r\n readonly dropLists = new Set<CdkDropList>();\r\n\r\n disabled = input<boolean, XBoolean>(false, { transform: XToBoolean, alias: 'xListDropGroupDisabled' });\r\n\r\n setConnectedTo() {\r\n this.dropLists.forEach((x) => {\r\n this.dropLists.forEach((y) => {\r\n if (!y.connectedTo) {\r\n y.connectedTo = [x];\r\n } else {\r\n if (!coerceArray(y.connectedTo).includes(x)) {\r\n coerceArray(y.connectedTo).push(x);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.dropLists.clear();\r\n }\r\n}\r\n","import { Subject } from 'rxjs';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n QueryList,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n ViewChildren,\r\n inject,\r\n AfterRenderPhase,\r\n afterRender,\r\n viewChild,\r\n signal,\r\n computed\r\n} from '@angular/core';\r\nimport { XListPrefix, XListNode, XListProperty } from './list.property';\r\nimport { XIsChange, XSetData, XIsEmpty, XIsUndefined, XIsNull, XResize, XResizeObserver } from '@ng-nest/ui/core';\r\nimport { CdkDrag, CdkDragDrop, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { XListOptionComponent } from './list-option.component';\r\nimport { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\r\nimport { ENTER } from '@angular/cdk/keycodes';\r\nimport { map, takeUntil, debounceTime } from 'rxjs/operators';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XI18nList, XI18nService, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { XListDropGroup, X_LIST_DROP_GROUP } from './list-drop-group.directive';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XEmptyComponent } from '@ng-nest/ui/empty';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XListPrefix}`,\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CdkDropList,\r\n CdkDrag,\r\n ScrollingModule,\r\n XIconComponent,\r\n XEmptyComponent,\r\n XListOptionComponent,\r\n XOutletDirective\r\n ],\r\n templateUrl: './list.component.html',\r\n styleUrls: ['./list.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XListComponent)]\r\n})\r\nexport class XListComponent extends XListProperty implements OnChanges {\r\n private unSubject = new Subject<void>();\r\n private i18n = inject(XI18nService);\r\n private group = inject<XListDropGroup>(X_LIST_DROP_GROUP, { optional: true, skipSelf: true });\r\n nodes = signal<XListNode[]>([]);\r\n selectedNodes = signal<XListNode[]>([]);\r\n headerRef = viewChild<ElementRef<HTMLElement>>('headerRef');\r\n footerRef = viewChild<ElementRef<HTMLElement>>('footerRef');\r\n selectAllRef = viewChild<ElementRef<HTMLElement>>('selectAllRef');\r\n loadMoreRef = viewChild<ElementRef<HTMLElement>>('loadMoreRef');\r\n virtualBody = viewChild<CdkVirtualScrollViewport>('virtualBody');\r\n dropList = viewChild<CdkDropList>(CdkDropList);\r\n @ViewChildren(XListOptionComponent)\r\n options!: QueryList<XListOptionComponent>;\r\n keyManager!: ActiveDescendantKeyManager<XListOptionComponent>;\r\n isSelectAll = signal(false);\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.list as XI18nList)), { initialValue: zh_CN.list });\r\n loadMoreIndex = signal(0);\r\n icon = signal('');\r\n iconSpin = signal(false);\r\n scrollHeightSignal = signal(0);\r\n classMap = computed(() => ({\r\n [`${XListPrefix}-${this.size()}`]: this.size() ? true : false\r\n }));\r\n private resizeObserver!: XResizeObserver;\r\n\r\n @HostBinding('attr.role') role = 'listbox';\r\n @HostBinding('attr.tabindex') tabindex = -1;\r\n\r\n @HostListener('keydown', ['$event']) keydown($event: KeyboardEvent) {\r\n this.keyManager.onKeydown($event);\r\n const activeIndex = this.keyManager.activeItemIndex as number;\r\n if ($event.keyCode === ENTER && !XIsUndefined(activeIndex)) {\r\n this.setUnActive(activeIndex);\r\n this.onNodeClick($event, this.nodes()[activeIndex]);\r\n }\r\n }\r\n\r\n itemSizeMap: { [key: string]: number } = {\r\n mini: 22,\r\n small: 24,\r\n medium: 28,\r\n large: 32,\r\n big: 36\r\n };\r\n\r\n itemSize = computed(() => this.itemSizeMap[this.size()]);\r\n isEmpty = computed(() => XIsEmpty(this.nodes()));\r\n getSelectAllText = computed(() => this.selectAllText() || this.locale().selectAllText);\r\n getLoadMoreText = computed(() => this.loadMoreText() || this.locale().loadMoreText);\r\n getLoadingMoreText = computed(() => this.loadingMoreText() || this.locale().loadingMoreText);\r\n\r\n getVirtualScrollHeight() {\r\n let headerH = 0,\r\n footerH = 0,\r\n selectAllH = 0,\r\n loadMoreH = 0;\r\n if (this.headerRef()) headerH = this.headerRef()!.nativeElement.clientHeight;\r\n if (this.footerRef()) footerH = this.footerRef()!.nativeElement.clientHeight;\r\n if (this.selectAllRef()) selectAllH = this.selectAllRef()!.nativeElement.clientHeight;\r\n if (this.loadMoreRef()) loadMoreH = this.loadMoreRef()!.nativeElement.clientHeight;\r\n\r\n return this.scrollHeightSignal() - headerH - footerH - selectAllH - loadMoreH;\r\n }\r\n\r\n override writeValue(value: any): void {\r\n this.value.set(value);\r\n this.setSelected();\r\n this.setKeyManager();\r\n }\r\n\r\n constructor() {\r\n super();\r\n afterRender(\r\n () => {\r\n if (this.virtualScroll() && this.scrollHeight()) {\r\n this.virtualBody()?.checkViewportSize();\r\n }\r\n },\r\n { phase: AfterRenderPhase.MixedReadWrite }\r\n );\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.initKeyManager();\r\n if (this.virtualScroll() && this.heightAdaption()) {\r\n this.setVirtualScrollHeight();\r\n XResize(this.heightAdaption() as HTMLElement)\r\n .pipe(debounceTime(30), takeUntil(this.unSubject))\r\n .subscribe((x) => {\r\n this.resizeObserver = x.resizeObserver;\r\n this.setVirtualScrollHeight();\r\n });\r\n } else {\r\n this.scrollHeightSignal.set(this.scrollHeight());\r\n }\r\n if (this.group && this.dropList()) {\r\n this.group.dropLists.add(this.dropList()!);\r\n this.group.setConnectedTo();\r\n }\r\n }\r\n\r\n minBufferPxSignal = computed(() => {\r\n if (this.virtualScroll() && this.heightAdaption()) {\r\n return this.getVirtualScrollHeight();\r\n } else {\r\n return this.minBufferPx();\r\n }\r\n });\r\n maxBufferPxSignal = computed(() => {\r\n if (this.virtualScroll() && this.heightAdaption()) {\r\n return this.getVirtualScrollHeight() * 1.2;\r\n } else {\r\n return this.maxBufferPx();\r\n }\r\n });\r\n\r\n ngOnDestroy(): void {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n this.resizeObserver?.disconnect();\r\n this.group?.dropLists.delete(this.dropList()!);\r\n }\r\n\r\n private setVirtualScrollHeight() {\r\n this.scrollHeightSignal.set((this.heightAdaption() as HTMLElement).clientHeight);\r\n this.virtualBody()!['_scrollStrategy']['_minBufferPx'] = this.minBufferPxSignal();\r\n this.virtualBody()!['_scrollStrategy']['_maxBufferPx'] = this.maxBufferPxSignal();\r\n }\r\n\r\n private setData() {\r\n if (this.loadMore()) {\r\n this.icon.set('fto-loader');\r\n this.iconSpin.set(true);\r\n }\r\n XSetData<XListNode>(this.data(), this.unSubject, true, this.loadMoreIndex()).subscribe((x) => {\r\n if (this.loadMore()) {\r\n this.nodes.update((y) => [...y, ...x]);\r\n this.icon.set('');\r\n this.iconSpin.set(false);\r\n } else {\r\n this.nodes.set(x);\r\n }\r\n this.setSelected();\r\n this.setKeyManager();\r\n });\r\n }\r\n\r\n private initKeyManager() {\r\n this.keyManager = new ActiveDescendantKeyManager<XListOptionComponent>(this.options).withWrap();\r\n this.keyManager.tabOut.pipe(takeUntil(this.unSubject)).subscribe(() => {\r\n this.setUnActive(this.keyManager.activeItemIndex as number);\r\n this.keyManagerTabOut.emit();\r\n });\r\n this.keyManager.change.pipe(takeUntil(this.unSubject)).subscribe((num: number) => {\r\n this.setScorllTop(num);\r\n this.keyManagerChange.emit(num);\r\n });\r\n }\r\n\r\n setScorllTop(_num: number) {\r\n let list = this.scrollElement();\r\n if (!list || !this.keyManager.activeItem) return;\r\n let ele = this.keyManager.activeItem.elementRef.nativeElement as HTMLElement;\r\n let min = list.scrollTop;\r\n let max = list.scrollTop + list.clientHeight;\r\n if (ele.offsetTop + ele.clientHeight > max) {\r\n let scrollTop = ele.offsetTop + ele.clientHeight - list.clientHeight;\r\n list.scrollTop = scrollTop;\r\n }\r\n if (ele.offsetTop < min) {\r\n list.scrollTop = ele.offsetTop;\r\n }\r\n }\r\n\r\n setSelected() {\r\n const nodes = this.nodes();\r\n const value = this.value();\r\n const objectArray = this.objectArray();\r\n if (nodes.length > 0) {\r\n nodes\r\n .filter((x) => x.selected)\r\n .map((x) => {\r\n x.selected = false;\r\n });\r\n let valArry: any[] = [];\r\n if (value instanceof Array) {\r\n valArry = value;\r\n if (valArry.length === nodes.length) {\r\n this.isSelectAll.set(true);\r\n }\r\n } else {\r\n valArry = [value];\r\n }\r\n\r\n let ids = [];\r\n let selectedNodes = [];\r\n if (objectArray) {\r\n ids = valArry.filter((x) => !XIsUndefined(x) && !XIsNull(x)).map((x) => x.id);\r\n } else {\r\n ids = valArry;\r\n }\r\n for (let id of ids) {\r\n let node = nodes.find((x) => x.id === id);\r\n if (node) {\r\n node.selected = true;\r\n selectedNodes.push(node);\r\n }\r\n }\r\n this.selectedNodes.set(selectedNodes);\r\n }\r\n }\r\n\r\n setKeyManager() {\r\n if (XIsUndefined(this.keyManager) || XIsEmpty(this.nodes())) return;\r\n let activeIndex = 0;\r\n let value = this.value();\r\n let objectArray = this.objectArray();\r\n if (XIsEmpty(value)) {\r\n this.keyManager.updateActiveItem(activeIndex);\r\n return;\r\n }\r\n let valArry: any[] = [];\r\n if (value instanceof Array) {\r\n valArry = value;\r\n } else {\r\n valArry = [value];\r\n }\r\n const first = valArry[0];\r\n if (objectArray) {\r\n activeIndex = this.nodes().findIndex((x) => x.id === first.id);\r\n } else {\r\n activeIndex = this.nodes().findIndex((x) => x.id === first);\r\n }\r\n this.keyManager.updateActiveItem(activeIndex);\r\n this.setScorllTop(activeIndex);\r\n }\r\n\r\n onNodeClick(event: Event, node: XListNode) {\r\n if (XIsUndefined(node) || node.disabled) {\r\n event.stopPropagation();\r\n return;\r\n }\r\n if (node.disabled) return;\r\n if (node.selected && this.multiple() === 1) {\r\n node.event = event;\r\n this.nodeClick.emit(node);\r\n return;\r\n }\r\n const selected = !node.selected;\r\n if (selected) {\r\n if (this.selectedNodes().length < this.multiple() || this.multiple() === 0 || isNaN(this.multiple())) {\r\n node.selected = selected;\r\n this.selectedNodes.update((x) => [...x, node]);\r\n if (this.selectedNodes().length === this.nodes().length) {\r\n this.isSelectAll.set(true);\r\n }\r\n } else if (this.multiple() === 1 && this.selectedNodes().length === 1) {\r\n node.selected = selected;\r\n this.selectedNodes.update((x) => {\r\n x[0].selected = false;\r\n x[0] = node;\r\n return [...x];\r\n });\r\n } else {\r\n return;\r\n }\r\n } else {\r\n node.selected = selected;\r\n this.selectedNodes.update((x) => {\r\n x.splice(\r\n x.findIndex((x) => x.id == node.id),\r\n 1\r\n );\r\n return [...x];\r\n });\r\n this.isSelectAll.set(false);\r\n }\r\n\r\n if (this.multiple() === 1 && this.selectedNodes().length === 1) {\r\n this.value.set(this.objectArray() ? this.selectedNodes()[0] : this.selectedNodes()[0].id);\r\n } else {\r\n this.value.set(this.objectArray() ? this.selectedNodes() : this.selectedNodes().map((x) => x.id));\r\n }\r\n if (this.onChange) this.onChange(this.value());\r\n node.event = event;\r\n this.nodeClick.emit(node);\r\n }\r\n\r\n onMouseenter(event: Event, node: XListNode) {\r\n if (node.disabled) {\r\n event.stopPropagation();\r\n return;\r\n }\r\n node.event = event;\r\n this.nodeMouseenter.emit(node);\r\n }\r\n\r\n onMouseleave(event: Event, node: XListNode) {\r\n if (node.disabled) {\r\n event.stopPropagation();\r\n return;\r\n }\r\n node.event = event;\r\n this.nodeMouseleave.emit(node);\r\n }\r\n\r\n dropCdk(event: CdkDragDrop<XListNode[]>) {\r\n this.nodes.update((x) => {\r\n moveItemInArray(x, event.previousIndex, event.currentIndex);\r\n return [...x];\r\n });\r\n this.dropListDropped.emit({\r\n data: this.nodes(),\r\n current: this.nodes()[event.currentIndex],\r\n currentIndex: event.currentIndex,\r\n event: event\r\n });\r\n }\r\n\r\n predicate(_drag: CdkDrag<XListNode>, _drop: CdkDropList<XListNode>) {\r\n return true;\r\n }\r\n\r\n onSelectAllNodes() {\r\n this.isSelectAll.update((x) => !x);\r\n if (this.isSelectAll()) {\r\n this.nodes.update((x) => {\r\n x.forEach((y) => (y.selected = true));\r\n return [...x];\r\n });\r\n this.selectedNodes.set(this.nodes());\r\n } else {\r\n this.nodes.update((x) => {\r\n x.forEach((y) => (y.selected = false));\r\n return [...x];\r\n });\r\n this.selectedNodes.set([]);\r\n }\r\n this.value.set(this.objectArray() ? this.selectedNodes() : this.selectedNodes().map((x) => x.id));\r\n if (this.onChange) this.onChange(this.value());\r\n this.onSelectAll.emit(this.isSelectAll());\r\n }\r\n\r\n onLoadMore() {\r\n this.loadMoreIndex.update((x) => x + 1);\r\n this.setData();\r\n }\r\n\r\n trackByNode(_index: number, item: XListNode) {\r\n return item.id;\r\n }\r\n\r\n setUnActive(num: number) {\r\n if (num > -1) this.nodes()[num].active = false;\r\n }\r\n}\r\n","<div class=\"x-list\" [class.x-list-portal]=\"inPortal()\" [ngClass]=\"classMap()\">\r\n @if (header()) {\r\n <div #headerRef class=\"x-list-header\" *xOutlet=\"header()\">{{ header() }}</div>\r\n }\r\n @if (selectAll() && multiple() === 0) {\r\n <div #selectAllRef class=\"x-list-select-all\">\r\n <x-list-option\r\n [size]=\"size()\"\r\n [label]=\"getSelectAllText()\"\r\n [checked]=\"true\"\r\n [selected]=\"isSelectAll()\"\r\n (click)=\"onSelectAllNodes()\"\r\n ></x-list-option>\r\n </div>\r\n }\r\n @if (virtualScroll()) {\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n [itemSize]=\"itemSize()\"\r\n [minBufferPx]=\"minBufferPxSignal()\"\r\n [maxBufferPx]=\"maxBufferPxSignal()\"\r\n class=\"x-list-content\"\r\n [style.height.px]=\"getVirtualScrollHeight()\"\r\n [hidden]=\"isEmpty()\"\r\n >\r\n <x-list-option\r\n *cdkVirtualFor=\"let node of nodes(); trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked()\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [selected]=\"node.selected!\"\r\n [forbidden]=\"node.disabled!\"\r\n [active]=\"node.active!\"\r\n (activeChange)=\"node.active = $event\"\r\n [openPortal]=\"node.openPortal!\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf!\"\r\n [size]=\"size()\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n <div\r\n class=\"x-list-content\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag()\"\r\n [hidden]=\"isEmpty()\"\r\n [cdkDropListData]=\"nodes()\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n @for (node of nodes(); track node.id) {\r\n <x-list-option\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n [node]=\"node\"\r\n [checked]=\"checked()\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [selected]=\"node.selected!\"\r\n [forbidden]=\"node.disabled!\"\r\n [active]=\"node.active!\"\r\n (activeChange)=\"node.active = $event\"\r\n [openPortal]=\"node.openPortal!\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf!\"\r\n [size]=\"size()\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n }\r\n </div>\r\n }\r\n @if (loadMore() && !isEmpty()) {\r\n <div #loadMoreRef class=\"x-list-load-more\">\r\n <x-list-option [size]=\"size()\" [nodeTpl]=\"loadMoreTpl\" (click)=\"onLoadMore()\"></x-list-option>\r\n </div>\r\n <ng-template #loadMoreTpl>\r\n @if (icon() && iconSpin()) {\r\n <x-icon [type]=\"icon()\" [spin]=\"iconSpin()\"></x-icon>\r\n }\r\n {{ icon() && iconSpin() ? getLoadingMoreText() : getLoadMoreText() }}\r\n </ng-template>\r\n }\r\n @if (isEmpty()) {\r\n <x-empty></x-empty>\r\n }\r\n @if (footer()) {\r\n <div #footerRef class=\"x-list-footer\" *xOutlet=\"footer()\">{{ footer() }}</div>\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XListComponent } from './list.component';\r\nimport { XListOptionComponent } from './list-option.component';\r\nimport { XListDropGroup } from './list-drop-group.directive';\r\n\r\n@NgModule({\r\n exports: [XListComponent, XListDropGroup, XListOptionComponent],\r\n imports: [XListComponent, XListDropGroup, XListOptionComponent]\r\n})\r\nexport class XListModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component,
|
|
3
|
-
import {
|
|
4
|
-
import { XProperty, XInputBoolean, XWithConfig, XConfigService, XIsChange, XClearClass, XIsNumber, XIsEmpty } from '@ng-nest/ui/core';
|
|
2
|
+
import { input, Component, viewChild, computed, inject, ViewContainerRef, effect, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, NgModule } from '@angular/core';
|
|
3
|
+
import { XPropertyFunction, XToBoolean, XToNumber, XIsNumber, XIsEmpty } from '@ng-nest/ui/core';
|
|
5
4
|
import { XPortalService } from '@ng-nest/ui/portal';
|
|
6
5
|
import { XIconComponent } from '@ng-nest/ui/icon';
|
|
7
6
|
import { XOutletDirective } from '@ng-nest/ui/outlet';
|
|
@@ -13,111 +12,112 @@ import { NgClass, NgTemplateOutlet } from '@angular/common';
|
|
|
13
12
|
* @decorator component
|
|
14
13
|
*/
|
|
15
14
|
const XLoadingPrefix = 'x-loading';
|
|
16
|
-
const
|
|
15
|
+
const X_LOADING_CONFIG_NAME = 'loading';
|
|
17
16
|
/**
|
|
18
17
|
* Loading Property
|
|
19
18
|
*/
|
|
20
|
-
class XLoadingProperty extends
|
|
19
|
+
class XLoadingProperty extends XPropertyFunction(X_LOADING_CONFIG_NAME) {
|
|
21
20
|
constructor() {
|
|
22
21
|
super(...arguments);
|
|
23
22
|
/**
|
|
24
23
|
* @zh_CN 显示 loading
|
|
25
24
|
* @en_US Show loading
|
|
26
25
|
*/
|
|
27
|
-
this.loading = false;
|
|
26
|
+
this.loading = input(false, { transform: XToBoolean, alias: 'x-loading' });
|
|
27
|
+
/**
|
|
28
|
+
* @zh_CN 层级
|
|
29
|
+
* @en_US z-index
|
|
30
|
+
*/
|
|
31
|
+
this.zIndex = input(this.config?.zIndex ?? 10, { transform: XToNumber });
|
|
32
|
+
/**
|
|
33
|
+
* @zh_CN 尺寸
|
|
34
|
+
* @en_US Size
|
|
35
|
+
*/
|
|
36
|
+
this.size = input(this.config?.size ?? 'medium');
|
|
37
|
+
/**
|
|
38
|
+
* @zh_CN 显示文字,支持自定义模板
|
|
39
|
+
* @en_US Display text, support custom template
|
|
40
|
+
*/
|
|
41
|
+
this.text = input(this.config?.text);
|
|
42
|
+
/**
|
|
43
|
+
* @zh_CN 显示的图标
|
|
44
|
+
* @en_US Icon displayed
|
|
45
|
+
*/
|
|
46
|
+
this.icon = input(this.config?.icon);
|
|
47
|
+
/**
|
|
48
|
+
* @zh_CN 颜色
|
|
49
|
+
* @en_US Color
|
|
50
|
+
*/
|
|
51
|
+
this.color = input(this.config?.color);
|
|
52
|
+
/**
|
|
53
|
+
* @zh_CN 全屏显示
|
|
54
|
+
* @en_US Full-screen display
|
|
55
|
+
*/
|
|
56
|
+
this.fullScreen = input(false, { transform: XToBoolean });
|
|
57
|
+
/**
|
|
58
|
+
* @zh_CN 圆角覆盖显示
|
|
59
|
+
* @en_US Rounded corner coverage display
|
|
60
|
+
*/
|
|
61
|
+
this.radius = input();
|
|
62
|
+
/**
|
|
63
|
+
* @zh_CN 背景样式
|
|
64
|
+
* @en_US Background style
|
|
65
|
+
*/
|
|
66
|
+
this.background = input(this.config?.background);
|
|
28
67
|
}
|
|
29
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
30
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
68
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XLoadingProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
69
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: XLoadingProperty, selector: "x-loading-property", inputs: { loading: { classPropertyName: "loading", publicName: "x-loading", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, fullScreen: { classPropertyName: "fullScreen", publicName: "fullScreen", isSignal: true, isRequired: false, transformFunction: null }, radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
31
70
|
}
|
|
32
|
-
|
|
33
|
-
XInputBoolean()
|
|
34
|
-
], XLoadingProperty.prototype, "loading", void 0);
|
|
35
|
-
__decorate([
|
|
36
|
-
XWithConfig(X_CONFIG_NAME, 10)
|
|
37
|
-
], XLoadingProperty.prototype, "zIndex", void 0);
|
|
38
|
-
__decorate([
|
|
39
|
-
XWithConfig(X_CONFIG_NAME, 'medium')
|
|
40
|
-
], XLoadingProperty.prototype, "size", void 0);
|
|
41
|
-
__decorate([
|
|
42
|
-
XWithConfig(X_CONFIG_NAME)
|
|
43
|
-
], XLoadingProperty.prototype, "text", void 0);
|
|
44
|
-
__decorate([
|
|
45
|
-
XWithConfig(X_CONFIG_NAME)
|
|
46
|
-
], XLoadingProperty.prototype, "icon", void 0);
|
|
47
|
-
__decorate([
|
|
48
|
-
XWithConfig(X_CONFIG_NAME)
|
|
49
|
-
], XLoadingProperty.prototype, "color", void 0);
|
|
50
|
-
__decorate([
|
|
51
|
-
XInputBoolean()
|
|
52
|
-
], XLoadingProperty.prototype, "fullScreen", void 0);
|
|
53
|
-
__decorate([
|
|
54
|
-
XWithConfig(X_CONFIG_NAME)
|
|
55
|
-
], XLoadingProperty.prototype, "background", void 0);
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XLoadingProperty, decorators: [{
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XLoadingProperty, decorators: [{
|
|
57
72
|
type: Component,
|
|
58
73
|
args: [{ selector: `${XLoadingPrefix}-property`, template: '' }]
|
|
59
|
-
}]
|
|
60
|
-
type: Input,
|
|
61
|
-
args: ['x-loading']
|
|
62
|
-
}], zIndex: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], size: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], text: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}], icon: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], color: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], fullScreen: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], background: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}] } });
|
|
74
|
+
}] });
|
|
77
75
|
|
|
78
76
|
class XLoadingComponent extends XLoadingProperty {
|
|
79
|
-
constructor() {
|
|
80
|
-
super(...arguments);
|
|
81
|
-
this.cdr = inject(ChangeDetectorRef);
|
|
82
|
-
this.portal = inject(XPortalService);
|
|
83
|
-
this.viewContainerRef = inject(ViewContainerRef);
|
|
84
|
-
this.configService = inject(XConfigService);
|
|
85
|
-
}
|
|
86
77
|
get getLoading() {
|
|
87
|
-
return this.loading;
|
|
78
|
+
return this.loading();
|
|
88
79
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
this.cdr.markForCheck();
|
|
106
|
-
}
|
|
107
|
-
setLoading() {
|
|
108
|
-
if (this.fullScreen) {
|
|
109
|
-
if (this.loading) {
|
|
110
|
-
this.createFullScreen();
|
|
80
|
+
constructor() {
|
|
81
|
+
super();
|
|
82
|
+
this.loadingTpl = viewChild.required('loadingTpl');
|
|
83
|
+
this.isRadius = computed(() => !(this.radius() instanceof Array) && Boolean(this.radius()));
|
|
84
|
+
this.sizeNumber = computed(() => {
|
|
85
|
+
const size = XToNumber(this.size());
|
|
86
|
+
if (XIsNumber(size)) {
|
|
87
|
+
return size;
|
|
88
|
+
}
|
|
89
|
+
return;
|
|
90
|
+
});
|
|
91
|
+
this.classMap = computed(() => {
|
|
92
|
+
const size = this.size();
|
|
93
|
+
if (isNaN(XToNumber(size))) {
|
|
94
|
+
return { [`${XLoadingPrefix}-${size}`]: !XIsEmpty(size) };
|
|
111
95
|
}
|
|
112
|
-
|
|
113
|
-
|
|
96
|
+
return;
|
|
97
|
+
});
|
|
98
|
+
this.portal = inject(XPortalService);
|
|
99
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
100
|
+
effect(() => {
|
|
101
|
+
if (this.fullScreen()) {
|
|
102
|
+
if (this.loading()) {
|
|
103
|
+
this.createFullScreen();
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
this.closeFullScreen();
|
|
107
|
+
}
|
|
114
108
|
}
|
|
109
|
+
}, { allowSignalWrites: true });
|
|
110
|
+
}
|
|
111
|
+
includeRadius(cover) {
|
|
112
|
+
const radius = this.radius();
|
|
113
|
+
if (!(radius instanceof Array)) {
|
|
114
|
+
return false;
|
|
115
115
|
}
|
|
116
|
-
|
|
116
|
+
return radius.includes(cover);
|
|
117
117
|
}
|
|
118
118
|
createFullScreen() {
|
|
119
119
|
this.portalRef = this.portal.attach({
|
|
120
|
-
content: this.loadingTpl,
|
|
120
|
+
content: this.loadingTpl(),
|
|
121
121
|
viewContainerRef: this.viewContainerRef,
|
|
122
122
|
overlayConfig: {
|
|
123
123
|
width: '100%',
|
|
@@ -131,26 +131,23 @@ class XLoadingComponent extends XLoadingProperty {
|
|
|
131
131
|
this.portalRef.overlayRef.detach();
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
135
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
134
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
135
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: XLoadingComponent, isStandalone: true, selector: "x-loading, [x-loading]", host: { properties: { "class.x-loading-parent": "this.getLoading" } }, viewQueries: [{ propertyName: "loadingTpl", first: true, predicate: ["loadingTpl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n\r\n@if (!fullScreen()) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #loadingTpl>\r\n @if (loading()) {\r\n <div\r\n #loading\r\n class=\"x-loading\"\r\n [ngClass]=\"classMap()\"\r\n [style.background]=\"background()\"\r\n [style.zIndex]=\"zIndex()\"\r\n [class.x-loading-radius]=\"isRadius()\"\r\n [class.x-loading-top-left-radius]=\"includeRadius('top-start')\"\r\n [class.x-loading-top-right-radius]=\"includeRadius('top-end')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-start')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-end')\"\r\n >\r\n <div class=\"x-loading-spinner\" [style.color]=\"color()\">\r\n @if (icon()) {\r\n <div class=\"x-loading-icon\" [style.font-size.px]=\"sizeNumber()\">\r\n <x-icon [type]=\"icon()\"></x-icon>\r\n </div>\r\n } @else {\r\n <svg\r\n class=\"x-loading-circular\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"25 25 50 50\"\r\n >\r\n <circle class=\"x-loading-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" />\r\n </svg>\r\n }\r\n <div class=\"x-loading-text\">\r\n <ng-container *xOutlet=\"text()\">{{ text() }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #circularTpl> </ng-template>\r\n", styles: ["@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-2.5rem}to{stroke-dasharray:90,150;stroke-dashoffset:-7.5rem}}.x-loading-parent{position:relative}.x-loading{padding:0;position:absolute;background-color:var(--x-background);opacity:.85;margin:0;inset:0;display:flex;justify-content:center;align-items:center}.x-loading-spinner{color:var(--x-primary);text-align:center}.x-loading-circular{animation:loading-rotate 2s linear infinite}.x-loading-icon{animation:loading-rotate 2s linear infinite;display:inline-flex}.x-loading-path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--x-primary);stroke-linecap:round}.x-loading-radius{border-radius:var(--x-border-radius)}.x-loading-top-left-radius{border-top-left-radius:var(--x-border-radius)}.x-loading-top-right-radius{border-top-right-radius:var(--x-border-radius)}.x-loading-bottom-left-radius{border-bottom-left-radius:var(--x-border-radius)}.x-loading-bottom-right-radius{border-bottom-right-radius:var(--x-border-radius)}.x-loading-big .x-loading-circular{height:2.175rem;width:2.175rem}.x-loading-big .x-loading-icon{font-size:2.175rem}.x-loading-large .x-loading-circular{height:1.875rem;width:1.875rem}.x-loading-large .x-loading-icon{font-size:1.875rem}.x-loading-medium .x-loading-circular{height:1.675rem;width:1.675rem}.x-loading-medium .x-loading-icon{font-size:1.675rem}.x-loading-small .x-loading-circular{height:1.5rem;width:1.5rem}.x-loading-small .x-loading-icon{font-size:1.5rem}.x-loading-mini .x-loading-circular{height:1.375rem;width:1.375rem}.x-loading-mini .x-loading-icon{font-size:1.375rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
136
136
|
}
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XLoadingComponent, decorators: [{
|
|
138
138
|
type: Component,
|
|
139
|
-
args: [{ selector: `${XLoadingPrefix}, [${XLoadingPrefix}]`, standalone: true, imports: [NgClass, NgTemplateOutlet, XIconComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n\r\n@if (!fullScreen) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #loadingTpl>\r\n @if (loading) {\r\n <div
|
|
140
|
-
}], propDecorators: { getLoading: [{
|
|
139
|
+
args: [{ selector: `${XLoadingPrefix}, [${XLoadingPrefix}]`, standalone: true, imports: [NgClass, NgTemplateOutlet, XIconComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n\r\n@if (!fullScreen()) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #loadingTpl>\r\n @if (loading()) {\r\n <div\r\n #loading\r\n class=\"x-loading\"\r\n [ngClass]=\"classMap()\"\r\n [style.background]=\"background()\"\r\n [style.zIndex]=\"zIndex()\"\r\n [class.x-loading-radius]=\"isRadius()\"\r\n [class.x-loading-top-left-radius]=\"includeRadius('top-start')\"\r\n [class.x-loading-top-right-radius]=\"includeRadius('top-end')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-start')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-end')\"\r\n >\r\n <div class=\"x-loading-spinner\" [style.color]=\"color()\">\r\n @if (icon()) {\r\n <div class=\"x-loading-icon\" [style.font-size.px]=\"sizeNumber()\">\r\n <x-icon [type]=\"icon()\"></x-icon>\r\n </div>\r\n } @else {\r\n <svg\r\n class=\"x-loading-circular\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"25 25 50 50\"\r\n >\r\n <circle class=\"x-loading-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" />\r\n </svg>\r\n }\r\n <div class=\"x-loading-text\">\r\n <ng-container *xOutlet=\"text()\">{{ text() }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #circularTpl> </ng-template>\r\n", styles: ["@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-2.5rem}to{stroke-dasharray:90,150;stroke-dashoffset:-7.5rem}}.x-loading-parent{position:relative}.x-loading{padding:0;position:absolute;background-color:var(--x-background);opacity:.85;margin:0;inset:0;display:flex;justify-content:center;align-items:center}.x-loading-spinner{color:var(--x-primary);text-align:center}.x-loading-circular{animation:loading-rotate 2s linear infinite}.x-loading-icon{animation:loading-rotate 2s linear infinite;display:inline-flex}.x-loading-path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--x-primary);stroke-linecap:round}.x-loading-radius{border-radius:var(--x-border-radius)}.x-loading-top-left-radius{border-top-left-radius:var(--x-border-radius)}.x-loading-top-right-radius{border-top-right-radius:var(--x-border-radius)}.x-loading-bottom-left-radius{border-bottom-left-radius:var(--x-border-radius)}.x-loading-bottom-right-radius{border-bottom-right-radius:var(--x-border-radius)}.x-loading-big .x-loading-circular{height:2.175rem;width:2.175rem}.x-loading-big .x-loading-icon{font-size:2.175rem}.x-loading-large .x-loading-circular{height:1.875rem;width:1.875rem}.x-loading-large .x-loading-icon{font-size:1.875rem}.x-loading-medium .x-loading-circular{height:1.675rem;width:1.675rem}.x-loading-medium .x-loading-icon{font-size:1.675rem}.x-loading-small .x-loading-circular{height:1.5rem;width:1.5rem}.x-loading-small .x-loading-icon{font-size:1.5rem}.x-loading-mini .x-loading-circular{height:1.375rem;width:1.375rem}.x-loading-mini .x-loading-icon{font-size:1.375rem}\n"] }]
|
|
140
|
+
}], ctorParameters: () => [], propDecorators: { getLoading: [{
|
|
141
141
|
type: HostBinding,
|
|
142
142
|
args: ['class.x-loading-parent']
|
|
143
|
-
}], loadingTpl: [{
|
|
144
|
-
type: ViewChild,
|
|
145
|
-
args: ['loadingTpl']
|
|
146
143
|
}] } });
|
|
147
144
|
|
|
148
145
|
class XLoadingModule {
|
|
149
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
150
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
151
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
146
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
147
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: XLoadingModule, imports: [XLoadingComponent], exports: [XLoadingComponent] }); }
|
|
148
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XLoadingModule, imports: [XLoadingComponent] }); }
|
|
152
149
|
}
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XLoadingModule, decorators: [{
|
|
154
151
|
type: NgModule,
|
|
155
152
|
args: [{
|
|
156
153
|
exports: [XLoadingComponent],
|