@ng-nest/ui 12.0.6 → 12.0.11

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 (787) hide show
  1. package/auto-complete/auto-complete-portal.component.d.ts +3 -3
  2. package/auto-complete/auto-complete.component.d.ts +5 -1
  3. package/auto-complete/auto-complete.property.d.ts +6 -1
  4. package/back-top/back-top.component.d.ts +1 -2
  5. package/base-form/base-form.component.d.ts +1 -1
  6. package/base-form/base-form.property.d.ts +22 -2
  7. package/bundles/ng-nest-ui-affix.umd.js +25 -21
  8. package/bundles/ng-nest-ui-affix.umd.js.map +1 -1
  9. package/bundles/ng-nest-ui-alert.umd.js +25 -21
  10. package/bundles/ng-nest-ui-alert.umd.js.map +1 -1
  11. package/bundles/ng-nest-ui-anchor.umd.js +26 -22
  12. package/bundles/ng-nest-ui-anchor.umd.js.map +1 -1
  13. package/bundles/ng-nest-ui-api.umd.js +12 -14
  14. package/bundles/ng-nest-ui-api.umd.js.map +1 -1
  15. package/bundles/ng-nest-ui-auto-complete.umd.js +52 -29
  16. package/bundles/ng-nest-ui-auto-complete.umd.js.map +1 -1
  17. package/bundles/ng-nest-ui-avatar.umd.js +25 -21
  18. package/bundles/ng-nest-ui-avatar.umd.js.map +1 -1
  19. package/bundles/ng-nest-ui-back-top.umd.js +27 -23
  20. package/bundles/ng-nest-ui-back-top.umd.js.map +1 -1
  21. package/bundles/ng-nest-ui-badge.umd.js +27 -22
  22. package/bundles/ng-nest-ui-badge.umd.js.map +1 -1
  23. package/bundles/ng-nest-ui-base-form.umd.js +50 -22
  24. package/bundles/ng-nest-ui-base-form.umd.js.map +1 -1
  25. package/bundles/ng-nest-ui-border.umd.js +12 -14
  26. package/bundles/ng-nest-ui-border.umd.js.map +1 -1
  27. package/bundles/ng-nest-ui-button.umd.js +36 -29
  28. package/bundles/ng-nest-ui-button.umd.js.map +1 -1
  29. package/bundles/ng-nest-ui-calendar.umd.js +29 -24
  30. package/bundles/ng-nest-ui-calendar.umd.js.map +1 -1
  31. package/bundles/ng-nest-ui-card.umd.js +25 -21
  32. package/bundles/ng-nest-ui-card.umd.js.map +1 -1
  33. package/bundles/ng-nest-ui-carousel.umd.js +44 -39
  34. package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
  35. package/bundles/ng-nest-ui-cascade.umd.js +94 -36
  36. package/bundles/ng-nest-ui-cascade.umd.js.map +1 -1
  37. package/bundles/ng-nest-ui-checkbox.umd.js +28 -23
  38. package/bundles/ng-nest-ui-checkbox.umd.js.map +1 -1
  39. package/bundles/ng-nest-ui-collapse.umd.js +31 -27
  40. package/bundles/ng-nest-ui-collapse.umd.js.map +1 -1
  41. package/bundles/ng-nest-ui-color-picker.umd.js +79 -44
  42. package/bundles/ng-nest-ui-color-picker.umd.js.map +1 -1
  43. package/bundles/ng-nest-ui-color.umd.js +26 -22
  44. package/bundles/ng-nest-ui-color.umd.js.map +1 -1
  45. package/bundles/ng-nest-ui-comment.umd.js +34 -29
  46. package/bundles/ng-nest-ui-comment.umd.js.map +1 -1
  47. package/bundles/ng-nest-ui-container.umd.js +46 -42
  48. package/bundles/ng-nest-ui-container.umd.js.map +1 -1
  49. package/bundles/ng-nest-ui-core.umd.js +136 -35
  50. package/bundles/ng-nest-ui-core.umd.js.map +1 -1
  51. package/bundles/ng-nest-ui-crumb.umd.js +28 -23
  52. package/bundles/ng-nest-ui-crumb.umd.js.map +1 -1
  53. package/bundles/ng-nest-ui-date-picker.umd.js +387 -246
  54. package/bundles/ng-nest-ui-date-picker.umd.js.map +1 -1
  55. package/bundles/ng-nest-ui-description.umd.js +35 -32
  56. package/bundles/ng-nest-ui-description.umd.js.map +1 -1
  57. package/bundles/ng-nest-ui-dialog.umd.js +27 -22
  58. package/bundles/ng-nest-ui-dialog.umd.js.map +1 -1
  59. package/bundles/ng-nest-ui-doc.umd.js +12 -14
  60. package/bundles/ng-nest-ui-doc.umd.js.map +1 -1
  61. package/bundles/ng-nest-ui-drawer.umd.js +27 -22
  62. package/bundles/ng-nest-ui-drawer.umd.js.map +1 -1
  63. package/bundles/ng-nest-ui-dropdown.umd.js +32 -27
  64. package/bundles/ng-nest-ui-dropdown.umd.js.map +1 -1
  65. package/bundles/ng-nest-ui-empty.umd.js +25 -21
  66. package/bundles/ng-nest-ui-empty.umd.js.map +1 -1
  67. package/bundles/ng-nest-ui-examples.umd.js +12 -14
  68. package/bundles/ng-nest-ui-examples.umd.js.map +1 -1
  69. package/bundles/ng-nest-ui-find.umd.js +45 -27
  70. package/bundles/ng-nest-ui-find.umd.js.map +1 -1
  71. package/bundles/ng-nest-ui-form.umd.js +36 -36
  72. package/bundles/ng-nest-ui-form.umd.js.map +1 -1
  73. package/bundles/ng-nest-ui-highlight.umd.js +27 -22
  74. package/bundles/ng-nest-ui-highlight.umd.js.map +1 -1
  75. package/bundles/ng-nest-ui-i18n.umd.js +537 -138
  76. package/bundles/ng-nest-ui-i18n.umd.js.map +1 -1
  77. package/bundles/ng-nest-ui-icon.umd.js +34 -29
  78. package/bundles/ng-nest-ui-icon.umd.js.map +1 -1
  79. package/bundles/ng-nest-ui-inner.umd.js +26 -22
  80. package/bundles/ng-nest-ui-inner.umd.js.map +1 -1
  81. package/bundles/ng-nest-ui-input-number.umd.js +44 -24
  82. package/bundles/ng-nest-ui-input-number.umd.js.map +1 -1
  83. package/bundles/ng-nest-ui-input.umd.js +65 -32
  84. package/bundles/ng-nest-ui-input.umd.js.map +1 -1
  85. package/bundles/ng-nest-ui-layout.umd.js +31 -27
  86. package/bundles/ng-nest-ui-layout.umd.js.map +1 -1
  87. package/bundles/ng-nest-ui-link.umd.js +25 -21
  88. package/bundles/ng-nest-ui-link.umd.js.map +1 -1
  89. package/bundles/ng-nest-ui-list.umd.js +35 -30
  90. package/bundles/ng-nest-ui-list.umd.js.map +1 -1
  91. package/bundles/ng-nest-ui-loading.umd.js +27 -22
  92. package/bundles/ng-nest-ui-loading.umd.js.map +1 -1
  93. package/bundles/ng-nest-ui-menu.umd.js +37 -33
  94. package/bundles/ng-nest-ui-menu.umd.js.map +1 -1
  95. package/bundles/ng-nest-ui-message-box.umd.js +53 -47
  96. package/bundles/ng-nest-ui-message-box.umd.js.map +1 -1
  97. package/bundles/ng-nest-ui-message.umd.js +26 -22
  98. package/bundles/ng-nest-ui-message.umd.js.map +1 -1
  99. package/bundles/ng-nest-ui-notification.umd.js +26 -22
  100. package/bundles/ng-nest-ui-notification.umd.js.map +1 -1
  101. package/bundles/ng-nest-ui-outlet.umd.js +22 -18
  102. package/bundles/ng-nest-ui-outlet.umd.js.map +1 -1
  103. package/bundles/ng-nest-ui-page-header.umd.js +25 -21
  104. package/bundles/ng-nest-ui-page-header.umd.js.map +1 -1
  105. package/bundles/ng-nest-ui-pagination.umd.js +115 -26
  106. package/bundles/ng-nest-ui-pagination.umd.js.map +1 -1
  107. package/bundles/ng-nest-ui-pattern.umd.js +12 -14
  108. package/bundles/ng-nest-ui-pattern.umd.js.map +1 -1
  109. package/bundles/ng-nest-ui-popconfirm.umd.js +25 -21
  110. package/bundles/ng-nest-ui-popconfirm.umd.js.map +1 -1
  111. package/bundles/ng-nest-ui-popover.umd.js +31 -26
  112. package/bundles/ng-nest-ui-popover.umd.js.map +1 -1
  113. package/bundles/ng-nest-ui-portal.umd.js +22 -18
  114. package/bundles/ng-nest-ui-portal.umd.js.map +1 -1
  115. package/bundles/ng-nest-ui-progress.umd.js +28 -23
  116. package/bundles/ng-nest-ui-progress.umd.js.map +1 -1
  117. package/bundles/ng-nest-ui-radio.umd.js +28 -23
  118. package/bundles/ng-nest-ui-radio.umd.js.map +1 -1
  119. package/bundles/ng-nest-ui-rate.umd.js +30 -26
  120. package/bundles/ng-nest-ui-rate.umd.js.map +1 -1
  121. package/bundles/ng-nest-ui-result.umd.js +25 -21
  122. package/bundles/ng-nest-ui-result.umd.js.map +1 -1
  123. package/bundles/ng-nest-ui-ripple.umd.js +25 -21
  124. package/bundles/ng-nest-ui-ripple.umd.js.map +1 -1
  125. package/bundles/ng-nest-ui-select.umd.js +53 -34
  126. package/bundles/ng-nest-ui-select.umd.js.map +1 -1
  127. package/bundles/ng-nest-ui-skeleton.umd.js +27 -22
  128. package/bundles/ng-nest-ui-skeleton.umd.js.map +1 -1
  129. package/bundles/ng-nest-ui-slider-select.umd.js +25 -21
  130. package/bundles/ng-nest-ui-slider-select.umd.js.map +1 -1
  131. package/bundles/ng-nest-ui-slider.umd.js +32 -29
  132. package/bundles/ng-nest-ui-slider.umd.js.map +1 -1
  133. package/bundles/ng-nest-ui-statistic.umd.js +37 -31
  134. package/bundles/ng-nest-ui-statistic.umd.js.map +1 -1
  135. package/bundles/ng-nest-ui-steps.umd.js +35 -27
  136. package/bundles/ng-nest-ui-steps.umd.js.map +1 -1
  137. package/bundles/ng-nest-ui-switch.umd.js +25 -21
  138. package/bundles/ng-nest-ui-switch.umd.js.map +1 -1
  139. package/bundles/ng-nest-ui-table.umd.js +58 -51
  140. package/bundles/ng-nest-ui-table.umd.js.map +1 -1
  141. package/bundles/ng-nest-ui-tabs.umd.js +39 -34
  142. package/bundles/ng-nest-ui-tabs.umd.js.map +1 -1
  143. package/bundles/ng-nest-ui-tag.umd.js +36 -21
  144. package/bundles/ng-nest-ui-tag.umd.js.map +1 -1
  145. package/bundles/ng-nest-ui-text-retract.umd.js +27 -22
  146. package/bundles/ng-nest-ui-text-retract.umd.js.map +1 -1
  147. package/bundles/ng-nest-ui-textarea.umd.js +27 -32
  148. package/bundles/ng-nest-ui-textarea.umd.js.map +1 -1
  149. package/bundles/ng-nest-ui-theme.umd.js +26 -22
  150. package/bundles/ng-nest-ui-theme.umd.js.map +1 -1
  151. package/bundles/ng-nest-ui-time-ago.umd.js +12 -14
  152. package/bundles/ng-nest-ui-time-ago.umd.js.map +1 -1
  153. package/bundles/ng-nest-ui-time-picker.umd.js +87 -46
  154. package/bundles/ng-nest-ui-time-picker.umd.js.map +1 -1
  155. package/bundles/ng-nest-ui-time-range.umd.js +22 -18
  156. package/bundles/ng-nest-ui-time-range.umd.js.map +1 -1
  157. package/bundles/ng-nest-ui-timeline.umd.js +28 -23
  158. package/bundles/ng-nest-ui-timeline.umd.js.map +1 -1
  159. package/bundles/ng-nest-ui-tooltip.umd.js +31 -26
  160. package/bundles/ng-nest-ui-tooltip.umd.js.map +1 -1
  161. package/bundles/ng-nest-ui-transfer.umd.js +28 -23
  162. package/bundles/ng-nest-ui-transfer.umd.js.map +1 -1
  163. package/bundles/ng-nest-ui-tree-file.umd.js +25 -21
  164. package/bundles/ng-nest-ui-tree-file.umd.js.map +1 -1
  165. package/bundles/ng-nest-ui-tree.umd.js +39 -34
  166. package/bundles/ng-nest-ui-tree.umd.js.map +1 -1
  167. package/bundles/ng-nest-ui-typography.umd.js +25 -21
  168. package/bundles/ng-nest-ui-typography.umd.js.map +1 -1
  169. package/bundles/ng-nest-ui-upload.umd.js +32 -27
  170. package/bundles/ng-nest-ui-upload.umd.js.map +1 -1
  171. package/bundles/ng-nest-ui.umd.js +83 -243
  172. package/bundles/ng-nest-ui.umd.js.map +1 -1
  173. package/button/buttons.component.d.ts +1 -1
  174. package/calendar/calendar.component.d.ts +2 -2
  175. package/carousel/carousel-panel.component.d.ts +2 -3
  176. package/carousel/carousel.component.d.ts +1 -1
  177. package/cascade/cascade-portal.component.d.ts +13 -7
  178. package/cascade/cascade.component.d.ts +7 -1
  179. package/cascade/cascade.property.d.ts +33 -3
  180. package/checkbox/checkbox.component.d.ts +1 -1
  181. package/color/color.component.d.ts +2 -2
  182. package/color-picker/color-picker-portal.component.d.ts +3 -3
  183. package/color-picker/color-picker.component.d.ts +10 -4
  184. package/color-picker/color-picker.property.d.ts +12 -2
  185. package/comment/comment.component.d.ts +1 -1
  186. package/core/config/config.d.ts +25 -0
  187. package/core/functions/clone-deep.d.ts +1 -0
  188. package/core/functions/drop.d.ts +1 -0
  189. package/core/functions/flex.d.ts +1 -1
  190. package/core/functions/has-in.d.ts +1 -0
  191. package/core/functions/order-by.d.ts +1 -0
  192. package/core/functions/public-api.d.ts +5 -0
  193. package/core/functions/remove.d.ts +1 -0
  194. package/core/services/reuse-strategy.service.d.ts +1 -1
  195. package/crumb/crumb.component.d.ts +1 -1
  196. package/date-picker/date-picker-portal.component.d.ts +4 -11
  197. package/date-picker/date-picker.component.d.ts +3 -4
  198. package/date-picker/date-picker.property.d.ts +55 -30
  199. package/date-picker/date-range-portal.component.d.ts +10 -6
  200. package/date-picker/date-range.component.d.ts +15 -11
  201. package/date-picker/picker-date.component.d.ts +13 -4
  202. package/date-picker/picker-month.component.d.ts +6 -3
  203. package/date-picker/picker-year.component.d.ts +4 -2
  204. package/description/description.component.d.ts +2 -4
  205. package/dropdown/dropdown-portal.component.d.ts +1 -3
  206. package/dropdown/dropdown.component.d.ts +2 -2
  207. package/esm2015/affix/affix.component.js +3 -3
  208. package/esm2015/affix/affix.module.js +4 -4
  209. package/esm2015/affix/affix.property.js +3 -3
  210. package/esm2015/alert/alert.component.js +4 -4
  211. package/esm2015/alert/alert.module.js +4 -4
  212. package/esm2015/alert/alert.property.js +3 -3
  213. package/esm2015/anchor/anchor.component.js +5 -5
  214. package/esm2015/anchor/anchor.module.js +4 -4
  215. package/esm2015/anchor/anchor.property.js +4 -4
  216. package/esm2015/api/api.component.js +3 -3
  217. package/esm2015/api/api.module.js +4 -4
  218. package/esm2015/auto-complete/auto-complete-portal.component.js +6 -6
  219. package/esm2015/auto-complete/auto-complete.component.js +20 -7
  220. package/esm2015/auto-complete/auto-complete.module.js +4 -4
  221. package/esm2015/auto-complete/auto-complete.property.js +10 -4
  222. package/esm2015/avatar/avatar.component.js +3 -3
  223. package/esm2015/avatar/avatar.module.js +4 -4
  224. package/esm2015/avatar/avatar.property.js +3 -3
  225. package/esm2015/back-top/back-top.component.js +6 -6
  226. package/esm2015/back-top/back-top.module.js +4 -4
  227. package/esm2015/back-top/back-top.property.js +3 -3
  228. package/esm2015/badge/badge.component.js +6 -5
  229. package/esm2015/badge/badge.module.js +4 -4
  230. package/esm2015/badge/badge.property.js +3 -3
  231. package/esm2015/base-form/base-form.component.js +5 -5
  232. package/esm2015/base-form/base-form.module.js +4 -4
  233. package/esm2015/base-form/base-form.property.js +29 -5
  234. package/esm2015/border/border.component.js +3 -3
  235. package/esm2015/border/border.module.js +4 -4
  236. package/esm2015/button/button.component.js +10 -7
  237. package/esm2015/button/button.module.js +4 -4
  238. package/esm2015/button/button.property.js +6 -6
  239. package/esm2015/button/buttons.component.js +4 -4
  240. package/esm2015/calendar/calendar.component.js +8 -7
  241. package/esm2015/calendar/calendar.module.js +4 -4
  242. package/esm2015/calendar/calendar.property.js +3 -3
  243. package/esm2015/card/card.component.js +3 -3
  244. package/esm2015/card/card.module.js +4 -4
  245. package/esm2015/card/card.property.js +3 -3
  246. package/esm2015/carousel/carousel-panel.component.js +15 -14
  247. package/esm2015/carousel/carousel.component.js +7 -6
  248. package/esm2015/carousel/carousel.module.js +4 -4
  249. package/esm2015/carousel/carousel.property.js +6 -6
  250. package/esm2015/cascade/cascade-portal.component.js +23 -11
  251. package/esm2015/cascade/cascade.component.js +25 -9
  252. package/esm2015/cascade/cascade.module.js +4 -4
  253. package/esm2015/cascade/cascade.property.js +28 -5
  254. package/esm2015/checkbox/checkbox.component.js +7 -6
  255. package/esm2015/checkbox/checkbox.module.js +4 -4
  256. package/esm2015/checkbox/checkbox.property.js +4 -4
  257. package/esm2015/collapse/collapse-panel.component.js +4 -4
  258. package/esm2015/collapse/collapse.component.js +3 -3
  259. package/esm2015/collapse/collapse.module.js +4 -4
  260. package/esm2015/collapse/collapse.property.js +6 -6
  261. package/esm2015/color/color.component.js +5 -5
  262. package/esm2015/color/color.module.js +4 -4
  263. package/esm2015/color/color.property.js +3 -3
  264. package/esm2015/color-picker/color-picker-portal.component.js +5 -5
  265. package/esm2015/color-picker/color-picker.component.js +33 -14
  266. package/esm2015/color-picker/color-picker.module.js +4 -4
  267. package/esm2015/color-picker/color-picker.property.js +16 -5
  268. package/esm2015/comment/comment-reply.component.js +3 -3
  269. package/esm2015/comment/comment.component.js +7 -6
  270. package/esm2015/comment/comment.module.js +4 -4
  271. package/esm2015/comment/comment.property.js +6 -6
  272. package/esm2015/container/aside.component.js +3 -3
  273. package/esm2015/container/container.component.js +5 -5
  274. package/esm2015/container/container.module.js +4 -4
  275. package/esm2015/container/container.property.js +12 -12
  276. package/esm2015/container/footer.component.js +3 -3
  277. package/esm2015/container/header.component.js +3 -3
  278. package/esm2015/container/main.component.js +3 -3
  279. package/esm2015/core/animation/fade.js +1 -1
  280. package/esm2015/core/config/config.js +1 -1
  281. package/esm2015/core/config/config.service.js +3 -3
  282. package/esm2015/core/functions/clone-deep.js +12 -0
  283. package/esm2015/core/functions/drop.js +8 -0
  284. package/esm2015/core/functions/flex.js +18 -7
  285. package/esm2015/core/functions/has-in.js +4 -0
  286. package/esm2015/core/functions/order-by.js +31 -0
  287. package/esm2015/core/functions/public-api.js +6 -1
  288. package/esm2015/core/functions/remove.js +15 -0
  289. package/esm2015/core/services/http.service.js +5 -5
  290. package/esm2015/core/services/preloading-strategy.service.js +5 -5
  291. package/esm2015/core/services/reuse-strategy.service.js +2 -2
  292. package/esm2015/core/services/storage.service.js +3 -3
  293. package/esm2015/core/theme/theme.service.js +3 -3
  294. package/esm2015/crumb/crumb.component.js +7 -6
  295. package/esm2015/crumb/crumb.module.js +4 -4
  296. package/esm2015/crumb/crumb.property.js +3 -3
  297. package/esm2015/date-picker/date-picker-portal.component.js +11 -43
  298. package/esm2015/date-picker/date-picker.component.js +13 -14
  299. package/esm2015/date-picker/date-picker.module.js +4 -4
  300. package/esm2015/date-picker/date-picker.property.js +102 -38
  301. package/esm2015/date-picker/date-range-portal.component.js +41 -20
  302. package/esm2015/date-picker/date-range.component.js +66 -47
  303. package/esm2015/date-picker/picker-date.component.js +50 -15
  304. package/esm2015/date-picker/picker-month.component.js +25 -9
  305. package/esm2015/date-picker/picker-year.component.js +21 -9
  306. package/esm2015/description/description-item.component.js +4 -4
  307. package/esm2015/description/description.component.js +8 -9
  308. package/esm2015/description/description.module.js +4 -4
  309. package/esm2015/description/description.property.js +6 -6
  310. package/esm2015/dialog/dialog.component.js +6 -5
  311. package/esm2015/dialog/dialog.module.js +4 -4
  312. package/esm2015/dialog/dialog.property.js +4 -4
  313. package/esm2015/doc/doc.component.js +3 -3
  314. package/esm2015/doc/doc.module.js +4 -4
  315. package/esm2015/drawer/drawer.component.js +6 -5
  316. package/esm2015/drawer/drawer.module.js +4 -4
  317. package/esm2015/drawer/drawer.property.js +3 -3
  318. package/esm2015/dropdown/dropdown-portal.component.js +5 -5
  319. package/esm2015/dropdown/dropdown.component.js +7 -6
  320. package/esm2015/dropdown/dropdown.module.js +4 -4
  321. package/esm2015/dropdown/dropdown.property.js +3 -3
  322. package/esm2015/empty/empty.component.js +3 -3
  323. package/esm2015/empty/empty.module.js +4 -4
  324. package/esm2015/empty/empty.property.js +3 -3
  325. package/esm2015/examples/examples.component.js +3 -3
  326. package/esm2015/examples/examples.module.js +4 -4
  327. package/esm2015/find/find.component.js +13 -10
  328. package/esm2015/find/find.module.js +4 -4
  329. package/esm2015/find/find.property.js +16 -5
  330. package/esm2015/form/control.component.js +4 -4
  331. package/esm2015/form/form.component.js +9 -8
  332. package/esm2015/form/form.module.js +4 -4
  333. package/esm2015/form/form.property.js +8 -13
  334. package/esm2015/highlight/highlight.component.js +6 -5
  335. package/esm2015/highlight/highlight.module.js +4 -4
  336. package/esm2015/highlight/highlight.property.js +4 -4
  337. package/esm2015/i18n/i18n.directive.js +6 -5
  338. package/esm2015/i18n/i18n.module.js +4 -4
  339. package/esm2015/i18n/i18n.pipe.js +3 -3
  340. package/esm2015/i18n/i18n.service.js +3 -3
  341. package/esm2015/i18n/languages/ar_EG.js +11 -3
  342. package/esm2015/i18n/languages/bg_BG.js +11 -3
  343. package/esm2015/i18n/languages/ca_ES.js +11 -3
  344. package/esm2015/i18n/languages/cs_CZ.js +11 -3
  345. package/esm2015/i18n/languages/da_DK.js +11 -3
  346. package/esm2015/i18n/languages/de_DE.js +11 -3
  347. package/esm2015/i18n/languages/el_GR.js +11 -3
  348. package/esm2015/i18n/languages/en_GB.js +11 -3
  349. package/esm2015/i18n/languages/en_US.js +7 -2
  350. package/esm2015/i18n/languages/es_ES.js +11 -3
  351. package/esm2015/i18n/languages/et_EE.js +11 -3
  352. package/esm2015/i18n/languages/fa_IR.js +11 -3
  353. package/esm2015/i18n/languages/fi_FI.js +11 -3
  354. package/esm2015/i18n/languages/fr_BE.js +10 -2
  355. package/esm2015/i18n/languages/fr_FR.js +11 -3
  356. package/esm2015/i18n/languages/he_IL.js +11 -3
  357. package/esm2015/i18n/languages/hi_IN.js +11 -3
  358. package/esm2015/i18n/languages/hr_HR.js +11 -3
  359. package/esm2015/i18n/languages/hu_HU.js +11 -3
  360. package/esm2015/i18n/languages/hy_AM.js +11 -3
  361. package/esm2015/i18n/languages/id_ID.js +11 -3
  362. package/esm2015/i18n/languages/is_IS.js +11 -3
  363. package/esm2015/i18n/languages/it_IT.js +11 -3
  364. package/esm2015/i18n/languages/ja_JP.js +11 -3
  365. package/esm2015/i18n/languages/ka_GE.js +11 -3
  366. package/esm2015/i18n/languages/kn_IN.js +11 -3
  367. package/esm2015/i18n/languages/ko_KR.js +11 -3
  368. package/esm2015/i18n/languages/ku_IQ.js +11 -3
  369. package/esm2015/i18n/languages/lv_LV.js +11 -3
  370. package/esm2015/i18n/languages/mn_MN.js +11 -3
  371. package/esm2015/i18n/languages/ms_MY.js +11 -3
  372. package/esm2015/i18n/languages/nb_NO.js +11 -3
  373. package/esm2015/i18n/languages/ne_NP.js +11 -3
  374. package/esm2015/i18n/languages/nl_BE.js +11 -3
  375. package/esm2015/i18n/languages/nl_NL.js +11 -3
  376. package/esm2015/i18n/languages/pl_PL.js +11 -3
  377. package/esm2015/i18n/languages/pt_BR.js +11 -3
  378. package/esm2015/i18n/languages/pt_PT.js +11 -3
  379. package/esm2015/i18n/languages/ro_RO.js +11 -3
  380. package/esm2015/i18n/languages/ru_RU.js +11 -3
  381. package/esm2015/i18n/languages/sk_SK.js +11 -3
  382. package/esm2015/i18n/languages/sl_SI.js +11 -3
  383. package/esm2015/i18n/languages/sr_RS.js +11 -3
  384. package/esm2015/i18n/languages/sv_SE.js +11 -3
  385. package/esm2015/i18n/languages/ta_IN.js +11 -3
  386. package/esm2015/i18n/languages/th_TH.js +29 -21
  387. package/esm2015/i18n/languages/tr_TR.js +11 -3
  388. package/esm2015/i18n/languages/uk_UA.js +11 -3
  389. package/esm2015/i18n/languages/vi_VN.js +11 -3
  390. package/esm2015/i18n/languages/zh_CN.js +6 -2
  391. package/esm2015/i18n/languages/zh_TW.js +10 -3
  392. package/esm2015/icon/icon.component.js +7 -6
  393. package/esm2015/icon/icon.module.js +4 -4
  394. package/esm2015/icon/icon.property.js +3 -3
  395. package/esm2015/icon/icon.service.js +6 -6
  396. package/esm2015/inner/inner.component.js +5 -5
  397. package/esm2015/inner/inner.module.js +4 -4
  398. package/esm2015/inner/inner.property.js +3 -3
  399. package/esm2015/input/input-group.component.js +4 -6
  400. package/esm2015/input/input.component.js +20 -7
  401. package/esm2015/input/input.module.js +4 -4
  402. package/esm2015/input/input.property.js +14 -7
  403. package/esm2015/input-number/input-number.component.js +9 -5
  404. package/esm2015/input-number/input-number.module.js +7 -6
  405. package/esm2015/input-number/input-number.property.js +17 -5
  406. package/esm2015/layout/col.component.js +3 -3
  407. package/esm2015/layout/layout.module.js +4 -4
  408. package/esm2015/layout/layout.property.js +6 -6
  409. package/esm2015/layout/row.component.js +3 -3
  410. package/esm2015/link/link.component.js +3 -3
  411. package/esm2015/link/link.module.js +4 -4
  412. package/esm2015/link/link.property.js +3 -3
  413. package/esm2015/list/list-option.component.js +3 -3
  414. package/esm2015/list/list.component.js +8 -7
  415. package/esm2015/list/list.module.js +4 -4
  416. package/esm2015/list/list.property.js +7 -7
  417. package/esm2015/loading/loading.component.js +6 -5
  418. package/esm2015/loading/loading.module.js +4 -4
  419. package/esm2015/loading/loading.property.js +3 -3
  420. package/esm2015/menu/menu-node.component.js +4 -4
  421. package/esm2015/menu/menu.component.js +10 -10
  422. package/esm2015/menu/menu.module.js +4 -4
  423. package/esm2015/menu/menu.property.js +6 -6
  424. package/esm2015/message/message.component.js +5 -5
  425. package/esm2015/message/message.module.js +4 -4
  426. package/esm2015/message/message.service.js +3 -3
  427. package/esm2015/message-box/message-box.component.js +20 -24
  428. package/esm2015/message-box/message-box.module.js +4 -4
  429. package/esm2015/message-box/message-box.service.js +10 -8
  430. package/esm2015/notification/notification.component.js +5 -5
  431. package/esm2015/notification/notification.module.js +4 -4
  432. package/esm2015/notification/notification.property.js +1 -1
  433. package/esm2015/notification/notification.service.js +3 -3
  434. package/esm2015/outlet/outlet.directive.js +3 -3
  435. package/esm2015/outlet/outlet.module.js +4 -4
  436. package/esm2015/page-header/page-header.component.js +3 -3
  437. package/esm2015/page-header/page-header.module.js +4 -4
  438. package/esm2015/page-header/page-header.property.js +3 -3
  439. package/esm2015/pagination/pagination.component.js +45 -7
  440. package/esm2015/pagination/pagination.module.js +10 -6
  441. package/esm2015/pagination/pagination.property.js +52 -4
  442. package/esm2015/pattern/pattern.component.js +3 -3
  443. package/esm2015/pattern/pattern.module.js +4 -4
  444. package/esm2015/popconfirm/popconfirm.component.js +3 -3
  445. package/esm2015/popconfirm/popconfirm.module.js +4 -4
  446. package/esm2015/popconfirm/popconfirm.property.js +3 -3
  447. package/esm2015/popover/popover-portal.component.js +4 -4
  448. package/esm2015/popover/popover.directive.js +7 -6
  449. package/esm2015/popover/popover.module.js +4 -4
  450. package/esm2015/popover/popover.property.js +3 -3
  451. package/esm2015/portal/portal.module.js +4 -4
  452. package/esm2015/portal/portal.service.js +3 -3
  453. package/esm2015/progress/progress.component.js +7 -6
  454. package/esm2015/progress/progress.module.js +4 -4
  455. package/esm2015/progress/progress.property.js +3 -3
  456. package/esm2015/radio/radio.component.js +7 -6
  457. package/esm2015/radio/radio.module.js +4 -4
  458. package/esm2015/radio/radio.property.js +4 -4
  459. package/esm2015/rate/rate.component.js +9 -9
  460. package/esm2015/rate/rate.module.js +4 -4
  461. package/esm2015/rate/rate.property.js +3 -3
  462. package/esm2015/result/result.component.js +3 -3
  463. package/esm2015/result/result.module.js +4 -4
  464. package/esm2015/result/result.property.js +3 -3
  465. package/esm2015/ripple/ripple.directive.js +4 -4
  466. package/esm2015/ripple/ripple.module.js +4 -4
  467. package/esm2015/ripple/ripple.property.js +4 -4
  468. package/esm2015/select/select-portal.component.js +6 -6
  469. package/esm2015/select/select.component.js +15 -11
  470. package/esm2015/select/select.module.js +4 -4
  471. package/esm2015/select/select.property.js +15 -4
  472. package/esm2015/skeleton/skeleton.component.js +6 -5
  473. package/esm2015/skeleton/skeleton.module.js +4 -4
  474. package/esm2015/skeleton/skeleton.property.js +3 -3
  475. package/esm2015/slider/slider.component.js +11 -12
  476. package/esm2015/slider/slider.module.js +4 -4
  477. package/esm2015/slider/slider.property.js +3 -3
  478. package/esm2015/slider-select/slider-select.component.js +3 -3
  479. package/esm2015/slider-select/slider-select.module.js +4 -4
  480. package/esm2015/slider-select/slider-select.property.js +3 -3
  481. package/esm2015/statistic/countdown.component.js +8 -7
  482. package/esm2015/statistic/statistic.component.js +6 -5
  483. package/esm2015/statistic/statistic.module.js +4 -4
  484. package/esm2015/statistic/statistic.property.js +6 -6
  485. package/esm2015/steps/steps.component.js +9 -7
  486. package/esm2015/steps/steps.module.js +7 -6
  487. package/esm2015/steps/steps.property.js +6 -4
  488. package/esm2015/switch/switch.component.js +3 -3
  489. package/esm2015/switch/switch.module.js +4 -4
  490. package/esm2015/switch/switch.property.js +3 -3
  491. package/esm2015/table/drag.directive.js +5 -5
  492. package/esm2015/table/table-body.component.js +7 -6
  493. package/esm2015/table/table-foot.component.js +4 -4
  494. package/esm2015/table/table-head.component.js +7 -6
  495. package/esm2015/table/table.component.js +9 -8
  496. package/esm2015/table/table.module.js +4 -4
  497. package/esm2015/table/table.property.js +13 -13
  498. package/esm2015/tabs/tab-content.component.js +3 -3
  499. package/esm2015/tabs/tab.component.js +4 -4
  500. package/esm2015/tabs/tabs.component.js +9 -8
  501. package/esm2015/tabs/tabs.module.js +4 -4
  502. package/esm2015/tabs/tabs.property.js +6 -6
  503. package/esm2015/tag/tag.component.js +10 -5
  504. package/esm2015/tag/tag.module.js +4 -4
  505. package/esm2015/tag/tag.property.js +10 -4
  506. package/esm2015/text-retract/text-retract.component.js +6 -5
  507. package/esm2015/text-retract/text-retract.module.js +4 -4
  508. package/esm2015/text-retract/text-retract.property.js +3 -3
  509. package/esm2015/textarea/textarea.component.js +6 -5
  510. package/esm2015/textarea/textarea.module.js +4 -4
  511. package/esm2015/textarea/textarea.property.js +4 -14
  512. package/esm2015/theme/theme.component.js +5 -5
  513. package/esm2015/theme/theme.module.js +4 -4
  514. package/esm2015/theme/theme.property.js +4 -4
  515. package/esm2015/time-ago/time-ago.module.js +4 -4
  516. package/esm2015/time-ago/time-ago.pipe.js +3 -3
  517. package/esm2015/time-picker/time-picker-frame.component.js +22 -12
  518. package/esm2015/time-picker/time-picker-portal.component.js +5 -5
  519. package/esm2015/time-picker/time-picker.component.js +31 -15
  520. package/esm2015/time-picker/time-picker.module.js +4 -4
  521. package/esm2015/time-picker/time-picker.property.js +16 -5
  522. package/esm2015/time-range/time-range.module.js +4 -4
  523. package/esm2015/time-range/time-range.pipe.js +3 -3
  524. package/esm2015/timeline/timeline.component.js +7 -6
  525. package/esm2015/timeline/timeline.module.js +4 -4
  526. package/esm2015/timeline/timeline.property.js +3 -3
  527. package/esm2015/tooltip/tooltip-portal.component.js +4 -4
  528. package/esm2015/tooltip/tooltip.directive.js +7 -6
  529. package/esm2015/tooltip/tooltip.module.js +4 -4
  530. package/esm2015/tooltip/tooltip.property.js +4 -4
  531. package/esm2015/transfer/transfer.component.js +7 -6
  532. package/esm2015/transfer/transfer.module.js +4 -4
  533. package/esm2015/transfer/transfer.property.js +3 -3
  534. package/esm2015/tree/tree-node.component.js +5 -5
  535. package/esm2015/tree/tree.component.js +11 -10
  536. package/esm2015/tree/tree.module.js +4 -4
  537. package/esm2015/tree/tree.property.js +7 -7
  538. package/esm2015/tree-file/tree-file.component.js +3 -3
  539. package/esm2015/tree-file/tree-file.module.js +4 -4
  540. package/esm2015/tree-file/tree-file.property.js +3 -3
  541. package/esm2015/typography/typography.component.js +3 -3
  542. package/esm2015/typography/typography.module.js +4 -4
  543. package/esm2015/typography/typography.property.js +3 -3
  544. package/esm2015/upload/upload-portal.component.js +5 -5
  545. package/esm2015/upload/upload.component.js +7 -6
  546. package/esm2015/upload/upload.module.js +4 -4
  547. package/esm2015/upload/upload.property.js +3 -3
  548. package/fesm2015/ng-nest-ui-affix.js +10 -10
  549. package/fesm2015/ng-nest-ui-alert.js +10 -10
  550. package/fesm2015/ng-nest-ui-alert.js.map +1 -1
  551. package/fesm2015/ng-nest-ui-anchor.js +11 -11
  552. package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
  553. package/fesm2015/ng-nest-ui-api.js +7 -7
  554. package/fesm2015/ng-nest-ui-auto-complete.js +37 -18
  555. package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
  556. package/fesm2015/ng-nest-ui-avatar.js +10 -10
  557. package/fesm2015/ng-nest-ui-back-top.js +12 -12
  558. package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
  559. package/fesm2015/ng-nest-ui-badge.js +12 -11
  560. package/fesm2015/ng-nest-ui-badge.js.map +1 -1
  561. package/fesm2015/ng-nest-ui-base-form.js +36 -12
  562. package/fesm2015/ng-nest-ui-base-form.js.map +1 -1
  563. package/fesm2015/ng-nest-ui-border.js +7 -7
  564. package/fesm2015/ng-nest-ui-button.js +22 -19
  565. package/fesm2015/ng-nest-ui-button.js.map +1 -1
  566. package/fesm2015/ng-nest-ui-calendar.js +14 -13
  567. package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
  568. package/fesm2015/ng-nest-ui-card.js +10 -10
  569. package/fesm2015/ng-nest-ui-carousel.js +28 -27
  570. package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
  571. package/fesm2015/ng-nest-ui-cascade.js +80 -28
  572. package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
  573. package/fesm2015/ng-nest-ui-checkbox.js +13 -12
  574. package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
  575. package/fesm2015/ng-nest-ui-collapse.js +16 -16
  576. package/fesm2015/ng-nest-ui-collapse.js.map +1 -1
  577. package/fesm2015/ng-nest-ui-color-picker.js +55 -24
  578. package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
  579. package/fesm2015/ng-nest-ui-color.js +11 -11
  580. package/fesm2015/ng-nest-ui-color.js.map +1 -1
  581. package/fesm2015/ng-nest-ui-comment.js +19 -18
  582. package/fesm2015/ng-nest-ui-comment.js.map +1 -1
  583. package/fesm2015/ng-nest-ui-container.js +32 -32
  584. package/fesm2015/ng-nest-ui-container.js.map +1 -1
  585. package/fesm2015/ng-nest-ui-core.js +106 -25
  586. package/fesm2015/ng-nest-ui-core.js.map +1 -1
  587. package/fesm2015/ng-nest-ui-crumb.js +13 -12
  588. package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
  589. package/fesm2015/ng-nest-ui-date-picker.js +325 -190
  590. package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
  591. package/fesm2015/ng-nest-ui-description.js +21 -22
  592. package/fesm2015/ng-nest-ui-description.js.map +1 -1
  593. package/fesm2015/ng-nest-ui-dialog.js +12 -11
  594. package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
  595. package/fesm2015/ng-nest-ui-doc.js +7 -7
  596. package/fesm2015/ng-nest-ui-drawer.js +12 -11
  597. package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
  598. package/fesm2015/ng-nest-ui-dropdown.js +17 -16
  599. package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
  600. package/fesm2015/ng-nest-ui-empty.js +10 -10
  601. package/fesm2015/ng-nest-ui-examples.js +7 -7
  602. package/fesm2015/ng-nest-ui-find.js +31 -17
  603. package/fesm2015/ng-nest-ui-find.js.map +1 -1
  604. package/fesm2015/ng-nest-ui-form.js +22 -26
  605. package/fesm2015/ng-nest-ui-form.js.map +1 -1
  606. package/fesm2015/ng-nest-ui-highlight.js +12 -11
  607. package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
  608. package/fesm2015/ng-nest-ui-i18n.js +532 -131
  609. package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
  610. package/fesm2015/ng-nest-ui-icon.js +18 -18
  611. package/fesm2015/ng-nest-ui-icon.js.map +1 -1
  612. package/fesm2015/ng-nest-ui-inner.js +11 -11
  613. package/fesm2015/ng-nest-ui-inner.js.map +1 -1
  614. package/fesm2015/ng-nest-ui-input-number.js +31 -14
  615. package/fesm2015/ng-nest-ui-input-number.js.map +1 -1
  616. package/fesm2015/ng-nest-ui-input.js +39 -21
  617. package/fesm2015/ng-nest-ui-input.js.map +1 -1
  618. package/fesm2015/ng-nest-ui-layout.js +16 -16
  619. package/fesm2015/ng-nest-ui-link.js +10 -10
  620. package/fesm2015/ng-nest-ui-list.js +20 -19
  621. package/fesm2015/ng-nest-ui-list.js.map +1 -1
  622. package/fesm2015/ng-nest-ui-loading.js +12 -11
  623. package/fesm2015/ng-nest-ui-loading.js.map +1 -1
  624. package/fesm2015/ng-nest-ui-menu.js +22 -22
  625. package/fesm2015/ng-nest-ui-menu.js.map +1 -1
  626. package/fesm2015/ng-nest-ui-message-box.js +32 -34
  627. package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
  628. package/fesm2015/ng-nest-ui-message.js +11 -11
  629. package/fesm2015/ng-nest-ui-message.js.map +1 -1
  630. package/fesm2015/ng-nest-ui-notification.js +11 -11
  631. package/fesm2015/ng-nest-ui-notification.js.map +1 -1
  632. package/fesm2015/ng-nest-ui-outlet.js +7 -7
  633. package/fesm2015/ng-nest-ui-page-header.js +10 -10
  634. package/fesm2015/ng-nest-ui-pagination.js +104 -14
  635. package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
  636. package/fesm2015/ng-nest-ui-pattern.js +7 -7
  637. package/fesm2015/ng-nest-ui-popconfirm.js +10 -10
  638. package/fesm2015/ng-nest-ui-popover.js +16 -15
  639. package/fesm2015/ng-nest-ui-popover.js.map +1 -1
  640. package/fesm2015/ng-nest-ui-portal.js +7 -7
  641. package/fesm2015/ng-nest-ui-progress.js +13 -12
  642. package/fesm2015/ng-nest-ui-progress.js.map +1 -1
  643. package/fesm2015/ng-nest-ui-radio.js +13 -12
  644. package/fesm2015/ng-nest-ui-radio.js.map +1 -1
  645. package/fesm2015/ng-nest-ui-rate.js +15 -15
  646. package/fesm2015/ng-nest-ui-rate.js.map +1 -1
  647. package/fesm2015/ng-nest-ui-result.js +10 -10
  648. package/fesm2015/ng-nest-ui-ripple.js +10 -10
  649. package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
  650. package/fesm2015/ng-nest-ui-select.js +37 -22
  651. package/fesm2015/ng-nest-ui-select.js.map +1 -1
  652. package/fesm2015/ng-nest-ui-skeleton.js +12 -11
  653. package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
  654. package/fesm2015/ng-nest-ui-slider-select.js +10 -10
  655. package/fesm2015/ng-nest-ui-slider.js +17 -18
  656. package/fesm2015/ng-nest-ui-slider.js.map +1 -1
  657. package/fesm2015/ng-nest-ui-statistic.js +22 -20
  658. package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
  659. package/fesm2015/ng-nest-ui-steps.js +19 -14
  660. package/fesm2015/ng-nest-ui-steps.js.map +1 -1
  661. package/fesm2015/ng-nest-ui-switch.js +10 -10
  662. package/fesm2015/ng-nest-ui-table.js +43 -40
  663. package/fesm2015/ng-nest-ui-table.js.map +1 -1
  664. package/fesm2015/ng-nest-ui-tabs.js +24 -23
  665. package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
  666. package/fesm2015/ng-nest-ui-tag.js +22 -11
  667. package/fesm2015/ng-nest-ui-tag.js.map +1 -1
  668. package/fesm2015/ng-nest-ui-text-retract.js +12 -11
  669. package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
  670. package/fesm2015/ng-nest-ui-textarea.js +12 -21
  671. package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
  672. package/fesm2015/ng-nest-ui-theme.js +11 -11
  673. package/fesm2015/ng-nest-ui-theme.js.map +1 -1
  674. package/fesm2015/ng-nest-ui-time-ago.js +7 -7
  675. package/fesm2015/ng-nest-ui-time-picker.js +73 -36
  676. package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
  677. package/fesm2015/ng-nest-ui-time-range.js +7 -7
  678. package/fesm2015/ng-nest-ui-timeline.js +13 -12
  679. package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
  680. package/fesm2015/ng-nest-ui-tooltip.js +16 -15
  681. package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
  682. package/fesm2015/ng-nest-ui-transfer.js +13 -12
  683. package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
  684. package/fesm2015/ng-nest-ui-tree-file.js +10 -10
  685. package/fesm2015/ng-nest-ui-tree.js +24 -23
  686. package/fesm2015/ng-nest-ui-tree.js.map +1 -1
  687. package/fesm2015/ng-nest-ui-typography.js +10 -10
  688. package/fesm2015/ng-nest-ui-upload.js +17 -16
  689. package/fesm2015/ng-nest-ui-upload.js.map +1 -1
  690. package/find/find.component.d.ts +1 -1
  691. package/find/find.property.d.ts +22 -2
  692. package/form/control.component.d.ts +1 -1
  693. package/form/form.component.d.ts +1 -1
  694. package/form/form.property.d.ts +6 -6
  695. package/i18n/languages/ar_EG.d.ts +8 -0
  696. package/i18n/languages/bg_BG.d.ts +8 -0
  697. package/i18n/languages/ca_ES.d.ts +8 -0
  698. package/i18n/languages/cs_CZ.d.ts +8 -0
  699. package/i18n/languages/da_DK.d.ts +8 -0
  700. package/i18n/languages/de_DE.d.ts +8 -0
  701. package/i18n/languages/el_GR.d.ts +8 -0
  702. package/i18n/languages/en_GB.d.ts +8 -0
  703. package/i18n/languages/en_US.d.ts +5 -0
  704. package/i18n/languages/es_ES.d.ts +8 -0
  705. package/i18n/languages/et_EE.d.ts +8 -0
  706. package/i18n/languages/fa_IR.d.ts +8 -0
  707. package/i18n/languages/fi_FI.d.ts +8 -0
  708. package/i18n/languages/fr_BE.d.ts +8 -0
  709. package/i18n/languages/fr_FR.d.ts +8 -0
  710. package/i18n/languages/he_IL.d.ts +8 -0
  711. package/i18n/languages/hi_IN.d.ts +8 -0
  712. package/i18n/languages/hr_HR.d.ts +8 -0
  713. package/i18n/languages/hu_HU.d.ts +8 -0
  714. package/i18n/languages/hy_AM.d.ts +8 -0
  715. package/i18n/languages/id_ID.d.ts +8 -0
  716. package/i18n/languages/is_IS.d.ts +8 -0
  717. package/i18n/languages/it_IT.d.ts +8 -0
  718. package/i18n/languages/ja_JP.d.ts +8 -0
  719. package/i18n/languages/ka_GE.d.ts +8 -0
  720. package/i18n/languages/kn_IN.d.ts +8 -0
  721. package/i18n/languages/ko_KR.d.ts +8 -0
  722. package/i18n/languages/ku_IQ.d.ts +8 -0
  723. package/i18n/languages/lv_LV.d.ts +8 -0
  724. package/i18n/languages/mn_MN.d.ts +8 -0
  725. package/i18n/languages/ms_MY.d.ts +8 -0
  726. package/i18n/languages/nb_NO.d.ts +8 -0
  727. package/i18n/languages/ne_NP.d.ts +8 -0
  728. package/i18n/languages/nl_BE.d.ts +8 -0
  729. package/i18n/languages/nl_NL.d.ts +8 -0
  730. package/i18n/languages/pl_PL.d.ts +8 -0
  731. package/i18n/languages/pt_BR.d.ts +8 -0
  732. package/i18n/languages/pt_PT.d.ts +8 -0
  733. package/i18n/languages/ro_RO.d.ts +8 -0
  734. package/i18n/languages/ru_RU.d.ts +8 -0
  735. package/i18n/languages/sk_SK.d.ts +8 -0
  736. package/i18n/languages/sl_SI.d.ts +8 -0
  737. package/i18n/languages/sr_RS.d.ts +8 -0
  738. package/i18n/languages/sv_SE.d.ts +8 -0
  739. package/i18n/languages/ta_IN.d.ts +8 -0
  740. package/i18n/languages/th_TH.d.ts +8 -0
  741. package/i18n/languages/tr_TR.d.ts +8 -0
  742. package/i18n/languages/uk_UA.d.ts +8 -0
  743. package/i18n/languages/vi_VN.d.ts +8 -0
  744. package/i18n/languages/zh_CN.d.ts +4 -0
  745. package/i18n/languages/zh_TW.d.ts +7 -0
  746. package/inner/inner.component.d.ts +1 -1
  747. package/input/input-group.component.d.ts +2 -4
  748. package/input/input.component.d.ts +3 -1
  749. package/input/input.property.d.ts +13 -1
  750. package/input-number/input-number.component.d.ts +3 -0
  751. package/input-number/input-number.module.d.ts +4 -3
  752. package/input-number/input-number.property.d.ts +12 -2
  753. package/list/list.component.d.ts +2 -2
  754. package/menu/menu.component.d.ts +1 -1
  755. package/message/message.component.d.ts +1 -1
  756. package/message-box/message-box.component.d.ts +2 -1
  757. package/notification/notification.component.d.ts +1 -1
  758. package/package.json +1 -1
  759. package/pagination/pagination.component.d.ts +5 -1
  760. package/pagination/pagination.module.d.ts +7 -3
  761. package/pagination/pagination.property.d.ts +49 -3
  762. package/radio/radio.component.d.ts +1 -1
  763. package/rate/rate.component.d.ts +5 -5
  764. package/select/select-portal.component.d.ts +3 -3
  765. package/select/select.component.d.ts +1 -1
  766. package/select/select.property.d.ts +12 -2
  767. package/slider/slider.component.d.ts +1 -1
  768. package/steps/steps.component.d.ts +1 -1
  769. package/steps/steps.module.d.ts +2 -1
  770. package/steps/steps.property.d.ts +7 -2
  771. package/table/table-body.component.d.ts +1 -1
  772. package/table/table-head.component.d.ts +1 -1
  773. package/table/table.component.d.ts +1 -1
  774. package/table/table.property.d.ts +10 -0
  775. package/tag/tag.component.d.ts +2 -1
  776. package/tag/tag.property.d.ts +6 -1
  777. package/textarea/textarea.property.d.ts +1 -6
  778. package/theme/theme.component.d.ts +1 -1
  779. package/time-picker/time-picker-frame.component.d.ts +4 -0
  780. package/time-picker/time-picker-portal.component.d.ts +3 -3
  781. package/time-picker/time-picker.component.d.ts +5 -3
  782. package/time-picker/time-picker.property.d.ts +12 -2
  783. package/timeline/timeline.component.d.ts +1 -1
  784. package/transfer/transfer.component.d.ts +1 -1
  785. package/tree/tree-node.component.d.ts +1 -1
  786. package/tree/tree.component.d.ts +1 -1
  787. package/upload/upload.component.d.ts +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-textarea.js","sources":["../../../../lib/ng-nest/ui/textarea/textarea.property.ts","../../../../lib/ng-nest/ui/textarea/textarea.component.ts","../../../../lib/ng-nest/ui/textarea/textarea.component.html","../../../../lib/ng-nest/ui/textarea/textarea.module.ts","../../../../lib/ng-nest/ui/textarea/ng-nest-ui-textarea.ts"],"sourcesContent":["import {\r\n XInputBoolean,\r\n XInputNumber,\r\n XSize,\r\n XNumber,\r\n XBoolean,\r\n XWithConfig,\r\n XPositionLeftRight\r\n} from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Textarea\r\n * @selector x-textarea\r\n * @decorator component\r\n */\r\nexport const XTextareaPrefix = 'x-textarea';\r\nconst X_CONFIG_NAME = 'textarea';\r\n\r\n/**\r\n * Textarea Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTextareaProperty extends XControlValueAccessor<any> implements XTextareaOption {\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() clearable?: XBoolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Read only\r\n */\r\n @Input() @XInputBoolean() readonly: XBoolean = false;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * @zh_CN 图标布局方式\r\n * @en_US Icon layout\r\n */\r\n @Input() @XWithConfig<XTextareaIconLayoutType>(X_CONFIG_NAME, 'right') iconLayout: XTextareaIconLayoutType = 'right';\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n @Input() @XInputBoolean() iconSpin: XBoolean = false;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n @Input() @XInputNumber() maxlength: XNumber = 0;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US height\r\n */\r\n @Input() height: string = '4rem';\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n @Output() clearEmit = new EventEmitter<any>();\r\n}\r\n\r\n/**\r\n * Textarea Option\r\n * @undocument true\r\n */\r\nexport interface XTextareaOption extends XFormOption {\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n clearable?: XBoolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Read only\r\n */\r\n readonly?: XBoolean;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 图标布局方式\r\n * @en_US Icon layout\r\n */\r\n iconLayout?: XTextareaIconLayoutType;\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n iconSpin?: XBoolean;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n maxlength?: XNumber;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n clearClick?: (value: any) => void;\r\n}\r\n\r\n/**\r\n * @zh_CN 图标布局方式,指在输入框中的位置\r\n * @en_US Icon layout, refers to the position in the input box\r\n * @value \"left\" 靠左\r\n * @value \"right\" 靠右\r\n */\r\nexport type XTextareaIconLayoutType = XPositionLeftRight;\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n OnChanges,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XTextareaPrefix, XTextareaProperty } from './textarea.property';\r\nimport { XIsEmpty, XIsChange, XClearClass, XConfigService } from '@ng-nest/ui/core';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XTextareaPrefix}`,\r\n templateUrl: './textarea.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XTextareaComponent)]\r\n})\r\nexport class XTextareaComponent extends XTextareaProperty implements OnInit, OnChanges {\r\n @ViewChild('textarea', { static: true }) textarea!: ElementRef;\r\n @ViewChild('textareaRef', { static: true }) textareaRef!: ElementRef;\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n this.change(value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private _required: boolean = false;\r\n valueLength: number = 0;\r\n lengthTotal: string = '';\r\n paddingLeft: number = 0.4;\r\n paddingRight: number = 0.4;\r\n clearShow: boolean = false;\r\n\r\n get getIcon() {\r\n return !XIsEmpty(this.icon);\r\n }\r\n\r\n get getIconLayoutLeft() {\r\n return !XIsEmpty(this.icon) && this.iconLayout === 'left';\r\n }\r\n\r\n get getIconLayoutRight() {\r\n return !XIsEmpty(this.icon) && this.iconLayout === 'right';\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setPadding();\r\n this.setFlex(this.textarea.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n XIsChange(changes.clearable) && this.setClearable();\r\n }\r\n\r\n change(value: any) {\r\n if (this._required && !this.disabled) {\r\n this.required = XIsEmpty(value);\r\n }\r\n this.setClearable();\r\n if (this.maxlength) {\r\n this.valueLength = XIsEmpty(value) ? 0 : `${value}`.length;\r\n this.lengthTotal = `${this.valueLength}/${this.maxlength}`;\r\n }\r\n this.setPadding();\r\n if (this.onChange) this.onChange(value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onClear() {\r\n const clearValue = this.value;\r\n this.value = '';\r\n this.change(this.value);\r\n this.clearEmit.emit(clearValue);\r\n this.textareaRef.nativeElement.focus();\r\n }\r\n\r\n setClearable() {\r\n if (this.clearable && !this.disabled) {\r\n this.clearShow = !XIsEmpty(this.value);\r\n } else {\r\n this.clearShow = false;\r\n }\r\n }\r\n\r\n setPadding() {\r\n this.paddingLeft = this.icon && this.iconLayout === 'left' ? 1.8 : 0.4;\r\n this.paddingRight = this.icon && this.iconLayout === 'right' ? 1.8 : 0.4;\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.classMap, this.labelMap);\r\n this.classMap[`${XTextareaPrefix}-${this.size}`] = this.size ? true : false;\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n formControlChanges() {\r\n this.change(this.value);\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #textarea\r\n class=\"x-textarea\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-clearable]=\"clearable\"\r\n [class.x-clear-show]=\"clearShow\"\r\n [class.x-textarea-icon]=\"getIcon\"\r\n [class.x-textarea-icon-left]=\"getIconLayoutLeft\"\r\n [class.x-textarea-icon-right]=\"getIconLayoutRight\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-textarea-row\">\r\n <textarea\r\n #textareaRef\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [maxlength]=\"maxlength\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"change($event)\"\r\n [style.height]=\"height\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n ></textarea>\r\n <x-icon *ngIf=\"clearShow\" class=\"x-textarea-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n <x-icon *ngIf=\"icon && ((!clearShow && getIconLayoutRight) || getIconLayoutLeft)\" [type]=\"icon\" [spin]=\"iconSpin\"></x-icon>\r\n <span class=\"x-textarea-max-length\" *ngIf=\"maxlength\">{{ lengthTotal }}</span>\r\n <span class=\"x-textarea-error-message\" *ngIf=\"invalid\">{{ invalidMessage }}</span>\r\n <ng-container *ngIf=\"requiredIsEmpty || invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XTextareaComponent } from './textarea.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XTextareaProperty } from './textarea.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\n\r\n@NgModule({\r\n declarations: [XTextareaComponent, XTextareaProperty],\r\n exports: [XTextareaComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, XIconModule, XBaseFormModule]\r\n})\r\nexport class XTextareaModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-textarea.js","sources":["../../../../lib/ng-nest/ui/textarea/textarea.property.ts","../../../../lib/ng-nest/ui/textarea/textarea.component.ts","../../../../lib/ng-nest/ui/textarea/textarea.component.html","../../../../lib/ng-nest/ui/textarea/textarea.module.ts","../../../../lib/ng-nest/ui/textarea/ng-nest-ui-textarea.ts"],"sourcesContent":["import {\r\n XInputBoolean,\r\n XInputNumber,\r\n XSize,\r\n XNumber,\r\n XBoolean,\r\n XWithConfig,\r\n XPositionLeftRight\r\n} from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Textarea\r\n * @selector x-textarea\r\n * @decorator component\r\n */\r\nexport const XTextareaPrefix = 'x-textarea';\r\nconst X_CONFIG_NAME = 'textarea';\r\n\r\n/**\r\n * Textarea Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTextareaProperty extends XControlValueAccessor<any> implements XTextareaOption {\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() clearable?: XBoolean;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * @zh_CN 图标布局方式\r\n * @en_US Icon layout\r\n */\r\n @Input() @XWithConfig<XTextareaIconLayoutType>(X_CONFIG_NAME, 'right') iconLayout: XTextareaIconLayoutType = 'right';\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n @Input() @XInputBoolean() iconSpin: XBoolean = false;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n @Input() @XInputNumber() maxlength: XNumber = 0;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US height\r\n */\r\n @Input() height: string = '4rem';\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n @Output() clearEmit = new EventEmitter<any>();\r\n}\r\n\r\n/**\r\n * Textarea Option\r\n * @undocument true\r\n */\r\nexport interface XTextareaOption extends XFormOption {\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n clearable?: XBoolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Read only\r\n */\r\n readonly?: XBoolean;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 图标布局方式\r\n * @en_US Icon layout\r\n */\r\n iconLayout?: XTextareaIconLayoutType;\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n iconSpin?: XBoolean;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n maxlength?: XNumber;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n clearClick?: (value: any) => void;\r\n}\r\n\r\n/**\r\n * @zh_CN 图标布局方式,指在输入框中的位置\r\n * @en_US Icon layout, refers to the position in the input box\r\n * @value \"left\" 靠左\r\n * @value \"right\" 靠右\r\n */\r\nexport type XTextareaIconLayoutType = XPositionLeftRight;\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n OnChanges,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XTextareaPrefix, XTextareaProperty } from './textarea.property';\r\nimport { XIsEmpty, XIsChange, XClearClass, XConfigService } from '@ng-nest/ui/core';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XTextareaPrefix}`,\r\n templateUrl: './textarea.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XTextareaComponent)]\r\n})\r\nexport class XTextareaComponent extends XTextareaProperty implements OnInit, OnChanges {\r\n @ViewChild('textarea', { static: true }) textarea!: ElementRef;\r\n @ViewChild('textareaRef', { static: true }) textareaRef!: ElementRef;\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n this.change(value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private _required: boolean = false;\r\n valueLength: number = 0;\r\n lengthTotal: string = '';\r\n paddingLeft: number = 0.4;\r\n paddingRight: number = 0.4;\r\n clearShow: boolean = false;\r\n\r\n get getIcon() {\r\n return !XIsEmpty(this.icon);\r\n }\r\n\r\n get getIconLayoutLeft() {\r\n return !XIsEmpty(this.icon) && this.iconLayout === 'left';\r\n }\r\n\r\n get getIconLayoutRight() {\r\n return !XIsEmpty(this.icon) && this.iconLayout === 'right';\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setPadding();\r\n this.setFlex(this.textarea.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { clearable } = changes;\r\n XIsChange(clearable) && this.setClearable();\r\n }\r\n\r\n change(value: any) {\r\n if (this._required && !this.disabled) {\r\n this.required = XIsEmpty(value);\r\n }\r\n this.setClearable();\r\n if (this.maxlength) {\r\n this.valueLength = XIsEmpty(value) ? 0 : `${value}`.length;\r\n this.lengthTotal = `${this.valueLength}/${this.maxlength}`;\r\n }\r\n this.setPadding();\r\n if (this.onChange) this.onChange(value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onClear() {\r\n const clearValue = this.value;\r\n this.value = '';\r\n this.change(this.value);\r\n this.clearEmit.emit(clearValue);\r\n this.textareaRef.nativeElement.focus();\r\n }\r\n\r\n setClearable() {\r\n if (this.clearable && !this.disabled) {\r\n this.clearShow = !XIsEmpty(this.value);\r\n } else {\r\n this.clearShow = false;\r\n }\r\n }\r\n\r\n setPadding() {\r\n this.paddingLeft = this.icon && this.iconLayout === 'left' ? 1.8 : 0.4;\r\n this.paddingRight = this.icon && this.iconLayout === 'right' ? 1.8 : 0.4;\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.classMap, this.labelMap);\r\n this.classMap[`${XTextareaPrefix}-${this.size}`] = this.size ? true : false;\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n formControlChanges() {\r\n this.change(this.value);\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #textarea\r\n class=\"x-textarea\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-clearable]=\"clearable\"\r\n [class.x-clear-show]=\"clearShow\"\r\n [class.x-textarea-icon]=\"getIcon\"\r\n [class.x-textarea-icon-left]=\"getIconLayoutLeft\"\r\n [class.x-textarea-icon-right]=\"getIconLayoutRight\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-textarea-row\">\r\n <textarea\r\n #textareaRef\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [maxlength]=\"maxlength\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"change($event)\"\r\n [style.height]=\"height\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n ></textarea>\r\n <x-icon *ngIf=\"clearShow\" class=\"x-textarea-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n <x-icon *ngIf=\"icon && ((!clearShow && getIconLayoutRight) || getIconLayoutLeft)\" [type]=\"icon\" [spin]=\"iconSpin\"></x-icon>\r\n <span class=\"x-textarea-max-length\" *ngIf=\"maxlength\">{{ lengthTotal }}</span>\r\n <span class=\"x-textarea-error-message\" *ngIf=\"invalid\">{{ invalidMessage }}</span>\r\n <ng-container *ngIf=\"requiredIsEmpty || invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XTextareaComponent } from './textarea.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XTextareaProperty } from './textarea.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\n\r\n@NgModule({\r\n declarations: [XTextareaComponent, XTextareaProperty],\r\n exports: [XTextareaComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, XIconModule, XBaseFormModule]\r\n})\r\nexport class XTextareaModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAYA;;;;;MAKa,eAAe,GAAG,aAAa;AAC5C,MAAM,aAAa,GAAG,UAAU,CAAC;AAEjC;;;MAIa,iBAAkB,SAAQ,qBAA0B;IADjE;;;;;;QAgByE,eAAU,GAA4B,OAAO,CAAC;;;;;QAK3F,aAAQ,GAAa,KAAK,CAAC;;;;;QAK5B,cAAS,GAAY,CAAC,CAAC;;;;;QAKvC,WAAM,GAAW,MAAM,CAAC;;;;;QAKvB,cAAS,GAAG,IAAI,YAAY,EAAO,CAAC;KAC/C;;iIApCY,iBAAiB;qHAAjB,iBAAiB,4PADP,EAAE;AAMgD;IAA7D,WAAW,CAAW,aAAa,EAAE,KAAK,CAAC;IAAE,aAAa,EAAE;oDAAsB;AAUrB;IAA7D,WAAW,CAA0B,aAAa,EAAE,OAAO,CAAC;qDAA+C;AAK3F;IAAhB,aAAa,EAAE;mDAA4B;AAK5B;IAAf,YAAY,EAAE;oDAAwB;2FAzBrC,iBAAiB;kBAD7B,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;8BAM8C,SAAS;sBAA/E,KAAK;gBAKG,IAAI;sBAAZ,KAAK;gBAKiE,UAAU;sBAAhF,KAAK;gBAKoB,QAAQ;sBAAjC,KAAK;gBAKmB,SAAS;sBAAjC,KAAK;gBAKG,MAAM;sBAAd,KAAK;gBAKI,SAAS;sBAAlB,MAAM;;;MCnCI,kBAAmB,SAAQ,iBAAiB;IA6BvD,YACS,QAAmB,EACnB,UAAsB,EACtB,GAAsB,EACtB,aAA6B;QAEpC,KAAK,EAAE,CAAC;QALD,aAAQ,GAAR,QAAQ,CAAW;QACnB,eAAU,GAAV,UAAU,CAAY;QACtB,QAAG,GAAH,GAAG,CAAmB;QACtB,kBAAa,GAAb,aAAa,CAAgB;QAvB9B,cAAS,GAAY,KAAK,CAAC;QACnC,gBAAW,GAAW,CAAC,CAAC;QACxB,gBAAW,GAAW,EAAE,CAAC;QACzB,gBAAW,GAAW,GAAG,CAAC;QAC1B,iBAAY,GAAW,GAAG,CAAC;QAC3B,cAAS,GAAY,KAAK,CAAC;KAqB1B;IAhCD,UAAU,CAAC,KAAU;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IASD,IAAI,OAAO;QACT,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC7B;IAED,IAAI,iBAAiB;QACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC;KAC3D;IAED,IAAI,kBAAkB;QACpB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC;KAC5D;IAWD,QAAQ;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnG,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW,CAAC,OAAsB;QAChC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAC9B,SAAS,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;KAC7C;IAED,MAAM,CAAC,KAAU;QACf,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,MAAM,CAAC;YAC3D,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;SAC5D;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,OAAO;QACL,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACxC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;KACF;IAED,UAAU;QACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;QACvE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC;KAC1E;IAED,WAAW;QACT,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,eAAe,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;QAC5E,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC;KACnF;IAED,kBAAkB;QAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;;kIA9FU,kBAAkB;sHAAlB,kBAAkB,qCAFlB,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,qSCtBjD,8yDAyCA;2FDjBa,kBAAkB;kBAR9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,GAAG,eAAe,EAAE;oBAC9B,WAAW,EAAE,2BAA2B;oBACxC,SAAS,EAAE,CAAC,oBAAoB,CAAC;oBACjC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,SAAS,EAAE,CAAC,cAAc,oBAAoB,CAAC;iBAChD;sLAE0C,QAAQ;sBAAhD,SAAS;uBAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBACK,WAAW;sBAAtD,SAAS;uBAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;MEb/B,eAAe;;+HAAf,eAAe;gIAAf,eAAe,iBAJX,kBAAkB,EAAE,iBAAiB,aAE1C,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,aAD5E,kBAAkB;gIAGjB,eAAe,YAFjB,CAAC,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,CAAC;2FAE5E,eAAe;kBAL3B,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;oBACrD,OAAO,EAAE,CAAC,kBAAkB,CAAC;oBAC7B,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,CAAC;iBACxF;;;ACZD;;;;;;"}
@@ -57,8 +57,8 @@ class XThemeProperty extends XControlValueAccessor {
57
57
  this.darkChange = new EventEmitter();
58
58
  }
59
59
  }
60
- /** @nocollapse */ XThemeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XThemeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
61
- /** @nocollapse */ XThemeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XThemeProperty, selector: "ng-component", inputs: { prefix: "prefix", amounts: "amounts", showDark: "showDark", showDetail: "showDetail", dark: "dark" }, outputs: { defaultClick: "defaultClick", darkChange: "darkChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
60
+ /** @nocollapse */ XThemeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XThemeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
61
+ /** @nocollapse */ XThemeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XThemeProperty, selector: "ng-component", inputs: { prefix: "prefix", amounts: "amounts", showDark: "showDark", showDetail: "showDetail", dark: "dark" }, outputs: { defaultClick: "defaultClick", darkChange: "darkChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
62
62
  __decorate([
63
63
  XWithConfig(X_CONFIG_NAME, XThemeAmounts)
64
64
  ], XThemeProperty.prototype, "amounts", void 0);
@@ -71,7 +71,7 @@ __decorate([
71
71
  __decorate([
72
72
  XInputBoolean()
73
73
  ], XThemeProperty.prototype, "dark", void 0);
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XThemeProperty, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XThemeProperty, decorators: [{
75
75
  type: Component,
76
76
  args: [{ template: '' }]
77
77
  }], propDecorators: { prefix: [{
@@ -219,7 +219,7 @@ class XThemeComponent extends XThemeProperty {
219
219
  }
220
220
  return result;
221
221
  }
222
- darkChanges($event) {
222
+ darkChanges() {
223
223
  let colors = this.darkBeforeColors;
224
224
  if (this.dark) {
225
225
  this.beforeColors = this.formGroup.value;
@@ -230,9 +230,9 @@ class XThemeComponent extends XThemeProperty {
230
230
  this.darkChange.emit(this.dark);
231
231
  }
232
232
  }
233
- /** @nocollapse */ XThemeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XThemeComponent, deps: [{ token: i1.XConfigService }, { token: i2.XI18nService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
234
- /** @nocollapse */ XThemeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XThemeComponent, selector: "x-theme", providers: [XValueAccessor(XThemeComponent)], usesInheritance: true, ngImport: i0, template: "<div class=\"x-theme\">\r\n <x-row>\r\n <x-col [style.width.rem]=\"8\" *ngIf=\"showDark\">\r\n <x-switch direction=\"row\" [label]=\"locale?.darkMode\" [(ngModel)]=\"dark\" (ngModelChange)=\"darkChanges($event)\"></x-switch>\r\n </x-col>\r\n <x-col [style.width.rem]=\"8\">\r\n <x-button (click)=\"default()\">{{ locale?.initDefault }}</x-button>\r\n </x-col>\r\n </x-row>\r\n <x-form [formGroup]=\"formGroup\" [controls]=\"controls\" [width]=\"width\" span=\"2\" space=\"1\"></x-form>\r\n</div>\r\n", styles: [".x-theme{margin:0;padding:0;display:inline-block}.x-theme x-color-picker:not(:first-child){margin-left:.125rem}.x-theme-darken,.x-theme-default,.x-theme-gradual{display:flex}.x-theme-default x-color-picker{width:9.25rem}"], components: [{ type: i3.XRowComponent, selector: "x-row" }, { type: i3.XColComponent, selector: "x-col" }, { type: i4.XSwitchComponent, selector: "x-switch" }, { type: i5.XButtonComponent, selector: "x-button" }, { type: i6.XFormComponent, selector: "x-form" }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XThemeComponent, decorators: [{
233
+ /** @nocollapse */ XThemeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XThemeComponent, deps: [{ token: i1.XConfigService }, { token: i2.XI18nService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
234
+ /** @nocollapse */ XThemeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XThemeComponent, selector: "x-theme", providers: [XValueAccessor(XThemeComponent)], usesInheritance: true, ngImport: i0, template: "<div class=\"x-theme\">\r\n <x-row>\r\n <x-col [style.width.rem]=\"8\" *ngIf=\"showDark\">\r\n <x-switch direction=\"row\" [label]=\"locale?.darkMode\" [(ngModel)]=\"dark\" (ngModelChange)=\"darkChanges()\"></x-switch>\r\n </x-col>\r\n <x-col [style.width.rem]=\"8\">\r\n <x-button (click)=\"default()\">{{ locale?.initDefault }}</x-button>\r\n </x-col>\r\n </x-row>\r\n <x-form [formGroup]=\"formGroup\" [controls]=\"controls\" [width]=\"width\" span=\"2\" space=\"1\"></x-form>\r\n</div>\r\n", styles: [".x-theme{margin:0;padding:0;display:inline-block}.x-theme x-color-picker:not(:first-child){margin-left:.125rem}.x-theme-darken,.x-theme-default,.x-theme-gradual{display:flex}.x-theme-default x-color-picker{width:9.25rem}\n"], components: [{ type: i3.XRowComponent, selector: "x-row" }, { type: i3.XColComponent, selector: "x-col" }, { type: i4.XSwitchComponent, selector: "x-switch" }, { type: i5.XButtonComponent, selector: "x-button" }, { type: i6.XFormComponent, selector: "x-form" }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XThemeComponent, decorators: [{
236
236
  type: Component,
237
237
  args: [{
238
238
  selector: 'x-theme',
@@ -246,8 +246,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
246
246
 
247
247
  class XThemeModule {
248
248
  }
249
- /** @nocollapse */ XThemeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
250
- /** @nocollapse */ XThemeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XThemeModule, declarations: [XThemeComponent, XThemeProperty], imports: [CommonModule,
249
+ /** @nocollapse */ XThemeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
250
+ /** @nocollapse */ XThemeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XThemeModule, declarations: [XThemeComponent, XThemeProperty], imports: [CommonModule,
251
251
  FormsModule,
252
252
  ReactiveFormsModule,
253
253
  XSwitchModule,
@@ -256,7 +256,7 @@ class XThemeModule {
256
256
  XFormModule,
257
257
  XI18nModule,
258
258
  XBaseFormModule], exports: [XThemeComponent] });
259
- /** @nocollapse */ XThemeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XThemeModule, imports: [[
259
+ /** @nocollapse */ XThemeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XThemeModule, imports: [[
260
260
  CommonModule,
261
261
  FormsModule,
262
262
  ReactiveFormsModule,
@@ -267,7 +267,7 @@ class XThemeModule {
267
267
  XI18nModule,
268
268
  XBaseFormModule
269
269
  ]] });
270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XThemeModule, decorators: [{
270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XThemeModule, decorators: [{
271
271
  type: NgModule,
272
272
  args: [{
273
273
  declarations: [XThemeComponent, XThemeProperty],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-theme.js","sources":["../../../../lib/ng-nest/ui/theme/theme.property.ts","../../../../lib/ng-nest/ui/theme/theme.component.ts","../../../../lib/ng-nest/ui/theme/theme.component.html","../../../../lib/ng-nest/ui/theme/theme.module.ts","../../../../lib/ng-nest/ui/theme/ng-nest-ui-theme.ts"],"sourcesContent":["import { XWithConfig, XNumber, XColorsTheme, XInputBoolean, XBoolean } from '@ng-nest/ui/core';\r\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Theme\r\n * @selector x-theme\r\n * @decorator component\r\n */\r\nexport const XThemePrefix = 'x-theme';\r\n\r\nconst X_CONFIG_NAME = 'theme';\r\n\r\nexport const XThemeAmounts = [-0.1, -0.2, -0.3, -0.4, -0.5, -0.6, -0.7, -0.8, -0.9, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9];\r\n\r\n/**\r\n * Theme Property\r\n */\r\n@Component({ template: '' })\r\nexport class XThemeProperty extends XControlValueAccessor<XColorsTheme> {\r\n /**\r\n * @zh_CN 参数前缀\r\n * @en_US Parameter prefix\r\n */\r\n @Input() prefix: string = '--x-';\r\n /**\r\n * @zh_CN 混合的颜色占比\r\n * @en_US Proportion of mixed colors\r\n */\r\n @Input() @XWithConfig<XNumber[]>(X_CONFIG_NAME, XThemeAmounts) amounts!: XNumber[];\r\n /**\r\n * @zh_CN 显示暗黑模式的设置\r\n * @en_US Show dark mode settings\r\n */\r\n @Input() @XInputBoolean() showDark?: XBoolean;\r\n /**\r\n * @zh_CN 详细设置\r\n * @en_US Detailed settings\r\n */\r\n @Input() @XInputBoolean() showDetail?: XBoolean;\r\n /**\r\n * @zh_CN 暗黑模式\r\n * @en_US Dark mode\r\n */\r\n @Input() @XInputBoolean() dark: XBoolean = false;\r\n /**\r\n * @zh_CN 初始化默认值事件\r\n * @en_US Initialize default value event\r\n */\r\n @Output() defaultClick = new EventEmitter<XColorsTheme>();\r\n /**\r\n * @zh_CN 暗黑模式改变事件\r\n * @en_US Dark mode change event\r\n */\r\n @Output() darkChange = new EventEmitter<XBoolean>();\r\n}\r\n","import { Component, OnInit, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, Optional, OnDestroy } from '@angular/core';\r\nimport { XThemeProperty } from './theme.property';\r\nimport {\r\n XConfigService,\r\n XThemeService,\r\n XColorsTheme,\r\n XTheme,\r\n X_THEME_COLOR_KEYS,\r\n X_THEME_COLORS,\r\n X_THEME_DARK_COLORS\r\n} from '@ng-nest/ui/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { XControl } from '@ng-nest/ui/form';\r\nimport { debounceTime, takeUntil, map } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { XI18nService, XI18nTheme } from '@ng-nest/ui/i18n';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: 'x-theme',\r\n templateUrl: './theme.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XThemeComponent)]\r\n})\r\nexport class XThemeComponent extends XThemeProperty implements OnInit, OnDestroy {\r\n formGroup = new FormGroup({});\r\n\r\n theme: XTheme = {\r\n colors: {}\r\n };\r\n width = '45rem';\r\n beforeColors: XColorsTheme = {};\r\n currentColors: XColorsTheme = {};\r\n darkBeforeColors: XColorsTheme = {};\r\n controls: XControl[] = [\r\n { control: 'color-picker', id: 'primary', label: '主色', span: 5 },\r\n { control: 'color-picker', id: 'success', label: '成功', span: 5 },\r\n { control: 'color-picker', id: 'warning', label: '警告', span: 5 },\r\n { control: 'color-picker', id: 'danger', label: '危险', span: 5 },\r\n { control: 'color-picker', id: 'info', label: '信息', span: 5 },\r\n { control: 'color-picker', id: 'background', label: '背景', span: 5 },\r\n { control: 'color-picker', id: 'border', label: '边框', span: 5 },\r\n { control: 'color-picker', id: 'text', label: '文字', span: 5 }\r\n ];\r\n\r\n value: XColorsTheme = {};\r\n\r\n themeService: XThemeService;\r\n\r\n locale: XI18nTheme = {};\r\n\r\n private _unSubject = new Subject<void>();\r\n\r\n writeValue(value: XColorsTheme) {\r\n this.value = value;\r\n if (this.value && Object.keys(this.value).length > 0) {\r\n this.theme = { colors: this.themeService.getDefineColors(Object.assign({}, X_THEME_COLORS, this.value), '', this.dark as boolean) };\r\n this.formGroup.patchValue(this.theme.colors as XColorsTheme);\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n constructor(public configService: XConfigService, public i18n: XI18nService, public cdr: ChangeDetectorRef) {\r\n super();\r\n this.themeService = this.configService.themeService;\r\n }\r\n\r\n ngOnInit() {\r\n this.theme = this.configService.getTheme(true);\r\n this.setControls();\r\n this.setDefaultColors();\r\n this.controls.map((x: XControl) => {\r\n x.value = (this.theme.colors as XColorsTheme)[x.id];\r\n });\r\n this.i18n.localeChange\r\n .pipe(\r\n map((x) => x.theme as XI18nTheme),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.locale = x;\r\n this.setControlsLabel();\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.formGroup.valueChanges.pipe(debounceTime(100), takeUntil(this._unSubject)).subscribe((x: XColorsTheme) => {\r\n this.beforeColors = this.currentColors;\r\n let changes = this.getChanges(x);\r\n if (this.isOneAndInColorKeys(changes)) {\r\n let [key, value] = Object.entries(changes)[0];\r\n let colors = !this.dark ? this.themeService.setRoot(key, value, '') : this.themeService.setDarkRoot(key, value, '');\r\n Object.assign(x, colors);\r\n this.currentColors = x;\r\n this.formGroup.patchValue(x);\r\n } else {\r\n this.currentColors = x;\r\n this.value = x;\r\n this.configService.setTheme({ colors: x });\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setControlsLabel() {\r\n Object.keys(this.locale).forEach((x) => {\r\n let control = this.controls.find((y) => y.id === x);\r\n if (control) {\r\n control.label = (this.locale as any)[x];\r\n control.change && control.change();\r\n }\r\n });\r\n }\r\n\r\n setDefaultColors() {\r\n this.beforeColors = this.theme.colors as XColorsTheme;\r\n this.currentColors = this.beforeColors;\r\n this.darkBeforeColors = this.beforeColors;\r\n }\r\n\r\n setControls() {\r\n [...this.controls].forEach((control, index) => {\r\n let addControls: XControl[] = [];\r\n control.span = !this.showDetail ? 6 : 5;\r\n this.width = !this.showDetail ? '36rem' : '45rem';\r\n for (let amount of this.amounts) {\r\n addControls.push({\r\n control: 'color-picker',\r\n id: `${control.id}${this.themeService.getSuffix(amount as number)}`,\r\n label: '',\r\n hidden: !this.showDetail\r\n });\r\n }\r\n this.controls.splice(index * this.amounts.length + index + 1, 0, ...addControls);\r\n });\r\n }\r\n\r\n default() {\r\n this.dark = false;\r\n let colors = this.themeService.getDefineColors(Object.assign({}, X_THEME_COLORS), '', this.dark);\r\n this.beforeColors = colors;\r\n this.currentColors = colors;\r\n this.formGroup.patchValue(colors);\r\n this.defaultClick.emit(colors);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n isOneAndInColorKeys(colors: XColorsTheme) {\r\n const keys = Object.keys(colors);\r\n if (keys.length === 1 && X_THEME_COLOR_KEYS.includes(keys[0])) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getChanges(colors: XColorsTheme) {\r\n let result: XColorsTheme = {};\r\n for (let color in colors) {\r\n if (colors[color] !== this.beforeColors[color]) {\r\n result[color] = colors[color];\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n darkChanges($event: Event) {\r\n let colors = this.darkBeforeColors as XColorsTheme;\r\n if (this.dark) {\r\n this.beforeColors = this.formGroup.value;\r\n this.darkBeforeColors = this.formGroup.value;\r\n colors = this.themeService.getDefineColors(\r\n Object.assign({}, this.themeService.getColorsInProperty(X_THEME_COLORS), X_THEME_DARK_COLORS),\r\n '',\r\n this.dark as boolean\r\n );\r\n }\r\n this.formGroup.patchValue(colors);\r\n this.darkChange.emit(this.dark);\r\n }\r\n}\r\n","<div class=\"x-theme\">\r\n <x-row>\r\n <x-col [style.width.rem]=\"8\" *ngIf=\"showDark\">\r\n <x-switch direction=\"row\" [label]=\"locale?.darkMode\" [(ngModel)]=\"dark\" (ngModelChange)=\"darkChanges($event)\"></x-switch>\r\n </x-col>\r\n <x-col [style.width.rem]=\"8\">\r\n <x-button (click)=\"default()\">{{ locale?.initDefault }}</x-button>\r\n </x-col>\r\n </x-row>\r\n <x-form [formGroup]=\"formGroup\" [controls]=\"controls\" [width]=\"width\" span=\"2\" space=\"1\"></x-form>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XThemeComponent } from './theme.component';\r\nimport { XThemeProperty } from './theme.property';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XFormModule } from '@ng-nest/ui/form';\r\nimport { XSwitchModule } from '@ng-nest/ui/switch';\r\nimport { XLayoutModule } from '@ng-nest/ui/layout';\r\nimport { XI18nModule } from '@ng-nest/ui/i18n';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\n\r\n@NgModule({\r\n declarations: [XThemeComponent, XThemeProperty],\r\n exports: [XThemeComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XSwitchModule,\r\n XButtonModule,\r\n XLayoutModule,\r\n XFormModule,\r\n XI18nModule,\r\n XBaseFormModule\r\n ]\r\n})\r\nexport class XThemeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-theme.js","sources":["../../../../lib/ng-nest/ui/theme/theme.property.ts","../../../../lib/ng-nest/ui/theme/theme.component.ts","../../../../lib/ng-nest/ui/theme/theme.component.html","../../../../lib/ng-nest/ui/theme/theme.module.ts","../../../../lib/ng-nest/ui/theme/ng-nest-ui-theme.ts"],"sourcesContent":["import { XWithConfig, XNumber, XColorsTheme, XInputBoolean, XBoolean } from '@ng-nest/ui/core';\r\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { XControlValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Theme\r\n * @selector x-theme\r\n * @decorator component\r\n */\r\nexport const XThemePrefix = 'x-theme';\r\n\r\nconst X_CONFIG_NAME = 'theme';\r\n\r\nexport const XThemeAmounts = [-0.1, -0.2, -0.3, -0.4, -0.5, -0.6, -0.7, -0.8, -0.9, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9];\r\n\r\n/**\r\n * Theme Property\r\n */\r\n@Component({ template: '' })\r\nexport class XThemeProperty extends XControlValueAccessor<XColorsTheme> {\r\n /**\r\n * @zh_CN 参数前缀\r\n * @en_US Parameter prefix\r\n */\r\n @Input() prefix: string = '--x-';\r\n /**\r\n * @zh_CN 混合的颜色占比\r\n * @en_US Proportion of mixed colors\r\n */\r\n @Input() @XWithConfig<XNumber[]>(X_CONFIG_NAME, XThemeAmounts) amounts!: XNumber[];\r\n /**\r\n * @zh_CN 显示暗黑模式的设置\r\n * @en_US Show dark mode settings\r\n */\r\n @Input() @XInputBoolean() showDark?: XBoolean;\r\n /**\r\n * @zh_CN 详细设置\r\n * @en_US Detailed settings\r\n */\r\n @Input() @XInputBoolean() showDetail?: XBoolean;\r\n /**\r\n * @zh_CN 暗黑模式\r\n * @en_US Dark mode\r\n */\r\n @Input() @XInputBoolean() dark: XBoolean = false;\r\n /**\r\n * @zh_CN 初始化默认值事件\r\n * @en_US Initialize default value event\r\n */\r\n @Output() defaultClick = new EventEmitter<XColorsTheme>();\r\n /**\r\n * @zh_CN 暗黑模式改变事件\r\n * @en_US Dark mode change event\r\n */\r\n @Output() darkChange = new EventEmitter<XBoolean>();\r\n}\r\n","import { Component, OnInit, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\nimport { XThemeProperty } from './theme.property';\r\nimport {\r\n XConfigService,\r\n XThemeService,\r\n XColorsTheme,\r\n XTheme,\r\n X_THEME_COLOR_KEYS,\r\n X_THEME_COLORS,\r\n X_THEME_DARK_COLORS\r\n} from '@ng-nest/ui/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { XControl } from '@ng-nest/ui/form';\r\nimport { debounceTime, takeUntil, map } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { XI18nService, XI18nTheme } from '@ng-nest/ui/i18n';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: 'x-theme',\r\n templateUrl: './theme.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XThemeComponent)]\r\n})\r\nexport class XThemeComponent extends XThemeProperty implements OnInit, OnDestroy {\r\n formGroup = new FormGroup({});\r\n\r\n theme: XTheme = {\r\n colors: {}\r\n };\r\n width = '45rem';\r\n beforeColors: XColorsTheme = {};\r\n currentColors: XColorsTheme = {};\r\n darkBeforeColors: XColorsTheme = {};\r\n controls: XControl[] = [\r\n { control: 'color-picker', id: 'primary', label: '主色', span: 5 },\r\n { control: 'color-picker', id: 'success', label: '成功', span: 5 },\r\n { control: 'color-picker', id: 'warning', label: '警告', span: 5 },\r\n { control: 'color-picker', id: 'danger', label: '危险', span: 5 },\r\n { control: 'color-picker', id: 'info', label: '信息', span: 5 },\r\n { control: 'color-picker', id: 'background', label: '背景', span: 5 },\r\n { control: 'color-picker', id: 'border', label: '边框', span: 5 },\r\n { control: 'color-picker', id: 'text', label: '文字', span: 5 }\r\n ];\r\n\r\n value: XColorsTheme = {};\r\n\r\n themeService: XThemeService;\r\n\r\n locale: XI18nTheme = {};\r\n\r\n private _unSubject = new Subject<void>();\r\n\r\n writeValue(value: XColorsTheme) {\r\n this.value = value;\r\n if (this.value && Object.keys(this.value).length > 0) {\r\n this.theme = { colors: this.themeService.getDefineColors(Object.assign({}, X_THEME_COLORS, this.value), '', this.dark as boolean) };\r\n this.formGroup.patchValue(this.theme.colors as XColorsTheme);\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n constructor(public configService: XConfigService, public i18n: XI18nService, public cdr: ChangeDetectorRef) {\r\n super();\r\n this.themeService = this.configService.themeService;\r\n }\r\n\r\n ngOnInit() {\r\n this.theme = this.configService.getTheme(true);\r\n this.setControls();\r\n this.setDefaultColors();\r\n this.controls.map((x: XControl) => {\r\n x.value = (this.theme.colors as XColorsTheme)[x.id];\r\n });\r\n this.i18n.localeChange\r\n .pipe(\r\n map((x) => x.theme as XI18nTheme),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.locale = x;\r\n this.setControlsLabel();\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.formGroup.valueChanges.pipe(debounceTime(100), takeUntil(this._unSubject)).subscribe((x: XColorsTheme) => {\r\n this.beforeColors = this.currentColors;\r\n let changes = this.getChanges(x);\r\n if (this.isOneAndInColorKeys(changes)) {\r\n let [key, value] = Object.entries(changes)[0];\r\n let colors = !this.dark ? this.themeService.setRoot(key, value, '') : this.themeService.setDarkRoot(key, value, '');\r\n Object.assign(x, colors);\r\n this.currentColors = x;\r\n this.formGroup.patchValue(x);\r\n } else {\r\n this.currentColors = x;\r\n this.value = x;\r\n this.configService.setTheme({ colors: x });\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setControlsLabel() {\r\n Object.keys(this.locale).forEach((x) => {\r\n let control = this.controls.find((y) => y.id === x);\r\n if (control) {\r\n control.label = (this.locale as any)[x];\r\n control.change && control.change();\r\n }\r\n });\r\n }\r\n\r\n setDefaultColors() {\r\n this.beforeColors = this.theme.colors as XColorsTheme;\r\n this.currentColors = this.beforeColors;\r\n this.darkBeforeColors = this.beforeColors;\r\n }\r\n\r\n setControls() {\r\n [...this.controls].forEach((control, index) => {\r\n let addControls: XControl[] = [];\r\n control.span = !this.showDetail ? 6 : 5;\r\n this.width = !this.showDetail ? '36rem' : '45rem';\r\n for (let amount of this.amounts) {\r\n addControls.push({\r\n control: 'color-picker',\r\n id: `${control.id}${this.themeService.getSuffix(amount as number)}`,\r\n label: '',\r\n hidden: !this.showDetail\r\n });\r\n }\r\n this.controls.splice(index * this.amounts.length + index + 1, 0, ...addControls);\r\n });\r\n }\r\n\r\n default() {\r\n this.dark = false;\r\n let colors = this.themeService.getDefineColors(Object.assign({}, X_THEME_COLORS), '', this.dark);\r\n this.beforeColors = colors;\r\n this.currentColors = colors;\r\n this.formGroup.patchValue(colors);\r\n this.defaultClick.emit(colors);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n isOneAndInColorKeys(colors: XColorsTheme) {\r\n const keys = Object.keys(colors);\r\n if (keys.length === 1 && X_THEME_COLOR_KEYS.includes(keys[0])) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getChanges(colors: XColorsTheme) {\r\n let result: XColorsTheme = {};\r\n for (let color in colors) {\r\n if (colors[color] !== this.beforeColors[color]) {\r\n result[color] = colors[color];\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n darkChanges() {\r\n let colors = this.darkBeforeColors as XColorsTheme;\r\n if (this.dark) {\r\n this.beforeColors = this.formGroup.value;\r\n this.darkBeforeColors = this.formGroup.value;\r\n colors = this.themeService.getDefineColors(\r\n Object.assign({}, this.themeService.getColorsInProperty(X_THEME_COLORS), X_THEME_DARK_COLORS),\r\n '',\r\n this.dark as boolean\r\n );\r\n }\r\n this.formGroup.patchValue(colors);\r\n this.darkChange.emit(this.dark);\r\n }\r\n}\r\n","<div class=\"x-theme\">\r\n <x-row>\r\n <x-col [style.width.rem]=\"8\" *ngIf=\"showDark\">\r\n <x-switch direction=\"row\" [label]=\"locale?.darkMode\" [(ngModel)]=\"dark\" (ngModelChange)=\"darkChanges()\"></x-switch>\r\n </x-col>\r\n <x-col [style.width.rem]=\"8\">\r\n <x-button (click)=\"default()\">{{ locale?.initDefault }}</x-button>\r\n </x-col>\r\n </x-row>\r\n <x-form [formGroup]=\"formGroup\" [controls]=\"controls\" [width]=\"width\" span=\"2\" space=\"1\"></x-form>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XThemeComponent } from './theme.component';\r\nimport { XThemeProperty } from './theme.property';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XFormModule } from '@ng-nest/ui/form';\r\nimport { XSwitchModule } from '@ng-nest/ui/switch';\r\nimport { XLayoutModule } from '@ng-nest/ui/layout';\r\nimport { XI18nModule } from '@ng-nest/ui/i18n';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\n\r\n@NgModule({\r\n declarations: [XThemeComponent, XThemeProperty],\r\n exports: [XThemeComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XSwitchModule,\r\n XButtonModule,\r\n XLayoutModule,\r\n XFormModule,\r\n XI18nModule,\r\n XBaseFormModule\r\n ]\r\n})\r\nexport class XThemeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -68,19 +68,19 @@ class XTimeAgoPipe {
68
68
  return result;
69
69
  }
70
70
  }
71
- /** @nocollapse */ XTimeAgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimeAgoPipe, deps: [{ token: i1.DatePipe }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Pipe });
72
- /** @nocollapse */ XTimeAgoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimeAgoPipe, name: "xTimeAgo", pure: false });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimeAgoPipe, decorators: [{
71
+ /** @nocollapse */ XTimeAgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimeAgoPipe, deps: [{ token: i1.DatePipe }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Pipe });
72
+ /** @nocollapse */ XTimeAgoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimeAgoPipe, name: "xTimeAgo", pure: false });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimeAgoPipe, decorators: [{
74
74
  type: Pipe,
75
75
  args: [{ name: `${XTimeAgoPrefix}`, pure: false }]
76
76
  }], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i2.XI18nService }]; } });
77
77
 
78
78
  class XTimeAgoModule {
79
79
  }
80
- /** @nocollapse */ XTimeAgoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimeAgoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
81
- /** @nocollapse */ XTimeAgoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimeAgoModule, declarations: [XTimeAgoPipe], exports: [XTimeAgoPipe] });
82
- /** @nocollapse */ XTimeAgoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimeAgoModule, providers: [DatePipe] });
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimeAgoModule, decorators: [{
80
+ /** @nocollapse */ XTimeAgoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimeAgoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
81
+ /** @nocollapse */ XTimeAgoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimeAgoModule, declarations: [XTimeAgoPipe], exports: [XTimeAgoPipe] });
82
+ /** @nocollapse */ XTimeAgoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimeAgoModule, providers: [DatePipe] });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimeAgoModule, decorators: [{
84
84
  type: NgModule,
85
85
  args: [{
86
86
  declarations: [XTimeAgoPipe],
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, Component, Input, Output, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, HostBinding, HostListener, NgModule } from '@angular/core';
3
3
  import { __decorate } from 'tslib';
4
- import { XWithConfig, XIsChange, XIsEmpty, reqAnimFrame, XConnectBaseAnimation, XIsDate, XIsNumber, XClearClass } from '@ng-nest/ui/core';
4
+ import { XWithConfig, XInputBoolean, XIsChange, XIsEmpty, reqAnimFrame, XConnectBaseAnimation, XIsDate, XIsNumber, XIsString, XClearClass } from '@ng-nest/ui/core';
5
5
  import { XControlValueAccessor, XValueAccessor, XBaseFormModule } from '@ng-nest/ui/base-form';
6
6
  import { Subject } from 'rxjs';
7
7
  import { takeUntil } from 'rxjs/operators';
@@ -44,15 +44,22 @@ class XTimePickerProperty extends XControlValueAccessor {
44
44
  this.nodeEmit = new EventEmitter();
45
45
  }
46
46
  }
47
- /** @nocollapse */ XTimePickerProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimePickerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
48
- /** @nocollapse */ XTimePickerProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XTimePickerProperty, selector: "ng-component", inputs: { type: "type", format: "format", placement: "placement" }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
47
+ /** @nocollapse */ XTimePickerProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimePickerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
48
+ /** @nocollapse */ XTimePickerProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XTimePickerProperty, selector: "ng-component", inputs: { type: "type", format: "format", placement: "placement", size: "size", bordered: "bordered" }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
49
49
  __decorate([
50
50
  XWithConfig(X_CONFIG_NAME, 'HH:mm:ss')
51
51
  ], XTimePickerProperty.prototype, "format", void 0);
52
52
  __decorate([
53
53
  XWithConfig(X_CONFIG_NAME, 'bottom-start')
54
54
  ], XTimePickerProperty.prototype, "placement", void 0);
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimePickerProperty, decorators: [{
55
+ __decorate([
56
+ XWithConfig(X_CONFIG_NAME, 'medium')
57
+ ], XTimePickerProperty.prototype, "size", void 0);
58
+ __decorate([
59
+ XInputBoolean(),
60
+ XWithConfig(X_CONFIG_NAME, true)
61
+ ], XTimePickerProperty.prototype, "bordered", void 0);
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimePickerProperty, decorators: [{
56
63
  type: Component,
57
64
  args: [{ template: '' }]
58
65
  }], propDecorators: { type: [{
@@ -61,6 +68,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
61
68
  type: Input
62
69
  }], placement: [{
63
70
  type: Input
71
+ }], size: [{
72
+ type: Input
73
+ }], bordered: [{
74
+ type: Input
64
75
  }], nodeEmit: [{
65
76
  type: Output
66
77
  }] } });
@@ -86,6 +97,7 @@ class XTimePickerFrameComponent {
86
97
  this.hour = 0;
87
98
  this.minute = 0;
88
99
  this.second = 0;
100
+ this.scrollAnimating = {};
89
101
  this.hourDate = Array.from({ length: 24 }).map((_, i) => {
90
102
  return {
91
103
  label: this.prefixZero(i, 2),
@@ -106,24 +118,28 @@ class XTimePickerFrameComponent {
106
118
  });
107
119
  }
108
120
  ngOnChanges(changes) {
109
- if (XIsChange(changes.value)) {
121
+ const { value } = changes;
122
+ if (XIsChange(value)) {
110
123
  this.init();
111
124
  this.setScrollTop();
112
125
  }
113
126
  }
127
+ ngOnInit() {
128
+ this.init();
129
+ }
114
130
  init() {
115
131
  if (!XIsEmpty(this.value)) {
116
132
  this.setDefault();
117
133
  }
118
134
  else {
119
- this.model = new Date(0, 0, 0, this.now.getHours(), this.now.getMinutes(), this.now.getSeconds());
135
+ const def = new Date('1970-01-01');
136
+ this.model = new Date(def.getFullYear(), def.getMonth(), def.getDate(), this.now.getHours(), this.now.getMinutes(), this.now.getSeconds());
120
137
  }
121
138
  this.setTime(this.model);
122
139
  this.cdr.detectChanges();
123
140
  }
124
141
  setDefault() {
125
- const date = new Date(this.value);
126
- this.model = new Date(0, 0, 0, date.getHours(), date.getMinutes(), date.getSeconds());
142
+ this.model = new Date(this.value);
127
143
  }
128
144
  setTime(date) {
129
145
  this.hour = date.getHours();
@@ -139,7 +155,9 @@ class XTimePickerFrameComponent {
139
155
  this.selected(this.secondRef.nativeElement, this.second);
140
156
  }
141
157
  selected(ele, num) {
142
- let current = ele.querySelector(`ul li:nth-child(${num + 1})`);
158
+ if (this.scrollAnimating[ele.className])
159
+ return;
160
+ let current = ele.querySelector(`.x-list x-list-option:nth-child(${num + 1})`);
143
161
  if (current) {
144
162
  ele.scrollTop = current.offsetTop;
145
163
  }
@@ -148,32 +166,35 @@ class XTimePickerFrameComponent {
148
166
  var _a;
149
167
  this.hour = date.id;
150
168
  this.model.setHours(this.hour);
169
+ this.scrollTo(this.hourRef.nativeElement, ((_a = date.event) === null || _a === void 0 ? void 0 : _a.srcElement).offsetTop, 120);
151
170
  this.nodeEmit.emit(this.model);
152
171
  this.cdr.detectChanges();
153
- this.scrollTo(this.hourRef.nativeElement, ((_a = date.event) === null || _a === void 0 ? void 0 : _a.srcElement).offsetTop, 120);
154
172
  }
155
173
  minuteClick(date) {
156
174
  var _a;
157
175
  this.minute = date.id;
158
176
  this.model.setMinutes(this.minute);
177
+ this.scrollTo(this.minuteRef.nativeElement, ((_a = date.event) === null || _a === void 0 ? void 0 : _a.srcElement).offsetTop, 120);
159
178
  this.nodeEmit.emit(this.model);
160
179
  this.cdr.detectChanges();
161
- this.scrollTo(this.minuteRef.nativeElement, ((_a = date.event) === null || _a === void 0 ? void 0 : _a.srcElement).offsetTop, 120);
162
180
  }
163
181
  secondClick(date) {
164
182
  var _a;
165
183
  this.second = date.id;
166
184
  this.model.setSeconds(this.second);
185
+ this.scrollTo(this.secondRef.nativeElement, ((_a = date.event) === null || _a === void 0 ? void 0 : _a.srcElement).offsetTop, 120);
167
186
  this.nodeEmit.emit(this.model);
168
187
  this.cdr.detectChanges();
169
- this.scrollTo(this.secondRef.nativeElement, ((_a = date.event) === null || _a === void 0 ? void 0 : _a.srcElement).offsetTop, 120);
170
188
  }
171
189
  scrollTo(element, to, duration) {
190
+ const clsName = element.className;
172
191
  const difference = to - element.scrollTop;
173
192
  const perTick = (difference / duration) * 10;
193
+ this.scrollAnimating[clsName] = true;
174
194
  reqAnimFrame(() => {
175
195
  element.scrollTop = element.scrollTop + perTick;
176
196
  if (element.scrollTop === to || duration <= 0) {
197
+ this.scrollAnimating[clsName] = false;
177
198
  return;
178
199
  }
179
200
  else {
@@ -182,9 +203,9 @@ class XTimePickerFrameComponent {
182
203
  });
183
204
  }
184
205
  }
185
- /** @nocollapse */ XTimePickerFrameComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimePickerFrameComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
186
- /** @nocollapse */ XTimePickerFrameComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: { type: "type", value: "value" }, outputs: { nodeEmit: "nodeEmit" }, viewQueries: [{ propertyName: "hourRef", first: true, predicate: ["hourRef"], descendants: true }, { propertyName: "minuteRef", first: true, predicate: ["minuteRef"], descendants: true }, { propertyName: "secondRef", first: true, predicate: ["secondRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"x-time-picker-frame\">\r\n <div class=\"x-time-picker-frame-hour\" #hourRef>\r\n <x-list [data]=\"hourDate\" [(ngModel)]=\"hour\" (nodeClick)=\"hourClick($event)\"></x-list>\r\n </div>\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef [hidden]=\"type === 'hour'\">\r\n <x-list [data]=\"minuteDate\" [(ngModel)]=\"minute\" (nodeClick)=\"minuteClick($event)\"></x-list>\r\n </div>\r\n <div class=\"x-time-picker-frame-second\" #secondRef [hidden]=\"type !== 'time'\">\r\n <x-list [data]=\"secondDate\" [(ngModel)]=\"second\" (nodeClick)=\"secondClick($event)\"></x-list>\r\n </div>\r\n</div>\r\n", styles: [".x-time-picker-frame{padding:0;margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);font-size:var(--x-font-size-small);display:block;height:100%}.x-time-picker-frame>div:not(:first-child){border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-time-picker-frame-hour,.x-time-picker-frame-minute,.x-time-picker-frame-second{position:relative;float:left;overflow:hidden;width:3.625rem;max-height:15rem;padding-bottom:13.125rem}.x-time-picker-frame-hour:hover,.x-time-picker-frame-minute:hover,.x-time-picker-frame-second:hover{overflow-y:auto}.x-time-picker-frame-hour>x-list>.x-list,.x-time-picker-frame-minute>x-list>.x-list,.x-time-picker-frame-second>x-list>.x-list{width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option{min-width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option{padding-left:.6rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option:not(:first-child){margin-top:0}"], components: [{ type: i1.XListComponent, selector: "x-list" }], directives: [{ type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimePickerFrameComponent, decorators: [{
206
+ /** @nocollapse */ XTimePickerFrameComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimePickerFrameComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
207
+ /** @nocollapse */ XTimePickerFrameComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: { type: "type", value: "value" }, outputs: { nodeEmit: "nodeEmit" }, viewQueries: [{ propertyName: "hourRef", first: true, predicate: ["hourRef"], descendants: true }, { propertyName: "minuteRef", first: true, predicate: ["minuteRef"], descendants: true }, { propertyName: "secondRef", first: true, predicate: ["secondRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"x-time-picker-frame\">\r\n <div class=\"x-time-picker-frame-hour\" #hourRef>\r\n <x-list [data]=\"hourDate\" [(ngModel)]=\"hour\" (nodeClick)=\"hourClick($event)\"></x-list>\r\n </div>\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef [hidden]=\"type === 'hour'\">\r\n <x-list [data]=\"minuteDate\" [(ngModel)]=\"minute\" (nodeClick)=\"minuteClick($event)\"></x-list>\r\n </div>\r\n <div class=\"x-time-picker-frame-second\" #secondRef [hidden]=\"type !== 'time'\">\r\n <x-list [data]=\"secondDate\" [(ngModel)]=\"second\" (nodeClick)=\"secondClick($event)\"></x-list>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-frame{padding:0;margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);font-size:var(--x-font-size-small);display:block;height:100%}.x-time-picker-frame>div:not(:first-child){border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-time-picker-frame-hour,.x-time-picker-frame-minute,.x-time-picker-frame-second{position:relative;float:left;overflow:hidden;width:3.625rem;max-height:15rem;padding-bottom:13.125rem}.x-time-picker-frame-hour:hover,.x-time-picker-frame-minute:hover,.x-time-picker-frame-second:hover{overflow-y:auto}.x-time-picker-frame-hour>x-list>.x-list,.x-time-picker-frame-minute>x-list>.x-list,.x-time-picker-frame-second>x-list>.x-list{width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option{min-width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option{padding-left:.6rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option:not(:first-child){margin-top:0}\n"], components: [{ type: i1.XListComponent, selector: "x-list" }], directives: [{ type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimePickerFrameComponent, decorators: [{
188
209
  type: Component,
189
210
  args: [{
190
211
  selector: `${XTimePickerFramePrefix}`,
@@ -221,7 +242,7 @@ class XTimePickerPortalComponent {
221
242
  this.animating(false);
222
243
  event.toState === 'void' && this.destroyPortal();
223
244
  }
224
- start(event) {
245
+ start() {
225
246
  this.animating(true);
226
247
  }
227
248
  ngOnInit() {
@@ -241,9 +262,9 @@ class XTimePickerPortalComponent {
241
262
  event.stopPropagation();
242
263
  }
243
264
  }
244
- /** @nocollapse */ XTimePickerPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimePickerPortalComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
245
- /** @nocollapse */ XTimePickerPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XTimePickerPortalComponent, selector: "x-time-picker-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, ngImport: i0, template: "<div class=\"x-time-picker-portal\" (click)=\"stopPropagation($event)\">\r\n <x-time-picker-frame [type]=\"type\" [value]=\"value\" (nodeEmit)=\"nodeEmit($event)\"></x-time-picker-frame>\r\n</div>\r\n", styles: [".x-time-picker-portal{display:block;height:100%}"], components: [{ type: XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value"], outputs: ["nodeEmit"] }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimePickerPortalComponent, decorators: [{
265
+ /** @nocollapse */ XTimePickerPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimePickerPortalComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
266
+ /** @nocollapse */ XTimePickerPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XTimePickerPortalComponent, selector: "x-time-picker-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, ngImport: i0, template: "<div class=\"x-time-picker-portal\" (click)=\"inputCom.inputFocus(); stopPropagation($event)\">\r\n <x-time-picker-frame [type]=\"type\" [value]=\"value\" (nodeEmit)=\"nodeEmit($event)\"></x-time-picker-frame>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-portal{display:block;height:100%}\n"], components: [{ type: XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value"], outputs: ["nodeEmit"] }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimePickerPortalComponent, decorators: [{
247
268
  type: Component,
248
269
  args: [{
249
270
  selector: `${XTimePickerPortalPrefix}`,
@@ -286,16 +307,26 @@ class XTimePickerComponent extends XTimePickerProperty {
286
307
  this.dataChange = new Subject();
287
308
  this.positionChange = new Subject();
288
309
  this.closeSubject = new Subject();
310
+ this.valueType = 'date';
289
311
  this._unSubject = new Subject();
290
312
  }
291
313
  writeValue(value) {
292
- if (XIsDate(value))
314
+ if (XIsDate(value)) {
293
315
  this.value = value.getTime();
294
- else if (XIsNumber(value))
316
+ this.valueType = 'date';
317
+ }
318
+ else if (XIsNumber(value)) {
295
319
  this.value = value;
296
- else if (XIsEmpty(value))
320
+ this.valueType = 'number';
321
+ }
322
+ else if (XIsString(value)) {
323
+ this.value = new Date(value).getTime();
324
+ this.valueType = 'string';
325
+ }
326
+ else if (XIsEmpty(value)) {
297
327
  this.value = '';
298
- this.setDisplayValue();
328
+ }
329
+ this.setDisplayValue(this.value);
299
330
  this.valueChange.next(this.value);
300
331
  this.cdr.detectChanges();
301
332
  }
@@ -327,7 +358,7 @@ class XTimePickerComponent extends XTimePickerProperty {
327
358
  }
328
359
  }
329
360
  setSubject() {
330
- this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe((x) => {
361
+ this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {
331
362
  this.closePortal();
332
363
  });
333
364
  }
@@ -367,6 +398,7 @@ class XTimePickerComponent extends XTimePickerProperty {
367
398
  var _a, _b;
368
399
  if (this.portalAttached()) {
369
400
  (_b = (_a = this.portal) === null || _a === void 0 ? void 0 : _a.overlayRef) === null || _b === void 0 ? void 0 : _b.detach();
401
+ this.active = false;
370
402
  this.cdr.detectChanges();
371
403
  return true;
372
404
  }
@@ -380,6 +412,7 @@ class XTimePickerComponent extends XTimePickerProperty {
380
412
  var _a;
381
413
  if (this.disabled || this.animating)
382
414
  return;
415
+ this.active = true;
383
416
  const config = {
384
417
  backdropClass: '',
385
418
  positionStrategy: this.setPlacement(),
@@ -414,6 +447,7 @@ class XTimePickerComponent extends XTimePickerProperty {
414
447
  placement: this.placement,
415
448
  valueChange: this.valueChange,
416
449
  positionChange: this.positionChange,
450
+ inputCom: this.inputCom,
417
451
  closePortal: () => this.closeSubject.next(),
418
452
  destroyPortal: () => this.destroyPortal(),
419
453
  nodeEmit: (node) => this.onNodeClick(node),
@@ -422,19 +456,22 @@ class XTimePickerComponent extends XTimePickerProperty {
422
456
  componentRef.changeDetectorRef.detectChanges();
423
457
  }
424
458
  onNodeClick(date) {
425
- this.value = date.getTime();
426
- this.setDisplayValue();
459
+ this.value = this.setValue(date);
460
+ this.setDisplayValue(date);
427
461
  this.cdr.detectChanges();
428
462
  if (this.onChange)
429
463
  this.onChange(this.value);
430
464
  this.nodeEmit.emit(this.value);
431
465
  }
432
- setDisplayValue() {
433
- this.displayValue = this.datePipe.transform(this.value, this.format);
466
+ setValue(value) {
467
+ return ['date', 'string'].includes(this.valueType) ? new Date(value) : value.getTime();
468
+ }
469
+ setDisplayValue(date) {
470
+ this.displayValue = this.datePipe.transform(date, this.format);
434
471
  }
435
472
  setPlacement() {
436
473
  return this.portalService.setPlacement({
437
- elementRef: this.inputCom.inputElement,
474
+ elementRef: this.inputCom.inputRef,
438
475
  placement: [this.placement, 'bottom-start', 'bottom-end', 'top-start', 'top-end'],
439
476
  transformOriginOn: 'x-time-picker-portal'
440
477
  });
@@ -450,9 +487,9 @@ class XTimePickerComponent extends XTimePickerProperty {
450
487
  this.cdr.detectChanges();
451
488
  }
452
489
  }
453
- /** @nocollapse */ XTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimePickerComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.XPortalService }, { token: i0.ViewContainerRef }, { token: i2.DatePipe }, { token: i3.Overlay }], target: i0.ɵɵFactoryTarget.Component });
454
- /** @nocollapse */ XTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XTimePickerComponent, selector: "x-time-picker", providers: [XValueAccessor(XTimePickerComponent), DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true, static: true }, { propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #datePicker\r\n class=\"x-time-picker\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-time-picker-row\" (click)=\"showPortal()\" (mouseenter)=\"menter()\" (mouseleave)=\"mleave()\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (clearEmit)=\"clearEmit()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["x-time-picker{display:inline-block}.x-time-picker{margin:0;padding:0;width:100%}.x-time-picker.x-flex{display:flex}.x-time-picker.x-justify-start{justify-content:flex-start}.x-time-picker.x-justify-center{justify-content:center}.x-time-picker.x-justify-end{justify-content:flex-end}.x-time-picker.x-justify-space-between{justify-content:space-between}.x-time-picker.x-justify-space-around{justify-content:space-around}.x-time-picker.x-align-start{align-items:flex-start}.x-time-picker.x-align-center{align-items:center}.x-time-picker.x-align-end{align-items:flex-end}.x-time-picker.x-direction-column{flex-direction:column}.x-time-picker.x-direction-column-reverse{flex-direction:column-reverse}.x-time-picker.x-direction-row{flex-direction:row}.x-time-picker.x-direction-row-reverse{flex-direction:row-reverse}.x-time-picker>label{display:inline-block;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-time-picker>label.x-text-align-start{text-align:start}.x-time-picker>label.x-text-align-center{text-align:center}.x-time-picker>label.x-text-align-end{text-align:end}.x-time-picker>.x-time-picker-row{flex:1;display:flex;align-items:center;position:relative}.x-time-picker>.x-time-picker-row>x-input{flex:1}.x-time-picker>.x-time-picker-row>x-input>.x-input>.x-input-row>input{cursor:pointer}.x-time-picker.x-invalid>label,.x-time-picker.x-required>label{color:var(--x-danger)}.x-time-picker.x-disabled>.x-time-picker-row>x-input>.x-input>.x-input-row>input{cursor:not-allowed}.x-time-picker.x-flex.x-direction-row>label{padding:0 .5rem 0 0}.x-time-picker.x-flex.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-time-picker.x-flex.x-direction-column,.x-time-picker.x-flex.x-direction-column-reverse{align-items:inherit}"], components: [{ type: i4.XInputComponent, selector: "x-input" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
455
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimePickerComponent, decorators: [{
490
+ /** @nocollapse */ XTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimePickerComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.XPortalService }, { token: i0.ViewContainerRef }, { token: i2.DatePipe }, { token: i3.Overlay }], target: i0.ɵɵFactoryTarget.Component });
491
+ /** @nocollapse */ XTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XTimePickerComponent, selector: "x-time-picker", providers: [XValueAccessor(XTimePickerComponent), DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true, static: true }, { propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #datePicker class=\"x-time-picker\">\r\n <div class=\"x-time-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-time-picker{display:inline-block}.x-time-picker{margin:0;padding:0;width:100%}.x-time-picker x-input{width:100%}\n"], components: [{ type: i4.XInputComponent, selector: "x-input" }], directives: [{ type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
492
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimePickerComponent, decorators: [{
456
493
  type: Component,
457
494
  args: [{
458
495
  selector: `${XTimePickerPrefix}`,
@@ -472,8 +509,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
472
509
 
473
510
  class XTimePickerModule {
474
511
  }
475
- /** @nocollapse */ XTimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
476
- /** @nocollapse */ XTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimePickerModule, declarations: [XTimePickerComponent, XTimePickerPortalComponent, XTimePickerFrameComponent, XTimePickerProperty], imports: [CommonModule,
512
+ /** @nocollapse */ XTimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
513
+ /** @nocollapse */ XTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimePickerModule, declarations: [XTimePickerComponent, XTimePickerPortalComponent, XTimePickerFrameComponent, XTimePickerProperty], imports: [CommonModule,
477
514
  FormsModule,
478
515
  ReactiveFormsModule,
479
516
  XPortalModule,
@@ -482,7 +519,7 @@ class XTimePickerModule {
482
519
  XButtonModule,
483
520
  XIconModule,
484
521
  XBaseFormModule], exports: [XTimePickerComponent, XTimePickerPortalComponent, XTimePickerFrameComponent] });
485
- /** @nocollapse */ XTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimePickerModule, imports: [[
522
+ /** @nocollapse */ XTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimePickerModule, imports: [[
486
523
  CommonModule,
487
524
  FormsModule,
488
525
  ReactiveFormsModule,
@@ -493,7 +530,7 @@ class XTimePickerModule {
493
530
  XIconModule,
494
531
  XBaseFormModule
495
532
  ]] });
496
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XTimePickerModule, decorators: [{
533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XTimePickerModule, decorators: [{
497
534
  type: NgModule,
498
535
  args: [{
499
536
  declarations: [XTimePickerComponent, XTimePickerPortalComponent, XTimePickerFrameComponent, XTimePickerProperty],