@sdcorejs/angular 19.0.8 → 19.0.10

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 (230) hide show
  1. package/README.md +270 -140
  2. package/assets/scss/core/utilities/_grid.scss +25 -19
  3. package/components/anchor/src/models/sd-anchor.model.d.ts +1 -1
  4. package/components/document-builder/src/document-builder.component.d.ts +2 -2
  5. package/components/document-builder/src/plugins/paste-handler/filters/parse.d.ts +1 -1
  6. package/components/editor/src/plugins/image-upload/utils/batch.utils.d.ts +3 -3
  7. package/components/form-generic/src/components/form-builder/components/attribute-expression/attribute-expression.component.d.ts +10 -6
  8. package/components/form-generic/src/components/form-builder/components/attribute-expression/form-expression-query-adapter.d.ts +6 -0
  9. package/components/form-generic/src/components/form-builder/components/attribute-parameter/attribute-parameter.component.d.ts +2 -2
  10. package/components/form-generic/src/components/form-builder/components/attribute-selection/attribute-selection.component.d.ts +2 -2
  11. package/components/form-generic/src/components/form-builder/components/attribute-selection/components/build-queries/build-queries.component.d.ts +2 -2
  12. package/components/form-generic/src/components/form-builder/components/attribute-selection/components/build-variables/build-variables.component.d.ts +2 -2
  13. package/components/form-generic/src/components/form-builder/components/attribute-table/attribute-table.component.d.ts +2 -4
  14. package/components/form-generic/src/components/form-builder/components/attribute-template/attribute-template.component.d.ts +2 -4
  15. package/components/form-generic/src/components/form-builder/components/checkbox/attribute/checkbox-attribute.component.d.ts +2 -2
  16. package/components/form-generic/src/components/form-builder/components/chip-calendar/attribute/chip-calendar-attribute.component.d.ts +2 -2
  17. package/components/form-generic/src/components/form-builder/components/chip-calendar/control/chip-calendar-control.component.d.ts +2 -2
  18. package/components/form-generic/src/components/form-builder/components/chip-string/attribute/chip-string-attribute.component.d.ts +2 -2
  19. package/components/form-generic/src/components/form-builder/components/chip-string/control/chip-string-control.component.d.ts +2 -2
  20. package/components/form-generic/src/components/form-builder/components/configure-validation/configure-validation.component.d.ts +6 -7
  21. package/components/form-generic/src/components/form-builder/components/datetime/attribute/datetime-attribute.component.d.ts +2 -2
  22. package/components/form-generic/src/components/form-builder/components/datetime/control/datetime-control.component.d.ts +2 -2
  23. package/components/form-generic/src/components/form-builder/components/expression-builder/expression-builder.component.d.ts +2 -2
  24. package/components/form-generic/src/components/form-builder/components/html/attribute/components/build-queries/build-queries.component.d.ts +2 -2
  25. package/components/form-generic/src/components/form-builder/components/html/control/html-control.component.d.ts +2 -2
  26. package/components/form-generic/src/components/form-builder/components/number/attribute/number-attribute.component.d.ts +2 -2
  27. package/components/form-generic/src/components/form-builder/components/number/control/number-control.component.d.ts +2 -2
  28. package/components/form-generic/src/components/form-builder/components/radio/attribute/radio-attribute.component.d.ts +2 -2
  29. package/components/form-generic/src/components/form-builder/components/radio/control/radio-control.component.d.ts +2 -2
  30. package/components/form-generic/src/components/form-builder/components/select/attribute/select-attribute.component.d.ts +2 -2
  31. package/components/form-generic/src/components/form-builder/components/select/control/select-control.component.d.ts +2 -2
  32. package/components/form-generic/src/components/form-builder/components/table/attribute/table-attribute.component.d.ts +2 -2
  33. package/components/form-generic/src/components/form-builder/components/table/control/table-control.component.d.ts +2 -2
  34. package/components/form-generic/src/components/form-builder/components/textarea/attribute/textarea-attribute.component.d.ts +2 -2
  35. package/components/form-generic/src/components/form-builder/components/textarea/control/textarea-control.component.d.ts +2 -2
  36. package/components/form-generic/src/components/form-builder/components/textfield/attribute/textfield-attribute.component.d.ts +2 -2
  37. package/components/form-generic/src/components/form-builder/components/textfield/control/textfield-control.component.d.ts +2 -2
  38. package/components/form-generic/src/components/form-builder/components/upload/attribute/upload-attribute.component.d.ts +2 -2
  39. package/components/form-generic/src/components/form-builder/components/upload/control/upload-control.component.d.ts +2 -2
  40. package/components/form-generic/src/components/form-builder/form-builder-layout.d.ts +22 -0
  41. package/components/form-generic/src/components/form-builder/form-builder.component.d.ts +24 -5
  42. package/components/form-generic/src/components/form-render/components/item/components/chip-calendar/chip-calendar.component.d.ts +2 -2
  43. package/components/form-generic/src/components/form-render/components/item/components/chip-string/chip-string.component.d.ts +2 -2
  44. package/components/form-generic/src/components/form-render/components/item/components/datetime/datetime.component.d.ts +2 -2
  45. package/components/form-generic/src/components/form-render/components/item/components/html/html.component.d.ts +2 -2
  46. package/components/form-generic/src/components/form-render/components/item/components/number/number.component.d.ts +2 -2
  47. package/components/form-generic/src/components/form-render/components/item/components/radio/radio.component.d.ts +2 -2
  48. package/components/form-generic/src/components/form-render/components/item/components/select/select.component.d.ts +2 -2
  49. package/components/form-generic/src/components/form-render/components/item/components/table/table.component.d.ts +2 -2
  50. package/components/form-generic/src/components/form-render/components/item/components/textarea/textarea.component.d.ts +2 -2
  51. package/components/form-generic/src/components/form-render/components/item/components/textfield/textfield.component.d.ts +2 -2
  52. package/components/form-generic/src/components/form-render/components/item/components/upload/upload.component.d.ts +2 -2
  53. package/components/form-generic/src/components/form-render/components/variable/variable.component.d.ts +2 -2
  54. package/components/form-generic/src/components/form-render/form-render.component.d.ts +4 -6
  55. package/components/form-generic/src/components/sd-feel-expression/sd-feel-expression.component.d.ts +2 -2
  56. package/components/form-generic/src/configurations/form.configuration.d.ts +1 -1
  57. package/components/form-generic/src/models/form-generic-component.model.d.ts +2 -2
  58. package/components/form-generic/src/services/form-generic.service.d.ts +1 -3
  59. package/components/import-excel/src/import-excel.model.d.ts +2 -2
  60. package/components/mini-editor/src/mini-editor.component.d.ts +4 -4
  61. package/components/modal/src/modal.component.d.ts +1 -1
  62. package/components/query-builder/src/query-builder.model.d.ts +4 -4
  63. package/components/splitter/src/splitter-state.service.d.ts +1 -1
  64. package/components/tab-router/src/models/tab-router.model.d.ts +2 -1
  65. package/components/tab-router/src/services/tab-router.service.d.ts +0 -1
  66. package/components/table/src/components/command/desktop-command.component.d.ts +8 -7
  67. package/components/table/src/components/command/pipes/command.pipe.d.ts +1 -12
  68. package/components/table/src/components/command/pipes/filter.pipe.d.ts +1 -8
  69. package/components/table/src/components/filter/column-filter/column-filter.component.d.ts +1 -1
  70. package/components/table/src/models/table-column.model.d.ts +3 -2
  71. package/components/table/src/pipes/selection-disabled.pipe.d.ts +1 -1
  72. package/components/table/src/services/config.service.d.ts +4 -5
  73. package/components/table/src/services/table-filter/table-filter.service.d.ts +1 -0
  74. package/components/table/src/services/table-local/table-local.util.d.ts +19 -0
  75. package/components/table/src/services/table-reorder/table-reorder.util.d.ts +29 -0
  76. package/components/table/src/services/table-selection/table-selection.util.d.ts +8 -0
  77. package/components/table/src/services/tree/tree.util.d.ts +10 -1
  78. package/components/table/src/table.component.d.ts +6 -10
  79. package/components/view/src/view.component.d.ts +1 -1
  80. package/configurations/src/sd-core.configuration.d.ts +2 -2
  81. package/fesm2022/sdcorejs-angular-components-anchor.mjs +15 -18
  82. package/fesm2022/sdcorejs-angular-components-anchor.mjs.map +1 -1
  83. package/fesm2022/sdcorejs-angular-components-autoid-inspector.mjs.map +1 -1
  84. package/fesm2022/sdcorejs-angular-components-avatar.mjs.map +1 -1
  85. package/fesm2022/sdcorejs-angular-components-badge.mjs +0 -1
  86. package/fesm2022/sdcorejs-angular-components-badge.mjs.map +1 -1
  87. package/fesm2022/sdcorejs-angular-components-button.mjs +6 -7
  88. package/fesm2022/sdcorejs-angular-components-button.mjs.map +1 -1
  89. package/fesm2022/sdcorejs-angular-components-chart.mjs.map +1 -1
  90. package/fesm2022/sdcorejs-angular-components-ckeditor-styles.mjs.map +1 -1
  91. package/fesm2022/sdcorejs-angular-components-code-editor.mjs +1 -1
  92. package/fesm2022/sdcorejs-angular-components-code-editor.mjs.map +1 -1
  93. package/fesm2022/sdcorejs-angular-components-document-builder.mjs +17 -26
  94. package/fesm2022/sdcorejs-angular-components-document-builder.mjs.map +1 -1
  95. package/fesm2022/sdcorejs-angular-components-editor.mjs +7 -2
  96. package/fesm2022/sdcorejs-angular-components-editor.mjs.map +1 -1
  97. package/fesm2022/sdcorejs-angular-components-form-generic.mjs +711 -426
  98. package/fesm2022/sdcorejs-angular-components-form-generic.mjs.map +1 -1
  99. package/fesm2022/sdcorejs-angular-components-import-excel.mjs +35 -18
  100. package/fesm2022/sdcorejs-angular-components-import-excel.mjs.map +1 -1
  101. package/fesm2022/sdcorejs-angular-components-inform.mjs +0 -1
  102. package/fesm2022/sdcorejs-angular-components-inform.mjs.map +1 -1
  103. package/fesm2022/sdcorejs-angular-components-mini-editor.mjs.map +1 -1
  104. package/fesm2022/sdcorejs-angular-components-modal-resizable.mjs.map +1 -1
  105. package/fesm2022/sdcorejs-angular-components-modal.mjs +25 -14
  106. package/fesm2022/sdcorejs-angular-components-modal.mjs.map +1 -1
  107. package/fesm2022/sdcorejs-angular-components-operator.mjs +1 -1
  108. package/fesm2022/sdcorejs-angular-components-operator.mjs.map +1 -1
  109. package/fesm2022/sdcorejs-angular-components-org-chart.mjs.map +1 -1
  110. package/fesm2022/sdcorejs-angular-components-preview.mjs +33 -29
  111. package/fesm2022/sdcorejs-angular-components-preview.mjs.map +1 -1
  112. package/fesm2022/sdcorejs-angular-components-query-bar.mjs +15 -28
  113. package/fesm2022/sdcorejs-angular-components-query-bar.mjs.map +1 -1
  114. package/fesm2022/sdcorejs-angular-components-query-builder.mjs +2 -3
  115. package/fesm2022/sdcorejs-angular-components-query-builder.mjs.map +1 -1
  116. package/fesm2022/sdcorejs-angular-components-quick-action.mjs.map +1 -1
  117. package/fesm2022/sdcorejs-angular-components-section.mjs +0 -1
  118. package/fesm2022/sdcorejs-angular-components-section.mjs.map +1 -1
  119. package/fesm2022/sdcorejs-angular-components-side-drawer.mjs +3 -3
  120. package/fesm2022/sdcorejs-angular-components-side-drawer.mjs.map +1 -1
  121. package/fesm2022/sdcorejs-angular-components-splitter.mjs +4 -4
  122. package/fesm2022/sdcorejs-angular-components-splitter.mjs.map +1 -1
  123. package/fesm2022/sdcorejs-angular-components-stepper.mjs.map +1 -1
  124. package/fesm2022/sdcorejs-angular-components-tab-router.mjs +31 -31
  125. package/fesm2022/sdcorejs-angular-components-tab-router.mjs.map +1 -1
  126. package/fesm2022/sdcorejs-angular-components-tab.mjs.map +1 -1
  127. package/fesm2022/sdcorejs-angular-components-table.mjs +794 -849
  128. package/fesm2022/sdcorejs-angular-components-table.mjs.map +1 -1
  129. package/fesm2022/sdcorejs-angular-components-tree.mjs.map +1 -1
  130. package/fesm2022/sdcorejs-angular-components-upload-file.mjs +6 -6
  131. package/fesm2022/sdcorejs-angular-components-upload-file.mjs.map +1 -1
  132. package/fesm2022/sdcorejs-angular-components-view.mjs +3 -9
  133. package/fesm2022/sdcorejs-angular-components-view.mjs.map +1 -1
  134. package/fesm2022/sdcorejs-angular-configurations.mjs.map +1 -1
  135. package/fesm2022/sdcorejs-angular-directives.mjs +2 -7
  136. package/fesm2022/sdcorejs-angular-directives.mjs.map +1 -1
  137. package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs +0 -3
  138. package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs.map +1 -1
  139. package/fesm2022/sdcorejs-angular-forms-checkbox.mjs.map +1 -1
  140. package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs +2 -2
  141. package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs.map +1 -1
  142. package/fesm2022/sdcorejs-angular-forms-chip.mjs +2 -2
  143. package/fesm2022/sdcorejs-angular-forms-chip.mjs.map +1 -1
  144. package/fesm2022/sdcorejs-angular-forms-date-range.mjs +11 -5
  145. package/fesm2022/sdcorejs-angular-forms-date-range.mjs.map +1 -1
  146. package/fesm2022/sdcorejs-angular-forms-date.mjs +2 -4
  147. package/fesm2022/sdcorejs-angular-forms-date.mjs.map +1 -1
  148. package/fesm2022/sdcorejs-angular-forms-datetime.mjs +2 -6
  149. package/fesm2022/sdcorejs-angular-forms-datetime.mjs.map +1 -1
  150. package/fesm2022/sdcorejs-angular-forms-input-color.mjs +3 -3
  151. package/fesm2022/sdcorejs-angular-forms-input-color.mjs.map +1 -1
  152. package/fesm2022/sdcorejs-angular-forms-input-number.mjs +1 -1
  153. package/fesm2022/sdcorejs-angular-forms-input-number.mjs.map +1 -1
  154. package/fesm2022/sdcorejs-angular-forms-input.mjs.map +1 -1
  155. package/fesm2022/sdcorejs-angular-forms-label.mjs +0 -1
  156. package/fesm2022/sdcorejs-angular-forms-label.mjs.map +1 -1
  157. package/fesm2022/sdcorejs-angular-forms-models.mjs.map +1 -1
  158. package/fesm2022/sdcorejs-angular-forms-radio.mjs +12 -2
  159. package/fesm2022/sdcorejs-angular-forms-radio.mjs.map +1 -1
  160. package/fesm2022/sdcorejs-angular-forms-select.mjs +45 -14
  161. package/fesm2022/sdcorejs-angular-forms-select.mjs.map +1 -1
  162. package/fesm2022/sdcorejs-angular-forms-switch.mjs.map +1 -1
  163. package/fesm2022/sdcorejs-angular-forms-textarea.mjs +2 -2
  164. package/fesm2022/sdcorejs-angular-forms-textarea.mjs.map +1 -1
  165. package/fesm2022/sdcorejs-angular-handlers.mjs +3 -6
  166. package/fesm2022/sdcorejs-angular-handlers.mjs.map +1 -1
  167. package/fesm2022/sdcorejs-angular-i18n.mjs +11 -7
  168. package/fesm2022/sdcorejs-angular-i18n.mjs.map +1 -1
  169. package/fesm2022/sdcorejs-angular-interceptors.mjs +0 -2
  170. package/fesm2022/sdcorejs-angular-interceptors.mjs.map +1 -1
  171. package/fesm2022/sdcorejs-angular-modules-auth.mjs +14 -38
  172. package/fesm2022/sdcorejs-angular-modules-auth.mjs.map +1 -1
  173. package/fesm2022/sdcorejs-angular-modules-authom.mjs +14 -14
  174. package/fesm2022/sdcorejs-angular-modules-authom.mjs.map +1 -1
  175. package/fesm2022/sdcorejs-angular-modules-keycloak.mjs +22 -11
  176. package/fesm2022/sdcorejs-angular-modules-keycloak.mjs.map +1 -1
  177. package/fesm2022/sdcorejs-angular-modules-layout.mjs +30 -27
  178. package/fesm2022/sdcorejs-angular-modules-layout.mjs.map +1 -1
  179. package/fesm2022/sdcorejs-angular-modules-permission.mjs +5 -12
  180. package/fesm2022/sdcorejs-angular-modules-permission.mjs.map +1 -1
  181. package/fesm2022/sdcorejs-angular-pipes.mjs +71 -17
  182. package/fesm2022/sdcorejs-angular-pipes.mjs.map +1 -1
  183. package/fesm2022/sdcorejs-angular-services-api.mjs +0 -2
  184. package/fesm2022/sdcorejs-angular-services-api.mjs.map +1 -1
  185. package/fesm2022/sdcorejs-angular-services-cache.mjs +5 -11
  186. package/fesm2022/sdcorejs-angular-services-cache.mjs.map +1 -1
  187. package/fesm2022/sdcorejs-angular-services-confirm.mjs +16 -21
  188. package/fesm2022/sdcorejs-angular-services-confirm.mjs.map +1 -1
  189. package/fesm2022/sdcorejs-angular-services-docx.mjs +2 -8
  190. package/fesm2022/sdcorejs-angular-services-docx.mjs.map +1 -1
  191. package/fesm2022/sdcorejs-angular-services-excel.mjs +2 -2
  192. package/fesm2022/sdcorejs-angular-services-excel.mjs.map +1 -1
  193. package/fesm2022/sdcorejs-angular-services-license.mjs +5 -12
  194. package/fesm2022/sdcorejs-angular-services-license.mjs.map +1 -1
  195. package/fesm2022/sdcorejs-angular-services-notify.mjs +70 -87
  196. package/fesm2022/sdcorejs-angular-services-notify.mjs.map +1 -1
  197. package/fesm2022/sdcorejs-angular-services-storage.mjs +6 -15
  198. package/fesm2022/sdcorejs-angular-services-storage.mjs.map +1 -1
  199. package/fesm2022/sdcorejs-angular-utilities-data-state.mjs.map +1 -1
  200. package/fesm2022/sdcorejs-angular-utilities-extensions.mjs +47 -5
  201. package/fesm2022/sdcorejs-angular-utilities-extensions.mjs.map +1 -1
  202. package/fesm2022/sdcorejs-angular-utilities-models.mjs +18 -3
  203. package/fesm2022/sdcorejs-angular-utilities-models.mjs.map +1 -1
  204. package/fesm2022/sdcorejs-angular.mjs.map +1 -1
  205. package/forms/chip/src/chip.component.d.ts +2 -2
  206. package/forms/chip-calendar/src/chip-calendar.component.d.ts +2 -2
  207. package/forms/date-range/src/date-range.component.d.ts +2 -0
  208. package/forms/input-color/src/input-color.component.d.ts +2 -1
  209. package/forms/select/src/select-footer-action.directive.d.ts +5 -1
  210. package/forms/select/src/select.component.d.ts +4 -0
  211. package/modules/auth/guards/auth.guard.d.ts +2 -4
  212. package/modules/auth/guards/portal.guard.d.ts +2 -4
  213. package/modules/auth/services/auth.service.d.ts +3 -4
  214. package/modules/layout/modules/home/guards/home-redirect.guard.d.ts +3 -5
  215. package/modules/permission/src/configurations/permission.configuration.d.ts +3 -3
  216. package/modules/permission/src/guards/permission.guard.d.ts +2 -5
  217. package/package.json +2 -2
  218. package/pipes/index.d.ts +3 -0
  219. package/pipes/src/format-date.pipe.d.ts +8 -0
  220. package/pipes/src/format-datetime.pipe.d.ts +8 -0
  221. package/pipes/src/format-number.pipe.d.ts +1 -3
  222. package/pipes/src/view.pipe.d.ts +7 -0
  223. package/services/confirm/src/lib/components/dialog-confirm/dialog-confirm.component.d.ts +3 -3
  224. package/services/license/src/license.service.d.ts +2 -3
  225. package/services/notify/src/components/toast/toast.component.d.ts +9 -13
  226. package/services/notify/src/notify.service.d.ts +4 -5
  227. package/services/storage/src/storage.service.d.ts +3 -4
  228. package/utilities/extensions/index.d.ts +1 -0
  229. package/utilities/extensions/src/object.extension.d.ts +8 -0
  230. package/components/document-builder/src/plugins/paste-handler/filters/replacetabswithinprewithspaces.d.ts +0 -24
@@ -1,9 +1,9 @@
1
- import { ChangeDetectorRef } from '@angular/core';
1
+ import { ChangeDetectorRef, AfterViewInit, OnDestroy } from '@angular/core';
2
2
  import { SdFormGenericComponent, SdFormGenericGroup, SdFormGenericUpload, SdFormGenericVariable } from '../../../../../models';
3
3
  import { BuilderService } from '../../../services';
4
4
  import { FormGroup } from '@angular/forms';
5
5
  import * as i0 from "@angular/core";
6
- export declare class UploadAttribute {
6
+ export declare class UploadAttribute implements AfterViewInit, OnDestroy {
7
7
  #private;
8
8
  private ref;
9
9
  private builderService;
@@ -1,8 +1,8 @@
1
- import { ChangeDetectorRef } from '@angular/core';
1
+ import { ChangeDetectorRef, AfterViewInit, OnDestroy } from '@angular/core';
2
2
  import { SdFormGenericUpload } from '../../../../../models';
3
3
  import { BuilderService } from '../../../services';
4
4
  import * as i0 from "@angular/core";
5
- export declare class UploadControl {
5
+ export declare class UploadControl implements AfterViewInit, OnDestroy {
6
6
  #private;
7
7
  private ref;
8
8
  private builderService;
@@ -0,0 +1,22 @@
1
+ import { SdFormGenericComponent, SdFormGenericGroup } from '../../models';
2
+ export type FormBuilderLayoutItem = SdFormGenericComponent | SdFormGenericGroup;
3
+ export interface FormBuilderLayoutRow {
4
+ id: string;
5
+ items: FormBuilderLayoutItem[];
6
+ columns: number;
7
+ }
8
+ export interface MoveItemToRowRequest {
9
+ itemId: string;
10
+ targetRowId: string;
11
+ targetIndex?: number;
12
+ }
13
+ export interface MoveItemToRowResult {
14
+ rows: FormBuilderLayoutRow[];
15
+ moved: boolean;
16
+ reason?: 'item-not-found' | 'target-row-not-found' | 'row-overflow';
17
+ }
18
+ export declare function normalizeColumns(item: FormBuilderLayoutItem): number;
19
+ export declare function buildFormBuilderRows(components: FormBuilderLayoutItem[]): FormBuilderLayoutRow[];
20
+ export declare function flattenFormBuilderRows(rows: FormBuilderLayoutRow[]): FormBuilderLayoutItem[];
21
+ export declare function canPlaceInRow(row: FormBuilderLayoutRow, item: FormBuilderLayoutItem, ignoredItemId?: string): boolean;
22
+ export declare function moveItemToRow(rows: FormBuilderLayoutRow[], request: MoveItemToRowRequest): MoveItemToRowResult;
@@ -1,4 +1,5 @@
1
- import { CdkDragDrop, CdkDragMove } from '@angular/cdk/drag-drop';
1
+ import { CdkDrag, CdkDragDrop, CdkDragMove, CdkDropList } from '@angular/cdk/drag-drop';
2
+ import { OnInit, OnDestroy } from '@angular/core';
2
3
  import { FormGroup } from '@angular/forms';
3
4
  import { SdModal } from '@sdcorejs/angular/components/modal';
4
5
  import { FormBuilderComponent, FormBuilderComponentGroup, SdFormGenericComponent, SdFormGenericGroup, SdFormGenericVariable } from '../../models';
@@ -6,12 +7,17 @@ import { SdFormGenericValidation } from '../../models/form-generic-validation.mo
6
7
  import { SdFormGeneric } from '../../models/form-generic.model';
7
8
  import { SdFormRender } from '../form-render/form-render.component';
8
9
  import { ConfigureValidationComponent } from './components/configure-validation/configure-validation.component';
10
+ import { FormBuilderLayoutRow } from './form-builder-layout';
9
11
  import * as i0 from "@angular/core";
10
- interface DragDropRowItem {
11
- items: (SdFormGenericComponent | SdFormGenericGroup)[];
12
+ interface DragDropRowItem extends FormBuilderLayoutRow {
12
13
  rowIndex?: number;
13
14
  }
14
- export declare class SdFormBuilder {
15
+ interface ResizeState {
16
+ itemId: string;
17
+ rowId: string;
18
+ columns: string;
19
+ }
20
+ export declare class SdFormBuilder implements OnInit, OnDestroy {
15
21
  #private;
16
22
  readonly popupViewJSON: import("@angular/core").Signal<SdModal | undefined>;
17
23
  readonly popupConfigureVariables: import("@angular/core").Signal<SdModal | undefined>;
@@ -44,6 +50,9 @@ export declare class SdFormBuilder {
44
50
  /** Signal toàn cục: TRUE khi BẤT KỲ cdkDrag nào đang active (palette, canvas, group, resize).
45
51
  * Trigger class `.fb-shell--dragging` để ẩn hover/actions/resize toàn diện, không phụ thuộc :has(). */
46
52
  readonly isAnyDragging: import("@angular/core").WritableSignal<boolean>;
53
+ readonly dragSource: import("@angular/core").WritableSignal<"row" | "palette" | "canvas" | "resize" | undefined>;
54
+ readonly resizeState: import("@angular/core").WritableSignal<ResizeState | undefined>;
55
+ readonly isResizing: import("@angular/core").Signal<boolean>;
47
56
  expand: boolean;
48
57
  dragDropRows: DragDropRowItem[];
49
58
  isDragging: boolean;
@@ -51,18 +60,25 @@ export declare class SdFormBuilder {
51
60
  private lastDragPointer?;
52
61
  /** Handler chung cho mọi cdkDragStarted — set signal global true. */
53
62
  onAnyDragStarted: () => void;
63
+ onPaletteDragStarted: () => void;
64
+ onRowDragStarted: () => void;
54
65
  onAnyDragMoved: (event: CdkDragMove<any>) => void;
55
66
  /** Handler chung cho mọi cdkDragEnded — set signal global false (dùng setTimeout 0
56
67
  * để chờ CDK xử lý xong drop event trước khi UI re-enable). */
57
68
  onAnyDragEnded: () => void;
69
+ startResizeControl: (item: SdFormGenericComponent | SdFormGenericGroup, row: DragDropRowItem) => void;
70
+ endResizeControl: (event: any) => void;
58
71
  constructor();
59
72
  ngOnInit(): void;
60
73
  ngOnDestroy(): void;
61
- addComponent: (item: FormBuilderComponent, index?: number) => void;
74
+ addComponent: (item: FormBuilderComponent, index?: number, layoutColumns?: string) => void;
62
75
  /** Symbol Material để render trên canvas item / attribute header. */
63
76
  symbolFor: (item: SdFormGenericComponent | SdFormGenericGroup) => string;
64
77
  /** Human-readable type label (e.g. "Text field", "Date"). */
65
78
  typeLabelFor: (item: SdFormGenericComponent | SdFormGenericGroup) => string;
79
+ placeholderSymbolFor: (item: FormBuilderComponent | SdFormGenericComponent | SdFormGenericGroup | DragDropRowItem | undefined) => string;
80
+ placeholderTitleFor: (item: FormBuilderComponent | SdFormGenericComponent | SdFormGenericGroup | DragDropRowItem | undefined) => string;
81
+ placeholderMetaFor: (item: FormBuilderComponent | SdFormGenericComponent | SdFormGenericGroup | DragDropRowItem | undefined) => string;
66
82
  /** True nếu component có expression điều kiện — drives the "conditional" status chip. */
67
83
  hasConditional: (item: SdFormGenericComponent | SdFormGenericGroup) => boolean;
68
84
  /** Map SdColor preset → 2 CSS var names cho header-bg và header-fg của group card. */
@@ -91,6 +107,9 @@ export declare class SdFormBuilder {
91
107
  dragStartComponentItem: (event: any) => void;
92
108
  dragEndComponentItem: (event: any) => void;
93
109
  onMouseover: (event: MouseEvent, rowItem: DragDropRowItem) => void;
110
+ isRowFull: (row: DragDropRowItem) => boolean;
111
+ isRowInlineDropLocked: (row: DragDropRowItem) => boolean;
112
+ canEnterRowDropList: (drag: CdkDrag<FormBuilderComponent | SdFormGenericComponent | SdFormGenericGroup>, drop: CdkDropList<(SdFormGenericComponent | SdFormGenericGroup)[]>) => boolean;
94
113
  onFocus: (event: FocusEvent) => void;
95
114
  xuLyKeoCheo: (dragItem?: SdFormGenericComponent | SdFormGenericGroup) => void;
96
115
  noReturnPredicate: () => boolean;
@@ -1,9 +1,9 @@
1
- import { ChangeDetectorRef } from '@angular/core';
1
+ import { ChangeDetectorRef, OnInit, OnDestroy } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { Subject } from 'rxjs';
4
4
  import { SdFormGenericChipCalendar } from '../../../../../../models';
5
5
  import * as i0 from "@angular/core";
6
- export declare class ChipCalendarComponent {
6
+ export declare class ChipCalendarComponent implements OnInit, OnDestroy {
7
7
  #private;
8
8
  private ref;
9
9
  setVariables: Subject<{
@@ -1,9 +1,9 @@
1
- import { ChangeDetectorRef } from '@angular/core';
1
+ import { ChangeDetectorRef, OnInit, OnDestroy } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { Subject } from 'rxjs';
4
4
  import { SdFormGenericChipString } from '../../../../../../models';
5
5
  import * as i0 from "@angular/core";
6
- export declare class ChipStringComponent {
6
+ export declare class ChipStringComponent implements OnInit, OnDestroy {
7
7
  #private;
8
8
  private ref;
9
9
  setVariables: Subject<{
@@ -1,10 +1,10 @@
1
- import { ChangeDetectorRef } from '@angular/core';
1
+ import { ChangeDetectorRef, OnInit, OnDestroy } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { SdFormGenericDatetime } from '../../../../../../models';
4
4
  import { Subject } from 'rxjs';
5
5
  import { Router } from '@angular/router';
6
6
  import * as i0 from "@angular/core";
7
- export declare class DatetimeComponent {
7
+ export declare class DatetimeComponent implements OnInit, OnDestroy {
8
8
  #private;
9
9
  private router;
10
10
  private ref;
@@ -1,10 +1,10 @@
1
- import { AfterViewInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
1
+ import { AfterViewInit, ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { Subject } from 'rxjs';
4
4
  import { SdFormGenericHtml } from '../../../../../../models';
5
5
  import { FormGenericService } from '../../../../../../services';
6
6
  import * as i0 from "@angular/core";
7
- export declare class HtmlComponent implements AfterViewInit, OnDestroy {
7
+ export declare class HtmlComponent implements AfterViewInit, OnDestroy, OnInit {
8
8
  #private;
9
9
  private ref;
10
10
  private readonly formRenderService;
@@ -1,9 +1,9 @@
1
- import { ChangeDetectorRef } from '@angular/core';
1
+ import { ChangeDetectorRef, OnInit, OnDestroy } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { SdFormGenericNumber } from '../../../../../../models';
4
4
  import { Subject } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
6
- export declare class NumberComponent {
6
+ export declare class NumberComponent implements OnInit, OnDestroy {
7
7
  #private;
8
8
  private ref;
9
9
  setVariables: Subject<{
@@ -1,11 +1,11 @@
1
- import { AfterViewInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
1
+ import { AfterViewInit, ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { Subject } from 'rxjs';
4
4
  import { SdFormGenericRadio, SdFormGenericSelectionItem } from '../../../../../../models';
5
5
  import { FormGenericService } from '../../../../../../services';
6
6
  import { Router } from '@angular/router';
7
7
  import * as i0 from "@angular/core";
8
- export declare class RadioComponent implements AfterViewInit, OnDestroy {
8
+ export declare class RadioComponent implements AfterViewInit, OnDestroy, OnInit {
9
9
  #private;
10
10
  private router;
11
11
  private ref;
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
1
+ import { AfterViewInit, ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { SdSearch } from '@sdcorejs/angular/forms';
4
4
  import { SdCustomValidator } from '@sdcorejs/angular/forms/models';
@@ -7,7 +7,7 @@ import { SdFormGenericSelect, SdFormGenericSelectionItem } from '../../../../../
7
7
  import { FormGenericService } from '../../../../../../services';
8
8
  import { Router } from '@angular/router';
9
9
  import * as i0 from "@angular/core";
10
- export declare class SelectComponent implements AfterViewInit, OnDestroy {
10
+ export declare class SelectComponent implements AfterViewInit, OnDestroy, OnInit {
11
11
  #private;
12
12
  private router;
13
13
  private ref;
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
1
+ import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy, QueryList, OnInit } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { SdSideDrawer } from '@sdcorejs/angular/components/side-drawer';
4
4
  import { SdTable, SdTableOption } from '@sdcorejs/angular/components/table';
@@ -8,7 +8,7 @@ import { Subject } from 'rxjs';
8
8
  import { SdFormGenericTableColumn, SdFormGenericSelectionItem, SdFormGenericTable } from '../../../../../../models';
9
9
  import { FormGenericService } from '../../../../../../services';
10
10
  import * as i0 from "@angular/core";
11
- export declare class TableComponent implements AfterViewInit, OnDestroy {
11
+ export declare class TableComponent implements AfterViewInit, OnDestroy, OnInit {
12
12
  #private;
13
13
  private ref;
14
14
  private readonly formGenericService;
@@ -1,9 +1,9 @@
1
- import { ChangeDetectorRef } from '@angular/core';
1
+ import { ChangeDetectorRef, OnInit, OnDestroy } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { SdFormGenericTextarea } from '../../../../../../models';
4
4
  import { Subject } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
6
- export declare class TextareaComponent {
6
+ export declare class TextareaComponent implements OnInit, OnDestroy {
7
7
  #private;
8
8
  private ref;
9
9
  setVariables: Subject<{
@@ -1,10 +1,10 @@
1
- import { ChangeDetectorRef } from '@angular/core';
1
+ import { ChangeDetectorRef, OnInit, OnDestroy } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { SdCustomValidator } from '@sdcorejs/angular/forms/models';
4
4
  import { Subject } from 'rxjs';
5
5
  import { SdFormGenericTextfield } from '../../../../../../models';
6
6
  import * as i0 from "@angular/core";
7
- export declare class TextfieldComponent {
7
+ export declare class TextfieldComponent implements OnInit, OnDestroy {
8
8
  #private;
9
9
  private ref;
10
10
  setVariables: Subject<{
@@ -1,11 +1,11 @@
1
- import { ChangeDetectorRef, OnDestroy } from '@angular/core';
1
+ import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { SdUploadFile } from '@sdcorejs/angular/components/upload-file';
4
4
  import { SdCustomValidator } from '@sdcorejs/angular/forms/models';
5
5
  import { Subject } from 'rxjs';
6
6
  import { SdFormGenericUpload } from '../../../../../../models';
7
7
  import * as i0 from "@angular/core";
8
- export declare class UploadComponent implements OnDestroy {
8
+ export declare class UploadComponent implements OnDestroy, OnInit {
9
9
  #private;
10
10
  private readonly ref;
11
11
  setVariables: Subject<{
@@ -1,9 +1,9 @@
1
- import { ChangeDetectorRef } from '@angular/core';
1
+ import { ChangeDetectorRef, OnInit, OnDestroy } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { Subject } from 'rxjs';
4
4
  import { SdFormGenericVariable } from '../../../../models';
5
5
  import * as i0 from "@angular/core";
6
- export declare class VariableComponent {
6
+ export declare class VariableComponent implements OnInit, OnDestroy {
7
7
  #private;
8
8
  private ref;
9
9
  variables?: SdFormGenericVariable[];
@@ -1,15 +1,12 @@
1
- import { AfterViewInit, ChangeDetectorRef, OnDestroy, QueryList } from '@angular/core';
1
+ import { AfterViewInit, OnDestroy, QueryList } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { Subject } from 'rxjs';
4
- import { ISdFormGenericConfiguration } from '../../configurations';
5
4
  import { SdFormRenderConfiguration } from '../../models';
6
5
  import { SdFormGenericValidation } from '../../models/form-generic-validation.model';
7
6
  import { LibItemComponent } from './components';
8
7
  import * as i0 from "@angular/core";
9
8
  export declare class SdFormRender implements OnDestroy, AfterViewInit {
10
9
  #private;
11
- private ref;
12
- private formGenericConfiguration;
13
10
  formRenderItems: QueryList<LibItemComponent>;
14
11
  form: FormGroup;
15
12
  configuration: SdFormRenderConfiguration;
@@ -28,11 +25,12 @@ export declare class SdFormRender implements OnDestroy, AfterViewInit {
28
25
  key: string;
29
26
  value: any;
30
27
  }>;
31
- constructor(ref: ChangeDetectorRef, formGenericConfiguration: ISdFormGenericConfiguration | null);
28
+ private readonly ref;
29
+ private readonly formGenericConfiguration;
32
30
  ngAfterViewInit(): void;
33
31
  ngOnDestroy(): void;
34
32
  upload: () => Promise<void>;
35
33
  getValidationMessages: (alert: SdFormGenericValidation["alert"]) => Promise<string[] | undefined>;
36
- static ɵfac: i0.ɵɵFactoryDeclaration<SdFormRender, [null, { optional: true; }]>;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdFormRender, never>;
37
35
  static ɵcmp: i0.ɵɵComponentDeclaration<SdFormRender, "sd-form-render", never, { "form": { "alias": "form"; "required": false; }; "_configuration": { "alias": "configuration"; "required": true; }; "_default": { "alias": "defaultEntity"; "required": false; }; "_entity": { "alias": "entity"; "required": false; }; "_properties": { "alias": "properties"; "required": false; }; "_viewed": { "alias": "viewed"; "required": false; }; }, {}, never, never, true, never>;
38
36
  }
@@ -1,11 +1,11 @@
1
- import { ChangeDetectorRef, EventEmitter } from '@angular/core';
1
+ import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { SdModal } from '@sdcorejs/angular/components/modal';
4
4
  import { Attribute, SdFormGenericComponent, SdFormGenericExpression, SdFormGenericGroup } from '../../models';
5
5
  import { ExpressionFeelPipe } from '../../pipes';
6
6
  import { FormGenericService } from '../../services';
7
7
  import * as i0 from "@angular/core";
8
- export declare class SdFeelExpression {
8
+ export declare class SdFeelExpression implements OnInit {
9
9
  #private;
10
10
  private ref;
11
11
  private expressionFeelPipe;
@@ -5,7 +5,7 @@ export interface IWorkflowConfigurationForm<TSelectionArgs = any> {
5
5
  templates: SdFormGenericTemplate[];
6
6
  selections: SdFormGenericDefinitionSelection<any, TSelectionArgs>[] | (() => SdFormGenericDefinitionSelection<any, TSelectionArgs>[]) | (() => Promise<SdFormGenericDefinitionSelection[]>);
7
7
  getValues?: (key: string, selectionArgs?: TSelectionArgs) => Promise<SdFormGenericSelectionItem[]>;
8
- getLazyValues?: (key: string, selectionArgs?: TSelectionArgs) => ((searchArgs: Parameters<SdSearch>[0], args: SdFormGenericArgs) => Promise<SdFormGenericSelectionItem[]>);
8
+ getLazyValues?: (key: string, selectionArgs?: TSelectionArgs) => (searchArgs: Parameters<SdSearch>[0], args: SdFormGenericArgs) => Promise<SdFormGenericSelectionItem[]>;
9
9
  tables: SdFormGenericDefinitionTable[];
10
10
  htmls: SdFormGenericDefinitionHtml[] | (() => SdFormGenericDefinitionHtml[]) | (() => Promise<SdFormGenericDefinitionHtml[]>);
11
11
  validation?: SdFormGenericValidationConfiguration;
@@ -295,14 +295,14 @@ export interface SdFormGenericHtml {
295
295
  export type FormBuilderComponentGroup = 'basic' | 'choice' | 'advanced' | 'layout';
296
296
  export interface FormBuilderComponent {
297
297
  type: string;
298
- /** Material Symbols Rounded icon name. Rendered via <span class="msi">{symbol}</span>. */
298
+ /** Material Icons Outlined icon name. Rendered via the builder icon alias. */
299
299
  symbol: string;
300
300
  /** Category group for the left palette grouping. */
301
301
  group: FormBuilderComponentGroup;
302
302
  name: string;
303
303
  }
304
304
  export declare const FormBuilderComponents: FormBuilderComponent[];
305
- /** Lookup: component type → Material Symbol + label, used by attribute panel header. */
305
+ /** Lookup: component type → Material icon + label, used by attribute panel header. */
306
306
  export declare const COMPONENT_ICONS: Record<string, {
307
307
  symbol: string;
308
308
  label: string;
@@ -1,11 +1,9 @@
1
1
  import { SdSearch } from '@sdcorejs/angular/forms';
2
- import { ISdFormGenericConfiguration } from '../configurations';
3
2
  import { SdFormGenericArgs, SdFormGenericDefinitionHtml, SdFormGenericDefinitionSelection, SdFormGenericSelectionItem } from '../models';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class FormGenericService {
6
5
  #private;
7
6
  private readonly configuration;
8
- constructor(configuration: ISdFormGenericConfiguration);
9
7
  get selections(): (() => Promise<SdFormGenericDefinitionSelection[]>) | SdFormGenericDefinitionSelection<any, any>[] | (() => SdFormGenericDefinitionSelection<any, any>[]);
10
8
  get tables(): import("@sdcorejs/angular/components/form-generic").SdFormGenericDefinitionTable<any>[];
11
9
  getSelection: (valuesKey: string | undefined | null) => Promise<SdFormGenericDefinitionSelection | undefined>;
@@ -21,6 +19,6 @@ export declare class FormGenericService {
21
19
  definitions: () => Promise<SdFormGenericDefinitionHtml[]>;
22
20
  getContent: (template: string, query?: Record<string, any>) => Promise<string>;
23
21
  };
24
- static ɵfac: i0.ɵɵFactoryDeclaration<FormGenericService, [{ optional: true; }]>;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormGenericService, never>;
25
23
  static ɵprov: i0.ɵɵInjectableDeclaration<FormGenericService>;
26
24
  }
@@ -89,7 +89,7 @@ export interface SdUploadExcelColumnStringArray<T = any> extends SdUploadExcelBa
89
89
  minlength?: number;
90
90
  maxlength?: number;
91
91
  }
92
- export type SdImportExcelItem<T = any> = {
92
+ export interface SdImportExcelItem<T = any> {
93
93
  data: T;
94
94
  meta: {
95
95
  excelIndex: number;
@@ -99,4 +99,4 @@ export type SdImportExcelItem<T = any> = {
99
99
  warning: Record<string, string>;
100
100
  warningMessages: string[];
101
101
  };
102
- };
102
+ }
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { EventEmitter, OnDestroy } from '@angular/core';
2
2
  import { ClassicEditor } from 'ckeditor5';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
4
  import { SdMiniEditorOption, SdMiniEditorConfig } from './mini-editor.model';
@@ -18,7 +18,7 @@ import * as i0 from "@angular/core";
18
18
  * </sd-mini-editor>
19
19
  * ```
20
20
  */
21
- export declare class SdMiniEditor implements ControlValueAccessor {
21
+ export declare class SdMiniEditor implements ControlValueAccessor, OnDestroy {
22
22
  #private;
23
23
  /** Cấu hình option cho editor */
24
24
  option: SdMiniEditorOption;
@@ -69,11 +69,11 @@ export declare class SdMiniEditor implements ControlValueAccessor {
69
69
  /**
70
70
  * Get danh sách mentions trong nội dung
71
71
  */
72
- getMentions(): Array<{
72
+ getMentions(): {
73
73
  id: string;
74
74
  name: string;
75
75
  marker: string;
76
- }>;
76
+ }[];
77
77
  /**
78
78
  * ControlValueAccessor: Write value
79
79
  */
@@ -15,7 +15,7 @@ export declare class SdModal {
15
15
  width: import("@angular/core").InputSignalWithTransform<string, string | null | undefined>;
16
16
  height: import("@angular/core").InputSignalWithTransform<string, string | null | undefined>;
17
17
  view: import("@angular/core").InputSignalWithTransform<"dialog" | "bottom-sheet" | undefined, "dialog" | "bottom-sheet" | null | undefined>;
18
- modalClass: import("@angular/core").InputSignalWithTransform<string | string[] | Record<string, boolean>, string | string[] | Record<string, boolean> | null | undefined>;
18
+ modalClass: import("@angular/core").InputSignalWithTransform<string | Record<string, boolean> | string[], string | Record<string, boolean> | string[] | null | undefined>;
19
19
  lazyLoadContent: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
20
20
  hideClose: import("@angular/core").InputSignalWithTransform<boolean, boolean | "">;
21
21
  disableBackdropClose: import("@angular/core").InputSignalWithTransform<boolean, boolean | "">;
@@ -147,7 +147,7 @@ export interface QbDateModeOption {
147
147
  icon: string;
148
148
  }
149
149
  /** Stable option list for the date-mode select (module ref — never reallocated). */
150
- export declare const QB_DATE_MODES: ReadonlyArray<QbDateModeOption>;
150
+ export declare const QB_DATE_MODES: readonly QbDateModeOption[];
151
151
  /** One value-source option for field-to-field comparison UI. */
152
152
  export interface QbValueSourceOption {
153
153
  value: QbValueSource;
@@ -156,11 +156,11 @@ export interface QbValueSourceOption {
156
156
  icon: string;
157
157
  }
158
158
  /** Stable option list for choosing between a literal value and another field. */
159
- export declare const QB_VALUE_SOURCE_OPTIONS: ReadonlyArray<QbValueSourceOption>;
159
+ export declare const QB_VALUE_SOURCE_OPTIONS: readonly QbValueSourceOption[];
160
160
  /** Stable combined direction×unit option list (token `'unit:direction'`). */
161
- export declare const QB_RELATIVE_UNIT_OPTIONS: ReadonlyArray<{
161
+ export declare const QB_RELATIVE_UNIT_OPTIONS: readonly {
162
162
  value: string;
163
163
  display: string;
164
- }>;
164
+ }[];
165
165
  /** Shared empty option array — stable ref for fallbacks (avoids per-call allocation). */
166
166
  export declare const QB_EMPTY_OPTIONS: SdQueryBuilderFieldOption[];
@@ -6,7 +6,7 @@ export declare class SplitterStateService {
6
6
  readonly collapsedMap: import("@angular/core").WritableSignal<ReadonlyMap<string | number, boolean>>;
7
7
  readonly committedLayout: import("@angular/core").WritableSignal<SplitterLayoutState>;
8
8
  setPanelMeta(metas: ResolvedPanelMeta[]): void;
9
- getPanelMetas(): ReadonlyArray<Readonly<ResolvedPanelMeta>>;
9
+ getPanelMetas(): readonly Readonly<ResolvedPanelMeta>[];
10
10
  setLiveSize(id: string | number, size: number): void;
11
11
  setCollapsed(id: string | number, collapsed: boolean): void;
12
12
  reconcile(metas: ResolvedPanelMeta[], stored: SplitterLayoutState | null | undefined): void;
@@ -1,4 +1,4 @@
1
- import { Type } from '@angular/core';
1
+ import { InjectionToken, Type } from '@angular/core';
2
2
  import { Color } from '@sdcorejs/utils/models';
3
3
  import { Subject } from 'rxjs';
4
4
  export interface SdTabInfo {
@@ -19,3 +19,4 @@ export interface SdTab {
19
19
  tabInfoChanges: Subject<SdTabInfo>;
20
20
  beforeClose?: () => boolean | Promise<boolean>;
21
21
  }
22
+ export declare const SD_TAB: InjectionToken<SdTab>;
@@ -13,7 +13,6 @@ export declare class SdTabRouterService {
13
13
  currentTabChanges: BehaviorSubject<SdTab | undefined>;
14
14
  newTabs: BehaviorSubject<SdTab | undefined>;
15
15
  updateTabs: BehaviorSubject<SdTab | undefined>;
16
- constructor();
17
16
  addBuilder: (builder: SdTabComponentBuilder) => void;
18
17
  get currentTab(): SdTab | undefined;
19
18
  get currentKey(): string | null;
@@ -2,13 +2,14 @@ import { SdTableCommand } from '../../models/table-command.model';
2
2
  import { SdTableItem } from '../../models/table-item.model';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class DesktopCommand {
5
- autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
6
- item: import("@angular/core").InputSignal<SdTableItem<any>>;
7
- itemIndex: import("@angular/core").InputSignal<number>;
8
- commands: import("@angular/core").InputSignal<SdTableCommand[] | null | undefined>;
9
- itemKey: import("@angular/core").Signal<string>;
10
- autoId: import("@angular/core").Signal<string>;
11
- _commands: import("@angular/core").Signal<SdTableCommand[]>;
5
+ readonly defaultIconFontSet: import("@sdcorejs/angular/utilities").MaterialIconFontSet;
6
+ readonly autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
7
+ readonly item: import("@angular/core").InputSignal<SdTableItem<any>>;
8
+ readonly itemIndex: import("@angular/core").InputSignal<number>;
9
+ readonly commands: import("@angular/core").InputSignal<SdTableCommand[] | null | undefined>;
10
+ readonly itemKey: import("@angular/core").Signal<string>;
11
+ readonly autoId: import("@angular/core").Signal<string>;
12
+ readonly _commands: import("@angular/core").Signal<SdTableCommand[]>;
12
13
  static ɵfac: i0.ɵɵFactoryDeclaration<DesktopCommand, never>;
13
14
  static ɵcmp: i0.ɵɵComponentDeclaration<DesktopCommand, "desktop-command", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "item": { "alias": "item"; "required": true; "isSignal": true; }; "itemIndex": { "alias": "itemIndex"; "required": true; "isSignal": true; }; "commands": { "alias": "commands"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
14
15
  }
@@ -3,18 +3,7 @@ import { SdTableCommand } from '../../../models/table-command.model';
3
3
  import { SdTableItem } from '../../../models/table-item.model';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
- * Pipe gộp resolve metadata của 1 command theo row hiện tại return 1 object
7
- * chứa `disabled`, `title`, `icon`, và `htmlTemplate` (khi command là child có
8
- * htmlTemplate). Một lần gọi cho cả 4 truy vấn, template dùng `@let` để alias.
9
- *
10
- * Trước đây tách thành 3 pipe `commandDisable` / `commandTitle` / `commandIcon`.
11
- *
12
- * @example
13
- * @let meta = item | command:cmd;
14
- * <button [disabled]="meta.disabled" [matTooltip]="meta.title">
15
- * <mat-icon>{{ meta.icon }}</mat-icon>
16
- * <div [innerHTML]="meta.htmlTemplate"></div>
17
- * </button>
6
+ * Resolves command metadata for the current row once, then lets the template reuse it with `@let`.
18
7
  */
19
8
  export declare class CommandPipe implements PipeTransform {
20
9
  #private;
@@ -3,14 +3,7 @@ import { SdTableCommand, SdTableCommandChildren, SdTableCommandNormal } from '..
3
3
  import { SdTableItem } from '../../../models/table-item.model';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
- * Lọc danh sách commands theo `hidden` (sync / async) + pre-resolve `icon`, `title`, `key`
7
- * cho từng row. Output dùng trực tiếp trong template không cần thêm pipe phụ.
8
- *
9
- * Đã rename từ `commandFilter` → `filter` sau khi gom toàn bộ pipe command vào
10
- * `components/command/pipes/`.
11
- *
12
- * @example
13
- * @let filteredCommands = item | filter:commands | async;
6
+ * Filters visible commands and pre-resolves icon, title, and stable key for the current row.
14
7
  */
15
8
  export declare class CommandFilterPipe implements PipeTransform {
16
9
  #private;
@@ -4,6 +4,7 @@ import { Operator } from '@sdcorejs/utils/models';
4
4
  import { SdTableColumn } from '../../../models/table-column.model';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class ColumnFilterComponent {
7
+ #private;
7
8
  autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
8
9
  column: import("@angular/core").InputSignal<SdTableColumn>;
9
10
  columnFilter: import("@angular/core").InputSignal<Record<string, any>>;
@@ -22,7 +23,6 @@ export declare class ColumnFilterComponent {
22
23
  display: string;
23
24
  }[]>;
24
25
  operatorValues: Signal<Operator[]>;
25
- operatorWrapperClass: Signal<"mb-4 mr-2" | "mr-2">;
26
26
  items: Signal<any[] | SdSearch | Signal<any[]>>;
27
27
  constructor();
28
28
  onFilterChange: () => void;
@@ -45,6 +45,7 @@ interface SdTableColumnBase<T = any> {
45
45
  filter?: {
46
46
  disabled?: boolean;
47
47
  default?: any;
48
+ onChange?: (value: any, column?: SdTableColumn<T>, columnFilter?: Record<string, any>) => void;
48
49
  operator?: {
49
50
  default?: Operator;
50
51
  enable?: boolean;
@@ -66,7 +67,7 @@ interface SdTableColumnNumber<T = any> extends SdTableColumnBase<T> {
66
67
  field: NestedKeyOf<T>;
67
68
  type: 'number';
68
69
  useBadge?: UseBadgeFunc<T>;
69
- filter?: SdTableColumnBase['filter'] & {
70
+ filter?: SdTableColumnBase<T>['filter'] & {
70
71
  type?: 'split-number';
71
72
  };
72
73
  }
@@ -83,7 +84,7 @@ interface SdTableColumnDate<T = any> extends SdTableColumnBase<T> {
83
84
  field: NestedKeyOf<T>;
84
85
  type: 'date' | 'datetime' | 'time';
85
86
  useBadge?: UseBadgeFunc<T>;
86
- filter?: SdTableColumnBase['filter'] & {
87
+ filter?: SdTableColumnBase<T>['filter'] & {
87
88
  type?: 'daterange' | 'date' | 'split-date';
88
89
  };
89
90
  }
@@ -3,7 +3,7 @@ import { SdTableOptionSelector } from '../models/table-option-selector.model';
3
3
  import { SdTableItem } from '../models/table-item.model';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class SdSelectionDisabledPipe implements PipeTransform {
6
- transform: (selectedItems: SdTableItem[], rowData: SdTableItem, selection: SdTableOptionSelector) => boolean;
6
+ transform: <T>(selectedItems: SdTableItem<T>[], rowData: SdTableItem<T>, selection: SdTableOptionSelector<T>) => boolean;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<SdSelectionDisabledPipe, never>;
8
8
  static ɵpipe: i0.ɵɵPipeDeclaration<SdSelectionDisabledPipe, "selectionDisabled", true>;
9
9
  }