@ng-nest/ui 20.0.7 → 20.1.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 (206) hide show
  1. package/auto-complete/index.d.ts +33 -8
  2. package/base-form/index.d.ts +3 -3
  3. package/calendar/index.d.ts +1 -2
  4. package/cascade/index.d.ts +33 -8
  5. package/checkbox/index.d.ts +3 -3
  6. package/color-picker/index.d.ts +34 -8
  7. package/core/index.d.ts +40 -8
  8. package/date-picker/index.d.ts +57 -12
  9. package/dropdown/index.d.ts +4 -4
  10. package/fesm2022/ng-nest-ui-affix.mjs +12 -12
  11. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  12. package/fesm2022/ng-nest-ui-alert.mjs +35 -35
  13. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  14. package/fesm2022/ng-nest-ui-anchor.mjs +31 -31
  15. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  16. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  17. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  18. package/fesm2022/ng-nest-ui-auto-complete.mjs +82 -72
  19. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  20. package/fesm2022/ng-nest-ui-avatar.mjs +31 -31
  21. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  22. package/fesm2022/ng-nest-ui-back-top.mjs +18 -18
  23. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  24. package/fesm2022/ng-nest-ui-badge.mjs +23 -23
  25. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  26. package/fesm2022/ng-nest-ui-base-form.mjs +45 -45
  27. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  28. package/fesm2022/ng-nest-ui-button.mjs +42 -42
  29. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  30. package/fesm2022/ng-nest-ui-calendar.mjs +20 -20
  31. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  32. package/fesm2022/ng-nest-ui-card.mjs +15 -15
  33. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  34. package/fesm2022/ng-nest-ui-carousel.mjs +46 -46
  35. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  36. package/fesm2022/ng-nest-ui-cascade.mjs +86 -76
  37. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  38. package/fesm2022/ng-nest-ui-checkbox.mjs +39 -39
  39. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-collapse.mjs +31 -31
  41. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-color-picker.mjs +91 -72
  43. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  44. package/fesm2022/ng-nest-ui-color.mjs +16 -16
  45. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  46. package/fesm2022/ng-nest-ui-comment.mjs +21 -21
  47. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  48. package/fesm2022/ng-nest-ui-container.mjs +37 -37
  49. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  50. package/fesm2022/ng-nest-ui-core.mjs +38 -22
  51. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  52. package/fesm2022/ng-nest-ui-crumb.mjs +13 -13
  53. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  54. package/fesm2022/ng-nest-ui-date-picker.mjs +273 -253
  55. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  56. package/fesm2022/ng-nest-ui-description.mjs +31 -31
  57. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  58. package/fesm2022/ng-nest-ui-dialog.mjs +81 -81
  59. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  60. package/fesm2022/ng-nest-ui-doc.mjs +7 -7
  61. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  62. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  63. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  64. package/fesm2022/ng-nest-ui-drawer.mjs +42 -42
  65. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  66. package/fesm2022/ng-nest-ui-dropdown.mjs +49 -49
  67. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  68. package/fesm2022/ng-nest-ui-empty.mjs +12 -12
  69. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  70. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  71. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  72. package/fesm2022/ng-nest-ui-find.mjs +79 -77
  73. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  74. package/fesm2022/ng-nest-ui-form.mjs +33 -33
  75. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  76. package/fesm2022/ng-nest-ui-highlight.mjs +20 -20
  77. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  78. package/fesm2022/ng-nest-ui-i18n.mjs +15 -15
  79. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  80. package/fesm2022/ng-nest-ui-icon.mjs +21 -21
  81. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  82. package/fesm2022/ng-nest-ui-image.mjs +39 -39
  83. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  84. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  85. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  86. package/fesm2022/ng-nest-ui-input-number.mjs +42 -42
  87. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  88. package/fesm2022/ng-nest-ui-input.mjs +102 -81
  89. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  90. package/fesm2022/ng-nest-ui-keyword.mjs +15 -15
  91. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  92. package/fesm2022/ng-nest-ui-layout.mjs +31 -31
  93. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  94. package/fesm2022/ng-nest-ui-link.mjs +18 -18
  95. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  96. package/fesm2022/ng-nest-ui-list.mjs +80 -80
  97. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  98. package/fesm2022/ng-nest-ui-loading.mjs +22 -22
  99. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  100. package/fesm2022/ng-nest-ui-menu.mjs +45 -45
  101. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  102. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  103. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  104. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  105. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  106. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  107. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  108. package/fesm2022/ng-nest-ui-outlet.mjs +9 -9
  109. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  110. package/fesm2022/ng-nest-ui-page-header.mjs +15 -15
  111. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  112. package/fesm2022/ng-nest-ui-pagination.mjs +53 -53
  113. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  114. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  115. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  116. package/fesm2022/ng-nest-ui-popconfirm.mjs +27 -27
  117. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  118. package/fesm2022/ng-nest-ui-popover.mjs +38 -38
  119. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  120. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  121. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  122. package/fesm2022/ng-nest-ui-progress.mjs +38 -38
  123. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  124. package/fesm2022/ng-nest-ui-radio.mjs +36 -36
  125. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  126. package/fesm2022/ng-nest-ui-rate.mjs +30 -30
  127. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  128. package/fesm2022/ng-nest-ui-resizable.mjs +16 -16
  129. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  130. package/fesm2022/ng-nest-ui-result.mjs +16 -16
  131. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  132. package/fesm2022/ng-nest-ui-ripple.mjs +13 -13
  133. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  134. package/fesm2022/ng-nest-ui-scrollable.mjs +102 -19
  135. package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -1
  136. package/fesm2022/ng-nest-ui-select.mjs +121 -111
  137. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  138. package/fesm2022/ng-nest-ui-skeleton.mjs +15 -15
  139. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  140. package/fesm2022/ng-nest-ui-slider-select.mjs +54 -54
  141. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  142. package/fesm2022/ng-nest-ui-slider.mjs +39 -39
  143. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  144. package/fesm2022/ng-nest-ui-statistic.mjs +30 -30
  145. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  146. package/fesm2022/ng-nest-ui-steps.mjs +19 -19
  147. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  148. package/fesm2022/ng-nest-ui-switch.mjs +26 -26
  149. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  150. package/fesm2022/ng-nest-ui-table-view.mjs +490 -242
  151. package/fesm2022/ng-nest-ui-table-view.mjs.map +1 -1
  152. package/fesm2022/ng-nest-ui-table.mjs +221 -221
  153. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  154. package/fesm2022/ng-nest-ui-tabs.mjs +58 -58
  155. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  156. package/fesm2022/ng-nest-ui-tag.mjs +22 -22
  157. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  158. package/fesm2022/ng-nest-ui-text-retract.mjs +15 -15
  159. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  160. package/fesm2022/ng-nest-ui-textarea.mjs +41 -41
  161. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  162. package/fesm2022/ng-nest-ui-theme.mjs +23 -23
  163. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  164. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  165. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  166. package/fesm2022/ng-nest-ui-time-picker.mjs +104 -94
  167. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  168. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  169. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  170. package/fesm2022/ng-nest-ui-timeline.mjs +15 -15
  171. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  172. package/fesm2022/ng-nest-ui-tooltip.mjs +38 -38
  173. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  174. package/fesm2022/ng-nest-ui-transfer.mjs +40 -40
  175. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  176. package/fesm2022/ng-nest-ui-tree-file.mjs +28 -28
  177. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  178. package/fesm2022/ng-nest-ui-tree-select.mjs +126 -116
  179. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  180. package/fesm2022/ng-nest-ui-tree.mjs +107 -107
  181. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  182. package/fesm2022/ng-nest-ui-typography.mjs +13 -13
  183. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  184. package/fesm2022/ng-nest-ui-upload.mjs +37 -37
  185. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  186. package/find/index.d.ts +5 -5
  187. package/form/index.d.ts +1 -1
  188. package/input/index.d.ts +32 -5
  189. package/input-number/index.d.ts +5 -5
  190. package/list/index.d.ts +2 -2
  191. package/message-box/index.d.ts +4 -5
  192. package/package.json +20 -20
  193. package/radio/index.d.ts +3 -3
  194. package/rate/index.d.ts +5 -5
  195. package/scrollable/index.d.ts +15 -7
  196. package/select/index.d.ts +38 -8
  197. package/slider-select/index.d.ts +3 -3
  198. package/steps/index.d.ts +1 -2
  199. package/switch/index.d.ts +3 -3
  200. package/table-view/index.d.ts +121 -79
  201. package/textarea/index.d.ts +3 -3
  202. package/theme/index.d.ts +1 -1
  203. package/time-picker/index.d.ts +33 -8
  204. package/transfer/index.d.ts +1 -1
  205. package/tree-select/index.d.ts +33 -8
  206. package/upload/index.d.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-table-view.mjs","sources":["../../../../lib/ng-nest/ui/table-view/table-view.service.ts","../../../../lib/ng-nest/ui/table-view/cell.ts","../../../../lib/ng-nest/ui/table-view/column.ts","../../../../lib/ng-nest/ui/table-view/row.ts","../../../../lib/ng-nest/ui/table-view/table-view.property.ts","../../../../lib/ng-nest/ui/table-view/table-view.component.ts","../../../../lib/ng-nest/ui/table-view/table-view.component.html","../../../../lib/ng-nest/ui/table-view/table-view.module.ts","../../../../lib/ng-nest/ui/table-view/ng-nest-ui-table-view.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport type { XCell, XHeaderCell } from './cell';\r\nimport type { XRow } from './row';\r\n\r\n@Injectable()\r\nexport class XTableViewService {\r\n selectedCells: XCell[] = [];\r\n activedRows: XRow[] = [];\r\n selectedHeaderCell: XHeaderCell | null = null;\r\n activedHeaderCell: XHeaderCell | null = null;\r\n}\r\n","import { Directive, ElementRef, HostBinding, HostListener, inject, Input, TemplateRef } from '@angular/core';\r\nimport { XTableViewService } from './table-view.service';\r\nimport { XTableViewComponent } from './table-view.component';\r\n\r\n@Directive({\r\n selector: '[xCellDef]'\r\n})\r\nexport class XCellDef {\r\n @Input() xCellDef: string = '';\r\n template = inject<TemplateRef<any>>(TemplateRef);\r\n}\r\n\r\n@Directive({\r\n selector: '[xHeaderCellDef]'\r\n})\r\nexport class XHeaderCellDef {\r\n @Input() xHeaderCellDef: string = '';\r\n template = inject<TemplateRef<any>>(TemplateRef);\r\n}\r\n\r\n@Directive({\r\n selector: 'x-cell, td[x-cell]'\r\n})\r\nexport class XCell {\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n tableView = inject(XTableViewComponent, { optional: true });\r\n elementRef = inject(ElementRef);\r\n\r\n @HostBinding('class.x-cell') cellClass = true;\r\n @HostBinding('class.x-cell-selected') get isSelected() {\r\n return this.tableViewService.selectedCells.includes(this);\r\n }\r\n\r\n @HostListener('click') onClick() {\r\n this.tableViewService.selectedCells = [this];\r\n this.tableViewService.activedRows = [];\r\n this.setActivedRow(this);\r\n this.setActivedHeaderCell(this);\r\n }\r\n\r\n setActivedRow(cell: XCell) {\r\n const rows = this.tableView?.rows.toArray() ?? [];\r\n\r\n if (rows.length > 0) {\r\n const rowIndex = this.getRowIndex(cell);\r\n\r\n if (rowIndex >= 0 && rowIndex < rows.length) {\r\n const currentRow = rows[rowIndex];\r\n this.tableViewService.activedRows.push(currentRow);\r\n }\r\n }\r\n }\r\n\r\n setActivedHeaderCell(cell: XCell) {\r\n const headerCells = this.tableView?.headerCells.toArray() ?? [];\r\n\r\n if (headerCells.length > 0) {\r\n const columnIndex = this.getColumnIndex(cell);\r\n\r\n if (columnIndex >= 0 && columnIndex < headerCells.length) {\r\n this.tableViewService.activedHeaderCell = headerCells[columnIndex];\r\n }\r\n }\r\n }\r\n\r\n private getColumnIndex(cell: XCell): number {\r\n if (!this.tableView || !this.tableView.cells) return -1;\r\n\r\n const cellsArray = this.tableView.cells.toArray();\r\n const selectedIndex = cellsArray.indexOf(cell);\r\n\r\n if (selectedIndex === -1) return -1;\r\n\r\n const columnsPerRow = this.tableView.columns().length;\r\n const rowsCount = this.tableView.data().length;\r\n\r\n if (columnsPerRow === 0 || rowsCount === 0) return -1;\r\n\r\n return Math.floor(selectedIndex / rowsCount);\r\n }\r\n\r\n private getRowIndex(cell: XCell): number {\r\n if (!this.tableView || !this.tableView.cells) return -1;\r\n\r\n const cellsArray = this.tableView.cells.toArray();\r\n const selectedIndex = cellsArray.indexOf(cell);\r\n\r\n if (selectedIndex === -1) return -1;\r\n\r\n const columnsPerRow = this.tableView.columns().length;\r\n const rowsCount = this.tableView.data().length;\r\n\r\n if (columnsPerRow === 0 || rowsCount === 0) return -1;\r\n\r\n return selectedIndex % rowsCount;\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'x-header-cell, th[x-header-cell]'\r\n})\r\nexport class XHeaderCell {\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n tableView = inject(XTableViewComponent, { optional: true });\r\n\r\n @HostBinding('class.x-header-cell') cellClass = true;\r\n @HostBinding('class.x-header-cell-actived') get isActived() {\r\n return this.tableViewService.activedHeaderCell === this;\r\n }\r\n\r\n @HostListener('click') onClick() {\r\n this.tableViewService.activedHeaderCell = this;\r\n\r\n const headerCells = this.tableView?.headerCells.toArray() ?? [];\r\n const index = headerCells.indexOf(this);\r\n\r\n const cells = this.tableView?.cells.toArray() ?? [];\r\n const columnsCount = this.tableView?.columns().length ?? 0;\r\n const rowsCount = this.tableView?.data().length ?? 0;\r\n\r\n if (columnsCount === 0 || rowsCount === 0) {\r\n return;\r\n }\r\n\r\n const columnCells: any[] = [];\r\n for (let i = 0; i < rowsCount; i++) {\r\n const cellIndex = index * rowsCount + i;\r\n if (cellIndex < cells.length) {\r\n columnCells.push(cells[cellIndex]);\r\n }\r\n }\r\n\r\n this.tableViewService.selectedCells = [];\r\n\r\n for (let cell of columnCells) {\r\n this.tableViewService.selectedCells.push(cell);\r\n cell.setActivedRow(cell);\r\n }\r\n }\r\n}\r\n","import { Directive, Input, ContentChild } from '@angular/core';\r\nimport { XCellDef, XHeaderCellDef } from './cell';\r\n\r\n@Directive({\r\n selector: '[xColumnDef]'\r\n})\r\nexport class XColumnDef {\r\n @Input('xColumnDef') name!: string;\r\n\r\n @ContentChild(XCellDef, { static: true }) cell!: XCellDef;\r\n @ContentChild(XHeaderCellDef, { static: true }) header!: XHeaderCellDef;\r\n}\r\n","import { Directive, Input, OnInit, ViewContainerRef, TemplateRef, HostBinding, inject } from '@angular/core';\r\nimport { XTableViewService } from './table-view.service';\r\nimport { XTableViewComponent } from './table-view.component';\r\n\r\n@Directive({\r\n selector: '[xRowDef]'\r\n})\r\nexport class XRowDef implements OnInit {\r\n @Input('xRowDef') rowData: any;\r\n\r\n constructor(\r\n private vcr: ViewContainerRef,\r\n private tpl: TemplateRef<any>\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.vcr.createEmbeddedView(this.tpl, { $implicit: this.rowData });\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[xHeaderRowDef]'\r\n})\r\nexport class XHeaderRowDef implements OnInit {\r\n constructor(\r\n private vcr: ViewContainerRef,\r\n private tpl: TemplateRef<any>\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.vcr.createEmbeddedView(this.tpl);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'x-row, tr[x-row]'\r\n})\r\nexport class XRow {\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n tableView = inject(XTableViewComponent, { optional: true });\r\n\r\n @HostBinding('class.x-row-actived') get isActived() {\r\n return this.tableViewService.activedRows.includes(this);\r\n }\r\n}\r\n","import { Component, input } from '@angular/core';\r\nimport { XPropertyFunction } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Table view\r\n * @selector x-table-view\r\n * @decorator component\r\n */\r\nexport const XTableViewPrefix = 'x-table-view';\r\nconst X_TABLE_VIEW_CONFIG_NAME = 'tableView';\r\n\r\n/**\r\n * Table view Property\r\n */\r\n@Component({ selector: `${XTableViewPrefix}-property`, template: '' })\r\nexport class XTableViewProperty extends XPropertyFunction(X_TABLE_VIEW_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 数据\r\n * @en_US Row data\r\n */\r\n readonly data = input<any[]>([]);\r\n /**\r\n * @zh_CN 列数据\r\n * @en_US Columns data\r\n */\r\n readonly columns = input<string[]>([]);\r\n}\r\n","import {\r\n Component,\r\n ContentChildren,\r\n QueryList,\r\n AfterContentInit,\r\n HostBinding,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n inject,\r\n ViewChildren\r\n} from '@angular/core';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { XColumnDef } from './column';\r\nimport { XHeaderRowDef, XRow, XRowDef } from './row';\r\nimport { XTableViewProperty } from './table-view.property';\r\nimport { XTableViewService } from './table-view.service';\r\nimport { XCell, XHeaderCell } from './cell';\r\n\r\n@Component({\r\n selector: 'table[x-table-view]',\r\n templateUrl: './table-view.component.html',\r\n styleUrls: ['./table-view.component.scss'],\r\n imports: [NgTemplateOutlet, XRow, XRowDef, XHeaderRowDef],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XTableViewService]\r\n})\r\nexport class XTableViewComponent extends XTableViewProperty implements AfterContentInit {\r\n @HostBinding('class.x-table-view') hostClass = true;\r\n\r\n @ContentChildren(XColumnDef) columnDefs!: QueryList<XColumnDef>;\r\n @ContentChildren(XHeaderCell) headerCells!: QueryList<XHeaderCell>;\r\n @ContentChildren(XCell) cells!: QueryList<XCell>;\r\n @ViewChildren(XRow) rows!: QueryList<XRow>;\r\n columnMap: Record<string, XColumnDef> = {};\r\n tableViewService = inject(XTableViewService);\r\n\r\n ngAfterContentInit() {\r\n for (const def of this.columnDefs.toArray()) {\r\n this.columnMap[def.name] = def;\r\n }\r\n }\r\n}\r\n","<thead>\r\n <tr *xHeaderRowDef>\r\n @for (columnName of columns(); track columnName) {\r\n <ng-container *ngTemplateOutlet=\"columnMap[columnName]?.header?.template\"></ng-container>\r\n }\r\n </tr>\r\n</thead>\r\n<tbody>\r\n @for (row of data(); track row) {\r\n <tr x-row *xRowDef=\"row\">\r\n @for (columnName of columns(); track columnName) {\r\n <ng-container\r\n *ngTemplateOutlet=\"columnMap[columnName]?.cell?.template; context: { $implicit: row }\"\r\n ></ng-container>\r\n }\r\n </tr>\r\n }\r\n</tbody>\r\n","import { NgModule } from '@angular/core';\r\nimport { XTableViewComponent } from './table-view.component';\r\nimport { XCell, XCellDef, XHeaderCell, XHeaderCellDef } from './cell';\r\nimport { XColumnDef } from './column';\r\n\r\n@NgModule({\r\n exports: [XTableViewComponent, XCell, XHeaderCell, XCellDef, XHeaderCellDef, XColumnDef],\r\n imports: [XTableViewComponent, XCell, XHeaderCell, XCellDef, XHeaderCellDef, XColumnDef]\r\n})\r\nexport class XTableViewModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-table-view.mjs","sources":["../../../../lib/ng-nest/ui/table-view/table-view.service.ts","../../../../lib/ng-nest/ui/table-view/table-view.property.ts","../../../../lib/ng-nest/ui/table-view/row.ts","../../../../lib/ng-nest/ui/table-view/table-view.component.ts","../../../../lib/ng-nest/ui/table-view/table-view.component.html","../../../../lib/ng-nest/ui/table-view/cell.ts","../../../../lib/ng-nest/ui/table-view/text-column.ts","../../../../lib/ng-nest/ui/table-view/table-view.module.ts","../../../../lib/ng-nest/ui/table-view/ng-nest-ui-table-view.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport type { XTableViewCell, XTableHeaderCell } from './cell';\r\nimport type { XTableHeaderRow, XTableViewRow } from './row';\r\n\r\n@Injectable()\r\nexport class XTableViewService {\r\n selectedCells: XTableViewCell[] = [];\r\n activedRows: XTableViewRow[] = [];\r\n selectedHeaderCell: XTableHeaderCell | null = null;\r\n activedHeaderCells: XTableHeaderCell[] = [];\r\n stickyHeaderRows: XTableHeaderRow[] = [];\r\n}\r\n","import { CdkTable } from '@angular/cdk/table';\r\nimport { Component, inject } from '@angular/core';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Table view\r\n * @selector x-table-view\r\n * @decorator component\r\n */\r\nexport const XTableViewPrefix = 'x-table-view';\r\nconst X_TABLE_VIEW_CONFIG_NAME = 'tableView';\r\n\r\n/**\r\n * Table view Property\r\n */\r\n@Component({ selector: `${XTableViewPrefix}-property`, template: '' })\r\nexport class XTableViewProperty<T> extends CdkTable<T> {\r\n config = inject(XConfigService).getConfigForComponent(X_TABLE_VIEW_CONFIG_NAME);\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Directive,\r\n HostBinding,\r\n ViewEncapsulation,\r\n booleanAttribute,\r\n inject,\r\n signal\r\n} from '@angular/core';\r\nimport {\r\n CdkCellOutlet,\r\n CdkFooterRow,\r\n CdkFooterRowDef,\r\n CdkHeaderRow,\r\n CdkHeaderRowDef,\r\n CdkNoDataRow,\r\n CdkRow,\r\n CdkRowDef\r\n} from '@angular/cdk/table';\r\nimport { XTableViewService } from './table-view.service';\r\nimport { XTableView } from './table-view.component';\r\n\r\nconst ROW_TEMPLATE = `<ng-container cdkCellOutlet></ng-container>`;\r\n\r\n@Directive({\r\n selector: '[xTableHeaderRowDef]',\r\n providers: [{ provide: CdkHeaderRowDef, useExisting: XTableHeaderRowDef }],\r\n inputs: [\r\n { name: 'columns', alias: 'xTableHeaderRowDef' },\r\n { name: 'sticky', alias: 'xTableHeaderRowDefSticky', transform: booleanAttribute }\r\n ]\r\n})\r\nexport class XTableHeaderRowDef extends CdkHeaderRowDef {}\r\n\r\n@Directive({\r\n selector: '[xTableFooterRowDef]',\r\n providers: [{ provide: CdkFooterRowDef, useExisting: XTableFooterRowDef }],\r\n inputs: [\r\n { name: 'columns', alias: 'xTableFooterRowDef' },\r\n { name: 'sticky', alias: 'xTableFooterRowDefSticky', transform: booleanAttribute }\r\n ]\r\n})\r\nexport class XTableFooterRowDef extends CdkFooterRowDef {}\r\n\r\n@Directive({\r\n selector: '[xTableRowDef]',\r\n providers: [{ provide: CdkRowDef, useExisting: XTableViewRowDef }],\r\n inputs: [\r\n { name: 'columns', alias: 'xTableRowDefColumns' },\r\n { name: 'when', alias: 'xTableRowDefWhen' }\r\n ]\r\n})\r\nexport class XTableViewRowDef<T> extends CdkRowDef<T> {}\r\n\r\n@Component({\r\n selector: 'x-table-header-row, tr[x-table-header-row]',\r\n template: ROW_TEMPLATE,\r\n host: {\r\n class: 'x-table-header-row',\r\n role: 'row'\r\n },\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'xTableHeaderRow',\r\n providers: [{ provide: CdkHeaderRow, useExisting: XTableHeaderRow }],\r\n imports: [CdkCellOutlet]\r\n})\r\nexport class XTableHeaderRow extends CdkHeaderRow {\r\n tableView = inject(XTableView, { optional: true });\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n sticking = signal(false);\r\n\r\n @HostBinding('class.x-table-sticky-top') get isSticking() {\r\n return this.sticking();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.listenerSticky();\r\n }\r\n\r\n listenerSticky() {\r\n const index = this.tableView?.headerRows().findIndex((x) => x === this);\r\n if (index === undefined || index < 0) return;\r\n const rowLen = this.tableView?.headerRowRefs()?.length ?? 0;\r\n if (rowLen === 0 || rowLen < index) return;\r\n const sticky = this.tableView?.headerRowRefs()[index].sticky;\r\n if (!sticky) return;\r\n const sentinel = this.tableView?.sentinelTop()!.nativeElement!;\r\n const observer = new IntersectionObserver(\r\n ([entry]) => {\r\n const sticking = !entry.isIntersecting;\r\n if (sticking) {\r\n if (!this.tableViewService.stickyHeaderRows.includes(this)) {\r\n this.tableViewService.stickyHeaderRows.push(this);\r\n }\r\n } else {\r\n if (this.tableViewService.stickyHeaderRows.includes(this)) {\r\n this.tableViewService.stickyHeaderRows = this.tableViewService.stickyHeaderRows.filter(\r\n (item) => item !== this\r\n );\r\n }\r\n }\r\n this.sticking.set(sticking);\r\n },\r\n { threshold: 0 }\r\n );\r\n\r\n observer.observe(sentinel);\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'x-table-footer-row, tr[x-table-footer-row]',\r\n template: ROW_TEMPLATE,\r\n host: {\r\n class: 'x-table-footer-row',\r\n role: 'row'\r\n },\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'xTableFooterRow',\r\n providers: [{ provide: CdkFooterRow, useExisting: XTableFooterRow }],\r\n imports: [CdkCellOutlet]\r\n})\r\nexport class XTableFooterRow extends CdkFooterRow {}\r\n\r\n@Component({\r\n selector: 'x-table-row, tr[x-table-row]',\r\n template: ROW_TEMPLATE,\r\n host: {\r\n class: 'x-table-row',\r\n role: 'row'\r\n },\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'xTableRow',\r\n providers: [{ provide: CdkRow, useExisting: XTableViewRow }],\r\n imports: [CdkCellOutlet]\r\n})\r\nexport class XTableViewRow extends CdkRow {\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n\r\n @HostBinding('class.x-table-row-actived') get isActived() {\r\n return this.tableViewService.activedRows.includes(this);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'ng-template[xTableNoDataRow]',\r\n providers: [{ provide: CdkNoDataRow, useExisting: XTableNoDataRow }]\r\n})\r\nexport class XTableNoDataRow extends CdkNoDataRow {\r\n override _contentClassName = 'x-table-no-data-row';\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n contentChild,\r\n contentChildren,\r\n ElementRef,\r\n inject,\r\n viewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {\r\n CdkTable,\r\n CDK_TABLE,\r\n STICKY_POSITIONING_LISTENER,\r\n HeaderRowOutlet,\r\n DataRowOutlet,\r\n NoDataRowOutlet,\r\n FooterRowOutlet\r\n} from '@angular/cdk/table';\r\nimport {\r\n _DisposeViewRepeaterStrategy,\r\n _RecycleViewRepeaterStrategy,\r\n _VIEW_REPEATER_STRATEGY\r\n} from '@angular/cdk/collections';\r\nimport { XTableViewProperty } from './table-view.property';\r\nimport { XTableViewService } from './table-view.service';\r\nimport { XTableViewCell, XTableColumnDef, XTableHeaderCell } from './cell';\r\nimport { XTableHeaderRow, XTableHeaderRowDef, XTableViewRow } from './row';\r\n\r\n@Component({\r\n selector: 'x-table-view, table[x-table-view]',\r\n exportAs: 'xTableView',\r\n templateUrl: 'table-view.component.html',\r\n styleUrl: 'table-view.component.scss',\r\n host: {\r\n class: 'x-table-view',\r\n '[class.x-table-fixed-layout]': 'fixedLayout'\r\n },\r\n providers: [\r\n { provide: CdkTable, useExisting: XTableView },\r\n { provide: CDK_TABLE, useExisting: XTableView },\r\n // Prevent nested tables from seeing this table's StickyPositioningListener.\r\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\r\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\r\n XTableViewService\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n imports: [HeaderRowOutlet, DataRowOutlet, NoDataRowOutlet, FooterRowOutlet]\r\n})\r\nexport class XTableView<T> extends XTableViewProperty<T> {\r\n elementRef = inject(ElementRef);\r\n sentinelTop = viewChild<ElementRef<HTMLElement>>('sentinelTop');\r\n headerRowRef = contentChild(XTableHeaderRowDef);\r\n headerRowRefs = contentChildren(XTableHeaderRowDef);\r\n headerRows = contentChildren(XTableHeaderRow);\r\n columnDefs = contentChildren(XTableColumnDef);\r\n headerCells = contentChildren(XTableHeaderCell);\r\n\r\n cells = contentChildren(XTableViewCell);\r\n rows = contentChildren(XTableViewRow);\r\n\r\n /** Overrides the sticky CSS class set by the `CdkTable`. */\r\n protected override stickyCssClass = 'x-table-sticky';\r\n\r\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\r\n protected override needsPositionStickyOnElement = false;\r\n}\r\n","<ng-content select=\"caption\" />\r\n<ng-content select=\"colgroup, col\" />\r\n\r\n<!--\r\n Unprojected content throws a hydration error so we need this to capture it.\r\n It gets removed on the client so it doesn't affect the layout.\r\n -->\r\n@if (_isServer) {\r\n <ng-content />\r\n}\r\n<div class=\"x-table-sentinel-top\" #sentinelTop></div>\r\n@if (_isNativeHtmlTable) {\r\n <thead>\r\n <ng-container headerRowOutlet />\r\n </thead>\r\n <tbody>\r\n <ng-container rowOutlet />\r\n <ng-container noDataRowOutlet />\r\n </tbody>\r\n <tfoot>\r\n <ng-container footerRowOutlet />\r\n </tfoot>\r\n} @else {\r\n <ng-container headerRowOutlet />\r\n <ng-container rowOutlet />\r\n <ng-container noDataRowOutlet />\r\n <ng-container footerRowOutlet />\r\n}\r\n","import { Directive, ElementRef, HostBinding, HostListener, inject, Input } from '@angular/core';\r\nimport {\r\n CdkCell,\r\n CdkCellDef,\r\n CdkColumnDef,\r\n CdkFooterCell,\r\n CdkFooterCellDef,\r\n CdkHeaderCell,\r\n CdkHeaderCellDef\r\n} from '@angular/cdk/table';\r\nimport { XTableViewService } from './table-view.service';\r\nimport { XTableView } from './table-view.component';\r\n\r\n@Directive({\r\n selector: '[xTableCellDef]',\r\n providers: [{ provide: CdkCellDef, useExisting: XTableViewCellDef }]\r\n})\r\nexport class XTableViewCellDef extends CdkCellDef {}\r\n\r\n@Directive({\r\n selector: '[xTableHeaderCellDef]',\r\n providers: [{ provide: CdkHeaderCellDef, useExisting: XTableHeaderCellDef }]\r\n})\r\nexport class XTableHeaderCellDef extends CdkHeaderCellDef {}\r\n\r\n@Directive({\r\n selector: '[xTableFooterCellDef]',\r\n providers: [{ provide: CdkFooterCellDef, useExisting: XTableFooterCellDef }]\r\n})\r\nexport class XTableFooterCellDef extends CdkFooterCellDef {}\r\n\r\n@Directive({\r\n selector: '[xTableColumnDef]',\r\n providers: [{ provide: CdkColumnDef, useExisting: XTableColumnDef }]\r\n})\r\nexport class XTableColumnDef extends CdkColumnDef {\r\n @Input('xTableColumnDef')\r\n override get name(): string {\r\n return this._name;\r\n }\r\n override set name(name: string) {\r\n this._setNameInput(name);\r\n }\r\n protected override _updateColumnCssClassName() {\r\n super._updateColumnCssClassName();\r\n this._columnCssClassName!.push(`x-table-column-${this.cssClassFriendlyName}`);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'x-table-header-cell, th[x-table-header-cell]',\r\n host: {\r\n class: 'x-table-header-cell',\r\n role: 'columnheader'\r\n }\r\n})\r\nexport class XTableHeaderCell extends CdkHeaderCell {\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n tableView = inject(XTableView, { optional: true });\r\n elementRef = inject(ElementRef);\r\n\r\n @HostBinding('class.x-table-header-cell-actived') get isActived() {\r\n return this.tableViewService.activedHeaderCells.includes(this);\r\n }\r\n\r\n @HostListener('click') onClick() {\r\n this.tableViewService.activedHeaderCells = [this];\r\n\r\n const headerCells = this.tableView?.headerCells() ?? [];\r\n const index = headerCells.indexOf(this);\r\n\r\n const cells = this.tableView?.cells() ?? [];\r\n const columnsCount = (this.tableView?.headerRowRef()?.columns as string[]).length ?? 0;\r\n const rowsCount = this.tableView?.rows().length ?? 0;\r\n\r\n if (columnsCount === 0 || rowsCount === 0) {\r\n return;\r\n }\r\n\r\n const columnCells: XTableViewCell[] = [];\r\n for (let i = 0; i < rowsCount; i++) {\r\n const cellIndex = index * rowsCount + i;\r\n if (cellIndex < cells.length) {\r\n columnCells.push(cells[cellIndex]);\r\n }\r\n }\r\n\r\n this.tableViewService.selectedCells = [];\r\n\r\n for (let cell of columnCells) {\r\n this.tableViewService.selectedCells.push(cell);\r\n cell.setActivedRow(cell);\r\n }\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'x-table-footer-cell, td[x-table-footer-cell]',\r\n host: {\r\n class: 'x-table-footer-cell'\r\n }\r\n})\r\nexport class XTableFooterCell extends CdkFooterCell {}\r\n\r\n@Directive({\r\n selector: 'x-table-cell, td[x-table-cell]',\r\n host: {\r\n class: 'x-table-cell'\r\n }\r\n})\r\nexport class XTableViewCell extends CdkCell {\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n tableView = inject(XTableView, { optional: true });\r\n elementRef = inject(ElementRef);\r\n @HostBinding('class.x-table-cell-selected') get isSelected() {\r\n return this.tableViewService.selectedCells.includes(this);\r\n }\r\n\r\n @HostListener('click') onClick() {\r\n this.tableViewService.selectedCells = [this];\r\n this.tableViewService.activedRows = [];\r\n this.setActivedRow(this);\r\n this.setActivedColumn(this);\r\n }\r\n\r\n setActivedRow(cell: XTableViewCell) {\r\n const rows = this.tableView?.rows() ?? [];\r\n if (rows.length > 0) {\r\n const rowIndex = this.getRowIndex(cell);\r\n if (rowIndex >= 0 && rowIndex < rows.length) {\r\n const currentRow = rows[rowIndex];\r\n this.tableViewService.activedRows.push(currentRow);\r\n }\r\n }\r\n }\r\n\r\n setActivedColumn(cell: XTableViewCell) {\r\n const headerCells = (this.tableView?.headerCells() ?? []) as XTableHeaderCell[];\r\n const headerRowRefs = this.tableView?.headerRowRefs() ?? [];\r\n const headerCellsArray = this.convertToColumnBasedArray(headerCells, headerRowRefs.length);\r\n const activedHeaderCells: XTableHeaderCell[] = [];\r\n for (let cells of headerCellsArray) {\r\n if (cells.length > 0) {\r\n const columnIndex = this.getColumnIndex(cell);\r\n if (columnIndex >= 0 && columnIndex < cells.length) {\r\n activedHeaderCells.push(cells[columnIndex]);\r\n }\r\n }\r\n }\r\n this.tableViewService.activedHeaderCells = activedHeaderCells;\r\n }\r\n\r\n private convertToColumnBasedArray<T>(input: T[], columnsPerRow: number): T[][] {\r\n const result: T[][] = [];\r\n\r\n for (let i = 0; i < columnsPerRow; i++) {\r\n result.push([]);\r\n }\r\n\r\n for (let i = 0; i < input.length; i++) {\r\n const columnIndex = i % columnsPerRow;\r\n result[columnIndex].push(input[i]);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private getColumnIndex(cell: XTableViewCell): number {\r\n if (!this.tableView || !this.tableView.cells()) return -1;\r\n const cellsArray = this.tableView.cells();\r\n const selectedIndex = cellsArray.indexOf(cell);\r\n if (selectedIndex === -1) return -1;\r\n const columnsPerRow = (this.tableView.headerRowRef()?.columns as string[]).length ?? 0;\r\n const rowsCount = this.tableView.rows().length;\r\n if (columnsPerRow === 0 || rowsCount === 0) return -1;\r\n\r\n return Math.floor(selectedIndex / rowsCount);\r\n }\r\n\r\n private getRowIndex(cell: XTableViewCell): number {\r\n if (!this.tableView || !this.tableView.cells()) return -1;\r\n const cellsArray = this.tableView.cells();\r\n const selectedIndex = cellsArray.indexOf(cell);\r\n if (selectedIndex === -1) return -1;\r\n const columnsPerRow = (this.tableView.headerRowRef()?.columns as string[]).length ?? 0;\r\n const rowsCount = this.tableView.rows().length;\r\n if (columnsPerRow === 0 || rowsCount === 0) return -1;\r\n\r\n return selectedIndex % rowsCount;\r\n }\r\n}\r\n","import { CdkTextColumn } from '@angular/cdk/table';\r\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\nimport { XTableColumnDef, XTableHeaderCellDef, XTableHeaderCell, XTableViewCellDef, XTableViewCell } from './cell';\r\n\r\n@Component({\r\n selector: 'x-table-text-column',\r\n template: `\r\n <ng-container xTableColumnDef>\r\n <th x-table-header-cell *xTableHeaderCellDef [style.text-align]=\"justify\">\r\n {{ headerText }}\r\n </th>\r\n <td x-table-cell *xTableCellDef=\"let data\" [style.text-align]=\"justify\">\r\n {{ dataAccessor(data, name) }}\r\n </td>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n imports: [XTableColumnDef, XTableHeaderCellDef, XTableHeaderCell, XTableViewCellDef, XTableViewCell]\r\n})\r\nexport class XTableTextColumn<T> extends CdkTextColumn<T> {}\r\n","import { NgModule } from '@angular/core';\r\nimport {\r\n XTableViewCell,\r\n XTableViewCellDef,\r\n XTableColumnDef,\r\n XTableFooterCell,\r\n XTableFooterCellDef,\r\n XTableHeaderCell,\r\n XTableHeaderCellDef\r\n} from './cell';\r\nimport {\r\n XTableFooterRow,\r\n XTableFooterRowDef,\r\n XTableHeaderRow,\r\n XTableHeaderRowDef,\r\n XTableNoDataRow,\r\n XTableViewRow,\r\n XTableViewRowDef\r\n} from './row';\r\nimport { XTableView } from './table-view.component';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { XTableTextColumn } from './text-column';\r\n\r\nconst EXPORTED_DECLARATIONS = [\r\n // Table\r\n XTableView,\r\n\r\n // Template defs\r\n XTableHeaderCellDef,\r\n XTableHeaderRowDef,\r\n XTableColumnDef,\r\n XTableViewCellDef,\r\n XTableViewRowDef,\r\n XTableFooterCellDef,\r\n XTableFooterRowDef,\r\n\r\n // Cell directives\r\n XTableHeaderCell,\r\n XTableViewCell,\r\n XTableFooterCell,\r\n\r\n // Row directives\r\n XTableHeaderRow,\r\n XTableViewRow,\r\n XTableFooterRow,\r\n XTableNoDataRow,\r\n\r\n XTableTextColumn\r\n];\r\n\r\n@NgModule({\r\n exports: [...EXPORTED_DECLARATIONS],\r\n imports: [CdkTableModule, ...EXPORTED_DECLARATIONS]\r\n})\r\nexport class XTableViewModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}