@simplysm/angular 14.0.53 → 14.0.55

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 (51) hide show
  1. package/dist/controls/button/sd-modal-select-button.d.ts +9 -10
  2. package/dist/controls/button/sd-modal-select-button.d.ts.map +1 -1
  3. package/dist/controls/button/sd-modal-select-button.js +4 -7
  4. package/dist/core/select-modal-output-result.d.ts +2 -3
  5. package/dist/core/select-modal-output-result.d.ts.map +1 -1
  6. package/dist/core/selection/useSelectionManager.d.ts +11 -11
  7. package/dist/core/selection/useSelectionManager.d.ts.map +1 -1
  8. package/dist/core/selection/useSelectionManager.js +29 -28
  9. package/dist/data/crud/sd-base-container.d.ts +21 -0
  10. package/dist/data/crud/sd-base-container.d.ts.map +1 -0
  11. package/dist/data/crud/sd-base-container.js +200 -0
  12. package/dist/data/crud/sd-crud-detail.d.ts +22 -0
  13. package/dist/data/crud/sd-crud-detail.d.ts.map +1 -0
  14. package/dist/data/crud/sd-crud-detail.js +267 -0
  15. package/dist/data/crud/sd-crud-list.d.ts +54 -0
  16. package/dist/data/crud/sd-crud-list.d.ts.map +1 -0
  17. package/dist/data/crud/sd-crud-list.js +592 -0
  18. package/dist/data/shared-data/sd-shared-data-select-button.d.ts.map +1 -1
  19. package/dist/data/shared-data/sd-shared-data-select-button.js +4 -5
  20. package/dist/data/shared-data/sd-shared-data-select-list.js +2 -2
  21. package/dist/data/shared-data/sd-shared-data-select.js +3 -3
  22. package/dist/data/sheet/injectSheetSelectRowIndicator.d.ts +4 -3
  23. package/dist/data/sheet/injectSheetSelectRowIndicator.d.ts.map +1 -1
  24. package/dist/data/sheet/injectSheetSelectRowIndicator.js +12 -4
  25. package/dist/data/sheet/sd-sheet.d.ts +39 -39
  26. package/dist/data/sheet/sd-sheet.d.ts.map +1 -1
  27. package/dist/data/sheet/sd-sheet.js +96 -74
  28. package/dist/data/sheet/types.d.ts +1 -0
  29. package/dist/data/sheet/types.d.ts.map +1 -1
  30. package/dist/data/sheet/useSheetLayoutEngine.d.ts.map +1 -1
  31. package/dist/data/sheet/useSheetLayoutEngine.js +3 -1
  32. package/dist/index.d.ts +3 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +4 -0
  35. package/dist/styles.css +2 -2
  36. package/package.json +13 -13
  37. package/scss/commons/_variables.scss +2 -2
  38. package/src/controls/button/sd-modal-select-button.ts +9 -13
  39. package/src/core/select-modal-output-result.ts +2 -3
  40. package/src/core/selection/useSelectionManager.ts +47 -49
  41. package/src/data/crud/sd-base-container.ts +115 -0
  42. package/src/data/crud/sd-crud-detail.ts +122 -0
  43. package/src/data/crud/sd-crud-list.ts +316 -0
  44. package/src/data/shared-data/sd-shared-data-select-button.ts +0 -1
  45. package/src/data/shared-data/sd-shared-data-select-list.ts +2 -2
  46. package/src/data/shared-data/sd-shared-data-select.ts +3 -3
  47. package/src/data/sheet/injectSheetSelectRowIndicator.ts +17 -7
  48. package/src/data/sheet/sd-sheet.ts +59 -42
  49. package/src/data/sheet/types.ts +1 -0
  50. package/src/data/sheet/useSheetLayoutEngine.ts +3 -1
  51. package/src/index.ts +5 -0
@@ -27,7 +27,7 @@ import * as i0 from "@angular/core";
27
27
  import * as i1 from "../../core/events/sd-events";
28
28
  const _c0 = (a0, a1) => ({ r: a0, c: a1 });
29
29
  const _c1 = (a0, a1, a2, a3, a4) => ({ $implicit: a0, item: a1, index: a2, depth: a3, edit: a4 });
30
- function _forTrack0($index, $item) { return this.trackByFn()($item, $index); }
30
+ function _forTrack0($index, $item) { return this.trackByFn()($item, $index) ?? $item; }
31
31
  const _forTrack1 = ($index, $item) => $item.key;
32
32
  function SdSheet_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
33
33
  const _r1 = i0.ɵɵgetCurrentView();
@@ -114,8 +114,8 @@ function SdSheet_For_5_For_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
114
114
  } if (rf & 2) {
115
115
  const cell_r9 = i0.ɵɵnextContext().$implicit;
116
116
  const ctx_r1 = i0.ɵɵnextContext(2);
117
- i0.ɵɵstyleProp("left", (cell_r9.colDef == null ? null : cell_r9.colDef.fixed) ? ctx_r1.fixing.fixedLeftMap().get(cell_r9.colIndex) : null, "px");
118
- i0.ɵɵclassProp("_fixed", cell_r9.colDef == null ? null : cell_r9.colDef.fixed);
117
+ i0.ɵɵstyleProp("left", cell_r9.fixed ? ctx_r1.fixing.fixedLeftMap().get(cell_r9.colIndex) : null, "px");
118
+ i0.ɵɵclassProp("_fixed", cell_r9.fixed);
119
119
  i0.ɵɵattribute("colspan", cell_r9.colspan > 1 ? cell_r9.colspan : null)("rowspan", cell_r9.rowspan > 1 ? cell_r9.rowspan : null)("data-c", cell_r9.colIndex)("title", cell_r9.text);
120
120
  i0.ɵɵadvance(3);
121
121
  i0.ɵɵtextInterpolate(cell_r9.text);
@@ -200,21 +200,21 @@ function SdSheet_For_5_For_3_Conditional_1_Template(rf, ctx) { if (rf & 1) {
200
200
  i0.ɵɵconditionalCreate(5, SdSheet_For_5_For_3_Conditional_1_Conditional_5_Template, 1, 0, "div", 26);
201
201
  i0.ɵɵelementEnd();
202
202
  } if (rf & 2) {
203
- let tmp_30_0;
203
+ let tmp_31_0;
204
204
  const cell_r9 = i0.ɵɵnextContext().$implicit;
205
205
  const ctx_r1 = i0.ɵɵnextContext(2);
206
206
  i0.ɵɵstyleMap(ctx_r1.getHeaderCellStyle(cell_r9));
207
- i0.ɵɵclassProp("_fixed", cell_r9.colDef == null ? null : cell_r9.colDef.fixed)("_sort", cell_r9.colDef && !cell_r9.colDef.disableSorting)("help", cell_r9.colDef == null ? null : cell_r9.colDef.tooltip);
208
- i0.ɵɵattribute("colspan", cell_r9.colspan > 1 ? cell_r9.colspan : null)("rowspan", cell_r9.rowspan > 1 ? cell_r9.rowspan : null)("data-c", cell_r9.colIndex)("title", (cell_r9.colDef == null ? null : cell_r9.colDef.tooltip) ?? cell_r9.text);
207
+ i0.ɵɵclassProp("_fixed", cell_r9.fixed)("_sort", cell_r9.colDef && !cell_r9.colDef.disableSorting)("help", cell_r9.colDef == null ? null : cell_r9.colDef.tooltip);
208
+ i0.ɵɵattribute("colspan", cell_r9.colspan > 1 ? cell_r9.colspan : null)("rowspan", cell_r9.rowspan > 1 ? cell_r9.rowspan : null)("data-c", cell_r9.colIndex)("title", (cell_r9.colDef == null ? null : cell_r9.colDef.tooltip) ?? cell_r9.text)("aria-sort", ctx_r1.getAriaSortValue(cell_r9));
209
209
  i0.ɵɵadvance(2);
210
- i0.ɵɵconditional((tmp_30_0 = cell_r9.colDef && ctx_r1.getColumnHeaderTpl(cell_r9.colDef.key)) ? 2 : 3, tmp_30_0);
210
+ i0.ɵɵconditional((tmp_31_0 = cell_r9.colDef && ctx_r1.getColumnHeaderTpl(cell_r9.colDef.key)) ? 2 : 3, tmp_31_0);
211
211
  i0.ɵɵadvance(2);
212
212
  i0.ɵɵconditional(cell_r9.colDef && !cell_r9.colDef.disableSorting ? 4 : -1);
213
213
  i0.ɵɵadvance();
214
214
  i0.ɵɵconditional(cell_r9.colDef && !cell_r9.colDef.disableResizing ? 5 : -1);
215
215
  } }
216
216
  function SdSheet_For_5_For_3_Template(rf, ctx) { if (rf & 1) {
217
- 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);
217
+ 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, 16, "th", 19);
218
218
  } if (rf & 2) {
219
219
  const cell_r9 = ctx.$implicit;
220
220
  i0.ɵɵconditional(!cell_r9.isLastRow ? 0 : 1);
@@ -285,45 +285,41 @@ function SdSheet_For_9_Conditional_2_Template(rf, ctx) { if (rf & 1) {
285
285
  const ctx_r1 = i0.ɵɵnextContext();
286
286
  const _selectable_r23 = ctx_r1.selection.getSelectable(item_r20);
287
287
  i0.ɵɵproperty("value", ctx_r1.selection.isSelected(item_r20))("canChangeFn", ctx_r1.selection.getCanChangeFn(item_r20))("inline", true)("theme", "white")("disabled", _selectable_r23 !== true);
288
- i0.ɵɵattribute("title", _selectable_r23);
288
+ i0.ɵɵattribute("title", ctx_r1.getSelectableTooltip(item_r20));
289
289
  } }
290
- function SdSheet_For_9_Conditional_3_Conditional_1_Template(rf, ctx) { if (rf & 1) {
290
+ function SdSheet_For_9_Conditional_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
291
291
  const _r24 = i0.ɵɵgetCurrentView();
292
292
  i0.ɵɵelementStart(0, "sd-anchor", 37);
293
- i0.ɵɵlistener("pointerdown", function SdSheet_For_9_Conditional_3_Conditional_1_Template_sd_anchor_pointerdown_0_listener() { i0.ɵɵrestoreView(_r24); const item_r20 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.selection.toggle(item_r20)); });
293
+ i0.ɵɵlistener("pointerdown", function SdSheet_For_9_Conditional_3_Conditional_0_Template_sd_anchor_pointerdown_0_listener($event) { i0.ɵɵrestoreView(_r24); const item_r20 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(); $event.stopPropagation(); return i0.ɵɵresetView(ctx_r1.selection.toggle(item_r20)); })("click", function SdSheet_For_9_Conditional_3_Conditional_0_Template_sd_anchor_click_0_listener($event) { return $event.stopPropagation(); });
294
294
  i0.ɵɵelement(1, "ng-icon", 11);
295
295
  i0.ɵɵelementEnd();
296
296
  } if (rf & 2) {
297
- i0.ɵɵnextContext();
298
- const _selectable_r25 = i0.ɵɵreadContextLet(0);
299
- const item_r20 = i0.ɵɵnextContext().$implicit;
297
+ const item_r20 = i0.ɵɵnextContext(2).$implicit;
300
298
  const ctx_r1 = i0.ɵɵnextContext();
301
299
  i0.ɵɵproperty("theme", ctx_r1.selection.isSelected(item_r20) ? "primary" : "gray");
302
- i0.ɵɵattribute("title", _selectable_r25);
300
+ i0.ɵɵattribute("title", ctx_r1.getSelectableTooltip(item_r20));
303
301
  i0.ɵɵadvance();
304
302
  i0.ɵɵproperty("svg", ctx_r1.icons.tablerArrowRight);
305
303
  } }
306
304
  function SdSheet_For_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
307
- i0.ɵɵdeclareLet(0);
308
- i0.ɵɵconditionalCreate(1, SdSheet_For_9_Conditional_3_Conditional_1_Template, 2, 3, "sd-anchor", 36);
305
+ i0.ɵɵconditionalCreate(0, SdSheet_For_9_Conditional_3_Conditional_0_Template, 2, 3, "sd-anchor", 36);
309
306
  } if (rf & 2) {
310
307
  const item_r20 = i0.ɵɵnextContext().$implicit;
311
308
  const ctx_r1 = i0.ɵɵnextContext();
312
- const _selectable_r26 = i0.ɵɵstoreLet(ctx_r1.selection.getSelectable(item_r20));
313
- i0.ɵɵadvance();
314
- i0.ɵɵconditional(_selectable_r26 === true && ctx_r1.selection.getCanChangeFn(item_r20) ? 1 : -1);
309
+ const _selectable_r25 = ctx_r1.selection.getSelectable(item_r20);
310
+ i0.ɵɵconditional(_selectable_r25 === true && ctx_r1.selection.getCanChangeFn(item_r20) ? 0 : -1);
315
311
  } }
316
312
  function SdSheet_For_9_Conditional_4_Conditional_2_Template(rf, ctx) { if (rf & 1) {
317
313
  i0.ɵɵelement(0, "div", 40);
318
314
  } if (rf & 2) {
319
315
  i0.ɵɵnextContext();
320
- const itemDef_r27 = i0.ɵɵreadContextLet(1);
321
- i0.ɵɵstyleProp("margin-left", itemDef_r27.depth - 0.5, "em");
316
+ const itemDef_r26 = i0.ɵɵreadContextLet(1);
317
+ i0.ɵɵstyleProp("margin-left", itemDef_r26.depth - 0.5, "em");
322
318
  } }
323
319
  function SdSheet_For_9_Conditional_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
324
- const _r28 = i0.ɵɵgetCurrentView();
320
+ const _r27 = i0.ɵɵgetCurrentView();
325
321
  i0.ɵɵelementStart(0, "ng-icon", 17);
326
- i0.ɵɵlistener("click", function SdSheet_For_9_Conditional_4_Conditional_3_Template_ng_icon_click_0_listener($event) { i0.ɵɵrestoreView(_r28); const item_r20 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onExpandClick($event, item_r20)); });
322
+ i0.ɵɵlistener("click", function SdSheet_For_9_Conditional_4_Conditional_3_Template_ng_icon_click_0_listener($event) { i0.ɵɵrestoreView(_r27); const item_r20 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onExpandClick($event, item_r20)); });
327
323
  i0.ɵɵelementEnd();
328
324
  } if (rf & 2) {
329
325
  const item_r20 = i0.ɵɵnextContext(2).$implicit;
@@ -331,65 +327,66 @@ function SdSheet_For_9_Conditional_4_Conditional_3_Template(rf, ctx) { if (rf &
331
327
  i0.ɵɵstyleProp("transform", ctx_r1.isExpanded(item_r20) ? "rotate(90deg)" : undefined);
332
328
  i0.ɵɵclassProp("tx-theme-primary-default", ctx_r1.isExpanded(item_r20));
333
329
  i0.ɵɵproperty("svg", ctx_r1.icons.tablerCaretRight);
330
+ i0.ɵɵattribute("aria-expanded", ctx_r1.getAriaExpanded(item_r20));
334
331
  } }
335
332
  function SdSheet_For_9_Conditional_4_Template(rf, ctx) { if (rf & 1) {
336
333
  i0.ɵɵelementStart(0, "td", 30);
337
334
  i0.ɵɵdeclareLet(1);
338
335
  i0.ɵɵconditionalCreate(2, SdSheet_For_9_Conditional_4_Conditional_2_Template, 1, 2, "div", 38);
339
- i0.ɵɵconditionalCreate(3, SdSheet_For_9_Conditional_4_Conditional_3_Template, 1, 5, "ng-icon", 39);
336
+ i0.ɵɵconditionalCreate(3, SdSheet_For_9_Conditional_4_Conditional_3_Template, 1, 6, "ng-icon", 39);
340
337
  i0.ɵɵelementEnd();
341
338
  } if (rf & 2) {
342
- const ctx_r28 = i0.ɵɵnextContext();
343
- const item_r20 = ctx_r28.$implicit;
344
- const ɵ$index_95_r22 = ctx_r28.$index;
339
+ const ctx_r27 = i0.ɵɵnextContext();
340
+ const item_r20 = ctx_r27.$implicit;
341
+ const ɵ$index_95_r22 = ctx_r27.$index;
345
342
  const ctx_r1 = i0.ɵɵnextContext();
346
343
  i0.ɵɵstyleProp("left", ctx_r1.fixing.fixedLeftMap().get(-1), "px");
347
344
  i0.ɵɵattribute("data-r", ɵ$index_95_r22)("data-c", -1);
348
345
  i0.ɵɵadvance();
349
- const itemDef_r30 = i0.ɵɵstoreLet(ctx_r1.getItemDef(item_r20));
346
+ const itemDef_r29 = i0.ɵɵstoreLet(ctx_r1.getItemDef(item_r20));
350
347
  i0.ɵɵadvance();
351
- i0.ɵɵconditional(itemDef_r30.depth > 0 ? 2 : -1);
348
+ i0.ɵɵconditional(itemDef_r29.depth > 0 ? 2 : -1);
352
349
  i0.ɵɵadvance();
353
- i0.ɵɵconditional(itemDef_r30.hasChildren ? 3 : -1);
350
+ i0.ɵɵconditional(itemDef_r29.hasChildren ? 3 : -1);
354
351
  } }
355
352
  function SdSheet_For_9_For_6_Conditional_1_ng_template_0_Template(rf, ctx) { }
356
353
  function SdSheet_For_9_For_6_Conditional_1_Template(rf, ctx) { if (rf & 1) {
357
354
  i0.ɵɵtemplate(0, SdSheet_For_9_For_6_Conditional_1_ng_template_0_Template, 0, 0, "ng-template", 42);
358
355
  } if (rf & 2) {
359
- const ɵ$index_122_r33 = i0.ɵɵnextContext().$index;
360
- const ctx_r28 = i0.ɵɵnextContext();
361
- const item_r20 = ctx_r28.$implicit;
362
- const ɵ$index_95_r22 = ctx_r28.$index;
356
+ const ɵ$index_122_r32 = i0.ɵɵnextContext().$index;
357
+ const ctx_r27 = i0.ɵɵnextContext();
358
+ const item_r20 = ctx_r27.$implicit;
359
+ const ɵ$index_95_r22 = ctx_r27.$index;
363
360
  const ctx_r1 = i0.ɵɵnextContext();
364
- i0.ɵɵproperty("ngTemplateOutlet", ctx)("ngTemplateOutletContext", i0.ɵɵpureFunction5(5, _c1, item_r20, item_r20, ɵ$index_95_r22, ctx_r1.getChildrenFn() != null ? ctx_r1.getItemDef(item_r20).depth : 0, ctx_r1.cellAgent.isCellEditMode(i0.ɵɵpureFunction2(2, _c0, ɵ$index_95_r22, ɵ$index_122_r33))));
361
+ i0.ɵɵproperty("ngTemplateOutlet", ctx)("ngTemplateOutletContext", i0.ɵɵpureFunction5(5, _c1, item_r20, item_r20, ɵ$index_95_r22, ctx_r1.getChildrenFn() != null ? ctx_r1.getItemDef(item_r20).depth : 0, ctx_r1.cellAgent.isCellEditMode(i0.ɵɵpureFunction2(2, _c0, ɵ$index_95_r22, ɵ$index_122_r32))));
365
362
  } }
366
363
  function SdSheet_For_9_For_6_Template(rf, ctx) { if (rf & 1) {
367
- const _r31 = i0.ɵɵgetCurrentView();
364
+ const _r30 = i0.ɵɵgetCurrentView();
368
365
  i0.ɵɵelementStart(0, "td", 41);
369
- i0.ɵɵlistener("click", function SdSheet_For_9_For_6_Template_td_click_0_listener($event) { i0.ɵɵrestoreView(_r31); const item_r20 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCellClick($event, item_r20)); })("focus", function SdSheet_For_9_For_6_Template_td_focus_0_listener() { i0.ɵɵrestoreView(_r31); const item_r20 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCellFocus(item_r20)); })("keydown", function SdSheet_For_9_For_6_Template_td_keydown_0_listener($event) { const colDef_r32 = i0.ɵɵrestoreView(_r31).$implicit; const item_r20 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCellKeydown($event, item_r20, colDef_r32.key)); });
366
+ i0.ɵɵlistener("click", function SdSheet_For_9_For_6_Template_td_click_0_listener($event) { i0.ɵɵrestoreView(_r30); const item_r20 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCellClick($event, item_r20)); })("focus", function SdSheet_For_9_For_6_Template_td_focus_0_listener() { i0.ɵɵrestoreView(_r30); const item_r20 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCellFocus(item_r20)); })("keydown", function SdSheet_For_9_For_6_Template_td_keydown_0_listener($event) { const colDef_r31 = i0.ɵɵrestoreView(_r30).$implicit; const item_r20 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCellKeydown($event, item_r20, colDef_r31.key)); });
370
367
  i0.ɵɵconditionalCreate(1, SdSheet_For_9_For_6_Conditional_1_Template, 1, 11, null, 42);
371
368
  i0.ɵɵelementEnd();
372
369
  } if (rf & 2) {
373
370
  let tmp_28_0;
374
- const colDef_r32 = ctx.$implicit;
375
- const ɵ$index_122_r33 = ctx.$index;
376
- const ctx_r28 = i0.ɵɵnextContext();
377
- const item_r20 = ctx_r28.$implicit;
378
- const ɵ$index_95_r22 = ctx_r28.$index;
371
+ const colDef_r31 = ctx.$implicit;
372
+ const ɵ$index_122_r32 = ctx.$index;
373
+ const ctx_r27 = i0.ɵɵnextContext();
374
+ const item_r20 = ctx_r27.$implicit;
375
+ const ɵ$index_95_r22 = ctx_r27.$index;
379
376
  const ctx_r1 = i0.ɵɵnextContext();
380
- i0.ɵɵstyleMap(ctx_r1.getCellStyleWithIndent(item_r20, colDef_r32, ɵ$index_122_r33));
381
- i0.ɵɵclassMap(ctx_r1.getDataCellClass(item_r20, colDef_r32, ɵ$index_95_r22, ɵ$index_122_r33));
382
- i0.ɵɵclassProp("_fixed", colDef_r32.fixed);
383
- i0.ɵɵattribute("data-r", ɵ$index_95_r22)("data-c", ɵ$index_122_r33);
377
+ i0.ɵɵstyleMap(ctx_r1.getCellStyleWithIndent(item_r20, colDef_r31, ɵ$index_122_r32));
378
+ i0.ɵɵclassMap(ctx_r1.getDataCellClass(item_r20, colDef_r31, ɵ$index_95_r22, ɵ$index_122_r32));
379
+ i0.ɵɵclassProp("_fixed", colDef_r31.fixed);
380
+ i0.ɵɵattribute("data-r", ɵ$index_95_r22)("data-c", ɵ$index_122_r32);
384
381
  i0.ɵɵadvance();
385
- i0.ɵɵconditional((tmp_28_0 = ctx_r1.getColumnCellTpl(colDef_r32.key)) ? 1 : -1, tmp_28_0);
382
+ i0.ɵɵconditional((tmp_28_0 = ctx_r1.getColumnCellTpl(colDef_r31.key)) ? 1 : -1, tmp_28_0);
386
383
  } }
387
384
  function SdSheet_For_9_Template(rf, ctx) { if (rf & 1) {
388
385
  const _r19 = i0.ɵɵgetCurrentView();
389
386
  i0.ɵɵelementStart(0, "tr", 32);
390
387
  i0.ɵɵlistener("click", function SdSheet_For_9_Template_tr_click_0_listener() { const item_r20 = i0.ɵɵrestoreView(_r19).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onRowClick(item_r20)); })("keydown", function SdSheet_For_9_Template_tr_keydown_0_listener($event) { const item_r20 = i0.ɵɵrestoreView(_r19).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onItemKeydown($event, item_r20)); });
391
388
  i0.ɵɵelementStart(1, "td", 30);
392
- i0.ɵɵconditionalCreate(2, SdSheet_For_9_Conditional_2_Template, 1, 6, "sd-checkbox", 33)(3, SdSheet_For_9_Conditional_3_Template, 2, 2);
389
+ i0.ɵɵconditionalCreate(2, SdSheet_For_9_Conditional_2_Template, 1, 6, "sd-checkbox", 33)(3, SdSheet_For_9_Conditional_3_Template, 1, 1);
393
390
  i0.ɵɵelementEnd();
394
391
  i0.ɵɵconditionalCreate(4, SdSheet_For_9_Conditional_4_Template, 4, 7, "td", 31);
395
392
  i0.ɵɵrepeaterCreate(5, SdSheet_For_9_For_6_Template, 2, 9, "td", 34, _forTrack1);
@@ -398,10 +395,10 @@ function SdSheet_For_9_Template(rf, ctx) { if (rf & 1) {
398
395
  const ɵ$index_95_r22 = ctx.$index;
399
396
  const ctx_r1 = i0.ɵɵnextContext();
400
397
  i0.ɵɵattribute("data-r", ɵ$index_95_r22);
401
- const _fc_r34 = ctx_r1.expanding.hasExpandable() ? -2 : -1;
398
+ const _fc_r33 = ctx_r1.expanding.hasExpandable() ? -2 : -1;
402
399
  i0.ɵɵadvance();
403
- i0.ɵɵstyleProp("left", ctx_r1.fixing.fixedLeftMap().get(_fc_r34), "px");
404
- i0.ɵɵattribute("data-r", ɵ$index_95_r22)("data-c", _fc_r34);
400
+ i0.ɵɵstyleProp("left", ctx_r1.fixing.fixedLeftMap().get(_fc_r33), "px");
401
+ i0.ɵɵattribute("data-r", ɵ$index_95_r22)("data-c", _fc_r33);
405
402
  i0.ɵɵadvance();
406
403
  i0.ɵɵconditional(ctx_r1.selectMode() === "multi" ? 2 : ctx_r1.selectMode() === "single" ? 3 : -1);
407
404
  i0.ɵɵadvance(2);
@@ -413,7 +410,7 @@ export class SdSheet {
413
410
  // Inputs
414
411
  key = input(...(ngDevMode ? [undefined, { debugName: "key" }] : /* istanbul ignore next */ []));
415
412
  items = input([], ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
416
- trackByFn = input((item) => item, ...(ngDevMode ? [{ debugName: "trackByFn" }] : /* istanbul ignore next */ []));
413
+ trackByFn = input.required(...(ngDevMode ? [{ debugName: "trackByFn" }] : /* istanbul ignore next */ []));
417
414
  selectMode = input(...(ngDevMode ? [undefined, { debugName: "selectMode" }] : /* istanbul ignore next */ []));
418
415
  autoSelect = input(...(ngDevMode ? [undefined, { debugName: "autoSelect" }] : /* istanbul ignore next */ []));
419
416
  getItemSelectableFn = input(...(ngDevMode ? [undefined, { debugName: "getItemSelectableFn" }] : /* istanbul ignore next */ []));
@@ -432,14 +429,17 @@ export class SdSheet {
432
429
  itemKeydown = output();
433
430
  cellKeydown = output();
434
431
  // Models
435
- selectedItems = model([], ...(ngDevMode ? [{ debugName: "selectedItems" }] : /* istanbul ignore next */ []));
432
+ selectedKeys = model([], ...(ngDevMode ? [{ debugName: "selectedKeys" }] : /* istanbul ignore next */ []));
436
433
  expandedItems = model([], ...(ngDevMode ? [{ debugName: "expandedItems" }] : /* istanbul ignore next */ []));
437
434
  sorts = model([], ...(ngDevMode ? [{ debugName: "sorts" }] : /* istanbul ignore next */ [])); // Re-exported from useSortingManager
438
435
  currentPage = model(0, ...(ngDevMode ? [{ debugName: "currentPage" }] : /* istanbul ignore next */ []));
439
436
  // Content query
440
437
  columnControls = contentChildren(SdSheetColumn, ...(ngDevMode ? [{ debugName: "columnControls" }] : /* istanbul ignore next */ []));
441
- columnControlsInput = input(...(ngDevMode ? [undefined, { debugName: "columnControlsInput" }] : /* istanbul ignore next */ []));
442
- _effectiveColumnControls = computed(() => this.columnControlsInput() ?? this.columnControls(), ...(ngDevMode ? [{ debugName: "_effectiveColumnControls" }] : /* istanbul ignore next */ []));
438
+ columnControlsInput = input([], ...(ngDevMode ? [{ debugName: "columnControlsInput" }] : /* istanbul ignore next */ []));
439
+ _effectiveColumnControls = computed(() => [
440
+ ...this.columnControls(),
441
+ ...this.columnControlsInput(),
442
+ ], ...(ngDevMode ? [{ debugName: "_effectiveColumnControls" }] : /* istanbul ignore next */ []));
443
443
  // Injected providers
444
444
  _sdModal = inject(SdModalProvider);
445
445
  // DOM accessor & cell agent
@@ -510,13 +510,14 @@ export class SdSheet {
510
510
  // Select row indicator
511
511
  _selectRowIndicator = injectSheetSelectRowIndicator({
512
512
  domAccessor: this.domAccessor,
513
- selectedItems: this.selectedItems,
513
+ selectedKeys: this.selectedKeys,
514
514
  displayItems: this.displayItems,
515
+ trackByFn: this.trackByFn,
515
516
  });
516
517
  // Selection manager
517
518
  selection = useSelectionManager({
518
519
  displayItems: this.displayItems,
519
- selectedItems: this.selectedItems,
520
+ selectedKeys: this.selectedKeys,
520
521
  selectMode: this.selectMode,
521
522
  getItemSelectableFn: this.getItemSelectableFn,
522
523
  trackByFn: this.trackByFn,
@@ -553,7 +554,7 @@ export class SdSheet {
553
554
  const result = this.selection.getSelectable(item);
554
555
  if (typeof result === "string")
555
556
  return result;
556
- return null;
557
+ return undefined;
557
558
  }
558
559
  onRowClick(item) {
559
560
  if (this.autoSelect() === "click") {
@@ -628,7 +629,7 @@ export class SdSheet {
628
629
  this._focusIndicator.redraw();
629
630
  }
630
631
  onTableResize(event) {
631
- if (!event.widthChanged)
632
+ if (!event.widthChanged && !event.heightChanged)
632
633
  return;
633
634
  this._focusIndicator.redraw();
634
635
  this._selectRowIndicator.redraw();
@@ -720,7 +721,7 @@ export class SdSheet {
720
721
  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); });
721
722
  } if (rf & 2) {
722
723
  i0.ɵɵattribute("data-sd-inset", ctx.inset())("data-sd-focus-mode", ctx.focusMode());
723
- } }, 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"], columnControlsInput: [1, "columnControlsInput"] }, 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, "sdResize", "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"], [1, "_fixed", "_feature-cell", 3, "left"], [3, "click", "keydown"], [3, "value", "canChangeFn", "inline", "theme", "disabled"], ["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) {
724
+ } }, 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"], selectedKeys: [1, "selectedKeys"], expandedItems: [1, "expandedItems"], sorts: [1, "sorts"], currentPage: [1, "currentPage"], columnControlsInput: [1, "columnControlsInput"] }, outputs: { itemKeydown: "itemKeydown", cellKeydown: "cellKeydown", selectedKeys: "selectedKeysChange", 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, "sdResize", "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"], [1, "_fixed", "_feature-cell", 3, "left"], [3, "click", "keydown"], [3, "value", "canChangeFn", "inline", "theme", "disabled"], ["tabindex", "0", 3, "_fixed", "class", "style"], [3, "valueChange", "mousedown", "value", "canChangeFn", "inline", "theme", "disabled"], [3, "theme"], [3, "pointerdown", "click", "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) {
724
725
  i0.ɵɵconditionalCreate(0, SdSheet_Conditional_0_Template, 3, 2, "div", 0);
725
726
  i0.ɵɵelementStart(1, "div", 1);
726
727
  i0.ɵɵlistener("scroll.passive", function SdSheet_Template_div_scroll_passive_1_listener() { return ctx.onContainerScroll(); });
@@ -739,7 +740,7 @@ export class SdSheet {
739
740
  i0.ɵɵelement(12, "div", 6)(13, "div", 7);
740
741
  i0.ɵɵelementEnd();
741
742
  } if (rf & 2) {
742
- i0.ɵɵconditional((ctx.key() || ctx.effectivePageCount() > 0) && !ctx.hideConfigBar() ? 0 : -1);
743
+ i0.ɵɵconditional((ctx.key() || ctx.effectivePageCount() > 1) && !ctx.hideConfigBar() ? 0 : -1);
743
744
  i0.ɵɵadvance();
744
745
  i0.ɵɵstyleMap(ctx.contentStyle());
745
746
  i0.ɵɵadvance(3);
@@ -750,11 +751,25 @@ export class SdSheet {
750
751
  i0.ɵɵrepeater(ctx.displayItems());
751
752
  i0.ɵɵadvance(4);
752
753
  i0.ɵɵstyleProp("display", ctx._isResizing() ? "block" : "none")("left", ctx._resizeIndicatorLeft(), "px");
753
- } }, 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 });
754
+ } }, dependencies: [NgTemplateOutlet,
755
+ SdCheckbox,
756
+ NgIcon,
757
+ SdPagination,
758
+ SdAnchor,
759
+ SdButton,
760
+ 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 });
754
761
  }
755
762
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdSheet, [{
756
763
  type: Component,
757
- args: [{ selector: "sd-sheet", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgTemplateOutlet, SdCheckbox, NgIcon, SdPagination, SdAnchor, SdButton, SdResizeDirective], hostDirectives: [
764
+ args: [{ selector: "sd-sheet", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
765
+ NgTemplateOutlet,
766
+ SdCheckbox,
767
+ NgIcon,
768
+ SdPagination,
769
+ SdAnchor,
770
+ SdButton,
771
+ SdResizeDirective,
772
+ ], hostDirectives: [
758
773
  { directive: SdEvents, outputs: ["keydown.capture", "focus.capture", "blur.capture"] },
759
774
  ], host: {
760
775
  "class": "flex-column fill",
@@ -765,7 +780,7 @@ export class SdSheet {
765
780
  "(dblclick)": "onDblClick($event)",
766
781
  "(blur.capture)": "onBlurCapture($event)",
767
782
  }, template: `
768
- @if ((key() || effectivePageCount() > 0) && !hideConfigBar()) {
783
+ @if ((key() || effectivePageCount() > 1) && !hideConfigBar()) {
769
784
  <div class="_tool flex-row gap-sm p-xs">
770
785
  @if (key()) {
771
786
  <sd-button [theme]="'link-primary'" [size]="'sm'" (click)="onConfigButtonClick()">
@@ -834,13 +849,13 @@ export class SdSheet {
834
849
  @for (cell of row; track $index) {
835
850
  @if (!cell.isLastRow) {
836
851
  <th
837
- [class._fixed]="cell.colDef?.fixed"
852
+ [class._fixed]="cell.fixed"
838
853
  [attr.colspan]="cell.colspan > 1 ? cell.colspan : null"
839
854
  [attr.rowspan]="cell.rowspan > 1 ? cell.rowspan : null"
840
855
  [attr.data-c]="cell.colIndex"
841
856
  [attr.title]="cell.text"
842
857
  [style.left.px]="
843
- cell.colDef?.fixed ? fixing.fixedLeftMap().get(cell.colIndex) : null
858
+ cell.fixed ? fixing.fixedLeftMap().get(cell.colIndex) : null
844
859
  "
845
860
  >
846
861
  <div class="_p-sheet">
@@ -849,13 +864,14 @@ export class SdSheet {
849
864
  </th>
850
865
  } @else {
851
866
  <th
852
- [class._fixed]="cell.colDef?.fixed"
867
+ [class._fixed]="cell.fixed"
853
868
  class="_last-depth"
854
869
  [class._sort]="cell.colDef && !cell.colDef.disableSorting"
855
870
  [attr.colspan]="cell.colspan > 1 ? cell.colspan : null"
856
871
  [attr.rowspan]="cell.rowspan > 1 ? cell.rowspan : null"
857
872
  [attr.data-c]="cell.colIndex"
858
873
  [attr.title]="cell.colDef?.tooltip ?? cell.text"
874
+ [attr.aria-sort]="getAriaSortValue(cell)"
859
875
  [class.help]="cell.colDef?.tooltip"
860
876
  [style]="getHeaderCellStyle(cell)"
861
877
  (sdResize)="onFixedCellResize($event, cell.colIndex)"
@@ -927,7 +943,11 @@ export class SdSheet {
927
943
  }
928
944
  </thead>
929
945
  <tbody>
930
- @for (item of displayItems(); track trackByFn()(item, $index); let rowIdx = $index) {
946
+ @for (
947
+ item of displayItems();
948
+ track trackByFn()(item, $index) ?? item;
949
+ let rowIdx = $index
950
+ ) {
931
951
  <tr
932
952
  [attr.data-r]="rowIdx"
933
953
  (click)="onRowClick(item)"
@@ -950,15 +970,16 @@ export class SdSheet {
950
970
  [inline]="true"
951
971
  [theme]="'white'"
952
972
  [disabled]="_selectable !== true"
953
- [attr.title]="_selectable"
973
+ [attr.title]="getSelectableTooltip(item)"
954
974
  />
955
975
  } @else if (selectMode() === "single") {
956
976
  @let _selectable = selection.getSelectable(item);
957
977
  @if (_selectable === true && selection.getCanChangeFn(item)) {
958
978
  <sd-anchor
959
979
  [theme]="selection.isSelected(item) ? 'primary' : 'gray'"
960
- (pointerdown)="selection.toggle(item)"
961
- [attr.title]="_selectable"
980
+ (pointerdown)="$event.stopPropagation(); selection.toggle(item)"
981
+ (click)="$event.stopPropagation()"
982
+ [attr.title]="getSelectableTooltip(item)"
962
983
  >
963
984
  <ng-icon [svg]="icons.tablerArrowRight" />
964
985
  </sd-anchor>
@@ -984,6 +1005,7 @@ export class SdSheet {
984
1005
  [svg]="icons.tablerCaretRight"
985
1006
  [style.transform]="isExpanded(item) ? 'rotate(90deg)' : undefined"
986
1007
  [class.tx-theme-primary-default]="isExpanded(item)"
1008
+ [attr.aria-expanded]="getAriaExpanded(item)"
987
1009
  (click)="onExpandClick($event, item)"
988
1010
  />
989
1011
  }
@@ -1031,5 +1053,5 @@ export class SdSheet {
1031
1053
  <div class="_select-row-indicator-container"></div>
1032
1054
  </div>
1033
1055
  `, 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}"] }]
1034
- }], 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 }] }], columnControlsInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnControlsInput", required: false }] }] }); })();
1035
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSheet, { className: "SdSheet", filePath: "packages/angular/src/data/sheet/sd-sheet.ts", lineNumber: 570 }); })();
1056
+ }], 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: true }] }], 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"] }], selectedKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedKeys", required: false }] }, { type: i0.Output, args: ["selectedKeysChange"] }], 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 }] }], columnControlsInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnControlsInput", required: false }] }] }); })();
1057
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSheet, { className: "SdSheet", filePath: "packages/angular/src/data/sheet/sd-sheet.ts", lineNumber: 585 }); })();
@@ -16,6 +16,7 @@ export interface SdSheetHeaderDef {
16
16
  colspan: number;
17
17
  rowspan: number;
18
18
  isLastRow: boolean;
19
+ fixed: boolean;
19
20
  colDef: SdSheetColumnDef | undefined;
20
21
  colIndex: number;
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/data/sheet/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAClB,MAAM,EACN;QACE,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CACF,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC;IACR,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,aAAa,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/data/sheet/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAClB,MAAM,EACN;QACE,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CACF,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC;IACR,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,aAAa,CAAC;CACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSheetLayoutEngine.d.ts","sourceRoot":"","sources":["../../../src/data/sheet/useSheetLayoutEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEjF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,cAAc,EAAE,MAAM,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CAC3C;;;;;;EA6IA"}
1
+ {"version":3,"file":"useSheetLayoutEngine.d.ts","sourceRoot":"","sources":["../../../src/data/sheet/useSheetLayoutEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEjF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,cAAc,EAAE,MAAM,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CAC3C;;;;;;EA+IA"}
@@ -61,6 +61,7 @@ export function useSheetLayoutEngine(options) {
61
61
  colspan: 1,
62
62
  rowspan,
63
63
  isLastRow: true,
64
+ fixed: colDef.fixed,
64
65
  colDef,
65
66
  colIndex: colIdx,
66
67
  });
@@ -71,7 +72,7 @@ export function useSheetLayoutEngine(options) {
71
72
  const prevCells = table[row];
72
73
  const lastCell = prevCells.length > 0 ? prevCells[prevCells.length - 1] : undefined;
73
74
  let canMerge = false;
74
- if (lastCell != null && lastCell.text === text) {
75
+ if (lastCell != null && lastCell.text === text && lastCell.fixed === colDef.fixed) {
75
76
  if (!lastCell.isLastRow && !isLastRow) {
76
77
  // Non-final rows: also check parent levels match
77
78
  canMerge = true;
@@ -109,6 +110,7 @@ export function useSheetLayoutEngine(options) {
109
110
  colspan: 1,
110
111
  rowspan: 1,
111
112
  isLastRow,
113
+ fixed: colDef.fixed,
112
114
  colDef: isLastRow ? colDef : undefined,
113
115
  colIndex: colIdx,
114
116
  });
package/dist/index.d.ts CHANGED
@@ -106,6 +106,9 @@ export { SdKanban } from "./data/kanban/sd-kanban";
106
106
  export { SdKanbanLane } from "./data/kanban/sd-kanban-lane";
107
107
  export { SdPermissionTable } from "./data/permission-table/sd-permission-table";
108
108
  export { SdStatePreset, type SdStatePresetDef, } from "./data/state-preset/sd-state-preset";
109
+ export { SdBaseContainer } from "./data/crud/sd-base-container";
110
+ export { SdCrudDetail } from "./data/crud/sd-crud-detail";
111
+ export { SdCrudList } from "./data/crud/sd-crud-list";
109
112
  export { SdThemeProvider } from "./features/theme/sd-theme-provider";
110
113
  export { SdThemeSelector } from "./features/theme/sd-theme-selector";
111
114
  export { SdAddressSearchModal, type Address, } from "./features/address/sd-address-search.modal";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,YAAY,GACb,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EACL,uBAAuB,EACvB,KAAK,mBAAmB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AAGjG,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,GAC7B,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,KAAK,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAG1F,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,YAAY,EACV,MAAM,EACN,UAAU,EACV,YAAY,GACb,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAGlF,OAAO,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAC;AAG1G,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EACL,mBAAmB,EACnB,KAAK,aAAa,GACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAGxF,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EACL,cAAc,EACd,KAAK,UAAU,GAChB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,eAAe,EACf,KAAK,OAAO,EACZ,KAAK,YAAY,GAClB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EACL,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AACtG,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAGjF,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAGxE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGtE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,GACvB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EACL,YAAY,EACZ,KAAK,gBAAgB,GACtB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAGzE,OAAO,EACL,aAAa,EACb,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAGhF,OAAO,EACL,aAAa,EACb,KAAK,gBAAgB,GACtB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGrE,OAAO,EACL,oBAAoB,EACpB,KAAK,OAAO,GACb,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -140,6 +140,10 @@ export { SdKanbanLane } from "./data/kanban/sd-kanban-lane";
140
140
  export { SdPermissionTable } from "./data/permission-table/sd-permission-table";
141
141
  // data/state-preset
142
142
  export { SdStatePreset, } from "./data/state-preset/sd-state-preset";
143
+ // data/crud
144
+ export { SdBaseContainer } from "./data/crud/sd-base-container";
145
+ export { SdCrudDetail } from "./data/crud/sd-crud-detail";
146
+ export { SdCrudList } from "./data/crud/sd-crud-list";
143
147
  // features/theme
144
148
  export { SdThemeProvider } from "./features/theme/sd-theme-provider";
145
149
  export { SdThemeSelector } from "./features/theme/sd-theme-selector";
package/dist/styles.css CHANGED
@@ -142,8 +142,8 @@
142
142
  --busy-overlay-bg: rgba(255, 255, 255, 0.6);
143
143
  --animation-duration: 0.2s;
144
144
  --elevation-size: 0.0833rem;
145
- --sidebar-width: 15em;
146
- --topbar-height: 3em;
145
+ --sidebar-width: 15rem;
146
+ --topbar-height: 3rem;
147
147
  --sheet-pv: var(--gap-xs);
148
148
  --sheet-ph: var(--gap-sm);
149
149
  --sheet-bg: var(--theme-gray-lightest);