ngx-tethys 18.0.0-next.0 → 18.0.0-next.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 (404) hide show
  1. package/CHANGELOG.md +161 -1
  2. package/action/action.component.d.ts +3 -3
  3. package/alert/alert.component.d.ts +1 -1
  4. package/anchor/anchor.component.d.ts +3 -1
  5. package/autocomplete/autocomplete.component.d.ts +1 -1
  6. package/autocomplete/autocomplete.trigger.directive.d.ts +1 -1
  7. package/avatar/avatar.component.d.ts +4 -4
  8. package/badge/badge.component.d.ts +3 -3
  9. package/breadcrumb/breadcrumb.component.d.ts +30 -2
  10. package/breadcrumb/module.d.ts +3 -1
  11. package/breadcrumb/styles/breadcrumb.scss +8 -0
  12. package/button/button-icon.component.d.ts +2 -2
  13. package/button/button.component.d.ts +2 -2
  14. package/button/styles/button.scss +5 -5
  15. package/card/card.component.d.ts +3 -3
  16. package/card/content.component.d.ts +1 -1
  17. package/carousel/carousel.component.d.ts +4 -4
  18. package/cascader/cascader-li.component.d.ts +5 -5
  19. package/cascader/cascader-search-option.component.d.ts +3 -3
  20. package/cascader/cascader.component.d.ts +8 -8
  21. package/checkbox/checkbox.component.d.ts +1 -1
  22. package/collapse/collapse-item.component.d.ts +2 -2
  23. package/collapse/collapse.component.d.ts +1 -1
  24. package/color-picker/color-picker-panel.component.d.ts +1 -1
  25. package/color-picker/color-picker.component.d.ts +3 -3
  26. package/copy/copy.directive.d.ts +1 -1
  27. package/core/behaviors/decorators.d.ts +1 -1
  28. package/core/overlay/abstract-overlay.config.d.ts +6 -0
  29. package/date-picker/abstract-picker.component.d.ts +15 -8
  30. package/date-picker/abstract-picker.directive.d.ts +3 -3
  31. package/date-picker/base-picker.component.d.ts +2 -2
  32. package/date-picker/date-picker.config.d.ts +1 -0
  33. package/date-picker/date-picker.service.d.ts +1 -0
  34. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -1
  35. package/date-picker/lib/popups/date-popup.component.d.ts +2 -1
  36. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -1
  37. package/date-picker/picker.component.d.ts +1 -1
  38. package/date-picker/picker.util.d.ts +2 -0
  39. package/date-range/date-range.component.d.ts +8 -2
  40. package/dialog/body/dialog-body.component.d.ts +1 -1
  41. package/dialog/footer/dialog-footer.component.d.ts +1 -1
  42. package/dialog/header/dialog-header.component.d.ts +1 -1
  43. package/divider/divider.component.d.ts +2 -2
  44. package/drag-drop/drag-handle.directive.d.ts +1 -1
  45. package/drag-drop/drag.directive.d.ts +1 -1
  46. package/drag-drop/drop-container.directive.d.ts +1 -1
  47. package/dropdown/dropdown-menu-item.directive.d.ts +2 -2
  48. package/dropdown/dropdown-menu.component.d.ts +1 -1
  49. package/dropdown/dropdown.directive.d.ts +1 -1
  50. package/empty/empty.component.d.ts +1 -1
  51. package/esm2022/action/action.component.mjs +7 -6
  52. package/esm2022/alert/alert.component.mjs +5 -5
  53. package/esm2022/anchor/anchor.component.mjs +5 -5
  54. package/esm2022/autocomplete/autocomplete.component.mjs +5 -4
  55. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +5 -5
  56. package/esm2022/avatar/avatar.component.mjs +8 -8
  57. package/esm2022/badge/badge.component.mjs +7 -6
  58. package/esm2022/breadcrumb/breadcrumb.component.mjs +73 -32
  59. package/esm2022/breadcrumb/module.mjs +6 -4
  60. package/esm2022/button/button-icon.component.mjs +6 -5
  61. package/esm2022/button/button.component.mjs +6 -6
  62. package/esm2022/card/card.component.mjs +7 -6
  63. package/esm2022/card/content.component.mjs +5 -4
  64. package/esm2022/carousel/carousel.component.mjs +8 -7
  65. package/esm2022/cascader/cascader-li.component.mjs +9 -8
  66. package/esm2022/cascader/cascader-search-option.component.mjs +7 -6
  67. package/esm2022/cascader/cascader.component.mjs +19 -12
  68. package/esm2022/checkbox/checkbox.component.mjs +5 -4
  69. package/esm2022/collapse/collapse-item.component.mjs +6 -6
  70. package/esm2022/collapse/collapse.component.mjs +5 -4
  71. package/esm2022/color-picker/color-picker-panel.component.mjs +5 -4
  72. package/esm2022/color-picker/color-picker.component.mjs +7 -6
  73. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +1 -1
  74. package/esm2022/copy/copy.directive.mjs +5 -4
  75. package/esm2022/core/behaviors/decorators.mjs +2 -2
  76. package/esm2022/core/overlay/abstract-overlay.config.mjs +7 -1
  77. package/esm2022/date-picker/abstract-picker.component.mjs +28 -17
  78. package/esm2022/date-picker/abstract-picker.directive.mjs +8 -7
  79. package/esm2022/date-picker/base-picker.component.mjs +5 -5
  80. package/esm2022/date-picker/date-picker.component.mjs +3 -3
  81. package/esm2022/date-picker/date-picker.config.mjs +2 -1
  82. package/esm2022/date-picker/date-picker.service.mjs +4 -1
  83. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
  84. package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
  85. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
  86. package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
  87. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +7 -4
  88. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +5 -5
  89. package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
  90. package/esm2022/date-picker/month-picker.component.mjs +3 -3
  91. package/esm2022/date-picker/picker.component.mjs +5 -5
  92. package/esm2022/date-picker/picker.util.mjs +14 -2
  93. package/esm2022/date-picker/quarter-picker.component.mjs +3 -3
  94. package/esm2022/date-picker/range-picker.component.mjs +3 -3
  95. package/esm2022/date-picker/week-picker.component.mjs +3 -3
  96. package/esm2022/date-picker/year-picker.component.mjs +3 -3
  97. package/esm2022/date-range/date-range.component.mjs +6 -5
  98. package/esm2022/dialog/body/dialog-body.component.mjs +5 -4
  99. package/esm2022/dialog/footer/dialog-footer.component.mjs +5 -4
  100. package/esm2022/dialog/header/dialog-header.component.mjs +5 -4
  101. package/esm2022/divider/divider.component.mjs +6 -5
  102. package/esm2022/drag-drop/drag-handle.directive.mjs +5 -4
  103. package/esm2022/drag-drop/drag.directive.mjs +5 -4
  104. package/esm2022/drag-drop/drop-container.directive.mjs +5 -4
  105. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +7 -6
  106. package/esm2022/dropdown/dropdown-menu.component.mjs +5 -4
  107. package/esm2022/dropdown/dropdown.directive.mjs +5 -5
  108. package/esm2022/empty/empty.component.mjs +5 -4
  109. package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -4
  110. package/esm2022/form/form-group-label.directive.mjs +5 -4
  111. package/esm2022/form/form-group.component.mjs +7 -6
  112. package/esm2022/icon/icon.component.mjs +6 -5
  113. package/esm2022/image/image.class.mjs +1 -1
  114. package/esm2022/image/image.directive.mjs +6 -5
  115. package/esm2022/image/index.mjs +6 -5
  116. package/esm2022/image/preview/image-preview.component.mjs +21 -13
  117. package/esm2022/input/input-search.component.mjs +5 -4
  118. package/esm2022/input/input.component.mjs +6 -5
  119. package/esm2022/input-number/input-number.component.mjs +14 -7
  120. package/esm2022/layout/header.component.mjs +7 -6
  121. package/esm2022/layout/sidebar-header.component.mjs +5 -4
  122. package/esm2022/layout/sidebar.component.mjs +12 -11
  123. package/esm2022/list/list.component.mjs +5 -4
  124. package/esm2022/list/selection/selection-list.mjs +7 -7
  125. package/esm2022/loading/loading.component.mjs +6 -5
  126. package/esm2022/mention/mention.directive.mjs +3 -3
  127. package/esm2022/menu/group/menu-group.component.mjs +10 -9
  128. package/esm2022/menu/item/action/menu-item-action.component.mjs +17 -7
  129. package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -4
  130. package/esm2022/menu/menu.component.mjs +5 -4
  131. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +5 -4
  132. package/esm2022/nav/nav-ink-bar.directive.mjs +6 -5
  133. package/esm2022/nav/nav-item.directive.mjs +7 -6
  134. package/esm2022/nav/nav.component.mjs +18 -7
  135. package/esm2022/pagination/pagination.class.mjs +1 -1
  136. package/esm2022/pagination/pagination.component.mjs +22 -10
  137. package/esm2022/pagination/pagination.config.mjs +3 -2
  138. package/esm2022/popover/popover.directive.mjs +6 -5
  139. package/esm2022/popover/popover.service.mjs +2 -1
  140. package/esm2022/property/property-item.component.mjs +6 -5
  141. package/esm2022/property-operation/property-operation.component.mjs +9 -9
  142. package/esm2022/radio/group/radio-group.component.mjs +5 -4
  143. package/esm2022/rate/rate-item.component.mjs +5 -4
  144. package/esm2022/rate/rate.component.mjs +7 -7
  145. package/esm2022/resizable/resizable.directive.mjs +7 -6
  146. package/esm2022/resizable/resize-handle.component.mjs +5 -4
  147. package/esm2022/resizable/resize-handles.component.mjs +5 -4
  148. package/esm2022/segment/segment-item.component.mjs +5 -5
  149. package/esm2022/segment/segment.component.mjs +5 -4
  150. package/esm2022/select/custom-select/custom-select.component.mjs +14 -14
  151. package/esm2022/select/native-select/native-select.component.mjs +5 -5
  152. package/esm2022/shared/base-form-check.component.mjs +6 -5
  153. package/esm2022/shared/directives/thy-autofocus.directive.mjs +6 -5
  154. package/esm2022/shared/directives/thy-scroll.directive.mjs +5 -4
  155. package/esm2022/shared/directives/thy-show.mjs +5 -4
  156. package/esm2022/shared/option/group/option-group.component.mjs +5 -4
  157. package/esm2022/shared/option/list-option/list-option.component.mjs +5 -4
  158. package/esm2022/shared/option/option.component.mjs +5 -5
  159. package/esm2022/shared/select/select-control/select-control.component.mjs +10 -10
  160. package/esm2022/skeleton/skeleton-circle.component.mjs +5 -5
  161. package/esm2022/skeleton/skeleton-rectangle.component.mjs +5 -5
  162. package/esm2022/skeleton/skeleton.component.mjs +5 -4
  163. package/esm2022/skeleton/stylized/bullet-list.component.mjs +5 -4
  164. package/esm2022/skeleton/stylized/list.component.mjs +5 -4
  165. package/esm2022/skeleton/stylized/paragraph.component.mjs +5 -4
  166. package/esm2022/slide/slide-body/slide-body-section.component.mjs +5 -4
  167. package/esm2022/slider/slider.component.mjs +6 -6
  168. package/esm2022/space/space.component.mjs +5 -4
  169. package/esm2022/stepper/step-header.component.mjs +6 -5
  170. package/esm2022/stepper/stepper.component.mjs +5 -4
  171. package/esm2022/switch/switch.component.mjs +6 -5
  172. package/esm2022/table/table-column.component.mjs +9 -9
  173. package/esm2022/table/table-skeleton.component.mjs +8 -7
  174. package/esm2022/table/table.component.mjs +19 -17
  175. package/esm2022/tabs/tab.component.mjs +5 -4
  176. package/esm2022/tabs/tabs.component.mjs +6 -6
  177. package/esm2022/tag/tag.component.mjs +5 -5
  178. package/esm2022/time-picker/time-picker-panel.component.mjs +6 -6
  179. package/esm2022/time-picker/time-picker.component.mjs +9 -9
  180. package/esm2022/timeline/timeline.component.mjs +5 -4
  181. package/esm2022/tooltip/tooltip.directive.mjs +6 -6
  182. package/esm2022/tree/tree-node.component.mjs +9 -8
  183. package/esm2022/tree/tree.component.mjs +32 -11
  184. package/esm2022/tree/tree.service.mjs +3 -3
  185. package/esm2022/tree-select/tree-select.component.mjs +20 -18
  186. package/esm2022/upload/file-select.component.mjs +24 -27
  187. package/esm2022/version.mjs +2 -2
  188. package/esm2022/vote/vote.component.mjs +7 -6
  189. package/esm2022/watermark/watermark.directive.mjs +5 -4
  190. package/fesm2022/ngx-tethys-action.mjs +6 -5
  191. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  192. package/fesm2022/ngx-tethys-alert.mjs +4 -4
  193. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  194. package/fesm2022/ngx-tethys-anchor.mjs +4 -4
  195. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  196. package/fesm2022/ngx-tethys-autocomplete.mjs +6 -6
  197. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  198. package/fesm2022/ngx-tethys-avatar.mjs +7 -7
  199. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  200. package/fesm2022/ngx-tethys-badge.mjs +6 -5
  201. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  202. package/fesm2022/ngx-tethys-breadcrumb.mjs +117 -77
  203. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  204. package/fesm2022/ngx-tethys-button.mjs +8 -8
  205. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  206. package/fesm2022/ngx-tethys-card.mjs +8 -7
  207. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  208. package/fesm2022/ngx-tethys-carousel.mjs +7 -6
  209. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  210. package/fesm2022/ngx-tethys-cascader.mjs +28 -21
  211. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  212. package/fesm2022/ngx-tethys-checkbox.mjs +4 -3
  213. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  214. package/fesm2022/ngx-tethys-collapse.mjs +7 -7
  215. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  216. package/fesm2022/ngx-tethys-color-picker.mjs +9 -8
  217. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  218. package/fesm2022/ngx-tethys-copy.mjs +4 -3
  219. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  220. package/fesm2022/ngx-tethys-core.mjs +7 -1
  221. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  222. package/fesm2022/ngx-tethys-date-picker.mjs +86 -57
  223. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  224. package/fesm2022/ngx-tethys-date-range.mjs +5 -4
  225. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  226. package/fesm2022/ngx-tethys-dialog.mjs +8 -7
  227. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  228. package/fesm2022/ngx-tethys-divider.mjs +5 -4
  229. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  230. package/fesm2022/ngx-tethys-drag-drop.mjs +8 -8
  231. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  232. package/fesm2022/ngx-tethys-dropdown.mjs +10 -10
  233. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  234. package/fesm2022/ngx-tethys-empty.mjs +4 -3
  235. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  236. package/fesm2022/ngx-tethys-form.mjs +10 -10
  237. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  238. package/fesm2022/ngx-tethys-icon.mjs +5 -5
  239. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  240. package/fesm2022/ngx-tethys-image.mjs +24 -16
  241. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  242. package/fesm2022/ngx-tethys-input-number.mjs +13 -6
  243. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  244. package/fesm2022/ngx-tethys-input.mjs +7 -6
  245. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  246. package/fesm2022/ngx-tethys-layout.mjs +17 -16
  247. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  248. package/fesm2022/ngx-tethys-list.mjs +8 -8
  249. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  250. package/fesm2022/ngx-tethys-loading.mjs +5 -4
  251. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  252. package/fesm2022/ngx-tethys-mention.mjs +2 -2
  253. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  254. package/fesm2022/ngx-tethys-menu.mjs +26 -16
  255. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  256. package/fesm2022/ngx-tethys-nav.mjs +26 -16
  257. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  258. package/fesm2022/ngx-tethys-pagination.mjs +23 -10
  259. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  260. package/fesm2022/ngx-tethys-popover.mjs +6 -5
  261. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  262. package/fesm2022/ngx-tethys-property-operation.mjs +8 -8
  263. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  264. package/fesm2022/ngx-tethys-property.mjs +5 -4
  265. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  266. package/fesm2022/ngx-tethys-radio.mjs +7 -6
  267. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  268. package/fesm2022/ngx-tethys-rate.mjs +8 -8
  269. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  270. package/fesm2022/ngx-tethys-resizable.mjs +10 -10
  271. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  272. package/fesm2022/ngx-tethys-segment.mjs +6 -6
  273. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  274. package/fesm2022/ngx-tethys-select.mjs +15 -15
  275. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  276. package/fesm2022/ngx-tethys-shared.mjs +25 -25
  277. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  278. package/fesm2022/ngx-tethys-skeleton.mjs +14 -14
  279. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  280. package/fesm2022/ngx-tethys-slide.mjs +4 -4
  281. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  282. package/fesm2022/ngx-tethys-slider.mjs +5 -5
  283. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  284. package/fesm2022/ngx-tethys-space.mjs +4 -3
  285. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  286. package/fesm2022/ngx-tethys-stepper.mjs +7 -6
  287. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  288. package/fesm2022/ngx-tethys-switch.mjs +5 -4
  289. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  290. package/fesm2022/ngx-tethys-table.mjs +29 -27
  291. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  292. package/fesm2022/ngx-tethys-tabs.mjs +7 -7
  293. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  294. package/fesm2022/ngx-tethys-tag.mjs +4 -4
  295. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  296. package/fesm2022/ngx-tethys-time-picker.mjs +11 -11
  297. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  298. package/fesm2022/ngx-tethys-timeline.mjs +4 -3
  299. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  300. package/fesm2022/ngx-tethys-tooltip.mjs +5 -5
  301. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  302. package/fesm2022/ngx-tethys-tree-select.mjs +14 -11
  303. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  304. package/fesm2022/ngx-tethys-tree.mjs +39 -18
  305. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  306. package/fesm2022/ngx-tethys-upload.mjs +23 -27
  307. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  308. package/fesm2022/ngx-tethys-vote.mjs +6 -5
  309. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  310. package/fesm2022/ngx-tethys-watermark.mjs +4 -3
  311. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  312. package/fesm2022/ngx-tethys.mjs +1 -1
  313. package/fesm2022/ngx-tethys.mjs.map +1 -1
  314. package/form/form-group-error/form-group-error.component.d.ts +1 -1
  315. package/form/form-group-label.directive.d.ts +1 -1
  316. package/form/form-group.component.d.ts +3 -3
  317. package/icon/icon.component.d.ts +2 -2
  318. package/image/image.class.d.ts +1 -1
  319. package/image/image.directive.d.ts +2 -2
  320. package/image/index.d.ts +5 -4
  321. package/image/preview/image-preview.component.d.ts +5 -5
  322. package/input/input-search.component.d.ts +1 -1
  323. package/input/input.component.d.ts +2 -2
  324. package/input/styles/input-group.scss +3 -0
  325. package/input-number/input-number.component.d.ts +10 -3
  326. package/layout/header.component.d.ts +3 -3
  327. package/layout/sidebar-header.component.d.ts +1 -1
  328. package/layout/sidebar.component.d.ts +7 -7
  329. package/list/list.component.d.ts +1 -1
  330. package/list/selection/selection-list.d.ts +3 -3
  331. package/loading/loading.component.d.ts +2 -2
  332. package/menu/group/menu-group.component.d.ts +6 -6
  333. package/menu/item/action/menu-item-action.component.d.ts +8 -3
  334. package/menu/item/name/menu-item-name.component.d.ts +1 -1
  335. package/menu/menu.component.d.ts +1 -1
  336. package/menu/styles/menu.scss +8 -0
  337. package/nav/icon-nav/icon-nav-link.directive.d.ts +1 -1
  338. package/nav/nav-ink-bar.directive.d.ts +2 -2
  339. package/nav/nav-item.directive.d.ts +3 -3
  340. package/nav/nav.component.d.ts +7 -5
  341. package/package.json +2 -2
  342. package/pagination/pagination.class.d.ts +4 -0
  343. package/pagination/pagination.component.d.ts +11 -6
  344. package/popover/popover.directive.d.ts +2 -2
  345. package/property/property-item.component.d.ts +4 -1
  346. package/property/styles/properties.scss +2 -0
  347. package/property-operation/property-operation.component.d.ts +5 -5
  348. package/radio/group/radio-group.component.d.ts +1 -1
  349. package/rate/rate-item.component.d.ts +1 -1
  350. package/rate/rate.component.d.ts +3 -3
  351. package/resizable/resizable.directive.d.ts +3 -3
  352. package/resizable/resize-handle.component.d.ts +1 -1
  353. package/resizable/resize-handles.component.d.ts +1 -1
  354. package/schematics/ng-update/update-18/complete.js +0 -10
  355. package/schematics/ng-update/update-18/index.spec.js +0 -73
  356. package/schematics/ng-update/update-18/update-data.js +4 -860
  357. package/schematics/version.d.ts +1 -1
  358. package/schematics/version.js +1 -1
  359. package/segment/segment-item.component.d.ts +1 -1
  360. package/segment/segment.component.d.ts +5 -1
  361. package/select/custom-select/custom-select.component.d.ts +10 -10
  362. package/select/native-select/native-select.component.d.ts +1 -1
  363. package/shared/base-form-check.component.d.ts +2 -2
  364. package/shared/directives/thy-autofocus.directive.d.ts +2 -2
  365. package/shared/directives/thy-scroll.directive.d.ts +1 -1
  366. package/shared/directives/thy-show.d.ts +1 -1
  367. package/shared/option/group/option-group.component.d.ts +1 -1
  368. package/shared/option/list-option/list-option.component.d.ts +1 -1
  369. package/shared/option/option.component.d.ts +1 -1
  370. package/shared/option/styles/select-dropdown.scss +1 -0
  371. package/shared/select/select-control/select-control.component.d.ts +6 -6
  372. package/skeleton/skeleton-circle.component.d.ts +1 -1
  373. package/skeleton/skeleton-rectangle.component.d.ts +1 -1
  374. package/skeleton/skeleton.component.d.ts +1 -1
  375. package/skeleton/stylized/bullet-list.component.d.ts +1 -1
  376. package/skeleton/stylized/list.component.d.ts +1 -1
  377. package/skeleton/stylized/paragraph.component.d.ts +1 -1
  378. package/slide/slide-body/slide-body-section.component.d.ts +1 -1
  379. package/slider/slider.component.d.ts +2 -2
  380. package/slider/slider.scss +12 -20
  381. package/space/space.component.d.ts +1 -1
  382. package/stepper/step-header.component.d.ts +2 -2
  383. package/stepper/stepper.component.d.ts +1 -1
  384. package/styles/modules/tables.scss +20 -0
  385. package/styles/variables.scss +2 -2
  386. package/switch/switch.component.d.ts +2 -2
  387. package/table/styles/skeleton.scss +5 -0
  388. package/table/table-column.component.d.ts +5 -5
  389. package/table/table-skeleton.component.d.ts +2 -2
  390. package/table/table.component.d.ts +13 -11
  391. package/tabs/tab.component.d.ts +1 -1
  392. package/tabs/tabs.component.d.ts +2 -2
  393. package/tag/tag.component.d.ts +1 -1
  394. package/time-picker/time-picker-panel.component.d.ts +2 -2
  395. package/time-picker/time-picker.component.d.ts +5 -5
  396. package/timeline/timeline.component.d.ts +1 -1
  397. package/tooltip/tooltip.directive.d.ts +10 -2
  398. package/tree/tree-node.component.d.ts +20 -5
  399. package/tree/tree.component.d.ts +17 -7
  400. package/tree/tree.service.d.ts +1 -1
  401. package/tree-select/tree-select.component.d.ts +7 -7
  402. package/upload/file-select.component.d.ts +7 -8
  403. package/vote/vote.component.d.ts +3 -3
  404. package/watermark/watermark.directive.d.ts +1 -1
@@ -1,16 +1,16 @@
1
1
  import { __decorate, __metadata } from 'tslib';
2
2
  import * as i2 from 'ngx-tethys/core';
3
3
  import { InputCssPixel, UpdateHostClassService } from 'ngx-tethys/core';
4
- import { isArray, isObject, get, isString, set, helpers, keyBy } from 'ngx-tethys/util';
4
+ import { isArray, isObject, coerceBooleanProperty, get, isString, set, helpers, keyBy } from 'ngx-tethys/util';
5
5
  import { merge, fromEvent, EMPTY, of, Observable } from 'rxjs';
6
6
  import { delay, startWith, switchMap } from 'rxjs/operators';
7
7
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
8
8
  import { moveItemInArray, CdkDropList, CdkDrag, DragDropModule } from '@angular/cdk/drag-drop';
9
9
  import * as i1 from '@angular/cdk/overlay';
10
10
  import { normalizePassiveListenerOptions } from '@angular/cdk/platform';
11
- import { NgFor, NgClass, NgIf, NgTemplateOutlet, isPlatformServer, DOCUMENT, NgStyle, CommonModule } from '@angular/common';
11
+ import { NgFor, NgClass, NgIf, NgStyle, NgTemplateOutlet, isPlatformServer, DOCUMENT, CommonModule } from '@angular/common';
12
12
  import * as i0 from '@angular/core';
13
- import { InjectionToken, EventEmitter, booleanAttribute, TemplateRef, Component, ViewEncapsulation, Optional, Inject, Input, Output, ContentChild, Pipe, ChangeDetectionStrategy, ViewChild, inject, DestroyRef, PLATFORM_ID, numberAttribute, ElementRef, ViewChildren, HostBinding, ContentChildren, NgModule } from '@angular/core';
13
+ import { InjectionToken, EventEmitter, TemplateRef, Component, ViewEncapsulation, Optional, Inject, Input, Output, ContentChild, Pipe, ChangeDetectionStrategy, ViewChild, inject, DestroyRef, PLATFORM_ID, numberAttribute, ElementRef, ViewChildren, HostBinding, ContentChildren, NgModule } from '@angular/core';
14
14
  import { coerceCssPixelValue } from '@angular/cdk/coercion';
15
15
  import { ThyPagination, ThyPaginationModule } from 'ngx-tethys/pagination';
16
16
  import { ThySkeletonRectangle, ThySkeletonCircle, ThySkeletonModule } from 'ngx-tethys/skeleton';
@@ -155,7 +155,7 @@ class ThyTableColumnComponent {
155
155
  return '[$$column]' + Math.random().toString(16).slice(2, 10);
156
156
  }
157
157
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyTableColumnComponent, deps: [{ token: i0.ElementRef }, { token: THY_TABLE_COLUMN_PARENT_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
158
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyTableColumnComponent, isStandalone: true, selector: "thy-table-column", inputs: { model: ["thyModelKey", "model"], title: ["thyTitle", "title"], type: ["thyType", "type"], thyWidth: "thyWidth", thyMinWidth: "thyMinWidth", className: ["thyClassName", "className"], headerClassName: ["thyHeaderClassName", "headerClassName"], disabled: ["thyDisabled", "disabled", booleanAttribute], selections: ["thySelections", "selections"], defaultText: ["thyDefaultText", "defaultText"], expand: ["thyExpand", "expand", booleanAttribute], thySortable: ["thySortable", "thySortable", booleanAttribute], sortDirection: ["thySortDirection", "sortDirection"], fixed: ["thyFixed", "fixed"], operational: ["thyOperational", "operational", booleanAttribute], secondary: ["thySecondary", "secondary", booleanAttribute] }, outputs: { sortChange: "thySortChange" }, queries: [{ propertyName: "headerTemplateRef", first: true, predicate: ["header"], descendants: true, static: true }, { propertyName: "cellTemplateRef", first: true, predicate: ["cell"], descendants: true, static: true }, { propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
158
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyTableColumnComponent, isStandalone: true, selector: "thy-table-column", inputs: { model: ["thyModelKey", "model"], title: ["thyTitle", "title"], type: ["thyType", "type"], thyWidth: "thyWidth", thyMinWidth: "thyMinWidth", className: ["thyClassName", "className"], headerClassName: ["thyHeaderClassName", "headerClassName"], disabled: ["thyDisabled", "disabled", coerceBooleanProperty], selections: ["thySelections", "selections"], defaultText: ["thyDefaultText", "defaultText"], expand: ["thyExpand", "expand", coerceBooleanProperty], thySortable: ["thySortable", "thySortable", coerceBooleanProperty], sortDirection: ["thySortDirection", "sortDirection"], fixed: ["thyFixed", "fixed"], operational: ["thyOperational", "operational", coerceBooleanProperty], secondary: ["thySecondary", "secondary", coerceBooleanProperty] }, outputs: { sortChange: "thySortChange" }, queries: [{ propertyName: "headerTemplateRef", first: true, predicate: ["header"], descendants: true, static: true }, { propertyName: "cellTemplateRef", first: true, predicate: ["cell"], descendants: true, static: true }, { propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
159
159
  }
160
160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyTableColumnComponent, decorators: [{
161
161
  type: Component,
@@ -191,7 +191,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
191
191
  args: ['thyHeaderClassName']
192
192
  }], disabled: [{
193
193
  type: Input,
194
- args: [{ alias: 'thyDisabled', transform: booleanAttribute }]
194
+ args: [{ alias: 'thyDisabled', transform: coerceBooleanProperty }]
195
195
  }], selections: [{
196
196
  type: Input,
197
197
  args: ['thySelections']
@@ -200,10 +200,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
200
200
  args: ['thyDefaultText']
201
201
  }], expand: [{
202
202
  type: Input,
203
- args: [{ alias: 'thyExpand', transform: booleanAttribute }]
203
+ args: [{ alias: 'thyExpand', transform: coerceBooleanProperty }]
204
204
  }], thySortable: [{
205
205
  type: Input,
206
- args: [{ transform: booleanAttribute }]
206
+ args: [{ transform: coerceBooleanProperty }]
207
207
  }], sortDirection: [{
208
208
  type: Input,
209
209
  args: ['thySortDirection']
@@ -212,10 +212,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
212
212
  args: ['thyFixed']
213
213
  }], operational: [{
214
214
  type: Input,
215
- args: [{ alias: 'thyOperational', transform: booleanAttribute }]
215
+ args: [{ alias: 'thyOperational', transform: coerceBooleanProperty }]
216
216
  }], secondary: [{
217
217
  type: Input,
218
- args: [{ alias: 'thySecondary', transform: booleanAttribute }]
218
+ args: [{ alias: 'thySecondary', transform: coerceBooleanProperty }]
219
219
  }], sortChange: [{
220
220
  type: Output,
221
221
  args: ['thySortChange']
@@ -374,7 +374,7 @@ class ThyTableSkeleton {
374
374
  this.cdr.detectChanges();
375
375
  }
376
376
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyTableSkeleton, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
377
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyTableSkeleton, isStandalone: true, selector: "thy-table-skeleton", inputs: { thyBorderRadius: "thyBorderRadius", thyRowHeight: "thyRowHeight", thyAnimated: ["thyAnimated", "thyAnimated", booleanAttribute], thyAnimatedInterval: "thyAnimatedInterval", thyPrimaryColor: "thyPrimaryColor", thySecondaryColor: "thySecondaryColor", thyRowCount: "thyRowCount", thyHeadless: ["thyHeadless", "thyHeadless", booleanAttribute], thyTheme: "thyTheme", thySize: "thySize", thyMinWidth: "thyMinWidth", thyColumns: "thyColumns" }, host: { classAttribute: "thy-table-skeleton" }, viewQueries: [{ propertyName: "titleTemplate", first: true, predicate: ["titleTemplate"], descendants: true }, { propertyName: "memberTemplate", first: true, predicate: ["memberTemplate"], descendants: true }, { propertyName: "defaultTemplate", first: true, predicate: ["defaultTemplate"], descendants: true }, { propertyName: "checkboxTemplate", first: true, predicate: ["checkboxTemplate"], descendants: true }], ngImport: i0, template: "<table [ngClass]=\"tableClassMap\" [style.min-width]=\"thyMinWidth\">\n <colgroup>\n <col *ngFor=\"let column of columns; trackBy: trackByFn\" [width]=\"column.width\" />\n </colgroup>\n <ng-container *ngIf=\"!thyHeadless\">\n <thead>\n <tr>\n <th *ngFor=\"let column of columns; trackBy: trackByFn\">\n <thy-skeleton-rectangle\n [thyRowWidth]=\"column?.type === columnType.checkbox ? checkboxWidth : titleWidth\"\n [thyRowHeight]=\"titleHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyTheme === 'bordered' || thyTheme === 'boxed' ? '#eee' : thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n </th>\n </tr>\n </thead>\n </ng-container>\n <tbody>\n <ng-container *ngFor=\"let item of rowCount; let i = index\">\n <tr>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByFn\">\n <td>\n <ng-container\n *thyViewOutlet=\"\n skeletonColumnsMap[column.type] || defaultTemplate\n context:{\n trIndex: i,\n }\n \">\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n</table>\n\n<ng-template #titleTemplate let-trIndex=\"trIndex\">\n <div class=\"d-flex align-items-center\">\n <thy-skeleton-rectangle\n class=\"mr-2 flex-shrink-0\"\n [thyRowWidth]=\"checkboxWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n\n <ng-container\n *thyViewOutlet=\"defaultTemplate;\n context:{\n rowWidth: trIndex % 3 === 0 ? '75%' : trIndex % 3 === 1 ? '100%' : trIndex % 3 === 2 ? '65%' : '',\n }\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #checkboxTemplate>\n <thy-skeleton-rectangle\n [thyRowWidth]=\"checkboxWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n</ng-template>\n\n<ng-template #memberTemplate>\n <div class=\"d-flex align-items-center\">\n <thy-skeleton-circle\n class=\"mr-2 flex-shrink-0\"\n [thySize]=\"avatarSize\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-circle>\n\n <ng-container *thyViewOutlet=\"defaultTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #defaultTemplate let-rowWidth=\"rowWidth\">\n <thy-skeleton-rectangle\n [thyRowWidth]=\"rowWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ThyViewOutletDirective, selector: "[thyViewOutlet]", inputs: ["thyViewOutlet", "thyViewOutletContext"] }, { kind: "component", type: ThySkeletonRectangle, selector: "thy-skeleton-rectangle", inputs: ["thyAnimated", "thyAnimatedInterval", "thyBorderRadius", "thyRowWidth", "thyRowHeight", "thyPrimaryColor", "thySecondaryColor"] }, { kind: "component", type: ThySkeletonCircle, selector: "thy-skeleton-circle", inputs: ["thyAnimatedInterval", "thySize", "thyPrimaryColor", "thySecondaryColor", "thyAnimated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
377
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyTableSkeleton, isStandalone: true, selector: "thy-table-skeleton", inputs: { thyBorderRadius: "thyBorderRadius", thyRowHeight: "thyRowHeight", thyAnimated: ["thyAnimated", "thyAnimated", coerceBooleanProperty], thyAnimatedInterval: "thyAnimatedInterval", thyPrimaryColor: "thyPrimaryColor", thySecondaryColor: "thySecondaryColor", thyRowCount: "thyRowCount", thyHeadless: ["thyHeadless", "thyHeadless", coerceBooleanProperty], thyTheme: "thyTheme", thySize: "thySize", thyMinWidth: "thyMinWidth", thyColumns: "thyColumns" }, host: { classAttribute: "thy-table-skeleton" }, viewQueries: [{ propertyName: "titleTemplate", first: true, predicate: ["titleTemplate"], descendants: true }, { propertyName: "memberTemplate", first: true, predicate: ["memberTemplate"], descendants: true }, { propertyName: "defaultTemplate", first: true, predicate: ["defaultTemplate"], descendants: true }, { propertyName: "checkboxTemplate", first: true, predicate: ["checkboxTemplate"], descendants: true }], ngImport: i0, template: "<table [ngClass]=\"tableClassMap\" [ngStyle]=\"{ 'min-width': thyMinWidth }\">\n <colgroup>\n <col *ngFor=\"let column of columns; trackBy: trackByFn\" [width]=\"column.width\" />\n </colgroup>\n <ng-container *ngIf=\"!thyHeadless\">\n <thead>\n <tr>\n <th *ngFor=\"let column of columns; trackBy: trackByFn\">\n <thy-skeleton-rectangle\n [thyRowWidth]=\"column?.type === columnType.checkbox ? checkboxWidth : titleWidth\"\n [thyRowHeight]=\"titleHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyTheme === 'bordered' || thyTheme === 'boxed' ? '#eee' : thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n </th>\n </tr>\n </thead>\n </ng-container>\n <tbody>\n <ng-container *ngFor=\"let item of rowCount; let i = index\">\n <tr>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByFn\">\n <td>\n <ng-container\n *thyViewOutlet=\"\n skeletonColumnsMap[column.type] || defaultTemplate\n context:{\n trIndex: i,\n }\n \">\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n</table>\n\n<ng-template #titleTemplate let-trIndex=\"trIndex\">\n <div class=\"d-flex align-items-center\">\n <thy-skeleton-rectangle\n class=\"mr-2 flex-shrink-0\"\n [thyRowWidth]=\"checkboxWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n\n <ng-container\n *thyViewOutlet=\"defaultTemplate;\n context:{\n rowWidth: trIndex % 3 === 0 ? '75%' : trIndex % 3 === 1 ? '100%' : trIndex % 3 === 2 ? '65%' : '',\n }\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #checkboxTemplate>\n <thy-skeleton-rectangle\n [thyRowWidth]=\"checkboxWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n</ng-template>\n\n<ng-template #memberTemplate>\n <div class=\"d-flex align-items-center\">\n <thy-skeleton-circle\n class=\"mr-2 flex-shrink-0\"\n [thySize]=\"avatarSize\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-circle>\n\n <ng-container *thyViewOutlet=\"defaultTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #defaultTemplate let-rowWidth=\"rowWidth\">\n <thy-skeleton-rectangle\n [thyRowWidth]=\"rowWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: ThyViewOutletDirective, selector: "[thyViewOutlet]", inputs: ["thyViewOutlet", "thyViewOutletContext"] }, { kind: "component", type: ThySkeletonRectangle, selector: "thy-skeleton-rectangle", inputs: ["thyAnimated", "thyAnimatedInterval", "thyBorderRadius", "thyRowWidth", "thyRowHeight", "thyPrimaryColor", "thySecondaryColor"] }, { kind: "component", type: ThySkeletonCircle, selector: "thy-skeleton-circle", inputs: ["thyAnimatedInterval", "thySize", "thyPrimaryColor", "thySecondaryColor", "thyAnimated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
378
378
  }
379
379
  __decorate([
380
380
  InputCssPixel(),
@@ -392,7 +392,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
392
392
  type: Component,
393
393
  args: [{ selector: 'thy-table-skeleton', host: {
394
394
  class: 'thy-table-skeleton'
395
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgFor, NgClass, NgIf, NgTemplateOutlet, ThyViewOutletDirective, ThySkeletonRectangle, ThySkeletonCircle], template: "<table [ngClass]=\"tableClassMap\" [style.min-width]=\"thyMinWidth\">\n <colgroup>\n <col *ngFor=\"let column of columns; trackBy: trackByFn\" [width]=\"column.width\" />\n </colgroup>\n <ng-container *ngIf=\"!thyHeadless\">\n <thead>\n <tr>\n <th *ngFor=\"let column of columns; trackBy: trackByFn\">\n <thy-skeleton-rectangle\n [thyRowWidth]=\"column?.type === columnType.checkbox ? checkboxWidth : titleWidth\"\n [thyRowHeight]=\"titleHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyTheme === 'bordered' || thyTheme === 'boxed' ? '#eee' : thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n </th>\n </tr>\n </thead>\n </ng-container>\n <tbody>\n <ng-container *ngFor=\"let item of rowCount; let i = index\">\n <tr>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByFn\">\n <td>\n <ng-container\n *thyViewOutlet=\"\n skeletonColumnsMap[column.type] || defaultTemplate\n context:{\n trIndex: i,\n }\n \">\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n</table>\n\n<ng-template #titleTemplate let-trIndex=\"trIndex\">\n <div class=\"d-flex align-items-center\">\n <thy-skeleton-rectangle\n class=\"mr-2 flex-shrink-0\"\n [thyRowWidth]=\"checkboxWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n\n <ng-container\n *thyViewOutlet=\"defaultTemplate;\n context:{\n rowWidth: trIndex % 3 === 0 ? '75%' : trIndex % 3 === 1 ? '100%' : trIndex % 3 === 2 ? '65%' : '',\n }\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #checkboxTemplate>\n <thy-skeleton-rectangle\n [thyRowWidth]=\"checkboxWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n</ng-template>\n\n<ng-template #memberTemplate>\n <div class=\"d-flex align-items-center\">\n <thy-skeleton-circle\n class=\"mr-2 flex-shrink-0\"\n [thySize]=\"avatarSize\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-circle>\n\n <ng-container *thyViewOutlet=\"defaultTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #defaultTemplate let-rowWidth=\"rowWidth\">\n <thy-skeleton-rectangle\n [thyRowWidth]=\"rowWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n</ng-template>\n" }]
395
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgFor, NgClass, NgIf, NgStyle, NgTemplateOutlet, ThyViewOutletDirective, ThySkeletonRectangle, ThySkeletonCircle], template: "<table [ngClass]=\"tableClassMap\" [ngStyle]=\"{ 'min-width': thyMinWidth }\">\n <colgroup>\n <col *ngFor=\"let column of columns; trackBy: trackByFn\" [width]=\"column.width\" />\n </colgroup>\n <ng-container *ngIf=\"!thyHeadless\">\n <thead>\n <tr>\n <th *ngFor=\"let column of columns; trackBy: trackByFn\">\n <thy-skeleton-rectangle\n [thyRowWidth]=\"column?.type === columnType.checkbox ? checkboxWidth : titleWidth\"\n [thyRowHeight]=\"titleHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyTheme === 'bordered' || thyTheme === 'boxed' ? '#eee' : thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n </th>\n </tr>\n </thead>\n </ng-container>\n <tbody>\n <ng-container *ngFor=\"let item of rowCount; let i = index\">\n <tr>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByFn\">\n <td>\n <ng-container\n *thyViewOutlet=\"\n skeletonColumnsMap[column.type] || defaultTemplate\n context:{\n trIndex: i,\n }\n \">\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n</table>\n\n<ng-template #titleTemplate let-trIndex=\"trIndex\">\n <div class=\"d-flex align-items-center\">\n <thy-skeleton-rectangle\n class=\"mr-2 flex-shrink-0\"\n [thyRowWidth]=\"checkboxWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n\n <ng-container\n *thyViewOutlet=\"defaultTemplate;\n context:{\n rowWidth: trIndex % 3 === 0 ? '75%' : trIndex % 3 === 1 ? '100%' : trIndex % 3 === 2 ? '65%' : '',\n }\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #checkboxTemplate>\n <thy-skeleton-rectangle\n [thyRowWidth]=\"checkboxWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n</ng-template>\n\n<ng-template #memberTemplate>\n <div class=\"d-flex align-items-center\">\n <thy-skeleton-circle\n class=\"mr-2 flex-shrink-0\"\n [thySize]=\"avatarSize\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-circle>\n\n <ng-container *thyViewOutlet=\"defaultTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #defaultTemplate let-rowWidth=\"rowWidth\">\n <thy-skeleton-rectangle\n [thyRowWidth]=\"rowWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n</ng-template>\n" }]
396
396
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { titleTemplate: [{
397
397
  type: ViewChild,
398
398
  args: ['titleTemplate']
@@ -411,7 +411,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
411
411
  type: Input
412
412
  }], thyAnimated: [{
413
413
  type: Input,
414
- args: [{ transform: booleanAttribute }]
414
+ args: [{ transform: coerceBooleanProperty }]
415
415
  }], thyAnimatedInterval: [{
416
416
  type: Input
417
417
  }], thyPrimaryColor: [{
@@ -422,7 +422,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
422
422
  type: Input
423
423
  }], thyHeadless: [{
424
424
  type: Input,
425
- args: [{ transform: booleanAttribute }]
425
+ args: [{ transform: coerceBooleanProperty }]
426
426
  }], thyTheme: [{
427
427
  type: Input
428
428
  }], thySize: [{
@@ -912,8 +912,10 @@ class ThyTable {
912
912
  return level * this.thyIndent - 5;
913
913
  }
914
914
  }
915
- tdIndentComputed(level) {
915
+ tdIndentComputed(level, column) {
916
916
  return {
917
+ left: `${column.left}px`,
918
+ right: `${column.right}px`,
917
919
  position: 'relative',
918
920
  paddingLeft: `${(level + 1) * this.thyIndent - 5}px`
919
921
  };
@@ -1204,13 +1206,13 @@ class ThyTable {
1204
1206
  this._destroyInvalidAttribute();
1205
1207
  }
1206
1208
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyTable, deps: [{ token: i0.ElementRef }, { token: i0.IterableDiffers }, { token: i1.ViewportRuler }, { token: i2.UpdateHostClassService }, { token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1207
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyTable, isStandalone: true, selector: "thy-table", inputs: { thyMode: "thyMode", thyGroupBy: "thyGroupBy", thyRowKey: "thyRowKey", thyGroups: "thyGroups", thyModel: "thyModel", thyTheme: "thyTheme", thySize: "thySize", thyMinWidth: "thyMinWidth", thyLayoutFixed: ["thyLayoutFixed", "thyLayoutFixed", booleanAttribute], thyHeaderFixed: ["thyHeaderFixed", "thyHeaderFixed", booleanAttribute], thyHeight: "thyHeight", thyClassName: "thyClassName", thyRowClassName: "thyRowClassName", thyLoadingDone: ["thyLoadingDone", "thyLoadingDone", booleanAttribute], thyLoadingText: "thyLoadingText", thyEmptyOptions: "thyEmptyOptions", thyDraggable: ["thyDraggable", "thyDraggable", booleanAttribute], thyPageIndex: ["thyPageIndex", "thyPageIndex", numberAttribute], thyPageSize: ["thyPageSize", "thyPageSize", numberAttribute], thyPageTotal: ["thyPageTotal", "thyPageTotal", numberAttribute], thyWholeRowSelect: ["thyWholeRowSelect", "thyWholeRowSelect", booleanAttribute], thyHeadless: ["thyHeadless", "thyHeadless", booleanAttribute], thyShowHeader: ["thyShowHeader", "thyShowHeader", booleanAttribute], showTotal: ["thyShowTotal", "showTotal", booleanAttribute], showSizeChanger: ["thyShowSizeChanger", "showSizeChanger", booleanAttribute], pageSizeOptions: ["thyPageSizeOptions", "pageSizeOptions"], thyIndent: ["thyIndent", "thyIndent", numberAttribute], thyChildrenKey: "thyChildrenKey", thyHoverDisplayOperation: ["thyHoverDisplayOperation", "thyHoverDisplayOperation", booleanAttribute], thyDragDisabledPredicate: "thyDragDisabledPredicate", thyColumnSkeletonTypes: "thyColumnSkeletonTypes" }, outputs: { thyOnSwitchChange: "thyOnSwitchChange", thyOnPageChange: "thyOnPageChange", thyOnPageIndexChange: "thyOnPageIndexChange", thyOnPageSizeChange: "thyOnPageSizeChange", thyOnMultiSelectChange: "thyOnMultiSelectChange", thyOnRadioSelectChange: "thyOnRadioSelectChange", thyOnDraggableChange: "thyOnDraggableChange", thyOnRowClick: "thyOnRowClick", thySortChange: "thySortChange", thyOnRowContextMenu: "thyOnRowContextMenu" }, host: { properties: { "class.thy-table-bordered": "theme === 'bordered'", "class.thy-table-boxed": "theme === 'boxed'", "class.thy-table-fixed-header": "thyHeaderFixed", "style.height": "this.thyHeight", "class.thy-table-hover-display-operation": "this.thyHoverDisplayOperation" }, classAttribute: "thy-table" }, providers: [
1209
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyTable, isStandalone: true, selector: "thy-table", inputs: { thyMode: "thyMode", thyGroupBy: "thyGroupBy", thyRowKey: "thyRowKey", thyGroups: "thyGroups", thyModel: "thyModel", thyTheme: "thyTheme", thySize: "thySize", thyMinWidth: "thyMinWidth", thyLayoutFixed: ["thyLayoutFixed", "thyLayoutFixed", coerceBooleanProperty], thyHeaderFixed: ["thyHeaderFixed", "thyHeaderFixed", coerceBooleanProperty], thyHeight: "thyHeight", thyClassName: "thyClassName", thyRowClassName: "thyRowClassName", thyLoadingDone: ["thyLoadingDone", "thyLoadingDone", coerceBooleanProperty], thyLoadingText: "thyLoadingText", thyEmptyOptions: "thyEmptyOptions", thyDraggable: ["thyDraggable", "thyDraggable", coerceBooleanProperty], thyPageIndex: ["thyPageIndex", "thyPageIndex", numberAttribute], thyPageSize: ["thyPageSize", "thyPageSize", numberAttribute], thyPageTotal: ["thyPageTotal", "thyPageTotal", numberAttribute], thyWholeRowSelect: ["thyWholeRowSelect", "thyWholeRowSelect", coerceBooleanProperty], thyHeadless: ["thyHeadless", "thyHeadless", coerceBooleanProperty], thyShowHeader: ["thyShowHeader", "thyShowHeader", coerceBooleanProperty], showTotal: ["thyShowTotal", "showTotal", coerceBooleanProperty], showSizeChanger: ["thyShowSizeChanger", "showSizeChanger", coerceBooleanProperty], pageSizeOptions: ["thyPageSizeOptions", "pageSizeOptions"], thyIndent: ["thyIndent", "thyIndent", numberAttribute], thyChildrenKey: "thyChildrenKey", thyHoverDisplayOperation: ["thyHoverDisplayOperation", "thyHoverDisplayOperation", coerceBooleanProperty], thyDragDisabledPredicate: "thyDragDisabledPredicate", thyColumnSkeletonTypes: "thyColumnSkeletonTypes" }, outputs: { thyOnSwitchChange: "thyOnSwitchChange", thyOnPageChange: "thyOnPageChange", thyOnPageIndexChange: "thyOnPageIndexChange", thyOnPageSizeChange: "thyOnPageSizeChange", thyOnMultiSelectChange: "thyOnMultiSelectChange", thyOnRadioSelectChange: "thyOnRadioSelectChange", thyOnDraggableChange: "thyOnDraggableChange", thyOnRowClick: "thyOnRowClick", thySortChange: "thySortChange", thyOnRowContextMenu: "thyOnRowContextMenu" }, host: { properties: { "class.thy-table-bordered": "theme === 'bordered'", "class.thy-table-boxed": "theme === 'boxed'", "class.thy-table-fixed-header": "thyHeaderFixed", "style.height": "this.thyHeight", "class.thy-table-hover-display-operation": "this.thyHoverDisplayOperation" }, classAttribute: "thy-table" }, providers: [
1208
1210
  {
1209
1211
  provide: THY_TABLE_COLUMN_PARENT_COMPONENT,
1210
1212
  useExisting: ThyTable
1211
1213
  },
1212
1214
  UpdateHostClassService
1213
- ], queries: [{ propertyName: "emptyTemplate", first: true, predicate: ["empty"], descendants: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"], descendants: true, static: true }, { propertyName: "listOfColumnComponents", predicate: ThyTableColumnComponent }], viewQueries: [{ propertyName: "tableElementRef", first: true, predicate: ["table"], descendants: true, static: true }, { propertyName: "rows", predicate: ["rows"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"thy-table-body\"\n cdkScrollable\n [ngClass]=\"{ 'thy-table-fixed': hasFixed, 'thy-table-bordered-theme': theme === 'bordered' && hasFixed }\">\n <table\n #table\n class=\"table\"\n [ngClass]=\"[className]\"\n [class.table-fixed]=\"thyLayoutFixed\"\n [class.table-draggable]=\"draggable\"\n [class.table-group]=\"mode === 'group'\"\n [style.min-width]=\"thyMinWidth\">\n <colgroup>\n <col *ngFor=\"let column of columns\" [width]=\"column.width\" [style.minWidth]=\"hasFixed ? column.width : column.minWidth\" />\n </colgroup>\n\n <thead *ngIf=\"!thyHeadless\">\n <tr>\n <th\n *ngFor=\"let column of columns\"\n [ngClass]=\"column.headerClassName\"\n [class.thy-table-column-sortable]=\"column.sortable\"\n [class.thy-table-fixed-column-left]=\"column.fixed === fixedDirection.left\"\n [class.thy-table-fixed-column-right]=\"column.fixed === fixedDirection.right\"\n [style.left.px]=\"column.left\"\n [style.right.px]=\"column.right\"\n (click)=\"onColumnHeaderClick($event, column)\">\n <ng-container *ngIf=\"!column.headerTemplateRef\">\n <span>{{ column.title }}</span>\n </ng-container>\n <ng-container *ngIf=\"column.headerTemplateRef\">\n <ng-template [ngTemplateOutlet]=\"column.headerTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: column }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"column.sortable\">\n <thy-icon [ngClass]=\"['thy-table-column-sortable-icon', 'px-1', column.sortDirection]\" thyIconName=\"sort-vertical-tt\">\n </thy-icon>\n </ng-container>\n </th>\n </tr>\n </thead>\n\n <tbody\n *ngIf=\"loadingDone\"\n thyDragDrop\n cdkDropList\n [cdkDropListDisabled]=\"!draggable\"\n [cdkDropListSortPredicate]=\"dropListEnterPredicate\"\n (cdkDropListDropped)=\"onDragDropped($event)\">\n <!-- group -->\n <ng-container *ngIf=\"mode === 'group'\">\n <ng-container *ngFor=\"let group of groups\">\n <tr\n class=\"thy-table-group\"\n (click)=\"expandGroup(group)\"\n cdkDrag\n [cdkDragPreviewClass]=\"dragPreviewClass\"\n [cdkDragData]=\"group\"\n [cdkDragDisabled]=\"group | tableRowDragDisabled : thyDragDisabledPredicate\"\n (cdkDragStarted)=\"onDragGroupStarted($event)\"\n (cdkDragEnded)=\"onDragGroupEnd($event)\">\n <td [attr.colspan]=\"columns.length\">\n <div class=\"thy-table-group-container\">\n <ng-container *ngIf=\"draggable && !(group | tableRowDragDisabled : thyDragDisabledPredicate)\">\n <thy-icon class=\"table-draggable-icon\" thyIconName=\"drag\"></thy-icon>\n </ng-container>\n <thy-icon class=\"expand-icon\" [thyIconName]=\"group.expand ? 'angle-down' : 'angle-right'\"></thy-icon>\n <ng-container *ngIf=\"groupTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: group.origin, group: group.origin }\"></ng-template>\n </ng-container>\n </div>\n </td>\n </tr>\n <ng-container *ngIf=\"group.children?.length && group.expand\">\n <ng-container *ngFor=\"let row of group.children; trackBy: trackByFn; let i = index\">\n <ng-template\n [ngTemplateOutlet]=\"trTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: 0\n }\"></ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- list\u6A21\u5F0F\u4E0B\u6CA1\u6709\u76F4\u63A5\u4F7F\u7528item\u6A21\u677F\uFF0C\u662F\u56E0\u4E3A\u4F7F\u7528\u4E86\u6A21\u677F\u5F71\u54CD\u4E86Angular\u7684\u4F9D\u8D56\u6811\uFF0C\u5BFC\u81F4CdkDragDrop\u6392\u5E8F\u5931\u6548\uFF0C\u76EE\u524D\u8FD9\u6837\u4FEE\u6539\u53EF\u4EE5\u6682\u65F6\u89E3\u51B3\u7EBF\u4E0A\u4E0D\u80FD\u6392\u5E8F\u7684\u95EE\u9898\uFF0CTree\u6A21\u5F0F\u7684\u6392\u5E8F\u6682\u65F6\u4E0D\u652F\u6301 -->\n <ng-container *ngIf=\"mode === 'list'\">\n <tr\n #rows\n *ngFor=\"let row of model; trackBy: trackByFn; let i = index\"\n class=\"thy-sortable-item\"\n cdkDrag\n [cdkDragPreviewClass]=\"dragPreviewClass\"\n [cdkDragData]=\"row\"\n [cdkDragDisabled]=\"row | tableRowDragDisabled : thyDragDisabledPredicate\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n [ngClass]=\"renderRowClassName(row, i)\"\n (click)=\"onRowClick($event, row)\"\n (thyContextMenu)=\"onRowContextMenu($event, row)\">\n <ng-template\n [ngTemplateOutlet]=\"tdsTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: 0\n }\"></ng-template>\n </tr>\n </ng-container>\n\n <ng-container *ngIf=\"mode === 'tree'\">\n <ng-container *ngFor=\"let row of model; trackBy: trackByFn; let i = index\">\n <ng-template [ngTemplateOutlet]=\"trTemplate\" [ngTemplateOutletContext]=\"{ row: row, index: i, level: 0 }\"></ng-template>\n </ng-container>\n </ng-container>\n\n <ng-template #trTemplate let-row=\"row\" let-i=\"index\" let-level=\"level\">\n <tr\n #rows\n class=\"thy-sortable-item\"\n cdkDrag\n [cdkDragPreviewClass]=\"dragPreviewClass\"\n [cdkDragData]=\"row\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n [cdkDragDisabled]=\"row | tableRowDragDisabled : thyDragDisabledPredicate\"\n [ngClass]=\"renderRowClassName(row, i)\"\n (click)=\"onRowClick($event, row)\"\n (thyContextMenu)=\"onRowContextMenu($event, row)\">\n <ng-template\n [ngTemplateOutlet]=\"tdsTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: level + 1\n }\"></ng-template>\n </tr>\n\n <ng-container *ngIf=\"mode === 'tree' && isExpanded(row)\">\n <ng-template\n *ngFor=\"let child of row[thyChildrenKey]; trackBy: trackByFn; let j = index\"\n [ngTemplateOutlet]=\"trTemplate\"\n [ngTemplateOutletContext]=\"{ row: child, index: j, level: level + 1 }\"></ng-template>\n </ng-container>\n </ng-template>\n\n <ng-template #tdsTemplate let-row=\"row\" let-i=\"index\" let-level=\"level\">\n <td\n *ngFor=\"let column of columns; let j = index\"\n [ngClass]=\"column.className\"\n [class.thy-operation-links]=\"!!column.operational\"\n [class.thy-table-column-secondary]=\"!!column.secondary\"\n [class.thy-table-checkbox-column]=\"column.type === customType.checkbox\"\n [class.thy-table-fixed-column-left]=\"column.fixed === fixedDirection.left\"\n [class.thy-table-fixed-column-right]=\"column.fixed === fixedDirection.right\"\n [style.left.px]=\"column.left\"\n [style.right.px]=\"column.right\"\n [ngStyle]=\"mode === 'tree' && column.expand ? tdIndentComputed(level) : null\">\n <ng-container *ngIf=\"j === 0 && draggable && !(row | tableRowDragDisabled : thyDragDisabledPredicate)\">\n <thy-icon class=\"table-draggable-icon\" thyIconName=\"drag\"></thy-icon>\n </ng-container>\n\n <!--template-->\n <ng-container *ngIf=\"isTemplateRef(column.cellTemplateRef)\">\n <thy-icon\n class=\"tree-expand-icon cursor-pointer\"\n *ngIf=\"mode === 'tree' && column.expand\"\n [thyIconName]=\"isExpanded(row) ? 'angle-down' : 'angle-right'\"\n [style.visibility]=\"showExpand(row) ? 'visible' : 'hidden'\"\n [style.left.px]=\"iconIndentComputed(level)\"></thy-icon>\n <ng-template [ngTemplateOutlet]=\"column.cellTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: row }\"></ng-template>\n </ng-container>\n\n <!--not template-->\n <ng-container *ngIf=\"!isTemplateRef(column.cellTemplateRef)\">\n <!-- default -->\n <ng-container *ngIf=\"column.model && !column.type\">\n <thy-icon\n class=\"tree-expand-icon cursor-pointer\"\n *ngIf=\"mode === 'tree' && column.expand\"\n [thyIconName]=\"isExpanded(row) ? 'angle-down' : 'angle-right'\"\n [style.visibility]=\"showExpand(row) ? 'visible' : 'hidden'\"\n [style.marginLeft.px]=\"iconIndentComputed(level)\"></thy-icon>\n <ng-container *ngIf=\"getModelValue(row, column.model) | isValidModelValue; else default\">\n {{ getModelValue(row, column.model) }}\n </ng-container>\n <ng-template #default>\n <div *ngIf=\"column.defaultText\" class=\"text-desc\">\n {{ column.defaultText }}\n </div>\n </ng-template>\n </ng-container>\n\n <!-- index -->\n <ng-container *ngIf=\"column.type === customType.index\">\n {{ i + 1 }}\n </ng-container>\n\n <!-- checkbox -->\n <ng-container *ngIf=\"column.type === customType.checkbox\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"row[column.key]\"\n (ngModelChange)=\"onCheckboxChange(row, column)\"\n (click)=\"onStopPropagation($event)\"\n [disabled]=\"column.disabled\" />\n </ng-container>\n\n <!-- radio -->\n <ng-container *ngIf=\"column.type === customType.radio\">\n <input\n type=\"radio\"\n [(ngModel)]=\"selectedRadioRow\"\n [value]=\"row\"\n [disabled]=\"column.disabled\"\n (click)=\"onStopPropagation($event)\"\n (change)=\"onRadioSelectChange($event, row)\" />\n </ng-container>\n\n <!-- switch -->\n <ng-container *ngIf=\"column.type === customType.switch\">\n <thy-switch\n [(ngModel)]=\"row[column.key]\"\n (ngModelChange)=\"onModelChange(row, column)\"\n [disabled]=\"column.disabled\"\n (thyChange)=\"onSwitchChange($event, row, column)\"></thy-switch>\n </ng-container>\n </ng-container>\n </td>\n </ng-template>\n </tbody>\n </table>\n\n <div *ngIf=\"loadingDone && model.length === 0 && groups.length === 0\" class=\"thy-table-empty clear-hover\">\n <ng-container *ngIf=\"emptyTemplate; else defaultEmpty\">\n <ng-template [ngTemplateOutlet]=\"emptyTemplate\"></ng-template>\n </ng-container>\n <ng-template #defaultEmpty>\n <thy-empty\n [thyMessage]=\"emptyOptions.message\"\n [thyTranslationKey]=\"emptyOptions.translationKey\"\n [thyTranslationValues]=\"emptyOptions.translationValues\"\n [thyEntityName]=\"emptyOptions.entityName\"\n [thyEntityNameTranslateKey]=\"emptyOptions.entityNameTranslateKey\"\n [thyIconName]=\"emptyOptions.iconName\"\n [thySize]=\"emptyOptions.size\"\n [thyMarginTop]=\"emptyOptions.marginTop\"\n [thyTopAuto]=\"emptyOptions.topAuto\"\n [thyContainer]=\"emptyOptions.container\"></thy-empty>\n </ng-template>\n </div>\n\n <thy-table-skeleton\n *ngIf=\"!loadingDone\"\n [thyRowCount]=\"6\"\n [thyHeadless]=\"true\"\n [thyTheme]=\"theme\"\n [thySize]=\"size\"\n [thyMinWidth]=\"thyMinWidth\"\n [thyColumns]=\"skeletonColumns\">\n </thy-table-skeleton>\n\n <div class=\"thy-table-footer\" *ngIf=\"pagination.total > pagination.size\" [class.thy-table-footer-has-padding]=\"theme === 'default'\">\n <thy-pagination\n [thyPageIndex]=\"pagination.index\"\n [thyTotal]=\"pagination.total\"\n [thyPageSize]=\"pagination.size\"\n [thyPageSizeOptions]=\"pagination.sizeOptions\"\n [thyShowSizeChanger]=\"showSizeChanger\"\n [thyShowTotal]=\"showTotal\"\n (thyPageChanged)=\"onPageChange($event)\"\n (thyPageIndexChange)=\"onPageIndexChange($event)\"\n (thyPageSizeChanged)=\"onPageSizeChange($event)\"></thy-pagination>\n </div>\n</div>\n\n<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyDragDropDirective, selector: "[thyDragDrop]" }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: ThyContextMenuDirective, selector: "[thyContextMenu]", outputs: ["thyContextMenu"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThySwitch, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled", "thyLoading"], outputs: ["thyChange"] }, { kind: "component", type: ThyEmpty, selector: "thy-empty", inputs: ["thyMessage", "thyTranslationKey", "thyTranslationValues", "thyEntityName", "thyEntityNameTranslateKey", "thyIconName", "thySize", "thyMarginTop", "thyTopAuto", "thyContainer", "thyImageUrl", "thyImageLoading", "thyImageFetchPriority", "thyDescription"] }, { kind: "component", type: ThyTableSkeleton, selector: "thy-table-skeleton", inputs: ["thyBorderRadius", "thyRowHeight", "thyAnimated", "thyAnimatedInterval", "thyPrimaryColor", "thySecondaryColor", "thyRowCount", "thyHeadless", "thyTheme", "thySize", "thyMinWidth", "thyColumns"] }, { kind: "component", type: ThyPagination, selector: "thy-pagination", inputs: ["thyPageIndex", "thyPageSize", "thyTotal", "thyCustomPages", "thyDisabled", "thyShowQuickJumper", "thyShowTotalPageCount", "thySize", "thyMaxCount", "thyMarginalCount", "thyRangeCount", "thyShowSizeChanger", "thyPageSizeOptions", "thyHideOnSinglePage", "thyShowTotal"], outputs: ["thyPageIndexChange", "thyPageChanged", "thyPageSizeChanged"] }, { kind: "pipe", type: TableIsValidModelValuePipe, name: "isValidModelValue" }, { kind: "pipe", type: TableRowDragDisabledPipe, name: "tableRowDragDisabled" }], encapsulation: i0.ViewEncapsulation.None }); }
1215
+ ], queries: [{ propertyName: "emptyTemplate", first: true, predicate: ["empty"], descendants: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"], descendants: true, static: true }, { propertyName: "listOfColumnComponents", predicate: ThyTableColumnComponent }], viewQueries: [{ propertyName: "tableElementRef", first: true, predicate: ["table"], descendants: true, static: true }, { propertyName: "rows", predicate: ["rows"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"thy-table-body\"\n cdkScrollable\n [ngClass]=\"{ 'thy-table-fixed': hasFixed, 'thy-table-bordered-theme': theme === 'bordered' && hasFixed }\">\n <table\n #table\n class=\"table\"\n [ngClass]=\"[className]\"\n [class.table-fixed]=\"thyLayoutFixed\"\n [class.table-draggable]=\"draggable\"\n [class.table-group]=\"mode === 'group'\"\n [ngStyle]=\"{ 'min-width': thyMinWidth }\">\n <colgroup>\n <col *ngFor=\"let column of columns\" [width]=\"column.width\" [ngStyle]=\"{ minWidth: hasFixed ? column.width : column.minWidth }\" />\n </colgroup>\n\n <thead *ngIf=\"!thyHeadless\">\n <tr>\n <th\n *ngFor=\"let column of columns\"\n [ngClass]=\"column.headerClassName\"\n [class.thy-table-column-sortable]=\"column.sortable\"\n [class.thy-table-fixed-column-left]=\"column.fixed === fixedDirection.left\"\n [class.thy-table-fixed-column-right]=\"column.fixed === fixedDirection.right\"\n [ngStyle]=\"{ left: column.left + 'px', right: column.right + 'px' }\"\n (click)=\"onColumnHeaderClick($event, column)\">\n <ng-container *ngIf=\"!column.headerTemplateRef\">\n <span>{{ column.title }}</span>\n </ng-container>\n <ng-container *ngIf=\"column.headerTemplateRef\">\n <ng-template [ngTemplateOutlet]=\"column.headerTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: column }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"column.sortable\">\n <thy-icon [ngClass]=\"['thy-table-column-sortable-icon', 'px-1', column.sortDirection]\" thyIconName=\"sort-vertical-tt\">\n </thy-icon>\n </ng-container>\n </th>\n </tr>\n </thead>\n\n <tbody\n *ngIf=\"loadingDone\"\n thyDragDrop\n cdkDropList\n [cdkDropListDisabled]=\"!draggable\"\n [cdkDropListSortPredicate]=\"dropListEnterPredicate\"\n (cdkDropListDropped)=\"onDragDropped($event)\">\n <!-- group -->\n <ng-container *ngIf=\"mode === 'group'\">\n <ng-container *ngFor=\"let group of groups\">\n <tr\n class=\"thy-table-group\"\n (click)=\"expandGroup(group)\"\n cdkDrag\n [cdkDragPreviewClass]=\"dragPreviewClass\"\n [cdkDragData]=\"group\"\n [cdkDragDisabled]=\"group | tableRowDragDisabled : thyDragDisabledPredicate\"\n (cdkDragStarted)=\"onDragGroupStarted($event)\"\n (cdkDragEnded)=\"onDragGroupEnd($event)\">\n <td [attr.colspan]=\"columns.length\">\n <div class=\"thy-table-group-container\">\n <ng-container *ngIf=\"draggable && !(group | tableRowDragDisabled : thyDragDisabledPredicate)\">\n <thy-icon class=\"table-draggable-icon\" thyIconName=\"drag\"></thy-icon>\n </ng-container>\n <thy-icon class=\"expand-icon\" [thyIconName]=\"group.expand ? 'angle-down' : 'angle-right'\"></thy-icon>\n <ng-container *ngIf=\"groupTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: group.origin, group: group.origin }\"></ng-template>\n </ng-container>\n </div>\n </td>\n </tr>\n <ng-container *ngIf=\"group.children?.length && group.expand\">\n <ng-container *ngFor=\"let row of group.children; trackBy: trackByFn; let i = index\">\n <ng-template\n [ngTemplateOutlet]=\"trTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: 0\n }\"></ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- list\u6A21\u5F0F\u4E0B\u6CA1\u6709\u76F4\u63A5\u4F7F\u7528item\u6A21\u677F\uFF0C\u662F\u56E0\u4E3A\u4F7F\u7528\u4E86\u6A21\u677F\u5F71\u54CD\u4E86Angular\u7684\u4F9D\u8D56\u6811\uFF0C\u5BFC\u81F4CdkDragDrop\u6392\u5E8F\u5931\u6548\uFF0C\u76EE\u524D\u8FD9\u6837\u4FEE\u6539\u53EF\u4EE5\u6682\u65F6\u89E3\u51B3\u7EBF\u4E0A\u4E0D\u80FD\u6392\u5E8F\u7684\u95EE\u9898\uFF0CTree\u6A21\u5F0F\u7684\u6392\u5E8F\u6682\u65F6\u4E0D\u652F\u6301 -->\n <ng-container *ngIf=\"mode === 'list'\">\n <tr\n #rows\n *ngFor=\"let row of model; trackBy: trackByFn; let i = index\"\n class=\"thy-sortable-item\"\n cdkDrag\n [cdkDragPreviewClass]=\"dragPreviewClass\"\n [cdkDragData]=\"row\"\n [cdkDragDisabled]=\"row | tableRowDragDisabled : thyDragDisabledPredicate\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n [ngClass]=\"renderRowClassName(row, i)\"\n (click)=\"onRowClick($event, row)\"\n (thyContextMenu)=\"onRowContextMenu($event, row)\">\n <ng-template\n [ngTemplateOutlet]=\"tdsTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: 0\n }\"></ng-template>\n </tr>\n </ng-container>\n\n <ng-container *ngIf=\"mode === 'tree'\">\n <ng-container *ngFor=\"let row of model; trackBy: trackByFn; let i = index\">\n <ng-template [ngTemplateOutlet]=\"trTemplate\" [ngTemplateOutletContext]=\"{ row: row, index: i, level: 0 }\"></ng-template>\n </ng-container>\n </ng-container>\n\n <ng-template #trTemplate let-row=\"row\" let-i=\"index\" let-level=\"level\">\n <tr\n #rows\n class=\"thy-sortable-item\"\n cdkDrag\n [cdkDragPreviewClass]=\"dragPreviewClass\"\n [cdkDragData]=\"row\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n [cdkDragDisabled]=\"row | tableRowDragDisabled : thyDragDisabledPredicate\"\n [ngClass]=\"renderRowClassName(row, i)\"\n (click)=\"onRowClick($event, row)\"\n (thyContextMenu)=\"onRowContextMenu($event, row)\">\n <ng-template\n [ngTemplateOutlet]=\"tdsTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: level + 1\n }\"></ng-template>\n </tr>\n\n <ng-container *ngIf=\"mode === 'tree' && isExpanded(row)\">\n <ng-template\n *ngFor=\"let child of row[thyChildrenKey]; trackBy: trackByFn; let j = index\"\n [ngTemplateOutlet]=\"trTemplate\"\n [ngTemplateOutletContext]=\"{ row: child, index: j, level: level + 1 }\"></ng-template>\n </ng-container>\n </ng-template>\n\n <ng-template #tdsTemplate let-row=\"row\" let-i=\"index\" let-level=\"level\">\n <td\n *ngFor=\"let column of columns; let j = index\"\n [ngClass]=\"column.className\"\n [class.thy-operation-links]=\"!!column.operational\"\n [class.thy-table-column-secondary]=\"!!column.secondary\"\n [class.thy-table-checkbox-column]=\"column.type === customType.checkbox\"\n [class.thy-table-fixed-column-left]=\"column.fixed === fixedDirection.left\"\n [class.thy-table-fixed-column-right]=\"column.fixed === fixedDirection.right\"\n [ngStyle]=\"\n mode === 'tree' && column.expand ? tdIndentComputed(level, column) : { left: column.left + 'px', right: column.right + 'px' }\n \">\n <ng-container *ngIf=\"j === 0 && draggable && !(row | tableRowDragDisabled : thyDragDisabledPredicate)\">\n <thy-icon class=\"table-draggable-icon\" thyIconName=\"drag\"></thy-icon>\n </ng-container>\n\n <!--template-->\n <ng-container *ngIf=\"isTemplateRef(column.cellTemplateRef)\">\n <thy-icon\n class=\"tree-expand-icon cursor-pointer\"\n *ngIf=\"mode === 'tree' && column.expand\"\n [thyIconName]=\"isExpanded(row) ? 'angle-down' : 'angle-right'\"\n [style.visibility]=\"showExpand(row) ? 'visible' : 'hidden'\"\n [style.left.px]=\"iconIndentComputed(level)\"></thy-icon>\n <ng-template [ngTemplateOutlet]=\"column.cellTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: row }\"></ng-template>\n </ng-container>\n\n <!--not template-->\n <ng-container *ngIf=\"!isTemplateRef(column.cellTemplateRef)\">\n <!-- default -->\n <ng-container *ngIf=\"column.model && !column.type\">\n <thy-icon\n class=\"tree-expand-icon cursor-pointer\"\n *ngIf=\"mode === 'tree' && column.expand\"\n [thyIconName]=\"isExpanded(row) ? 'angle-down' : 'angle-right'\"\n [style.visibility]=\"showExpand(row) ? 'visible' : 'hidden'\"\n [style.marginLeft.px]=\"iconIndentComputed(level)\"></thy-icon>\n <ng-container *ngIf=\"getModelValue(row, column.model) | isValidModelValue; else default\">\n {{ getModelValue(row, column.model) }}\n </ng-container>\n <ng-template #default>\n <div *ngIf=\"column.defaultText\" class=\"text-desc\">\n {{ column.defaultText }}\n </div>\n </ng-template>\n </ng-container>\n\n <!-- index -->\n <ng-container *ngIf=\"column.type === customType.index\">\n {{ i + 1 }}\n </ng-container>\n\n <!-- checkbox -->\n <ng-container *ngIf=\"column.type === customType.checkbox\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"row[column.key]\"\n (ngModelChange)=\"onCheckboxChange(row, column)\"\n (click)=\"onStopPropagation($event)\"\n [disabled]=\"column.disabled\" />\n </ng-container>\n\n <!-- radio -->\n <ng-container *ngIf=\"column.type === customType.radio\">\n <input\n type=\"radio\"\n [(ngModel)]=\"selectedRadioRow\"\n [value]=\"row\"\n [disabled]=\"column.disabled\"\n (click)=\"onStopPropagation($event)\"\n (change)=\"onRadioSelectChange($event, row)\" />\n </ng-container>\n\n <!-- switch -->\n <ng-container *ngIf=\"column.type === customType.switch\">\n <thy-switch\n [(ngModel)]=\"row[column.key]\"\n (ngModelChange)=\"onModelChange(row, column)\"\n [disabled]=\"column.disabled\"\n (thyChange)=\"onSwitchChange($event, row, column)\"></thy-switch>\n </ng-container>\n </ng-container>\n </td>\n </ng-template>\n </tbody>\n </table>\n\n <div *ngIf=\"loadingDone && model.length === 0 && groups.length === 0\" class=\"thy-table-empty clear-hover\">\n <ng-container *ngIf=\"emptyTemplate; else defaultEmpty\">\n <ng-template [ngTemplateOutlet]=\"emptyTemplate\"></ng-template>\n </ng-container>\n <ng-template #defaultEmpty>\n <thy-empty\n [thyMessage]=\"emptyOptions.message\"\n [thyTranslationKey]=\"emptyOptions.translationKey\"\n [thyTranslationValues]=\"emptyOptions.translationValues\"\n [thyEntityName]=\"emptyOptions.entityName\"\n [thyEntityNameTranslateKey]=\"emptyOptions.entityNameTranslateKey\"\n [thyIconName]=\"emptyOptions.iconName\"\n [thySize]=\"emptyOptions.size\"\n [thyMarginTop]=\"emptyOptions.marginTop\"\n [thyTopAuto]=\"emptyOptions.topAuto\"\n [thyContainer]=\"emptyOptions.container\"></thy-empty>\n </ng-template>\n </div>\n\n <thy-table-skeleton\n *ngIf=\"!loadingDone\"\n [thyRowCount]=\"6\"\n [thyHeadless]=\"true\"\n [thyTheme]=\"theme\"\n [thySize]=\"size\"\n [thyMinWidth]=\"thyMinWidth\"\n [thyColumns]=\"skeletonColumns\">\n </thy-table-skeleton>\n\n <div class=\"thy-table-footer\" *ngIf=\"pagination.total > pagination.size\" [class.thy-table-footer-has-padding]=\"theme === 'default'\">\n <thy-pagination\n [thyPageIndex]=\"pagination.index\"\n [thyTotal]=\"pagination.total\"\n [thyPageSize]=\"pagination.size\"\n [thyPageSizeOptions]=\"pagination.sizeOptions\"\n [thyShowSizeChanger]=\"showSizeChanger\"\n [thyShowTotal]=\"showTotal\"\n (thyPageChanged)=\"onPageChange($event)\"\n (thyPageIndexChange)=\"onPageIndexChange($event)\"\n (thyPageSizeChanged)=\"onPageSizeChange($event)\"></thy-pagination>\n </div>\n</div>\n\n<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyDragDropDirective, selector: "[thyDragDrop]" }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: ThyContextMenuDirective, selector: "[thyContextMenu]", outputs: ["thyContextMenu"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThySwitch, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled", "thyLoading"], outputs: ["thyChange"] }, { kind: "component", type: ThyEmpty, selector: "thy-empty", inputs: ["thyMessage", "thyTranslationKey", "thyTranslationValues", "thyEntityName", "thyEntityNameTranslateKey", "thyIconName", "thySize", "thyMarginTop", "thyTopAuto", "thyContainer", "thyImageUrl", "thyImageLoading", "thyImageFetchPriority", "thyDescription"] }, { kind: "component", type: ThyTableSkeleton, selector: "thy-table-skeleton", inputs: ["thyBorderRadius", "thyRowHeight", "thyAnimated", "thyAnimatedInterval", "thyPrimaryColor", "thySecondaryColor", "thyRowCount", "thyHeadless", "thyTheme", "thySize", "thyMinWidth", "thyColumns"] }, { kind: "component", type: ThyPagination, selector: "thy-pagination", inputs: ["thyPageIndex", "thyPageSize", "thyTotal", "thyCustomPages", "thyDisabled", "thyShowQuickJumper", "thyShowTotalPageCount", "thySize", "thyMaxCount", "thyMarginalCount", "thyRangeCount", "thyShowSizeChanger", "thyPageSizeOptions", "thyHideOnSinglePage", "thyUnit", "thyShowTotal"], outputs: ["thyPageIndexChange", "thyPageChanged", "thyPageSizeChanged"] }, { kind: "pipe", type: TableIsValidModelValuePipe, name: "isValidModelValue" }, { kind: "pipe", type: TableRowDragDisabledPipe, name: "tableRowDragDisabled" }], encapsulation: i0.ViewEncapsulation.None }); }
1214
1216
  }
1215
1217
  __decorate([
1216
1218
  InputCssPixel(),
@@ -1252,7 +1254,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
1252
1254
  ThyPagination,
1253
1255
  TableIsValidModelValuePipe,
1254
1256
  TableRowDragDisabledPipe
1255
- ], template: "<div\n class=\"thy-table-body\"\n cdkScrollable\n [ngClass]=\"{ 'thy-table-fixed': hasFixed, 'thy-table-bordered-theme': theme === 'bordered' && hasFixed }\">\n <table\n #table\n class=\"table\"\n [ngClass]=\"[className]\"\n [class.table-fixed]=\"thyLayoutFixed\"\n [class.table-draggable]=\"draggable\"\n [class.table-group]=\"mode === 'group'\"\n [style.min-width]=\"thyMinWidth\">\n <colgroup>\n <col *ngFor=\"let column of columns\" [width]=\"column.width\" [style.minWidth]=\"hasFixed ? column.width : column.minWidth\" />\n </colgroup>\n\n <thead *ngIf=\"!thyHeadless\">\n <tr>\n <th\n *ngFor=\"let column of columns\"\n [ngClass]=\"column.headerClassName\"\n [class.thy-table-column-sortable]=\"column.sortable\"\n [class.thy-table-fixed-column-left]=\"column.fixed === fixedDirection.left\"\n [class.thy-table-fixed-column-right]=\"column.fixed === fixedDirection.right\"\n [style.left.px]=\"column.left\"\n [style.right.px]=\"column.right\"\n (click)=\"onColumnHeaderClick($event, column)\">\n <ng-container *ngIf=\"!column.headerTemplateRef\">\n <span>{{ column.title }}</span>\n </ng-container>\n <ng-container *ngIf=\"column.headerTemplateRef\">\n <ng-template [ngTemplateOutlet]=\"column.headerTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: column }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"column.sortable\">\n <thy-icon [ngClass]=\"['thy-table-column-sortable-icon', 'px-1', column.sortDirection]\" thyIconName=\"sort-vertical-tt\">\n </thy-icon>\n </ng-container>\n </th>\n </tr>\n </thead>\n\n <tbody\n *ngIf=\"loadingDone\"\n thyDragDrop\n cdkDropList\n [cdkDropListDisabled]=\"!draggable\"\n [cdkDropListSortPredicate]=\"dropListEnterPredicate\"\n (cdkDropListDropped)=\"onDragDropped($event)\">\n <!-- group -->\n <ng-container *ngIf=\"mode === 'group'\">\n <ng-container *ngFor=\"let group of groups\">\n <tr\n class=\"thy-table-group\"\n (click)=\"expandGroup(group)\"\n cdkDrag\n [cdkDragPreviewClass]=\"dragPreviewClass\"\n [cdkDragData]=\"group\"\n [cdkDragDisabled]=\"group | tableRowDragDisabled : thyDragDisabledPredicate\"\n (cdkDragStarted)=\"onDragGroupStarted($event)\"\n (cdkDragEnded)=\"onDragGroupEnd($event)\">\n <td [attr.colspan]=\"columns.length\">\n <div class=\"thy-table-group-container\">\n <ng-container *ngIf=\"draggable && !(group | tableRowDragDisabled : thyDragDisabledPredicate)\">\n <thy-icon class=\"table-draggable-icon\" thyIconName=\"drag\"></thy-icon>\n </ng-container>\n <thy-icon class=\"expand-icon\" [thyIconName]=\"group.expand ? 'angle-down' : 'angle-right'\"></thy-icon>\n <ng-container *ngIf=\"groupTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: group.origin, group: group.origin }\"></ng-template>\n </ng-container>\n </div>\n </td>\n </tr>\n <ng-container *ngIf=\"group.children?.length && group.expand\">\n <ng-container *ngFor=\"let row of group.children; trackBy: trackByFn; let i = index\">\n <ng-template\n [ngTemplateOutlet]=\"trTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: 0\n }\"></ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- list\u6A21\u5F0F\u4E0B\u6CA1\u6709\u76F4\u63A5\u4F7F\u7528item\u6A21\u677F\uFF0C\u662F\u56E0\u4E3A\u4F7F\u7528\u4E86\u6A21\u677F\u5F71\u54CD\u4E86Angular\u7684\u4F9D\u8D56\u6811\uFF0C\u5BFC\u81F4CdkDragDrop\u6392\u5E8F\u5931\u6548\uFF0C\u76EE\u524D\u8FD9\u6837\u4FEE\u6539\u53EF\u4EE5\u6682\u65F6\u89E3\u51B3\u7EBF\u4E0A\u4E0D\u80FD\u6392\u5E8F\u7684\u95EE\u9898\uFF0CTree\u6A21\u5F0F\u7684\u6392\u5E8F\u6682\u65F6\u4E0D\u652F\u6301 -->\n <ng-container *ngIf=\"mode === 'list'\">\n <tr\n #rows\n *ngFor=\"let row of model; trackBy: trackByFn; let i = index\"\n class=\"thy-sortable-item\"\n cdkDrag\n [cdkDragPreviewClass]=\"dragPreviewClass\"\n [cdkDragData]=\"row\"\n [cdkDragDisabled]=\"row | tableRowDragDisabled : thyDragDisabledPredicate\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n [ngClass]=\"renderRowClassName(row, i)\"\n (click)=\"onRowClick($event, row)\"\n (thyContextMenu)=\"onRowContextMenu($event, row)\">\n <ng-template\n [ngTemplateOutlet]=\"tdsTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: 0\n }\"></ng-template>\n </tr>\n </ng-container>\n\n <ng-container *ngIf=\"mode === 'tree'\">\n <ng-container *ngFor=\"let row of model; trackBy: trackByFn; let i = index\">\n <ng-template [ngTemplateOutlet]=\"trTemplate\" [ngTemplateOutletContext]=\"{ row: row, index: i, level: 0 }\"></ng-template>\n </ng-container>\n </ng-container>\n\n <ng-template #trTemplate let-row=\"row\" let-i=\"index\" let-level=\"level\">\n <tr\n #rows\n class=\"thy-sortable-item\"\n cdkDrag\n [cdkDragPreviewClass]=\"dragPreviewClass\"\n [cdkDragData]=\"row\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n [cdkDragDisabled]=\"row | tableRowDragDisabled : thyDragDisabledPredicate\"\n [ngClass]=\"renderRowClassName(row, i)\"\n (click)=\"onRowClick($event, row)\"\n (thyContextMenu)=\"onRowContextMenu($event, row)\">\n <ng-template\n [ngTemplateOutlet]=\"tdsTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: level + 1\n }\"></ng-template>\n </tr>\n\n <ng-container *ngIf=\"mode === 'tree' && isExpanded(row)\">\n <ng-template\n *ngFor=\"let child of row[thyChildrenKey]; trackBy: trackByFn; let j = index\"\n [ngTemplateOutlet]=\"trTemplate\"\n [ngTemplateOutletContext]=\"{ row: child, index: j, level: level + 1 }\"></ng-template>\n </ng-container>\n </ng-template>\n\n <ng-template #tdsTemplate let-row=\"row\" let-i=\"index\" let-level=\"level\">\n <td\n *ngFor=\"let column of columns; let j = index\"\n [ngClass]=\"column.className\"\n [class.thy-operation-links]=\"!!column.operational\"\n [class.thy-table-column-secondary]=\"!!column.secondary\"\n [class.thy-table-checkbox-column]=\"column.type === customType.checkbox\"\n [class.thy-table-fixed-column-left]=\"column.fixed === fixedDirection.left\"\n [class.thy-table-fixed-column-right]=\"column.fixed === fixedDirection.right\"\n [style.left.px]=\"column.left\"\n [style.right.px]=\"column.right\"\n [ngStyle]=\"mode === 'tree' && column.expand ? tdIndentComputed(level) : null\">\n <ng-container *ngIf=\"j === 0 && draggable && !(row | tableRowDragDisabled : thyDragDisabledPredicate)\">\n <thy-icon class=\"table-draggable-icon\" thyIconName=\"drag\"></thy-icon>\n </ng-container>\n\n <!--template-->\n <ng-container *ngIf=\"isTemplateRef(column.cellTemplateRef)\">\n <thy-icon\n class=\"tree-expand-icon cursor-pointer\"\n *ngIf=\"mode === 'tree' && column.expand\"\n [thyIconName]=\"isExpanded(row) ? 'angle-down' : 'angle-right'\"\n [style.visibility]=\"showExpand(row) ? 'visible' : 'hidden'\"\n [style.left.px]=\"iconIndentComputed(level)\"></thy-icon>\n <ng-template [ngTemplateOutlet]=\"column.cellTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: row }\"></ng-template>\n </ng-container>\n\n <!--not template-->\n <ng-container *ngIf=\"!isTemplateRef(column.cellTemplateRef)\">\n <!-- default -->\n <ng-container *ngIf=\"column.model && !column.type\">\n <thy-icon\n class=\"tree-expand-icon cursor-pointer\"\n *ngIf=\"mode === 'tree' && column.expand\"\n [thyIconName]=\"isExpanded(row) ? 'angle-down' : 'angle-right'\"\n [style.visibility]=\"showExpand(row) ? 'visible' : 'hidden'\"\n [style.marginLeft.px]=\"iconIndentComputed(level)\"></thy-icon>\n <ng-container *ngIf=\"getModelValue(row, column.model) | isValidModelValue; else default\">\n {{ getModelValue(row, column.model) }}\n </ng-container>\n <ng-template #default>\n <div *ngIf=\"column.defaultText\" class=\"text-desc\">\n {{ column.defaultText }}\n </div>\n </ng-template>\n </ng-container>\n\n <!-- index -->\n <ng-container *ngIf=\"column.type === customType.index\">\n {{ i + 1 }}\n </ng-container>\n\n <!-- checkbox -->\n <ng-container *ngIf=\"column.type === customType.checkbox\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"row[column.key]\"\n (ngModelChange)=\"onCheckboxChange(row, column)\"\n (click)=\"onStopPropagation($event)\"\n [disabled]=\"column.disabled\" />\n </ng-container>\n\n <!-- radio -->\n <ng-container *ngIf=\"column.type === customType.radio\">\n <input\n type=\"radio\"\n [(ngModel)]=\"selectedRadioRow\"\n [value]=\"row\"\n [disabled]=\"column.disabled\"\n (click)=\"onStopPropagation($event)\"\n (change)=\"onRadioSelectChange($event, row)\" />\n </ng-container>\n\n <!-- switch -->\n <ng-container *ngIf=\"column.type === customType.switch\">\n <thy-switch\n [(ngModel)]=\"row[column.key]\"\n (ngModelChange)=\"onModelChange(row, column)\"\n [disabled]=\"column.disabled\"\n (thyChange)=\"onSwitchChange($event, row, column)\"></thy-switch>\n </ng-container>\n </ng-container>\n </td>\n </ng-template>\n </tbody>\n </table>\n\n <div *ngIf=\"loadingDone && model.length === 0 && groups.length === 0\" class=\"thy-table-empty clear-hover\">\n <ng-container *ngIf=\"emptyTemplate; else defaultEmpty\">\n <ng-template [ngTemplateOutlet]=\"emptyTemplate\"></ng-template>\n </ng-container>\n <ng-template #defaultEmpty>\n <thy-empty\n [thyMessage]=\"emptyOptions.message\"\n [thyTranslationKey]=\"emptyOptions.translationKey\"\n [thyTranslationValues]=\"emptyOptions.translationValues\"\n [thyEntityName]=\"emptyOptions.entityName\"\n [thyEntityNameTranslateKey]=\"emptyOptions.entityNameTranslateKey\"\n [thyIconName]=\"emptyOptions.iconName\"\n [thySize]=\"emptyOptions.size\"\n [thyMarginTop]=\"emptyOptions.marginTop\"\n [thyTopAuto]=\"emptyOptions.topAuto\"\n [thyContainer]=\"emptyOptions.container\"></thy-empty>\n </ng-template>\n </div>\n\n <thy-table-skeleton\n *ngIf=\"!loadingDone\"\n [thyRowCount]=\"6\"\n [thyHeadless]=\"true\"\n [thyTheme]=\"theme\"\n [thySize]=\"size\"\n [thyMinWidth]=\"thyMinWidth\"\n [thyColumns]=\"skeletonColumns\">\n </thy-table-skeleton>\n\n <div class=\"thy-table-footer\" *ngIf=\"pagination.total > pagination.size\" [class.thy-table-footer-has-padding]=\"theme === 'default'\">\n <thy-pagination\n [thyPageIndex]=\"pagination.index\"\n [thyTotal]=\"pagination.total\"\n [thyPageSize]=\"pagination.size\"\n [thyPageSizeOptions]=\"pagination.sizeOptions\"\n [thyShowSizeChanger]=\"showSizeChanger\"\n [thyShowTotal]=\"showTotal\"\n (thyPageChanged)=\"onPageChange($event)\"\n (thyPageIndexChange)=\"onPageIndexChange($event)\"\n (thyPageSizeChanged)=\"onPageSizeChange($event)\"></thy-pagination>\n </div>\n</div>\n\n<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
1257
+ ], template: "<div\n class=\"thy-table-body\"\n cdkScrollable\n [ngClass]=\"{ 'thy-table-fixed': hasFixed, 'thy-table-bordered-theme': theme === 'bordered' && hasFixed }\">\n <table\n #table\n class=\"table\"\n [ngClass]=\"[className]\"\n [class.table-fixed]=\"thyLayoutFixed\"\n [class.table-draggable]=\"draggable\"\n [class.table-group]=\"mode === 'group'\"\n [ngStyle]=\"{ 'min-width': thyMinWidth }\">\n <colgroup>\n <col *ngFor=\"let column of columns\" [width]=\"column.width\" [ngStyle]=\"{ minWidth: hasFixed ? column.width : column.minWidth }\" />\n </colgroup>\n\n <thead *ngIf=\"!thyHeadless\">\n <tr>\n <th\n *ngFor=\"let column of columns\"\n [ngClass]=\"column.headerClassName\"\n [class.thy-table-column-sortable]=\"column.sortable\"\n [class.thy-table-fixed-column-left]=\"column.fixed === fixedDirection.left\"\n [class.thy-table-fixed-column-right]=\"column.fixed === fixedDirection.right\"\n [ngStyle]=\"{ left: column.left + 'px', right: column.right + 'px' }\"\n (click)=\"onColumnHeaderClick($event, column)\">\n <ng-container *ngIf=\"!column.headerTemplateRef\">\n <span>{{ column.title }}</span>\n </ng-container>\n <ng-container *ngIf=\"column.headerTemplateRef\">\n <ng-template [ngTemplateOutlet]=\"column.headerTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: column }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"column.sortable\">\n <thy-icon [ngClass]=\"['thy-table-column-sortable-icon', 'px-1', column.sortDirection]\" thyIconName=\"sort-vertical-tt\">\n </thy-icon>\n </ng-container>\n </th>\n </tr>\n </thead>\n\n <tbody\n *ngIf=\"loadingDone\"\n thyDragDrop\n cdkDropList\n [cdkDropListDisabled]=\"!draggable\"\n [cdkDropListSortPredicate]=\"dropListEnterPredicate\"\n (cdkDropListDropped)=\"onDragDropped($event)\">\n <!-- group -->\n <ng-container *ngIf=\"mode === 'group'\">\n <ng-container *ngFor=\"let group of groups\">\n <tr\n class=\"thy-table-group\"\n (click)=\"expandGroup(group)\"\n cdkDrag\n [cdkDragPreviewClass]=\"dragPreviewClass\"\n [cdkDragData]=\"group\"\n [cdkDragDisabled]=\"group | tableRowDragDisabled : thyDragDisabledPredicate\"\n (cdkDragStarted)=\"onDragGroupStarted($event)\"\n (cdkDragEnded)=\"onDragGroupEnd($event)\">\n <td [attr.colspan]=\"columns.length\">\n <div class=\"thy-table-group-container\">\n <ng-container *ngIf=\"draggable && !(group | tableRowDragDisabled : thyDragDisabledPredicate)\">\n <thy-icon class=\"table-draggable-icon\" thyIconName=\"drag\"></thy-icon>\n </ng-container>\n <thy-icon class=\"expand-icon\" [thyIconName]=\"group.expand ? 'angle-down' : 'angle-right'\"></thy-icon>\n <ng-container *ngIf=\"groupTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: group.origin, group: group.origin }\"></ng-template>\n </ng-container>\n </div>\n </td>\n </tr>\n <ng-container *ngIf=\"group.children?.length && group.expand\">\n <ng-container *ngFor=\"let row of group.children; trackBy: trackByFn; let i = index\">\n <ng-template\n [ngTemplateOutlet]=\"trTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: 0\n }\"></ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- list\u6A21\u5F0F\u4E0B\u6CA1\u6709\u76F4\u63A5\u4F7F\u7528item\u6A21\u677F\uFF0C\u662F\u56E0\u4E3A\u4F7F\u7528\u4E86\u6A21\u677F\u5F71\u54CD\u4E86Angular\u7684\u4F9D\u8D56\u6811\uFF0C\u5BFC\u81F4CdkDragDrop\u6392\u5E8F\u5931\u6548\uFF0C\u76EE\u524D\u8FD9\u6837\u4FEE\u6539\u53EF\u4EE5\u6682\u65F6\u89E3\u51B3\u7EBF\u4E0A\u4E0D\u80FD\u6392\u5E8F\u7684\u95EE\u9898\uFF0CTree\u6A21\u5F0F\u7684\u6392\u5E8F\u6682\u65F6\u4E0D\u652F\u6301 -->\n <ng-container *ngIf=\"mode === 'list'\">\n <tr\n #rows\n *ngFor=\"let row of model; trackBy: trackByFn; let i = index\"\n class=\"thy-sortable-item\"\n cdkDrag\n [cdkDragPreviewClass]=\"dragPreviewClass\"\n [cdkDragData]=\"row\"\n [cdkDragDisabled]=\"row | tableRowDragDisabled : thyDragDisabledPredicate\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n [ngClass]=\"renderRowClassName(row, i)\"\n (click)=\"onRowClick($event, row)\"\n (thyContextMenu)=\"onRowContextMenu($event, row)\">\n <ng-template\n [ngTemplateOutlet]=\"tdsTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: 0\n }\"></ng-template>\n </tr>\n </ng-container>\n\n <ng-container *ngIf=\"mode === 'tree'\">\n <ng-container *ngFor=\"let row of model; trackBy: trackByFn; let i = index\">\n <ng-template [ngTemplateOutlet]=\"trTemplate\" [ngTemplateOutletContext]=\"{ row: row, index: i, level: 0 }\"></ng-template>\n </ng-container>\n </ng-container>\n\n <ng-template #trTemplate let-row=\"row\" let-i=\"index\" let-level=\"level\">\n <tr\n #rows\n class=\"thy-sortable-item\"\n cdkDrag\n [cdkDragPreviewClass]=\"dragPreviewClass\"\n [cdkDragData]=\"row\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n [cdkDragDisabled]=\"row | tableRowDragDisabled : thyDragDisabledPredicate\"\n [ngClass]=\"renderRowClassName(row, i)\"\n (click)=\"onRowClick($event, row)\"\n (thyContextMenu)=\"onRowContextMenu($event, row)\">\n <ng-template\n [ngTemplateOutlet]=\"tdsTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: level + 1\n }\"></ng-template>\n </tr>\n\n <ng-container *ngIf=\"mode === 'tree' && isExpanded(row)\">\n <ng-template\n *ngFor=\"let child of row[thyChildrenKey]; trackBy: trackByFn; let j = index\"\n [ngTemplateOutlet]=\"trTemplate\"\n [ngTemplateOutletContext]=\"{ row: child, index: j, level: level + 1 }\"></ng-template>\n </ng-container>\n </ng-template>\n\n <ng-template #tdsTemplate let-row=\"row\" let-i=\"index\" let-level=\"level\">\n <td\n *ngFor=\"let column of columns; let j = index\"\n [ngClass]=\"column.className\"\n [class.thy-operation-links]=\"!!column.operational\"\n [class.thy-table-column-secondary]=\"!!column.secondary\"\n [class.thy-table-checkbox-column]=\"column.type === customType.checkbox\"\n [class.thy-table-fixed-column-left]=\"column.fixed === fixedDirection.left\"\n [class.thy-table-fixed-column-right]=\"column.fixed === fixedDirection.right\"\n [ngStyle]=\"\n mode === 'tree' && column.expand ? tdIndentComputed(level, column) : { left: column.left + 'px', right: column.right + 'px' }\n \">\n <ng-container *ngIf=\"j === 0 && draggable && !(row | tableRowDragDisabled : thyDragDisabledPredicate)\">\n <thy-icon class=\"table-draggable-icon\" thyIconName=\"drag\"></thy-icon>\n </ng-container>\n\n <!--template-->\n <ng-container *ngIf=\"isTemplateRef(column.cellTemplateRef)\">\n <thy-icon\n class=\"tree-expand-icon cursor-pointer\"\n *ngIf=\"mode === 'tree' && column.expand\"\n [thyIconName]=\"isExpanded(row) ? 'angle-down' : 'angle-right'\"\n [style.visibility]=\"showExpand(row) ? 'visible' : 'hidden'\"\n [style.left.px]=\"iconIndentComputed(level)\"></thy-icon>\n <ng-template [ngTemplateOutlet]=\"column.cellTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: row }\"></ng-template>\n </ng-container>\n\n <!--not template-->\n <ng-container *ngIf=\"!isTemplateRef(column.cellTemplateRef)\">\n <!-- default -->\n <ng-container *ngIf=\"column.model && !column.type\">\n <thy-icon\n class=\"tree-expand-icon cursor-pointer\"\n *ngIf=\"mode === 'tree' && column.expand\"\n [thyIconName]=\"isExpanded(row) ? 'angle-down' : 'angle-right'\"\n [style.visibility]=\"showExpand(row) ? 'visible' : 'hidden'\"\n [style.marginLeft.px]=\"iconIndentComputed(level)\"></thy-icon>\n <ng-container *ngIf=\"getModelValue(row, column.model) | isValidModelValue; else default\">\n {{ getModelValue(row, column.model) }}\n </ng-container>\n <ng-template #default>\n <div *ngIf=\"column.defaultText\" class=\"text-desc\">\n {{ column.defaultText }}\n </div>\n </ng-template>\n </ng-container>\n\n <!-- index -->\n <ng-container *ngIf=\"column.type === customType.index\">\n {{ i + 1 }}\n </ng-container>\n\n <!-- checkbox -->\n <ng-container *ngIf=\"column.type === customType.checkbox\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"row[column.key]\"\n (ngModelChange)=\"onCheckboxChange(row, column)\"\n (click)=\"onStopPropagation($event)\"\n [disabled]=\"column.disabled\" />\n </ng-container>\n\n <!-- radio -->\n <ng-container *ngIf=\"column.type === customType.radio\">\n <input\n type=\"radio\"\n [(ngModel)]=\"selectedRadioRow\"\n [value]=\"row\"\n [disabled]=\"column.disabled\"\n (click)=\"onStopPropagation($event)\"\n (change)=\"onRadioSelectChange($event, row)\" />\n </ng-container>\n\n <!-- switch -->\n <ng-container *ngIf=\"column.type === customType.switch\">\n <thy-switch\n [(ngModel)]=\"row[column.key]\"\n (ngModelChange)=\"onModelChange(row, column)\"\n [disabled]=\"column.disabled\"\n (thyChange)=\"onSwitchChange($event, row, column)\"></thy-switch>\n </ng-container>\n </ng-container>\n </td>\n </ng-template>\n </tbody>\n </table>\n\n <div *ngIf=\"loadingDone && model.length === 0 && groups.length === 0\" class=\"thy-table-empty clear-hover\">\n <ng-container *ngIf=\"emptyTemplate; else defaultEmpty\">\n <ng-template [ngTemplateOutlet]=\"emptyTemplate\"></ng-template>\n </ng-container>\n <ng-template #defaultEmpty>\n <thy-empty\n [thyMessage]=\"emptyOptions.message\"\n [thyTranslationKey]=\"emptyOptions.translationKey\"\n [thyTranslationValues]=\"emptyOptions.translationValues\"\n [thyEntityName]=\"emptyOptions.entityName\"\n [thyEntityNameTranslateKey]=\"emptyOptions.entityNameTranslateKey\"\n [thyIconName]=\"emptyOptions.iconName\"\n [thySize]=\"emptyOptions.size\"\n [thyMarginTop]=\"emptyOptions.marginTop\"\n [thyTopAuto]=\"emptyOptions.topAuto\"\n [thyContainer]=\"emptyOptions.container\"></thy-empty>\n </ng-template>\n </div>\n\n <thy-table-skeleton\n *ngIf=\"!loadingDone\"\n [thyRowCount]=\"6\"\n [thyHeadless]=\"true\"\n [thyTheme]=\"theme\"\n [thySize]=\"size\"\n [thyMinWidth]=\"thyMinWidth\"\n [thyColumns]=\"skeletonColumns\">\n </thy-table-skeleton>\n\n <div class=\"thy-table-footer\" *ngIf=\"pagination.total > pagination.size\" [class.thy-table-footer-has-padding]=\"theme === 'default'\">\n <thy-pagination\n [thyPageIndex]=\"pagination.index\"\n [thyTotal]=\"pagination.total\"\n [thyPageSize]=\"pagination.size\"\n [thyPageSizeOptions]=\"pagination.sizeOptions\"\n [thyShowSizeChanger]=\"showSizeChanger\"\n [thyShowTotal]=\"showTotal\"\n (thyPageChanged)=\"onPageChange($event)\"\n (thyPageIndexChange)=\"onPageIndexChange($event)\"\n (thyPageSizeChanged)=\"onPageSizeChange($event)\"></thy-pagination>\n </div>\n</div>\n\n<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
1256
1258
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.IterableDiffers }, { type: i1.ViewportRuler }, { type: i2.UpdateHostClassService }, { type: undefined, decorators: [{
1257
1259
  type: Inject,
1258
1260
  args: [DOCUMENT]
@@ -1286,10 +1288,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
1286
1288
  type: Input
1287
1289
  }], thyLayoutFixed: [{
1288
1290
  type: Input,
1289
- args: [{ transform: booleanAttribute }]
1291
+ args: [{ transform: coerceBooleanProperty }]
1290
1292
  }], thyHeaderFixed: [{
1291
1293
  type: Input,
1292
- args: [{ transform: booleanAttribute }]
1294
+ args: [{ transform: coerceBooleanProperty }]
1293
1295
  }], thyHeight: [{
1294
1296
  type: HostBinding,
1295
1297
  args: ['style.height']
@@ -1301,14 +1303,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
1301
1303
  type: Input
1302
1304
  }], thyLoadingDone: [{
1303
1305
  type: Input,
1304
- args: [{ transform: booleanAttribute }]
1306
+ args: [{ transform: coerceBooleanProperty }]
1305
1307
  }], thyLoadingText: [{
1306
1308
  type: Input
1307
1309
  }], thyEmptyOptions: [{
1308
1310
  type: Input
1309
1311
  }], thyDraggable: [{
1310
1312
  type: Input,
1311
- args: [{ transform: booleanAttribute }]
1313
+ args: [{ transform: coerceBooleanProperty }]
1312
1314
  }], thyPageIndex: [{
1313
1315
  type: Input,
1314
1316
  args: [{ transform: numberAttribute }]
@@ -1320,19 +1322,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
1320
1322
  args: [{ transform: numberAttribute }]
1321
1323
  }], thyWholeRowSelect: [{
1322
1324
  type: Input,
1323
- args: [{ transform: booleanAttribute }]
1325
+ args: [{ transform: coerceBooleanProperty }]
1324
1326
  }], thyHeadless: [{
1325
1327
  type: Input,
1326
- args: [{ transform: booleanAttribute }]
1328
+ args: [{ transform: coerceBooleanProperty }]
1327
1329
  }], thyShowHeader: [{
1328
1330
  type: Input,
1329
- args: [{ transform: booleanAttribute }]
1331
+ args: [{ transform: coerceBooleanProperty }]
1330
1332
  }], showTotal: [{
1331
1333
  type: Input,
1332
- args: [{ alias: 'thyShowTotal', transform: booleanAttribute }]
1334
+ args: [{ alias: 'thyShowTotal', transform: coerceBooleanProperty }]
1333
1335
  }], showSizeChanger: [{
1334
1336
  type: Input,
1335
- args: [{ alias: 'thyShowSizeChanger', transform: booleanAttribute }]
1337
+ args: [{ alias: 'thyShowSizeChanger', transform: coerceBooleanProperty }]
1336
1338
  }], pageSizeOptions: [{
1337
1339
  type: Input,
1338
1340
  args: ['thyPageSizeOptions']
@@ -1346,7 +1348,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
1346
1348
  args: ['class.thy-table-hover-display-operation']
1347
1349
  }, {
1348
1350
  type: Input,
1349
- args: [{ transform: booleanAttribute }]
1351
+ args: [{ transform: coerceBooleanProperty }]
1350
1352
  }], thyDragDisabledPredicate: [{
1351
1353
  type: Input
1352
1354
  }], thyColumnSkeletonTypes: [{