@ng-nest/ui 19.0.9 → 20.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 (699) hide show
  1. package/README.md +1 -1
  2. package/affix/index.d.ts +58 -3
  3. package/alert/index.d.ts +424 -3
  4. package/anchor/index.d.ts +186 -3
  5. package/api/index.d.ts +20 -3
  6. package/auto-complete/index.d.ts +454 -3
  7. package/avatar/index.d.ts +198 -3
  8. package/back-top/index.d.ts +75 -3
  9. package/badge/index.d.ts +153 -3
  10. package/base-form/index.d.ts +248 -3
  11. package/button/index.d.ts +380 -3
  12. package/calendar/index.d.ts +194 -3
  13. package/card/index.d.ts +99 -3
  14. package/carousel/index.d.ts +328 -3
  15. package/cascade/index.d.ts +459 -3
  16. package/checkbox/index.d.ts +351 -3
  17. package/collapse/index.d.ts +198 -3
  18. package/color/index.d.ts +80 -3
  19. package/color-picker/index.d.ts +484 -3
  20. package/comment/index.d.ts +158 -3
  21. package/container/index.d.ts +143 -3
  22. package/core/index.d.ts +1900 -3
  23. package/crumb/index.d.ts +91 -3
  24. package/date-picker/index.d.ts +2081 -3
  25. package/description/index.d.ts +234 -3
  26. package/dialog/index.d.ts +525 -3
  27. package/doc/index.d.ts +20 -3
  28. package/drag/index.d.ts +45 -3
  29. package/drawer/index.d.ts +244 -3
  30. package/dropdown/index.d.ts +201 -3
  31. package/empty/index.d.ts +60 -3
  32. package/examples/index.d.ts +20 -3
  33. package/fesm2022/ng-nest-ui-affix.mjs +11 -11
  34. package/fesm2022/ng-nest-ui-alert.mjs +11 -11
  35. package/fesm2022/ng-nest-ui-anchor.mjs +17 -17
  36. package/fesm2022/ng-nest-ui-api.mjs +8 -8
  37. package/fesm2022/ng-nest-ui-auto-complete.mjs +14 -14
  38. package/fesm2022/ng-nest-ui-avatar.mjs +17 -17
  39. package/fesm2022/ng-nest-ui-back-top.mjs +11 -11
  40. package/fesm2022/ng-nest-ui-badge.mjs +11 -11
  41. package/fesm2022/ng-nest-ui-base-form.mjs +7 -7
  42. package/fesm2022/ng-nest-ui-button.mjs +18 -18
  43. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  44. package/fesm2022/ng-nest-ui-calendar.mjs +11 -11
  45. package/fesm2022/ng-nest-ui-card.mjs +11 -11
  46. package/fesm2022/ng-nest-ui-carousel.mjs +17 -17
  47. package/fesm2022/ng-nest-ui-cascade.mjs +14 -14
  48. package/fesm2022/ng-nest-ui-checkbox.mjs +11 -11
  49. package/fesm2022/ng-nest-ui-collapse.mjs +17 -17
  50. package/fesm2022/ng-nest-ui-color-picker.mjs +17 -17
  51. package/fesm2022/ng-nest-ui-color.mjs +11 -11
  52. package/fesm2022/ng-nest-ui-comment.mjs +17 -17
  53. package/fesm2022/ng-nest-ui-container.mjs +32 -32
  54. package/fesm2022/ng-nest-ui-core.mjs +19 -19
  55. package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
  56. package/fesm2022/ng-nest-ui-date-picker.mjs +50 -50
  57. package/fesm2022/ng-nest-ui-description.mjs +17 -17
  58. package/fesm2022/ng-nest-ui-dialog.mjs +41 -41
  59. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  60. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  61. package/fesm2022/ng-nest-ui-drawer.mjs +32 -32
  62. package/fesm2022/ng-nest-ui-dropdown.mjs +14 -14
  63. package/fesm2022/ng-nest-ui-empty.mjs +11 -11
  64. package/fesm2022/ng-nest-ui-examples.mjs +8 -8
  65. package/fesm2022/ng-nest-ui-find.mjs +11 -11
  66. package/fesm2022/ng-nest-ui-form.mjs +17 -17
  67. package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
  68. package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
  69. package/fesm2022/ng-nest-ui-icon.mjs +18 -15
  70. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  71. package/fesm2022/ng-nest-ui-image.mjs +20 -20
  72. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  73. package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
  74. package/fesm2022/ng-nest-ui-input.mjs +17 -17
  75. package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
  76. package/fesm2022/ng-nest-ui-layout.mjs +17 -17
  77. package/fesm2022/ng-nest-ui-link.mjs +11 -11
  78. package/fesm2022/ng-nest-ui-list.mjs +24 -24
  79. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  80. package/fesm2022/ng-nest-ui-loading.mjs +11 -11
  81. package/fesm2022/ng-nest-ui-menu.mjs +17 -17
  82. package/fesm2022/ng-nest-ui-message-box.mjs +11 -11
  83. package/fesm2022/ng-nest-ui-message.mjs +11 -11
  84. package/fesm2022/ng-nest-ui-notification.mjs +11 -11
  85. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  86. package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
  87. package/fesm2022/ng-nest-ui-pagination.mjs +11 -11
  88. package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
  89. package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
  90. package/fesm2022/ng-nest-ui-popover.mjs +14 -14
  91. package/fesm2022/ng-nest-ui-portal.mjs +8 -8
  92. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  93. package/fesm2022/ng-nest-ui-progress.mjs +11 -11
  94. package/fesm2022/ng-nest-ui-radio.mjs +11 -11
  95. package/fesm2022/ng-nest-ui-rate.mjs +11 -11
  96. package/fesm2022/ng-nest-ui-resizable.mjs +11 -11
  97. package/fesm2022/ng-nest-ui-result.mjs +11 -11
  98. package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
  99. package/fesm2022/ng-nest-ui-select.mjs +14 -14
  100. package/fesm2022/ng-nest-ui-skeleton.mjs +11 -11
  101. package/fesm2022/ng-nest-ui-slider-select.mjs +11 -11
  102. package/fesm2022/ng-nest-ui-slider.mjs +11 -11
  103. package/fesm2022/ng-nest-ui-statistic.mjs +17 -17
  104. package/fesm2022/ng-nest-ui-steps.mjs +11 -11
  105. package/fesm2022/ng-nest-ui-switch.mjs +11 -11
  106. package/fesm2022/ng-nest-ui-table.mjs +28 -28
  107. package/fesm2022/ng-nest-ui-tabs.mjs +26 -26
  108. package/fesm2022/ng-nest-ui-tag.mjs +11 -11
  109. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  110. package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
  111. package/fesm2022/ng-nest-ui-theme.mjs +11 -11
  112. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  113. package/fesm2022/ng-nest-ui-time-picker.mjs +17 -17
  114. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  115. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  116. package/fesm2022/ng-nest-ui-tooltip.mjs +14 -14
  117. package/fesm2022/ng-nest-ui-transfer.mjs +11 -11
  118. package/fesm2022/ng-nest-ui-tree-file.mjs +11 -11
  119. package/fesm2022/ng-nest-ui-tree-select.mjs +14 -14
  120. package/fesm2022/ng-nest-ui-tree.mjs +20 -20
  121. package/fesm2022/ng-nest-ui-typography.mjs +11 -11
  122. package/fesm2022/ng-nest-ui-upload.mjs +14 -14
  123. package/find/index.d.ts +625 -3
  124. package/form/index.d.ts +556 -3
  125. package/highlight/index.d.ts +107 -3
  126. package/i18n/index.d.ts +9399 -3
  127. package/icon/index.d.ts +134 -3
  128. package/image/index.d.ts +282 -3
  129. package/index.d.ts +0 -21
  130. package/inner/index.d.ts +38 -3
  131. package/input/index.d.ts +615 -3
  132. package/input-number/index.d.ts +352 -3
  133. package/keyword/index.d.ts +61 -3
  134. package/layout/index.d.ts +171 -3
  135. package/link/index.d.ts +128 -3
  136. package/list/index.d.ts +482 -3
  137. package/loading/index.d.ts +92 -3
  138. package/menu/index.d.ts +206 -3
  139. package/message/index.d.ts +192 -3
  140. package/message-box/index.d.ts +234 -3
  141. package/notification/index.d.ts +136 -3
  142. package/outlet/index.d.ts +28 -3
  143. package/package.json +33 -33
  144. package/page-header/index.d.ts +61 -3
  145. package/pagination/index.d.ts +212 -3
  146. package/pattern/index.d.ts +20 -3
  147. package/popconfirm/index.d.ts +124 -3
  148. package/popover/index.d.ts +163 -3
  149. package/portal/index.d.ts +157 -3
  150. package/progress/index.d.ts +191 -3
  151. package/radio/index.d.ts +313 -3
  152. package/rate/index.d.ts +231 -3
  153. package/resizable/index.d.ts +155 -3
  154. package/result/index.d.ts +61 -3
  155. package/ripple/index.d.ts +67 -3
  156. package/select/index.d.ts +633 -3
  157. package/skeleton/index.d.ts +132 -3
  158. package/slider/index.d.ts +188 -3
  159. package/slider-select/index.d.ts +386 -3
  160. package/statistic/index.d.ts +129 -3
  161. package/steps/index.d.ts +101 -3
  162. package/switch/index.d.ts +223 -3
  163. package/table/index.d.ts +1076 -3
  164. package/tabs/index.d.ts +238 -3
  165. package/tag/index.d.ts +99 -3
  166. package/text-retract/index.d.ts +45 -3
  167. package/textarea/index.d.ts +340 -3
  168. package/theme/index.d.ts +152 -3
  169. package/time-ago/index.d.ts +32 -3
  170. package/time-picker/index.d.ts +615 -3
  171. package/time-range/index.d.ts +24 -3
  172. package/timeline/index.d.ts +108 -3
  173. package/tooltip/index.d.ts +154 -3
  174. package/transfer/index.d.ts +340 -3
  175. package/tree/index.d.ts +601 -3
  176. package/tree-file/index.d.ts +167 -3
  177. package/tree-select/index.d.ts +642 -3
  178. package/typography/index.d.ts +42 -3
  179. package/upload/index.d.ts +304 -3
  180. package/affix/affix.component.d.ts +0 -6
  181. package/affix/affix.module.d.ts +0 -7
  182. package/affix/affix.property.d.ts +0 -46
  183. package/affix/public-api.d.ts +0 -3
  184. package/alert/alert.component.d.ts +0 -21
  185. package/alert/alert.module.d.ts +0 -7
  186. package/alert/alert.property.d.ts +0 -396
  187. package/alert/public-api.d.ts +0 -3
  188. package/anchor/anchor-inner.component.d.ts +0 -6
  189. package/anchor/anchor.component.d.ts +0 -38
  190. package/anchor/anchor.module.d.ts +0 -8
  191. package/anchor/anchor.property.d.ts +0 -136
  192. package/anchor/public-api.d.ts +0 -4
  193. package/api/api.component.d.ts +0 -6
  194. package/api/api.module.d.ts +0 -7
  195. package/api/api.property.d.ts +0 -6
  196. package/api/public-api.d.ts +0 -3
  197. package/auto-complete/auto-complete-portal.component.d.ts +0 -35
  198. package/auto-complete/auto-complete.component.d.ts +0 -54
  199. package/auto-complete/auto-complete.module.d.ts +0 -7
  200. package/auto-complete/auto-complete.property.d.ts +0 -364
  201. package/auto-complete/public-api.d.ts +0 -4
  202. package/avatar/avatar-group.component.d.ts +0 -7
  203. package/avatar/avatar.component.d.ts +0 -37
  204. package/avatar/avatar.module.d.ts +0 -8
  205. package/avatar/avatar.property.d.ts +0 -149
  206. package/avatar/public-api.d.ts +0 -4
  207. package/back-top/back-top.component.d.ts +0 -25
  208. package/back-top/back-top.module.d.ts +0 -7
  209. package/back-top/back-top.property.d.ts +0 -45
  210. package/back-top/public-api.d.ts +0 -3
  211. package/badge/badge.component.d.ts +0 -14
  212. package/badge/badge.module.d.ts +0 -7
  213. package/badge/badge.property.d.ts +0 -132
  214. package/badge/public-api.d.ts +0 -3
  215. package/base-form/base-form.component.d.ts +0 -60
  216. package/base-form/base-form.module.d.ts +0 -6
  217. package/base-form/base-form.property.d.ts +0 -180
  218. package/base-form/public-api.d.ts +0 -3
  219. package/button/button.component.d.ts +0 -25
  220. package/button/button.module.d.ts +0 -8
  221. package/button/button.property.d.ts +0 -336
  222. package/button/buttons.component.d.ts +0 -13
  223. package/button/public-api.d.ts +0 -4
  224. package/calendar/calendar.component.d.ts +0 -55
  225. package/calendar/calendar.module.d.ts +0 -7
  226. package/calendar/calendar.property.d.ts +0 -132
  227. package/calendar/public-api.d.ts +0 -3
  228. package/card/card.component.d.ts +0 -9
  229. package/card/card.module.d.ts +0 -7
  230. package/card/card.property.d.ts +0 -83
  231. package/card/public-api.d.ts +0 -3
  232. package/carousel/carousel-panel.component.d.ts +0 -34
  233. package/carousel/carousel.component.d.ts +0 -33
  234. package/carousel/carousel.module.d.ts +0 -8
  235. package/carousel/carousel.property.d.ts +0 -259
  236. package/carousel/public-api.d.ts +0 -4
  237. package/cascade/cascade-portal.component.d.ts +0 -41
  238. package/cascade/cascade.component.d.ts +0 -56
  239. package/cascade/cascade.module.d.ts +0 -7
  240. package/cascade/cascade.property.d.ts +0 -359
  241. package/cascade/public-api.d.ts +0 -4
  242. package/checkbox/checkbox.component.d.ts +0 -26
  243. package/checkbox/checkbox.module.d.ts +0 -7
  244. package/checkbox/checkbox.property.d.ts +0 -319
  245. package/checkbox/public-api.d.ts +0 -3
  246. package/collapse/collapse-panel.component.d.ts +0 -16
  247. package/collapse/collapse.component.d.ts +0 -10
  248. package/collapse/collapse.module.d.ts +0 -8
  249. package/collapse/collapse.property.d.ts +0 -168
  250. package/collapse/public-api.d.ts +0 -4
  251. package/color/color.component.d.ts +0 -10
  252. package/color/color.module.d.ts +0 -7
  253. package/color/color.property.d.ts +0 -64
  254. package/color/public-api.d.ts +0 -3
  255. package/color-picker/color-map.data.d.ts +0 -3
  256. package/color-picker/color-picker-portal.component.d.ts +0 -118
  257. package/color-picker/color-picker.component.d.ts +0 -53
  258. package/color-picker/color-picker.directive.d.ts +0 -9
  259. package/color-picker/color-picker.module.d.ts +0 -8
  260. package/color-picker/color-picker.property.d.ts +0 -303
  261. package/color-picker/public-api.d.ts +0 -5
  262. package/comment/comment-reply.component.d.ts +0 -8
  263. package/comment/comment.component.d.ts +0 -14
  264. package/comment/comment.module.d.ts +0 -8
  265. package/comment/comment.property.d.ts +0 -131
  266. package/comment/public-api.d.ts +0 -4
  267. package/container/aside.component.d.ts +0 -8
  268. package/container/container.component.d.ts +0 -10
  269. package/container/container.module.d.ts +0 -11
  270. package/container/container.property.d.ts +0 -94
  271. package/container/footer.component.d.ts +0 -12
  272. package/container/header.component.d.ts +0 -12
  273. package/container/main.component.d.ts +0 -6
  274. package/container/public-api.d.ts +0 -7
  275. package/core/README.md +0 -25
  276. package/core/animation/badge.d.ts +0 -11
  277. package/core/animation/connect.d.ts +0 -11
  278. package/core/animation/consts.d.ts +0 -9
  279. package/core/animation/drop.d.ts +0 -6
  280. package/core/animation/fade.d.ts +0 -6
  281. package/core/animation/move.d.ts +0 -7
  282. package/core/animation/opacity.d.ts +0 -6
  283. package/core/animation/public-api.d.ts +0 -8
  284. package/core/animation/slide.d.ts +0 -6
  285. package/core/components/inner-html.component.d.ts +0 -9
  286. package/core/components/public-api.d.ts +0 -1
  287. package/core/config/config.d.ts +0 -620
  288. package/core/config/config.service.d.ts +0 -22
  289. package/core/config/index.d.ts +0 -1
  290. package/core/config/public-api.d.ts +0 -2
  291. package/core/functions/chunk.d.ts +0 -12
  292. package/core/functions/clone-deep.d.ts +0 -17
  293. package/core/functions/convert.d.ts +0 -90
  294. package/core/functions/csspx.d.ts +0 -5
  295. package/core/functions/date.d.ts +0 -70
  296. package/core/functions/drop.d.ts +0 -13
  297. package/core/functions/flex.d.ts +0 -7
  298. package/core/functions/group-by.d.ts +0 -5
  299. package/core/functions/guid.d.ts +0 -5
  300. package/core/functions/has-in.d.ts +0 -5
  301. package/core/functions/order-by.d.ts +0 -5
  302. package/core/functions/parent-path.d.ts +0 -10
  303. package/core/functions/property.d.ts +0 -16
  304. package/core/functions/public-api.d.ts +0 -15
  305. package/core/functions/remove.d.ts +0 -5
  306. package/core/functions/resize.d.ts +0 -19
  307. package/core/interfaces/data.type.d.ts +0 -194
  308. package/core/interfaces/identify.type.d.ts +0 -83
  309. package/core/interfaces/index.d.ts +0 -1
  310. package/core/interfaces/layout.type.d.ts +0 -169
  311. package/core/interfaces/public-api.d.ts +0 -4
  312. package/core/interfaces/result-list.type.d.ts +0 -116
  313. package/core/public-api.d.ts +0 -8
  314. package/core/services/http.service.d.ts +0 -28
  315. package/core/services/preloading-strategy.service.d.ts +0 -9
  316. package/core/services/public-api.d.ts +0 -5
  317. package/core/services/repository.service.d.ts +0 -28
  318. package/core/services/reuse-strategy.service.d.ts +0 -17
  319. package/core/services/storage.service.d.ts +0 -15
  320. package/core/theme/index.d.ts +0 -1
  321. package/core/theme/public-api.d.ts +0 -2
  322. package/core/theme/theme.d.ts +0 -73
  323. package/core/theme/theme.service.d.ts +0 -76
  324. package/core/util/animation.d.ts +0 -1
  325. package/core/util/camel-to-kebab.d.ts +0 -13
  326. package/core/util/check.d.ts +0 -10
  327. package/core/util/computed-style.d.ts +0 -10
  328. package/core/util/host.d.ts +0 -5
  329. package/core/util/html.d.ts +0 -5
  330. package/core/util/index.d.ts +0 -1
  331. package/core/util/kebab-to-camel.d.ts +0 -13
  332. package/core/util/log.d.ts +0 -10
  333. package/core/util/option.d.ts +0 -9
  334. package/core/util/public-api.d.ts +0 -10
  335. package/core/util/sleep.d.ts +0 -5
  336. package/crumb/crumb.component.d.ts +0 -7
  337. package/crumb/crumb.module.d.ts +0 -7
  338. package/crumb/crumb.property.d.ts +0 -77
  339. package/crumb/public-api.d.ts +0 -3
  340. package/date-picker/date-picker-portal.component.d.ts +0 -104
  341. package/date-picker/date-picker.component.d.ts +0 -113
  342. package/date-picker/date-picker.module.d.ts +0 -8
  343. package/date-picker/date-picker.property.d.ts +0 -1314
  344. package/date-picker/date-quarter.pipe.d.ts +0 -9
  345. package/date-picker/date-range-portal.component.d.ts +0 -135
  346. package/date-picker/date-range.component.d.ts +0 -134
  347. package/date-picker/picker-date.component.d.ts +0 -97
  348. package/date-picker/picker-month.component.d.ts +0 -86
  349. package/date-picker/picker-quarter.component.d.ts +0 -86
  350. package/date-picker/picker-year.component.d.ts +0 -32
  351. package/date-picker/public-api.d.ts +0 -11
  352. package/description/description-item.component.d.ts +0 -8
  353. package/description/description.component.d.ts +0 -15
  354. package/description/description.module.d.ts +0 -8
  355. package/description/description.property.d.ts +0 -207
  356. package/description/public-api.d.ts +0 -4
  357. package/dialog/dialog-container.component.d.ts +0 -7
  358. package/dialog/dialog-portal.component.d.ts +0 -45
  359. package/dialog/dialog-portal.directives.d.ts +0 -36
  360. package/dialog/dialog-ref.d.ts +0 -23
  361. package/dialog/dialog.component.d.ts +0 -72
  362. package/dialog/dialog.module.d.ts +0 -9
  363. package/dialog/dialog.property.d.ts +0 -338
  364. package/dialog/dialog.service.d.ts +0 -20
  365. package/dialog/public-api.d.ts +0 -8
  366. package/doc/doc.component.d.ts +0 -6
  367. package/doc/doc.module.d.ts +0 -7
  368. package/doc/doc.property.d.ts +0 -6
  369. package/doc/public-api.d.ts +0 -3
  370. package/drag/drag.directive.d.ts +0 -13
  371. package/drag/drag.module.d.ts +0 -7
  372. package/drag/drag.property.d.ts +0 -25
  373. package/drag/public-api.d.ts +0 -3
  374. package/drawer/drawer-container.component.d.ts +0 -7
  375. package/drawer/drawer-portal.component.d.ts +0 -17
  376. package/drawer/drawer-portal.directives.d.ts +0 -18
  377. package/drawer/drawer-ref.d.ts +0 -9
  378. package/drawer/drawer.component.d.ts +0 -34
  379. package/drawer/drawer.module.d.ts +0 -9
  380. package/drawer/drawer.property.d.ts +0 -149
  381. package/drawer/drawer.service.d.ts +0 -17
  382. package/drawer/public-api.d.ts +0 -9
  383. package/dropdown/dropdown-portal.component.d.ts +0 -55
  384. package/dropdown/dropdown.component.d.ts +0 -42
  385. package/dropdown/dropdown.module.d.ts +0 -7
  386. package/dropdown/dropdown.property.d.ts +0 -102
  387. package/dropdown/public-api.d.ts +0 -4
  388. package/empty/empty.component.d.ts +0 -6
  389. package/empty/empty.module.d.ts +0 -7
  390. package/empty/empty.property.d.ts +0 -48
  391. package/empty/public-api.d.ts +0 -3
  392. package/examples/examples.component.d.ts +0 -6
  393. package/examples/examples.module.d.ts +0 -7
  394. package/examples/examples.property.d.ts +0 -6
  395. package/examples/public-api.d.ts +0 -3
  396. package/find/find.component.d.ts +0 -57
  397. package/find/find.module.d.ts +0 -7
  398. package/find/find.property.d.ts +0 -562
  399. package/find/public-api.d.ts +0 -3
  400. package/form/control.component.d.ts +0 -51
  401. package/form/form.component.d.ts +0 -25
  402. package/form/form.module.d.ts +0 -8
  403. package/form/form.property.d.ts +0 -493
  404. package/form/public-api.d.ts +0 -4
  405. package/highlight/highlight.component.d.ts +0 -19
  406. package/highlight/highlight.module.d.ts +0 -7
  407. package/highlight/highlight.property.d.ts +0 -72
  408. package/highlight/highlight.service.d.ts +0 -8
  409. package/highlight/public-api.d.ts +0 -4
  410. package/i18n/i18n.directive.d.ts +0 -11
  411. package/i18n/i18n.module.d.ts +0 -8
  412. package/i18n/i18n.pipe.d.ts +0 -12
  413. package/i18n/i18n.property.d.ts +0 -195
  414. package/i18n/i18n.service.d.ts +0 -17
  415. package/i18n/languages/ar_EG.d.ts +0 -180
  416. package/i18n/languages/bg_BG.d.ts +0 -180
  417. package/i18n/languages/ca_ES.d.ts +0 -180
  418. package/i18n/languages/cs_CZ.d.ts +0 -180
  419. package/i18n/languages/da_DK.d.ts +0 -180
  420. package/i18n/languages/de_DE.d.ts +0 -180
  421. package/i18n/languages/el_GR.d.ts +0 -180
  422. package/i18n/languages/en_GB.d.ts +0 -181
  423. package/i18n/languages/en_US.d.ts +0 -181
  424. package/i18n/languages/es_ES.d.ts +0 -180
  425. package/i18n/languages/et_EE.d.ts +0 -180
  426. package/i18n/languages/fa_IR.d.ts +0 -180
  427. package/i18n/languages/fi_FI.d.ts +0 -180
  428. package/i18n/languages/fr_BE.d.ts +0 -180
  429. package/i18n/languages/fr_FR.d.ts +0 -180
  430. package/i18n/languages/he_IL.d.ts +0 -180
  431. package/i18n/languages/hi_IN.d.ts +0 -180
  432. package/i18n/languages/hr_HR.d.ts +0 -180
  433. package/i18n/languages/hu_HU.d.ts +0 -180
  434. package/i18n/languages/hy_AM.d.ts +0 -180
  435. package/i18n/languages/id_ID.d.ts +0 -180
  436. package/i18n/languages/is_IS.d.ts +0 -180
  437. package/i18n/languages/it_IT.d.ts +0 -180
  438. package/i18n/languages/ja_JP.d.ts +0 -180
  439. package/i18n/languages/ka_GE.d.ts +0 -180
  440. package/i18n/languages/kn_IN.d.ts +0 -180
  441. package/i18n/languages/ko_KR.d.ts +0 -180
  442. package/i18n/languages/ku_IQ.d.ts +0 -156
  443. package/i18n/languages/lv_LV.d.ts +0 -180
  444. package/i18n/languages/mn_MN.d.ts +0 -180
  445. package/i18n/languages/ms_MY.d.ts +0 -180
  446. package/i18n/languages/nb_NO.d.ts +0 -180
  447. package/i18n/languages/ne_NP.d.ts +0 -180
  448. package/i18n/languages/nl_BE.d.ts +0 -180
  449. package/i18n/languages/nl_NL.d.ts +0 -180
  450. package/i18n/languages/pl_PL.d.ts +0 -180
  451. package/i18n/languages/pt_BR.d.ts +0 -180
  452. package/i18n/languages/pt_PT.d.ts +0 -180
  453. package/i18n/languages/ro_RO.d.ts +0 -180
  454. package/i18n/languages/ru_RU.d.ts +0 -180
  455. package/i18n/languages/sk_SK.d.ts +0 -179
  456. package/i18n/languages/sl_SI.d.ts +0 -180
  457. package/i18n/languages/sr_RS.d.ts +0 -180
  458. package/i18n/languages/sv_SE.d.ts +0 -180
  459. package/i18n/languages/ta_IN.d.ts +0 -180
  460. package/i18n/languages/th_TH.d.ts +0 -180
  461. package/i18n/languages/tr_TR.d.ts +0 -180
  462. package/i18n/languages/uk_UA.d.ts +0 -180
  463. package/i18n/languages/vi_VN.d.ts +0 -180
  464. package/i18n/languages/zh_CN.d.ts +0 -180
  465. package/i18n/languages/zh_TW.d.ts +0 -180
  466. package/i18n/public-api.d.ts +0 -56
  467. package/icon/icon.component.d.ts +0 -31
  468. package/icon/icon.module.d.ts +0 -7
  469. package/icon/icon.property.d.ts +0 -64
  470. package/icon/icon.service.d.ts +0 -33
  471. package/icon/public-api.d.ts +0 -4
  472. package/image/image-group.component.d.ts +0 -9
  473. package/image/image-preview.component.d.ts +0 -33
  474. package/image/image.component.d.ts +0 -24
  475. package/image/image.module.d.ts +0 -9
  476. package/image/image.property.d.ts +0 -213
  477. package/image/public-api.d.ts +0 -5
  478. package/inner/inner.component.d.ts +0 -8
  479. package/inner/inner.module.d.ts +0 -7
  480. package/inner/inner.property.d.ts +0 -24
  481. package/inner/public-api.d.ts +0 -3
  482. package/input/input-group.component.d.ts +0 -8
  483. package/input/input.component.d.ts +0 -52
  484. package/input/input.module.d.ts +0 -8
  485. package/input/input.property.d.ts +0 -552
  486. package/input/public-api.d.ts +0 -4
  487. package/input-number/input-number.component.d.ts +0 -35
  488. package/input-number/input-number.module.d.ts +0 -7
  489. package/input-number/input-number.property.d.ts +0 -312
  490. package/input-number/public-api.d.ts +0 -3
  491. package/keyword/keyword.directive.d.ts +0 -10
  492. package/keyword/keyword.module.d.ts +0 -7
  493. package/keyword/keyword.property.d.ts +0 -44
  494. package/keyword/public-api.d.ts +0 -3
  495. package/layout/col.component.d.ts +0 -14
  496. package/layout/layout.module.d.ts +0 -8
  497. package/layout/layout.property.d.ts +0 -139
  498. package/layout/public-api.d.ts +0 -4
  499. package/layout/row.component.d.ts +0 -13
  500. package/link/link.component.d.ts +0 -13
  501. package/link/link.module.d.ts +0 -7
  502. package/link/link.property.d.ts +0 -108
  503. package/link/public-api.d.ts +0 -3
  504. package/list/list-drop-group.directive.d.ts +0 -13
  505. package/list/list-option.component.d.ts +0 -18
  506. package/list/list.component.d.ts +0 -76
  507. package/list/list.module.d.ts +0 -9
  508. package/list/list.property.d.ts +0 -377
  509. package/list/public-api.d.ts +0 -5
  510. package/loading/loading.component.d.ts +0 -23
  511. package/loading/loading.module.d.ts +0 -7
  512. package/loading/loading.property.d.ts +0 -64
  513. package/loading/public-api.d.ts +0 -3
  514. package/menu/menu-node.component.d.ts +0 -19
  515. package/menu/menu.component.d.ts +0 -35
  516. package/menu/menu.module.d.ts +0 -8
  517. package/menu/menu.property.d.ts +0 -150
  518. package/menu/public-api.d.ts +0 -4
  519. package/message/README.md +0 -20
  520. package/message/message-ref.d.ts +0 -9
  521. package/message/message.component.d.ts +0 -15
  522. package/message/message.module.d.ts +0 -6
  523. package/message/message.property.d.ts +0 -137
  524. package/message/message.service.d.ts +0 -27
  525. package/message/public-api.d.ts +0 -5
  526. package/message-box/message-box.component.d.ts +0 -31
  527. package/message-box/message-box.module.d.ts +0 -6
  528. package/message-box/message-box.property.d.ts +0 -180
  529. package/message-box/message-box.service.d.ts +0 -17
  530. package/message-box/public-api.d.ts +0 -4
  531. package/notification/notification.component.d.ts +0 -15
  532. package/notification/notification.module.d.ts +0 -6
  533. package/notification/notification.property.d.ts +0 -96
  534. package/notification/notification.service.d.ts +0 -20
  535. package/notification/public-api.d.ts +0 -4
  536. package/outlet/outlet.directive.d.ts +0 -14
  537. package/outlet/outlet.module.d.ts +0 -7
  538. package/outlet/outlet.property.d.ts +0 -6
  539. package/outlet/public-api.d.ts +0 -3
  540. package/page-header/page-header.component.d.ts +0 -12
  541. package/page-header/page-header.module.d.ts +0 -7
  542. package/page-header/page-header.property.d.ts +0 -43
  543. package/page-header/public-api.d.ts +0 -3
  544. package/pagination/pagination.component.d.ts +0 -53
  545. package/pagination/pagination.module.d.ts +0 -7
  546. package/pagination/pagination.property.d.ts +0 -151
  547. package/pagination/public-api.d.ts +0 -3
  548. package/pattern/pattern.component.d.ts +0 -6
  549. package/pattern/pattern.module.d.ts +0 -7
  550. package/pattern/pattern.property.d.ts +0 -6
  551. package/pattern/public-api.d.ts +0 -3
  552. package/popconfirm/popconfirm.component.d.ts +0 -22
  553. package/popconfirm/popconfirm.module.d.ts +0 -7
  554. package/popconfirm/popconfirm.property.d.ts +0 -96
  555. package/popconfirm/public-api.d.ts +0 -3
  556. package/popover/popover-portal.component.d.ts +0 -23
  557. package/popover/popover.directive.d.ts +0 -34
  558. package/popover/popover.module.d.ts +0 -7
  559. package/popover/popover.property.d.ts +0 -103
  560. package/popover/public-api.d.ts +0 -4
  561. package/portal/portal.module.d.ts +0 -6
  562. package/portal/portal.property.d.ts +0 -76
  563. package/portal/portal.service.d.ts +0 -80
  564. package/portal/public-api.d.ts +0 -3
  565. package/progress/progress.component.d.ts +0 -39
  566. package/progress/progress.module.d.ts +0 -7
  567. package/progress/progress.property.d.ts +0 -147
  568. package/progress/public-api.d.ts +0 -3
  569. package/radio/public-api.d.ts +0 -3
  570. package/radio/radio.component.d.ts +0 -23
  571. package/radio/radio.module.d.ts +0 -7
  572. package/radio/radio.property.d.ts +0 -283
  573. package/rate/public-api.d.ts +0 -3
  574. package/rate/rate.component.d.ts +0 -26
  575. package/rate/rate.module.d.ts +0 -7
  576. package/rate/rate.property.d.ts +0 -199
  577. package/resizable/public-api.d.ts +0 -3
  578. package/resizable/resizable.directive.d.ts +0 -52
  579. package/resizable/resizable.module.d.ts +0 -7
  580. package/resizable/resizable.property.d.ts +0 -97
  581. package/result/public-api.d.ts +0 -3
  582. package/result/result.component.d.ts +0 -10
  583. package/result/result.module.d.ts +0 -7
  584. package/result/result.property.d.ts +0 -44
  585. package/ripple/public-api.d.ts +0 -3
  586. package/ripple/ripple.directive.d.ts +0 -21
  587. package/ripple/ripple.module.d.ts +0 -7
  588. package/ripple/ripple.property.d.ts +0 -39
  589. package/select/public-api.d.ts +0 -4
  590. package/select/select-portal.component.d.ts +0 -55
  591. package/select/select.component.d.ts +0 -106
  592. package/select/select.module.d.ts +0 -7
  593. package/select/select.property.d.ts +0 -473
  594. package/skeleton/public-api.d.ts +0 -3
  595. package/skeleton/skeleton.component.d.ts +0 -9
  596. package/skeleton/skeleton.module.d.ts +0 -7
  597. package/skeleton/skeleton.property.d.ts +0 -116
  598. package/slider/public-api.d.ts +0 -3
  599. package/slider/slider.component.d.ts +0 -62
  600. package/slider/slider.module.d.ts +0 -7
  601. package/slider/slider.property.d.ts +0 -121
  602. package/slider-select/public-api.d.ts +0 -3
  603. package/slider-select/slider-select.component.d.ts +0 -60
  604. package/slider-select/slider-select.module.d.ts +0 -7
  605. package/slider-select/slider-select.property.d.ts +0 -320
  606. package/statistic/countdown.component.d.ts +0 -21
  607. package/statistic/public-api.d.ts +0 -4
  608. package/statistic/statistic.component.d.ts +0 -8
  609. package/statistic/statistic.module.d.ts +0 -8
  610. package/statistic/statistic.property.d.ts +0 -95
  611. package/steps/public-api.d.ts +0 -3
  612. package/steps/steps.component.d.ts +0 -11
  613. package/steps/steps.module.d.ts +0 -7
  614. package/steps/steps.property.d.ts +0 -82
  615. package/switch/public-api.d.ts +0 -3
  616. package/switch/switch.component.d.ts +0 -15
  617. package/switch/switch.module.d.ts +0 -7
  618. package/switch/switch.property.d.ts +0 -201
  619. package/table/public-api.d.ts +0 -6
  620. package/table/table-body.component.d.ts +0 -48
  621. package/table/table-foot.component.d.ts +0 -15
  622. package/table/table-head.component.d.ts +0 -48
  623. package/table/table.component.d.ts +0 -106
  624. package/table/table.module.d.ts +0 -10
  625. package/table/table.property.d.ts +0 -869
  626. package/tabs/public-api.d.ts +0 -6
  627. package/tabs/tab-content.component.d.ts +0 -10
  628. package/tabs/tab-link.directive.d.ts +0 -17
  629. package/tabs/tab.component.d.ts +0 -11
  630. package/tabs/tabs.component.d.ts +0 -36
  631. package/tabs/tabs.module.d.ts +0 -9
  632. package/tabs/tabs.property.d.ts +0 -167
  633. package/tag/public-api.d.ts +0 -3
  634. package/tag/tag.component.d.ts +0 -17
  635. package/tag/tag.module.d.ts +0 -7
  636. package/tag/tag.property.d.ts +0 -76
  637. package/text-retract/public-api.d.ts +0 -3
  638. package/text-retract/text-retract.component.d.ts +0 -10
  639. package/text-retract/text-retract.module.d.ts +0 -7
  640. package/text-retract/text-retract.property.d.ts +0 -29
  641. package/textarea/public-api.d.ts +0 -3
  642. package/textarea/textarea.component.d.ts +0 -26
  643. package/textarea/textarea.module.d.ts +0 -7
  644. package/textarea/textarea.property.d.ts +0 -309
  645. package/theme/public-api.d.ts +0 -3
  646. package/theme/theme.component.d.ts +0 -47
  647. package/theme/theme.module.d.ts +0 -7
  648. package/theme/theme.property.d.ts +0 -100
  649. package/time-ago/public-api.d.ts +0 -3
  650. package/time-ago/time-ago.module.d.ts +0 -7
  651. package/time-ago/time-ago.pipe.d.ts +0 -17
  652. package/time-ago/time-ago.property.d.ts +0 -6
  653. package/time-picker/public-api.d.ts +0 -5
  654. package/time-picker/time-picker-frame.component.d.ts +0 -73
  655. package/time-picker/time-picker-portal.component.d.ts +0 -39
  656. package/time-picker/time-picker.component.d.ts +0 -64
  657. package/time-picker/time-picker.module.d.ts +0 -8
  658. package/time-picker/time-picker.property.d.ts +0 -441
  659. package/time-range/public-api.d.ts +0 -3
  660. package/time-range/time-range.module.d.ts +0 -7
  661. package/time-range/time-range.pipe.d.ts +0 -10
  662. package/time-range/time-range.property.d.ts +0 -6
  663. package/timeline/public-api.d.ts +0 -3
  664. package/timeline/timeline.component.d.ts +0 -11
  665. package/timeline/timeline.module.d.ts +0 -7
  666. package/timeline/timeline.property.d.ts +0 -90
  667. package/tooltip/public-api.d.ts +0 -4
  668. package/tooltip/tooltip-portal.component.d.ts +0 -34
  669. package/tooltip/tooltip.directive.d.ts +0 -36
  670. package/tooltip/tooltip.module.d.ts +0 -7
  671. package/tooltip/tooltip.property.d.ts +0 -81
  672. package/transfer/public-api.d.ts +0 -3
  673. package/transfer/transfer.component.d.ts +0 -72
  674. package/transfer/transfer.module.d.ts +0 -7
  675. package/transfer/transfer.property.d.ts +0 -263
  676. package/tree/public-api.d.ts +0 -4
  677. package/tree/tree-node.component.d.ts +0 -57
  678. package/tree/tree.component.d.ts +0 -77
  679. package/tree/tree.module.d.ts +0 -8
  680. package/tree/tree.property.d.ts +0 -460
  681. package/tree/tree.service.d.ts +0 -10
  682. package/tree-file/public-api.d.ts +0 -3
  683. package/tree-file/tree-file.component.d.ts +0 -24
  684. package/tree-file/tree-file.module.d.ts +0 -7
  685. package/tree-file/tree-file.property.d.ts +0 -138
  686. package/tree-select/public-api.d.ts +0 -4
  687. package/tree-select/tree-select-portal.component.d.ts +0 -46
  688. package/tree-select/tree-select.component.d.ts +0 -109
  689. package/tree-select/tree-select.module.d.ts +0 -7
  690. package/tree-select/tree-select.property.d.ts +0 -486
  691. package/typography/public-api.d.ts +0 -3
  692. package/typography/typography.component.d.ts +0 -11
  693. package/typography/typography.module.d.ts +0 -7
  694. package/typography/typography.property.d.ts +0 -25
  695. package/upload/public-api.d.ts +0 -4
  696. package/upload/upload-portal.component.d.ts +0 -48
  697. package/upload/upload.component.d.ts +0 -44
  698. package/upload/upload.module.d.ts +0 -7
  699. package/upload/upload.property.d.ts +0 -208
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, output, Component, model, inject, ViewContainerRef, signal, viewChild, effect, OutputEmitterRef, ViewEncapsulation, ChangeDetectionStrategy, computed, NgModule } from '@angular/core';
2
+ import { input, output, Component, model, inject, ViewContainerRef, signal, viewChild, effect, OutputEmitterRef, ChangeDetectionStrategy, ViewEncapsulation, computed, NgModule } from '@angular/core';
3
3
  import { XToCssPixelValue, XToNumber, XToBoolean, XIdentity, XIsEmpty, XIsFunction, XIsChange } from '@ng-nest/ui/core';
4
4
  import * as i1 from '@angular/forms';
5
5
  import { UntypedFormGroup, UntypedFormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
@@ -95,10 +95,10 @@ class XFormProperty extends XFormControlFunction(X_FORM_CONFIG_NAME) {
95
95
  */
96
96
  this.xSubmit = output();
97
97
  }
98
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XFormProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
99
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: XFormProperty, isStandalone: true, selector: "x-form-property", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, space: { classPropertyName: "space", publicName: "space", isSignal: true, isRequired: false, transformFunction: null }, span: { classPropertyName: "span", publicName: "span", isSignal: true, isRequired: false, transformFunction: null }, labelSuffix: { classPropertyName: "labelSuffix", publicName: "labelSuffix", isSignal: true, isRequired: false, transformFunction: null }, controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, controlTpl: { classPropertyName: "controlTpl", publicName: "controlTpl", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { xSubmit: "xSubmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
98
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XFormProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
99
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XFormProperty, isStandalone: true, selector: "x-form-property", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, space: { classPropertyName: "space", publicName: "space", isSignal: true, isRequired: false, transformFunction: null }, span: { classPropertyName: "span", publicName: "span", isSignal: true, isRequired: false, transformFunction: null }, labelSuffix: { classPropertyName: "labelSuffix", publicName: "labelSuffix", isSignal: true, isRequired: false, transformFunction: null }, controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, controlTpl: { classPropertyName: "controlTpl", publicName: "controlTpl", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { xSubmit: "xSubmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
100
100
  }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XFormProperty, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XFormProperty, decorators: [{
102
102
  type: Component,
103
103
  args: [{ selector: `${XFormPrefix}-property`, template: '' }]
104
104
  }] });
@@ -131,10 +131,10 @@ class XControlProperty {
131
131
  */
132
132
  this.option = model.required({});
133
133
  }
134
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XControlProperty, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
135
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: XControlProperty, isStandalone: true, selector: "x-control-property", inputs: { option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { option: "optionChange" }, ngImport: i0, template: '', isInline: true }); }
134
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XControlProperty, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
135
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XControlProperty, isStandalone: true, selector: "x-control-property", inputs: { option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { option: "optionChange" }, ngImport: i0, template: '', isInline: true }); }
136
136
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XControlProperty, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XControlProperty, decorators: [{
138
138
  type: Component,
139
139
  args: [{ selector: `${XControlPrefix}-property`, template: '' }]
140
140
  }] });
@@ -420,10 +420,10 @@ class XControlComponent extends XControlProperty {
420
420
  return new ComponentPortal(XInputComponent, this.viewContainerRef);
421
421
  }
422
422
  }
423
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
424
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.1", type: XControlComponent, isStandalone: true, selector: "x-control", viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"x-control\" [formGroup]=\"form.formGroup()\">\r\n <ng-template cdkPortalOutlet></ng-template>\r\n</div>\r\n", styles: [".x-control{margin:0;padding:0}.x-control x-input,.x-control x-select,.x-control x-date-picker,.x-control x-time-picker,.x-control x-input-number,.x-control x-slider-select,.x-control x-cascade,.x-control x-color-picker,.x-control x-textarea,.x-control x-auto-complete{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
423
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
424
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.0", type: XControlComponent, isStandalone: true, selector: "x-control", viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"x-control\" [formGroup]=\"form.formGroup()\">\r\n <ng-template cdkPortalOutlet></ng-template>\r\n</div>\r\n", styles: [".x-control{margin:0;padding:0}.x-control x-input,.x-control x-select,.x-control x-date-picker,.x-control x-time-picker,.x-control x-input-number,.x-control x-slider-select,.x-control x-cascade,.x-control x-color-picker,.x-control x-textarea,.x-control x-auto-complete{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
425
425
  }
426
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XControlComponent, decorators: [{
426
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XControlComponent, decorators: [{
427
427
  type: Component,
428
428
  args: [{ selector: 'x-control', imports: [FormsModule, ReactiveFormsModule, PortalModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-control\" [formGroup]=\"form.formGroup()\">\r\n <ng-template cdkPortalOutlet></ng-template>\r\n</div>\r\n", styles: [".x-control{margin:0;padding:0}.x-control x-input,.x-control x-select,.x-control x-date-picker,.x-control x-time-picker,.x-control x-input-number,.x-control x-slider-select,.x-control x-cascade,.x-control x-color-picker,.x-control x-textarea,.x-control x-auto-complete{width:100%}\n"] }]
429
429
  }], ctorParameters: () => [] });
@@ -515,10 +515,10 @@ class XFormComponent extends XFormProperty {
515
515
  this.setValidator();
516
516
  this.xSubmit.emit(event);
517
517
  }
518
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
519
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: XFormComponent, isStandalone: true, selector: "x-form", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form\r\n #form\r\n class=\"x-form\"\r\n [class.x-form-has-content]=\"content.innerHTML.trim()\"\r\n [formGroup]=\"formGroup()\"\r\n [style.width]=\"width()\"\r\n [style.padding-bottom]=\"controlsType() === 'controls' ? this.space() : '0px'\"\r\n [ngClass]=\"classMap()\"\r\n (ngSubmit)=\"onSubmit($event)\"\r\n>\r\n @if (title()) {\r\n <div class=\"x-form-title\">{{ title() }}</div>\r\n }\r\n @switch (controlsType()) {\r\n @case ('controls') {\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: controls() }\"> </ng-container>\r\n }\r\n @case ('rows') {\r\n <ng-container *ngTemplateOutlet=\"rowsTemp; context: { rows: controls() }\"></ng-container>\r\n }\r\n }\r\n <div class=\"x-form-content\" #content><ng-content></ng-content></div>\r\n</form>\r\n\r\n<ng-template #rowsTemp let-rows=\"rows\">\r\n @for (row of rows; track row) {\r\n <div class=\"x-form-category\" [hidden]=\"row.hidden\">\r\n <ng-container *ngTemplateOutlet=\"titleTemp; context: { row: row }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: row.controls }\"></ng-container>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #controlsTemp let-controls=\"controls\">\r\n <x-row [space]=\"space()\">\r\n @for (control of controls; track control) {\r\n <x-col [style.padding-top]=\"space()\" [span]=\"!control.span ? span() : control.span\" [hidden]=\"control.hidden\">\r\n <ng-container *xOutlet=\"controlTpl()[control.id]; context: { $option: control }\">\r\n <x-control [option]=\"control\"></x-control>\r\n </ng-container>\r\n </x-col>\r\n }\r\n </x-row>\r\n</ng-template>\r\n\r\n<ng-template #titleTemp let-row=\"row\">\r\n <label class=\"x-form-title\">\r\n @if (row.icon) {\r\n <x-icon [type]=\"row.icon\"></x-icon>\r\n }\r\n <span>{{ row.title }}</span>\r\n </label>\r\n</ng-template>\r\n", styles: [".x-form{margin:0;padding:0}.x-form{display:inline-block;overflow:hidden}.x-form-title{display:inline-flex;align-items:center;font-size:var(--x-font-size-medium)}.x-form-title>x-icon{margin-right:.25rem}.x-form-category{width:100%;overflow:hidden}.x-form-rows>x-row[hidden]{display:none}.x-form-rows>x-row:not(:first-child){margin-top:1.5rem}.x-form x-col[hidden]{display:none}.x-form-has-content .x-form-content{margin-top:1.5rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: XRowComponent, selector: "x-row" }, { kind: "component", type: XColComponent, selector: "x-col" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XControlComponent, selector: "x-control" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
518
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
519
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: XFormComponent, isStandalone: true, selector: "x-form", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form\r\n #form\r\n class=\"x-form\"\r\n [class.x-form-has-content]=\"content.innerHTML.trim()\"\r\n [formGroup]=\"formGroup()\"\r\n [style.width]=\"width()\"\r\n [style.padding-bottom]=\"controlsType() === 'controls' ? this.space() : '0px'\"\r\n [ngClass]=\"classMap()\"\r\n (ngSubmit)=\"onSubmit($event)\"\r\n>\r\n @if (title()) {\r\n <div class=\"x-form-title\">{{ title() }}</div>\r\n }\r\n @switch (controlsType()) {\r\n @case ('controls') {\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: controls() }\"> </ng-container>\r\n }\r\n @case ('rows') {\r\n <ng-container *ngTemplateOutlet=\"rowsTemp; context: { rows: controls() }\"></ng-container>\r\n }\r\n }\r\n <div class=\"x-form-content\" #content><ng-content></ng-content></div>\r\n</form>\r\n\r\n<ng-template #rowsTemp let-rows=\"rows\">\r\n @for (row of rows; track row) {\r\n <div class=\"x-form-category\" [hidden]=\"row.hidden\">\r\n <ng-container *ngTemplateOutlet=\"titleTemp; context: { row: row }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: row.controls }\"></ng-container>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #controlsTemp let-controls=\"controls\">\r\n <x-row [space]=\"space()\">\r\n @for (control of controls; track control) {\r\n <x-col [style.padding-top]=\"space()\" [span]=\"!control.span ? span() : control.span\" [hidden]=\"control.hidden\">\r\n <ng-container *xOutlet=\"controlTpl()[control.id]; context: { $option: control }\">\r\n <x-control [option]=\"control\"></x-control>\r\n </ng-container>\r\n </x-col>\r\n }\r\n </x-row>\r\n</ng-template>\r\n\r\n<ng-template #titleTemp let-row=\"row\">\r\n <label class=\"x-form-title\">\r\n @if (row.icon) {\r\n <x-icon [type]=\"row.icon\"></x-icon>\r\n }\r\n <span>{{ row.title }}</span>\r\n </label>\r\n</ng-template>\r\n", styles: [".x-form{margin:0;padding:0}.x-form{display:inline-block;overflow:hidden}.x-form-title{display:inline-flex;align-items:center;font-size:var(--x-font-size-medium)}.x-form-title>x-icon{margin-right:.25rem}.x-form-category{width:100%;overflow:hidden}.x-form-rows>x-row[hidden]{display:none}.x-form-rows>x-row:not(:first-child){margin-top:1.5rem}.x-form x-col[hidden]{display:none}.x-form-has-content .x-form-content{margin-top:1.5rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: XRowComponent, selector: "x-row" }, { kind: "component", type: XColComponent, selector: "x-col" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XControlComponent, selector: "x-control" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
520
520
  }
521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XFormComponent, decorators: [{
521
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XFormComponent, decorators: [{
522
522
  type: Component,
523
523
  args: [{ selector: `${XFormPrefix}`, imports: [
524
524
  NgClass,
@@ -534,11 +534,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
534
534
  }] });
535
535
 
536
536
  class XFormModule {
537
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
538
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: XFormModule, imports: [XFormComponent, XControlComponent], exports: [XFormComponent, XControlComponent] }); }
539
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XFormModule, imports: [XFormComponent, XControlComponent] }); }
537
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
538
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: XFormModule, imports: [XFormComponent, XControlComponent], exports: [XFormComponent, XControlComponent] }); }
539
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XFormModule, imports: [XFormComponent, XControlComponent] }); }
540
540
  }
541
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XFormModule, decorators: [{
541
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XFormModule, decorators: [{
542
542
  type: NgModule,
543
543
  args: [{
544
544
  exports: [XFormComponent, XControlComponent],
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, Component, inject, PLATFORM_ID, Injectable, viewChild, signal, computed, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, NgModule } from '@angular/core';
2
+ import { input, Component, inject, PLATFORM_ID, Injectable, viewChild, signal, computed, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, NgModule } from '@angular/core';
3
3
  import { XPropertyFunction, XToBoolean, XIsEmpty } from '@ng-nest/ui/core';
4
4
  import { DomSanitizer } from '@angular/platform-browser';
5
5
  import { isPlatformBrowser } from '@angular/common';
@@ -40,10 +40,10 @@ class XHighlightProperty extends XPropertyFunction(X_HIGHLIGHT_CONFIG_NAME) {
40
40
  */
41
41
  this.showCopy = input(false, { transform: XToBoolean });
42
42
  }
43
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XHighlightProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
44
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: XHighlightProperty, isStandalone: true, selector: "x-highlight-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, highlightLines: { classPropertyName: "highlightLines", publicName: "highlightLines", isSignal: true, isRequired: false, transformFunction: null }, showCopy: { classPropertyName: "showCopy", publicName: "showCopy", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
43
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XHighlightProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
44
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XHighlightProperty, isStandalone: true, selector: "x-highlight-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, highlightLines: { classPropertyName: "highlightLines", publicName: "highlightLines", isSignal: true, isRequired: false, transformFunction: null }, showCopy: { classPropertyName: "showCopy", publicName: "showCopy", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XHighlightProperty, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XHighlightProperty, decorators: [{
47
47
  type: Component,
48
48
  args: [{ selector: `${XHighlightPrefix}-property`, template: '' }]
49
49
  }] });
@@ -54,10 +54,10 @@ class XHighlightService {
54
54
  this.isBrowser = isPlatformBrowser(this.platformId);
55
55
  this.prism = this.isBrowser ? window['Prism'] : null;
56
56
  }
57
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XHighlightService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
58
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XHighlightService, providedIn: 'root' }); }
57
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XHighlightService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
58
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XHighlightService, providedIn: 'root' }); }
59
59
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XHighlightService, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XHighlightService, decorators: [{
61
61
  type: Injectable,
62
62
  args: [{ providedIn: 'root' }]
63
63
  }] });
@@ -127,10 +127,10 @@ class XHighlightComponent extends XHighlightProperty {
127
127
  this.iconCopy.set('fto-copy');
128
128
  });
129
129
  }
130
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XHighlightComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
131
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: XHighlightComponent, isStandalone: true, selector: "x-highlight", host: { properties: { "class": "this.className" } }, viewQueries: [{ propertyName: "codeRef", first: true, predicate: ["code"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<pre>\r\n <code #code class=\"language-{{ type() }}\" [innerHTML]=\"display()\"></code>\r\n</pre>\r\n<div class=\"x-highlight-actions\">\r\n @if (showCopy()) {\r\n <x-button class=\"x-highlight-copy\" [icon]=\"iconCopy()\" onlyIcon flat (click)=\"onCopy()\"></x-button>\r\n }\r\n</div>\r\n", styles: [".x-highlight{margin:0;padding:0}.x-highlight{display:block;line-height:0;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);position:relative}.x-highlight>pre{display:flex;padding:1.5rem 1.5rem 1.5rem 3.5rem;margin:0;overflow:auto;background-color:var(--x-background);border-radius:var(--x-border-radius);counter-reset:line-number}.x-highlight>pre>code{position:relative;line-height:1.375rem;text-shadow:none;white-space:inherit;min-width:100%;color:var(--x-text-100)}.x-highlight>pre>code>span.line-numbers{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.5rem;width:3.5rem;letter-spacing:-1px;-webkit-user-select:none;user-select:none;color:var(--x-text-400)}.x-highlight>pre>code>span.line-numbers>span:before{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-right:.5rem;margin-right:var(--x-font-size);text-align:right;pointer-events:none;display:block;counter-increment:line-number;content:counter(line-number)}.x-highlight>pre>code>.line-highlight{position:absolute;opacity:.1;pointer-events:none;line-height:inherit;white-space:pre;width:calc(100% + 5rem);left:-3.5rem}.x-highlight>pre>code>.line-highlight.primary{background-color:var(--x-primary)}.x-highlight>pre>code>.line-highlight.success{background-color:var(--x-success)}.x-highlight>pre>code>.line-highlight.warning{background-color:var(--x-warning)}.x-highlight>pre>code>.line-highlight.danger{background-color:var(--x-danger)}.x-highlight>pre>code>.line-highlight.info{background-color:var(--x-info)}.x-highlight-actions{position:absolute;top:0;right:0}\n"], dependencies: [{ kind: "component", type: XButtonComponent, selector: "x-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
130
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XHighlightComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
131
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: XHighlightComponent, isStandalone: true, selector: "x-highlight", host: { properties: { "class": "this.className" } }, viewQueries: [{ propertyName: "codeRef", first: true, predicate: ["code"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<pre>\r\n <code #code class=\"language-{{ type() }}\" [innerHTML]=\"display()\"></code>\r\n</pre>\r\n<div class=\"x-highlight-actions\">\r\n @if (showCopy()) {\r\n <x-button class=\"x-highlight-copy\" [icon]=\"iconCopy()\" onlyIcon flat (click)=\"onCopy()\"></x-button>\r\n }\r\n</div>\r\n", styles: [".x-highlight{margin:0;padding:0}.x-highlight{display:block;line-height:0;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);position:relative}.x-highlight>pre{display:flex;padding:1.5rem 1.5rem 1.5rem 3.5rem;margin:0;overflow:auto;background-color:var(--x-background);border-radius:var(--x-border-radius);counter-reset:line-number}.x-highlight>pre>code{position:relative;line-height:1.375rem;text-shadow:none;white-space:inherit;min-width:100%;color:var(--x-text-100)}.x-highlight>pre>code>span.line-numbers{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.5rem;width:3.5rem;letter-spacing:-1px;-webkit-user-select:none;user-select:none;color:var(--x-text-400)}.x-highlight>pre>code>span.line-numbers>span:before{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-right:.5rem;margin-right:var(--x-font-size);text-align:right;pointer-events:none;display:block;counter-increment:line-number;content:counter(line-number)}.x-highlight>pre>code>.line-highlight{position:absolute;opacity:.1;pointer-events:none;line-height:inherit;white-space:pre;width:calc(100% + 5rem);left:-3.5rem}.x-highlight>pre>code>.line-highlight.primary{background-color:var(--x-primary)}.x-highlight>pre>code>.line-highlight.success{background-color:var(--x-success)}.x-highlight>pre>code>.line-highlight.warning{background-color:var(--x-warning)}.x-highlight>pre>code>.line-highlight.danger{background-color:var(--x-danger)}.x-highlight>pre>code>.line-highlight.info{background-color:var(--x-info)}.x-highlight-actions{position:absolute;top:0;right:0}\n"], dependencies: [{ kind: "component", type: XButtonComponent, selector: "x-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
132
132
  }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XHighlightComponent, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XHighlightComponent, decorators: [{
134
134
  type: Component,
135
135
  args: [{ selector: `${XHighlightPrefix}`, imports: [XButtonComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<pre>\r\n <code #code class=\"language-{{ type() }}\" [innerHTML]=\"display()\"></code>\r\n</pre>\r\n<div class=\"x-highlight-actions\">\r\n @if (showCopy()) {\r\n <x-button class=\"x-highlight-copy\" [icon]=\"iconCopy()\" onlyIcon flat (click)=\"onCopy()\"></x-button>\r\n }\r\n</div>\r\n", styles: [".x-highlight{margin:0;padding:0}.x-highlight{display:block;line-height:0;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);position:relative}.x-highlight>pre{display:flex;padding:1.5rem 1.5rem 1.5rem 3.5rem;margin:0;overflow:auto;background-color:var(--x-background);border-radius:var(--x-border-radius);counter-reset:line-number}.x-highlight>pre>code{position:relative;line-height:1.375rem;text-shadow:none;white-space:inherit;min-width:100%;color:var(--x-text-100)}.x-highlight>pre>code>span.line-numbers{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.5rem;width:3.5rem;letter-spacing:-1px;-webkit-user-select:none;user-select:none;color:var(--x-text-400)}.x-highlight>pre>code>span.line-numbers>span:before{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-right:.5rem;margin-right:var(--x-font-size);text-align:right;pointer-events:none;display:block;counter-increment:line-number;content:counter(line-number)}.x-highlight>pre>code>.line-highlight{position:absolute;opacity:.1;pointer-events:none;line-height:inherit;white-space:pre;width:calc(100% + 5rem);left:-3.5rem}.x-highlight>pre>code>.line-highlight.primary{background-color:var(--x-primary)}.x-highlight>pre>code>.line-highlight.success{background-color:var(--x-success)}.x-highlight>pre>code>.line-highlight.warning{background-color:var(--x-warning)}.x-highlight>pre>code>.line-highlight.danger{background-color:var(--x-danger)}.x-highlight>pre>code>.line-highlight.info{background-color:var(--x-info)}.x-highlight-actions{position:absolute;top:0;right:0}\n"] }]
136
136
  }], propDecorators: { className: [{
@@ -139,11 +139,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
139
139
  }] } });
140
140
 
141
141
  class XHighlightModule {
142
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
143
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: XHighlightModule, imports: [XHighlightComponent], exports: [XHighlightComponent] }); }
144
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XHighlightModule, imports: [XHighlightComponent] }); }
142
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
143
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: XHighlightModule, imports: [XHighlightComponent], exports: [XHighlightComponent] }); }
144
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XHighlightModule, imports: [XHighlightComponent] }); }
145
145
  }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XHighlightModule, decorators: [{
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XHighlightModule, decorators: [{
147
147
  type: NgModule,
148
148
  args: [{
149
149
  exports: [XHighlightComponent],
@@ -233,10 +233,10 @@ class XI18nService {
233
233
  }
234
234
  return index === depth ? res : null;
235
235
  }
236
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XI18nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
237
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XI18nService, providedIn: 'root' }); }
236
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XI18nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
237
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XI18nService, providedIn: 'root' }); }
238
238
  }
239
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XI18nService, decorators: [{
239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XI18nService, decorators: [{
240
240
  type: Injectable,
241
241
  args: [{
242
242
  providedIn: 'root'
@@ -256,10 +256,10 @@ class XI18nPipe {
256
256
  }
257
257
  return this.catchContent;
258
258
  }
259
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XI18nPipe, deps: [{ token: XI18nService }], target: i0.ɵɵFactoryTarget.Pipe }); }
260
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: XI18nPipe, isStandalone: true, name: "xI18n", pure: false }); }
259
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XI18nPipe, deps: [{ token: XI18nService }], target: i0.ɵɵFactoryTarget.Pipe }); }
260
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: XI18nPipe, isStandalone: true, name: "xI18n", pure: false }); }
261
261
  }
262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XI18nPipe, decorators: [{
262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XI18nPipe, decorators: [{
263
263
  type: Pipe,
264
264
  args: [{
265
265
  name: 'xI18n',
@@ -281,10 +281,10 @@ class XI18nDirective {
281
281
  });
282
282
  effect(() => (this.elementRef.nativeElement.innerText = this.content()));
283
283
  }
284
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XI18nDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
285
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.1", type: XI18nDirective, isStandalone: true, selector: "[x-i18n]", inputs: { path: { classPropertyName: "path", publicName: "x-i18n", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
284
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XI18nDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
285
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.0", type: XI18nDirective, isStandalone: true, selector: "[x-i18n]", inputs: { path: { classPropertyName: "path", publicName: "x-i18n", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
286
286
  }
287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XI18nDirective, decorators: [{
287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XI18nDirective, decorators: [{
288
288
  type: Directive,
289
289
  args: [{
290
290
  selector: '[x-i18n]'
@@ -292,11 +292,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
292
292
  }], ctorParameters: () => [] });
293
293
 
294
294
  class XI18nModule {
295
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XI18nModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
296
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: XI18nModule, imports: [XI18nPipe, XI18nDirective], exports: [XI18nPipe, XI18nDirective] }); }
297
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XI18nModule }); }
295
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XI18nModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
296
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: XI18nModule, imports: [XI18nPipe, XI18nDirective], exports: [XI18nPipe, XI18nDirective] }); }
297
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XI18nModule }); }
298
298
  }
299
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XI18nModule, decorators: [{
299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XI18nModule, decorators: [{
300
300
  type: NgModule,
301
301
  args: [{
302
302
  imports: [XI18nPipe, XI18nDirective],
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, Component, inject, SecurityContext, Injectable, ElementRef, Renderer2, ChangeDetectorRef, computed, effect, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, NgModule } from '@angular/core';
2
+ import { input, Component, inject, SecurityContext, Injectable, ElementRef, Renderer2, ChangeDetectorRef, computed, effect, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, NgModule } from '@angular/core';
3
3
  import { XPropertyFunction, XToBoolean, XHasIn, XIsEmpty, XWarnIconTypeNotFound, XWarnSVGTagNotFound } from '@ng-nest/ui/core';
4
4
  import { DomSanitizer } from '@angular/platform-browser';
5
5
  import { HttpClient } from '@angular/common/http';
@@ -60,10 +60,10 @@ class XIconProperty extends XPropertyFunction(X_ICON_CONFIG_NAME) {
60
60
  */
61
61
  this.spin = input(false, { transform: XToBoolean });
62
62
  }
63
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XIconProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: XIconProperty, isStandalone: true, selector: "x-icon-property", inputs: { href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, spin: { classPropertyName: "spin", publicName: "spin", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
63
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XIconProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XIconProperty, isStandalone: true, selector: "x-icon-property", inputs: { href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, spin: { classPropertyName: "spin", publicName: "spin", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XIconProperty, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XIconProperty, decorators: [{
67
67
  type: Component,
68
68
  args: [{ selector: `${XIconPrefix}-property`, template: '' }]
69
69
  }] });
@@ -146,10 +146,10 @@ class XIconService {
146
146
  register(icon, url) {
147
147
  this.customIcon[icon] = url;
148
148
  }
149
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XIconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
150
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XIconService, providedIn: 'root' }); }
149
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XIconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
150
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XIconService, providedIn: 'root' }); }
151
151
  }
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XIconService, decorators: [{
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XIconService, decorators: [{
153
153
  type: Injectable,
154
154
  args: [{ providedIn: 'root' }]
155
155
  }], ctorParameters: () => [] });
@@ -192,7 +192,7 @@ class XIconComponent extends XIconProperty {
192
192
  this.iconService = inject(XIconService);
193
193
  this.inSource = computed(() => {
194
194
  const type = this.type();
195
- if (typeof type === 'undefined' || type === '')
195
+ if (typeof type === 'undefined' || type === '' || type === null)
196
196
  return false;
197
197
  const split = type.split('-');
198
198
  const souce = split.shift();
@@ -228,6 +228,9 @@ class XIconComponent extends XIconProperty {
228
228
  setSvgs(svg) {
229
229
  if (XIsEmpty(svg))
230
230
  return;
231
+ if (this.svgElement) {
232
+ this.renderer.removeChild(this.elementRef.nativeElement, this.svgElement);
233
+ }
231
234
  if (this.isCustom()) {
232
235
  const parser = new DOMParser();
233
236
  const svgDoc = parser.parseFromString(svg, 'image/svg+xml');
@@ -296,10 +299,10 @@ class XIconComponent extends XIconProperty {
296
299
  svg.setAttribute(attribute, def);
297
300
  }
298
301
  }
299
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
300
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.1", type: XIconComponent, isStandalone: true, selector: "x-icon", host: { properties: { "class": "this.className", "class.x-icon-spin": "this.getSpin", "style.color": "this.getColor" } }, usesInheritance: true, ngImport: i0, template: "\r\n", styles: ["@keyframes x-icon-spin{to{transform:rotate(360deg)}}.x-icon{margin:0;padding:0}.x-icon{display:inline-block;line-height:0;text-align:center;vertical-align:-.125em;font-size:1rem}.x-icon-spin{animation:1s linear infinite x-icon-spin}.x-icon[left]{margin-right:.25rem}.x-icon[right]{margin-left:.25rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
302
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
303
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: XIconComponent, isStandalone: true, selector: "x-icon", host: { properties: { "class": "this.className", "class.x-icon-spin": "this.getSpin", "style.color": "this.getColor" } }, usesInheritance: true, ngImport: i0, template: "\r\n", styles: ["@keyframes x-icon-spin{to{transform:rotate(360deg)}}.x-icon{margin:0;padding:0}.x-icon{display:inline-block;line-height:0;text-align:center;vertical-align:-.125em;font-size:1rem}.x-icon-spin{animation:1s linear infinite x-icon-spin}.x-icon[left]{margin-right:.25rem}.x-icon[right]{margin-left:.25rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
301
304
  }
302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XIconComponent, decorators: [{
305
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XIconComponent, decorators: [{
303
306
  type: Component,
304
307
  args: [{ selector: `${XIconPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "\r\n", styles: ["@keyframes x-icon-spin{to{transform:rotate(360deg)}}.x-icon{margin:0;padding:0}.x-icon{display:inline-block;line-height:0;text-align:center;vertical-align:-.125em;font-size:1rem}.x-icon-spin{animation:1s linear infinite x-icon-spin}.x-icon[left]{margin-right:.25rem}.x-icon[right]{margin-left:.25rem}\n"] }]
305
308
  }], ctorParameters: () => [], propDecorators: { className: [{
@@ -314,11 +317,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
314
317
  }] } });
315
318
 
316
319
  class XIconModule {
317
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
318
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: XIconModule, imports: [XIconComponent], exports: [XIconComponent] }); }
319
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XIconModule }); }
320
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
321
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: XIconModule, imports: [XIconComponent], exports: [XIconComponent] }); }
322
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XIconModule }); }
320
323
  }
321
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XIconModule, decorators: [{
324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XIconModule, decorators: [{
322
325
  type: NgModule,
323
326
  args: [{
324
327
  exports: [XIconComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-icon.mjs","sources":["../../../../lib/ng-nest/ui/icon/icon.property.ts","../../../../lib/ng-nest/ui/icon/icon.service.ts","../../../../lib/ng-nest/ui/icon/icon.component.ts","../../../../lib/ng-nest/ui/icon/icon.component.html","../../../../lib/ng-nest/ui/icon/icon.module.ts","../../../../lib/ng-nest/ui/icon/ng-nest-ui-icon.ts"],"sourcesContent":["import { XPropertyFunction, XToBoolean } from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\nimport type { XBoolean } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Icon\r\n * @selector x-icon\r\n * @decorator component\r\n */\r\nexport const XIconPrefix = 'x-icon';\r\nconst X_ICON_CONFIG_NAME = 'icon';\r\n\r\n/**\r\n * Icon Property\r\n */\r\n@Component({ selector: `${XIconPrefix}-property`, template: '' })\r\nexport class XIconProperty extends XPropertyFunction(X_ICON_CONFIG_NAME) {\r\n /**\r\n * @zh_CN SVG 图标根路径地址,可以通过全局只配置一次,所有图标资源在 github 上的 ng-nest-icon 中\r\n * @en_US The root address of the SVG icon can be configured only once globally. All icon resources are in ng-nest-icon on github\r\n */\r\n readonly href = input<string>(this.config?.href ?? 'https://ngnest.com/static/icons/');\r\n /**\r\n * @zh_CN 图标类型\r\n * @en_US Icon type\r\n * @example\r\n *\r\n * ```html\r\n * <x-icon type=\"fto-activity\"></x-icon>\r\n * <x-icon type=\"fto-airplay\"></x-icon>\r\n * <x-icon type=\"fto-anchor\"></x-icon>\r\n * ```\r\n *\r\n */\r\n readonly type = input<string>();\r\n /**\r\n * @zh_CN 图标颜色\r\n * @en_US Icon color\r\n * @example\r\n *\r\n * ```html\r\n * <x-icon color=\"red\" type=\"fto-activity\"></x-icon>\r\n * ```\r\n *\r\n */\r\n readonly color = input<string>();\r\n /**\r\n * @zh_CN loading效果(图标一直旋转)\r\n * @en_US Loading effect (icon keeps rotating)\r\n * @example\r\n *\r\n * ```html\r\n * <x-icon spin=\"true\" type=\"fto-loader\"></x-icon>\r\n * ```\r\n *\r\n */\r\n readonly spin = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * @zh_CN 图标来源\r\n * @en_US Icon source\r\n */\r\nexport type XIconSource = 'ant-design' | 'eva' | 'feather' | 'font-awesome' | 'material-design';\r\n","import { Injectable, SecurityContext, inject } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { XHasIn, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XIconPrefix } from './icon.property';\r\n\r\ntype Task<T> = {\r\n name: string;\r\n observable: Observable<T>;\r\n callback: Function;\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class XIconService {\r\n caches: { [property: string]: any } = {};\r\n queue: Task<any>[] = [];\r\n activeTaskXm: number = 0;\r\n isRunningTask = false;\r\n limit: number = 10;\r\n sanitizer = inject(DomSanitizer);\r\n http = inject(HttpClient, { optional: true })!;\r\n customIcon: { [property: string]: string } = {};\r\n\r\n constructor() {\r\n if (!this.http) {\r\n throw new Error(`${XIconPrefix}: Not found 'HttpClient', You can import 'HttpClientModule' in your root module.`);\r\n }\r\n }\r\n\r\n public addTask<T>(task: Task<T>) {\r\n this.queue.push(task);\r\n this.runTask();\r\n }\r\n\r\n private execute<T>(task: Task<T>) {\r\n this.isRunningTask = true;\r\n if (XHasIn(this.caches, task.name)) {\r\n task.callback(this.caches[task.name]);\r\n this.activeTaskXm--;\r\n this.isRunningTask = false;\r\n this.runTask();\r\n return;\r\n }\r\n return task.observable.subscribe({\r\n next: (result) => {\r\n this.caches[task.name] = result;\r\n task.callback(result);\r\n return result;\r\n },\r\n error: (error) => {\r\n console.error(error);\r\n this.activeTaskXm--;\r\n this.isRunningTask = false;\r\n this.runTask();\r\n },\r\n complete: () => {\r\n this.activeTaskXm--;\r\n this.isRunningTask = false;\r\n this.runTask();\r\n }\r\n });\r\n }\r\n\r\n private runTask() {\r\n if (!this.isRunningTask && this.activeTaskXm < this.limit && this.queue.length > 0) {\r\n const task = this.queue.shift();\r\n this.activeTaskXm++;\r\n this.execute(task!);\r\n }\r\n }\r\n\r\n getSvg(root: string, icon: string, isCustom = false): Observable<string> {\r\n return new Observable((subscriber: Subscriber<string>) => {\r\n if (XIsEmpty(icon)) {\r\n subscriber.next('');\r\n subscriber.complete();\r\n return;\r\n }\r\n this.addTask({\r\n name: icon,\r\n observable: this.getSvgElement(root, icon, isCustom),\r\n callback: (svg: string) => {\r\n subscriber.next(svg);\r\n subscriber.complete();\r\n }\r\n });\r\n });\r\n }\r\n\r\n getSvgElement(root: string, icon: string, isCustom = false): Observable<string> {\r\n const url = isCustom ? `${root}${icon}` : `${root}${icon}.svg`;\r\n const safeUrl = this.sanitizer.sanitize(SecurityContext.URL, url);\r\n return this.http.get(safeUrl as string, { responseType: 'text' });\r\n }\r\n\r\n register(icon: string, url: string) {\r\n this.customIcon[icon] = url;\r\n }\r\n}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n Renderer2,\r\n HostBinding,\r\n inject,\r\n effect,\r\n computed,\r\n ChangeDetectorRef\r\n} from '@angular/core';\r\nimport { XIconPrefix, XIconProperty } from './icon.property';\r\nimport { XIconService } from './icon.service';\r\nimport { XWarnIconTypeNotFound, XIsEmpty, XHasIn, XWarnSVGTagNotFound } from '@ng-nest/ui/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n// 来源路径对应\r\nexport const XSouceUrl: { [property: string]: string } = {\r\n adf: `ant-design/fill/`,\r\n ado: `ant-design/outline/`,\r\n adt: `ant-design/twotone/`,\r\n eaf: `eva/fill/`,\r\n eao: `eva/outline/`,\r\n fto: `feather/`,\r\n fab: `font-awesome/brands/`,\r\n far: `font-awesome/regular/`,\r\n fas: `font-awesome/solid/`,\r\n mdf: `material-design/fill/`,\r\n mdo: `material-design/outline/`\r\n};\r\n\r\nexport const XViewBox = [\r\n // { souces: [\"adf\", \"ado\", \"adt\"], value: \"0 0 1024 1024\" },\r\n // { souces: [\"eaf\", \"eao\"], value: \"0 0 24 24\" },\r\n // { souces: [\"fto\"], value: \"0 0 24 24\" }\r\n];\r\n\r\n@Component({\r\n selector: `${XIconPrefix}`,\r\n templateUrl: './icon.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XIconComponent extends XIconProperty {\r\n @HostBinding('class') get className() {\r\n return `${XIconPrefix} ${this.type()}`;\r\n }\r\n private svgElement!: HTMLElement;\r\n private document = inject(DOCUMENT);\r\n private elementRef = inject(ElementRef);\r\n private renderer = inject(Renderer2);\r\n private cdr = inject(ChangeDetectorRef);\r\n private iconService = inject(XIconService);\r\n\r\n @HostBinding('class.x-icon-spin') get getSpin() {\r\n return this.spin();\r\n }\r\n\r\n @HostBinding('style.color') get getColor() {\r\n return this.color();\r\n }\r\n\r\n inSource = computed(() => {\r\n const type = this.type();\r\n if (typeof type === 'undefined' || type === '') return false;\r\n const split = type.split('-');\r\n const souce = split.shift();\r\n if (typeof souce === 'undefined') return false;\r\n const souceUrl = XSouceUrl[souce];\r\n return souceUrl ? true : false;\r\n });\r\n\r\n sourceUrl = computed(() => {\r\n if (!this.inSource()) return '';\r\n const split = this.type()!.split('-');\r\n const souce = split.shift();\r\n const souceUrl = XSouceUrl[souce!];\r\n const fileName = split.join('-');\r\n if (!souceUrl || !fileName) {\r\n XWarnIconTypeNotFound();\r\n }\r\n return `${souceUrl}${fileName}`;\r\n });\r\n\r\n isCustom = computed(() => {\r\n return !this.inSource() && XHasIn(this.iconService.customIcon, this.type()!);\r\n });\r\n\r\n constructor() {\r\n super();\r\n effect(() => {\r\n if (this.isCustom()) {\r\n this.iconService.getSvg('', this.iconService.customIcon[this.type()!], true).subscribe((x) => this.setSvgs(x));\r\n } else if (this.inSource()) {\r\n this.iconService.getSvg(this.href(), this.sourceUrl()).subscribe((x) => this.setSvgs(x));\r\n }\r\n });\r\n }\r\n\r\n setSvgs(svg: string) {\r\n if (XIsEmpty(svg)) return;\r\n if (this.isCustom()) {\r\n const parser = new DOMParser();\r\n const svgDoc = parser.parseFromString(svg, 'image/svg+xml');\r\n let firstChild = this.elementRef.nativeElement.firstChild;\r\n if (firstChild) {\r\n this.renderer.removeChild(this.elementRef.nativeElement, firstChild);\r\n }\r\n this.svgElement = svgDoc.documentElement;\r\n } else if (this.inSource()) {\r\n this.svgElement = this.buildSvg(svg)!;\r\n }\r\n if (!this.svgElement) return;\r\n this.setAttributes(this.svgElement);\r\n this.renderer.appendChild(this.elementRef.nativeElement, this.svgElement);\r\n // TODO: use zoneless, renderer removeChild will not take effect immediately\r\n this.cdr.markForCheck();\r\n }\r\n\r\n buildSvg(svgStr: string): HTMLElement | undefined {\r\n const result = this.document.createElementNS('http://www.w3.org/2000/svg', 'svg') as any;\r\n const svg = this.createSvg(svgStr);\r\n if (!svg) return;\r\n svg.children.forEach((x) => {\r\n x.removeAttribute('class');\r\n if (x.tagName === 'rect') {\r\n x.setAttribute('fill', 'none');\r\n }\r\n result.appendChild(x);\r\n });\r\n this.setAttribute(result, svg.ele, 'viewBox');\r\n this.setAttribute(result, svg.ele, 'fill', 'currentColor');\r\n this.setAttribute(result, svg.ele, 'stroke');\r\n this.setAttribute(result, svg.ele, 'stroke-width');\r\n this.setAttribute(result, svg.ele, 'stroke-linecap');\r\n this.setAttribute(result, svg.ele, 'stroke-linejoin');\r\n if (!result) {\r\n XWarnSVGTagNotFound();\r\n }\r\n\r\n return result;\r\n }\r\n\r\n createSvg(svgStr: string) {\r\n const div = this.document.createElement('div');\r\n div.innerHTML = svgStr;\r\n let svgEle = div.querySelector('svg') as SVGElement;\r\n if (!svgEle) return null;\r\n return {\r\n ele: svgEle,\r\n children: svgEle.querySelectorAll('path, polyline, polygon, circle, line, rect')\r\n };\r\n }\r\n\r\n setAttributes(svgEle: HTMLElement) {\r\n if (svgEle) {\r\n this.renderer.setAttribute(svgEle, 'width', '1em');\r\n this.renderer.setAttribute(svgEle, 'height', '1em');\r\n }\r\n }\r\n\r\n setAttribute(svg: SVGElement, svgEle: SVGElement, attribute: string, def?: string) {\r\n let attr = svgEle.getAttribute(attribute);\r\n if (attr) {\r\n svg.setAttribute(attribute, attr);\r\n } else if (def) {\r\n svg.setAttribute(attribute, def);\r\n }\r\n }\r\n}\r\n","\r\n","import { NgModule } from '@angular/core';\r\nimport { XIconComponent } from './icon.component';\r\n\r\n@NgModule({\r\n exports: [XIconComponent],\r\n imports: [XIconComponent]\r\n})\r\nexport class XIconModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AAIA;;;;AAIG;AACI,MAAM,WAAW,GAAG;AAC3B,MAAM,kBAAkB,GAAG,MAAM;AAEjC;;AAEG;MAEU,aAAc,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC,CAAA;AADxE,IAAA,WAAA,GAAA;;AAEE;;;AAGG;QACM,IAAI,CAAA,IAAA,GAAG,KAAK,CAAS,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,kCAAkC,CAAC;AACtF;;;;;;;;;;;AAWG;QACM,IAAI,CAAA,IAAA,GAAG,KAAK,EAAU;AAC/B;;;;;;;;;AASG;QACM,IAAK,CAAA,KAAA,GAAG,KAAK,EAAU;AAChC;;;;;;;;;AASG;QACM,IAAI,CAAA,IAAA,GAAG,KAAK,CAAoB,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAC3E;iIAzCY,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,qkBADkC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FACjD,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,SAAS;mBAAC,EAAE,QAAQ,EAAE,CAAG,EAAA,WAAW,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;;;MCDnD,YAAY,CAAA;AAUvB,IAAA,WAAA,GAAA;QATA,IAAM,CAAA,MAAA,GAAgC,EAAE;QACxC,IAAK,CAAA,KAAA,GAAgB,EAAE;QACvB,IAAY,CAAA,YAAA,GAAW,CAAC;QACxB,IAAa,CAAA,aAAA,GAAG,KAAK;QACrB,IAAK,CAAA,KAAA,GAAW,EAAE;AAClB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;QAChC,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAE;QAC9C,IAAU,CAAA,UAAA,GAAmC,EAAE;AAG7C,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,CAAA,gFAAA,CAAkF,CAAC;;;AAI9G,IAAA,OAAO,CAAI,IAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE;;AAGR,IAAA,OAAO,CAAI,IAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;QACzB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;AAClC,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;YAC1B,IAAI,CAAC,OAAO,EAAE;YACd;;AAEF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;AAC/B,YAAA,IAAI,EAAE,CAAC,MAAM,KAAI;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM;AAC/B,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;AACrB,gBAAA,OAAO,MAAM;aACd;AACD,YAAA,KAAK,EAAE,CAAC,KAAK,KAAI;AACf,gBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;gBACpB,IAAI,CAAC,YAAY,EAAE;AACnB,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;gBAC1B,IAAI,CAAC,OAAO,EAAE;aACf;YACD,QAAQ,EAAE,MAAK;gBACb,IAAI,CAAC,YAAY,EAAE;AACnB,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;gBAC1B,IAAI,CAAC,OAAO,EAAE;;AAEjB,SAAA,CAAC;;IAGI,OAAO,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAClF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAC/B,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAK,CAAC;;;AAIvB,IAAA,MAAM,CAAC,IAAY,EAAE,IAAY,EAAE,QAAQ,GAAG,KAAK,EAAA;AACjD,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,UAA8B,KAAI;AACvD,YAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;AAClB,gBAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,UAAU,CAAC,QAAQ,EAAE;gBACrB;;YAEF,IAAI,CAAC,OAAO,CAAC;AACX,gBAAA,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC;AACpD,gBAAA,QAAQ,EAAE,CAAC,GAAW,KAAI;AACxB,oBAAA,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;oBACpB,UAAU,CAAC,QAAQ,EAAE;;AAExB,aAAA,CAAC;AACJ,SAAC,CAAC;;AAGJ,IAAA,aAAa,CAAC,IAAY,EAAE,IAAY,EAAE,QAAQ,GAAG,KAAK,EAAA;AACxD,QAAA,MAAM,GAAG,GAAG,QAAQ,GAAG,GAAG,IAAI,CAAA,EAAG,IAAI,CAAE,CAAA,GAAG,CAAA,EAAG,IAAI,CAAG,EAAA,IAAI,MAAM;AAC9D,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC;AACjE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAiB,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;;IAGnE,QAAQ,CAAC,IAAY,EAAE,GAAW,EAAA;AAChC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG;;iIAnFlB,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,uBAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cADC,MAAM,EAAA,CAAA,CAAA;;2FACnB,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACIlC;AACa,MAAA,SAAS,GAAmC;AACvD,IAAA,GAAG,EAAE,CAAkB,gBAAA,CAAA;AACvB,IAAA,GAAG,EAAE,CAAqB,mBAAA,CAAA;AAC1B,IAAA,GAAG,EAAE,CAAqB,mBAAA,CAAA;AAC1B,IAAA,GAAG,EAAE,CAAW,SAAA,CAAA;AAChB,IAAA,GAAG,EAAE,CAAc,YAAA,CAAA;AACnB,IAAA,GAAG,EAAE,CAAU,QAAA,CAAA;AACf,IAAA,GAAG,EAAE,CAAsB,oBAAA,CAAA;AAC3B,IAAA,GAAG,EAAE,CAAuB,qBAAA,CAAA;AAC5B,IAAA,GAAG,EAAE,CAAqB,mBAAA,CAAA;AAC1B,IAAA,GAAG,EAAE,CAAuB,qBAAA,CAAA;AAC5B,IAAA,GAAG,EAAE,CAA0B,wBAAA;;AAGpB,MAAA,QAAQ,GAAG;AACtB;AACA;AACA;;AAUI,MAAO,cAAe,SAAQ,aAAa,CAAA;AAC/C,IAAA,IAA0B,SAAS,GAAA;QACjC,OAAO,CAAA,EAAG,WAAW,CAAI,CAAA,EAAA,IAAI,CAAC,IAAI,EAAE,EAAE;;AASxC,IAAA,IAAsC,OAAO,GAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE;;AAGpB,IAAA,IAAgC,QAAQ,GAAA;AACtC,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;;AA6BrB,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAzCD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC/B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;AAU1C,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAK;AACvB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACxB,YAAA,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,EAAE;AAAE,gBAAA,OAAO,KAAK;YAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7B,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE;YAC3B,IAAI,OAAO,KAAK,KAAK,WAAW;AAAE,gBAAA,OAAO,KAAK;AAC9C,YAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC;YACjC,OAAO,QAAQ,GAAG,IAAI,GAAG,KAAK;AAChC,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;AACxB,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAAE,gBAAA,OAAO,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAG,CAAC,KAAK,CAAC,GAAG,CAAC;AACrC,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE;AAC3B,YAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAM,CAAC;YAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;AAChC,YAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;AAC1B,gBAAA,qBAAqB,EAAE;;AAEzB,YAAA,OAAO,CAAG,EAAA,QAAQ,CAAG,EAAA,QAAQ,EAAE;AACjC,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAK;AACvB,YAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAG,CAAC;AAC9E,SAAC,CAAC;QAIA,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAG,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;;AACzG,iBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AAC1B,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;;AAE5F,SAAC,CAAC;;AAGJ,IAAA,OAAO,CAAC,GAAW,EAAA;QACjB,IAAI,QAAQ,CAAC,GAAG,CAAC;YAAE;AACnB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,YAAA,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC;YAC3D,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU;YACzD,IAAI,UAAU,EAAE;AACd,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC;;AAEtE,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,eAAe;;AACnC,aAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAE;;QAEvC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC;;AAEzE,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;;AAGzB,IAAA,QAAQ,CAAC,MAAc,EAAA;AACrB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,KAAK,CAAQ;QACxF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AAClC,QAAA,IAAI,CAAC,GAAG;YAAE;QACV,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACzB,YAAA,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC;AAC1B,YAAA,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,EAAE;AACxB,gBAAA,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;;AAEhC,YAAA,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACvB,SAAC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC;AAC7C,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC;QAC1D,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC;QACpD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC;QACrD,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,mBAAmB,EAAE;;AAGvB,QAAA,OAAO,MAAM;;AAGf,IAAA,SAAS,CAAC,MAAc,EAAA;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAC9C,QAAA,GAAG,CAAC,SAAS,GAAG,MAAM;QACtB,IAAI,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAe;AACnD,QAAA,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,IAAI;QACxB,OAAO;AACL,YAAA,GAAG,EAAE,MAAM;AACX,YAAA,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,6CAA6C;SAChF;;AAGH,IAAA,aAAa,CAAC,MAAmB,EAAA;QAC/B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;;;AAIvD,IAAA,YAAY,CAAC,GAAe,EAAE,MAAkB,EAAE,SAAiB,EAAE,GAAY,EAAA;QAC/E,IAAI,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC;QACzC,IAAI,IAAI,EAAE;AACR,YAAA,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC;;aAC5B,IAAI,GAAG,EAAE;AACd,YAAA,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC;;;iIA3HzB,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,mNC7C3B,MACA,EAAA,MAAA,EAAA,CAAA,gTAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FD4Ca,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;+BACE,CAAG,EAAA,WAAW,EAAE,EAGX,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,CAAA,gTAAA,CAAA,EAAA;wDAGrB,SAAS,EAAA,CAAA;sBAAlC,WAAW;uBAAC,OAAO;gBAUkB,OAAO,EAAA,CAAA;sBAA5C,WAAW;uBAAC,mBAAmB;gBAIA,QAAQ,EAAA,CAAA;sBAAvC,WAAW;uBAAC,aAAa;;;MErDf,WAAW,CAAA;iIAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kIAAX,WAAW,EAAA,OAAA,EAAA,CAFZ,cAAc,CAAA,EAAA,OAAA,EAAA,CADd,cAAc,CAAA,EAAA,CAAA,CAAA;kIAGb,WAAW,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAJvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,cAAc,CAAC;oBACzB,OAAO,EAAE,CAAC,cAAc;AACzB,iBAAA;;;ACND;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-nest-ui-icon.mjs","sources":["../../../../lib/ng-nest/ui/icon/icon.property.ts","../../../../lib/ng-nest/ui/icon/icon.service.ts","../../../../lib/ng-nest/ui/icon/icon.component.ts","../../../../lib/ng-nest/ui/icon/icon.component.html","../../../../lib/ng-nest/ui/icon/icon.module.ts","../../../../lib/ng-nest/ui/icon/ng-nest-ui-icon.ts"],"sourcesContent":["import { XPropertyFunction, XToBoolean } from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\nimport type { XBoolean } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Icon\r\n * @selector x-icon\r\n * @decorator component\r\n */\r\nexport const XIconPrefix = 'x-icon';\r\nconst X_ICON_CONFIG_NAME = 'icon';\r\n\r\n/**\r\n * Icon Property\r\n */\r\n@Component({ selector: `${XIconPrefix}-property`, template: '' })\r\nexport class XIconProperty extends XPropertyFunction(X_ICON_CONFIG_NAME) {\r\n /**\r\n * @zh_CN SVG 图标根路径地址,可以通过全局只配置一次,所有图标资源在 github 上的 ng-nest-icon 中\r\n * @en_US The root address of the SVG icon can be configured only once globally. All icon resources are in ng-nest-icon on github\r\n */\r\n readonly href = input<string>(this.config?.href ?? 'https://ngnest.com/static/icons/');\r\n /**\r\n * @zh_CN 图标类型\r\n * @en_US Icon type\r\n * @example\r\n *\r\n * ```html\r\n * <x-icon type=\"fto-activity\"></x-icon>\r\n * <x-icon type=\"fto-airplay\"></x-icon>\r\n * <x-icon type=\"fto-anchor\"></x-icon>\r\n * ```\r\n *\r\n */\r\n readonly type = input<string>();\r\n /**\r\n * @zh_CN 图标颜色\r\n * @en_US Icon color\r\n * @example\r\n *\r\n * ```html\r\n * <x-icon color=\"red\" type=\"fto-activity\"></x-icon>\r\n * ```\r\n *\r\n */\r\n readonly color = input<string>();\r\n /**\r\n * @zh_CN loading效果(图标一直旋转)\r\n * @en_US Loading effect (icon keeps rotating)\r\n * @example\r\n *\r\n * ```html\r\n * <x-icon spin=\"true\" type=\"fto-loader\"></x-icon>\r\n * ```\r\n *\r\n */\r\n readonly spin = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * @zh_CN 图标来源\r\n * @en_US Icon source\r\n */\r\nexport type XIconSource = 'ant-design' | 'eva' | 'feather' | 'font-awesome' | 'material-design';\r\n","import { Injectable, SecurityContext, inject } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { XHasIn, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XIconPrefix } from './icon.property';\r\n\r\ntype Task<T> = {\r\n name: string;\r\n observable: Observable<T>;\r\n callback: Function;\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class XIconService {\r\n caches: { [property: string]: any } = {};\r\n queue: Task<any>[] = [];\r\n activeTaskXm: number = 0;\r\n isRunningTask = false;\r\n limit: number = 10;\r\n sanitizer = inject(DomSanitizer);\r\n http = inject(HttpClient, { optional: true })!;\r\n customIcon: { [property: string]: string } = {};\r\n\r\n constructor() {\r\n if (!this.http) {\r\n throw new Error(`${XIconPrefix}: Not found 'HttpClient', You can import 'HttpClientModule' in your root module.`);\r\n }\r\n }\r\n\r\n public addTask<T>(task: Task<T>) {\r\n this.queue.push(task);\r\n this.runTask();\r\n }\r\n\r\n private execute<T>(task: Task<T>) {\r\n this.isRunningTask = true;\r\n if (XHasIn(this.caches, task.name)) {\r\n task.callback(this.caches[task.name]);\r\n this.activeTaskXm--;\r\n this.isRunningTask = false;\r\n this.runTask();\r\n return;\r\n }\r\n return task.observable.subscribe({\r\n next: (result) => {\r\n this.caches[task.name] = result;\r\n task.callback(result);\r\n return result;\r\n },\r\n error: (error) => {\r\n console.error(error);\r\n this.activeTaskXm--;\r\n this.isRunningTask = false;\r\n this.runTask();\r\n },\r\n complete: () => {\r\n this.activeTaskXm--;\r\n this.isRunningTask = false;\r\n this.runTask();\r\n }\r\n });\r\n }\r\n\r\n private runTask() {\r\n if (!this.isRunningTask && this.activeTaskXm < this.limit && this.queue.length > 0) {\r\n const task = this.queue.shift();\r\n this.activeTaskXm++;\r\n this.execute(task!);\r\n }\r\n }\r\n\r\n getSvg(root: string, icon: string, isCustom = false): Observable<string> {\r\n return new Observable((subscriber: Subscriber<string>) => {\r\n if (XIsEmpty(icon)) {\r\n subscriber.next('');\r\n subscriber.complete();\r\n return;\r\n }\r\n this.addTask({\r\n name: icon,\r\n observable: this.getSvgElement(root, icon, isCustom),\r\n callback: (svg: string) => {\r\n subscriber.next(svg);\r\n subscriber.complete();\r\n }\r\n });\r\n });\r\n }\r\n\r\n getSvgElement(root: string, icon: string, isCustom = false): Observable<string> {\r\n const url = isCustom ? `${root}${icon}` : `${root}${icon}.svg`;\r\n const safeUrl = this.sanitizer.sanitize(SecurityContext.URL, url);\r\n return this.http.get(safeUrl as string, { responseType: 'text' });\r\n }\r\n\r\n register(icon: string, url: string) {\r\n this.customIcon[icon] = url;\r\n }\r\n}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n Renderer2,\r\n HostBinding,\r\n inject,\r\n effect,\r\n computed,\r\n ChangeDetectorRef\r\n} from '@angular/core';\r\nimport { XIconPrefix, XIconProperty } from './icon.property';\r\nimport { XIconService } from './icon.service';\r\nimport { XWarnIconTypeNotFound, XIsEmpty, XHasIn, XWarnSVGTagNotFound } from '@ng-nest/ui/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n// 来源路径对应\r\nexport const XSouceUrl: { [property: string]: string } = {\r\n adf: `ant-design/fill/`,\r\n ado: `ant-design/outline/`,\r\n adt: `ant-design/twotone/`,\r\n eaf: `eva/fill/`,\r\n eao: `eva/outline/`,\r\n fto: `feather/`,\r\n fab: `font-awesome/brands/`,\r\n far: `font-awesome/regular/`,\r\n fas: `font-awesome/solid/`,\r\n mdf: `material-design/fill/`,\r\n mdo: `material-design/outline/`\r\n};\r\n\r\nexport const XViewBox = [\r\n // { souces: [\"adf\", \"ado\", \"adt\"], value: \"0 0 1024 1024\" },\r\n // { souces: [\"eaf\", \"eao\"], value: \"0 0 24 24\" },\r\n // { souces: [\"fto\"], value: \"0 0 24 24\" }\r\n];\r\n\r\n@Component({\r\n selector: `${XIconPrefix}`,\r\n templateUrl: './icon.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XIconComponent extends XIconProperty {\r\n @HostBinding('class') get className() {\r\n return `${XIconPrefix} ${this.type()}`;\r\n }\r\n private svgElement!: HTMLElement;\r\n private document = inject(DOCUMENT);\r\n private elementRef = inject(ElementRef);\r\n private renderer = inject(Renderer2);\r\n private cdr = inject(ChangeDetectorRef);\r\n private iconService = inject(XIconService);\r\n\r\n @HostBinding('class.x-icon-spin') get getSpin() {\r\n return this.spin();\r\n }\r\n\r\n @HostBinding('style.color') get getColor() {\r\n return this.color();\r\n }\r\n\r\n inSource = computed(() => {\r\n const type = this.type();\r\n if (typeof type === 'undefined' || type === '' || type === null) return false;\r\n const split = type.split('-');\r\n const souce = split.shift();\r\n if (typeof souce === 'undefined') return false;\r\n const souceUrl = XSouceUrl[souce];\r\n return souceUrl ? true : false;\r\n });\r\n\r\n sourceUrl = computed(() => {\r\n if (!this.inSource()) return '';\r\n const split = this.type()!.split('-');\r\n const souce = split.shift();\r\n const souceUrl = XSouceUrl[souce!];\r\n const fileName = split.join('-');\r\n if (!souceUrl || !fileName) {\r\n XWarnIconTypeNotFound();\r\n }\r\n return `${souceUrl}${fileName}`;\r\n });\r\n\r\n isCustom = computed(() => {\r\n return !this.inSource() && XHasIn(this.iconService.customIcon, this.type()!);\r\n });\r\n\r\n constructor() {\r\n super();\r\n effect(() => {\r\n if (this.isCustom()) {\r\n this.iconService.getSvg('', this.iconService.customIcon[this.type()!], true).subscribe((x) => this.setSvgs(x));\r\n } else if (this.inSource()) {\r\n this.iconService.getSvg(this.href(), this.sourceUrl()).subscribe((x) => this.setSvgs(x));\r\n }\r\n });\r\n }\r\n\r\n setSvgs(svg: string) {\r\n if (XIsEmpty(svg)) return;\r\n if (this.svgElement) {\r\n this.renderer.removeChild(this.elementRef.nativeElement, this.svgElement);\r\n }\r\n if (this.isCustom()) {\r\n const parser = new DOMParser();\r\n const svgDoc = parser.parseFromString(svg, 'image/svg+xml');\r\n let firstChild = this.elementRef.nativeElement.firstChild;\r\n if (firstChild) {\r\n this.renderer.removeChild(this.elementRef.nativeElement, firstChild);\r\n }\r\n this.svgElement = svgDoc.documentElement;\r\n } else if (this.inSource()) {\r\n this.svgElement = this.buildSvg(svg)!;\r\n }\r\n if (!this.svgElement) return;\r\n this.setAttributes(this.svgElement);\r\n this.renderer.appendChild(this.elementRef.nativeElement, this.svgElement);\r\n // TODO: use zoneless, renderer removeChild will not take effect immediately\r\n this.cdr.markForCheck();\r\n }\r\n\r\n buildSvg(svgStr: string): HTMLElement | undefined {\r\n const result = this.document.createElementNS('http://www.w3.org/2000/svg', 'svg') as any;\r\n const svg = this.createSvg(svgStr);\r\n if (!svg) return;\r\n svg.children.forEach((x) => {\r\n x.removeAttribute('class');\r\n if (x.tagName === 'rect') {\r\n x.setAttribute('fill', 'none');\r\n }\r\n result.appendChild(x);\r\n });\r\n this.setAttribute(result, svg.ele, 'viewBox');\r\n this.setAttribute(result, svg.ele, 'fill', 'currentColor');\r\n this.setAttribute(result, svg.ele, 'stroke');\r\n this.setAttribute(result, svg.ele, 'stroke-width');\r\n this.setAttribute(result, svg.ele, 'stroke-linecap');\r\n this.setAttribute(result, svg.ele, 'stroke-linejoin');\r\n if (!result) {\r\n XWarnSVGTagNotFound();\r\n }\r\n\r\n return result;\r\n }\r\n\r\n createSvg(svgStr: string) {\r\n const div = this.document.createElement('div');\r\n div.innerHTML = svgStr;\r\n let svgEle = div.querySelector('svg') as SVGElement;\r\n if (!svgEle) return null;\r\n return {\r\n ele: svgEle,\r\n children: svgEle.querySelectorAll('path, polyline, polygon, circle, line, rect')\r\n };\r\n }\r\n\r\n setAttributes(svgEle: HTMLElement) {\r\n if (svgEle) {\r\n this.renderer.setAttribute(svgEle, 'width', '1em');\r\n this.renderer.setAttribute(svgEle, 'height', '1em');\r\n }\r\n }\r\n\r\n setAttribute(svg: SVGElement, svgEle: SVGElement, attribute: string, def?: string) {\r\n let attr = svgEle.getAttribute(attribute);\r\n if (attr) {\r\n svg.setAttribute(attribute, attr);\r\n } else if (def) {\r\n svg.setAttribute(attribute, def);\r\n }\r\n }\r\n}\r\n","\r\n","import { NgModule } from '@angular/core';\r\nimport { XIconComponent } from './icon.component';\r\n\r\n@NgModule({\r\n exports: [XIconComponent],\r\n imports: [XIconComponent]\r\n})\r\nexport class XIconModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}