@simplysm/angular 14.0.41 → 14.0.43

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 (256) hide show
  1. package/dist/controls/button/sd-additional-button.js +1 -1
  2. package/dist/controls/button/sd-anchor.js +1 -1
  3. package/dist/controls/button/sd-button.js +1 -1
  4. package/dist/controls/button/sd-modal-select-button.d.ts +1 -1
  5. package/dist/controls/button/sd-modal-select-button.d.ts.map +1 -1
  6. package/dist/controls/button/sd-modal-select-button.js +8 -6
  7. package/dist/controls/checkbox/sd-checkbox-group-item.js +1 -1
  8. package/dist/controls/checkbox/sd-checkbox-group.js +1 -1
  9. package/dist/controls/checkbox/sd-checkbox.js +1 -1
  10. package/dist/controls/checkbox/sd-switch.js +1 -1
  11. package/dist/controls/collapse/sd-collapse-icon.d.ts +2 -4
  12. package/dist/controls/collapse/sd-collapse-icon.d.ts.map +1 -1
  13. package/dist/controls/collapse/sd-collapse-icon.js +7 -7
  14. package/dist/controls/collapse/sd-collapse.d.ts +1 -1
  15. package/dist/controls/collapse/sd-collapse.d.ts.map +1 -1
  16. package/dist/controls/collapse/sd-collapse.js +8 -7
  17. package/dist/controls/dropdown/sd-dropdown-popup.d.ts +2 -0
  18. package/dist/controls/dropdown/sd-dropdown-popup.d.ts.map +1 -1
  19. package/dist/controls/dropdown/sd-dropdown-popup.js +21 -8
  20. package/dist/controls/dropdown/sd-dropdown.d.ts.map +1 -1
  21. package/dist/controls/dropdown/sd-dropdown.js +5 -16
  22. package/dist/controls/form/sd-form.js +1 -1
  23. package/dist/controls/gap/sd-gap.js +5 -5
  24. package/dist/controls/input/sd-date-range-picker.d.ts +1 -0
  25. package/dist/controls/input/sd-date-range-picker.d.ts.map +1 -1
  26. package/dist/controls/input/sd-date-range-picker.js +14 -19
  27. package/dist/controls/input/sd-numpad.js +3 -3
  28. package/dist/controls/input/sd-range.js +1 -1
  29. package/dist/controls/input/sd-textarea.js +2 -2
  30. package/dist/controls/input/sd-textfield-type-handlers.js +2 -2
  31. package/dist/controls/input/sd-textfield.js +9 -9
  32. package/dist/controls/list/sd-list-item.d.ts +0 -1
  33. package/dist/controls/list/sd-list-item.d.ts.map +1 -1
  34. package/dist/controls/list/sd-list-item.js +38 -38
  35. package/dist/controls/list/sd-list.d.ts.map +1 -1
  36. package/dist/controls/list/sd-list.js +3 -3
  37. package/dist/controls/pagination/sd-pagination.js +1 -1
  38. package/dist/controls/select/sd-select-button.d.ts.map +1 -1
  39. package/dist/controls/select/sd-select-button.js +4 -8
  40. package/dist/controls/select/sd-select-item.d.ts +3 -3
  41. package/dist/controls/select/sd-select-item.d.ts.map +1 -1
  42. package/dist/controls/select/sd-select-item.js +27 -20
  43. package/dist/controls/select/sd-select.d.ts +5 -4
  44. package/dist/controls/select/sd-select.d.ts.map +1 -1
  45. package/dist/controls/select/sd-select.js +20 -17
  46. package/dist/controls/tab/sd-tab-item.js +1 -1
  47. package/dist/controls/tab/sd-tab.js +1 -1
  48. package/dist/core/app-structure/sd-app-structure.utils.js +1 -1
  49. package/dist/core/busy/sd-busy-container.d.ts.map +1 -1
  50. package/dist/core/busy/sd-busy-container.js +62 -68
  51. package/dist/core/busy/sd-busy.provider.js +1 -1
  52. package/dist/core/commands/sd-command.d.ts +13 -0
  53. package/dist/core/commands/sd-command.d.ts.map +1 -0
  54. package/dist/core/commands/sd-command.js +52 -0
  55. package/dist/core/error-handler/sd-global-error-handler.plugin.js +1 -1
  56. package/dist/core/events/sd-events.d.ts +1 -6
  57. package/dist/core/events/sd-events.d.ts.map +1 -1
  58. package/dist/core/events/sd-events.js +3 -11
  59. package/dist/core/events/sd-intersection.d.ts +13 -0
  60. package/dist/core/events/sd-intersection.d.ts.map +1 -0
  61. package/dist/core/events/sd-intersection.js +27 -0
  62. package/dist/core/events/sd-resize.d.ts +16 -0
  63. package/dist/core/events/sd-resize.d.ts.map +1 -0
  64. package/dist/core/events/{sd-resize-event.plugin.js → sd-resize.js} +18 -20
  65. package/dist/core/file-dialog/sd-file-dialog.provider.js +1 -1
  66. package/dist/core/modal/injectDragResize.js +9 -9
  67. package/dist/core/modal/injectFocusTrap.js +1 -1
  68. package/dist/core/modal/sd-confirm-modal.js +1 -1
  69. package/dist/core/modal/sd-modal.d.ts +9 -1
  70. package/dist/core/modal/sd-modal.d.ts.map +1 -1
  71. package/dist/core/modal/sd-modal.js +140 -42
  72. package/dist/core/modal/sd-modal.provider.d.ts +1 -0
  73. package/dist/core/modal/sd-modal.provider.d.ts.map +1 -1
  74. package/dist/core/modal/sd-modal.provider.js +5 -5
  75. package/dist/core/modal/sd-prompt-modal.js +1 -1
  76. package/dist/core/provideSdAngular.d.ts.map +1 -1
  77. package/dist/core/provideSdAngular.js +0 -10
  78. package/dist/core/ripple/setupRipple.js +5 -5
  79. package/dist/core/routing/menu-utils.js +1 -1
  80. package/dist/core/routing/sd-navigate-window.provider.js +1 -1
  81. package/dist/core/routing/sd-router-link.js +1 -1
  82. package/dist/core/selection/setupCumulateSelectedKeys.js +3 -3
  83. package/dist/core/setupModelHook.js +1 -1
  84. package/dist/core/toast/sd-toast-container.d.ts +1 -1
  85. package/dist/core/toast/sd-toast-container.js +3 -7
  86. package/dist/core/toast/sd-toast.d.ts.map +1 -1
  87. package/dist/core/toast/sd-toast.js +27 -24
  88. package/dist/core/toast/sd-toast.provider.js +6 -6
  89. package/dist/core/validation/setupInvalid.js +2 -1
  90. package/dist/data/data-detail/sd-data-detail.d.ts +2 -1
  91. package/dist/data/data-detail/sd-data-detail.d.ts.map +1 -1
  92. package/dist/data/data-detail/sd-data-detail.js +37 -33
  93. package/dist/data/data-select-button/sd-data-select-button.js +1 -1
  94. package/dist/data/data-sheet/sd-data-sheet.d.ts +2 -1
  95. package/dist/data/data-sheet/sd-data-sheet.d.ts.map +1 -1
  96. package/dist/data/data-sheet/sd-data-sheet.js +99 -59
  97. package/dist/data/kanban/sd-kanban-board.js +1 -1
  98. package/dist/data/kanban/sd-kanban-lane.js +1 -1
  99. package/dist/data/kanban/sd-kanban.d.ts +1 -1
  100. package/dist/data/kanban/sd-kanban.d.ts.map +1 -1
  101. package/dist/data/kanban/sd-kanban.js +4 -4
  102. package/dist/data/permission-table/sd-permission-table.js +6 -6
  103. package/dist/data/shared-data/sd-shared-data-select-button.js +1 -1
  104. package/dist/data/shared-data/sd-shared-data-select-list.js +3 -3
  105. package/dist/data/shared-data/sd-shared-data-select.d.ts +1 -1
  106. package/dist/data/shared-data/sd-shared-data-select.d.ts.map +1 -1
  107. package/dist/data/shared-data/sd-shared-data-select.js +29 -54
  108. package/dist/data/sheet/injectSheetDomAccessor.d.ts +6 -2
  109. package/dist/data/sheet/injectSheetDomAccessor.d.ts.map +1 -1
  110. package/dist/data/sheet/injectSheetDomAccessor.js +27 -22
  111. package/dist/data/sheet/injectSheetSelectRowIndicator.d.ts +10 -0
  112. package/dist/data/sheet/injectSheetSelectRowIndicator.d.ts.map +1 -0
  113. package/dist/data/sheet/injectSheetSelectRowIndicator.js +55 -0
  114. package/dist/data/sheet/sd-sheet-column-cell-template.d.ts +9 -0
  115. package/dist/data/sheet/sd-sheet-column-cell-template.d.ts.map +1 -0
  116. package/dist/data/sheet/sd-sheet-column-cell-template.js +17 -0
  117. package/dist/data/sheet/sd-sheet-column.d.ts +10 -7
  118. package/dist/data/sheet/sd-sheet-column.d.ts.map +1 -1
  119. package/dist/data/sheet/sd-sheet-column.js +10 -6
  120. package/dist/data/sheet/sd-sheet-config.modal.d.ts +19 -20
  121. package/dist/data/sheet/sd-sheet-config.modal.d.ts.map +1 -1
  122. package/dist/data/sheet/sd-sheet-config.modal.js +357 -217
  123. package/dist/data/sheet/sd-sheet.d.ts +30 -15
  124. package/dist/data/sheet/sd-sheet.d.ts.map +1 -1
  125. package/dist/data/sheet/sd-sheet.js +617 -274
  126. package/dist/data/sheet/types.d.ts +2 -0
  127. package/dist/data/sheet/types.d.ts.map +1 -1
  128. package/dist/data/sheet/useSheetCellAgent.js +6 -6
  129. package/dist/data/sheet/useSheetCellStyling.d.ts.map +1 -1
  130. package/dist/data/sheet/useSheetCellStyling.js +11 -5
  131. package/dist/data/sheet/useSheetFocusIndicator.d.ts +7 -0
  132. package/dist/data/sheet/useSheetFocusIndicator.d.ts.map +1 -0
  133. package/dist/data/sheet/useSheetFocusIndicator.js +53 -0
  134. package/dist/data/sheet/useSheetLayoutEngine.d.ts.map +1 -1
  135. package/dist/data/sheet/useSheetLayoutEngine.js +3 -1
  136. package/dist/data/state-preset/sd-state-preset.d.ts.map +1 -1
  137. package/dist/data/state-preset/sd-state-preset.js +14 -14
  138. package/dist/features/address/sd-address-search.modal.js +3 -3
  139. package/dist/features/editor/sd-tiptap-editor.js +6 -6
  140. package/dist/features/editor/useTiptapToolbar.js +2 -2
  141. package/dist/features/theme/sd-theme-selector.js +1 -1
  142. package/dist/features/visual/sd-barcode.js +1 -1
  143. package/dist/features/visual/sd-calendar.js +2 -2
  144. package/dist/features/visual/sd-echarts.d.ts +2 -1
  145. package/dist/features/visual/sd-echarts.d.ts.map +1 -1
  146. package/dist/features/visual/sd-echarts.js +5 -3
  147. package/dist/features/visual/sd-label.js +1 -1
  148. package/dist/features/visual/sd-note.js +1 -1
  149. package/dist/features/visual/sd-progress.js +1 -1
  150. package/dist/index.d.ts +5 -6
  151. package/dist/index.d.ts.map +1 -1
  152. package/dist/index.js +4 -5
  153. package/dist/layout/base-container/sd-base-container.js +3 -3
  154. package/dist/layout/dock/sd-dock-container.js +1 -1
  155. package/dist/layout/dock/sd-dock.d.ts +3 -2
  156. package/dist/layout/dock/sd-dock.d.ts.map +1 -1
  157. package/dist/layout/dock/sd-dock.js +6 -4
  158. package/dist/layout/sidebar/sd-sidebar-container.js +5 -5
  159. package/dist/layout/sidebar/sd-sidebar-menu.d.ts.map +1 -1
  160. package/dist/layout/sidebar/sd-sidebar-menu.js +7 -6
  161. package/dist/layout/sidebar/sd-sidebar-user.js +1 -1
  162. package/dist/layout/sidebar/sd-sidebar.js +1 -1
  163. package/dist/layout/topbar/sd-topbar-container.js +1 -1
  164. package/dist/layout/topbar/sd-topbar-menu.d.ts.map +1 -1
  165. package/dist/layout/topbar/sd-topbar-menu.js +7 -7
  166. package/dist/layout/topbar/sd-topbar-user.js +1 -1
  167. package/dist/layout/topbar/sd-topbar.js +3 -3
  168. package/package.json +6 -6
  169. package/src/controls/button/sd-modal-select-button.ts +7 -2
  170. package/src/controls/collapse/sd-collapse-icon.ts +3 -4
  171. package/src/controls/collapse/sd-collapse.ts +4 -5
  172. package/src/controls/dropdown/sd-dropdown-popup.ts +15 -2
  173. package/src/controls/dropdown/sd-dropdown.ts +4 -16
  174. package/src/controls/gap/sd-gap.ts +4 -4
  175. package/src/controls/input/sd-date-range-picker.ts +13 -16
  176. package/src/controls/input/sd-numpad.ts +1 -1
  177. package/src/controls/input/sd-textarea.ts +1 -1
  178. package/src/controls/input/sd-textfield-type-handlers.ts +2 -2
  179. package/src/controls/input/sd-textfield.ts +6 -6
  180. package/src/controls/list/sd-list-item.ts +40 -26
  181. package/src/controls/list/sd-list.ts +2 -1
  182. package/src/controls/select/sd-select-button.ts +8 -11
  183. package/src/controls/select/sd-select-item.ts +35 -27
  184. package/src/controls/select/sd-select.ts +111 -41
  185. package/src/core/app-structure/sd-app-structure.utils.ts +1 -1
  186. package/src/core/busy/sd-busy-container.ts +235 -123
  187. package/src/core/busy/sd-busy.provider.ts +1 -1
  188. package/src/core/commands/sd-command.ts +46 -0
  189. package/src/core/error-handler/sd-global-error-handler.plugin.ts +1 -1
  190. package/src/core/events/sd-events.ts +1 -12
  191. package/src/core/events/sd-intersection.ts +29 -0
  192. package/src/core/events/{sd-resize-event.plugin.ts → sd-resize.ts} +17 -24
  193. package/src/core/file-dialog/sd-file-dialog.provider.ts +1 -1
  194. package/src/core/modal/injectDragResize.ts +9 -9
  195. package/src/core/modal/injectFocusTrap.ts +1 -1
  196. package/src/core/modal/sd-modal.provider.ts +6 -5
  197. package/src/core/modal/sd-modal.ts +121 -42
  198. package/src/core/provideSdAngular.ts +0 -10
  199. package/src/core/ripple/setupRipple.ts +5 -5
  200. package/src/core/routing/menu-utils.ts +1 -1
  201. package/src/core/routing/sd-navigate-window.provider.ts +1 -1
  202. package/src/core/routing/sd-router-link.ts +1 -1
  203. package/src/core/selection/setupCumulateSelectedKeys.ts +3 -3
  204. package/src/core/setupModelHook.ts +1 -1
  205. package/src/core/toast/sd-toast-container.ts +1 -1
  206. package/src/core/toast/sd-toast.provider.ts +6 -6
  207. package/src/core/toast/sd-toast.ts +25 -22
  208. package/src/core/validation/setupInvalid.ts +2 -1
  209. package/src/data/data-detail/sd-data-detail.ts +15 -11
  210. package/src/data/data-sheet/sd-data-sheet.ts +27 -20
  211. package/src/data/kanban/sd-kanban.ts +4 -5
  212. package/src/data/permission-table/sd-permission-table.ts +4 -4
  213. package/src/data/shared-data/sd-shared-data-select-list.ts +1 -1
  214. package/src/data/shared-data/sd-shared-data-select.ts +8 -27
  215. package/src/data/sheet/injectSheetDomAccessor.ts +37 -25
  216. package/src/data/sheet/injectSheetSelectRowIndicator.ts +69 -0
  217. package/src/data/sheet/sd-sheet-column-cell-template.ts +17 -0
  218. package/src/data/sheet/sd-sheet-column.ts +12 -5
  219. package/src/data/sheet/sd-sheet-config.modal.ts +215 -191
  220. package/src/data/sheet/sd-sheet.ts +534 -203
  221. package/src/data/sheet/types.ts +2 -0
  222. package/src/data/sheet/useSheetCellAgent.ts +8 -8
  223. package/src/data/sheet/useSheetCellStyling.ts +9 -9
  224. package/src/data/sheet/useSheetFocusIndicator.ts +66 -0
  225. package/src/data/sheet/useSheetLayoutEngine.ts +3 -1
  226. package/src/data/state-preset/sd-state-preset.ts +26 -13
  227. package/src/features/address/sd-address-search.modal.ts +1 -1
  228. package/src/features/editor/sd-tiptap-editor.ts +4 -4
  229. package/src/features/editor/useTiptapToolbar.ts +2 -2
  230. package/src/features/visual/sd-calendar.ts +1 -1
  231. package/src/features/visual/sd-echarts.ts +2 -0
  232. package/src/index.ts +6 -7
  233. package/src/layout/base-container/sd-base-container.ts +1 -1
  234. package/src/layout/dock/sd-dock.ts +3 -2
  235. package/src/layout/sidebar/sd-sidebar-container.ts +2 -2
  236. package/src/layout/sidebar/sd-sidebar-menu.ts +1 -3
  237. package/src/layout/topbar/sd-topbar-menu.ts +11 -15
  238. package/src/layout/topbar/sd-topbar.ts +1 -1
  239. package/dist/core/commands/sd-insert-command-event.plugin.d.ts +0 -11
  240. package/dist/core/commands/sd-insert-command-event.plugin.d.ts.map +0 -1
  241. package/dist/core/commands/sd-insert-command-event.plugin.js +0 -35
  242. package/dist/core/commands/sd-refresh-command-event.plugin.d.ts +0 -11
  243. package/dist/core/commands/sd-refresh-command-event.plugin.d.ts.map +0 -1
  244. package/dist/core/commands/sd-refresh-command-event.plugin.js +0 -38
  245. package/dist/core/commands/sd-save-command-event.plugin.d.ts +0 -11
  246. package/dist/core/commands/sd-save-command-event.plugin.d.ts.map +0 -1
  247. package/dist/core/commands/sd-save-command-event.plugin.js +0 -38
  248. package/dist/core/events/sd-intersection-event.plugin.d.ts +0 -13
  249. package/dist/core/events/sd-intersection-event.plugin.d.ts.map +0 -1
  250. package/dist/core/events/sd-intersection-event.plugin.js +0 -29
  251. package/dist/core/events/sd-resize-event.plugin.d.ts +0 -16
  252. package/dist/core/events/sd-resize-event.plugin.d.ts.map +0 -1
  253. package/src/core/commands/sd-insert-command-event.plugin.ts +0 -39
  254. package/src/core/commands/sd-refresh-command-event.plugin.ts +0 -44
  255. package/src/core/commands/sd-save-command-event.plugin.ts +0 -44
  256. package/src/core/events/sd-intersection-event.plugin.ts +0 -35
@@ -1,9 +1,9 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChildren, inject, input, model, output, ViewEncapsulation, } from "@angular/core";
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChildren, inject, input, model, output, signal, ViewEncapsulation, } from "@angular/core";
2
2
  import { NgTemplateOutlet } from "@angular/common";
3
3
  import { SdSheetColumn } from "./sd-sheet-column";
4
4
  import { SdCheckbox } from "../../controls/checkbox/sd-checkbox";
5
5
  import { NgIcon } from "@ng-icons/core";
6
- import { tablerArrowUp, tablerArrowDown, tablerChevronRight, tablerChevronDown, tablerChevronsRight, tablerChevronsDown, tablerSettings, } from "@ng-icons/tabler-icons";
6
+ import { tablerArrowRight, tablerArrowsSort, tablerCaretRight, tablerSettings, tablerSortAscending, tablerSortDescending, } from "@ng-icons/tabler-icons";
7
7
  import { useSheetLayoutEngine } from "./useSheetLayoutEngine";
8
8
  import { useSheetColumnFixing } from "./useSheetColumnFixing";
9
9
  import { useSelectionManager } from "../../core/selection/useSelectionManager";
@@ -11,33 +11,39 @@ import { useSortingManager } from "../../core/selection/useSortingManager";
11
11
  import { SdPagination } from "../../controls/pagination/sd-pagination";
12
12
  import { SdAnchor } from "../../controls/button/sd-anchor";
13
13
  import { SdButton } from "../../controls/button/sd-button";
14
+ import { SdResizeDirective } from "../../core/events/sd-resize";
14
15
  import { injectSdSystemConfigResource } from "../../core/config/injectSdSystemConfigResource";
15
16
  import { injectSheetDomAccessor } from "./injectSheetDomAccessor";
16
17
  import { useSheetCellAgent } from "./useSheetCellAgent";
17
18
  import { injectSheetColumnResizing } from "./injectSheetColumnResizing";
18
19
  import { useSheetDisplayPipeline } from "./useSheetDisplayPipeline";
19
20
  import { useSheetCellStyling } from "./useSheetCellStyling";
21
+ import { useSheetFocusIndicator } from "./useSheetFocusIndicator";
22
+ import { injectSheetSelectRowIndicator } from "./injectSheetSelectRowIndicator";
20
23
  import { SdModalProvider } from "../../core/modal/sd-modal.provider";
21
24
  import { SdSheetConfigModal } from "./sd-sheet-config.modal";
25
+ import { SdEvents } from "../../core/events/sd-events";
22
26
  import * as i0 from "@angular/core";
27
+ import * as i1 from "../../core/events/sd-events";
23
28
  const _c0 = (a0, a1) => ({ r: a0, c: a1 });
24
29
  const _c1 = (a0, a1, a2, a3, a4) => ({ $implicit: a0, item: a1, index: a2, depth: a3, edit: a4 });
25
- function _forTrack0($index, $item) { return this.trackByFn() ? this.trackByFn()($item, $index) : $index; }
30
+ function _forTrack0($index, $item) { return this.trackByFn()($item, $index); }
26
31
  const _forTrack1 = ($index, $item) => $item.key;
27
32
  function SdSheet_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
28
33
  const _r1 = i0.ɵɵgetCurrentView();
29
- i0.ɵɵelementStart(0, "sd-button", 5);
34
+ i0.ɵɵelementStart(0, "sd-button", 10);
30
35
  i0.ɵɵlistener("click", function SdSheet_Conditional_0_Conditional_1_Template_sd_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onConfigButtonClick()); });
31
- i0.ɵɵelement(1, "ng-icon", 6);
36
+ i0.ɵɵelement(1, "ng-icon", 11);
32
37
  i0.ɵɵelementEnd();
33
38
  } if (rf & 2) {
34
39
  const ctx_r1 = i0.ɵɵnextContext(2);
40
+ i0.ɵɵproperty("theme", "link-primary")("size", "sm");
35
41
  i0.ɵɵadvance();
36
42
  i0.ɵɵproperty("svg", ctx_r1.icons.tablerSettings);
37
43
  } }
38
44
  function SdSheet_Conditional_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {
39
45
  const _r3 = i0.ɵɵgetCurrentView();
40
- i0.ɵɵelementStart(0, "sd-pagination", 7);
46
+ i0.ɵɵelementStart(0, "sd-pagination", 12);
41
47
  i0.ɵɵtwoWayListener("currentPageChange", function SdSheet_Conditional_0_Conditional_2_Template_sd_pagination_currentPageChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.currentPage, $event) || (ctx_r1.currentPage = $event); return i0.ɵɵresetView($event); });
42
48
  i0.ɵɵelementEnd();
43
49
  } if (rf & 2) {
@@ -47,8 +53,8 @@ function SdSheet_Conditional_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {
47
53
  } }
48
54
  function SdSheet_Conditional_0_Template(rf, ctx) { if (rf & 1) {
49
55
  i0.ɵɵelementStart(0, "div", 0);
50
- i0.ɵɵconditionalCreate(1, SdSheet_Conditional_0_Conditional_1_Template, 2, 1, "sd-button");
51
- i0.ɵɵconditionalCreate(2, SdSheet_Conditional_0_Conditional_2_Template, 1, 3, "sd-pagination", 4);
56
+ i0.ɵɵconditionalCreate(1, SdSheet_Conditional_0_Conditional_1_Template, 2, 3, "sd-button", 8);
57
+ i0.ɵɵconditionalCreate(2, SdSheet_Conditional_0_Conditional_2_Template, 1, 3, "sd-pagination", 9);
52
58
  i0.ɵɵelementEnd();
53
59
  } if (rf & 2) {
54
60
  const ctx_r1 = i0.ɵɵnextContext();
@@ -57,223 +63,347 @@ function SdSheet_Conditional_0_Template(rf, ctx) { if (rf & 1) {
57
63
  i0.ɵɵadvance();
58
64
  i0.ɵɵconditional(ctx_r1.effectivePageCount() > 1 ? 2 : -1);
59
65
  } }
66
+ function SdSheet_For_5_Conditional_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
67
+ const _r6 = i0.ɵɵgetCurrentView();
68
+ i0.ɵɵelementStart(0, "sd-checkbox", 16);
69
+ i0.ɵɵlistener("valueChange", function SdSheet_For_5_Conditional_1_Conditional_2_Template_sd_checkbox_valueChange_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.selection.toggleAll()); });
70
+ i0.ɵɵelementEnd();
71
+ } if (rf & 2) {
72
+ const ctx_r1 = i0.ɵɵnextContext(3);
73
+ i0.ɵɵproperty("value", ctx_r1.selection.isAllSelected())("inline", true)("theme", "white");
74
+ } }
75
+ function SdSheet_For_5_Conditional_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
76
+ const _r7 = i0.ɵɵgetCurrentView();
77
+ i0.ɵɵelementStart(0, "th", 13);
78
+ i0.ɵɵlistener("sdResize", function SdSheet_For_5_Conditional_1_Conditional_3_Template_th_sdResize_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onFeatureCellResize($event, -1)); });
79
+ i0.ɵɵelementStart(1, "ng-icon", 17);
80
+ i0.ɵɵlistener("click", function SdSheet_For_5_Conditional_1_Conditional_3_Template_ng_icon_click_1_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.expanding.toggleAll()); });
81
+ i0.ɵɵelementEnd()();
82
+ } if (rf & 2) {
83
+ const ctx_r1 = i0.ɵɵnextContext(3);
84
+ i0.ɵɵstyleProp("left", ctx_r1.featureFixedLeftMap().get(-1), "px");
85
+ i0.ɵɵattribute("rowspan", ctx_r1.layout.headerFeatureRowSpan() > 1 ? ctx_r1.layout.headerFeatureRowSpan() : null)("data-c", -1);
86
+ i0.ɵɵadvance();
87
+ i0.ɵɵstyleProp("transform", ctx_r1.expanding.isAllExpanded() ? "rotate(90deg)" : undefined);
88
+ i0.ɵɵclassProp("tx-theme-primary-default", ctx_r1.expanding.isAllExpanded());
89
+ i0.ɵɵproperty("svg", ctx_r1.icons.tablerCaretRight);
90
+ } }
60
91
  function SdSheet_For_5_Conditional_1_Template(rf, ctx) { if (rf & 1) {
61
92
  const _r4 = i0.ɵɵgetCurrentView();
62
- i0.ɵɵelementStart(0, "th", 8)(1, "sd-anchor", 5);
63
- i0.ɵɵlistener("click", function SdSheet_For_5_Conditional_1_Template_sd_anchor_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.expanding.toggleAll()); });
64
- i0.ɵɵelement(2, "ng-icon", 6);
65
- i0.ɵɵelementEnd()();
93
+ i0.ɵɵdeclareLet(0);
94
+ i0.ɵɵelementStart(1, "th", 13);
95
+ i0.ɵɵlistener("sdResize", function SdSheet_For_5_Conditional_1_Template_th_sdResize_1_listener($event) { i0.ɵɵrestoreView(_r4); const _fc_r5 = i0.ɵɵreadContextLet(0); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFeatureCellResize($event, _fc_r5)); });
96
+ i0.ɵɵconditionalCreate(2, SdSheet_For_5_Conditional_1_Conditional_2_Template, 1, 3, "sd-checkbox", 14);
97
+ i0.ɵɵelementEnd();
98
+ i0.ɵɵconditionalCreate(3, SdSheet_For_5_Conditional_1_Conditional_3_Template, 2, 9, "th", 15);
66
99
  } if (rf & 2) {
67
100
  const ctx_r1 = i0.ɵɵnextContext(2);
68
- i0.ɵɵattribute("rowspan", ctx_r1.layout.headerFeatureRowSpan() > 1 ? ctx_r1.layout.headerFeatureRowSpan() : null);
69
- i0.ɵɵadvance(2);
70
- i0.ɵɵproperty("svg", ctx_r1.expanding.isAllExpanded() ? ctx_r1.icons.tablerChevronsDown : ctx_r1.icons.tablerChevronsRight);
101
+ const _fc_r8 = i0.ɵɵstoreLet(ctx_r1.expanding.hasExpandable() ? -2 : -1);
102
+ i0.ɵɵadvance();
103
+ i0.ɵɵstyleProp("left", ctx_r1.featureFixedLeftMap().get(_fc_r8), "px");
104
+ i0.ɵɵattribute("rowspan", ctx_r1.layout.headerFeatureRowSpan() > 1 ? ctx_r1.layout.headerFeatureRowSpan() : null)("data-c", _fc_r8);
105
+ i0.ɵɵadvance();
106
+ i0.ɵɵconditional(ctx_r1.selection.hasSelectable() && ctx_r1.selectMode() === "multi" ? 2 : -1);
107
+ i0.ɵɵadvance();
108
+ i0.ɵɵconditional(ctx_r1.expanding.hasExpandable() ? 3 : -1);
71
109
  } }
72
- function SdSheet_For_5_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
73
- const _r5 = i0.ɵɵgetCurrentView();
74
- i0.ɵɵelementStart(0, "sd-checkbox", 12);
75
- i0.ɵɵlistener("click", function SdSheet_For_5_Conditional_2_Conditional_1_Template_sd_checkbox_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.selection.toggleAll()); });
76
- i0.ɵɵelementEnd();
110
+ function SdSheet_For_5_For_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
111
+ i0.ɵɵelementStart(0, "th")(1, "div", 20)(2, "pre");
112
+ i0.ɵɵtext(3);
113
+ i0.ɵɵelementEnd()()();
77
114
  } if (rf & 2) {
78
- const ctx_r1 = i0.ɵɵnextContext(3);
79
- i0.ɵɵproperty("value", ctx_r1.selection.isAllSelected())("inline", true)("inset", true);
115
+ const ctx_r8 = i0.ɵɵnextContext();
116
+ const cell_r10 = ctx_r8.$implicit;
117
+ const ɵ$index_33_r11 = ctx_r8.$index;
118
+ const ctx_r1 = i0.ɵɵnextContext(2);
119
+ i0.ɵɵstyleProp("left", (cell_r10.colDef == null ? null : cell_r10.colDef.fixed) ? ctx_r1.fixing.fixedLeftMap().get(cell_r10.colDef.key) : null, "px");
120
+ i0.ɵɵclassProp("_fixed", cell_r10.colDef == null ? null : cell_r10.colDef.fixed);
121
+ i0.ɵɵattribute("colspan", cell_r10.colspan > 1 ? cell_r10.colspan : null)("rowspan", cell_r10.rowspan > 1 ? cell_r10.rowspan : null)("data-c", ɵ$index_33_r11)("title", cell_r10.text);
122
+ i0.ɵɵadvance(3);
123
+ i0.ɵɵtextInterpolate(cell_r10.text);
80
124
  } }
81
- function SdSheet_For_5_Conditional_2_Template(rf, ctx) { if (rf & 1) {
82
- i0.ɵɵelementStart(0, "th", 9);
83
- i0.ɵɵconditionalCreate(1, SdSheet_For_5_Conditional_2_Conditional_1_Template, 1, 3, "sd-checkbox", 11);
125
+ function SdSheet_For_5_For_3_Conditional_1_Conditional_2_ng_template_1_Template(rf, ctx) { }
126
+ function SdSheet_For_5_For_3_Conditional_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
127
+ i0.ɵɵelementStart(0, "div", 23);
128
+ i0.ɵɵtemplate(1, SdSheet_For_5_For_3_Conditional_1_Conditional_2_ng_template_1_Template, 0, 0, "ng-template", 27);
84
129
  i0.ɵɵelementEnd();
85
130
  } if (rf & 2) {
86
- const ctx_r1 = i0.ɵɵnextContext(2);
87
- i0.ɵɵattribute("rowspan", ctx_r1.layout.headerFeatureRowSpan() > 1 ? ctx_r1.layout.headerFeatureRowSpan() : null);
131
+ const cell_r10 = i0.ɵɵnextContext(2).$implicit;
132
+ i0.ɵɵattribute("style", cell_r10.colDef.headerStyle, i0.ɵɵsanitizeStyle);
88
133
  i0.ɵɵadvance();
89
- i0.ɵɵconditional(ctx_r1.selectMode() === "multi" ? 1 : -1);
134
+ i0.ɵɵproperty("ngTemplateOutlet", ctx);
135
+ } }
136
+ function SdSheet_For_5_For_3_Conditional_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
137
+ i0.ɵɵelementStart(0, "div", 24)(1, "pre");
138
+ i0.ɵɵtext(2);
139
+ i0.ɵɵelementEnd()();
140
+ } if (rf & 2) {
141
+ const cell_r10 = i0.ɵɵnextContext(2).$implicit;
142
+ i0.ɵɵattribute("style", cell_r10.colDef == null ? null : cell_r10.colDef.headerStyle, i0.ɵɵsanitizeStyle);
143
+ i0.ɵɵadvance(2);
144
+ i0.ɵɵtextInterpolate(cell_r10.text);
145
+ } }
146
+ function SdSheet_For_5_For_3_Conditional_1_Conditional_4_Conditional_2_Template(rf, ctx) { if (rf & 1) {
147
+ i0.ɵɵelement(0, "ng-icon", 11);
148
+ } if (rf & 2) {
149
+ const ctx_r1 = i0.ɵɵnextContext(5);
150
+ i0.ɵɵproperty("svg", ctx_r1.icons.tablerSortAscending);
90
151
  } }
91
- function SdSheet_For_5_For_4_Conditional_3_Conditional_1_Template(rf, ctx) { if (rf & 1) {
92
- i0.ɵɵelementStart(0, "span", 15);
152
+ function SdSheet_For_5_For_3_Conditional_1_Conditional_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
153
+ i0.ɵɵelement(0, "ng-icon", 11);
154
+ } if (rf & 2) {
155
+ const ctx_r1 = i0.ɵɵnextContext(5);
156
+ i0.ɵɵproperty("svg", ctx_r1.icons.tablerSortDescending);
157
+ } }
158
+ function SdSheet_For_5_For_3_Conditional_1_Conditional_4_Conditional_4_Template(rf, ctx) { if (rf & 1) {
159
+ i0.ɵɵelement(0, "ng-icon", 28);
160
+ } if (rf & 2) {
161
+ const ctx_r1 = i0.ɵɵnextContext(5);
162
+ i0.ɵɵproperty("svg", ctx_r1.icons.tablerArrowsSort);
163
+ } }
164
+ function SdSheet_For_5_For_3_Conditional_1_Conditional_4_Conditional_5_Template(rf, ctx) { if (rf & 1) {
165
+ i0.ɵɵelementStart(0, "sub");
93
166
  i0.ɵɵtext(1);
94
167
  i0.ɵɵelementEnd();
95
168
  } if (rf & 2) {
96
- const sortDef_r8 = i0.ɵɵnextContext();
169
+ i0.ɵɵnextContext();
170
+ const _sortDef_r13 = i0.ɵɵreadContextLet(0);
97
171
  i0.ɵɵadvance();
98
- i0.ɵɵtextInterpolate(sortDef_r8.indexText);
172
+ i0.ɵɵtextInterpolate(_sortDef_r13 == null ? null : _sortDef_r13.indexText);
99
173
  } }
100
- function SdSheet_For_5_For_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
101
- i0.ɵɵelement(0, "ng-icon", 14);
102
- i0.ɵɵconditionalCreate(1, SdSheet_For_5_For_4_Conditional_3_Conditional_1_Template, 2, 1, "span", 15);
174
+ function SdSheet_For_5_For_3_Conditional_1_Conditional_4_Template(rf, ctx) { if (rf & 1) {
175
+ i0.ɵɵdeclareLet(0);
176
+ i0.ɵɵelementStart(1, "div", 25);
177
+ i0.ɵɵconditionalCreate(2, SdSheet_For_5_For_3_Conditional_1_Conditional_4_Conditional_2_Template, 1, 1, "ng-icon", 11)(3, SdSheet_For_5_For_3_Conditional_1_Conditional_4_Conditional_3_Template, 1, 1, "ng-icon", 11)(4, SdSheet_For_5_For_3_Conditional_1_Conditional_4_Conditional_4_Template, 1, 1, "ng-icon", 28);
178
+ i0.ɵɵconditionalCreate(5, SdSheet_For_5_For_3_Conditional_1_Conditional_4_Conditional_5_Template, 2, 1, "sub");
179
+ i0.ɵɵelementEnd();
103
180
  } if (rf & 2) {
104
- const sortDef_r8 = ctx;
105
- const ctx_r1 = i0.ɵɵnextContext(3);
106
- i0.ɵɵproperty("svg", sortDef_r8.desc ? ctx_r1.icons.tablerArrowDown : ctx_r1.icons.tablerArrowUp);
107
- i0.ɵɵadvance();
108
- i0.ɵɵconditional(sortDef_r8.indexText ? 1 : -1);
181
+ const cell_r10 = i0.ɵɵnextContext(2).$implicit;
182
+ const _sortDef_r14 = i0.ɵɵstoreLet(i0.ɵɵnextContext(2).getSortDef(cell_r10.colDef.key));
183
+ i0.ɵɵadvance(2);
184
+ i0.ɵɵconditional((_sortDef_r14 == null ? null : _sortDef_r14.desc) === false ? 2 : (_sortDef_r14 == null ? null : _sortDef_r14.desc) === true ? 3 : 4);
185
+ i0.ɵɵadvance(3);
186
+ i0.ɵɵconditional((_sortDef_r14 == null ? null : _sortDef_r14.indexText) ? 5 : -1);
109
187
  } }
110
- function SdSheet_For_5_For_4_Conditional_4_Template(rf, ctx) { if (rf & 1) {
111
- const _r9 = i0.ɵɵgetCurrentView();
112
- i0.ɵɵelementStart(0, "div", 16);
113
- i0.ɵɵlistener("mousedown", function SdSheet_For_5_For_4_Conditional_4_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r9); const cell_r7 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onResizerMousedown($event, cell_r7.colDef)); })("dblclick", function SdSheet_For_5_For_4_Conditional_4_Template_div_dblclick_0_listener($event) { i0.ɵɵrestoreView(_r9); const cell_r7 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onResizerDblClick($event, cell_r7.colDef)); });
188
+ function SdSheet_For_5_For_3_Conditional_1_Conditional_5_Template(rf, ctx) { if (rf & 1) {
189
+ const _r15 = i0.ɵɵgetCurrentView();
190
+ i0.ɵɵelementStart(0, "div", 29);
191
+ i0.ɵɵlistener("mousedown", function SdSheet_For_5_For_3_Conditional_1_Conditional_5_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r15); const cell_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onResizerMousedown($event, cell_r10.colDef)); })("dblclick", function SdSheet_For_5_For_3_Conditional_1_Conditional_5_Template_div_dblclick_0_listener($event) { i0.ɵɵrestoreView(_r15); const cell_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onResizerDblClick($event, cell_r10.colDef)); });
114
192
  i0.ɵɵelementEnd();
115
193
  } }
116
- function SdSheet_For_5_For_4_Template(rf, ctx) { if (rf & 1) {
117
- const _r6 = i0.ɵɵgetCurrentView();
118
- i0.ɵɵelementStart(0, "th", 5);
119
- i0.ɵɵlistener("click", function SdSheet_For_5_For_4_Template_th_click_0_listener($event) { const cell_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onHeaderClick($event, cell_r7)); });
120
- i0.ɵɵelementStart(1, "span");
121
- i0.ɵɵtext(2);
194
+ function SdSheet_For_5_For_3_Conditional_1_Template(rf, ctx) { if (rf & 1) {
195
+ const _r12 = i0.ɵɵgetCurrentView();
196
+ i0.ɵɵelementStart(0, "th", 21);
197
+ i0.ɵɵlistener("click", function SdSheet_For_5_For_3_Conditional_1_Template_th_click_0_listener($event) { i0.ɵɵrestoreView(_r12); const cell_r10 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onHeaderClick($event, cell_r10)); });
198
+ i0.ɵɵelementStart(1, "div", 22);
199
+ i0.ɵɵconditionalCreate(2, SdSheet_For_5_For_3_Conditional_1_Conditional_2_Template, 2, 2, "div", 23)(3, SdSheet_For_5_For_3_Conditional_1_Conditional_3_Template, 3, 2, "div", 24);
200
+ i0.ɵɵconditionalCreate(4, SdSheet_For_5_For_3_Conditional_1_Conditional_4_Template, 6, 3, "div", 25);
122
201
  i0.ɵɵelementEnd();
123
- i0.ɵɵconditionalCreate(3, SdSheet_For_5_For_4_Conditional_3_Template, 2, 2);
124
- i0.ɵɵconditionalCreate(4, SdSheet_For_5_For_4_Conditional_4_Template, 1, 0, "div", 13);
202
+ i0.ɵɵconditionalCreate(5, SdSheet_For_5_For_3_Conditional_1_Conditional_5_Template, 1, 0, "div", 26);
125
203
  i0.ɵɵelementEnd();
126
204
  } if (rf & 2) {
127
- let tmp_26_0;
128
- const cell_r7 = ctx.$implicit;
205
+ let tmp_31_0;
206
+ const ctx_r8 = i0.ɵɵnextContext();
207
+ const cell_r10 = ctx_r8.$implicit;
208
+ const ɵ$index_33_r11 = ctx_r8.$index;
129
209
  const ctx_r1 = i0.ɵɵnextContext(2);
130
- i0.ɵɵstyleMap(ctx_r1.getHeaderCellStyle(cell_r7));
131
- i0.ɵɵattribute("colspan", cell_r7.colspan > 1 ? cell_r7.colspan : null)("rowspan", cell_r7.rowspan > 1 ? cell_r7.rowspan : null)("aria-sort", ctx_r1.getAriaSortValue(cell_r7));
210
+ i0.ɵɵstyleMap(ctx_r1.getHeaderCellStyle(cell_r10));
211
+ i0.ɵɵclassProp("_fixed", cell_r10.colDef == null ? null : cell_r10.colDef.fixed)("_sort", cell_r10.colDef && !cell_r10.colDef.disableSorting)("help", cell_r10.colDef == null ? null : cell_r10.colDef.tooltip);
212
+ i0.ɵɵattribute("colspan", cell_r10.colspan > 1 ? cell_r10.colspan : null)("rowspan", cell_r10.rowspan > 1 ? cell_r10.rowspan : null)("data-c", ɵ$index_33_r11)("title", (cell_r10.colDef == null ? null : cell_r10.colDef.tooltip) ?? cell_r10.text);
132
213
  i0.ɵɵadvance(2);
133
- i0.ɵɵtextInterpolate(cell_r7.text);
134
- i0.ɵɵadvance();
135
- i0.ɵɵconditional((tmp_26_0 = cell_r7.colDef && ctx_r1.getSortDef(cell_r7.colDef.key)) ? 3 : -1, tmp_26_0);
214
+ i0.ɵɵconditional((tmp_31_0 = cell_r10.colDef && ctx_r1.getColumnHeaderTpl(cell_r10.colDef.key)) ? 2 : 3, tmp_31_0);
215
+ i0.ɵɵadvance(2);
216
+ i0.ɵɵconditional(cell_r10.colDef && !cell_r10.colDef.disableSorting ? 4 : -1);
136
217
  i0.ɵɵadvance();
137
- i0.ɵɵconditional(cell_r7.isLastRow && cell_r7.colDef && !cell_r7.colDef.disableResizing ? 4 : -1);
218
+ i0.ɵɵconditional(cell_r10.colDef && !cell_r10.colDef.disableResizing ? 5 : -1);
219
+ } }
220
+ function SdSheet_For_5_For_3_Template(rf, ctx) { if (rf & 1) {
221
+ i0.ɵɵconditionalCreate(0, SdSheet_For_5_For_3_Conditional_0_Template, 4, 9, "th", 18)(1, SdSheet_For_5_For_3_Conditional_1_Template, 6, 15, "th", 19);
222
+ } if (rf & 2) {
223
+ const cell_r10 = ctx.$implicit;
224
+ i0.ɵɵconditional(!cell_r10.isLastRow ? 0 : 1);
138
225
  } }
139
226
  function SdSheet_For_5_Template(rf, ctx) { if (rf & 1) {
140
227
  i0.ɵɵelementStart(0, "tr");
141
- i0.ɵɵconditionalCreate(1, SdSheet_For_5_Conditional_1_Template, 3, 2, "th", 8);
142
- i0.ɵɵconditionalCreate(2, SdSheet_For_5_Conditional_2_Template, 2, 2, "th", 9);
143
- i0.ɵɵrepeaterCreate(3, SdSheet_For_5_For_4_Template, 5, 8, "th", 10, i0.ɵɵrepeaterTrackByIndex);
228
+ i0.ɵɵconditionalCreate(1, SdSheet_For_5_Conditional_1_Template, 4, 7);
229
+ i0.ɵɵrepeaterCreate(2, SdSheet_For_5_For_3_Template, 2, 1, null, null, i0.ɵɵrepeaterTrackByIndex);
144
230
  i0.ɵɵelementEnd();
145
231
  } if (rf & 2) {
146
- const row_r10 = ctx.$implicit;
147
- const ɵ$index_18_r11 = ctx.$index;
148
- const ctx_r1 = i0.ɵɵnextContext();
232
+ const row_r16 = ctx.$implicit;
233
+ const ɵ$index_18_r17 = ctx.$index;
149
234
  i0.ɵɵadvance();
150
- i0.ɵɵconditional(ctx_r1.expanding.hasExpandable() && ɵ$index_18_r11 === 0 ? 1 : -1);
235
+ i0.ɵɵconditional(ɵ$index_18_r17 === 0 ? 1 : -1);
151
236
  i0.ɵɵadvance();
152
- i0.ɵɵconditional(ctx_r1.selectMode() && ɵ$index_18_r11 === 0 ? 2 : -1);
237
+ i0.ɵɵrepeater(row_r16);
238
+ } }
239
+ function SdSheet_Conditional_6_Conditional_2_Template(rf, ctx) { if (rf & 1) {
240
+ i0.ɵɵelement(0, "th", 30);
241
+ } }
242
+ function SdSheet_Conditional_6_For_4_Conditional_1_ng_template_0_Template(rf, ctx) { }
243
+ function SdSheet_Conditional_6_For_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
244
+ i0.ɵɵtemplate(0, SdSheet_Conditional_6_For_4_Conditional_1_ng_template_0_Template, 0, 0, "ng-template", 27);
245
+ } if (rf & 2) {
246
+ i0.ɵɵproperty("ngTemplateOutlet", ctx);
247
+ } }
248
+ function SdSheet_Conditional_6_For_4_Template(rf, ctx) { if (rf & 1) {
249
+ i0.ɵɵelementStart(0, "th");
250
+ i0.ɵɵconditionalCreate(1, SdSheet_Conditional_6_For_4_Conditional_1_Template, 1, 1, null, 27);
251
+ i0.ɵɵelementEnd();
252
+ } if (rf & 2) {
253
+ let tmp_15_0;
254
+ const colDef_r18 = ctx.$implicit;
255
+ const ɵ$index_86_r19 = ctx.$index;
256
+ const ctx_r1 = i0.ɵɵnextContext(2);
257
+ i0.ɵɵstyleProp("left", colDef_r18.fixed ? ctx_r1.fixing.fixedLeftMap().get(colDef_r18.key) : null, "px");
258
+ i0.ɵɵclassProp("_fixed", colDef_r18.fixed);
259
+ i0.ɵɵattribute("data-c", ɵ$index_86_r19);
153
260
  i0.ɵɵadvance();
154
- i0.ɵɵrepeater(row_r10);
261
+ i0.ɵɵconditional((tmp_15_0 = ctx_r1.getColumnSummaryTpl(colDef_r18.key)) ? 1 : -1, tmp_15_0);
155
262
  } }
156
- function SdSheet_For_8_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
157
- const _r14 = i0.ɵɵgetCurrentView();
158
- i0.ɵɵelementStart(0, "sd-anchor", 5);
159
- i0.ɵɵlistener("click", function SdSheet_For_8_Conditional_1_Conditional_1_Template_sd_anchor_click_0_listener($event) { i0.ɵɵrestoreView(_r14); const item_r13 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onExpandClick($event, item_r13)); });
160
- i0.ɵɵelement(1, "ng-icon", 6);
263
+ function SdSheet_Conditional_6_Template(rf, ctx) { if (rf & 1) {
264
+ i0.ɵɵelementStart(0, "tr", 3);
265
+ i0.ɵɵelement(1, "th", 30);
266
+ i0.ɵɵconditionalCreate(2, SdSheet_Conditional_6_Conditional_2_Template, 1, 0, "th", 30);
267
+ i0.ɵɵrepeaterCreate(3, SdSheet_Conditional_6_For_4_Template, 2, 6, "th", 18, _forTrack1);
161
268
  i0.ɵɵelementEnd();
162
269
  } if (rf & 2) {
163
- const item_r13 = i0.ɵɵnextContext(2).$implicit;
164
270
  const ctx_r1 = i0.ɵɵnextContext();
271
+ i0.ɵɵadvance(2);
272
+ i0.ɵɵconditional(ctx_r1.expanding.hasExpandable() ? 2 : -1);
165
273
  i0.ɵɵadvance();
166
- i0.ɵɵproperty("svg", ctx_r1.isExpanded(item_r13) ? ctx_r1.icons.tablerChevronDown : ctx_r1.icons.tablerChevronRight);
274
+ i0.ɵɵrepeater(ctx_r1.layout.columnDefs());
167
275
  } }
168
- function SdSheet_For_8_Conditional_1_Template(rf, ctx) { if (rf & 1) {
169
- i0.ɵɵelementStart(0, "td", 8);
170
- i0.ɵɵconditionalCreate(1, SdSheet_For_8_Conditional_1_Conditional_1_Template, 2, 1, "sd-anchor");
276
+ function SdSheet_For_9_Conditional_2_Template(rf, ctx) { if (rf & 1) {
277
+ const _r22 = i0.ɵɵgetCurrentView();
278
+ i0.ɵɵelementStart(0, "sd-checkbox", 35);
279
+ i0.ɵɵlistener("valueChange", function SdSheet_For_9_Conditional_2_Template_sd_checkbox_valueChange_0_listener() { i0.ɵɵrestoreView(_r22); const item_r21 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.selection.toggle(item_r21)); })("mousedown", function SdSheet_For_9_Conditional_2_Template_sd_checkbox_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r22); const ɵ$index_94_r23 = i0.ɵɵnextContext().$index; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSelectorMouseDown($event, ɵ$index_94_r23)); });
171
280
  i0.ɵɵelementEnd();
172
281
  } if (rf & 2) {
173
- const item_r13 = i0.ɵɵnextContext().$implicit;
282
+ const item_r21 = i0.ɵɵnextContext().$implicit;
174
283
  const ctx_r1 = i0.ɵɵnextContext();
175
- i0.ɵɵadvance();
176
- i0.ɵɵconditional(ctx_r1.getItemDef(item_r13).hasChildren ? 1 : -1);
284
+ const _selectable_r24 = ctx_r1.selection.getSelectable(item_r21);
285
+ i0.ɵɵproperty("value", ctx_r1.selection.isSelected(item_r21))("canChangeFn", ctx_r1.selection.getCanChangeFn(item_r21))("inline", true)("theme", "white")("disabled", _selectable_r24 !== true);
286
+ i0.ɵɵattribute("title", _selectable_r24);
177
287
  } }
178
- function SdSheet_For_8_Conditional_2_Template(rf, ctx) { if (rf & 1) {
179
- const _r15 = i0.ɵɵgetCurrentView();
180
- i0.ɵɵelementStart(0, "td", 9)(1, "sd-checkbox", 19);
181
- i0.ɵɵlistener("click", function SdSheet_For_8_Conditional_2_Template_sd_checkbox_click_1_listener($event) { i0.ɵɵrestoreView(_r15); const item_r13 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSelectCheckboxClick($event, item_r13)); });
182
- i0.ɵɵelementEnd()();
288
+ function SdSheet_For_9_Conditional_3_Conditional_1_Template(rf, ctx) { if (rf & 1) {
289
+ const _r25 = i0.ɵɵgetCurrentView();
290
+ i0.ɵɵelementStart(0, "sd-anchor", 37);
291
+ i0.ɵɵlistener("pointerdown", function SdSheet_For_9_Conditional_3_Conditional_1_Template_sd_anchor_pointerdown_0_listener() { i0.ɵɵrestoreView(_r25); const item_r21 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.selection.toggle(item_r21)); });
292
+ i0.ɵɵelement(1, "ng-icon", 11);
293
+ i0.ɵɵelementEnd();
183
294
  } if (rf & 2) {
184
- const item_r13 = i0.ɵɵnextContext().$implicit;
295
+ i0.ɵɵnextContext();
296
+ const _selectable_r26 = i0.ɵɵreadContextLet(0);
297
+ const item_r21 = i0.ɵɵnextContext().$implicit;
185
298
  const ctx_r1 = i0.ɵɵnextContext();
299
+ i0.ɵɵproperty("theme", ctx_r1.selection.isSelected(item_r21) ? "primary" : "gray");
300
+ i0.ɵɵattribute("title", _selectable_r26);
186
301
  i0.ɵɵadvance();
187
- i0.ɵɵproperty("value", ctx_r1.selection.isSelected(item_r13))("canChangeFn", ctx_r1.selection.getCanChangeFn(item_r13))("inline", true)("inset", true);
188
- i0.ɵɵattribute("title", ctx_r1.getSelectableTooltip(item_r13));
302
+ i0.ɵɵproperty("svg", ctx_r1.icons.tablerArrowRight);
189
303
  } }
190
- function SdSheet_For_8_For_4_Conditional_1_ng_template_0_Template(rf, ctx) { }
191
- function SdSheet_For_8_For_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
192
- i0.ɵɵtemplate(0, SdSheet_For_8_For_4_Conditional_1_ng_template_0_Template, 0, 0, "ng-template", 21);
304
+ function SdSheet_For_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
305
+ i0.ɵɵdeclareLet(0);
306
+ i0.ɵɵconditionalCreate(1, SdSheet_For_9_Conditional_3_Conditional_1_Template, 2, 3, "sd-anchor", 36);
193
307
  } if (rf & 2) {
194
- const ɵ$index_68_r18 = i0.ɵɵnextContext().$index;
195
- const ctx_r18 = i0.ɵɵnextContext();
196
- const item_r13 = ctx_r18.$implicit;
197
- const ɵ$index_52_r20 = ctx_r18.$index;
308
+ const item_r21 = i0.ɵɵnextContext().$implicit;
198
309
  const ctx_r1 = i0.ɵɵnextContext();
199
- i0.ɵɵproperty("ngTemplateOutlet", ctx)("ngTemplateOutletContext", i0.ɵɵpureFunction5(5, _c1, item_r13, item_r13, ɵ$index_52_r20, ctx_r1.getChildrenFn() !== undefined ? ctx_r1.getItemDef(item_r13).depth : 0, ctx_r1.cellAgent.isCellEditMode(i0.ɵɵpureFunction2(2, _c0, ɵ$index_52_r20, ɵ$index_68_r18))));
310
+ const _selectable_r27 = i0.ɵɵstoreLet(ctx_r1.selection.getSelectable(item_r21));
311
+ i0.ɵɵadvance();
312
+ i0.ɵɵconditional(_selectable_r27 === true && ctx_r1.selection.getCanChangeFn(item_r21) ? 1 : -1);
200
313
  } }
201
- function SdSheet_For_8_For_4_Template(rf, ctx) { if (rf & 1) {
202
- const _r16 = i0.ɵɵgetCurrentView();
203
- i0.ɵɵelementStart(0, "td", 20);
204
- i0.ɵɵlistener("click", function SdSheet_For_8_For_4_Template_td_click_0_listener($event) { i0.ɵɵrestoreView(_r16); const item_r13 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCellClick($event, item_r13)); })("focus", function SdSheet_For_8_For_4_Template_td_focus_0_listener() { i0.ɵɵrestoreView(_r16); const item_r13 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCellFocus(item_r13)); })("keydown", function SdSheet_For_8_For_4_Template_td_keydown_0_listener($event) { const colDef_r17 = i0.ɵɵrestoreView(_r16).$implicit; const item_r13 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCellKeydown($event, item_r13, colDef_r17.key)); });
205
- i0.ɵɵconditionalCreate(1, SdSheet_For_8_For_4_Conditional_1_Template, 1, 11, null, 21);
314
+ function SdSheet_For_9_Conditional_4_Conditional_2_Template(rf, ctx) { if (rf & 1) {
315
+ i0.ɵɵelement(0, "div", 40);
316
+ } if (rf & 2) {
317
+ i0.ɵɵnextContext();
318
+ const itemDef_r28 = i0.ɵɵreadContextLet(1);
319
+ i0.ɵɵstyleProp("margin-left", itemDef_r28.depth - 0.5, "em");
320
+ } }
321
+ function SdSheet_For_9_Conditional_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
322
+ const _r29 = i0.ɵɵgetCurrentView();
323
+ i0.ɵɵelementStart(0, "ng-icon", 17);
324
+ i0.ɵɵlistener("click", function SdSheet_For_9_Conditional_4_Conditional_3_Template_ng_icon_click_0_listener($event) { i0.ɵɵrestoreView(_r29); const item_r21 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onExpandClick($event, item_r21)); });
206
325
  i0.ɵɵelementEnd();
207
326
  } if (rf & 2) {
208
- let tmp_26_0;
209
- const colDef_r17 = ctx.$implicit;
210
- const ɵ$index_68_r18 = ctx.$index;
211
- const ctx_r18 = i0.ɵɵnextContext();
212
- const item_r13 = ctx_r18.$implicit;
213
- const ɵ$index_52_r20 = ctx_r18.$index;
327
+ const item_r21 = i0.ɵɵnextContext(2).$implicit;
214
328
  const ctx_r1 = i0.ɵɵnextContext();
215
- i0.ɵɵstyleMap(ctx_r1.getCellStyleWithIndent(item_r13, colDef_r17, ɵ$index_68_r18));
216
- i0.ɵɵclassMap(ctx_r1.getDataCellClass(item_r13, colDef_r17, ɵ$index_52_r20, ɵ$index_68_r18));
217
- i0.ɵɵattribute("data-r", ɵ$index_52_r20)("data-c", ɵ$index_68_r18);
218
- i0.ɵɵadvance();
219
- i0.ɵɵconditional((tmp_26_0 = ctx_r1.getColumnCellTpl(colDef_r17.key)) ? 1 : -1, tmp_26_0);
329
+ i0.ɵɵstyleProp("transform", ctx_r1.isExpanded(item_r21) ? "rotate(90deg)" : undefined);
330
+ i0.ɵɵclassProp("tx-theme-primary-default", ctx_r1.isExpanded(item_r21));
331
+ i0.ɵɵproperty("svg", ctx_r1.icons.tablerCaretRight);
220
332
  } }
221
- function SdSheet_For_8_Template(rf, ctx) { if (rf & 1) {
222
- const _r12 = i0.ɵɵgetCurrentView();
223
- i0.ɵɵelementStart(0, "tr", 17);
224
- i0.ɵɵlistener("click", function SdSheet_For_8_Template_tr_click_0_listener() { const item_r13 = i0.ɵɵrestoreView(_r12).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onRowClick(item_r13)); })("keydown", function SdSheet_For_8_Template_tr_keydown_0_listener($event) { const item_r13 = i0.ɵɵrestoreView(_r12).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onItemKeydown($event, item_r13)); });
225
- i0.ɵɵconditionalCreate(1, SdSheet_For_8_Conditional_1_Template, 2, 1, "td", 8);
226
- i0.ɵɵconditionalCreate(2, SdSheet_For_8_Conditional_2_Template, 2, 5, "td", 9);
227
- i0.ɵɵrepeaterCreate(3, SdSheet_For_8_For_4_Template, 2, 7, "td", 18, _forTrack1);
333
+ function SdSheet_For_9_Conditional_4_Template(rf, ctx) { if (rf & 1) {
334
+ i0.ɵɵelementStart(0, "td", 30);
335
+ i0.ɵɵdeclareLet(1);
336
+ i0.ɵɵconditionalCreate(2, SdSheet_For_9_Conditional_4_Conditional_2_Template, 1, 2, "div", 38);
337
+ i0.ɵɵconditionalCreate(3, SdSheet_For_9_Conditional_4_Conditional_3_Template, 1, 5, "ng-icon", 39);
228
338
  i0.ɵɵelementEnd();
229
339
  } if (rf & 2) {
230
- const item_r13 = ctx.$implicit;
340
+ const ctx_r29 = i0.ɵɵnextContext();
341
+ const item_r21 = ctx_r29.$implicit;
342
+ const ɵ$index_94_r23 = ctx_r29.$index;
231
343
  const ctx_r1 = i0.ɵɵnextContext();
232
- i0.ɵɵstyleProp("background", ctx_r1.selection.isSelected(item_r13) ? "var(--trans-lighter)" : null);
233
- i0.ɵɵattribute("aria-selected", ctx_r1.selection.isSelected(item_r13) ? "true" : null)("aria-expanded", ctx_r1.getAriaExpanded(item_r13));
344
+ i0.ɵɵstyleProp("left", ctx_r1.featureFixedLeftMap().get(-1), "px");
345
+ i0.ɵɵattribute("data-r", ɵ$index_94_r23)("data-c", -1);
234
346
  i0.ɵɵadvance();
235
- i0.ɵɵconditional(ctx_r1.expanding.hasExpandable() ? 1 : -1);
347
+ const itemDef_r31 = i0.ɵɵstoreLet(ctx_r1.getItemDef(item_r21));
236
348
  i0.ɵɵadvance();
237
- i0.ɵɵconditional(ctx_r1.selectMode() ? 2 : -1);
349
+ i0.ɵɵconditional(itemDef_r31.depth > 0 ? 2 : -1);
238
350
  i0.ɵɵadvance();
239
- i0.ɵɵrepeater(ctx_r1.layout.columnDefs());
351
+ i0.ɵɵconditional(itemDef_r31.hasChildren ? 3 : -1);
240
352
  } }
241
- function SdSheet_Conditional_9_Conditional_2_Template(rf, ctx) { if (rf & 1) {
242
- i0.ɵɵelement(0, "td", 8);
243
- } }
244
- function SdSheet_Conditional_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
245
- i0.ɵɵelement(0, "td", 9);
246
- } }
247
- function SdSheet_Conditional_9_For_5_Conditional_1_ng_template_0_Template(rf, ctx) { }
248
- function SdSheet_Conditional_9_For_5_Conditional_1_Template(rf, ctx) { if (rf & 1) {
249
- i0.ɵɵtemplate(0, SdSheet_Conditional_9_For_5_Conditional_1_ng_template_0_Template, 0, 0, "ng-template", 22);
353
+ function SdSheet_For_9_For_6_Conditional_1_ng_template_0_Template(rf, ctx) { }
354
+ function SdSheet_For_9_For_6_Conditional_1_Template(rf, ctx) { if (rf & 1) {
355
+ i0.ɵɵtemplate(0, SdSheet_For_9_For_6_Conditional_1_ng_template_0_Template, 0, 0, "ng-template", 42);
250
356
  } if (rf & 2) {
251
- i0.ɵɵproperty("ngTemplateOutlet", ctx);
357
+ const ɵ$index_121_r34 = i0.ɵɵnextContext().$index;
358
+ const ctx_r29 = i0.ɵɵnextContext();
359
+ const item_r21 = ctx_r29.$implicit;
360
+ const ɵ$index_94_r23 = ctx_r29.$index;
361
+ const ctx_r1 = i0.ɵɵnextContext();
362
+ i0.ɵɵproperty("ngTemplateOutlet", ctx)("ngTemplateOutletContext", i0.ɵɵpureFunction5(5, _c1, item_r21, item_r21, ɵ$index_94_r23, ctx_r1.getChildrenFn() != null ? ctx_r1.getItemDef(item_r21).depth : 0, ctx_r1.cellAgent.isCellEditMode(i0.ɵɵpureFunction2(2, _c0, ɵ$index_94_r23, ɵ$index_121_r34))));
252
363
  } }
253
- function SdSheet_Conditional_9_For_5_Template(rf, ctx) { if (rf & 1) {
254
- i0.ɵɵelementStart(0, "td");
255
- i0.ɵɵconditionalCreate(1, SdSheet_Conditional_9_For_5_Conditional_1_Template, 1, 1, null, 22);
364
+ function SdSheet_For_9_For_6_Template(rf, ctx) { if (rf & 1) {
365
+ const _r32 = i0.ɵɵgetCurrentView();
366
+ i0.ɵɵelementStart(0, "td", 41);
367
+ i0.ɵɵlistener("click", function SdSheet_For_9_For_6_Template_td_click_0_listener($event) { i0.ɵɵrestoreView(_r32); const item_r21 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCellClick($event, item_r21)); })("focus", function SdSheet_For_9_For_6_Template_td_focus_0_listener() { i0.ɵɵrestoreView(_r32); const item_r21 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCellFocus(item_r21)); })("keydown", function SdSheet_For_9_For_6_Template_td_keydown_0_listener($event) { const colDef_r33 = i0.ɵɵrestoreView(_r32).$implicit; const item_r21 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCellKeydown($event, item_r21, colDef_r33.key)); });
368
+ i0.ɵɵconditionalCreate(1, SdSheet_For_9_For_6_Conditional_1_Template, 1, 11, null, 42);
256
369
  i0.ɵɵelementEnd();
257
370
  } if (rf & 2) {
258
- let tmp_12_0;
259
- const colDef_r21 = ctx.$implicit;
260
- const ctx_r1 = i0.ɵɵnextContext(2);
261
- i0.ɵɵstyleMap(ctx_r1.getFixedCellStyle(colDef_r21));
371
+ let tmp_28_0;
372
+ const colDef_r33 = ctx.$implicit;
373
+ const ɵ$index_121_r34 = ctx.$index;
374
+ const ctx_r29 = i0.ɵɵnextContext();
375
+ const item_r21 = ctx_r29.$implicit;
376
+ const ɵ$index_94_r23 = ctx_r29.$index;
377
+ const ctx_r1 = i0.ɵɵnextContext();
378
+ i0.ɵɵstyleMap(ctx_r1.getCellStyleWithIndent(item_r21, colDef_r33, ɵ$index_121_r34));
379
+ i0.ɵɵclassMap(ctx_r1.getDataCellClass(item_r21, colDef_r33, ɵ$index_94_r23, ɵ$index_121_r34));
380
+ i0.ɵɵclassProp("_fixed", colDef_r33.fixed);
381
+ i0.ɵɵattribute("data-r", ɵ$index_94_r23)("data-c", ɵ$index_121_r34);
262
382
  i0.ɵɵadvance();
263
- i0.ɵɵconditional((tmp_12_0 = ctx_r1.getColumnSummaryTpl(colDef_r21.key)) ? 1 : -1, tmp_12_0);
383
+ i0.ɵɵconditional((tmp_28_0 = ctx_r1.getColumnCellTpl(colDef_r33.key)) ? 1 : -1, tmp_28_0);
264
384
  } }
265
- function SdSheet_Conditional_9_Template(rf, ctx) { if (rf & 1) {
266
- i0.ɵɵelementStart(0, "tfoot")(1, "tr");
267
- i0.ɵɵconditionalCreate(2, SdSheet_Conditional_9_Conditional_2_Template, 1, 0, "td", 8);
268
- i0.ɵɵconditionalCreate(3, SdSheet_Conditional_9_Conditional_3_Template, 1, 0, "td", 9);
269
- i0.ɵɵrepeaterCreate(4, SdSheet_Conditional_9_For_5_Template, 2, 3, "td", 10, _forTrack1);
270
- i0.ɵɵelementEnd()();
385
+ function SdSheet_For_9_Template(rf, ctx) { if (rf & 1) {
386
+ const _r20 = i0.ɵɵgetCurrentView();
387
+ i0.ɵɵelementStart(0, "tr", 31);
388
+ i0.ɵɵlistener("click", function SdSheet_For_9_Template_tr_click_0_listener() { const item_r21 = i0.ɵɵrestoreView(_r20).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onRowClick(item_r21)); })("keydown", function SdSheet_For_9_Template_tr_keydown_0_listener($event) { const item_r21 = i0.ɵɵrestoreView(_r20).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onItemKeydown($event, item_r21)); });
389
+ i0.ɵɵelementStart(1, "td", 30);
390
+ i0.ɵɵconditionalCreate(2, SdSheet_For_9_Conditional_2_Template, 1, 6, "sd-checkbox", 32)(3, SdSheet_For_9_Conditional_3_Template, 2, 2);
391
+ i0.ɵɵelementEnd();
392
+ i0.ɵɵconditionalCreate(4, SdSheet_For_9_Conditional_4_Template, 4, 7, "td", 33);
393
+ i0.ɵɵrepeaterCreate(5, SdSheet_For_9_For_6_Template, 2, 9, "td", 34, _forTrack1);
394
+ i0.ɵɵelementEnd();
271
395
  } if (rf & 2) {
396
+ const ɵ$index_94_r23 = ctx.$index;
272
397
  const ctx_r1 = i0.ɵɵnextContext();
273
- i0.ɵɵadvance(2);
274
- i0.ɵɵconditional(ctx_r1.expanding.hasExpandable() ? 2 : -1);
398
+ i0.ɵɵattribute("data-r", ɵ$index_94_r23);
399
+ const _fc_r35 = ctx_r1.expanding.hasExpandable() ? -2 : -1;
275
400
  i0.ɵɵadvance();
276
- i0.ɵɵconditional(ctx_r1.selectMode() ? 3 : -1);
401
+ i0.ɵɵstyleProp("left", ctx_r1.featureFixedLeftMap().get(_fc_r35), "px");
402
+ i0.ɵɵattribute("data-r", ɵ$index_94_r23)("data-c", _fc_r35);
403
+ i0.ɵɵadvance();
404
+ i0.ɵɵconditional(ctx_r1.selectMode() === "multi" ? 2 : ctx_r1.selectMode() === "single" ? 3 : -1);
405
+ i0.ɵɵadvance(2);
406
+ i0.ɵɵconditional(ctx_r1.expanding.hasExpandable() ? 4 : -1);
277
407
  i0.ɵɵadvance();
278
408
  i0.ɵɵrepeater(ctx_r1.layout.columnDefs());
279
409
  } }
@@ -281,7 +411,7 @@ export class SdSheet {
281
411
  // Inputs
282
412
  key = input(...(ngDevMode ? [undefined, { debugName: "key" }] : /* istanbul ignore next */ []));
283
413
  items = input([], ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
284
- trackByFn = input(...(ngDevMode ? [undefined, { debugName: "trackByFn" }] : /* istanbul ignore next */ []));
414
+ trackByFn = input((item) => item, ...(ngDevMode ? [{ debugName: "trackByFn" }] : /* istanbul ignore next */ []));
285
415
  selectMode = input(...(ngDevMode ? [undefined, { debugName: "selectMode" }] : /* istanbul ignore next */ []));
286
416
  autoSelect = input(...(ngDevMode ? [undefined, { debugName: "autoSelect" }] : /* istanbul ignore next */ []));
287
417
  getItemSelectableFn = input(...(ngDevMode ? [undefined, { debugName: "getItemSelectableFn" }] : /* istanbul ignore next */ []));
@@ -333,6 +463,21 @@ export class SdSheet {
333
463
  fixing = useSheetColumnFixing({
334
464
  columnDefs: this.layout.columnDefs,
335
465
  });
466
+ // Feature cell fixing (select/expand columns)
467
+ _featureCellWidths = signal(new Map(), ...(ngDevMode ? [{ debugName: "_featureCellWidths" }] : /* istanbul ignore next */ []));
468
+ featureFixedLeftMap = computed(() => {
469
+ const map = new Map();
470
+ const widths = this._featureCellWidths();
471
+ const hasExpand = this.expanding.hasExpandable();
472
+ if (hasExpand) {
473
+ map.set(-2, 0);
474
+ map.set(-1, widths.get(-2) ?? 0);
475
+ }
476
+ else {
477
+ map.set(-1, 0);
478
+ }
479
+ return map;
480
+ }, ...(ngDevMode ? [{ debugName: "featureFixedLeftMap" }] : /* istanbul ignore next */ []));
336
481
  // Sorting manager
337
482
  sorting = useSortingManager({
338
483
  sorts: this.sorts,
@@ -366,6 +511,16 @@ export class SdSheet {
366
511
  getFixedCellStyle = this._styling.getFixedCellStyle;
367
512
  getCellStyleWithIndent = this._styling.getCellStyleWithIndent;
368
513
  getDataCellClass = this._styling.getDataCellClass;
514
+ // Focus indicator
515
+ _focusIndicator = useSheetFocusIndicator({
516
+ domAccessor: this.domAccessor,
517
+ });
518
+ // Select row indicator
519
+ _selectRowIndicator = injectSheetSelectRowIndicator({
520
+ domAccessor: this.domAccessor,
521
+ selectedItems: this.selectedItems,
522
+ displayItems: this.displayItems,
523
+ });
369
524
  // Selection manager
370
525
  selection = useSelectionManager({
371
526
  displayItems: this.displayItems,
@@ -375,13 +530,12 @@ export class SdSheet {
375
530
  });
376
531
  // Icons
377
532
  icons = {
378
- tablerArrowUp,
379
- tablerArrowDown,
380
- tablerChevronRight,
381
- tablerChevronDown,
382
- tablerChevronsRight,
383
- tablerChevronsDown,
384
533
  tablerSettings,
534
+ tablerCaretRight,
535
+ tablerArrowsSort,
536
+ tablerSortAscending,
537
+ tablerSortDescending,
538
+ tablerArrowRight,
385
539
  };
386
540
  _columnControlMap = computed(() => {
387
541
  const map = new Map();
@@ -390,6 +544,10 @@ export class SdSheet {
390
544
  }
391
545
  return map;
392
546
  }, ...(ngDevMode ? [{ debugName: "_columnControlMap" }] : /* istanbul ignore next */ []));
547
+ getColumnHeaderTpl(key) {
548
+ const col = this._columnControlMap().get(key);
549
+ return col?.headerTplRef() ?? null;
550
+ }
393
551
  getColumnCellTpl(key) {
394
552
  const col = this._columnControlMap().get(key);
395
553
  return col?.cellTplRef() ?? null;
@@ -409,10 +567,6 @@ export class SdSheet {
409
567
  this.selection.select(item);
410
568
  }
411
569
  }
412
- onSelectCheckboxClick(event, item) {
413
- event.stopPropagation();
414
- this.selection.toggle(item);
415
- }
416
570
  onCellClick(event, item) {
417
571
  if (this.autoSelect() === "click") {
418
572
  this.selection.select(item);
@@ -469,8 +623,80 @@ export class SdSheet {
469
623
  onDblClick(event) {
470
624
  this.cellAgent.handleCellDoubleClick(event);
471
625
  }
626
+ onFocusCapture(event) {
627
+ this._autoScrollOnFocus(event);
628
+ this._focusIndicator.redraw();
629
+ }
472
630
  onBlurCapture(event) {
473
631
  this.cellAgent.handleBlurCapture(event);
632
+ this._focusIndicator.redraw();
633
+ }
634
+ onContainerScroll() {
635
+ this._focusIndicator.redraw();
636
+ }
637
+ onTableResize(event) {
638
+ if (!event.widthChanged)
639
+ return;
640
+ this._focusIndicator.redraw();
641
+ this._selectRowIndicator.redraw();
642
+ }
643
+ onFeatureCellResize(event, key) {
644
+ if (!event.widthChanged)
645
+ return;
646
+ const width = event.target.offsetWidth;
647
+ this._featureCellWidths.update((m) => {
648
+ const newMap = new Map(m);
649
+ newMap.set(key, width);
650
+ return newMap;
651
+ });
652
+ }
653
+ onSelectorMouseDown(event, r) {
654
+ if (!event.shiftKey)
655
+ return;
656
+ event.preventDefault();
657
+ event.stopPropagation();
658
+ const focusedEl = document.activeElement;
659
+ if (!(focusedEl instanceof HTMLElement))
660
+ return;
661
+ const focusedTrEl = focusedEl.tagName.toLowerCase() === "tr" ? focusedEl : focusedEl.closest("tr");
662
+ if (!(focusedTrEl instanceof HTMLTableRowElement))
663
+ return;
664
+ const frAttr = focusedTrEl.getAttribute("data-r");
665
+ if (frAttr == null)
666
+ return;
667
+ const fr = parseInt(frAttr, 10);
668
+ if (Number.isNaN(fr))
669
+ return;
670
+ const items = this.displayItems();
671
+ const isSelect = this.selection.isSelected(items[fr]);
672
+ queueMicrotask(() => {
673
+ for (let i = Math.min(fr, r); i <= Math.max(fr, r); i++) {
674
+ if (isSelect) {
675
+ this.selection.select(items[i]);
676
+ }
677
+ else {
678
+ this.selection.deselect(items[i]);
679
+ }
680
+ }
681
+ });
682
+ const row = this.domAccessor.getRow(r);
683
+ row?.querySelector("[tabindex]")?.focus();
684
+ }
685
+ _autoScrollOnFocus(event) {
686
+ if (!(event.target instanceof HTMLElement))
687
+ return;
688
+ const tdEl = event.target.tagName.toLowerCase() === "td" ? event.target : event.target.closest("td");
689
+ if (!(tdEl instanceof HTMLTableCellElement))
690
+ return;
691
+ if (tdEl.classList.contains("_fixed"))
692
+ return;
693
+ const containerEl = this.domAccessor.getContainer();
694
+ const theadEl = this.domAccessor.getTHead();
695
+ const fixedHeaders = this.domAccessor.getLastDepthFixedHeaders();
696
+ containerEl.scrollIntoViewIfNeeded({ top: tdEl.offsetTop, left: tdEl.offsetLeft }, {
697
+ top: theadEl.offsetHeight,
698
+ left: fixedHeaders.reduce((sum, el) => sum + el.offsetWidth, 0),
699
+ });
474
700
  }
475
701
  onItemKeydown(event, item) {
476
702
  this.itemKeydown.emit({ item, event });
@@ -483,6 +709,7 @@ export class SdSheet {
483
709
  title: "시트 설정",
484
710
  type: SdSheetConfigModal,
485
711
  inputs: {
712
+ sheetKey: this.key(),
486
713
  controls: this.columnControls(),
487
714
  config: this._configResource.value(),
488
715
  },
@@ -496,105 +723,202 @@ export class SdSheet {
496
723
  i0.ɵɵcontentQuerySignal(dirIndex, ctx.columnControls, SdSheetColumn, 4);
497
724
  } if (rf & 2) {
498
725
  i0.ɵɵqueryAdvance();
499
- } }, hostVars: 1, hostBindings: function SdSheet_HostBindings(rf, ctx) { if (rf & 1) {
500
- i0.ɵɵlistener("keydown.capture", function SdSheet_keydown_capture_HostBindingHandler($event) { return ctx.onKeydownCapture($event); })("dblclick", function SdSheet_dblclick_HostBindingHandler($event) { return ctx.onDblClick($event); })("blur.capture", function SdSheet_blur_capture_HostBindingHandler($event) { return ctx.onBlurCapture($event); });
726
+ } }, hostAttrs: [1, "flex-column", "fill"], hostVars: 2, hostBindings: function SdSheet_HostBindings(rf, ctx) { if (rf & 1) {
727
+ i0.ɵɵlistener("keydown.capture", function SdSheet_keydown_capture_HostBindingHandler($event) { return ctx.onKeydownCapture($event); })("focus.capture", function SdSheet_focus_capture_HostBindingHandler($event) { return ctx.onFocusCapture($event); })("dblclick", function SdSheet_dblclick_HostBindingHandler($event) { return ctx.onDblClick($event); })("blur.capture", function SdSheet_blur_capture_HostBindingHandler($event) { return ctx.onBlurCapture($event); });
501
728
  } if (rf & 2) {
502
- i0.ɵɵattribute("data-sd-inset", ctx.inset());
503
- } }, inputs: { key: [1, "key"], items: [1, "items"], trackByFn: [1, "trackByFn"], selectMode: [1, "selectMode"], autoSelect: [1, "autoSelect"], getItemSelectableFn: [1, "getItemSelectableFn"], getChildrenFn: [1, "getChildrenFn"], useAutoSort: [1, "useAutoSort"], visiblePageCount: [1, "visiblePageCount"], totalPageCount: [1, "totalPageCount"], itemsPerPage: [1, "itemsPerPage"], focusMode: [1, "focusMode"], inset: [1, "inset"], contentStyle: [1, "contentStyle"], getItemCellClassFn: [1, "getItemCellClassFn"], getItemCellStyleFn: [1, "getItemCellStyleFn"], hideConfigBar: [1, "hideConfigBar"], selectedItems: [1, "selectedItems"], expandedItems: [1, "expandedItems"], sorts: [1, "sorts"], currentPage: [1, "currentPage"] }, outputs: { itemKeydown: "itemKeydown", cellKeydown: "cellKeydown", selectedItems: "selectedItemsChange", expandedItems: "expandedItemsChange", sorts: "sortsChange", currentPage: "currentPageChange" }, decls: 11, vars: 8, consts: [[1, "_tool"], [1, "_container"], [3, "background"], [1, "_resize-indicator"], [3, "currentPage", "totalPageCount", "visiblePageCount"], [3, "click"], [3, "svg"], [3, "currentPageChange", "currentPage", "totalPageCount", "visiblePageCount"], [1, "_expand-col"], [1, "_select-col"], [3, "style"], [3, "value", "inline", "inset"], [3, "click", "value", "inline", "inset"], [1, "_resizer"], [1, "_sort-icon", 3, "svg"], [1, "_sort-index"], [1, "_resizer", 3, "mousedown", "dblclick"], [3, "click", "keydown"], ["tabindex", "0", 3, "class", "style"], [3, "click", "value", "canChangeFn", "inline", "inset"], ["tabindex", "0", 3, "click", "focus", "keydown"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "ngTemplateOutlet"]], template: function SdSheet_Template(rf, ctx) { if (rf & 1) {
729
+ i0.ɵɵattribute("data-sd-inset", ctx.inset())("data-sd-focus-mode", ctx.focusMode());
730
+ } }, inputs: { key: [1, "key"], items: [1, "items"], trackByFn: [1, "trackByFn"], selectMode: [1, "selectMode"], autoSelect: [1, "autoSelect"], getItemSelectableFn: [1, "getItemSelectableFn"], getChildrenFn: [1, "getChildrenFn"], useAutoSort: [1, "useAutoSort"], visiblePageCount: [1, "visiblePageCount"], totalPageCount: [1, "totalPageCount"], itemsPerPage: [1, "itemsPerPage"], focusMode: [1, "focusMode"], inset: [1, "inset"], contentStyle: [1, "contentStyle"], getItemCellClassFn: [1, "getItemCellClassFn"], getItemCellStyleFn: [1, "getItemCellStyleFn"], hideConfigBar: [1, "hideConfigBar"], selectedItems: [1, "selectedItems"], expandedItems: [1, "expandedItems"], sorts: [1, "sorts"], currentPage: [1, "currentPage"] }, outputs: { itemKeydown: "itemKeydown", cellKeydown: "cellKeydown", selectedItems: "selectedItemsChange", expandedItems: "expandedItemsChange", sorts: "sortsChange", currentPage: "currentPageChange" }, features: [i0.ɵɵHostDirectivesFeature([{ directive: i1.SdEvents, outputs: ["keydown.capture", "keydown.capture", "focus.capture", "focus.capture", "blur.capture", "blur.capture"] }])], decls: 14, vars: 8, consts: [[1, "_tool", "flex-row", "gap-sm", "p-xs"], [1, "_sheet-container", "flex-fill", 3, "scroll.passive"], [3, "sdResize"], [1, "_summary-row"], [1, "_focus-row-indicator"], [1, "_focus-cell-indicator"], [1, "_resize-indicator"], [1, "_select-row-indicator-container"], [3, "theme", "size"], [1, "flex-fill", 3, "currentPage", "totalPageCount", "visiblePageCount"], [3, "click", "theme", "size"], [3, "svg"], [1, "flex-fill", 3, "currentPageChange", "currentPage", "totalPageCount", "visiblePageCount"], [1, "_fixed", "_feature-cell", "_last-depth", 3, "sdResize"], [3, "value", "inline", "theme"], [1, "_fixed", "_feature-cell", "_last-depth", 3, "left"], [3, "valueChange", "value", "inline", "theme"], [3, "click", "svg"], [3, "_fixed", "left"], [1, "_last-depth", 3, "_fixed", "_sort", "help", "style"], [1, "_p-sheet"], [1, "_last-depth", 3, "click"], [1, "_headerContent", "flex-row"], [1, "flex-fill"], [1, "flex-fill", "_p-sheet"], [1, "_sort-icon"], [1, "_resizer"], [3, "ngTemplateOutlet"], [1, "tx-trans-lightest", 3, "svg"], [1, "_resizer", 3, "mousedown", "dblclick"], [1, "_fixed", "_feature-cell"], [3, "click", "keydown"], [3, "value", "canChangeFn", "inline", "theme", "disabled"], [1, "_fixed", "_feature-cell", 3, "left"], ["tabindex", "0", 3, "_fixed", "class", "style"], [3, "valueChange", "mousedown", "value", "canChangeFn", "inline", "theme", "disabled"], [3, "theme"], [3, "pointerdown", "theme"], [1, "_depth-indicator", 3, "margin-left"], [3, "svg", "transform", "tx-theme-primary-default"], [1, "_depth-indicator"], ["tabindex", "0", 3, "click", "focus", "keydown"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function SdSheet_Template(rf, ctx) { if (rf & 1) {
504
731
  i0.ɵɵconditionalCreate(0, SdSheet_Conditional_0_Template, 3, 2, "div", 0);
505
- i0.ɵɵelementStart(1, "div", 1)(2, "table")(3, "thead");
506
- i0.ɵɵrepeaterCreate(4, SdSheet_For_5_Template, 5, 2, "tr", null, i0.ɵɵrepeaterTrackByIndex);
732
+ i0.ɵɵelementStart(1, "div", 1);
733
+ i0.ɵɵlistener("scroll.passive", function SdSheet_Template_div_scroll_passive_1_listener() { return ctx.onContainerScroll(); });
734
+ i0.ɵɵelementStart(2, "table", 2);
735
+ i0.ɵɵlistener("sdResize", function SdSheet_Template_table_sdResize_2_listener($event) { return ctx.onTableResize($event); });
736
+ i0.ɵɵelementStart(3, "thead");
737
+ i0.ɵɵrepeaterCreate(4, SdSheet_For_5_Template, 4, 1, "tr", null, i0.ɵɵrepeaterTrackByIndex);
738
+ i0.ɵɵconditionalCreate(6, SdSheet_Conditional_6_Template, 5, 1, "tr", 3);
507
739
  i0.ɵɵelementEnd();
508
- i0.ɵɵelementStart(6, "tbody");
509
- i0.ɵɵrepeaterCreate(7, SdSheet_For_8_Template, 5, 6, "tr", 2, _forTrack0, true);
740
+ i0.ɵɵelementStart(7, "tbody");
741
+ i0.ɵɵrepeaterCreate(8, SdSheet_For_9_Template, 7, 7, "tr", null, _forTrack0, true);
742
+ i0.ɵɵelementEnd()();
743
+ i0.ɵɵelementStart(10, "div", 4);
744
+ i0.ɵɵelement(11, "div", 5);
510
745
  i0.ɵɵelementEnd();
511
- i0.ɵɵconditionalCreate(9, SdSheet_Conditional_9_Template, 6, 2, "tfoot");
512
- i0.ɵɵelementEnd();
513
- i0.ɵɵelement(10, "div", 3);
746
+ i0.ɵɵelement(12, "div", 6)(13, "div", 7);
514
747
  i0.ɵɵelementEnd();
515
748
  } if (rf & 2) {
516
- i0.ɵɵconditional((ctx.key() || ctx.effectivePageCount() > 1) && !ctx.hideConfigBar() ? 0 : -1);
749
+ i0.ɵɵconditional((ctx.key() || ctx.effectivePageCount() > 0) && !ctx.hideConfigBar() ? 0 : -1);
517
750
  i0.ɵɵadvance();
518
751
  i0.ɵɵstyleMap(ctx.contentStyle());
519
752
  i0.ɵɵadvance(3);
520
753
  i0.ɵɵrepeater(ctx.layout.headerDefTable());
521
- i0.ɵɵadvance(3);
522
- i0.ɵɵrepeater(ctx.displayItems());
523
754
  i0.ɵɵadvance(2);
524
- i0.ɵɵconditional(ctx.layout.hasSummary() ? 9 : -1);
525
- i0.ɵɵadvance();
755
+ i0.ɵɵconditional(ctx.layout.hasSummary() ? 6 : -1);
756
+ i0.ɵɵadvance(2);
757
+ i0.ɵɵrepeater(ctx.displayItems());
758
+ i0.ɵɵadvance(4);
526
759
  i0.ɵɵstyleProp("display", ctx._isResizing() ? "block" : "none")("left", ctx._resizeIndicatorLeft(), "px");
527
- } }, dependencies: [NgTemplateOutlet, SdCheckbox, NgIcon, SdPagination, SdAnchor, SdButton], styles: ["sd-sheet {\n display: block;\n position: relative;\n overflow: hidden;\n border: 1px solid var(--trans-lighter);\n}\nsd-sheet[data-sd-inset=true] {\n border: none;\n}\nsd-sheet > ._tool {\n display: flex;\n align-items: center;\n gap: var(--gap-sm);\n padding: var(--gap-sm) var(--gap-default);\n border-bottom: 1px solid var(--trans-lighter);\n background: var(--theme-secondary-lightest);\n}\nsd-sheet > ._container {\n overflow: auto;\n width: 100%;\n height: 100%;\n}\nsd-sheet > ._container > table {\n width: 100%;\n border-collapse: collapse;\n table-layout: fixed;\n}\nsd-sheet > ._container > table > thead > tr > th {\n position: sticky;\n top: 0;\n z-index: 2;\n background: var(--theme-secondary-lightest);\n border: 1px solid var(--trans-lighter);\n padding: var(--gap-sm) var(--gap-default);\n text-align: left;\n font-weight: bold;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n}\nsd-sheet > ._container > table > thead > tr > th:not(._select-col):not(._expand-col) {\n position: relative;\n}\nsd-sheet > ._container > table > thead > tr > th > ._sort-icon {\n font-size: 0.85em;\n vertical-align: middle;\n margin-left: 0.25em;\n}\nsd-sheet > ._container > table > thead > tr > th > ._sort-index {\n font-size: 0.75em;\n vertical-align: super;\n}\nsd-sheet > ._container > table > thead > tr > th > ._resizer {\n position: absolute;\n top: 0;\n right: -2px;\n width: 5px;\n height: 100%;\n cursor: col-resize;\n z-index: 3;\n}\nsd-sheet > ._container > table > tbody > tr > td {\n border: 1px solid var(--trans-lighter);\n padding: var(--gap-sm) var(--gap-default);\n white-space: nowrap;\n}\nsd-sheet > ._container > table > tbody > tr > td:focus {\n outline: 2px solid var(--theme-primary-default);\n outline-offset: -2px;\n}\nsd-sheet > ._container > table > thead > tr > th._select-col,\nsd-sheet > ._container > table > tbody > tr > td._select-col {\n width: 2em;\n min-width: 2em;\n max-width: 2em;\n text-align: center;\n padding: 0;\n}\nsd-sheet > ._container > table > thead > tr > th._expand-col,\nsd-sheet > ._container > table > tbody > tr > td._expand-col {\n width: 2em;\n min-width: 2em;\n max-width: 2em;\n text-align: center;\n padding: 0;\n}\nsd-sheet > ._container > table > tfoot > tr > td {\n position: sticky;\n bottom: 0;\n z-index: 2;\n background: var(--theme-secondary-lightest);\n border: 1px solid var(--trans-lighter);\n padding: var(--gap-sm) var(--gap-default);\n}\nsd-sheet > ._container > ._resize-indicator {\n position: absolute;\n top: 0;\n width: 2px;\n height: 100%;\n background: var(--theme-primary-default);\n z-index: 10;\n pointer-events: none;\n}"], encapsulation: 2, changeDetection: 0 });
760
+ } }, dependencies: [NgTemplateOutlet, SdCheckbox, NgIcon, SdPagination, SdAnchor, SdButton, SdResizeDirective], styles: ["sd-sheet {\n border: 1px solid var(--theme-gray-lighter);\n border-radius: var(--border-radius-default);\n}\nsd-sheet > ._tool {\n background: var(--control-color);\n border-top-left-radius: var(--border-radius-default);\n border-top-right-radius: var(--border-radius-default);\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container {\n position: relative;\n background: var(--sheet-bg);\n border-bottom-left-radius: var(--border-radius-default);\n border-bottom-right-radius: var(--border-radius-default);\n overflow: auto;\n}\nsd-sheet > ._sheet-container > table {\n border-spacing: 0;\n table-layout: fixed;\n margin-right: 2px;\n margin-bottom: 2px;\n border-bottom-right-radius: var(--border-radius-default);\n}\nsd-sheet > ._sheet-container > table > * > tr > *:last-child {\n border-right: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > * > tr:last-child > * {\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > *:last-child > tr:last-child > td:last-child {\n border-bottom-right-radius: var(--border-radius-default);\n overflow: hidden;\n}\nsd-sheet > ._sheet-container > table > * > tr > * {\n border-right: 1px solid var(--theme-gray-lighter);\n border-bottom: 1px solid var(--theme-gray-lighter);\n white-space: nowrap;\n overflow: hidden;\n padding: 0;\n position: relative;\n}\nsd-sheet > ._sheet-container > table > * > tr > *._fixed:has(+ :not(._fixed)) + :not(._fixed):not([data-c=\"0\"]) {\n border-left: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > * > tr > *._feature-cell {\n background: var(--theme-gray-lightest);\n min-width: calc(var(--font-size-default) + 2px + var(--sheet-ph) * 2);\n padding: var(--sheet-pv) var(--sheet-ph);\n text-align: left;\n}\nsd-sheet > ._sheet-container > table > * > tr > *._feature-cell > ng-icon {\n cursor: pointer;\n color: var(--text-trans-lightest);\n}\nsd-sheet > ._sheet-container > table > * > tr > *._fixed {\n position: sticky;\n left: 0;\n}\nsd-sheet > ._sheet-container > table > * > tr > *._fixed:has(+ :not(._fixed)) {\n border-right: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > thead {\n position: sticky;\n top: 0;\n z-index: 3;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th {\n position: relative;\n background: var(--theme-gray-lightest);\n vertical-align: middle;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._fixed {\n z-index: 4;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._last-depth {\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._feature-cell {\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._sort {\n cursor: pointer;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._sort:hover {\n text-decoration: underline;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th > ._headerContent > ._sort-icon {\n padding: var(--gap-xs) var(--gap-xs) var(--gap-xs) 0;\n background-color: var(--theme-gray-lightest);\n}\nsd-sheet > ._sheet-container > table > thead > tr > th > ._resizer {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 2px;\n cursor: ew-resize;\n}\nsd-sheet > ._sheet-container > table > thead:has(> tr._summary-row) > tr > th._last-depth {\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > thead:has(> tr._summary-row) > tr._summary-row > th {\n background: var(--theme-warning-lightest);\n text-align: left;\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > tbody > tr > td {\n background: var(--control-color);\n vertical-align: top;\n}\nsd-sheet > ._sheet-container > table > tbody > tr > td._fixed {\n z-index: 2;\n}\nsd-sheet > ._sheet-container > table > tbody > tr > td > ._depth-indicator {\n display: inline-block;\n margin-top: 0.4em;\n width: 0.5em;\n height: 0.5em;\n border-left: 1px solid var(--text-trans-default);\n border-bottom: 1px solid var(--text-trans-default);\n vertical-align: top;\n}\nsd-sheet > ._sheet-container > ._focus-row-indicator {\n display: none;\n position: absolute;\n pointer-events: none;\n background: rgba(158, 158, 158, 0.1);\n z-index: 6;\n}\nsd-sheet > ._sheet-container > ._focus-row-indicator > ._focus-cell-indicator {\n position: absolute;\n border: 2px solid var(--theme-primary-default);\n border-radius: var(--border-radius-default);\n}\nsd-sheet > ._sheet-container > ._resize-indicator {\n display: none;\n position: absolute;\n pointer-events: none;\n top: 0;\n height: 100%;\n border: 1px dotted var(--theme-gray-light);\n z-index: 7;\n}\nsd-sheet > ._sheet-container > ._select-row-indicator-container {\n display: none;\n position: absolute;\n pointer-events: none;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n}\nsd-sheet > ._sheet-container > ._select-row-indicator-container > ._select-row-indicator {\n display: block;\n left: 0;\n position: absolute;\n pointer-events: none;\n background: var(--theme-primary-default);\n opacity: 0.1;\n}\nsd-sheet ._p-sheet {\n padding: var(--sheet-pv) var(--sheet-ph);\n}\nsd-sheet[data-sd-focus-mode=row] > ._sheet-container > ._focus-row-indicator > ._focus-cell-indicator {\n display: none !important;\n}\nsd-sheet[data-sd-inset=true] {\n border: none;\n border-radius: 0;\n}"], encapsulation: 2, changeDetection: 0 });
528
761
  }
529
762
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdSheet, [{
530
763
  type: Component,
531
- args: [{ selector: "sd-sheet", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgTemplateOutlet, SdCheckbox, NgIcon, SdPagination, SdAnchor, SdButton], template: `
532
- @if ((key() || effectivePageCount() > 1) && !hideConfigBar()) {
533
- <div class="_tool">
764
+ args: [{ selector: "sd-sheet", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgTemplateOutlet, SdCheckbox, NgIcon, SdPagination, SdAnchor, SdButton, SdResizeDirective], hostDirectives: [
765
+ { directive: SdEvents, outputs: ["keydown.capture", "focus.capture", "blur.capture"] },
766
+ ], host: {
767
+ "class": "flex-column fill",
768
+ "[attr.data-sd-inset]": "inset()",
769
+ "[attr.data-sd-focus-mode]": "focusMode()",
770
+ "(keydown.capture)": "onKeydownCapture($event)",
771
+ "(focus.capture)": "onFocusCapture($event)",
772
+ "(dblclick)": "onDblClick($event)",
773
+ "(blur.capture)": "onBlurCapture($event)",
774
+ }, template: `
775
+ @if ((key() || effectivePageCount() > 0) && !hideConfigBar()) {
776
+ <div class="_tool flex-row gap-sm p-xs">
534
777
  @if (key()) {
535
- <sd-button (click)="onConfigButtonClick()">
778
+ <sd-button [theme]="'link-primary'" [size]="'sm'" (click)="onConfigButtonClick()">
536
779
  <ng-icon [svg]="icons.tablerSettings" />
537
780
  </sd-button>
538
781
  }
539
782
  @if (effectivePageCount() > 1) {
540
- <sd-pagination [(currentPage)]="currentPage" [totalPageCount]="effectivePageCount()" [visiblePageCount]="visiblePageCount()" />
783
+ <sd-pagination
784
+ class="flex-fill"
785
+ [(currentPage)]="currentPage"
786
+ [totalPageCount]="effectivePageCount()"
787
+ [visiblePageCount]="visiblePageCount()"
788
+ />
541
789
  }
542
790
  </div>
543
791
  }
544
- <div class="_container" [style]="contentStyle()">
545
- <table>
792
+
793
+ <div
794
+ class="_sheet-container flex-fill"
795
+ (scroll.passive)="onContainerScroll()"
796
+ [style]="contentStyle()"
797
+ >
798
+ <table (sdResize)="onTableResize($event)">
546
799
  <thead>
547
800
  @for (row of layout.headerDefTable(); track $index; let rowIdx = $index) {
548
801
  <tr>
549
- @if (expanding.hasExpandable() && rowIdx === 0) {
550
- <th
551
- class="_expand-col"
552
- [attr.rowspan]="layout.headerFeatureRowSpan() > 1 ? layout.headerFeatureRowSpan() : null"
553
- >
554
- <sd-anchor (click)="expanding.toggleAll()">
555
- <ng-icon [svg]="expanding.isAllExpanded() ? icons.tablerChevronsDown : icons.tablerChevronsRight" />
556
- </sd-anchor>
557
- </th>
558
- }
559
- @if (selectMode() && rowIdx === 0) {
802
+ @if (rowIdx === 0) {
803
+ @let _fc = expanding.hasExpandable() ? -2 : -1;
560
804
  <th
561
- class="_select-col"
562
- [attr.rowspan]="layout.headerFeatureRowSpan() > 1 ? layout.headerFeatureRowSpan() : null"
805
+ class="_fixed _feature-cell _last-depth"
806
+ [attr.rowspan]="
807
+ layout.headerFeatureRowSpan() > 1 ? layout.headerFeatureRowSpan() : null
808
+ "
809
+ [attr.data-c]="_fc"
810
+ [style.left.px]="featureFixedLeftMap().get(_fc)"
811
+ (sdResize)="onFeatureCellResize($event, _fc)"
563
812
  >
564
- @if (selectMode() === "multi") {
813
+ @if (selection.hasSelectable() && selectMode() === "multi") {
565
814
  <sd-checkbox
566
815
  [value]="selection.isAllSelected()"
567
- (click)="selection.toggleAll()"
816
+ (valueChange)="selection.toggleAll()"
568
817
  [inline]="true"
569
- [inset]="true"
818
+ [theme]="'white'"
570
819
  />
571
820
  }
572
821
  </th>
573
- }
574
- @for (cell of row; track $index) {
575
- <th
576
- [attr.colspan]="cell.colspan > 1 ? cell.colspan : null"
577
- [attr.rowspan]="cell.rowspan > 1 ? cell.rowspan : null"
578
- [attr.aria-sort]="getAriaSortValue(cell)"
579
- [style]="getHeaderCellStyle(cell)"
580
- (click)="onHeaderClick($event, cell)"
581
- >
582
- <span>{{ cell.text }}</span>
583
- @if (cell.colDef && getSortDef(cell.colDef.key); as sortDef) {
822
+ @if (expanding.hasExpandable()) {
823
+ <th
824
+ class="_fixed _feature-cell _last-depth"
825
+ [attr.rowspan]="
826
+ layout.headerFeatureRowSpan() > 1 ? layout.headerFeatureRowSpan() : null
827
+ "
828
+ [attr.data-c]="-1"
829
+ [style.left.px]="featureFixedLeftMap().get(-1)"
830
+ (sdResize)="onFeatureCellResize($event, -1)"
831
+ >
584
832
  <ng-icon
585
- class="_sort-icon"
586
- [svg]="sortDef.desc ? icons.tablerArrowDown : icons.tablerArrowUp"
833
+ [svg]="icons.tablerCaretRight"
834
+ [class.tx-theme-primary-default]="expanding.isAllExpanded()"
835
+ [style.transform]="expanding.isAllExpanded() ? 'rotate(90deg)' : undefined"
836
+ (click)="expanding.toggleAll()"
587
837
  />
588
- @if (sortDef.indexText) {
589
- <span class="_sort-index">{{ sortDef.indexText }}</span>
838
+ </th>
839
+ }
840
+ }
841
+ @for (cell of row; track $index; let c = $index) {
842
+ @if (!cell.isLastRow) {
843
+ <th
844
+ [class._fixed]="cell.colDef?.fixed"
845
+ [attr.colspan]="cell.colspan > 1 ? cell.colspan : null"
846
+ [attr.rowspan]="cell.rowspan > 1 ? cell.rowspan : null"
847
+ [attr.data-c]="c"
848
+ [attr.title]="cell.text"
849
+ [style.left.px]="
850
+ cell.colDef?.fixed ? fixing.fixedLeftMap().get(cell.colDef!.key) : null
851
+ "
852
+ >
853
+ <div class="_p-sheet">
854
+ <pre>{{ cell.text }}</pre>
855
+ </div>
856
+ </th>
857
+ } @else {
858
+ <th
859
+ [class._fixed]="cell.colDef?.fixed"
860
+ class="_last-depth"
861
+ [class._sort]="cell.colDef && !cell.colDef.disableSorting"
862
+ [attr.colspan]="cell.colspan > 1 ? cell.colspan : null"
863
+ [attr.rowspan]="cell.rowspan > 1 ? cell.rowspan : null"
864
+ [attr.data-c]="c"
865
+ [attr.title]="cell.colDef?.tooltip ?? cell.text"
866
+ [class.help]="cell.colDef?.tooltip"
867
+ [style]="getHeaderCellStyle(cell)"
868
+ (click)="onHeaderClick($event, cell)"
869
+ >
870
+ <div class="_headerContent flex-row">
871
+ @if (cell.colDef && getColumnHeaderTpl(cell.colDef.key); as headerTpl) {
872
+ <div class="flex-fill" [attr.style]="cell.colDef.headerStyle">
873
+ <ng-template [ngTemplateOutlet]="headerTpl" />
874
+ </div>
875
+ } @else {
876
+ <div class="flex-fill _p-sheet" [attr.style]="cell.colDef?.headerStyle">
877
+ <pre>{{ cell.text }}</pre>
878
+ </div>
879
+ }
880
+ @if (cell.colDef && !cell.colDef.disableSorting) {
881
+ @let _sortDef = getSortDef(cell.colDef.key);
882
+ <div class="_sort-icon">
883
+ @if (_sortDef?.desc === false) {
884
+ <ng-icon [svg]="icons.tablerSortAscending" />
885
+ } @else if (_sortDef?.desc === true) {
886
+ <ng-icon [svg]="icons.tablerSortDescending" />
887
+ } @else {
888
+ <ng-icon [svg]="icons.tablerArrowsSort" class="tx-trans-lightest" />
889
+ }
890
+ @if (_sortDef?.indexText) {
891
+ <sub>{{ _sortDef?.indexText }}</sub>
892
+ }
893
+ </div>
894
+ }
895
+ </div>
896
+ @if (cell.colDef && !cell.colDef.disableResizing) {
897
+ <div
898
+ class="_resizer"
899
+ (mousedown)="onResizerMousedown($event, cell.colDef)"
900
+ (dblclick)="onResizerDblClick($event, cell.colDef)"
901
+ ></div>
590
902
  }
591
- }
592
- @if (cell.isLastRow && cell.colDef && !cell.colDef.disableResizing) {
593
- <div
594
- class="_resizer"
595
- (mousedown)="onResizerMousedown($event, cell.colDef)"
596
- (dblclick)="onResizerDblClick($event, cell.colDef)"
597
- ></div>
903
+ </th>
904
+ }
905
+ }
906
+ </tr>
907
+ }
908
+ @if (layout.hasSummary()) {
909
+ <tr class="_summary-row">
910
+ <th class="_fixed _feature-cell"></th>
911
+ @if (expanding.hasExpandable()) {
912
+ <th class="_fixed _feature-cell"></th>
913
+ }
914
+ @for (colDef of layout.columnDefs(); track colDef.key; let c = $index) {
915
+ <th
916
+ [class._fixed]="colDef.fixed"
917
+ [attr.data-c]="c"
918
+ [style.left.px]="colDef.fixed ? fixing.fixedLeftMap().get(colDef.key) : null"
919
+ >
920
+ @if (getColumnSummaryTpl(colDef.key); as tpl) {
921
+ <ng-template [ngTemplateOutlet]="tpl" />
598
922
  }
599
923
  </th>
600
924
  }
@@ -602,39 +926,73 @@ export class SdSheet {
602
926
  }
603
927
  </thead>
604
928
  <tbody>
605
- @for (item of displayItems(); track trackByFn() ? trackByFn()!(item, $index) : $index; let rowIdx = $index) {
929
+ @for (item of displayItems(); track trackByFn()(item, $index); let rowIdx = $index) {
606
930
  <tr
607
- [attr.aria-selected]="selection.isSelected(item) ? 'true' : null"
608
- [attr.aria-expanded]="getAriaExpanded(item)"
609
- [style.background]="selection.isSelected(item) ? 'var(--trans-lighter)' : null"
931
+ [attr.data-r]="rowIdx"
610
932
  (click)="onRowClick(item)"
611
933
  (keydown)="onItemKeydown($event, item)"
612
934
  >
613
- @if (expanding.hasExpandable()) {
614
- <td class="_expand-col">
615
- @if (getItemDef(item).hasChildren) {
616
- <sd-anchor (click)="onExpandClick($event, item)">
617
- <ng-icon [svg]="isExpanded(item) ? icons.tablerChevronDown : icons.tablerChevronRight" />
618
- </sd-anchor>
619
- }
620
- </td>
621
- }
622
- @if (selectMode()) {
623
- <td class="_select-col">
935
+ @let _fc = expanding.hasExpandable() ? -2 : -1;
936
+ <td
937
+ class="_fixed _feature-cell"
938
+ [attr.data-r]="rowIdx"
939
+ [attr.data-c]="_fc"
940
+ [style.left.px]="featureFixedLeftMap().get(_fc)"
941
+ >
942
+ @if (selectMode() === "multi") {
943
+ @let _selectable = selection.getSelectable(item);
624
944
  <sd-checkbox
625
945
  [value]="selection.isSelected(item)"
626
946
  [canChangeFn]="selection.getCanChangeFn(item)"
627
- (click)="onSelectCheckboxClick($event, item)"
947
+ (valueChange)="selection.toggle(item)"
948
+ (mousedown)="onSelectorMouseDown($event, rowIdx)"
628
949
  [inline]="true"
629
- [inset]="true"
630
- [attr.title]="getSelectableTooltip(item)"
950
+ [theme]="'white'"
951
+ [disabled]="_selectable !== true"
952
+ [attr.title]="_selectable"
631
953
  />
954
+ } @else if (selectMode() === "single") {
955
+ @let _selectable = selection.getSelectable(item);
956
+ @if (_selectable === true && selection.getCanChangeFn(item)) {
957
+ <sd-anchor
958
+ [theme]="selection.isSelected(item) ? 'primary' : 'gray'"
959
+ (pointerdown)="selection.toggle(item)"
960
+ [attr.title]="_selectable"
961
+ >
962
+ <ng-icon [svg]="icons.tablerArrowRight" />
963
+ </sd-anchor>
964
+ }
965
+ }
966
+ </td>
967
+ @if (expanding.hasExpandable()) {
968
+ <td
969
+ class="_fixed _feature-cell"
970
+ [attr.data-r]="rowIdx"
971
+ [attr.data-c]="-1"
972
+ [style.left.px]="featureFixedLeftMap().get(-1)"
973
+ >
974
+ @let itemDef = getItemDef(item);
975
+ @if (itemDef.depth > 0) {
976
+ <div
977
+ class="_depth-indicator"
978
+ [style.margin-left.em]="itemDef.depth - 0.5"
979
+ ></div>
980
+ }
981
+ @if (itemDef.hasChildren) {
982
+ <ng-icon
983
+ [svg]="icons.tablerCaretRight"
984
+ [style.transform]="isExpanded(item) ? 'rotate(90deg)' : undefined"
985
+ [class.tx-theme-primary-default]="isExpanded(item)"
986
+ (click)="onExpandClick($event, item)"
987
+ />
988
+ }
632
989
  </td>
633
990
  }
634
991
  @for (colDef of layout.columnDefs(); track colDef.key; let colIdx = $index) {
635
992
  <td
636
993
  [attr.data-r]="rowIdx"
637
994
  [attr.data-c]="colIdx"
995
+ [class._fixed]="colDef.fixed"
638
996
  [class]="getDataCellClass(item, colDef, rowIdx, colIdx)"
639
997
  [style]="getCellStyleWithIndent(item, colDef, colIdx)"
640
998
  (click)="onCellClick($event, item)"
@@ -649,8 +1007,8 @@ export class SdSheet {
649
1007
  $implicit: item,
650
1008
  item: item,
651
1009
  index: rowIdx,
652
- depth: getChildrenFn() !== undefined ? getItemDef(item).depth : 0,
653
- edit: cellAgent.isCellEditMode({ r: rowIdx, c: colIdx })
1010
+ depth: getChildrenFn() != null ? getItemDef(item).depth : 0,
1011
+ edit: cellAgent.isCellEditMode({ r: rowIdx, c: colIdx }),
654
1012
  }"
655
1013
  />
656
1014
  }
@@ -659,33 +1017,18 @@ export class SdSheet {
659
1017
  </tr>
660
1018
  }
661
1019
  </tbody>
662
- @if (layout.hasSummary()) {
663
- <tfoot>
664
- <tr>
665
- @if (expanding.hasExpandable()) {
666
- <td class="_expand-col"></td>
667
- }
668
- @if (selectMode()) {
669
- <td class="_select-col"></td>
670
- }
671
- @for (colDef of layout.columnDefs(); track colDef.key) {
672
- <td [style]="getFixedCellStyle(colDef)">
673
- @if (getColumnSummaryTpl(colDef.key); as tpl) {
674
- <ng-template [ngTemplateOutlet]="tpl" />
675
- }
676
- </td>
677
- }
678
- </tr>
679
- </tfoot>
680
- }
681
1020
  </table>
682
- <div class="_resize-indicator" [style.display]="_isResizing() ? 'block' : 'none'" [style.left.px]="_resizeIndicatorLeft()"></div>
1021
+
1022
+ <div class="_focus-row-indicator">
1023
+ <div class="_focus-cell-indicator"></div>
1024
+ </div>
1025
+ <div
1026
+ class="_resize-indicator"
1027
+ [style.display]="_isResizing() ? 'block' : 'none'"
1028
+ [style.left.px]="_resizeIndicatorLeft()"
1029
+ ></div>
1030
+ <div class="_select-row-indicator-container"></div>
683
1031
  </div>
684
- `, host: {
685
- "[attr.data-sd-inset]": "inset()",
686
- "(keydown.capture)": "onKeydownCapture($event)",
687
- "(dblclick)": "onDblClick($event)",
688
- "(blur.capture)": "onBlurCapture($event)",
689
- }, styles: ["sd-sheet {\n display: block;\n position: relative;\n overflow: hidden;\n border: 1px solid var(--trans-lighter);\n}\nsd-sheet[data-sd-inset=true] {\n border: none;\n}\nsd-sheet > ._tool {\n display: flex;\n align-items: center;\n gap: var(--gap-sm);\n padding: var(--gap-sm) var(--gap-default);\n border-bottom: 1px solid var(--trans-lighter);\n background: var(--theme-secondary-lightest);\n}\nsd-sheet > ._container {\n overflow: auto;\n width: 100%;\n height: 100%;\n}\nsd-sheet > ._container > table {\n width: 100%;\n border-collapse: collapse;\n table-layout: fixed;\n}\nsd-sheet > ._container > table > thead > tr > th {\n position: sticky;\n top: 0;\n z-index: 2;\n background: var(--theme-secondary-lightest);\n border: 1px solid var(--trans-lighter);\n padding: var(--gap-sm) var(--gap-default);\n text-align: left;\n font-weight: bold;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n}\nsd-sheet > ._container > table > thead > tr > th:not(._select-col):not(._expand-col) {\n position: relative;\n}\nsd-sheet > ._container > table > thead > tr > th > ._sort-icon {\n font-size: 0.85em;\n vertical-align: middle;\n margin-left: 0.25em;\n}\nsd-sheet > ._container > table > thead > tr > th > ._sort-index {\n font-size: 0.75em;\n vertical-align: super;\n}\nsd-sheet > ._container > table > thead > tr > th > ._resizer {\n position: absolute;\n top: 0;\n right: -2px;\n width: 5px;\n height: 100%;\n cursor: col-resize;\n z-index: 3;\n}\nsd-sheet > ._container > table > tbody > tr > td {\n border: 1px solid var(--trans-lighter);\n padding: var(--gap-sm) var(--gap-default);\n white-space: nowrap;\n}\nsd-sheet > ._container > table > tbody > tr > td:focus {\n outline: 2px solid var(--theme-primary-default);\n outline-offset: -2px;\n}\nsd-sheet > ._container > table > thead > tr > th._select-col,\nsd-sheet > ._container > table > tbody > tr > td._select-col {\n width: 2em;\n min-width: 2em;\n max-width: 2em;\n text-align: center;\n padding: 0;\n}\nsd-sheet > ._container > table > thead > tr > th._expand-col,\nsd-sheet > ._container > table > tbody > tr > td._expand-col {\n width: 2em;\n min-width: 2em;\n max-width: 2em;\n text-align: center;\n padding: 0;\n}\nsd-sheet > ._container > table > tfoot > tr > td {\n position: sticky;\n bottom: 0;\n z-index: 2;\n background: var(--theme-secondary-lightest);\n border: 1px solid var(--trans-lighter);\n padding: var(--gap-sm) var(--gap-default);\n}\nsd-sheet > ._container > ._resize-indicator {\n position: absolute;\n top: 0;\n width: 2px;\n height: 100%;\n background: var(--theme-primary-default);\n z-index: 10;\n pointer-events: none;\n}"] }]
1032
+ `, styles: ["sd-sheet {\n border: 1px solid var(--theme-gray-lighter);\n border-radius: var(--border-radius-default);\n}\nsd-sheet > ._tool {\n background: var(--control-color);\n border-top-left-radius: var(--border-radius-default);\n border-top-right-radius: var(--border-radius-default);\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container {\n position: relative;\n background: var(--sheet-bg);\n border-bottom-left-radius: var(--border-radius-default);\n border-bottom-right-radius: var(--border-radius-default);\n overflow: auto;\n}\nsd-sheet > ._sheet-container > table {\n border-spacing: 0;\n table-layout: fixed;\n margin-right: 2px;\n margin-bottom: 2px;\n border-bottom-right-radius: var(--border-radius-default);\n}\nsd-sheet > ._sheet-container > table > * > tr > *:last-child {\n border-right: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > * > tr:last-child > * {\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > *:last-child > tr:last-child > td:last-child {\n border-bottom-right-radius: var(--border-radius-default);\n overflow: hidden;\n}\nsd-sheet > ._sheet-container > table > * > tr > * {\n border-right: 1px solid var(--theme-gray-lighter);\n border-bottom: 1px solid var(--theme-gray-lighter);\n white-space: nowrap;\n overflow: hidden;\n padding: 0;\n position: relative;\n}\nsd-sheet > ._sheet-container > table > * > tr > *._fixed:has(+ :not(._fixed)) + :not(._fixed):not([data-c=\"0\"]) {\n border-left: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > * > tr > *._feature-cell {\n background: var(--theme-gray-lightest);\n min-width: calc(var(--font-size-default) + 2px + var(--sheet-ph) * 2);\n padding: var(--sheet-pv) var(--sheet-ph);\n text-align: left;\n}\nsd-sheet > ._sheet-container > table > * > tr > *._feature-cell > ng-icon {\n cursor: pointer;\n color: var(--text-trans-lightest);\n}\nsd-sheet > ._sheet-container > table > * > tr > *._fixed {\n position: sticky;\n left: 0;\n}\nsd-sheet > ._sheet-container > table > * > tr > *._fixed:has(+ :not(._fixed)) {\n border-right: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > thead {\n position: sticky;\n top: 0;\n z-index: 3;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th {\n position: relative;\n background: var(--theme-gray-lightest);\n vertical-align: middle;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._fixed {\n z-index: 4;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._last-depth {\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._feature-cell {\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._sort {\n cursor: pointer;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._sort:hover {\n text-decoration: underline;\n}\nsd-sheet > ._sheet-container > table > thead > tr > th > ._headerContent > ._sort-icon {\n padding: var(--gap-xs) var(--gap-xs) var(--gap-xs) 0;\n background-color: var(--theme-gray-lightest);\n}\nsd-sheet > ._sheet-container > table > thead > tr > th > ._resizer {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 2px;\n cursor: ew-resize;\n}\nsd-sheet > ._sheet-container > table > thead:has(> tr._summary-row) > tr > th._last-depth {\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > thead:has(> tr._summary-row) > tr._summary-row > th {\n background: var(--theme-warning-lightest);\n text-align: left;\n border-bottom: 1px solid var(--theme-gray-lighter);\n}\nsd-sheet > ._sheet-container > table > tbody > tr > td {\n background: var(--control-color);\n vertical-align: top;\n}\nsd-sheet > ._sheet-container > table > tbody > tr > td._fixed {\n z-index: 2;\n}\nsd-sheet > ._sheet-container > table > tbody > tr > td > ._depth-indicator {\n display: inline-block;\n margin-top: 0.4em;\n width: 0.5em;\n height: 0.5em;\n border-left: 1px solid var(--text-trans-default);\n border-bottom: 1px solid var(--text-trans-default);\n vertical-align: top;\n}\nsd-sheet > ._sheet-container > ._focus-row-indicator {\n display: none;\n position: absolute;\n pointer-events: none;\n background: rgba(158, 158, 158, 0.1);\n z-index: 6;\n}\nsd-sheet > ._sheet-container > ._focus-row-indicator > ._focus-cell-indicator {\n position: absolute;\n border: 2px solid var(--theme-primary-default);\n border-radius: var(--border-radius-default);\n}\nsd-sheet > ._sheet-container > ._resize-indicator {\n display: none;\n position: absolute;\n pointer-events: none;\n top: 0;\n height: 100%;\n border: 1px dotted var(--theme-gray-light);\n z-index: 7;\n}\nsd-sheet > ._sheet-container > ._select-row-indicator-container {\n display: none;\n position: absolute;\n pointer-events: none;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n}\nsd-sheet > ._sheet-container > ._select-row-indicator-container > ._select-row-indicator {\n display: block;\n left: 0;\n position: absolute;\n pointer-events: none;\n background: var(--theme-primary-default);\n opacity: 0.1;\n}\nsd-sheet ._p-sheet {\n padding: var(--sheet-pv) var(--sheet-ph);\n}\nsd-sheet[data-sd-focus-mode=row] > ._sheet-container > ._focus-row-indicator > ._focus-cell-indicator {\n display: none !important;\n}\nsd-sheet[data-sd-inset=true] {\n border: none;\n border-radius: 0;\n}"] }]
690
1033
  }], null, { key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], trackByFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "trackByFn", required: false }] }], selectMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMode", required: false }] }], autoSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoSelect", required: false }] }], getItemSelectableFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getItemSelectableFn", required: false }] }], getChildrenFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getChildrenFn", required: false }] }], useAutoSort: [{ type: i0.Input, args: [{ isSignal: true, alias: "useAutoSort", required: false }] }], visiblePageCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "visiblePageCount", required: false }] }], totalPageCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalPageCount", required: false }] }], itemsPerPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemsPerPage", required: false }] }], focusMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusMode", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }], contentStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentStyle", required: false }] }], getItemCellClassFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getItemCellClassFn", required: false }] }], getItemCellStyleFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getItemCellStyleFn", required: false }] }], hideConfigBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideConfigBar", required: false }] }], itemKeydown: [{ type: i0.Output, args: ["itemKeydown"] }], cellKeydown: [{ type: i0.Output, args: ["cellKeydown"] }], selectedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedItems", required: false }] }, { type: i0.Output, args: ["selectedItemsChange"] }], expandedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedItems", required: false }] }, { type: i0.Output, args: ["expandedItemsChange"] }], sorts: [{ type: i0.Input, args: [{ isSignal: true, alias: "sorts", required: false }] }, { type: i0.Output, args: ["sortsChange"] }], currentPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPage", required: false }] }, { type: i0.Output, args: ["currentPageChange"] }], columnControls: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SdSheetColumn), { isSignal: true }] }] }); })();
691
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSheet, { className: "SdSheet", filePath: "packages/angular/src/data/sheet/sd-sheet.ts", lineNumber: 337, forbidOrphanRendering: true }); })();
1034
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSheet, { className: "SdSheet", filePath: "packages/angular/src/data/sheet/sd-sheet.ts", lineNumber: 562 }); })();