@ng-nest/ui 18.0.11 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (883) hide show
  1. package/README.md +1 -1
  2. package/affix/affix.property.d.ts +1 -1
  3. package/alert/alert.property.d.ts +1 -1
  4. package/anchor/anchor.property.d.ts +2 -2
  5. package/auto-complete/auto-complete.property.d.ts +16 -19
  6. package/avatar/avatar.property.d.ts +2 -2
  7. package/back-top/back-top.property.d.ts +1 -1
  8. package/badge/badge.property.d.ts +1 -1
  9. package/base-form/base-form.property.d.ts +2 -2
  10. package/button/button.property.d.ts +2 -2
  11. package/calendar/calendar.property.d.ts +1 -1
  12. package/card/card.property.d.ts +1 -1
  13. package/carousel/carousel.property.d.ts +2 -2
  14. package/cascade/cascade.property.d.ts +16 -27
  15. package/checkbox/checkbox.property.d.ts +16 -22
  16. package/collapse/collapse.property.d.ts +2 -2
  17. package/color/color.property.d.ts +1 -1
  18. package/color-picker/color-picker-portal.component.d.ts +10 -10
  19. package/color-picker/color-picker.property.d.ts +15 -15
  20. package/comment/comment.property.d.ts +2 -2
  21. package/container/container.property.d.ts +4 -4
  22. package/crumb/crumb.property.d.ts +1 -1
  23. package/date-picker/date-picker-portal.component.d.ts +1 -1
  24. package/date-picker/date-picker.property.d.ts +34 -34
  25. package/date-picker/date-range-portal.component.d.ts +5 -5
  26. package/description/description.property.d.ts +2 -2
  27. package/dialog/dialog-portal.component.d.ts +0 -2
  28. package/dialog/dialog-portal.directives.d.ts +2 -3
  29. package/dialog/dialog-ref.d.ts +4 -2
  30. package/dialog/dialog.component.d.ts +0 -5
  31. package/dialog/dialog.property.d.ts +14 -10
  32. package/drag/drag.property.d.ts +1 -1
  33. package/drawer/drawer.property.d.ts +2 -2
  34. package/dropdown/dropdown.property.d.ts +1 -1
  35. package/empty/empty.property.d.ts +1 -1
  36. package/fesm2022/ng-nest-ui-affix.mjs +14 -12
  37. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  38. package/fesm2022/ng-nest-ui-alert.mjs +14 -12
  39. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-anchor.mjs +23 -20
  41. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-api.mjs +8 -8
  43. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  44. package/fesm2022/ng-nest-ui-auto-complete.mjs +16 -16
  45. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  46. package/fesm2022/ng-nest-ui-avatar.mjs +18 -18
  47. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  48. package/fesm2022/ng-nest-ui-back-top.mjs +13 -12
  49. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  50. package/fesm2022/ng-nest-ui-badge.mjs +11 -11
  51. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  52. package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
  53. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  54. package/fesm2022/ng-nest-ui-button.mjs +18 -18
  55. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  56. package/fesm2022/ng-nest-ui-calendar.mjs +14 -15
  57. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  58. package/fesm2022/ng-nest-ui-card.mjs +11 -12
  59. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  60. package/fesm2022/ng-nest-ui-carousel.mjs +20 -19
  61. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  62. package/fesm2022/ng-nest-ui-cascade.mjs +16 -16
  63. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  64. package/fesm2022/ng-nest-ui-checkbox.mjs +12 -12
  65. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  66. package/fesm2022/ng-nest-ui-collapse.mjs +18 -18
  67. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  68. package/fesm2022/ng-nest-ui-color-picker.mjs +15 -15
  69. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  70. package/fesm2022/ng-nest-ui-color.mjs +11 -11
  71. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  72. package/fesm2022/ng-nest-ui-comment.mjs +18 -18
  73. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  74. package/fesm2022/ng-nest-ui-container.mjs +36 -36
  75. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  76. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  77. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  78. package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
  79. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  80. package/fesm2022/ng-nest-ui-date-picker.mjs +57 -57
  81. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  82. package/fesm2022/ng-nest-ui-description.mjs +18 -18
  83. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  84. package/fesm2022/ng-nest-ui-dialog.mjs +70 -144
  85. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  86. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  87. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  88. package/fesm2022/ng-nest-ui-drag.mjs +11 -11
  89. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  90. package/fesm2022/ng-nest-ui-drawer.mjs +38 -41
  91. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  92. package/fesm2022/ng-nest-ui-dropdown.mjs +15 -16
  93. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  94. package/fesm2022/ng-nest-ui-empty.mjs +11 -11
  95. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  96. package/fesm2022/ng-nest-ui-examples.mjs +8 -8
  97. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  98. package/fesm2022/ng-nest-ui-find.mjs +11 -11
  99. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  100. package/fesm2022/ng-nest-ui-form.mjs +21 -40
  101. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  102. package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
  103. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  104. package/fesm2022/ng-nest-ui-i18n.mjs +15 -17
  105. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  106. package/fesm2022/ng-nest-ui-icon.mjs +14 -14
  107. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  108. package/fesm2022/ng-nest-ui-image.mjs +24 -24
  109. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  110. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  111. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  112. package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
  113. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  114. package/fesm2022/ng-nest-ui-input.mjs +19 -19
  115. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  116. package/fesm2022/ng-nest-ui-keyword.mjs +12 -13
  117. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  118. package/fesm2022/ng-nest-ui-layout.mjs +18 -18
  119. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  120. package/fesm2022/ng-nest-ui-link.mjs +11 -11
  121. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  122. package/fesm2022/ng-nest-ui-list.mjs +22 -23
  123. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  124. package/fesm2022/ng-nest-ui-loading.mjs +12 -12
  125. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  126. package/fesm2022/ng-nest-ui-menu.mjs +19 -20
  127. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  128. package/fesm2022/ng-nest-ui-message-box.mjs +11 -13
  129. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  130. package/fesm2022/ng-nest-ui-message.mjs +11 -11
  131. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  132. package/fesm2022/ng-nest-ui-notification.mjs +11 -11
  133. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  134. package/fesm2022/ng-nest-ui-outlet.mjs +8 -8
  135. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  136. package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
  137. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  138. package/fesm2022/ng-nest-ui-pagination.mjs +11 -11
  139. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  140. package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
  141. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  142. package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
  143. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  144. package/fesm2022/ng-nest-ui-popover.mjs +15 -15
  145. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  146. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  147. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  148. package/fesm2022/ng-nest-ui-progress.mjs +11 -11
  149. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  150. package/fesm2022/ng-nest-ui-radio.mjs +11 -11
  151. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  152. package/fesm2022/ng-nest-ui-rate.mjs +11 -12
  153. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  154. package/fesm2022/ng-nest-ui-resizable.mjs +16 -14
  155. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  156. package/fesm2022/ng-nest-ui-result.mjs +11 -11
  157. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  158. package/fesm2022/ng-nest-ui-ripple.mjs +37 -27
  159. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  160. package/fesm2022/ng-nest-ui-select.mjs +32 -17
  161. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  162. package/fesm2022/ng-nest-ui-skeleton.mjs +13 -11
  163. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  164. package/fesm2022/ng-nest-ui-slider-select.mjs +15 -21
  165. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  166. package/fesm2022/ng-nest-ui-slider.mjs +11 -11
  167. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  168. package/fesm2022/ng-nest-ui-statistic.mjs +18 -18
  169. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  170. package/fesm2022/ng-nest-ui-steps.mjs +11 -11
  171. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  172. package/fesm2022/ng-nest-ui-switch.mjs +11 -11
  173. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  174. package/fesm2022/ng-nest-ui-table.mjs +33 -33
  175. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  176. package/fesm2022/ng-nest-ui-tabs.mjs +30 -32
  177. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  178. package/fesm2022/ng-nest-ui-tag.mjs +11 -11
  179. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  180. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  181. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  182. package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
  183. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  184. package/fesm2022/ng-nest-ui-theme.mjs +13 -14
  185. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  186. package/fesm2022/ng-nest-ui-time-ago.mjs +8 -8
  187. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  188. package/fesm2022/ng-nest-ui-time-picker.mjs +19 -19
  189. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  190. package/fesm2022/ng-nest-ui-time-range.mjs +8 -8
  191. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  192. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  193. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  194. package/fesm2022/ng-nest-ui-tooltip.mjs +15 -15
  195. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  196. package/fesm2022/ng-nest-ui-transfer.mjs +12 -13
  197. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  198. package/fesm2022/ng-nest-ui-tree-file.mjs +12 -20
  199. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  200. package/fesm2022/ng-nest-ui-tree-select.mjs +15 -15
  201. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  202. package/fesm2022/ng-nest-ui-tree.mjs +21 -21
  203. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  204. package/fesm2022/ng-nest-ui-typography.mjs +11 -11
  205. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  206. package/fesm2022/ng-nest-ui-upload.mjs +15 -15
  207. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  208. package/find/find.property.d.ts +12 -18
  209. package/form/form.property.d.ts +10 -21
  210. package/highlight/highlight.property.d.ts +1 -1
  211. package/icon/icon.property.d.ts +1 -1
  212. package/image/image.property.d.ts +2 -2
  213. package/inner/inner.property.d.ts +1 -1
  214. package/input/input.property.d.ts +17 -20
  215. package/input-number/input-number.property.d.ts +13 -13
  216. package/layout/layout.property.d.ts +2 -2
  217. package/link/link.property.d.ts +1 -1
  218. package/list/list.property.d.ts +12 -12
  219. package/loading/loading.property.d.ts +1 -1
  220. package/menu/menu.property.d.ts +2 -2
  221. package/package.json +108 -282
  222. package/page-header/page-header.property.d.ts +1 -1
  223. package/pagination/pagination.property.d.ts +1 -1
  224. package/popconfirm/popconfirm.property.d.ts +1 -1
  225. package/popover/popover.property.d.ts +1 -1
  226. package/progress/progress.property.d.ts +1 -1
  227. package/radio/radio.property.d.ts +13 -16
  228. package/rate/rate.property.d.ts +14 -22
  229. package/result/result.property.d.ts +1 -1
  230. package/ripple/ripple.directive.d.ts +7 -3
  231. package/ripple/ripple.property.d.ts +1 -1
  232. package/select/select-portal.component.d.ts +3 -2
  233. package/select/select.component.d.ts +1 -0
  234. package/select/select.property.d.ts +20 -15
  235. package/skeleton/skeleton.property.d.ts +1 -1
  236. package/slider/slider.property.d.ts +1 -1
  237. package/slider-select/slider-select.property.d.ts +13 -17
  238. package/statistic/statistic.property.d.ts +2 -2
  239. package/steps/steps.property.d.ts +1 -1
  240. package/style/core/index.css +87 -174
  241. package/style/core/index.css.map +1 -1
  242. package/style/core/index.scss +32 -5
  243. package/style/directives/index.scss +3 -3
  244. package/style/directives/keyword/index.scss +3 -2
  245. package/style/directives/keyword/mixin.scss +9 -11
  246. package/style/directives/keyword/param.scss +2 -1
  247. package/style/directives/resizable/index.scss +3 -2
  248. package/style/directives/resizable/mixin.scss +122 -16
  249. package/style/directives/resizable/param.scss +2 -1
  250. package/style/directives/ripple/index.scss +3 -2
  251. package/style/directives/ripple/mixin.scss +12 -12
  252. package/style/directives/ripple/param.scss +2 -1
  253. package/style/mixins/compatibility.scss +7 -5
  254. package/style/mixins/form.scss +6 -4
  255. package/style/mixins/hidden.scss +5 -2
  256. package/style/params/index.scss +282 -3
  257. package/switch/switch.property.d.ts +14 -14
  258. package/table/table.property.d.ts +4 -4
  259. package/tabs/tabs.property.d.ts +2 -2
  260. package/tag/tag.property.d.ts +1 -1
  261. package/text-retract/text-retract.property.d.ts +1 -1
  262. package/textarea/textarea.property.d.ts +14 -17
  263. package/theme/theme.property.d.ts +6 -10
  264. package/time-picker/time-picker.property.d.ts +17 -23
  265. package/timeline/timeline.property.d.ts +1 -1
  266. package/tooltip/tooltip.property.d.ts +1 -1
  267. package/transfer/transfer.property.d.ts +9 -13
  268. package/tree/tree.property.d.ts +2 -2
  269. package/tree-file/tree-file.property.d.ts +1 -1
  270. package/tree-select/tree-select-portal.component.d.ts +1 -1
  271. package/tree-select/tree-select.property.d.ts +15 -15
  272. package/typography/typography.property.d.ts +1 -1
  273. package/upload/upload.property.d.ts +9 -9
  274. package/esm2022/affix/affix.component.mjs +0 -12
  275. package/esm2022/affix/affix.module.mjs +0 -16
  276. package/esm2022/affix/affix.property.mjs +0 -51
  277. package/esm2022/affix/ng-nest-ui-affix.mjs +0 -5
  278. package/esm2022/affix/public-api.mjs +0 -4
  279. package/esm2022/alert/alert.component.mjs +0 -73
  280. package/esm2022/alert/alert.module.mjs +0 -16
  281. package/esm2022/alert/alert.property.mjs +0 -313
  282. package/esm2022/alert/ng-nest-ui-alert.mjs +0 -5
  283. package/esm2022/alert/public-api.mjs +0 -4
  284. package/esm2022/anchor/anchor-inner.component.mjs +0 -18
  285. package/esm2022/anchor/anchor.component.mjs +0 -160
  286. package/esm2022/anchor/anchor.module.mjs +0 -17
  287. package/esm2022/anchor/anchor.property.mjs +0 -121
  288. package/esm2022/anchor/ng-nest-ui-anchor.mjs +0 -5
  289. package/esm2022/anchor/public-api.mjs +0 -5
  290. package/esm2022/api/api.component.mjs +0 -18
  291. package/esm2022/api/api.module.mjs +0 -16
  292. package/esm2022/api/api.property.mjs +0 -7
  293. package/esm2022/api/ng-nest-ui-api.mjs +0 -5
  294. package/esm2022/api/public-api.mjs +0 -4
  295. package/esm2022/auto-complete/auto-complete-portal.component.mjs +0 -80
  296. package/esm2022/auto-complete/auto-complete.component.mjs +0 -306
  297. package/esm2022/auto-complete/auto-complete.module.mjs +0 -16
  298. package/esm2022/auto-complete/auto-complete.property.mjs +0 -172
  299. package/esm2022/auto-complete/ng-nest-ui-auto-complete.mjs +0 -5
  300. package/esm2022/auto-complete/public-api.mjs +0 -5
  301. package/esm2022/avatar/avatar-group.component.mjs +0 -19
  302. package/esm2022/avatar/avatar.component.mjs +0 -109
  303. package/esm2022/avatar/avatar.module.mjs +0 -17
  304. package/esm2022/avatar/avatar.property.mjs +0 -143
  305. package/esm2022/avatar/ng-nest-ui-avatar.mjs +0 -5
  306. package/esm2022/avatar/public-api.mjs +0 -5
  307. package/esm2022/back-top/back-top.component.mjs +0 -104
  308. package/esm2022/back-top/back-top.module.mjs +0 -16
  309. package/esm2022/back-top/back-top.property.mjs +0 -50
  310. package/esm2022/back-top/ng-nest-ui-back-top.mjs +0 -5
  311. package/esm2022/back-top/public-api.mjs +0 -4
  312. package/esm2022/badge/badge.component.mjs +0 -63
  313. package/esm2022/badge/badge.module.mjs +0 -16
  314. package/esm2022/badge/badge.property.mjs +0 -133
  315. package/esm2022/badge/ng-nest-ui-badge.mjs +0 -5
  316. package/esm2022/badge/public-api.mjs +0 -4
  317. package/esm2022/base-form/base-form.component.mjs +0 -101
  318. package/esm2022/base-form/base-form.module.mjs +0 -15
  319. package/esm2022/base-form/base-form.property.mjs +0 -237
  320. package/esm2022/base-form/ng-nest-ui-base-form.mjs +0 -5
  321. package/esm2022/base-form/public-api.mjs +0 -4
  322. package/esm2022/button/button.component.mjs +0 -71
  323. package/esm2022/button/button.module.mjs +0 -17
  324. package/esm2022/button/button.property.mjs +0 -331
  325. package/esm2022/button/buttons.component.mjs +0 -55
  326. package/esm2022/button/ng-nest-ui-button.mjs +0 -5
  327. package/esm2022/button/public-api.mjs +0 -5
  328. package/esm2022/calendar/calendar.component.mjs +0 -117
  329. package/esm2022/calendar/calendar.module.mjs +0 -16
  330. package/esm2022/calendar/calendar.property.mjs +0 -110
  331. package/esm2022/calendar/ng-nest-ui-calendar.mjs +0 -5
  332. package/esm2022/calendar/public-api.mjs +0 -4
  333. package/esm2022/card/card.component.mjs +0 -22
  334. package/esm2022/card/card.module.mjs +0 -16
  335. package/esm2022/card/card.property.mjs +0 -77
  336. package/esm2022/card/ng-nest-ui-card.mjs +0 -5
  337. package/esm2022/card/public-api.mjs +0 -4
  338. package/esm2022/carousel/carousel-panel.component.mjs +0 -157
  339. package/esm2022/carousel/carousel.component.mjs +0 -95
  340. package/esm2022/carousel/carousel.module.mjs +0 -17
  341. package/esm2022/carousel/carousel.property.mjs +0 -256
  342. package/esm2022/carousel/ng-nest-ui-carousel.mjs +0 -5
  343. package/esm2022/carousel/public-api.mjs +0 -5
  344. package/esm2022/cascade/cascade-portal.component.mjs +0 -141
  345. package/esm2022/cascade/cascade.component.mjs +0 -238
  346. package/esm2022/cascade/cascade.module.mjs +0 -16
  347. package/esm2022/cascade/cascade.property.mjs +0 -167
  348. package/esm2022/cascade/ng-nest-ui-cascade.mjs +0 -5
  349. package/esm2022/cascade/public-api.mjs +0 -5
  350. package/esm2022/checkbox/checkbox.component.mjs +0 -102
  351. package/esm2022/checkbox/checkbox.module.mjs +0 -16
  352. package/esm2022/checkbox/checkbox.property.mjs +0 -136
  353. package/esm2022/checkbox/ng-nest-ui-checkbox.mjs +0 -5
  354. package/esm2022/checkbox/public-api.mjs +0 -4
  355. package/esm2022/collapse/collapse-panel.component.mjs +0 -55
  356. package/esm2022/collapse/collapse.component.mjs +0 -49
  357. package/esm2022/collapse/collapse.module.mjs +0 -17
  358. package/esm2022/collapse/collapse.property.mjs +0 -189
  359. package/esm2022/collapse/ng-nest-ui-collapse.mjs +0 -5
  360. package/esm2022/collapse/public-api.mjs +0 -5
  361. package/esm2022/color/color.component.mjs +0 -35
  362. package/esm2022/color/color.module.mjs +0 -16
  363. package/esm2022/color/color.property.mjs +0 -71
  364. package/esm2022/color/ng-nest-ui-color.mjs +0 -5
  365. package/esm2022/color/public-api.mjs +0 -4
  366. package/esm2022/color-picker/color-picker-portal.component.mjs +0 -396
  367. package/esm2022/color-picker/color-picker.component.mjs +0 -191
  368. package/esm2022/color-picker/color-picker.module.mjs +0 -16
  369. package/esm2022/color-picker/color-picker.property.mjs +0 -142
  370. package/esm2022/color-picker/ng-nest-ui-color-picker.mjs +0 -5
  371. package/esm2022/color-picker/public-api.mjs +0 -5
  372. package/esm2022/comment/comment-reply.component.mjs +0 -24
  373. package/esm2022/comment/comment.component.mjs +0 -55
  374. package/esm2022/comment/comment.module.mjs +0 -17
  375. package/esm2022/comment/comment.property.mjs +0 -90
  376. package/esm2022/comment/ng-nest-ui-comment.mjs +0 -5
  377. package/esm2022/comment/public-api.mjs +0 -5
  378. package/esm2022/container/aside.component.mjs +0 -25
  379. package/esm2022/container/container.component.mjs +0 -31
  380. package/esm2022/container/container.module.mjs +0 -20
  381. package/esm2022/container/container.property.mjs +0 -115
  382. package/esm2022/container/footer.component.mjs +0 -35
  383. package/esm2022/container/header.component.mjs +0 -35
  384. package/esm2022/container/main.component.mjs +0 -18
  385. package/esm2022/container/ng-nest-ui-container.mjs +0 -5
  386. package/esm2022/container/public-api.mjs +0 -8
  387. package/esm2022/core/animation/badge.mjs +0 -53
  388. package/esm2022/core/animation/connect.mjs +0 -31
  389. package/esm2022/core/animation/consts.mjs +0 -11
  390. package/esm2022/core/animation/drop.mjs +0 -13
  391. package/esm2022/core/animation/fade.mjs +0 -24
  392. package/esm2022/core/animation/move.mjs +0 -179
  393. package/esm2022/core/animation/opacity.mjs +0 -13
  394. package/esm2022/core/animation/public-api.mjs +0 -9
  395. package/esm2022/core/animation/slide.mjs +0 -17
  396. package/esm2022/core/config/config.mjs +0 -3
  397. package/esm2022/core/config/config.service.mjs +0 -54
  398. package/esm2022/core/config/index.mjs +0 -2
  399. package/esm2022/core/config/public-api.mjs +0 -3
  400. package/esm2022/core/functions/chunk.mjs +0 -25
  401. package/esm2022/core/functions/clone-deep.mjs +0 -28
  402. package/esm2022/core/functions/convert.mjs +0 -230
  403. package/esm2022/core/functions/csspx.mjs +0 -17
  404. package/esm2022/core/functions/date.mjs +0 -223
  405. package/esm2022/core/functions/drop.mjs +0 -20
  406. package/esm2022/core/functions/flex.mjs +0 -25
  407. package/esm2022/core/functions/group-by.mjs +0 -14
  408. package/esm2022/core/functions/guid.mjs +0 -11
  409. package/esm2022/core/functions/has-in.mjs +0 -8
  410. package/esm2022/core/functions/order-by.mjs +0 -56
  411. package/esm2022/core/functions/parent-path.mjs +0 -27
  412. package/esm2022/core/functions/property.mjs +0 -20
  413. package/esm2022/core/functions/public-api.mjs +0 -16
  414. package/esm2022/core/functions/remove.mjs +0 -19
  415. package/esm2022/core/functions/resize.mjs +0 -22
  416. package/esm2022/core/interfaces/data.type.mjs +0 -164
  417. package/esm2022/core/interfaces/identify.type.mjs +0 -7
  418. package/esm2022/core/interfaces/index.mjs +0 -2
  419. package/esm2022/core/interfaces/layout.type.mjs +0 -2
  420. package/esm2022/core/interfaces/public-api.mjs +0 -5
  421. package/esm2022/core/interfaces/result-list.type.mjs +0 -2
  422. package/esm2022/core/ng-nest-ui-core.mjs +0 -5
  423. package/esm2022/core/public-api.mjs +0 -8
  424. package/esm2022/core/services/http.service.mjs +0 -58
  425. package/esm2022/core/services/preloading-strategy.service.mjs +0 -24
  426. package/esm2022/core/services/public-api.mjs +0 -6
  427. package/esm2022/core/services/repository.service.mjs +0 -29
  428. package/esm2022/core/services/reuse-strategy.service.mjs +0 -47
  429. package/esm2022/core/services/storage.service.mjs +0 -75
  430. package/esm2022/core/theme/index.mjs +0 -2
  431. package/esm2022/core/theme/public-api.mjs +0 -3
  432. package/esm2022/core/theme/theme.mjs +0 -89
  433. package/esm2022/core/theme/theme.service.mjs +0 -270
  434. package/esm2022/core/util/animation.mjs +0 -26
  435. package/esm2022/core/util/camel-to-kebab.mjs +0 -16
  436. package/esm2022/core/util/check.mjs +0 -15
  437. package/esm2022/core/util/computed-style.mjs +0 -20
  438. package/esm2022/core/util/host.mjs +0 -14
  439. package/esm2022/core/util/html.mjs +0 -12
  440. package/esm2022/core/util/index.mjs +0 -2
  441. package/esm2022/core/util/kebab-to-camel.mjs +0 -16
  442. package/esm2022/core/util/log.mjs +0 -15
  443. package/esm2022/core/util/option.mjs +0 -14
  444. package/esm2022/core/util/public-api.mjs +0 -11
  445. package/esm2022/core/util/sleep.mjs +0 -8
  446. package/esm2022/crumb/crumb.component.mjs +0 -25
  447. package/esm2022/crumb/crumb.module.mjs +0 -16
  448. package/esm2022/crumb/crumb.property.mjs +0 -45
  449. package/esm2022/crumb/ng-nest-ui-crumb.mjs +0 -5
  450. package/esm2022/crumb/public-api.mjs +0 -4
  451. package/esm2022/date-picker/date-picker-portal.component.mjs +0 -196
  452. package/esm2022/date-picker/date-picker.component.mjs +0 -320
  453. package/esm2022/date-picker/date-picker.module.mjs +0 -17
  454. package/esm2022/date-picker/date-picker.property.mjs +0 -770
  455. package/esm2022/date-picker/date-quarter.pipe.mjs +0 -19
  456. package/esm2022/date-picker/date-range-portal.component.mjs +0 -349
  457. package/esm2022/date-picker/date-range.component.mjs +0 -432
  458. package/esm2022/date-picker/ng-nest-ui-date-picker.mjs +0 -5
  459. package/esm2022/date-picker/picker-date.component.mjs +0 -334
  460. package/esm2022/date-picker/picker-month.component.mjs +0 -232
  461. package/esm2022/date-picker/picker-quarter.component.mjs +0 -237
  462. package/esm2022/date-picker/picker-year.component.mjs +0 -233
  463. package/esm2022/date-picker/public-api.mjs +0 -12
  464. package/esm2022/description/description-item.component.mjs +0 -24
  465. package/esm2022/description/description.component.mjs +0 -48
  466. package/esm2022/description/description.module.mjs +0 -17
  467. package/esm2022/description/description.property.mjs +0 -219
  468. package/esm2022/description/ng-nest-ui-description.mjs +0 -5
  469. package/esm2022/description/public-api.mjs +0 -5
  470. package/esm2022/dialog/dialog-container.component.mjs +0 -29
  471. package/esm2022/dialog/dialog-portal.component.mjs +0 -97
  472. package/esm2022/dialog/dialog-portal.directives.mjs +0 -119
  473. package/esm2022/dialog/dialog-ref.mjs +0 -100
  474. package/esm2022/dialog/dialog.component.mjs +0 -282
  475. package/esm2022/dialog/dialog.module.mjs +0 -50
  476. package/esm2022/dialog/dialog.property.mjs +0 -207
  477. package/esm2022/dialog/dialog.service.mjs +0 -122
  478. package/esm2022/dialog/ng-nest-ui-dialog.mjs +0 -5
  479. package/esm2022/dialog/public-api.mjs +0 -9
  480. package/esm2022/doc/doc.component.mjs +0 -18
  481. package/esm2022/doc/doc.module.mjs +0 -16
  482. package/esm2022/doc/doc.property.mjs +0 -7
  483. package/esm2022/doc/ng-nest-ui-doc.mjs +0 -5
  484. package/esm2022/doc/public-api.mjs +0 -4
  485. package/esm2022/drag/drag.directive.mjs +0 -57
  486. package/esm2022/drag/drag.module.mjs +0 -16
  487. package/esm2022/drag/drag.property.mjs +0 -25
  488. package/esm2022/drag/ng-nest-ui-drag.mjs +0 -5
  489. package/esm2022/drag/public-api.mjs +0 -4
  490. package/esm2022/drawer/drawer-container.component.mjs +0 -29
  491. package/esm2022/drawer/drawer-portal.component.mjs +0 -50
  492. package/esm2022/drawer/drawer-portal.directives.mjs +0 -58
  493. package/esm2022/drawer/drawer-ref.mjs +0 -17
  494. package/esm2022/drawer/drawer.component.mjs +0 -95
  495. package/esm2022/drawer/drawer.module.mjs +0 -38
  496. package/esm2022/drawer/drawer.property.mjs +0 -84
  497. package/esm2022/drawer/drawer.service.mjs +0 -65
  498. package/esm2022/drawer/ng-nest-ui-drawer.mjs +0 -5
  499. package/esm2022/drawer/public-api.mjs +0 -10
  500. package/esm2022/dropdown/dropdown-portal.component.mjs +0 -204
  501. package/esm2022/dropdown/dropdown.component.mjs +0 -179
  502. package/esm2022/dropdown/dropdown.module.mjs +0 -16
  503. package/esm2022/dropdown/dropdown.property.mjs +0 -96
  504. package/esm2022/dropdown/ng-nest-ui-dropdown.mjs +0 -5
  505. package/esm2022/dropdown/public-api.mjs +0 -5
  506. package/esm2022/empty/empty.component.mjs +0 -15
  507. package/esm2022/empty/empty.module.mjs +0 -16
  508. package/esm2022/empty/empty.property.mjs +0 -54
  509. package/esm2022/empty/ng-nest-ui-empty.mjs +0 -5
  510. package/esm2022/empty/public-api.mjs +0 -4
  511. package/esm2022/examples/examples.component.mjs +0 -18
  512. package/esm2022/examples/examples.module.mjs +0 -16
  513. package/esm2022/examples/examples.property.mjs +0 -7
  514. package/esm2022/examples/ng-nest-ui-examples.mjs +0 -5
  515. package/esm2022/examples/public-api.mjs +0 -4
  516. package/esm2022/find/find.component.mjs +0 -331
  517. package/esm2022/find/find.module.mjs +0 -16
  518. package/esm2022/find/find.property.mjs +0 -260
  519. package/esm2022/find/ng-nest-ui-find.mjs +0 -5
  520. package/esm2022/find/public-api.mjs +0 -4
  521. package/esm2022/form/control.component.mjs +0 -249
  522. package/esm2022/form/form.component.mjs +0 -116
  523. package/esm2022/form/form.module.mjs +0 -17
  524. package/esm2022/form/form.property.mjs +0 -202
  525. package/esm2022/form/ng-nest-ui-form.mjs +0 -5
  526. package/esm2022/form/public-api.mjs +0 -5
  527. package/esm2022/highlight/highlight.component.mjs +0 -85
  528. package/esm2022/highlight/highlight.module.mjs +0 -16
  529. package/esm2022/highlight/highlight.property.mjs +0 -45
  530. package/esm2022/highlight/highlight.service.mjs +0 -17
  531. package/esm2022/highlight/ng-nest-ui-highlight.mjs +0 -5
  532. package/esm2022/highlight/public-api.mjs +0 -5
  533. package/esm2022/i18n/i18n.directive.mjs +0 -29
  534. package/esm2022/i18n/i18n.module.mjs +0 -17
  535. package/esm2022/i18n/i18n.pipe.mjs +0 -28
  536. package/esm2022/i18n/i18n.property.mjs +0 -9
  537. package/esm2022/i18n/i18n.service.mjs +0 -57
  538. package/esm2022/i18n/languages/ar_EG.mjs +0 -169
  539. package/esm2022/i18n/languages/bg_BG.mjs +0 -172
  540. package/esm2022/i18n/languages/ca_ES.mjs +0 -172
  541. package/esm2022/i18n/languages/cs_CZ.mjs +0 -172
  542. package/esm2022/i18n/languages/da_DK.mjs +0 -172
  543. package/esm2022/i18n/languages/de_DE.mjs +0 -172
  544. package/esm2022/i18n/languages/el_GR.mjs +0 -172
  545. package/esm2022/i18n/languages/en_GB.mjs +0 -181
  546. package/esm2022/i18n/languages/en_US.mjs +0 -181
  547. package/esm2022/i18n/languages/es_ES.mjs +0 -172
  548. package/esm2022/i18n/languages/et_EE.mjs +0 -172
  549. package/esm2022/i18n/languages/fa_IR.mjs +0 -172
  550. package/esm2022/i18n/languages/fi_FI.mjs +0 -172
  551. package/esm2022/i18n/languages/fr_BE.mjs +0 -172
  552. package/esm2022/i18n/languages/fr_FR.mjs +0 -172
  553. package/esm2022/i18n/languages/he_IL.mjs +0 -169
  554. package/esm2022/i18n/languages/hi_IN.mjs +0 -172
  555. package/esm2022/i18n/languages/hr_HR.mjs +0 -172
  556. package/esm2022/i18n/languages/hu_HU.mjs +0 -172
  557. package/esm2022/i18n/languages/hy_AM.mjs +0 -172
  558. package/esm2022/i18n/languages/id_ID.mjs +0 -172
  559. package/esm2022/i18n/languages/is_IS.mjs +0 -172
  560. package/esm2022/i18n/languages/it_IT.mjs +0 -172
  561. package/esm2022/i18n/languages/ja_JP.mjs +0 -172
  562. package/esm2022/i18n/languages/ka_GE.mjs +0 -172
  563. package/esm2022/i18n/languages/kn_IN.mjs +0 -172
  564. package/esm2022/i18n/languages/ko_KR.mjs +0 -180
  565. package/esm2022/i18n/languages/ku_IQ.mjs +0 -156
  566. package/esm2022/i18n/languages/lv_LV.mjs +0 -180
  567. package/esm2022/i18n/languages/mn_MN.mjs +0 -180
  568. package/esm2022/i18n/languages/ms_MY.mjs +0 -180
  569. package/esm2022/i18n/languages/nb_NO.mjs +0 -180
  570. package/esm2022/i18n/languages/ne_NP.mjs +0 -180
  571. package/esm2022/i18n/languages/nl_BE.mjs +0 -180
  572. package/esm2022/i18n/languages/nl_NL.mjs +0 -180
  573. package/esm2022/i18n/languages/pl_PL.mjs +0 -180
  574. package/esm2022/i18n/languages/pt_BR.mjs +0 -180
  575. package/esm2022/i18n/languages/pt_PT.mjs +0 -180
  576. package/esm2022/i18n/languages/ro_RO.mjs +0 -180
  577. package/esm2022/i18n/languages/ru_RU.mjs +0 -180
  578. package/esm2022/i18n/languages/sk_SK.mjs +0 -171
  579. package/esm2022/i18n/languages/sl_SI.mjs +0 -172
  580. package/esm2022/i18n/languages/sr_RS.mjs +0 -172
  581. package/esm2022/i18n/languages/sv_SE.mjs +0 -172
  582. package/esm2022/i18n/languages/ta_IN.mjs +0 -180
  583. package/esm2022/i18n/languages/th_TH.mjs +0 -180
  584. package/esm2022/i18n/languages/tr_TR.mjs +0 -180
  585. package/esm2022/i18n/languages/uk_UA.mjs +0 -180
  586. package/esm2022/i18n/languages/vi_VN.mjs +0 -180
  587. package/esm2022/i18n/languages/zh_CN.mjs +0 -180
  588. package/esm2022/i18n/languages/zh_TW.mjs +0 -180
  589. package/esm2022/i18n/ng-nest-ui-i18n.mjs +0 -5
  590. package/esm2022/i18n/public-api.mjs +0 -57
  591. package/esm2022/icon/icon.component.mjs +0 -158
  592. package/esm2022/icon/icon.module.mjs +0 -16
  593. package/esm2022/icon/icon.property.mjs +0 -65
  594. package/esm2022/icon/icon.service.mjs +0 -89
  595. package/esm2022/icon/ng-nest-ui-icon.mjs +0 -5
  596. package/esm2022/icon/public-api.mjs +0 -5
  597. package/esm2022/image/image-group.component.mjs +0 -27
  598. package/esm2022/image/image-preview.component.mjs +0 -135
  599. package/esm2022/image/image.component.mjs +0 -75
  600. package/esm2022/image/image.module.mjs +0 -18
  601. package/esm2022/image/image.property.mjs +0 -196
  602. package/esm2022/image/ng-nest-ui-image.mjs +0 -5
  603. package/esm2022/image/public-api.mjs +0 -6
  604. package/esm2022/index.mjs +0 -106
  605. package/esm2022/inner/inner.component.mjs +0 -25
  606. package/esm2022/inner/inner.module.mjs +0 -16
  607. package/esm2022/inner/inner.property.mjs +0 -30
  608. package/esm2022/inner/ng-nest-ui-inner.mjs +0 -5
  609. package/esm2022/inner/public-api.mjs +0 -4
  610. package/esm2022/input/input-group.component.mjs +0 -16
  611. package/esm2022/input/input.component.mjs +0 -224
  612. package/esm2022/input/input.module.mjs +0 -17
  613. package/esm2022/input/input.property.mjs +0 -281
  614. package/esm2022/input/ng-nest-ui-input.mjs +0 -5
  615. package/esm2022/input/public-api.mjs +0 -5
  616. package/esm2022/input-number/input-number.component.mjs +0 -131
  617. package/esm2022/input-number/input-number.module.mjs +0 -16
  618. package/esm2022/input-number/input-number.property.mjs +0 -146
  619. package/esm2022/input-number/ng-nest-ui-input-number.mjs +0 -5
  620. package/esm2022/input-number/public-api.mjs +0 -4
  621. package/esm2022/keyword/keyword.directive.mjs +0 -61
  622. package/esm2022/keyword/keyword.module.mjs +0 -16
  623. package/esm2022/keyword/keyword.property.mjs +0 -45
  624. package/esm2022/keyword/ng-nest-ui-keyword.mjs +0 -5
  625. package/esm2022/keyword/public-api.mjs +0 -4
  626. package/esm2022/layout/col.component.mjs +0 -68
  627. package/esm2022/layout/layout.module.mjs +0 -17
  628. package/esm2022/layout/layout.property.mjs +0 -150
  629. package/esm2022/layout/ng-nest-ui-layout.mjs +0 -5
  630. package/esm2022/layout/public-api.mjs +0 -5
  631. package/esm2022/layout/row.component.mjs +0 -54
  632. package/esm2022/link/link.component.mjs +0 -28
  633. package/esm2022/link/link.module.mjs +0 -16
  634. package/esm2022/link/link.property.mjs +0 -109
  635. package/esm2022/link/ng-nest-ui-link.mjs +0 -5
  636. package/esm2022/link/public-api.mjs +0 -4
  637. package/esm2022/list/list-drop-group.directive.mjs +0 -39
  638. package/esm2022/list/list-option.component.mjs +0 -37
  639. package/esm2022/list/list.component.mjs +0 -409
  640. package/esm2022/list/list.module.mjs +0 -18
  641. package/esm2022/list/list.property.mjs +0 -273
  642. package/esm2022/list/ng-nest-ui-list.mjs +0 -5
  643. package/esm2022/list/public-api.mjs +0 -6
  644. package/esm2022/loading/loading.component.mjs +0 -77
  645. package/esm2022/loading/loading.module.mjs +0 -16
  646. package/esm2022/loading/loading.property.mjs +0 -70
  647. package/esm2022/loading/ng-nest-ui-loading.mjs +0 -5
  648. package/esm2022/loading/public-api.mjs +0 -4
  649. package/esm2022/menu/menu-node.component.mjs +0 -36
  650. package/esm2022/menu/menu.component.mjs +0 -171
  651. package/esm2022/menu/menu.module.mjs +0 -17
  652. package/esm2022/menu/menu.property.mjs +0 -107
  653. package/esm2022/menu/ng-nest-ui-menu.mjs +0 -5
  654. package/esm2022/menu/public-api.mjs +0 -5
  655. package/esm2022/message/message-ref.mjs +0 -13
  656. package/esm2022/message/message.component.mjs +0 -40
  657. package/esm2022/message/message.module.mjs +0 -15
  658. package/esm2022/message/message.property.mjs +0 -9
  659. package/esm2022/message/message.service.mjs +0 -146
  660. package/esm2022/message/ng-nest-ui-message.mjs +0 -5
  661. package/esm2022/message/public-api.mjs +0 -6
  662. package/esm2022/message-box/message-box.component.mjs +0 -122
  663. package/esm2022/message-box/message-box.module.mjs +0 -15
  664. package/esm2022/message-box/message-box.property.mjs +0 -8
  665. package/esm2022/message-box/message-box.service.mjs +0 -97
  666. package/esm2022/message-box/ng-nest-ui-message-box.mjs +0 -5
  667. package/esm2022/message-box/public-api.mjs +0 -5
  668. package/esm2022/ng-nest-ui.mjs +0 -5
  669. package/esm2022/notification/ng-nest-ui-notification.mjs +0 -5
  670. package/esm2022/notification/notification.component.mjs +0 -42
  671. package/esm2022/notification/notification.module.mjs +0 -15
  672. package/esm2022/notification/notification.property.mjs +0 -8
  673. package/esm2022/notification/notification.service.mjs +0 -107
  674. package/esm2022/notification/public-api.mjs +0 -5
  675. package/esm2022/outlet/ng-nest-ui-outlet.mjs +0 -5
  676. package/esm2022/outlet/outlet.directive.mjs +0 -72
  677. package/esm2022/outlet/outlet.module.mjs +0 -16
  678. package/esm2022/outlet/outlet.property.mjs +0 -7
  679. package/esm2022/outlet/public-api.mjs +0 -4
  680. package/esm2022/page-header/ng-nest-ui-page-header.mjs +0 -5
  681. package/esm2022/page-header/page-header.component.mjs +0 -24
  682. package/esm2022/page-header/page-header.module.mjs +0 -16
  683. package/esm2022/page-header/page-header.property.mjs +0 -50
  684. package/esm2022/page-header/public-api.mjs +0 -4
  685. package/esm2022/pagination/ng-nest-ui-pagination.mjs +0 -5
  686. package/esm2022/pagination/pagination.component.mjs +0 -205
  687. package/esm2022/pagination/pagination.module.mjs +0 -16
  688. package/esm2022/pagination/pagination.property.mjs +0 -149
  689. package/esm2022/pagination/public-api.mjs +0 -4
  690. package/esm2022/pattern/ng-nest-ui-pattern.mjs +0 -5
  691. package/esm2022/pattern/pattern.component.mjs +0 -18
  692. package/esm2022/pattern/pattern.module.mjs +0 -16
  693. package/esm2022/pattern/pattern.property.mjs +0 -7
  694. package/esm2022/pattern/public-api.mjs +0 -4
  695. package/esm2022/popconfirm/ng-nest-ui-popconfirm.mjs +0 -5
  696. package/esm2022/popconfirm/popconfirm.component.mjs +0 -59
  697. package/esm2022/popconfirm/popconfirm.module.mjs +0 -16
  698. package/esm2022/popconfirm/popconfirm.property.mjs +0 -100
  699. package/esm2022/popconfirm/public-api.mjs +0 -4
  700. package/esm2022/popover/ng-nest-ui-popover.mjs +0 -5
  701. package/esm2022/popover/popover-portal.component.mjs +0 -52
  702. package/esm2022/popover/popover.directive.mjs +0 -186
  703. package/esm2022/popover/popover.module.mjs +0 -16
  704. package/esm2022/popover/popover.property.mjs +0 -101
  705. package/esm2022/popover/public-api.mjs +0 -5
  706. package/esm2022/portal/ng-nest-ui-portal.mjs +0 -5
  707. package/esm2022/portal/portal.module.mjs +0 -16
  708. package/esm2022/portal/portal.property.mjs +0 -24
  709. package/esm2022/portal/portal.service.mjs +0 -190
  710. package/esm2022/portal/public-api.mjs +0 -4
  711. package/esm2022/progress/ng-nest-ui-progress.mjs +0 -5
  712. package/esm2022/progress/progress.component.mjs +0 -224
  713. package/esm2022/progress/progress.module.mjs +0 -16
  714. package/esm2022/progress/progress.property.mjs +0 -110
  715. package/esm2022/progress/public-api.mjs +0 -4
  716. package/esm2022/radio/ng-nest-ui-radio.mjs +0 -5
  717. package/esm2022/radio/public-api.mjs +0 -4
  718. package/esm2022/radio/radio.component.mjs +0 -77
  719. package/esm2022/radio/radio.module.mjs +0 -16
  720. package/esm2022/radio/radio.property.mjs +0 -121
  721. package/esm2022/rate/ng-nest-ui-rate.mjs +0 -5
  722. package/esm2022/rate/public-api.mjs +0 -4
  723. package/esm2022/rate/rate.component.mjs +0 -99
  724. package/esm2022/rate/rate.module.mjs +0 -16
  725. package/esm2022/rate/rate.property.mjs +0 -86
  726. package/esm2022/resizable/ng-nest-ui-resizable.mjs +0 -5
  727. package/esm2022/resizable/public-api.mjs +0 -4
  728. package/esm2022/resizable/resizable.directive.mjs +0 -262
  729. package/esm2022/resizable/resizable.module.mjs +0 -16
  730. package/esm2022/resizable/resizable.property.mjs +0 -64
  731. package/esm2022/result/ng-nest-ui-result.mjs +0 -5
  732. package/esm2022/result/public-api.mjs +0 -4
  733. package/esm2022/result/result.component.mjs +0 -25
  734. package/esm2022/result/result.module.mjs +0 -16
  735. package/esm2022/result/result.property.mjs +0 -45
  736. package/esm2022/ripple/ng-nest-ui-ripple.mjs +0 -5
  737. package/esm2022/ripple/public-api.mjs +0 -4
  738. package/esm2022/ripple/ripple.directive.mjs +0 -83
  739. package/esm2022/ripple/ripple.module.mjs +0 -16
  740. package/esm2022/ripple/ripple.property.mjs +0 -40
  741. package/esm2022/select/ng-nest-ui-select.mjs +0 -5
  742. package/esm2022/select/public-api.mjs +0 -5
  743. package/esm2022/select/select-portal.component.mjs +0 -102
  744. package/esm2022/select/select.component.mjs +0 -680
  745. package/esm2022/select/select.module.mjs +0 -16
  746. package/esm2022/select/select.property.mjs +0 -231
  747. package/esm2022/skeleton/ng-nest-ui-skeleton.mjs +0 -5
  748. package/esm2022/skeleton/public-api.mjs +0 -4
  749. package/esm2022/skeleton/skeleton.component.mjs +0 -23
  750. package/esm2022/skeleton/skeleton.module.mjs +0 -16
  751. package/esm2022/skeleton/skeleton.property.mjs +0 -55
  752. package/esm2022/slider/ng-nest-ui-slider.mjs +0 -5
  753. package/esm2022/slider/public-api.mjs +0 -4
  754. package/esm2022/slider/slider.component.mjs +0 -222
  755. package/esm2022/slider/slider.module.mjs +0 -17
  756. package/esm2022/slider/slider.property.mjs +0 -102
  757. package/esm2022/slider-select/ng-nest-ui-slider-select.mjs +0 -5
  758. package/esm2022/slider-select/public-api.mjs +0 -4
  759. package/esm2022/slider-select/slider-select.component.mjs +0 -363
  760. package/esm2022/slider-select/slider-select.module.mjs +0 -16
  761. package/esm2022/slider-select/slider-select.property.mjs +0 -136
  762. package/esm2022/statistic/countdown.component.mjs +0 -70
  763. package/esm2022/statistic/ng-nest-ui-statistic.mjs +0 -5
  764. package/esm2022/statistic/public-api.mjs +0 -5
  765. package/esm2022/statistic/statistic.component.mjs +0 -34
  766. package/esm2022/statistic/statistic.module.mjs +0 -17
  767. package/esm2022/statistic/statistic.property.mjs +0 -106
  768. package/esm2022/steps/ng-nest-ui-steps.mjs +0 -5
  769. package/esm2022/steps/public-api.mjs +0 -4
  770. package/esm2022/steps/steps.component.mjs +0 -49
  771. package/esm2022/steps/steps.module.mjs +0 -16
  772. package/esm2022/steps/steps.property.mjs +0 -60
  773. package/esm2022/switch/ng-nest-ui-switch.mjs +0 -5
  774. package/esm2022/switch/public-api.mjs +0 -4
  775. package/esm2022/switch/switch.component.mjs +0 -37
  776. package/esm2022/switch/switch.module.mjs +0 -16
  777. package/esm2022/switch/switch.property.mjs +0 -91
  778. package/esm2022/table/ng-nest-ui-table.mjs +0 -5
  779. package/esm2022/table/public-api.mjs +0 -7
  780. package/esm2022/table/table-body.component.mjs +0 -236
  781. package/esm2022/table/table-foot.component.mjs +0 -29
  782. package/esm2022/table/table-head.component.mjs +0 -169
  783. package/esm2022/table/table.component.mjs +0 -372
  784. package/esm2022/table/table.module.mjs +0 -19
  785. package/esm2022/table/table.property.mjs +0 -624
  786. package/esm2022/tabs/ng-nest-ui-tabs.mjs +0 -5
  787. package/esm2022/tabs/public-api.mjs +0 -7
  788. package/esm2022/tabs/tab-content.component.mjs +0 -21
  789. package/esm2022/tabs/tab-link.directive.mjs +0 -46
  790. package/esm2022/tabs/tab.component.mjs +0 -19
  791. package/esm2022/tabs/tabs.component.mjs +0 -143
  792. package/esm2022/tabs/tabs.module.mjs +0 -18
  793. package/esm2022/tabs/tabs.property.mjs +0 -141
  794. package/esm2022/tag/ng-nest-ui-tag.mjs +0 -5
  795. package/esm2022/tag/public-api.mjs +0 -4
  796. package/esm2022/tag/tag.component.mjs +0 -51
  797. package/esm2022/tag/tag.module.mjs +0 -16
  798. package/esm2022/tag/tag.property.mjs +0 -80
  799. package/esm2022/text-retract/ng-nest-ui-text-retract.mjs +0 -5
  800. package/esm2022/text-retract/public-api.mjs +0 -4
  801. package/esm2022/text-retract/text-retract.component.mjs +0 -42
  802. package/esm2022/text-retract/text-retract.module.mjs +0 -16
  803. package/esm2022/text-retract/text-retract.property.mjs +0 -35
  804. package/esm2022/textarea/ng-nest-ui-textarea.mjs +0 -5
  805. package/esm2022/textarea/public-api.mjs +0 -4
  806. package/esm2022/textarea/textarea.component.mjs +0 -68
  807. package/esm2022/textarea/textarea.module.mjs +0 -16
  808. package/esm2022/textarea/textarea.property.mjs +0 -126
  809. package/esm2022/theme/ng-nest-ui-theme.mjs +0 -5
  810. package/esm2022/theme/public-api.mjs +0 -4
  811. package/esm2022/theme/theme.component.mjs +0 -179
  812. package/esm2022/theme/theme.module.mjs +0 -16
  813. package/esm2022/theme/theme.property.mjs +0 -63
  814. package/esm2022/time-ago/ng-nest-ui-time-ago.mjs +0 -5
  815. package/esm2022/time-ago/public-api.mjs +0 -4
  816. package/esm2022/time-ago/time-ago.module.mjs +0 -16
  817. package/esm2022/time-ago/time-ago.pipe.mjs +0 -70
  818. package/esm2022/time-ago/time-ago.property.mjs +0 -7
  819. package/esm2022/time-picker/ng-nest-ui-time-picker.mjs +0 -5
  820. package/esm2022/time-picker/public-api.mjs +0 -6
  821. package/esm2022/time-picker/time-picker-frame.component.mjs +0 -312
  822. package/esm2022/time-picker/time-picker-portal.component.mjs +0 -78
  823. package/esm2022/time-picker/time-picker.component.mjs +0 -266
  824. package/esm2022/time-picker/time-picker.module.mjs +0 -17
  825. package/esm2022/time-picker/time-picker.property.mjs +0 -198
  826. package/esm2022/time-range/ng-nest-ui-time-range.mjs +0 -5
  827. package/esm2022/time-range/public-api.mjs +0 -4
  828. package/esm2022/time-range/time-range.module.mjs +0 -16
  829. package/esm2022/time-range/time-range.pipe.mjs +0 -44
  830. package/esm2022/time-range/time-range.property.mjs +0 -7
  831. package/esm2022/timeline/ng-nest-ui-timeline.mjs +0 -5
  832. package/esm2022/timeline/public-api.mjs +0 -4
  833. package/esm2022/timeline/timeline.component.mjs +0 -45
  834. package/esm2022/timeline/timeline.module.mjs +0 -16
  835. package/esm2022/timeline/timeline.property.mjs +0 -50
  836. package/esm2022/tooltip/ng-nest-ui-tooltip.mjs +0 -5
  837. package/esm2022/tooltip/public-api.mjs +0 -5
  838. package/esm2022/tooltip/tooltip-portal.component.mjs +0 -103
  839. package/esm2022/tooltip/tooltip.directive.mjs +0 -143
  840. package/esm2022/tooltip/tooltip.module.mjs +0 -16
  841. package/esm2022/tooltip/tooltip.property.mjs +0 -86
  842. package/esm2022/transfer/ng-nest-ui-transfer.mjs +0 -5
  843. package/esm2022/transfer/public-api.mjs +0 -4
  844. package/esm2022/transfer/transfer.component.mjs +0 -659
  845. package/esm2022/transfer/transfer.module.mjs +0 -16
  846. package/esm2022/transfer/transfer.property.mjs +0 -112
  847. package/esm2022/tree/ng-nest-ui-tree.mjs +0 -5
  848. package/esm2022/tree/public-api.mjs +0 -5
  849. package/esm2022/tree/tree-node.component.mjs +0 -297
  850. package/esm2022/tree/tree.component.mjs +0 -579
  851. package/esm2022/tree/tree.module.mjs +0 -17
  852. package/esm2022/tree/tree.property.mjs +0 -337
  853. package/esm2022/tree/tree.service.mjs +0 -102
  854. package/esm2022/tree-file/ng-nest-ui-tree-file.mjs +0 -5
  855. package/esm2022/tree-file/public-api.mjs +0 -4
  856. package/esm2022/tree-file/tree-file.component.mjs +0 -118
  857. package/esm2022/tree-file/tree-file.module.mjs +0 -16
  858. package/esm2022/tree-file/tree-file.property.mjs +0 -90
  859. package/esm2022/tree-select/ng-nest-ui-tree-select.mjs +0 -5
  860. package/esm2022/tree-select/public-api.mjs +0 -5
  861. package/esm2022/tree-select/tree-select-portal.component.mjs +0 -86
  862. package/esm2022/tree-select/tree-select.component.mjs +0 -659
  863. package/esm2022/tree-select/tree-select.module.mjs +0 -17
  864. package/esm2022/tree-select/tree-select.property.mjs +0 -237
  865. package/esm2022/typography/ng-nest-ui-typography.mjs +0 -5
  866. package/esm2022/typography/public-api.mjs +0 -4
  867. package/esm2022/typography/typography.component.mjs +0 -27
  868. package/esm2022/typography/typography.module.mjs +0 -16
  869. package/esm2022/typography/typography.property.mjs +0 -34
  870. package/esm2022/upload/ng-nest-ui-upload.mjs +0 -5
  871. package/esm2022/upload/public-api.mjs +0 -5
  872. package/esm2022/upload/upload-portal.component.mjs +0 -196
  873. package/esm2022/upload/upload.component.mjs +0 -233
  874. package/esm2022/upload/upload.module.mjs +0 -16
  875. package/esm2022/upload/upload.property.mjs +0 -118
  876. package/style/core/base.scss +0 -20
  877. package/style/core/cdk.scss +0 -72
  878. package/style/core/portal.scss +0 -5
  879. package/style/core/var.scss +0 -4
  880. package/style/mixins/index.scss +0 -9
  881. package/style/params/layout.scss +0 -73
  882. package/style/params/primary.scss +0 -208
  883. package/style/themes/default.scss +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-textarea.mjs","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 { XToBoolean, XToNumber, XToCssPixelValue } from '@ng-nest/ui/core';\r\nimport { Component, TemplateRef, input, output } from '@angular/core';\r\nimport { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\nimport type { XNumber, XBoolean, XPositionLeftRight, XDirection, XAlign, XJustify, XTemplate } from '@ng-nest/ui/core';\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_TEXTAREA_CONFIG_NAME = 'textarea';\r\n\r\n/**\r\n * Textarea Property\r\n */\r\n@Component({ selector: `${XTextareaPrefix}-property`, template: '' })\r\nexport class XTextareaProperty extends XFormControlFunction(X_TEXTAREA_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n readonly clearable = input<boolean, XBoolean>(this.config?.clearable ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n readonly icon = input<string>();\r\n /**\r\n * @zh_CN 图标布局方式\r\n * @en_US Icon layout\r\n */\r\n readonly iconLayout = input<XTextareaIconLayoutType>('right');\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n readonly iconSpin = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n readonly maxlength = input<number | null, XNumber>(null, { transform: XToNumber });\r\n /**\r\n * @zh_CN 高度\r\n * @en_US height\r\n */\r\n readonly height = input<string, XNumber>('6rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n override readonly placeholder = input<string | string[]>('');\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n override readonly label = input<string>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n override readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n override readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n override readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n override readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n override readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n override readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n override readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n override readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n override readonly pattern = input<RegExp | RegExp[] | any>(null);\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n override readonly message = input<string | string[]>([]);\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n override readonly inputValidator = input<(value: any) => boolean>();\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n readonly clearEmit = output<any>();\r\n}\r\n\r\n/**\r\n * Textarea Option\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?: boolean;\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?: boolean;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n maxlength?: number;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US height\r\n */\r\n height?: string;\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n clearEmit?: (value: any) => void;\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Input pointer\r\n */\r\n pointer?: boolean;\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n label?: string;\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n labelWidth?: string;\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n justify?: XJustify;\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n align?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n direction?: XDirection;\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n placeholder?: string;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n required?: boolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n readonly?: boolean;\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n valueTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n valueTplContext?: any;\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n before?: XTemplate;\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n after?: XTemplate;\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n pattern?: RegExp | RegExp[];\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n message?: string | string[];\r\n /**\r\n * @zh_CN 激活状态\r\n * @en_US Activation state\r\n */\r\n active?: boolean;\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n inputValidator?: (value: any) => boolean;\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 ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n inject,\r\n computed,\r\n viewChild\r\n} from '@angular/core';\r\nimport { XTextareaPrefix, XTextareaProperty } from './textarea.property';\r\nimport { XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { NgClass } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\n\r\n@Component({\r\n selector: `${XTextareaPrefix}`,\r\n standalone: true,\r\n imports: [NgClass, FormsModule, ReactiveFormsModule, XIconComponent],\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 {\r\n textareaRef = viewChild.required<ElementRef<HTMLElement>>('textareaRef');\r\n\r\n valueLength = computed(() => {\r\n if (this.maxlength()) {\r\n return XIsEmpty(this.value()) ? 0 : `${this.value()}`.length;\r\n }\r\n return 0;\r\n });\r\n lengthTotal = computed(() => {\r\n if (this.maxlength()) {\r\n return `${this.valueLength()}/${this.maxlength()}`;\r\n }\r\n return '';\r\n });\r\n\r\n clearShow = computed(() => {\r\n if (this.clearable() && !this.disabledComputed()) {\r\n return !XIsEmpty(this.value());\r\n } else {\r\n return false;\r\n }\r\n });\r\n\r\n getIcon = computed(() => !XIsEmpty(this.icon()));\r\n getIconLayoutLeft = computed(() => !XIsEmpty(this.icon()) && this.iconLayout() === 'left');\r\n getIconLayoutRight = computed(() => !XIsEmpty(this.icon()) && this.iconLayout() === 'right');\r\n paddingLeft = computed(() => (this.getIconLayoutLeft() ? 2.15 : 0.75));\r\n paddingRight = computed(() => (this.getIconLayoutRight() ? 2.15 : 0.75));\r\n\r\n configService = inject(XConfigService);\r\n\r\n classMap = computed(() => ({\r\n [`${XTextareaPrefix}-${this.size()}`]: !!this.size(),\r\n [`x-justify-${this.justify()}`]: !!this.justify(),\r\n [`x-align-${this.align()}`]: !!this.align(),\r\n [`x-direction-${this.direction()}`]: !!this.direction()\r\n }));\r\n labelMapSignal = computed(() => ({\r\n [`x-text-align-${this.labelAlign()}`]: !!this.labelAlign()\r\n }));\r\n\r\n change(value: any) {\r\n if (this.onChange) this.onChange(value);\r\n }\r\n\r\n onClear() {\r\n const clearValue = this.value();\r\n this.value.set('');\r\n this.change(this.value());\r\n this.clearEmit.emit(clearValue);\r\n this.textareaRef().nativeElement.focus();\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]=\"disabledComputed()\"\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 @if (label()) {\r\n <label [class.x-textarea-label-required]=\"requiredComputed()\" [style.width]=\"labelWidth()\" [ngClass]=\"labelMapSignal()\">{{\r\n label()\r\n }}</label>\r\n }\r\n <div class=\"x-textarea-row\">\r\n <textarea\r\n #textareaRef\r\n [placeholder]=\"placeholder()\"\r\n [required]=\"requiredComputed()\"\r\n [disabled]=\"disabledComputed()\"\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 (input)=\"formControlValidator()\"\r\n ></textarea>\r\n @if (clearShow()) {\r\n <x-icon class=\"x-textarea-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n }\r\n @if (icon() && ((!clearShow() && getIconLayoutRight()) || getIconLayoutLeft())) {\r\n <x-icon [type]=\"icon()\" [spin]=\"iconSpin()\"></x-icon>\r\n }\r\n @if (maxlength()) {\r\n <span class=\"x-textarea-max-length\">{{ lengthTotal() }}</span>\r\n }\r\n @if (invalid()) {\r\n <span class=\"x-textarea-error-message\">{{ invalidMessage() }}</span>\r\n }\r\n @if (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 }\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XTextareaComponent } from './textarea.component';\r\n\r\n@NgModule({\r\n exports: [XTextareaComponent],\r\n imports: [XTextareaComponent]\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.mjs","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 { XToBoolean, XToNumber, XToCssPixelValue } from '@ng-nest/ui/core';\r\nimport { Component, TemplateRef, input, output } from '@angular/core';\r\nimport { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\nimport type { XNumber, XBoolean, XPositionLeftRight, XDirection, XAlign, XJustify, XTemplate } from '@ng-nest/ui/core';\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_TEXTAREA_CONFIG_NAME = 'textarea';\r\n\r\n/**\r\n * Textarea Property\r\n */\r\n@Component({ selector: `${XTextareaPrefix}-property`, template: '' })\r\nexport class XTextareaProperty extends XFormControlFunction(X_TEXTAREA_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n readonly clearable = input<boolean, XBoolean>(this.config?.clearable ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n readonly icon = input<string>();\r\n /**\r\n * @zh_CN 图标布局方式\r\n * @en_US Icon layout\r\n */\r\n readonly iconLayout = input<XTextareaIconLayoutType>('right');\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n readonly iconSpin = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n readonly maxlength = input<number | null, XNumber>(null, { transform: XToNumber });\r\n /**\r\n * @zh_CN 高度\r\n * @en_US height\r\n */\r\n readonly height = input<string, XNumber>('6rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n override readonly placeholder = input<string | string[]>('');\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n override readonly label = input<string>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n override readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n override readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n override readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n override readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n override readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n override readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n override readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n override readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n override readonly pattern = input<RegExp | RegExp[] | any>(null);\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n override readonly message = input<string | string[]>([]);\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n override readonly inputValidator = input<(value: any) => boolean>();\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n readonly clearEmit = output<any>();\r\n}\r\n\r\n/**\r\n * Textarea Option\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?: boolean;\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?: boolean;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n maxlength?: number;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US height\r\n */\r\n height?: string;\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n clearEmit?: (value: any) => void;\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Input pointer\r\n */\r\n pointer?: boolean;\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n label?: string;\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n labelWidth?: string;\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n justify?: XJustify;\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n align?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n direction?: XDirection;\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n placeholder?: string;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n required?: boolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n readonly?: boolean;\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n valueTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n valueTplContext?: any;\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n before?: XTemplate;\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n after?: XTemplate;\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n pattern?: RegExp | RegExp[];\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n message?: string | string[];\r\n /**\r\n * @zh_CN 激活状态\r\n * @en_US Activation state\r\n */\r\n active?: boolean;\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n inputValidator?: (value: any) => boolean;\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 ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n inject,\r\n computed,\r\n viewChild\r\n} from '@angular/core';\r\nimport { XTextareaPrefix, XTextareaProperty } from './textarea.property';\r\nimport { XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { NgClass } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\n\r\n@Component({\r\n selector: `${XTextareaPrefix}`,\r\n imports: [NgClass, FormsModule, ReactiveFormsModule, XIconComponent],\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 {\r\n textareaRef = viewChild.required<ElementRef<HTMLElement>>('textareaRef');\r\n\r\n valueLength = computed(() => {\r\n if (this.maxlength()) {\r\n return XIsEmpty(this.value()) ? 0 : `${this.value()}`.length;\r\n }\r\n return 0;\r\n });\r\n lengthTotal = computed(() => {\r\n if (this.maxlength()) {\r\n return `${this.valueLength()}/${this.maxlength()}`;\r\n }\r\n return '';\r\n });\r\n\r\n clearShow = computed(() => {\r\n if (this.clearable() && !this.disabledComputed()) {\r\n return !XIsEmpty(this.value());\r\n } else {\r\n return false;\r\n }\r\n });\r\n\r\n getIcon = computed(() => !XIsEmpty(this.icon()));\r\n getIconLayoutLeft = computed(() => !XIsEmpty(this.icon()) && this.iconLayout() === 'left');\r\n getIconLayoutRight = computed(() => !XIsEmpty(this.icon()) && this.iconLayout() === 'right');\r\n paddingLeft = computed(() => (this.getIconLayoutLeft() ? 2.15 : 0.75));\r\n paddingRight = computed(() => (this.getIconLayoutRight() ? 2.15 : 0.75));\r\n\r\n configService = inject(XConfigService);\r\n\r\n classMap = computed(() => ({\r\n [`${XTextareaPrefix}-${this.size()}`]: !!this.size(),\r\n [`x-justify-${this.justify()}`]: !!this.justify(),\r\n [`x-align-${this.align()}`]: !!this.align(),\r\n [`x-direction-${this.direction()}`]: !!this.direction()\r\n }));\r\n labelMapSignal = computed(() => ({\r\n [`x-text-align-${this.labelAlign()}`]: !!this.labelAlign()\r\n }));\r\n\r\n change(value: any) {\r\n if (this.onChange) this.onChange(value);\r\n }\r\n\r\n onClear() {\r\n const clearValue = this.value();\r\n this.value.set('');\r\n this.change(this.value());\r\n this.clearEmit.emit(clearValue);\r\n this.textareaRef().nativeElement.focus();\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]=\"disabledComputed()\"\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 @if (label()) {\r\n <label [class.x-textarea-label-required]=\"requiredComputed()\" [style.width]=\"labelWidth()\" [ngClass]=\"labelMapSignal()\">{{\r\n label()\r\n }}</label>\r\n }\r\n <div class=\"x-textarea-row\">\r\n <textarea\r\n #textareaRef\r\n [placeholder]=\"placeholder()\"\r\n [required]=\"requiredComputed()\"\r\n [disabled]=\"disabledComputed()\"\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 (input)=\"formControlValidator()\"\r\n ></textarea>\r\n @if (clearShow()) {\r\n <x-icon class=\"x-textarea-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n }\r\n @if (icon() && ((!clearShow() && getIconLayoutRight()) || getIconLayoutLeft())) {\r\n <x-icon [type]=\"icon()\" [spin]=\"iconSpin()\"></x-icon>\r\n }\r\n @if (maxlength()) {\r\n <span class=\"x-textarea-max-length\">{{ lengthTotal() }}</span>\r\n }\r\n @if (invalid()) {\r\n <span class=\"x-textarea-error-message\">{{ invalidMessage() }}</span>\r\n }\r\n @if (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 }\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XTextareaComponent } from './textarea.component';\r\n\r\n@NgModule({\r\n exports: [XTextareaComponent],\r\n imports: [XTextareaComponent]\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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"}
@@ -7,7 +7,7 @@ import { UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/for
7
7
  import { XFormComponent } from '@ng-nest/ui/form';
8
8
  import { map, debounceTime, takeUntil } from 'rxjs/operators';
9
9
  import { Subject } from 'rxjs';
10
- import { XI18nService, zh_CN, XI18nDirective } from '@ng-nest/ui/i18n';
10
+ import { XI18nService, zh_CN } from '@ng-nest/ui/i18n';
11
11
  import { XSwitchComponent } from '@ng-nest/ui/switch';
12
12
  import { XButtonComponent } from '@ng-nest/ui/button';
13
13
  import { XRowComponent, XColComponent } from '@ng-nest/ui/layout';
@@ -64,10 +64,10 @@ class XThemeProperty extends XFormControlFunction(X_THEME_CONFIG_NAME) {
64
64
  */
65
65
  this.defaultClick = output();
66
66
  }
67
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
68
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XThemeProperty, selector: "x-theme-property", inputs: { prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, amounts: { classPropertyName: "amounts", publicName: "amounts", isSignal: true, isRequired: false, transformFunction: null }, showDark: { classPropertyName: "showDark", publicName: "showDark", isSignal: true, isRequired: false, transformFunction: null }, showDetail: { classPropertyName: "showDetail", publicName: "showDetail", isSignal: true, isRequired: false, transformFunction: null }, dark: { classPropertyName: "dark", publicName: "dark", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dark: "darkChange", defaultClick: "defaultClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
67
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XThemeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
68
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: XThemeProperty, isStandalone: true, selector: "x-theme-property", inputs: { prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, amounts: { classPropertyName: "amounts", publicName: "amounts", isSignal: true, isRequired: false, transformFunction: null }, showDark: { classPropertyName: "showDark", publicName: "showDark", isSignal: true, isRequired: false, transformFunction: null }, showDetail: { classPropertyName: "showDetail", publicName: "showDetail", isSignal: true, isRequired: false, transformFunction: null }, dark: { classPropertyName: "dark", publicName: "dark", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dark: "darkChange", defaultClick: "defaultClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeProperty, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XThemeProperty, decorators: [{
71
71
  type: Component,
72
72
  args: [{ selector: `${XThemePrefix}-property`, template: '' }]
73
73
  }] });
@@ -219,29 +219,28 @@ class XThemeComponent extends XThemeProperty {
219
219
  }
220
220
  this.formGroup().patchValue(colors);
221
221
  }
222
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
223
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XThemeComponent, isStandalone: true, selector: "x-theme", providers: [XValueAccessor(XThemeComponent)], usesInheritance: true, ngImport: i0, template: "<div class=\"x-theme\">\r\n <x-row>\r\n @if (showDark()) {\r\n <x-col [style.width.rem]=\"8\">\r\n <x-switch\r\n direction=\"row\"\r\n [label]=\"locale().darkMode!\"\r\n [(ngModel)]=\"dark\"\r\n (ngModelChange)=\"darkChanges()\"\r\n ></x-switch>\r\n </x-col>\r\n }\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}.x-theme{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"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: XSwitchComponent, selector: "x-switch" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XRowComponent, selector: "x-row" }, { kind: "component", type: XColComponent, selector: "x-col" }, { kind: "component", type: XFormComponent, selector: "x-form" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
222
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XThemeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
223
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: XThemeComponent, isStandalone: true, selector: "x-theme", providers: [XValueAccessor(XThemeComponent)], usesInheritance: true, ngImport: i0, template: "<div class=\"x-theme\">\r\n <x-row>\r\n @if (showDark()) {\r\n <x-col [style.width.rem]=\"8\">\r\n <x-switch\r\n direction=\"row\"\r\n [label]=\"locale().darkMode!\"\r\n [(ngModel)]=\"dark\"\r\n (ngModelChange)=\"darkChanges()\"\r\n ></x-switch>\r\n </x-col>\r\n }\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}.x-theme{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"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: XSwitchComponent, selector: "x-switch" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XRowComponent, selector: "x-row" }, { kind: "component", type: XColComponent, selector: "x-col" }, { kind: "component", type: XFormComponent, selector: "x-form" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
224
224
  }
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeComponent, decorators: [{
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XThemeComponent, decorators: [{
226
226
  type: Component,
227
- args: [{ selector: 'x-theme', standalone: true, imports: [
227
+ args: [{ selector: 'x-theme', imports: [
228
228
  FormsModule,
229
229
  ReactiveFormsModule,
230
230
  XSwitchComponent,
231
231
  XButtonComponent,
232
232
  XRowComponent,
233
233
  XColComponent,
234
- XFormComponent,
235
- XI18nDirective
234
+ XFormComponent
236
235
  ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XThemeComponent)], template: "<div class=\"x-theme\">\r\n <x-row>\r\n @if (showDark()) {\r\n <x-col [style.width.rem]=\"8\">\r\n <x-switch\r\n direction=\"row\"\r\n [label]=\"locale().darkMode!\"\r\n [(ngModel)]=\"dark\"\r\n (ngModelChange)=\"darkChanges()\"\r\n ></x-switch>\r\n </x-col>\r\n }\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}.x-theme{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"] }]
237
236
  }], ctorParameters: () => [] });
238
237
 
239
238
  class XThemeModule {
240
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
241
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XThemeModule, imports: [XThemeComponent], exports: [XThemeComponent] }); }
242
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeModule, imports: [XThemeComponent] }); }
239
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
240
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: XThemeModule, imports: [XThemeComponent], exports: [XThemeComponent] }); }
241
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XThemeModule, imports: [XThemeComponent] }); }
243
242
  }
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeModule, decorators: [{
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XThemeModule, decorators: [{
245
244
  type: NgModule,
246
245
  args: [{
247
246
  exports: [XThemeComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-theme.mjs","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 { XColorsTheme, XBoolean, XToBoolean } from '@ng-nest/ui/core';\r\nimport { Component, input, model, output } from '@angular/core';\r\nimport { XFormControlFunction } 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\nconst X_THEME_CONFIG_NAME = 'theme';\r\n\r\n/**\r\n * @zh_CN 混合的颜色占比\r\n * @en_US Proportion of mixed colors\r\n */\r\nexport const XThemeAmounts = [\r\n -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/**\r\n * Theme Property\r\n */\r\n@Component({ selector: `${XThemePrefix}-property`, template: '' })\r\nexport class XThemeProperty extends XFormControlFunction(X_THEME_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 参数前缀\r\n * @en_US Parameter prefix\r\n */\r\n readonly prefix = input<string>('--x-');\r\n /**\r\n * @zh_CN 混合的颜色占比\r\n * @en_US Proportion of mixed colors\r\n */\r\n readonly amounts = input<number[]>(this.config?.amounts ?? XThemeAmounts);\r\n /**\r\n * @zh_CN 显示暗黑模式的设置\r\n * @en_US Show dark mode settings\r\n */\r\n readonly showDark = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 详细设置\r\n * @en_US Detailed settings\r\n */\r\n readonly showDetail = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 暗黑模式\r\n * @en_US Dark mode\r\n */\r\n readonly dark = model(false);\r\n /**\r\n * @zh_CN 初始化默认值事件\r\n * @en_US Initialize default value event\r\n */\r\n readonly defaultClick = output<XColorsTheme>();\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n inject,\r\n AfterViewInit,\r\n signal,\r\n effect\r\n} from '@angular/core';\r\nimport { XThemeProperty } from './theme.property';\r\nimport {\r\n XConfigService,\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 { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\r\nimport { XControl, XFormComponent } from '@ng-nest/ui/form';\r\nimport { debounceTime, takeUntil, map } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { XI18nDirective, XI18nService, XI18nTheme, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XSwitchComponent } from '@ng-nest/ui/switch';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { XColComponent, XRowComponent } from '@ng-nest/ui/layout';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: 'x-theme',\r\n standalone: true,\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XSwitchComponent,\r\n XButtonComponent,\r\n XRowComponent,\r\n XColComponent,\r\n XFormComponent,\r\n XI18nDirective\r\n ],\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, AfterViewInit, OnDestroy {\r\n public i18n = inject(XI18nService);\r\n configService = inject(XConfigService);\r\n themeService = this.configService.themeService;\r\n\r\n formGroup = signal(new UntypedFormGroup({}));\r\n theme = signal<XTheme>({ colors: {} });\r\n width = signal('45rem');\r\n beforeColors = signal<XColorsTheme>({});\r\n currentColors = signal<XColorsTheme>({});\r\n darkBeforeColors = signal<XColorsTheme>({});\r\n controls = signal<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 override value = signal<XColorsTheme>({});\r\n\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.theme as XI18nTheme)), { initialValue: zh_CN.theme });\r\n\r\n private unSubject = new Subject<void>();\r\n\r\n override writeValue(value: XColorsTheme) {\r\n this.value.set(value);\r\n if (this.value() && Object.keys(this.value()).length > 0) {\r\n this.theme.set({\r\n colors: this.themeService.getDefineColors(\r\n Object.assign({}, X_THEME_COLORS, this.value()),\r\n '',\r\n this.dark() as boolean\r\n )\r\n });\r\n this.formGroup().patchValue(this.theme().colors as XColorsTheme);\r\n }\r\n }\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.setControlsLabel());\r\n effect(() => {\r\n if (this.dark()) {\r\n this.themeService.changed.next('dark');\r\n } else {\r\n this.themeService.changed.next('light');\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.theme.set(this.configService.getTheme(true));\r\n this.setControls();\r\n this.setDefaultColors();\r\n this.controls.update((controls) => {\r\n controls.map((x: XControl) => {\r\n x.value = (this.theme().colors as XColorsTheme)[x.id];\r\n });\r\n return [...controls];\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.formGroup()\r\n .valueChanges.pipe(debounceTime(100), takeUntil(this.unSubject))\r\n .subscribe((x: XColorsTheme) => {\r\n this.beforeColors.set(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()\r\n ? this.themeService.setColorRoot(key, value, '')\r\n : this.themeService.setDarkColorRoot(key, value, '');\r\n Object.assign(x, colors);\r\n this.currentColors.set(x);\r\n this.formGroup().patchValue(x);\r\n } else {\r\n this.currentColors.set(x);\r\n this.value.set(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.complete();\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.set(this.theme().colors as XColorsTheme);\r\n this.currentColors.set(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.set(!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)}`,\r\n label: '',\r\n hidden: !this.showDetail\r\n });\r\n }\r\n this.controls.update((x) => {\r\n x.splice(index * this.amounts().length + index + 1, 0, ...addControls);\r\n return [...x];\r\n });\r\n });\r\n }\r\n\r\n default() {\r\n this.dark.set(false);\r\n let colors = this.themeService.getDefineColors(Object.assign({}, X_THEME_COLORS), '', this.dark());\r\n this.beforeColors.set(colors);\r\n this.currentColors.set(colors);\r\n this.formGroup().patchValue(colors);\r\n this.defaultClick.emit(colors);\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();\r\n if (this.dark()) {\r\n this.beforeColors.set(this.formGroup().value);\r\n this.darkBeforeColors.set(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()\r\n );\r\n }\r\n this.formGroup().patchValue(colors);\r\n }\r\n}\r\n","<div class=\"x-theme\">\r\n <x-row>\r\n @if (showDark()) {\r\n <x-col [style.width.rem]=\"8\">\r\n <x-switch\r\n direction=\"row\"\r\n [label]=\"locale().darkMode!\"\r\n [(ngModel)]=\"dark\"\r\n (ngModelChange)=\"darkChanges()\"\r\n ></x-switch>\r\n </x-col>\r\n }\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 { XThemeComponent } from './theme.component';\r\n\r\n@NgModule({\r\n exports: [XThemeComponent],\r\n imports: [XThemeComponent]\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.mjs","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 { XColorsTheme, XBoolean, XToBoolean } from '@ng-nest/ui/core';\r\nimport { Component, input, model, output } from '@angular/core';\r\nimport { XFormControlFunction } 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\nconst X_THEME_CONFIG_NAME = 'theme';\r\n\r\n/**\r\n * @zh_CN 混合的颜色占比\r\n * @en_US Proportion of mixed colors\r\n */\r\nexport const XThemeAmounts = [\r\n -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/**\r\n * Theme Property\r\n */\r\n@Component({ selector: `${XThemePrefix}-property`, template: '' })\r\nexport class XThemeProperty extends XFormControlFunction(X_THEME_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 参数前缀\r\n * @en_US Parameter prefix\r\n */\r\n readonly prefix = input<string>('--x-');\r\n /**\r\n * @zh_CN 混合的颜色占比\r\n * @en_US Proportion of mixed colors\r\n */\r\n readonly amounts = input<number[]>(this.config?.amounts ?? XThemeAmounts);\r\n /**\r\n * @zh_CN 显示暗黑模式的设置\r\n * @en_US Show dark mode settings\r\n */\r\n readonly showDark = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 详细设置\r\n * @en_US Detailed settings\r\n */\r\n readonly showDetail = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 暗黑模式\r\n * @en_US Dark mode\r\n */\r\n readonly dark = model(false);\r\n /**\r\n * @zh_CN 初始化默认值事件\r\n * @en_US Initialize default value event\r\n */\r\n readonly defaultClick = output<XColorsTheme>();\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n inject,\r\n AfterViewInit,\r\n signal,\r\n effect\r\n} from '@angular/core';\r\nimport { XThemeProperty } from './theme.property';\r\nimport {\r\n XConfigService,\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 { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\r\nimport { XControl, XFormComponent } from '@ng-nest/ui/form';\r\nimport { debounceTime, takeUntil, map } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { XI18nService, XI18nTheme, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XSwitchComponent } from '@ng-nest/ui/switch';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { XColComponent, XRowComponent } from '@ng-nest/ui/layout';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: 'x-theme',\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XSwitchComponent,\r\n XButtonComponent,\r\n XRowComponent,\r\n XColComponent,\r\n XFormComponent\r\n ],\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, AfterViewInit, OnDestroy {\r\n public i18n = inject(XI18nService);\r\n configService = inject(XConfigService);\r\n themeService = this.configService.themeService;\r\n\r\n formGroup = signal(new UntypedFormGroup({}));\r\n theme = signal<XTheme>({ colors: {} });\r\n width = signal('45rem');\r\n beforeColors = signal<XColorsTheme>({});\r\n currentColors = signal<XColorsTheme>({});\r\n darkBeforeColors = signal<XColorsTheme>({});\r\n controls = signal<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 override value = signal<XColorsTheme>({});\r\n\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.theme as XI18nTheme)), { initialValue: zh_CN.theme });\r\n\r\n private unSubject = new Subject<void>();\r\n\r\n override writeValue(value: XColorsTheme) {\r\n this.value.set(value);\r\n if (this.value() && Object.keys(this.value()).length > 0) {\r\n this.theme.set({\r\n colors: this.themeService.getDefineColors(\r\n Object.assign({}, X_THEME_COLORS, this.value()),\r\n '',\r\n this.dark() as boolean\r\n )\r\n });\r\n this.formGroup().patchValue(this.theme().colors as XColorsTheme);\r\n }\r\n }\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.setControlsLabel());\r\n effect(() => {\r\n if (this.dark()) {\r\n this.themeService.changed.next('dark');\r\n } else {\r\n this.themeService.changed.next('light');\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.theme.set(this.configService.getTheme(true));\r\n this.setControls();\r\n this.setDefaultColors();\r\n this.controls.update((controls) => {\r\n controls.map((x: XControl) => {\r\n x.value = (this.theme().colors as XColorsTheme)[x.id];\r\n });\r\n return [...controls];\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.formGroup()\r\n .valueChanges.pipe(debounceTime(100), takeUntil(this.unSubject))\r\n .subscribe((x: XColorsTheme) => {\r\n this.beforeColors.set(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()\r\n ? this.themeService.setColorRoot(key, value, '')\r\n : this.themeService.setDarkColorRoot(key, value, '');\r\n Object.assign(x, colors);\r\n this.currentColors.set(x);\r\n this.formGroup().patchValue(x);\r\n } else {\r\n this.currentColors.set(x);\r\n this.value.set(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.complete();\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.set(this.theme().colors as XColorsTheme);\r\n this.currentColors.set(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.set(!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)}`,\r\n label: '',\r\n hidden: !this.showDetail\r\n });\r\n }\r\n this.controls.update((x) => {\r\n x.splice(index * this.amounts().length + index + 1, 0, ...addControls);\r\n return [...x];\r\n });\r\n });\r\n }\r\n\r\n default() {\r\n this.dark.set(false);\r\n let colors = this.themeService.getDefineColors(Object.assign({}, X_THEME_COLORS), '', this.dark());\r\n this.beforeColors.set(colors);\r\n this.currentColors.set(colors);\r\n this.formGroup().patchValue(colors);\r\n this.defaultClick.emit(colors);\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();\r\n if (this.dark()) {\r\n this.beforeColors.set(this.formGroup().value);\r\n this.darkBeforeColors.set(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()\r\n );\r\n }\r\n this.formGroup().patchValue(colors);\r\n }\r\n}\r\n","<div class=\"x-theme\">\r\n <x-row>\r\n @if (showDark()) {\r\n <x-col [style.width.rem]=\"8\">\r\n <x-switch\r\n direction=\"row\"\r\n [label]=\"locale().darkMode!\"\r\n [(ngModel)]=\"dark\"\r\n (ngModelChange)=\"darkChanges()\"\r\n ></x-switch>\r\n </x-col>\r\n }\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 { XThemeComponent } from './theme.component';\r\n\r\n@NgModule({\r\n exports: [XThemeComponent],\r\n imports: [XThemeComponent]\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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"}
@@ -67,20 +67,20 @@ class XTimeAgoPipe extends DatePipe {
67
67
  result = this.localeI18n()?.just;
68
68
  return result;
69
69
  }
70
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
71
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoPipe, isStandalone: true, name: "xTimeAgo" }); }
70
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimeAgoPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
71
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: XTimeAgoPipe, isStandalone: true, name: "xTimeAgo" }); }
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoPipe, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimeAgoPipe, decorators: [{
74
74
  type: Pipe,
75
- args: [{ name: `${XTimeAgoPrefix}`, standalone: true }]
75
+ args: [{ name: `${XTimeAgoPrefix}` }]
76
76
  }] });
77
77
 
78
78
  class XTimeAgoModule {
79
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
80
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoModule, imports: [XTimeAgoPipe], exports: [XTimeAgoPipe] }); }
81
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoModule }); }
79
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimeAgoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
80
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: XTimeAgoModule, imports: [XTimeAgoPipe], exports: [XTimeAgoPipe] }); }
81
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimeAgoModule }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoModule, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimeAgoModule, decorators: [{
84
84
  type: NgModule,
85
85
  args: [{
86
86
  exports: [XTimeAgoPipe],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-time-ago.mjs","sources":["../../../../lib/ng-nest/ui/time-ago/time-ago.property.ts","../../../../lib/ng-nest/ui/time-ago/time-ago.pipe.ts","../../../../lib/ng-nest/ui/time-ago/time-ago.module.ts","../../../../lib/ng-nest/ui/time-ago/ng-nest-ui-time-ago.ts"],"sourcesContent":["/**\r\n * TimeAgo\r\n * @selector xTimeAgo\r\n * @decorator pipe\r\n */\r\nexport const XTimeAgoPrefix = 'xTimeAgo';\r\n","import { Pipe, PipeTransform, inject } from '@angular/core';\r\nimport { XToDate } from '@ng-nest/ui/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { XTimeAgoPrefix } from './time-ago.property';\r\nimport { XI18nService, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { map } from 'rxjs';\r\n\r\n@Pipe({ name: `${XTimeAgoPrefix}`, standalone: true })\r\nexport class XTimeAgoPipe extends DatePipe implements PipeTransform {\r\n private i18n = inject(XI18nService);\r\n private catchContent: any;\r\n\r\n localeI18n = toSignal(this.i18n.localeChange.pipe(map((x) => x.timeAgo)), { initialValue: zh_CN.timeAgo });\r\n\r\n override transform(input?: any): any {\r\n if (!input) return '';\r\n const date = XToDate(input);\r\n if (isNaN(date.valueOf())) {\r\n return input as string;\r\n }\r\n const content = this.getDiff(date);\r\n if (this.catchContent !== content) {\r\n this.catchContent = content;\r\n }\r\n return this.catchContent;\r\n }\r\n\r\n getDiff(date: Date): string {\r\n const time = date.getTime();\r\n const second = 1000;\r\n const minute = 1000 * 60;\r\n const hour = minute * 60;\r\n const day = hour * 24;\r\n const now = new Date();\r\n const diffValue = now.getTime() - time;\r\n if (diffValue < 0) {\r\n return '';\r\n }\r\n const dayDiff = diffValue / day;\r\n const hourDiff = diffValue / hour;\r\n const minDiff = diffValue / minute;\r\n const secondDiff = diffValue / second;\r\n let result = '';\r\n if (date.getFullYear() !== now.getFullYear()) {\r\n result = super.transform(time, 'yyyy-MM-dd') as string;\r\n } else if (dayDiff >= 1) {\r\n result = super.transform(time, 'MM-dd HH:mm') as string;\r\n } else if (hourDiff >= 1) {\r\n result = `${Math.floor(hourDiff)}${this.localeI18n()?.hoursAgo}`;\r\n } else if (minDiff >= 1) {\r\n result = `${Math.floor(minDiff)}${this.localeI18n()?.minutesAgo}`;\r\n } else if (secondDiff >= 1) {\r\n result = `${Math.floor(secondDiff)}${this.localeI18n()?.secondsAgo}`;\r\n } else result = this.localeI18n()?.just as string;\r\n return result;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XTimeAgoPipe } from './time-ago.pipe';\r\n\r\n@NgModule({\r\n exports: [XTimeAgoPipe],\r\n imports: [XTimeAgoPipe]\r\n})\r\nexport class XTimeAgoModule {}\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-time-ago.mjs","sources":["../../../../lib/ng-nest/ui/time-ago/time-ago.property.ts","../../../../lib/ng-nest/ui/time-ago/time-ago.pipe.ts","../../../../lib/ng-nest/ui/time-ago/time-ago.module.ts","../../../../lib/ng-nest/ui/time-ago/ng-nest-ui-time-ago.ts"],"sourcesContent":["/**\r\n * TimeAgo\r\n * @selector xTimeAgo\r\n * @decorator pipe\r\n */\r\nexport const XTimeAgoPrefix = 'xTimeAgo';\r\n","import { Pipe, PipeTransform, inject } from '@angular/core';\r\nimport { XToDate } from '@ng-nest/ui/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { XTimeAgoPrefix } from './time-ago.property';\r\nimport { XI18nService, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { map } from 'rxjs';\r\n\r\n@Pipe({ name: `${XTimeAgoPrefix}` })\r\nexport class XTimeAgoPipe extends DatePipe implements PipeTransform {\r\n private i18n = inject(XI18nService);\r\n private catchContent: any;\r\n\r\n localeI18n = toSignal(this.i18n.localeChange.pipe(map((x) => x.timeAgo)), { initialValue: zh_CN.timeAgo });\r\n\r\n override transform(input?: any): any {\r\n if (!input) return '';\r\n const date = XToDate(input);\r\n if (isNaN(date.valueOf())) {\r\n return input as string;\r\n }\r\n const content = this.getDiff(date);\r\n if (this.catchContent !== content) {\r\n this.catchContent = content;\r\n }\r\n return this.catchContent;\r\n }\r\n\r\n getDiff(date: Date): string {\r\n const time = date.getTime();\r\n const second = 1000;\r\n const minute = 1000 * 60;\r\n const hour = minute * 60;\r\n const day = hour * 24;\r\n const now = new Date();\r\n const diffValue = now.getTime() - time;\r\n if (diffValue < 0) {\r\n return '';\r\n }\r\n const dayDiff = diffValue / day;\r\n const hourDiff = diffValue / hour;\r\n const minDiff = diffValue / minute;\r\n const secondDiff = diffValue / second;\r\n let result = '';\r\n if (date.getFullYear() !== now.getFullYear()) {\r\n result = super.transform(time, 'yyyy-MM-dd') as string;\r\n } else if (dayDiff >= 1) {\r\n result = super.transform(time, 'MM-dd HH:mm') as string;\r\n } else if (hourDiff >= 1) {\r\n result = `${Math.floor(hourDiff)}${this.localeI18n()?.hoursAgo}`;\r\n } else if (minDiff >= 1) {\r\n result = `${Math.floor(minDiff)}${this.localeI18n()?.minutesAgo}`;\r\n } else if (secondDiff >= 1) {\r\n result = `${Math.floor(secondDiff)}${this.localeI18n()?.secondsAgo}`;\r\n } else result = this.localeI18n()?.just as string;\r\n return result;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XTimeAgoPipe } from './time-ago.pipe';\r\n\r\n@NgModule({\r\n exports: [XTimeAgoPipe],\r\n imports: [XTimeAgoPipe]\r\n})\r\nexport class XTimeAgoModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -189,10 +189,10 @@ class XTimePickerProperty extends XFormControlFunction(X_TIME_PICKER_CONFIG_NAME
189
189
  */
190
190
  this.nodeEmit = output();
191
191
  }
192
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
193
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XTimePickerProperty, selector: "x-time-picker-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, use12Hours: { classPropertyName: "use12Hours", publicName: "use12Hours", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, hourStep: { classPropertyName: "hourStep", publicName: "hourStep", isSignal: true, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null }, secondStep: { classPropertyName: "secondStep", publicName: "secondStep", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, validator: { classPropertyName: "validator", publicName: "validator", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
192
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimePickerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
193
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: XTimePickerProperty, isStandalone: true, selector: "x-time-picker-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, use12Hours: { classPropertyName: "use12Hours", publicName: "use12Hours", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, hourStep: { classPropertyName: "hourStep", publicName: "hourStep", isSignal: true, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null }, secondStep: { classPropertyName: "secondStep", publicName: "secondStep", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, validator: { classPropertyName: "validator", publicName: "validator", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
194
194
  }
195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerProperty, decorators: [{
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimePickerProperty, decorators: [{
196
196
  type: Component,
197
197
  args: [{ selector: `${XTimePickerPrefix}-property`, template: '' }]
198
198
  }] });
@@ -503,12 +503,12 @@ class XTimePickerFrameComponent {
503
503
  }
504
504
  });
505
505
  }
506
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerFrameComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
507
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XTimePickerFrameComponent, isStandalone: true, selector: "x-time-picker-frame", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, use12Hours: { classPropertyName: "use12Hours", publicName: "use12Hours", isSignal: true, isRequired: false, transformFunction: null }, hourStep: { classPropertyName: "hourStep", publicName: "hourStep", isSignal: true, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null }, secondStep: { classPropertyName: "secondStep", publicName: "secondStep", isSignal: true, isRequired: false, transformFunction: null }, defaultNow: { classPropertyName: "defaultNow", publicName: "defaultNow", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, disabledTimeParam: { classPropertyName: "disabledTimeParam", publicName: "disabledTimeParam", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { nodeEmit: "nodeEmit" }, viewQueries: [{ propertyName: "hourRef", first: true, predicate: ["hourRef"], descendants: true, isSignal: true }, { propertyName: "minuteRef", first: true, predicate: ["minuteRef"], descendants: true, isSignal: true }, { propertyName: "secondRef", first: true, predicate: ["secondRef"], descendants: true, isSignal: true }, { propertyName: "use12HoursRef", first: true, predicate: ["use12HoursRef"], descendants: true, isSignal: 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]=\"hourData()\" [(ngModel)]=\"hour\" (nodeClick)=\"itemClick('hour')\"></x-list>\r\n </div>\r\n @if (type() !== 'hour') {\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef>\r\n <x-list [data]=\"minuteData()\" [(ngModel)]=\"minute\" (nodeClick)=\"itemClick('minute')\"></x-list>\r\n </div>\r\n }\r\n @if (type() === 'time') {\r\n <div class=\"x-time-picker-frame-second\" #secondRef>\r\n <x-list [data]=\"secondData()\" [(ngModel)]=\"second\" (nodeClick)=\"itemClick('second')\"></x-list>\r\n </div>\r\n }\r\n @if (use12Hours()) {\r\n <div class=\"x-time-picker-frame-use12Hours\" #use12HoursRef>\r\n <x-list [data]=\"use12HoursData()\" [(ngModel)]=\"use12Hour\" (nodeClick)=\"itemClick('use12Hours')\"></x-list>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-frame{margin:0;padding:0}.x-time-picker-frame{display:block;height:100%}.x-time-picker-frame>div{width:4.25rem;max-height:16rem;padding-bottom:13.5rem;padding:.25rem .25rem 13.75rem}.x-time-picker-frame>div:first-child{width:4.125rem}.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,.x-time-picker-frame-use12Hours{position:relative;float:left;overflow:hidden}.x-time-picker-frame-hour:hover,.x-time-picker-frame-minute:hover,.x-time-picker-frame-second:hover,.x-time-picker-frame-use12Hours: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,.x-time-picker-frame-use12Hours>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,.x-time-picker-frame-use12Hours>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,.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option{padding-left:.6rem;border-radius:0}.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),.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option:not(:first-child){margin-top:0}.x-time-picker-frame-use12Hours{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option{min-width:4.5rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XListComponent, selector: "x-list" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
506
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimePickerFrameComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
507
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: XTimePickerFrameComponent, isStandalone: true, selector: "x-time-picker-frame", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, use12Hours: { classPropertyName: "use12Hours", publicName: "use12Hours", isSignal: true, isRequired: false, transformFunction: null }, hourStep: { classPropertyName: "hourStep", publicName: "hourStep", isSignal: true, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null }, secondStep: { classPropertyName: "secondStep", publicName: "secondStep", isSignal: true, isRequired: false, transformFunction: null }, defaultNow: { classPropertyName: "defaultNow", publicName: "defaultNow", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, disabledTimeParam: { classPropertyName: "disabledTimeParam", publicName: "disabledTimeParam", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { nodeEmit: "nodeEmit" }, viewQueries: [{ propertyName: "hourRef", first: true, predicate: ["hourRef"], descendants: true, isSignal: true }, { propertyName: "minuteRef", first: true, predicate: ["minuteRef"], descendants: true, isSignal: true }, { propertyName: "secondRef", first: true, predicate: ["secondRef"], descendants: true, isSignal: true }, { propertyName: "use12HoursRef", first: true, predicate: ["use12HoursRef"], descendants: true, isSignal: 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]=\"hourData()\" [(ngModel)]=\"hour\" (nodeClick)=\"itemClick('hour')\"></x-list>\r\n </div>\r\n @if (type() !== 'hour') {\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef>\r\n <x-list [data]=\"minuteData()\" [(ngModel)]=\"minute\" (nodeClick)=\"itemClick('minute')\"></x-list>\r\n </div>\r\n }\r\n @if (type() === 'time') {\r\n <div class=\"x-time-picker-frame-second\" #secondRef>\r\n <x-list [data]=\"secondData()\" [(ngModel)]=\"second\" (nodeClick)=\"itemClick('second')\"></x-list>\r\n </div>\r\n }\r\n @if (use12Hours()) {\r\n <div class=\"x-time-picker-frame-use12Hours\" #use12HoursRef>\r\n <x-list [data]=\"use12HoursData()\" [(ngModel)]=\"use12Hour\" (nodeClick)=\"itemClick('use12Hours')\"></x-list>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-frame{margin:0;padding:0}.x-time-picker-frame{display:block;height:100%}.x-time-picker-frame>div{width:4.25rem;max-height:16rem;padding-bottom:13.5rem;padding:.25rem .25rem 13.75rem}.x-time-picker-frame>div:first-child{width:4.125rem}.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,.x-time-picker-frame-use12Hours{position:relative;float:left;overflow:hidden}.x-time-picker-frame-hour:hover,.x-time-picker-frame-minute:hover,.x-time-picker-frame-second:hover,.x-time-picker-frame-use12Hours: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,.x-time-picker-frame-use12Hours>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,.x-time-picker-frame-use12Hours>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,.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option{padding-left:.6rem;border-radius:0}.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),.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option:not(:first-child){margin-top:0}.x-time-picker-frame-use12Hours{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option{min-width:4.5rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XListComponent, selector: "x-list" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
508
508
  }
509
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerFrameComponent, decorators: [{
509
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimePickerFrameComponent, decorators: [{
510
510
  type: Component,
511
- args: [{ selector: `${XTimePickerFramePrefix}`, standalone: true, imports: [FormsModule, XListComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-time-picker-frame\">\r\n <div class=\"x-time-picker-frame-hour\" #hourRef>\r\n <x-list [data]=\"hourData()\" [(ngModel)]=\"hour\" (nodeClick)=\"itemClick('hour')\"></x-list>\r\n </div>\r\n @if (type() !== 'hour') {\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef>\r\n <x-list [data]=\"minuteData()\" [(ngModel)]=\"minute\" (nodeClick)=\"itemClick('minute')\"></x-list>\r\n </div>\r\n }\r\n @if (type() === 'time') {\r\n <div class=\"x-time-picker-frame-second\" #secondRef>\r\n <x-list [data]=\"secondData()\" [(ngModel)]=\"second\" (nodeClick)=\"itemClick('second')\"></x-list>\r\n </div>\r\n }\r\n @if (use12Hours()) {\r\n <div class=\"x-time-picker-frame-use12Hours\" #use12HoursRef>\r\n <x-list [data]=\"use12HoursData()\" [(ngModel)]=\"use12Hour\" (nodeClick)=\"itemClick('use12Hours')\"></x-list>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-frame{margin:0;padding:0}.x-time-picker-frame{display:block;height:100%}.x-time-picker-frame>div{width:4.25rem;max-height:16rem;padding-bottom:13.5rem;padding:.25rem .25rem 13.75rem}.x-time-picker-frame>div:first-child{width:4.125rem}.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,.x-time-picker-frame-use12Hours{position:relative;float:left;overflow:hidden}.x-time-picker-frame-hour:hover,.x-time-picker-frame-minute:hover,.x-time-picker-frame-second:hover,.x-time-picker-frame-use12Hours: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,.x-time-picker-frame-use12Hours>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,.x-time-picker-frame-use12Hours>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,.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option{padding-left:.6rem;border-radius:0}.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),.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option:not(:first-child){margin-top:0}.x-time-picker-frame-use12Hours{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option{min-width:4.5rem}\n"] }]
511
+ args: [{ selector: `${XTimePickerFramePrefix}`, imports: [FormsModule, XListComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-time-picker-frame\">\r\n <div class=\"x-time-picker-frame-hour\" #hourRef>\r\n <x-list [data]=\"hourData()\" [(ngModel)]=\"hour\" (nodeClick)=\"itemClick('hour')\"></x-list>\r\n </div>\r\n @if (type() !== 'hour') {\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef>\r\n <x-list [data]=\"minuteData()\" [(ngModel)]=\"minute\" (nodeClick)=\"itemClick('minute')\"></x-list>\r\n </div>\r\n }\r\n @if (type() === 'time') {\r\n <div class=\"x-time-picker-frame-second\" #secondRef>\r\n <x-list [data]=\"secondData()\" [(ngModel)]=\"second\" (nodeClick)=\"itemClick('second')\"></x-list>\r\n </div>\r\n }\r\n @if (use12Hours()) {\r\n <div class=\"x-time-picker-frame-use12Hours\" #use12HoursRef>\r\n <x-list [data]=\"use12HoursData()\" [(ngModel)]=\"use12Hour\" (nodeClick)=\"itemClick('use12Hours')\"></x-list>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-frame{margin:0;padding:0}.x-time-picker-frame{display:block;height:100%}.x-time-picker-frame>div{width:4.25rem;max-height:16rem;padding-bottom:13.5rem;padding:.25rem .25rem 13.75rem}.x-time-picker-frame>div:first-child{width:4.125rem}.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,.x-time-picker-frame-use12Hours{position:relative;float:left;overflow:hidden}.x-time-picker-frame-hour:hover,.x-time-picker-frame-minute:hover,.x-time-picker-frame-second:hover,.x-time-picker-frame-use12Hours: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,.x-time-picker-frame-use12Hours>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,.x-time-picker-frame-use12Hours>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,.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option{padding-left:.6rem;border-radius:0}.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),.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option:not(:first-child){margin-top:0}.x-time-picker-frame-use12Hours{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option{min-width:4.5rem}\n"] }]
512
512
  }] });
513
513
 
514
514
  class XTimePickerPortalComponent {
@@ -563,12 +563,12 @@ class XTimePickerPortalComponent {
563
563
  this.value.set(date);
564
564
  this.nodeClick.emit(date);
565
565
  }
566
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerPortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
567
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XTimePickerPortalComponent, isStandalone: true, selector: "x-time-picker-portal", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, inputCom: { classPropertyName: "inputCom", publicName: "inputCom", isSignal: true, isRequired: false, transformFunction: null }, use12Hours: { classPropertyName: "use12Hours", publicName: "use12Hours", isSignal: true, isRequired: false, transformFunction: null }, hourStep: { classPropertyName: "hourStep", publicName: "hourStep", isSignal: true, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null }, secondStep: { classPropertyName: "secondStep", publicName: "secondStep", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", animating: "animating", nodeClick: "nodeClick" }, host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.getPlacement" } }, ngImport: i0, template: "<div class=\"x-time-picker-portal\" (click)=\"inputCom()?.inputFocus('focus'); stopPropagation($event)\">\r\n <x-time-picker-frame\r\n [type]=\"type()\"\r\n [value]=\"value()\"\r\n [use12Hours]=\"use12Hours()!\"\r\n [hourStep]=\"hourStep()!\"\r\n [minuteStep]=\"minuteStep()!\"\r\n [secondStep]=\"secondStep()!\"\r\n [disabledTime]=\"disabledTime()\"\r\n (nodeEmit)=\"nodeClick.emit($event)\"\r\n ></x-time-picker-frame>\r\n @if (preset()) {\r\n <div class=\"x-time-picker-portal-preset\">\r\n @for (item of preset(); track item) {\r\n @if (!!item.func) {\r\n <x-button type=\"text\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-button>\r\n } @else if (!item.func && item.id === 'now') {\r\n <x-button type=\"text\" (click)=\"onNow()\">{{ locale().now }}</x-button>\r\n }\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-portal{display:flex;flex-direction:column;height:100%;font-size:var(--x-font-size);color:var(--x-text);border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);background-color:var(--x-background-100)}.x-time-picker-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-time-picker-portal-preset>x-button{flex:1}\n"], dependencies: [{ kind: "component", type: XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value", "use12Hours", "hourStep", "minuteStep", "secondStep", "defaultNow", "disabledTime", "disabledTimeParam"], outputs: ["nodeEmit"] }, { kind: "component", type: XButtonComponent, selector: "x-button" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
566
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimePickerPortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
567
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: XTimePickerPortalComponent, isStandalone: true, selector: "x-time-picker-portal", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, inputCom: { classPropertyName: "inputCom", publicName: "inputCom", isSignal: true, isRequired: false, transformFunction: null }, use12Hours: { classPropertyName: "use12Hours", publicName: "use12Hours", isSignal: true, isRequired: false, transformFunction: null }, hourStep: { classPropertyName: "hourStep", publicName: "hourStep", isSignal: true, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null }, secondStep: { classPropertyName: "secondStep", publicName: "secondStep", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", animating: "animating", nodeClick: "nodeClick" }, host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.getPlacement" } }, ngImport: i0, template: "<div class=\"x-time-picker-portal\" (click)=\"inputCom()?.inputFocus('focus'); stopPropagation($event)\">\r\n <x-time-picker-frame\r\n [type]=\"type()\"\r\n [value]=\"value()\"\r\n [use12Hours]=\"use12Hours()!\"\r\n [hourStep]=\"hourStep()!\"\r\n [minuteStep]=\"minuteStep()!\"\r\n [secondStep]=\"secondStep()!\"\r\n [disabledTime]=\"disabledTime()\"\r\n (nodeEmit)=\"nodeClick.emit($event)\"\r\n ></x-time-picker-frame>\r\n @if (preset()) {\r\n <div class=\"x-time-picker-portal-preset\">\r\n @for (item of preset(); track item) {\r\n @if (!!item.func) {\r\n <x-button type=\"text\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-button>\r\n } @else if (!item.func && item.id === 'now') {\r\n <x-button type=\"text\" (click)=\"onNow()\">{{ locale().now }}</x-button>\r\n }\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-portal{display:flex;flex-direction:column;height:100%;font-size:var(--x-font-size);color:var(--x-text);border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);background-color:var(--x-background-100)}.x-time-picker-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-time-picker-portal-preset>x-button{flex:1}\n"], dependencies: [{ kind: "component", type: XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value", "use12Hours", "hourStep", "minuteStep", "secondStep", "defaultNow", "disabledTime", "disabledTimeParam"], outputs: ["nodeEmit"] }, { kind: "component", type: XButtonComponent, selector: "x-button" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
568
568
  }
569
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerPortalComponent, decorators: [{
569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimePickerPortalComponent, decorators: [{
570
570
  type: Component,
571
- args: [{ selector: `${XTimePickerPortalPrefix}`, standalone: true, imports: [XTimePickerFrameComponent, XButtonComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], template: "<div class=\"x-time-picker-portal\" (click)=\"inputCom()?.inputFocus('focus'); stopPropagation($event)\">\r\n <x-time-picker-frame\r\n [type]=\"type()\"\r\n [value]=\"value()\"\r\n [use12Hours]=\"use12Hours()!\"\r\n [hourStep]=\"hourStep()!\"\r\n [minuteStep]=\"minuteStep()!\"\r\n [secondStep]=\"secondStep()!\"\r\n [disabledTime]=\"disabledTime()\"\r\n (nodeEmit)=\"nodeClick.emit($event)\"\r\n ></x-time-picker-frame>\r\n @if (preset()) {\r\n <div class=\"x-time-picker-portal-preset\">\r\n @for (item of preset(); track item) {\r\n @if (!!item.func) {\r\n <x-button type=\"text\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-button>\r\n } @else if (!item.func && item.id === 'now') {\r\n <x-button type=\"text\" (click)=\"onNow()\">{{ locale().now }}</x-button>\r\n }\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-portal{display:flex;flex-direction:column;height:100%;font-size:var(--x-font-size);color:var(--x-text);border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);background-color:var(--x-background-100)}.x-time-picker-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-time-picker-portal-preset>x-button{flex:1}\n"] }]
571
+ args: [{ selector: `${XTimePickerPortalPrefix}`, imports: [XTimePickerFrameComponent, XButtonComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], template: "<div class=\"x-time-picker-portal\" (click)=\"inputCom()?.inputFocus('focus'); stopPropagation($event)\">\r\n <x-time-picker-frame\r\n [type]=\"type()\"\r\n [value]=\"value()\"\r\n [use12Hours]=\"use12Hours()!\"\r\n [hourStep]=\"hourStep()!\"\r\n [minuteStep]=\"minuteStep()!\"\r\n [secondStep]=\"secondStep()!\"\r\n [disabledTime]=\"disabledTime()\"\r\n (nodeEmit)=\"nodeClick.emit($event)\"\r\n ></x-time-picker-frame>\r\n @if (preset()) {\r\n <div class=\"x-time-picker-portal-preset\">\r\n @for (item of preset(); track item) {\r\n @if (!!item.func) {\r\n <x-button type=\"text\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-button>\r\n } @else if (!item.func && item.id === 'now') {\r\n <x-button type=\"text\" (click)=\"onNow()\">{{ locale().now }}</x-button>\r\n }\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-portal{display:flex;flex-direction:column;height:100%;font-size:var(--x-font-size);color:var(--x-text);border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);background-color:var(--x-background-100)}.x-time-picker-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-time-picker-portal-preset>x-button{flex:1}\n"] }]
572
572
  }], propDecorators: { getPlacement: [{
573
573
  type: HostBinding,
574
574
  args: ['@x-connect-base-animation']
@@ -822,20 +822,20 @@ class XTimePickerComponent extends XTimePickerProperty {
822
822
  formControlChanges() {
823
823
  this.ngOnInit();
824
824
  }
825
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
826
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.2", type: XTimePickerComponent, isStandalone: true, selector: "x-time-picker", providers: [XValueAccessor(XTimePickerComponent), DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true, isSignal: true }, { propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, isSignal: 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]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [placeholder]=\"getPlaceholder()!\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"clearable()\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTpl() ? valueTpl() : valueTemplate\"\r\n [valueTplContext]=\"valueTplContext()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"pointer()\"\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\r\n<ng-template #valueTemplate>{{ displayValue() }}</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-time-picker{display:inline-block;width:12rem}.x-time-picker{margin:0;padding:0}.x-time-picker{width:100%}.x-time-picker x-input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XInputComponent, selector: "x-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
825
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
826
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.1", type: XTimePickerComponent, isStandalone: true, selector: "x-time-picker", providers: [XValueAccessor(XTimePickerComponent), DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true, isSignal: true }, { propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, isSignal: 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]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [placeholder]=\"getPlaceholder()!\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"clearable()\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTpl() ? valueTpl() : valueTemplate\"\r\n [valueTplContext]=\"valueTplContext()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"pointer()\"\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\r\n<ng-template #valueTemplate>{{ displayValue() }}</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-time-picker{display:inline-block;width:12rem}.x-time-picker{margin:0;padding:0}.x-time-picker{width:100%}.x-time-picker x-input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XInputComponent, selector: "x-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
827
827
  }
828
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerComponent, decorators: [{
828
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimePickerComponent, decorators: [{
829
829
  type: Component,
830
- args: [{ selector: `${XTimePickerPrefix}`, standalone: true, imports: [FormsModule, XInputComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XTimePickerComponent), DatePipe], 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]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [placeholder]=\"getPlaceholder()!\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"clearable()\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTpl() ? valueTpl() : valueTemplate\"\r\n [valueTplContext]=\"valueTplContext()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"pointer()\"\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\r\n<ng-template #valueTemplate>{{ displayValue() }}</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-time-picker{display:inline-block;width:12rem}.x-time-picker{margin:0;padding:0}.x-time-picker{width:100%}.x-time-picker x-input{width:100%}\n"] }]
830
+ args: [{ selector: `${XTimePickerPrefix}`, imports: [FormsModule, XInputComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XTimePickerComponent), DatePipe], 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]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [placeholder]=\"getPlaceholder()!\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"clearable()\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTpl() ? valueTpl() : valueTemplate\"\r\n [valueTplContext]=\"valueTplContext()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"pointer()\"\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\r\n<ng-template #valueTemplate>{{ displayValue() }}</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-time-picker{display:inline-block;width:12rem}.x-time-picker{margin:0;padding:0}.x-time-picker{width:100%}.x-time-picker x-input{width:100%}\n"] }]
831
831
  }], ctorParameters: () => [] });
832
832
 
833
833
  class XTimePickerModule {
834
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
835
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerModule, imports: [XTimePickerComponent, XTimePickerFrameComponent], exports: [XTimePickerComponent, XTimePickerFrameComponent] }); }
836
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerModule, imports: [XTimePickerComponent, XTimePickerFrameComponent] }); }
834
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
835
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: XTimePickerModule, imports: [XTimePickerComponent, XTimePickerFrameComponent], exports: [XTimePickerComponent, XTimePickerFrameComponent] }); }
836
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimePickerModule, imports: [XTimePickerComponent, XTimePickerFrameComponent] }); }
837
837
  }
838
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerModule, decorators: [{
838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: XTimePickerModule, decorators: [{
839
839
  type: NgModule,
840
840
  args: [{
841
841
  exports: [XTimePickerComponent, XTimePickerFrameComponent],