@sd-angular/core 19.0.0-beta.1 → 19.0.0-beta.100

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 (796) hide show
  1. package/README.md +723 -64
  2. package/assets/scss/README.md +524 -0
  3. package/assets/scss/ckeditor5.scss +61 -4
  4. package/assets/scss/core/bootstrap.scss +0 -83
  5. package/assets/scss/core/form.scss +36 -16
  6. package/assets/scss/core/utilities/_base.scss +333 -0
  7. package/assets/scss/core/utilities/_border.scss +22 -0
  8. package/assets/scss/core/utilities/_display.scss +10 -0
  9. package/assets/scss/core/utilities/_elevation.scss +80 -0
  10. package/assets/scss/core/utilities/_flexbox.scss +54 -0
  11. package/assets/scss/core/utilities/_gap.scss +9 -0
  12. package/assets/scss/core/utilities/_grid.scss +142 -0
  13. package/assets/scss/core/utilities/_index.scss +17 -0
  14. package/assets/scss/core/utilities/_misc.scss +20 -0
  15. package/assets/scss/core/utilities/_overflow.scss +9 -0
  16. package/assets/scss/core/utilities/_position.scss +8 -0
  17. package/assets/scss/core/utilities/_sizing.scss +28 -0
  18. package/assets/scss/core/utilities/_spacing.scss +31 -0
  19. package/assets/scss/core/utilities/_typography.scss +99 -0
  20. package/assets/scss/sd-core.scss +8 -5
  21. package/assets/scss/themes/material-theme.scss +82 -40
  22. package/components/anchor/index.d.ts +1 -1
  23. package/components/anchor/src/components/anchor/anchor.component.d.ts +22 -0
  24. package/components/anchor/src/components/anchor-item/anchor-item.component.d.ts +9 -11
  25. package/components/anchor/src/components/anchor-nav/anchor-nav.component.d.ts +21 -0
  26. package/components/anchor/src/components/index.d.ts +1 -1
  27. package/components/anchor/src/models/index.d.ts +1 -0
  28. package/components/anchor/src/models/sd-anchor.model.d.ts +7 -0
  29. package/components/autoid-inspector/index.d.ts +8 -0
  30. package/components/autoid-inspector/src/autoid-inspector.component.d.ts +55 -0
  31. package/components/autoid-inspector/src/models/autoid-element.model.d.ts +55 -0
  32. package/components/autoid-inspector/src/models/autoid-export-format.model.d.ts +6 -0
  33. package/components/autoid-inspector/src/models/autoid-inspector-config.model.d.ts +8 -0
  34. package/components/autoid-inspector/src/services/autoid-audit.service.d.ts +19 -0
  35. package/components/autoid-inspector/src/services/autoid-export.service.d.ts +21 -0
  36. package/components/autoid-inspector/src/services/autoid-highlight.service.d.ts +12 -0
  37. package/components/autoid-inspector/src/services/autoid-scanner.service.d.ts +23 -0
  38. package/components/avatar/index.d.ts +1 -0
  39. package/components/avatar/src/avatar.component.d.ts +19 -0
  40. package/components/badge/src/badge.component.d.ts +74 -20
  41. package/components/button/src/button.component.d.ts +30 -28
  42. package/components/chart/index.d.ts +4 -0
  43. package/components/chart/src/bar-chart.component.d.ts +18 -0
  44. package/components/chart/src/doughnut-chart.component.d.ts +16 -0
  45. package/components/chart/src/line-chart.component.d.ts +18 -0
  46. package/components/chart/src/pie-chart.component.d.ts +16 -0
  47. package/components/code-editor/index.d.ts +1 -0
  48. package/components/code-editor/src/code-editor.component.d.ts +25 -0
  49. package/components/document-builder/index.d.ts +1 -0
  50. package/components/document-builder/src/components/header-footer-builder/header-footer-builder.component.d.ts +4 -1
  51. package/components/document-builder/src/document-builder.component.d.ts +14 -42
  52. package/components/document-builder/src/document-builder.config.d.ts +21 -0
  53. package/components/document-builder/src/document-builder.model.d.ts +22 -12
  54. package/components/document-builder/src/document-builder.utils.d.ts +10 -0
  55. package/components/document-builder/src/plugins/block-space/block-space.plugin.d.ts +9 -0
  56. package/components/document-builder/src/plugins/ck-comment/ck-comment.plugin.d.ts +44 -0
  57. package/components/document-builder/src/plugins/ck-comment/ck-comment.plugin.model.d.ts +57 -0
  58. package/components/document-builder/src/plugins/heading/heading.plugin.d.ts +5 -0
  59. package/components/document-builder/src/plugins/highlight-range/highlight-range.plugin.d.ts +4 -0
  60. package/components/document-builder/src/plugins/image-custom/image-custom.plugin.d.ts +31 -0
  61. package/components/document-builder/src/plugins/{image-upload.plugin.d.ts → image-upload/image-upload.plugin.d.ts} +0 -4
  62. package/components/document-builder/src/plugins/index.d.ts +11 -5
  63. package/components/document-builder/src/plugins/{page-orientation.plugin.d.ts → page-orientation/page-orientation.plugin.d.ts} +2 -2
  64. package/components/document-builder/src/plugins/paste-handler/filters/bookmark.d.ts +14 -0
  65. package/components/document-builder/src/plugins/paste-handler/filters/br.d.ts +15 -0
  66. package/components/document-builder/src/plugins/paste-handler/filters/image.d.ts +25 -0
  67. package/components/document-builder/src/plugins/paste-handler/filters/list.d.ts +29 -0
  68. package/components/document-builder/src/plugins/paste-handler/filters/parse.d.ts +35 -0
  69. package/components/document-builder/src/plugins/paste-handler/filters/removeboldwrapper.d.ts +15 -0
  70. package/components/document-builder/src/plugins/paste-handler/filters/removegooglesheetstag.d.ts +15 -0
  71. package/components/document-builder/src/plugins/paste-handler/filters/removeinvalidtablewidth.d.ts +15 -0
  72. package/components/document-builder/src/plugins/paste-handler/filters/removemsattributes.d.ts +15 -0
  73. package/components/document-builder/src/plugins/paste-handler/filters/removestyleblock.d.ts +15 -0
  74. package/components/document-builder/src/plugins/paste-handler/filters/removexmlns.d.ts +15 -0
  75. package/components/document-builder/src/plugins/paste-handler/filters/replacemsfootnotes.d.ts +54 -0
  76. package/components/document-builder/src/plugins/paste-handler/filters/replacetabswithinprewithspaces.d.ts +24 -0
  77. package/components/document-builder/src/plugins/paste-handler/filters/space.d.ts +27 -0
  78. package/components/document-builder/src/plugins/paste-handler/filters/table.d.ts +16 -0
  79. package/components/document-builder/src/plugins/paste-handler/filters/utils.d.ts +25 -0
  80. package/components/document-builder/src/plugins/paste-handler/index.d.ts +35 -0
  81. package/components/document-builder/src/plugins/paste-handler/normalizers/googledocsnormalizer.d.ts +31 -0
  82. package/components/document-builder/src/plugins/paste-handler/normalizers/googlesheetsnormalizer.d.ts +31 -0
  83. package/components/document-builder/src/plugins/paste-handler/normalizers/mswordnormalizer.d.ts +29 -0
  84. package/components/document-builder/src/plugins/paste-handler/types.d.ts +30 -0
  85. package/components/document-builder/src/plugins/table-custom/index.d.ts +34 -0
  86. package/components/document-builder/src/plugins/variable/variable.plugin.d.ts +51 -0
  87. package/components/editor/index.d.ts +3 -0
  88. package/components/editor/src/configurations/editor.configuration.d.ts +12 -0
  89. package/components/editor/src/configurations/index.d.ts +1 -0
  90. package/components/editor/src/editor.component.d.ts +52 -0
  91. package/components/editor/src/models/editor.model.d.ts +10 -0
  92. package/components/editor/src/models/image-upload.plugin.model.d.ts +51 -0
  93. package/components/editor/src/models/index.d.ts +2 -0
  94. package/components/editor/src/plugins/image-upload/image-upload.plugin.d.ts +22 -0
  95. package/components/editor/src/plugins/image-upload/utils/batch.utils.d.ts +14 -0
  96. package/components/editor/src/plugins/image-upload/utils/index.d.ts +3 -0
  97. package/components/editor/src/plugins/image-upload/utils/style.utils.d.ts +3 -0
  98. package/components/editor/src/plugins/image-upload/utils/validate.utils.d.ts +4 -0
  99. package/components/{workflow → form-generic}/src/components/form-builder/components/attribute-table/attribute-table.component.d.ts +6 -4
  100. package/components/{workflow → form-generic}/src/components/form-builder/components/attribute-template/attribute-template.component.d.ts +4 -4
  101. package/components/{workflow → form-generic}/src/components/form-builder/components/configure-validation/configure-validation.component.d.ts +4 -4
  102. package/components/{workflow → form-generic}/src/components/form-builder/components/expression-builder/expression-builder.component.d.ts +1 -1
  103. package/components/form-generic/src/components/form-builder/components/group/attribute/group-attribute.component.d.ts +23 -0
  104. package/components/form-generic/src/components/form-builder/components/group/index.d.ts +1 -0
  105. package/components/{workflow → form-generic}/src/components/form-builder/components/index.d.ts +1 -0
  106. package/components/{workflow → form-generic}/src/components/form-builder/components/table/control/table-control.component.d.ts +3 -0
  107. package/components/form-generic/src/components/form-builder/form-builder.component.d.ts +120 -0
  108. package/components/{workflow → form-generic}/src/components/form-render/form-render.component.d.ts +4 -4
  109. package/components/{workflow → form-generic}/src/components/sd-feel-expression/sd-feel-expression.component.d.ts +1 -1
  110. package/components/{workflow/src/configurations/workflow.configuration.d.ts → form-generic/src/configurations/form-generic.configuration.d.ts} +2 -2
  111. package/components/form-generic/src/configurations/index.d.ts +2 -0
  112. package/components/{workflow → form-generic}/src/models/form-generic-component.model.d.ts +27 -6
  113. package/components/{workflow → form-generic}/src/models/form-generic-expression.model.d.ts +1 -0
  114. package/components/{workflow → form-generic}/src/models/index.d.ts +1 -0
  115. package/components/{workflow → form-generic}/src/pipes/html.pipe.d.ts +4 -4
  116. package/components/{workflow → form-generic}/src/services/form-generic.service.d.ts +3 -3
  117. package/components/index.d.ts +9 -2
  118. package/components/mini-editor/index.d.ts +2 -0
  119. package/components/mini-editor/src/mini-editor.component.d.ts +91 -0
  120. package/components/mini-editor/src/mini-editor.model.d.ts +44 -0
  121. package/components/modal/index.d.ts +1 -1
  122. package/components/modal/src/modal.component.d.ts +29 -0
  123. package/components/preview/index.d.ts +3 -0
  124. package/components/preview/src/preview-image/preview-image.component.d.ts +84 -24
  125. package/components/preview/src/preview-image/preview-image.types.d.ts +53 -0
  126. package/components/preview/src/preview-pdf/preview-pdf.component.d.ts +186 -0
  127. package/components/preview/src/preview-pdf/preview-pdf.types.d.ts +84 -0
  128. package/components/quick-action/src/quick-action.component.d.ts +5 -6
  129. package/components/section/index.d.ts +1 -0
  130. package/components/section/src/section-item/section-item.component.d.ts +7 -0
  131. package/components/section/src/section.component.d.ts +11 -12
  132. package/components/side-drawer/src/side-drawer.component.d.ts +17 -26
  133. package/components/splitter/index.d.ts +3 -0
  134. package/components/splitter/src/splitter-handle/splitter-handle.component.d.ts +24 -0
  135. package/components/splitter/src/splitter-panel/splitter-panel.component.d.ts +16 -0
  136. package/components/splitter/src/splitter-state.service.d.ts +26 -0
  137. package/components/splitter/src/splitter.component.d.ts +28 -0
  138. package/components/splitter/src/splitter.models.d.ts +23 -0
  139. package/components/tab-router/src/components/tab-router-item/tab-router-item.component.d.ts +4 -1
  140. package/components/tab-router/src/components/tab-router-nav/tab-router-nav.component.d.ts +5 -6
  141. package/components/tab-router/src/components/tab-router-outlet/tab-router-outlet.component.d.ts +6 -17
  142. package/components/table/index.d.ts +3 -0
  143. package/components/table/src/components/column-title/column-title.component.d.ts +10 -0
  144. package/components/table/src/components/command/desktop-command.component.d.ts +14 -0
  145. package/components/table/src/components/command/pipes/command.pipe.d.ts +30 -0
  146. package/components/table/src/components/command/pipes/filter.pipe.d.ts +35 -0
  147. package/components/table/src/components/config/config.component.d.ts +7 -14
  148. package/components/table/src/components/desktop-cell/desktop-cell.component.d.ts +19 -12
  149. package/components/table/src/components/desktop-cell/view/view.component.d.ts +24 -0
  150. package/components/table/src/components/filter/column-filter/column-filter.component.d.ts +36 -0
  151. package/components/table/src/components/filter/external-filter/external-filter.component.d.ts +27 -0
  152. package/components/table/src/components/filter/index.d.ts +3 -0
  153. package/components/table/src/components/filter/mobile-filter/mobile-filter.component.d.ts +42 -0
  154. package/components/table/src/components/index.d.ts +2 -2
  155. package/components/table/src/components/selector-action/action-filter.pipe.d.ts +11 -10
  156. package/components/table/src/components/selector-action/selector-action.component.d.ts +7 -6
  157. package/components/table/src/directives/index.d.ts +5 -0
  158. package/components/table/src/directives/sd-column-resize.directive.d.ts +13 -0
  159. package/components/table/src/directives/sd-table-cell-def.directive.d.ts +4 -5
  160. package/components/table/src/directives/sd-table-column-filter-def.directive.d.ts +8 -0
  161. package/components/table/src/directives/sd-table-expand-def.directive.d.ts +3 -4
  162. package/components/table/src/directives/sd-table-filter-def.directive.d.ts +4 -6
  163. package/components/table/src/directives/sd-table-footer-def.directive.d.ts +2 -3
  164. package/components/table/src/directives/sd-table-title-def.directive.d.ts +8 -0
  165. package/components/table/src/directives/sticky-shadow.directive.d.ts +17 -0
  166. package/components/table/src/models/index.d.ts +1 -0
  167. package/components/table/src/models/table-column.model.d.ts +49 -40
  168. package/components/table/src/models/table-command.model.d.ts +7 -3
  169. package/components/table/src/models/table-item.model.d.ts +15 -3
  170. package/components/table/src/models/table-option-config.model.d.ts +5 -0
  171. package/components/table/src/models/table-option-export.model.d.ts +3 -2
  172. package/components/table/src/models/table-option-selector.model.d.ts +65 -10
  173. package/components/table/src/models/table-option-style.model.d.ts +6 -1
  174. package/components/table/src/models/table-option-tree.model.d.ts +12 -0
  175. package/components/table/src/models/table-option.model.d.ts +137 -8
  176. package/components/table/src/pipes/index.d.ts +1 -0
  177. package/components/table/src/pipes/sd-tree.pipe.d.ts +9 -0
  178. package/components/table/src/services/column-width.util.d.ts +7 -0
  179. package/components/table/src/services/config.service.d.ts +5 -0
  180. package/components/table/src/services/index.d.ts +3 -0
  181. package/components/table/src/services/table-export/table-export.service.d.ts +26 -0
  182. package/components/table/src/services/table-filter/table-filter.model.d.ts +6 -5
  183. package/components/table/src/services/table-format/table-format.service.d.ts +16 -0
  184. package/components/table/src/services/tree/tree.util.d.ts +14 -0
  185. package/components/table/src/table.component.d.ts +58 -57
  186. package/components/upload-file/src/configurations/upload-file.configuration.d.ts +34 -1
  187. package/components/upload-file/src/services/upload-file.service.d.ts +0 -1
  188. package/components/upload-file/src/upload-file.component.d.ts +58 -54
  189. package/components/view/index.d.ts +1 -0
  190. package/components/view/src/view.component.d.ts +16 -0
  191. package/configurations/src/sd-core.configuration.d.ts +2 -0
  192. package/directives/index.d.ts +2 -0
  193. package/directives/src/sd-href.directive.d.ts +9 -0
  194. package/directives/src/sd-tooltip.directive.d.ts +26 -0
  195. package/fesm2022/sd-angular-core-components-anchor.mjs +139 -214
  196. package/fesm2022/sd-angular-core-components-anchor.mjs.map +1 -1
  197. package/fesm2022/sd-angular-core-components-autoid-inspector.mjs +723 -0
  198. package/fesm2022/sd-angular-core-components-autoid-inspector.mjs.map +1 -0
  199. package/fesm2022/sd-angular-core-components-avatar.mjs +103 -0
  200. package/fesm2022/sd-angular-core-components-avatar.mjs.map +1 -0
  201. package/fesm2022/sd-angular-core-components-badge.mjs +102 -93
  202. package/fesm2022/sd-angular-core-components-badge.mjs.map +1 -1
  203. package/fesm2022/sd-angular-core-components-base.mjs +3 -3
  204. package/fesm2022/sd-angular-core-components-button.mjs +72 -98
  205. package/fesm2022/sd-angular-core-components-button.mjs.map +1 -1
  206. package/fesm2022/sd-angular-core-components-chart.mjs +290 -0
  207. package/fesm2022/sd-angular-core-components-chart.mjs.map +1 -0
  208. package/fesm2022/sd-angular-core-components-code-editor.mjs +128 -0
  209. package/fesm2022/sd-angular-core-components-code-editor.mjs.map +1 -0
  210. package/fesm2022/sd-angular-core-components-document-builder.mjs +4478 -813
  211. package/fesm2022/sd-angular-core-components-document-builder.mjs.map +1 -1
  212. package/fesm2022/sd-angular-core-components-editor.mjs +1078 -0
  213. package/fesm2022/sd-angular-core-components-editor.mjs.map +1 -0
  214. package/fesm2022/sd-angular-core-components-form-generic.mjs +6714 -0
  215. package/fesm2022/sd-angular-core-components-form-generic.mjs.map +1 -0
  216. package/fesm2022/sd-angular-core-components-history.mjs +9 -8
  217. package/fesm2022/sd-angular-core-components-history.mjs.map +1 -1
  218. package/fesm2022/sd-angular-core-components-import-excel.mjs +35 -33
  219. package/fesm2022/sd-angular-core-components-import-excel.mjs.map +1 -1
  220. package/fesm2022/sd-angular-core-components-mini-editor.mjs +332 -0
  221. package/fesm2022/sd-angular-core-components-mini-editor.mjs.map +1 -0
  222. package/fesm2022/sd-angular-core-components-modal.mjs +70 -93
  223. package/fesm2022/sd-angular-core-components-modal.mjs.map +1 -1
  224. package/fesm2022/sd-angular-core-components-preview.mjs +1963 -89
  225. package/fesm2022/sd-angular-core-components-preview.mjs.map +1 -1
  226. package/fesm2022/sd-angular-core-components-query-builder.mjs +3 -3
  227. package/fesm2022/sd-angular-core-components-quick-action.mjs +10 -21
  228. package/fesm2022/sd-angular-core-components-quick-action.mjs.map +1 -1
  229. package/fesm2022/sd-angular-core-components-section.mjs +42 -44
  230. package/fesm2022/sd-angular-core-components-section.mjs.map +1 -1
  231. package/fesm2022/sd-angular-core-components-side-drawer.mjs +91 -91
  232. package/fesm2022/sd-angular-core-components-side-drawer.mjs.map +1 -1
  233. package/fesm2022/sd-angular-core-components-splitter.mjs +646 -0
  234. package/fesm2022/sd-angular-core-components-splitter.mjs.map +1 -0
  235. package/fesm2022/sd-angular-core-components-tab-router.mjs +304 -288
  236. package/fesm2022/sd-angular-core-components-tab-router.mjs.map +1 -1
  237. package/fesm2022/sd-angular-core-components-table.mjs +2558 -1589
  238. package/fesm2022/sd-angular-core-components-table.mjs.map +1 -1
  239. package/fesm2022/sd-angular-core-components-upload-file.mjs +422 -463
  240. package/fesm2022/sd-angular-core-components-upload-file.mjs.map +1 -1
  241. package/fesm2022/sd-angular-core-components-view.mjs +45 -0
  242. package/fesm2022/sd-angular-core-components-view.mjs.map +1 -0
  243. package/fesm2022/sd-angular-core-components.mjs +9 -2
  244. package/fesm2022/sd-angular-core-components.mjs.map +1 -1
  245. package/fesm2022/sd-angular-core-configurations.mjs.map +1 -1
  246. package/fesm2022/sd-angular-core-directives.mjs +303 -40
  247. package/fesm2022/sd-angular-core-directives.mjs.map +1 -1
  248. package/fesm2022/sd-angular-core-forms-autocomplete.mjs +311 -347
  249. package/fesm2022/sd-angular-core-forms-autocomplete.mjs.map +1 -1
  250. package/fesm2022/sd-angular-core-forms-checkbox.mjs +14 -15
  251. package/fesm2022/sd-angular-core-forms-checkbox.mjs.map +1 -1
  252. package/fesm2022/sd-angular-core-forms-chip-calendar.mjs +195 -195
  253. package/fesm2022/sd-angular-core-forms-chip-calendar.mjs.map +1 -1
  254. package/fesm2022/sd-angular-core-forms-chip.mjs +202 -200
  255. package/fesm2022/sd-angular-core-forms-chip.mjs.map +1 -1
  256. package/fesm2022/sd-angular-core-forms-date-range.mjs +222 -258
  257. package/fesm2022/sd-angular-core-forms-date-range.mjs.map +1 -1
  258. package/fesm2022/sd-angular-core-forms-date.mjs +217 -273
  259. package/fesm2022/sd-angular-core-forms-date.mjs.map +1 -1
  260. package/fesm2022/sd-angular-core-forms-datetime.mjs +627 -307
  261. package/fesm2022/sd-angular-core-forms-datetime.mjs.map +1 -1
  262. package/fesm2022/sd-angular-core-forms-directives.mjs +12 -12
  263. package/fesm2022/sd-angular-core-forms-input-number.mjs +236 -326
  264. package/fesm2022/sd-angular-core-forms-input-number.mjs.map +1 -1
  265. package/fesm2022/sd-angular-core-forms-input.mjs +233 -286
  266. package/fesm2022/sd-angular-core-forms-input.mjs.map +1 -1
  267. package/fesm2022/sd-angular-core-forms-label.mjs +3 -3
  268. package/fesm2022/sd-angular-core-forms-models.mjs +65 -2
  269. package/fesm2022/sd-angular-core-forms-models.mjs.map +1 -1
  270. package/fesm2022/sd-angular-core-forms-radio.mjs +32 -17
  271. package/fesm2022/sd-angular-core-forms-radio.mjs.map +1 -1
  272. package/fesm2022/sd-angular-core-forms-select.mjs +411 -436
  273. package/fesm2022/sd-angular-core-forms-select.mjs.map +1 -1
  274. package/fesm2022/sd-angular-core-forms-switch.mjs +15 -21
  275. package/fesm2022/sd-angular-core-forms-switch.mjs.map +1 -1
  276. package/fesm2022/sd-angular-core-forms-textarea.mjs +211 -221
  277. package/fesm2022/sd-angular-core-forms-textarea.mjs.map +1 -1
  278. package/fesm2022/sd-angular-core-forms.mjs +4 -4
  279. package/fesm2022/sd-angular-core-handlers.mjs +10 -9
  280. package/fesm2022/sd-angular-core-handlers.mjs.map +1 -1
  281. package/fesm2022/sd-angular-core-i18n.mjs +2547 -0
  282. package/fesm2022/sd-angular-core-i18n.mjs.map +1 -0
  283. package/fesm2022/sd-angular-core-interceptors.mjs +37 -10
  284. package/fesm2022/sd-angular-core-interceptors.mjs.map +1 -1
  285. package/fesm2022/sd-angular-core-models.mjs +6 -0
  286. package/fesm2022/sd-angular-core-models.mjs.map +1 -0
  287. package/fesm2022/sd-angular-core-modules-auth.mjs +137 -0
  288. package/fesm2022/sd-angular-core-modules-auth.mjs.map +1 -0
  289. package/fesm2022/sd-angular-core-modules-authom.mjs +360 -0
  290. package/fesm2022/sd-angular-core-modules-authom.mjs.map +1 -0
  291. package/fesm2022/sd-angular-core-modules-keycloak.mjs +127 -0
  292. package/fesm2022/sd-angular-core-modules-keycloak.mjs.map +1 -0
  293. package/fesm2022/sd-angular-core-modules-layout.mjs +957 -516
  294. package/fesm2022/sd-angular-core-modules-layout.mjs.map +1 -1
  295. package/fesm2022/sd-angular-core-modules-permission.mjs +166 -80
  296. package/fesm2022/sd-angular-core-modules-permission.mjs.map +1 -1
  297. package/fesm2022/sd-angular-core-modules.mjs +3 -1
  298. package/fesm2022/sd-angular-core-modules.mjs.map +1 -1
  299. package/fesm2022/sd-angular-core-pipes.mjs +35 -16
  300. package/fesm2022/sd-angular-core-pipes.mjs.map +1 -1
  301. package/fesm2022/sd-angular-core-services-api.mjs +31 -51
  302. package/fesm2022/sd-angular-core-services-api.mjs.map +1 -1
  303. package/fesm2022/sd-angular-core-services-cache.mjs +3 -3
  304. package/fesm2022/sd-angular-core-services-confirm.mjs +83 -44
  305. package/fesm2022/sd-angular-core-services-confirm.mjs.map +1 -1
  306. package/fesm2022/sd-angular-core-services-docx.mjs +300 -0
  307. package/fesm2022/sd-angular-core-services-docx.mjs.map +1 -0
  308. package/fesm2022/sd-angular-core-services-excel.mjs +33 -27
  309. package/fesm2022/sd-angular-core-services-excel.mjs.map +1 -1
  310. package/fesm2022/sd-angular-core-services-license.mjs +3 -3
  311. package/fesm2022/sd-angular-core-services-loading.mjs +3 -3
  312. package/fesm2022/sd-angular-core-services-notify.mjs +24 -24
  313. package/fesm2022/sd-angular-core-services-notify.mjs.map +1 -1
  314. package/fesm2022/sd-angular-core-services-storage.mjs +8 -3
  315. package/fesm2022/sd-angular-core-services-storage.mjs.map +1 -1
  316. package/fesm2022/sd-angular-core-services.mjs +1 -0
  317. package/fesm2022/sd-angular-core-services.mjs.map +1 -1
  318. package/fesm2022/sd-angular-core-utilities-data-state.mjs +38 -0
  319. package/fesm2022/sd-angular-core-utilities-data-state.mjs.map +1 -0
  320. package/fesm2022/sd-angular-core-utilities-extensions.mjs +90 -792
  321. package/fesm2022/sd-angular-core-utilities-extensions.mjs.map +1 -1
  322. package/fesm2022/sd-angular-core-utilities-models.mjs +42 -105
  323. package/fesm2022/sd-angular-core-utilities-models.mjs.map +1 -1
  324. package/fesm2022/sd-angular-core-utilities.mjs +1 -0
  325. package/fesm2022/sd-angular-core-utilities.mjs.map +1 -1
  326. package/fesm2022/sd-angular-core.mjs +0 -1
  327. package/fesm2022/sd-angular-core.mjs.map +1 -1
  328. package/forms/autocomplete/src/autocomplete.component.d.ts +61 -52
  329. package/forms/checkbox/src/checkbox.component.d.ts +6 -3
  330. package/forms/chip/src/chip.component.d.ts +44 -41
  331. package/forms/chip-calendar/src/chip-calendar.component.d.ts +44 -39
  332. package/forms/date/src/date.component.d.ts +53 -45
  333. package/forms/date-range/src/date-range.component.d.ts +42 -38
  334. package/forms/datetime/src/datetime.component.d.ts +67 -49
  335. package/forms/datetime/src/popup/sd-datetime-picker.component.d.ts +37 -0
  336. package/forms/datetime/src/popup/sd-time-spinner.component.d.ts +41 -0
  337. package/forms/input/src/input.component.d.ts +64 -56
  338. package/forms/input-number/src/input-number.component.d.ts +59 -52
  339. package/forms/models/index.d.ts +1 -0
  340. package/forms/models/src/form-control-state.d.ts +23 -0
  341. package/forms/radio/src/radio.component.d.ts +11 -3
  342. package/forms/select/src/select.component.d.ts +74 -61
  343. package/forms/switch/src/switch.component.d.ts +9 -6
  344. package/forms/textarea/src/textarea.component.d.ts +49 -42
  345. package/i18n/index.d.ts +5 -0
  346. package/i18n/src/en.d.ts +442 -0
  347. package/i18n/src/i18n.messages.d.ts +2 -0
  348. package/i18n/src/i18n.pipe.d.ts +9 -0
  349. package/i18n/src/i18n.service.d.ts +14 -0
  350. package/i18n/src/i18n.token.d.ts +1 -0
  351. package/i18n/src/i18n.types.d.ts +31 -0
  352. package/i18n/src/ja.d.ts +2 -0
  353. package/i18n/src/ko.d.ts +2 -0
  354. package/i18n/src/vi.d.ts +2 -0
  355. package/i18n/src/zh.d.ts +2 -0
  356. package/interceptors/index.d.ts +1 -0
  357. package/interceptors/unauthorized/unauthorized.interceptor.d.ts +12 -0
  358. package/models/index.d.ts +1 -0
  359. package/models/src/language.model.d.ts +2 -0
  360. package/modules/auth/configurations/auth.configuration.d.ts +19 -0
  361. package/modules/auth/configurations/index.d.ts +1 -0
  362. package/modules/auth/guards/auth.guard.d.ts +11 -0
  363. package/modules/auth/guards/index.d.ts +2 -0
  364. package/modules/auth/guards/portal.guard.d.ts +11 -0
  365. package/modules/auth/index.d.ts +3 -0
  366. package/modules/auth/services/auth.model.d.ts +8 -0
  367. package/modules/auth/services/auth.service.d.ts +17 -0
  368. package/modules/auth/services/index.d.ts +2 -0
  369. package/modules/authom/authom.configuration.d.ts +17 -0
  370. package/modules/authom/authom.interceptor.d.ts +3 -0
  371. package/modules/authom/authom.module.d.ts +16 -0
  372. package/modules/authom/authom.service.d.ts +32 -0
  373. package/modules/authom/index.d.ts +35 -0
  374. package/modules/index.d.ts +3 -1
  375. package/modules/keycloak/index.d.ts +4 -0
  376. package/modules/keycloak/keycloak.configuration.d.ts +11 -0
  377. package/modules/keycloak/keycloak.interceptor.d.ts +2 -0
  378. package/modules/keycloak/keycloak.module.d.ts +18 -0
  379. package/modules/keycloak/keycloak.service.d.ts +14 -0
  380. package/modules/layout/components/index.d.ts +2 -0
  381. package/modules/layout/components/layout-main/layout-main.component.d.ts +8 -12
  382. package/modules/layout/components/page/page.component.d.ts +5 -7
  383. package/modules/layout/components/sidebar-mobile-v1/components/sidebar/sidebar.component.d.ts +35 -0
  384. package/modules/layout/components/sidebar-mobile-v1/components/user/user.component.d.ts +24 -0
  385. package/modules/layout/components/sidebar-mobile-v1/main.component.d.ts +21 -0
  386. package/modules/layout/components/sidebar-v1/components/sidebar/sidebar.component.d.ts +29 -29
  387. package/modules/layout/components/sidebar-v1/components/user/user.component.d.ts +11 -17
  388. package/modules/layout/components/sidebar-v1/main.component.d.ts +14 -14
  389. package/modules/layout/configurations/layout.configuration.d.ts +54 -3
  390. package/modules/layout/modules/forbidden/pages/root/root.component.d.ts +3 -8
  391. package/modules/layout/modules/home/components/home-page/home-page.component.d.ts +27 -5
  392. package/modules/layout/modules/not-found/pages/root/root.component.d.ts +3 -8
  393. package/modules/layout/pipes/high-light-search.pipe.d.ts +1 -1
  394. package/modules/layout/services/index.d.ts +1 -0
  395. package/modules/layout/services/layout.service.d.ts +10 -0
  396. package/modules/layout/services/menu/menu.model.d.ts +4 -1
  397. package/modules/layout/services/storage/storage.service.d.ts +2 -3
  398. package/modules/permission/src/configurations/permission.configuration.d.ts +56 -2
  399. package/modules/permission/src/directives/permission.directive.d.ts +5 -8
  400. package/modules/permission/src/guards/permission.guard.d.ts +2 -1
  401. package/modules/permission/src/services/permission.service.d.ts +6 -9
  402. package/package.json +118 -73
  403. package/pipes/index.d.ts +1 -0
  404. package/pipes/src/empty.pipe.d.ts +7 -0
  405. package/pipes/src/format-number.pipe.d.ts +1 -1
  406. package/public-api.d.ts +0 -1
  407. package/sd-angular-core-19.0.0-beta.100.tgz +0 -0
  408. package/services/api/src/api.model.d.ts +7 -1
  409. package/services/api/src/api.service.d.ts +3 -7
  410. package/services/api/src/interceptors/api.interceptor.d.ts +2 -4
  411. package/services/confirm/src/lib/components/dialog-confirm/dialog-confirm.component.d.ts +8 -0
  412. package/services/confirm/src/lib/confirm.service.d.ts +19 -0
  413. package/services/docx/index.d.ts +1 -0
  414. package/services/docx/src/lib/docx.model.d.ts +9 -0
  415. package/services/docx/src/lib/docx.service.d.ts +15 -0
  416. package/services/docx/src/lib/pandoc-core.d.ts +11 -0
  417. package/services/docx/src/public-api.d.ts +2 -0
  418. package/services/index.d.ts +1 -0
  419. package/services/notify/index.d.ts +1 -0
  420. package/services/notify/src/components/toast/toast.component.d.ts +3 -3
  421. package/services/notify/src/components/toast-container.component.d.ts +3 -4
  422. package/services/storage/src/storage.model.d.ts +1 -0
  423. package/utilities/data-state/index.d.ts +1 -0
  424. package/utilities/data-state/src/data-state.d.ts +11 -0
  425. package/utilities/extensions/index.d.ts +1 -0
  426. package/utilities/extensions/src/array.extension.d.ts +1 -7
  427. package/utilities/extensions/src/color.extension.d.ts +5 -0
  428. package/utilities/extensions/src/date.extension.d.ts +1 -18
  429. package/utilities/extensions/src/number.extension.d.ts +1 -10
  430. package/utilities/extensions/src/string.extension.d.ts +33 -2
  431. package/utilities/extensions/src/utility.extension.d.ts +7 -0
  432. package/utilities/index.d.ts +1 -0
  433. package/utilities/models/index.d.ts +3 -0
  434. package/utilities/models/src/color.model.d.ts +4 -1
  435. package/utilities/models/src/empty.model.d.ts +3 -0
  436. package/utilities/models/src/filter.model.d.ts +12 -11
  437. package/utilities/models/src/icon.model.d.ts +2 -0
  438. package/utilities/models/src/maybe-async.model.d.ts +10 -3
  439. package/utilities/models/src/nested-key-of.model.d.ts +4 -0
  440. package/utilities/models/src/operator.model.d.ts +9 -4
  441. package/utilities/models/src/order.model.d.ts +4 -4
  442. package/utilities/models/src/paging.model.d.ts +8 -15
  443. package/utilities/models/src/pattern.model.d.ts +16 -3
  444. package/utilities/models/src/size.model.d.ts +4 -1
  445. package/utilities/models/src/unwrap-signal.model.d.ts +6 -0
  446. package/assets/img/1D UX System.zip +0 -0
  447. package/assets/img/Popup/Vector.png +0 -0
  448. package/assets/img/empty.png +0 -0
  449. package/assets/img/empty.svg +0 -27
  450. package/assets/img/file-types/eps/001-file.eps +0 -143
  451. package/assets/img/file-types/eps/002-file-1.eps +0 -136
  452. package/assets/img/file-types/eps/003-file-2.eps +0 -130
  453. package/assets/img/file-types/eps/004-file-3.eps +0 -127
  454. package/assets/img/file-types/eps/005-file-4.eps +0 -120
  455. package/assets/img/file-types/eps/006-file-5.eps +0 -133
  456. package/assets/img/file-types/eps/007-file-6.eps +0 -133
  457. package/assets/img/file-types/eps/008-file-7.eps +0 -144
  458. package/assets/img/file-types/eps/009-file-8.eps +0 -150
  459. package/assets/img/file-types/eps/010-file-9.eps +0 -155
  460. package/assets/img/file-types/eps/011-file-10.eps +0 -124
  461. package/assets/img/file-types/eps/012-file-11.eps +0 -147
  462. package/assets/img/file-types/eps/013-file-12.eps +0 -125
  463. package/assets/img/file-types/eps/014-file-13.eps +0 -129
  464. package/assets/img/file-types/eps/015-file-14.eps +0 -143
  465. package/assets/img/file-types/eps/016-file-15.eps +0 -130
  466. package/assets/img/file-types/eps/017-file-16.eps +0 -197
  467. package/assets/img/file-types/eps/018-file-17.eps +0 -146
  468. package/assets/img/file-types/eps/019-file-18.eps +0 -131
  469. package/assets/img/file-types/eps/020-file-19.eps +0 -137
  470. package/assets/img/file-types/eps/021-file-20.eps +0 -134
  471. package/assets/img/file-types/eps/022-file-21.eps +0 -130
  472. package/assets/img/file-types/eps/023-file-22.eps +0 -161
  473. package/assets/img/file-types/eps/024-file-23.eps +0 -144
  474. package/assets/img/file-types/eps/025-file-24.eps +0 -164
  475. package/assets/img/file-types/eps/026-file-25.eps +0 -135
  476. package/assets/img/file-types/eps/027-file-26.eps +0 -124
  477. package/assets/img/file-types/eps/028-file-27.eps +0 -120
  478. package/assets/img/file-types/eps/029-file-28.eps +0 -141
  479. package/assets/img/file-types/eps/030-file-29.eps +0 -130
  480. package/assets/img/file-types/eps/031-file-30.eps +0 -157
  481. package/assets/img/file-types/eps/032-file-31.eps +0 -139
  482. package/assets/img/file-types/eps/033-file-32.eps +0 -139
  483. package/assets/img/file-types/eps/034-file-33.eps +0 -189
  484. package/assets/img/file-types/eps/035-file-34.eps +0 -162
  485. package/assets/img/file-types/eps/036-file-35.eps +0 -142
  486. package/assets/img/file-types/eps/037-file-36.eps +0 -123
  487. package/assets/img/file-types/eps/038-file-37.eps +0 -127
  488. package/assets/img/file-types/eps/039-file-38.eps +0 -146
  489. package/assets/img/file-types/eps/040-file-39.eps +0 -126
  490. package/assets/img/file-types/eps/041-file-40.eps +0 -117
  491. package/assets/img/file-types/eps/042-file-41.eps +0 -156
  492. package/assets/img/file-types/eps/043-file-42.eps +0 -118
  493. package/assets/img/file-types/eps/044-file-43.eps +0 -172
  494. package/assets/img/file-types/eps/045-file-44.eps +0 -201
  495. package/assets/img/file-types/eps/046-file-45.eps +0 -94
  496. package/assets/img/file-types/eps/047-file-46.eps +0 -176
  497. package/assets/img/file-types/eps/048-file-47.eps +0 -238
  498. package/assets/img/file-types/eps/049-file-48.eps +0 -187
  499. package/assets/img/file-types/eps/050-file-49.eps +0 -137
  500. package/assets/img/file-types/license/license.pdf +0 -0
  501. package/assets/img/file-types/png/3ds.png +0 -0
  502. package/assets/img/file-types/png/ai.png +0 -0
  503. package/assets/img/file-types/png/asp.png +0 -0
  504. package/assets/img/file-types/png/avi.png +0 -0
  505. package/assets/img/file-types/png/bin.png +0 -0
  506. package/assets/img/file-types/png/com.png +0 -0
  507. package/assets/img/file-types/png/css.png +0 -0
  508. package/assets/img/file-types/png/csv.png +0 -0
  509. package/assets/img/file-types/png/dbf.png +0 -0
  510. package/assets/img/file-types/png/dll.png +0 -0
  511. package/assets/img/file-types/png/doc.png +0 -0
  512. package/assets/img/file-types/png/docx.png +0 -0
  513. package/assets/img/file-types/png/dwg.png +0 -0
  514. package/assets/img/file-types/png/eml.png +0 -0
  515. package/assets/img/file-types/png/eps.png +0 -0
  516. package/assets/img/file-types/png/exe.png +0 -0
  517. package/assets/img/file-types/png/file.png +0 -0
  518. package/assets/img/file-types/png/fla.png +0 -0
  519. package/assets/img/file-types/png/gif.png +0 -0
  520. package/assets/img/file-types/png/htm.png +0 -0
  521. package/assets/img/file-types/png/ico.png +0 -0
  522. package/assets/img/file-types/png/ini.png +0 -0
  523. package/assets/img/file-types/png/iso.png +0 -0
  524. package/assets/img/file-types/png/jar.png +0 -0
  525. package/assets/img/file-types/png/jpg.png +0 -0
  526. package/assets/img/file-types/png/js.png +0 -0
  527. package/assets/img/file-types/png/mkv.png +0 -0
  528. package/assets/img/file-types/png/mov.png +0 -0
  529. package/assets/img/file-types/png/mp3.png +0 -0
  530. package/assets/img/file-types/png/mp4.png +0 -0
  531. package/assets/img/file-types/png/nfo.png +0 -0
  532. package/assets/img/file-types/png/obj.png +0 -0
  533. package/assets/img/file-types/png/otf.png +0 -0
  534. package/assets/img/file-types/png/pdf.png +0 -0
  535. package/assets/img/file-types/png/pkg.png +0 -0
  536. package/assets/img/file-types/png/png.png +0 -0
  537. package/assets/img/file-types/png/ppt.png +0 -0
  538. package/assets/img/file-types/png/pptx.png +0 -0
  539. package/assets/img/file-types/png/psd.png +0 -0
  540. package/assets/img/file-types/png/rtf.png +0 -0
  541. package/assets/img/file-types/png/svg.png +0 -0
  542. package/assets/img/file-types/png/tiff.png +0 -0
  543. package/assets/img/file-types/png/ttf.png +0 -0
  544. package/assets/img/file-types/png/txt.png +0 -0
  545. package/assets/img/file-types/png/vcf.png +0 -0
  546. package/assets/img/file-types/png/wav.png +0 -0
  547. package/assets/img/file-types/png/wmv.png +0 -0
  548. package/assets/img/file-types/png/xls.png +0 -0
  549. package/assets/img/file-types/png/xlsx.png +0 -0
  550. package/assets/img/file-types/png/xml.png +0 -0
  551. package/assets/img/file-types/png/zip.png +0 -0
  552. package/assets/img/file-types/psd/001-file.psd +0 -0
  553. package/assets/img/file-types/psd/002-file-1.psd +0 -0
  554. package/assets/img/file-types/psd/003-file-2.psd +0 -0
  555. package/assets/img/file-types/psd/004-file-3.psd +0 -0
  556. package/assets/img/file-types/psd/005-file-4.psd +0 -0
  557. package/assets/img/file-types/psd/006-file-5.psd +0 -0
  558. package/assets/img/file-types/psd/007-file-6.psd +0 -0
  559. package/assets/img/file-types/psd/008-file-7.psd +0 -0
  560. package/assets/img/file-types/psd/009-file-8.psd +0 -0
  561. package/assets/img/file-types/psd/010-file-9.psd +0 -0
  562. package/assets/img/file-types/psd/011-file-10.psd +0 -0
  563. package/assets/img/file-types/psd/012-file-11.psd +0 -0
  564. package/assets/img/file-types/psd/013-file-12.psd +0 -0
  565. package/assets/img/file-types/psd/014-file-13.psd +0 -0
  566. package/assets/img/file-types/psd/015-file-14.psd +0 -0
  567. package/assets/img/file-types/psd/016-file-15.psd +0 -0
  568. package/assets/img/file-types/psd/017-file-16.psd +0 -0
  569. package/assets/img/file-types/psd/018-file-17.psd +0 -0
  570. package/assets/img/file-types/psd/019-file-18.psd +0 -0
  571. package/assets/img/file-types/psd/020-file-19.psd +0 -0
  572. package/assets/img/file-types/psd/021-file-20.psd +0 -0
  573. package/assets/img/file-types/psd/022-file-21.psd +0 -0
  574. package/assets/img/file-types/psd/023-file-22.psd +0 -0
  575. package/assets/img/file-types/psd/024-file-23.psd +0 -0
  576. package/assets/img/file-types/psd/025-file-24.psd +0 -0
  577. package/assets/img/file-types/psd/026-file-25.psd +0 -0
  578. package/assets/img/file-types/psd/027-file-26.psd +0 -0
  579. package/assets/img/file-types/psd/028-file-27.psd +0 -0
  580. package/assets/img/file-types/psd/029-file-28.psd +0 -0
  581. package/assets/img/file-types/psd/030-file-29.psd +0 -0
  582. package/assets/img/file-types/psd/031-file-30.psd +0 -0
  583. package/assets/img/file-types/psd/032-file-31.psd +0 -0
  584. package/assets/img/file-types/psd/033-file-32.psd +0 -0
  585. package/assets/img/file-types/psd/034-file-33.psd +0 -0
  586. package/assets/img/file-types/psd/035-file-34.psd +0 -0
  587. package/assets/img/file-types/psd/036-file-35.psd +0 -0
  588. package/assets/img/file-types/psd/037-file-36.psd +0 -0
  589. package/assets/img/file-types/psd/038-file-37.psd +0 -0
  590. package/assets/img/file-types/psd/039-file-38.psd +0 -0
  591. package/assets/img/file-types/psd/040-file-39.psd +0 -0
  592. package/assets/img/file-types/psd/041-file-40.psd +0 -0
  593. package/assets/img/file-types/psd/042-file-41.psd +0 -0
  594. package/assets/img/file-types/psd/043-file-42.psd +0 -0
  595. package/assets/img/file-types/psd/044-file-43.psd +0 -0
  596. package/assets/img/file-types/psd/045-file-44.psd +0 -0
  597. package/assets/img/file-types/psd/046-file-45.psd +0 -0
  598. package/assets/img/file-types/psd/047-file-46.psd +0 -0
  599. package/assets/img/file-types/psd/048-file-47.psd +0 -0
  600. package/assets/img/file-types/psd/049-file-48.psd +0 -0
  601. package/assets/img/file-types/psd/050-file-49.psd +0 -0
  602. package/assets/img/file-types/svg/001-file.svg +0 -1
  603. package/assets/img/file-types/svg/002-file-1.svg +0 -1
  604. package/assets/img/file-types/svg/003-file-2.svg +0 -1
  605. package/assets/img/file-types/svg/004-file-3.svg +0 -1
  606. package/assets/img/file-types/svg/005-file-4.svg +0 -1
  607. package/assets/img/file-types/svg/006-file-5.svg +0 -1
  608. package/assets/img/file-types/svg/007-file-6.svg +0 -1
  609. package/assets/img/file-types/svg/008-file-7.svg +0 -1
  610. package/assets/img/file-types/svg/009-file-8.svg +0 -1
  611. package/assets/img/file-types/svg/010-file-9.svg +0 -1
  612. package/assets/img/file-types/svg/011-file-10.svg +0 -1
  613. package/assets/img/file-types/svg/012-file-11.svg +0 -1
  614. package/assets/img/file-types/svg/013-file-12.svg +0 -1
  615. package/assets/img/file-types/svg/014-file-13.svg +0 -1
  616. package/assets/img/file-types/svg/015-file-14.svg +0 -1
  617. package/assets/img/file-types/svg/016-file-15.svg +0 -1
  618. package/assets/img/file-types/svg/017-file-16.svg +0 -1
  619. package/assets/img/file-types/svg/018-file-17.svg +0 -1
  620. package/assets/img/file-types/svg/019-file-18.svg +0 -1
  621. package/assets/img/file-types/svg/020-file-19.svg +0 -1
  622. package/assets/img/file-types/svg/021-file-20.svg +0 -1
  623. package/assets/img/file-types/svg/022-file-21.svg +0 -1
  624. package/assets/img/file-types/svg/023-file-22.svg +0 -1
  625. package/assets/img/file-types/svg/024-file-23.svg +0 -1
  626. package/assets/img/file-types/svg/025-file-24.svg +0 -1
  627. package/assets/img/file-types/svg/026-file-25.svg +0 -1
  628. package/assets/img/file-types/svg/027-file-26.svg +0 -1
  629. package/assets/img/file-types/svg/028-file-27.svg +0 -1
  630. package/assets/img/file-types/svg/029-file-28.svg +0 -1
  631. package/assets/img/file-types/svg/030-file-29.svg +0 -1
  632. package/assets/img/file-types/svg/031-file-30.svg +0 -1
  633. package/assets/img/file-types/svg/032-file-31.svg +0 -1
  634. package/assets/img/file-types/svg/033-file-32.svg +0 -1
  635. package/assets/img/file-types/svg/034-file-33.svg +0 -1
  636. package/assets/img/file-types/svg/035-file-34.svg +0 -1
  637. package/assets/img/file-types/svg/036-file-35.svg +0 -1
  638. package/assets/img/file-types/svg/037-file-36.svg +0 -1
  639. package/assets/img/file-types/svg/038-file-37.svg +0 -1
  640. package/assets/img/file-types/svg/039-file-38.svg +0 -1
  641. package/assets/img/file-types/svg/040-file-39.svg +0 -1
  642. package/assets/img/file-types/svg/041-file-40.svg +0 -1
  643. package/assets/img/file-types/svg/042-file-41.svg +0 -1
  644. package/assets/img/file-types/svg/043-file-42.svg +0 -1
  645. package/assets/img/file-types/svg/044-file-43.svg +0 -1
  646. package/assets/img/file-types/svg/045-file-44.svg +0 -1
  647. package/assets/img/file-types/svg/046-file-45.svg +0 -1
  648. package/assets/img/file-types/svg/047-file-46.svg +0 -1
  649. package/assets/img/file-types/svg/048-file-47.svg +0 -1
  650. package/assets/img/file-types/svg/049-file-48.svg +0 -1
  651. package/assets/img/file-types/svg/050-file-49.svg +0 -1
  652. package/assets/img/plus-search-zoom-white.png +0 -0
  653. package/assets/scss/core/cursor.scss +0 -3
  654. package/assets/scss/core/elevation.scss +0 -57
  655. package/assets/scss/core/print.scss +0 -47
  656. package/assets/scss/core/typography.scss +0 -121
  657. package/components/anchor/src/components/anchor-horizontal/anchor-list/anchor-list.component.d.ts +0 -16
  658. package/components/anchor/src/components/anchor-vertical/anchor-list/anchor-list.component.d.ts +0 -17
  659. package/components/anchor/src/components/main/main.component.d.ts +0 -24
  660. package/components/anchor/src/models/anchor.model.d.ts +0 -5
  661. package/components/anchor/src/services/anchor.service.d.ts +0 -12
  662. package/components/anchor/src/services/index.d.ts +0 -1
  663. package/components/anchor-v2/index.d.ts +0 -1
  664. package/components/anchor-v2/src/components/anchor-item-v2/anchor-item-v2.component.d.ts +0 -12
  665. package/components/anchor-v2/src/components/anchor-v2/anchor-v2.component.d.ts +0 -25
  666. package/components/anchor-v2/src/components/anchor-vertical-v2/anchor-vertical-list-v2.component.d.ts +0 -17
  667. package/components/anchor-v2/src/components/index.d.ts +0 -2
  668. package/components/anchor-v2/src/models/index.d.ts +0 -1
  669. package/components/anchor-v2/src/models/sd-anchor-v2.model.d.ts +0 -7
  670. package/components/document-builder/src/plugins/comment.plugin.d.ts +0 -4
  671. package/components/document-builder/src/plugins/table-fit.plugin.d.ts +0 -4
  672. package/components/document-builder/src/plugins/variable.plugin.d.ts +0 -6
  673. package/components/modal/src/modal/modal.component.d.ts +0 -31
  674. package/components/table/src/components/column-filter/column-filter.component.d.ts +0 -40
  675. package/components/table/src/components/desktop-cell-view/desktop-cell-view.component.d.ts +0 -14
  676. package/components/table/src/components/desktop-command/desktop-command.component.d.ts +0 -15
  677. package/components/table/src/components/external-filter/external-filter.component.d.ts +0 -36
  678. package/components/table/src/pipes/command-disable.pipe.d.ts +0 -9
  679. package/components/table/src/pipes/command-filter.pipe.d.ts +0 -25
  680. package/components/table/src/pipes/command-title.pipe.d.ts +0 -9
  681. package/components/workflow/src/components/form-builder/form-builder.component.d.ts +0 -77
  682. package/components/workflow/src/configurations/index.d.ts +0 -1
  683. package/fesm2022/sd-angular-core-components-anchor-v2.mjs +0 -226
  684. package/fesm2022/sd-angular-core-components-anchor-v2.mjs.map +0 -1
  685. package/fesm2022/sd-angular-core-components-workflow.mjs +0 -6400
  686. package/fesm2022/sd-angular-core-components-workflow.mjs.map +0 -1
  687. package/fesm2022/sd-angular-core-guards-permission.mjs +0 -155
  688. package/fesm2022/sd-angular-core-guards-permission.mjs.map +0 -1
  689. package/fesm2022/sd-angular-core-guards.mjs +0 -6
  690. package/fesm2022/sd-angular-core-guards.mjs.map +0 -1
  691. package/fesm2022/sd-angular-core-modules-oidc.mjs +0 -127
  692. package/fesm2022/sd-angular-core-modules-oidc.mjs.map +0 -1
  693. package/fesm2022/sd-angular-core-services-firebase.mjs +0 -38
  694. package/fesm2022/sd-angular-core-services-firebase.mjs.map +0 -1
  695. package/guards/index.d.ts +0 -1
  696. package/guards/permission/index.d.ts +0 -4
  697. package/guards/permission/src/configurations/index.d.ts +0 -1
  698. package/guards/permission/src/configurations/permission.configuration.d.ts +0 -8
  699. package/guards/permission/src/directives/index.d.ts +0 -1
  700. package/guards/permission/src/directives/permission.directive.d.ts +0 -12
  701. package/guards/permission/src/guards/index.d.ts +0 -1
  702. package/guards/permission/src/guards/permission.guard.d.ts +0 -13
  703. package/guards/permission/src/services/index.d.ts +0 -1
  704. package/guards/permission/src/services/permission.service.d.ts +0 -15
  705. package/modules/oidc/dynamic-sts.loader.d.ts +0 -11
  706. package/modules/oidc/index.d.ts +0 -2
  707. package/modules/oidc/oidc.configuration.d.ts +0 -11
  708. package/modules/oidc/oidc.module.d.ts +0 -14
  709. package/services/firebase/index.d.ts +0 -2
  710. package/services/firebase/src/firebase.model.d.ts +0 -8
  711. package/services/firebase/src/firebase.service.d.ts +0 -14
  712. /package/components/{anchor-v2 → anchor}/src/index.d.ts +0 -0
  713. /package/components/{workflow → form-generic}/index.d.ts +0 -0
  714. /package/components/{workflow → form-generic}/src/components/form-builder/components/attribute-expression/attribute-expression.component.d.ts +0 -0
  715. /package/components/{workflow → form-generic}/src/components/form-builder/components/attribute-input/attribute-input.component.d.ts +0 -0
  716. /package/components/{workflow → form-generic}/src/components/form-builder/components/attribute-input-number/attribute-input-number.component.d.ts +0 -0
  717. /package/components/{workflow → form-generic}/src/components/form-builder/components/attribute-parameter/attribute-parameter.component.d.ts +0 -0
  718. /package/components/{workflow → form-generic}/src/components/form-builder/components/attribute-select/attribute-select.component.d.ts +0 -0
  719. /package/components/{workflow → form-generic}/src/components/form-builder/components/attribute-selection/attribute-selection.component.d.ts +0 -0
  720. /package/components/{workflow → form-generic}/src/components/form-builder/components/attribute-selection/components/build-queries/build-queries.component.d.ts +0 -0
  721. /package/components/{workflow → form-generic}/src/components/form-builder/components/attribute-selection/components/build-variables/build-variables.component.d.ts +0 -0
  722. /package/components/{workflow → form-generic}/src/components/form-builder/components/attribute-switch/attribute-switch.component.d.ts +0 -0
  723. /package/components/{workflow → form-generic}/src/components/form-builder/components/attribute-textarea/attribute-textarea.component.d.ts +0 -0
  724. /package/components/{workflow → form-generic}/src/components/form-builder/components/checkbox/attribute/checkbox-attribute.component.d.ts +0 -0
  725. /package/components/{workflow → form-generic}/src/components/form-builder/components/checkbox/control/checkbox-control.component.d.ts +0 -0
  726. /package/components/{workflow → form-generic}/src/components/form-builder/components/checkbox/index.d.ts +0 -0
  727. /package/components/{workflow → form-generic}/src/components/form-builder/components/chip-calendar/attribute/chip-calendar-attribute.component.d.ts +0 -0
  728. /package/components/{workflow → form-generic}/src/components/form-builder/components/chip-calendar/control/chip-calendar-control.component.d.ts +0 -0
  729. /package/components/{workflow → form-generic}/src/components/form-builder/components/chip-calendar/index.d.ts +0 -0
  730. /package/components/{workflow → form-generic}/src/components/form-builder/components/chip-string/attribute/chip-string-attribute.component.d.ts +0 -0
  731. /package/components/{workflow → form-generic}/src/components/form-builder/components/chip-string/control/chip-string-control.component.d.ts +0 -0
  732. /package/components/{workflow → form-generic}/src/components/form-builder/components/chip-string/index.d.ts +0 -0
  733. /package/components/{workflow → form-generic}/src/components/form-builder/components/datetime/attribute/datetime-attribute.component.d.ts +0 -0
  734. /package/components/{workflow → form-generic}/src/components/form-builder/components/datetime/control/datetime-control.component.d.ts +0 -0
  735. /package/components/{workflow → form-generic}/src/components/form-builder/components/datetime/index.d.ts +0 -0
  736. /package/components/{workflow → form-generic}/src/components/form-builder/components/html/attribute/components/build-queries/build-queries.component.d.ts +0 -0
  737. /package/components/{workflow → form-generic}/src/components/form-builder/components/html/attribute/html-attribute.component.d.ts +0 -0
  738. /package/components/{workflow → form-generic}/src/components/form-builder/components/html/control/html-control.component.d.ts +0 -0
  739. /package/components/{workflow → form-generic}/src/components/form-builder/components/html/index.d.ts +0 -0
  740. /package/components/{workflow → form-generic}/src/components/form-builder/components/number/attribute/number-attribute.component.d.ts +0 -0
  741. /package/components/{workflow → form-generic}/src/components/form-builder/components/number/control/number-control.component.d.ts +0 -0
  742. /package/components/{workflow → form-generic}/src/components/form-builder/components/number/index.d.ts +0 -0
  743. /package/components/{workflow → form-generic}/src/components/form-builder/components/radio/attribute/radio-attribute.component.d.ts +0 -0
  744. /package/components/{workflow → form-generic}/src/components/form-builder/components/radio/control/radio-control.component.d.ts +0 -0
  745. /package/components/{workflow → form-generic}/src/components/form-builder/components/radio/index.d.ts +0 -0
  746. /package/components/{workflow → form-generic}/src/components/form-builder/components/select/attribute/select-attribute.component.d.ts +0 -0
  747. /package/components/{workflow → form-generic}/src/components/form-builder/components/select/control/select-control.component.d.ts +0 -0
  748. /package/components/{workflow → form-generic}/src/components/form-builder/components/select/index.d.ts +0 -0
  749. /package/components/{workflow → form-generic}/src/components/form-builder/components/table/attribute/table-attribute.component.d.ts +0 -0
  750. /package/components/{workflow → form-generic}/src/components/form-builder/components/table/index.d.ts +0 -0
  751. /package/components/{workflow → form-generic}/src/components/form-builder/components/textarea/attribute/textarea-attribute.component.d.ts +0 -0
  752. /package/components/{workflow → form-generic}/src/components/form-builder/components/textarea/control/textarea-control.component.d.ts +0 -0
  753. /package/components/{workflow → form-generic}/src/components/form-builder/components/textarea/index.d.ts +0 -0
  754. /package/components/{workflow → form-generic}/src/components/form-builder/components/textfield/attribute/textfield-attribute.component.d.ts +0 -0
  755. /package/components/{workflow → form-generic}/src/components/form-builder/components/textfield/control/textfield-control.component.d.ts +0 -0
  756. /package/components/{workflow → form-generic}/src/components/form-builder/components/textfield/index.d.ts +0 -0
  757. /package/components/{workflow → form-generic}/src/components/form-builder/components/upload/attribute/upload-attribute.component.d.ts +0 -0
  758. /package/components/{workflow → form-generic}/src/components/form-builder/components/upload/control/upload-control.component.d.ts +0 -0
  759. /package/components/{workflow → form-generic}/src/components/form-builder/components/upload/index.d.ts +0 -0
  760. /package/components/{workflow → form-generic}/src/components/form-builder/services/builder.service.d.ts +0 -0
  761. /package/components/{workflow → form-generic}/src/components/form-builder/services/index.d.ts +0 -0
  762. /package/components/{workflow → form-generic}/src/components/form-render/components/index.d.ts +0 -0
  763. /package/components/{workflow → form-generic}/src/components/form-render/components/item/components/chip-calendar/chip-calendar.component.d.ts +0 -0
  764. /package/components/{workflow → form-generic}/src/components/form-render/components/item/components/chip-string/chip-string.component.d.ts +0 -0
  765. /package/components/{workflow → form-generic}/src/components/form-render/components/item/components/datetime/datetime.component.d.ts +0 -0
  766. /package/components/{workflow → form-generic}/src/components/form-render/components/item/components/html/html.component.d.ts +0 -0
  767. /package/components/{workflow → form-generic}/src/components/form-render/components/item/components/index.d.ts +0 -0
  768. /package/components/{workflow → form-generic}/src/components/form-render/components/item/components/number/number.component.d.ts +0 -0
  769. /package/components/{workflow → form-generic}/src/components/form-render/components/item/components/radio/radio.component.d.ts +0 -0
  770. /package/components/{workflow → form-generic}/src/components/form-render/components/item/components/select/select.component.d.ts +0 -0
  771. /package/components/{workflow → form-generic}/src/components/form-render/components/item/components/table/table.component.d.ts +0 -0
  772. /package/components/{workflow → form-generic}/src/components/form-render/components/item/components/textarea/textarea.component.d.ts +0 -0
  773. /package/components/{workflow → form-generic}/src/components/form-render/components/item/components/textfield/textfield.component.d.ts +0 -0
  774. /package/components/{workflow → form-generic}/src/components/form-render/components/item/components/upload/upload.component.d.ts +0 -0
  775. /package/components/{workflow → form-generic}/src/components/form-render/components/item/item.component.d.ts +0 -0
  776. /package/components/{workflow → form-generic}/src/components/form-render/components/variable/variable.component.d.ts +0 -0
  777. /package/components/{workflow → form-generic}/src/components/index.d.ts +0 -0
  778. /package/components/{workflow → form-generic}/src/configurations/form.configuration.d.ts +0 -0
  779. /package/components/{workflow → form-generic}/src/models/form-generic-definition-html.model.d.ts +0 -0
  780. /package/components/{workflow → form-generic}/src/models/form-generic-definition-selection.model.d.ts +0 -0
  781. /package/components/{workflow → form-generic}/src/models/form-generic-definition-table.model.d.ts +0 -0
  782. /package/components/{workflow → form-generic}/src/models/form-generic-template.model.d.ts +0 -0
  783. /package/components/{workflow → form-generic}/src/models/form-generic-validation.model.d.ts +0 -0
  784. /package/components/{workflow → form-generic}/src/models/form-generic.model.d.ts +0 -0
  785. /package/components/{workflow → form-generic}/src/models/form-render/form-render-args.model.d.ts +0 -0
  786. /package/components/{workflow → form-generic}/src/models/form-render/form-render-entity.model.d.ts +0 -0
  787. /package/components/{workflow → form-generic}/src/models/form-render/index.d.ts +0 -0
  788. /package/components/{workflow → form-generic}/src/pipes/component-viewed.pipe.d.ts +0 -0
  789. /package/components/{workflow → form-generic}/src/pipes/expression-feel.pipe.d.ts +0 -0
  790. /package/components/{workflow → form-generic}/src/pipes/expression-query.pipe.d.ts +0 -0
  791. /package/components/{workflow → form-generic}/src/pipes/expression-view.pipe.d.ts +0 -0
  792. /package/components/{workflow → form-generic}/src/pipes/hyperlink.pipe.d.ts +0 -0
  793. /package/components/{workflow → form-generic}/src/pipes/index.d.ts +0 -0
  794. /package/components/{workflow → form-generic}/src/pipes/when-expression.pipe.d.ts +0 -0
  795. /package/components/{workflow → form-generic}/src/services/form-render.service.d.ts +0 -0
  796. /package/components/{workflow → form-generic}/src/services/index.d.ts +0 -0
@@ -1,8 +1,7 @@
1
1
  import { TemplateRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare class SdMaterialSubInformationDefDirective {
3
+ export declare class SdTableExpandDefDirective {
4
4
  templateRef: TemplateRef<any>;
5
- constructor(templateRef: TemplateRef<any>);
6
- static ɵfac: i0.ɵɵFactoryDeclaration<SdMaterialSubInformationDefDirective, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<SdMaterialSubInformationDefDirective, "[sdTableExpandDef]", never, {}, {}, never, never, true, never>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdTableExpandDefDirective, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SdTableExpandDefDirective, "[sdTableExpandDef]", never, {}, {}, never, never, true, never>;
8
7
  }
@@ -4,13 +4,11 @@ interface Context {
4
4
  externalFilter?: Record<string, any>;
5
5
  }
6
6
  export declare class SdTableFilterDefDirective {
7
- templateRef?: TemplateRef<any> | undefined;
8
7
  static ngTemplateContextGuard(dir: Context, ctx: unknown): ctx is Context;
9
- sdTableFilterDef?: string;
10
- defaultShowing?: boolean;
11
- set _defaultShowing(val: boolean | '' | undefined);
12
- constructor(templateRef?: TemplateRef<any> | undefined);
8
+ sdTableFilterDef: import("@angular/core").InputSignal<string>;
9
+ defaultShowing: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
10
+ templateRef: TemplateRef<any> | null;
13
11
  static ɵfac: i0.ɵɵFactoryDeclaration<SdTableFilterDefDirective, never>;
14
- static ɵdir: i0.ɵɵDirectiveDeclaration<SdTableFilterDefDirective, "[sdTableFilterDef]", never, { "sdTableFilterDef": { "alias": "sdTableFilterDef"; "required": false; }; "_defaultShowing": { "alias": "defaultShowing"; "required": false; }; }, {}, never, never, true, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SdTableFilterDefDirective, "[sdTableFilterDef]", never, { "sdTableFilterDef": { "alias": "sdTableFilterDef"; "required": true; "isSignal": true; }; "defaultShowing": { "alias": "defaultShowing"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
15
13
  }
16
14
  export {};
@@ -1,9 +1,8 @@
1
1
  import { TemplateRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class SdMaterialFooterDefDirective {
4
+ sdTableFooterDef: import("@angular/core").InputSignal<string>;
4
5
  templateRef: TemplateRef<any>;
5
- sdTableFooterDef?: string;
6
- constructor(templateRef: TemplateRef<any>);
7
6
  static ɵfac: i0.ɵɵFactoryDeclaration<SdMaterialFooterDefDirective, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<SdMaterialFooterDefDirective, "[sdTableFooterDef]", never, { "sdTableFooterDef": { "alias": "sdTableFooterDef"; "required": false; }; }, {}, never, never, true, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SdMaterialFooterDefDirective, "[sdTableFooterDef]", never, { "sdTableFooterDef": { "alias": "sdTableFooterDef"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
9
8
  }
@@ -0,0 +1,8 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SdTableTitleDefDirective {
4
+ sdTableTitleDef: import("@angular/core").InputSignal<string>;
5
+ templateRef: TemplateRef<any>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdTableTitleDefDirective, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SdTableTitleDefDirective, "[sdTableTitleDef]", never, { "sdTableTitleDef": { "alias": "sdTableTitleDef"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,17 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Directive thêm hiệu ứng đổ bóng (elevation-2) vào cột sticky cuối cùng bên trái
4
+ * và cột sticky đầu tiên bên phải, tạo ngăn cách trực quan với phần được scroll.
5
+ *
6
+ * Chỉ dùng nội bộ trong sd-table, không chìa ra ngoài.
7
+ *
8
+ * Gắn vào scroll container của table:
9
+ * @example
10
+ * <div class="c-table" stickyShadow>...</div>
11
+ */
12
+ export declare class StickyShadowDirective {
13
+ #private;
14
+ constructor();
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<StickyShadowDirective, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<StickyShadowDirective, "[stickyShadow]", never, {}, {}, never, never, true, never>;
17
+ }
@@ -1,3 +1,4 @@
1
1
  export * from './table-option.model';
2
2
  export * from './table-column.model';
3
3
  export * from './table-command.model';
4
+ export * from './table-option-tree.model';
@@ -1,15 +1,35 @@
1
- import { TemplateRef } from '@angular/core';
1
+ import { Signal, TemplateRef } from '@angular/core';
2
2
  import { SdBadge } from '@sd-angular/core/components/badge';
3
3
  import { SdSearch } from '@sd-angular/core/forms';
4
- import { SdColor, SdOperator } from '@sd-angular/core/utilities';
4
+ import { SdNestedKeyOf, SdOperator } from '@sd-angular/core/utilities';
5
+ import { SdUnwrapSignal } from '@sd-angular/core/utilities/models';
5
6
  export type SdTableColumn<T = any> = SdTableColumnText<T> | SdTableColumnNumber<T> | SdTableColumnBool<T> | SdTableColumnDate<T> | SdTableColumnValues<T> | SdTableColumnLazyValues<T> | SdTableColumnChildren<T>;
6
7
  export type SdTableColumnTransformFunc<T = any> = (value: any, rowData: T, args?: {
7
8
  isExport?: boolean;
8
9
  }) => string | Promise<string>;
9
- interface SdTableColumnBase<T = any> {
10
+ interface Badge {
11
+ type?: SdUnwrapSignal<SdBadge['type']>;
12
+ color?: SdUnwrapSignal<SdBadge['color']>;
13
+ icon?: SdUnwrapSignal<SdBadge['icon']>;
14
+ title?: SdUnwrapSignal<SdBadge['title']>;
15
+ }
16
+ type UseBadgeFunc<T = any> = (value: any, rowData: T) => Badge;
17
+ type UseBadgeValuesFunc<T = any, K = any> = (value: any, rowData: T, items: K[]) => Badge;
18
+ interface ColumnTitleOption {
10
19
  title: string;
11
- titleHtml?: string;
12
- description?: string;
20
+ templateRef?: TemplateRef<any>;
21
+ }
22
+ interface ColumnCellOption {
23
+ templateRef?: TemplateRef<any>;
24
+ copiable?: boolean;
25
+ truncate?: {
26
+ enable?: boolean;
27
+ type?: 'more' | 'tooltip';
28
+ };
29
+ }
30
+ interface SdTableColumnBase<T = any> {
31
+ title: string | ColumnTitleOption;
32
+ cell?: ColumnCellOption;
13
33
  width?: string;
14
34
  minWidth?: string;
15
35
  maxWidth?: string;
@@ -17,13 +37,6 @@ interface SdTableColumnBase<T = any> {
17
37
  invisible?: boolean;
18
38
  fixed?: boolean;
19
39
  align?: 'right';
20
- useBadge?: (value: any, rowData: T) => {
21
- type?: SdBadge['type'];
22
- color?: SdBadge['color'];
23
- icon?: SdBadge['icon'];
24
- title?: SdBadge['title'];
25
- };
26
- cellStyle?: (value: any, rowData: T) => Record<string, string>;
27
40
  htmlTemplate?: (value: any, rowData: T) => string;
28
41
  transform?: SdTableColumnTransformFunc<T>;
29
42
  tooltip?: (value: any, rowData: T) => string;
@@ -37,67 +50,63 @@ interface SdTableColumnBase<T = any> {
37
50
  enable?: boolean;
38
51
  list?: SdOperator[];
39
52
  };
53
+ filterDef?: TemplateRef<any>;
40
54
  };
41
55
  export?: {
42
56
  disabled?: boolean;
57
+ description?: string;
43
58
  };
44
- cellDef?: TemplateRef<any>;
45
- copiable?: boolean;
46
59
  }
47
60
  interface SdTableColumnText<T = any> extends SdTableColumnBase<T> {
48
- field: Extract<keyof T, string>;
61
+ field: SdNestedKeyOf<T>;
49
62
  type: 'string';
50
- badge?: (value: any, rowData: T) => SdColor;
51
- badgeIcon?: (value: any, rowData: T) => string;
52
- badgeType?: SdBadge['type'];
63
+ useBadge?: UseBadgeFunc<T>;
53
64
  }
54
65
  interface SdTableColumnNumber<T = any> extends SdTableColumnBase<T> {
55
- field: Extract<keyof T, string>;
66
+ field: SdNestedKeyOf<T>;
56
67
  type: 'number';
57
- badge?: (value: any, rowData: T) => SdColor;
58
- badgeIcon?: (value: any, rowData: T) => string;
59
- badgeType?: SdBadge['type'];
68
+ useBadge?: UseBadgeFunc<T>;
60
69
  filter?: SdTableColumnBase['filter'] & {
61
70
  type?: 'split-number';
62
71
  };
63
72
  }
64
73
  interface SdTableColumnBool<T = any> extends SdTableColumnBase<T> {
65
- field: Extract<keyof T, string>;
74
+ field: SdNestedKeyOf<T>;
66
75
  type: 'boolean';
76
+ useBadge?: UseBadgeFunc<T>;
67
77
  option?: {
68
78
  displayOnTrue?: string;
69
79
  displayOnFalse?: string;
70
80
  };
71
81
  }
72
82
  interface SdTableColumnDate<T = any> extends SdTableColumnBase<T> {
73
- field: Extract<keyof T, string>;
83
+ field: SdNestedKeyOf<T>;
74
84
  type: 'date' | 'datetime' | 'time';
85
+ useBadge?: UseBadgeFunc<T>;
75
86
  filter?: SdTableColumnBase['filter'] & {
76
87
  type?: 'daterange' | 'date' | 'split-date';
77
88
  };
78
89
  }
79
- export interface SdTableColumnValues<T = any> extends SdTableColumnBase<T> {
80
- field: Extract<keyof T, string>;
90
+ export interface SdTableColumnValues<T = any, K = Record<string, any>> extends SdTableColumnBase<T> {
91
+ field: SdNestedKeyOf<T>;
81
92
  type: 'values';
82
- badge?: (value: any, rowData: T) => SdColor;
83
- badgeIcon?: (value: any, rowData: T) => string;
84
- badgeType?: SdBadge['type'];
93
+ useBadge?: UseBadgeValuesFunc<T, K>;
85
94
  option: {
86
- valueField: string;
87
- displayField: string;
88
- items: any[] | (() => Promise<any[]>);
89
- selection?: 'AUTOCOMPLETE' | 'MULTIPLE' | 'MULTIPLEAUTOCOMPLETE';
95
+ items: K[] | Signal<K[]> | (() => Promise<K[]>);
96
+ valueField: SdNestedKeyOf<K>;
97
+ displayField: SdNestedKeyOf<K>;
98
+ selection?: 'MULTIPLE';
90
99
  };
91
100
  }
92
- export interface SdTableColumnLazyValues<T = any> extends SdTableColumnBase<T> {
93
- field: Extract<keyof T, string>;
101
+ export interface SdTableColumnLazyValues<T = any, K = Record<string, any>> extends SdTableColumnBase<T> {
102
+ field: SdNestedKeyOf<T>;
94
103
  type: 'lazy-values';
104
+ useBadge?: UseBadgeFunc<T>;
95
105
  option: {
96
- valueField: string;
97
- displayField: string;
98
- items: SdSearch;
99
- views?: (values: string[]) => Promise<any[]>;
100
- mapValue?: (value: any, rowData?: T) => string | string[];
106
+ items: SdSearch<K>;
107
+ valueField: SdNestedKeyOf<K>;
108
+ displayField: SdNestedKeyOf<K>;
109
+ views?: (values: string[]) => Promise<K[]>;
101
110
  selection?: 'MULTIPLE';
102
111
  };
103
112
  }
@@ -1,9 +1,13 @@
1
- import { SdColor } from '@sd-angular/core/utilities/models';
1
+ import { MaterialIconFontSet, SdColor } from '@sd-angular/core/utilities/models';
2
+ export interface SdTableCommandOption<T = any> {
3
+ align?: 'left' | 'right';
4
+ commands?: SdTableCommand<T>[];
5
+ }
2
6
  export type SdTableCommand<T = any> = SdTableCommandNormal<T> | SdTableCommandChildren<T>;
3
7
  export interface SdTableCommandNormal<T = any> {
4
8
  color?: SdColor;
5
9
  icon?: string | ((rowData: T) => string);
6
- fontSet?: 'material-icons' | 'material-icons-outlined' | 'material-icons-round' | 'material-icons-sharp';
10
+ fontSet?: MaterialIconFontSet;
7
11
  title?: string | ((rowData: T) => string);
8
12
  disabled?: boolean | ((rowData: T) => boolean);
9
13
  hidden?: boolean | ((rowData: T) => boolean | Promise<boolean>);
@@ -12,7 +16,7 @@ export interface SdTableCommandNormal<T = any> {
12
16
  }
13
17
  export interface SdTableCommandChildren<T = any> {
14
18
  icon?: string | ((rowData: T) => string);
15
- fontSet?: 'material-icons' | 'material-icons-outlined' | 'material-icons-round' | 'material-icons-sharp';
19
+ fontSet?: MaterialIconFontSet;
16
20
  title?: string | ((rowData: T) => string);
17
21
  disabled?: boolean | ((rowData: T) => boolean);
18
22
  hidden?: boolean | ((rowData: T) => boolean | Promise<boolean>);
@@ -1,4 +1,5 @@
1
1
  import { SdBadge } from '@sd-angular/core/components/badge';
2
+ import { SdUnwrapSignal } from '@sd-angular/core/utilities/models';
2
3
  export interface SdTableMetaSelector {
3
4
  selectable?: boolean;
4
5
  isSelected?: boolean;
@@ -9,12 +10,22 @@ export interface SdTableMetaExpand {
9
10
  isExpanding?: boolean;
10
11
  data?: any;
11
12
  }
13
+ export interface SdTableMetaTree<T = any> {
14
+ level: number;
15
+ hasChildren: boolean;
16
+ isExpanded: boolean;
17
+ isExpanding?: boolean;
18
+ parentId?: string;
19
+ /** Cached formatted child SdTableItem[] — populated on first expand/format */
20
+ childItems?: SdTableItem<T>[];
21
+ }
12
22
  export interface SdTableDisplay {
13
23
  tooltip?: string;
14
24
  badge?: {
15
- type: SdBadge['type'] | undefined | null;
16
- color: SdBadge['color'] | undefined | null;
17
- icon: string | undefined | null;
25
+ type: SdUnwrapSignal<SdBadge['type']>;
26
+ color: SdUnwrapSignal<SdBadge['color']>;
27
+ icon?: SdUnwrapSignal<SdBadge['icon']>;
28
+ title?: SdUnwrapSignal<SdBadge['title']>;
18
29
  };
19
30
  cellStyle?: Record<string, string>;
20
31
  data: string | number | undefined | null;
@@ -30,6 +41,7 @@ export interface SdTableMeta<T> {
30
41
  htmlTemplate?: string;
31
42
  items?: SdTableItem<T>[];
32
43
  };
44
+ tree?: SdTableMetaTree<T>;
33
45
  }
34
46
  export interface SdTableItem<T = any> {
35
47
  meta: SdTableMeta<T>;
@@ -1,12 +1,16 @@
1
1
  import { SdTableColumn } from './table-column.model';
2
2
  export interface TableOptionConfig {
3
3
  visible?: boolean;
4
+ resizable?: boolean;
5
+ onResize?: (field: string, width: string, columnWidth: Record<string, string>) => void;
4
6
  }
5
7
  export interface OriginColumn {
6
8
  field: string;
7
9
  title: string;
8
10
  width?: string;
9
11
  invisible?: boolean;
12
+ fixed?: boolean;
13
+ truncate?: boolean;
10
14
  }
11
15
  export interface ConfiguredColumn {
12
16
  origin: OriginColumn;
@@ -14,6 +18,7 @@ export interface ConfiguredColumn {
14
18
  width?: string;
15
19
  invisible?: boolean;
16
20
  fixed?: boolean;
21
+ truncate?: boolean;
17
22
  }
18
23
  export interface ConfiguredTable {
19
24
  columns?: ConfiguredColumn[];
@@ -1,3 +1,4 @@
1
+ import { SdNestedKeyOf } from '@sd-angular/core/utilities';
1
2
  import { SdTableFilterRequest } from '../services/table-filter/table-filter.model';
2
3
  export type SdTableOptionExport<T = any> = SdTableOptionExportDefault<T> | SdTableOptionExportCustom;
3
4
  export interface SdTableOptionExportDefault<T = any> {
@@ -22,7 +23,7 @@ export interface SdTableOptionExportCustom {
22
23
  onExport: (filterRequest: SdTableFilterRequest) => Promise<void>;
23
24
  }
24
25
  export interface SdTableOptionExportColumn<T = any> {
25
- field: Extract<keyof T, string>;
26
+ field: SdNestedKeyOf<T>;
26
27
  title: string;
27
28
  description?: string;
28
29
  width?: string;
@@ -35,7 +36,7 @@ export interface SdTableOptionExportSheet<T = any> {
35
36
  name: string;
36
37
  items: T[] | (() => T[] | Promise<T[]>);
37
38
  headers: {
38
- value: Extract<keyof T, string>;
39
+ value: SdNestedKeyOf<T>;
39
40
  display: string;
40
41
  }[];
41
42
  }
@@ -1,34 +1,89 @@
1
1
  import { SdButton } from '@sd-angular/core/components/button';
2
+ import { SdUnwrapSignal } from '@sd-angular/core/utilities/models';
2
3
  export interface SdTableOptionSelector<T = any> {
4
+ /** Bật/tắt cột checkbox selector. Mặc định: true. */
3
5
  visible?: boolean;
6
+ /** Chỉ cho chọn 1 dòng tại một thời điểm. */
4
7
  single?: boolean;
8
+ /** Danh sách action hiển thị khi có item được chọn. */
5
9
  actions?: SdTableAction<T>[];
10
+ /** Nội dung hiển thị bên cạnh selector/action bar. */
6
11
  message?: string | ((selectedItems?: T[]) => string);
12
+ /** Callback khi user chọn/bỏ chọn một dòng. */
7
13
  onSelect?: (rowData?: T, selectedItems?: T[]) => void;
14
+ /** Callback khi user chọn tất cả hoặc bỏ chọn tất cả. */
8
15
  onSelectAll?: (selectedItems: T[]) => void;
16
+ /** Disable checkbox của từng dòng theo điều kiện. */
9
17
  disabled?: (rowData?: T, selectedItems?: T[]) => boolean;
18
+ /**
19
+ * Predicate để tự động pre-select item sau mỗi lần load.
20
+ * Table sẽ gọi hàm này cho từng item và set isSelected = true nếu trả về true.
21
+ * Dùng khi cần programmatically set selected items từ bên ngoài.
22
+ */
23
+ defaultSelected?: (rowData: T) => boolean;
10
24
  }
11
25
  export type SdTableAction<T = any> = SdTableActionNormal<T> | SdTableActionChildren<T>;
12
26
  export interface SdTableActionNormal<T = any> {
27
+ /**
28
+ * Tên icon hiển thị trên action button.
29
+ * Giá trị này được render qua `mat-icon`, vì vậy nên dùng đúng tên glyph của Material Icons.
30
+ * Tra cứu icon tại: https://fonts.google.com/icons
31
+ */
13
32
  icon?: string;
14
- fontSet?: SdButton['fontSet'];
15
- tooltip?: SdButton['tooltip'];
16
- title?: SdButton['title'];
17
- color?: SdButton['color'];
18
- type?: SdButton['type'];
33
+ /**
34
+ * Font set của Material icon.
35
+ * Kiểu thực tế lấy từ `SdButton['fontSet']` và chỉ hỗ trợ các giá trị thuộc `MaterialIconFontSet`,
36
+ * ví dụ: `material-icons`, `material-icons-outlined`, `material-icons-round`,
37
+ * `material-icons-sharp`, `material-symbols-outlined`.
38
+ * Nếu không truyền, `SdButton` sẽ dùng font set mặc định của nó.
39
+ */
40
+ fontSet?: SdUnwrapSignal<SdButton['fontSet']>;
41
+ /** Tooltip hiển thị khi hover action button. */
42
+ tooltip?: SdUnwrapSignal<SdButton['tooltip']>;
43
+ /** Text label hiển thị trên button action. */
44
+ title?: SdUnwrapSignal<SdButton['title']>;
45
+ /**
46
+ * Màu của `SdButton`.
47
+ * Kiểu thực tế map theo `SdButton['color']`, hiện dùng các token như
48
+ * `primary`, `secondary`, `info`, `success`, `warning`, `error`.
49
+ */
50
+ color?: SdUnwrapSignal<SdButton['color']>;
51
+ /**
52
+ * Variant hiển thị của `SdButton`.
53
+ * Kiểu thực tế là `fill | light | outline | link`.
54
+ */
55
+ type?: SdUnwrapSignal<SdButton['type']>;
56
+ /** Ẩn action theo cờ tĩnh hoặc theo điều kiện của dữ liệu dòng. */
19
57
  hidden?: boolean | ((rowData?: T) => boolean);
58
+ /** Gom action vào nhóm hiển thị compact nếu table hỗ trợ grouped actions. */
20
59
  isGrouped?: boolean;
60
+ /** Hàm xử lý khi click action, nhận toàn bộ item đang được chọn. */
21
61
  click: (selectedItems?: T[]) => void;
22
62
  }
23
63
  interface SdTableActionChildren<T = any> {
64
+ /**
65
+ * Tên icon của action cha (group action).
66
+ * Giá trị nên là tên glyph Material Icons: https://fonts.google.com/icons
67
+ */
24
68
  icon?: string;
25
- fontSet?: SdButton['fontSet'];
26
- tooltip?: SdButton['tooltip'];
27
- title?: SdButton['title'];
28
- color?: SdButton['color'];
29
- type?: SdButton['type'];
69
+ /**
70
+ * Font set của Material icon cho action cha.
71
+ * Dùng cùng kiểu dữ liệu với `SdButton['fontSet']`.
72
+ */
73
+ fontSet?: SdUnwrapSignal<SdButton['fontSet']>;
74
+ /** Tooltip của action cha. */
75
+ tooltip?: SdUnwrapSignal<SdButton['tooltip']>;
76
+ /** Label của action cha. */
77
+ title?: SdUnwrapSignal<SdButton['title']>;
78
+ /** Màu của action cha theo kiểu `SdButton['color']`. */
79
+ color?: SdUnwrapSignal<SdButton['color']>;
80
+ /** Variant hiển thị của action cha theo kiểu `SdButton['type']`. */
81
+ type?: SdUnwrapSignal<SdButton['type']>;
82
+ /** Ẩn action cha theo cờ tĩnh hoặc theo điều kiện của dữ liệu dòng. */
30
83
  hidden?: boolean | ((rowData?: T) => boolean);
84
+ /** Gom action cha vào nhóm hiển thị compact nếu table hỗ trợ grouped actions. */
31
85
  isGrouped?: boolean;
86
+ /** Danh sách action con hiển thị bên trong group action này. */
32
87
  children: SdTableActionNormal<T>[];
33
88
  }
34
89
  export {};
@@ -1,6 +1,11 @@
1
+ export interface SdTableRowCssContext {
2
+ level: number;
3
+ hasChildren: boolean;
4
+ isExpanded: boolean;
5
+ }
1
6
  export interface SdTableOptionStyle<T = any> {
2
7
  shadow?: boolean;
3
8
  maxHeight?: string;
4
9
  minHeight?: string;
5
- rowCss?: (rowData: T) => Record<string, string>;
10
+ rowCss?: (rowData: T, index?: number, ctx?: SdTableRowCssContext) => Record<string, string>;
6
11
  }
@@ -0,0 +1,12 @@
1
+ export interface SdTableOptionTree<T = any> {
2
+ /** Key trên object row chứa mảng children. Mặc định: 'children' */
3
+ childrenKey?: string;
4
+ /** Giới hạn độ sâu cây. undefined = không giới hạn. */
5
+ maxDepth?: number;
6
+ /** false | true | number (mở tới cấp N) */
7
+ defaultExpanded?: boolean | number;
8
+ /** Lazy load khi row chưa có children embedded */
9
+ onExpandChildren?: (rowData: T) => Promise<T[]> | T[];
10
+ /** Pixel indent mỗi cấp. Mặc định: 20 */
11
+ indentSize?: number;
12
+ }
@@ -1,42 +1,171 @@
1
- import { SdTableColumn } from './table-column.model';
2
- import { SdTableCommand } from './table-command.model';
1
+ import { SdPagingReq } from '@sd-angular/core/utilities';
3
2
  import { SdTableFilterRequest, SdTableOptionFilter } from '../services/table-filter/table-filter.model';
3
+ import { SdTableColumn } from './table-column.model';
4
+ import { SdTableCommand, SdTableCommandOption } from './table-command.model';
5
+ import { TableOptionConfig } from './table-option-config.model';
6
+ import { SdTableOptionExpand } from './table-option-expand.model';
4
7
  import { SdTableOptionExport } from './table-option-export.model';
8
+ import { SdTableOptionGroup } from './table-option-group.model';
9
+ import { SdTableOptionPaginate } from './table-option-paginate.model';
5
10
  import { SdTableOptionReload } from './table-option-reload.model';
6
- import { SdTableOptionExpand } from './table-option-expand.model';
7
11
  import { SdTableOptionSelector } from './table-option-selector.model';
8
- import { SdTableOptionStyle } from './table-option-style.model';
9
- import { SdTableOptionGroup } from './table-option-group.model';
10
12
  import { SdTableOptionSort } from './table-option-sort.model';
11
- import { SdTableOptionPaginate } from './table-option-paginate.model';
12
- import { TableOptionConfig } from './table-option-config.model';
13
+ import { SdTableOptionStyle } from './table-option-style.model';
14
+ import { SdTableOptionTree } from './table-option-tree.model';
13
15
  export type SdTableOption<T = any> = SdTableLocalOption<T> | SdTableServerOption<T>;
14
16
  interface SdTableBaseOption<T = any> {
17
+ /**
18
+ * Key định danh của table option.
19
+ * Thường dùng khi một số tính năng con cần lưu trạng thái riêng theo table,
20
+ * ví dụ các option có hỗ trợ cache/config theo key.
21
+ */
15
22
  key?: string;
23
+ /**
24
+ * Cấu hình hiển thị/phục hồi config của table.
25
+ * Xem thêm kiểu chi tiết tại `TableOptionConfig`.
26
+ */
16
27
  config?: TableOptionConfig;
28
+ /**
29
+ * Cấu hình chọn dòng (checkbox selector, action theo selection, pre-select...).
30
+ * Xem thêm tại `SdTableOptionSelector`.
31
+ */
17
32
  selector?: SdTableOptionSelector<T>;
33
+ /**
34
+ * Cấu hình expand row.
35
+ * Xem thêm tại `SdTableOptionExpand` để biết cách disable, expand nhiều dòng,
36
+ * hoặc luôn hiển thị vùng expand.
37
+ */
18
38
  expand?: SdTableOptionExpand<T>;
39
+ /**
40
+ * Bật/tắt sorting ở cấp table.
41
+ * Xem thêm tại `SdTableOptionSort`.
42
+ */
19
43
  sort?: SdTableOptionSort;
44
+ /**
45
+ * Cấu hình phân trang.
46
+ * Xem thêm tại `SdTableOptionPaginate`.
47
+ */
20
48
  paginate?: SdTableOptionPaginate;
49
+ /**
50
+ * Cấu hình hành vi reload dữ liệu.
51
+ * Xem thêm tại `SdTableOptionReload`.
52
+ */
21
53
  reload?: SdTableOptionReload<T>;
54
+ /**
55
+ * Cấu hình export dữ liệu.
56
+ * Xem thêm tại `SdTableOptionExport` để biết mode `default`/`custom`, mapping,
57
+ * sheet export và giới hạn số dòng.
58
+ */
22
59
  export?: SdTableOptionExport<T>;
60
+ /**
61
+ * Cấu hình group dữ liệu theo nhiều field.
62
+ * Xem thêm tại `SdTableOptionGroup`.
63
+ */
23
64
  group?: SdTableOptionGroup<T>;
65
+ /**
66
+ * Cấu hình tree rows — render children inline dưới parent.
67
+ * Xem thêm tại `SdTableOptionTree`.
68
+ */
69
+ tree?: SdTableOptionTree<T>;
70
+ /**
71
+ * Cấu hình filter của table.
72
+ * Xem thêm tại `SdTableOptionFilter` để biết filter inline, external filter,
73
+ * manual filter, cacheable và callback clear filter.
74
+ */
24
75
  filter?: SdTableOptionFilter;
76
+ /**
77
+ * Cấu hình cột đánh số thứ tự (STT) ở đầu mỗi dòng.
78
+ * Khi enabled = true, table render thêm 1 cột STT (sticky đầu, sau selector).
79
+ * Số thứ tự tính theo global index (pageIndex * pageSize + i + 1) để tương thích phân trang.
80
+ */
81
+ index?: {
82
+ /** Bật/tắt cột STT. */
83
+ enabled?: boolean;
84
+ /** Tiêu đề header (mặc định '#'). */
85
+ title?: string;
86
+ /** Width của cột (mặc định '50px'). */
87
+ width?: string;
88
+ };
89
+ /**
90
+ * Cấu hình kéo-thả đổi thứ tự dòng.
91
+ * Chỉ bật khi table cho phép reorder dữ liệu phía client.
92
+ */
93
+ rowReorder?: {
94
+ /** Bật/tắt tính năng reorder row. */
95
+ enabled?: boolean;
96
+ /**
97
+ * Callback sau khi reorder xong.
98
+ * `newRows` là mảng sau khi đã đổi vị trí ở UI,
99
+ * `movedItem` là item vừa được kéo,
100
+ * `fromIndex` và `toIndex` là vị trí cũ/mới.
101
+ */
102
+ onChange?: (newRows: T[], movedItem: T, fromIndex: number, toIndex: number) => void;
103
+ /**
104
+ * Tên icon hiển thị cho drag handle.
105
+ * Nếu không truyền thì table dùng icon reorder mặc định của Material.
106
+ * Nếu truyền custom icon, nên dùng tên glyph của Material Icons:
107
+ * https://fonts.google.com/icons
108
+ */
109
+ icon?: string;
110
+ /**
111
+ * Disable khả năng reorder theo từng dòng.
112
+ * Trả về `true` để chặn kéo-thả dòng tương ứng.
113
+ */
114
+ disabled?: (row: T, index: number) => boolean;
115
+ };
116
+ /**
117
+ * Danh sách command thao tác theo từng dòng.
118
+ * Xem thêm tại `SdTableCommand`.
119
+ */
25
120
  commands?: SdTableCommand<T>[];
121
+ /**
122
+ * Cấu hình vùng command tập trung.
123
+ * Dùng khi cần set thêm alignment hoặc bọc danh sách command trong object option.
124
+ * Xem thêm tại `SdTableCommandOption`.
125
+ */
126
+ command?: SdTableCommandOption<T>;
127
+ /**
128
+ * Danh sách cột hiển thị của table.
129
+ * Đây là phần bắt buộc. Xem thêm tại `SdTableColumn` để cấu hình field, filter,
130
+ * sort, transform, template và export của từng cột.
131
+ */
26
132
  columns: SdTableColumn<T>[];
133
+ /**
134
+ * Cấu hình style/layout chung của table.
135
+ * Xem thêm tại `SdTableOptionStyle`.
136
+ */
27
137
  style?: SdTableOptionStyle<T>;
28
138
  }
29
139
  interface SdTableLocalOption<T = any> extends SdTableBaseOption<T> {
140
+ /** Dùng dữ liệu local tại client. */
30
141
  type: 'local';
142
+ /**
143
+ * Hàm trả dữ liệu local cho table.
144
+ * Table sẽ tự gọi hàm này để lấy mảng item nguồn.
145
+ * Có thể trả về đồng bộ hoặc `Promise<T[]>`.
146
+ */
31
147
  items: () => T[] | Promise<T[]>;
32
148
  }
33
149
  interface SdTableServerOption<T = any> extends SdTableBaseOption<T> {
150
+ /** Dùng dữ liệu từ server, có paging/filter/sort theo request của table. */
34
151
  type: 'server';
35
- items: (filterRequest: SdTableFilterRequest<T>) => Promise<{
152
+ /**
153
+ * Hàm lấy dữ liệu từ server.
154
+ * `filterRequest` chứa trạng thái filter/sort/visible columns ở dạng của table.
155
+ * `pagingReq` là dữ liệu paging đã được chuẩn hóa để dễ map sang API backend.
156
+ * Hàm cần trả về `{ items, total }` để table render và tính phân trang.
157
+ */
158
+ items: (filterRequest: SdTableFilterRequest<T>, pagingReq: SdPagingReq<T>) => Promise<{
36
159
  items: T[];
37
160
  total: number;
38
161
  }>;
162
+ /**
163
+ * Hook chạy khi table phát sinh filter request.
164
+ * Dùng để can thiệp thêm trước/sau khi gọi API, ví dụ sync external state,
165
+ * theo dõi trạng thái valid của external filter, hoặc ghi log request filter hiện tại.
166
+ */
39
167
  onFilter?: (filterRequest: SdTableFilterRequest<T>, args: {
168
+ /** Cho biết toàn bộ external filter hiện tại có hợp lệ để trigger filter hay không. */
40
169
  externalFilterValid: boolean;
41
170
  }) => void;
42
171
  }
@@ -1 +1,2 @@
1
1
  export * from './filter-values.pipe';
2
+ export * from './sd-tree.pipe';