@simplysm/angular 14.0.100 → 14.0.102

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 (97) hide show
  1. package/dist/controls/button/sd-additional-button.js +2 -2
  2. package/dist/controls/button/sd-anchor.js +2 -2
  3. package/dist/controls/button/sd-button.js +2 -2
  4. package/dist/controls/button/sd-modal-select-button.js +2 -2
  5. package/dist/controls/checkbox/sd-checkbox.d.ts.map +1 -1
  6. package/dist/controls/checkbox/sd-checkbox.js +3 -3
  7. package/dist/controls/checkbox/sd-switch.js +2 -2
  8. package/dist/controls/collapse/sd-collapse-icon.d.ts +1 -1
  9. package/dist/controls/collapse/sd-collapse-icon.d.ts.map +1 -1
  10. package/dist/controls/collapse/sd-collapse-icon.js +3 -1
  11. package/dist/controls/collapse/sd-collapse.d.ts +1 -1
  12. package/dist/controls/collapse/sd-collapse.d.ts.map +1 -1
  13. package/dist/controls/collapse/sd-collapse.js +3 -1
  14. package/dist/controls/dropdown/sd-dropdown-popup.js +2 -2
  15. package/dist/controls/gap/sd-gap.js +2 -2
  16. package/dist/controls/input/sd-date-range-picker.js +2 -2
  17. package/dist/controls/input/sd-range.js +2 -2
  18. package/dist/controls/input/sd-textarea.d.ts.map +1 -1
  19. package/dist/controls/input/sd-textarea.js +3 -3
  20. package/dist/controls/input/sd-textfield.d.ts +2 -0
  21. package/dist/controls/input/sd-textfield.d.ts.map +1 -1
  22. package/dist/controls/input/sd-textfield.js +44 -16
  23. package/dist/controls/list/sd-list-item.js +2 -2
  24. package/dist/controls/select/sd-select-button.js +2 -2
  25. package/dist/controls/select/sd-select-item.d.ts.map +1 -1
  26. package/dist/controls/select/sd-select-item.js +3 -3
  27. package/dist/controls/select/sd-select.d.ts.map +1 -1
  28. package/dist/controls/select/sd-select.js +3 -3
  29. package/dist/core/busy/sd-busy-container.js +2 -2
  30. package/dist/core/directive-input-signals.d.ts +0 -9
  31. package/dist/core/directive-input-signals.d.ts.map +1 -1
  32. package/dist/core/modal/sd-modal.js +2 -2
  33. package/dist/core/provideSdAngular.d.ts.map +1 -1
  34. package/dist/core/provideSdAngular.js +12 -0
  35. package/dist/core/ripple/setupRipple.js +1 -1
  36. package/dist/core/toast/sd-toast-container.js +2 -2
  37. package/dist/core/toast/sd-toast.js +2 -2
  38. package/dist/data/crud/sd-base-container.js +4 -4
  39. package/dist/data/crud/sd-crud-list.d.ts +4 -2
  40. package/dist/data/crud/sd-crud-list.d.ts.map +1 -1
  41. package/dist/data/crud/sd-crud-list.js +60 -58
  42. package/dist/data/kanban/sd-kanban-board.js +2 -2
  43. package/dist/data/kanban/sd-kanban-lane.js +2 -2
  44. package/dist/data/kanban/sd-kanban.js +2 -2
  45. package/dist/data/sheet/sd-sheet.d.ts.map +1 -1
  46. package/dist/data/sheet/sd-sheet.js +3 -3
  47. package/dist/features/editor/sd-tiptap-editor.d.ts.map +1 -1
  48. package/dist/features/editor/sd-tiptap-editor.js +3 -3
  49. package/dist/features/theme/sd-theme-provider.d.ts +1 -0
  50. package/dist/features/theme/sd-theme-provider.d.ts.map +1 -1
  51. package/dist/features/theme/sd-theme-provider.js +5 -0
  52. package/dist/features/theme/sd-theme-selector.d.ts.map +1 -1
  53. package/dist/features/theme/sd-theme-selector.js +14 -2
  54. package/dist/features/visual/sd-calendar.js +2 -2
  55. package/dist/features/visual/sd-label.js +2 -2
  56. package/dist/features/visual/sd-note.js +2 -2
  57. package/dist/features/visual/sd-progress.js +2 -2
  58. package/dist/layout/sidebar/sd-sidebar-container.js +2 -2
  59. package/dist/layout/sidebar/sd-sidebar.js +2 -2
  60. package/dist/layout/topbar/sd-topbar.js +2 -2
  61. package/package.json +5 -5
  62. package/scss/commons/_colors.scss +326 -0
  63. package/scss/commons/_mixins.scss +129 -129
  64. package/scss/commons/_theme-variables.scss +8 -1
  65. package/scss/commons/_variables.scss +37 -33
  66. package/scss/controls/_card.scss +1 -1
  67. package/scss/styles.scss +3 -0
  68. package/scss/themes/_blueprint-surfaces.scss +89 -0
  69. package/scss/themes/_variables-blueprint.scss +95 -0
  70. package/scss/themes/_variables-dark.scss +9 -22
  71. package/src/controls/button/sd-button.ts +2 -2
  72. package/src/controls/checkbox/sd-checkbox.ts +13 -11
  73. package/src/controls/collapse/sd-collapse-icon.ts +3 -1
  74. package/src/controls/collapse/sd-collapse.ts +3 -1
  75. package/src/controls/dropdown/sd-dropdown-popup.ts +2 -2
  76. package/src/controls/input/sd-textarea.ts +5 -0
  77. package/src/controls/input/sd-textfield.ts +40 -4
  78. package/src/controls/list/sd-list-item.ts +5 -5
  79. package/src/controls/select/sd-select-button.ts +1 -1
  80. package/src/controls/select/sd-select-item.ts +4 -3
  81. package/src/controls/select/sd-select.ts +2 -1
  82. package/src/core/busy/sd-busy-container.ts +3 -3
  83. package/src/core/directive-input-signals.ts +0 -9
  84. package/src/core/provideSdAngular.ts +14 -0
  85. package/src/core/ripple/setupRipple.ts +1 -1
  86. package/src/data/crud/sd-base-container.ts +3 -3
  87. package/src/data/crud/sd-crud-list.ts +24 -22
  88. package/src/data/kanban/sd-kanban-lane.ts +1 -1
  89. package/src/data/kanban/sd-kanban.ts +1 -1
  90. package/src/data/sheet/sd-sheet.ts +4 -3
  91. package/src/features/editor/sd-tiptap-editor.ts +1 -0
  92. package/src/features/theme/sd-theme-provider.ts +7 -0
  93. package/src/features/theme/sd-theme-selector.ts +4 -0
  94. package/src/layout/sidebar/sd-sidebar-container.ts +3 -3
  95. package/src/layout/sidebar/sd-sidebar.ts +5 -5
  96. package/src/layout/topbar/sd-topbar.ts +1 -1
  97. package/styles.css +487 -103
@@ -141,69 +141,69 @@ function SdCrudList_ng_template_4_Conditional_1_Template(rf, ctx) { if (rf & 1)
141
141
  i0.ɵɵadvance(2);
142
142
  i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.filterTplRef());
143
143
  } }
144
- function SdCrudList_ng_template_4_Conditional_2_Conditional_1_Conditional_3_Conditional_3_Template(rf, ctx) { if (rf & 1) {
144
+ function SdCrudList_ng_template_4_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
145
+ const _r8 = i0.ɵɵgetCurrentView();
146
+ i0.ɵɵelementStart(0, "sd-button", 15);
147
+ i0.ɵɵlistener("click", function SdCrudList_ng_template_4_Conditional_2_Conditional_1_Template_sd_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.create.emit()); });
148
+ i0.ɵɵelement(1, "ng-icon", 11);
149
+ i0.ɵɵtext(2, " \uB4F1\uB85D ");
150
+ i0.ɵɵelementEnd();
151
+ } if (rf & 2) {
152
+ const ctx_r2 = i0.ɵɵnextContext(3);
153
+ i0.ɵɵproperty("size", "sm")("theme", "link-primary");
154
+ i0.ɵɵadvance();
155
+ i0.ɵɵproperty("svg", ctx_r2.tablerCirclePlus);
156
+ } }
157
+ function SdCrudList_ng_template_4_Conditional_2_Conditional_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
145
158
  const _r10 = i0.ɵɵgetCurrentView();
146
159
  i0.ɵɵelementStart(0, "sd-button", 15);
147
- i0.ɵɵlistener("click", function SdCrudList_ng_template_4_Conditional_2_Conditional_1_Conditional_3_Conditional_3_Template_sd_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.restore.emit(ctx_r2.currSelectedItems())); });
160
+ i0.ɵɵlistener("click", function SdCrudList_ng_template_4_Conditional_2_Conditional_2_Conditional_3_Template_sd_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.restore.emit(ctx_r2.currSelectedItems())); });
148
161
  i0.ɵɵelement(1, "ng-icon", 11);
149
162
  i0.ɵɵtext(2, " \uC120\uD0DD \uBCF5\uAD6C ");
150
163
  i0.ɵɵelementEnd();
151
164
  } if (rf & 2) {
152
- const ctx_r2 = i0.ɵɵnextContext(5);
165
+ const ctx_r2 = i0.ɵɵnextContext(4);
153
166
  i0.ɵɵproperty("size", "sm")("theme", "link-warning");
154
167
  i0.ɵɵadvance();
155
168
  i0.ɵɵproperty("svg", ctx_r2.tablerRestore);
156
169
  } }
157
- function SdCrudList_ng_template_4_Conditional_2_Conditional_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
170
+ function SdCrudList_ng_template_4_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
158
171
  const _r9 = i0.ɵɵgetCurrentView();
159
172
  i0.ɵɵelementStart(0, "sd-button", 13);
160
- i0.ɵɵlistener("click", function SdCrudList_ng_template_4_Conditional_2_Conditional_1_Conditional_3_Template_sd_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.delete.emit(ctx_r2.currSelectedItems())); });
173
+ i0.ɵɵlistener("click", function SdCrudList_ng_template_4_Conditional_2_Conditional_2_Template_sd_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.delete.emit(ctx_r2.currSelectedItems())); });
161
174
  i0.ɵɵelement(1, "ng-icon", 11);
162
175
  i0.ɵɵtext(2, " \uC120\uD0DD \uC0AD\uC81C ");
163
176
  i0.ɵɵelementEnd();
164
- i0.ɵɵconditionalCreate(3, SdCrudList_ng_template_4_Conditional_2_Conditional_1_Conditional_3_Conditional_3_Template, 3, 3, "sd-button", 14);
177
+ i0.ɵɵconditionalCreate(3, SdCrudList_ng_template_4_Conditional_2_Conditional_2_Conditional_3_Template, 3, 3, "sd-button", 14);
165
178
  } if (rf & 2) {
166
- const ctx_r2 = i0.ɵɵnextContext(4);
179
+ const ctx_r2 = i0.ɵɵnextContext(3);
167
180
  i0.ɵɵproperty("size", "sm")("theme", "link-danger")("disabled", !ctx_r2.hasSelectedNotDeleted());
168
181
  i0.ɵɵadvance();
169
182
  i0.ɵɵproperty("svg", ctx_r2.tablerEraser);
170
183
  i0.ɵɵadvance(2);
171
184
  i0.ɵɵconditional(ctx_r2.hasSelectedDeleted() ? 3 : -1);
172
185
  } }
173
- function SdCrudList_ng_template_4_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
174
- const _r8 = i0.ɵɵgetCurrentView();
175
- i0.ɵɵelementStart(0, "sd-button", 15);
176
- i0.ɵɵlistener("click", function SdCrudList_ng_template_4_Conditional_2_Conditional_1_Template_sd_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.create.emit()); });
177
- i0.ɵɵelement(1, "ng-icon", 11);
178
- i0.ɵɵtext(2, " \uB4F1\uB85D ");
179
- i0.ɵɵelementEnd();
180
- i0.ɵɵconditionalCreate(3, SdCrudList_ng_template_4_Conditional_2_Conditional_1_Conditional_3_Template, 4, 5);
181
- } if (rf & 2) {
182
- const ctx_r2 = i0.ɵɵnextContext(3);
183
- i0.ɵɵproperty("size", "sm")("theme", "link-primary");
184
- i0.ɵɵadvance();
185
- i0.ɵɵproperty("svg", ctx_r2.tablerCirclePlus);
186
- i0.ɵɵadvance(2);
187
- i0.ɵɵconditional(ctx_r2.selectMode() !== "single" ? 3 : -1);
188
- } }
189
- function SdCrudList_ng_template_4_Conditional_2_Conditional_2_ng_template_0_Template(rf, ctx) { }
190
- function SdCrudList_ng_template_4_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
191
- i0.ɵɵtemplate(0, SdCrudList_ng_template_4_Conditional_2_Conditional_2_ng_template_0_Template, 0, 0, "ng-template", 9);
186
+ function SdCrudList_ng_template_4_Conditional_2_Conditional_3_ng_template_0_Template(rf, ctx) { }
187
+ function SdCrudList_ng_template_4_Conditional_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
188
+ i0.ɵɵtemplate(0, SdCrudList_ng_template_4_Conditional_2_Conditional_3_ng_template_0_Template, 0, 0, "ng-template", 9);
192
189
  } if (rf & 2) {
193
190
  const ctx_r2 = i0.ɵɵnextContext(3);
194
191
  i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.toolTplRef());
195
192
  } }
196
193
  function SdCrudList_ng_template_4_Conditional_2_Template(rf, ctx) { if (rf & 1) {
197
194
  i0.ɵɵelementStart(0, "div", 18);
198
- i0.ɵɵconditionalCreate(1, SdCrudList_ng_template_4_Conditional_2_Conditional_1_Template, 4, 4);
199
- i0.ɵɵconditionalCreate(2, SdCrudList_ng_template_4_Conditional_2_Conditional_2_Template, 1, 1, null, 9);
195
+ i0.ɵɵconditionalCreate(1, SdCrudList_ng_template_4_Conditional_2_Conditional_1_Template, 3, 3, "sd-button", 14);
196
+ i0.ɵɵconditionalCreate(2, SdCrudList_ng_template_4_Conditional_2_Conditional_2_Template, 4, 5);
197
+ i0.ɵɵconditionalCreate(3, SdCrudList_ng_template_4_Conditional_2_Conditional_3_Template, 1, 1, null, 9);
200
198
  i0.ɵɵelementEnd();
201
199
  } if (rf & 2) {
202
200
  const ctx_r2 = i0.ɵɵnextContext(2);
203
201
  i0.ɵɵadvance();
204
- i0.ɵɵconditional(!ctx_r2.readonly() ? 1 : -1);
202
+ i0.ɵɵconditional(ctx_r2.canCreate() ? 1 : -1);
205
203
  i0.ɵɵadvance();
206
- i0.ɵɵconditional(ctx_r2.toolTplRef() ? 2 : -1);
204
+ i0.ɵɵconditional(ctx_r2.canDelete() && ctx_r2.selectMode() !== "single" ? 2 : -1);
205
+ i0.ɵɵadvance();
206
+ i0.ɵɵconditional(ctx_r2.toolTplRef() ? 3 : -1);
207
207
  } }
208
208
  function SdCrudList_ng_template_4_Conditional_3_ng_template_2_Template(rf, ctx) { }
209
209
  function SdCrudList_ng_template_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
@@ -232,7 +232,7 @@ function SdCrudList_ng_template_4_Conditional_4_Template(rf, ctx) { if (rf & 1)
232
232
  function SdCrudList_ng_template_4_Template(rf, ctx) { if (rf & 1) {
233
233
  i0.ɵɵelementStart(0, "div", 16);
234
234
  i0.ɵɵconditionalCreate(1, SdCrudList_ng_template_4_Conditional_1_Template, 7, 4, "sd-form", 17);
235
- i0.ɵɵconditionalCreate(2, SdCrudList_ng_template_4_Conditional_2_Template, 3, 2, "div", 18);
235
+ i0.ɵɵconditionalCreate(2, SdCrudList_ng_template_4_Conditional_2_Template, 4, 3, "div", 18);
236
236
  i0.ɵɵconditionalCreate(3, SdCrudList_ng_template_4_Conditional_3_Template, 3, 1, "sd-form", 19)(4, SdCrudList_ng_template_4_Conditional_4_Template, 2, 1, "div", 19);
237
237
  i0.ɵɵelementEnd();
238
238
  } if (rf & 2) {
@@ -240,7 +240,7 @@ function SdCrudList_ng_template_4_Template(rf, ctx) { if (rf & 1) {
240
240
  i0.ɵɵadvance();
241
241
  i0.ɵɵconditional(ctx_r2.filterTplRef() ? 1 : -1);
242
242
  i0.ɵɵadvance();
243
- i0.ɵɵconditional(!ctx_r2.readonly() || ctx_r2.toolTplRef() ? 2 : -1);
243
+ i0.ɵɵconditional(ctx_r2.canCreate() || ctx_r2.canDelete() || ctx_r2.toolTplRef() ? 2 : -1);
244
244
  i0.ɵɵadvance();
245
245
  i0.ɵɵconditional(ctx_r2.inlineEditEnabled() ? 3 : 4);
246
246
  } }
@@ -290,11 +290,11 @@ function SdCrudList_ng_template_6_Template(rf, ctx) { if (rf & 1) {
290
290
  i0.ɵɵtwoWayProperty("currentPage", ctx_r2.currentPage);
291
291
  i0.ɵɵproperty("totalPageCount", ctx_r2.totalPageCount())("itemsPerPage", ctx_r2.itemsPerPage())("visiblePageCount", ctx_r2.visiblePageCount());
292
292
  i0.ɵɵtwoWayProperty("sorts", ctx_r2.sorts);
293
- i0.ɵɵproperty("useAutoSort", ctx_r2.totalPageCount() === 0)("selectMode", ctx_r2.selectMode() ?? (ctx_r2.readonly() ? undefined : "multi"));
293
+ i0.ɵɵproperty("useAutoSort", ctx_r2.totalPageCount() === 0)("selectMode", ctx_r2.selectMode() ?? (ctx_r2.canDelete() ? "multi" : undefined));
294
294
  i0.ɵɵtwoWayProperty("selectedKeys", ctx_r2.selectedKeys);
295
295
  i0.ɵɵproperty("getItemSelectableFn", ctx_r2.getItemSelectableFn())("trackByFn", ctx_r2.trackByFn())("getItemCellStyleFn", ctx_r2.getItemCellStyleFn)("autoSelect", ctx_r2.selectMode() === "single" ? "click" : undefined)("columnControlsInput", ctx_r2.columnControls());
296
296
  i0.ɵɵadvance();
297
- i0.ɵɵconditional(ctx_r2.inlineEditEnabled() ? 1 : -1);
297
+ i0.ɵɵconditional(ctx_r2.canDelete() && ctx_r2.inlineEdit() ? 1 : -1);
298
298
  } }
299
299
  export class SdCrudList {
300
300
  _sdActivatedModal = inject(SdActivatedModalProvider, { optional: true });
@@ -302,7 +302,9 @@ export class SdCrudList {
302
302
  initialized = input(false, ...(ngDevMode ? [{ debugName: "initialized" }] : /* istanbul ignore next */ []));
303
303
  busyCount = model(0, ...(ngDevMode ? [{ debugName: "busyCount" }] : /* istanbul ignore next */ []));
304
304
  restricted = input(false, ...(ngDevMode ? [{ debugName: "restricted" }] : /* istanbul ignore next */ []));
305
- readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
305
+ canCreate = input(true, ...(ngDevMode ? [{ debugName: "canCreate" }] : /* istanbul ignore next */ []));
306
+ canEdit = input(true, ...(ngDevMode ? [{ debugName: "canEdit" }] : /* istanbul ignore next */ []));
307
+ canDelete = input(true, ...(ngDevMode ? [{ debugName: "canDelete" }] : /* istanbul ignore next */ []));
306
308
  inlineEdit = input(true, ...(ngDevMode ? [{ debugName: "inlineEdit" }] : /* istanbul ignore next */ []));
307
309
  viewType = input.required(...(ngDevMode ? [{ debugName: "viewType" }] : /* istanbul ignore next */ []));
308
310
  selectMode = input(...(ngDevMode ? [undefined, { debugName: "selectMode" }] : /* istanbul ignore next */ []));
@@ -333,7 +335,7 @@ export class SdCrudList {
333
335
  toolTplRef = contentChild("toolTpl", ...(ngDevMode ? [{ debugName: "toolTplRef" }] : /* istanbul ignore next */ []));
334
336
  bottomCommandTplRef = contentChild("bottomCommandTpl", ...(ngDevMode ? [{ debugName: "bottomCommandTplRef" }] : /* istanbul ignore next */ []));
335
337
  columnControls = contentChildren(SdSheetColumn, ...(ngDevMode ? [{ debugName: "columnControls" }] : /* istanbul ignore next */ []));
336
- inlineEditEnabled = computed(() => !this.readonly() && this.inlineEdit(), ...(ngDevMode ? [{ debugName: "inlineEditEnabled" }] : /* istanbul ignore next */ []));
338
+ inlineEditEnabled = computed(() => this.canEdit() && this.inlineEdit(), ...(ngDevMode ? [{ debugName: "inlineEditEnabled" }] : /* istanbul ignore next */ []));
337
339
  hasSelectedDeleted = computed(() => this.currSelectedItems().some((it) => this.isDeleted(it)), ...(ngDevMode ? [{ debugName: "hasSelectedDeleted" }] : /* istanbul ignore next */ []));
338
340
  hasSelectedNotDeleted = computed(() => this.currSelectedItems().some((it) => !this.isDeleted(it)), ...(ngDevMode ? [{ debugName: "hasSelectedNotDeleted" }] : /* istanbul ignore next */ []));
339
341
  getItemCellStyleFn = (item) => this.isDeleted(item) ? "text-decoration: line-through;" : undefined;
@@ -379,7 +381,7 @@ export class SdCrudList {
379
381
  i0.ɵɵqueryAdvance();
380
382
  } }, hostBindings: function SdCrudList_HostBindings(rf, ctx) { if (rf & 1) {
381
383
  i0.ɵɵlistener("sdSaveCommand", function SdCrudList_sdSaveCommand_HostBindingHandler() { return ctx.onSaveButtonClick(); });
382
- } }, inputs: { ready: [1, "ready"], initialized: [1, "initialized"], busyCount: [1, "busyCount"], restricted: [1, "restricted"], readonly: [1, "readonly"], inlineEdit: [1, "inlineEdit"], viewType: [1, "viewType"], selectMode: [1, "selectMode"], key: [1, "key"], items: [1, "items"], selectedKeys: [1, "selectedKeys"], currDeletedItems: [1, "currDeletedItems"], currentPage: [1, "currentPage"], totalPageCount: [1, "totalPageCount"], itemsPerPage: [1, "itemsPerPage"], visiblePageCount: [1, "visiblePageCount"], sorts: [1, "sorts"], trackByFn: [1, "trackByFn"], getItemSelectableFn: [1, "getItemSelectableFn"] }, outputs: { ready: "readyChange", busyCount: "busyCountChange", filterSubmit: "filterSubmit", submit: "submit", create: "create", delete: "delete", restore: "restore", selectedKeys: "selectedKeysChange", currentPage: "currentPageChange", sorts: "sortsChange" }, features: [i0.ɵɵHostDirectivesFeature([{ directive: i1.SdCommandDirective, outputs: ["sdSaveCommand", "sdSaveCommand"] }])], decls: 8, vars: 7, consts: [["contentTpl", ""], ["sheet", ""], ["topbarTpl", ""], ["commandTpl", ""], ["bottomCommandTpl", ""], ["formCtrl", ""], ["headerTpl", ""], [3, "readyChange", "busyCountChange", "ready", "initialized", "busyCount", "restricted", "viewType"], [3, "theme"], [3, "ngTemplateOutlet"], [3, "click", "theme"], [3, "svg"], [1, "flex-fill", "flex-row", "main-align-start", "gap-sm"], [3, "click", "size", "theme", "disabled"], [3, "size", "theme"], [3, "click", "size", "theme"], [1, "flex-column", "fill"], [1, "block", "p-default"], [1, "flex-row", "gap-sm", "p-xs-default"], [1, "flex-fill", "p-default", "pt-0"], [1, "block", "p-default", 3, "formSubmit"], [1, "form-box-inline"], [3, "type", "theme"], [1, "flex-fill", "p-default", "pt-0", 3, "formSubmit"], [3, "currentPageChange", "sortsChange", "selectedKeysChange", "key", "items", "currentPage", "totalPageCount", "itemsPerPage", "visiblePageCount", "sorts", "useAutoSort", "selectMode", "selectedKeys", "getItemSelectableFn", "trackByFn", "getItemCellStyleFn", "autoSelect", "columnControlsInput"], [3, "fixed", "key", "disableResizing", "disableSorting"], [3, "cell"], [1, "p-xs-sm", "tx-center"], [1, "p-xs-sm"]], template: function SdCrudList_Template(rf, ctx) { if (rf & 1) {
384
+ } }, inputs: { ready: [1, "ready"], initialized: [1, "initialized"], busyCount: [1, "busyCount"], restricted: [1, "restricted"], canCreate: [1, "canCreate"], canEdit: [1, "canEdit"], canDelete: [1, "canDelete"], inlineEdit: [1, "inlineEdit"], viewType: [1, "viewType"], selectMode: [1, "selectMode"], key: [1, "key"], items: [1, "items"], selectedKeys: [1, "selectedKeys"], currDeletedItems: [1, "currDeletedItems"], currentPage: [1, "currentPage"], totalPageCount: [1, "totalPageCount"], itemsPerPage: [1, "itemsPerPage"], visiblePageCount: [1, "visiblePageCount"], sorts: [1, "sorts"], trackByFn: [1, "trackByFn"], getItemSelectableFn: [1, "getItemSelectableFn"] }, outputs: { ready: "readyChange", busyCount: "busyCountChange", filterSubmit: "filterSubmit", submit: "submit", create: "create", delete: "delete", restore: "restore", selectedKeys: "selectedKeysChange", currentPage: "currentPageChange", sorts: "sortsChange" }, features: [i0.ɵɵHostDirectivesFeature([{ directive: i1.SdCommandDirective, outputs: ["sdSaveCommand", "sdSaveCommand"] }])], decls: 8, vars: 7, consts: [["contentTpl", ""], ["sheet", ""], ["topbarTpl", ""], ["commandTpl", ""], ["bottomCommandTpl", ""], ["formCtrl", ""], ["headerTpl", ""], [3, "readyChange", "busyCountChange", "ready", "initialized", "busyCount", "restricted", "viewType"], [3, "theme"], [3, "ngTemplateOutlet"], [3, "click", "theme"], [3, "svg"], [1, "flex-fill", "flex-row", "main-align-start", "gap-sm"], [3, "click", "size", "theme", "disabled"], [3, "size", "theme"], [3, "click", "size", "theme"], [1, "flex-column", "fill"], [1, "block", "p-default"], [1, "flex-row", "gap-sm", "p-xs-default"], [1, "flex-fill", "p-default", "pt-0"], [1, "block", "p-default", 3, "formSubmit"], [1, "form-box-inline"], [3, "type", "theme"], [1, "flex-fill", "p-default", "pt-0", 3, "formSubmit"], [3, "currentPageChange", "sortsChange", "selectedKeysChange", "key", "items", "currentPage", "totalPageCount", "itemsPerPage", "visiblePageCount", "sorts", "useAutoSort", "selectMode", "selectedKeys", "getItemSelectableFn", "trackByFn", "getItemCellStyleFn", "autoSelect", "columnControlsInput"], [3, "fixed", "key", "disableResizing", "disableSorting"], [3, "cell"], [1, "p-xs-sm", "tx-center"], [1, "p-xs-sm"]], template: function SdCrudList_Template(rf, ctx) { if (rf & 1) {
383
385
  const _r1 = i0.ɵɵgetCurrentView();
384
386
  i0.ɵɵelementStart(0, "sd-base-container", 7);
385
387
  i0.ɵɵtwoWayListener("readyChange", function SdCrudList_Template_sd_base_container_readyChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.ready, $event) || (ctx.ready = $event); return i0.ɵɵresetView($event); })("busyCountChange", function SdCrudList_Template_sd_base_container_busyCountChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.busyCount, $event) || (ctx.busyCount = $event); return i0.ɵɵresetView($event); });
@@ -507,33 +509,33 @@ export class SdCrudList {
507
509
  </sd-form>
508
510
  }
509
511
 
510
- @if (!readonly() || toolTplRef()) {
512
+ @if (canCreate() || canDelete() || toolTplRef()) {
511
513
  <div class="flex-row gap-sm p-xs-default">
512
- @if (!readonly()) {
514
+ @if (canCreate()) {
513
515
  <sd-button [size]="'sm'" [theme]="'link-primary'" (click)="create.emit()">
514
516
  <ng-icon [svg]="tablerCirclePlus" />
515
517
  등록
516
518
  </sd-button>
517
- @if (selectMode() !== "single") {
519
+ }
520
+ @if (canDelete() && selectMode() !== "single") {
521
+ <sd-button
522
+ [size]="'sm'"
523
+ [theme]="'link-danger'"
524
+ (click)="delete.emit(currSelectedItems())"
525
+ [disabled]="!hasSelectedNotDeleted()"
526
+ >
527
+ <ng-icon [svg]="tablerEraser" />
528
+ 선택 삭제
529
+ </sd-button>
530
+ @if (hasSelectedDeleted()) {
518
531
  <sd-button
519
532
  [size]="'sm'"
520
- [theme]="'link-danger'"
521
- (click)="delete.emit(currSelectedItems())"
522
- [disabled]="!hasSelectedNotDeleted()"
533
+ [theme]="'link-warning'"
534
+ (click)="restore.emit(currSelectedItems())"
523
535
  >
524
- <ng-icon [svg]="tablerEraser" />
525
- 선택 삭제
536
+ <ng-icon [svg]="tablerRestore" />
537
+ 선택 복구
526
538
  </sd-button>
527
- @if (hasSelectedDeleted()) {
528
- <sd-button
529
- [size]="'sm'"
530
- [theme]="'link-warning'"
531
- (click)="restore.emit(currSelectedItems())"
532
- >
533
- <ng-icon [svg]="tablerRestore" />
534
- 선택 복구
535
- </sd-button>
536
- }
537
539
  }
538
540
  }
539
541
 
@@ -566,7 +568,7 @@ export class SdCrudList {
566
568
  [visiblePageCount]="visiblePageCount()"
567
569
  [(sorts)]="sorts"
568
570
  [useAutoSort]="totalPageCount() === 0"
569
- [selectMode]="selectMode() ?? (readonly() ? undefined : 'multi')"
571
+ [selectMode]="selectMode() ?? (canDelete() ? 'multi' : undefined)"
570
572
  [(selectedKeys)]="selectedKeys"
571
573
  [getItemSelectableFn]="getItemSelectableFn()"
572
574
  [trackByFn]="trackByFn()"
@@ -575,7 +577,7 @@ export class SdCrudList {
575
577
  [columnControlsInput]="columnControls()"
576
578
  (selectedKeysChange)="onSelectedKeysChange()"
577
579
  >
578
- @if (inlineEditEnabled()) {
580
+ @if (canDelete() && inlineEdit()) {
579
581
  <sd-sheet-column
580
582
  [fixed]="true"
581
583
  [key]="'deleteButton'"
@@ -603,5 +605,5 @@ export class SdCrudList {
603
605
  </ng-template>
604
606
  `,
605
607
  }]
606
- }], null, { ready: [{ type: i0.Input, args: [{ isSignal: true, alias: "ready", required: false }] }, { type: i0.Output, args: ["readyChange"] }], initialized: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialized", required: false }] }], busyCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "busyCount", required: false }] }, { type: i0.Output, args: ["busyCountChange"] }], restricted: [{ type: i0.Input, args: [{ isSignal: true, alias: "restricted", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], inlineEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineEdit", required: false }] }], viewType: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewType", required: true }] }], selectMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMode", required: false }] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], formCtrl: [{ type: i0.ViewChild, args: ["formCtrl", { isSignal: true }] }], filterSubmit: [{ type: i0.Output, args: ["filterSubmit"] }], submit: [{ type: i0.Output, args: ["submit"] }], create: [{ type: i0.Output, args: ["create"] }], delete: [{ type: i0.Output, args: ["delete"] }], restore: [{ type: i0.Output, args: ["restore"] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], selectedKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedKeys", required: false }] }, { type: i0.Output, args: ["selectedKeysChange"] }], currDeletedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "currDeletedItems", required: false }] }], currentPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPage", required: false }] }, { type: i0.Output, args: ["currentPageChange"] }], totalPageCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalPageCount", required: false }] }], itemsPerPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemsPerPage", required: false }] }], visiblePageCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "visiblePageCount", required: false }] }], sorts: [{ type: i0.Input, args: [{ isSignal: true, alias: "sorts", required: false }] }, { type: i0.Output, args: ["sortsChange"] }], trackByFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "trackByFn", required: true }] }], getItemSelectableFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getItemSelectableFn", required: false }] }], commandTplRef: [{ type: i0.ContentChild, args: ["commandTpl", { isSignal: true }] }], filterTplRef: [{ type: i0.ContentChild, args: ["filterTpl", { isSignal: true }] }], toolTplRef: [{ type: i0.ContentChild, args: ["toolTpl", { isSignal: true }] }], bottomCommandTplRef: [{ type: i0.ContentChild, args: ["bottomCommandTpl", { isSignal: true }] }], columnControls: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SdSheetColumn), { isSignal: true }] }] }); })();
608
+ }], null, { ready: [{ type: i0.Input, args: [{ isSignal: true, alias: "ready", required: false }] }, { type: i0.Output, args: ["readyChange"] }], initialized: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialized", required: false }] }], busyCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "busyCount", required: false }] }, { type: i0.Output, args: ["busyCountChange"] }], restricted: [{ type: i0.Input, args: [{ isSignal: true, alias: "restricted", required: false }] }], canCreate: [{ type: i0.Input, args: [{ isSignal: true, alias: "canCreate", required: false }] }], canEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], canDelete: [{ type: i0.Input, args: [{ isSignal: true, alias: "canDelete", required: false }] }], inlineEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineEdit", required: false }] }], viewType: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewType", required: true }] }], selectMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMode", required: false }] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], formCtrl: [{ type: i0.ViewChild, args: ["formCtrl", { isSignal: true }] }], filterSubmit: [{ type: i0.Output, args: ["filterSubmit"] }], submit: [{ type: i0.Output, args: ["submit"] }], create: [{ type: i0.Output, args: ["create"] }], delete: [{ type: i0.Output, args: ["delete"] }], restore: [{ type: i0.Output, args: ["restore"] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], selectedKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedKeys", required: false }] }, { type: i0.Output, args: ["selectedKeysChange"] }], currDeletedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "currDeletedItems", required: false }] }], currentPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPage", required: false }] }, { type: i0.Output, args: ["currentPageChange"] }], totalPageCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalPageCount", required: false }] }], itemsPerPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemsPerPage", required: false }] }], visiblePageCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "visiblePageCount", required: false }] }], sorts: [{ type: i0.Input, args: [{ isSignal: true, alias: "sorts", required: false }] }, { type: i0.Output, args: ["sortsChange"] }], trackByFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "trackByFn", required: true }] }], getItemSelectableFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getItemSelectableFn", required: false }] }], commandTplRef: [{ type: i0.ContentChild, args: ["commandTpl", { isSignal: true }] }], filterTplRef: [{ type: i0.ContentChild, args: ["filterTpl", { isSignal: true }] }], toolTplRef: [{ type: i0.ContentChild, args: ["toolTpl", { isSignal: true }] }], bottomCommandTplRef: [{ type: i0.ContentChild, args: ["bottomCommandTpl", { isSignal: true }] }], columnControls: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SdSheetColumn), { isSignal: true }] }] }); })();
607
609
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdCrudList, { className: "SdCrudList", filePath: "packages/angular/src/data/crud/sd-crud-list.ts", lineNumber: 230 }); })();
@@ -24,7 +24,7 @@ export class SdKanbanBoard {
24
24
  } }, inputs: { selectedValues: [1, "selectedValues"] }, outputs: { selectedValues: "selectedValuesChange", drop: "drop" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function SdKanbanBoard_Template(rf, ctx) { if (rf & 1) {
25
25
  i0.ɵɵprojectionDef();
26
26
  i0.ɵɵprojection(0);
27
- } }, styles: ["sd-kanban-board {\n display: inline-flex;\n flex-wrap: nowrap;\n white-space: nowrap;\n height: 100%;\n flex-direction: row;\n gap: var(--gap-lg);\n}\n@supports not (appearance: auto) {\n sd-kanban-board {\n gap: 0;\n }\n sd-kanban-board > * + * {\n margin-left: var(--gap-lg);\n }\n sd-kanban-board.gap-xxs {\n gap: 0;\n }\n sd-kanban-board.gap-xxs > * + * {\n margin-left: var(--gap-xxs);\n }\n sd-kanban-board.gap-xs {\n gap: 0;\n }\n sd-kanban-board.gap-xs > * + * {\n margin-left: var(--gap-xs);\n }\n sd-kanban-board.gap-sm {\n gap: 0;\n }\n sd-kanban-board.gap-sm > * + * {\n margin-left: var(--gap-sm);\n }\n sd-kanban-board.gap-default {\n gap: 0;\n }\n sd-kanban-board.gap-default > * + * {\n margin-left: var(--gap-default);\n }\n sd-kanban-board.gap-lg {\n gap: 0;\n }\n sd-kanban-board.gap-lg > * + * {\n margin-left: var(--gap-lg);\n }\n sd-kanban-board.gap-xl {\n gap: 0;\n }\n sd-kanban-board.gap-xl > * + * {\n margin-left: var(--gap-xl);\n }\n sd-kanban-board.gap-xxl {\n gap: 0;\n }\n sd-kanban-board.gap-xxl > * + * {\n margin-left: var(--gap-xxl);\n }\n sd-kanban-board.gap-0 {\n gap: 0;\n }\n sd-kanban-board.gap-0 > * + * {\n margin-left: var(--gap-0);\n }\n sd-kanban-board.gap-auto {\n gap: 0;\n }\n sd-kanban-board.gap-auto > * + * {\n margin-left: var(--gap-auto);\n }\n}"], encapsulation: 2, changeDetection: 0 });
27
+ } }, styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-kanban-board {\n display: inline-flex;\n flex-wrap: nowrap;\n white-space: nowrap;\n height: 100%;\n flex-direction: row;\n gap: var(--gap-lg);\n}\n@supports not (appearance: auto) {\n sd-kanban-board {\n gap: 0;\n }\n sd-kanban-board > * + * {\n margin-left: var(--gap-lg);\n }\n sd-kanban-board.gap-xxs {\n gap: 0;\n }\n sd-kanban-board.gap-xxs > * + * {\n margin-left: var(--gap-xxs);\n }\n sd-kanban-board.gap-xs {\n gap: 0;\n }\n sd-kanban-board.gap-xs > * + * {\n margin-left: var(--gap-xs);\n }\n sd-kanban-board.gap-sm {\n gap: 0;\n }\n sd-kanban-board.gap-sm > * + * {\n margin-left: var(--gap-sm);\n }\n sd-kanban-board.gap-default {\n gap: 0;\n }\n sd-kanban-board.gap-default > * + * {\n margin-left: var(--gap-default);\n }\n sd-kanban-board.gap-lg {\n gap: 0;\n }\n sd-kanban-board.gap-lg > * + * {\n margin-left: var(--gap-lg);\n }\n sd-kanban-board.gap-xl {\n gap: 0;\n }\n sd-kanban-board.gap-xl > * + * {\n margin-left: var(--gap-xl);\n }\n sd-kanban-board.gap-xxl {\n gap: 0;\n }\n sd-kanban-board.gap-xxl > * + * {\n margin-left: var(--gap-xxl);\n }\n sd-kanban-board.gap-0 {\n gap: 0;\n }\n sd-kanban-board.gap-0 > * + * {\n margin-left: var(--gap-0);\n }\n sd-kanban-board.gap-auto {\n gap: 0;\n }\n sd-kanban-board.gap-auto > * + * {\n margin-left: var(--gap-auto);\n }\n}"], encapsulation: 2, changeDetection: 0 });
28
28
  }
29
29
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdKanbanBoard, [{
30
30
  type: Component,
@@ -32,6 +32,6 @@ export class SdKanbanBoard {
32
32
  "(document:dragend)": "onDocumentDragEnd()",
33
33
  }, template: `
34
34
  <ng-content></ng-content>
35
- `, styles: ["sd-kanban-board {\n display: inline-flex;\n flex-wrap: nowrap;\n white-space: nowrap;\n height: 100%;\n flex-direction: row;\n gap: var(--gap-lg);\n}\n@supports not (appearance: auto) {\n sd-kanban-board {\n gap: 0;\n }\n sd-kanban-board > * + * {\n margin-left: var(--gap-lg);\n }\n sd-kanban-board.gap-xxs {\n gap: 0;\n }\n sd-kanban-board.gap-xxs > * + * {\n margin-left: var(--gap-xxs);\n }\n sd-kanban-board.gap-xs {\n gap: 0;\n }\n sd-kanban-board.gap-xs > * + * {\n margin-left: var(--gap-xs);\n }\n sd-kanban-board.gap-sm {\n gap: 0;\n }\n sd-kanban-board.gap-sm > * + * {\n margin-left: var(--gap-sm);\n }\n sd-kanban-board.gap-default {\n gap: 0;\n }\n sd-kanban-board.gap-default > * + * {\n margin-left: var(--gap-default);\n }\n sd-kanban-board.gap-lg {\n gap: 0;\n }\n sd-kanban-board.gap-lg > * + * {\n margin-left: var(--gap-lg);\n }\n sd-kanban-board.gap-xl {\n gap: 0;\n }\n sd-kanban-board.gap-xl > * + * {\n margin-left: var(--gap-xl);\n }\n sd-kanban-board.gap-xxl {\n gap: 0;\n }\n sd-kanban-board.gap-xxl > * + * {\n margin-left: var(--gap-xxl);\n }\n sd-kanban-board.gap-0 {\n gap: 0;\n }\n sd-kanban-board.gap-0 > * + * {\n margin-left: var(--gap-0);\n }\n sd-kanban-board.gap-auto {\n gap: 0;\n }\n sd-kanban-board.gap-auto > * + * {\n margin-left: var(--gap-auto);\n }\n}"] }]
35
+ `, styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-kanban-board {\n display: inline-flex;\n flex-wrap: nowrap;\n white-space: nowrap;\n height: 100%;\n flex-direction: row;\n gap: var(--gap-lg);\n}\n@supports not (appearance: auto) {\n sd-kanban-board {\n gap: 0;\n }\n sd-kanban-board > * + * {\n margin-left: var(--gap-lg);\n }\n sd-kanban-board.gap-xxs {\n gap: 0;\n }\n sd-kanban-board.gap-xxs > * + * {\n margin-left: var(--gap-xxs);\n }\n sd-kanban-board.gap-xs {\n gap: 0;\n }\n sd-kanban-board.gap-xs > * + * {\n margin-left: var(--gap-xs);\n }\n sd-kanban-board.gap-sm {\n gap: 0;\n }\n sd-kanban-board.gap-sm > * + * {\n margin-left: var(--gap-sm);\n }\n sd-kanban-board.gap-default {\n gap: 0;\n }\n sd-kanban-board.gap-default > * + * {\n margin-left: var(--gap-default);\n }\n sd-kanban-board.gap-lg {\n gap: 0;\n }\n sd-kanban-board.gap-lg > * + * {\n margin-left: var(--gap-lg);\n }\n sd-kanban-board.gap-xl {\n gap: 0;\n }\n sd-kanban-board.gap-xl > * + * {\n margin-left: var(--gap-xl);\n }\n sd-kanban-board.gap-xxl {\n gap: 0;\n }\n sd-kanban-board.gap-xxl > * + * {\n margin-left: var(--gap-xxl);\n }\n sd-kanban-board.gap-0 {\n gap: 0;\n }\n sd-kanban-board.gap-0 > * + * {\n margin-left: var(--gap-0);\n }\n sd-kanban-board.gap-auto {\n gap: 0;\n }\n sd-kanban-board.gap-auto > * + * {\n margin-left: var(--gap-auto);\n }\n}"] }]
36
36
  }], null, { selectedValues: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedValues", required: false }] }, { type: i0.Output, args: ["selectedValuesChange"] }], drop: [{ type: i0.Output, args: ["drop"] }] }); })();
37
37
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdKanbanBoard, { className: "SdKanbanBoard", filePath: "packages/angular/src/data/kanban/sd-kanban-board.ts", lineNumber: 36 }); })();
@@ -169,7 +169,7 @@ export class SdKanbanLane {
169
169
  i0.ɵɵconditional(!ctx.collapse() ? 4 : -1);
170
170
  i0.ɵɵadvance();
171
171
  i0.ɵɵstyleProp("height", ctx.dragOvered() ? (((tmp_5_0 = ctx.dragKanban()) == null ? null : tmp_5_0.heightOnDrag()) ?? 0) + "px" : "0px")("display", ctx.dragKanban() ? "block" : "none");
172
- } }, dependencies: [SdBusyContainer, SdCheckbox, NgTemplateOutlet, SdAnchor, NgIcon], styles: ["sd-kanban-lane > .flex-fill > sd-busy-container {\n padding: var(--gap-xl) var(--gap-lg);\n background: var(--theme-gray-lightest);\n border-radius: var(--border-radius-default);\n height: 100%;\n}\nsd-kanban-lane > .flex-fill > sd-busy-container > ._drop-position {\n pointer-events: none;\n border-radius: var(--border-radius-default);\n background: var(--trans-light);\n height: 0;\n margin-bottom: 0;\n visibility: hidden;\n transition: 0.1s linear;\n transition-property: height, margin-bottom, visibility;\n}\nsd-kanban-lane[data-sd-drag-over=true] > .flex-fill > sd-busy-container > ._drop-position {\n margin-bottom: var(--gap-lg);\n visibility: visible;\n}"], encapsulation: 2, changeDetection: 0 });
172
+ } }, dependencies: [SdBusyContainer, SdCheckbox, NgTemplateOutlet, SdAnchor, NgIcon], styles: ["sd-kanban-lane > .flex-fill > sd-busy-container {\n padding: var(--gap-xl) var(--gap-lg);\n background: var(--theme-gray-lightest);\n border-radius: var(--border-radius-default);\n height: 100%;\n}\nsd-kanban-lane > .flex-fill > sd-busy-container > ._drop-position {\n pointer-events: none;\n border-radius: var(--border-radius-default);\n background: var(--trans-light);\n height: 0;\n margin-bottom: 0;\n visibility: hidden;\n transition: var(--animation-duration) linear;\n transition-property: height, margin-bottom, visibility;\n}\nsd-kanban-lane[data-sd-drag-over=true] > .flex-fill > sd-busy-container > ._drop-position {\n margin-bottom: var(--gap-lg);\n visibility: visible;\n}"], encapsulation: 2, changeDetection: 0 });
173
173
  }
174
174
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdKanbanLane, [{
175
175
  type: Component,
@@ -224,6 +224,6 @@ export class SdKanbanLane {
224
224
  ></div>
225
225
  </sd-busy-container>
226
226
  </div>
227
- `, styles: ["sd-kanban-lane > .flex-fill > sd-busy-container {\n padding: var(--gap-xl) var(--gap-lg);\n background: var(--theme-gray-lightest);\n border-radius: var(--border-radius-default);\n height: 100%;\n}\nsd-kanban-lane > .flex-fill > sd-busy-container > ._drop-position {\n pointer-events: none;\n border-radius: var(--border-radius-default);\n background: var(--trans-light);\n height: 0;\n margin-bottom: 0;\n visibility: hidden;\n transition: 0.1s linear;\n transition-property: height, margin-bottom, visibility;\n}\nsd-kanban-lane[data-sd-drag-over=true] > .flex-fill > sd-busy-container > ._drop-position {\n margin-bottom: var(--gap-lg);\n visibility: visible;\n}"] }]
227
+ `, styles: ["sd-kanban-lane > .flex-fill > sd-busy-container {\n padding: var(--gap-xl) var(--gap-lg);\n background: var(--theme-gray-lightest);\n border-radius: var(--border-radius-default);\n height: 100%;\n}\nsd-kanban-lane > .flex-fill > sd-busy-container > ._drop-position {\n pointer-events: none;\n border-radius: var(--border-radius-default);\n background: var(--trans-light);\n height: 0;\n margin-bottom: 0;\n visibility: hidden;\n transition: var(--animation-duration) linear;\n transition-property: height, margin-bottom, visibility;\n}\nsd-kanban-lane[data-sd-drag-over=true] > .flex-fill > sd-busy-container > ._drop-position {\n margin-bottom: var(--gap-lg);\n visibility: visible;\n}"] }]
228
228
  }], null, { busy: [{ type: i0.Input, args: [{ isSignal: true, alias: "busy", required: false }] }], useCollapse: [{ type: i0.Input, args: [{ isSignal: true, alias: "useCollapse", required: false }] }], collapse: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapse", required: false }] }, { type: i0.Output, args: ["collapseChange"] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], kanbanControls: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SdKanban), { ...{ descendants: true }, isSignal: true }] }], toolTplRef: [{ type: i0.ContentChild, args: ["toolTpl", { ...{ read: TemplateRef }, isSignal: true }] }], titleTplRef: [{ type: i0.ContentChild, args: ["titleTpl", { ...{ read: TemplateRef }, isSignal: true }] }] }); })();
229
229
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdKanbanLane, { className: "SdKanbanLane", filePath: "packages/angular/src/data/kanban/sd-kanban-lane.ts", lineNumber: 121 }); })();
@@ -110,7 +110,7 @@ export class SdKanban {
110
110
  i0.ɵɵadvance();
111
111
  i0.ɵɵclassMap(ctx.contentClass());
112
112
  i0.ɵɵproperty("draggable", ctx.draggable());
113
- } }, dependencies: [SdResizeDirective], styles: ["sd-kanban {\n position: relative;\n display: block;\n}\nsd-kanban[data-sd-dragging-this=true] {\n display: none;\n}\nsd-kanban > ._drag-position {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n}\nsd-kanban[data-sd-dragging=true] > ._drag-position {\n pointer-events: auto;\n}\nsd-kanban[data-sd-dragging=true] > .card {\n pointer-events: none;\n cursor: pointer;\n}\nsd-kanban > ._drop-position {\n border-radius: var(--border-radius-default);\n background: var(--trans-light);\n height: 0;\n margin-bottom: 0;\n visibility: hidden;\n transition: 0.1s linear;\n transition-property: height, margin-bottom, visibility;\n}\nsd-kanban[data-sd-drag-over=true] > ._drop-position {\n margin-bottom: var(--gap-lg);\n visibility: visible;\n}\nsd-kanban > .card {\n white-space: normal;\n user-select: none;\n margin-bottom: var(--gap-lg);\n}"], encapsulation: 2, changeDetection: 0 });
113
+ } }, dependencies: [SdResizeDirective], styles: ["sd-kanban {\n position: relative;\n display: block;\n}\nsd-kanban[data-sd-dragging-this=true] {\n display: none;\n}\nsd-kanban > ._drag-position {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n}\nsd-kanban[data-sd-dragging=true] > ._drag-position {\n pointer-events: auto;\n}\nsd-kanban[data-sd-dragging=true] > .card {\n pointer-events: none;\n cursor: pointer;\n}\nsd-kanban > ._drop-position {\n border-radius: var(--border-radius-default);\n background: var(--trans-light);\n height: 0;\n margin-bottom: 0;\n visibility: hidden;\n transition: var(--animation-duration) linear;\n transition-property: height, margin-bottom, visibility;\n}\nsd-kanban[data-sd-drag-over=true] > ._drop-position {\n margin-bottom: var(--gap-lg);\n visibility: visible;\n}\nsd-kanban > .card {\n white-space: normal;\n user-select: none;\n margin-bottom: var(--gap-lg);\n}"], encapsulation: 2, changeDetection: 0 });
114
114
  }
115
115
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdKanban, [{
116
116
  type: Component,
@@ -142,6 +142,6 @@ export class SdKanban {
142
142
  >
143
143
  <ng-content></ng-content>
144
144
  </div>
145
- `, styles: ["sd-kanban {\n position: relative;\n display: block;\n}\nsd-kanban[data-sd-dragging-this=true] {\n display: none;\n}\nsd-kanban > ._drag-position {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n}\nsd-kanban[data-sd-dragging=true] > ._drag-position {\n pointer-events: auto;\n}\nsd-kanban[data-sd-dragging=true] > .card {\n pointer-events: none;\n cursor: pointer;\n}\nsd-kanban > ._drop-position {\n border-radius: var(--border-radius-default);\n background: var(--trans-light);\n height: 0;\n margin-bottom: 0;\n visibility: hidden;\n transition: 0.1s linear;\n transition-property: height, margin-bottom, visibility;\n}\nsd-kanban[data-sd-drag-over=true] > ._drop-position {\n margin-bottom: var(--gap-lg);\n visibility: visible;\n}\nsd-kanban > .card {\n white-space: normal;\n user-select: none;\n margin-bottom: var(--gap-lg);\n}"] }]
145
+ `, styles: ["sd-kanban {\n position: relative;\n display: block;\n}\nsd-kanban[data-sd-dragging-this=true] {\n display: none;\n}\nsd-kanban > ._drag-position {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n}\nsd-kanban[data-sd-dragging=true] > ._drag-position {\n pointer-events: auto;\n}\nsd-kanban[data-sd-dragging=true] > .card {\n pointer-events: none;\n cursor: pointer;\n}\nsd-kanban > ._drop-position {\n border-radius: var(--border-radius-default);\n background: var(--trans-light);\n height: 0;\n margin-bottom: 0;\n visibility: hidden;\n transition: var(--animation-duration) linear;\n transition-property: height, margin-bottom, visibility;\n}\nsd-kanban[data-sd-drag-over=true] > ._drop-position {\n margin-bottom: var(--gap-lg);\n visibility: visible;\n}\nsd-kanban > .card {\n white-space: normal;\n user-select: none;\n margin-bottom: var(--gap-lg);\n}"] }]
146
146
  }], () => [], { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], draggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggable", required: false }] }], contentClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentClass", required: false }] }] }); })();
147
147
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdKanban, { className: "SdKanban", filePath: "packages/angular/src/data/kanban/sd-kanban.ts", lineNumber: 114 }); })();
@@ -1 +1 @@
1
- {"version":3,"file":"sd-sheet.d.ts","sourceRoot":"","sources":["../../../src/data/sheet/sd-sheet.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAclD,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,wCAAwC,CAAC;AAI5F,OAAO,KAAK,EACV,4BAA4B,EAE5B,gBAAgB,EAChB,4BAA4B,EAC7B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;;;AAcjE,qBAohBa,OAAO,CAAC,KAAK;IAExB,GAAG,0DAAmB;IACtB,KAAK,+CAAsB;IAC3B,SAAS,6CAAgB,KAAK,SAAS,MAAM,KAAK,OAAO,EAAkB;IAC3E,UAAU,sEAA+B;IACzC,UAAU,qEAA8B;IACxC,mBAAmB,8CAAgB,KAAK,KAAK,OAAO,GAAG,MAAM,eAAI;IACjE,aAAa,8CAAgB,KAAK,SAAS,MAAM,KAAK,KAAK,EAAE,GAAG,SAAS,eAAI;IAC7E,WAAW,qEAAiD;IAC5D,gBAAgB,8CAAa;IAC7B,cAAc,8CAAY;IAC1B,YAAY,8CAAY;IACxB,SAAS,sDAAiC;IAC1C,KAAK,qEAAiD;IACtD,YAAY,0DAAmB;IAC/B,kBAAkB,8CAAgB,KAAK,UAAU,MAAM,KAAK,MAAM,eAAI;IACtE,kBAAkB,8CAAgB,KAAK,UAAU,MAAM,KAAK,MAAM,GAAG,SAAS,eAAI;IAClF,aAAa,qEAAiD;IAG9D,WAAW,gFAAiD;IAC5D,WAAW,gFAAiD;IAG5D,YAAY,iDAAwB;IACpC,aAAa,+CAAsB;IACnC,KAAK,oDAA2B;IAChC,WAAW,8CAAY;IAGvB,cAAc,gEAAkC;IAChD,mBAAmB,yEAAuC;IAC1D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAGtC;IAGH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAGpD,WAAW;;;;;;;;;;;;;MAA4B;IACvC,SAAS;;;;;;;;;;;;;;;;MAAwD;IAGjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE7B;IAGH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAGvB;IACH,WAAW,kDAA6B;IACxC,oBAAoB,iDAAgC;IACpD,kBAAkB,0EAA8B;IAChD,iBAAiB,0EAA6B;IAG9C,MAAM;;;;;;MAGH;IAGH,OAAO;;qBA5nBA,CAAA;;;;;MA8nBJ;IAGH,OAAO,CAAC,QAAQ,CAAC,SAAS,CASvB;IACH,kBAAkB,yCAAqC;IACvD,SAAS;;;;;;;;MAA4B;IACrC,YAAY,0CAA+B;IAG3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqC;IAEtE,MAAM;;MAIH;IAGH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAQtB;IACH,kBAAkB,4CAAoC;IACtD,YAAY,6EAA8B;IAC1C,iBAAiB,oCAAmC;IACpD,sBAAsB,6FAAwC;IAC9D,gBAAgB,mGAAkC;IAGlD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE7B;IAGH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAKjC;IAGH,SAAS;;;;;;;;;;MAMN;IAGH,KAAK;;;;;;;MAOH;IAEF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAM/B;IAEH,kBAAkB,CAAC,GAAG,EAAE,MAAM;IAK9B,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAK5B,mBAAmB,CAAC,GAAG,EAAE,MAAM;IAK/B,oBAAoB,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS;IAMrD,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAM7B,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI;IAM5C,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAM9B,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAO9D,UAAU,CAAC,GAAG,EAAE,MAAM;;;;IAItB,UAAU,CAAC,IAAI,EAAE,KAAK;IAKtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiD;IAE9E,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO;IAIhC,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI;IAO3C,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI;IAK9C,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI;IAOjD,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAInC,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAKvC,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAKtC,iBAAiB,IAAI,IAAI;IAIzB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAMzC,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAU1D,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IA8CvD,OAAO,CAAC,kBAAkB;IAqB1B,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI;IAItD,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhE,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;yCAxV/B,OAAO;2CAAP,OAAO;CA2WnB;AAGD,YAAY,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC"}
1
+ {"version":3,"file":"sd-sheet.d.ts","sourceRoot":"","sources":["../../../src/data/sheet/sd-sheet.ts"],"names":[],"mappings":"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"}
@@ -769,7 +769,7 @@ export class SdSheet {
769
769
  SdPagination,
770
770
  SdAnchor,
771
771
  SdButton,
772
- 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 });
772
+ SdResizeDirective], styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-sheet {\n border: 1px solid var(--border-color-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(--border-color-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(--border-color-lighter);\n}\nsd-sheet > ._sheet-container > table > * > tr:last-child > * {\n border-bottom: 1px solid var(--border-color-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(--border-color-lighter);\n border-bottom: 1px solid var(--border-color-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(--border-color-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(--border-color-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(--border-color-lighter);\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._feature-cell {\n border-bottom: 1px solid var(--border-color-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(--border-color-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(--border-color-lighter);\n}\nsd-sheet > ._sheet-container > table > tbody > tr > td {\n font-family: var(--font-family-field);\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(--border-color-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 });
773
773
  }
774
774
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdSheet, [{
775
775
  type: Component,
@@ -1064,6 +1064,6 @@ export class SdSheet {
1064
1064
  ></div>
1065
1065
  <div class="_select-row-indicator-container"></div>
1066
1066
  </div>
1067
- `, 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}"] }]
1067
+ `, styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-sheet {\n border: 1px solid var(--border-color-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(--border-color-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(--border-color-lighter);\n}\nsd-sheet > ._sheet-container > table > * > tr:last-child > * {\n border-bottom: 1px solid var(--border-color-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(--border-color-lighter);\n border-bottom: 1px solid var(--border-color-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(--border-color-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(--border-color-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(--border-color-lighter);\n}\nsd-sheet > ._sheet-container > table > thead > tr > th._feature-cell {\n border-bottom: 1px solid var(--border-color-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(--border-color-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(--border-color-lighter);\n}\nsd-sheet > ._sheet-container > table > tbody > tr > td {\n font-family: var(--font-family-field);\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(--border-color-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}"] }]
1068
1068
  }], 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"] }], 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 }] }] }); })();
1069
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSheet, { className: "SdSheet", filePath: "packages/angular/src/data/sheet/sd-sheet.ts", lineNumber: 585 }); })();
1069
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSheet, { className: "SdSheet", filePath: "packages/angular/src/data/sheet/sd-sheet.ts", lineNumber: 586 }); })();
@@ -1 +1 @@
1
- {"version":3,"file":"sd-tiptap-editor.d.ts","sourceRoot":"","sources":["../../../src/features/editor/sd-tiptap-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;;AAqBzD,qBAsMa,cAAc;IACzB,KAAK,0DAAmB;IACxB,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,WAAW,0DAAmB;IAC9B,WAAW,+CAAiB,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,eAAI;IACzE,UAAU,kEAA2B;IAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAElD,QAAQ,CAAC,YAAY,WAMnB;IAEF,qDAAqD;IACrD,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAqB;IAE/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6C;IACtE,YAAY,kEAA8B;IAC1C,WAAW,yBAA6B;IACxC,aAAa,yBAA+B;IAC5C,eAAe,4CAAiC;IAChD,OAAO,wBAAyB;IAChC,iBAAiB,gCAAmC;IACpD,UAAU,sCAA4B;IAEtC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,eAAe,CAA6B;IAEpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CASjC;;IA6DH,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,kBAAkB;yCAtIf,cAAc;2CAAd,cAAc;CA4I1B"}
1
+ {"version":3,"file":"sd-tiptap-editor.d.ts","sourceRoot":"","sources":["../../../src/features/editor/sd-tiptap-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;;AAqBzD,qBAuMa,cAAc;IACzB,KAAK,0DAAmB;IACxB,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,WAAW,0DAAmB;IAC9B,WAAW,+CAAiB,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,eAAI;IACzE,UAAU,kEAA2B;IAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAElD,QAAQ,CAAC,YAAY,WAMnB;IAEF,qDAAqD;IACrD,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAqB;IAE/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6C;IACtE,YAAY,kEAA8B;IAC1C,WAAW,yBAA6B;IACxC,aAAa,yBAA+B;IAC5C,eAAe,4CAAiC;IAChD,OAAO,wBAAyB;IAChC,iBAAiB,gCAAmC;IACpD,UAAU,sCAA4B;IAEtC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,eAAe,CAA6B;IAEpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CASjC;;IA6DH,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,kBAAkB;yCAtIf,cAAc;2CAAd,cAAc;CA4I1B"}
@@ -295,7 +295,7 @@ export class SdTiptapEditor {
295
295
  i0.ɵɵdomElement(1, "div", 0);
296
296
  } if (rf & 2) {
297
297
  i0.ɵɵconditional(!ctx.disabled() ? 0 : -1);
298
- } }, styles: ["sd-tiptap-editor {\n display: block;\n position: relative;\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: var(--theme-secondary-lightest);\n}\nsd-tiptap-editor > ._toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: var(--gap-xs);\n padding: var(--gap-xs);\n border-bottom: 1px solid var(--trans-lighter);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group {\n display: flex;\n gap: 1px;\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button {\n padding: var(--gap-xs) var(--gap-sm);\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: transparent;\n cursor: pointer;\n font-size: var(--font-size-default);\n line-height: 1;\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button._active {\n background: var(--theme-primary-default);\n color: var(--text-trans-rev-default);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button:hover {\n background: var(--trans-lighter);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button._active:hover {\n background: var(--theme-primary-default);\n}\nsd-tiptap-editor > ._color-picker {\n display: flex;\n flex-wrap: wrap;\n gap: 2px;\n padding: var(--gap-xs);\n border-bottom: 1px solid var(--trans-lighter);\n}\nsd-tiptap-editor > ._color-picker > ._color-swatch {\n width: 1.25rem;\n height: 1.25rem;\n border: 1px solid var(--trans-lighter);\n border-radius: 2px;\n cursor: pointer;\n padding: 0;\n}\nsd-tiptap-editor > ._color-picker > ._color-swatch._no-color {\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--control-color);\n font-size: 0.625rem;\n}\nsd-tiptap-editor > ._editor-container {\n padding: var(--gap-sm);\n min-height: 6.25rem;\n}\nsd-tiptap-editor > ._editor-container > .tiptap {\n outline: none;\n}\nsd-tiptap-editor > ._editor-container > .tiptap:focus {\n outline: none;\n}\nsd-tiptap-editor[data-sd-disabled=true] {\n background: var(--theme-gray-lightest);\n color: var(--text-trans-light);\n}\nsd-tiptap-editor[data-sd-disabled=true] > ._editor-container > .tiptap {\n cursor: not-allowed;\n}\nsd-tiptap-editor[data-sd-readonly=true] > ._editor-container > .tiptap {\n cursor: default;\n}\nsd-tiptap-editor ._color-btn {\n position: relative;\n}\nsd-tiptap-editor ._color-btn > ._color-indicator {\n display: block;\n height: 2px;\n width: 100%;\n position: absolute;\n bottom: 2px;\n left: 0;\n}"], encapsulation: 2, changeDetection: 0 });
298
+ } }, styles: ["sd-tiptap-editor {\n display: block;\n position: relative;\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: var(--theme-secondary-lightest);\n}\nsd-tiptap-editor > ._toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: var(--gap-xs);\n padding: var(--gap-xs);\n border-bottom: 1px solid var(--trans-lighter);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group {\n display: flex;\n gap: 1px;\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button {\n padding: var(--gap-xs) var(--gap-sm);\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: transparent;\n cursor: pointer;\n font-size: var(--font-size-default);\n line-height: 1;\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button._active {\n background: var(--theme-primary-default);\n color: var(--text-trans-rev-default);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button:hover {\n background: var(--trans-lighter);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button._active:hover {\n background: var(--theme-primary-default);\n}\nsd-tiptap-editor > ._color-picker {\n display: flex;\n flex-wrap: wrap;\n gap: 2px;\n padding: var(--gap-xs);\n border-bottom: 1px solid var(--trans-lighter);\n}\nsd-tiptap-editor > ._color-picker > ._color-swatch {\n width: 1.25rem;\n height: 1.25rem;\n border: 1px solid var(--trans-lighter);\n border-radius: 2px;\n cursor: pointer;\n padding: 0;\n}\nsd-tiptap-editor > ._color-picker > ._color-swatch._no-color {\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--control-color);\n font-size: 0.625rem;\n}\nsd-tiptap-editor > ._editor-container {\n padding: var(--gap-sm);\n min-height: 6.25rem;\n font-family: var(--font-family-field);\n}\nsd-tiptap-editor > ._editor-container > .tiptap {\n outline: none;\n}\nsd-tiptap-editor > ._editor-container > .tiptap:focus {\n outline: none;\n}\nsd-tiptap-editor[data-sd-disabled=true] {\n background: var(--theme-gray-lightest);\n color: var(--text-trans-light);\n}\nsd-tiptap-editor[data-sd-disabled=true] > ._editor-container > .tiptap {\n cursor: not-allowed;\n}\nsd-tiptap-editor[data-sd-readonly=true] > ._editor-container > .tiptap {\n cursor: default;\n}\nsd-tiptap-editor ._color-btn {\n position: relative;\n}\nsd-tiptap-editor ._color-btn > ._color-indicator {\n display: block;\n height: 2px;\n width: 100%;\n position: absolute;\n bottom: 2px;\n left: 0;\n}"], encapsulation: 2, changeDetection: 0 });
299
299
  }
300
300
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdTiptapEditor, [{
301
301
  type: Component,
@@ -375,6 +375,6 @@ export class SdTiptapEditor {
375
375
  `, host: {
376
376
  "[attr.data-sd-disabled]": "disabled()",
377
377
  "[attr.data-sd-readonly]": "readonly()",
378
- }, styles: ["sd-tiptap-editor {\n display: block;\n position: relative;\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: var(--theme-secondary-lightest);\n}\nsd-tiptap-editor > ._toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: var(--gap-xs);\n padding: var(--gap-xs);\n border-bottom: 1px solid var(--trans-lighter);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group {\n display: flex;\n gap: 1px;\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button {\n padding: var(--gap-xs) var(--gap-sm);\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: transparent;\n cursor: pointer;\n font-size: var(--font-size-default);\n line-height: 1;\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button._active {\n background: var(--theme-primary-default);\n color: var(--text-trans-rev-default);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button:hover {\n background: var(--trans-lighter);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button._active:hover {\n background: var(--theme-primary-default);\n}\nsd-tiptap-editor > ._color-picker {\n display: flex;\n flex-wrap: wrap;\n gap: 2px;\n padding: var(--gap-xs);\n border-bottom: 1px solid var(--trans-lighter);\n}\nsd-tiptap-editor > ._color-picker > ._color-swatch {\n width: 1.25rem;\n height: 1.25rem;\n border: 1px solid var(--trans-lighter);\n border-radius: 2px;\n cursor: pointer;\n padding: 0;\n}\nsd-tiptap-editor > ._color-picker > ._color-swatch._no-color {\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--control-color);\n font-size: 0.625rem;\n}\nsd-tiptap-editor > ._editor-container {\n padding: var(--gap-sm);\n min-height: 6.25rem;\n}\nsd-tiptap-editor > ._editor-container > .tiptap {\n outline: none;\n}\nsd-tiptap-editor > ._editor-container > .tiptap:focus {\n outline: none;\n}\nsd-tiptap-editor[data-sd-disabled=true] {\n background: var(--theme-gray-lightest);\n color: var(--text-trans-light);\n}\nsd-tiptap-editor[data-sd-disabled=true] > ._editor-container > .tiptap {\n cursor: not-allowed;\n}\nsd-tiptap-editor[data-sd-readonly=true] > ._editor-container > .tiptap {\n cursor: default;\n}\nsd-tiptap-editor ._color-btn {\n position: relative;\n}\nsd-tiptap-editor ._color-btn > ._color-indicator {\n display: block;\n height: 2px;\n width: 100%;\n position: absolute;\n bottom: 2px;\n left: 0;\n}"] }]
378
+ }, styles: ["sd-tiptap-editor {\n display: block;\n position: relative;\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: var(--theme-secondary-lightest);\n}\nsd-tiptap-editor > ._toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: var(--gap-xs);\n padding: var(--gap-xs);\n border-bottom: 1px solid var(--trans-lighter);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group {\n display: flex;\n gap: 1px;\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button {\n padding: var(--gap-xs) var(--gap-sm);\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: transparent;\n cursor: pointer;\n font-size: var(--font-size-default);\n line-height: 1;\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button._active {\n background: var(--theme-primary-default);\n color: var(--text-trans-rev-default);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button:hover {\n background: var(--trans-lighter);\n}\nsd-tiptap-editor > ._toolbar > ._btn-group > button._active:hover {\n background: var(--theme-primary-default);\n}\nsd-tiptap-editor > ._color-picker {\n display: flex;\n flex-wrap: wrap;\n gap: 2px;\n padding: var(--gap-xs);\n border-bottom: 1px solid var(--trans-lighter);\n}\nsd-tiptap-editor > ._color-picker > ._color-swatch {\n width: 1.25rem;\n height: 1.25rem;\n border: 1px solid var(--trans-lighter);\n border-radius: 2px;\n cursor: pointer;\n padding: 0;\n}\nsd-tiptap-editor > ._color-picker > ._color-swatch._no-color {\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--control-color);\n font-size: 0.625rem;\n}\nsd-tiptap-editor > ._editor-container {\n padding: var(--gap-sm);\n min-height: 6.25rem;\n font-family: var(--font-family-field);\n}\nsd-tiptap-editor > ._editor-container > .tiptap {\n outline: none;\n}\nsd-tiptap-editor > ._editor-container > .tiptap:focus {\n outline: none;\n}\nsd-tiptap-editor[data-sd-disabled=true] {\n background: var(--theme-gray-lightest);\n color: var(--text-trans-light);\n}\nsd-tiptap-editor[data-sd-disabled=true] > ._editor-container > .tiptap {\n cursor: not-allowed;\n}\nsd-tiptap-editor[data-sd-readonly=true] > ._editor-container > .tiptap {\n cursor: default;\n}\nsd-tiptap-editor ._color-btn {\n position: relative;\n}\nsd-tiptap-editor ._color-btn > ._color-indicator {\n display: block;\n height: 2px;\n width: 100%;\n position: absolute;\n bottom: 2px;\n left: 0;\n}"] }]
379
379
  }], () => [], { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], validatorFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "validatorFn", required: false }] }], extensions: [{ type: i0.Input, args: [{ isSignal: true, alias: "extensions", required: false }] }] }); })();
380
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdTiptapEditor, { className: "SdTiptapEditor", filePath: "packages/angular/src/features/editor/sd-tiptap-editor.ts", lineNumber: 237 }); })();
380
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdTiptapEditor, { className: "SdTiptapEditor", filePath: "packages/angular/src/features/editor/sd-tiptap-editor.ts", lineNumber: 238 }); })();
@@ -1,6 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class SdThemeProvider {
3
3
  dark: import("@angular/core").WritableSignal<boolean>;
4
+ blueprint: import("@angular/core").WritableSignal<boolean>;
4
5
  readonly fontSizePresets: readonly number[];
5
6
  fontSize: import("@angular/core").WritableSignal<number>;
6
7
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"sd-theme-provider.d.ts","sourceRoot":"","sources":["../../../src/features/theme/sd-theme-provider.ts"],"names":[],"mappings":";AAGA,qBACa,eAAe;IAC1B,IAAI,kDAA0B;IAE9B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAA4B;IAEvE,QAAQ,iDAAsB;;IAe9B,gBAAgB,IAAI,IAAI;IAOxB,gBAAgB,IAAI,IAAI;yCA3Bb,eAAe;6CAAf,eAAe;CAuC3B"}
1
+ {"version":3,"file":"sd-theme-provider.d.ts","sourceRoot":"","sources":["../../../src/features/theme/sd-theme-provider.ts"],"names":[],"mappings":";AAGA,qBACa,eAAe;IAC1B,IAAI,kDAA0B;IAG9B,SAAS,kDAA0B;IAEnC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAA4B;IAEvE,QAAQ,iDAAsB;;IAmB9B,gBAAgB,IAAI,IAAI;IAOxB,gBAAgB,IAAI,IAAI;yCAlCb,eAAe;6CAAf,eAAe;CA8C3B"}
@@ -3,6 +3,8 @@ import { isPlatformBrowser } from "@angular/common";
3
3
  import * as i0 from "@angular/core";
4
4
  export class SdThemeProvider {
5
5
  dark = signal(false, ...(ngDevMode ? [{ debugName: "dark" }] : /* istanbul ignore next */ []));
6
+ // 블루프린트(엔지니어링 도면) 테마 — dark 토글과 직교. dark 와 조합해 4면을 만든다.
7
+ blueprint = signal(false, ...(ngDevMode ? [{ debugName: "blueprint" }] : /* istanbul ignore next */ []));
6
8
  fontSizePresets = [12, 14, 16, 20, 24, 28];
7
9
  fontSize = signal(12, ...(ngDevMode ? [{ debugName: "fontSize" }] : /* istanbul ignore next */ []));
8
10
  constructor() {
@@ -12,6 +14,9 @@ export class SdThemeProvider {
12
14
  effect(() => {
13
15
  document.body.classList.toggle("sd-theme-dark", this.dark());
14
16
  });
17
+ effect(() => {
18
+ document.body.classList.toggle("sd-theme-blueprint", this.blueprint());
19
+ });
15
20
  effect(() => {
16
21
  document.documentElement.style.fontSize = `${this.fontSize()}px`;
17
22
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sd-theme-selector.d.ts","sourceRoot":"","sources":["../../../src/features/theme/sd-theme-selector.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AAGtD,qBA+Ca,eAAe;IAC1B,SAAS,CAAC,QAAQ,CAAC,QAAQ,kBAA2B;IAEtD,aAAa,0CAAgF;IAE7F,aAAa,0CAIX;IAEF,SAAS,CAAC,QAAQ,CAAC,UAAU,uVAAc;IAC3C,SAAS,CAAC,QAAQ,CAAC,WAAW,yTAAe;IAC7C,SAAS,CAAC,QAAQ,CAAC,aAAa,uoBAAiB;yCAbtC,eAAe;2CAAf,eAAe;CAc3B"}
1
+ {"version":3,"file":"sd-theme-selector.d.ts","sourceRoot":"","sources":["../../../src/features/theme/sd-theme-selector.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AAGtD,qBAmDa,eAAe;IAC1B,SAAS,CAAC,QAAQ,CAAC,QAAQ,kBAA2B;IAEtD,aAAa,0CAAgF;IAE7F,aAAa,0CAIX;IAEF,SAAS,CAAC,QAAQ,CAAC,UAAU,uVAAc;IAC3C,SAAS,CAAC,QAAQ,CAAC,WAAW,yTAAe;IAC7C,SAAS,CAAC,QAAQ,CAAC,aAAa,uoBAAiB;yCAbtC,eAAe;2CAAf,eAAe;CAc3B"}
@@ -16,7 +16,7 @@ export class SdThemeSelector {
16
16
  tablerMinus = tablerMinus;
17
17
  tablerPalette = tablerPalette;
18
18
  static ɵfac = function SdThemeSelector_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdThemeSelector)(); };
19
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdThemeSelector, selectors: [["sd-theme-selector"]], decls: 19, vars: 15, consts: [[3, "inline", "theme"], [3, "svg"], [1, "p-default"], [1, "flex-row", "gap-sm", "cross-align-center"], [1, "flex-row", "gap-xs", "cross-align-center"], [3, "click", "inline", "theme", "size", "disabled"], [3, "valueChange", "value"]], template: function SdThemeSelector_Template(rf, ctx) { if (rf & 1) {
19
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdThemeSelector, selectors: [["sd-theme-selector"]], decls: 23, vars: 16, consts: [[3, "inline", "theme"], [3, "svg"], [1, "p-default"], [1, "flex-row", "gap-sm", "cross-align-center"], [1, "flex-row", "gap-xs", "cross-align-center"], [3, "click", "inline", "theme", "size", "disabled"], [3, "valueChange", "value"]], template: function SdThemeSelector_Template(rf, ctx) { if (rf & 1) {
20
20
  i0.ɵɵelementStart(0, "sd-dropdown")(1, "sd-button", 0);
21
21
  i0.ɵɵelement(2, "ng-icon", 1);
22
22
  i0.ɵɵelementEnd();
@@ -39,6 +39,12 @@ export class SdThemeSelector {
39
39
  i0.ɵɵelementEnd();
40
40
  i0.ɵɵelementStart(18, "sd-switch", 6);
41
41
  i0.ɵɵtwoWayListener("valueChange", function SdThemeSelector_Template_sd_switch_valueChange_18_listener($event) { i0.ɵɵtwoWayBindingSet(ctx._sdTheme.dark, $event) || (ctx._sdTheme.dark = $event); return $event; });
42
+ i0.ɵɵelementEnd()();
43
+ i0.ɵɵelementStart(19, "div", 3)(20, "span");
44
+ i0.ɵɵtext(21, "\uBE14\uB8E8\uD504\uB9B0\uD2B8");
45
+ i0.ɵɵelementEnd();
46
+ i0.ɵɵelementStart(22, "sd-switch", 6);
47
+ i0.ɵɵtwoWayListener("valueChange", function SdThemeSelector_Template_sd_switch_valueChange_22_listener($event) { i0.ɵɵtwoWayBindingSet(ctx._sdTheme.blueprint, $event) || (ctx._sdTheme.blueprint = $event); return $event; });
42
48
  i0.ɵɵelementEnd()()()()();
43
49
  } if (rf & 2) {
44
50
  i0.ɵɵadvance();
@@ -57,6 +63,8 @@ export class SdThemeSelector {
57
63
  i0.ɵɵproperty("svg", ctx.tablerPlus);
58
64
  i0.ɵɵadvance(4);
59
65
  i0.ɵɵtwoWayProperty("value", ctx._sdTheme.dark);
66
+ i0.ɵɵadvance(4);
67
+ i0.ɵɵtwoWayProperty("value", ctx._sdTheme.blueprint);
60
68
  } }, dependencies: [SdDropdown, SdDropdownPopup, SdButton, SdSwitch, NgIcon], encapsulation: 2, changeDetection: 0 });
61
69
  }
62
70
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdThemeSelector, [{
@@ -96,9 +104,13 @@ export class SdThemeSelector {
96
104
  <span>다크 모드</span>
97
105
  <sd-switch [(value)]="_sdTheme.dark" />
98
106
  </div>
107
+ <div class="flex-row gap-sm cross-align-center">
108
+ <span>블루프린트</span>
109
+ <sd-switch [(value)]="_sdTheme.blueprint" />
110
+ </div>
99
111
  </div>
100
112
  </sd-dropdown-popup>
101
113
  </sd-dropdown>
102
114
  ` }]
103
115
  }], null, null); })();
104
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdThemeSelector, { className: "SdThemeSelector", filePath: "packages/angular/src/features/theme/sd-theme-selector.ts", lineNumber: 63 }); })();
116
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdThemeSelector, { className: "SdThemeSelector", filePath: "packages/angular/src/features/theme/sd-theme-selector.ts", lineNumber: 67 }); })();