@ng-nest/ui 18.0.11 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (883) hide show
  1. package/README.md +1 -1
  2. package/affix/affix.property.d.ts +1 -1
  3. package/alert/alert.property.d.ts +1 -1
  4. package/anchor/anchor.property.d.ts +2 -2
  5. package/auto-complete/auto-complete.property.d.ts +16 -19
  6. package/avatar/avatar.property.d.ts +2 -2
  7. package/back-top/back-top.property.d.ts +1 -1
  8. package/badge/badge.property.d.ts +1 -1
  9. package/base-form/base-form.property.d.ts +2 -2
  10. package/button/button.property.d.ts +2 -2
  11. package/calendar/calendar.property.d.ts +1 -1
  12. package/card/card.property.d.ts +1 -1
  13. package/carousel/carousel.property.d.ts +2 -2
  14. package/cascade/cascade.property.d.ts +16 -27
  15. package/checkbox/checkbox.property.d.ts +16 -22
  16. package/collapse/collapse.property.d.ts +2 -2
  17. package/color/color.property.d.ts +1 -1
  18. package/color-picker/color-picker-portal.component.d.ts +10 -10
  19. package/color-picker/color-picker.property.d.ts +15 -15
  20. package/comment/comment.property.d.ts +2 -2
  21. package/container/container.property.d.ts +4 -4
  22. package/crumb/crumb.property.d.ts +1 -1
  23. package/date-picker/date-picker-portal.component.d.ts +1 -1
  24. package/date-picker/date-picker.property.d.ts +34 -34
  25. package/date-picker/date-range-portal.component.d.ts +5 -5
  26. package/description/description.property.d.ts +2 -2
  27. package/dialog/dialog-portal.component.d.ts +0 -2
  28. package/dialog/dialog-portal.directives.d.ts +2 -3
  29. package/dialog/dialog-ref.d.ts +4 -2
  30. package/dialog/dialog.component.d.ts +0 -5
  31. package/dialog/dialog.property.d.ts +14 -10
  32. package/drag/drag.property.d.ts +1 -1
  33. package/drawer/drawer.property.d.ts +2 -2
  34. package/dropdown/dropdown.property.d.ts +1 -1
  35. package/empty/empty.property.d.ts +1 -1
  36. package/fesm2022/ng-nest-ui-affix.mjs +14 -12
  37. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  38. package/fesm2022/ng-nest-ui-alert.mjs +14 -12
  39. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-anchor.mjs +23 -20
  41. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-api.mjs +8 -8
  43. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  44. package/fesm2022/ng-nest-ui-auto-complete.mjs +16 -16
  45. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  46. package/fesm2022/ng-nest-ui-avatar.mjs +18 -18
  47. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  48. package/fesm2022/ng-nest-ui-back-top.mjs +13 -12
  49. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  50. package/fesm2022/ng-nest-ui-badge.mjs +11 -11
  51. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  52. package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
  53. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  54. package/fesm2022/ng-nest-ui-button.mjs +18 -18
  55. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  56. package/fesm2022/ng-nest-ui-calendar.mjs +14 -15
  57. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  58. package/fesm2022/ng-nest-ui-card.mjs +11 -12
  59. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  60. package/fesm2022/ng-nest-ui-carousel.mjs +20 -19
  61. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  62. package/fesm2022/ng-nest-ui-cascade.mjs +16 -16
  63. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  64. package/fesm2022/ng-nest-ui-checkbox.mjs +12 -12
  65. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  66. package/fesm2022/ng-nest-ui-collapse.mjs +18 -18
  67. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  68. package/fesm2022/ng-nest-ui-color-picker.mjs +15 -15
  69. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  70. package/fesm2022/ng-nest-ui-color.mjs +11 -11
  71. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  72. package/fesm2022/ng-nest-ui-comment.mjs +18 -18
  73. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  74. package/fesm2022/ng-nest-ui-container.mjs +36 -36
  75. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  76. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  77. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  78. package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
  79. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  80. package/fesm2022/ng-nest-ui-date-picker.mjs +57 -57
  81. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  82. package/fesm2022/ng-nest-ui-description.mjs +18 -18
  83. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  84. package/fesm2022/ng-nest-ui-dialog.mjs +70 -144
  85. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  86. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  87. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  88. package/fesm2022/ng-nest-ui-drag.mjs +11 -11
  89. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  90. package/fesm2022/ng-nest-ui-drawer.mjs +38 -41
  91. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  92. package/fesm2022/ng-nest-ui-dropdown.mjs +15 -16
  93. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  94. package/fesm2022/ng-nest-ui-empty.mjs +11 -11
  95. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  96. package/fesm2022/ng-nest-ui-examples.mjs +8 -8
  97. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  98. package/fesm2022/ng-nest-ui-find.mjs +11 -11
  99. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  100. package/fesm2022/ng-nest-ui-form.mjs +21 -40
  101. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  102. package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
  103. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  104. package/fesm2022/ng-nest-ui-i18n.mjs +15 -17
  105. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  106. package/fesm2022/ng-nest-ui-icon.mjs +14 -14
  107. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  108. package/fesm2022/ng-nest-ui-image.mjs +24 -24
  109. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  110. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  111. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  112. package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
  113. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  114. package/fesm2022/ng-nest-ui-input.mjs +19 -19
  115. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  116. package/fesm2022/ng-nest-ui-keyword.mjs +12 -13
  117. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  118. package/fesm2022/ng-nest-ui-layout.mjs +18 -18
  119. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  120. package/fesm2022/ng-nest-ui-link.mjs +11 -11
  121. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  122. package/fesm2022/ng-nest-ui-list.mjs +22 -23
  123. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  124. package/fesm2022/ng-nest-ui-loading.mjs +12 -12
  125. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  126. package/fesm2022/ng-nest-ui-menu.mjs +19 -20
  127. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  128. package/fesm2022/ng-nest-ui-message-box.mjs +11 -13
  129. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  130. package/fesm2022/ng-nest-ui-message.mjs +11 -11
  131. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  132. package/fesm2022/ng-nest-ui-notification.mjs +11 -11
  133. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  134. package/fesm2022/ng-nest-ui-outlet.mjs +8 -8
  135. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  136. package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
  137. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  138. package/fesm2022/ng-nest-ui-pagination.mjs +11 -11
  139. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  140. package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
  141. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  142. package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
  143. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  144. package/fesm2022/ng-nest-ui-popover.mjs +15 -15
  145. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  146. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  147. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  148. package/fesm2022/ng-nest-ui-progress.mjs +11 -11
  149. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  150. package/fesm2022/ng-nest-ui-radio.mjs +11 -11
  151. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  152. package/fesm2022/ng-nest-ui-rate.mjs +11 -12
  153. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  154. package/fesm2022/ng-nest-ui-resizable.mjs +16 -14
  155. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  156. package/fesm2022/ng-nest-ui-result.mjs +11 -11
  157. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  158. package/fesm2022/ng-nest-ui-ripple.mjs +37 -27
  159. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  160. package/fesm2022/ng-nest-ui-select.mjs +32 -17
  161. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  162. package/fesm2022/ng-nest-ui-skeleton.mjs +13 -11
  163. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  164. package/fesm2022/ng-nest-ui-slider-select.mjs +15 -21
  165. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  166. package/fesm2022/ng-nest-ui-slider.mjs +11 -11
  167. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  168. package/fesm2022/ng-nest-ui-statistic.mjs +18 -18
  169. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  170. package/fesm2022/ng-nest-ui-steps.mjs +11 -11
  171. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  172. package/fesm2022/ng-nest-ui-switch.mjs +11 -11
  173. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  174. package/fesm2022/ng-nest-ui-table.mjs +33 -33
  175. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  176. package/fesm2022/ng-nest-ui-tabs.mjs +30 -32
  177. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  178. package/fesm2022/ng-nest-ui-tag.mjs +11 -11
  179. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  180. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  181. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  182. package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
  183. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  184. package/fesm2022/ng-nest-ui-theme.mjs +13 -14
  185. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  186. package/fesm2022/ng-nest-ui-time-ago.mjs +8 -8
  187. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  188. package/fesm2022/ng-nest-ui-time-picker.mjs +19 -19
  189. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  190. package/fesm2022/ng-nest-ui-time-range.mjs +8 -8
  191. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  192. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  193. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  194. package/fesm2022/ng-nest-ui-tooltip.mjs +15 -15
  195. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  196. package/fesm2022/ng-nest-ui-transfer.mjs +12 -13
  197. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  198. package/fesm2022/ng-nest-ui-tree-file.mjs +12 -20
  199. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  200. package/fesm2022/ng-nest-ui-tree-select.mjs +15 -15
  201. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  202. package/fesm2022/ng-nest-ui-tree.mjs +21 -21
  203. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  204. package/fesm2022/ng-nest-ui-typography.mjs +11 -11
  205. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  206. package/fesm2022/ng-nest-ui-upload.mjs +15 -15
  207. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  208. package/find/find.property.d.ts +12 -18
  209. package/form/form.property.d.ts +10 -21
  210. package/highlight/highlight.property.d.ts +1 -1
  211. package/icon/icon.property.d.ts +1 -1
  212. package/image/image.property.d.ts +2 -2
  213. package/inner/inner.property.d.ts +1 -1
  214. package/input/input.property.d.ts +17 -20
  215. package/input-number/input-number.property.d.ts +13 -13
  216. package/layout/layout.property.d.ts +2 -2
  217. package/link/link.property.d.ts +1 -1
  218. package/list/list.property.d.ts +12 -12
  219. package/loading/loading.property.d.ts +1 -1
  220. package/menu/menu.property.d.ts +2 -2
  221. package/package.json +108 -282
  222. package/page-header/page-header.property.d.ts +1 -1
  223. package/pagination/pagination.property.d.ts +1 -1
  224. package/popconfirm/popconfirm.property.d.ts +1 -1
  225. package/popover/popover.property.d.ts +1 -1
  226. package/progress/progress.property.d.ts +1 -1
  227. package/radio/radio.property.d.ts +13 -16
  228. package/rate/rate.property.d.ts +14 -22
  229. package/result/result.property.d.ts +1 -1
  230. package/ripple/ripple.directive.d.ts +7 -3
  231. package/ripple/ripple.property.d.ts +1 -1
  232. package/select/select-portal.component.d.ts +3 -2
  233. package/select/select.component.d.ts +1 -0
  234. package/select/select.property.d.ts +20 -15
  235. package/skeleton/skeleton.property.d.ts +1 -1
  236. package/slider/slider.property.d.ts +1 -1
  237. package/slider-select/slider-select.property.d.ts +13 -17
  238. package/statistic/statistic.property.d.ts +2 -2
  239. package/steps/steps.property.d.ts +1 -1
  240. package/style/core/index.css +87 -174
  241. package/style/core/index.css.map +1 -1
  242. package/style/core/index.scss +32 -5
  243. package/style/directives/index.scss +3 -3
  244. package/style/directives/keyword/index.scss +3 -2
  245. package/style/directives/keyword/mixin.scss +9 -11
  246. package/style/directives/keyword/param.scss +2 -1
  247. package/style/directives/resizable/index.scss +3 -2
  248. package/style/directives/resizable/mixin.scss +122 -16
  249. package/style/directives/resizable/param.scss +2 -1
  250. package/style/directives/ripple/index.scss +3 -2
  251. package/style/directives/ripple/mixin.scss +12 -12
  252. package/style/directives/ripple/param.scss +2 -1
  253. package/style/mixins/compatibility.scss +7 -5
  254. package/style/mixins/form.scss +6 -4
  255. package/style/mixins/hidden.scss +5 -2
  256. package/style/params/index.scss +282 -3
  257. package/switch/switch.property.d.ts +14 -14
  258. package/table/table.property.d.ts +4 -4
  259. package/tabs/tabs.property.d.ts +2 -2
  260. package/tag/tag.property.d.ts +1 -1
  261. package/text-retract/text-retract.property.d.ts +1 -1
  262. package/textarea/textarea.property.d.ts +14 -17
  263. package/theme/theme.property.d.ts +6 -10
  264. package/time-picker/time-picker.property.d.ts +17 -23
  265. package/timeline/timeline.property.d.ts +1 -1
  266. package/tooltip/tooltip.property.d.ts +1 -1
  267. package/transfer/transfer.property.d.ts +9 -13
  268. package/tree/tree.property.d.ts +2 -2
  269. package/tree-file/tree-file.property.d.ts +1 -1
  270. package/tree-select/tree-select-portal.component.d.ts +1 -1
  271. package/tree-select/tree-select.property.d.ts +15 -15
  272. package/typography/typography.property.d.ts +1 -1
  273. package/upload/upload.property.d.ts +9 -9
  274. package/esm2022/affix/affix.component.mjs +0 -12
  275. package/esm2022/affix/affix.module.mjs +0 -16
  276. package/esm2022/affix/affix.property.mjs +0 -51
  277. package/esm2022/affix/ng-nest-ui-affix.mjs +0 -5
  278. package/esm2022/affix/public-api.mjs +0 -4
  279. package/esm2022/alert/alert.component.mjs +0 -73
  280. package/esm2022/alert/alert.module.mjs +0 -16
  281. package/esm2022/alert/alert.property.mjs +0 -313
  282. package/esm2022/alert/ng-nest-ui-alert.mjs +0 -5
  283. package/esm2022/alert/public-api.mjs +0 -4
  284. package/esm2022/anchor/anchor-inner.component.mjs +0 -18
  285. package/esm2022/anchor/anchor.component.mjs +0 -160
  286. package/esm2022/anchor/anchor.module.mjs +0 -17
  287. package/esm2022/anchor/anchor.property.mjs +0 -121
  288. package/esm2022/anchor/ng-nest-ui-anchor.mjs +0 -5
  289. package/esm2022/anchor/public-api.mjs +0 -5
  290. package/esm2022/api/api.component.mjs +0 -18
  291. package/esm2022/api/api.module.mjs +0 -16
  292. package/esm2022/api/api.property.mjs +0 -7
  293. package/esm2022/api/ng-nest-ui-api.mjs +0 -5
  294. package/esm2022/api/public-api.mjs +0 -4
  295. package/esm2022/auto-complete/auto-complete-portal.component.mjs +0 -80
  296. package/esm2022/auto-complete/auto-complete.component.mjs +0 -306
  297. package/esm2022/auto-complete/auto-complete.module.mjs +0 -16
  298. package/esm2022/auto-complete/auto-complete.property.mjs +0 -172
  299. package/esm2022/auto-complete/ng-nest-ui-auto-complete.mjs +0 -5
  300. package/esm2022/auto-complete/public-api.mjs +0 -5
  301. package/esm2022/avatar/avatar-group.component.mjs +0 -19
  302. package/esm2022/avatar/avatar.component.mjs +0 -109
  303. package/esm2022/avatar/avatar.module.mjs +0 -17
  304. package/esm2022/avatar/avatar.property.mjs +0 -143
  305. package/esm2022/avatar/ng-nest-ui-avatar.mjs +0 -5
  306. package/esm2022/avatar/public-api.mjs +0 -5
  307. package/esm2022/back-top/back-top.component.mjs +0 -104
  308. package/esm2022/back-top/back-top.module.mjs +0 -16
  309. package/esm2022/back-top/back-top.property.mjs +0 -50
  310. package/esm2022/back-top/ng-nest-ui-back-top.mjs +0 -5
  311. package/esm2022/back-top/public-api.mjs +0 -4
  312. package/esm2022/badge/badge.component.mjs +0 -63
  313. package/esm2022/badge/badge.module.mjs +0 -16
  314. package/esm2022/badge/badge.property.mjs +0 -133
  315. package/esm2022/badge/ng-nest-ui-badge.mjs +0 -5
  316. package/esm2022/badge/public-api.mjs +0 -4
  317. package/esm2022/base-form/base-form.component.mjs +0 -101
  318. package/esm2022/base-form/base-form.module.mjs +0 -15
  319. package/esm2022/base-form/base-form.property.mjs +0 -237
  320. package/esm2022/base-form/ng-nest-ui-base-form.mjs +0 -5
  321. package/esm2022/base-form/public-api.mjs +0 -4
  322. package/esm2022/button/button.component.mjs +0 -71
  323. package/esm2022/button/button.module.mjs +0 -17
  324. package/esm2022/button/button.property.mjs +0 -331
  325. package/esm2022/button/buttons.component.mjs +0 -55
  326. package/esm2022/button/ng-nest-ui-button.mjs +0 -5
  327. package/esm2022/button/public-api.mjs +0 -5
  328. package/esm2022/calendar/calendar.component.mjs +0 -117
  329. package/esm2022/calendar/calendar.module.mjs +0 -16
  330. package/esm2022/calendar/calendar.property.mjs +0 -110
  331. package/esm2022/calendar/ng-nest-ui-calendar.mjs +0 -5
  332. package/esm2022/calendar/public-api.mjs +0 -4
  333. package/esm2022/card/card.component.mjs +0 -22
  334. package/esm2022/card/card.module.mjs +0 -16
  335. package/esm2022/card/card.property.mjs +0 -77
  336. package/esm2022/card/ng-nest-ui-card.mjs +0 -5
  337. package/esm2022/card/public-api.mjs +0 -4
  338. package/esm2022/carousel/carousel-panel.component.mjs +0 -157
  339. package/esm2022/carousel/carousel.component.mjs +0 -95
  340. package/esm2022/carousel/carousel.module.mjs +0 -17
  341. package/esm2022/carousel/carousel.property.mjs +0 -256
  342. package/esm2022/carousel/ng-nest-ui-carousel.mjs +0 -5
  343. package/esm2022/carousel/public-api.mjs +0 -5
  344. package/esm2022/cascade/cascade-portal.component.mjs +0 -141
  345. package/esm2022/cascade/cascade.component.mjs +0 -238
  346. package/esm2022/cascade/cascade.module.mjs +0 -16
  347. package/esm2022/cascade/cascade.property.mjs +0 -167
  348. package/esm2022/cascade/ng-nest-ui-cascade.mjs +0 -5
  349. package/esm2022/cascade/public-api.mjs +0 -5
  350. package/esm2022/checkbox/checkbox.component.mjs +0 -102
  351. package/esm2022/checkbox/checkbox.module.mjs +0 -16
  352. package/esm2022/checkbox/checkbox.property.mjs +0 -136
  353. package/esm2022/checkbox/ng-nest-ui-checkbox.mjs +0 -5
  354. package/esm2022/checkbox/public-api.mjs +0 -4
  355. package/esm2022/collapse/collapse-panel.component.mjs +0 -55
  356. package/esm2022/collapse/collapse.component.mjs +0 -49
  357. package/esm2022/collapse/collapse.module.mjs +0 -17
  358. package/esm2022/collapse/collapse.property.mjs +0 -189
  359. package/esm2022/collapse/ng-nest-ui-collapse.mjs +0 -5
  360. package/esm2022/collapse/public-api.mjs +0 -5
  361. package/esm2022/color/color.component.mjs +0 -35
  362. package/esm2022/color/color.module.mjs +0 -16
  363. package/esm2022/color/color.property.mjs +0 -71
  364. package/esm2022/color/ng-nest-ui-color.mjs +0 -5
  365. package/esm2022/color/public-api.mjs +0 -4
  366. package/esm2022/color-picker/color-picker-portal.component.mjs +0 -396
  367. package/esm2022/color-picker/color-picker.component.mjs +0 -191
  368. package/esm2022/color-picker/color-picker.module.mjs +0 -16
  369. package/esm2022/color-picker/color-picker.property.mjs +0 -142
  370. package/esm2022/color-picker/ng-nest-ui-color-picker.mjs +0 -5
  371. package/esm2022/color-picker/public-api.mjs +0 -5
  372. package/esm2022/comment/comment-reply.component.mjs +0 -24
  373. package/esm2022/comment/comment.component.mjs +0 -55
  374. package/esm2022/comment/comment.module.mjs +0 -17
  375. package/esm2022/comment/comment.property.mjs +0 -90
  376. package/esm2022/comment/ng-nest-ui-comment.mjs +0 -5
  377. package/esm2022/comment/public-api.mjs +0 -5
  378. package/esm2022/container/aside.component.mjs +0 -25
  379. package/esm2022/container/container.component.mjs +0 -31
  380. package/esm2022/container/container.module.mjs +0 -20
  381. package/esm2022/container/container.property.mjs +0 -115
  382. package/esm2022/container/footer.component.mjs +0 -35
  383. package/esm2022/container/header.component.mjs +0 -35
  384. package/esm2022/container/main.component.mjs +0 -18
  385. package/esm2022/container/ng-nest-ui-container.mjs +0 -5
  386. package/esm2022/container/public-api.mjs +0 -8
  387. package/esm2022/core/animation/badge.mjs +0 -53
  388. package/esm2022/core/animation/connect.mjs +0 -31
  389. package/esm2022/core/animation/consts.mjs +0 -11
  390. package/esm2022/core/animation/drop.mjs +0 -13
  391. package/esm2022/core/animation/fade.mjs +0 -24
  392. package/esm2022/core/animation/move.mjs +0 -179
  393. package/esm2022/core/animation/opacity.mjs +0 -13
  394. package/esm2022/core/animation/public-api.mjs +0 -9
  395. package/esm2022/core/animation/slide.mjs +0 -17
  396. package/esm2022/core/config/config.mjs +0 -3
  397. package/esm2022/core/config/config.service.mjs +0 -54
  398. package/esm2022/core/config/index.mjs +0 -2
  399. package/esm2022/core/config/public-api.mjs +0 -3
  400. package/esm2022/core/functions/chunk.mjs +0 -25
  401. package/esm2022/core/functions/clone-deep.mjs +0 -28
  402. package/esm2022/core/functions/convert.mjs +0 -230
  403. package/esm2022/core/functions/csspx.mjs +0 -17
  404. package/esm2022/core/functions/date.mjs +0 -223
  405. package/esm2022/core/functions/drop.mjs +0 -20
  406. package/esm2022/core/functions/flex.mjs +0 -25
  407. package/esm2022/core/functions/group-by.mjs +0 -14
  408. package/esm2022/core/functions/guid.mjs +0 -11
  409. package/esm2022/core/functions/has-in.mjs +0 -8
  410. package/esm2022/core/functions/order-by.mjs +0 -56
  411. package/esm2022/core/functions/parent-path.mjs +0 -27
  412. package/esm2022/core/functions/property.mjs +0 -20
  413. package/esm2022/core/functions/public-api.mjs +0 -16
  414. package/esm2022/core/functions/remove.mjs +0 -19
  415. package/esm2022/core/functions/resize.mjs +0 -22
  416. package/esm2022/core/interfaces/data.type.mjs +0 -164
  417. package/esm2022/core/interfaces/identify.type.mjs +0 -7
  418. package/esm2022/core/interfaces/index.mjs +0 -2
  419. package/esm2022/core/interfaces/layout.type.mjs +0 -2
  420. package/esm2022/core/interfaces/public-api.mjs +0 -5
  421. package/esm2022/core/interfaces/result-list.type.mjs +0 -2
  422. package/esm2022/core/ng-nest-ui-core.mjs +0 -5
  423. package/esm2022/core/public-api.mjs +0 -8
  424. package/esm2022/core/services/http.service.mjs +0 -58
  425. package/esm2022/core/services/preloading-strategy.service.mjs +0 -24
  426. package/esm2022/core/services/public-api.mjs +0 -6
  427. package/esm2022/core/services/repository.service.mjs +0 -29
  428. package/esm2022/core/services/reuse-strategy.service.mjs +0 -47
  429. package/esm2022/core/services/storage.service.mjs +0 -75
  430. package/esm2022/core/theme/index.mjs +0 -2
  431. package/esm2022/core/theme/public-api.mjs +0 -3
  432. package/esm2022/core/theme/theme.mjs +0 -89
  433. package/esm2022/core/theme/theme.service.mjs +0 -270
  434. package/esm2022/core/util/animation.mjs +0 -26
  435. package/esm2022/core/util/camel-to-kebab.mjs +0 -16
  436. package/esm2022/core/util/check.mjs +0 -15
  437. package/esm2022/core/util/computed-style.mjs +0 -20
  438. package/esm2022/core/util/host.mjs +0 -14
  439. package/esm2022/core/util/html.mjs +0 -12
  440. package/esm2022/core/util/index.mjs +0 -2
  441. package/esm2022/core/util/kebab-to-camel.mjs +0 -16
  442. package/esm2022/core/util/log.mjs +0 -15
  443. package/esm2022/core/util/option.mjs +0 -14
  444. package/esm2022/core/util/public-api.mjs +0 -11
  445. package/esm2022/core/util/sleep.mjs +0 -8
  446. package/esm2022/crumb/crumb.component.mjs +0 -25
  447. package/esm2022/crumb/crumb.module.mjs +0 -16
  448. package/esm2022/crumb/crumb.property.mjs +0 -45
  449. package/esm2022/crumb/ng-nest-ui-crumb.mjs +0 -5
  450. package/esm2022/crumb/public-api.mjs +0 -4
  451. package/esm2022/date-picker/date-picker-portal.component.mjs +0 -196
  452. package/esm2022/date-picker/date-picker.component.mjs +0 -320
  453. package/esm2022/date-picker/date-picker.module.mjs +0 -17
  454. package/esm2022/date-picker/date-picker.property.mjs +0 -770
  455. package/esm2022/date-picker/date-quarter.pipe.mjs +0 -19
  456. package/esm2022/date-picker/date-range-portal.component.mjs +0 -349
  457. package/esm2022/date-picker/date-range.component.mjs +0 -432
  458. package/esm2022/date-picker/ng-nest-ui-date-picker.mjs +0 -5
  459. package/esm2022/date-picker/picker-date.component.mjs +0 -334
  460. package/esm2022/date-picker/picker-month.component.mjs +0 -232
  461. package/esm2022/date-picker/picker-quarter.component.mjs +0 -237
  462. package/esm2022/date-picker/picker-year.component.mjs +0 -233
  463. package/esm2022/date-picker/public-api.mjs +0 -12
  464. package/esm2022/description/description-item.component.mjs +0 -24
  465. package/esm2022/description/description.component.mjs +0 -48
  466. package/esm2022/description/description.module.mjs +0 -17
  467. package/esm2022/description/description.property.mjs +0 -219
  468. package/esm2022/description/ng-nest-ui-description.mjs +0 -5
  469. package/esm2022/description/public-api.mjs +0 -5
  470. package/esm2022/dialog/dialog-container.component.mjs +0 -29
  471. package/esm2022/dialog/dialog-portal.component.mjs +0 -97
  472. package/esm2022/dialog/dialog-portal.directives.mjs +0 -119
  473. package/esm2022/dialog/dialog-ref.mjs +0 -100
  474. package/esm2022/dialog/dialog.component.mjs +0 -282
  475. package/esm2022/dialog/dialog.module.mjs +0 -50
  476. package/esm2022/dialog/dialog.property.mjs +0 -207
  477. package/esm2022/dialog/dialog.service.mjs +0 -122
  478. package/esm2022/dialog/ng-nest-ui-dialog.mjs +0 -5
  479. package/esm2022/dialog/public-api.mjs +0 -9
  480. package/esm2022/doc/doc.component.mjs +0 -18
  481. package/esm2022/doc/doc.module.mjs +0 -16
  482. package/esm2022/doc/doc.property.mjs +0 -7
  483. package/esm2022/doc/ng-nest-ui-doc.mjs +0 -5
  484. package/esm2022/doc/public-api.mjs +0 -4
  485. package/esm2022/drag/drag.directive.mjs +0 -57
  486. package/esm2022/drag/drag.module.mjs +0 -16
  487. package/esm2022/drag/drag.property.mjs +0 -25
  488. package/esm2022/drag/ng-nest-ui-drag.mjs +0 -5
  489. package/esm2022/drag/public-api.mjs +0 -4
  490. package/esm2022/drawer/drawer-container.component.mjs +0 -29
  491. package/esm2022/drawer/drawer-portal.component.mjs +0 -50
  492. package/esm2022/drawer/drawer-portal.directives.mjs +0 -58
  493. package/esm2022/drawer/drawer-ref.mjs +0 -17
  494. package/esm2022/drawer/drawer.component.mjs +0 -95
  495. package/esm2022/drawer/drawer.module.mjs +0 -38
  496. package/esm2022/drawer/drawer.property.mjs +0 -84
  497. package/esm2022/drawer/drawer.service.mjs +0 -65
  498. package/esm2022/drawer/ng-nest-ui-drawer.mjs +0 -5
  499. package/esm2022/drawer/public-api.mjs +0 -10
  500. package/esm2022/dropdown/dropdown-portal.component.mjs +0 -204
  501. package/esm2022/dropdown/dropdown.component.mjs +0 -179
  502. package/esm2022/dropdown/dropdown.module.mjs +0 -16
  503. package/esm2022/dropdown/dropdown.property.mjs +0 -96
  504. package/esm2022/dropdown/ng-nest-ui-dropdown.mjs +0 -5
  505. package/esm2022/dropdown/public-api.mjs +0 -5
  506. package/esm2022/empty/empty.component.mjs +0 -15
  507. package/esm2022/empty/empty.module.mjs +0 -16
  508. package/esm2022/empty/empty.property.mjs +0 -54
  509. package/esm2022/empty/ng-nest-ui-empty.mjs +0 -5
  510. package/esm2022/empty/public-api.mjs +0 -4
  511. package/esm2022/examples/examples.component.mjs +0 -18
  512. package/esm2022/examples/examples.module.mjs +0 -16
  513. package/esm2022/examples/examples.property.mjs +0 -7
  514. package/esm2022/examples/ng-nest-ui-examples.mjs +0 -5
  515. package/esm2022/examples/public-api.mjs +0 -4
  516. package/esm2022/find/find.component.mjs +0 -331
  517. package/esm2022/find/find.module.mjs +0 -16
  518. package/esm2022/find/find.property.mjs +0 -260
  519. package/esm2022/find/ng-nest-ui-find.mjs +0 -5
  520. package/esm2022/find/public-api.mjs +0 -4
  521. package/esm2022/form/control.component.mjs +0 -249
  522. package/esm2022/form/form.component.mjs +0 -116
  523. package/esm2022/form/form.module.mjs +0 -17
  524. package/esm2022/form/form.property.mjs +0 -202
  525. package/esm2022/form/ng-nest-ui-form.mjs +0 -5
  526. package/esm2022/form/public-api.mjs +0 -5
  527. package/esm2022/highlight/highlight.component.mjs +0 -85
  528. package/esm2022/highlight/highlight.module.mjs +0 -16
  529. package/esm2022/highlight/highlight.property.mjs +0 -45
  530. package/esm2022/highlight/highlight.service.mjs +0 -17
  531. package/esm2022/highlight/ng-nest-ui-highlight.mjs +0 -5
  532. package/esm2022/highlight/public-api.mjs +0 -5
  533. package/esm2022/i18n/i18n.directive.mjs +0 -29
  534. package/esm2022/i18n/i18n.module.mjs +0 -17
  535. package/esm2022/i18n/i18n.pipe.mjs +0 -28
  536. package/esm2022/i18n/i18n.property.mjs +0 -9
  537. package/esm2022/i18n/i18n.service.mjs +0 -57
  538. package/esm2022/i18n/languages/ar_EG.mjs +0 -169
  539. package/esm2022/i18n/languages/bg_BG.mjs +0 -172
  540. package/esm2022/i18n/languages/ca_ES.mjs +0 -172
  541. package/esm2022/i18n/languages/cs_CZ.mjs +0 -172
  542. package/esm2022/i18n/languages/da_DK.mjs +0 -172
  543. package/esm2022/i18n/languages/de_DE.mjs +0 -172
  544. package/esm2022/i18n/languages/el_GR.mjs +0 -172
  545. package/esm2022/i18n/languages/en_GB.mjs +0 -181
  546. package/esm2022/i18n/languages/en_US.mjs +0 -181
  547. package/esm2022/i18n/languages/es_ES.mjs +0 -172
  548. package/esm2022/i18n/languages/et_EE.mjs +0 -172
  549. package/esm2022/i18n/languages/fa_IR.mjs +0 -172
  550. package/esm2022/i18n/languages/fi_FI.mjs +0 -172
  551. package/esm2022/i18n/languages/fr_BE.mjs +0 -172
  552. package/esm2022/i18n/languages/fr_FR.mjs +0 -172
  553. package/esm2022/i18n/languages/he_IL.mjs +0 -169
  554. package/esm2022/i18n/languages/hi_IN.mjs +0 -172
  555. package/esm2022/i18n/languages/hr_HR.mjs +0 -172
  556. package/esm2022/i18n/languages/hu_HU.mjs +0 -172
  557. package/esm2022/i18n/languages/hy_AM.mjs +0 -172
  558. package/esm2022/i18n/languages/id_ID.mjs +0 -172
  559. package/esm2022/i18n/languages/is_IS.mjs +0 -172
  560. package/esm2022/i18n/languages/it_IT.mjs +0 -172
  561. package/esm2022/i18n/languages/ja_JP.mjs +0 -172
  562. package/esm2022/i18n/languages/ka_GE.mjs +0 -172
  563. package/esm2022/i18n/languages/kn_IN.mjs +0 -172
  564. package/esm2022/i18n/languages/ko_KR.mjs +0 -180
  565. package/esm2022/i18n/languages/ku_IQ.mjs +0 -156
  566. package/esm2022/i18n/languages/lv_LV.mjs +0 -180
  567. package/esm2022/i18n/languages/mn_MN.mjs +0 -180
  568. package/esm2022/i18n/languages/ms_MY.mjs +0 -180
  569. package/esm2022/i18n/languages/nb_NO.mjs +0 -180
  570. package/esm2022/i18n/languages/ne_NP.mjs +0 -180
  571. package/esm2022/i18n/languages/nl_BE.mjs +0 -180
  572. package/esm2022/i18n/languages/nl_NL.mjs +0 -180
  573. package/esm2022/i18n/languages/pl_PL.mjs +0 -180
  574. package/esm2022/i18n/languages/pt_BR.mjs +0 -180
  575. package/esm2022/i18n/languages/pt_PT.mjs +0 -180
  576. package/esm2022/i18n/languages/ro_RO.mjs +0 -180
  577. package/esm2022/i18n/languages/ru_RU.mjs +0 -180
  578. package/esm2022/i18n/languages/sk_SK.mjs +0 -171
  579. package/esm2022/i18n/languages/sl_SI.mjs +0 -172
  580. package/esm2022/i18n/languages/sr_RS.mjs +0 -172
  581. package/esm2022/i18n/languages/sv_SE.mjs +0 -172
  582. package/esm2022/i18n/languages/ta_IN.mjs +0 -180
  583. package/esm2022/i18n/languages/th_TH.mjs +0 -180
  584. package/esm2022/i18n/languages/tr_TR.mjs +0 -180
  585. package/esm2022/i18n/languages/uk_UA.mjs +0 -180
  586. package/esm2022/i18n/languages/vi_VN.mjs +0 -180
  587. package/esm2022/i18n/languages/zh_CN.mjs +0 -180
  588. package/esm2022/i18n/languages/zh_TW.mjs +0 -180
  589. package/esm2022/i18n/ng-nest-ui-i18n.mjs +0 -5
  590. package/esm2022/i18n/public-api.mjs +0 -57
  591. package/esm2022/icon/icon.component.mjs +0 -158
  592. package/esm2022/icon/icon.module.mjs +0 -16
  593. package/esm2022/icon/icon.property.mjs +0 -65
  594. package/esm2022/icon/icon.service.mjs +0 -89
  595. package/esm2022/icon/ng-nest-ui-icon.mjs +0 -5
  596. package/esm2022/icon/public-api.mjs +0 -5
  597. package/esm2022/image/image-group.component.mjs +0 -27
  598. package/esm2022/image/image-preview.component.mjs +0 -135
  599. package/esm2022/image/image.component.mjs +0 -75
  600. package/esm2022/image/image.module.mjs +0 -18
  601. package/esm2022/image/image.property.mjs +0 -196
  602. package/esm2022/image/ng-nest-ui-image.mjs +0 -5
  603. package/esm2022/image/public-api.mjs +0 -6
  604. package/esm2022/index.mjs +0 -106
  605. package/esm2022/inner/inner.component.mjs +0 -25
  606. package/esm2022/inner/inner.module.mjs +0 -16
  607. package/esm2022/inner/inner.property.mjs +0 -30
  608. package/esm2022/inner/ng-nest-ui-inner.mjs +0 -5
  609. package/esm2022/inner/public-api.mjs +0 -4
  610. package/esm2022/input/input-group.component.mjs +0 -16
  611. package/esm2022/input/input.component.mjs +0 -224
  612. package/esm2022/input/input.module.mjs +0 -17
  613. package/esm2022/input/input.property.mjs +0 -281
  614. package/esm2022/input/ng-nest-ui-input.mjs +0 -5
  615. package/esm2022/input/public-api.mjs +0 -5
  616. package/esm2022/input-number/input-number.component.mjs +0 -131
  617. package/esm2022/input-number/input-number.module.mjs +0 -16
  618. package/esm2022/input-number/input-number.property.mjs +0 -146
  619. package/esm2022/input-number/ng-nest-ui-input-number.mjs +0 -5
  620. package/esm2022/input-number/public-api.mjs +0 -4
  621. package/esm2022/keyword/keyword.directive.mjs +0 -61
  622. package/esm2022/keyword/keyword.module.mjs +0 -16
  623. package/esm2022/keyword/keyword.property.mjs +0 -45
  624. package/esm2022/keyword/ng-nest-ui-keyword.mjs +0 -5
  625. package/esm2022/keyword/public-api.mjs +0 -4
  626. package/esm2022/layout/col.component.mjs +0 -68
  627. package/esm2022/layout/layout.module.mjs +0 -17
  628. package/esm2022/layout/layout.property.mjs +0 -150
  629. package/esm2022/layout/ng-nest-ui-layout.mjs +0 -5
  630. package/esm2022/layout/public-api.mjs +0 -5
  631. package/esm2022/layout/row.component.mjs +0 -54
  632. package/esm2022/link/link.component.mjs +0 -28
  633. package/esm2022/link/link.module.mjs +0 -16
  634. package/esm2022/link/link.property.mjs +0 -109
  635. package/esm2022/link/ng-nest-ui-link.mjs +0 -5
  636. package/esm2022/link/public-api.mjs +0 -4
  637. package/esm2022/list/list-drop-group.directive.mjs +0 -39
  638. package/esm2022/list/list-option.component.mjs +0 -37
  639. package/esm2022/list/list.component.mjs +0 -409
  640. package/esm2022/list/list.module.mjs +0 -18
  641. package/esm2022/list/list.property.mjs +0 -273
  642. package/esm2022/list/ng-nest-ui-list.mjs +0 -5
  643. package/esm2022/list/public-api.mjs +0 -6
  644. package/esm2022/loading/loading.component.mjs +0 -77
  645. package/esm2022/loading/loading.module.mjs +0 -16
  646. package/esm2022/loading/loading.property.mjs +0 -70
  647. package/esm2022/loading/ng-nest-ui-loading.mjs +0 -5
  648. package/esm2022/loading/public-api.mjs +0 -4
  649. package/esm2022/menu/menu-node.component.mjs +0 -36
  650. package/esm2022/menu/menu.component.mjs +0 -171
  651. package/esm2022/menu/menu.module.mjs +0 -17
  652. package/esm2022/menu/menu.property.mjs +0 -107
  653. package/esm2022/menu/ng-nest-ui-menu.mjs +0 -5
  654. package/esm2022/menu/public-api.mjs +0 -5
  655. package/esm2022/message/message-ref.mjs +0 -13
  656. package/esm2022/message/message.component.mjs +0 -40
  657. package/esm2022/message/message.module.mjs +0 -15
  658. package/esm2022/message/message.property.mjs +0 -9
  659. package/esm2022/message/message.service.mjs +0 -146
  660. package/esm2022/message/ng-nest-ui-message.mjs +0 -5
  661. package/esm2022/message/public-api.mjs +0 -6
  662. package/esm2022/message-box/message-box.component.mjs +0 -122
  663. package/esm2022/message-box/message-box.module.mjs +0 -15
  664. package/esm2022/message-box/message-box.property.mjs +0 -8
  665. package/esm2022/message-box/message-box.service.mjs +0 -97
  666. package/esm2022/message-box/ng-nest-ui-message-box.mjs +0 -5
  667. package/esm2022/message-box/public-api.mjs +0 -5
  668. package/esm2022/ng-nest-ui.mjs +0 -5
  669. package/esm2022/notification/ng-nest-ui-notification.mjs +0 -5
  670. package/esm2022/notification/notification.component.mjs +0 -42
  671. package/esm2022/notification/notification.module.mjs +0 -15
  672. package/esm2022/notification/notification.property.mjs +0 -8
  673. package/esm2022/notification/notification.service.mjs +0 -107
  674. package/esm2022/notification/public-api.mjs +0 -5
  675. package/esm2022/outlet/ng-nest-ui-outlet.mjs +0 -5
  676. package/esm2022/outlet/outlet.directive.mjs +0 -72
  677. package/esm2022/outlet/outlet.module.mjs +0 -16
  678. package/esm2022/outlet/outlet.property.mjs +0 -7
  679. package/esm2022/outlet/public-api.mjs +0 -4
  680. package/esm2022/page-header/ng-nest-ui-page-header.mjs +0 -5
  681. package/esm2022/page-header/page-header.component.mjs +0 -24
  682. package/esm2022/page-header/page-header.module.mjs +0 -16
  683. package/esm2022/page-header/page-header.property.mjs +0 -50
  684. package/esm2022/page-header/public-api.mjs +0 -4
  685. package/esm2022/pagination/ng-nest-ui-pagination.mjs +0 -5
  686. package/esm2022/pagination/pagination.component.mjs +0 -205
  687. package/esm2022/pagination/pagination.module.mjs +0 -16
  688. package/esm2022/pagination/pagination.property.mjs +0 -149
  689. package/esm2022/pagination/public-api.mjs +0 -4
  690. package/esm2022/pattern/ng-nest-ui-pattern.mjs +0 -5
  691. package/esm2022/pattern/pattern.component.mjs +0 -18
  692. package/esm2022/pattern/pattern.module.mjs +0 -16
  693. package/esm2022/pattern/pattern.property.mjs +0 -7
  694. package/esm2022/pattern/public-api.mjs +0 -4
  695. package/esm2022/popconfirm/ng-nest-ui-popconfirm.mjs +0 -5
  696. package/esm2022/popconfirm/popconfirm.component.mjs +0 -59
  697. package/esm2022/popconfirm/popconfirm.module.mjs +0 -16
  698. package/esm2022/popconfirm/popconfirm.property.mjs +0 -100
  699. package/esm2022/popconfirm/public-api.mjs +0 -4
  700. package/esm2022/popover/ng-nest-ui-popover.mjs +0 -5
  701. package/esm2022/popover/popover-portal.component.mjs +0 -52
  702. package/esm2022/popover/popover.directive.mjs +0 -186
  703. package/esm2022/popover/popover.module.mjs +0 -16
  704. package/esm2022/popover/popover.property.mjs +0 -101
  705. package/esm2022/popover/public-api.mjs +0 -5
  706. package/esm2022/portal/ng-nest-ui-portal.mjs +0 -5
  707. package/esm2022/portal/portal.module.mjs +0 -16
  708. package/esm2022/portal/portal.property.mjs +0 -24
  709. package/esm2022/portal/portal.service.mjs +0 -190
  710. package/esm2022/portal/public-api.mjs +0 -4
  711. package/esm2022/progress/ng-nest-ui-progress.mjs +0 -5
  712. package/esm2022/progress/progress.component.mjs +0 -224
  713. package/esm2022/progress/progress.module.mjs +0 -16
  714. package/esm2022/progress/progress.property.mjs +0 -110
  715. package/esm2022/progress/public-api.mjs +0 -4
  716. package/esm2022/radio/ng-nest-ui-radio.mjs +0 -5
  717. package/esm2022/radio/public-api.mjs +0 -4
  718. package/esm2022/radio/radio.component.mjs +0 -77
  719. package/esm2022/radio/radio.module.mjs +0 -16
  720. package/esm2022/radio/radio.property.mjs +0 -121
  721. package/esm2022/rate/ng-nest-ui-rate.mjs +0 -5
  722. package/esm2022/rate/public-api.mjs +0 -4
  723. package/esm2022/rate/rate.component.mjs +0 -99
  724. package/esm2022/rate/rate.module.mjs +0 -16
  725. package/esm2022/rate/rate.property.mjs +0 -86
  726. package/esm2022/resizable/ng-nest-ui-resizable.mjs +0 -5
  727. package/esm2022/resizable/public-api.mjs +0 -4
  728. package/esm2022/resizable/resizable.directive.mjs +0 -262
  729. package/esm2022/resizable/resizable.module.mjs +0 -16
  730. package/esm2022/resizable/resizable.property.mjs +0 -64
  731. package/esm2022/result/ng-nest-ui-result.mjs +0 -5
  732. package/esm2022/result/public-api.mjs +0 -4
  733. package/esm2022/result/result.component.mjs +0 -25
  734. package/esm2022/result/result.module.mjs +0 -16
  735. package/esm2022/result/result.property.mjs +0 -45
  736. package/esm2022/ripple/ng-nest-ui-ripple.mjs +0 -5
  737. package/esm2022/ripple/public-api.mjs +0 -4
  738. package/esm2022/ripple/ripple.directive.mjs +0 -83
  739. package/esm2022/ripple/ripple.module.mjs +0 -16
  740. package/esm2022/ripple/ripple.property.mjs +0 -40
  741. package/esm2022/select/ng-nest-ui-select.mjs +0 -5
  742. package/esm2022/select/public-api.mjs +0 -5
  743. package/esm2022/select/select-portal.component.mjs +0 -102
  744. package/esm2022/select/select.component.mjs +0 -680
  745. package/esm2022/select/select.module.mjs +0 -16
  746. package/esm2022/select/select.property.mjs +0 -231
  747. package/esm2022/skeleton/ng-nest-ui-skeleton.mjs +0 -5
  748. package/esm2022/skeleton/public-api.mjs +0 -4
  749. package/esm2022/skeleton/skeleton.component.mjs +0 -23
  750. package/esm2022/skeleton/skeleton.module.mjs +0 -16
  751. package/esm2022/skeleton/skeleton.property.mjs +0 -55
  752. package/esm2022/slider/ng-nest-ui-slider.mjs +0 -5
  753. package/esm2022/slider/public-api.mjs +0 -4
  754. package/esm2022/slider/slider.component.mjs +0 -222
  755. package/esm2022/slider/slider.module.mjs +0 -17
  756. package/esm2022/slider/slider.property.mjs +0 -102
  757. package/esm2022/slider-select/ng-nest-ui-slider-select.mjs +0 -5
  758. package/esm2022/slider-select/public-api.mjs +0 -4
  759. package/esm2022/slider-select/slider-select.component.mjs +0 -363
  760. package/esm2022/slider-select/slider-select.module.mjs +0 -16
  761. package/esm2022/slider-select/slider-select.property.mjs +0 -136
  762. package/esm2022/statistic/countdown.component.mjs +0 -70
  763. package/esm2022/statistic/ng-nest-ui-statistic.mjs +0 -5
  764. package/esm2022/statistic/public-api.mjs +0 -5
  765. package/esm2022/statistic/statistic.component.mjs +0 -34
  766. package/esm2022/statistic/statistic.module.mjs +0 -17
  767. package/esm2022/statistic/statistic.property.mjs +0 -106
  768. package/esm2022/steps/ng-nest-ui-steps.mjs +0 -5
  769. package/esm2022/steps/public-api.mjs +0 -4
  770. package/esm2022/steps/steps.component.mjs +0 -49
  771. package/esm2022/steps/steps.module.mjs +0 -16
  772. package/esm2022/steps/steps.property.mjs +0 -60
  773. package/esm2022/switch/ng-nest-ui-switch.mjs +0 -5
  774. package/esm2022/switch/public-api.mjs +0 -4
  775. package/esm2022/switch/switch.component.mjs +0 -37
  776. package/esm2022/switch/switch.module.mjs +0 -16
  777. package/esm2022/switch/switch.property.mjs +0 -91
  778. package/esm2022/table/ng-nest-ui-table.mjs +0 -5
  779. package/esm2022/table/public-api.mjs +0 -7
  780. package/esm2022/table/table-body.component.mjs +0 -236
  781. package/esm2022/table/table-foot.component.mjs +0 -29
  782. package/esm2022/table/table-head.component.mjs +0 -169
  783. package/esm2022/table/table.component.mjs +0 -372
  784. package/esm2022/table/table.module.mjs +0 -19
  785. package/esm2022/table/table.property.mjs +0 -624
  786. package/esm2022/tabs/ng-nest-ui-tabs.mjs +0 -5
  787. package/esm2022/tabs/public-api.mjs +0 -7
  788. package/esm2022/tabs/tab-content.component.mjs +0 -21
  789. package/esm2022/tabs/tab-link.directive.mjs +0 -46
  790. package/esm2022/tabs/tab.component.mjs +0 -19
  791. package/esm2022/tabs/tabs.component.mjs +0 -143
  792. package/esm2022/tabs/tabs.module.mjs +0 -18
  793. package/esm2022/tabs/tabs.property.mjs +0 -141
  794. package/esm2022/tag/ng-nest-ui-tag.mjs +0 -5
  795. package/esm2022/tag/public-api.mjs +0 -4
  796. package/esm2022/tag/tag.component.mjs +0 -51
  797. package/esm2022/tag/tag.module.mjs +0 -16
  798. package/esm2022/tag/tag.property.mjs +0 -80
  799. package/esm2022/text-retract/ng-nest-ui-text-retract.mjs +0 -5
  800. package/esm2022/text-retract/public-api.mjs +0 -4
  801. package/esm2022/text-retract/text-retract.component.mjs +0 -42
  802. package/esm2022/text-retract/text-retract.module.mjs +0 -16
  803. package/esm2022/text-retract/text-retract.property.mjs +0 -35
  804. package/esm2022/textarea/ng-nest-ui-textarea.mjs +0 -5
  805. package/esm2022/textarea/public-api.mjs +0 -4
  806. package/esm2022/textarea/textarea.component.mjs +0 -68
  807. package/esm2022/textarea/textarea.module.mjs +0 -16
  808. package/esm2022/textarea/textarea.property.mjs +0 -126
  809. package/esm2022/theme/ng-nest-ui-theme.mjs +0 -5
  810. package/esm2022/theme/public-api.mjs +0 -4
  811. package/esm2022/theme/theme.component.mjs +0 -179
  812. package/esm2022/theme/theme.module.mjs +0 -16
  813. package/esm2022/theme/theme.property.mjs +0 -63
  814. package/esm2022/time-ago/ng-nest-ui-time-ago.mjs +0 -5
  815. package/esm2022/time-ago/public-api.mjs +0 -4
  816. package/esm2022/time-ago/time-ago.module.mjs +0 -16
  817. package/esm2022/time-ago/time-ago.pipe.mjs +0 -70
  818. package/esm2022/time-ago/time-ago.property.mjs +0 -7
  819. package/esm2022/time-picker/ng-nest-ui-time-picker.mjs +0 -5
  820. package/esm2022/time-picker/public-api.mjs +0 -6
  821. package/esm2022/time-picker/time-picker-frame.component.mjs +0 -312
  822. package/esm2022/time-picker/time-picker-portal.component.mjs +0 -78
  823. package/esm2022/time-picker/time-picker.component.mjs +0 -266
  824. package/esm2022/time-picker/time-picker.module.mjs +0 -17
  825. package/esm2022/time-picker/time-picker.property.mjs +0 -198
  826. package/esm2022/time-range/ng-nest-ui-time-range.mjs +0 -5
  827. package/esm2022/time-range/public-api.mjs +0 -4
  828. package/esm2022/time-range/time-range.module.mjs +0 -16
  829. package/esm2022/time-range/time-range.pipe.mjs +0 -44
  830. package/esm2022/time-range/time-range.property.mjs +0 -7
  831. package/esm2022/timeline/ng-nest-ui-timeline.mjs +0 -5
  832. package/esm2022/timeline/public-api.mjs +0 -4
  833. package/esm2022/timeline/timeline.component.mjs +0 -45
  834. package/esm2022/timeline/timeline.module.mjs +0 -16
  835. package/esm2022/timeline/timeline.property.mjs +0 -50
  836. package/esm2022/tooltip/ng-nest-ui-tooltip.mjs +0 -5
  837. package/esm2022/tooltip/public-api.mjs +0 -5
  838. package/esm2022/tooltip/tooltip-portal.component.mjs +0 -103
  839. package/esm2022/tooltip/tooltip.directive.mjs +0 -143
  840. package/esm2022/tooltip/tooltip.module.mjs +0 -16
  841. package/esm2022/tooltip/tooltip.property.mjs +0 -86
  842. package/esm2022/transfer/ng-nest-ui-transfer.mjs +0 -5
  843. package/esm2022/transfer/public-api.mjs +0 -4
  844. package/esm2022/transfer/transfer.component.mjs +0 -659
  845. package/esm2022/transfer/transfer.module.mjs +0 -16
  846. package/esm2022/transfer/transfer.property.mjs +0 -112
  847. package/esm2022/tree/ng-nest-ui-tree.mjs +0 -5
  848. package/esm2022/tree/public-api.mjs +0 -5
  849. package/esm2022/tree/tree-node.component.mjs +0 -297
  850. package/esm2022/tree/tree.component.mjs +0 -579
  851. package/esm2022/tree/tree.module.mjs +0 -17
  852. package/esm2022/tree/tree.property.mjs +0 -337
  853. package/esm2022/tree/tree.service.mjs +0 -102
  854. package/esm2022/tree-file/ng-nest-ui-tree-file.mjs +0 -5
  855. package/esm2022/tree-file/public-api.mjs +0 -4
  856. package/esm2022/tree-file/tree-file.component.mjs +0 -118
  857. package/esm2022/tree-file/tree-file.module.mjs +0 -16
  858. package/esm2022/tree-file/tree-file.property.mjs +0 -90
  859. package/esm2022/tree-select/ng-nest-ui-tree-select.mjs +0 -5
  860. package/esm2022/tree-select/public-api.mjs +0 -5
  861. package/esm2022/tree-select/tree-select-portal.component.mjs +0 -86
  862. package/esm2022/tree-select/tree-select.component.mjs +0 -659
  863. package/esm2022/tree-select/tree-select.module.mjs +0 -17
  864. package/esm2022/tree-select/tree-select.property.mjs +0 -237
  865. package/esm2022/typography/ng-nest-ui-typography.mjs +0 -5
  866. package/esm2022/typography/public-api.mjs +0 -4
  867. package/esm2022/typography/typography.component.mjs +0 -27
  868. package/esm2022/typography/typography.module.mjs +0 -16
  869. package/esm2022/typography/typography.property.mjs +0 -34
  870. package/esm2022/upload/ng-nest-ui-upload.mjs +0 -5
  871. package/esm2022/upload/public-api.mjs +0 -5
  872. package/esm2022/upload/upload-portal.component.mjs +0 -196
  873. package/esm2022/upload/upload.component.mjs +0 -233
  874. package/esm2022/upload/upload.module.mjs +0 -16
  875. package/esm2022/upload/upload.property.mjs +0 -118
  876. package/style/core/base.scss +0 -20
  877. package/style/core/cdk.scss +0 -72
  878. package/style/core/portal.scss +0 -5
  879. package/style/core/var.scss +0 -4
  880. package/style/mixins/index.scss +0 -9
  881. package/style/params/layout.scss +0 -73
  882. package/style/params/primary.scss +0 -208
  883. package/style/themes/default.scss +0 -1
@@ -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/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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"}
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 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 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,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, Component, viewChild, signal, inject, ViewContainerRef, computed, effect, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
3
  import { XPropertyFunction, XToCssPixelValue, XToNumber, XIsString, XRequestAnimationFrame, XIsNumber } from '@ng-nest/ui/core';
4
- import { DOCUMENT, NgTemplateOutlet, NgClass } from '@angular/common';
4
+ import { DOCUMENT, NgTemplateOutlet } from '@angular/common';
5
5
  import { Subject, fromEvent } from 'rxjs';
6
6
  import { throttleTime, map, tap, takeUntil } from 'rxjs/operators';
7
7
  import { XPortalService } from '@ng-nest/ui/portal';
@@ -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.2.2", ngImport: i0, type: XBackTopProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
50
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", 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: "19.0.1", ngImport: i0, type: XBackTopProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
50
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: XBackTopProperty, isStandalone: true, 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.2.2", ngImport: i0, type: XBackTopProperty, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XBackTopProperty, decorators: [{
53
53
  type: Component,
54
54
  args: [{ selector: `${XBackTopPrefix}-property`, template: '' }]
55
55
  }] });
@@ -98,6 +98,7 @@ class XBackTopComponent extends XBackTopProperty {
98
98
  }
99
99
  setVisible(scrollTop) {
100
100
  const visible = scrollTop >= this.visibilityHeight();
101
+ console.log(this.visibilityHeight(), scrollTop, visible);
101
102
  if (this.visiable() !== visible) {
102
103
  this.visiable.set(visible);
103
104
  if (this.visiable()) {
@@ -141,20 +142,20 @@ class XBackTopComponent extends XBackTopProperty {
141
142
  this.scroll().scrollTop = top;
142
143
  }
143
144
  }
144
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XBackTopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
145
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", 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}.x-back-top{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 }); }
145
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XBackTopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
146
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.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}.x-back-top{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 }); }
146
147
  }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XBackTopComponent, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XBackTopComponent, decorators: [{
148
149
  type: Component,
149
- 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}.x-back-top{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"] }]
150
+ args: [{ selector: `${XBackTopPrefix}`, imports: [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}.x-back-top{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"] }]
150
151
  }], ctorParameters: () => [] });
151
152
 
152
153
  class XBackTopModule {
153
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XBackTopModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
154
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XBackTopModule, imports: [XBackTopComponent], exports: [XBackTopComponent] }); }
155
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XBackTopModule, imports: [XBackTopComponent] }); }
154
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XBackTopModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
155
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: XBackTopModule, imports: [XBackTopComponent], exports: [XBackTopComponent] }); }
156
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XBackTopModule, imports: [XBackTopComponent] }); }
156
157
  }
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XBackTopModule, decorators: [{
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XBackTopModule, decorators: [{
158
159
  type: NgModule,
159
160
  args: [{
160
161
  exports: [XBackTopComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-back-top.mjs","sources":["../../../../lib/ng-nest/ui/back-top/back-top.property.ts","../../../../lib/ng-nest/ui/back-top/back-top.component.ts","../../../../lib/ng-nest/ui/back-top/back-top.component.html","../../../../lib/ng-nest/ui/back-top/back-top.module.ts","../../../../lib/ng-nest/ui/back-top/ng-nest-ui-back-top.ts"],"sourcesContent":["import { XPropertyFunction, XToCssPixelValue, XToNumber } from '@ng-nest/ui/core';\r\nimport { TemplateRef, Component, input } from '@angular/core';\r\nimport type { XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * BackTop\r\n * @selector x-back-top\r\n * @decorator component\r\n */\r\nexport const XBackTopPrefix = 'x-back-top';\r\nconst X_BACK_TOP_CONFIG_NAME = 'backTop';\r\n\r\n/**\r\n * BackTop Property\r\n */\r\n@Component({ selector: `${XBackTopPrefix}-property`, template: '' })\r\nexport class XBackTopProperty extends XPropertyFunction(X_BACK_TOP_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 距离右边的距离\r\n * @en_US Distance to the right\r\n */\r\n readonly right = input<string, XNumber>(this.config?.right ?? '2.5rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 距离底部的距离\r\n * @en_US Distance from bottom\r\n */\r\n readonly bottom = input<string, XNumber>(this.config?.bottom ?? '2.5rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 滚动多少高度后显示\r\n * @en_US Display after scrolling how much height\r\n */\r\n readonly visibilityHeight = input<number, XNumber>(this.config?.visibilityHeight ?? 200, { transform: XToNumber });\r\n /**\r\n * @zh_CN 内容模板\r\n * @en_US Content template\r\n */\r\n readonly template = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 滚动的元素\r\n * @en_US Scroll element\r\n */\r\n readonly target = input<string | HTMLElement>();\r\n}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n TemplateRef,\r\n ViewContainerRef,\r\n inject,\r\n viewChild,\r\n computed,\r\n effect,\r\n signal\r\n} from '@angular/core';\r\nimport { XBackTopPrefix, XBackTopProperty } from './back-top.property';\r\nimport { XRequestAnimationFrame, XIsNumber, XIsString } from '@ng-nest/ui/core';\r\nimport { DOCUMENT, NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { throttleTime, takeUntil, map, tap } from 'rxjs/operators';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XLinkComponent } from '@ng-nest/ui/link';\r\n\r\n@Component({\r\n selector: `${XBackTopPrefix}`,\r\n standalone: true,\r\n imports: [NgClass, NgTemplateOutlet, XLinkComponent],\r\n templateUrl: './back-top.component.html',\r\n styleUrls: ['./back-top.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XBackTopComponent extends XBackTopProperty implements OnDestroy {\r\n backTopTpl = viewChild.required<TemplateRef<void>>('backTopTpl');\r\n visiable = signal(false);\r\n scrolling = signal(false);\r\n portalRef!: XPortalOverlayRef<any>;\r\n private doc = inject(DOCUMENT);\r\n private portal = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private unSubject = new Subject<void>();\r\n\r\n scroll = computed(() => {\r\n const tg = this.target();\r\n if (!tg) return this.doc.defaultView;\r\n return XIsString(tg) ? this.doc?.querySelector(tg) : tg;\r\n });\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.addEvent());\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n\r\n onBackTop() {\r\n if (!this.scrolling()) {\r\n this.scrolling.set(true);\r\n this.scrollTo(0, 200);\r\n }\r\n }\r\n\r\n private addEvent() {\r\n this.unSubject.next();\r\n fromEvent(this.scroll()!, 'scroll')\r\n .pipe(\r\n throttleTime(20),\r\n map(() => this.scrollTop()),\r\n tap((x) => this.setVisible(x)),\r\n takeUntil(this.unSubject)\r\n )\r\n .subscribe();\r\n }\r\n\r\n private scrollTop() {\r\n if (this.scroll() === this.doc.defaultView) {\r\n return this.doc.documentElement.scrollTop;\r\n } else {\r\n return (this.scroll() as HTMLElement).scrollTop;\r\n }\r\n }\r\n\r\n private setVisible(scrollTop: number) {\r\n const visible = scrollTop >= (this.visibilityHeight() as number);\r\n if (this.visiable() !== visible) {\r\n this.visiable.set(visible);\r\n if (this.visiable()) {\r\n this.portalRef = this.portal.attach({\r\n content: this.backTopTpl(),\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n width: '2.5rem',\r\n height: '2.5rem',\r\n positionStrategy: this.portal.setPlace('bottom-end', ...['0', this.right(), this.bottom(), '0'])\r\n }\r\n });\r\n } else {\r\n this.portalRef?.overlayRef?.hasAttached() && this.portalRef.overlayRef.detach();\r\n }\r\n }\r\n }\r\n\r\n private scrollTo(to: number, duration: number) {\r\n const difference = to - this.scrollTop();\r\n const perTick = (difference / duration) * 10;\r\n XRequestAnimationFrame(() => {\r\n const num = this.scrollTop() + perTick;\r\n if (XIsNumber(num) && num !== Infinity) {\r\n this.setScrollTop(num);\r\n }\r\n if (this.scrollTop() === to || duration <= 0) {\r\n this.scrolling.set(false);\r\n return;\r\n } else {\r\n this.scrollTo(to, duration - 10);\r\n }\r\n });\r\n }\r\n\r\n private setScrollTop(top: number) {\r\n if (this.scroll() === this.doc.defaultView) {\r\n this.doc.documentElement!.scrollTop = top!;\r\n } else {\r\n (this.scroll() as HTMLElement).scrollTop = top!;\r\n }\r\n }\r\n}\r\n","<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","import { NgModule } from '@angular/core';\r\nimport { XBackTopComponent } from './back-top.component';\r\n@NgModule({\r\n exports: [XBackTopComponent],\r\n imports: [XBackTopComponent]\r\n})\r\nexport class XBackTopModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-back-top.mjs","sources":["../../../../lib/ng-nest/ui/back-top/back-top.property.ts","../../../../lib/ng-nest/ui/back-top/back-top.component.ts","../../../../lib/ng-nest/ui/back-top/back-top.component.html","../../../../lib/ng-nest/ui/back-top/back-top.module.ts","../../../../lib/ng-nest/ui/back-top/ng-nest-ui-back-top.ts"],"sourcesContent":["import { XPropertyFunction, XToCssPixelValue, XToNumber } from '@ng-nest/ui/core';\r\nimport { TemplateRef, Component, input } from '@angular/core';\r\nimport type { XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * BackTop\r\n * @selector x-back-top\r\n * @decorator component\r\n */\r\nexport const XBackTopPrefix = 'x-back-top';\r\nconst X_BACK_TOP_CONFIG_NAME = 'backTop';\r\n\r\n/**\r\n * BackTop Property\r\n */\r\n@Component({ selector: `${XBackTopPrefix}-property`, template: '' })\r\nexport class XBackTopProperty extends XPropertyFunction(X_BACK_TOP_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 距离右边的距离\r\n * @en_US Distance to the right\r\n */\r\n readonly right = input<string, XNumber>(this.config?.right ?? '2.5rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 距离底部的距离\r\n * @en_US Distance from bottom\r\n */\r\n readonly bottom = input<string, XNumber>(this.config?.bottom ?? '2.5rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 滚动多少高度后显示\r\n * @en_US Display after scrolling how much height\r\n */\r\n readonly visibilityHeight = input<number, XNumber>(this.config?.visibilityHeight ?? 200, { transform: XToNumber });\r\n /**\r\n * @zh_CN 内容模板\r\n * @en_US Content template\r\n */\r\n readonly template = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 滚动的元素\r\n * @en_US Scroll element\r\n */\r\n readonly target = input<string | HTMLElement>();\r\n}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n TemplateRef,\r\n ViewContainerRef,\r\n inject,\r\n viewChild,\r\n computed,\r\n effect,\r\n signal\r\n} from '@angular/core';\r\nimport { XBackTopPrefix, XBackTopProperty } from './back-top.property';\r\nimport { XRequestAnimationFrame, XIsNumber, XIsString } from '@ng-nest/ui/core';\r\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { throttleTime, takeUntil, map, tap } from 'rxjs/operators';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XLinkComponent } from '@ng-nest/ui/link';\r\n\r\n@Component({\r\n selector: `${XBackTopPrefix}`,\r\n imports: [NgTemplateOutlet, XLinkComponent],\r\n templateUrl: './back-top.component.html',\r\n styleUrls: ['./back-top.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XBackTopComponent extends XBackTopProperty implements OnDestroy {\r\n backTopTpl = viewChild.required<TemplateRef<void>>('backTopTpl');\r\n visiable = signal(false);\r\n scrolling = signal(false);\r\n portalRef!: XPortalOverlayRef<any>;\r\n private doc = inject(DOCUMENT);\r\n private portal = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private unSubject = new Subject<void>();\r\n\r\n scroll = computed(() => {\r\n const tg = this.target();\r\n if (!tg) return this.doc.defaultView;\r\n return XIsString(tg) ? this.doc?.querySelector(tg) : tg;\r\n });\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.addEvent());\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n\r\n onBackTop() {\r\n if (!this.scrolling()) {\r\n this.scrolling.set(true);\r\n this.scrollTo(0, 200);\r\n }\r\n }\r\n\r\n private addEvent() {\r\n this.unSubject.next();\r\n fromEvent(this.scroll()!, 'scroll')\r\n .pipe(\r\n throttleTime(20),\r\n map(() => this.scrollTop()),\r\n tap((x) => this.setVisible(x)),\r\n takeUntil(this.unSubject)\r\n )\r\n .subscribe();\r\n }\r\n\r\n private scrollTop() {\r\n if (this.scroll() === this.doc.defaultView) {\r\n return this.doc.documentElement.scrollTop;\r\n } else {\r\n return (this.scroll() as HTMLElement).scrollTop;\r\n }\r\n }\r\n\r\n private setVisible(scrollTop: number) {\r\n const visible = scrollTop >= (this.visibilityHeight() as number);\r\n console.log(this.visibilityHeight(), scrollTop, visible);\r\n if (this.visiable() !== visible) {\r\n this.visiable.set(visible);\r\n if (this.visiable()) {\r\n this.portalRef = this.portal.attach({\r\n content: this.backTopTpl(),\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n width: '2.5rem',\r\n height: '2.5rem',\r\n positionStrategy: this.portal.setPlace('bottom-end', ...['0', this.right(), this.bottom(), '0'])\r\n }\r\n });\r\n } else {\r\n this.portalRef?.overlayRef?.hasAttached() && this.portalRef.overlayRef.detach();\r\n }\r\n }\r\n }\r\n\r\n private scrollTo(to: number, duration: number) {\r\n const difference = to - this.scrollTop();\r\n const perTick = (difference / duration) * 10;\r\n XRequestAnimationFrame(() => {\r\n const num = this.scrollTop() + perTick;\r\n if (XIsNumber(num) && num !== Infinity) {\r\n this.setScrollTop(num);\r\n }\r\n if (this.scrollTop() === to || duration <= 0) {\r\n this.scrolling.set(false);\r\n return;\r\n } else {\r\n this.scrollTo(to, duration - 10);\r\n }\r\n });\r\n }\r\n\r\n private setScrollTop(top: number) {\r\n if (this.scroll() === this.doc.defaultView) {\r\n this.doc.documentElement!.scrollTop = top!;\r\n } else {\r\n (this.scroll() as HTMLElement).scrollTop = top!;\r\n }\r\n }\r\n}\r\n","<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","import { NgModule } from '@angular/core';\r\nimport { XBackTopComponent } from './back-top.component';\r\n@NgModule({\r\n exports: [XBackTopComponent],\r\n imports: [XBackTopComponent]\r\n})\r\nexport class XBackTopModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -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.2.2", ngImport: i0, type: XBadgeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
129
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", 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: "19.0.1", ngImport: i0, type: XBadgeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
129
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: XBadgeProperty, isStandalone: true, 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.2.2", ngImport: i0, type: XBadgeProperty, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", 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.2.2", ngImport: i0, type: XBadgeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
187
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", 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}.x-badge{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: "19.0.1", ngImport: i0, type: XBadgeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
187
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.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}.x-badge{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.2.2", ngImport: i0, type: XBadgeComponent, decorators: [{
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XBadgeComponent, decorators: [{
190
190
  type: Component,
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}.x-badge{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"] }]
191
+ args: [{ selector: `${XBadgePrefix}`, 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}.x-badge{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.2.2", ngImport: i0, type: XBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
196
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XBadgeModule, imports: [XBadgeComponent], exports: [XBadgeComponent] }); }
197
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XBadgeModule }); }
195
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
196
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: XBadgeModule, imports: [XBadgeComponent], exports: [XBadgeComponent] }); }
197
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XBadgeModule }); }
198
198
  }
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XBadgeModule, decorators: [{
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XBadgeModule, decorators: [{
200
200
  type: NgModule,
201
201
  args: [{
202
202
  exports: [XBadgeComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-badge.mjs","sources":["../../../../lib/ng-nest/ui/badge/badge.property.ts","../../../../lib/ng-nest/ui/badge/badge.component.ts","../../../../lib/ng-nest/ui/badge/badge.component.html","../../../../lib/ng-nest/ui/badge/badge.module.ts","../../../../lib/ng-nest/ui/badge/ng-nest-ui-badge.ts"],"sourcesContent":["import { XPropertyFunction, XToNumber, XToString, XToCssPixelValue, XToBoolean } from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\nimport type { XNumber, XBoolean, XType } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Badge\r\n * @selector x-badge\r\n * @decorator component\r\n */\r\nexport const XBadgePrefix = 'x-badge';\r\nconst X_BADGE_CONFIG_NAME = 'badge';\r\n\r\n/**\r\n * Badge Property\r\n */\r\n@Component({ selector: `${XBadgePrefix}-property`, template: '' })\r\nexport class XBadgeProperty extends XPropertyFunction(X_BADGE_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 类型,背景颜色\r\n * @en_US Type, the background color\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge value=\"12\" type=\"primary\">\r\n * <x-button>primary</x-button>\r\n * </x-badge>\r\n * <x-badge value=\"12\" type=\"success\">\r\n * <x-button>success</x-button>\r\n * </x-badge>\r\n * <x-badge value=\"12\" type=\"info\">\r\n * <x-button>info</x-button>\r\n * </x-badge>\r\n * <x-badge value=\"12\" type=\"warning\">\r\n * <x-button>warning</x-button>\r\n * </x-badge>\r\n * <x-badge value=\"12\" type=\"danger\">\r\n * <x-button>danger</x-button>\r\n * </x-badge>\r\n * <x-badge value=\"12\" type=\"text\">\r\n * <x-button>text</x-button>\r\n * </x-badge>\r\n * ```\r\n *\r\n */\r\n readonly type = input<XBadgeType>(this.config?.type ?? 'danger');\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge value=\"200\" max=\"99\">\r\n * <x-button>99</x-button>\r\n * </x-badge>\r\n * <x-badge value=\"300\" max=\"200\">\r\n * <x-button>200</x-button>\r\n * </x-badge>\r\n * ```\r\n */\r\n readonly max = input<number, XNumber>(99, { transform: XToNumber });\r\n /**\r\n * @zh_CN 显示值\r\n * @en_US Display value\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge value=\"88\">\r\n * <x-button>value</x-button>\r\n * </x-badge>\r\n * ```\r\n */\r\n readonly value = input<string, XNumber>('', { transform: XToString });\r\n /**\r\n * @zh_CN 偏移值 left\r\n * @en_US Offset left value\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge value=\"88\" offsetLeft=\"5px\">\r\n * <x-button>value</x-button>\r\n * </x-badge>\r\n * ```\r\n *\r\n */\r\n readonly offsetLeft = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 偏移值 top\r\n * @en_US Offset right value\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge value=\"88\" offsetTop=\"5px\">\r\n * <x-button>value</x-button>\r\n * </x-badge>\r\n * ```\r\n *\r\n */\r\n readonly offsetTop = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 是否显示小红点\r\n * @en_US Whether to show the small red dot\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge dot>\r\n * <x-button>value</x-button>\r\n * </x-badge>\r\n * ```\r\n *\r\n */\r\n readonly dot = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 独立使用\r\n * @en_US Independent use\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge standalone value=\"25\"></x-badge>\r\n * <x-badge standalone value=\"200\" max=\"99\"></x-badge>\r\n * <x-badge standalone value=\"hot\"></x-badge>\r\n * <x-badge standalone dot></x-badge>\r\n * ```\r\n *\r\n */\r\n readonly standalone = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * @zh_CN 标记类型\r\n * @en_US Mark type\r\n */\r\nexport type XBadgeType = XType;\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed, signal } from '@angular/core';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { XBadgePrefix, XBadgeProperty } from './badge.property';\r\nimport { XIsNumber, XIsEmpty, XBadgeAnimation, XBadgeStandaloneAnimation, XIsString } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XBadgePrefix}`,\r\n standalone: true,\r\n imports: [NgClass, NgTemplateOutlet],\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XBadgeAnimation, XBadgeStandaloneAnimation]\r\n})\r\nexport class XBadgeComponent extends XBadgeProperty {\r\n range = signal([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, '+']);\r\n\r\n valueNumber = computed(() => {\r\n return Number(this.value());\r\n });\r\n\r\n classMap = computed(() => ({\r\n [`${XBadgePrefix}-${this.type()}`]: !XIsEmpty(this.type())\r\n }));\r\n\r\n displayNums = computed(() => {\r\n const value = this.value();\r\n const max = this.max();\r\n const toNumber = Number(value);\r\n let displayValue = '';\r\n if (XIsNumber(toNumber) && max && toNumber > max) {\r\n displayValue = `${max}+`;\r\n } else {\r\n displayValue = `${value}`;\r\n }\r\n const res: (string | number)[] = [];\r\n for (let i = 0; i < displayValue.length; i++) {\r\n const str = displayValue[i];\r\n if (str === '+') {\r\n res.push(str);\r\n } else {\r\n res.push(Number(str));\r\n }\r\n }\r\n return res;\r\n });\r\n\r\n translateYNumbers = computed(() => {\r\n const displayNums = this.displayNums();\r\n const nums: number[] = [];\r\n for (let num of displayNums) {\r\n if (XIsString(num) && num === '+') {\r\n nums.push(10 * 100);\r\n } else if (XIsNumber(num)) {\r\n nums.push(num * 100);\r\n }\r\n }\r\n return nums;\r\n });\r\n\r\n maxNums = computed(() => {\r\n return this.displayNums().map((_x, index) => index) as number[];\r\n });\r\n}\r\n","<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","import { NgModule } from '@angular/core';\r\nimport { XBadgeComponent } from './badge.component';\r\n\r\n@NgModule({\r\n exports: [XBadgeComponent],\r\n imports: [XBadgeComponent]\r\n})\r\nexport class XBadgeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-badge.mjs","sources":["../../../../lib/ng-nest/ui/badge/badge.property.ts","../../../../lib/ng-nest/ui/badge/badge.component.ts","../../../../lib/ng-nest/ui/badge/badge.component.html","../../../../lib/ng-nest/ui/badge/badge.module.ts","../../../../lib/ng-nest/ui/badge/ng-nest-ui-badge.ts"],"sourcesContent":["import { XPropertyFunction, XToNumber, XToString, XToCssPixelValue, XToBoolean } from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\nimport type { XNumber, XBoolean, XType } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Badge\r\n * @selector x-badge\r\n * @decorator component\r\n */\r\nexport const XBadgePrefix = 'x-badge';\r\nconst X_BADGE_CONFIG_NAME = 'badge';\r\n\r\n/**\r\n * Badge Property\r\n */\r\n@Component({ selector: `${XBadgePrefix}-property`, template: '' })\r\nexport class XBadgeProperty extends XPropertyFunction(X_BADGE_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 类型,背景颜色\r\n * @en_US Type, the background color\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge value=\"12\" type=\"primary\">\r\n * <x-button>primary</x-button>\r\n * </x-badge>\r\n * <x-badge value=\"12\" type=\"success\">\r\n * <x-button>success</x-button>\r\n * </x-badge>\r\n * <x-badge value=\"12\" type=\"info\">\r\n * <x-button>info</x-button>\r\n * </x-badge>\r\n * <x-badge value=\"12\" type=\"warning\">\r\n * <x-button>warning</x-button>\r\n * </x-badge>\r\n * <x-badge value=\"12\" type=\"danger\">\r\n * <x-button>danger</x-button>\r\n * </x-badge>\r\n * <x-badge value=\"12\" type=\"text\">\r\n * <x-button>text</x-button>\r\n * </x-badge>\r\n * ```\r\n *\r\n */\r\n readonly type = input<XBadgeType>(this.config?.type ?? 'danger');\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge value=\"200\" max=\"99\">\r\n * <x-button>99</x-button>\r\n * </x-badge>\r\n * <x-badge value=\"300\" max=\"200\">\r\n * <x-button>200</x-button>\r\n * </x-badge>\r\n * ```\r\n */\r\n readonly max = input<number, XNumber>(99, { transform: XToNumber });\r\n /**\r\n * @zh_CN 显示值\r\n * @en_US Display value\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge value=\"88\">\r\n * <x-button>value</x-button>\r\n * </x-badge>\r\n * ```\r\n */\r\n readonly value = input<string, XNumber>('', { transform: XToString });\r\n /**\r\n * @zh_CN 偏移值 left\r\n * @en_US Offset left value\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge value=\"88\" offsetLeft=\"5px\">\r\n * <x-button>value</x-button>\r\n * </x-badge>\r\n * ```\r\n *\r\n */\r\n readonly offsetLeft = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 偏移值 top\r\n * @en_US Offset right value\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge value=\"88\" offsetTop=\"5px\">\r\n * <x-button>value</x-button>\r\n * </x-badge>\r\n * ```\r\n *\r\n */\r\n readonly offsetTop = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 是否显示小红点\r\n * @en_US Whether to show the small red dot\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge dot>\r\n * <x-button>value</x-button>\r\n * </x-badge>\r\n * ```\r\n *\r\n */\r\n readonly dot = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 独立使用\r\n * @en_US Independent use\r\n * @example\r\n *\r\n * ```html\r\n * <x-badge standalone value=\"25\"></x-badge>\r\n * <x-badge standalone value=\"200\" max=\"99\"></x-badge>\r\n * <x-badge standalone value=\"hot\"></x-badge>\r\n * <x-badge standalone dot></x-badge>\r\n * ```\r\n *\r\n */\r\n readonly standalone = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * @zh_CN 标记类型\r\n * @en_US Mark type\r\n */\r\nexport type XBadgeType = XType;\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed, signal } from '@angular/core';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { XBadgePrefix, XBadgeProperty } from './badge.property';\r\nimport { XIsNumber, XIsEmpty, XBadgeAnimation, XBadgeStandaloneAnimation, XIsString } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XBadgePrefix}`,\r\n imports: [NgClass, NgTemplateOutlet],\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XBadgeAnimation, XBadgeStandaloneAnimation]\r\n})\r\nexport class XBadgeComponent extends XBadgeProperty {\r\n range = signal([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, '+']);\r\n\r\n valueNumber = computed(() => {\r\n return Number(this.value());\r\n });\r\n\r\n classMap = computed(() => ({\r\n [`${XBadgePrefix}-${this.type()}`]: !XIsEmpty(this.type())\r\n }));\r\n\r\n displayNums = computed(() => {\r\n const value = this.value();\r\n const max = this.max();\r\n const toNumber = Number(value);\r\n let displayValue = '';\r\n if (XIsNumber(toNumber) && max && toNumber > max) {\r\n displayValue = `${max}+`;\r\n } else {\r\n displayValue = `${value}`;\r\n }\r\n const res: (string | number)[] = [];\r\n for (let i = 0; i < displayValue.length; i++) {\r\n const str = displayValue[i];\r\n if (str === '+') {\r\n res.push(str);\r\n } else {\r\n res.push(Number(str));\r\n }\r\n }\r\n return res;\r\n });\r\n\r\n translateYNumbers = computed(() => {\r\n const displayNums = this.displayNums();\r\n const nums: number[] = [];\r\n for (let num of displayNums) {\r\n if (XIsString(num) && num === '+') {\r\n nums.push(10 * 100);\r\n } else if (XIsNumber(num)) {\r\n nums.push(num * 100);\r\n }\r\n }\r\n return nums;\r\n });\r\n\r\n maxNums = computed(() => {\r\n return this.displayNums().map((_x, index) => index) as number[];\r\n });\r\n}\r\n","<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","import { NgModule } from '@angular/core';\r\nimport { XBadgeComponent } from './badge.component';\r\n\r\n@NgModule({\r\n exports: [XBadgeComponent],\r\n imports: [XBadgeComponent]\r\n})\r\nexport class XBadgeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -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.2.2", ngImport: i0, type: XFormProp, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
114
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", 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: "19.0.1", ngImport: i0, type: XFormProp, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
114
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: XFormProp, isStandalone: true, 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.2.2", ngImport: i0, type: XFormProp, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", 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.2.2", ngImport: i0, type: XFormControlProp, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
233
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", 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: "19.0.1", ngImport: i0, type: XFormControlProp, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
233
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: XFormControlProp, isStandalone: true, 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.2.2", ngImport: i0, type: XFormControlProp, decorators: [{
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", 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.2.2", ngImport: i0, type: XBaseFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
339
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XBaseFormModule }); }
340
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XBaseFormModule }); }
338
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XBaseFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
339
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: XBaseFormModule }); }
340
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XBaseFormModule }); }
341
341
  }
342
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XBaseFormModule, decorators: [{
342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XBaseFormModule, decorators: [{
343
343
  type: NgModule,
344
344
  args: [{
345
345
  imports: [],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-base-form.mjs","sources":["../../../../lib/ng-nest/ui/base-form/base-form.property.ts","../../../../lib/ng-nest/ui/base-form/base-form.component.ts","../../../../lib/ng-nest/ui/base-form/base-form.module.ts","../../../../lib/ng-nest/ui/base-form/ng-nest-ui-base-form.ts"],"sourcesContent":["import { Component, TemplateRef, input, model } from '@angular/core';\r\nimport {\r\n XAlign,\r\n XBoolean,\r\n XDirection,\r\n XJustify,\r\n XNumber,\r\n XProperty,\r\n XSize,\r\n XTemplate,\r\n XToBoolean,\r\n XToCssPixelValue\r\n} from '@ng-nest/ui/core';\r\n\r\n/**\r\n * 表单对象共有的参数\r\n */\r\n@Component({ selector: 'x-form-prop', template: '' })\r\nexport class XFormProp extends XProperty {\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n readonly label = input<string>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n readonly size = input<XSize>('medium');\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n readonly placeholder = input<string | string[]>('');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n readonly valueTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n readonly valueTplContext = input();\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n readonly before = input<XTemplate>();\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n readonly after = input<XTemplate>();\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n readonly pattern = input<any>();\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n readonly message = input<string | string[]>('');\r\n /**\r\n * @zh_CN 激活状态\r\n * @en_US Activation state\r\n */\r\n readonly active = model<boolean>(false);\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Enter box click style\r\n */\r\n readonly pointer = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n readonly inputValidator = input<(value: any) => boolean>();\r\n}\r\n\r\nexport interface XFormOption {\r\n /**\r\n * 标签\r\n */\r\n label?: any;\r\n /**\r\n * 标签宽度\r\n */\r\n labelWidth?: string;\r\n /**\r\n * 标签文字对齐方式\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * flex 布局下的子元素水平排列方式\r\n */\r\n justify?: XJustify;\r\n /**\r\n * flex 布局下的子元素垂直排列方式\r\n */\r\n align?: XAlign;\r\n /**\r\n * flex 布局下的子元素排列方向\r\n */\r\n direction?: XDirection;\r\n /**\r\n * 尺寸\r\n */\r\n size?: XSize;\r\n /**\r\n * 输入提示信息\r\n */\r\n placeholder?: string | string[];\r\n /**\r\n * 禁用\r\n */\r\n disabled?: boolean;\r\n /**\r\n * 必填\r\n */\r\n required?: boolean;\r\n /**\r\n * 正则验证规则\r\n */\r\n pattern?: RegExp | RegExp[];\r\n /**\r\n * 验证不通过提示文字\r\n */\r\n message?: string | string[];\r\n /**\r\n * 激活状态\r\n */\r\n active?: boolean;\r\n /**\r\n * 输入框点击样式\r\n */\r\n pointer?: boolean;\r\n /**\r\n * 输入验证函数\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n}\r\n\r\n/**\r\n * 表单对象共有的参数\r\n */\r\n@Component({ selector: 'x-formcontrol-prop', template: '' })\r\nexport class XFormControlProp extends XProperty {\r\n /**\r\n * @zh_CN 初始启用验证,在输入值都自动开启\r\n * @en_US Initial enable validation, which is automatically enabled when the input value is\r\n */\r\n readonly validator = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n readonly label = input<string>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n readonly size = input<XSize>('medium');\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n readonly placeholder = input<string | string[]>('');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n readonly valueTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n readonly valueTplContext = input();\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n readonly before = input<XTemplate>();\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n readonly after = input<XTemplate>();\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n readonly pattern = input<RegExp | RegExp[]>([]);\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n readonly message = input<string | string[]>([]);\r\n /**\r\n * @zh_CN 激活状态\r\n * @en_US Activation state\r\n */\r\n readonly active = model<boolean>(false);\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Enter box click style\r\n */\r\n readonly pointer = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n readonly inputValidator = input<(value: any) => boolean>();\r\n}\r\n","import {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n ValidationErrors,\r\n ValidatorFn\r\n} from '@angular/forms';\r\nimport { ChangeDetectorRef, computed, forwardRef, inject, signal, Type } from '@angular/core';\r\nimport { XIsEmpty, XIsUndefined, XIsFunction, XComponentConfigKey, XConfigService, XIsNull } from '@ng-nest/ui/core';\r\nimport { XFormControlProp } from './base-form.property';\r\n\r\nexport function XValueAccessor<T>(component: Type<T>) {\r\n return { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => component), multi: true };\r\n}\r\n\r\nexport function XFormInputValidator(func: (value: any) => boolean): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (!XIsFunction(func)) return null;\r\n const invalid = !func(control.value);\r\n return invalid ? { inputValidator: true } : null;\r\n };\r\n}\r\n\r\nexport function XFormControlFunction<C extends XComponentConfigKey>(configName: C) {\r\n return class XFormControlFun extends XFormControlProp implements ControlValueAccessor {\r\n config = inject(XConfigService).getConfigForComponent(configName);\r\n cdr = inject(ChangeDetectorRef);\r\n invalid = computed(() => {\r\n return (\r\n this.validatorComputed() && ((!XIsEmpty(this.value()) && this.invalidPattern()) || this.invalidInputValidator())\r\n );\r\n });\r\n invalidPattern = computed(() => {\r\n const pattern = this.patternComputed();\r\n if (!this.validatorComputed() || XIsUndefined(pattern) || XIsNull(pattern)) return false;\r\n let result = false;\r\n let index = 0;\r\n\r\n if (Array.isArray(pattern)) {\r\n for (const pt of pattern) {\r\n result = !new RegExp(pt).test(this.value() as any);\r\n if (result) {\r\n this.invalidIndex.set(index);\r\n break;\r\n }\r\n index++;\r\n }\r\n } else {\r\n result = !new RegExp(pattern as RegExp).test(this.value() as any);\r\n }\r\n return result;\r\n });\r\n requiredIsEmpty = computed(() => {\r\n return this.validatorComputed() && this.requiredComputed() && XIsEmpty(this.value());\r\n });\r\n invalidMessage = computed(() => {\r\n if (!this.validatorComputed()) return '';\r\n const message = this.messageComputed();\r\n if (Array.isArray(message)) {\r\n return message.length > this.invalidIndex() ? message[this.invalidIndex()] : '';\r\n } else {\r\n return message as string;\r\n }\r\n });\r\n invalidIndex = signal(0);\r\n value = signal<any | undefined>(undefined);\r\n validatorSignal = signal(false);\r\n disabledSignal = signal(false);\r\n requiredSignal = signal(false);\r\n patternSignal = signal<any>([]);\r\n messageSignal = signal<string | string[]>([]);\r\n\r\n requiredComputed = computed(() => this.requiredSignal() || this.required());\r\n disabledComputed = computed(() => this.disabledSignal() || this.disabled());\r\n validatorComputed = computed(() => this.validatorSignal() || this.validator());\r\n patternComputed = computed(() => {\r\n if (XIsEmpty(this.patternSignal())) return this.pattern();\r\n else return this.patternSignal();\r\n });\r\n messageComputed = computed(() => {\r\n if (XIsEmpty(this.messageSignal())) return this.message();\r\n else return this.messageSignal();\r\n });\r\n\r\n invalidInputValidator = signal(false);\r\n onChange!: (value: any) => void;\r\n onTouched!: () => void;\r\n writeValue(value: any): void {\r\n this.value.set(value);\r\n }\r\n registerOnChange(fn: (value: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState(disabled: boolean) {\r\n this.disabledSignal.set(disabled);\r\n }\r\n formControlValidator() {\r\n this.validatorSignal.set(true);\r\n }\r\n };\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: []\r\n})\r\nexport class XBaseFormModule {}\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-base-form.mjs","sources":["../../../../lib/ng-nest/ui/base-form/base-form.property.ts","../../../../lib/ng-nest/ui/base-form/base-form.component.ts","../../../../lib/ng-nest/ui/base-form/base-form.module.ts","../../../../lib/ng-nest/ui/base-form/ng-nest-ui-base-form.ts"],"sourcesContent":["import { Component, TemplateRef, input, model } from '@angular/core';\r\nimport {\r\n XAlign,\r\n XBoolean,\r\n XDirection,\r\n XJustify,\r\n XNumber,\r\n XProperty,\r\n XSize,\r\n XTemplate,\r\n XToBoolean,\r\n XToCssPixelValue\r\n} from '@ng-nest/ui/core';\r\n\r\n/**\r\n * 表单对象共有的参数\r\n */\r\n@Component({ selector: 'x-form-prop', template: '' })\r\nexport class XFormProp extends XProperty {\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n readonly label = input<string>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n readonly size = input<XSize>('medium');\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n readonly placeholder = input<string | string[]>('');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n readonly valueTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n readonly valueTplContext = input();\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n readonly before = input<XTemplate>();\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n readonly after = input<XTemplate>();\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n readonly pattern = input<any>();\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n readonly message = input<string | string[]>('');\r\n /**\r\n * @zh_CN 激活状态\r\n * @en_US Activation state\r\n */\r\n readonly active = model<boolean>(false);\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Enter box click style\r\n */\r\n readonly pointer = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n readonly inputValidator = input<(value: any) => boolean>();\r\n}\r\n\r\nexport interface XFormOption {\r\n /**\r\n * 标签\r\n */\r\n label?: any;\r\n /**\r\n * 标签宽度\r\n */\r\n labelWidth?: string;\r\n /**\r\n * 标签文字对齐方式\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * flex 布局下的子元素水平排列方式\r\n */\r\n justify?: XJustify;\r\n /**\r\n * flex 布局下的子元素垂直排列方式\r\n */\r\n align?: XAlign;\r\n /**\r\n * flex 布局下的子元素排列方向\r\n */\r\n direction?: XDirection;\r\n /**\r\n * 尺寸\r\n */\r\n size?: XSize;\r\n /**\r\n * 输入提示信息\r\n */\r\n placeholder?: string | string[];\r\n /**\r\n * 禁用\r\n */\r\n disabled?: boolean;\r\n /**\r\n * 必填\r\n */\r\n required?: boolean;\r\n /**\r\n * 正则验证规则\r\n */\r\n pattern?: RegExp | RegExp[];\r\n /**\r\n * 验证不通过提示文字\r\n */\r\n message?: string | string[];\r\n /**\r\n * 激活状态\r\n */\r\n active?: boolean;\r\n /**\r\n * 输入框点击样式\r\n */\r\n pointer?: boolean;\r\n /**\r\n * 输入验证函数\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n}\r\n\r\n/**\r\n * 表单对象共有的参数\r\n */\r\n@Component({ selector: 'x-formcontrol-prop', template: '' })\r\nexport class XFormControlProp extends XProperty {\r\n /**\r\n * @zh_CN 初始启用验证,在输入值都自动开启\r\n * @en_US Initial enable validation, which is automatically enabled when the input value is\r\n */\r\n readonly validator = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n readonly label = input<string>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n readonly size = input<XSize>('medium');\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n readonly placeholder = input<string | string[]>('');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n readonly valueTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n readonly valueTplContext = input();\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n readonly before = input<XTemplate>();\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n readonly after = input<XTemplate>();\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n readonly pattern = input<RegExp | RegExp[]>([]);\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n readonly message = input<string | string[]>([]);\r\n /**\r\n * @zh_CN 激活状态\r\n * @en_US Activation state\r\n */\r\n readonly active = model<boolean>(false);\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Enter box click style\r\n */\r\n readonly pointer = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n readonly inputValidator = input<(value: any) => boolean>();\r\n}\r\n","import {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n ValidationErrors,\r\n ValidatorFn\r\n} from '@angular/forms';\r\nimport { ChangeDetectorRef, computed, forwardRef, inject, signal, Type } from '@angular/core';\r\nimport { XIsEmpty, XIsUndefined, XIsFunction, XComponentConfigKey, XConfigService, XIsNull } from '@ng-nest/ui/core';\r\nimport { XFormControlProp } from './base-form.property';\r\n\r\nexport function XValueAccessor<T>(component: Type<T>) {\r\n return { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => component), multi: true };\r\n}\r\n\r\nexport function XFormInputValidator(func: (value: any) => boolean): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (!XIsFunction(func)) return null;\r\n const invalid = !func(control.value);\r\n return invalid ? { inputValidator: true } : null;\r\n };\r\n}\r\n\r\nexport function XFormControlFunction<C extends XComponentConfigKey>(configName: C) {\r\n return class XFormControlFun extends XFormControlProp implements ControlValueAccessor {\r\n config = inject(XConfigService).getConfigForComponent(configName);\r\n cdr = inject(ChangeDetectorRef);\r\n invalid = computed(() => {\r\n return (\r\n this.validatorComputed() && ((!XIsEmpty(this.value()) && this.invalidPattern()) || this.invalidInputValidator())\r\n );\r\n });\r\n invalidPattern = computed(() => {\r\n const pattern = this.patternComputed();\r\n if (!this.validatorComputed() || XIsUndefined(pattern) || XIsNull(pattern)) return false;\r\n let result = false;\r\n let index = 0;\r\n\r\n if (Array.isArray(pattern)) {\r\n for (const pt of pattern) {\r\n result = !new RegExp(pt).test(this.value() as any);\r\n if (result) {\r\n this.invalidIndex.set(index);\r\n break;\r\n }\r\n index++;\r\n }\r\n } else {\r\n result = !new RegExp(pattern as RegExp).test(this.value() as any);\r\n }\r\n return result;\r\n });\r\n requiredIsEmpty = computed(() => {\r\n return this.validatorComputed() && this.requiredComputed() && XIsEmpty(this.value());\r\n });\r\n invalidMessage = computed(() => {\r\n if (!this.validatorComputed()) return '';\r\n const message = this.messageComputed();\r\n if (Array.isArray(message)) {\r\n return message.length > this.invalidIndex() ? message[this.invalidIndex()] : '';\r\n } else {\r\n return message as string;\r\n }\r\n });\r\n invalidIndex = signal(0);\r\n value = signal<any | undefined>(undefined);\r\n validatorSignal = signal(false);\r\n disabledSignal = signal(false);\r\n requiredSignal = signal(false);\r\n patternSignal = signal<any>([]);\r\n messageSignal = signal<string | string[]>([]);\r\n\r\n requiredComputed = computed(() => this.requiredSignal() || this.required());\r\n disabledComputed = computed(() => this.disabledSignal() || this.disabled());\r\n validatorComputed = computed(() => this.validatorSignal() || this.validator());\r\n patternComputed = computed(() => {\r\n if (XIsEmpty(this.patternSignal())) return this.pattern();\r\n else return this.patternSignal();\r\n });\r\n messageComputed = computed(() => {\r\n if (XIsEmpty(this.messageSignal())) return this.message();\r\n else return this.messageSignal();\r\n });\r\n\r\n invalidInputValidator = signal(false);\r\n onChange!: (value: any) => void;\r\n onTouched!: () => void;\r\n writeValue(value: any): void {\r\n this.value.set(value);\r\n }\r\n registerOnChange(fn: (value: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState(disabled: boolean) {\r\n this.disabledSignal.set(disabled);\r\n }\r\n formControlValidator() {\r\n this.validatorSignal.set(true);\r\n }\r\n };\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: []\r\n})\r\nexport class XBaseFormModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}