@ng-nest/ui 18.0.0 → 18.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/affix/affix.property.d.ts +16 -0
  2. package/alert/alert.property.d.ts +174 -3
  3. package/anchor/anchor.property.d.ts +49 -0
  4. package/avatar/avatar.component.d.ts +4 -4
  5. package/avatar/avatar.property.d.ts +6 -6
  6. package/button/button.component.d.ts +6 -3
  7. package/calendar/calendar.component.d.ts +1 -0
  8. package/collapse/collapse.component.d.ts +3 -0
  9. package/dialog/dialog-portal.component.d.ts +1 -2
  10. package/empty/empty.property.d.ts +1 -1
  11. package/esm2022/affix/affix.component.mjs +3 -3
  12. package/esm2022/affix/affix.module.mjs +4 -4
  13. package/esm2022/affix/affix.property.mjs +20 -4
  14. package/esm2022/alert/alert.component.mjs +5 -5
  15. package/esm2022/alert/alert.module.mjs +4 -4
  16. package/esm2022/alert/alert.property.mjs +178 -7
  17. package/esm2022/anchor/anchor-inner.component.mjs +3 -3
  18. package/esm2022/anchor/anchor.component.mjs +3 -3
  19. package/esm2022/anchor/anchor.module.mjs +4 -4
  20. package/esm2022/anchor/anchor.property.mjs +56 -7
  21. package/esm2022/api/api.component.mjs +3 -3
  22. package/esm2022/api/api.module.mjs +4 -4
  23. package/esm2022/auto-complete/auto-complete-portal.component.mjs +3 -3
  24. package/esm2022/auto-complete/auto-complete.component.mjs +3 -3
  25. package/esm2022/auto-complete/auto-complete.module.mjs +4 -4
  26. package/esm2022/auto-complete/auto-complete.property.mjs +3 -3
  27. package/esm2022/avatar/avatar-group.component.mjs +3 -3
  28. package/esm2022/avatar/avatar.component.mjs +13 -11
  29. package/esm2022/avatar/avatar.module.mjs +4 -4
  30. package/esm2022/avatar/avatar.property.mjs +13 -13
  31. package/esm2022/back-top/back-top.component.mjs +3 -3
  32. package/esm2022/back-top/back-top.module.mjs +4 -4
  33. package/esm2022/back-top/back-top.property.mjs +3 -3
  34. package/esm2022/badge/badge.component.mjs +3 -3
  35. package/esm2022/badge/badge.module.mjs +4 -4
  36. package/esm2022/badge/badge.property.mjs +3 -3
  37. package/esm2022/base-form/base-form.module.mjs +4 -4
  38. package/esm2022/base-form/base-form.property.mjs +6 -6
  39. package/esm2022/button/button.component.mjs +12 -7
  40. package/esm2022/button/button.module.mjs +4 -4
  41. package/esm2022/button/button.property.mjs +6 -6
  42. package/esm2022/button/buttons.component.mjs +3 -3
  43. package/esm2022/calendar/calendar.component.mjs +10 -7
  44. package/esm2022/calendar/calendar.module.mjs +4 -4
  45. package/esm2022/calendar/calendar.property.mjs +3 -3
  46. package/esm2022/card/card.component.mjs +3 -3
  47. package/esm2022/card/card.module.mjs +4 -4
  48. package/esm2022/card/card.property.mjs +3 -3
  49. package/esm2022/carousel/carousel-panel.component.mjs +3 -3
  50. package/esm2022/carousel/carousel.component.mjs +3 -3
  51. package/esm2022/carousel/carousel.module.mjs +4 -4
  52. package/esm2022/carousel/carousel.property.mjs +6 -6
  53. package/esm2022/cascade/cascade-portal.component.mjs +3 -3
  54. package/esm2022/cascade/cascade.component.mjs +3 -3
  55. package/esm2022/cascade/cascade.module.mjs +4 -4
  56. package/esm2022/cascade/cascade.property.mjs +3 -3
  57. package/esm2022/checkbox/checkbox.component.mjs +5 -5
  58. package/esm2022/checkbox/checkbox.module.mjs +4 -4
  59. package/esm2022/checkbox/checkbox.property.mjs +3 -3
  60. package/esm2022/collapse/collapse-panel.component.mjs +3 -3
  61. package/esm2022/collapse/collapse.component.mjs +15 -4
  62. package/esm2022/collapse/collapse.module.mjs +4 -4
  63. package/esm2022/collapse/collapse.property.mjs +6 -6
  64. package/esm2022/color/color.component.mjs +3 -3
  65. package/esm2022/color/color.module.mjs +4 -4
  66. package/esm2022/color/color.property.mjs +3 -3
  67. package/esm2022/color-picker/color-picker-portal.component.mjs +3 -3
  68. package/esm2022/color-picker/color-picker.component.mjs +5 -5
  69. package/esm2022/color-picker/color-picker.module.mjs +4 -4
  70. package/esm2022/color-picker/color-picker.property.mjs +3 -3
  71. package/esm2022/comment/comment-reply.component.mjs +3 -3
  72. package/esm2022/comment/comment.component.mjs +3 -3
  73. package/esm2022/comment/comment.module.mjs +4 -4
  74. package/esm2022/comment/comment.property.mjs +6 -6
  75. package/esm2022/container/aside.component.mjs +3 -3
  76. package/esm2022/container/container.component.mjs +3 -3
  77. package/esm2022/container/container.module.mjs +4 -4
  78. package/esm2022/container/container.property.mjs +12 -12
  79. package/esm2022/container/footer.component.mjs +3 -3
  80. package/esm2022/container/header.component.mjs +3 -3
  81. package/esm2022/container/main.component.mjs +3 -3
  82. package/esm2022/core/config/config.service.mjs +3 -3
  83. package/esm2022/core/services/http.service.mjs +3 -3
  84. package/esm2022/core/services/preloading-strategy.service.mjs +3 -3
  85. package/esm2022/core/services/storage.service.mjs +3 -3
  86. package/esm2022/core/theme/theme.service.mjs +3 -3
  87. package/esm2022/crumb/crumb.component.mjs +3 -3
  88. package/esm2022/crumb/crumb.module.mjs +4 -4
  89. package/esm2022/crumb/crumb.property.mjs +3 -3
  90. package/esm2022/date-picker/date-picker-portal.component.mjs +3 -3
  91. package/esm2022/date-picker/date-picker.component.mjs +3 -3
  92. package/esm2022/date-picker/date-picker.module.mjs +4 -4
  93. package/esm2022/date-picker/date-picker.property.mjs +18 -18
  94. package/esm2022/date-picker/date-quarter.pipe.mjs +3 -3
  95. package/esm2022/date-picker/date-range-portal.component.mjs +3 -3
  96. package/esm2022/date-picker/date-range.component.mjs +5 -5
  97. package/esm2022/date-picker/picker-date.component.mjs +3 -3
  98. package/esm2022/date-picker/picker-month.component.mjs +3 -3
  99. package/esm2022/date-picker/picker-quarter.component.mjs +3 -3
  100. package/esm2022/date-picker/picker-year.component.mjs +3 -3
  101. package/esm2022/description/description-item.component.mjs +3 -3
  102. package/esm2022/description/description.component.mjs +3 -3
  103. package/esm2022/description/description.module.mjs +4 -4
  104. package/esm2022/description/description.property.mjs +6 -6
  105. package/esm2022/dialog/dialog-container.component.mjs +3 -3
  106. package/esm2022/dialog/dialog-portal.component.mjs +23 -23
  107. package/esm2022/dialog/dialog-portal.directives.mjs +18 -18
  108. package/esm2022/dialog/dialog-ref.mjs +3 -3
  109. package/esm2022/dialog/dialog.component.mjs +6 -6
  110. package/esm2022/dialog/dialog.module.mjs +4 -4
  111. package/esm2022/dialog/dialog.property.mjs +6 -6
  112. package/esm2022/dialog/dialog.service.mjs +7 -7
  113. package/esm2022/doc/doc.component.mjs +3 -3
  114. package/esm2022/doc/doc.module.mjs +4 -4
  115. package/esm2022/drag/drag.directive.mjs +3 -3
  116. package/esm2022/drag/drag.module.mjs +4 -4
  117. package/esm2022/drag/drag.property.mjs +3 -3
  118. package/esm2022/drawer/drawer-container.component.mjs +3 -3
  119. package/esm2022/drawer/drawer-portal.component.mjs +3 -3
  120. package/esm2022/drawer/drawer-portal.directives.mjs +9 -9
  121. package/esm2022/drawer/drawer.component.mjs +3 -3
  122. package/esm2022/drawer/drawer.module.mjs +4 -4
  123. package/esm2022/drawer/drawer.property.mjs +6 -6
  124. package/esm2022/drawer/drawer.service.mjs +3 -3
  125. package/esm2022/dropdown/dropdown-portal.component.mjs +3 -3
  126. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  127. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  128. package/esm2022/dropdown/dropdown.property.mjs +3 -3
  129. package/esm2022/empty/empty.component.mjs +3 -3
  130. package/esm2022/empty/empty.module.mjs +4 -4
  131. package/esm2022/empty/empty.property.mjs +5 -5
  132. package/esm2022/examples/examples.component.mjs +3 -3
  133. package/esm2022/examples/examples.module.mjs +4 -4
  134. package/esm2022/find/find.component.mjs +3 -3
  135. package/esm2022/find/find.module.mjs +4 -4
  136. package/esm2022/find/find.property.mjs +3 -3
  137. package/esm2022/form/control.component.mjs +15 -15
  138. package/esm2022/form/form.component.mjs +3 -3
  139. package/esm2022/form/form.module.mjs +4 -4
  140. package/esm2022/form/form.property.mjs +6 -6
  141. package/esm2022/highlight/highlight.component.mjs +3 -3
  142. package/esm2022/highlight/highlight.module.mjs +4 -4
  143. package/esm2022/highlight/highlight.property.mjs +3 -3
  144. package/esm2022/highlight/highlight.service.mjs +3 -3
  145. package/esm2022/i18n/i18n.directive.mjs +3 -3
  146. package/esm2022/i18n/i18n.module.mjs +4 -4
  147. package/esm2022/i18n/i18n.pipe.mjs +3 -3
  148. package/esm2022/i18n/i18n.service.mjs +3 -3
  149. package/esm2022/icon/icon.component.mjs +13 -6
  150. package/esm2022/icon/icon.module.mjs +4 -4
  151. package/esm2022/icon/icon.property.mjs +3 -3
  152. package/esm2022/icon/icon.service.mjs +3 -3
  153. package/esm2022/image/image-group.component.mjs +3 -3
  154. package/esm2022/image/image-preview.component.mjs +3 -3
  155. package/esm2022/image/image.component.mjs +3 -3
  156. package/esm2022/image/image.module.mjs +4 -4
  157. package/esm2022/image/image.property.mjs +6 -6
  158. package/esm2022/inner/inner.component.mjs +3 -3
  159. package/esm2022/inner/inner.module.mjs +4 -4
  160. package/esm2022/inner/inner.property.mjs +3 -3
  161. package/esm2022/input/input-group.component.mjs +3 -3
  162. package/esm2022/input/input.component.mjs +3 -3
  163. package/esm2022/input/input.module.mjs +4 -4
  164. package/esm2022/input/input.property.mjs +6 -6
  165. package/esm2022/input-number/input-number.component.mjs +3 -3
  166. package/esm2022/input-number/input-number.module.mjs +4 -4
  167. package/esm2022/input-number/input-number.property.mjs +3 -3
  168. package/esm2022/keyword/keyword.directive.mjs +3 -3
  169. package/esm2022/keyword/keyword.module.mjs +4 -4
  170. package/esm2022/keyword/keyword.property.mjs +3 -3
  171. package/esm2022/layout/col.component.mjs +3 -3
  172. package/esm2022/layout/layout.module.mjs +4 -4
  173. package/esm2022/layout/layout.property.mjs +61 -7
  174. package/esm2022/layout/row.component.mjs +3 -3
  175. package/esm2022/link/link.component.mjs +3 -3
  176. package/esm2022/link/link.module.mjs +4 -4
  177. package/esm2022/link/link.property.mjs +4 -9
  178. package/esm2022/list/list-drop-group.directive.mjs +3 -3
  179. package/esm2022/list/list-option.component.mjs +3 -3
  180. package/esm2022/list/list.component.mjs +3 -3
  181. package/esm2022/list/list.module.mjs +4 -4
  182. package/esm2022/list/list.property.mjs +6 -6
  183. package/esm2022/loading/loading.component.mjs +3 -3
  184. package/esm2022/loading/loading.module.mjs +4 -4
  185. package/esm2022/loading/loading.property.mjs +3 -3
  186. package/esm2022/menu/menu-node.component.mjs +3 -3
  187. package/esm2022/menu/menu.component.mjs +3 -3
  188. package/esm2022/menu/menu.module.mjs +4 -4
  189. package/esm2022/menu/menu.property.mjs +6 -6
  190. package/esm2022/message/message.component.mjs +3 -3
  191. package/esm2022/message/message.module.mjs +4 -4
  192. package/esm2022/message/message.service.mjs +3 -3
  193. package/esm2022/message-box/message-box.component.mjs +3 -3
  194. package/esm2022/message-box/message-box.module.mjs +4 -4
  195. package/esm2022/message-box/message-box.service.mjs +3 -3
  196. package/esm2022/notification/notification.component.mjs +3 -3
  197. package/esm2022/notification/notification.module.mjs +4 -4
  198. package/esm2022/notification/notification.service.mjs +3 -3
  199. package/esm2022/outlet/outlet.directive.mjs +3 -3
  200. package/esm2022/outlet/outlet.module.mjs +4 -4
  201. package/esm2022/page-header/page-header.component.mjs +3 -3
  202. package/esm2022/page-header/page-header.module.mjs +4 -4
  203. package/esm2022/page-header/page-header.property.mjs +3 -3
  204. package/esm2022/pagination/pagination.component.mjs +3 -3
  205. package/esm2022/pagination/pagination.module.mjs +4 -4
  206. package/esm2022/pagination/pagination.property.mjs +3 -3
  207. package/esm2022/pattern/pattern.component.mjs +3 -3
  208. package/esm2022/pattern/pattern.module.mjs +4 -4
  209. package/esm2022/popconfirm/popconfirm.component.mjs +3 -3
  210. package/esm2022/popconfirm/popconfirm.module.mjs +4 -4
  211. package/esm2022/popconfirm/popconfirm.property.mjs +3 -3
  212. package/esm2022/popover/popover-portal.component.mjs +3 -3
  213. package/esm2022/popover/popover.directive.mjs +5 -5
  214. package/esm2022/popover/popover.module.mjs +4 -4
  215. package/esm2022/popover/popover.property.mjs +3 -3
  216. package/esm2022/portal/portal.module.mjs +4 -4
  217. package/esm2022/portal/portal.property.mjs +3 -3
  218. package/esm2022/portal/portal.service.mjs +3 -3
  219. package/esm2022/progress/progress.component.mjs +3 -3
  220. package/esm2022/progress/progress.module.mjs +4 -4
  221. package/esm2022/progress/progress.property.mjs +3 -3
  222. package/esm2022/radio/radio.component.mjs +3 -3
  223. package/esm2022/radio/radio.module.mjs +4 -4
  224. package/esm2022/radio/radio.property.mjs +3 -3
  225. package/esm2022/rate/rate.component.mjs +3 -3
  226. package/esm2022/rate/rate.module.mjs +4 -4
  227. package/esm2022/rate/rate.property.mjs +3 -3
  228. package/esm2022/resizable/resizable.directive.mjs +3 -3
  229. package/esm2022/resizable/resizable.module.mjs +4 -4
  230. package/esm2022/resizable/resizable.property.mjs +3 -3
  231. package/esm2022/result/result.component.mjs +3 -3
  232. package/esm2022/result/result.module.mjs +4 -4
  233. package/esm2022/result/result.property.mjs +3 -3
  234. package/esm2022/ripple/ripple.directive.mjs +7 -5
  235. package/esm2022/ripple/ripple.module.mjs +4 -4
  236. package/esm2022/ripple/ripple.property.mjs +3 -3
  237. package/esm2022/select/select-portal.component.mjs +3 -3
  238. package/esm2022/select/select.component.mjs +3 -3
  239. package/esm2022/select/select.module.mjs +4 -4
  240. package/esm2022/select/select.property.mjs +9 -4
  241. package/esm2022/skeleton/skeleton.component.mjs +3 -3
  242. package/esm2022/skeleton/skeleton.module.mjs +4 -4
  243. package/esm2022/skeleton/skeleton.property.mjs +3 -3
  244. package/esm2022/slider/slider.component.mjs +5 -5
  245. package/esm2022/slider/slider.module.mjs +4 -4
  246. package/esm2022/slider/slider.property.mjs +3 -3
  247. package/esm2022/slider-select/slider-select.component.mjs +3 -3
  248. package/esm2022/slider-select/slider-select.module.mjs +4 -4
  249. package/esm2022/slider-select/slider-select.property.mjs +3 -3
  250. package/esm2022/statistic/countdown.component.mjs +3 -3
  251. package/esm2022/statistic/statistic.component.mjs +3 -3
  252. package/esm2022/statistic/statistic.module.mjs +4 -4
  253. package/esm2022/statistic/statistic.property.mjs +6 -6
  254. package/esm2022/steps/steps.component.mjs +3 -3
  255. package/esm2022/steps/steps.module.mjs +4 -4
  256. package/esm2022/steps/steps.property.mjs +3 -3
  257. package/esm2022/switch/switch.component.mjs +3 -3
  258. package/esm2022/switch/switch.module.mjs +4 -4
  259. package/esm2022/switch/switch.property.mjs +3 -3
  260. package/esm2022/table/table-body.component.mjs +37 -24
  261. package/esm2022/table/table-foot.component.mjs +3 -3
  262. package/esm2022/table/table-head.component.mjs +5 -5
  263. package/esm2022/table/table.component.mjs +21 -5
  264. package/esm2022/table/table.module.mjs +4 -4
  265. package/esm2022/table/table.property.mjs +12 -12
  266. package/esm2022/tabs/tab-content.component.mjs +3 -3
  267. package/esm2022/tabs/tab-link.directive.mjs +6 -6
  268. package/esm2022/tabs/tab.component.mjs +3 -3
  269. package/esm2022/tabs/tabs.component.mjs +5 -5
  270. package/esm2022/tabs/tabs.module.mjs +4 -4
  271. package/esm2022/tabs/tabs.property.mjs +6 -6
  272. package/esm2022/tag/tag.component.mjs +3 -3
  273. package/esm2022/tag/tag.module.mjs +4 -4
  274. package/esm2022/tag/tag.property.mjs +3 -3
  275. package/esm2022/text-retract/text-retract.component.mjs +3 -3
  276. package/esm2022/text-retract/text-retract.module.mjs +4 -4
  277. package/esm2022/text-retract/text-retract.property.mjs +3 -3
  278. package/esm2022/textarea/textarea.component.mjs +3 -3
  279. package/esm2022/textarea/textarea.module.mjs +4 -4
  280. package/esm2022/textarea/textarea.property.mjs +3 -3
  281. package/esm2022/theme/theme.component.mjs +3 -3
  282. package/esm2022/theme/theme.module.mjs +4 -4
  283. package/esm2022/theme/theme.property.mjs +3 -3
  284. package/esm2022/time-ago/time-ago.module.mjs +4 -4
  285. package/esm2022/time-ago/time-ago.pipe.mjs +3 -3
  286. package/esm2022/time-picker/time-picker-frame.component.mjs +3 -3
  287. package/esm2022/time-picker/time-picker-portal.component.mjs +3 -3
  288. package/esm2022/time-picker/time-picker.component.mjs +3 -3
  289. package/esm2022/time-picker/time-picker.module.mjs +4 -4
  290. package/esm2022/time-picker/time-picker.property.mjs +3 -3
  291. package/esm2022/time-range/time-range.module.mjs +4 -4
  292. package/esm2022/time-range/time-range.pipe.mjs +3 -3
  293. package/esm2022/timeline/timeline.component.mjs +3 -3
  294. package/esm2022/timeline/timeline.module.mjs +4 -4
  295. package/esm2022/timeline/timeline.property.mjs +3 -3
  296. package/esm2022/tooltip/tooltip-portal.component.mjs +3 -3
  297. package/esm2022/tooltip/tooltip.directive.mjs +5 -5
  298. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  299. package/esm2022/tooltip/tooltip.property.mjs +3 -3
  300. package/esm2022/transfer/transfer.component.mjs +3 -3
  301. package/esm2022/transfer/transfer.module.mjs +4 -4
  302. package/esm2022/transfer/transfer.property.mjs +3 -3
  303. package/esm2022/tree/tree-node.component.mjs +3 -3
  304. package/esm2022/tree/tree.component.mjs +3 -3
  305. package/esm2022/tree/tree.module.mjs +4 -4
  306. package/esm2022/tree/tree.property.mjs +6 -6
  307. package/esm2022/tree/tree.service.mjs +3 -3
  308. package/esm2022/tree-file/tree-file.component.mjs +3 -3
  309. package/esm2022/tree-file/tree-file.module.mjs +4 -4
  310. package/esm2022/tree-file/tree-file.property.mjs +3 -3
  311. package/esm2022/tree-select/tree-select-portal.component.mjs +3 -3
  312. package/esm2022/tree-select/tree-select.component.mjs +3 -3
  313. package/esm2022/tree-select/tree-select.module.mjs +4 -4
  314. package/esm2022/tree-select/tree-select.property.mjs +3 -3
  315. package/esm2022/typography/typography.component.mjs +3 -3
  316. package/esm2022/typography/typography.module.mjs +4 -4
  317. package/esm2022/typography/typography.property.mjs +3 -3
  318. package/esm2022/upload/upload-portal.component.mjs +3 -3
  319. package/esm2022/upload/upload.component.mjs +3 -3
  320. package/esm2022/upload/upload.module.mjs +4 -4
  321. package/esm2022/upload/upload.property.mjs +3 -3
  322. package/fesm2022/ng-nest-ui-affix.mjs +26 -10
  323. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  324. package/fesm2022/ng-nest-ui-alert.mjs +185 -14
  325. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  326. package/fesm2022/ng-nest-ui-anchor.mjs +65 -16
  327. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  328. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  329. package/fesm2022/ng-nest-ui-auto-complete.mjs +13 -13
  330. package/fesm2022/ng-nest-ui-avatar.mjs +31 -29
  331. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  332. package/fesm2022/ng-nest-ui-back-top.mjs +10 -10
  333. package/fesm2022/ng-nest-ui-badge.mjs +10 -10
  334. package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
  335. package/fesm2022/ng-nest-ui-button.mjs +24 -19
  336. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  337. package/fesm2022/ng-nest-ui-calendar.mjs +16 -13
  338. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  339. package/fesm2022/ng-nest-ui-card.mjs +10 -10
  340. package/fesm2022/ng-nest-ui-carousel.mjs +16 -16
  341. package/fesm2022/ng-nest-ui-cascade.mjs +13 -13
  342. package/fesm2022/ng-nest-ui-checkbox.mjs +11 -11
  343. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  344. package/fesm2022/ng-nest-ui-collapse.mjs +27 -17
  345. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  346. package/fesm2022/ng-nest-ui-color-picker.mjs +14 -14
  347. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  348. package/fesm2022/ng-nest-ui-color.mjs +10 -10
  349. package/fesm2022/ng-nest-ui-comment.mjs +16 -16
  350. package/fesm2022/ng-nest-ui-container.mjs +31 -31
  351. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  352. package/fesm2022/ng-nest-ui-crumb.mjs +10 -10
  353. package/fesm2022/ng-nest-ui-date-picker.mjs +50 -50
  354. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  355. package/fesm2022/ng-nest-ui-description.mjs +16 -16
  356. package/fesm2022/ng-nest-ui-dialog.mjs +63 -63
  357. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  358. package/fesm2022/ng-nest-ui-doc.mjs +7 -7
  359. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  360. package/fesm2022/ng-nest-ui-drawer.mjs +31 -31
  361. package/fesm2022/ng-nest-ui-dropdown.mjs +13 -13
  362. package/fesm2022/ng-nest-ui-empty.mjs +11 -11
  363. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  364. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  365. package/fesm2022/ng-nest-ui-find.mjs +10 -10
  366. package/fesm2022/ng-nest-ui-form.mjs +27 -27
  367. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  368. package/fesm2022/ng-nest-ui-highlight.mjs +13 -13
  369. package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
  370. package/fesm2022/ng-nest-ui-icon.mjs +22 -15
  371. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  372. package/fesm2022/ng-nest-ui-image.mjs +19 -19
  373. package/fesm2022/ng-nest-ui-inner.mjs +10 -10
  374. package/fesm2022/ng-nest-ui-input-number.mjs +10 -10
  375. package/fesm2022/ng-nest-ui-input.mjs +16 -16
  376. package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
  377. package/fesm2022/ng-nest-ui-layout.mjs +70 -16
  378. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  379. package/fesm2022/ng-nest-ui-link.mjs +10 -15
  380. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  381. package/fesm2022/ng-nest-ui-list.mjs +19 -19
  382. package/fesm2022/ng-nest-ui-loading.mjs +10 -10
  383. package/fesm2022/ng-nest-ui-menu.mjs +16 -16
  384. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  385. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  386. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  387. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  388. package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
  389. package/fesm2022/ng-nest-ui-pagination.mjs +10 -10
  390. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  391. package/fesm2022/ng-nest-ui-popconfirm.mjs +10 -10
  392. package/fesm2022/ng-nest-ui-popover.mjs +14 -14
  393. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  394. package/fesm2022/ng-nest-ui-portal.mjs +10 -10
  395. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  396. package/fesm2022/ng-nest-ui-progress.mjs +10 -10
  397. package/fesm2022/ng-nest-ui-radio.mjs +10 -10
  398. package/fesm2022/ng-nest-ui-rate.mjs +10 -10
  399. package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
  400. package/fesm2022/ng-nest-ui-result.mjs +10 -10
  401. package/fesm2022/ng-nest-ui-ripple.mjs +13 -11
  402. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  403. package/fesm2022/ng-nest-ui-select.mjs +18 -13
  404. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  405. package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
  406. package/fesm2022/ng-nest-ui-slider-select.mjs +10 -10
  407. package/fesm2022/ng-nest-ui-slider.mjs +11 -11
  408. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  409. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  410. package/fesm2022/ng-nest-ui-steps.mjs +10 -10
  411. package/fesm2022/ng-nest-ui-switch.mjs +10 -10
  412. package/fesm2022/ng-nest-ui-table.mjs +79 -50
  413. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  414. package/fesm2022/ng-nest-ui-tabs.mjs +26 -26
  415. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  416. package/fesm2022/ng-nest-ui-tag.mjs +10 -10
  417. package/fesm2022/ng-nest-ui-text-retract.mjs +10 -10
  418. package/fesm2022/ng-nest-ui-textarea.mjs +10 -10
  419. package/fesm2022/ng-nest-ui-theme.mjs +10 -10
  420. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  421. package/fesm2022/ng-nest-ui-time-picker.mjs +16 -16
  422. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  423. package/fesm2022/ng-nest-ui-timeline.mjs +10 -10
  424. package/fesm2022/ng-nest-ui-tooltip.mjs +14 -14
  425. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  426. package/fesm2022/ng-nest-ui-transfer.mjs +10 -10
  427. package/fesm2022/ng-nest-ui-tree-file.mjs +10 -10
  428. package/fesm2022/ng-nest-ui-tree-select.mjs +13 -13
  429. package/fesm2022/ng-nest-ui-tree.mjs +19 -19
  430. package/fesm2022/ng-nest-ui-typography.mjs +10 -10
  431. package/fesm2022/ng-nest-ui-upload.mjs +13 -13
  432. package/icon/icon.component.d.ts +2 -1
  433. package/layout/layout.property.d.ts +54 -0
  434. package/link/link.property.d.ts +1 -6
  435. package/package.json +97 -97
  436. package/portal/portal.property.d.ts +2 -2
  437. package/ripple/ripple.directive.d.ts +1 -1
  438. package/select/select.property.d.ts +6 -1
  439. package/table/table-body.component.d.ts +8 -3
  440. package/table/table.component.d.ts +5 -2
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, Component, inject, viewChild, computed, ElementRef, signal, effect, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, NgModule } from '@angular/core';
2
+ import { input, Component, inject, viewChild, computed, signal, effect, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, NgModule } from '@angular/core';
3
3
  import { XPropertyFunction, XToCssPixelValue, XProperty, XComputedStyle, XResize, XIsNumber, XIsObject, XIsEmpty, XIsString, XToCssPx } from '@ng-nest/ui/core';
4
4
  import { DOCUMENT, NgClass, NgStyle } from '@angular/common';
5
5
  import { debounceTime, map } from 'rxjs';
@@ -77,7 +77,7 @@ class XAvatarProperty extends XPropertyFunction(X_AVATAR_CONFIG_NAME) {
77
77
  * @example
78
78
  *
79
79
  * ```html
80
- * <x-avatar src="https://ngnest.com/assets/img/logo/logo-144x144.png"></x-avatar>
80
+ * <x-avatar src="https://ngnest.com/img/logo/logo-144x144.png"></x-avatar>
81
81
  * ```
82
82
  *
83
83
  */
@@ -88,11 +88,11 @@ class XAvatarProperty extends XPropertyFunction(X_AVATAR_CONFIG_NAME) {
88
88
  * @example
89
89
  *
90
90
  * ```html
91
- * <x-avatar fit="fill" src="https://ngnest.com/assets/img/logo/logo-144x144.png"></x-avatar>
92
- * <x-avatar fit="contain" src="https://ngnest.com/assets/img/logo/logo-144x144.png"></x-avatar>
93
- * <x-avatar fit="cover" src="https://ngnest.com/assets/img/logo/logo-144x144.png"></x-avatar>
94
- * <x-avatar fit="none" src="https://ngnest.com/assets/img/logo/logo-144x144.png"></x-avatar>
95
- * <x-avatar fit="scale-down" src="https://ngnest.com/assets/img/logo/logo-144x144.png"></x-avatar>
91
+ * <x-avatar fit="fill" src="https://ngnest.com/img/logo/logo-144x144.png"></x-avatar>
92
+ * <x-avatar fit="contain" src="https://ngnest.com/img/logo/logo-144x144.png"></x-avatar>
93
+ * <x-avatar fit="cover" src="https://ngnest.com/img/logo/logo-144x144.png"></x-avatar>
94
+ * <x-avatar fit="none" src="https://ngnest.com/img/logo/logo-144x144.png"></x-avatar>
95
+ * <x-avatar fit="scale-down" src="https://ngnest.com/img/logo/logo-144x144.png"></x-avatar>
96
96
  * ```
97
97
  *
98
98
  */
@@ -122,10 +122,10 @@ class XAvatarProperty extends XPropertyFunction(X_AVATAR_CONFIG_NAME) {
122
122
  */
123
123
  this.backgroundColor = input(this.config?.backgroundColor ?? '#999999');
124
124
  }
125
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XAvatarProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
126
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: XAvatarProperty, selector: "x-avatar-property", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, shape: { classPropertyName: "shape", publicName: "shape", isSignal: true, isRequired: false, transformFunction: null }, src: { classPropertyName: "src", publicName: "src", isSignal: true, isRequired: false, transformFunction: null }, fit: { classPropertyName: "fit", publicName: "fit", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, backgroundColor: { classPropertyName: "backgroundColor", publicName: "backgroundColor", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
125
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XAvatarProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
126
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XAvatarProperty, selector: "x-avatar-property", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, shape: { classPropertyName: "shape", publicName: "shape", isSignal: true, isRequired: false, transformFunction: null }, src: { classPropertyName: "src", publicName: "src", isSignal: true, isRequired: false, transformFunction: null }, fit: { classPropertyName: "fit", publicName: "fit", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, backgroundColor: { classPropertyName: "backgroundColor", publicName: "backgroundColor", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
127
127
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XAvatarProperty, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XAvatarProperty, decorators: [{
129
129
  type: Component,
130
130
  args: [{ selector: `${XAvatarPrefix}-property`, template: '' }]
131
131
  }] });
@@ -139,10 +139,10 @@ const XAvatarGroupPrefix = 'x-avatar-group';
139
139
  * Avatar Group Property
140
140
  */
141
141
  class XAvatarGroupProperty extends XProperty {
142
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XAvatarGroupProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
143
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: XAvatarGroupProperty, selector: "x-avatar-group-property", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
142
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XAvatarGroupProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
143
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: XAvatarGroupProperty, selector: "x-avatar-group-property", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
144
144
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XAvatarGroupProperty, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XAvatarGroupProperty, decorators: [{
146
146
  type: Component,
147
147
  args: [{ selector: `${XAvatarGroupPrefix}-property`, template: '' }]
148
148
  }] });
@@ -151,9 +151,9 @@ class XAvatarComponent extends XAvatarProperty {
151
151
  constructor() {
152
152
  super();
153
153
  this.document = inject(DOCUMENT);
154
+ this.avatar = viewChild.required('avatar');
154
155
  this.labelRef = viewChild('labelRef');
155
156
  this.fontSize = computed(() => parseFloat(XComputedStyle(this.document.documentElement, 'font-size')));
156
- this.elementRef = inject(ElementRef);
157
157
  this.labelWidth = signal(this.labelRef()?.nativeElement.clientWidth);
158
158
  this.documentWidth = toSignal(XResize(this.document.documentElement).pipe(debounceTime(30), map(({ resizeObserver }) => {
159
159
  this.resizeObserver = resizeObserver;
@@ -219,17 +219,19 @@ class XAvatarComponent extends XAvatarProperty {
219
219
  const label = this.label();
220
220
  const labelRef = this.labelRef();
221
221
  const labelWidth = this.labelWidth();
222
- if (!label || !this.elementRef || !labelRef || !labelWidth)
222
+ if (!label || !this.avatar() || !labelRef || !labelWidth)
223
223
  return {};
224
- const eleWidth = this.elementRef.nativeElement.clientWidth;
224
+ const eleWidth = this.avatar().nativeElement.clientWidth;
225
225
  let scale = (eleWidth - XToCssPx(this.gap(), this.fontSize()) * 2) / labelWidth;
226
226
  scale = scale > 1 ? 1 : scale;
227
227
  return { transform: `scale(${scale})` };
228
228
  });
229
229
  effect(() => this.documentWidth());
230
230
  }
231
- ngAfterContentChecked() {
232
- this.labelWidth.set(this.labelRef()?.nativeElement.clientWidth);
231
+ ngAfterViewChecked() {
232
+ if (this.labelRef()) {
233
+ this.labelWidth.set(this.labelRef()?.nativeElement.clientWidth);
234
+ }
233
235
  }
234
236
  ngOnDestroy() {
235
237
  this.resizeObserver?.disconnect();
@@ -237,12 +239,12 @@ class XAvatarComponent extends XAvatarProperty {
237
239
  imgError() {
238
240
  this.isImgError.set(true);
239
241
  }
240
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
241
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: XAvatarComponent, isStandalone: true, selector: "x-avatar", viewQueries: [{ propertyName: "labelRef", first: true, predicate: ["labelRef"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label()\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-avatar-error]=\"isImgError()\"\r\n [ngStyle]=\"styleMap()\"\r\n [style.backgroundColor]=\"backgroundColor()\"\r\n>\r\n @if (src() && !isImgError()) {\r\n <img [src]=\"src()\" [style.object-fit]=\"fit()\" (error)=\"imgError()\" />\r\n }\r\n @if (icon()) {\r\n <x-icon [type]=\"icon()\"></x-icon>\r\n }\r\n @if (isImgError()) {\r\n <x-icon type=\"fto-image\"></x-icon>\r\n }\r\n @if (label()) {\r\n <span #labelRef [ngStyle]=\"labelStyleMap()\" *xOutlet=\"label(); context: { $label: label() }\">\r\n {{ label() }}\r\n </span>\r\n }\r\n</span>\r\n", styles: ["x-avatar{display:flex}.x-avatar{margin:0;padding:0;font-size:var(--x-font-size);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--x-background-100)}.x-avatar>img{display:block;height:100%}.x-avatar-circle{border-radius:50%}.x-avatar-square{border-radius:var(--x-border-radius)}.x-avatar-error>img{height:initial}.x-avatar>span{white-space:nowrap;transition:transform var(--x-animation-duration-base)}.x-avatar-big{height:3.5rem;width:3.5rem;line-height:3.5rem;font-size:2.1rem}.x-avatar-large{height:3rem;width:3rem;line-height:3rem;font-size:1.8rem}.x-avatar-medium{height:2.5rem;width:2.5rem;line-height:2.5rem;font-size:1.5rem}.x-avatar-small{height:2rem;width:2rem;line-height:2rem;font-size:1.2rem}.x-avatar-mini{height:1.5rem;width:1.5rem;line-height:1.5rem;font-size:.9rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
242
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
243
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: XAvatarComponent, isStandalone: true, selector: "x-avatar", viewQueries: [{ propertyName: "avatar", first: true, predicate: ["avatar"], descendants: true, isSignal: true }, { propertyName: "labelRef", first: true, predicate: ["labelRef"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label()\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-avatar-error]=\"isImgError()\"\r\n [ngStyle]=\"styleMap()\"\r\n [style.backgroundColor]=\"backgroundColor()\"\r\n>\r\n @if (src() && !isImgError()) {\r\n <img [src]=\"src()\" [style.object-fit]=\"fit()\" (error)=\"imgError()\" />\r\n }\r\n @if (icon()) {\r\n <x-icon [type]=\"icon()\"></x-icon>\r\n }\r\n @if (isImgError()) {\r\n <x-icon type=\"fto-image\"></x-icon>\r\n }\r\n @if (label()) {\r\n <span #labelRef class=\"x-avatar-text\" [ngStyle]=\"labelStyleMap()\" *xOutlet=\"label(); context: { $label: label() }\">\r\n {{ label() }}\r\n </span>\r\n }\r\n</span>\r\n", styles: ["x-avatar{display:flex}.x-avatar{margin:0;padding:0;font-size:var(--x-font-size);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--x-background-100)}.x-avatar>img{display:block;height:100%}.x-avatar-circle{border-radius:50%}.x-avatar-square{border-radius:var(--x-border-radius)}.x-avatar-error>img{height:initial}.x-avatar>span{white-space:nowrap;transition:transform var(--x-animation-duration-base)}.x-avatar-big{height:3.5rem;width:3.5rem;line-height:3.5rem;font-size:2.1rem}.x-avatar-large{height:3rem;width:3rem;line-height:3rem;font-size:1.8rem}.x-avatar-medium{height:2.5rem;width:2.5rem;line-height:2.5rem;font-size:1.5rem}.x-avatar-small{height:2rem;width:2rem;line-height:2rem;font-size:1.2rem}.x-avatar-mini{height:1.5rem;width:1.5rem;line-height:1.5rem;font-size:.9rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
242
244
  }
243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XAvatarComponent, decorators: [{
245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XAvatarComponent, decorators: [{
244
246
  type: Component,
245
- args: [{ selector: `${XAvatarPrefix}`, standalone: true, imports: [NgClass, NgStyle, XOutletDirective, XIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label()\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-avatar-error]=\"isImgError()\"\r\n [ngStyle]=\"styleMap()\"\r\n [style.backgroundColor]=\"backgroundColor()\"\r\n>\r\n @if (src() && !isImgError()) {\r\n <img [src]=\"src()\" [style.object-fit]=\"fit()\" (error)=\"imgError()\" />\r\n }\r\n @if (icon()) {\r\n <x-icon [type]=\"icon()\"></x-icon>\r\n }\r\n @if (isImgError()) {\r\n <x-icon type=\"fto-image\"></x-icon>\r\n }\r\n @if (label()) {\r\n <span #labelRef [ngStyle]=\"labelStyleMap()\" *xOutlet=\"label(); context: { $label: label() }\">\r\n {{ label() }}\r\n </span>\r\n }\r\n</span>\r\n", styles: ["x-avatar{display:flex}.x-avatar{margin:0;padding:0;font-size:var(--x-font-size);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--x-background-100)}.x-avatar>img{display:block;height:100%}.x-avatar-circle{border-radius:50%}.x-avatar-square{border-radius:var(--x-border-radius)}.x-avatar-error>img{height:initial}.x-avatar>span{white-space:nowrap;transition:transform var(--x-animation-duration-base)}.x-avatar-big{height:3.5rem;width:3.5rem;line-height:3.5rem;font-size:2.1rem}.x-avatar-large{height:3rem;width:3rem;line-height:3rem;font-size:1.8rem}.x-avatar-medium{height:2.5rem;width:2.5rem;line-height:2.5rem;font-size:1.5rem}.x-avatar-small{height:2rem;width:2rem;line-height:2rem;font-size:1.2rem}.x-avatar-mini{height:1.5rem;width:1.5rem;line-height:1.5rem;font-size:.9rem}\n"] }]
247
+ args: [{ selector: `${XAvatarPrefix}`, standalone: true, imports: [NgClass, NgStyle, XOutletDirective, XIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label()\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-avatar-error]=\"isImgError()\"\r\n [ngStyle]=\"styleMap()\"\r\n [style.backgroundColor]=\"backgroundColor()\"\r\n>\r\n @if (src() && !isImgError()) {\r\n <img [src]=\"src()\" [style.object-fit]=\"fit()\" (error)=\"imgError()\" />\r\n }\r\n @if (icon()) {\r\n <x-icon [type]=\"icon()\"></x-icon>\r\n }\r\n @if (isImgError()) {\r\n <x-icon type=\"fto-image\"></x-icon>\r\n }\r\n @if (label()) {\r\n <span #labelRef class=\"x-avatar-text\" [ngStyle]=\"labelStyleMap()\" *xOutlet=\"label(); context: { $label: label() }\">\r\n {{ label() }}\r\n </span>\r\n }\r\n</span>\r\n", styles: ["x-avatar{display:flex}.x-avatar{margin:0;padding:0;font-size:var(--x-font-size);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--x-background-100)}.x-avatar>img{display:block;height:100%}.x-avatar-circle{border-radius:50%}.x-avatar-square{border-radius:var(--x-border-radius)}.x-avatar-error>img{height:initial}.x-avatar>span{white-space:nowrap;transition:transform var(--x-animation-duration-base)}.x-avatar-big{height:3.5rem;width:3.5rem;line-height:3.5rem;font-size:2.1rem}.x-avatar-large{height:3rem;width:3rem;line-height:3rem;font-size:1.8rem}.x-avatar-medium{height:2.5rem;width:2.5rem;line-height:2.5rem;font-size:1.5rem}.x-avatar-small{height:2rem;width:2rem;line-height:2rem;font-size:1.2rem}.x-avatar-mini{height:1.5rem;width:1.5rem;line-height:1.5rem;font-size:.9rem}\n"] }]
246
248
  }], ctorParameters: () => [] });
247
249
 
248
250
  class XAvatarGroupComponent extends XAvatarGroupProperty {
@@ -250,10 +252,10 @@ class XAvatarGroupComponent extends XAvatarGroupProperty {
250
252
  super(...arguments);
251
253
  this._has = true;
252
254
  }
253
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XAvatarGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
254
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: XAvatarGroupComponent, isStandalone: true, selector: "x-avatar-group", host: { properties: { "class.x-avatar-group": "this._has" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: ["x-avatar-group{display:flex}.x-avatar-group{margin:0;padding:0}.x-avatar-group>x-avatar{z-index:0}.x-avatar-group>x-avatar:not(:first-child){margin-left:-.5rem}.x-avatar-group>x-avatar .x-avatar{border:var(--x-border-width) var(--x-border-style) var(--x-white)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
255
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XAvatarGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
256
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: XAvatarGroupComponent, isStandalone: true, selector: "x-avatar-group", host: { properties: { "class.x-avatar-group": "this._has" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: ["x-avatar-group{display:flex}.x-avatar-group{margin:0;padding:0}.x-avatar-group>x-avatar{z-index:0}.x-avatar-group>x-avatar:not(:first-child){margin-left:-.5rem}.x-avatar-group>x-avatar .x-avatar{border:var(--x-border-width) var(--x-border-style) var(--x-white)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
255
257
  }
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XAvatarGroupComponent, decorators: [{
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XAvatarGroupComponent, decorators: [{
257
259
  type: Component,
258
260
  args: [{ selector: `${XAvatarGroupPrefix}`, standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n", styles: ["x-avatar-group{display:flex}.x-avatar-group{margin:0;padding:0}.x-avatar-group>x-avatar{z-index:0}.x-avatar-group>x-avatar:not(:first-child){margin-left:-.5rem}.x-avatar-group>x-avatar .x-avatar{border:var(--x-border-width) var(--x-border-style) var(--x-white)}\n"] }]
259
261
  }], propDecorators: { _has: [{
@@ -262,11 +264,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
262
264
  }] } });
263
265
 
264
266
  class XAvatarModule {
265
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
266
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: XAvatarModule, imports: [XAvatarComponent, XAvatarGroupComponent], exports: [XAvatarComponent, XAvatarGroupComponent] }); }
267
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XAvatarModule, imports: [XAvatarComponent] }); }
267
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
268
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: XAvatarModule, imports: [XAvatarComponent, XAvatarGroupComponent], exports: [XAvatarComponent, XAvatarGroupComponent] }); }
269
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XAvatarModule, imports: [XAvatarComponent] }); }
268
270
  }
269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XAvatarModule, decorators: [{
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XAvatarModule, decorators: [{
270
272
  type: NgModule,
271
273
  args: [{
272
274
  exports: [XAvatarComponent, XAvatarGroupComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-avatar.mjs","sources":["../../../../lib/ng-nest/ui/avatar/avatar.property.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.html","../../../../lib/ng-nest/ui/avatar/avatar-group.component.ts","../../../../lib/ng-nest/ui/avatar/avatar-group.component.html","../../../../lib/ng-nest/ui/avatar/avatar.module.ts","../../../../lib/ng-nest/ui/avatar/ng-nest-ui-avatar.ts"],"sourcesContent":["import {\r\n XSize,\r\n XTemplate,\r\n XProperty,\r\n XShape,\r\n XFit,\r\n XResponseSize,\r\n XNumber,\r\n XPropertyFunction,\r\n XToCssPixelValue\r\n} from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\n\r\n/**\r\n * Avatar\r\n * @selector x-avatar\r\n * @decorator component\r\n */\r\nexport const XAvatarPrefix = 'x-avatar';\r\nexport const X_AVATAR_CONFIG_NAME = 'avatar';\r\n\r\n/**\r\n * Avatar Property\r\n */\r\n@Component({ selector: `${XAvatarPrefix}-property`, template: '' })\r\nexport class XAvatarProperty extends XPropertyFunction(X_AVATAR_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 显示字符\r\n * @en_US Display characters\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar label=\"ng-nest\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly label = input<XTemplate>();\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar size=\"big\" icon=\"fto-user\"></x-avatar>\r\n * <x-avatar size=\"large\" icon=\"fto-user\"></x-avatar>\r\n * <x-avatar size=\"medium\" icon=\"fto-user\"></x-avatar>\r\n * <x-avatar size=\"small\" icon=\"fto-user\"></x-avatar>\r\n * <x-avatar size=\"mini\" icon=\"fto-user\"></x-avatar>\r\n * <x-avatar [size]=\"100\" icon=\"fto-user\"></x-avatar>\r\n * <x-avatar [size]=\"{ xs: 20, sm: 60, md: 90, lg: 120, xl: 160 }\" icon=\"fto-user\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly size = input<XAvatarSize>(this.config?.size ?? 'medium');\r\n /**\r\n * @zh_CN 显示图标\r\n * @en_US Show icon\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar icon=\"fto-user\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly icon = input<string>();\r\n /**\r\n * @zh_CN 形状\r\n * @en_US Shape\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar icon=\"fto-user\" shape=\"circle\"></x-avatar>\r\n * <x-avatar icon=\"fto-user\" shape=\"square\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly shape = input<XAvatarShape>(this.config?.shape ?? 'circle');\r\n /**\r\n * @zh_CN 图片地址\r\n * @en_US The map's address\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar src=\"https://ngnest.com/assets/img/logo/logo-144x144.png\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly src = input<string>();\r\n /**\r\n * @zh_CN 图片适应方式\r\n * @en_US Image adaptation method\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar fit=\"fill\" src=\"https://ngnest.com/assets/img/logo/logo-144x144.png\"></x-avatar>\r\n * <x-avatar fit=\"contain\" src=\"https://ngnest.com/assets/img/logo/logo-144x144.png\"></x-avatar>\r\n * <x-avatar fit=\"cover\" src=\"https://ngnest.com/assets/img/logo/logo-144x144.png\"></x-avatar>\r\n * <x-avatar fit=\"none\" src=\"https://ngnest.com/assets/img/logo/logo-144x144.png\"></x-avatar>\r\n * <x-avatar fit=\"scale-down\" src=\"https://ngnest.com/assets/img/logo/logo-144x144.png\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly fit = input<XAvatarFit>(this.config?.fit ?? 'cover');\r\n /**\r\n * @zh_CN 字符类型的时候左右边距\r\n * @en_US When the character type is the left and right distance\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar label=\"ng-nest\" gap=\"5\"></x-avatar>\r\n * <x-avatar label=\"ng-nest\" gap=\"5px\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly gap = input<string, XNumber>(this.config?.gap ?? '4px', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar label=\"ng-nest\" backgroundColor=\"#999999\"></x-avatar>\r\n * <x-avatar label=\"ng-nest\" backgroundColor=\"#888888\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly backgroundColor = input<string>(this.config?.backgroundColor ?? '#999999');\r\n}\r\n\r\n/**\r\n * @zh_CN 头像形状\r\n * @en_US Avatar shape\r\n */\r\nexport type XAvatarShape = XShape;\r\n\r\n/**\r\n * @zh_CN 当展示类型为图片的时候,设置图片如何适应容器框\r\n * @en_US When the display type is picture, set how the picture fits into the container frame\r\n */\r\nexport type XAvatarFit = XFit;\r\n\r\n/**\r\n * @zh_CN 尺寸类型\r\n * @en_US Size type\r\n */\r\nexport type XAvatarSize = number | XSize | XResponseSize;\r\n\r\n/**\r\n * Avatar Group\r\n * @selector x-avatar-group\r\n * @decorator component\r\n */\r\nexport const XAvatarGroupPrefix = 'x-avatar-group';\r\n\r\n/**\r\n * Avatar Group Property\r\n */\r\n@Component({ selector: `${XAvatarGroupPrefix}-property`, template: '' })\r\nexport class XAvatarGroupProperty extends XProperty {}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ElementRef,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n inject,\r\n signal,\r\n computed,\r\n viewChild,\r\n effect\r\n} from '@angular/core';\r\nimport { XAvatarPrefix, XAvatarProperty } from './avatar.property';\r\nimport { XIsEmpty, XIsNumber, XIsString, XIsObject, XComputedStyle, XResize, XToCssPx } from '@ng-nest/ui/core';\r\nimport { DOCUMENT, NgClass, NgStyle } from '@angular/common';\r\nimport { debounceTime, map } from 'rxjs';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport type { XClassMap, XResizeObserver, XResponseSize } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XAvatarPrefix}`,\r\n standalone: true,\r\n imports: [NgClass, NgStyle, XOutletDirective, XIconComponent],\r\n templateUrl: './avatar.component.html',\r\n styleUrls: ['./avatar.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAvatarComponent extends XAvatarProperty implements OnDestroy {\r\n private document = inject(DOCUMENT);\r\n private labelRef = viewChild<ElementRef<HTMLElement>>('labelRef');\r\n private fontSize = computed(() => parseFloat(XComputedStyle(this.document.documentElement, 'font-size')));\r\n private resizeObserver!: XResizeObserver;\r\n private elementRef = inject(ElementRef);\r\n private labelWidth = signal(this.labelRef()?.nativeElement.clientWidth);\r\n private documentWidth = toSignal(\r\n XResize(this.document.documentElement).pipe(\r\n debounceTime(30),\r\n map(({ resizeObserver }) => {\r\n this.resizeObserver = resizeObserver;\r\n return this.document.documentElement.clientWidth;\r\n })\r\n ),\r\n {\r\n initialValue: this.document.documentElement.clientWidth\r\n }\r\n );\r\n isImgError = signal(false);\r\n styleMap = computed(() => {\r\n const size = this.size();\r\n const width = this.documentWidth();\r\n if (XIsNumber(size)) {\r\n return {\r\n height: `${size}px`,\r\n width: `${size}px`,\r\n lineHeight: `${size}px`,\r\n fontSize: `${size * 0.6}px`\r\n };\r\n } else if (XIsObject<XResponseSize>(size)) {\r\n const { xs, sm, md, lg, xl } = size;\r\n let nsize = 40;\r\n if (xs && width < 768) {\r\n nsize = xs;\r\n }\r\n if (sm && width >= 768) {\r\n nsize = sm;\r\n }\r\n if (md && width >= 992) {\r\n nsize = md;\r\n }\r\n if (lg && width >= 1200) {\r\n nsize = lg;\r\n }\r\n if (xl && width >= 1920) {\r\n nsize = xl;\r\n }\r\n return {\r\n height: `${nsize}px`,\r\n width: `${nsize}px`,\r\n lineHeight: `${nsize}px`,\r\n fontSize: `${nsize * 0.6}px`\r\n };\r\n } else {\r\n return {};\r\n }\r\n });\r\n classMap = computed(() => {\r\n const classMap: XClassMap = {\r\n [`${XAvatarPrefix}-${this.shape()}`]: !XIsEmpty(this.shape())\r\n };\r\n const size = this.size();\r\n if (XIsString(size)) {\r\n classMap[`${XAvatarPrefix}-${size}`] = !XIsEmpty(size);\r\n } else if (XIsObject<XResponseSize>(size)) {\r\n classMap[`${XAvatarPrefix}-medium`] = true;\r\n }\r\n\r\n return classMap;\r\n });\r\n labelStyleMap = computed(() => {\r\n const label = this.label();\r\n const labelRef = this.labelRef();\r\n const labelWidth = this.labelWidth();\r\n if (!label || !this.elementRef || !labelRef || !labelWidth) return {};\r\n const eleWidth = this.elementRef.nativeElement.clientWidth;\r\n let scale = (eleWidth - XToCssPx(this.gap(), this.fontSize()) * 2) / labelWidth;\r\n scale = scale > 1 ? 1 : scale;\r\n return { transform: `scale(${scale})` };\r\n });\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.documentWidth());\r\n }\r\n\r\n ngAfterContentChecked() {\r\n this.labelWidth.set(this.labelRef()?.nativeElement.clientWidth);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n imgError() {\r\n this.isImgError.set(true);\r\n }\r\n}\r\n","<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label()\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-avatar-error]=\"isImgError()\"\r\n [ngStyle]=\"styleMap()\"\r\n [style.backgroundColor]=\"backgroundColor()\"\r\n>\r\n @if (src() && !isImgError()) {\r\n <img [src]=\"src()\" [style.object-fit]=\"fit()\" (error)=\"imgError()\" />\r\n }\r\n @if (icon()) {\r\n <x-icon [type]=\"icon()\"></x-icon>\r\n }\r\n @if (isImgError()) {\r\n <x-icon type=\"fto-image\"></x-icon>\r\n }\r\n @if (label()) {\r\n <span #labelRef [ngStyle]=\"labelStyleMap()\" *xOutlet=\"label(); context: { $label: label() }\">\r\n {{ label() }}\r\n </span>\r\n }\r\n</span>\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';\r\nimport { XAvatarGroupPrefix, XAvatarGroupProperty } from './avatar.property';\r\n\r\n@Component({\r\n selector: `${XAvatarGroupPrefix}`,\r\n standalone: true,\r\n templateUrl: './avatar-group.component.html',\r\n styleUrls: ['./avatar-group.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAvatarGroupComponent extends XAvatarGroupProperty {\r\n @HostBinding('class.x-avatar-group') _has = true;\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { XAvatarComponent } from './avatar.component';\r\nimport { XAvatarGroupComponent } from './avatar-group.component';\r\n\r\n@NgModule({\r\n exports: [XAvatarComponent, XAvatarGroupComponent],\r\n imports: [XAvatarComponent, XAvatarGroupComponent]\r\n})\r\nexport class XAvatarModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-avatar.mjs","sources":["../../../../lib/ng-nest/ui/avatar/avatar.property.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.html","../../../../lib/ng-nest/ui/avatar/avatar-group.component.ts","../../../../lib/ng-nest/ui/avatar/avatar-group.component.html","../../../../lib/ng-nest/ui/avatar/avatar.module.ts","../../../../lib/ng-nest/ui/avatar/ng-nest-ui-avatar.ts"],"sourcesContent":["import {\r\n XSize,\r\n XTemplate,\r\n XProperty,\r\n XShape,\r\n XFit,\r\n XResponseSize,\r\n XNumber,\r\n XPropertyFunction,\r\n XToCssPixelValue\r\n} from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\n\r\n/**\r\n * Avatar\r\n * @selector x-avatar\r\n * @decorator component\r\n */\r\nexport const XAvatarPrefix = 'x-avatar';\r\nexport const X_AVATAR_CONFIG_NAME = 'avatar';\r\n\r\n/**\r\n * Avatar Property\r\n */\r\n@Component({ selector: `${XAvatarPrefix}-property`, template: '' })\r\nexport class XAvatarProperty extends XPropertyFunction(X_AVATAR_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 显示字符\r\n * @en_US Display characters\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar label=\"ng-nest\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly label = input<XTemplate>();\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar size=\"big\" icon=\"fto-user\"></x-avatar>\r\n * <x-avatar size=\"large\" icon=\"fto-user\"></x-avatar>\r\n * <x-avatar size=\"medium\" icon=\"fto-user\"></x-avatar>\r\n * <x-avatar size=\"small\" icon=\"fto-user\"></x-avatar>\r\n * <x-avatar size=\"mini\" icon=\"fto-user\"></x-avatar>\r\n * <x-avatar [size]=\"100\" icon=\"fto-user\"></x-avatar>\r\n * <x-avatar [size]=\"{ xs: 20, sm: 60, md: 90, lg: 120, xl: 160 }\" icon=\"fto-user\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly size = input<XAvatarSize>(this.config?.size ?? 'medium');\r\n /**\r\n * @zh_CN 显示图标\r\n * @en_US Show icon\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar icon=\"fto-user\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly icon = input<string>();\r\n /**\r\n * @zh_CN 形状\r\n * @en_US Shape\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar icon=\"fto-user\" shape=\"circle\"></x-avatar>\r\n * <x-avatar icon=\"fto-user\" shape=\"square\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly shape = input<XAvatarShape>(this.config?.shape ?? 'circle');\r\n /**\r\n * @zh_CN 图片地址\r\n * @en_US The map's address\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar src=\"https://ngnest.com/img/logo/logo-144x144.png\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly src = input<string>();\r\n /**\r\n * @zh_CN 图片适应方式\r\n * @en_US Image adaptation method\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar fit=\"fill\" src=\"https://ngnest.com/img/logo/logo-144x144.png\"></x-avatar>\r\n * <x-avatar fit=\"contain\" src=\"https://ngnest.com/img/logo/logo-144x144.png\"></x-avatar>\r\n * <x-avatar fit=\"cover\" src=\"https://ngnest.com/img/logo/logo-144x144.png\"></x-avatar>\r\n * <x-avatar fit=\"none\" src=\"https://ngnest.com/img/logo/logo-144x144.png\"></x-avatar>\r\n * <x-avatar fit=\"scale-down\" src=\"https://ngnest.com/img/logo/logo-144x144.png\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly fit = input<XAvatarFit>(this.config?.fit ?? 'cover');\r\n /**\r\n * @zh_CN 字符类型的时候左右边距\r\n * @en_US When the character type is the left and right distance\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar label=\"ng-nest\" gap=\"5\"></x-avatar>\r\n * <x-avatar label=\"ng-nest\" gap=\"5px\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly gap = input<string, XNumber>(this.config?.gap ?? '4px', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n * @example\r\n *\r\n * ```html\r\n * <x-avatar label=\"ng-nest\" backgroundColor=\"#999999\"></x-avatar>\r\n * <x-avatar label=\"ng-nest\" backgroundColor=\"#888888\"></x-avatar>\r\n * ```\r\n *\r\n */\r\n readonly backgroundColor = input<string>(this.config?.backgroundColor ?? '#999999');\r\n}\r\n\r\n/**\r\n * @zh_CN 头像形状\r\n * @en_US Avatar shape\r\n */\r\nexport type XAvatarShape = XShape;\r\n\r\n/**\r\n * @zh_CN 当展示类型为图片的时候,设置图片如何适应容器框\r\n * @en_US When the display type is picture, set how the picture fits into the container frame\r\n */\r\nexport type XAvatarFit = XFit;\r\n\r\n/**\r\n * @zh_CN 尺寸类型\r\n * @en_US Size type\r\n */\r\nexport type XAvatarSize = number | XSize | XResponseSize;\r\n\r\n/**\r\n * Avatar Group\r\n * @selector x-avatar-group\r\n * @decorator component\r\n */\r\nexport const XAvatarGroupPrefix = 'x-avatar-group';\r\n\r\n/**\r\n * Avatar Group Property\r\n */\r\n@Component({ selector: `${XAvatarGroupPrefix}-property`, template: '' })\r\nexport class XAvatarGroupProperty extends XProperty {}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ElementRef,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n inject,\r\n signal,\r\n computed,\r\n viewChild,\r\n effect,\r\n AfterViewChecked\r\n} from '@angular/core';\r\nimport { XAvatarPrefix, XAvatarProperty } from './avatar.property';\r\nimport { XIsEmpty, XIsNumber, XIsString, XIsObject, XComputedStyle, XResize, XToCssPx } from '@ng-nest/ui/core';\r\nimport { DOCUMENT, NgClass, NgStyle } from '@angular/common';\r\nimport { debounceTime, map } from 'rxjs';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport type { XClassMap, XResizeObserver, XResponseSize } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XAvatarPrefix}`,\r\n standalone: true,\r\n imports: [NgClass, NgStyle, XOutletDirective, XIconComponent],\r\n templateUrl: './avatar.component.html',\r\n styleUrls: ['./avatar.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAvatarComponent extends XAvatarProperty implements OnDestroy, AfterViewChecked {\r\n private document = inject(DOCUMENT);\r\n private avatar = viewChild.required<ElementRef<HTMLElement>>('avatar');\r\n private labelRef = viewChild<ElementRef<HTMLElement>>('labelRef');\r\n private fontSize = computed(() => parseFloat(XComputedStyle(this.document.documentElement, 'font-size')));\r\n private resizeObserver!: XResizeObserver;\r\n private labelWidth = signal(this.labelRef()?.nativeElement.clientWidth);\r\n private documentWidth = toSignal(\r\n XResize(this.document.documentElement).pipe(\r\n debounceTime(30),\r\n map(({ resizeObserver }) => {\r\n this.resizeObserver = resizeObserver;\r\n return this.document.documentElement.clientWidth;\r\n })\r\n ),\r\n {\r\n initialValue: this.document.documentElement.clientWidth\r\n }\r\n );\r\n isImgError = signal(false);\r\n styleMap = computed(() => {\r\n const size = this.size();\r\n const width = this.documentWidth();\r\n if (XIsNumber(size)) {\r\n return {\r\n height: `${size}px`,\r\n width: `${size}px`,\r\n lineHeight: `${size}px`,\r\n fontSize: `${size * 0.6}px`\r\n };\r\n } else if (XIsObject<XResponseSize>(size)) {\r\n const { xs, sm, md, lg, xl } = size;\r\n let nsize = 40;\r\n if (xs && width < 768) {\r\n nsize = xs;\r\n }\r\n if (sm && width >= 768) {\r\n nsize = sm;\r\n }\r\n if (md && width >= 992) {\r\n nsize = md;\r\n }\r\n if (lg && width >= 1200) {\r\n nsize = lg;\r\n }\r\n if (xl && width >= 1920) {\r\n nsize = xl;\r\n }\r\n return {\r\n height: `${nsize}px`,\r\n width: `${nsize}px`,\r\n lineHeight: `${nsize}px`,\r\n fontSize: `${nsize * 0.6}px`\r\n };\r\n } else {\r\n return {};\r\n }\r\n });\r\n classMap = computed(() => {\r\n const classMap: XClassMap = {\r\n [`${XAvatarPrefix}-${this.shape()}`]: !XIsEmpty(this.shape())\r\n };\r\n const size = this.size();\r\n if (XIsString(size)) {\r\n classMap[`${XAvatarPrefix}-${size}`] = !XIsEmpty(size);\r\n } else if (XIsObject<XResponseSize>(size)) {\r\n classMap[`${XAvatarPrefix}-medium`] = true;\r\n }\r\n\r\n return classMap;\r\n });\r\n labelStyleMap = computed(() => {\r\n const label = this.label();\r\n const labelRef = this.labelRef();\r\n const labelWidth = this.labelWidth();\r\n if (!label || !this.avatar() || !labelRef || !labelWidth) return {};\r\n const eleWidth = this.avatar().nativeElement.clientWidth;\r\n let scale = (eleWidth - XToCssPx(this.gap(), this.fontSize()) * 2) / labelWidth;\r\n scale = scale > 1 ? 1 : scale;\r\n return { transform: `scale(${scale})` };\r\n });\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.documentWidth());\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (this.labelRef()) {\r\n this.labelWidth.set(this.labelRef()?.nativeElement.clientWidth);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n imgError() {\r\n this.isImgError.set(true);\r\n }\r\n}\r\n","<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label()\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-avatar-error]=\"isImgError()\"\r\n [ngStyle]=\"styleMap()\"\r\n [style.backgroundColor]=\"backgroundColor()\"\r\n>\r\n @if (src() && !isImgError()) {\r\n <img [src]=\"src()\" [style.object-fit]=\"fit()\" (error)=\"imgError()\" />\r\n }\r\n @if (icon()) {\r\n <x-icon [type]=\"icon()\"></x-icon>\r\n }\r\n @if (isImgError()) {\r\n <x-icon type=\"fto-image\"></x-icon>\r\n }\r\n @if (label()) {\r\n <span #labelRef class=\"x-avatar-text\" [ngStyle]=\"labelStyleMap()\" *xOutlet=\"label(); context: { $label: label() }\">\r\n {{ label() }}\r\n </span>\r\n }\r\n</span>\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';\r\nimport { XAvatarGroupPrefix, XAvatarGroupProperty } from './avatar.property';\r\n\r\n@Component({\r\n selector: `${XAvatarGroupPrefix}`,\r\n standalone: true,\r\n templateUrl: './avatar-group.component.html',\r\n styleUrls: ['./avatar-group.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAvatarGroupComponent extends XAvatarGroupProperty {\r\n @HostBinding('class.x-avatar-group') _has = true;\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { XAvatarComponent } from './avatar.component';\r\nimport { XAvatarGroupComponent } from './avatar-group.component';\r\n\r\n@NgModule({\r\n exports: [XAvatarComponent, XAvatarGroupComponent],\r\n imports: [XAvatarComponent, XAvatarGroupComponent]\r\n})\r\nexport class XAvatarModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -46,10 +46,10 @@ class XBackTopProperty extends XPropertyFunction(X_BACK_TOP_CONFIG_NAME) {
46
46
  */
47
47
  this.target = input();
48
48
  }
49
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBackTopProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
50
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: XBackTopProperty, selector: "x-back-top-property", inputs: { right: { classPropertyName: "right", publicName: "right", isSignal: true, isRequired: false, transformFunction: null }, bottom: { classPropertyName: "bottom", publicName: "bottom", isSignal: true, isRequired: false, transformFunction: null }, visibilityHeight: { classPropertyName: "visibilityHeight", publicName: "visibilityHeight", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
49
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBackTopProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
50
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XBackTopProperty, selector: "x-back-top-property", inputs: { right: { classPropertyName: "right", publicName: "right", isSignal: true, isRequired: false, transformFunction: null }, bottom: { classPropertyName: "bottom", publicName: "bottom", isSignal: true, isRequired: false, transformFunction: null }, visibilityHeight: { classPropertyName: "visibilityHeight", publicName: "visibilityHeight", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBackTopProperty, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBackTopProperty, decorators: [{
53
53
  type: Component,
54
54
  args: [{ selector: `${XBackTopPrefix}-property`, template: '' }]
55
55
  }] });
@@ -139,20 +139,20 @@ class XBackTopComponent extends XBackTopProperty {
139
139
  this.scroll().scrollTop = top;
140
140
  }
141
141
  }
142
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBackTopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
143
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: XBackTopComponent, isStandalone: true, selector: "x-back-top", viewQueries: [{ propertyName: "backTopTpl", first: true, predicate: ["backTopTpl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #backTopTpl>\r\n <div class=\"x-back-top\" (click)=\"onBackTop()\">\r\n @if (!template()) {\r\n <x-link icon=\"fto-arrow-up\"> </x-link>\r\n }\r\n @if (template()) {\r\n <ng-container *ngTemplateOutlet=\"template()!\"></ng-container>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [".x-back-top{margin:0;padding:0;display:flex;align-items:center;justify-content:center}.x-back-top>x-link .x-link{width:2.5rem;height:2.5rem;border-radius:50%;background-color:var(--x-background-a100);font-size:1.25rem;border:var(--x-border-width) var(--x-border-style) var(--x-border)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
142
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBackTopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
143
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: XBackTopComponent, isStandalone: true, selector: "x-back-top", viewQueries: [{ propertyName: "backTopTpl", first: true, predicate: ["backTopTpl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #backTopTpl>\r\n <div class=\"x-back-top\" (click)=\"onBackTop()\">\r\n @if (!template()) {\r\n <x-link icon=\"fto-arrow-up\"> </x-link>\r\n }\r\n @if (template()) {\r\n <ng-container *ngTemplateOutlet=\"template()!\"></ng-container>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [".x-back-top{margin:0;padding:0;display:flex;align-items:center;justify-content:center}.x-back-top>x-link .x-link{width:2.5rem;height:2.5rem;border-radius:50%;background-color:var(--x-background-a100);font-size:1.25rem;border:var(--x-border-width) var(--x-border-style) var(--x-border)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
144
144
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBackTopComponent, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBackTopComponent, decorators: [{
146
146
  type: Component,
147
147
  args: [{ selector: `${XBackTopPrefix}`, standalone: true, imports: [NgClass, NgTemplateOutlet, XLinkComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #backTopTpl>\r\n <div class=\"x-back-top\" (click)=\"onBackTop()\">\r\n @if (!template()) {\r\n <x-link icon=\"fto-arrow-up\"> </x-link>\r\n }\r\n @if (template()) {\r\n <ng-container *ngTemplateOutlet=\"template()!\"></ng-container>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [".x-back-top{margin:0;padding:0;display:flex;align-items:center;justify-content:center}.x-back-top>x-link .x-link{width:2.5rem;height:2.5rem;border-radius:50%;background-color:var(--x-background-a100);font-size:1.25rem;border:var(--x-border-width) var(--x-border-style) var(--x-border)}\n"] }]
148
148
  }], ctorParameters: () => [] });
149
149
 
150
150
  class XBackTopModule {
151
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBackTopModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
152
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: XBackTopModule, imports: [XBackTopComponent], exports: [XBackTopComponent] }); }
153
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBackTopModule, imports: [XBackTopComponent] }); }
151
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBackTopModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
152
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: XBackTopModule, imports: [XBackTopComponent], exports: [XBackTopComponent] }); }
153
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBackTopModule, imports: [XBackTopComponent] }); }
154
154
  }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBackTopModule, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBackTopModule, decorators: [{
156
156
  type: NgModule,
157
157
  args: [{
158
158
  exports: [XBackTopComponent],
@@ -125,10 +125,10 @@ class XBadgeProperty extends XPropertyFunction(X_BADGE_CONFIG_NAME) {
125
125
  */
126
126
  this.standalone = input(false, { transform: XToBoolean });
127
127
  }
128
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBadgeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
129
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: XBadgeProperty, selector: "x-badge-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, offsetLeft: { classPropertyName: "offsetLeft", publicName: "offsetLeft", isSignal: true, isRequired: false, transformFunction: null }, offsetTop: { classPropertyName: "offsetTop", publicName: "offsetTop", isSignal: true, isRequired: false, transformFunction: null }, dot: { classPropertyName: "dot", publicName: "dot", isSignal: true, isRequired: false, transformFunction: null }, standalone: { classPropertyName: "standalone", publicName: "standalone", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
128
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBadgeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
129
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XBadgeProperty, selector: "x-badge-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, offsetLeft: { classPropertyName: "offsetLeft", publicName: "offsetLeft", isSignal: true, isRequired: false, transformFunction: null }, offsetTop: { classPropertyName: "offsetTop", publicName: "offsetTop", isSignal: true, isRequired: false, transformFunction: null }, dot: { classPropertyName: "dot", publicName: "dot", isSignal: true, isRequired: false, transformFunction: null }, standalone: { classPropertyName: "standalone", publicName: "standalone", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBadgeProperty, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBadgeProperty, decorators: [{
132
132
  type: Component,
133
133
  args: [{ selector: `${XBadgePrefix}-property`, template: '' }]
134
134
  }] });
@@ -183,20 +183,20 @@ class XBadgeComponent extends XBadgeProperty {
183
183
  return this.displayNums().map((_x, index) => index);
184
184
  });
185
185
  }
186
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBadgeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
187
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: XBadgeComponent, isStandalone: true, selector: "x-badge", usesInheritance: true, ngImport: i0, template: "<div\r\n #badge\r\n class=\"x-badge\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-badge-dot]=\"dot()\"\r\n [class.x-badge-standalone]=\"standalone()\"\r\n>\r\n <ng-content></ng-content>\r\n @if (valueNumber() > 0 || dot()) {\r\n @if (standalone()) {\r\n <sup [@x-badge-standalone-animation] [style.marginRight]=\"offsetLeft()\" [style.marginTop]=\"offsetTop()\">\r\n <ng-container *ngTemplateOutlet=\"dotTpl\"></ng-container>\r\n </sup>\r\n } @else {\r\n <sup [@x-badge-animation] [style.marginRight]=\"offsetLeft()\" [style.marginTop]=\"offsetTop()\">\r\n <ng-container *ngTemplateOutlet=\"dotTpl\"></ng-container>\r\n </sup>\r\n }\r\n }\r\n</div>\r\n\r\n<ng-template #dotTpl>\r\n @if (!dot()) {\r\n @for (item of maxNums(); track item) {\r\n <span class=\"x-badge-scroll\" [style.transform]=\"'translateY(-' + translateYNumbers()[$index] + '%)'\">\r\n @for (j of range(); track j) {\r\n <p>{{ j }}</p>\r\n }\r\n </span>\r\n }\r\n }\r\n</ng-template>\r\n", styles: ["x-badge{display:inline-block}.x-badge{margin:0;padding:0;font-size:var(--x-font-size);display:inline-block;box-sizing:border-box;text-align:center;position:relative}.x-badge>sup{position:absolute;top:0;right:0;overflow:hidden;transform:translate(50%,-50%);transform-origin:100% 0%;border-radius:.625rem;color:var(--x-white);display:inline-block;height:1.125rem;line-height:1.125rem;padding:0 .375rem;text-align:center;white-space:nowrap;box-shadow:0 0 0 .0625rem var(--x-white);vertical-align:middle}.x-badge-dot>sup{width:.5rem;height:.5rem;padding:0;right:0;border-radius:50%}.x-badge-standalone>sup{position:initial;transform:initial;transform-origin:initial}.x-badge-scroll{position:relative;height:1.125rem;display:inline-block;transition:transform var(--x-animation-duration-base) ease-in-out}.x-badge-primary>sup{background-color:var(--x-primary)}.x-badge-success>sup{background-color:var(--x-success)}.x-badge-info>sup{background-color:var(--x-info)}.x-badge-warning>sup{background-color:var(--x-warning)}.x-badge-danger>sup{background-color:var(--x-danger)}.x-badge-text>sup{background-color:var(--x-text)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [XBadgeAnimation, XBadgeStandaloneAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
186
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBadgeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
187
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: XBadgeComponent, isStandalone: true, selector: "x-badge", usesInheritance: true, ngImport: i0, template: "<div\r\n #badge\r\n class=\"x-badge\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-badge-dot]=\"dot()\"\r\n [class.x-badge-standalone]=\"standalone()\"\r\n>\r\n <ng-content></ng-content>\r\n @if (valueNumber() > 0 || dot()) {\r\n @if (standalone()) {\r\n <sup [@x-badge-standalone-animation] [style.marginRight]=\"offsetLeft()\" [style.marginTop]=\"offsetTop()\">\r\n <ng-container *ngTemplateOutlet=\"dotTpl\"></ng-container>\r\n </sup>\r\n } @else {\r\n <sup [@x-badge-animation] [style.marginRight]=\"offsetLeft()\" [style.marginTop]=\"offsetTop()\">\r\n <ng-container *ngTemplateOutlet=\"dotTpl\"></ng-container>\r\n </sup>\r\n }\r\n }\r\n</div>\r\n\r\n<ng-template #dotTpl>\r\n @if (!dot()) {\r\n @for (item of maxNums(); track item) {\r\n <span class=\"x-badge-scroll\" [style.transform]=\"'translateY(-' + translateYNumbers()[$index] + '%)'\">\r\n @for (j of range(); track j) {\r\n <p>{{ j }}</p>\r\n }\r\n </span>\r\n }\r\n }\r\n</ng-template>\r\n", styles: ["x-badge{display:inline-block}.x-badge{margin:0;padding:0;font-size:var(--x-font-size);display:inline-block;box-sizing:border-box;text-align:center;position:relative}.x-badge>sup{position:absolute;top:0;right:0;overflow:hidden;transform:translate(50%,-50%);transform-origin:100% 0%;border-radius:.625rem;color:var(--x-white);display:inline-block;height:1.125rem;line-height:1.125rem;padding:0 .375rem;text-align:center;white-space:nowrap;box-shadow:0 0 0 .0625rem var(--x-white);vertical-align:middle}.x-badge-dot>sup{width:.5rem;height:.5rem;padding:0;right:0;border-radius:50%}.x-badge-standalone>sup{position:initial;transform:initial;transform-origin:initial}.x-badge-scroll{position:relative;height:1.125rem;display:inline-block;transition:transform var(--x-animation-duration-base) ease-in-out}.x-badge-primary>sup{background-color:var(--x-primary)}.x-badge-success>sup{background-color:var(--x-success)}.x-badge-info>sup{background-color:var(--x-info)}.x-badge-warning>sup{background-color:var(--x-warning)}.x-badge-danger>sup{background-color:var(--x-danger)}.x-badge-text>sup{background-color:var(--x-text)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [XBadgeAnimation, XBadgeStandaloneAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
188
188
  }
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBadgeComponent, decorators: [{
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBadgeComponent, decorators: [{
190
190
  type: Component,
191
191
  args: [{ selector: `${XBadgePrefix}`, standalone: true, imports: [NgClass, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XBadgeAnimation, XBadgeStandaloneAnimation], template: "<div\r\n #badge\r\n class=\"x-badge\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-badge-dot]=\"dot()\"\r\n [class.x-badge-standalone]=\"standalone()\"\r\n>\r\n <ng-content></ng-content>\r\n @if (valueNumber() > 0 || dot()) {\r\n @if (standalone()) {\r\n <sup [@x-badge-standalone-animation] [style.marginRight]=\"offsetLeft()\" [style.marginTop]=\"offsetTop()\">\r\n <ng-container *ngTemplateOutlet=\"dotTpl\"></ng-container>\r\n </sup>\r\n } @else {\r\n <sup [@x-badge-animation] [style.marginRight]=\"offsetLeft()\" [style.marginTop]=\"offsetTop()\">\r\n <ng-container *ngTemplateOutlet=\"dotTpl\"></ng-container>\r\n </sup>\r\n }\r\n }\r\n</div>\r\n\r\n<ng-template #dotTpl>\r\n @if (!dot()) {\r\n @for (item of maxNums(); track item) {\r\n <span class=\"x-badge-scroll\" [style.transform]=\"'translateY(-' + translateYNumbers()[$index] + '%)'\">\r\n @for (j of range(); track j) {\r\n <p>{{ j }}</p>\r\n }\r\n </span>\r\n }\r\n }\r\n</ng-template>\r\n", styles: ["x-badge{display:inline-block}.x-badge{margin:0;padding:0;font-size:var(--x-font-size);display:inline-block;box-sizing:border-box;text-align:center;position:relative}.x-badge>sup{position:absolute;top:0;right:0;overflow:hidden;transform:translate(50%,-50%);transform-origin:100% 0%;border-radius:.625rem;color:var(--x-white);display:inline-block;height:1.125rem;line-height:1.125rem;padding:0 .375rem;text-align:center;white-space:nowrap;box-shadow:0 0 0 .0625rem var(--x-white);vertical-align:middle}.x-badge-dot>sup{width:.5rem;height:.5rem;padding:0;right:0;border-radius:50%}.x-badge-standalone>sup{position:initial;transform:initial;transform-origin:initial}.x-badge-scroll{position:relative;height:1.125rem;display:inline-block;transition:transform var(--x-animation-duration-base) ease-in-out}.x-badge-primary>sup{background-color:var(--x-primary)}.x-badge-success>sup{background-color:var(--x-success)}.x-badge-info>sup{background-color:var(--x-info)}.x-badge-warning>sup{background-color:var(--x-warning)}.x-badge-danger>sup{background-color:var(--x-danger)}.x-badge-text>sup{background-color:var(--x-text)}\n"] }]
192
192
  }] });
193
193
 
194
194
  class XBadgeModule {
195
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
196
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: XBadgeModule, imports: [XBadgeComponent], exports: [XBadgeComponent] }); }
197
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBadgeModule }); }
195
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
196
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: XBadgeModule, imports: [XBadgeComponent], exports: [XBadgeComponent] }); }
197
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBadgeModule }); }
198
198
  }
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBadgeModule, decorators: [{
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBadgeModule, decorators: [{
200
200
  type: NgModule,
201
201
  args: [{
202
202
  exports: [XBadgeComponent],
@@ -110,10 +110,10 @@ class XFormProp extends XProperty {
110
110
  */
111
111
  this.inputValidator = input();
112
112
  }
113
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XFormProp, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
114
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: XFormProp, selector: "x-form-prop", inputs: { 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 }, size: { classPropertyName: "size", publicName: "size", 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 }, pointer: { classPropertyName: "pointer", publicName: "pointer", 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 }); }
113
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XFormProp, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
114
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XFormProp, selector: "x-form-prop", inputs: { 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 }, size: { classPropertyName: "size", publicName: "size", 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 }, pointer: { classPropertyName: "pointer", publicName: "pointer", 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 }); }
115
115
  }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XFormProp, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XFormProp, decorators: [{
117
117
  type: Component,
118
118
  args: [{ selector: 'x-form-prop', template: '' }]
119
119
  }] });
@@ -229,10 +229,10 @@ class XFormControlProp extends XProperty {
229
229
  */
230
230
  this.inputValidator = input();
231
231
  }
232
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XFormControlProp, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
233
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: XFormControlProp, selector: "x-formcontrol-prop", inputs: { validator: { classPropertyName: "validator", publicName: "validator", 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 }, size: { classPropertyName: "size", publicName: "size", 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 }, pointer: { classPropertyName: "pointer", publicName: "pointer", 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 }); }
232
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XFormControlProp, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
233
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XFormControlProp, selector: "x-formcontrol-prop", inputs: { validator: { classPropertyName: "validator", publicName: "validator", 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 }, size: { classPropertyName: "size", publicName: "size", 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 }, pointer: { classPropertyName: "pointer", publicName: "pointer", 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 }); }
234
234
  }
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XFormControlProp, decorators: [{
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XFormControlProp, decorators: [{
236
236
  type: Component,
237
237
  args: [{ selector: 'x-formcontrol-prop', template: '' }]
238
238
  }] });
@@ -335,11 +335,11 @@ function XFormControlFunction(configName) {
335
335
  }
336
336
 
337
337
  class XBaseFormModule {
338
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBaseFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
339
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: XBaseFormModule }); }
340
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBaseFormModule }); }
338
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBaseFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
339
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: XBaseFormModule }); }
340
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBaseFormModule }); }
341
341
  }
342
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XBaseFormModule, decorators: [{
342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XBaseFormModule, decorators: [{
343
343
  type: NgModule,
344
344
  args: [{
345
345
  imports: [],