ngx-tethys 17.0.0 → 17.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. package/CHANGELOG.md +26 -7
  2. package/action/action.component.d.ts +3 -0
  3. package/affix/affix.component.d.ts +2 -0
  4. package/alert/alert.component.d.ts +1 -0
  5. package/anchor/anchor.component.d.ts +3 -0
  6. package/arrow-switcher/arrow-switcher.component.d.ts +1 -0
  7. package/autocomplete/autocomplete.component.d.ts +2 -3
  8. package/autocomplete/autocomplete.trigger.directive.d.ts +3 -0
  9. package/avatar/avatar.component.d.ts +4 -0
  10. package/back-top/back-top.component.d.ts +1 -0
  11. package/badge/badge.component.d.ts +5 -0
  12. package/button/button-icon.component.d.ts +2 -0
  13. package/button/button.component.d.ts +2 -0
  14. package/card/card.component.d.ts +3 -0
  15. package/card/content.component.d.ts +2 -1
  16. package/carousel/carousel.component.d.ts +5 -0
  17. package/cascader/cascader-li.component.d.ts +9 -2
  18. package/cascader/cascader-search-option.component.d.ts +7 -2
  19. package/cascader/cascader.component.d.ts +23 -2
  20. package/cascader/styles/cascader.scss +1 -0
  21. package/cascader/types.d.ts +1 -0
  22. package/checkbox/checkbox.component.d.ts +1 -0
  23. package/collapse/collapse-item.component.d.ts +2 -0
  24. package/collapse/collapse.component.d.ts +1 -0
  25. package/color-picker/color-picker-panel.component.d.ts +1 -0
  26. package/color-picker/color-picker.component.d.ts +7 -1
  27. package/copy/copy.directive.d.ts +1 -0
  28. package/core/behaviors/decorators.d.ts +6 -0
  29. package/date-picker/abstract-picker.component.d.ts +8 -1
  30. package/date-picker/abstract-picker.directive.d.ts +4 -0
  31. package/date-picker/base-picker.component.d.ts +2 -0
  32. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -0
  33. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -0
  34. package/date-picker/picker.component.d.ts +1 -0
  35. package/date-range/date-range.component.d.ts +2 -0
  36. package/dialog/body/dialog-body.component.d.ts +2 -1
  37. package/dialog/footer/dialog-footer.component.d.ts +1 -0
  38. package/dialog/header/dialog-header.component.d.ts +1 -0
  39. package/divider/divider.component.d.ts +2 -0
  40. package/drag-drop/drag-handle.directive.d.ts +1 -0
  41. package/drag-drop/drag.directive.d.ts +1 -0
  42. package/drag-drop/drop-container.directive.d.ts +1 -0
  43. package/dropdown/dropdown-menu-item.directive.d.ts +3 -1
  44. package/dropdown/dropdown-menu.component.d.ts +1 -0
  45. package/dropdown/dropdown.directive.d.ts +3 -0
  46. package/empty/empty.component.d.ts +1 -0
  47. package/esm2022/action/action.component.mjs +9 -22
  48. package/esm2022/affix/affix.component.mjs +8 -15
  49. package/esm2022/alert/alert.component.mjs +5 -10
  50. package/esm2022/anchor/anchor.component.mjs +10 -20
  51. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +5 -11
  52. package/esm2022/autocomplete/autocomplete.component.mjs +5 -23
  53. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +9 -20
  54. package/esm2022/avatar/avatar.component.mjs +14 -30
  55. package/esm2022/back-top/back-top.component.mjs +6 -10
  56. package/esm2022/badge/badge.component.mjs +15 -37
  57. package/esm2022/button/button-icon.component.mjs +9 -20
  58. package/esm2022/button/button.component.mjs +7 -16
  59. package/esm2022/card/card.component.mjs +6 -20
  60. package/esm2022/card/content.component.mjs +5 -6
  61. package/esm2022/carousel/carousel.component.mjs +13 -30
  62. package/esm2022/cascader/cascader-li.component.mjs +16 -31
  63. package/esm2022/cascader/cascader-search-option.component.mjs +12 -21
  64. package/esm2022/cascader/cascader.component.mjs +32 -52
  65. package/esm2022/cascader/types.mjs +1 -1
  66. package/esm2022/checkbox/checkbox.component.mjs +7 -13
  67. package/esm2022/collapse/collapse-item.component.mjs +8 -15
  68. package/esm2022/collapse/collapse.component.mjs +5 -10
  69. package/esm2022/color-picker/color-picker-panel.component.mjs +5 -10
  70. package/esm2022/color-picker/color-picker.component.mjs +17 -37
  71. package/esm2022/copy/copy.directive.mjs +5 -10
  72. package/esm2022/core/behaviors/decorators.mjs +7 -44
  73. package/esm2022/date-picker/abstract-picker.component.mjs +21 -45
  74. package/esm2022/date-picker/abstract-picker.directive.mjs +11 -27
  75. package/esm2022/date-picker/base-picker.component.mjs +8 -15
  76. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -10
  77. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +4 -2
  78. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +7 -6
  79. package/esm2022/date-picker/picker.component.mjs +6 -10
  80. package/esm2022/date-range/date-range.component.mjs +7 -15
  81. package/esm2022/dialog/body/dialog-body.component.mjs +6 -6
  82. package/esm2022/dialog/footer/dialog-footer.component.mjs +6 -13
  83. package/esm2022/dialog/header/dialog-header.component.mjs +6 -10
  84. package/esm2022/divider/divider.component.mjs +7 -15
  85. package/esm2022/drag-drop/drag-handle.directive.mjs +5 -13
  86. package/esm2022/drag-drop/drag.directive.mjs +5 -11
  87. package/esm2022/drag-drop/drop-container.directive.mjs +5 -10
  88. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +9 -19
  89. package/esm2022/dropdown/dropdown-menu.component.mjs +6 -9
  90. package/esm2022/dropdown/dropdown.directive.mjs +8 -22
  91. package/esm2022/empty/empty.component.mjs +7 -13
  92. package/esm2022/flexible-text/flexible-text.component.mjs +4 -11
  93. package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -10
  94. package/esm2022/form/form-group-label.directive.mjs +6 -6
  95. package/esm2022/form/form-group.component.mjs +13 -17
  96. package/esm2022/icon/icon.component.mjs +6 -20
  97. package/esm2022/image/image.directive.mjs +7 -15
  98. package/esm2022/input/input-search.component.mjs +6 -11
  99. package/esm2022/input/input.component.mjs +7 -15
  100. package/esm2022/input-number/input-number.component.mjs +12 -25
  101. package/esm2022/layout/header.component.mjs +9 -19
  102. package/esm2022/layout/sidebar-header.component.mjs +5 -10
  103. package/esm2022/layout/sidebar.component.mjs +22 -45
  104. package/esm2022/list/list.component.mjs +5 -11
  105. package/esm2022/list/selection/selection-list.mjs +13 -10
  106. package/esm2022/loading/loading.component.mjs +9 -20
  107. package/esm2022/menu/group/menu-group.component.mjs +12 -38
  108. package/esm2022/menu/item/action/menu-item-action.component.mjs +5 -10
  109. package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -10
  110. package/esm2022/menu/menu.component.mjs +5 -10
  111. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +6 -6
  112. package/esm2022/nav/nav-ink-bar.directive.mjs +7 -15
  113. package/esm2022/nav/nav-item.directive.mjs +10 -20
  114. package/esm2022/nav/nav.component.mjs +12 -25
  115. package/esm2022/pagination/pagination.component.mjs +18 -68
  116. package/esm2022/popover/popover.directive.mjs +12 -33
  117. package/esm2022/progress/progress-circle.component.mjs +9 -20
  118. package/esm2022/progress/progress-strip.component.mjs +5 -11
  119. package/esm2022/progress/progress.component.mjs +11 -23
  120. package/esm2022/property/properties.component.mjs +5 -10
  121. package/esm2022/property/property-item.component.mjs +8 -15
  122. package/esm2022/property-operation/property-operation.component.mjs +16 -37
  123. package/esm2022/radio/group/radio-group.component.mjs +6 -21
  124. package/esm2022/rate/rate-item.component.mjs +5 -10
  125. package/esm2022/rate/rate.component.mjs +16 -25
  126. package/esm2022/resizable/resizable.directive.mjs +24 -62
  127. package/esm2022/resizable/resize-handle.component.mjs +6 -10
  128. package/esm2022/resizable/resize-handles.component.mjs +5 -10
  129. package/esm2022/segment/segment-item.component.mjs +5 -10
  130. package/esm2022/segment/segment.component.mjs +7 -16
  131. package/esm2022/select/custom-select/custom-select.component.mjs +30 -65
  132. package/esm2022/select/native-select/native-select.component.mjs +6 -10
  133. package/esm2022/shared/base-form-check.component.mjs +10 -20
  134. package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -15
  135. package/esm2022/shared/directives/thy-scroll.directive.mjs +6 -13
  136. package/esm2022/shared/directives/thy-show.mjs +5 -11
  137. package/esm2022/shared/option/group/option-group.component.mjs +5 -10
  138. package/esm2022/shared/option/list-option/list-option.component.mjs +6 -13
  139. package/esm2022/shared/option/option.component.mjs +5 -11
  140. package/esm2022/shared/select/select-control/select-control.component.mjs +17 -44
  141. package/esm2022/skeleton/skeleton-circle.component.mjs +6 -9
  142. package/esm2022/skeleton/skeleton-rectangle.component.mjs +6 -9
  143. package/esm2022/skeleton/skeleton.component.mjs +5 -10
  144. package/esm2022/skeleton/stylized/bullet-list.component.mjs +6 -9
  145. package/esm2022/skeleton/stylized/list.component.mjs +6 -9
  146. package/esm2022/skeleton/stylized/paragraph.component.mjs +6 -9
  147. package/esm2022/slide/slide-body/slide-body-section.component.mjs +6 -6
  148. package/esm2022/slider/slider.component.mjs +18 -35
  149. package/esm2022/space/space.component.mjs +6 -10
  150. package/esm2022/stepper/step-header.component.mjs +9 -20
  151. package/esm2022/stepper/stepper.component.mjs +7 -16
  152. package/esm2022/switch/switch.component.mjs +12 -17
  153. package/esm2022/table/table-column.component.mjs +9 -31
  154. package/esm2022/table/table-skeleton.component.mjs +8 -14
  155. package/esm2022/table/table.component.mjs +32 -83
  156. package/esm2022/tabs/tab.component.mjs +5 -10
  157. package/esm2022/tabs/tabs.component.mjs +8 -15
  158. package/esm2022/tag/tag.component.mjs +6 -10
  159. package/esm2022/time-picker/time-picker-panel.component.mjs +8 -15
  160. package/esm2022/time-picker/time-picker.component.mjs +20 -46
  161. package/esm2022/timeline/timeline.component.mjs +5 -10
  162. package/esm2022/tooltip/tooltip.directive.mjs +11 -34
  163. package/esm2022/tree/tree-node.component.mjs +17 -40
  164. package/esm2022/tree/tree.component.mjs +19 -47
  165. package/esm2022/tree-select/tree-select.component.mjs +18 -40
  166. package/esm2022/upload/file-select-base.mjs +7 -6
  167. package/esm2022/upload/file-select.component.mjs +11 -26
  168. package/esm2022/version.mjs +2 -2
  169. package/esm2022/vote/vote.component.mjs +11 -33
  170. package/esm2022/watermark/watermark.directive.mjs +6 -10
  171. package/fesm2022/ngx-tethys-action.mjs +9 -21
  172. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  173. package/fesm2022/ngx-tethys-affix.mjs +6 -14
  174. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  175. package/fesm2022/ngx-tethys-alert.mjs +4 -9
  176. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  177. package/fesm2022/ngx-tethys-anchor.mjs +8 -19
  178. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  179. package/fesm2022/ngx-tethys-arrow-switcher.mjs +4 -10
  180. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  181. package/fesm2022/ngx-tethys-autocomplete.mjs +14 -39
  182. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  183. package/fesm2022/ngx-tethys-avatar.mjs +14 -29
  184. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  185. package/fesm2022/ngx-tethys-back-top.mjs +5 -9
  186. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  187. package/fesm2022/ngx-tethys-badge.mjs +14 -36
  188. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  189. package/fesm2022/ngx-tethys-button.mjs +13 -30
  190. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  191. package/fesm2022/ngx-tethys-card.mjs +8 -23
  192. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  193. package/fesm2022/ngx-tethys-carousel.mjs +12 -29
  194. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  195. package/fesm2022/ngx-tethys-cascader.mjs +55 -95
  196. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  197. package/fesm2022/ngx-tethys-checkbox.mjs +5 -12
  198. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  199. package/fesm2022/ngx-tethys-collapse.mjs +10 -20
  200. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  201. package/fesm2022/ngx-tethys-color-picker.mjs +19 -42
  202. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  203. package/fesm2022/ngx-tethys-copy.mjs +4 -9
  204. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  205. package/fesm2022/ngx-tethys-core.mjs +6 -43
  206. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  207. package/fesm2022/ngx-tethys-date-picker.mjs +48 -94
  208. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  209. package/fesm2022/ngx-tethys-date-range.mjs +6 -14
  210. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  211. package/fesm2022/ngx-tethys-dialog.mjs +13 -21
  212. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  213. package/fesm2022/ngx-tethys-divider.mjs +6 -14
  214. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  215. package/fesm2022/ngx-tethys-drag-drop.mjs +10 -25
  216. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  217. package/fesm2022/ngx-tethys-dropdown.mjs +19 -42
  218. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  219. package/fesm2022/ngx-tethys-empty.mjs +5 -12
  220. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  221. package/fesm2022/ngx-tethys-flexible-text.mjs +3 -10
  222. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  223. package/fesm2022/ngx-tethys-form.mjs +19 -25
  224. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  225. package/fesm2022/ngx-tethys-icon.mjs +5 -19
  226. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  227. package/fesm2022/ngx-tethys-image.mjs +7 -14
  228. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  229. package/fesm2022/ngx-tethys-input-number.mjs +11 -24
  230. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  231. package/fesm2022/ngx-tethys-input.mjs +10 -21
  232. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  233. package/fesm2022/ngx-tethys-layout.mjs +31 -64
  234. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  235. package/fesm2022/ngx-tethys-list.mjs +16 -18
  236. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  237. package/fesm2022/ngx-tethys-loading.mjs +8 -19
  238. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  239. package/fesm2022/ngx-tethys-menu.mjs +20 -55
  240. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  241. package/fesm2022/ngx-tethys-nav.mjs +28 -55
  242. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  243. package/fesm2022/ngx-tethys-pagination.mjs +17 -67
  244. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  245. package/fesm2022/ngx-tethys-popover.mjs +11 -32
  246. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  247. package/fesm2022/ngx-tethys-progress.mjs +20 -45
  248. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  249. package/fesm2022/ngx-tethys-property-operation.mjs +14 -36
  250. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  251. package/fesm2022/ngx-tethys-property.mjs +10 -21
  252. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  253. package/fesm2022/ngx-tethys-radio.mjs +5 -19
  254. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  255. package/fesm2022/ngx-tethys-rate.mjs +18 -30
  256. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  257. package/fesm2022/ngx-tethys-resizable.mjs +29 -73
  258. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  259. package/fesm2022/ngx-tethys-segment.mjs +10 -21
  260. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  261. package/fesm2022/ngx-tethys-select.mjs +32 -70
  262. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  263. package/fesm2022/ngx-tethys-shared.mjs +49 -105
  264. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  265. package/fesm2022/ngx-tethys-skeleton.mjs +20 -38
  266. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  267. package/fesm2022/ngx-tethys-slide.mjs +6 -5
  268. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  269. package/fesm2022/ngx-tethys-slider.mjs +17 -34
  270. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  271. package/fesm2022/ngx-tethys-space.mjs +5 -9
  272. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  273. package/fesm2022/ngx-tethys-stepper.mjs +13 -31
  274. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  275. package/fesm2022/ngx-tethys-switch.mjs +11 -16
  276. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  277. package/fesm2022/ngx-tethys-table.mjs +43 -120
  278. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  279. package/fesm2022/ngx-tethys-tabs.mjs +10 -20
  280. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  281. package/fesm2022/ngx-tethys-tag.mjs +5 -9
  282. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  283. package/fesm2022/ngx-tethys-time-picker.mjs +24 -55
  284. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  285. package/fesm2022/ngx-tethys-timeline.mjs +4 -9
  286. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  287. package/fesm2022/ngx-tethys-tooltip.mjs +10 -33
  288. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  289. package/fesm2022/ngx-tethys-tree-select.mjs +17 -39
  290. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  291. package/fesm2022/ngx-tethys-tree.mjs +33 -82
  292. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  293. package/fesm2022/ngx-tethys-upload.mjs +15 -28
  294. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  295. package/fesm2022/ngx-tethys-vote.mjs +10 -32
  296. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  297. package/fesm2022/ngx-tethys-watermark.mjs +5 -9
  298. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  299. package/fesm2022/ngx-tethys.mjs +1 -1
  300. package/fesm2022/ngx-tethys.mjs.map +1 -1
  301. package/flexible-text/flexible-text.component.d.ts +1 -0
  302. package/form/form-group-error/form-group-error.component.d.ts +1 -0
  303. package/form/form-group-label.directive.d.ts +2 -1
  304. package/form/form-group.component.d.ts +5 -2
  305. package/icon/icon.component.d.ts +3 -0
  306. package/image/image.directive.d.ts +2 -0
  307. package/input/input-search.component.d.ts +1 -0
  308. package/input/input.component.d.ts +2 -0
  309. package/input-number/input-number.component.d.ts +4 -0
  310. package/layout/header.component.d.ts +5 -2
  311. package/layout/sidebar-header.component.d.ts +1 -0
  312. package/layout/sidebar.component.d.ts +14 -4
  313. package/list/list.component.d.ts +1 -0
  314. package/list/selection/selection-list.d.ts +4 -1
  315. package/loading/loading.component.d.ts +4 -2
  316. package/menu/group/menu-group.component.d.ts +6 -0
  317. package/menu/item/action/menu-item-action.component.d.ts +1 -0
  318. package/menu/item/name/menu-item-name.component.d.ts +1 -0
  319. package/menu/menu.component.d.ts +1 -0
  320. package/nav/icon-nav/icon-nav-link.directive.d.ts +2 -1
  321. package/nav/nav-ink-bar.directive.d.ts +2 -0
  322. package/nav/nav-item.directive.d.ts +3 -0
  323. package/nav/nav.component.d.ts +4 -0
  324. package/package.json +7 -7
  325. package/pagination/pagination.component.d.ts +11 -0
  326. package/popover/popover.directive.d.ts +5 -0
  327. package/progress/progress-circle.component.d.ts +3 -0
  328. package/progress/progress-strip.component.d.ts +1 -0
  329. package/progress/progress.component.d.ts +3 -0
  330. package/property/properties.component.d.ts +1 -0
  331. package/property/property-item.component.d.ts +2 -0
  332. package/property-operation/property-operation.component.d.ts +5 -0
  333. package/radio/group/radio-group.component.d.ts +2 -2
  334. package/rate/rate-item.component.d.ts +1 -0
  335. package/rate/rate.component.d.ts +5 -1
  336. package/resizable/resizable.directive.d.ts +10 -1
  337. package/resizable/resize-handle.component.d.ts +1 -0
  338. package/resizable/resize-handles.component.d.ts +1 -0
  339. package/resizable/styles/resizable.scss +1 -0
  340. package/schematics/dependencies.js +1 -1
  341. package/schematics/version.d.ts +1 -1
  342. package/schematics/version.js +1 -1
  343. package/segment/segment-item.component.d.ts +1 -0
  344. package/segment/segment.component.d.ts +2 -0
  345. package/select/custom-select/custom-select.component.d.ts +12 -1
  346. package/select/native-select/native-select.component.d.ts +1 -0
  347. package/shared/base-form-check.component.d.ts +2 -0
  348. package/shared/directives/thy-autofocus.directive.d.ts +3 -1
  349. package/shared/directives/thy-scroll.directive.d.ts +1 -0
  350. package/shared/directives/thy-show.d.ts +1 -0
  351. package/shared/option/group/option-group.component.d.ts +1 -0
  352. package/shared/option/list-option/list-option.component.d.ts +1 -0
  353. package/shared/option/option.component.d.ts +1 -0
  354. package/shared/option/styles/select-dropdown.scss +1 -0
  355. package/shared/select/select-control/select-control.component.d.ts +7 -0
  356. package/skeleton/skeleton-circle.component.d.ts +1 -0
  357. package/skeleton/skeleton-rectangle.component.d.ts +1 -0
  358. package/skeleton/skeleton.component.d.ts +1 -0
  359. package/skeleton/stylized/bullet-list.component.d.ts +1 -0
  360. package/skeleton/stylized/list.component.d.ts +1 -0
  361. package/skeleton/stylized/paragraph.component.d.ts +1 -0
  362. package/slide/slide-body/slide-body-section.component.d.ts +2 -1
  363. package/slider/slider.component.d.ts +6 -1
  364. package/space/space.component.d.ts +1 -0
  365. package/stepper/step-header.component.d.ts +3 -0
  366. package/stepper/stepper.component.d.ts +2 -0
  367. package/switch/switch.component.d.ts +3 -1
  368. package/table/table-column.component.d.ts +7 -2
  369. package/table/table-skeleton.component.d.ts +2 -0
  370. package/table/table.component.d.ts +14 -0
  371. package/tabs/tab.component.d.ts +1 -0
  372. package/tabs/tabs.component.d.ts +2 -0
  373. package/tag/tag.component.d.ts +1 -0
  374. package/time-picker/time-picker-panel.component.d.ts +2 -0
  375. package/time-picker/time-picker.component.d.ts +6 -2
  376. package/timeline/timeline.component.d.ts +1 -0
  377. package/tooltip/tooltip.directive.d.ts +5 -0
  378. package/tree/tree-node.component.d.ts +7 -0
  379. package/tree/tree.component.d.ts +8 -0
  380. package/tree-select/tree-select.component.d.ts +7 -0
  381. package/upload/file-select-base.d.ts +1 -0
  382. package/upload/file-select.component.d.ts +3 -0
  383. package/vote/vote.component.d.ts +4 -2
  384. package/watermark/watermark.directive.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-form.mjs","sources":["../../../src/form/form.class.ts","../../../src/form/form-validator-loader.ts","../../../src/form/form-validator.service.ts","../../../src/form/form.directive.ts","../../../src/form/form-group-error/form-group-error.component.ts","../../../src/form/form-group-error/form-group-error.component.html","../../../src/form/form-group-label.directive.ts","../../../src/form/form-group.component.ts","../../../src/form/form-group.component.html","../../../src/form/form-submit.directive.ts","../../../src/form/from-group-footer/form-group-footer.component.ts","../../../src/form/from-group-footer/form-group-footer.component.html","../../../src/form/validator/unique-validator.directive.ts","../../../src/form/validator/min-validator.directive.ts","../../../src/form/validator/max-validator.directive.ts","../../../src/form/validator/confirm-validator.directive.ts","../../../src/form/module.ts","../../../src/form/ngx-tethys-form.ts"],"sourcesContent":["import { Dictionary } from 'ngx-tethys/types';\n\nimport { InjectionToken } from '@angular/core';\nimport { AbstractControl, FormControlName } from '@angular/forms';\n\nexport type ThyFormLayout = 'horizontal' | 'vertical' | 'inline';\n\nexport type ThyFormGroupFooterAlign = 'left' | 'right' | 'center';\n\nexport declare type ThyValidateOn = 'submit' | 'blur' | 'change';\n\nexport declare type ThyFormValidationMessages = Dictionary<Dictionary<string>>;\n\n/**\n * @order 20\n */\nexport interface ThyFormValidatorConfig {\n /**\n * 当值为 true 或不传时,执行默认逻辑,当为 false 时,不显示错误;值为 function 时,执行自定义函数处理逻辑,需要注入 THY_VALIDATOR_CONFIG 来使配置生效。\n */\n showElementError?: boolean | ((element: HTMLElement, errorMessages: string[]) => void);\n\n /**\n * 移除错误,一般和 showElementError 匹配使用;当值为 true 或不传时,执行默认逻辑,当为 false 时,不显示错误提示;值为 function 时,执行自定义函数处理逻辑,需要注入 THY_VALIDATOR_CONFIG 来使配置生效。\n */\n removeElementError?: boolean | ((element: HTMLElement) => void);\n\n /**\n * 每个字段的验证提示信息配置, validationMessages: {external_url: {required: '应用地址不能为空'}}\n */\n validationMessages?: ThyFormValidationMessages;\n\n /**\n * 表单验证触发方式; 支持change、submit、blur三种方式触发。默认submit。\n */\n validateOn?: ThyValidateOn;\n}\n\nexport interface ThyFormValidatorGlobalConfig extends ThyFormValidatorConfig {\n globalValidationMessages?: Dictionary<string>;\n}\n\nexport interface ThyFormConfig {\n layout?: ThyFormLayout;\n footerAlign?: ThyFormGroupFooterAlign;\n}\n\nexport interface ThyControlValidationResult {\n valid: boolean;\n control: AbstractControl | FormControlName;\n element: HTMLElement;\n}\n\nexport interface ThyValidateResult {\n valid: boolean;\n invalidControls: ThyControlValidationResult[];\n validControls: ThyControlValidationResult[];\n}\n\nexport const THY_VALIDATOR_CONFIG = new InjectionToken<ThyFormValidatorGlobalConfig>('VALIDATION_CONFIG');\n\nexport const THY_FORM_CONFIG = new InjectionToken<ThyFormConfig>('THY_FORM_CONFIG');\n\nexport const THY_FORM_CONFIG_PROVIDER = {\n provide: THY_FORM_CONFIG,\n useValue: { layout: 'horizontal', footerAlign: 'left' }\n};\n","import { Dictionary } from 'ngx-tethys/types';\nimport { helpers } from 'ngx-tethys/util';\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\n\nimport { THY_VALIDATOR_CONFIG, ThyFormValidationMessages, ThyFormValidatorGlobalConfig } from './form.class';\n\nexport const ERROR_VALUE_REPLACE_REGEX = /\\{(.+?)\\}/g;\n\nconst INVALID_CLASS = 'is-invalid';\nconst INVALID_FEEDBACK_CLASS = 'invalid-feedback';\n\nconst defaultValidatorConfig: ThyFormValidatorGlobalConfig = {\n showElementError: true,\n removeElementError: true,\n validationMessages: {}\n};\n\nconst globalValidationMessages = {\n required: '该选项不能为空',\n maxlength: '该选项输入值长度不能大于{maxlength}',\n minlength: '该选项输入值长度不能小于{minlength}',\n thyUniqueCheck: '输入值已经存在,请重新输入',\n email: '输入邮件的格式不正确',\n confirm: '两次输入不一致',\n pattern: '该选项输入格式不正确',\n number: '必须输入数字',\n url: '输入URL格式不正确',\n max: '该选项输入值不能大于{max}',\n min: '该选项输入值不能小于{min}'\n};\n\n/**\n * @private\n */\n@Injectable()\nexport class ThyFormValidatorLoader {\n private config: ThyFormValidatorGlobalConfig;\n\n private getDefaultValidationMessage(key: string) {\n if (this.config.globalValidationMessages && this.config.globalValidationMessages[key]) {\n return this.config.globalValidationMessages[key];\n } else {\n return globalValidationMessages[key];\n }\n }\n constructor(\n @Optional()\n @Inject(THY_VALIDATOR_CONFIG)\n config: ThyFormValidatorGlobalConfig\n ) {\n this.config = Object.assign({}, defaultValidatorConfig, config);\n }\n\n get validationMessages() {\n return this.config.validationMessages;\n }\n\n get validateOn() {\n if (!this.config?.validateOn) {\n this.config.validateOn = 'submit';\n }\n return this.config.validateOn;\n }\n\n isElementInInputGroup(element: HTMLElement) {\n return !!(element?.parentElement?.tagName.toUpperCase() === 'THY-INPUT-GROUP');\n }\n\n getErrorMessage(name: string, key: string): string {\n if (this.validationMessages[name] && this.validationMessages[name][key]) {\n return this.validationMessages[name][key];\n } else {\n return this.getDefaultValidationMessage(key);\n }\n }\n\n getErrorMessages(name: string, validationErrors: ValidationErrors): string[] {\n const messages = [];\n for (const validationError in validationErrors) {\n if (validationErrors.hasOwnProperty(validationError)) {\n messages.push(this.getErrorMessage(name, validationError));\n }\n }\n return messages;\n }\n\n defaultShowError(element: HTMLElement, errorMessages: string[]) {\n if (element && element.parentElement) {\n const documentFrag = document.createDocumentFragment();\n const divNode = document.createElement('DIV');\n const textNode = document.createTextNode(errorMessages[0]);\n divNode.appendChild(textNode);\n divNode.setAttribute('class', INVALID_FEEDBACK_CLASS);\n documentFrag.appendChild(divNode);\n element.parentElement.append(documentFrag);\n }\n }\n\n defaultRemoveError(element: HTMLElement) {\n if (element && element.parentElement) {\n const invalidFeedback = element.parentElement.querySelector('.invalid-feedback');\n if (invalidFeedback) {\n element.parentElement.removeChild(invalidFeedback);\n }\n }\n }\n\n removeError(element: HTMLElement) {\n const formControlElement = this.isElementInInputGroup(element) ? element.parentElement : element;\n formControlElement.classList.remove(INVALID_CLASS);\n if (helpers.isFunction(this.config.removeElementError)) {\n this.config.removeElementError(formControlElement);\n } else if (this.config.showElementError) {\n this.defaultRemoveError(formControlElement);\n } else {\n // do nothings\n }\n }\n\n showError(element: HTMLElement, errorMessages: string[]) {\n const formControlElement = this.isElementInInputGroup(element) ? element.parentElement : element;\n formControlElement.classList.add(INVALID_CLASS);\n if (helpers.isFunction(this.config.showElementError)) {\n this.config.showElementError(formControlElement, errorMessages);\n } else if (this.config.showElementError) {\n this.defaultShowError(formControlElement, errorMessages);\n } else {\n // do nothings\n }\n }\n\n addValidationMessages(messages: ThyFormValidationMessages) {\n Object.assign(this.config.validationMessages, messages);\n }\n\n setGlobalValidationMessages(validationMessages: Dictionary<string>) {\n this.config.globalValidationMessages = validationMessages;\n }\n}\n","import { Dictionary } from 'ngx-tethys/types';\nimport { isUndefinedOrNull } from 'ngx-tethys/util';\nimport { of, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { AbstractControl, FormControlName, FormGroupDirective, NgControl, NgForm, ValidationErrors } from '@angular/forms';\n\nimport { ERROR_VALUE_REPLACE_REGEX, ThyFormValidatorLoader } from './form-validator-loader';\nimport { ThyFormValidatorConfig, ThyValidateOn, ThyValidateResult } from './form.class';\n\n/**\n * @private\n */\n@Injectable()\nexport class ThyFormValidatorService implements OnDestroy {\n private _ngForm: NgForm | FormGroupDirective;\n\n private _formElement: HTMLFormElement;\n\n private _config: ThyFormValidatorConfig;\n\n public errors: string[] = [];\n\n private _controls: NgControl[] = [];\n\n // 记录所有元素的验证信息\n public validations: Dictionary<{\n hasError?: boolean;\n errorMessages?: string[];\n }> = {};\n\n private _destroy$ = new Subject<void>();\n\n private _getElement(name: string) {\n const element = this._formElement.elements[name];\n if (element) {\n return element;\n } else {\n return this._formElement.querySelector(`[name='${name}']`);\n }\n }\n\n private _clearElementError(name: string) {\n if (this.validations[name] && this.validations[name].hasError) {\n this.validations[name].hasError = false;\n this.validations[name].errorMessages = [];\n this.thyFormValidateLoader.removeError(this._getElement(name));\n }\n }\n\n private _tryGetValidation(name: string) {\n const controls = this._getControls();\n if (!this.validations[name]) {\n this._initializeFormControlValidation(name, controls[name] as any);\n }\n return this.validations[name];\n }\n\n private _addError(message: string) {\n this.errors.unshift(message);\n }\n\n private _clearErrors() {\n this.errors = [];\n }\n\n private _setControlValidateByChange(control: NgControl) {\n control.valueChanges\n .pipe(\n debounceTime(100),\n distinctUntilChanged(),\n filter(item => {\n return item;\n }),\n switchMap(item => {\n this.validateControl(control.name as string);\n return of([]);\n })\n )\n .subscribe();\n }\n\n private _setControlValidateByBlur(control: NgControl) {\n const element: HTMLElement = this._getElement(control.name as string);\n if (element) {\n // 继承了 AbstractControlValueAccessor 的自定义 Accessor,通过 __onBlurValidation 控制触发验证函数\n if (control.valueAccessor['__onBlurValidation']) {\n control.valueAccessor['__onBlurValidation'] = () => {\n this.validateControl(control.name as string);\n };\n } else {\n element.onblur = (event: FocusEvent) => {\n this.validateControl(control.name as string);\n };\n }\n }\n }\n\n private _initializeFormControlValidation(name: string, control: AbstractControl | FormControlName | NgControl) {\n this.validations[name] = {\n hasError: false,\n errorMessages: []\n };\n if (this._getValidateOn() === 'change') {\n this._setControlValidateByChange(control as NgControl);\n } else {\n if (this._getValidateOn() === 'blur') {\n this._setControlValidateByBlur(control as NgControl);\n }\n\n control.valueChanges.pipe(takeUntil(this._destroy$)).subscribe(item => {\n this._clearElementError(name);\n this._clearErrors();\n });\n }\n }\n\n private _restFormControlValidation(name: string) {\n const validation = this.validations[name];\n if (validation) {\n validation.hasError = false;\n validation.errorMessages = [];\n }\n }\n\n private _formatValidationMessage(name: string, message: string) {\n const controls = this._getControls();\n const control = controls[name];\n if (control) {\n return message.replace(ERROR_VALUE_REPLACE_REGEX, (tag, key) => {\n if (key) {\n return isUndefinedOrNull(control.errors[key][key]) ? control.errors[key].requiredLength : control.errors[key][key];\n }\n });\n } else {\n return message;\n }\n }\n\n private _getValidationMessage(name: string, validationError: string) {\n let message = null;\n if (\n this._config &&\n this._config.validationMessages &&\n this._config.validationMessages[name] &&\n this._config.validationMessages[name][validationError]\n ) {\n message = this._config.validationMessages[name][validationError];\n } else {\n message = this.thyFormValidateLoader.getErrorMessage(name, validationError);\n }\n return this._formatValidationMessage(name, message);\n }\n\n private _getValidationMessages(name: string, validationErrors: ValidationErrors) {\n const messages = [];\n for (const validationError in validationErrors) {\n if (validationErrors.hasOwnProperty(validationError)) {\n messages.push(this._getValidationMessage(name, validationError));\n }\n }\n return messages;\n }\n\n private _setControlValidationError(name: string, errorMessages: string[]) {\n const validation = this._tryGetValidation(name);\n validation.errorMessages = errorMessages;\n validation.hasError = true;\n this.thyFormValidateLoader.showError(this._getElement(name), errorMessages);\n }\n\n private _getValidateOn(): ThyValidateOn {\n return (this._config && this._config.validateOn) || this.thyFormValidateLoader.validateOn;\n }\n\n constructor(private thyFormValidateLoader: ThyFormValidatorLoader) {}\n\n initialize(ngForm: NgForm | FormGroupDirective, formElement: HTMLFormElement) {\n this._ngForm = ngForm;\n this._formElement = formElement;\n }\n\n initializeFormControlsValidation(controls: NgControl[]) {\n if (this._getValidateOn() !== 'submit') {\n (controls || []).forEach((control: NgControl) => {\n if (!this._controls.find(item => item.name === control.name)) {\n this._initializeFormControlValidation(control.name as string, control);\n }\n });\n this._controls = controls;\n }\n }\n\n setValidatorConfig(config: ThyFormValidatorConfig) {\n this._config = config;\n }\n\n private _getControls() {\n if (this._ngForm instanceof NgForm) {\n return (this._ngForm as NgForm).controls;\n } else if (this._ngForm instanceof FormGroupDirective) {\n const controls = {};\n (this._ngForm as FormGroupDirective).directives.forEach(directive => {\n controls[directive.name] = directive;\n });\n return controls;\n }\n }\n\n private _getControlByName(name: string): AbstractControl | FormControlName {\n const controls = this._getControls();\n return controls[name];\n }\n\n validateControl(name: string) {\n this._clearElementError(name);\n const control = this._getControlByName(name);\n if (control && control.invalid) {\n const errorMessages = this._getValidationMessages(name, control.errors);\n this._setControlValidationError(name, errorMessages);\n }\n return {\n valid: control.valid,\n control: control,\n element: this._getElement(name)\n };\n }\n\n validateControls() {\n // 主要是 无法检测到 ngForm 的 controls 的变化,或者是我没有找到\n // 验证的时候循环 ngForm 的 controls 验证\n // 发现没有 validation 初始化一个,已经存在不会重新初始化,保存缓存数据\n const results = [];\n const controls = this._getControls();\n for (const name in controls) {\n if (controls.hasOwnProperty(name)) {\n this._tryGetValidation(name);\n const result = this.validateControl(name);\n results.push(result);\n }\n }\n // 移除已经不存在的 validation\n const names = Object.keys(this.validations);\n names.forEach(name => {\n if (!controls[name]) {\n delete this.validations[name];\n }\n });\n return results;\n }\n\n addError(message: string) {\n this._addError(message);\n }\n\n validate($event?: Event): boolean {\n this._ngForm.onSubmit($event);\n this.validateControls();\n return this._ngForm.valid;\n }\n\n validateWithDetail($event?: Event): ThyValidateResult {\n this._ngForm.onSubmit($event);\n const results = this.validateControls();\n return {\n valid: this._ngForm.valid,\n invalidControls: results.filter(res => !res.valid),\n validControls: results.filter(res => res.valid)\n };\n }\n\n reset() {\n this._ngForm.reset();\n for (const name in this.validations) {\n if (this.validations.hasOwnProperty(name)) {\n this._restFormControlValidation(name);\n this._clearElementError(name);\n }\n }\n }\n\n setElementErrorMessage(name: string, message: string) {\n this._clearElementError(name);\n this._setControlValidationError(name, [message]);\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n}\n","import { coerceBooleanProperty, keycodes } from 'ngx-tethys/util';\n\nimport {\n AfterViewInit,\n ContentChildren,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2\n} from '@angular/core';\nimport { ControlContainer, NgControl, NgForm } from '@angular/forms';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nimport { ThyFormValidatorService } from './form-validator.service';\nimport { THY_FORM_CONFIG, ThyFormConfig, ThyFormLayout, ThyFormValidatorConfig, ThyValidateResult } from './form.class';\n\n// 1. submit 按 Enter 键提交, Textare或包含[contenteditable]属性的元素 除外,需要按 Ctrl | Command + Enter 提交\n// 2. alwaysSubmit 不管是哪个元素 按 Enter 键都提交\n// 3. forbidSubmit \bEnter 键禁止提交\n// 默认 submit\nexport enum ThyEnterKeyMode {\n submit = 'submit',\n alwaysSubmit = 'alwaysSubmit',\n forbidSubmit = 'forbidSubmit'\n}\n\n/**\n * 表单\n * @name thyForm,[thy-form]\n * @order 10\n */\n@Directive({\n selector: '[thyForm],[thy-form]',\n providers: [ThyFormValidatorService],\n exportAs: 'thyForm',\n host: {\n class: 'thy-form'\n },\n standalone: true\n})\nexport class ThyFormDirective implements OnInit, AfterViewInit, OnDestroy {\n private layout: ThyFormLayout;\n\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 布局,默认水平居中 horizontal,其他2种布局待开发\n * @type horizontal | vertical | inline\n * @default horizontal\n */\n @Input()\n set thyLayout(value: ThyFormLayout) {\n if (value) {\n this.layout = value;\n if (this.initialized) {\n this.updateClasses();\n }\n }\n }\n\n get thyLayout(): ThyFormLayout {\n return this.layout;\n }\n\n get isHorizontal() {\n return this.layout === 'horizontal';\n }\n\n /**\n * Enter 键提交模式。`submit`: Textarea 需要 Ctrl | Command + Enter 提交,其他元素直接 Enter 提交; `alwaysSubmit`: 不管是什么元素 Enter 都提交; `forbidSubmit`: Enter 不提交\n * @type submit | alwaysSubmit | forbidSubmit\n * @default submit\n */\n @Input() thyEnterKeyMode: ThyEnterKeyMode;\n\n /**\n * 表单验证规则配置项 (更多内容查看:thyFormValidatorConfig)\n */\n @Input()\n set thyFormValidatorConfig(config: ThyFormValidatorConfig) {\n this.validator.setValidatorConfig(config);\n }\n\n @HostBinding('class.was-validated') wasValidated = false;\n\n onSubmitSuccess: ($event: any) => void;\n\n private _unsubscribe: () => void;\n\n @ContentChildren(NgControl, {\n descendants: true\n })\n public controls: QueryList<NgControl>;\n\n constructor(\n private ngForm: ControlContainer,\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private ngZone: NgZone,\n public validator: ThyFormValidatorService,\n @Inject(THY_FORM_CONFIG) private config: ThyFormConfig\n ) {\n this.layout = this.config.layout;\n }\n\n ngOnInit(): void {\n this.ngZone.runOutsideAngular(() => {\n this._unsubscribe = this.renderer.listen(this.elementRef.nativeElement, 'keydown', this.onKeydown.bind(this));\n });\n this.updateClasses();\n this.initialized = true;\n }\n\n ngAfterViewInit() {\n this.validator.initialize(this.ngForm as NgForm, this.elementRef.nativeElement);\n this.validator.initializeFormControlsValidation(this.controls.toArray());\n this.controls.changes.subscribe(controls => {\n this.validator.initializeFormControlsValidation(this.controls.toArray());\n });\n }\n\n submit($event: Event) {\n const result = this.validator.validateWithDetail($event);\n if (result.valid) {\n this.onSubmitSuccess && this.onSubmitSuccess($event);\n } else {\n const invalidElement = result.invalidControls[0].element;\n invalidElement.focus();\n }\n }\n\n updateClasses() {\n this.hostRenderer.updateClassByMap({\n [`thy-form-${this.thyLayout}`]: true\n });\n }\n\n submitRunInZone($event: any) {\n this.ngZone.run(() => {\n this.submit($event);\n });\n }\n\n onKeydown($event: KeyboardEvent) {\n const currentInput = document.activeElement;\n const key = $event.which || $event.keyCode;\n if (key === keycodes.ENTER && currentInput.tagName) {\n if (!this.thyEnterKeyMode || this.thyEnterKeyMode === ThyEnterKeyMode.submit) {\n // TEXTAREA或包含[contenteditable]属性的元素 Ctrl + Enter 或者 Command + Enter 阻止\b默认行为并提交\n if (currentInput.tagName === 'TEXTAREA' || coerceBooleanProperty(currentInput.getAttribute('contenteditable'))) {\n if ($event.ctrlKey || $event.metaKey) {\n $event.preventDefault();\n this.submitRunInZone($event);\n }\n } else {\n // 不是 TEXTAREA Enter 阻止\b默认行为并提交\n $event.preventDefault();\n this.submitRunInZone($event);\n }\n } else if (this.thyEnterKeyMode === ThyEnterKeyMode.alwaysSubmit) {\n $event.preventDefault();\n this.submitRunInZone($event);\n } else {\n // do nothing\n }\n }\n }\n\n ngOnDestroy() {\n if (this._unsubscribe) {\n this._unsubscribe();\n this._unsubscribe = null;\n }\n }\n}\n","import { InputBoolean } from 'ngx-tethys/core';\nimport { Component, HostBinding, ViewEncapsulation, OnInit, Optional, Input } from '@angular/core';\nimport { ThyFormDirective } from '../form.directive';\nimport { ThyAlert } from 'ngx-tethys/alert';\nimport { NgClass, NgFor } from '@angular/common';\n\n/**\n * @name thy-form-group-error\n * @order 50\n */\n@Component({\n selector: 'thy-form-group-error',\n templateUrl: './form-group-error.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgClass, NgFor, ThyAlert]\n})\nexport class ThyFormGroupError implements OnInit {\n public errors: string[];\n\n @Input() @InputBoolean() thyShowFirst = true;\n\n /**\n * @type string[]\n */\n @Input()\n set thyErrors(errors: string[]) {\n this.errors = errors;\n }\n\n get thyErrors() {\n const errors = this.errors || this.thyParentForm.validator.errors;\n return errors && errors.length > 0 && this.thyShowFirst ? [errors[0]] : errors;\n }\n\n @HostBinding('class.form-group')\n get _isFormGroup() {\n return this.thyErrors && this.thyErrors.length > 0;\n }\n\n @HostBinding('class.row') isHorizontal = true;\n\n constructor(@Optional() private thyParentForm: ThyFormDirective) {}\n\n ngOnInit() {\n if (this.thyParentForm) {\n this.isHorizontal = this.thyParentForm.isHorizontal;\n }\n }\n}\n","<div [ngClass]=\"{ 'col-sm-10 offset-sm-2 col-form-control': isHorizontal }\">\n <thy-alert *ngFor=\"let error of thyErrors\" thyType=\"danger\" [thyMessage]=\"error\"></thy-alert>\n</div>\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { ThyTranslate } from 'ngx-tethys/core';\n\n/**\n * @name thyFormGroupLabel\n * @order 45\n */\n@Directive({\n selector: '[thyFormGroupLabel]',\n standalone: true\n})\nexport class ThyFormGroupLabelDirective {\n public labelText: string;\n\n @HostBinding('class.label-required') labelRequired = false;\n\n @HostBinding('class.col-form-label') _isFormGroupLabel = true;\n\n @Input()\n set thyLabelText(value: string) {\n this.labelText = value;\n }\n\n @Input()\n set thyLabelTranslateKey(translateKey: string) {\n if (translateKey) {\n this.labelText = this.thyTranslate.instant(translateKey);\n }\n }\n\n @Input()\n set thyLabelRequired(value: string) {\n this.labelRequired = coerceBooleanProperty(value);\n }\n\n constructor(private thyTranslate: ThyTranslate) {}\n}\n","import { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { InputBoolean, ThyTranslate } from 'ngx-tethys/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyTooltipDirective } from 'ngx-tethys/tooltip';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n Input,\n OnInit,\n Optional,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { ThyFormDirective } from './form.directive';\n\nconst internalIconMap = {\n date: 'wtf wtf-schedule-o'\n};\n\ntype TipsMode = 'default' | 'label';\n\n/**\n * 表单分组组件\n * @name thy-form-group\n * @order 40\n */\n@Component({\n selector: 'thy-form-group',\n templateUrl: './form-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, ThyIcon, NgClass, ThyTooltipDirective]\n})\nexport class ThyFormGroup implements OnInit {\n labelText: string;\n labelRequired = false;\n labelPaddingTopClear = false;\n feedbackIcon: string;\n feedbackSvgIconName: string;\n tips: string;\n tipMode: TipsMode = 'default';\n\n @HostBinding('class.row-fill') _rowFill = false;\n\n @HostBinding('class.form-group') _isFormGroup = true;\n\n @HostBinding('class.row') isHorizontal = true;\n\n @HostBinding('class.has-feedback') hasFeedback = false;\n\n /**\n * Label 文本\n */\n @Input()\n set thyLabelText(value: string) {\n this.labelText = value;\n }\n\n /**\n * Label 文本多语言 Key\n */\n @Input()\n set thyLabelTextTranslateKey(value: string) {\n if (value) {\n this.labelText = this.thyTranslate.instant(value);\n } else {\n this.labelText = '';\n }\n }\n\n /**\n * Label 是否显示必填项样式\n */\n @Input()\n set thyLabelRequired(value: string) {\n this.labelRequired = coerceBooleanProperty(value);\n }\n\n @Input()\n set thyLabelPaddingTopClear(value: string) {\n this.labelPaddingTopClear = coerceBooleanProperty(value);\n }\n\n /**\n * 反馈图标,比如日期输入框显示日期的图标,常用输入 date 表示时间 wtf wtf-schedule-o\n */\n @Input()\n set thyFeedbackIcon(value: string) {\n this.hasFeedback = true;\n if (internalIconMap[value]) {\n this.feedbackIcon = internalIconMap[value];\n this.feedbackSvgIconName = null;\n } else {\n this.feedbackSvgIconName = value;\n this.feedbackIcon = null;\n }\n }\n\n /**\n * 提示文字的显示模式,`label`模式表示在 label 后通过图标+Tooltip 提示, `default`模式在 Form Control 下方直接显示\n * @type default | label\n * @default default\n */\n @Input()\n set thyTipsMode(mode: TipsMode) {\n this.tipMode = mode;\n }\n\n /**\n * 提示文案\n */\n @Input()\n set thyTips(value: string) {\n this.tips = value;\n }\n\n /**\n * 提示文案的多语言 Key\n */\n @Input()\n set thyTipsTranslateKey(value: string) {\n this.tips = this.thyTranslate.instant(value);\n }\n\n /**\n * 是否填充整行, 没有 Label 文本,只有输入框\n * @default false\n */\n @Input()\n @InputBoolean()\n set thyRowFill(value: boolean) {\n this._rowFill = coerceBooleanProperty(value);\n }\n\n /**\n * 已废弃\n * @deprecated please use content because formGroup is same name with angular formGroup directive\n */\n @ContentChild('formGroup')\n public contentTemplateRef: TemplateRef<any>;\n\n /**\n * 内容自定义模板,`<ng-template #content></ng-template>`\n */\n @ContentChild('content')\n public contentTemplate: TemplateRef<any>;\n\n constructor(@Optional() private thyParentForm: ThyFormDirective, private thyTranslate: ThyTranslate) {}\n\n ngOnInit() {\n this.isHorizontal = this.thyParentForm ? this.thyParentForm.isHorizontal : true;\n }\n}\n","<ng-container *ngIf=\"contentTemplate || contentTemplateRef; else defaultTpl\">\n <ng-container [ngTemplateOutlet]=\"contentTemplate || contentTemplateRef\"></ng-container>\n <ng-container *ngIf=\"feedbackSvgIconName; else iconFont\">\n <thy-icon class=\"form-control-feedback\" [thyIconName]=\"feedbackSvgIconName\"></thy-icon>\n </ng-container>\n</ng-container>\n<ng-template #defaultTpl>\n <label\n *ngIf=\"!(!isHorizontal && !labelText)\"\n class=\"form-label \"\n [ngClass]=\"{\n 'col-sm-2 col-form-label': isHorizontal,\n 'pt-0': labelPaddingTopClear\n }\"\n >\n <span\n [ngClass]=\"{\n 'label-required': labelRequired\n }\"\n >{{ labelText }}</span\n >\n <thy-icon class=\"label-tips-icon\" *ngIf=\"tipMode === 'label' && tips\" thyIconName=\"question-circle\" [thyTooltip]=\"tips\"></thy-icon>\n </label>\n <div [ngClass]=\"{ 'col-sm-10 col-form-control': isHorizontal, 'position-relative': !isHorizontal }\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"feedbackSvgIconName; else iconFont\">\n <thy-icon class=\"form-control-feedback\" [thyIconName]=\"feedbackSvgIconName\"></thy-icon>\n </ng-container>\n <span *ngIf=\"tipMode === 'default' && tips\" class=\"form-text text-desc\">{{ tips }}</span>\n </div>\n</ng-template>\n\n<ng-template #iconFont>\n <span *ngIf=\"feedbackIcon\" class=\"form-control-feedback {{ feedbackIcon }}\"></span>\n</ng-template>\n","import { Directive, EventEmitter, HostListener, OnInit, Output } from '@angular/core';\n\nimport { ThyFormDirective } from './form.directive';\n\n/**\n * 表单提交指令\n * @name thyFormSubmit,[thy-form-submit]\n * @order 15\n */\n@Directive({\n selector: '[thyFormSubmit],[thy-form-submit]',\n standalone: true\n})\nexport class ThyFormSubmitDirective implements OnInit {\n /**\n * Form 验证通过的提交函数\n */\n @Output() thyFormSubmit = new EventEmitter();\n\n constructor(private thyFormDirective: ThyFormDirective) {}\n\n ngOnInit(): void {\n this.thyFormDirective.onSubmitSuccess = ($event: Event) => {\n this.thyFormSubmit.emit($event);\n };\n }\n\n @HostListener('click', ['$event'])\n onSubmit($event: Event) {\n this.thyFormDirective.submit($event);\n }\n}\n","import { Component, HostBinding, ViewEncapsulation, OnInit, Optional, Input, Inject, ContentChild, TemplateRef } from '@angular/core';\nimport { ThyFormDirective } from '../form.directive';\nimport { ThyFormGroupFooterAlign, THY_FORM_CONFIG, ThyFormConfig } from '../form.class';\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\n\n/**\n * 表单组底部组件\n * @name thy-form-group-footer\n * @order 55\n */\n@Component({\n selector: 'thy-form-group-footer',\n templateUrl: './form-group-footer.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgClass, NgIf, NgTemplateOutlet]\n})\nexport class ThyFormGroupFooter implements OnInit {\n @HostBinding('class.form-group') _isFormGroup = true;\n\n @HostBinding('class.row') isHorizontal = true;\n\n @ContentChild('description') description: TemplateRef<any>;\n\n /**\n * 对齐方式\n * @type left | right | center\n * @default left\n */\n @Input() thyAlign: ThyFormGroupFooterAlign;\n\n public footerClassMap = {};\n\n private get align() {\n return !!this.thyAlign ? this.thyAlign : this.defaultConfig.footerAlign;\n }\n\n constructor(@Optional() private thyParentForm: ThyFormDirective, @Inject(THY_FORM_CONFIG) private defaultConfig: ThyFormConfig) {}\n\n ngOnInit() {\n if (this.thyParentForm) {\n this.isHorizontal = this.thyParentForm.isHorizontal;\n }\n this.setFooterClassMap();\n }\n\n setFooterClassMap() {\n this.footerClassMap = {\n 'form-group-footer': true,\n 'col-sm-10 offset-sm-2 col-form-control': this.isHorizontal,\n [`form-group-footer-align-${this.align}`]: true\n };\n }\n}\n","<div [ngClass]=\"footerClassMap\">\n <div class=\"btn-pair form-footer-actions\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"form-footer-description\" *ngIf=\"description\">\n <ng-container [ngTemplateOutlet]=\"description\"></ng-container>\n </div>\n</div>\n","import { AsyncValidator, AbstractControl, ValidationErrors, NG_ASYNC_VALIDATORS } from '@angular/forms';\nimport { Directive, Input, Optional, ElementRef } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { map, catchError } from 'rxjs/operators';\nimport { ThyFormDirective } from '../form.directive';\n\n/**\n * 用于校验表单控件的输入值是否已经存在\n * @name thyUniqueCheck\n * @order 20\n */\n@Directive({\n selector: '[thyUniqueCheck]',\n providers: [\n {\n provide: NG_ASYNC_VALIDATORS,\n useExisting: ThyUniqueCheckValidator,\n multi: true\n }\n ],\n standalone: true\n})\nexport class ThyUniqueCheckValidator implements AsyncValidator {\n @Input() thyUniqueCheck: (value: any) => Observable<boolean>;\n\n constructor(private elementRef: ElementRef, @Optional() private thyForm: ThyFormDirective) {}\n\n validate(ctrl: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> {\n return this.thyUniqueCheck(ctrl.value).pipe(\n map((failed: boolean) => {\n setTimeout(() => {\n if (failed && this.thyForm && this.elementRef.nativeElement.name) {\n this.thyForm.validator.validateControl(this.elementRef.nativeElement.name);\n }\n });\n return failed ? { thyUniqueCheck: failed } : null;\n }),\n catchError(() => of(null))\n );\n }\n}\n","import { Directive, Input, forwardRef } from '@angular/core';\nimport { Validator, AbstractControl, NG_VALIDATORS, Validators, ValidatorFn } from '@angular/forms';\n\n/**\n * @name min\n * @order 35\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[min][formControlName],[min][formControl],[min][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => ThyMinDirective),\n multi: true\n }\n ],\n standalone: true\n})\nexport class ThyMinDirective implements Validator {\n private _validator: ValidatorFn;\n @Input() public set min(value: string) {\n this._validator = Validators.min(parseFloat(value));\n }\n\n public validate(control: AbstractControl): { [key: string]: any } {\n return this._validator(control);\n }\n}\n","import { Directive, Input, forwardRef } from '@angular/core';\nimport { Validator, AbstractControl, NG_VALIDATORS, Validators, ValidatorFn } from '@angular/forms';\n\n/**\n * @name max\n * @order 30\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[max][formControlName],[max][formControl],[max][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => ThyMaxDirective),\n multi: true\n }\n ],\n standalone: true\n})\nexport class ThyMaxDirective implements Validator {\n private _validator: ValidatorFn;\n @Input() public set max(value: string) {\n this._validator = Validators.max(parseFloat(value));\n }\n\n public validate(control: AbstractControl): { [key: string]: any } {\n return this._validator(control);\n }\n}\n","import { Directive, Input } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator, ValidatorFn } from '@angular/forms';\n\nexport function confirmValidator(value: string): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n const isEqual = value === control.value;\n return !isEqual ? { confirm: { value: value, actual: control.value } } : null;\n };\n}\n\n/**\n * confirm validator,用于确认两次输入是否一致\n * @name confirm\n * @order 25\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[confirm]',\n providers: [{ provide: NG_VALIDATORS, useExisting: ThyConfirmValidatorDirective, multi: true }],\n standalone: true\n})\nexport class ThyConfirmValidatorDirective implements Validator {\n /**\n * 表单控件的校验值\n */\n @Input() confirm: string;\n\n validate(control: AbstractControl) {\n return confirmValidator(this.confirm)(control);\n }\n}\n","import { ThyAlertModule } from 'ngx-tethys/alert';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyInputModule } from 'ngx-tethys/input';\nimport { ThyTooltipModule } from 'ngx-tethys/tooltip';\n\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { ThyFormGroupError } from './form-group-error/form-group-error.component';\nimport { ThyFormGroupLabelDirective } from './form-group-label.directive';\nimport { ThyFormGroup } from './form-group.component';\nimport { ThyFormSubmitDirective } from './form-submit.directive';\nimport { ThyFormValidatorLoader } from './form-validator-loader';\nimport { ThyFormValidatorGlobalConfig, THY_FORM_CONFIG_PROVIDER, THY_VALIDATOR_CONFIG } from './form.class';\nimport { ThyFormDirective } from './form.directive';\nimport { ThyFormGroupFooter } from './from-group-footer/form-group-footer.component';\nimport { ThyConfirmValidatorDirective, ThyMaxDirective, ThyMinDirective, ThyUniqueCheckValidator } from './validator/index';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ThyInputModule,\n ThyAlertModule,\n ThyIconModule,\n ThyTooltipModule,\n ThyFormDirective,\n ThyFormGroup,\n ThyFormGroupLabelDirective,\n ThyFormSubmitDirective,\n ThyFormGroupFooter,\n ThyUniqueCheckValidator,\n ThyFormGroupError,\n ThyMinDirective,\n ThyMaxDirective,\n ThyConfirmValidatorDirective\n ],\n exports: [\n ThyFormDirective,\n ThyFormGroup,\n ThyFormGroupLabelDirective,\n ThyFormSubmitDirective,\n ThyFormGroupFooter,\n ThyUniqueCheckValidator,\n ThyFormGroupError,\n ThyMinDirective,\n ThyMaxDirective,\n ThyConfirmValidatorDirective\n ],\n providers: [ThyFormValidatorLoader, THY_FORM_CONFIG_PROVIDER]\n})\nexport class ThyFormModule {\n static forRoot(config: ThyFormValidatorGlobalConfig): ModuleWithProviders<ThyFormModule> {\n return {\n ngModule: ThyFormModule,\n providers: [\n {\n provide: THY_VALIDATOR_CONFIG,\n useValue: config\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyFormValidatorLoader","i1.ThyFormDirective","i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-form.mjs","sources":["../../../src/form/form.class.ts","../../../src/form/form-validator-loader.ts","../../../src/form/form-validator.service.ts","../../../src/form/form.directive.ts","../../../src/form/form-group-error/form-group-error.component.ts","../../../src/form/form-group-error/form-group-error.component.html","../../../src/form/form-group-label.directive.ts","../../../src/form/form-group.component.ts","../../../src/form/form-group.component.html","../../../src/form/form-submit.directive.ts","../../../src/form/from-group-footer/form-group-footer.component.ts","../../../src/form/from-group-footer/form-group-footer.component.html","../../../src/form/validator/unique-validator.directive.ts","../../../src/form/validator/min-validator.directive.ts","../../../src/form/validator/max-validator.directive.ts","../../../src/form/validator/confirm-validator.directive.ts","../../../src/form/module.ts","../../../src/form/ngx-tethys-form.ts"],"sourcesContent":["import { Dictionary } from 'ngx-tethys/types';\n\nimport { InjectionToken } from '@angular/core';\nimport { AbstractControl, FormControlName } from '@angular/forms';\n\nexport type ThyFormLayout = 'horizontal' | 'vertical' | 'inline';\n\nexport type ThyFormGroupFooterAlign = 'left' | 'right' | 'center';\n\nexport declare type ThyValidateOn = 'submit' | 'blur' | 'change';\n\nexport declare type ThyFormValidationMessages = Dictionary<Dictionary<string>>;\n\n/**\n * @order 20\n */\nexport interface ThyFormValidatorConfig {\n /**\n * 当值为 true 或不传时,执行默认逻辑,当为 false 时,不显示错误;值为 function 时,执行自定义函数处理逻辑,需要注入 THY_VALIDATOR_CONFIG 来使配置生效。\n */\n showElementError?: boolean | ((element: HTMLElement, errorMessages: string[]) => void);\n\n /**\n * 移除错误,一般和 showElementError 匹配使用;当值为 true 或不传时,执行默认逻辑,当为 false 时,不显示错误提示;值为 function 时,执行自定义函数处理逻辑,需要注入 THY_VALIDATOR_CONFIG 来使配置生效。\n */\n removeElementError?: boolean | ((element: HTMLElement) => void);\n\n /**\n * 每个字段的验证提示信息配置, validationMessages: {external_url: {required: '应用地址不能为空'}}\n */\n validationMessages?: ThyFormValidationMessages;\n\n /**\n * 表单验证触发方式; 支持change、submit、blur三种方式触发。默认submit。\n */\n validateOn?: ThyValidateOn;\n}\n\nexport interface ThyFormValidatorGlobalConfig extends ThyFormValidatorConfig {\n globalValidationMessages?: Dictionary<string>;\n}\n\nexport interface ThyFormConfig {\n layout?: ThyFormLayout;\n footerAlign?: ThyFormGroupFooterAlign;\n}\n\nexport interface ThyControlValidationResult {\n valid: boolean;\n control: AbstractControl | FormControlName;\n element: HTMLElement;\n}\n\nexport interface ThyValidateResult {\n valid: boolean;\n invalidControls: ThyControlValidationResult[];\n validControls: ThyControlValidationResult[];\n}\n\nexport const THY_VALIDATOR_CONFIG = new InjectionToken<ThyFormValidatorGlobalConfig>('VALIDATION_CONFIG');\n\nexport const THY_FORM_CONFIG = new InjectionToken<ThyFormConfig>('THY_FORM_CONFIG');\n\nexport const THY_FORM_CONFIG_PROVIDER = {\n provide: THY_FORM_CONFIG,\n useValue: { layout: 'horizontal', footerAlign: 'left' }\n};\n","import { Dictionary } from 'ngx-tethys/types';\nimport { helpers } from 'ngx-tethys/util';\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\n\nimport { THY_VALIDATOR_CONFIG, ThyFormValidationMessages, ThyFormValidatorGlobalConfig } from './form.class';\n\nexport const ERROR_VALUE_REPLACE_REGEX = /\\{(.+?)\\}/g;\n\nconst INVALID_CLASS = 'is-invalid';\nconst INVALID_FEEDBACK_CLASS = 'invalid-feedback';\n\nconst defaultValidatorConfig: ThyFormValidatorGlobalConfig = {\n showElementError: true,\n removeElementError: true,\n validationMessages: {}\n};\n\nconst globalValidationMessages = {\n required: '该选项不能为空',\n maxlength: '该选项输入值长度不能大于{maxlength}',\n minlength: '该选项输入值长度不能小于{minlength}',\n thyUniqueCheck: '输入值已经存在,请重新输入',\n email: '输入邮件的格式不正确',\n confirm: '两次输入不一致',\n pattern: '该选项输入格式不正确',\n number: '必须输入数字',\n url: '输入URL格式不正确',\n max: '该选项输入值不能大于{max}',\n min: '该选项输入值不能小于{min}'\n};\n\n/**\n * @private\n */\n@Injectable()\nexport class ThyFormValidatorLoader {\n private config: ThyFormValidatorGlobalConfig;\n\n private getDefaultValidationMessage(key: string) {\n if (this.config.globalValidationMessages && this.config.globalValidationMessages[key]) {\n return this.config.globalValidationMessages[key];\n } else {\n return globalValidationMessages[key];\n }\n }\n constructor(\n @Optional()\n @Inject(THY_VALIDATOR_CONFIG)\n config: ThyFormValidatorGlobalConfig\n ) {\n this.config = Object.assign({}, defaultValidatorConfig, config);\n }\n\n get validationMessages() {\n return this.config.validationMessages;\n }\n\n get validateOn() {\n if (!this.config?.validateOn) {\n this.config.validateOn = 'submit';\n }\n return this.config.validateOn;\n }\n\n isElementInInputGroup(element: HTMLElement) {\n return !!(element?.parentElement?.tagName.toUpperCase() === 'THY-INPUT-GROUP');\n }\n\n getErrorMessage(name: string, key: string): string {\n if (this.validationMessages[name] && this.validationMessages[name][key]) {\n return this.validationMessages[name][key];\n } else {\n return this.getDefaultValidationMessage(key);\n }\n }\n\n getErrorMessages(name: string, validationErrors: ValidationErrors): string[] {\n const messages = [];\n for (const validationError in validationErrors) {\n if (validationErrors.hasOwnProperty(validationError)) {\n messages.push(this.getErrorMessage(name, validationError));\n }\n }\n return messages;\n }\n\n defaultShowError(element: HTMLElement, errorMessages: string[]) {\n if (element && element.parentElement) {\n const documentFrag = document.createDocumentFragment();\n const divNode = document.createElement('DIV');\n const textNode = document.createTextNode(errorMessages[0]);\n divNode.appendChild(textNode);\n divNode.setAttribute('class', INVALID_FEEDBACK_CLASS);\n documentFrag.appendChild(divNode);\n element.parentElement.append(documentFrag);\n }\n }\n\n defaultRemoveError(element: HTMLElement) {\n if (element && element.parentElement) {\n const invalidFeedback = element.parentElement.querySelector('.invalid-feedback');\n if (invalidFeedback) {\n element.parentElement.removeChild(invalidFeedback);\n }\n }\n }\n\n removeError(element: HTMLElement) {\n const formControlElement = this.isElementInInputGroup(element) ? element.parentElement : element;\n formControlElement.classList.remove(INVALID_CLASS);\n if (helpers.isFunction(this.config.removeElementError)) {\n this.config.removeElementError(formControlElement);\n } else if (this.config.showElementError) {\n this.defaultRemoveError(formControlElement);\n } else {\n // do nothings\n }\n }\n\n showError(element: HTMLElement, errorMessages: string[]) {\n const formControlElement = this.isElementInInputGroup(element) ? element.parentElement : element;\n formControlElement.classList.add(INVALID_CLASS);\n if (helpers.isFunction(this.config.showElementError)) {\n this.config.showElementError(formControlElement, errorMessages);\n } else if (this.config.showElementError) {\n this.defaultShowError(formControlElement, errorMessages);\n } else {\n // do nothings\n }\n }\n\n addValidationMessages(messages: ThyFormValidationMessages) {\n Object.assign(this.config.validationMessages, messages);\n }\n\n setGlobalValidationMessages(validationMessages: Dictionary<string>) {\n this.config.globalValidationMessages = validationMessages;\n }\n}\n","import { Dictionary } from 'ngx-tethys/types';\nimport { isUndefinedOrNull } from 'ngx-tethys/util';\nimport { of, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { AbstractControl, FormControlName, FormGroupDirective, NgControl, NgForm, ValidationErrors } from '@angular/forms';\n\nimport { ERROR_VALUE_REPLACE_REGEX, ThyFormValidatorLoader } from './form-validator-loader';\nimport { ThyFormValidatorConfig, ThyValidateOn, ThyValidateResult } from './form.class';\n\n/**\n * @private\n */\n@Injectable()\nexport class ThyFormValidatorService implements OnDestroy {\n private _ngForm: NgForm | FormGroupDirective;\n\n private _formElement: HTMLFormElement;\n\n private _config: ThyFormValidatorConfig;\n\n public errors: string[] = [];\n\n private _controls: NgControl[] = [];\n\n // 记录所有元素的验证信息\n public validations: Dictionary<{\n hasError?: boolean;\n errorMessages?: string[];\n }> = {};\n\n private _destroy$ = new Subject<void>();\n\n private _getElement(name: string) {\n const element = this._formElement.elements[name];\n if (element) {\n return element;\n } else {\n return this._formElement.querySelector(`[name='${name}']`);\n }\n }\n\n private _clearElementError(name: string) {\n if (this.validations[name] && this.validations[name].hasError) {\n this.validations[name].hasError = false;\n this.validations[name].errorMessages = [];\n this.thyFormValidateLoader.removeError(this._getElement(name));\n }\n }\n\n private _tryGetValidation(name: string) {\n const controls = this._getControls();\n if (!this.validations[name]) {\n this._initializeFormControlValidation(name, controls[name] as any);\n }\n return this.validations[name];\n }\n\n private _addError(message: string) {\n this.errors.unshift(message);\n }\n\n private _clearErrors() {\n this.errors = [];\n }\n\n private _setControlValidateByChange(control: NgControl) {\n control.valueChanges\n .pipe(\n debounceTime(100),\n distinctUntilChanged(),\n filter(item => {\n return item;\n }),\n switchMap(item => {\n this.validateControl(control.name as string);\n return of([]);\n })\n )\n .subscribe();\n }\n\n private _setControlValidateByBlur(control: NgControl) {\n const element: HTMLElement = this._getElement(control.name as string);\n if (element) {\n // 继承了 AbstractControlValueAccessor 的自定义 Accessor,通过 __onBlurValidation 控制触发验证函数\n if (control.valueAccessor['__onBlurValidation']) {\n control.valueAccessor['__onBlurValidation'] = () => {\n this.validateControl(control.name as string);\n };\n } else {\n element.onblur = (event: FocusEvent) => {\n this.validateControl(control.name as string);\n };\n }\n }\n }\n\n private _initializeFormControlValidation(name: string, control: AbstractControl | FormControlName | NgControl) {\n this.validations[name] = {\n hasError: false,\n errorMessages: []\n };\n if (this._getValidateOn() === 'change') {\n this._setControlValidateByChange(control as NgControl);\n } else {\n if (this._getValidateOn() === 'blur') {\n this._setControlValidateByBlur(control as NgControl);\n }\n\n control.valueChanges.pipe(takeUntil(this._destroy$)).subscribe(item => {\n this._clearElementError(name);\n this._clearErrors();\n });\n }\n }\n\n private _restFormControlValidation(name: string) {\n const validation = this.validations[name];\n if (validation) {\n validation.hasError = false;\n validation.errorMessages = [];\n }\n }\n\n private _formatValidationMessage(name: string, message: string) {\n const controls = this._getControls();\n const control = controls[name];\n if (control) {\n return message.replace(ERROR_VALUE_REPLACE_REGEX, (tag, key) => {\n if (key) {\n return isUndefinedOrNull(control.errors[key][key]) ? control.errors[key].requiredLength : control.errors[key][key];\n }\n });\n } else {\n return message;\n }\n }\n\n private _getValidationMessage(name: string, validationError: string) {\n let message = null;\n if (\n this._config &&\n this._config.validationMessages &&\n this._config.validationMessages[name] &&\n this._config.validationMessages[name][validationError]\n ) {\n message = this._config.validationMessages[name][validationError];\n } else {\n message = this.thyFormValidateLoader.getErrorMessage(name, validationError);\n }\n return this._formatValidationMessage(name, message);\n }\n\n private _getValidationMessages(name: string, validationErrors: ValidationErrors) {\n const messages = [];\n for (const validationError in validationErrors) {\n if (validationErrors.hasOwnProperty(validationError)) {\n messages.push(this._getValidationMessage(name, validationError));\n }\n }\n return messages;\n }\n\n private _setControlValidationError(name: string, errorMessages: string[]) {\n const validation = this._tryGetValidation(name);\n validation.errorMessages = errorMessages;\n validation.hasError = true;\n this.thyFormValidateLoader.showError(this._getElement(name), errorMessages);\n }\n\n private _getValidateOn(): ThyValidateOn {\n return (this._config && this._config.validateOn) || this.thyFormValidateLoader.validateOn;\n }\n\n constructor(private thyFormValidateLoader: ThyFormValidatorLoader) {}\n\n initialize(ngForm: NgForm | FormGroupDirective, formElement: HTMLFormElement) {\n this._ngForm = ngForm;\n this._formElement = formElement;\n }\n\n initializeFormControlsValidation(controls: NgControl[]) {\n if (this._getValidateOn() !== 'submit') {\n (controls || []).forEach((control: NgControl) => {\n if (!this._controls.find(item => item.name === control.name)) {\n this._initializeFormControlValidation(control.name as string, control);\n }\n });\n this._controls = controls;\n }\n }\n\n setValidatorConfig(config: ThyFormValidatorConfig) {\n this._config = config;\n }\n\n private _getControls() {\n if (this._ngForm instanceof NgForm) {\n return (this._ngForm as NgForm).controls;\n } else if (this._ngForm instanceof FormGroupDirective) {\n const controls = {};\n (this._ngForm as FormGroupDirective).directives.forEach(directive => {\n controls[directive.name] = directive;\n });\n return controls;\n }\n }\n\n private _getControlByName(name: string): AbstractControl | FormControlName {\n const controls = this._getControls();\n return controls[name];\n }\n\n validateControl(name: string) {\n this._clearElementError(name);\n const control = this._getControlByName(name);\n if (control && control.invalid) {\n const errorMessages = this._getValidationMessages(name, control.errors);\n this._setControlValidationError(name, errorMessages);\n }\n return {\n valid: control.valid,\n control: control,\n element: this._getElement(name)\n };\n }\n\n validateControls() {\n // 主要是 无法检测到 ngForm 的 controls 的变化,或者是我没有找到\n // 验证的时候循环 ngForm 的 controls 验证\n // 发现没有 validation 初始化一个,已经存在不会重新初始化,保存缓存数据\n const results = [];\n const controls = this._getControls();\n for (const name in controls) {\n if (controls.hasOwnProperty(name)) {\n this._tryGetValidation(name);\n const result = this.validateControl(name);\n results.push(result);\n }\n }\n // 移除已经不存在的 validation\n const names = Object.keys(this.validations);\n names.forEach(name => {\n if (!controls[name]) {\n delete this.validations[name];\n }\n });\n return results;\n }\n\n addError(message: string) {\n this._addError(message);\n }\n\n validate($event?: Event): boolean {\n this._ngForm.onSubmit($event);\n this.validateControls();\n return this._ngForm.valid;\n }\n\n validateWithDetail($event?: Event): ThyValidateResult {\n this._ngForm.onSubmit($event);\n const results = this.validateControls();\n return {\n valid: this._ngForm.valid,\n invalidControls: results.filter(res => !res.valid),\n validControls: results.filter(res => res.valid)\n };\n }\n\n reset() {\n this._ngForm.reset();\n for (const name in this.validations) {\n if (this.validations.hasOwnProperty(name)) {\n this._restFormControlValidation(name);\n this._clearElementError(name);\n }\n }\n }\n\n setElementErrorMessage(name: string, message: string) {\n this._clearElementError(name);\n this._setControlValidationError(name, [message]);\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n}\n","import { coerceBooleanProperty, keycodes } from 'ngx-tethys/util';\n\nimport {\n AfterViewInit,\n ContentChildren,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2\n} from '@angular/core';\nimport { ControlContainer, NgControl, NgForm } from '@angular/forms';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nimport { ThyFormValidatorService } from './form-validator.service';\nimport { THY_FORM_CONFIG, ThyFormConfig, ThyFormLayout, ThyFormValidatorConfig, ThyValidateResult } from './form.class';\n\n// 1. submit 按 Enter 键提交, Textare或包含[contenteditable]属性的元素 除外,需要按 Ctrl | Command + Enter 提交\n// 2. alwaysSubmit 不管是哪个元素 按 Enter 键都提交\n// 3. forbidSubmit \bEnter 键禁止提交\n// 默认 submit\nexport enum ThyEnterKeyMode {\n submit = 'submit',\n alwaysSubmit = 'alwaysSubmit',\n forbidSubmit = 'forbidSubmit'\n}\n\n/**\n * 表单\n * @name thyForm,[thy-form]\n * @order 10\n */\n@Directive({\n selector: '[thyForm],[thy-form]',\n providers: [ThyFormValidatorService],\n exportAs: 'thyForm',\n host: {\n class: 'thy-form'\n },\n standalone: true\n})\nexport class ThyFormDirective implements OnInit, AfterViewInit, OnDestroy {\n private layout: ThyFormLayout;\n\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 布局,默认水平居中 horizontal,其他2种布局待开发\n * @type horizontal | vertical | inline\n * @default horizontal\n */\n @Input()\n set thyLayout(value: ThyFormLayout) {\n if (value) {\n this.layout = value;\n if (this.initialized) {\n this.updateClasses();\n }\n }\n }\n\n get thyLayout(): ThyFormLayout {\n return this.layout;\n }\n\n get isHorizontal() {\n return this.layout === 'horizontal';\n }\n\n /**\n * Enter 键提交模式。`submit`: Textarea 需要 Ctrl | Command + Enter 提交,其他元素直接 Enter 提交; `alwaysSubmit`: 不管是什么元素 Enter 都提交; `forbidSubmit`: Enter 不提交\n * @type submit | alwaysSubmit | forbidSubmit\n * @default submit\n */\n @Input() thyEnterKeyMode: ThyEnterKeyMode;\n\n /**\n * 表单验证规则配置项 (更多内容查看:thyFormValidatorConfig)\n */\n @Input()\n set thyFormValidatorConfig(config: ThyFormValidatorConfig) {\n this.validator.setValidatorConfig(config);\n }\n\n @HostBinding('class.was-validated') wasValidated = false;\n\n onSubmitSuccess: ($event: any) => void;\n\n private _unsubscribe: () => void;\n\n @ContentChildren(NgControl, {\n descendants: true\n })\n public controls: QueryList<NgControl>;\n\n constructor(\n private ngForm: ControlContainer,\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private ngZone: NgZone,\n public validator: ThyFormValidatorService,\n @Inject(THY_FORM_CONFIG) private config: ThyFormConfig\n ) {\n this.layout = this.config.layout;\n }\n\n ngOnInit(): void {\n this.ngZone.runOutsideAngular(() => {\n this._unsubscribe = this.renderer.listen(this.elementRef.nativeElement, 'keydown', this.onKeydown.bind(this));\n });\n this.updateClasses();\n this.initialized = true;\n }\n\n ngAfterViewInit() {\n this.validator.initialize(this.ngForm as NgForm, this.elementRef.nativeElement);\n this.validator.initializeFormControlsValidation(this.controls.toArray());\n this.controls.changes.subscribe(controls => {\n this.validator.initializeFormControlsValidation(this.controls.toArray());\n });\n }\n\n submit($event: Event) {\n const result = this.validator.validateWithDetail($event);\n if (result.valid) {\n this.onSubmitSuccess && this.onSubmitSuccess($event);\n } else {\n const invalidElement = result.invalidControls[0].element;\n invalidElement.focus();\n }\n }\n\n updateClasses() {\n this.hostRenderer.updateClassByMap({\n [`thy-form-${this.thyLayout}`]: true\n });\n }\n\n submitRunInZone($event: any) {\n this.ngZone.run(() => {\n this.submit($event);\n });\n }\n\n onKeydown($event: KeyboardEvent) {\n const currentInput = document.activeElement;\n const key = $event.which || $event.keyCode;\n if (key === keycodes.ENTER && currentInput.tagName) {\n if (!this.thyEnterKeyMode || this.thyEnterKeyMode === ThyEnterKeyMode.submit) {\n // TEXTAREA或包含[contenteditable]属性的元素 Ctrl + Enter 或者 Command + Enter 阻止\b默认行为并提交\n if (currentInput.tagName === 'TEXTAREA' || coerceBooleanProperty(currentInput.getAttribute('contenteditable'))) {\n if ($event.ctrlKey || $event.metaKey) {\n $event.preventDefault();\n this.submitRunInZone($event);\n }\n } else {\n // 不是 TEXTAREA Enter 阻止\b默认行为并提交\n $event.preventDefault();\n this.submitRunInZone($event);\n }\n } else if (this.thyEnterKeyMode === ThyEnterKeyMode.alwaysSubmit) {\n $event.preventDefault();\n this.submitRunInZone($event);\n } else {\n // do nothing\n }\n }\n }\n\n ngOnDestroy() {\n if (this._unsubscribe) {\n this._unsubscribe();\n this._unsubscribe = null;\n }\n }\n}\n","import { Component, HostBinding, ViewEncapsulation, OnInit, Optional, Input, booleanAttribute } from '@angular/core';\nimport { ThyFormDirective } from '../form.directive';\nimport { ThyAlert } from 'ngx-tethys/alert';\nimport { NgClass, NgFor } from '@angular/common';\n\n/**\n * @name thy-form-group-error\n * @order 50\n */\n@Component({\n selector: 'thy-form-group-error',\n templateUrl: './form-group-error.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgClass, NgFor, ThyAlert]\n})\nexport class ThyFormGroupError implements OnInit {\n public errors: string[];\n\n @Input({ transform: booleanAttribute }) thyShowFirst = true;\n\n /**\n * @type string[]\n */\n @Input()\n set thyErrors(errors: string[]) {\n this.errors = errors;\n }\n\n get thyErrors() {\n const errors = this.errors || this.thyParentForm.validator.errors;\n return errors && errors.length > 0 && this.thyShowFirst ? [errors[0]] : errors;\n }\n\n @HostBinding('class.form-group')\n get _isFormGroup() {\n return this.thyErrors && this.thyErrors.length > 0;\n }\n\n @HostBinding('class.row') isHorizontal = true;\n\n constructor(@Optional() private thyParentForm: ThyFormDirective) {}\n\n ngOnInit() {\n if (this.thyParentForm) {\n this.isHorizontal = this.thyParentForm.isHorizontal;\n }\n }\n}\n","<div [ngClass]=\"{ 'col-sm-10 offset-sm-2 col-form-control': isHorizontal }\">\n <thy-alert *ngFor=\"let error of thyErrors\" thyType=\"danger\" [thyMessage]=\"error\"></thy-alert>\n</div>\n","import { Directive, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ThyTranslate } from 'ngx-tethys/core';\n\n/**\n * @name thyFormGroupLabel\n * @order 45\n */\n@Directive({\n selector: '[thyFormGroupLabel]',\n standalone: true\n})\nexport class ThyFormGroupLabelDirective {\n public labelText: string;\n\n @HostBinding('class.label-required') labelRequired = false;\n\n @HostBinding('class.col-form-label') _isFormGroupLabel = true;\n\n @Input()\n set thyLabelText(value: string) {\n this.labelText = value;\n }\n\n @Input()\n set thyLabelTranslateKey(translateKey: string) {\n if (translateKey) {\n this.labelText = this.thyTranslate.instant(translateKey);\n }\n }\n\n @Input({ transform: booleanAttribute })\n set thyLabelRequired(value: boolean) {\n this.labelRequired = value;\n }\n\n constructor(private thyTranslate: ThyTranslate) {}\n}\n","import { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { ThyTranslate } from 'ngx-tethys/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyTooltipDirective } from 'ngx-tethys/tooltip';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n Input,\n OnInit,\n Optional,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\n\nimport { ThyFormDirective } from './form.directive';\n\nconst internalIconMap = {\n date: 'wtf wtf-schedule-o'\n};\n\ntype TipsMode = 'default' | 'label';\n\n/**\n * 表单分组组件\n * @name thy-form-group\n * @order 40\n */\n@Component({\n selector: 'thy-form-group',\n templateUrl: './form-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, ThyIcon, NgClass, ThyTooltipDirective]\n})\nexport class ThyFormGroup implements OnInit {\n labelText: string;\n labelRequired = false;\n labelPaddingTopClear = false;\n feedbackIcon: string;\n feedbackSvgIconName: string;\n tips: string;\n tipMode: TipsMode = 'default';\n\n @HostBinding('class.row-fill') _rowFill = false;\n\n @HostBinding('class.form-group') _isFormGroup = true;\n\n @HostBinding('class.row') isHorizontal = true;\n\n @HostBinding('class.has-feedback') hasFeedback = false;\n\n /**\n * Label 文本\n */\n @Input()\n set thyLabelText(value: string) {\n this.labelText = value;\n }\n\n /**\n * Label 文本多语言 Key\n */\n @Input()\n set thyLabelTextTranslateKey(value: string) {\n if (value) {\n this.labelText = this.thyTranslate.instant(value);\n } else {\n this.labelText = '';\n }\n }\n\n /**\n * Label 是否显示必填项样式\n */\n @Input({ transform: booleanAttribute })\n set thyLabelRequired(value: boolean) {\n this.labelRequired = value;\n }\n\n @Input({ transform: booleanAttribute })\n set thyLabelPaddingTopClear(value: boolean) {\n this.labelPaddingTopClear = value;\n }\n\n /**\n * 反馈图标,比如日期输入框显示日期的图标,常用输入 date 表示时间 wtf wtf-schedule-o\n */\n @Input()\n set thyFeedbackIcon(value: string) {\n this.hasFeedback = true;\n if (internalIconMap[value]) {\n this.feedbackIcon = internalIconMap[value];\n this.feedbackSvgIconName = null;\n } else {\n this.feedbackSvgIconName = value;\n this.feedbackIcon = null;\n }\n }\n\n /**\n * 提示文字的显示模式,`label`模式表示在 label 后通过图标+Tooltip 提示, `default`模式在 Form Control 下方直接显示\n * @type default | label\n * @default default\n */\n @Input()\n set thyTipsMode(mode: TipsMode) {\n this.tipMode = mode;\n }\n\n /**\n * 提示文案\n */\n @Input()\n set thyTips(value: string) {\n this.tips = value;\n }\n\n /**\n * 提示文案的多语言 Key\n */\n @Input()\n set thyTipsTranslateKey(value: string) {\n this.tips = this.thyTranslate.instant(value);\n }\n\n /**\n * 是否填充整行, 没有 Label 文本,只有输入框\n * @default false\n */\n @Input({ transform: booleanAttribute })\n set thyRowFill(value: boolean) {\n this._rowFill = value;\n }\n\n /**\n * 已废弃\n * @deprecated please use content because formGroup is same name with angular formGroup directive\n */\n @ContentChild('formGroup')\n public contentTemplateRef: TemplateRef<any>;\n\n /**\n * 内容自定义模板,`<ng-template #content></ng-template>`\n */\n @ContentChild('content')\n public contentTemplate: TemplateRef<any>;\n\n constructor(@Optional() private thyParentForm: ThyFormDirective, private thyTranslate: ThyTranslate) {}\n\n ngOnInit() {\n this.isHorizontal = this.thyParentForm ? this.thyParentForm.isHorizontal : true;\n }\n}\n","<ng-container *ngIf=\"contentTemplate || contentTemplateRef; else defaultTpl\">\n <ng-container [ngTemplateOutlet]=\"contentTemplate || contentTemplateRef\"></ng-container>\n <ng-container *ngIf=\"feedbackSvgIconName; else iconFont\">\n <thy-icon class=\"form-control-feedback\" [thyIconName]=\"feedbackSvgIconName\"></thy-icon>\n </ng-container>\n</ng-container>\n<ng-template #defaultTpl>\n <label\n *ngIf=\"!(!isHorizontal && !labelText)\"\n class=\"form-label \"\n [ngClass]=\"{\n 'col-sm-2 col-form-label': isHorizontal,\n 'pt-0': labelPaddingTopClear\n }\"\n >\n <span\n [ngClass]=\"{\n 'label-required': labelRequired\n }\"\n >{{ labelText }}</span\n >\n <thy-icon class=\"label-tips-icon\" *ngIf=\"tipMode === 'label' && tips\" thyIconName=\"question-circle\" [thyTooltip]=\"tips\"></thy-icon>\n </label>\n <div [ngClass]=\"{ 'col-sm-10 col-form-control': isHorizontal, 'position-relative': !isHorizontal }\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"feedbackSvgIconName; else iconFont\">\n <thy-icon class=\"form-control-feedback\" [thyIconName]=\"feedbackSvgIconName\"></thy-icon>\n </ng-container>\n <span *ngIf=\"tipMode === 'default' && tips\" class=\"form-text text-desc\">{{ tips }}</span>\n </div>\n</ng-template>\n\n<ng-template #iconFont>\n <span *ngIf=\"feedbackIcon\" class=\"form-control-feedback {{ feedbackIcon }}\"></span>\n</ng-template>\n","import { Directive, EventEmitter, HostListener, OnInit, Output } from '@angular/core';\n\nimport { ThyFormDirective } from './form.directive';\n\n/**\n * 表单提交指令\n * @name thyFormSubmit,[thy-form-submit]\n * @order 15\n */\n@Directive({\n selector: '[thyFormSubmit],[thy-form-submit]',\n standalone: true\n})\nexport class ThyFormSubmitDirective implements OnInit {\n /**\n * Form 验证通过的提交函数\n */\n @Output() thyFormSubmit = new EventEmitter();\n\n constructor(private thyFormDirective: ThyFormDirective) {}\n\n ngOnInit(): void {\n this.thyFormDirective.onSubmitSuccess = ($event: Event) => {\n this.thyFormSubmit.emit($event);\n };\n }\n\n @HostListener('click', ['$event'])\n onSubmit($event: Event) {\n this.thyFormDirective.submit($event);\n }\n}\n","import { Component, HostBinding, ViewEncapsulation, OnInit, Optional, Input, Inject, ContentChild, TemplateRef } from '@angular/core';\nimport { ThyFormDirective } from '../form.directive';\nimport { ThyFormGroupFooterAlign, THY_FORM_CONFIG, ThyFormConfig } from '../form.class';\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\n\n/**\n * 表单组底部组件\n * @name thy-form-group-footer\n * @order 55\n */\n@Component({\n selector: 'thy-form-group-footer',\n templateUrl: './form-group-footer.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgClass, NgIf, NgTemplateOutlet]\n})\nexport class ThyFormGroupFooter implements OnInit {\n @HostBinding('class.form-group') _isFormGroup = true;\n\n @HostBinding('class.row') isHorizontal = true;\n\n @ContentChild('description') description: TemplateRef<any>;\n\n /**\n * 对齐方式\n * @type left | right | center\n * @default left\n */\n @Input() thyAlign: ThyFormGroupFooterAlign;\n\n public footerClassMap = {};\n\n private get align() {\n return !!this.thyAlign ? this.thyAlign : this.defaultConfig.footerAlign;\n }\n\n constructor(@Optional() private thyParentForm: ThyFormDirective, @Inject(THY_FORM_CONFIG) private defaultConfig: ThyFormConfig) {}\n\n ngOnInit() {\n if (this.thyParentForm) {\n this.isHorizontal = this.thyParentForm.isHorizontal;\n }\n this.setFooterClassMap();\n }\n\n setFooterClassMap() {\n this.footerClassMap = {\n 'form-group-footer': true,\n 'col-sm-10 offset-sm-2 col-form-control': this.isHorizontal,\n [`form-group-footer-align-${this.align}`]: true\n };\n }\n}\n","<div [ngClass]=\"footerClassMap\">\n <div class=\"btn-pair form-footer-actions\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"form-footer-description\" *ngIf=\"description\">\n <ng-container [ngTemplateOutlet]=\"description\"></ng-container>\n </div>\n</div>\n","import { AsyncValidator, AbstractControl, ValidationErrors, NG_ASYNC_VALIDATORS } from '@angular/forms';\nimport { Directive, Input, Optional, ElementRef } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { map, catchError } from 'rxjs/operators';\nimport { ThyFormDirective } from '../form.directive';\n\n/**\n * 用于校验表单控件的输入值是否已经存在\n * @name thyUniqueCheck\n * @order 20\n */\n@Directive({\n selector: '[thyUniqueCheck]',\n providers: [\n {\n provide: NG_ASYNC_VALIDATORS,\n useExisting: ThyUniqueCheckValidator,\n multi: true\n }\n ],\n standalone: true\n})\nexport class ThyUniqueCheckValidator implements AsyncValidator {\n @Input() thyUniqueCheck: (value: any) => Observable<boolean>;\n\n constructor(private elementRef: ElementRef, @Optional() private thyForm: ThyFormDirective) {}\n\n validate(ctrl: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> {\n return this.thyUniqueCheck(ctrl.value).pipe(\n map((failed: boolean) => {\n setTimeout(() => {\n if (failed && this.thyForm && this.elementRef.nativeElement.name) {\n this.thyForm.validator.validateControl(this.elementRef.nativeElement.name);\n }\n });\n return failed ? { thyUniqueCheck: failed } : null;\n }),\n catchError(() => of(null))\n );\n }\n}\n","import { Directive, Input, forwardRef } from '@angular/core';\nimport { Validator, AbstractControl, NG_VALIDATORS, Validators, ValidatorFn } from '@angular/forms';\n\n/**\n * @name min\n * @order 35\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[min][formControlName],[min][formControl],[min][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => ThyMinDirective),\n multi: true\n }\n ],\n standalone: true\n})\nexport class ThyMinDirective implements Validator {\n private _validator: ValidatorFn;\n @Input() public set min(value: string) {\n this._validator = Validators.min(parseFloat(value));\n }\n\n public validate(control: AbstractControl): { [key: string]: any } {\n return this._validator(control);\n }\n}\n","import { Directive, Input, forwardRef } from '@angular/core';\nimport { Validator, AbstractControl, NG_VALIDATORS, Validators, ValidatorFn } from '@angular/forms';\n\n/**\n * @name max\n * @order 30\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[max][formControlName],[max][formControl],[max][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => ThyMaxDirective),\n multi: true\n }\n ],\n standalone: true\n})\nexport class ThyMaxDirective implements Validator {\n private _validator: ValidatorFn;\n @Input() public set max(value: string) {\n this._validator = Validators.max(parseFloat(value));\n }\n\n public validate(control: AbstractControl): { [key: string]: any } {\n return this._validator(control);\n }\n}\n","import { Directive, Input } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator, ValidatorFn } from '@angular/forms';\n\nexport function confirmValidator(value: string): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n const isEqual = value === control.value;\n return !isEqual ? { confirm: { value: value, actual: control.value } } : null;\n };\n}\n\n/**\n * confirm validator,用于确认两次输入是否一致\n * @name confirm\n * @order 25\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[confirm]',\n providers: [{ provide: NG_VALIDATORS, useExisting: ThyConfirmValidatorDirective, multi: true }],\n standalone: true\n})\nexport class ThyConfirmValidatorDirective implements Validator {\n /**\n * 表单控件的校验值\n */\n @Input() confirm: string;\n\n validate(control: AbstractControl) {\n return confirmValidator(this.confirm)(control);\n }\n}\n","import { ThyAlertModule } from 'ngx-tethys/alert';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyInputModule } from 'ngx-tethys/input';\nimport { ThyTooltipModule } from 'ngx-tethys/tooltip';\n\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { ThyFormGroupError } from './form-group-error/form-group-error.component';\nimport { ThyFormGroupLabelDirective } from './form-group-label.directive';\nimport { ThyFormGroup } from './form-group.component';\nimport { ThyFormSubmitDirective } from './form-submit.directive';\nimport { ThyFormValidatorLoader } from './form-validator-loader';\nimport { ThyFormValidatorGlobalConfig, THY_FORM_CONFIG_PROVIDER, THY_VALIDATOR_CONFIG } from './form.class';\nimport { ThyFormDirective } from './form.directive';\nimport { ThyFormGroupFooter } from './from-group-footer/form-group-footer.component';\nimport { ThyConfirmValidatorDirective, ThyMaxDirective, ThyMinDirective, ThyUniqueCheckValidator } from './validator/index';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ThyInputModule,\n ThyAlertModule,\n ThyIconModule,\n ThyTooltipModule,\n ThyFormDirective,\n ThyFormGroup,\n ThyFormGroupLabelDirective,\n ThyFormSubmitDirective,\n ThyFormGroupFooter,\n ThyUniqueCheckValidator,\n ThyFormGroupError,\n ThyMinDirective,\n ThyMaxDirective,\n ThyConfirmValidatorDirective\n ],\n exports: [\n ThyFormDirective,\n ThyFormGroup,\n ThyFormGroupLabelDirective,\n ThyFormSubmitDirective,\n ThyFormGroupFooter,\n ThyUniqueCheckValidator,\n ThyFormGroupError,\n ThyMinDirective,\n ThyMaxDirective,\n ThyConfirmValidatorDirective\n ],\n providers: [ThyFormValidatorLoader, THY_FORM_CONFIG_PROVIDER]\n})\nexport class ThyFormModule {\n static forRoot(config: ThyFormValidatorGlobalConfig): ModuleWithProviders<ThyFormModule> {\n return {\n ngModule: ThyFormModule,\n providers: [\n {\n provide: THY_VALIDATOR_CONFIG,\n useValue: config\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyFormValidatorLoader","i1.ThyFormDirective","i1","i2"],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { SecurityContext, Injectable, Inject, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, HostBinding, NgModule } from '@angular/core';
2
+ import { SecurityContext, Injectable, Inject, numberAttribute, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, HostBinding, NgModule } from '@angular/core';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { DOCUMENT, CommonModule } from '@angular/common';
5
- import { __decorate, __metadata } from 'tslib';
6
- import { InputNumber, InputBoolean } from 'ngx-tethys/core';
7
5
  import { finalize, share, map, tap, catchError, take } from 'rxjs/operators';
8
6
  import { useHostRenderer } from '@tethys/cdk/dom';
9
7
  import { of, forkJoin, throwError } from 'rxjs';
@@ -506,20 +504,8 @@ class ThyIcon {
506
504
  titleElement && titleElement.remove();
507
505
  }
508
506
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyIcon, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: ThyIconRegistry }], target: i0.ɵɵFactoryTarget.Component }); }
509
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyIcon, isStandalone: true, selector: "thy-icon, [thy-icon]", inputs: { iconType: ["thyIconType", "iconType"], iconTwotoneColor: ["thyTwotoneColor", "iconTwotoneColor"], iconName: ["thyIconName", "iconName"], iconRotate: ["thyIconRotate", "iconRotate"], iconSet: ["thyIconSet", "iconSet"], iconLegging: ["thyIconLegging", "iconLegging"], iconLinearGradient: ["thyIconLinearGradient", "iconLinearGradient"] }, host: { properties: { "class.thy-icon-legging": "this.iconLegging" }, classAttribute: "thy-icon" }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
507
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyIcon, isStandalone: true, selector: "thy-icon, [thy-icon]", inputs: { iconType: ["thyIconType", "iconType"], iconTwotoneColor: ["thyTwotoneColor", "iconTwotoneColor"], iconName: ["thyIconName", "iconName"], iconRotate: ["thyIconRotate", "iconRotate", numberAttribute], iconSet: ["thyIconSet", "iconSet"], iconLegging: ["thyIconLegging", "iconLegging", booleanAttribute], iconLinearGradient: ["thyIconLinearGradient", "iconLinearGradient", booleanAttribute] }, host: { properties: { "class.thy-icon-legging": "this.iconLegging" }, classAttribute: "thy-icon" }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
510
508
  }
511
- __decorate([
512
- InputNumber(),
513
- __metadata("design:type", Number)
514
- ], ThyIcon.prototype, "iconRotate", void 0);
515
- __decorate([
516
- InputBoolean(),
517
- __metadata("design:type", Boolean)
518
- ], ThyIcon.prototype, "iconLegging", void 0);
519
- __decorate([
520
- InputBoolean(),
521
- __metadata("design:type", Boolean)
522
- ], ThyIcon.prototype, "iconLinearGradient", void 0);
523
509
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyIcon, decorators: [{
524
510
  type: Component,
525
511
  args: [{
@@ -543,7 +529,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
543
529
  args: ['thyIconName']
544
530
  }], iconRotate: [{
545
531
  type: Input,
546
- args: ['thyIconRotate']
532
+ args: [{ alias: 'thyIconRotate', transform: numberAttribute }]
547
533
  }], iconSet: [{
548
534
  type: Input,
549
535
  args: ['thyIconSet']
@@ -552,10 +538,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
552
538
  args: [`class.thy-icon-legging`]
553
539
  }, {
554
540
  type: Input,
555
- args: ['thyIconLegging']
541
+ args: [{ alias: 'thyIconLegging', transform: booleanAttribute }]
556
542
  }], iconLinearGradient: [{
557
543
  type: Input,
558
- args: ['thyIconLinearGradient']
544
+ args: [{ alias: 'thyIconLinearGradient', transform: booleanAttribute }]
559
545
  }] } });
560
546
 
561
547
  class ThyIconModule {