ngx-tethys 18.0.8 → 18.1.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/CHANGELOG.md +10 -1
  2. package/alert/alert.component.d.ts +11 -19
  3. package/anchor/anchor.component.d.ts +1 -3
  4. package/badge/badge.component.d.ts +12 -3
  5. package/date-picker/index.d.ts +26 -27
  6. package/date-picker/lib/date/date-table-cell.component.d.ts +1 -1
  7. package/date-picker/lib/popups/date-popup.component.d.ts +0 -1
  8. package/date-picker/lib/popups/inner-popup.component.d.ts +2 -1
  9. package/date-range/date-range.component.d.ts +2 -8
  10. package/divider/divider.component.d.ts +8 -2
  11. package/esm2022/action/action.component.mjs +3 -4
  12. package/esm2022/alert/alert.component.mjs +55 -81
  13. package/esm2022/anchor/anchor-link.component.mjs +15 -7
  14. package/esm2022/anchor/anchor.component.mjs +17 -9
  15. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +4 -5
  16. package/esm2022/autocomplete/autocomplete.component.mjs +5 -5
  17. package/esm2022/avatar/avatar-list/avatar-list.component.mjs +4 -4
  18. package/esm2022/avatar/avatar.component.mjs +4 -4
  19. package/esm2022/back-top/back-top.component.mjs +4 -4
  20. package/esm2022/badge/badge.component.mjs +3 -4
  21. package/esm2022/breadcrumb/breadcrumb.component.mjs +4 -6
  22. package/esm2022/button/button-icon.component.mjs +4 -4
  23. package/esm2022/button/button.component.mjs +4 -4
  24. package/esm2022/calendar/calendar-header.component.mjs +4 -4
  25. package/esm2022/calendar/calendar.component.mjs +3 -4
  26. package/esm2022/card/header.component.mjs +4 -4
  27. package/esm2022/carousel/carousel.component.mjs +4 -4
  28. package/esm2022/cascader/cascader-li.component.mjs +4 -4
  29. package/esm2022/cascader/cascader-search-option.component.mjs +4 -4
  30. package/esm2022/cascader/cascader.component.mjs +5 -7
  31. package/esm2022/checkbox/checkbox.component.mjs +5 -5
  32. package/esm2022/collapse/collapse-item.component.mjs +4 -4
  33. package/esm2022/color-picker/color-picker-panel.component.mjs +4 -4
  34. package/esm2022/comment/comment.component.mjs +4 -4
  35. package/esm2022/date-picker/date-picker.component.mjs +5 -6
  36. package/esm2022/date-picker/index.mjs +27 -28
  37. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +3 -4
  38. package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
  39. package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +4 -4
  40. package/esm2022/date-picker/lib/date/date-table.component.mjs +4 -4
  41. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +5 -5
  42. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
  43. package/esm2022/date-picker/lib/decade/decade-table.component.mjs +4 -4
  44. package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
  45. package/esm2022/date-picker/lib/month/month-table.component.mjs +4 -4
  46. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +4 -18
  47. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +3 -8
  48. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +4 -4
  49. package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
  50. package/esm2022/date-picker/lib/year/year-table.component.mjs +4 -4
  51. package/esm2022/date-picker/month-picker.component.mjs +4 -5
  52. package/esm2022/date-picker/picker.component.mjs +4 -14
  53. package/esm2022/date-picker/quarter-picker.component.mjs +4 -5
  54. package/esm2022/date-picker/range-picker.component.mjs +4 -5
  55. package/esm2022/date-picker/week-picker.component.mjs +4 -5
  56. package/esm2022/date-picker/year-picker.component.mjs +4 -5
  57. package/esm2022/date-range/date-range.component.mjs +4 -4
  58. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +3 -6
  59. package/esm2022/dialog/footer/dialog-footer.component.mjs +4 -4
  60. package/esm2022/dialog/header/dialog-header.component.mjs +4 -4
  61. package/esm2022/divider/divider.component.mjs +21 -13
  62. package/esm2022/dropdown/dropdown-menu.component.mjs +11 -7
  63. package/esm2022/empty/empty.component.mjs +4 -4
  64. package/esm2022/form/form-group-error/form-group-error.component.mjs +4 -4
  65. package/esm2022/form/form-group.component.mjs +4 -4
  66. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +4 -4
  67. package/esm2022/guider/guider-hint/guider-hint.component.mjs +4 -4
  68. package/esm2022/image/preview/image-preview.component.mjs +3 -4
  69. package/esm2022/input/input-group.component.mjs +4 -4
  70. package/esm2022/input/input-search.component.mjs +3 -4
  71. package/esm2022/input/input.component.mjs +4 -4
  72. package/esm2022/layout/header.component.mjs +4 -4
  73. package/esm2022/layout/sidebar-header.component.mjs +4 -4
  74. package/esm2022/layout/sidebar.component.mjs +81 -71
  75. package/esm2022/list/list-item-meta.component.mjs +4 -4
  76. package/esm2022/loading/loading.component.mjs +3 -4
  77. package/esm2022/mention/suggestions/suggestions.component.mjs +4 -4
  78. package/esm2022/menu/group/menu-group.component.mjs +4 -4
  79. package/esm2022/menu/item/menu-item.component.mjs +3 -4
  80. package/esm2022/message/message-container.component.mjs +13 -5
  81. package/esm2022/message/message.component.mjs +3 -4
  82. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +4 -5
  83. package/esm2022/nav/nav.component.mjs +4 -6
  84. package/esm2022/notify/notify-container.component.mjs +4 -4
  85. package/esm2022/notify/notify.component.mjs +4 -4
  86. package/esm2022/pagination/pagination.component.mjs +4 -4
  87. package/esm2022/popover/header/popover-header.component.mjs +4 -4
  88. package/esm2022/progress/progress-circle.component.mjs +4 -7
  89. package/esm2022/progress/progress.component.mjs +5 -8
  90. package/esm2022/property/property-item.component.mjs +4 -4
  91. package/esm2022/property-operation/property-operation.component.mjs +4 -4
  92. package/esm2022/radio/radio.component.mjs +5 -5
  93. package/esm2022/rate/rate.component.mjs +5 -5
  94. package/esm2022/resizable/resize-handle.component.mjs +10 -7
  95. package/esm2022/resizable/resize-handles.component.mjs +12 -5
  96. package/esm2022/result/result.component.mjs +4 -4
  97. package/esm2022/segment/segment-item.component.mjs +4 -4
  98. package/esm2022/segment/segment.component.mjs +4 -5
  99. package/esm2022/select/custom-select/custom-select.component.mjs +6 -8
  100. package/esm2022/select/native-select/native-select.component.mjs +5 -6
  101. package/esm2022/shared/option/list-option/list-option.component.mjs +3 -4
  102. package/esm2022/shared/option/option.component.mjs +3 -4
  103. package/esm2022/shared/select/select-control/select-control.component.mjs +5 -5
  104. package/esm2022/skeleton/stylized/bullet-list.component.mjs +8 -9
  105. package/esm2022/skeleton/stylized/list.component.mjs +8 -9
  106. package/esm2022/skeleton/stylized/paragraph.component.mjs +8 -9
  107. package/esm2022/slide/slide-header/slide-header.component.mjs +4 -4
  108. package/esm2022/space/space.component.mjs +4 -4
  109. package/esm2022/statistic/statistic.component.mjs +4 -4
  110. package/esm2022/stepper/stepper.component.mjs +5 -5
  111. package/esm2022/switch/switch.component.mjs +6 -6
  112. package/esm2022/table/table-skeleton.component.mjs +4 -7
  113. package/esm2022/table/table.component.mjs +5 -7
  114. package/esm2022/tabs/tab-content.component.mjs +9 -9
  115. package/esm2022/tabs/tabs.component.mjs +4 -7
  116. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +3 -4
  117. package/esm2022/time-picker/time-picker-panel.component.mjs +5 -8
  118. package/esm2022/time-picker/time-picker.component.mjs +5 -15
  119. package/esm2022/timeline/timeline-item.component.mjs +4 -4
  120. package/esm2022/timeline/timeline.component.mjs +9 -9
  121. package/esm2022/tooltip/tooltip.component.mjs +4 -4
  122. package/esm2022/transfer/transfer-list.component.mjs +4 -4
  123. package/esm2022/transfer/transfer.component.mjs +4 -4
  124. package/esm2022/tree/tree-node.component.mjs +4 -4
  125. package/esm2022/tree/tree.component.mjs +5 -7
  126. package/esm2022/tree-select/tree-select.component.mjs +7 -10
  127. package/esm2022/typography/text/text.component.mjs +3 -4
  128. package/esm2022/version.mjs +2 -2
  129. package/esm2022/vote/vote.component.mjs +4 -4
  130. package/fesm2022/ngx-tethys-action.mjs +3 -3
  131. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  132. package/fesm2022/ngx-tethys-alert.mjs +54 -80
  133. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  134. package/fesm2022/ngx-tethys-anchor.mjs +29 -13
  135. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  136. package/fesm2022/ngx-tethys-arrow-switcher.mjs +4 -4
  137. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  138. package/fesm2022/ngx-tethys-autocomplete.mjs +4 -4
  139. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  140. package/fesm2022/ngx-tethys-avatar.mjs +5 -5
  141. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  142. package/fesm2022/ngx-tethys-back-top.mjs +3 -3
  143. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  144. package/fesm2022/ngx-tethys-badge.mjs +3 -3
  145. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  146. package/fesm2022/ngx-tethys-breadcrumb.mjs +3 -5
  147. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  148. package/fesm2022/ngx-tethys-button.mjs +5 -5
  149. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  150. package/fesm2022/ngx-tethys-calendar.mjs +5 -5
  151. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  152. package/fesm2022/ngx-tethys-card.mjs +3 -3
  153. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  154. package/fesm2022/ngx-tethys-carousel.mjs +3 -3
  155. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  156. package/fesm2022/ngx-tethys-cascader.mjs +8 -10
  157. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  158. package/fesm2022/ngx-tethys-checkbox.mjs +4 -4
  159. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  160. package/fesm2022/ngx-tethys-collapse.mjs +3 -3
  161. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  162. package/fesm2022/ngx-tethys-color-picker.mjs +3 -3
  163. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  164. package/fesm2022/ngx-tethys-comment.mjs +3 -3
  165. package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
  166. package/fesm2022/ngx-tethys-date-picker.mjs +2428 -2456
  167. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  168. package/fesm2022/ngx-tethys-date-range.mjs +5 -7
  169. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  170. package/fesm2022/ngx-tethys-dialog.mjs +5 -5
  171. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  172. package/fesm2022/ngx-tethys-divider.mjs +20 -12
  173. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  174. package/fesm2022/ngx-tethys-dropdown.mjs +10 -6
  175. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  176. package/fesm2022/ngx-tethys-empty.mjs +3 -3
  177. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  178. package/fesm2022/ngx-tethys-form.mjs +7 -7
  179. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  180. package/fesm2022/ngx-tethys-guider.mjs +3 -3
  181. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  182. package/fesm2022/ngx-tethys-image.mjs +3 -3
  183. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  184. package/fesm2022/ngx-tethys-input.mjs +7 -7
  185. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  186. package/fesm2022/ngx-tethys-layout.mjs +84 -74
  187. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  188. package/fesm2022/ngx-tethys-list.mjs +3 -3
  189. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  190. package/fesm2022/ngx-tethys-loading.mjs +3 -3
  191. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  192. package/fesm2022/ngx-tethys-mention.mjs +3 -3
  193. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  194. package/fesm2022/ngx-tethys-menu.mjs +5 -5
  195. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  196. package/fesm2022/ngx-tethys-message.mjs +14 -6
  197. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  198. package/fesm2022/ngx-tethys-nav.mjs +6 -8
  199. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  200. package/fesm2022/ngx-tethys-notify.mjs +5 -5
  201. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  202. package/fesm2022/ngx-tethys-pagination.mjs +3 -3
  203. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  204. package/fesm2022/ngx-tethys-popover.mjs +3 -3
  205. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  206. package/fesm2022/ngx-tethys-progress.mjs +6 -12
  207. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  208. package/fesm2022/ngx-tethys-property-operation.mjs +3 -3
  209. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  210. package/fesm2022/ngx-tethys-property.mjs +3 -3
  211. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  212. package/fesm2022/ngx-tethys-radio.mjs +4 -4
  213. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  214. package/fesm2022/ngx-tethys-rate.mjs +4 -4
  215. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  216. package/fesm2022/ngx-tethys-resizable.mjs +21 -9
  217. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  218. package/fesm2022/ngx-tethys-result.mjs +3 -3
  219. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  220. package/fesm2022/ngx-tethys-segment.mjs +6 -6
  221. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  222. package/fesm2022/ngx-tethys-select.mjs +9 -11
  223. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  224. package/fesm2022/ngx-tethys-shared.mjs +8 -8
  225. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  226. package/fesm2022/ngx-tethys-skeleton.mjs +22 -22
  227. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  228. package/fesm2022/ngx-tethys-slide.mjs +3 -3
  229. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  230. package/fesm2022/ngx-tethys-space.mjs +3 -3
  231. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  232. package/fesm2022/ngx-tethys-statistic.mjs +3 -3
  233. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  234. package/fesm2022/ngx-tethys-stepper.mjs +4 -4
  235. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  236. package/fesm2022/ngx-tethys-switch.mjs +5 -5
  237. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  238. package/fesm2022/ngx-tethys-table.mjs +6 -11
  239. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  240. package/fesm2022/ngx-tethys-tabs.mjs +10 -13
  241. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  242. package/fesm2022/ngx-tethys-time-picker.mjs +9 -22
  243. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  244. package/fesm2022/ngx-tethys-timeline.mjs +10 -10
  245. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  246. package/fesm2022/ngx-tethys-tooltip.mjs +3 -3
  247. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  248. package/fesm2022/ngx-tethys-transfer.mjs +5 -5
  249. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  250. package/fesm2022/ngx-tethys-tree-select.mjs +6 -9
  251. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  252. package/fesm2022/ngx-tethys-tree.mjs +6 -8
  253. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  254. package/fesm2022/ngx-tethys-typography.mjs +3 -3
  255. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  256. package/fesm2022/ngx-tethys-vote.mjs +3 -3
  257. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  258. package/fesm2022/ngx-tethys.mjs +1 -1
  259. package/fesm2022/ngx-tethys.mjs.map +1 -1
  260. package/menu/group/menu-group.component.d.ts +42 -6
  261. package/package.json +1 -1
  262. package/pagination/pagination.component.d.ts +15 -5
  263. package/progress/progress-circle.component.d.ts +0 -1
  264. package/progress/progress.component.d.ts +0 -1
  265. package/property/property-item.component.d.ts +1 -4
  266. package/resizable/resize-handle.component.d.ts +1 -4
  267. package/schematics/version.d.ts +1 -1
  268. package/schematics/version.js +1 -1
  269. package/segment/segment.component.d.ts +1 -5
  270. package/shared/option/list-option/list-option.component.d.ts +5 -1
  271. package/skeleton/stylized/bullet-list.component.d.ts +9 -1
  272. package/table/table-skeleton.component.d.ts +10 -3
  273. package/tabs/tabs.component.d.ts +0 -1
  274. package/time-picker/time-picker-panel.component.d.ts +0 -1
  275. package/tree/tree-node.component.d.ts +10 -10
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ViewChild, Input, Output, NgModule } from '@angular/core';
3
- import { NgClass, NgIf, CommonModule } from '@angular/common';
3
+ import { NgClass, CommonModule } from '@angular/common';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
5
  import { TabIndexDisabledControlValueAccessorMixin } from 'ngx-tethys/core';
6
6
  import { coerceBooleanProperty } from 'ngx-tethys/util';
@@ -142,13 +142,13 @@ class ThySwitch extends TabIndexDisabledControlValueAccessorMixin {
142
142
  this.cdr.markForCheck();
143
143
  }
144
144
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySwitch, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
145
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.0", type: ThySwitch, isStandalone: true, selector: "thy-switch", inputs: { thyType: "thyType", thySize: "thySize", thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty], thyLoading: ["thyLoading", "thyLoading", coerceBooleanProperty] }, outputs: { thyChange: "thyChange" }, host: { properties: { "class.thy-switch-xs": "size === \"xs\"", "class.thy-switch-sm": "size === \"sm\"" }, classAttribute: "thy-switch" }, providers: [
145
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThySwitch, isStandalone: true, selector: "thy-switch", inputs: { thyType: "thyType", thySize: "thySize", thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty], thyLoading: ["thyLoading", "thyLoading", coerceBooleanProperty] }, outputs: { thyChange: "thyChange" }, host: { properties: { "class.thy-switch-xs": "size === \"xs\"", "class.thy-switch-sm": "size === \"sm\"" }, classAttribute: "thy-switch" }, providers: [
146
146
  {
147
147
  provide: NG_VALUE_ACCESSOR,
148
148
  useExisting: forwardRef(() => ThySwitch),
149
149
  multi: true
150
150
  }
151
- ], viewQueries: [{ propertyName: "switchElementRef", first: true, predicate: ["switch"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<label #switch class=\"thy-switch\" [ngClass]=\"classNames\">\n <input\n type=\"checkbox\"\n [attr.tabindex]=\"-1\"\n [disabled]=\"disabled || loading\"\n class=\"thy-switch-input\"\n [checked]=\"model\"\n (change)=\"toggle($event)\" />\n <span class=\"thy-switch-label\" [attr.tabindex]=\"tabIndex\"></span>\n <span class=\"thy-switch-handle\">\n <ng-container *ngIf=\"loading\">\n <svg [attr.viewBox]=\"loadingCircle?.viewBox\" [class.mb-1]=\"size === 'xs'\">\n <circle\n class=\"thy-switch-loading\"\n [style.transform-origin]=\"loadingCircle?.cx + 'px ' + loadingCircle?.cy + 'px'\"\n [attr.cx]=\"loadingCircle?.cx\"\n [attr.cy]=\"loadingCircle?.cy\"\n [attr.r]=\"loadingCircle?.r\"\n [attr.stroke]=\"model ? 'rgba(102,152,255,1)' : 'rgba(202,202,202,1)'\"\n stroke-width=\"1\"\n [attr.stroke-dasharray]=\"loadingCircle?.dasharray\"\n fill=\"white\" />\n </svg>\n </ng-container>\n </span>\n</label>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
151
+ ], viewQueries: [{ propertyName: "switchElementRef", first: true, predicate: ["switch"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<label #switch class=\"thy-switch\" [ngClass]=\"classNames\">\n <input\n type=\"checkbox\"\n [attr.tabindex]=\"-1\"\n [disabled]=\"disabled || loading\"\n class=\"thy-switch-input\"\n [checked]=\"model\"\n (change)=\"toggle($event)\" />\n <span class=\"thy-switch-label\" [attr.tabindex]=\"tabIndex\"></span>\n <span class=\"thy-switch-handle\">\n @if (loading) {\n <svg [attr.viewBox]=\"loadingCircle?.viewBox\" [class.mb-1]=\"size === 'xs'\">\n <circle\n class=\"thy-switch-loading\"\n [style.transform-origin]=\"loadingCircle?.cx + 'px ' + loadingCircle?.cy + 'px'\"\n [attr.cx]=\"loadingCircle?.cx\"\n [attr.cy]=\"loadingCircle?.cy\"\n [attr.r]=\"loadingCircle?.r\"\n [attr.stroke]=\"model ? 'rgba(102,152,255,1)' : 'rgba(202,202,202,1)'\"\n stroke-width=\"1\"\n [attr.stroke-dasharray]=\"loadingCircle?.dasharray\"\n fill=\"white\" />\n </svg>\n }\n </span>\n</label>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
152
152
  }
153
153
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySwitch, decorators: [{
154
154
  type: Component,
@@ -158,11 +158,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
158
158
  useExisting: forwardRef(() => ThySwitch),
159
159
  multi: true
160
160
  }
161
- ], standalone: true, imports: [NgClass, NgIf], host: {
161
+ ], standalone: true, imports: [NgClass], host: {
162
162
  class: 'thy-switch',
163
163
  '[class.thy-switch-xs]': 'size === "xs"',
164
164
  '[class.thy-switch-sm]': 'size === "sm"'
165
- }, template: "<label #switch class=\"thy-switch\" [ngClass]=\"classNames\">\n <input\n type=\"checkbox\"\n [attr.tabindex]=\"-1\"\n [disabled]=\"disabled || loading\"\n class=\"thy-switch-input\"\n [checked]=\"model\"\n (change)=\"toggle($event)\" />\n <span class=\"thy-switch-label\" [attr.tabindex]=\"tabIndex\"></span>\n <span class=\"thy-switch-handle\">\n <ng-container *ngIf=\"loading\">\n <svg [attr.viewBox]=\"loadingCircle?.viewBox\" [class.mb-1]=\"size === 'xs'\">\n <circle\n class=\"thy-switch-loading\"\n [style.transform-origin]=\"loadingCircle?.cx + 'px ' + loadingCircle?.cy + 'px'\"\n [attr.cx]=\"loadingCircle?.cx\"\n [attr.cy]=\"loadingCircle?.cy\"\n [attr.r]=\"loadingCircle?.r\"\n [attr.stroke]=\"model ? 'rgba(102,152,255,1)' : 'rgba(202,202,202,1)'\"\n stroke-width=\"1\"\n [attr.stroke-dasharray]=\"loadingCircle?.dasharray\"\n fill=\"white\" />\n </svg>\n </ng-container>\n </span>\n</label>\n" }]
165
+ }, template: "<label #switch class=\"thy-switch\" [ngClass]=\"classNames\">\n <input\n type=\"checkbox\"\n [attr.tabindex]=\"-1\"\n [disabled]=\"disabled || loading\"\n class=\"thy-switch-input\"\n [checked]=\"model\"\n (change)=\"toggle($event)\" />\n <span class=\"thy-switch-label\" [attr.tabindex]=\"tabIndex\"></span>\n <span class=\"thy-switch-handle\">\n @if (loading) {\n <svg [attr.viewBox]=\"loadingCircle?.viewBox\" [class.mb-1]=\"size === 'xs'\">\n <circle\n class=\"thy-switch-loading\"\n [style.transform-origin]=\"loadingCircle?.cx + 'px ' + loadingCircle?.cy + 'px'\"\n [attr.cx]=\"loadingCircle?.cx\"\n [attr.cy]=\"loadingCircle?.cy\"\n [attr.r]=\"loadingCircle?.r\"\n [attr.stroke]=\"model ? 'rgba(102,152,255,1)' : 'rgba(202,202,202,1)'\"\n stroke-width=\"1\"\n [attr.stroke-dasharray]=\"loadingCircle?.dasharray\"\n fill=\"white\" />\n </svg>\n }\n </span>\n</label>\n" }]
166
166
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { switchElementRef: [{
167
167
  type: ViewChild,
168
168
  args: ['switch', { static: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-switch.mjs","sources":["../../../src/switch/switch.component.ts","../../../src/switch/switch.component.html","../../../src/switch/switch.module.ts","../../../src/switch/ngx-tethys-switch.ts"],"sourcesContent":["import { NgClass, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TabIndexDisabledControlValueAccessorMixin } from 'ngx-tethys/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 开关组件\n * @name thy-switch\n * @order 10\n */\n@Component({\n selector: 'thy-switch',\n templateUrl: './switch.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThySwitch),\n multi: true\n }\n ],\n standalone: true,\n imports: [NgClass, NgIf],\n host: {\n class: 'thy-switch',\n '[class.thy-switch-xs]': 'size === \"xs\"',\n '[class.thy-switch-sm]': 'size === \"sm\"'\n }\n})\nexport class ThySwitch extends TabIndexDisabledControlValueAccessorMixin implements OnInit, ControlValueAccessor {\n public model: boolean;\n\n public type?: string = 'primary';\n\n public size?: string = '';\n\n public disabled?: boolean = false;\n\n public loading: boolean = false;\n\n public classNames: string[];\n\n public typeArray: string[] = ['primary', 'info', 'warning', 'danger'];\n\n public sizeArray: string[] = ['', 'sm', 'xs'];\n\n public loadingCircle: {\n viewBox?: string;\n cx?: number;\n cy?: number;\n r?: number;\n dasharray?: string;\n } = {};\n\n private initialized = false;\n\n private loadingInitialized = false;\n\n private isDisabledFirstChange = true;\n\n @ViewChild('switch', { static: true }) switchElementRef: ElementRef;\n\n /**\n * 类型,目前分为: 'primary' |'info' | 'warning' | 'danger'\n */\n @Input()\n set thyType(value: string) {\n if (!this.typeArray.includes(value)) {\n value = 'primary';\n }\n this.type = value;\n if (this.initialized) {\n this.setClassNames();\n }\n }\n\n /**\n * 大小\n * @type xs | sm | md\n * @default md\n */\n @Input()\n set thySize(value: string) {\n if (!this.sizeArray.includes(value)) {\n value = '';\n }\n this.size = value;\n if (this.initialized) {\n this.setClassNames();\n }\n\n if (this.loadingInitialized) {\n this.setLoadingCircle();\n }\n }\n\n /**\n * 是否属于禁用状态\n */\n @Input({ transform: coerceBooleanProperty })\n override set thyDisabled(value: boolean) {\n this.disabled = value;\n this.setClassNames();\n }\n override get thyDisabled(): boolean {\n return this.disabled;\n }\n\n /**\n * 是否加载中\n */\n @Input({ transform: coerceBooleanProperty }) set thyLoading(value: boolean) {\n this.loading = value;\n if (this.initialized) {\n this.setClassNames();\n }\n\n if (this.loading && !this.loadingInitialized) {\n this.setLoadingCircle();\n this.loadingInitialized = true;\n }\n }\n\n /**\n * 数据变化的回调事件,即将被弃用,请使用 ngModelChange\n * @deprecated\n */\n @Output() thyChange: EventEmitter<Event> = new EventEmitter<Event>();\n\n constructor(public cdr: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit() {\n this.setClassNames();\n this.initialized = true;\n }\n\n public onModelChange: Function = () => {};\n\n public onModelTouched: Function = () => {};\n\n writeValue(value: boolean) {\n this.model = value;\n this.cdr.markForCheck();\n // this.setClassNames();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = (this.isDisabledFirstChange && this.thyDisabled) || isDisabled;\n this.isDisabledFirstChange = false;\n this.setClassNames();\n }\n\n toggle(event: Event) {\n this.model = !this.model;\n this.onModelChange(this.model);\n this.onModelTouched();\n this.thyChange.emit(event);\n }\n\n setClassNames() {\n this.classNames = [`thy-switch-${this.type}`];\n if (this.size) {\n this.classNames.push(`thy-switch-${this.size}`);\n }\n if (this.disabled || this.loading) {\n this.classNames.push(`thy-switch-disabled`);\n if (this.model) {\n this.classNames.push(`thy-switch-disabled-true`);\n }\n }\n this.cdr.markForCheck();\n }\n\n setLoadingCircle() {\n const svgSize = {\n ['xs']: 12,\n ['sm']: 16,\n ['']: 20\n };\n\n const circleSize = svgSize[this.size];\n const centerPoint = circleSize / 2;\n const r = circleSize / 4;\n\n this.loadingCircle = {\n viewBox: `0 0 ${circleSize} ${circleSize}`,\n cx: centerPoint,\n cy: centerPoint,\n r: r,\n dasharray: `${2 * Math.PI * r * 0.75} ${2 * Math.PI * r * 0.25}`\n };\n this.cdr.markForCheck();\n }\n}\n","<label #switch class=\"thy-switch\" [ngClass]=\"classNames\">\n <input\n type=\"checkbox\"\n [attr.tabindex]=\"-1\"\n [disabled]=\"disabled || loading\"\n class=\"thy-switch-input\"\n [checked]=\"model\"\n (change)=\"toggle($event)\" />\n <span class=\"thy-switch-label\" [attr.tabindex]=\"tabIndex\"></span>\n <span class=\"thy-switch-handle\">\n <ng-container *ngIf=\"loading\">\n <svg [attr.viewBox]=\"loadingCircle?.viewBox\" [class.mb-1]=\"size === 'xs'\">\n <circle\n class=\"thy-switch-loading\"\n [style.transform-origin]=\"loadingCircle?.cx + 'px ' + loadingCircle?.cy + 'px'\"\n [attr.cx]=\"loadingCircle?.cx\"\n [attr.cy]=\"loadingCircle?.cy\"\n [attr.r]=\"loadingCircle?.r\"\n [attr.stroke]=\"model ? 'rgba(102,152,255,1)' : 'rgba(202,202,202,1)'\"\n stroke-width=\"1\"\n [attr.stroke-dasharray]=\"loadingCircle?.dasharray\"\n fill=\"white\" />\n </svg>\n </ng-container>\n </span>\n</label>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThySwitch } from './switch.component';\n\n@NgModule({\n imports: [CommonModule, ThySwitch],\n exports: [ThySwitch]\n})\nexport class ThySwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-switch.mjs","sources":["../../../src/switch/switch.component.ts","../../../src/switch/switch.component.html","../../../src/switch/switch.module.ts","../../../src/switch/ngx-tethys-switch.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TabIndexDisabledControlValueAccessorMixin } from 'ngx-tethys/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 开关组件\n * @name thy-switch\n * @order 10\n */\n@Component({\n selector: 'thy-switch',\n templateUrl: './switch.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThySwitch),\n multi: true\n }\n ],\n standalone: true,\n imports: [NgClass],\n host: {\n class: 'thy-switch',\n '[class.thy-switch-xs]': 'size === \"xs\"',\n '[class.thy-switch-sm]': 'size === \"sm\"'\n }\n})\nexport class ThySwitch extends TabIndexDisabledControlValueAccessorMixin implements OnInit, ControlValueAccessor {\n public model: boolean;\n\n public type?: string = 'primary';\n\n public size?: string = '';\n\n public disabled?: boolean = false;\n\n public loading: boolean = false;\n\n public classNames: string[];\n\n public typeArray: string[] = ['primary', 'info', 'warning', 'danger'];\n\n public sizeArray: string[] = ['', 'sm', 'xs'];\n\n public loadingCircle: {\n viewBox?: string;\n cx?: number;\n cy?: number;\n r?: number;\n dasharray?: string;\n } = {};\n\n private initialized = false;\n\n private loadingInitialized = false;\n\n private isDisabledFirstChange = true;\n\n @ViewChild('switch', { static: true }) switchElementRef: ElementRef;\n\n /**\n * 类型,目前分为: 'primary' |'info' | 'warning' | 'danger'\n */\n @Input()\n set thyType(value: string) {\n if (!this.typeArray.includes(value)) {\n value = 'primary';\n }\n this.type = value;\n if (this.initialized) {\n this.setClassNames();\n }\n }\n\n /**\n * 大小\n * @type xs | sm | md\n * @default md\n */\n @Input()\n set thySize(value: string) {\n if (!this.sizeArray.includes(value)) {\n value = '';\n }\n this.size = value;\n if (this.initialized) {\n this.setClassNames();\n }\n\n if (this.loadingInitialized) {\n this.setLoadingCircle();\n }\n }\n\n /**\n * 是否属于禁用状态\n */\n @Input({ transform: coerceBooleanProperty })\n override set thyDisabled(value: boolean) {\n this.disabled = value;\n this.setClassNames();\n }\n override get thyDisabled(): boolean {\n return this.disabled;\n }\n\n /**\n * 是否加载中\n */\n @Input({ transform: coerceBooleanProperty }) set thyLoading(value: boolean) {\n this.loading = value;\n if (this.initialized) {\n this.setClassNames();\n }\n\n if (this.loading && !this.loadingInitialized) {\n this.setLoadingCircle();\n this.loadingInitialized = true;\n }\n }\n\n /**\n * 数据变化的回调事件,即将被弃用,请使用 ngModelChange\n * @deprecated\n */\n @Output() thyChange: EventEmitter<Event> = new EventEmitter<Event>();\n\n constructor(public cdr: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit() {\n this.setClassNames();\n this.initialized = true;\n }\n\n public onModelChange: Function = () => {};\n\n public onModelTouched: Function = () => {};\n\n writeValue(value: boolean) {\n this.model = value;\n this.cdr.markForCheck();\n // this.setClassNames();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = (this.isDisabledFirstChange && this.thyDisabled) || isDisabled;\n this.isDisabledFirstChange = false;\n this.setClassNames();\n }\n\n toggle(event: Event) {\n this.model = !this.model;\n this.onModelChange(this.model);\n this.onModelTouched();\n this.thyChange.emit(event);\n }\n\n setClassNames() {\n this.classNames = [`thy-switch-${this.type}`];\n if (this.size) {\n this.classNames.push(`thy-switch-${this.size}`);\n }\n if (this.disabled || this.loading) {\n this.classNames.push(`thy-switch-disabled`);\n if (this.model) {\n this.classNames.push(`thy-switch-disabled-true`);\n }\n }\n this.cdr.markForCheck();\n }\n\n setLoadingCircle() {\n const svgSize = {\n ['xs']: 12,\n ['sm']: 16,\n ['']: 20\n };\n\n const circleSize = svgSize[this.size];\n const centerPoint = circleSize / 2;\n const r = circleSize / 4;\n\n this.loadingCircle = {\n viewBox: `0 0 ${circleSize} ${circleSize}`,\n cx: centerPoint,\n cy: centerPoint,\n r: r,\n dasharray: `${2 * Math.PI * r * 0.75} ${2 * Math.PI * r * 0.25}`\n };\n this.cdr.markForCheck();\n }\n}\n","<label #switch class=\"thy-switch\" [ngClass]=\"classNames\">\n <input\n type=\"checkbox\"\n [attr.tabindex]=\"-1\"\n [disabled]=\"disabled || loading\"\n class=\"thy-switch-input\"\n [checked]=\"model\"\n (change)=\"toggle($event)\" />\n <span class=\"thy-switch-label\" [attr.tabindex]=\"tabIndex\"></span>\n <span class=\"thy-switch-handle\">\n @if (loading) {\n <svg [attr.viewBox]=\"loadingCircle?.viewBox\" [class.mb-1]=\"size === 'xs'\">\n <circle\n class=\"thy-switch-loading\"\n [style.transform-origin]=\"loadingCircle?.cx + 'px ' + loadingCircle?.cy + 'px'\"\n [attr.cx]=\"loadingCircle?.cx\"\n [attr.cy]=\"loadingCircle?.cy\"\n [attr.r]=\"loadingCircle?.r\"\n [attr.stroke]=\"model ? 'rgba(102,152,255,1)' : 'rgba(202,202,202,1)'\"\n stroke-width=\"1\"\n [attr.stroke-dasharray]=\"loadingCircle?.dasharray\"\n fill=\"white\" />\n </svg>\n }\n </span>\n</label>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThySwitch } from './switch.component';\n\n@NgModule({\n imports: [CommonModule, ThySwitch],\n exports: [ThySwitch]\n})\nexport class ThySwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -8,7 +8,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, NgStyle, NgTemplateOutlet, isPlatformServer, DOCUMENT, CommonModule } from '@angular/common';
11
+ import { NgClass, NgStyle, NgTemplateOutlet, isPlatformServer, DOCUMENT, CommonModule } from '@angular/common';
12
12
  import * as i0 from '@angular/core';
13
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';
@@ -306,9 +306,6 @@ class ThyTableSkeleton {
306
306
  [`table-${this.thySize}`]: !!this.thySize
307
307
  };
308
308
  }
309
- trackByFn(index) {
310
- return index;
311
- }
312
309
  constructor(cdr) {
313
310
  this.cdr = cdr;
314
311
  /**
@@ -374,7 +371,7 @@ class ThyTableSkeleton {
374
371
  this.cdr.detectChanges();
375
372
  }
376
373
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.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.2.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 }); }
374
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.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 @for (column of columns; track $index) {\n <col [width]=\"column.width\" />\n }\n </colgroup>\n @if (!thyHeadless) {\n <thead>\n <tr>\n @for (column of columns; track $index) {\n <th>\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 }\n </tr>\n </thead>\n }\n <tbody>\n @for (item of rowCount; track $index; let i = $index) {\n <tr>\n @for (column of columns; track $index) {\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 }\n </tr>\n }\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=\"\n defaultTemplate;\n context: {\n rowWidth: trIndex % 3 === 0 ? '75%' : trIndex % 3 === 1 ? '100%' : trIndex % 3 === 2 ? '65%' : ''\n }\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: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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
375
  }
379
376
  __decorate([
380
377
  InputCssPixel(),
@@ -392,7 +389,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
392
389
  type: Component,
393
390
  args: [{ selector: 'thy-table-skeleton', host: {
394
391
  class: 'thy-table-skeleton'
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" }]
392
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgClass, NgStyle, NgTemplateOutlet, ThyViewOutletDirective, ThySkeletonRectangle, ThySkeletonCircle], template: "<table [ngClass]=\"tableClassMap\" [ngStyle]=\"{ 'min-width': thyMinWidth }\">\n <colgroup>\n @for (column of columns; track $index) {\n <col [width]=\"column.width\" />\n }\n </colgroup>\n @if (!thyHeadless) {\n <thead>\n <tr>\n @for (column of columns; track $index) {\n <th>\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 }\n </tr>\n </thead>\n }\n <tbody>\n @for (item of rowCount; track $index; let i = $index) {\n <tr>\n @for (column of columns; track $index) {\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 }\n </tr>\n }\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=\"\n defaultTemplate;\n context: {\n rowWidth: trIndex % 3 === 0 ? '75%' : trIndex % 3 === 1 ? '100%' : trIndex % 3 === 2 ? '65%' : ''\n }\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
393
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { titleTemplate: [{
397
394
  type: ViewChild,
398
395
  args: ['titleTemplate']
@@ -1206,13 +1203,13 @@ class ThyTable {
1206
1203
  this._destroyInvalidAttribute();
1207
1204
  }
1208
1205
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.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 }); }
1209
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.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: [
1206
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.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: [
1210
1207
  {
1211
1208
  provide: THY_TABLE_COLUMN_PARENT_COMPONENT,
1212
1209
  useExisting: ThyTable
1213
1210
  },
1214
1211
  UpdateHostClassService
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]=\"{\n 'thy-table-fixed': hasFixed,\n 'thy-table-bordered-theme': theme === 'bordered' && hasFixed,\n 'thy-table-body-empty': loadingDone && model?.length === 0 && groups?.length === 0\n }\">\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", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], 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 }); }
1212
+ ], 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]=\"{\n 'thy-table-fixed': hasFixed,\n 'thy-table-bordered-theme': theme === 'bordered' && hasFixed,\n 'thy-table-body-empty': loadingDone && model?.length === 0 && groups?.length === 0\n }\">\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 @for (column of columns; track $index) {\n <col [width]=\"column.width\" [ngStyle]=\"{ minWidth: hasFixed ? column.width : column.minWidth }\" />\n }\n </colgroup>\n\n @if (!thyHeadless) {\n <thead>\n <tr>\n @for (column of columns; track $index) {\n <th\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 @if (!column.headerTemplateRef) {\n <span>{{ column.title }}</span>\n }\n @if (column.headerTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"column.headerTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: column }\"></ng-template>\n }\n @if (column.sortable) {\n <thy-icon [ngClass]=\"['thy-table-column-sortable-icon', 'px-1', column.sortDirection]\" thyIconName=\"sort-vertical-tt\">\n </thy-icon>\n }\n </th>\n }\n </tr>\n </thead>\n }\n\n @if (loadingDone) {\n <tbody\n thyDragDrop\n cdkDropList\n [cdkDropListDisabled]=\"!draggable\"\n [cdkDropListSortPredicate]=\"dropListEnterPredicate\"\n (cdkDropListDropped)=\"onDragDropped($event)\">\n <!-- group -->\n @if (mode === 'group') {\n @for (group of groups; track group.id) {\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 @if (draggable && !(group | tableRowDragDisabled: thyDragDisabledPredicate)) {\n <thy-icon class=\"table-draggable-icon\" thyIconName=\"drag\"></thy-icon>\n }\n <thy-icon class=\"expand-icon\" [thyIconName]=\"group.expand ? 'angle-down' : 'angle-right'\"></thy-icon>\n @if (groupTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: group.origin, group: group.origin }\"></ng-template>\n }\n </div>\n </td>\n </tr>\n @if (group.children?.length && group.expand) {\n @for (row of group.children; track $index; let i = $index) {\n <ng-template\n [ngTemplateOutlet]=\"trTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: 0\n }\"></ng-template>\n }\n }\n }\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 @if (mode === 'list') {\n @for (row of model; track $index; let i = $index) {\n <tr\n #rows\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 }\n }\n @if (mode === 'tree') {\n @for (row of model; track trackByFn(i, row); let i = $index) {\n <ng-template [ngTemplateOutlet]=\"trTemplate\" [ngTemplateOutletContext]=\"{ row: row, index: i, level: 0 }\"></ng-template>\n }\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 @if (mode === 'tree' && isExpanded(row)) {\n @for (child of row[thyChildrenKey]; track trackByFn(j, child); let j = $index) {\n <ng-template\n [ngTemplateOutlet]=\"trTemplate\"\n [ngTemplateOutletContext]=\"{ row: child, index: j, level: level + 1 }\"></ng-template>\n }\n }\n </ng-template>\n <ng-template #tdsTemplate let-row=\"row\" let-i=\"index\" let-level=\"level\">\n @for (column of columns; track $index; let j = $index) {\n <td\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\n ? tdIndentComputed(level, column)\n : { left: column.left + 'px', right: column.right + 'px' }\n \">\n @if (j === 0 && draggable && !(row | tableRowDragDisabled: thyDragDisabledPredicate)) {\n <thy-icon class=\"table-draggable-icon\" thyIconName=\"drag\"></thy-icon>\n }\n <!--template-->\n @if (isTemplateRef(column.cellTemplateRef)) {\n @if (mode === 'tree' && column.expand) {\n <thy-icon\n class=\"tree-expand-icon cursor-pointer\"\n [thyIconName]=\"isExpanded(row) ? 'angle-down' : 'angle-right'\"\n [style.visibility]=\"showExpand(row) ? 'visible' : 'hidden'\"\n [style.left.px]=\"iconIndentComputed(level)\"></thy-icon>\n }\n <ng-template [ngTemplateOutlet]=\"column.cellTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: row }\"></ng-template>\n }\n <!--not template-->\n @if (!isTemplateRef(column.cellTemplateRef)) {\n <!-- default -->\n @if (column.model && !column.type) {\n @if (mode === 'tree' && column.expand) {\n <thy-icon\n class=\"tree-expand-icon cursor-pointer\"\n [thyIconName]=\"isExpanded(row) ? 'angle-down' : 'angle-right'\"\n [style.visibility]=\"showExpand(row) ? 'visible' : 'hidden'\"\n [style.marginLeft.px]=\"iconIndentComputed(level)\"></thy-icon>\n }\n @if (getModelValue(row, column.model) | isValidModelValue) {\n {{ getModelValue(row, column.model) }}\n } @else {\n @if (column.defaultText) {\n <div class=\"text-desc\">\n {{ column.defaultText }}\n </div>\n }\n }\n <ng-template #default>\n @if (column.defaultText) {\n <div class=\"text-desc\">\n {{ column.defaultText }}\n </div>\n }\n </ng-template>\n }\n <!-- index -->\n @if (column.type === customType.index) {\n {{ i + 1 }}\n }\n <!-- checkbox -->\n @if (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 }\n <!-- radio -->\n @if (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 }\n <!-- switch -->\n @if (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 }\n }\n </td>\n }\n </ng-template>\n </tbody>\n }\n </table>\n\n @if (loadingDone && model.length === 0 && groups.length === 0) {\n <div class=\"thy-table-empty clear-hover\">\n @if (emptyTemplate) {\n <ng-template [ngTemplateOutlet]=\"emptyTemplate\"></ng-template>\n } @else {\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 }\n </div>\n }\n\n @if (!loadingDone) {\n <thy-table-skeleton\n [thyRowCount]=\"6\"\n [thyHeadless]=\"true\"\n [thyTheme]=\"theme\"\n [thySize]=\"size\"\n [thyMinWidth]=\"thyMinWidth\"\n [thyColumns]=\"skeletonColumns\">\n </thy-table-skeleton>\n }\n\n @if (pagination.total > pagination.size) {\n <div class=\"thy-table-footer\" [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 }\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: 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", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], 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 }); }
1216
1213
  }
1217
1214
  __decorate([
1218
1215
  InputCssPixel(),
@@ -1238,8 +1235,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
1238
1235
  }, standalone: true, imports: [
1239
1236
  CdkScrollable,
1240
1237
  NgClass,
1241
- NgFor,
1242
- NgIf,
1243
1238
  NgTemplateOutlet,
1244
1239
  ThyIcon,
1245
1240
  ThyDragDropDirective,
@@ -1254,7 +1249,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
1254
1249
  ThyPagination,
1255
1250
  TableIsValidModelValuePipe,
1256
1251
  TableRowDragDisabledPipe
1257
- ], template: "<div\n class=\"thy-table-body\"\n cdkScrollable\n [ngClass]=\"{\n 'thy-table-fixed': hasFixed,\n 'thy-table-bordered-theme': theme === 'bordered' && hasFixed,\n 'thy-table-body-empty': loadingDone && model?.length === 0 && groups?.length === 0\n }\">\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" }]
1252
+ ], template: "<div\n class=\"thy-table-body\"\n cdkScrollable\n [ngClass]=\"{\n 'thy-table-fixed': hasFixed,\n 'thy-table-bordered-theme': theme === 'bordered' && hasFixed,\n 'thy-table-body-empty': loadingDone && model?.length === 0 && groups?.length === 0\n }\">\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 @for (column of columns; track $index) {\n <col [width]=\"column.width\" [ngStyle]=\"{ minWidth: hasFixed ? column.width : column.minWidth }\" />\n }\n </colgroup>\n\n @if (!thyHeadless) {\n <thead>\n <tr>\n @for (column of columns; track $index) {\n <th\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 @if (!column.headerTemplateRef) {\n <span>{{ column.title }}</span>\n }\n @if (column.headerTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"column.headerTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: column }\"></ng-template>\n }\n @if (column.sortable) {\n <thy-icon [ngClass]=\"['thy-table-column-sortable-icon', 'px-1', column.sortDirection]\" thyIconName=\"sort-vertical-tt\">\n </thy-icon>\n }\n </th>\n }\n </tr>\n </thead>\n }\n\n @if (loadingDone) {\n <tbody\n thyDragDrop\n cdkDropList\n [cdkDropListDisabled]=\"!draggable\"\n [cdkDropListSortPredicate]=\"dropListEnterPredicate\"\n (cdkDropListDropped)=\"onDragDropped($event)\">\n <!-- group -->\n @if (mode === 'group') {\n @for (group of groups; track group.id) {\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 @if (draggable && !(group | tableRowDragDisabled: thyDragDisabledPredicate)) {\n <thy-icon class=\"table-draggable-icon\" thyIconName=\"drag\"></thy-icon>\n }\n <thy-icon class=\"expand-icon\" [thyIconName]=\"group.expand ? 'angle-down' : 'angle-right'\"></thy-icon>\n @if (groupTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: group.origin, group: group.origin }\"></ng-template>\n }\n </div>\n </td>\n </tr>\n @if (group.children?.length && group.expand) {\n @for (row of group.children; track $index; let i = $index) {\n <ng-template\n [ngTemplateOutlet]=\"trTemplate\"\n [ngTemplateOutletContext]=\"{\n row: row,\n index: i,\n level: 0\n }\"></ng-template>\n }\n }\n }\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 @if (mode === 'list') {\n @for (row of model; track $index; let i = $index) {\n <tr\n #rows\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 }\n }\n @if (mode === 'tree') {\n @for (row of model; track trackByFn(i, row); let i = $index) {\n <ng-template [ngTemplateOutlet]=\"trTemplate\" [ngTemplateOutletContext]=\"{ row: row, index: i, level: 0 }\"></ng-template>\n }\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 @if (mode === 'tree' && isExpanded(row)) {\n @for (child of row[thyChildrenKey]; track trackByFn(j, child); let j = $index) {\n <ng-template\n [ngTemplateOutlet]=\"trTemplate\"\n [ngTemplateOutletContext]=\"{ row: child, index: j, level: level + 1 }\"></ng-template>\n }\n }\n </ng-template>\n <ng-template #tdsTemplate let-row=\"row\" let-i=\"index\" let-level=\"level\">\n @for (column of columns; track $index; let j = $index) {\n <td\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\n ? tdIndentComputed(level, column)\n : { left: column.left + 'px', right: column.right + 'px' }\n \">\n @if (j === 0 && draggable && !(row | tableRowDragDisabled: thyDragDisabledPredicate)) {\n <thy-icon class=\"table-draggable-icon\" thyIconName=\"drag\"></thy-icon>\n }\n <!--template-->\n @if (isTemplateRef(column.cellTemplateRef)) {\n @if (mode === 'tree' && column.expand) {\n <thy-icon\n class=\"tree-expand-icon cursor-pointer\"\n [thyIconName]=\"isExpanded(row) ? 'angle-down' : 'angle-right'\"\n [style.visibility]=\"showExpand(row) ? 'visible' : 'hidden'\"\n [style.left.px]=\"iconIndentComputed(level)\"></thy-icon>\n }\n <ng-template [ngTemplateOutlet]=\"column.cellTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: row }\"></ng-template>\n }\n <!--not template-->\n @if (!isTemplateRef(column.cellTemplateRef)) {\n <!-- default -->\n @if (column.model && !column.type) {\n @if (mode === 'tree' && column.expand) {\n <thy-icon\n class=\"tree-expand-icon cursor-pointer\"\n [thyIconName]=\"isExpanded(row) ? 'angle-down' : 'angle-right'\"\n [style.visibility]=\"showExpand(row) ? 'visible' : 'hidden'\"\n [style.marginLeft.px]=\"iconIndentComputed(level)\"></thy-icon>\n }\n @if (getModelValue(row, column.model) | isValidModelValue) {\n {{ getModelValue(row, column.model) }}\n } @else {\n @if (column.defaultText) {\n <div class=\"text-desc\">\n {{ column.defaultText }}\n </div>\n }\n }\n <ng-template #default>\n @if (column.defaultText) {\n <div class=\"text-desc\">\n {{ column.defaultText }}\n </div>\n }\n </ng-template>\n }\n <!-- index -->\n @if (column.type === customType.index) {\n {{ i + 1 }}\n }\n <!-- checkbox -->\n @if (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 }\n <!-- radio -->\n @if (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 }\n <!-- switch -->\n @if (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 }\n }\n </td>\n }\n </ng-template>\n </tbody>\n }\n </table>\n\n @if (loadingDone && model.length === 0 && groups.length === 0) {\n <div class=\"thy-table-empty clear-hover\">\n @if (emptyTemplate) {\n <ng-template [ngTemplateOutlet]=\"emptyTemplate\"></ng-template>\n } @else {\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 }\n </div>\n }\n\n @if (!loadingDone) {\n <thy-table-skeleton\n [thyRowCount]=\"6\"\n [thyHeadless]=\"true\"\n [thyTheme]=\"theme\"\n [thySize]=\"size\"\n [thyMinWidth]=\"thyMinWidth\"\n [thyColumns]=\"skeletonColumns\">\n </thy-table-skeleton>\n }\n\n @if (pagination.total > pagination.size) {\n <div class=\"thy-table-footer\" [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 }\n</div>\n\n<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
1258
1253
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.IterableDiffers }, { type: i1.ViewportRuler }, { type: i2.UpdateHostClassService }, { type: undefined, decorators: [{
1259
1254
  type: Inject,
1260
1255
  args: [DOCUMENT]