@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.
Files changed (923) hide show
  1. package/README.md +1 -1
  2. package/affix/affix.component.d.ts +0 -2
  3. package/affix/affix.property.d.ts +12 -7
  4. package/alert/alert.component.d.ts +12 -11
  5. package/alert/alert.property.d.ts +36 -35
  6. package/anchor/anchor.component.d.ts +15 -18
  7. package/anchor/anchor.property.d.ts +17 -8
  8. package/api/api.component.d.ts +2 -7
  9. package/auto-complete/auto-complete-portal.component.d.ts +20 -25
  10. package/auto-complete/auto-complete.component.d.ts +17 -34
  11. package/auto-complete/auto-complete.property.d.ts +282 -20
  12. package/avatar/avatar.component.d.ts +29 -19
  13. package/avatar/avatar.property.d.ts +78 -12
  14. package/back-top/back-top.component.d.ts +12 -17
  15. package/back-top/back-top.property.d.ts +12 -8
  16. package/badge/badge.component.d.ts +9 -16
  17. package/badge/badge.property.d.ts +95 -13
  18. package/base-form/base-form.component.d.ts +53 -26
  19. package/base-form/base-form.module.d.ts +1 -2
  20. package/base-form/base-form.property.d.ts +173 -45
  21. package/button/button.component.d.ts +16 -14
  22. package/button/button.property.d.ts +242 -100
  23. package/button/buttons.component.d.ts +8 -10
  24. package/calendar/calendar.component.d.ts +41 -27
  25. package/calendar/calendar.property.d.ts +69 -10
  26. package/card/card.component.d.ts +4 -6
  27. package/card/card.property.d.ts +50 -9
  28. package/carousel/carousel-panel.component.d.ts +15 -14
  29. package/carousel/carousel.component.d.ts +18 -19
  30. package/carousel/carousel.property.d.ts +168 -28
  31. package/cascade/cascade-portal.component.d.ts +28 -28
  32. package/cascade/cascade.component.d.ts +24 -30
  33. package/cascade/cascade.property.d.ts +292 -20
  34. package/checkbox/checkbox.component.d.ts +17 -17
  35. package/checkbox/checkbox.property.d.ts +274 -35
  36. package/collapse/collapse-panel.component.d.ts +5 -2
  37. package/collapse/collapse.component.d.ts +3 -7
  38. package/collapse/collapse.property.d.ts +113 -20
  39. package/color/color.component.d.ts +4 -9
  40. package/color/color.property.d.ts +36 -8
  41. package/color-picker/color-picker-portal.component.d.ts +40 -52
  42. package/color-picker/color-picker.component.d.ts +19 -28
  43. package/color-picker/color-picker.property.d.ts +260 -10
  44. package/comment/comment-reply.component.d.ts +1 -8
  45. package/comment/comment.component.d.ts +4 -14
  46. package/comment/comment.property.d.ts +21 -15
  47. package/container/aside.component.d.ts +3 -8
  48. package/container/container.component.d.ts +5 -9
  49. package/container/container.property.d.ts +33 -19
  50. package/container/footer.component.d.ts +2 -5
  51. package/container/header.component.d.ts +2 -5
  52. package/container/main.component.d.ts +2 -7
  53. package/core/animation/badge.d.ts +8 -0
  54. package/core/animation/connect.d.ts +8 -1
  55. package/core/animation/consts.d.ts +4 -0
  56. package/core/animation/drop.d.ts +4 -0
  57. package/core/animation/fade.d.ts +4 -0
  58. package/core/animation/move.d.ts +4 -0
  59. package/core/animation/opacity.d.ts +4 -0
  60. package/core/animation/slide.d.ts +4 -1
  61. package/core/config/config.d.ts +174 -108
  62. package/core/config/config.service.d.ts +5 -5
  63. package/core/config/index.d.ts +1 -0
  64. package/core/functions/chunk.d.ts +12 -1
  65. package/core/functions/clone-deep.d.ts +16 -0
  66. package/core/functions/convert.d.ts +77 -4
  67. package/core/functions/csspx.d.ts +5 -0
  68. package/core/functions/date.d.ts +59 -3
  69. package/core/functions/drop.d.ts +13 -1
  70. package/core/functions/flex.d.ts +4 -0
  71. package/core/functions/group-by.d.ts +5 -1
  72. package/core/functions/guid.d.ts +2 -1
  73. package/core/functions/has-in.d.ts +4 -0
  74. package/core/functions/order-by.d.ts +5 -1
  75. package/core/functions/parent-path.d.ts +8 -0
  76. package/core/functions/property.d.ts +12 -6
  77. package/core/functions/public-api.d.ts +1 -0
  78. package/core/functions/remove.d.ts +5 -1
  79. package/core/functions/resize.d.ts +13 -1
  80. package/core/interfaces/data.type.d.ts +172 -3
  81. package/core/interfaces/identify.type.d.ts +60 -0
  82. package/core/interfaces/layout.type.d.ts +88 -37
  83. package/core/interfaces/result-list.type.d.ts +91 -3
  84. package/core/services/http.service.d.ts +0 -22
  85. package/core/services/repository.service.d.ts +1 -1
  86. package/core/services/reuse-strategy.service.d.ts +0 -22
  87. package/core/services/storage.service.d.ts +0 -21
  88. package/core/theme/theme.d.ts +45 -1
  89. package/core/theme/theme.service.d.ts +46 -11
  90. package/core/util/animation.d.ts +1 -1
  91. package/core/util/camel-to-kebab.d.ts +13 -0
  92. package/core/util/check.d.ts +10 -2
  93. package/core/util/computed-style.d.ts +8 -0
  94. package/core/util/host.d.ts +3 -2
  95. package/core/util/html.d.ts +3 -2
  96. package/core/util/kebab-to-camel.d.ts +13 -0
  97. package/core/util/log.d.ts +10 -2
  98. package/core/util/option.d.ts +3 -4
  99. package/core/util/public-api.d.ts +2 -0
  100. package/crumb/crumb.component.d.ts +1 -10
  101. package/crumb/crumb.property.d.ts +12 -8
  102. package/date-picker/date-picker-portal.component.d.ts +80 -33
  103. package/date-picker/date-picker.component.d.ts +74 -32
  104. package/date-picker/date-picker.property.d.ts +662 -214
  105. package/date-picker/date-range-portal.component.d.ts +102 -49
  106. package/date-picker/date-range.component.d.ts +87 -43
  107. package/date-picker/picker-date.component.d.ts +63 -17
  108. package/date-picker/picker-month.component.d.ts +59 -13
  109. package/date-picker/picker-quarter.component.d.ts +61 -15
  110. package/date-picker/picker-year.component.d.ts +8 -11
  111. package/description/description-item.component.d.ts +1 -1
  112. package/description/description.component.d.ts +6 -10
  113. package/description/description.property.d.ts +135 -16
  114. package/dialog/dialog-portal.component.d.ts +4 -4
  115. package/dialog/dialog-portal.directives.d.ts +1 -1
  116. package/dialog/dialog.component.d.ts +30 -23
  117. package/dialog/dialog.property.d.ts +77 -134
  118. package/doc/doc.component.d.ts +2 -5
  119. package/drag/drag.directive.d.ts +1 -1
  120. package/drag/drag.property.d.ts +4 -5
  121. package/drawer/drawer-container.component.d.ts +1 -1
  122. package/drawer/drawer-portal.component.d.ts +1 -1
  123. package/drawer/drawer.component.d.ts +15 -14
  124. package/drawer/drawer.property.d.ts +26 -18
  125. package/dropdown/dropdown-portal.component.d.ts +36 -45
  126. package/dropdown/dropdown.component.d.ts +17 -21
  127. package/dropdown/dropdown.property.d.ts +24 -21
  128. package/empty/empty.component.d.ts +0 -7
  129. package/empty/empty.property.d.ts +27 -4
  130. package/esm2022/affix/affix.component.mjs +6 -11
  131. package/esm2022/affix/affix.module.mjs +4 -4
  132. package/esm2022/affix/affix.property.mjs +22 -20
  133. package/esm2022/alert/alert.component.mjs +39 -44
  134. package/esm2022/alert/alert.module.mjs +4 -4
  135. package/esm2022/alert/alert.property.mjs +102 -107
  136. package/esm2022/anchor/anchor-inner.component.mjs +3 -3
  137. package/esm2022/anchor/anchor.component.mjs +73 -95
  138. package/esm2022/anchor/anchor.module.mjs +4 -4
  139. package/esm2022/anchor/anchor.property.mjs +45 -35
  140. package/esm2022/api/api.component.mjs +11 -14
  141. package/esm2022/api/api.module.mjs +4 -4
  142. package/esm2022/auto-complete/auto-complete-portal.component.mjs +36 -47
  143. package/esm2022/auto-complete/auto-complete.component.mjs +122 -162
  144. package/esm2022/auto-complete/auto-complete.module.mjs +4 -4
  145. package/esm2022/auto-complete/auto-complete.property.mjs +142 -55
  146. package/esm2022/avatar/avatar-group.component.mjs +3 -3
  147. package/esm2022/avatar/avatar.component.mjs +75 -81
  148. package/esm2022/avatar/avatar.module.mjs +4 -4
  149. package/esm2022/avatar/avatar.property.mjs +116 -45
  150. package/esm2022/back-top/back-top.component.mjs +57 -73
  151. package/esm2022/back-top/back-top.module.mjs +4 -4
  152. package/esm2022/back-top/back-top.property.mjs +37 -29
  153. package/esm2022/badge/badge.component.mjs +51 -59
  154. package/esm2022/badge/badge.module.mjs +4 -4
  155. package/esm2022/badge/badge.property.mjs +111 -38
  156. package/esm2022/base-form/base-form.component.mjs +89 -81
  157. package/esm2022/base-form/base-form.module.mjs +7 -8
  158. package/esm2022/base-form/base-form.property.mjs +200 -89
  159. package/esm2022/button/button.component.mjs +50 -59
  160. package/esm2022/button/button.module.mjs +4 -4
  161. package/esm2022/button/button.property.mjs +293 -98
  162. package/esm2022/button/buttons.component.mjs +35 -21
  163. package/esm2022/calendar/calendar.component.mjs +56 -84
  164. package/esm2022/calendar/calendar.module.mjs +4 -4
  165. package/esm2022/calendar/calendar.property.mjs +78 -24
  166. package/esm2022/card/card.component.mjs +10 -14
  167. package/esm2022/card/card.module.mjs +4 -4
  168. package/esm2022/card/card.property.mjs +57 -22
  169. package/esm2022/carousel/carousel-panel.component.mjs +98 -76
  170. package/esm2022/carousel/carousel.component.mjs +55 -65
  171. package/esm2022/carousel/carousel.module.mjs +4 -4
  172. package/esm2022/carousel/carousel.property.mjs +215 -85
  173. package/esm2022/cascade/cascade-portal.component.mjs +77 -69
  174. package/esm2022/cascade/cascade.component.mjs +107 -135
  175. package/esm2022/cascade/cascade.module.mjs +4 -4
  176. package/esm2022/cascade/cascade.property.mjs +137 -48
  177. package/esm2022/checkbox/checkbox.component.mjs +68 -83
  178. package/esm2022/checkbox/checkbox.module.mjs +4 -4
  179. package/esm2022/checkbox/checkbox.property.mjs +136 -73
  180. package/esm2022/collapse/collapse-panel.component.mjs +31 -21
  181. package/esm2022/collapse/collapse.component.mjs +16 -21
  182. package/esm2022/collapse/collapse.module.mjs +4 -4
  183. package/esm2022/collapse/collapse.property.mjs +156 -66
  184. package/esm2022/color/color.component.mjs +25 -26
  185. package/esm2022/color/color.module.mjs +4 -4
  186. package/esm2022/color/color.property.mjs +47 -27
  187. package/esm2022/color-picker/color-picker-portal.component.mjs +120 -130
  188. package/esm2022/color-picker/color-picker.component.mjs +76 -117
  189. package/esm2022/color-picker/color-picker.module.mjs +4 -4
  190. package/esm2022/color-picker/color-picker.property.mjs +123 -27
  191. package/esm2022/comment/comment-reply.component.mjs +9 -24
  192. package/esm2022/comment/comment.component.mjs +11 -40
  193. package/esm2022/comment/comment.module.mjs +4 -4
  194. package/esm2022/comment/comment.property.mjs +27 -50
  195. package/esm2022/container/aside.component.mjs +12 -15
  196. package/esm2022/container/container.component.mjs +21 -24
  197. package/esm2022/container/container.module.mjs +4 -4
  198. package/esm2022/container/container.property.mjs +55 -51
  199. package/esm2022/container/footer.component.mjs +14 -16
  200. package/esm2022/container/header.component.mjs +14 -16
  201. package/esm2022/container/main.component.mjs +10 -13
  202. package/esm2022/core/animation/badge.mjs +17 -3
  203. package/esm2022/core/animation/connect.mjs +17 -99
  204. package/esm2022/core/animation/consts.mjs +5 -1
  205. package/esm2022/core/animation/drop.mjs +5 -1
  206. package/esm2022/core/animation/fade.mjs +13 -3
  207. package/esm2022/core/animation/move.mjs +5 -1
  208. package/esm2022/core/animation/opacity.mjs +5 -1
  209. package/esm2022/core/animation/slide.mjs +5 -23
  210. package/esm2022/core/config/config.mjs +1 -1
  211. package/esm2022/core/config/config.service.mjs +11 -59
  212. package/esm2022/core/config/index.mjs +2 -0
  213. package/esm2022/core/functions/chunk.mjs +12 -1
  214. package/esm2022/core/functions/clone-deep.mjs +17 -1
  215. package/esm2022/core/functions/convert.mjs +110 -13
  216. package/esm2022/core/functions/csspx.mjs +17 -0
  217. package/esm2022/core/functions/date.mjs +80 -4
  218. package/esm2022/core/functions/drop.mjs +13 -1
  219. package/esm2022/core/functions/flex.mjs +5 -1
  220. package/esm2022/core/functions/group-by.mjs +5 -1
  221. package/esm2022/core/functions/guid.mjs +3 -2
  222. package/esm2022/core/functions/has-in.mjs +5 -1
  223. package/esm2022/core/functions/order-by.mjs +5 -1
  224. package/esm2022/core/functions/parent-path.mjs +9 -1
  225. package/esm2022/core/functions/property.mjs +16 -8
  226. package/esm2022/core/functions/public-api.mjs +2 -1
  227. package/esm2022/core/functions/remove.mjs +5 -1
  228. package/esm2022/core/functions/resize.mjs +7 -5
  229. package/esm2022/core/interfaces/data.type.mjs +97 -8
  230. package/esm2022/core/interfaces/identify.type.mjs +5 -2
  231. package/esm2022/core/interfaces/layout.type.mjs +1 -1
  232. package/esm2022/core/interfaces/result-list.type.mjs +1 -1
  233. package/esm2022/core/services/http.service.mjs +4 -33
  234. package/esm2022/core/services/preloading-strategy.service.mjs +4 -6
  235. package/esm2022/core/services/repository.service.mjs +1 -1
  236. package/esm2022/core/services/reuse-strategy.service.mjs +1 -26
  237. package/esm2022/core/services/storage.service.mjs +4 -26
  238. package/esm2022/core/theme/theme.mjs +55 -11
  239. package/esm2022/core/theme/theme.service.mjs +92 -20
  240. package/esm2022/core/util/animation.mjs +2 -23
  241. package/esm2022/core/util/camel-to-kebab.mjs +16 -0
  242. package/esm2022/core/util/check.mjs +11 -3
  243. package/esm2022/core/util/computed-style.mjs +9 -1
  244. package/esm2022/core/util/host.mjs +4 -3
  245. package/esm2022/core/util/html.mjs +5 -4
  246. package/esm2022/core/util/kebab-to-camel.mjs +16 -0
  247. package/esm2022/core/util/log.mjs +11 -3
  248. package/esm2022/core/util/option.mjs +4 -5
  249. package/esm2022/core/util/public-api.mjs +3 -1
  250. package/esm2022/crumb/crumb.component.mjs +6 -29
  251. package/esm2022/crumb/crumb.module.mjs +4 -4
  252. package/esm2022/crumb/crumb.property.mjs +21 -26
  253. package/esm2022/date-picker/date-picker-portal.component.mjs +86 -102
  254. package/esm2022/date-picker/date-picker.component.mjs +157 -191
  255. package/esm2022/date-picker/date-picker.module.mjs +4 -4
  256. package/esm2022/date-picker/date-picker.property.mjs +440 -462
  257. package/esm2022/date-picker/date-quarter.pipe.mjs +3 -3
  258. package/esm2022/date-picker/date-range-portal.component.mjs +172 -186
  259. package/esm2022/date-picker/date-range.component.mjs +224 -266
  260. package/esm2022/date-picker/picker-date.component.mjs +150 -150
  261. package/esm2022/date-picker/picker-month.component.mjs +115 -118
  262. package/esm2022/date-picker/picker-quarter.component.mjs +120 -119
  263. package/esm2022/date-picker/picker-year.component.mjs +121 -108
  264. package/esm2022/description/description-item.component.mjs +12 -11
  265. package/esm2022/description/description.component.mjs +33 -48
  266. package/esm2022/description/description.module.mjs +4 -4
  267. package/esm2022/description/description.property.mjs +175 -52
  268. package/esm2022/dialog/dialog-container.component.mjs +3 -3
  269. package/esm2022/dialog/dialog-portal.component.mjs +14 -20
  270. package/esm2022/dialog/dialog-portal.directives.mjs +20 -20
  271. package/esm2022/dialog/dialog-ref.mjs +1 -1
  272. package/esm2022/dialog/dialog.component.mjs +117 -131
  273. package/esm2022/dialog/dialog.module.mjs +4 -4
  274. package/esm2022/dialog/dialog.property.mjs +149 -139
  275. package/esm2022/dialog/dialog.service.mjs +7 -7
  276. package/esm2022/doc/doc.component.mjs +11 -12
  277. package/esm2022/doc/doc.module.mjs +4 -4
  278. package/esm2022/drag/drag.directive.mjs +8 -21
  279. package/esm2022/drag/drag.module.mjs +4 -4
  280. package/esm2022/drag/drag.property.mjs +10 -16
  281. package/esm2022/drawer/drawer-container.component.mjs +9 -9
  282. package/esm2022/drawer/drawer-portal.component.mjs +11 -13
  283. package/esm2022/drawer/drawer-portal.directives.mjs +9 -9
  284. package/esm2022/drawer/drawer.component.mjs +40 -59
  285. package/esm2022/drawer/drawer.module.mjs +4 -4
  286. package/esm2022/drawer/drawer.property.mjs +47 -54
  287. package/esm2022/drawer/drawer.service.mjs +6 -6
  288. package/esm2022/dropdown/dropdown-portal.component.mjs +90 -91
  289. package/esm2022/dropdown/dropdown.component.mjs +75 -91
  290. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  291. package/esm2022/dropdown/dropdown.property.mjs +62 -59
  292. package/esm2022/empty/empty.component.mjs +6 -26
  293. package/esm2022/empty/empty.module.mjs +4 -4
  294. package/esm2022/empty/empty.property.mjs +41 -20
  295. package/esm2022/examples/examples.component.mjs +11 -12
  296. package/esm2022/examples/examples.module.mjs +4 -4
  297. package/esm2022/find/find.component.mjs +188 -232
  298. package/esm2022/find/find.module.mjs +4 -4
  299. package/esm2022/find/find.property.mjs +234 -193
  300. package/esm2022/form/control.component.mjs +138 -116
  301. package/esm2022/form/form.component.mjs +28 -36
  302. package/esm2022/form/form.module.mjs +4 -4
  303. package/esm2022/form/form.property.mjs +57 -55
  304. package/esm2022/highlight/highlight.component.mjs +54 -59
  305. package/esm2022/highlight/highlight.module.mjs +4 -4
  306. package/esm2022/highlight/highlight.property.mjs +25 -21
  307. package/esm2022/highlight/highlight.service.mjs +17 -0
  308. package/esm2022/highlight/public-api.mjs +2 -1
  309. package/esm2022/i18n/i18n.directive.mjs +17 -31
  310. package/esm2022/i18n/i18n.module.mjs +4 -4
  311. package/esm2022/i18n/i18n.pipe.mjs +4 -4
  312. package/esm2022/i18n/i18n.property.mjs +2 -2
  313. package/esm2022/i18n/i18n.service.mjs +4 -4
  314. package/esm2022/i18n/languages/ar_EG.mjs +122 -77
  315. package/esm2022/i18n/languages/bg_BG.mjs +135 -87
  316. package/esm2022/i18n/languages/ca_ES.mjs +130 -82
  317. package/esm2022/i18n/languages/cs_CZ.mjs +127 -79
  318. package/esm2022/i18n/languages/da_DK.mjs +129 -81
  319. package/esm2022/i18n/languages/de_DE.mjs +125 -77
  320. package/esm2022/i18n/languages/el_GR.mjs +132 -84
  321. package/esm2022/i18n/languages/en_GB.mjs +5 -2
  322. package/esm2022/i18n/languages/en_US.mjs +5 -2
  323. package/esm2022/i18n/languages/es_ES.mjs +131 -83
  324. package/esm2022/i18n/languages/et_EE.mjs +130 -82
  325. package/esm2022/i18n/languages/fa_IR.mjs +109 -61
  326. package/esm2022/i18n/languages/fi_FI.mjs +134 -86
  327. package/esm2022/i18n/languages/fr_BE.mjs +128 -80
  328. package/esm2022/i18n/languages/fr_FR.mjs +127 -79
  329. package/esm2022/i18n/languages/he_IL.mjs +119 -74
  330. package/esm2022/i18n/languages/hi_IN.mjs +104 -56
  331. package/esm2022/i18n/languages/hr_HR.mjs +133 -85
  332. package/esm2022/i18n/languages/hu_HU.mjs +132 -84
  333. package/esm2022/i18n/languages/hy_AM.mjs +133 -85
  334. package/esm2022/i18n/languages/id_ID.mjs +119 -71
  335. package/esm2022/i18n/languages/is_IS.mjs +125 -77
  336. package/esm2022/i18n/languages/it_IT.mjs +127 -79
  337. package/esm2022/i18n/languages/ja_JP.mjs +95 -47
  338. package/esm2022/i18n/languages/ka_GE.mjs +106 -58
  339. package/esm2022/i18n/languages/kn_IN.mjs +110 -62
  340. package/esm2022/i18n/languages/ko_KR.mjs +126 -70
  341. package/esm2022/i18n/languages/ku_IQ.mjs +117 -85
  342. package/esm2022/i18n/languages/lv_LV.mjs +128 -72
  343. package/esm2022/i18n/languages/mn_MN.mjs +138 -82
  344. package/esm2022/i18n/languages/ms_MY.mjs +124 -68
  345. package/esm2022/i18n/languages/nb_NO.mjs +133 -77
  346. package/esm2022/i18n/languages/ne_NP.mjs +117 -61
  347. package/esm2022/i18n/languages/nl_BE.mjs +134 -78
  348. package/esm2022/i18n/languages/nl_NL.mjs +134 -78
  349. package/esm2022/i18n/languages/pl_PL.mjs +132 -76
  350. package/esm2022/i18n/languages/pt_BR.mjs +133 -77
  351. package/esm2022/i18n/languages/pt_PT.mjs +133 -77
  352. package/esm2022/i18n/languages/ro_RO.mjs +130 -74
  353. package/esm2022/i18n/languages/ru_RU.mjs +131 -75
  354. package/esm2022/i18n/languages/sk_SK.mjs +130 -83
  355. package/esm2022/i18n/languages/sl_SI.mjs +121 -73
  356. package/esm2022/i18n/languages/sr_RS.mjs +138 -90
  357. package/esm2022/i18n/languages/sv_SE.mjs +132 -84
  358. package/esm2022/i18n/languages/ta_IN.mjs +117 -61
  359. package/esm2022/i18n/languages/th_TH.mjs +99 -43
  360. package/esm2022/i18n/languages/tr_TR.mjs +126 -70
  361. package/esm2022/i18n/languages/uk_UA.mjs +124 -68
  362. package/esm2022/i18n/languages/vi_VN.mjs +133 -77
  363. package/esm2022/i18n/languages/zh_CN.mjs +5 -2
  364. package/esm2022/i18n/languages/zh_TW.mjs +5 -2
  365. package/esm2022/icon/icon.component.mjs +46 -77
  366. package/esm2022/icon/icon.module.mjs +4 -4
  367. package/esm2022/icon/icon.property.mjs +52 -30
  368. package/esm2022/icon/icon.service.mjs +15 -14
  369. package/esm2022/image/image-group.component.mjs +15 -15
  370. package/esm2022/image/image-preview.component.mjs +47 -46
  371. package/esm2022/image/image.component.mjs +34 -53
  372. package/esm2022/image/image.module.mjs +4 -4
  373. package/esm2022/image/image.property.mjs +152 -38
  374. package/esm2022/index.mjs +1 -3
  375. package/esm2022/inner/inner.component.mjs +15 -20
  376. package/esm2022/inner/inner.module.mjs +4 -4
  377. package/esm2022/inner/inner.property.mjs +17 -15
  378. package/esm2022/input/input-group.component.mjs +5 -7
  379. package/esm2022/input/input.component.mjs +130 -143
  380. package/esm2022/input/input.module.mjs +4 -4
  381. package/esm2022/input/input.property.mjs +205 -143
  382. package/esm2022/input-number/input-number.component.mjs +68 -86
  383. package/esm2022/input-number/input-number.module.mjs +4 -4
  384. package/esm2022/input-number/input-number.property.mjs +130 -60
  385. package/esm2022/keyword/keyword.directive.mjs +46 -54
  386. package/esm2022/keyword/keyword.module.mjs +4 -4
  387. package/esm2022/keyword/keyword.property.mjs +32 -28
  388. package/esm2022/layout/col.component.mjs +48 -51
  389. package/esm2022/layout/layout.module.mjs +4 -4
  390. package/esm2022/layout/layout.property.mjs +71 -63
  391. package/esm2022/layout/row.component.mjs +36 -27
  392. package/esm2022/link/link.component.mjs +18 -45
  393. package/esm2022/link/link.module.mjs +4 -4
  394. package/esm2022/link/link.property.mjs +101 -41
  395. package/esm2022/list/list-drop-group.directive.mjs +9 -18
  396. package/esm2022/list/list-option.component.mjs +16 -33
  397. package/esm2022/list/list.component.mjs +160 -164
  398. package/esm2022/list/list.module.mjs +4 -4
  399. package/esm2022/list/list.property.mjs +195 -188
  400. package/esm2022/loading/loading.component.mjs +44 -45
  401. package/esm2022/loading/loading.module.mjs +4 -4
  402. package/esm2022/loading/loading.property.mjs +50 -52
  403. package/esm2022/menu/menu-node.component.mjs +21 -21
  404. package/esm2022/menu/menu.component.mjs +57 -76
  405. package/esm2022/menu/menu.module.mjs +4 -4
  406. package/esm2022/menu/menu.property.mjs +56 -73
  407. package/esm2022/message/message.component.mjs +8 -8
  408. package/esm2022/message/message.module.mjs +4 -4
  409. package/esm2022/message/message.property.mjs +1 -1
  410. package/esm2022/message/message.service.mjs +7 -7
  411. package/esm2022/message-box/message-box.component.mjs +5 -5
  412. package/esm2022/message-box/message-box.module.mjs +4 -4
  413. package/esm2022/message-box/message-box.service.mjs +6 -6
  414. package/esm2022/notification/notification.component.mjs +8 -8
  415. package/esm2022/notification/notification.module.mjs +4 -4
  416. package/esm2022/notification/notification.property.mjs +1 -1
  417. package/esm2022/notification/notification.service.mjs +8 -8
  418. package/esm2022/outlet/outlet.directive.mjs +12 -14
  419. package/esm2022/outlet/outlet.module.mjs +4 -4
  420. package/esm2022/outlet/outlet.property.mjs +2 -2
  421. package/esm2022/page-header/page-header.component.mjs +12 -28
  422. package/esm2022/page-header/page-header.module.mjs +4 -4
  423. package/esm2022/page-header/page-header.property.mjs +31 -27
  424. package/esm2022/pagination/pagination.component.mjs +74 -100
  425. package/esm2022/pagination/pagination.module.mjs +4 -4
  426. package/esm2022/pagination/pagination.property.mjs +99 -136
  427. package/esm2022/pattern/pattern.component.mjs +12 -13
  428. package/esm2022/pattern/pattern.module.mjs +4 -4
  429. package/esm2022/pattern/pattern.property.mjs +2 -2
  430. package/esm2022/popconfirm/popconfirm.component.mjs +35 -47
  431. package/esm2022/popconfirm/popconfirm.module.mjs +4 -4
  432. package/esm2022/popconfirm/popconfirm.property.mjs +76 -62
  433. package/esm2022/popover/popover-portal.component.mjs +24 -75
  434. package/esm2022/popover/popover.directive.mjs +70 -86
  435. package/esm2022/popover/popover.module.mjs +4 -4
  436. package/esm2022/popover/popover.property.mjs +71 -58
  437. package/esm2022/portal/portal.module.mjs +4 -4
  438. package/esm2022/portal/portal.property.mjs +1 -1
  439. package/esm2022/portal/portal.service.mjs +4 -4
  440. package/esm2022/progress/progress.component.mjs +173 -167
  441. package/esm2022/progress/progress.module.mjs +4 -4
  442. package/esm2022/progress/progress.property.mjs +67 -71
  443. package/esm2022/radio/radio.component.mjs +45 -61
  444. package/esm2022/radio/radio.module.mjs +4 -4
  445. package/esm2022/radio/radio.property.mjs +139 -66
  446. package/esm2022/rate/rate.component.mjs +61 -79
  447. package/esm2022/rate/rate.module.mjs +4 -4
  448. package/esm2022/rate/rate.property.mjs +121 -29
  449. package/esm2022/resizable/resizable.directive.mjs +30 -45
  450. package/esm2022/resizable/resizable.module.mjs +4 -4
  451. package/esm2022/resizable/resizable.property.mjs +16 -46
  452. package/esm2022/result/result.component.mjs +13 -17
  453. package/esm2022/result/result.module.mjs +4 -4
  454. package/esm2022/result/result.property.mjs +25 -17
  455. package/esm2022/ripple/ripple.directive.mjs +38 -27
  456. package/esm2022/ripple/ripple.module.mjs +4 -4
  457. package/esm2022/ripple/ripple.property.mjs +27 -20
  458. package/esm2022/select/select-portal.component.mjs +52 -67
  459. package/esm2022/select/select.component.mjs +301 -289
  460. package/esm2022/select/select.module.mjs +4 -4
  461. package/esm2022/select/select.property.mjs +195 -102
  462. package/esm2022/skeleton/skeleton.component.mjs +12 -23
  463. package/esm2022/skeleton/skeleton.module.mjs +4 -4
  464. package/esm2022/skeleton/skeleton.property.mjs +31 -28
  465. package/esm2022/slider/slider.component.mjs +103 -149
  466. package/esm2022/slider/slider.module.mjs +4 -4
  467. package/esm2022/slider/slider.property.mjs +60 -79
  468. package/esm2022/slider-select/slider-select.component.mjs +201 -220
  469. package/esm2022/slider-select/slider-select.module.mjs +4 -4
  470. package/esm2022/slider-select/slider-select.property.mjs +143 -70
  471. package/esm2022/statistic/countdown.component.mjs +13 -16
  472. package/esm2022/statistic/statistic.component.mjs +23 -21
  473. package/esm2022/statistic/statistic.module.mjs +4 -4
  474. package/esm2022/statistic/statistic.property.mjs +68 -34
  475. package/esm2022/steps/steps.component.mjs +33 -63
  476. package/esm2022/steps/steps.module.mjs +4 -4
  477. package/esm2022/steps/steps.property.mjs +28 -39
  478. package/esm2022/switch/switch.component.mjs +22 -37
  479. package/esm2022/switch/switch.module.mjs +4 -4
  480. package/esm2022/switch/switch.property.mjs +122 -32
  481. package/esm2022/table/table-body.component.mjs +134 -139
  482. package/esm2022/table/table-foot.component.mjs +15 -18
  483. package/esm2022/table/table-head.component.mjs +60 -91
  484. package/esm2022/table/table.component.mjs +192 -222
  485. package/esm2022/table/table.module.mjs +4 -4
  486. package/esm2022/table/table.property.mjs +396 -341
  487. package/esm2022/tabs/tab-content.component.mjs +13 -16
  488. package/esm2022/tabs/tab-link.directive.mjs +6 -6
  489. package/esm2022/tabs/tab.component.mjs +9 -17
  490. package/esm2022/tabs/tabs.component.mjs +83 -135
  491. package/esm2022/tabs/tabs.module.mjs +4 -4
  492. package/esm2022/tabs/tabs.property.mjs +80 -91
  493. package/esm2022/tag/tag.component.mjs +19 -33
  494. package/esm2022/tag/tag.module.mjs +4 -4
  495. package/esm2022/tag/tag.property.mjs +44 -68
  496. package/esm2022/text-retract/text-retract.component.mjs +29 -46
  497. package/esm2022/text-retract/text-retract.module.mjs +4 -4
  498. package/esm2022/text-retract/text-retract.property.mjs +22 -18
  499. package/esm2022/textarea/textarea.component.mjs +49 -79
  500. package/esm2022/textarea/textarea.module.mjs +4 -4
  501. package/esm2022/textarea/textarea.property.mjs +124 -47
  502. package/esm2022/theme/theme.component.mjs +86 -81
  503. package/esm2022/theme/theme.module.mjs +4 -4
  504. package/esm2022/theme/theme.property.mjs +35 -46
  505. package/esm2022/time-ago/time-ago.module.mjs +4 -4
  506. package/esm2022/time-ago/time-ago.pipe.mjs +12 -11
  507. package/esm2022/time-ago/time-ago.property.mjs +2 -2
  508. package/esm2022/time-picker/time-picker-frame.component.mjs +173 -188
  509. package/esm2022/time-picker/time-picker-portal.component.mjs +35 -42
  510. package/esm2022/time-picker/time-picker.component.mjs +139 -170
  511. package/esm2022/time-picker/time-picker.module.mjs +4 -4
  512. package/esm2022/time-picker/time-picker.property.mjs +158 -70
  513. package/esm2022/time-range/time-range.module.mjs +4 -4
  514. package/esm2022/time-range/time-range.pipe.mjs +10 -10
  515. package/esm2022/time-range/time-range.property.mjs +2 -2
  516. package/esm2022/timeline/timeline.component.mjs +14 -38
  517. package/esm2022/timeline/timeline.module.mjs +4 -4
  518. package/esm2022/timeline/timeline.property.mjs +30 -30
  519. package/esm2022/tooltip/tooltip-portal.component.mjs +51 -65
  520. package/esm2022/tooltip/tooltip.directive.mjs +65 -62
  521. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  522. package/esm2022/tooltip/tooltip.property.mjs +53 -47
  523. package/esm2022/transfer/transfer.component.mjs +225 -184
  524. package/esm2022/transfer/transfer.module.mjs +4 -4
  525. package/esm2022/transfer/transfer.property.mjs +84 -76
  526. package/esm2022/tree/tree-node.component.mjs +142 -132
  527. package/esm2022/tree/tree.component.mjs +236 -232
  528. package/esm2022/tree/tree.module.mjs +4 -4
  529. package/esm2022/tree/tree.property.mjs +228 -226
  530. package/esm2022/tree/tree.service.mjs +4 -4
  531. package/esm2022/tree-file/tree-file.component.mjs +34 -43
  532. package/esm2022/tree-file/tree-file.module.mjs +4 -4
  533. package/esm2022/tree-file/tree-file.property.mjs +45 -56
  534. package/esm2022/tree-select/tree-select-portal.component.mjs +45 -78
  535. package/esm2022/tree-select/tree-select.component.mjs +283 -296
  536. package/esm2022/tree-select/tree-select.module.mjs +4 -4
  537. package/esm2022/tree-select/tree-select.property.mjs +203 -125
  538. package/esm2022/typography/typography.component.mjs +13 -10
  539. package/esm2022/typography/typography.module.mjs +4 -4
  540. package/esm2022/typography/typography.property.mjs +12 -11
  541. package/esm2022/upload/upload-portal.component.mjs +54 -57
  542. package/esm2022/upload/upload.component.mjs +79 -98
  543. package/esm2022/upload/upload.module.mjs +4 -4
  544. package/esm2022/upload/upload.property.mjs +73 -68
  545. package/examples/examples.component.d.ts +2 -5
  546. package/fesm2022/ng-nest-ui-affix.mjs +30 -32
  547. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  548. package/fesm2022/ng-nest-ui-alert.mjs +142 -152
  549. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  550. package/fesm2022/ng-nest-ui-anchor.mjs +121 -133
  551. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  552. package/fesm2022/ng-nest-ui-api.mjs +14 -17
  553. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  554. package/fesm2022/ng-nest-ui-auto-complete.mjs +296 -260
  555. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  556. package/fesm2022/ng-nest-ui-avatar.mjs +195 -130
  557. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  558. package/fesm2022/ng-nest-ui-back-top.mjs +95 -103
  559. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  560. package/fesm2022/ng-nest-ui-badge.mjs +161 -96
  561. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  562. package/fesm2022/ng-nest-ui-base-form.mjs +286 -166
  563. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  564. package/fesm2022/ng-nest-ui-button.mjs +376 -175
  565. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  566. package/fesm2022/ng-nest-ui-calendar.mjs +134 -108
  567. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  568. package/fesm2022/ng-nest-ui-card.mjs +67 -36
  569. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  570. package/fesm2022/ng-nest-ui-carousel.mjs +365 -223
  571. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  572. package/fesm2022/ng-nest-ui-cascade.mjs +318 -249
  573. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  574. package/fesm2022/ng-nest-ui-checkbox.mjs +203 -155
  575. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  576. package/fesm2022/ng-nest-ui-collapse.mjs +202 -106
  577. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  578. package/fesm2022/ng-nest-ui-color-picker.mjs +316 -270
  579. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  580. package/fesm2022/ng-nest-ui-color.mjs +73 -54
  581. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  582. package/fesm2022/ng-nest-ui-comment.mjs +44 -108
  583. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  584. package/fesm2022/ng-nest-ui-container.mjs +119 -123
  585. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  586. package/fesm2022/ng-nest-ui-core.mjs +985 -664
  587. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  588. package/fesm2022/ng-nest-ui-crumb.mjs +28 -55
  589. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  590. package/fesm2022/ng-nest-ui-date-picker.mjs +1552 -1671
  591. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  592. package/fesm2022/ng-nest-ui-description.mjs +218 -109
  593. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  594. package/fesm2022/ng-nest-ui-dialog.mjs +307 -316
  595. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  596. package/fesm2022/ng-nest-ui-doc.mjs +14 -15
  597. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  598. package/fesm2022/ng-nest-ui-drag.mjs +20 -39
  599. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  600. package/fesm2022/ng-nest-ui-drawer.mjs +116 -145
  601. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  602. package/fesm2022/ng-nest-ui-dropdown.mjs +223 -238
  603. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  604. package/fesm2022/ng-nest-ui-empty.mjs +49 -46
  605. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  606. package/fesm2022/ng-nest-ui-examples.mjs +14 -15
  607. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  608. package/fesm2022/ng-nest-ui-find.mjs +422 -425
  609. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  610. package/fesm2022/ng-nest-ui-form.mjs +218 -203
  611. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  612. package/fesm2022/ng-nest-ui-highlight.mjs +93 -81
  613. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  614. package/fesm2022/ng-nest-ui-i18n.mjs +5892 -3516
  615. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  616. package/fesm2022/ng-nest-ui-icon.mjs +112 -120
  617. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  618. package/fesm2022/ng-nest-ui-image.mjs +244 -147
  619. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  620. package/fesm2022/ng-nest-ui-inner.mjs +33 -35
  621. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  622. package/fesm2022/ng-nest-ui-input-number.mjs +198 -146
  623. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  624. package/fesm2022/ng-nest-ui-input.mjs +340 -292
  625. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  626. package/fesm2022/ng-nest-ui-keyword.mjs +78 -82
  627. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  628. package/fesm2022/ng-nest-ui-layout.mjs +151 -140
  629. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  630. package/fesm2022/ng-nest-ui-link.mjs +119 -86
  631. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  632. package/fesm2022/ng-nest-ui-list.mjs +376 -400
  633. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  634. package/fesm2022/ng-nest-ui-loading.mjs +94 -97
  635. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  636. package/fesm2022/ng-nest-ui-menu.mjs +131 -167
  637. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  638. package/fesm2022/ng-nest-ui-message-box.mjs +13 -13
  639. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  640. package/fesm2022/ng-nest-ui-message.mjs +17 -17
  641. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  642. package/fesm2022/ng-nest-ui-notification.mjs +18 -18
  643. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  644. package/fesm2022/ng-nest-ui-outlet.mjs +16 -18
  645. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  646. package/fesm2022/ng-nest-ui-page-header.mjs +44 -55
  647. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  648. package/fesm2022/ng-nest-ui-pagination.mjs +173 -236
  649. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  650. package/fesm2022/ng-nest-ui-pattern.mjs +16 -17
  651. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  652. package/fesm2022/ng-nest-ui-popconfirm.mjs +110 -107
  653. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  654. package/fesm2022/ng-nest-ui-popover.mjs +163 -215
  655. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  656. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  657. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  658. package/fesm2022/ng-nest-ui-progress.mjs +240 -238
  659. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  660. package/fesm2022/ng-nest-ui-radio.mjs +184 -127
  661. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  662. package/fesm2022/ng-nest-ui-rate.mjs +182 -108
  663. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  664. package/fesm2022/ng-nest-ui-resizable.mjs +46 -91
  665. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  666. package/fesm2022/ng-nest-ui-result.mjs +38 -34
  667. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  668. package/fesm2022/ng-nest-ui-ripple.mjs +66 -48
  669. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  670. package/fesm2022/ng-nest-ui-select.mjs +547 -459
  671. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  672. package/fesm2022/ng-nest-ui-skeleton.mjs +44 -52
  673. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  674. package/fesm2022/ng-nest-ui-slider-select.mjs +344 -290
  675. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  676. package/fesm2022/ng-nest-ui-slider.mjs +163 -228
  677. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  678. package/fesm2022/ng-nest-ui-statistic.mjs +102 -68
  679. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  680. package/fesm2022/ng-nest-ui-steps.mjs +61 -102
  681. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  682. package/fesm2022/ng-nest-ui-switch.mjs +145 -69
  683. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  684. package/fesm2022/ng-nest-ui-table.mjs +784 -800
  685. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  686. package/fesm2022/ng-nest-ui-tabs.mjs +185 -259
  687. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  688. package/fesm2022/ng-nest-ui-tag.mjs +63 -101
  689. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  690. package/fesm2022/ng-nest-ui-text-retract.mjs +52 -64
  691. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  692. package/fesm2022/ng-nest-ui-textarea.mjs +173 -126
  693. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  694. package/fesm2022/ng-nest-ui-theme.mjs +123 -129
  695. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  696. package/fesm2022/ng-nest-ui-time-ago.mjs +16 -15
  697. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  698. package/fesm2022/ng-nest-ui-time-picker.mjs +498 -463
  699. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  700. package/fesm2022/ng-nest-ui-time-range.mjs +14 -14
  701. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  702. package/fesm2022/ng-nest-ui-timeline.mjs +44 -68
  703. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  704. package/fesm2022/ng-nest-ui-tooltip.mjs +168 -170
  705. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  706. package/fesm2022/ng-nest-ui-transfer.mjs +311 -262
  707. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  708. package/fesm2022/ng-nest-ui-tree-file.mjs +80 -99
  709. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  710. package/fesm2022/ng-nest-ui-tree-select.mjs +527 -495
  711. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  712. package/fesm2022/ng-nest-ui-tree.mjs +601 -587
  713. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  714. package/fesm2022/ng-nest-ui-typography.mjs +26 -22
  715. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  716. package/fesm2022/ng-nest-ui-upload.mjs +204 -220
  717. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  718. package/fesm2022/ng-nest-ui.mjs +0 -2
  719. package/fesm2022/ng-nest-ui.mjs.map +1 -1
  720. package/find/find.component.d.ts +30 -34
  721. package/find/find.property.d.ts +321 -108
  722. package/form/control.component.d.ts +37 -18
  723. package/form/form.component.d.ts +8 -10
  724. package/form/form.property.d.ts +111 -27
  725. package/highlight/highlight.component.d.ts +10 -17
  726. package/highlight/highlight.property.d.ts +40 -11
  727. package/highlight/highlight.service.d.ts +8 -0
  728. package/highlight/public-api.d.ts +1 -0
  729. package/i18n/i18n.directive.d.ts +6 -9
  730. package/i18n/i18n.property.d.ts +6 -2
  731. package/i18n/i18n.service.d.ts +2 -2
  732. package/i18n/languages/ar_EG.d.ts +56 -0
  733. package/i18n/languages/bg_BG.d.ts +56 -0
  734. package/i18n/languages/ca_ES.d.ts +56 -0
  735. package/i18n/languages/cs_CZ.d.ts +56 -0
  736. package/i18n/languages/da_DK.d.ts +56 -0
  737. package/i18n/languages/de_DE.d.ts +56 -0
  738. package/i18n/languages/el_GR.d.ts +56 -0
  739. package/i18n/languages/en_GB.d.ts +3 -0
  740. package/i18n/languages/en_US.d.ts +3 -0
  741. package/i18n/languages/es_ES.d.ts +56 -0
  742. package/i18n/languages/et_EE.d.ts +56 -0
  743. package/i18n/languages/fa_IR.d.ts +56 -0
  744. package/i18n/languages/fi_FI.d.ts +56 -0
  745. package/i18n/languages/fr_BE.d.ts +60 -4
  746. package/i18n/languages/fr_FR.d.ts +56 -0
  747. package/i18n/languages/he_IL.d.ts +56 -0
  748. package/i18n/languages/hi_IN.d.ts +56 -0
  749. package/i18n/languages/hr_HR.d.ts +56 -0
  750. package/i18n/languages/hu_HU.d.ts +56 -0
  751. package/i18n/languages/hy_AM.d.ts +56 -0
  752. package/i18n/languages/id_ID.d.ts +56 -0
  753. package/i18n/languages/is_IS.d.ts +56 -0
  754. package/i18n/languages/it_IT.d.ts +56 -0
  755. package/i18n/languages/ja_JP.d.ts +56 -0
  756. package/i18n/languages/ka_GE.d.ts +56 -0
  757. package/i18n/languages/kn_IN.d.ts +56 -0
  758. package/i18n/languages/ko_KR.d.ts +56 -0
  759. package/i18n/languages/ku_IQ.d.ts +32 -0
  760. package/i18n/languages/lv_LV.d.ts +56 -0
  761. package/i18n/languages/mn_MN.d.ts +56 -0
  762. package/i18n/languages/ms_MY.d.ts +56 -0
  763. package/i18n/languages/nb_NO.d.ts +56 -0
  764. package/i18n/languages/ne_NP.d.ts +56 -0
  765. package/i18n/languages/nl_BE.d.ts +56 -0
  766. package/i18n/languages/nl_NL.d.ts +56 -0
  767. package/i18n/languages/pl_PL.d.ts +56 -0
  768. package/i18n/languages/pt_BR.d.ts +56 -0
  769. package/i18n/languages/pt_PT.d.ts +56 -0
  770. package/i18n/languages/ro_RO.d.ts +56 -0
  771. package/i18n/languages/ru_RU.d.ts +56 -0
  772. package/i18n/languages/sk_SK.d.ts +56 -1
  773. package/i18n/languages/sl_SI.d.ts +56 -0
  774. package/i18n/languages/sr_RS.d.ts +56 -0
  775. package/i18n/languages/sv_SE.d.ts +56 -0
  776. package/i18n/languages/ta_IN.d.ts +56 -0
  777. package/i18n/languages/th_TH.d.ts +56 -0
  778. package/i18n/languages/tr_TR.d.ts +56 -0
  779. package/i18n/languages/uk_UA.d.ts +56 -0
  780. package/i18n/languages/vi_VN.d.ts +56 -0
  781. package/i18n/languages/zh_CN.d.ts +3 -0
  782. package/i18n/languages/zh_TW.d.ts +3 -0
  783. package/icon/icon.component.d.ts +8 -14
  784. package/icon/icon.property.d.ts +31 -13
  785. package/icon/icon.service.d.ts +1 -1
  786. package/image/image-group.component.d.ts +1 -3
  787. package/image/image-preview.component.d.ts +11 -13
  788. package/image/image.component.d.ts +10 -11
  789. package/image/image.property.d.ts +117 -16
  790. package/index.d.ts +0 -2
  791. package/inner/inner.component.d.ts +3 -10
  792. package/inner/inner.property.d.ts +8 -4
  793. package/input/input-group.component.d.ts +0 -2
  794. package/input/input.component.d.ts +32 -30
  795. package/input/input.property.d.ts +347 -65
  796. package/input-number/input-number.component.d.ts +14 -19
  797. package/input-number/input-number.property.d.ts +292 -26
  798. package/keyword/keyword.directive.d.ts +4 -12
  799. package/keyword/keyword.property.d.ts +11 -7
  800. package/layout/col.component.d.ts +8 -11
  801. package/layout/layout.property.d.ts +25 -18
  802. package/layout/row.component.d.ts +7 -8
  803. package/link/link.component.d.ts +7 -13
  804. package/link/link.property.d.ts +64 -11
  805. package/list/list-drop-group.directive.d.ts +3 -5
  806. package/list/list-option.component.d.ts +7 -9
  807. package/list/list.component.d.ts +35 -30
  808. package/list/list.property.d.ts +126 -61
  809. package/loading/loading.component.d.ts +12 -12
  810. package/loading/loading.property.d.ts +20 -11
  811. package/menu/menu-node.component.d.ts +11 -8
  812. package/menu/menu.component.d.ts +18 -19
  813. package/menu/menu.property.d.ts +23 -28
  814. package/message/message.property.d.ts +1 -1
  815. package/notification/notification.property.d.ts +1 -1
  816. package/outlet/outlet.directive.d.ts +4 -4
  817. package/outlet/outlet.property.d.ts +1 -1
  818. package/package.json +78 -84
  819. package/page-header/page-header.component.d.ts +4 -8
  820. package/page-header/page-header.property.d.ts +11 -8
  821. package/pagination/pagination.component.d.ts +15 -22
  822. package/pagination/pagination.property.d.ts +34 -66
  823. package/pattern/pattern.component.d.ts +2 -5
  824. package/pattern/pattern.property.d.ts +1 -1
  825. package/popconfirm/popconfirm.component.d.ts +12 -14
  826. package/popconfirm/popconfirm.property.d.ts +32 -19
  827. package/popover/popover-portal.component.d.ts +16 -33
  828. package/popover/popover.directive.d.ts +6 -12
  829. package/popover/popover.property.d.ts +31 -22
  830. package/portal/portal.property.d.ts +2 -2
  831. package/portal/portal.service.d.ts +2 -2
  832. package/progress/progress.component.d.ts +25 -30
  833. package/progress/progress.property.d.ts +29 -20
  834. package/radio/radio.component.d.ts +14 -15
  835. package/radio/radio.property.d.ts +271 -31
  836. package/rate/rate.component.d.ts +14 -17
  837. package/rate/rate.property.d.ts +259 -12
  838. package/resizable/resizable.directive.d.ts +5 -5
  839. package/resizable/resizable.property.d.ts +14 -14
  840. package/result/result.component.d.ts +5 -7
  841. package/result/result.property.d.ts +11 -7
  842. package/ripple/ripple.directive.d.ts +5 -4
  843. package/ripple/ripple.property.d.ts +14 -5
  844. package/select/select-portal.component.d.ts +39 -43
  845. package/select/select.component.d.ts +53 -56
  846. package/select/select.property.d.ts +317 -37
  847. package/skeleton/skeleton.component.d.ts +4 -8
  848. package/skeleton/skeleton.property.d.ts +17 -8
  849. package/slider/slider.component.d.ts +34 -31
  850. package/slider/slider.property.d.ts +26 -22
  851. package/slider-select/slider-select.component.d.ts +38 -38
  852. package/slider-select/slider-select.property.d.ts +302 -28
  853. package/statistic/countdown.component.d.ts +2 -5
  854. package/statistic/statistic.component.d.ts +3 -8
  855. package/statistic/statistic.property.d.ts +44 -13
  856. package/steps/steps.component.d.ts +6 -16
  857. package/steps/steps.property.d.ts +15 -10
  858. package/style/core/index.css +0 -38
  859. package/style/core/index.css.map +1 -1
  860. package/style/core/var.scss +0 -4
  861. package/style/mixins/compatibility.scss +0 -1
  862. package/style/mixins/form.scss +8 -2
  863. package/style/params/index.scss +0 -1
  864. package/style/params/primary.scss +7 -28
  865. package/switch/switch.component.d.ts +9 -10
  866. package/switch/switch.property.d.ts +265 -16
  867. package/table/table-body.component.d.ts +21 -20
  868. package/table/table-foot.component.d.ts +7 -5
  869. package/table/table-head.component.d.ts +17 -19
  870. package/table/table.component.d.ts +62 -50
  871. package/table/table.property.d.ts +180 -178
  872. package/tabs/tab-content.component.d.ts +6 -8
  873. package/tabs/tab.component.d.ts +3 -5
  874. package/tabs/tabs.component.d.ts +17 -24
  875. package/tabs/tabs.property.d.ts +28 -24
  876. package/tag/tag.component.d.ts +7 -8
  877. package/tag/tag.property.d.ts +19 -21
  878. package/text-retract/text-retract.component.d.ts +4 -14
  879. package/text-retract/text-retract.property.d.ts +9 -5
  880. package/textarea/textarea.component.d.ts +17 -20
  881. package/textarea/textarea.property.d.ts +266 -30
  882. package/theme/theme.component.d.ts +24 -13
  883. package/theme/theme.property.d.ts +67 -16
  884. package/time-ago/time-ago.pipe.d.ts +7 -3
  885. package/time-ago/time-ago.property.d.ts +1 -1
  886. package/time-picker/time-picker-frame.component.d.ts +52 -39
  887. package/time-picker/time-picker-portal.component.d.ts +29 -29
  888. package/time-picker/time-picker.component.d.ts +29 -30
  889. package/time-picker/time-picker.property.d.ts +314 -23
  890. package/time-range/time-range.property.d.ts +1 -1
  891. package/timeline/timeline.component.d.ts +5 -13
  892. package/timeline/timeline.property.d.ts +12 -8
  893. package/tooltip/tooltip-portal.component.d.ts +23 -29
  894. package/tooltip/tooltip.directive.d.ts +10 -9
  895. package/tooltip/tooltip.property.d.ts +18 -14
  896. package/transfer/transfer.component.d.ts +23 -20
  897. package/transfer/transfer.property.d.ts +81 -25
  898. package/tree/tree-node.component.d.ts +21 -21
  899. package/tree/tree.component.d.ts +29 -28
  900. package/tree/tree.property.d.ts +129 -79
  901. package/tree-file/tree-file.component.d.ts +7 -9
  902. package/tree-file/tree-file.property.d.ts +40 -16
  903. package/tree-select/tree-select-portal.component.d.ts +38 -49
  904. package/tree-select/tree-select.component.d.ts +50 -53
  905. package/tree-select/tree-select.property.d.ts +328 -39
  906. package/typography/typography.component.d.ts +1 -1
  907. package/typography/typography.property.d.ts +3 -3
  908. package/upload/upload-portal.component.d.ts +14 -14
  909. package/upload/upload.component.d.ts +18 -17
  910. package/upload/upload.property.d.ts +73 -24
  911. package/border/border.component.d.ts +0 -11
  912. package/border/border.module.d.ts +0 -7
  913. package/border/border.property.d.ts +0 -6
  914. package/border/index.d.ts +0 -5
  915. package/border/public-api.d.ts +0 -3
  916. package/esm2022/border/border.component.mjs +0 -21
  917. package/esm2022/border/border.module.mjs +0 -16
  918. package/esm2022/border/border.property.mjs +0 -7
  919. package/esm2022/border/ng-nest-ui-border.mjs +0 -5
  920. package/esm2022/border/public-api.mjs +0 -4
  921. package/fesm2022/ng-nest-ui-border.mjs +0 -47
  922. package/fesm2022/ng-nest-ui-border.mjs.map +0 -1
  923. package/style/params/colors.scss +0 -38
@@ -1,17 +1,16 @@
1
- import { Subject, BehaviorSubject, fromEvent } from 'rxjs';
1
+ import { Subject, fromEvent } from 'rxjs';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, HostListener, ViewChild, inject, Renderer2, ChangeDetectorRef, ViewContainerRef, ElementRef, NgModule } from '@angular/core';
4
- import { __decorate } from 'tslib';
5
- import { XDataConvert, XWithConfig, XInputBoolean, XInputNumber, XConnectBaseAnimation, XConfigService, XIsEmpty, XIsArray, XIsChange, XResize, XClearClass, XSetData, XComputed, XIsFunction, XParents, XIsObjectArray, XRemove, XIsString, XIsObservable } from '@ng-nest/ui/core';
6
- import { XControlValueAccessor, XValueAccessor } from '@ng-nest/ui/base-form';
3
+ import { input, model, Component, inject, viewChild, output, signal, computed, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, HostListener, Renderer2, ChangeDetectorRef, ViewContainerRef, ElementRef, effect, NgModule } from '@angular/core';
4
+ import { XToDataConvert, XToBoolean, XToCssPixelValue, XToNumber, XConnectBaseAnimation, XIsEmpty, XIsArray, XIsFunction, XIsChange, XResize, XSetData, XComputed, XParents, XIsObjectArray, XRemove, XIsString, XIsObservable } from '@ng-nest/ui/core';
5
+ import { XFormControlFunction, XValueAccessor } from '@ng-nest/ui/base-form';
7
6
  import { XPortalService, XPortalConnectedPosition } from '@ng-nest/ui/portal';
8
7
  import { XInputComponent } from '@ng-nest/ui/input';
9
- import { takeUntil, map, debounceTime, distinctUntilChanged, throttleTime, filter } from 'rxjs/operators';
8
+ import { map, takeUntil, debounceTime, distinctUntilChanged, throttleTime, filter } from 'rxjs/operators';
10
9
  import { XListComponent } from '@ng-nest/ui/list';
11
- import * as i1$1 from '@angular/forms';
10
+ import { XI18nService, zh_CN } from '@ng-nest/ui/i18n';
11
+ import * as i1 from '@angular/forms';
12
12
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
13
- import * as i1 from '@ng-nest/ui/i18n';
14
- import { XI18nService } from '@ng-nest/ui/i18n';
13
+ import { toSignal } from '@angular/core/rxjs-interop';
15
14
  import { Overlay } from '@angular/cdk/overlay';
16
15
  import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, MAC_ENTER, BACKSPACE, ESCAPE, TAB } from '@angular/cdk/keycodes';
17
16
  import { DOCUMENT } from '@angular/common';
@@ -24,116 +23,210 @@ import { XOutletDirective } from '@ng-nest/ui/outlet';
24
23
  * @decorator component
25
24
  */
26
25
  const XSelectPrefix = 'x-select';
27
- const X_CONFIG_NAME = 'select';
26
+ const X_SELECT_CONFIG_NAME = 'select';
28
27
  /**
29
28
  * Select Property
30
29
  */
31
- class XSelectProperty extends XControlValueAccessor {
30
+ class XSelectProperty extends XFormControlFunction(X_SELECT_CONFIG_NAME) {
32
31
  constructor() {
33
32
  super(...arguments);
34
33
  /**
35
34
  * @zh_CN 节点数据
36
35
  * @en_US Node data
37
36
  */
38
- this.data = [];
37
+ this.data = input([], { transform: XToDataConvert });
38
+ /**
39
+ * @zh_CN 清除按钮
40
+ * @en_US Clear button
41
+ */
42
+ this.clearable = input(this.config?.clearable ?? true, { transform: XToBoolean });
43
+ /**
44
+ * @zh_CN 异步加载
45
+ * @en_US Asynchronous loading
46
+ */
47
+ this.async = input(false, { transform: XToBoolean });
48
+ /**
49
+ * @zh_CN 展示方位
50
+ * @en_US Display position
51
+ */
52
+ this.placement = input(this.config?.placement ?? 'bottom');
53
+ /**
54
+ * @zh_CN 多选功能
55
+ * @en_US Multiple choice
56
+ */
57
+ this.multiple = input(false, { transform: XToBoolean });
58
+ /**
59
+ * @zh_CN 多选添加全选功能
60
+ * @en_US Multi choice to add full selection function
61
+ */
62
+ this.selectAll = input(false, { transform: XToBoolean });
63
+ /**
64
+ * @zh_CN 全选的文字
65
+ * @en_US Selected all text
66
+ */
67
+ this.selectAllText = input(this.config?.selectAllText ?? '');
68
+ /**
69
+ * @zh_CN 节点模板
70
+ * @en_US Node template
71
+ */
72
+ this.nodeTpl = input();
73
+ /**
74
+ * @zh_CN 显示边框
75
+ * @en_US Display Border
76
+ */
77
+ this.bordered = input(this.config?.bordered ?? true, { transform: XToBoolean });
78
+ /**
79
+ * @zh_CN 下拉框的最大高度
80
+ * @en_US The biggest height of the drop-down box
81
+ */
82
+ this.portalMaxHeight = input(this.config?.portalMaxHeight ?? '12rem', {
83
+ transform: XToCssPixelValue
84
+ });
85
+ /**
86
+ * @zh_CN 下拉框的宽度
87
+ * @en_US The width of the drop-down box
88
+ */
89
+ this.portalWidth = input('', { transform: XToCssPixelValue });
90
+ /**
91
+ * @zh_CN 输入搜索
92
+ * @en_US Input search
93
+ */
94
+ this.search = input(false, { transform: XToBoolean });
95
+ /**
96
+ * @zh_CN 匹配区分大小写
97
+ * @en_US Case-sensitive
98
+ */
99
+ this.caseSensitive = input(this.config?.caseSensitive ?? true, { transform: XToBoolean });
100
+ /**
101
+ * @zh_CN 输入延迟执行时间,ms
102
+ * @en_US Enter a delay execution time, ms
103
+ */
104
+ this.debounceTime = input(this.config?.debounceTime ?? 200, { transform: XToNumber });
105
+ /**
106
+ * @zh_CN 多选时显示的选中数据个数,其它的在更多中显示,默认全部显示
107
+ * @en_US Display the number of data in the maximum election, and the others are displayed in more of them
108
+ * @default 显示所有
109
+ */
110
+ this.maxTagCount = input(this.config?.maxTagCount ?? -1, { transform: XToNumber });
111
+ /**
112
+ * @zh_CN 多选时显示的个数超过指定个数,显示的文字模版
113
+ * @en_US The number displayed when multiple choices exceeds the specified number, the displayed text template displayed
114
+ * @default '更多{{surplus}}个选中'
115
+ */
116
+ this.maxTagContent = input(this.config?.maxTagContent ?? '');
117
+ /**
118
+ * @zh_CN 开启虚拟滚动
119
+ * @en_US Turn on virtual scrolling
120
+ */
121
+ this.virtualScroll = input(this.config?.virtualScroll ?? false, { transform: XToBoolean });
122
+ /**
123
+ * @zh_CN 尺寸
124
+ * @en_US Size
125
+ */
126
+ this.size = input(this.config?.size ?? 'medium');
127
+ /**
128
+ * @zh_CN 输入框点击样式
129
+ * @en_US Input pointer
130
+ */
131
+ this.pointer = input(false, { transform: XToBoolean });
132
+ /**
133
+ * @zh_CN 标签
134
+ * @en_US Label
135
+ */
136
+ this.label = input('');
137
+ /**
138
+ * @zh_CN 标签宽度
139
+ * @en_US Label width
140
+ */
141
+ this.labelWidth = input('', { transform: XToCssPixelValue });
142
+ /**
143
+ * @zh_CN 标签文字对齐方式
144
+ * @en_US Label text alignment method
145
+ */
146
+ this.labelAlign = input('start');
147
+ /**
148
+ * @zh_CN flex 布局下的子元素水平排列方式
149
+ * @en_US The level of sub-element level arrangement under flex layout
150
+ */
151
+ this.justify = input('start');
152
+ /**
153
+ * @zh_CN flex 布局下的子元素垂直排列方式
154
+ * @en_US sub-element vertical arrangement method under flex layout
155
+ */
156
+ this.align = input('start');
157
+ /**
158
+ * @zh_CN flex 布局下的子元素排列方向
159
+ * @en_US The direction of the sub-element arrangement under flex layout
160
+ */
161
+ this.direction = input('column');
162
+ /**
163
+ * @zh_CN 输入提示信息
164
+ * @en_US Enter prompt information
165
+ */
166
+ this.placeholder = input('');
167
+ /**
168
+ * @zh_CN 禁用
169
+ * @en_US Disabled
170
+ */
171
+ this.disabled = input(false, { transform: XToBoolean });
172
+ /**
173
+ * @zh_CN 必填
174
+ * @en_US Required
175
+ */
176
+ this.required = input(false, { transform: XToBoolean });
177
+ /**
178
+ * @zh_CN 只读
179
+ * @en_US Readonly
180
+ */
181
+ this.readonly = input(false, { transform: XToBoolean });
182
+ /**
183
+ * @zh_CN 值模板
184
+ * @en_US Node template
185
+ */
186
+ this.valueTpl = input();
187
+ /**
188
+ * @zh_CN 值模板参数
189
+ * @en_US Node template
190
+ */
191
+ this.valueTplContext = input();
192
+ /**
193
+ * @zh_CN 前置标签
194
+ * @en_US Before label
195
+ */
196
+ this.before = input();
197
+ /**
198
+ * @zh_CN 后置标签
199
+ * @en_US After label
200
+ */
201
+ this.after = input();
202
+ /**
203
+ * @zh_CN 正则验证规则
204
+ * @en_US Regular verification rules
205
+ */
206
+ this.pattern = input(null);
207
+ /**
208
+ * @zh_CN 验证不通过提示文字
209
+ * @en_US Verify not pass the prompt text
210
+ */
211
+ this.message = input([]);
212
+ /**
213
+ * @zh_CN 激活状态
214
+ * @en_US Activation state
215
+ */
216
+ this.active = model(false);
217
+ /**
218
+ * @zh_CN 输入验证函数
219
+ * @en_US Enter the verification function
220
+ */
221
+ this.inputValidator = input();
39
222
  }
40
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XSelectProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
41
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: XSelectProperty, selector: "x-select-property", inputs: { data: "data", clearable: "clearable", async: "async", placement: "placement", multiple: "multiple", selectAll: "selectAll", selectAllText: "selectAllText", nodeTpl: "nodeTpl", size: "size", bordered: "bordered", portalMaxHeight: "portalMaxHeight", portalWidth: "portalWidth", search: "search", caseSensitive: "caseSensitive", debounceTime: "debounceTime", maxTagCount: "maxTagCount", maxTagContent: "maxTagContent", virtualScroll: "virtualScroll" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
223
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XSelectProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
224
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: XSelectProperty, selector: "x-select-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, async: { classPropertyName: "async", publicName: "async", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: true, isRequired: false, transformFunction: null }, selectAllText: { classPropertyName: "selectAllText", publicName: "selectAllText", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, portalMaxHeight: { classPropertyName: "portalMaxHeight", publicName: "portalMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, portalWidth: { classPropertyName: "portalWidth", publicName: "portalWidth", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null }, maxTagCount: { classPropertyName: "maxTagCount", publicName: "maxTagCount", isSignal: true, isRequired: false, transformFunction: null }, maxTagContent: { classPropertyName: "maxTagContent", publicName: "maxTagContent", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
42
225
  }
43
- __decorate([
44
- XDataConvert()
45
- ], XSelectProperty.prototype, "data", void 0);
46
- __decorate([
47
- XWithConfig(X_CONFIG_NAME, true),
48
- XInputBoolean()
49
- ], XSelectProperty.prototype, "clearable", void 0);
50
- __decorate([
51
- XInputBoolean()
52
- ], XSelectProperty.prototype, "async", void 0);
53
- __decorate([
54
- XWithConfig(X_CONFIG_NAME, 'bottom')
55
- ], XSelectProperty.prototype, "placement", void 0);
56
- __decorate([
57
- XInputBoolean()
58
- ], XSelectProperty.prototype, "multiple", void 0);
59
- __decorate([
60
- XInputBoolean()
61
- ], XSelectProperty.prototype, "selectAll", void 0);
62
- __decorate([
63
- XWithConfig(X_CONFIG_NAME)
64
- ], XSelectProperty.prototype, "selectAllText", void 0);
65
- __decorate([
66
- XWithConfig(X_CONFIG_NAME, 'medium')
67
- ], XSelectProperty.prototype, "size", void 0);
68
- __decorate([
69
- XInputBoolean(),
70
- XWithConfig(X_CONFIG_NAME, true)
71
- ], XSelectProperty.prototype, "bordered", void 0);
72
- __decorate([
73
- XWithConfig(X_CONFIG_NAME, '12rem')
74
- ], XSelectProperty.prototype, "portalMaxHeight", void 0);
75
- __decorate([
76
- XInputBoolean(),
77
- XWithConfig(X_CONFIG_NAME, false)
78
- ], XSelectProperty.prototype, "search", void 0);
79
- __decorate([
80
- XInputBoolean(),
81
- XWithConfig(X_CONFIG_NAME, true)
82
- ], XSelectProperty.prototype, "caseSensitive", void 0);
83
- __decorate([
84
- XWithConfig(X_CONFIG_NAME, 200)
85
- ], XSelectProperty.prototype, "debounceTime", void 0);
86
- __decorate([
87
- XInputNumber(),
88
- XWithConfig(X_CONFIG_NAME)
89
- ], XSelectProperty.prototype, "maxTagCount", void 0);
90
- __decorate([
91
- XWithConfig(X_CONFIG_NAME)
92
- ], XSelectProperty.prototype, "maxTagContent", void 0);
93
- __decorate([
94
- XWithConfig(X_CONFIG_NAME),
95
- XInputBoolean()
96
- ], XSelectProperty.prototype, "virtualScroll", void 0);
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XSelectProperty, decorators: [{
226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XSelectProperty, decorators: [{
98
227
  type: Component,
99
228
  args: [{ selector: `${XSelectPrefix}-property`, template: '' }]
100
- }], propDecorators: { data: [{
101
- type: Input
102
- }], clearable: [{
103
- type: Input
104
- }], async: [{
105
- type: Input
106
- }], placement: [{
107
- type: Input
108
- }], multiple: [{
109
- type: Input
110
- }], selectAll: [{
111
- type: Input
112
- }], selectAllText: [{
113
- type: Input
114
- }], nodeTpl: [{
115
- type: Input
116
- }], size: [{
117
- type: Input
118
- }], bordered: [{
119
- type: Input
120
- }], portalMaxHeight: [{
121
- type: Input
122
- }], portalWidth: [{
123
- type: Input
124
- }], search: [{
125
- type: Input
126
- }], caseSensitive: [{
127
- type: Input
128
- }], debounceTime: [{
129
- type: Input
130
- }], maxTagCount: [{
131
- type: Input
132
- }], maxTagContent: [{
133
- type: Input
134
- }], virtualScroll: [{
135
- type: Input
136
- }] } });
229
+ }] });
137
230
  /**
138
231
  * Select Portal
139
232
  * @selector x-select-portal
@@ -142,92 +235,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
142
235
  const XSelectPortalPrefix = 'x-select-portal';
143
236
 
144
237
  class XSelectPortalComponent {
238
+ constructor() {
239
+ this.unSubject = new Subject();
240
+ this.i18n = inject(XI18nService);
241
+ this.list = viewChild.required('list');
242
+ this.value = model();
243
+ this.data = input();
244
+ this.placement = input('bottom');
245
+ this.multiple = input(1);
246
+ this.nodeTpl = input();
247
+ this.inputCom = input();
248
+ this.portalMaxHeight = input('');
249
+ this.objectArray = input(false);
250
+ this.selectAll = input(false);
251
+ this.selectAllText = input('');
252
+ this.caseSensitive = input(true);
253
+ this.search = input(false);
254
+ this.virtualScroll = input(false);
255
+ this.keywordText = input('');
256
+ this.size = input();
257
+ this.animating = output();
258
+ this.nodeClick = output();
259
+ this.active = signal(-1);
260
+ this.locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.select)), { initialValue: zh_CN.select });
261
+ this.getSelectAllText = computed(() => this.selectAllText() || this.locale().selectAllText);
262
+ }
263
+ get getPlacement() {
264
+ return this.placement();
265
+ }
145
266
  done(event) {
146
- this.animating(false);
147
- event.toState === 'void' && this.destroyPortal();
148
- }
149
- start() {
150
- this.animating(true);
151
- }
152
- get getSelectAllText() {
153
- return this.selectAllText || this.locale.selectAllText;
154
- }
155
- constructor(renderer, cdr, i18n) {
156
- this.renderer = renderer;
157
- this.cdr = cdr;
158
- this.i18n = i18n;
159
- this.multiple = 1;
160
- this.selectAll = false;
161
- this.show = false;
162
- this.objectArray = false;
163
- this.caseSensitive = true;
164
- this.active = -1;
165
- this.portalMaxHeight = '';
166
- this.locale = {};
167
- this.search = false;
168
- this.scrollNull = undefined;
169
- this._unSubject = new Subject();
267
+ event.toState !== 'void' && this.animating.emit(false);
268
+ }
269
+ start(event) {
270
+ event.toState !== 'void' && this.animating.emit(true);
170
271
  }
171
272
  ngOnInit() {
172
- this.valueChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {
173
- this.value = x;
174
- this.cdr.detectChanges();
175
- });
176
- this.positionChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {
177
- this.placement = x;
178
- this.cdr.detectChanges();
179
- });
180
- this.dataChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {
181
- this.data = x;
182
- this.cdr.detectChanges();
273
+ this.closeSubject.pipe(takeUntil(this.unSubject)).subscribe(() => {
274
+ this.list().setUnActive(this.active());
183
275
  });
184
- this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {
185
- this.list.setUnActive(this.active);
186
- });
187
- this.keydownSubject.pipe(takeUntil(this._unSubject)).subscribe((x) => {
188
- this.list.keydown(x);
189
- });
190
- this.inputChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {
191
- this.keywordText = x;
192
- });
193
- this.i18n.localeChange
194
- .pipe(map((x) => x.select), takeUntil(this._unSubject))
195
- .subscribe((x) => {
196
- this.locale = x;
197
- this.cdr.markForCheck();
276
+ this.keydownSubject.pipe(takeUntil(this.unSubject)).subscribe((x) => {
277
+ this.list().keydown(x);
198
278
  });
199
279
  }
200
280
  ngOnDestroy() {
201
- this._unSubject.next();
202
- this._unSubject.unsubscribe();
281
+ this.unSubject.next();
282
+ this.unSubject.complete();
203
283
  }
204
284
  stopPropagation(event) {
205
285
  event.stopPropagation();
206
286
  }
207
- nodeClick(node) {
208
- if (this.multiple === 0) {
209
- this.nodeEmit(node, this.value);
287
+ onNodeClick(node) {
288
+ if (this.multiple() === 0) {
289
+ this.nodeClick.emit({ node, value: this.value() });
210
290
  }
211
291
  else {
212
- this.nodeEmit(node);
292
+ this.nodeClick.emit({ node });
213
293
  }
214
294
  }
215
295
  onSelectAll(_isSelectAll) {
216
- this.nodeEmit(null, this.value);
296
+ this.nodeClick.emit({ node: null, value: this.value() });
217
297
  }
218
298
  onActive(num) {
219
- this.active = num;
299
+ this.active.set(num);
220
300
  }
221
301
  onTabOut() {
222
302
  this.closeSubject.next();
223
303
  }
224
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XSelectPortalComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.XI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
225
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: XSelectPortalComponent, isStandalone: true, selector: "x-select-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true }], ngImport: i0, template: "<div #selectPortal class=\"x-select-portal\" (click)=\"inputCom.inputFocus(); stopPropagation($event)\" [style.maxHeight]=\"portalMaxHeight\">\r\n <x-list\r\n #list\r\n [data]=\"data\"\r\n [(ngModel)]=\"value\"\r\n (nodeClick)=\"nodeClick($event)\"\r\n (keyManagerChange)=\"onActive($event)\"\r\n (keyManagerTabOut)=\"onTabOut()\"\r\n (onSelectAll)=\"onSelectAll($event)\"\r\n checked\r\n [objectArray]=\"objectArray\"\r\n [multiple]=\"multiple\"\r\n [selectAll]=\"selectAll\"\r\n [selectAllText]=\"getSelectAllText\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [scrollElement]=\"search ? scrollNull : selectPortal\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [size]=\"size\"\r\n [heightAdaption]=\"selectPortal\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n ></x-list>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-select-portal{width:100%}.x-select-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);width:100%;border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);position:relative;display:flex;background-color:var(--x-background);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XListComponent, selector: "x-list" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
304
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XSelectPortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
305
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.1", type: XSelectPortalComponent, isStandalone: true, selector: "x-select-portal", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, inputCom: { classPropertyName: "inputCom", publicName: "inputCom", isSignal: true, isRequired: false, transformFunction: null }, portalMaxHeight: { classPropertyName: "portalMaxHeight", publicName: "portalMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, objectArray: { classPropertyName: "objectArray", publicName: "objectArray", isSignal: true, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: true, isRequired: false, transformFunction: null }, selectAllText: { classPropertyName: "selectAllText", publicName: "selectAllText", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, keywordText: { classPropertyName: "keywordText", publicName: "keywordText", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", animating: "animating", nodeClick: "nodeClick" }, host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.getPlacement" } }, viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\r\n #selectPortal\r\n class=\"x-select-portal\"\r\n (click)=\"inputCom()?.inputFocus(); stopPropagation($event)\"\r\n [style.maxHeight]=\"portalMaxHeight()\"\r\n>\r\n <x-list\r\n #list\r\n [data]=\"data()!\"\r\n [ngModel]=\"value()\"\r\n (ngModelChange)=\"value.set($event)\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n (keyManagerChange)=\"onActive($event)\"\r\n (keyManagerTabOut)=\"onTabOut()\"\r\n (onSelectAll)=\"onSelectAll($event)\"\r\n checked\r\n [objectArray]=\"objectArray()\"\r\n [multiple]=\"multiple()\"\r\n [selectAll]=\"selectAll()\"\r\n [selectAllText]=\"getSelectAllText()!\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [scrollElement]=\"search() ? undefined : selectPortal\"\r\n [virtualScroll]=\"virtualScroll()\"\r\n [size]=\"size()!\"\r\n [heightAdaption]=\"selectPortal\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n [inPortal]=\"true\"\r\n ></x-list>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-select-portal{width:100%}.x-select-portal{color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XListComponent, selector: "x-list" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
226
306
  }
227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XSelectPortalComponent, decorators: [{
307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XSelectPortalComponent, decorators: [{
228
308
  type: Component,
229
- args: [{ selector: `${XSelectPortalPrefix}`, standalone: true, imports: [FormsModule, XListComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], template: "<div #selectPortal class=\"x-select-portal\" (click)=\"inputCom.inputFocus(); stopPropagation($event)\" [style.maxHeight]=\"portalMaxHeight\">\r\n <x-list\r\n #list\r\n [data]=\"data\"\r\n [(ngModel)]=\"value\"\r\n (nodeClick)=\"nodeClick($event)\"\r\n (keyManagerChange)=\"onActive($event)\"\r\n (keyManagerTabOut)=\"onTabOut()\"\r\n (onSelectAll)=\"onSelectAll($event)\"\r\n checked\r\n [objectArray]=\"objectArray\"\r\n [multiple]=\"multiple\"\r\n [selectAll]=\"selectAll\"\r\n [selectAllText]=\"getSelectAllText\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [scrollElement]=\"search ? scrollNull : selectPortal\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [size]=\"size\"\r\n [heightAdaption]=\"selectPortal\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n ></x-list>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-select-portal{width:100%}.x-select-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);width:100%;border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);position:relative;display:flex;background-color:var(--x-background);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}\n"] }]
230
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.XI18nService }], propDecorators: { placement: [{
309
+ args: [{ selector: `${XSelectPortalPrefix}`, standalone: true, imports: [FormsModule, XListComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], template: "<div\r\n #selectPortal\r\n class=\"x-select-portal\"\r\n (click)=\"inputCom()?.inputFocus(); stopPropagation($event)\"\r\n [style.maxHeight]=\"portalMaxHeight()\"\r\n>\r\n <x-list\r\n #list\r\n [data]=\"data()!\"\r\n [ngModel]=\"value()\"\r\n (ngModelChange)=\"value.set($event)\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n (keyManagerChange)=\"onActive($event)\"\r\n (keyManagerTabOut)=\"onTabOut()\"\r\n (onSelectAll)=\"onSelectAll($event)\"\r\n checked\r\n [objectArray]=\"objectArray()\"\r\n [multiple]=\"multiple()\"\r\n [selectAll]=\"selectAll()\"\r\n [selectAllText]=\"getSelectAllText()!\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [scrollElement]=\"search() ? undefined : selectPortal\"\r\n [virtualScroll]=\"virtualScroll()\"\r\n [size]=\"size()!\"\r\n [heightAdaption]=\"selectPortal\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n [inPortal]=\"true\"\r\n ></x-list>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-select-portal{width:100%}.x-select-portal{color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}\n"] }]
310
+ }], propDecorators: { getPlacement: [{
231
311
  type: HostBinding,
232
312
  args: ['@x-connect-base-animation']
233
313
  }], done: [{
@@ -236,49 +316,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
236
316
  }], start: [{
237
317
  type: HostListener,
238
318
  args: ['@x-connect-base-animation.start', ['$event']]
239
- }], list: [{
240
- type: ViewChild,
241
- args: ['list']
242
319
  }] } });
243
320
 
244
321
  class XSelectComponent extends XSelectProperty {
322
+ writeValue(value) {
323
+ if (this.multiple()) {
324
+ if (XIsEmpty(value)) {
325
+ value = [];
326
+ }
327
+ if (!XIsArray(value)) {
328
+ value = [value];
329
+ }
330
+ }
331
+ this.value.set(value);
332
+ this.setDisplayValue();
333
+ }
245
334
  constructor() {
246
- super(...arguments);
247
- this.noPortalWidthPlacements = ['bottom', 'top'];
248
- this.hasPortalWidthPlacements = ['bottom-start', 'bottom-end', 'top-start', 'top-end'];
249
- this.placements = [];
250
- this.readonly = true;
251
- this.enter = false;
252
- this.showClearable = false;
253
- this.displayValue = '';
254
- this.multipleSearchValue = '';
255
- this.nodes = [];
256
- this.selectedNodes = [];
257
- this.displayNodes = [];
258
- this.displayMore = '';
259
- this.showDisplayMore = false;
260
- this.searchNodes = [];
261
- this.icon = 'fto-chevron-down';
262
- this.iconSpin = false;
263
- this.maxNodes = 6;
264
- this.inputPadding = 0.4;
265
- this.protalTobottom = true;
266
- this.asyncLoading = false;
267
- this.animating = false;
268
- this.objectArray = false;
269
- this.selectedSurplus = 0;
270
- this.selectedTotal = 0;
271
- this.locale = {};
272
- this.valueTplContext = { $node: null, $isValue: true };
273
- this.valueChange = new Subject();
274
- this.positionChange = new Subject();
275
- this.closeSubject = new Subject();
276
- this.dataChange = new BehaviorSubject([]);
277
- this.keydownSubject = new Subject();
278
- this.inputChange = new Subject();
279
- this.composition = false;
280
- this.multipleInputSizeChange = new Subject();
281
- this._unSubject = new Subject();
335
+ super();
336
+ this.i18n = inject(XI18nService);
282
337
  this.document = inject(DOCUMENT);
283
338
  this.renderer = inject(Renderer2);
284
339
  this.cdr = inject(ChangeDetectorRef);
@@ -286,51 +341,86 @@ class XSelectComponent extends XSelectProperty {
286
341
  this.viewContainerRef = inject(ViewContainerRef);
287
342
  this.elementRef = inject(ElementRef);
288
343
  this.overlay = inject(Overlay);
289
- this.i18n = inject(XI18nService);
290
- this.configService = inject(XConfigService);
291
- }
292
- get getReadonly() {
293
- return (this.readonly && !this.search) || (Boolean(this.search) && Boolean(this.multiple));
294
- }
295
- get getMaxTagContent() {
296
- return this.maxTagContent || this.locale.maxTagContent;
297
- }
298
- writeValue(value) {
299
- if (this.multiple) {
300
- if (XIsEmpty(value)) {
301
- value = [];
344
+ this.inputCom = viewChild.required('inputCom');
345
+ this.select = viewChild.required('select');
346
+ this.multipleValueTpl = viewChild.required('multipleValueTpl');
347
+ this.multipleInput = viewChild('multipleInput');
348
+ this.getReadonly = computed(() => (this.readonly() && !this.search()) || (this.search() && this.multiple()));
349
+ this.getMaxTagContent = computed(() => this.maxTagContent() || this.locale().maxTagContent);
350
+ this.noPortalWidthPlacements = ['bottom', 'top'];
351
+ this.hasPortalWidthPlacements = ['bottom-start', 'bottom-end', 'top-start', 'top-end'];
352
+ this.enter = signal(false);
353
+ this.showClearable = signal(false);
354
+ this.displayValue = signal('');
355
+ this.multipleSearchValue = signal('');
356
+ this.nodes = signal([]);
357
+ this.selectedNodes = signal([]);
358
+ this.displayNodes = signal([]);
359
+ this.displayMore = signal('');
360
+ this.showDisplayMore = signal(false);
361
+ this.searchNodes = signal([]);
362
+ this.icon = signal('fto-chevron-down');
363
+ this.iconSpin = signal(false);
364
+ this.animating = signal(false);
365
+ this.objectArray = signal(false);
366
+ this.selectedSurplus = signal(0);
367
+ this.selectedTotal = signal(0);
368
+ this.composition = signal(false);
369
+ this.locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.select)), { initialValue: zh_CN.select });
370
+ this.closeSubject = new Subject();
371
+ this.keydownSubject = new Subject();
372
+ this.inputChange = new Subject();
373
+ this.multipleInputSizeChange = new Subject();
374
+ this.unSubject = new Subject();
375
+ this.valueTplSignal = computed(() => {
376
+ if (this.multiple()) {
377
+ return this.multipleValueTpl();
302
378
  }
303
- if (!XIsArray(value)) {
304
- value = [value];
379
+ return this.valueTpl();
380
+ });
381
+ this.valueTplContextSignal = signal({ $node: null, $isValue: true });
382
+ this.placements = computed(() => {
383
+ let placement = this.placement();
384
+ if (this.portalWidth()) {
385
+ if (placement === 'bottom') {
386
+ placement = 'bottom-start';
387
+ }
388
+ return [placement, ...this.hasPortalWidthPlacements];
305
389
  }
306
- }
307
- this.value = value;
308
- this.setDisplayValue();
309
- this.valueChange.next(this.value);
310
- this.cdr.detectChanges();
390
+ else {
391
+ return [placement, ...this.noPortalWidthPlacements];
392
+ }
393
+ });
394
+ this.realPlacement = signal(null);
395
+ this.portalComponent = signal(null);
396
+ this.portalOverlayRef = signal(null);
397
+ this.inputChanged = toSignal(this.inputChange);
398
+ this.portalData = computed(() => {
399
+ const nodes = this.nodes();
400
+ if (XIsFunction(this.data()))
401
+ return nodes;
402
+ if (XIsEmpty(this.inputChanged()))
403
+ return nodes;
404
+ return this.searchNodes();
405
+ });
406
+ effect(() => this.portalComponent()?.setInput('data', this.portalData()));
407
+ effect(() => this.portalComponent()?.setInput('value', this.value()));
408
+ effect(() => this.portalComponent()?.setInput('placement', this.realPlacement()));
409
+ effect(() => this.portalComponent()?.setInput('multiple', this.multiple() === true ? 0 : 1));
410
+ effect(() => this.portalComponent()?.setInput('nodeTpl', this.nodeTpl()));
411
+ effect(() => this.portalComponent()?.setInput('inputCom', this.inputCom()));
412
+ effect(() => this.portalComponent()?.setInput('portalMaxHeight', this.portalMaxHeight()));
413
+ effect(() => this.portalComponent()?.setInput('objectArray', this.objectArray()));
414
+ effect(() => this.portalComponent()?.setInput('selectAll', this.selectAll()));
415
+ effect(() => this.portalComponent()?.setInput('selectAllText', this.selectAllText()));
416
+ effect(() => this.portalComponent()?.setInput('caseSensitive', this.caseSensitive()));
417
+ effect(() => this.portalComponent()?.setInput('search', this.search()));
418
+ effect(() => this.portalComponent()?.setInput('virtualScroll', this.virtualScroll()));
419
+ effect(() => this.portalComponent()?.setInput('size', this.size()));
420
+ effect(() => this.portalComponent()?.setInput('keywordText', this.inputChanged()));
311
421
  }
312
422
  ngOnInit() {
313
- this.setFlex(this.select.nativeElement, this.renderer, this.justify, this.align, this.direction);
314
- this.setClassMap();
315
423
  this.setSubject();
316
- if (this.multiple) {
317
- this.valueTpl = this.multipleValueTpl;
318
- }
319
- if (this.portalWidth) {
320
- if (this.placement === 'bottom') {
321
- this.placement = 'bottom-start';
322
- }
323
- this.placements = [this.placement, ...this.hasPortalWidthPlacements];
324
- }
325
- else {
326
- this.placements = [this.placement, ...this.noPortalWidthPlacements];
327
- }
328
- this.i18n.localeChange
329
- .pipe(map((x) => x.select), takeUntil(this._unSubject))
330
- .subscribe((x) => {
331
- this.locale = x;
332
- this.cdr.markForCheck();
333
- });
334
424
  this.setParantScroll();
335
425
  }
336
426
  ngOnChanges(changes) {
@@ -339,63 +429,57 @@ class XSelectComponent extends XSelectProperty {
339
429
  }
340
430
  ngAfterViewInit() {
341
431
  this.setPortal();
342
- if (this.multiple && this.inputCom.inputValueRef) {
343
- XResize(this.inputCom.inputValueRef.nativeElement)
344
- .pipe(debounceTime(30), takeUntil(this._unSubject))
432
+ if (this.multiple() && this.inputCom().inputValueRef()) {
433
+ XResize(this.inputCom().inputValueRef()?.nativeElement)
434
+ .pipe(debounceTime(30), takeUntil(this.unSubject))
345
435
  .subscribe((x) => {
346
- this._resizeObserver = x.resizeObserver;
436
+ this.resizeObserver = x.resizeObserver;
347
437
  this.setMutipleInputSize();
348
438
  });
349
439
  }
350
440
  }
351
441
  ngOnDestroy() {
352
- this._unSubject.next();
353
- this._unSubject.unsubscribe();
354
- this._resizeObserver?.disconnect();
355
- }
356
- setClassMap() {
357
- XClearClass(this.labelMap);
358
- this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;
442
+ this.unSubject.next();
443
+ this.unSubject.complete();
444
+ this.resizeObserver?.disconnect();
359
445
  }
360
446
  setData() {
361
- if (this.async)
447
+ if (this.async())
362
448
  return;
363
- XSetData(this.data, this._unSubject).subscribe((x) => {
364
- this.nodes = x;
365
- this.dataChange.next(this.nodes);
449
+ XSetData(this.data(), this.unSubject).subscribe((x) => {
450
+ this.nodes.set(x);
366
451
  this.setDisplayValue();
367
452
  this.setPortal();
368
- this.cdr.detectChanges();
369
453
  });
370
454
  }
371
455
  setSubject() {
372
- this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {
456
+ this.closeSubject.pipe(takeUntil(this.unSubject)).subscribe(() => {
373
457
  this.closePortal();
374
458
  });
375
459
  this.inputChange
376
- .pipe(debounceTime(this.debounceTime), distinctUntilChanged(), takeUntil(this._unSubject))
460
+ .pipe(debounceTime(this.debounceTime()), distinctUntilChanged(), takeUntil(this.unSubject))
377
461
  .subscribe((x) => {
378
462
  this.modelChange(x);
379
463
  });
380
- this.keydownSubject.pipe(throttleTime(10), takeUntil(this._unSubject)).subscribe((x) => {
464
+ this.keydownSubject.pipe(throttleTime(10), takeUntil(this.unSubject)).subscribe((x) => {
381
465
  const keyCode = x.keyCode;
382
466
  if (!this.portalAttached() &&
383
467
  [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, MAC_ENTER, BACKSPACE].includes(keyCode)) {
384
- this.inputChange.next(this.displayValue);
468
+ this.inputChange.next(this.displayValue());
385
469
  }
386
470
  if (this.portalAttached() && [ESCAPE].includes(keyCode)) {
387
471
  this.closeSubject.next();
388
472
  }
389
473
  });
390
- this.multipleInputSizeChange.pipe(distinctUntilChanged(), takeUntil(this._unSubject)).subscribe((x) => {
391
- if (this.multipleInput) {
392
- const input = this.multipleInput?.elementRef.nativeElement;
474
+ this.multipleInputSizeChange.pipe(distinctUntilChanged(), takeUntil(this.unSubject)).subscribe((x) => {
475
+ if (this.multipleInput()) {
476
+ const input = this.multipleInput()?.elementRef.nativeElement;
393
477
  this.renderer.setStyle(input, 'width', `${x}px`);
394
478
  }
395
479
  });
396
480
  }
397
481
  setMutipleInputSize() {
398
- const ivf = this.inputCom.inputValueRef.nativeElement;
482
+ const ivf = this.inputCom().inputValueRef()?.nativeElement;
399
483
  let { clientWidth, scrollHeight } = ivf;
400
484
  const len = ivf.children.length;
401
485
  let lastRowTagTop = -1;
@@ -427,71 +511,65 @@ class XSelectComponent extends XSelectProperty {
427
511
  }
428
512
  }
429
513
  const height = scrollHeight + (lines > 1 ? marginTop : 0);
430
- this.renderer.setStyle(this.inputCom.inputRef.nativeElement, 'height', `${height}px`);
431
- if (this.multipleInput) {
514
+ this.renderer.setStyle(this.inputCom().inputRef().nativeElement, 'height', `${height}px`);
515
+ if (this.multipleInput()) {
432
516
  this.multipleInputSizeChange.next(clientWidth - lastRowTagsWidth - marginLeft);
433
517
  }
434
518
  this.portal?.overlayRef?.updatePosition();
435
519
  }
436
520
  menter() {
437
- if (this.disabled || !this.clearable || this.iconSpin)
521
+ if (this.disabledComputed() || !this.clearable() || this.iconSpin())
438
522
  return;
439
- this.enter = true;
440
- if ((!this.multiple && !XIsEmpty(this.displayValue)) || (this.multiple && !XIsEmpty(this.displayNodes))) {
441
- this.icon = '';
442
- this.showClearable = true;
443
- this.cdr.detectChanges();
523
+ this.enter.set(true);
524
+ if ((!this.multiple() && !XIsEmpty(this.displayValue())) || (this.multiple() && !XIsEmpty(this.displayNodes()))) {
525
+ this.icon.set('');
526
+ this.showClearable.set(true);
444
527
  }
445
528
  }
446
529
  mleave() {
447
- if (this.disabled || !this.clearable || this.iconSpin)
530
+ if (this.disabledComputed() || !this.clearable() || this.iconSpin())
448
531
  return;
449
- this.enter = false;
450
- if (this.clearable) {
451
- this.icon = 'fto-chevron-down';
452
- this.showClearable = false;
453
- this.cdr.detectChanges();
532
+ this.enter.set(false);
533
+ if (this.clearable()) {
534
+ this.icon.set('fto-chevron-down');
535
+ this.showClearable.set(false);
454
536
  }
455
537
  }
456
538
  modelChange(value) {
457
- if (XIsFunction(this.data)) {
539
+ if (XIsFunction(this.data())) {
458
540
  if (!this.portalAttached()) {
459
541
  this.showPortal();
460
542
  }
461
- this.icon = 'fto-loader';
462
- this.iconSpin = true;
463
- this.cdr.detectChanges();
464
- XSetData(this.data, this._unSubject, true, value).subscribe((x) => {
465
- this.icon = '';
466
- this.iconSpin = false;
467
- if (!this.enter && this.clearable) {
468
- this.showClearable = false;
543
+ this.icon.set('fto-loader');
544
+ this.iconSpin.set(true);
545
+ XSetData(this.data(), this.unSubject, true, value).subscribe((x) => {
546
+ this.icon.set('');
547
+ this.iconSpin.set(false);
548
+ if (!this.enter() && this.clearable()) {
549
+ this.showClearable.set(false);
469
550
  }
470
- this.nodes = x;
471
- this.dataChange.next(this.nodes);
472
- this.cdr.detectChanges();
551
+ this.nodes.set(x);
473
552
  });
474
553
  return;
475
554
  }
476
- if (this.nodes) {
555
+ if (this.nodes()) {
477
556
  if (!this.portalAttached()) {
478
557
  this.showPortal();
479
558
  }
480
559
  if (XIsEmpty(value)) {
481
- this.searchNodes = [...this.nodes];
560
+ this.searchNodes.set(this.nodes());
482
561
  }
483
562
  else {
484
563
  this.setSearchNodes(value);
485
564
  }
486
- this.dataChange.next(this.searchNodes);
487
565
  }
488
566
  }
489
567
  setSearchNodes(value) {
490
- if (this.caseSensitive) {
491
- this.searchNodes = this.nodes.filter((x) => String(x.label).indexOf(String(value)) >= 0);
568
+ if (this.caseSensitive()) {
569
+ this.searchNodes.set(this.nodes().filter((x) => String(x.label).indexOf(String(value)) >= 0));
492
570
  }
493
571
  else {
494
- this.searchNodes = this.nodes.filter((x) => String(x.label).toLowerCase().indexOf(String(value).toLowerCase()) >= 0);
572
+ this.searchNodes.set(this.nodes().filter((x) => String(x.label).toLowerCase().indexOf(String(value).toLowerCase()) >= 0));
495
573
  }
496
574
  }
497
575
  setParantScroll() {
@@ -507,7 +585,7 @@ class XSelectComponent extends XSelectProperty {
507
585
  }
508
586
  if (firstScroll && firstScroll.tagName !== 'BODY') {
509
587
  fromEvent(firstScroll, 'scroll')
510
- .pipe(filter(() => this.portalAttached()), takeUntil(this._unSubject))
588
+ .pipe(filter(() => this.portalAttached()), takeUntil(this.unSubject))
511
589
  .subscribe(() => {
512
590
  this.portal?.overlayRef?.updatePosition();
513
591
  const eract = this.elementRef.nativeElement.getBoundingClientRect();
@@ -519,115 +597,141 @@ class XSelectComponent extends XSelectProperty {
519
597
  }
520
598
  }
521
599
  clearEmit() {
522
- this.value = this.multiple ? [] : '';
523
- this.displayValue = '';
524
- this.multipleSearchValue = '';
525
- this.selectedNodes = [];
600
+ this.value.set(this.multiple() ? [] : '');
601
+ this.displayValue.set('');
602
+ this.multipleSearchValue.set('');
603
+ this.selectedNodes.set([]);
526
604
  this.setDisplayNodes();
527
- this.valueTplContext.$node = null;
605
+ this.valueTplContextSignal.update((x) => {
606
+ x.$node = null;
607
+ return { ...x };
608
+ });
528
609
  this.mleave();
529
- this.valueChange.next(this.value);
530
610
  this.inputChange.next('');
531
611
  if (this.onChange)
532
- this.onChange(this.value);
612
+ this.onChange(this.value());
533
613
  }
534
614
  setDisplayValue(clickNode) {
535
- if (this.nodes.length > 0) {
536
- if (this.multiple) {
537
- if (XIsEmpty(this.value)) {
538
- this.value = [];
539
- this.displayValue = '';
540
- this.selectedNodes = [];
541
- this.displayNodes = [];
542
- this.displayMore = '';
543
- this.valueTplContext.$node = null;
615
+ if (this.nodes().length > 0) {
616
+ if (this.multiple()) {
617
+ if (XIsEmpty(this.value())) {
618
+ this.value.set([]);
619
+ this.displayValue.set('');
620
+ this.selectedNodes.set([]);
621
+ this.displayNodes.set([]);
622
+ this.displayMore.set('');
623
+ this.valueTplContextSignal.update((x) => {
624
+ x.$node = null;
625
+ return { ...x };
626
+ });
544
627
  this.setDisplayNodes();
545
628
  }
546
629
  else {
547
630
  let ids = [];
548
631
  let selected = [];
549
- if (XIsObjectArray(this.value)) {
550
- this.objectArray = true;
551
- ids = this.value.map((x) => x.id);
632
+ if (XIsObjectArray(this.value())) {
633
+ this.objectArray.set(true);
634
+ ids = this.value().map((x) => x.id);
552
635
  }
553
636
  else {
554
- this.objectArray = false;
555
- ids = this.value;
637
+ this.objectArray.set(false);
638
+ ids = this.value();
556
639
  }
557
640
  if (clickNode) {
558
641
  if (clickNode.selected) {
559
- this.selectedNodes.push(clickNode);
642
+ this.selectedNodes.update((x) => {
643
+ x.push(clickNode);
644
+ return [...x];
645
+ });
560
646
  }
561
647
  else {
562
- XRemove(this.selectedNodes, (x) => x.id === clickNode.id);
648
+ this.selectedNodes.update((x) => {
649
+ XRemove(x, (y) => y.id === clickNode.id);
650
+ return [...x];
651
+ });
563
652
  }
564
653
  }
565
654
  else {
566
655
  for (let id of ids) {
567
- let node = this.nodes.find((x) => x.id === id);
656
+ let node = this.nodes().find((x) => x.id === id);
568
657
  if (node)
569
658
  selected.push(node);
570
659
  }
571
- this.selectedNodes = selected;
660
+ this.selectedNodes.set(selected);
572
661
  }
573
662
  this.setDisplayNodes();
574
- this.displayValue = this.selectedNodes.map((x) => x.label).join(',');
575
- this.valueTplContext.$node = [...this.selectedNodes];
663
+ this.displayValue.set(this.selectedNodes()
664
+ .map((x) => x.label)
665
+ .join(','));
666
+ this.valueTplContextSignal.update((x) => {
667
+ x.$node = [...this.selectedNodes()];
668
+ return { ...x };
669
+ });
576
670
  }
577
671
  }
578
672
  else {
579
- let node = this.nodes.find((x) => x.id === this.value);
673
+ let node = this.nodes().find((x) => x.id === this.value());
580
674
  if (node) {
581
- this.displayValue = node.label;
582
- this.valueTplContext.$node = node;
675
+ this.displayValue.set(node.label);
676
+ this.valueTplContextSignal.update((x) => {
677
+ x.$node = node;
678
+ return { ...x };
679
+ });
583
680
  }
584
681
  else {
585
- this.displayValue = '';
586
- this.valueTplContext.$node = null;
682
+ this.displayValue.set('');
683
+ this.valueTplContextSignal.update((x) => {
684
+ x.$node = null;
685
+ return { ...x };
686
+ });
587
687
  }
588
688
  }
589
- this.cdr.detectChanges();
590
689
  }
591
690
  }
592
691
  closeNode(event, node, index) {
593
692
  let inx = -1;
594
- if (XIsObjectArray(this.value)) {
595
- inx = this.value.findIndex((y) => y.id === node.id);
693
+ if (XIsObjectArray(this.value())) {
694
+ inx = this.value().findIndex((y) => y.id === node.id);
596
695
  }
597
696
  else {
598
- inx = this.value.findIndex((y) => y === node.id);
697
+ inx = this.value().findIndex((y) => y === node.id);
599
698
  }
600
699
  if (inx >= 0) {
601
- this.value.splice(inx, 1);
602
- this.valueChange.next(this.value);
700
+ this.value.update((x) => {
701
+ x.splice(inx, 1);
702
+ return [...x];
703
+ });
603
704
  if (this.onChange)
604
- this.onChange(this.value);
605
- this.selectedNodes.splice(index, 1);
705
+ this.onChange(this.value());
706
+ this.selectedNodes.update((x) => {
707
+ x.splice(index, 1);
708
+ return [...x];
709
+ });
606
710
  this.setDisplayNodes();
607
711
  }
608
712
  event.stopPropagation();
609
713
  }
610
714
  setDisplayNodes() {
611
- if (!this.multiple)
715
+ if (!this.multiple())
612
716
  return;
613
- const maxlen = this.selectedNodes.length;
717
+ const maxlen = this.selectedNodes().length;
614
718
  let len = 0;
615
- if (!this.maxTagCount) {
616
- len = maxlen;
719
+ if (this.maxTagCount() >= 0) {
720
+ len = maxlen > this.maxTagCount() ? this.maxTagCount() : maxlen;
617
721
  }
618
722
  else {
619
- len = maxlen > Number(this.maxTagCount) ? Number(this.maxTagCount) : maxlen;
723
+ len = maxlen;
620
724
  }
621
725
  let more = maxlen - len;
622
726
  more = more < 0 ? 0 : more;
623
- this.displayNodes = this.selectedNodes.slice(0, len);
624
- this.showDisplayMore = more > 0;
625
- if (XIsString(this.getMaxTagContent)) {
626
- this.displayMore = more > 0 ? this.getMaxTagContent.replace(/\{\{surplus\}\}/g, `${more}`) : '';
727
+ this.displayNodes.set(this.selectedNodes().slice(0, len));
728
+ this.showDisplayMore.set(more > 0);
729
+ if (XIsString(this.getMaxTagContent())) {
730
+ this.displayMore.set(more > 0 ? this.getMaxTagContent().replace(/\{\{surplus\}\}/g, `${more}`) : '');
627
731
  }
628
732
  else {
629
- this.selectedSurplus = more;
630
- this.selectedTotal = maxlen;
733
+ this.selectedSurplus.set(more);
734
+ this.selectedTotal.set(maxlen);
631
735
  }
632
736
  setTimeout(() => this.setMutipleInputSize());
633
737
  }
@@ -637,9 +741,8 @@ class XSelectComponent extends XSelectProperty {
637
741
  closePortal() {
638
742
  if (this.portalAttached()) {
639
743
  this.portal?.overlayRef?.detach();
640
- this.active = false;
641
- this.multipleSearchValue = '';
642
- this.cdr.detectChanges();
744
+ this.active.set(false);
745
+ this.multipleSearchValue.set('');
643
746
  return true;
644
747
  }
645
748
  return false;
@@ -648,45 +751,43 @@ class XSelectComponent extends XSelectProperty {
648
751
  this.portal?.overlayRef?.dispose();
649
752
  }
650
753
  showPortal(click = false) {
651
- if (this.disabled || this.iconSpin || this.animating)
754
+ if (this.disabledComputed() || this.iconSpin() || this.animating())
652
755
  return;
653
- this.active = true;
654
- if ((this.async && XIsObservable(this.data) && this.nodes.length === 0) || XIsFunction(this.data)) {
655
- this.icon = 'fto-loader';
656
- this.iconSpin = true;
657
- this.inputCom.cdr.detectChanges();
658
- XSetData(this.data, this._unSubject, true, click ? '' : this.displayValue).subscribe((x) => {
659
- this.icon = 'fto-chevron-down';
660
- this.iconSpin = false;
661
- if (!this.enter && this.clearable) {
662
- this.showClearable = false;
756
+ this.active.set(true);
757
+ if ((this.async() && XIsObservable(this.data()) && this.nodes().length === 0) || XIsFunction(this.data())) {
758
+ this.icon.set('fto-loader');
759
+ this.iconSpin.set(true);
760
+ XSetData(this.data(), this.unSubject, true, click ? '' : this.displayValue()).subscribe((x) => {
761
+ this.icon.set('fto-chevron-down');
762
+ this.iconSpin.set(false);
763
+ if (!this.enter() && this.clearable()) {
764
+ this.showClearable.set(false);
663
765
  }
664
- this.inputCom.cdr.detectChanges();
665
- this.nodes = x;
666
- this.dataChange.next(this.nodes);
667
- if (!this.search)
766
+ this.nodes.set(x);
767
+ if (!this.search())
668
768
  this.setDisplayValue();
669
769
  this.createPortal();
670
- this.cdr.detectChanges();
671
770
  });
672
771
  }
673
772
  else {
674
- this.dataChange.next(this.nodes);
675
773
  this.createPortal();
676
774
  }
677
- if (this.search && this.multiple) {
678
- this.multipleInput.inputFocus();
775
+ if (this.search() && this.multiple()) {
776
+ this.multipleInput()?.inputFocus();
679
777
  }
680
778
  else {
681
- this.inputCom.inputFocus();
779
+ this.inputCom().inputFocus('focus');
682
780
  }
683
781
  }
684
782
  createPortal() {
685
- this.nodes.filter((x) => x.selected).map((x) => (x.selected = false));
686
- this.box = this.inputCom.inputRef.nativeElement.getBoundingClientRect();
783
+ this.nodes.update((nodes) => {
784
+ nodes.filter((x) => x.selected).map((x) => (x.selected = false));
785
+ return [...nodes];
786
+ });
787
+ const box = this.inputCom().inputRef().nativeElement.getBoundingClientRect();
687
788
  const config = {
688
789
  backdropClass: '',
689
- width: this.portalWidth || this.box.width,
790
+ width: this.portalWidth() || box.width,
690
791
  positionStrategy: this.setPlacement(),
691
792
  scrollStrategy: this.overlay.scrollStrategies.reposition()
692
793
  };
@@ -698,7 +799,7 @@ class XSelectComponent extends XSelectProperty {
698
799
  });
699
800
  this.portal.overlayRef
700
801
  ?.outsidePointerEvents()
701
- .pipe(takeUntil(this._unSubject))
802
+ .pipe(takeUntil(this.unSubject))
702
803
  .subscribe(() => {
703
804
  this.setDisplayValue();
704
805
  this.closeSubject.next();
@@ -707,102 +808,102 @@ class XSelectComponent extends XSelectProperty {
707
808
  }
708
809
  setPosition(config) {
709
810
  let position = config.positionStrategy;
710
- position.positionChanges.pipe(takeUntil(this._unSubject)).subscribe((pos) => {
811
+ position.positionChanges.pipe(takeUntil(this.unSubject)).subscribe((pos) => {
711
812
  const place = XPortalConnectedPosition.get(pos.connectionPair);
712
- place !== this.placement && this.positionChange.next(place);
813
+ if (place !== this.realPlacement()) {
814
+ this.realPlacement.set(place);
815
+ this.portalOverlayRef()?.updatePosition();
816
+ }
713
817
  });
714
818
  }
715
819
  setInstance() {
716
- let componentRef = this.portal.componentRef;
717
- if (!componentRef)
820
+ let { componentRef, overlayRef } = this.portal;
821
+ if (!componentRef || !overlayRef)
718
822
  return;
823
+ this.portalComponent.set(componentRef);
824
+ this.portalOverlayRef.set(overlayRef);
825
+ this.realPlacement.set(this.placement());
719
826
  Object.assign(componentRef.instance, {
720
- data: this.nodes,
721
- value: this.value,
722
- placement: this.placement,
723
- multiple: this.multiple === true ? 0 : 1,
724
- selectAll: this.selectAll,
725
- nodeTpl: this.nodeTpl,
726
- valueChange: this.valueChange,
727
- positionChange: this.positionChange,
728
827
  closeSubject: this.closeSubject,
729
- keydownSubject: this.keydownSubject,
730
- dataChange: this.dataChange,
731
- inputCom: this.inputCom,
732
- portalMaxHeight: this.portalMaxHeight,
733
- objectArray: this.objectArray,
734
- selectAllText: this.selectAllText,
735
- caseSensitive: this.caseSensitive,
736
- search: this.search,
737
- virtualScroll: this.virtualScroll,
738
- size: this.size,
739
- inputChange: this.inputChange,
740
- destroyPortal: () => this.destroyPortal(),
741
- nodeEmit: (node, value) => this.nodeClick(node, value),
742
- animating: (ing) => (this.animating = ing)
828
+ keydownSubject: this.keydownSubject
743
829
  });
744
- componentRef.changeDetectorRef.detectChanges();
830
+ const { nodeClick, animating } = componentRef.instance;
831
+ nodeClick.subscribe((x) => this.nodeClick(x.node, x.value));
832
+ animating.subscribe((ing) => this.animating.set(ing));
745
833
  }
746
834
  nodeClick(node, value) {
747
- if (this.multiple) {
835
+ if (this.multiple()) {
748
836
  if (node) {
749
837
  if (XIsObjectArray(value)) {
750
838
  if (node.selected) {
751
- this.value.push(node);
839
+ this.value.update((x) => {
840
+ x.push(node);
841
+ return [...x];
842
+ });
752
843
  }
753
844
  else {
754
- let inx = this.value.findIndex((x) => x.id === node.id);
755
- this.value.splice(inx, 1);
845
+ let inx = this.value().findIndex((x) => x.id === node.id);
846
+ this.value.update((x) => {
847
+ x.splice(inx, 1);
848
+ return [...x];
849
+ });
756
850
  }
757
851
  }
758
852
  else if (XIsArray(value)) {
759
853
  if (node.selected) {
760
- this.value.push(node.id);
854
+ this.value.update((x) => {
855
+ x.push(node.id);
856
+ return [...x];
857
+ });
761
858
  }
762
859
  else {
763
- this.value.splice(this.value.indexOf(node.id), 1);
860
+ this.value.update((x) => {
861
+ x.splice(x.indexOf(node.id), 1);
862
+ return [...x];
863
+ });
764
864
  }
765
865
  }
766
866
  }
767
867
  else {
768
- this.value = value;
868
+ this.value.set(value);
769
869
  }
770
- if (this.multipleInput) {
771
- const input = this.multipleInput.elementRef.nativeElement;
870
+ if (this.multipleInput()) {
871
+ const input = this.multipleInput().elementRef.nativeElement;
772
872
  this.renderer.setStyle(input, 'width', '2rem');
773
873
  }
774
- if (this.search && this.multipleSearchValue !== '') {
775
- this.multipleSearchValue = '';
874
+ if (this.search() && this.multipleSearchValue() !== '') {
875
+ this.multipleSearchValue.set('');
776
876
  this.inputChange.next('');
777
- this.valueChange.next([...this.value]);
778
877
  }
779
878
  this.setDisplayValue(node);
780
879
  }
781
880
  else {
782
881
  node = node;
783
- this.displayValue = node.label;
784
- this.valueTplContext.$node = node;
785
- this.value = node.id;
882
+ this.displayValue.set(node.label);
883
+ this.valueTplContextSignal.update((x) => {
884
+ x.$node = node;
885
+ return { ...x };
886
+ });
887
+ this.value.set(node.id);
786
888
  this.closeSubject.next();
787
889
  }
788
- if (this.search && this.multiple) {
789
- this.multipleInput.inputFocus();
890
+ if (this.search() && this.multiple() && this.multipleInput()) {
891
+ this.multipleInput().inputFocus();
790
892
  }
791
893
  else {
792
- this.inputCom.inputFocus();
894
+ this.inputCom().inputFocus('focus');
793
895
  }
794
896
  if (this.onChange)
795
- this.onChange(this.value);
897
+ this.onChange(this.value());
796
898
  this.formControlValidator();
797
- this.cdr.detectChanges();
798
899
  }
799
900
  selectAllNodes(value) {
800
- this.value = value;
901
+ this.value.set(value);
801
902
  }
802
903
  setPlacement() {
803
904
  return this.portalService.setPlacement({
804
- elementRef: this.inputCom.inputRef,
805
- placement: this.placements,
905
+ elementRef: this.inputCom().inputRef(),
906
+ placement: this.placements(),
806
907
  transformOriginOn: 'x-select-portal'
807
908
  });
808
909
  }
@@ -812,9 +913,8 @@ class XSelectComponent extends XSelectProperty {
812
913
  formControlChanges() {
813
914
  this.setData();
814
915
  this.ngOnInit();
815
- this.writeValue(this.value);
916
+ this.writeValue(this.value());
816
917
  this.ngAfterViewInit();
817
- this.cdr.detectChanges();
818
918
  }
819
919
  onKeydown($event) {
820
920
  this.keydownSubject.next($event);
@@ -823,43 +923,31 @@ class XSelectComponent extends XSelectProperty {
823
923
  }
824
924
  }
825
925
  onFocus(_event) {
826
- if (this.search && this.multiple) {
827
- this.multipleInput.inputFocus();
926
+ if (this.search() && this.multiple() && this.multipleInput()) {
927
+ this.multipleInput().inputFocus();
828
928
  }
829
929
  else {
830
- this.inputCom.inputFocus();
930
+ this.inputCom().inputFocus('focus');
831
931
  }
832
932
  }
833
933
  onInput(_event) {
834
934
  this.formControlValidator();
835
- setTimeout(() => this.inputChange.next(this.multiple ? this.multipleSearchValue : this.displayValue));
935
+ setTimeout(() => this.inputChange.next(this.multiple() ? this.multipleSearchValue() : this.displayValue()));
836
936
  }
837
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
838
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: XSelectComponent, isStandalone: true, selector: "x-select", providers: [XValueAccessor(XSelectComponent)], viewQueries: [{ propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, static: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true, static: true }, { propertyName: "multipleValueTpl", first: true, predicate: ["multipleValueTpl"], descendants: true, static: true }, { propertyName: "multipleInput", first: true, predicate: ["multipleInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #select class=\"x-select\" [class.x-select-multiple]=\"multiple\">\r\n <div class=\"x-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"getReadonly\"\r\n [clearable]=\"showClearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"true\"\r\n [inputPadding]=\"inputPadding\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal(true)\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n (xComposition)=\"composition = $event\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n\r\n<ng-template #multipleValueTpl>\r\n @for (node of displayNodes; track node.id; let i = $index) {\r\n <x-tag [@.disabled]=\"true\" [closable]=\"!disabled\" (close)=\"closeNode($event, node, i)\" [size]=\"size\">{{\r\n node.label\r\n }}</x-tag>\r\n }\r\n @if (showDisplayMore) {\r\n <x-tag [@.disabled]=\"true\" [size]=\"size\">\r\n <ng-container *xOutlet=\"getMaxTagContent; context: { $surplus: selectedSurplus, $total: selectedTotal }\">{{\r\n displayMore\r\n }}</ng-container>\r\n </x-tag>\r\n }\r\n\r\n @if (search) {\r\n <x-input\r\n #multipleInput\r\n bordered=\"false\"\r\n [size]=\"size\"\r\n inputPadding=\"0.275\"\r\n [(ngModel)]=\"multipleSearchValue\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n ></x-input>\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-select{display:inline-block;width:12rem}.x-select{margin:0;padding:0;width:100%}.x-select x-input{width:100%}.x-select-multiple .x-input-value-template-value{display:flex;align-items:center;margin-bottom:.125rem;flex-wrap:wrap;width:initial;height:initial!important;left:.125rem!important}.x-select-multiple .x-input-value-template-value>x-tag{display:inline-flex;margin-left:.0625rem;margin-top:.125rem}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-big{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-big>.x-icon{right:calc(-var(--x-padding-large)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-large{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-large>.x-icon{right:calc(-var(--x-padding-medium)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-medium{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-medium>.x-icon{right:calc(-var(--x-padding-small)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-small{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-small>.x-icon{right:calc(-var(--x-padding-mini)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-mini{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-mini>.x-icon{right:-.0625rem}.x-select-multiple .x-input-value-template-value>x-input{margin-top:.125rem;width:5rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:1.125rem;line-height:1.125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>label{height:1.125rem;line-height:1.125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-row>.x-input-input>input{background-color:transparent}.x-select-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);width:100%;border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);position:relative;display:flex;background-color:var(--x-background);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XTagComponent, selector: "x-tag" }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
937
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
938
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: XSelectComponent, isStandalone: true, selector: "x-select", providers: [XValueAccessor(XSelectComponent)], viewQueries: [{ propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, isSignal: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true, isSignal: true }, { propertyName: "multipleValueTpl", first: true, predicate: ["multipleValueTpl"], descendants: true, isSignal: true }, { propertyName: "multipleInput", first: true, predicate: ["multipleInput"], descendants: true, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #select class=\"x-select\" [class.x-select-multiple]=\"multiple()\">\r\n <div class=\"x-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()!\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"getReadonly()\"\r\n [clearable]=\"showClearable()\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTplSignal() ? valueTplSignal() : nodeTpl()\"\r\n [valueTplContext]=\"valueTplContextSignal()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal(true)\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n (xComposition)=\"composition.set($event)\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n\r\n<ng-template #multipleValueTpl>\r\n @for (node of displayNodes(); track node.id; let i = $index) {\r\n <x-tag\r\n [@.disabled]=\"true\"\r\n [bordered]=\"false\"\r\n [closable]=\"!disabledComputed()\"\r\n [type]=\"'info'\"\r\n (close)=\"closeNode($event, node, i)\"\r\n [size]=\"size()\"\r\n >{{ node.label }}</x-tag\r\n >\r\n }\r\n @if (showDisplayMore()) {\r\n <x-tag [@.disabled]=\"true\" [bordered]=\"false\" [type]=\"'info'\" [size]=\"size()\">\r\n <ng-container *xOutlet=\"getMaxTagContent(); context: { $surplus: selectedSurplus(), $total: selectedTotal() }\">{{\r\n displayMore()\r\n }}</ng-container>\r\n </x-tag>\r\n }\r\n\r\n @if (search()) {\r\n <x-input\r\n #multipleInput\r\n [bordered]=\"false\"\r\n [size]=\"size()\"\r\n [ngModel]=\"multipleSearchValue()\"\r\n (ngModelChange)=\"multipleSearchValue.set($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n ></x-input>\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-select{display:inline-block;width:12rem}.x-select{margin:0;padding:0;width:100%}.x-select x-input{width:100%}.x-select-multiple .x-input-value-template-value{display:flex;align-items:center;margin-bottom:.125rem;flex-wrap:wrap;width:initial;height:initial!important;left:.125rem!important}.x-select-multiple .x-input-value-template-value>x-tag{display:inline-flex;margin-left:.0625rem;margin-top:.125rem}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-big{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-big>.x-icon{right:calc(-var(--x-padding-large)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-large{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-large>.x-icon{right:calc(-var(--x-padding-medium)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-medium{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-medium>.x-icon{right:calc(-var(--x-padding-small)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-small{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-small>.x-icon{right:calc(-var(--x-padding-mini)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-mini{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-mini>.x-icon{right:-.0625rem}.x-select-multiple .x-input-value-template-value>x-input{margin-top:.125rem;width:5rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:1.125rem;line-height:1.125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>label{height:1.125rem;line-height:1.125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-row>.x-input-input>input{background-color:transparent}.x-select-portal{color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XTagComponent, selector: "x-tag" }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
839
939
  }
840
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XSelectComponent, decorators: [{
940
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XSelectComponent, decorators: [{
841
941
  type: Component,
842
- args: [{ selector: `${XSelectPrefix}`, standalone: true, imports: [FormsModule, ReactiveFormsModule, XTagComponent, XInputComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XSelectComponent)], template: "<div #select class=\"x-select\" [class.x-select-multiple]=\"multiple\">\r\n <div class=\"x-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"getReadonly\"\r\n [clearable]=\"showClearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"true\"\r\n [inputPadding]=\"inputPadding\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal(true)\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n (xComposition)=\"composition = $event\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n\r\n<ng-template #multipleValueTpl>\r\n @for (node of displayNodes; track node.id; let i = $index) {\r\n <x-tag [@.disabled]=\"true\" [closable]=\"!disabled\" (close)=\"closeNode($event, node, i)\" [size]=\"size\">{{\r\n node.label\r\n }}</x-tag>\r\n }\r\n @if (showDisplayMore) {\r\n <x-tag [@.disabled]=\"true\" [size]=\"size\">\r\n <ng-container *xOutlet=\"getMaxTagContent; context: { $surplus: selectedSurplus, $total: selectedTotal }\">{{\r\n displayMore\r\n }}</ng-container>\r\n </x-tag>\r\n }\r\n\r\n @if (search) {\r\n <x-input\r\n #multipleInput\r\n bordered=\"false\"\r\n [size]=\"size\"\r\n inputPadding=\"0.275\"\r\n [(ngModel)]=\"multipleSearchValue\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n ></x-input>\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-select{display:inline-block;width:12rem}.x-select{margin:0;padding:0;width:100%}.x-select x-input{width:100%}.x-select-multiple .x-input-value-template-value{display:flex;align-items:center;margin-bottom:.125rem;flex-wrap:wrap;width:initial;height:initial!important;left:.125rem!important}.x-select-multiple .x-input-value-template-value>x-tag{display:inline-flex;margin-left:.0625rem;margin-top:.125rem}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-big{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-big>.x-icon{right:calc(-var(--x-padding-large)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-large{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-large>.x-icon{right:calc(-var(--x-padding-medium)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-medium{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-medium>.x-icon{right:calc(-var(--x-padding-small)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-small{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-small>.x-icon{right:calc(-var(--x-padding-mini)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-mini{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-mini>.x-icon{right:-.0625rem}.x-select-multiple .x-input-value-template-value>x-input{margin-top:.125rem;width:5rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:1.125rem;line-height:1.125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>label{height:1.125rem;line-height:1.125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-row>.x-input-input>input{background-color:transparent}.x-select-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);width:100%;border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);position:relative;display:flex;background-color:var(--x-background);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}\n"] }]
843
- }], propDecorators: { inputCom: [{
844
- type: ViewChild,
845
- args: ['inputCom', { static: true }]
846
- }], select: [{
847
- type: ViewChild,
848
- args: ['select', { static: true }]
849
- }], multipleValueTpl: [{
850
- type: ViewChild,
851
- args: ['multipleValueTpl', { static: true }]
852
- }], multipleInput: [{
853
- type: ViewChild,
854
- args: ['multipleInput']
855
- }] } });
942
+ args: [{ selector: `${XSelectPrefix}`, standalone: true, imports: [FormsModule, ReactiveFormsModule, XTagComponent, XInputComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XSelectComponent)], template: "<div #select class=\"x-select\" [class.x-select-multiple]=\"multiple()\">\r\n <div class=\"x-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()!\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"getReadonly()\"\r\n [clearable]=\"showClearable()\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTplSignal() ? valueTplSignal() : nodeTpl()\"\r\n [valueTplContext]=\"valueTplContextSignal()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal(true)\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n (xComposition)=\"composition.set($event)\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n\r\n<ng-template #multipleValueTpl>\r\n @for (node of displayNodes(); track node.id; let i = $index) {\r\n <x-tag\r\n [@.disabled]=\"true\"\r\n [bordered]=\"false\"\r\n [closable]=\"!disabledComputed()\"\r\n [type]=\"'info'\"\r\n (close)=\"closeNode($event, node, i)\"\r\n [size]=\"size()\"\r\n >{{ node.label }}</x-tag\r\n >\r\n }\r\n @if (showDisplayMore()) {\r\n <x-tag [@.disabled]=\"true\" [bordered]=\"false\" [type]=\"'info'\" [size]=\"size()\">\r\n <ng-container *xOutlet=\"getMaxTagContent(); context: { $surplus: selectedSurplus(), $total: selectedTotal() }\">{{\r\n displayMore()\r\n }}</ng-container>\r\n </x-tag>\r\n }\r\n\r\n @if (search()) {\r\n <x-input\r\n #multipleInput\r\n [bordered]=\"false\"\r\n [size]=\"size()\"\r\n [ngModel]=\"multipleSearchValue()\"\r\n (ngModelChange)=\"multipleSearchValue.set($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n ></x-input>\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-select{display:inline-block;width:12rem}.x-select{margin:0;padding:0;width:100%}.x-select x-input{width:100%}.x-select-multiple .x-input-value-template-value{display:flex;align-items:center;margin-bottom:.125rem;flex-wrap:wrap;width:initial;height:initial!important;left:.125rem!important}.x-select-multiple .x-input-value-template-value>x-tag{display:inline-flex;margin-left:.0625rem;margin-top:.125rem}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-big{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-big>.x-icon{right:calc(-var(--x-padding-large)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-large{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-large>.x-icon{right:calc(-var(--x-padding-medium)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-medium{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-medium>.x-icon{right:calc(-var(--x-padding-small)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-small{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-small>.x-icon{right:calc(-var(--x-padding-mini)/2)}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-mini{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-select-multiple .x-input-value-template-value>x-tag .x-tag-mini>.x-icon{right:-.0625rem}.x-select-multiple .x-input-value-template-value>x-input{margin-top:.125rem;width:5rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-big>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-large>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-medium>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-small>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>input,.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:1.125rem;line-height:1.125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-mini>label{height:1.125rem;line-height:1.125rem}.x-select-multiple .x-input-value-template-value>x-input .x-input-row>.x-input-input>input{background-color:transparent}.x-select-portal{color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}\n"] }]
943
+ }], ctorParameters: () => [] });
856
944
 
857
945
  class XSelectModule {
858
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
859
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: XSelectModule, imports: [XSelectComponent], exports: [XSelectComponent] }); }
860
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XSelectModule, imports: [XSelectComponent] }); }
946
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
947
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: XSelectModule, imports: [XSelectComponent], exports: [XSelectComponent] }); }
948
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XSelectModule, imports: [XSelectComponent] }); }
861
949
  }
862
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XSelectModule, decorators: [{
950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XSelectModule, decorators: [{
863
951
  type: NgModule,
864
952
  args: [{
865
953
  exports: [XSelectComponent],