@simplysm/angular 14.0.42 → 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 (241) 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.map +1 -1
  12. package/dist/controls/collapse/sd-collapse-icon.js +3 -3
  13. package/dist/controls/collapse/sd-collapse.d.ts +1 -1
  14. package/dist/controls/collapse/sd-collapse.d.ts.map +1 -1
  15. package/dist/controls/collapse/sd-collapse.js +8 -7
  16. package/dist/controls/dropdown/sd-dropdown-popup.d.ts +2 -0
  17. package/dist/controls/dropdown/sd-dropdown-popup.d.ts.map +1 -1
  18. package/dist/controls/dropdown/sd-dropdown-popup.js +21 -8
  19. package/dist/controls/dropdown/sd-dropdown.d.ts.map +1 -1
  20. package/dist/controls/dropdown/sd-dropdown.js +5 -16
  21. package/dist/controls/form/sd-form.js +1 -1
  22. package/dist/controls/gap/sd-gap.js +5 -5
  23. package/dist/controls/input/sd-date-range-picker.d.ts +1 -0
  24. package/dist/controls/input/sd-date-range-picker.d.ts.map +1 -1
  25. package/dist/controls/input/sd-date-range-picker.js +14 -19
  26. package/dist/controls/input/sd-numpad.js +3 -3
  27. package/dist/controls/input/sd-range.js +1 -1
  28. package/dist/controls/input/sd-textarea.js +2 -2
  29. package/dist/controls/input/sd-textfield-type-handlers.js +2 -2
  30. package/dist/controls/input/sd-textfield.js +9 -9
  31. package/dist/controls/list/sd-list-item.d.ts +0 -1
  32. package/dist/controls/list/sd-list-item.d.ts.map +1 -1
  33. package/dist/controls/list/sd-list-item.js +38 -38
  34. package/dist/controls/list/sd-list.d.ts.map +1 -1
  35. package/dist/controls/list/sd-list.js +3 -3
  36. package/dist/controls/pagination/sd-pagination.js +1 -1
  37. package/dist/controls/select/sd-select-button.d.ts.map +1 -1
  38. package/dist/controls/select/sd-select-button.js +4 -8
  39. package/dist/controls/select/sd-select-item.d.ts +3 -3
  40. package/dist/controls/select/sd-select-item.d.ts.map +1 -1
  41. package/dist/controls/select/sd-select-item.js +27 -20
  42. package/dist/controls/select/sd-select.d.ts +5 -4
  43. package/dist/controls/select/sd-select.d.ts.map +1 -1
  44. package/dist/controls/select/sd-select.js +20 -17
  45. package/dist/controls/tab/sd-tab-item.js +1 -1
  46. package/dist/controls/tab/sd-tab.js +1 -1
  47. package/dist/core/app-structure/sd-app-structure.utils.js +1 -1
  48. package/dist/core/busy/sd-busy-container.d.ts.map +1 -1
  49. package/dist/core/busy/sd-busy-container.js +62 -68
  50. package/dist/core/busy/sd-busy.provider.js +1 -1
  51. package/dist/core/commands/sd-command.d.ts +13 -0
  52. package/dist/core/commands/sd-command.d.ts.map +1 -0
  53. package/dist/core/commands/sd-command.js +52 -0
  54. package/dist/core/error-handler/sd-global-error-handler.plugin.js +1 -1
  55. package/dist/core/events/sd-events.d.ts +1 -6
  56. package/dist/core/events/sd-events.d.ts.map +1 -1
  57. package/dist/core/events/sd-events.js +3 -11
  58. package/dist/core/events/sd-intersection.d.ts +13 -0
  59. package/dist/core/events/sd-intersection.d.ts.map +1 -0
  60. package/dist/core/events/sd-intersection.js +27 -0
  61. package/dist/core/events/sd-resize.d.ts +16 -0
  62. package/dist/core/events/sd-resize.d.ts.map +1 -0
  63. package/dist/core/events/{sd-resize-event.plugin.js → sd-resize.js} +18 -20
  64. package/dist/core/file-dialog/sd-file-dialog.provider.js +1 -1
  65. package/dist/core/modal/injectDragResize.js +9 -9
  66. package/dist/core/modal/injectFocusTrap.js +1 -1
  67. package/dist/core/modal/sd-confirm-modal.js +1 -1
  68. package/dist/core/modal/sd-modal.d.ts +8 -1
  69. package/dist/core/modal/sd-modal.d.ts.map +1 -1
  70. package/dist/core/modal/sd-modal.js +135 -39
  71. package/dist/core/modal/sd-modal.provider.js +5 -5
  72. package/dist/core/modal/sd-prompt-modal.js +1 -1
  73. package/dist/core/provideSdAngular.d.ts.map +1 -1
  74. package/dist/core/provideSdAngular.js +0 -10
  75. package/dist/core/ripple/setupRipple.js +5 -5
  76. package/dist/core/routing/menu-utils.js +1 -1
  77. package/dist/core/routing/sd-navigate-window.provider.js +1 -1
  78. package/dist/core/routing/sd-router-link.js +1 -1
  79. package/dist/core/selection/setupCumulateSelectedKeys.js +3 -3
  80. package/dist/core/setupModelHook.js +1 -1
  81. package/dist/core/toast/sd-toast-container.d.ts +1 -1
  82. package/dist/core/toast/sd-toast-container.js +3 -7
  83. package/dist/core/toast/sd-toast.d.ts.map +1 -1
  84. package/dist/core/toast/sd-toast.js +27 -24
  85. package/dist/core/toast/sd-toast.provider.js +6 -6
  86. package/dist/core/validation/setupInvalid.js +2 -1
  87. package/dist/data/data-detail/sd-data-detail.d.ts +2 -1
  88. package/dist/data/data-detail/sd-data-detail.d.ts.map +1 -1
  89. package/dist/data/data-detail/sd-data-detail.js +37 -33
  90. package/dist/data/data-select-button/sd-data-select-button.js +1 -1
  91. package/dist/data/data-sheet/sd-data-sheet.d.ts +2 -1
  92. package/dist/data/data-sheet/sd-data-sheet.d.ts.map +1 -1
  93. package/dist/data/data-sheet/sd-data-sheet.js +30 -22
  94. package/dist/data/kanban/sd-kanban-board.js +1 -1
  95. package/dist/data/kanban/sd-kanban-lane.js +1 -1
  96. package/dist/data/kanban/sd-kanban.d.ts +1 -1
  97. package/dist/data/kanban/sd-kanban.d.ts.map +1 -1
  98. package/dist/data/kanban/sd-kanban.js +4 -4
  99. package/dist/data/permission-table/sd-permission-table.js +6 -6
  100. package/dist/data/shared-data/sd-shared-data-select-button.js +1 -1
  101. package/dist/data/shared-data/sd-shared-data-select-list.js +3 -3
  102. package/dist/data/shared-data/sd-shared-data-select.d.ts +1 -1
  103. package/dist/data/shared-data/sd-shared-data-select.d.ts.map +1 -1
  104. package/dist/data/shared-data/sd-shared-data-select.js +29 -54
  105. package/dist/data/sheet/injectSheetDomAccessor.d.ts +6 -2
  106. package/dist/data/sheet/injectSheetDomAccessor.d.ts.map +1 -1
  107. package/dist/data/sheet/injectSheetDomAccessor.js +27 -22
  108. package/dist/data/sheet/injectSheetSelectRowIndicator.d.ts +10 -0
  109. package/dist/data/sheet/injectSheetSelectRowIndicator.d.ts.map +1 -0
  110. package/dist/data/sheet/injectSheetSelectRowIndicator.js +55 -0
  111. package/dist/data/sheet/sd-sheet-config.modal.d.ts +18 -19
  112. package/dist/data/sheet/sd-sheet-config.modal.d.ts.map +1 -1
  113. package/dist/data/sheet/sd-sheet-config.modal.js +357 -217
  114. package/dist/data/sheet/sd-sheet.d.ts +27 -13
  115. package/dist/data/sheet/sd-sheet.d.ts.map +1 -1
  116. package/dist/data/sheet/sd-sheet.js +609 -291
  117. package/dist/data/sheet/useSheetCellAgent.js +6 -6
  118. package/dist/data/sheet/useSheetCellStyling.d.ts.map +1 -1
  119. package/dist/data/sheet/useSheetCellStyling.js +4 -4
  120. package/dist/data/sheet/useSheetFocusIndicator.d.ts +7 -0
  121. package/dist/data/sheet/useSheetFocusIndicator.d.ts.map +1 -0
  122. package/dist/data/sheet/useSheetFocusIndicator.js +53 -0
  123. package/dist/data/sheet/useSheetLayoutEngine.js +1 -1
  124. package/dist/data/state-preset/sd-state-preset.d.ts.map +1 -1
  125. package/dist/data/state-preset/sd-state-preset.js +14 -14
  126. package/dist/features/address/sd-address-search.modal.js +3 -3
  127. package/dist/features/editor/sd-tiptap-editor.js +6 -6
  128. package/dist/features/editor/useTiptapToolbar.js +2 -2
  129. package/dist/features/theme/sd-theme-selector.js +1 -1
  130. package/dist/features/visual/sd-barcode.js +1 -1
  131. package/dist/features/visual/sd-calendar.js +2 -2
  132. package/dist/features/visual/sd-echarts.d.ts +2 -1
  133. package/dist/features/visual/sd-echarts.d.ts.map +1 -1
  134. package/dist/features/visual/sd-echarts.js +5 -3
  135. package/dist/features/visual/sd-label.js +1 -1
  136. package/dist/features/visual/sd-note.js +1 -1
  137. package/dist/features/visual/sd-progress.js +1 -1
  138. package/dist/index.d.ts +3 -5
  139. package/dist/index.d.ts.map +1 -1
  140. package/dist/index.js +3 -5
  141. package/dist/layout/base-container/sd-base-container.js +3 -3
  142. package/dist/layout/dock/sd-dock-container.js +1 -1
  143. package/dist/layout/dock/sd-dock.d.ts +3 -2
  144. package/dist/layout/dock/sd-dock.d.ts.map +1 -1
  145. package/dist/layout/dock/sd-dock.js +6 -4
  146. package/dist/layout/sidebar/sd-sidebar-container.js +5 -5
  147. package/dist/layout/sidebar/sd-sidebar-menu.d.ts.map +1 -1
  148. package/dist/layout/sidebar/sd-sidebar-menu.js +7 -6
  149. package/dist/layout/sidebar/sd-sidebar-user.js +1 -1
  150. package/dist/layout/sidebar/sd-sidebar.js +1 -1
  151. package/dist/layout/topbar/sd-topbar-container.js +1 -1
  152. package/dist/layout/topbar/sd-topbar-menu.d.ts.map +1 -1
  153. package/dist/layout/topbar/sd-topbar-menu.js +7 -7
  154. package/dist/layout/topbar/sd-topbar-user.js +1 -1
  155. package/dist/layout/topbar/sd-topbar.js +3 -3
  156. package/package.json +5 -5
  157. package/src/controls/button/sd-modal-select-button.ts +7 -2
  158. package/src/controls/collapse/sd-collapse-icon.ts +2 -2
  159. package/src/controls/collapse/sd-collapse.ts +4 -5
  160. package/src/controls/dropdown/sd-dropdown-popup.ts +15 -2
  161. package/src/controls/dropdown/sd-dropdown.ts +4 -16
  162. package/src/controls/gap/sd-gap.ts +4 -4
  163. package/src/controls/input/sd-date-range-picker.ts +13 -16
  164. package/src/controls/input/sd-numpad.ts +1 -1
  165. package/src/controls/input/sd-textarea.ts +1 -1
  166. package/src/controls/input/sd-textfield-type-handlers.ts +2 -2
  167. package/src/controls/input/sd-textfield.ts +6 -6
  168. package/src/controls/list/sd-list-item.ts +40 -26
  169. package/src/controls/list/sd-list.ts +2 -1
  170. package/src/controls/select/sd-select-button.ts +8 -11
  171. package/src/controls/select/sd-select-item.ts +35 -27
  172. package/src/controls/select/sd-select.ts +111 -41
  173. package/src/core/app-structure/sd-app-structure.utils.ts +1 -1
  174. package/src/core/busy/sd-busy-container.ts +235 -123
  175. package/src/core/busy/sd-busy.provider.ts +1 -1
  176. package/src/core/commands/sd-command.ts +46 -0
  177. package/src/core/error-handler/sd-global-error-handler.plugin.ts +1 -1
  178. package/src/core/events/sd-events.ts +1 -12
  179. package/src/core/events/sd-intersection.ts +29 -0
  180. package/src/core/events/{sd-resize-event.plugin.ts → sd-resize.ts} +17 -24
  181. package/src/core/file-dialog/sd-file-dialog.provider.ts +1 -1
  182. package/src/core/modal/injectDragResize.ts +9 -9
  183. package/src/core/modal/injectFocusTrap.ts +1 -1
  184. package/src/core/modal/sd-modal.provider.ts +5 -5
  185. package/src/core/modal/sd-modal.ts +119 -41
  186. package/src/core/provideSdAngular.ts +0 -10
  187. package/src/core/ripple/setupRipple.ts +5 -5
  188. package/src/core/routing/menu-utils.ts +1 -1
  189. package/src/core/routing/sd-navigate-window.provider.ts +1 -1
  190. package/src/core/routing/sd-router-link.ts +1 -1
  191. package/src/core/selection/setupCumulateSelectedKeys.ts +3 -3
  192. package/src/core/setupModelHook.ts +1 -1
  193. package/src/core/toast/sd-toast-container.ts +1 -1
  194. package/src/core/toast/sd-toast.provider.ts +6 -6
  195. package/src/core/toast/sd-toast.ts +25 -22
  196. package/src/core/validation/setupInvalid.ts +2 -1
  197. package/src/data/data-detail/sd-data-detail.ts +15 -11
  198. package/src/data/data-sheet/sd-data-sheet.ts +13 -15
  199. package/src/data/kanban/sd-kanban.ts +4 -5
  200. package/src/data/permission-table/sd-permission-table.ts +4 -4
  201. package/src/data/shared-data/sd-shared-data-select-list.ts +1 -1
  202. package/src/data/shared-data/sd-shared-data-select.ts +8 -27
  203. package/src/data/sheet/injectSheetDomAccessor.ts +37 -25
  204. package/src/data/sheet/injectSheetSelectRowIndicator.ts +69 -0
  205. package/src/data/sheet/sd-sheet-config.modal.ts +215 -191
  206. package/src/data/sheet/sd-sheet.ts +529 -209
  207. package/src/data/sheet/useSheetCellAgent.ts +8 -8
  208. package/src/data/sheet/useSheetCellStyling.ts +4 -8
  209. package/src/data/sheet/useSheetFocusIndicator.ts +66 -0
  210. package/src/data/sheet/useSheetLayoutEngine.ts +1 -1
  211. package/src/data/state-preset/sd-state-preset.ts +26 -13
  212. package/src/features/address/sd-address-search.modal.ts +1 -1
  213. package/src/features/editor/sd-tiptap-editor.ts +4 -4
  214. package/src/features/editor/useTiptapToolbar.ts +2 -2
  215. package/src/features/visual/sd-calendar.ts +1 -1
  216. package/src/features/visual/sd-echarts.ts +2 -0
  217. package/src/index.ts +4 -6
  218. package/src/layout/base-container/sd-base-container.ts +1 -1
  219. package/src/layout/dock/sd-dock.ts +3 -2
  220. package/src/layout/sidebar/sd-sidebar-container.ts +2 -2
  221. package/src/layout/sidebar/sd-sidebar-menu.ts +1 -3
  222. package/src/layout/topbar/sd-topbar-menu.ts +11 -15
  223. package/src/layout/topbar/sd-topbar.ts +1 -1
  224. package/dist/core/commands/sd-insert-command-event.plugin.d.ts +0 -11
  225. package/dist/core/commands/sd-insert-command-event.plugin.d.ts.map +0 -1
  226. package/dist/core/commands/sd-insert-command-event.plugin.js +0 -35
  227. package/dist/core/commands/sd-refresh-command-event.plugin.d.ts +0 -11
  228. package/dist/core/commands/sd-refresh-command-event.plugin.d.ts.map +0 -1
  229. package/dist/core/commands/sd-refresh-command-event.plugin.js +0 -38
  230. package/dist/core/commands/sd-save-command-event.plugin.d.ts +0 -11
  231. package/dist/core/commands/sd-save-command-event.plugin.d.ts.map +0 -1
  232. package/dist/core/commands/sd-save-command-event.plugin.js +0 -38
  233. package/dist/core/events/sd-intersection-event.plugin.d.ts +0 -13
  234. package/dist/core/events/sd-intersection-event.plugin.d.ts.map +0 -1
  235. package/dist/core/events/sd-intersection-event.plugin.js +0 -29
  236. package/dist/core/events/sd-resize-event.plugin.d.ts +0 -16
  237. package/dist/core/events/sd-resize-event.plugin.d.ts.map +0 -1
  238. package/src/core/commands/sd-insert-command-event.plugin.ts +0 -39
  239. package/src/core/commands/sd-refresh-command-event.plugin.ts +0 -44
  240. package/src/core/commands/sd-save-command-event.plugin.ts +0 -44
  241. 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,238 +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
  } }
60
- function SdSheet_For_5_Conditional_1_Template(rf, ctx) { if (rf & 1) {
61
- 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()();
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();
66
71
  } if (rf & 2) {
67
- 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);
72
+ const ctx_r1 = i0.ɵɵnextContext(3);
73
+ i0.ɵɵproperty("value", ctx_r1.selection.isAllSelected())("inline", true)("theme", "white");
71
74
  } }
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();
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()();
77
82
  } if (rf & 2) {
78
83
  const ctx_r1 = i0.ɵɵnextContext(3);
79
- i0.ɵɵproperty("value", ctx_r1.selection.isAllSelected())("inline", true)("inset", true);
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);
80
90
  } }
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);
91
+ function SdSheet_For_5_Conditional_1_Template(rf, ctx) { if (rf & 1) {
92
+ const _r4 = i0.ɵɵgetCurrentView();
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);
84
97
  i0.ɵɵelementEnd();
98
+ i0.ɵɵconditionalCreate(3, SdSheet_For_5_Conditional_1_Conditional_3_Template, 2, 9, "th", 15);
85
99
  } if (rf & 2) {
86
100
  const ctx_r1 = i0.ɵɵnextContext(2);
87
- i0.ɵɵattribute("rowspan", ctx_r1.layout.headerFeatureRowSpan() > 1 ? ctx_r1.layout.headerFeatureRowSpan() : null);
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);
88
105
  i0.ɵɵadvance();
89
- i0.ɵɵconditional(ctx_r1.selectMode() === "multi" ? 1 : -1);
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);
90
109
  } }
91
- function SdSheet_For_5_For_4_Conditional_1_ng_template_0_Template(rf, ctx) { }
92
- function SdSheet_For_5_For_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
93
- i0.ɵɵtemplate(0, SdSheet_For_5_For_4_Conditional_1_ng_template_0_Template, 0, 0, "ng-template", 13);
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()()();
94
114
  } if (rf & 2) {
95
- i0.ɵɵproperty("ngTemplateOutlet", ctx);
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);
96
124
  } }
97
- function SdSheet_For_5_For_4_Conditional_2_Template(rf, ctx) { if (rf & 1) {
98
- i0.ɵɵelementStart(0, "span");
99
- i0.ɵɵtext(1);
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);
100
129
  i0.ɵɵelementEnd();
101
130
  } if (rf & 2) {
102
- const cell_r7 = i0.ɵɵnextContext().$implicit;
131
+ const cell_r10 = i0.ɵɵnextContext(2).$implicit;
132
+ i0.ɵɵattribute("style", cell_r10.colDef.headerStyle, i0.ɵɵsanitizeStyle);
103
133
  i0.ɵɵadvance();
104
- i0.ɵɵtextInterpolate(cell_r7.text);
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);
105
151
  } }
106
- function SdSheet_For_5_For_4_Conditional_3_Conditional_1_Template(rf, ctx) { if (rf & 1) {
107
- i0.ɵɵelementStart(0, "span", 16);
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");
108
166
  i0.ɵɵtext(1);
109
167
  i0.ɵɵelementEnd();
110
168
  } if (rf & 2) {
111
- const sortDef_r8 = i0.ɵɵnextContext();
169
+ i0.ɵɵnextContext();
170
+ const _sortDef_r13 = i0.ɵɵreadContextLet(0);
112
171
  i0.ɵɵadvance();
113
- i0.ɵɵtextInterpolate(sortDef_r8.indexText);
172
+ i0.ɵɵtextInterpolate(_sortDef_r13 == null ? null : _sortDef_r13.indexText);
114
173
  } }
115
- function SdSheet_For_5_For_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
116
- i0.ɵɵelement(0, "ng-icon", 15);
117
- i0.ɵɵconditionalCreate(1, SdSheet_For_5_For_4_Conditional_3_Conditional_1_Template, 2, 1, "span", 16);
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();
118
180
  } if (rf & 2) {
119
- const sortDef_r8 = ctx;
120
- const ctx_r1 = i0.ɵɵnextContext(3);
121
- i0.ɵɵproperty("svg", sortDef_r8.desc ? ctx_r1.icons.tablerArrowDown : ctx_r1.icons.tablerArrowUp);
122
- i0.ɵɵadvance();
123
- 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);
124
187
  } }
125
- function SdSheet_For_5_For_4_Conditional_4_Template(rf, ctx) { if (rf & 1) {
126
- const _r9 = i0.ɵɵgetCurrentView();
127
- i0.ɵɵelementStart(0, "div", 17);
128
- 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)); });
129
192
  i0.ɵɵelementEnd();
130
193
  } }
131
- function SdSheet_For_5_For_4_Template(rf, ctx) { if (rf & 1) {
132
- const _r6 = i0.ɵɵgetCurrentView();
133
- i0.ɵɵelementStart(0, "th", 5);
134
- 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)); });
135
- i0.ɵɵconditionalCreate(1, SdSheet_For_5_For_4_Conditional_1_Template, 1, 1, null, 13)(2, SdSheet_For_5_For_4_Conditional_2_Template, 2, 1, "span");
136
- i0.ɵɵconditionalCreate(3, SdSheet_For_5_For_4_Conditional_3_Template, 2, 2);
137
- i0.ɵɵconditionalCreate(4, SdSheet_For_5_For_4_Conditional_4_Template, 1, 0, "div", 14);
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);
201
+ i0.ɵɵelementEnd();
202
+ i0.ɵɵconditionalCreate(5, SdSheet_For_5_For_3_Conditional_1_Conditional_5_Template, 1, 0, "div", 26);
138
203
  i0.ɵɵelementEnd();
139
204
  } if (rf & 2) {
140
- let tmp_27_0;
141
- let tmp_28_0;
142
- 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;
143
209
  const ctx_r1 = i0.ɵɵnextContext(2);
144
- i0.ɵɵstyleMap(ctx_r1.getHeaderCellStyle(cell_r7));
145
- i0.ɵɵclassProp("help", cell_r7.colDef == null ? null : cell_r7.colDef.tooltip);
146
- 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))("title", (cell_r7.colDef == null ? null : cell_r7.colDef.tooltip) ?? cell_r7.text);
147
- i0.ɵɵadvance();
148
- i0.ɵɵconditional((tmp_27_0 = cell_r7.colDef && ctx_r1.getColumnHeaderTpl(cell_r7.colDef.key)) ? 1 : 2, tmp_27_0);
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);
149
213
  i0.ɵɵadvance(2);
150
- i0.ɵɵconditional((tmp_28_0 = cell_r7.colDef && ctx_r1.getSortDef(cell_r7.colDef.key)) ? 3 : -1, tmp_28_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);
151
217
  i0.ɵɵadvance();
152
- 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);
153
225
  } }
154
226
  function SdSheet_For_5_Template(rf, ctx) { if (rf & 1) {
155
227
  i0.ɵɵelementStart(0, "tr");
156
- i0.ɵɵconditionalCreate(1, SdSheet_For_5_Conditional_1_Template, 3, 2, "th", 8);
157
- i0.ɵɵconditionalCreate(2, SdSheet_For_5_Conditional_2_Template, 2, 2, "th", 9);
158
- i0.ɵɵrepeaterCreate(3, SdSheet_For_5_For_4_Template, 5, 11, "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);
159
230
  i0.ɵɵelementEnd();
160
231
  } if (rf & 2) {
161
- const row_r10 = ctx.$implicit;
162
- const ɵ$index_18_r11 = ctx.$index;
163
- const ctx_r1 = i0.ɵɵnextContext();
232
+ const row_r16 = ctx.$implicit;
233
+ const ɵ$index_18_r17 = ctx.$index;
164
234
  i0.ɵɵadvance();
165
- i0.ɵɵconditional(ctx_r1.expanding.hasExpandable() && ɵ$index_18_r11 === 0 ? 1 : -1);
235
+ i0.ɵɵconditional(ɵ$index_18_r17 === 0 ? 1 : -1);
166
236
  i0.ɵɵadvance();
167
- 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);
168
260
  i0.ɵɵadvance();
169
- i0.ɵɵrepeater(row_r10);
261
+ i0.ɵɵconditional((tmp_15_0 = ctx_r1.getColumnSummaryTpl(colDef_r18.key)) ? 1 : -1, tmp_15_0);
170
262
  } }
171
- function SdSheet_For_8_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
172
- const _r14 = i0.ɵɵgetCurrentView();
173
- i0.ɵɵelementStart(0, "sd-anchor", 5);
174
- 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)); });
175
- 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);
176
268
  i0.ɵɵelementEnd();
177
269
  } if (rf & 2) {
178
- const item_r13 = i0.ɵɵnextContext(2).$implicit;
179
270
  const ctx_r1 = i0.ɵɵnextContext();
271
+ i0.ɵɵadvance(2);
272
+ i0.ɵɵconditional(ctx_r1.expanding.hasExpandable() ? 2 : -1);
180
273
  i0.ɵɵadvance();
181
- i0.ɵɵproperty("svg", ctx_r1.isExpanded(item_r13) ? ctx_r1.icons.tablerChevronDown : ctx_r1.icons.tablerChevronRight);
274
+ i0.ɵɵrepeater(ctx_r1.layout.columnDefs());
182
275
  } }
183
- function SdSheet_For_8_Conditional_1_Template(rf, ctx) { if (rf & 1) {
184
- i0.ɵɵelementStart(0, "td", 8);
185
- 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)); });
186
280
  i0.ɵɵelementEnd();
187
281
  } if (rf & 2) {
188
- const item_r13 = i0.ɵɵnextContext().$implicit;
282
+ const item_r21 = i0.ɵɵnextContext().$implicit;
189
283
  const ctx_r1 = i0.ɵɵnextContext();
190
- i0.ɵɵadvance();
191
- 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);
192
287
  } }
193
- function SdSheet_For_8_Conditional_2_Template(rf, ctx) { if (rf & 1) {
194
- const _r15 = i0.ɵɵgetCurrentView();
195
- i0.ɵɵelementStart(0, "td", 9)(1, "sd-checkbox", 20);
196
- 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)); });
197
- 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();
198
294
  } if (rf & 2) {
199
- const item_r13 = i0.ɵɵnextContext().$implicit;
295
+ i0.ɵɵnextContext();
296
+ const _selectable_r26 = i0.ɵɵreadContextLet(0);
297
+ const item_r21 = i0.ɵɵnextContext().$implicit;
200
298
  const ctx_r1 = i0.ɵɵnextContext();
299
+ i0.ɵɵproperty("theme", ctx_r1.selection.isSelected(item_r21) ? "primary" : "gray");
300
+ i0.ɵɵattribute("title", _selectable_r26);
201
301
  i0.ɵɵadvance();
202
- i0.ɵɵproperty("value", ctx_r1.selection.isSelected(item_r13))("canChangeFn", ctx_r1.selection.getCanChangeFn(item_r13))("inline", true)("inset", true);
203
- i0.ɵɵattribute("title", ctx_r1.getSelectableTooltip(item_r13));
302
+ i0.ɵɵproperty("svg", ctx_r1.icons.tablerArrowRight);
204
303
  } }
205
- function SdSheet_For_8_For_4_Conditional_1_ng_template_0_Template(rf, ctx) { }
206
- function SdSheet_For_8_For_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
207
- i0.ɵɵtemplate(0, SdSheet_For_8_For_4_Conditional_1_ng_template_0_Template, 0, 0, "ng-template", 22);
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);
208
307
  } if (rf & 2) {
209
- const ɵ$index_72_r18 = i0.ɵɵnextContext().$index;
210
- const ctx_r18 = i0.ɵɵnextContext();
211
- const item_r13 = ctx_r18.$implicit;
212
- const ɵ$index_56_r20 = ctx_r18.$index;
308
+ const item_r21 = i0.ɵɵnextContext().$implicit;
213
309
  const ctx_r1 = i0.ɵɵnextContext();
214
- i0.ɵɵproperty("ngTemplateOutlet", ctx)("ngTemplateOutletContext", i0.ɵɵpureFunction5(5, _c1, item_r13, item_r13, ɵ$index_56_r20, ctx_r1.getChildrenFn() !== undefined ? ctx_r1.getItemDef(item_r13).depth : 0, ctx_r1.cellAgent.isCellEditMode(i0.ɵɵpureFunction2(2, _c0, ɵ$index_56_r20, ɵ$index_72_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);
313
+ } }
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");
215
320
  } }
216
- function SdSheet_For_8_For_4_Template(rf, ctx) { if (rf & 1) {
217
- const _r16 = i0.ɵɵgetCurrentView();
218
- i0.ɵɵelementStart(0, "td", 21);
219
- 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)); });
220
- i0.ɵɵconditionalCreate(1, SdSheet_For_8_For_4_Conditional_1_Template, 1, 11, null, 22);
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)); });
221
325
  i0.ɵɵelementEnd();
222
326
  } if (rf & 2) {
223
- let tmp_26_0;
224
- const colDef_r17 = ctx.$implicit;
225
- const ɵ$index_72_r18 = ctx.$index;
226
- const ctx_r18 = i0.ɵɵnextContext();
227
- const item_r13 = ctx_r18.$implicit;
228
- const ɵ$index_56_r20 = ctx_r18.$index;
327
+ const item_r21 = i0.ɵɵnextContext(2).$implicit;
229
328
  const ctx_r1 = i0.ɵɵnextContext();
230
- i0.ɵɵstyleMap(ctx_r1.getCellStyleWithIndent(item_r13, colDef_r17, ɵ$index_72_r18));
231
- i0.ɵɵclassMap(ctx_r1.getDataCellClass(item_r13, colDef_r17, ɵ$index_56_r20, ɵ$index_72_r18));
232
- i0.ɵɵattribute("data-r", ɵ$index_56_r20)("data-c", ɵ$index_72_r18);
233
- i0.ɵɵadvance();
234
- 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);
235
332
  } }
236
- function SdSheet_For_8_Template(rf, ctx) { if (rf & 1) {
237
- const _r12 = i0.ɵɵgetCurrentView();
238
- i0.ɵɵelementStart(0, "tr", 18);
239
- 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)); });
240
- i0.ɵɵconditionalCreate(1, SdSheet_For_8_Conditional_1_Template, 2, 1, "td", 8);
241
- i0.ɵɵconditionalCreate(2, SdSheet_For_8_Conditional_2_Template, 2, 5, "td", 9);
242
- i0.ɵɵrepeaterCreate(3, SdSheet_For_8_For_4_Template, 2, 7, "td", 19, _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);
243
338
  i0.ɵɵelementEnd();
244
339
  } if (rf & 2) {
245
- 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;
246
343
  const ctx_r1 = i0.ɵɵnextContext();
247
- i0.ɵɵstyleProp("background", ctx_r1.selection.isSelected(item_r13) ? "var(--trans-lighter)" : null);
248
- 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);
249
346
  i0.ɵɵadvance();
250
- i0.ɵɵconditional(ctx_r1.expanding.hasExpandable() ? 1 : -1);
347
+ const itemDef_r31 = i0.ɵɵstoreLet(ctx_r1.getItemDef(item_r21));
251
348
  i0.ɵɵadvance();
252
- i0.ɵɵconditional(ctx_r1.selectMode() ? 2 : -1);
349
+ i0.ɵɵconditional(itemDef_r31.depth > 0 ? 2 : -1);
253
350
  i0.ɵɵadvance();
254
- i0.ɵɵrepeater(ctx_r1.layout.columnDefs());
255
- } }
256
- function SdSheet_Conditional_9_Conditional_2_Template(rf, ctx) { if (rf & 1) {
257
- i0.ɵɵelement(0, "td", 8);
258
- } }
259
- function SdSheet_Conditional_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
260
- i0.ɵɵelement(0, "td", 9);
351
+ i0.ɵɵconditional(itemDef_r31.hasChildren ? 3 : -1);
261
352
  } }
262
- function SdSheet_Conditional_9_For_5_Conditional_1_ng_template_0_Template(rf, ctx) { }
263
- function SdSheet_Conditional_9_For_5_Conditional_1_Template(rf, ctx) { if (rf & 1) {
264
- i0.ɵɵtemplate(0, SdSheet_Conditional_9_For_5_Conditional_1_ng_template_0_Template, 0, 0, "ng-template", 13);
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);
265
356
  } if (rf & 2) {
266
- 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))));
267
363
  } }
268
- function SdSheet_Conditional_9_For_5_Template(rf, ctx) { if (rf & 1) {
269
- i0.ɵɵelementStart(0, "td");
270
- i0.ɵɵconditionalCreate(1, SdSheet_Conditional_9_For_5_Conditional_1_Template, 1, 1, null, 13);
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);
271
369
  i0.ɵɵelementEnd();
272
370
  } if (rf & 2) {
273
- let tmp_12_0;
274
- const colDef_r21 = ctx.$implicit;
275
- const ctx_r1 = i0.ɵɵnextContext(2);
276
- 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);
277
382
  i0.ɵɵadvance();
278
- 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);
279
384
  } }
280
- function SdSheet_Conditional_9_Template(rf, ctx) { if (rf & 1) {
281
- i0.ɵɵelementStart(0, "tfoot")(1, "tr");
282
- i0.ɵɵconditionalCreate(2, SdSheet_Conditional_9_Conditional_2_Template, 1, 0, "td", 8);
283
- i0.ɵɵconditionalCreate(3, SdSheet_Conditional_9_Conditional_3_Template, 1, 0, "td", 9);
284
- i0.ɵɵrepeaterCreate(4, SdSheet_Conditional_9_For_5_Template, 2, 3, "td", 23, _forTrack1);
285
- 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();
286
395
  } if (rf & 2) {
396
+ const ɵ$index_94_r23 = ctx.$index;
287
397
  const ctx_r1 = i0.ɵɵnextContext();
288
- i0.ɵɵadvance(2);
289
- 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;
290
400
  i0.ɵɵadvance();
291
- 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);
292
407
  i0.ɵɵadvance();
293
408
  i0.ɵɵrepeater(ctx_r1.layout.columnDefs());
294
409
  } }
@@ -296,7 +411,7 @@ export class SdSheet {
296
411
  // Inputs
297
412
  key = input(...(ngDevMode ? [undefined, { debugName: "key" }] : /* istanbul ignore next */ []));
298
413
  items = input([], ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
299
- trackByFn = input(...(ngDevMode ? [undefined, { debugName: "trackByFn" }] : /* istanbul ignore next */ []));
414
+ trackByFn = input((item) => item, ...(ngDevMode ? [{ debugName: "trackByFn" }] : /* istanbul ignore next */ []));
300
415
  selectMode = input(...(ngDevMode ? [undefined, { debugName: "selectMode" }] : /* istanbul ignore next */ []));
301
416
  autoSelect = input(...(ngDevMode ? [undefined, { debugName: "autoSelect" }] : /* istanbul ignore next */ []));
302
417
  getItemSelectableFn = input(...(ngDevMode ? [undefined, { debugName: "getItemSelectableFn" }] : /* istanbul ignore next */ []));
@@ -348,6 +463,21 @@ export class SdSheet {
348
463
  fixing = useSheetColumnFixing({
349
464
  columnDefs: this.layout.columnDefs,
350
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 */ []));
351
481
  // Sorting manager
352
482
  sorting = useSortingManager({
353
483
  sorts: this.sorts,
@@ -381,6 +511,16 @@ export class SdSheet {
381
511
  getFixedCellStyle = this._styling.getFixedCellStyle;
382
512
  getCellStyleWithIndent = this._styling.getCellStyleWithIndent;
383
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
+ });
384
524
  // Selection manager
385
525
  selection = useSelectionManager({
386
526
  displayItems: this.displayItems,
@@ -390,13 +530,12 @@ export class SdSheet {
390
530
  });
391
531
  // Icons
392
532
  icons = {
393
- tablerArrowUp,
394
- tablerArrowDown,
395
- tablerChevronRight,
396
- tablerChevronDown,
397
- tablerChevronsRight,
398
- tablerChevronsDown,
399
533
  tablerSettings,
534
+ tablerCaretRight,
535
+ tablerArrowsSort,
536
+ tablerSortAscending,
537
+ tablerSortDescending,
538
+ tablerArrowRight,
400
539
  };
401
540
  _columnControlMap = computed(() => {
402
541
  const map = new Map();
@@ -428,10 +567,6 @@ export class SdSheet {
428
567
  this.selection.select(item);
429
568
  }
430
569
  }
431
- onSelectCheckboxClick(event, item) {
432
- event.stopPropagation();
433
- this.selection.toggle(item);
434
- }
435
570
  onCellClick(event, item) {
436
571
  if (this.autoSelect() === "click") {
437
572
  this.selection.select(item);
@@ -488,8 +623,80 @@ export class SdSheet {
488
623
  onDblClick(event) {
489
624
  this.cellAgent.handleCellDoubleClick(event);
490
625
  }
626
+ onFocusCapture(event) {
627
+ this._autoScrollOnFocus(event);
628
+ this._focusIndicator.redraw();
629
+ }
491
630
  onBlurCapture(event) {
492
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
+ });
493
700
  }
494
701
  onItemKeydown(event, item) {
495
702
  this.itemKeydown.emit({ item, event });
@@ -502,6 +709,7 @@ export class SdSheet {
502
709
  title: "시트 설정",
503
710
  type: SdSheetConfigModal,
504
711
  inputs: {
712
+ sheetKey: this.key(),
505
713
  controls: this.columnControls(),
506
714
  config: this._configResource.value(),
507
715
  },
@@ -515,111 +723,202 @@ export class SdSheet {
515
723
  i0.ɵɵcontentQuerySignal(dirIndex, ctx.columnControls, SdSheetColumn, 4);
516
724
  } if (rf & 2) {
517
725
  i0.ɵɵqueryAdvance();
518
- } }, hostVars: 1, hostBindings: function SdSheet_HostBindings(rf, ctx) { if (rf & 1) {
519
- 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); });
520
728
  } if (rf & 2) {
521
- i0.ɵɵattribute("data-sd-inset", ctx.inset());
522
- } }, 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, "help", "style"], [3, "value", "inline", "inset"], [3, "click", "value", "inline", "inset"], [3, "ngTemplateOutlet"], [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, "style"]], 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) {
523
731
  i0.ɵɵconditionalCreate(0, SdSheet_Conditional_0_Template, 3, 2, "div", 0);
524
- i0.ɵɵelementStart(1, "div", 1)(2, "table")(3, "thead");
525
- i0.ɵɵrepeaterCreate(4, SdSheet_For_5_Template, 5, 2, "tr", null, i0.ɵɵrepeaterTrackByIndex);
526
- i0.ɵɵelementEnd();
527
- i0.ɵɵelementStart(6, "tbody");
528
- i0.ɵɵrepeaterCreate(7, SdSheet_For_8_Template, 5, 6, "tr", 2, _forTrack0, true);
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);
529
739
  i0.ɵɵelementEnd();
530
- i0.ɵɵconditionalCreate(9, SdSheet_Conditional_9_Template, 6, 2, "tfoot");
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);
531
745
  i0.ɵɵelementEnd();
532
- i0.ɵɵelement(10, "div", 3);
746
+ i0.ɵɵelement(12, "div", 6)(13, "div", 7);
533
747
  i0.ɵɵelementEnd();
534
748
  } if (rf & 2) {
535
- i0.ɵɵconditional((ctx.key() || ctx.effectivePageCount() > 1) && !ctx.hideConfigBar() ? 0 : -1);
749
+ i0.ɵɵconditional((ctx.key() || ctx.effectivePageCount() > 0) && !ctx.hideConfigBar() ? 0 : -1);
536
750
  i0.ɵɵadvance();
537
751
  i0.ɵɵstyleMap(ctx.contentStyle());
538
752
  i0.ɵɵadvance(3);
539
753
  i0.ɵɵrepeater(ctx.layout.headerDefTable());
540
- i0.ɵɵadvance(3);
541
- i0.ɵɵrepeater(ctx.displayItems());
542
754
  i0.ɵɵadvance(2);
543
- i0.ɵɵconditional(ctx.layout.hasSummary() ? 9 : -1);
544
- i0.ɵɵadvance();
755
+ i0.ɵɵconditional(ctx.layout.hasSummary() ? 6 : -1);
756
+ i0.ɵɵadvance(2);
757
+ i0.ɵɵrepeater(ctx.displayItems());
758
+ i0.ɵɵadvance(4);
545
759
  i0.ɵɵstyleProp("display", ctx._isResizing() ? "block" : "none")("left", ctx._resizeIndicatorLeft(), "px");
546
- } }, 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 });
547
761
  }
548
762
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdSheet, [{
549
763
  type: Component,
550
- args: [{ selector: "sd-sheet", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgTemplateOutlet, SdCheckbox, NgIcon, SdPagination, SdAnchor, SdButton], template: `
551
- @if ((key() || effectivePageCount() > 1) && !hideConfigBar()) {
552
- <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">
553
777
  @if (key()) {
554
- <sd-button (click)="onConfigButtonClick()">
778
+ <sd-button [theme]="'link-primary'" [size]="'sm'" (click)="onConfigButtonClick()">
555
779
  <ng-icon [svg]="icons.tablerSettings" />
556
780
  </sd-button>
557
781
  }
558
782
  @if (effectivePageCount() > 1) {
559
- <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
+ />
560
789
  }
561
790
  </div>
562
791
  }
563
- <div class="_container" [style]="contentStyle()">
564
- <table>
792
+
793
+ <div
794
+ class="_sheet-container flex-fill"
795
+ (scroll.passive)="onContainerScroll()"
796
+ [style]="contentStyle()"
797
+ >
798
+ <table (sdResize)="onTableResize($event)">
565
799
  <thead>
566
800
  @for (row of layout.headerDefTable(); track $index; let rowIdx = $index) {
567
801
  <tr>
568
- @if (expanding.hasExpandable() && rowIdx === 0) {
802
+ @if (rowIdx === 0) {
803
+ @let _fc = expanding.hasExpandable() ? -2 : -1;
569
804
  <th
570
- class="_expand-col"
571
- [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)"
572
812
  >
573
- <sd-anchor (click)="expanding.toggleAll()">
574
- <ng-icon [svg]="expanding.isAllExpanded() ? icons.tablerChevronsDown : icons.tablerChevronsRight" />
575
- </sd-anchor>
576
- </th>
577
- }
578
- @if (selectMode() && rowIdx === 0) {
579
- <th
580
- class="_select-col"
581
- [attr.rowspan]="layout.headerFeatureRowSpan() > 1 ? layout.headerFeatureRowSpan() : null"
582
- >
583
- @if (selectMode() === "multi") {
813
+ @if (selection.hasSelectable() && selectMode() === "multi") {
584
814
  <sd-checkbox
585
815
  [value]="selection.isAllSelected()"
586
- (click)="selection.toggleAll()"
816
+ (valueChange)="selection.toggleAll()"
587
817
  [inline]="true"
588
- [inset]="true"
818
+ [theme]="'white'"
589
819
  />
590
820
  }
591
821
  </th>
592
- }
593
- @for (cell of row; track $index) {
594
- <th
595
- [attr.colspan]="cell.colspan > 1 ? cell.colspan : null"
596
- [attr.rowspan]="cell.rowspan > 1 ? cell.rowspan : null"
597
- [attr.aria-sort]="getAriaSortValue(cell)"
598
- [attr.title]="cell.colDef?.tooltip ?? cell.text"
599
- [class.help]="cell.colDef?.tooltip"
600
- [style]="getHeaderCellStyle(cell)"
601
- (click)="onHeaderClick($event, cell)"
602
- >
603
- @if (cell.colDef && getColumnHeaderTpl(cell.colDef.key); as headerTpl) {
604
- <ng-template [ngTemplateOutlet]="headerTpl" />
605
- } @else {
606
- <span>{{ cell.text }}</span>
607
- }
608
- @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
+ >
609
832
  <ng-icon
610
- class="_sort-icon"
611
- [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()"
612
837
  />
613
- @if (sortDef.indexText) {
614
- <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>
615
902
  }
616
- }
617
- @if (cell.isLastRow && cell.colDef && !cell.colDef.disableResizing) {
618
- <div
619
- class="_resizer"
620
- (mousedown)="onResizerMousedown($event, cell.colDef)"
621
- (dblclick)="onResizerDblClick($event, cell.colDef)"
622
- ></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" />
623
922
  }
624
923
  </th>
625
924
  }
@@ -627,39 +926,73 @@ export class SdSheet {
627
926
  }
628
927
  </thead>
629
928
  <tbody>
630
- @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) {
631
930
  <tr
632
- [attr.aria-selected]="selection.isSelected(item) ? 'true' : null"
633
- [attr.aria-expanded]="getAriaExpanded(item)"
634
- [style.background]="selection.isSelected(item) ? 'var(--trans-lighter)' : null"
931
+ [attr.data-r]="rowIdx"
635
932
  (click)="onRowClick(item)"
636
933
  (keydown)="onItemKeydown($event, item)"
637
934
  >
638
- @if (expanding.hasExpandable()) {
639
- <td class="_expand-col">
640
- @if (getItemDef(item).hasChildren) {
641
- <sd-anchor (click)="onExpandClick($event, item)">
642
- <ng-icon [svg]="isExpanded(item) ? icons.tablerChevronDown : icons.tablerChevronRight" />
643
- </sd-anchor>
644
- }
645
- </td>
646
- }
647
- @if (selectMode()) {
648
- <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);
649
944
  <sd-checkbox
650
945
  [value]="selection.isSelected(item)"
651
946
  [canChangeFn]="selection.getCanChangeFn(item)"
652
- (click)="onSelectCheckboxClick($event, item)"
947
+ (valueChange)="selection.toggle(item)"
948
+ (mousedown)="onSelectorMouseDown($event, rowIdx)"
653
949
  [inline]="true"
654
- [inset]="true"
655
- [attr.title]="getSelectableTooltip(item)"
950
+ [theme]="'white'"
951
+ [disabled]="_selectable !== true"
952
+ [attr.title]="_selectable"
656
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
+ }
657
989
  </td>
658
990
  }
659
991
  @for (colDef of layout.columnDefs(); track colDef.key; let colIdx = $index) {
660
992
  <td
661
993
  [attr.data-r]="rowIdx"
662
994
  [attr.data-c]="colIdx"
995
+ [class._fixed]="colDef.fixed"
663
996
  [class]="getDataCellClass(item, colDef, rowIdx, colIdx)"
664
997
  [style]="getCellStyleWithIndent(item, colDef, colIdx)"
665
998
  (click)="onCellClick($event, item)"
@@ -674,8 +1007,8 @@ export class SdSheet {
674
1007
  $implicit: item,
675
1008
  item: item,
676
1009
  index: rowIdx,
677
- depth: getChildrenFn() !== undefined ? getItemDef(item).depth : 0,
678
- edit: cellAgent.isCellEditMode({ r: rowIdx, c: colIdx })
1010
+ depth: getChildrenFn() != null ? getItemDef(item).depth : 0,
1011
+ edit: cellAgent.isCellEditMode({ r: rowIdx, c: colIdx }),
679
1012
  }"
680
1013
  />
681
1014
  }
@@ -684,33 +1017,18 @@ export class SdSheet {
684
1017
  </tr>
685
1018
  }
686
1019
  </tbody>
687
- @if (layout.hasSummary()) {
688
- <tfoot>
689
- <tr>
690
- @if (expanding.hasExpandable()) {
691
- <td class="_expand-col"></td>
692
- }
693
- @if (selectMode()) {
694
- <td class="_select-col"></td>
695
- }
696
- @for (colDef of layout.columnDefs(); track colDef.key) {
697
- <td [style]="getFixedCellStyle(colDef)">
698
- @if (getColumnSummaryTpl(colDef.key); as tpl) {
699
- <ng-template [ngTemplateOutlet]="tpl" />
700
- }
701
- </td>
702
- }
703
- </tr>
704
- </tfoot>
705
- }
706
1020
  </table>
707
- <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>
708
1031
  </div>
709
- `, host: {
710
- "[attr.data-sd-inset]": "inset()",
711
- "(keydown.capture)": "onKeydownCapture($event)",
712
- "(dblclick)": "onDblClick($event)",
713
- "(blur.capture)": "onBlurCapture($event)",
714
- }, 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}"] }]
715
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 }] }] }); })();
716
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSheet, { className: "SdSheet", filePath: "packages/angular/src/data/sheet/sd-sheet.ts", lineNumber: 343, forbidOrphanRendering: true }); })();
1034
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSheet, { className: "SdSheet", filePath: "packages/angular/src/data/sheet/sd-sheet.ts", lineNumber: 562 }); })();