@sd-angular/core 19.0.0-beta.8 → 19.0.0-beta.81

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 (306) hide show
  1. package/README.md +686 -33
  2. package/assets/scss/ckeditor5.scss +61 -4
  3. package/assets/scss/core/bootstrap.scss +17 -0
  4. package/assets/scss/core/form.scss +32 -6
  5. package/assets/scss/core/grid.scss +40 -0
  6. package/assets/scss/sd-core.scss +5 -0
  7. package/assets/scss/themes/material-theme.scss +82 -40
  8. package/components/anchor-v2/src/components/anchor-item-v2/anchor-item-v2.component.d.ts +5 -5
  9. package/components/anchor-v2/src/components/anchor-v2/anchor-v2.component.d.ts +12 -18
  10. package/components/anchor-v2/src/components/anchor-vertical-v2/anchor-vertical-list-v2.component.d.ts +9 -10
  11. package/components/anchor-v2/src/models/sd-anchor-v2.model.d.ts +3 -3
  12. package/components/avatar/index.d.ts +1 -0
  13. package/components/avatar/src/avatar.component.d.ts +19 -0
  14. package/components/badge/src/badge.component.d.ts +77 -19
  15. package/components/button/src/button.component.d.ts +30 -28
  16. package/components/chart/index.d.ts +4 -0
  17. package/components/chart/src/bar-chart.component.d.ts +18 -0
  18. package/components/chart/src/doughnut-chart.component.d.ts +16 -0
  19. package/components/chart/src/line-chart.component.d.ts +18 -0
  20. package/components/chart/src/pie-chart.component.d.ts +16 -0
  21. package/components/code-editor/index.d.ts +1 -0
  22. package/components/code-editor/src/code-editor.component.d.ts +25 -0
  23. package/components/document-builder/index.d.ts +1 -0
  24. package/components/document-builder/src/document-builder.component.d.ts +13 -42
  25. package/components/document-builder/src/document-builder.model.d.ts +15 -12
  26. package/components/document-builder/src/plugins/block-space/block-space.plugin.d.ts +9 -0
  27. package/components/document-builder/src/plugins/ck-comment/ck-comment.plugin.d.ts +44 -0
  28. package/components/document-builder/src/plugins/ck-comment/ck-comment.plugin.model.d.ts +57 -0
  29. package/components/document-builder/src/plugins/heading/heading.plugin.d.ts +1 -0
  30. package/components/document-builder/src/plugins/highlight-range/highlight-range.plugin.d.ts +4 -0
  31. package/components/document-builder/src/plugins/image-custom/image-custom.plugin.d.ts +31 -0
  32. package/components/document-builder/src/plugins/index.d.ts +7 -2
  33. package/components/document-builder/src/plugins/page-orientation/page-orientation.plugin.d.ts +2 -2
  34. package/components/document-builder/src/plugins/paste-handler/filters/bookmark.d.ts +14 -0
  35. package/components/document-builder/src/plugins/paste-handler/filters/br.d.ts +15 -0
  36. package/components/document-builder/src/plugins/paste-handler/filters/image.d.ts +25 -0
  37. package/components/document-builder/src/plugins/paste-handler/filters/list.d.ts +29 -0
  38. package/components/document-builder/src/plugins/paste-handler/filters/parse.d.ts +35 -0
  39. package/components/document-builder/src/plugins/paste-handler/filters/removeboldwrapper.d.ts +15 -0
  40. package/components/document-builder/src/plugins/paste-handler/filters/removegooglesheetstag.d.ts +15 -0
  41. package/components/document-builder/src/plugins/paste-handler/filters/removeinvalidtablewidth.d.ts +15 -0
  42. package/components/document-builder/src/plugins/paste-handler/filters/removemsattributes.d.ts +15 -0
  43. package/components/document-builder/src/plugins/paste-handler/filters/removestyleblock.d.ts +15 -0
  44. package/components/document-builder/src/plugins/paste-handler/filters/removexmlns.d.ts +15 -0
  45. package/components/document-builder/src/plugins/paste-handler/filters/replacemsfootnotes.d.ts +54 -0
  46. package/components/document-builder/src/plugins/paste-handler/filters/replacetabswithinprewithspaces.d.ts +24 -0
  47. package/components/document-builder/src/plugins/paste-handler/filters/space.d.ts +27 -0
  48. package/components/document-builder/src/plugins/paste-handler/filters/table.d.ts +16 -0
  49. package/components/document-builder/src/plugins/paste-handler/filters/utils.d.ts +25 -0
  50. package/components/document-builder/src/plugins/paste-handler/index.d.ts +35 -0
  51. package/components/document-builder/src/plugins/paste-handler/normalizers/googledocsnormalizer.d.ts +31 -0
  52. package/components/document-builder/src/plugins/paste-handler/normalizers/googlesheetsnormalizer.d.ts +31 -0
  53. package/components/document-builder/src/plugins/paste-handler/normalizers/mswordnormalizer.d.ts +29 -0
  54. package/components/document-builder/src/plugins/paste-handler/types.d.ts +30 -0
  55. package/components/document-builder/src/plugins/table-custom/index.d.ts +34 -0
  56. package/components/document-builder/src/plugins/variable/variable.plugin.d.ts +39 -0
  57. package/components/editor/index.d.ts +3 -0
  58. package/components/editor/src/configurations/editor.configuration.d.ts +12 -0
  59. package/components/editor/src/configurations/index.d.ts +1 -0
  60. package/components/editor/src/editor.component.d.ts +42 -0
  61. package/components/editor/src/models/editor.model.d.ts +8 -0
  62. package/components/editor/src/models/image-upload.plugin.model.d.ts +20 -0
  63. package/components/editor/src/models/index.d.ts +2 -0
  64. package/components/editor/src/plugins/image-upload/image-upload.plugin.d.ts +22 -0
  65. package/components/editor/src/plugins/image-upload/utils/batch.utils.d.ts +14 -0
  66. package/components/editor/src/plugins/image-upload/utils/index.d.ts +3 -0
  67. package/components/editor/src/plugins/image-upload/utils/style.utils.d.ts +2 -0
  68. package/components/editor/src/plugins/image-upload/utils/validate.utils.d.ts +3 -0
  69. package/components/index.d.ts +6 -0
  70. package/components/mini-editor/index.d.ts +2 -0
  71. package/components/mini-editor/src/mini-editor.component.d.ts +91 -0
  72. package/components/mini-editor/src/mini-editor.model.d.ts +44 -0
  73. package/components/modal/index.d.ts +1 -1
  74. package/components/modal/src/modal.component.d.ts +26 -0
  75. package/components/section/index.d.ts +1 -0
  76. package/components/section/src/section-item/section-item.component.d.ts +7 -0
  77. package/components/section/src/section.component.d.ts +11 -11
  78. package/components/side-drawer/src/side-drawer.component.d.ts +11 -24
  79. package/components/tab-router/src/components/tab-router-item/tab-router-item.component.d.ts +4 -1
  80. package/components/tab-router/src/components/tab-router-outlet/tab-router-outlet.component.d.ts +3 -15
  81. package/components/table/index.d.ts +2 -0
  82. package/components/table/src/components/column-filter/column-filter.component.d.ts +3 -3
  83. package/components/table/src/components/column-title/column-title.component.d.ts +10 -0
  84. package/components/table/src/components/desktop-cell/desktop-cell.component.d.ts +18 -11
  85. package/components/table/src/components/desktop-cell/view/view.component.d.ts +24 -0
  86. package/components/table/src/components/external-filter/external-filter.component.d.ts +1 -1
  87. package/components/table/src/components/index.d.ts +1 -0
  88. package/components/table/src/components/selector-action/action-filter.pipe.d.ts +11 -10
  89. package/components/table/src/components/selector-action/selector-action.component.d.ts +5 -3
  90. package/components/table/src/directives/index.d.ts +4 -0
  91. package/components/table/src/directives/sd-table-cell-def.directive.d.ts +2 -3
  92. package/components/table/src/directives/sd-table-column-filter-def.directive.d.ts +8 -0
  93. package/components/table/src/directives/sd-table-expand-def.directive.d.ts +0 -1
  94. package/components/table/src/directives/sd-table-filter-def.directive.d.ts +4 -6
  95. package/components/table/src/directives/sd-table-footer-def.directive.d.ts +2 -3
  96. package/components/table/src/directives/sd-table-title-def.directive.d.ts +8 -0
  97. package/components/table/src/directives/sticky-shadow.directive.d.ts +17 -0
  98. package/components/table/src/models/table-column.model.d.ts +49 -40
  99. package/components/table/src/models/table-command.model.d.ts +7 -3
  100. package/components/table/src/models/table-item.model.d.ts +5 -4
  101. package/components/table/src/models/table-option-config.model.d.ts +3 -0
  102. package/components/table/src/models/table-option-export.model.d.ts +3 -2
  103. package/components/table/src/models/table-option-selector.model.d.ts +17 -10
  104. package/components/table/src/models/table-option.model.d.ts +15 -8
  105. package/components/table/src/services/index.d.ts +3 -0
  106. package/components/table/src/services/table-export/table-export.service.d.ts +26 -0
  107. package/components/table/src/services/table-filter/table-filter.model.d.ts +6 -5
  108. package/components/table/src/services/table-format/table-format.service.d.ts +16 -0
  109. package/components/table/src/table.component.d.ts +46 -53
  110. package/components/upload-file/src/configurations/upload-file.configuration.d.ts +34 -1
  111. package/components/upload-file/src/services/upload-file.service.d.ts +0 -1
  112. package/components/upload-file/src/upload-file.component.d.ts +52 -54
  113. package/components/view/index.d.ts +1 -0
  114. package/components/view/src/view.component.d.ts +16 -0
  115. package/components/workflow/src/models/form-generic-component.model.d.ts +5 -4
  116. package/components/workflow/src/models/form-generic-expression.model.d.ts +1 -0
  117. package/components/workflow/src/models/index.d.ts +1 -0
  118. package/components/workflow/src/pipes/html.pipe.d.ts +4 -4
  119. package/directives/index.d.ts +2 -0
  120. package/directives/src/sd-href.directive.d.ts +9 -0
  121. package/directives/src/sd-tooltip.directive.d.ts +26 -0
  122. package/fesm2022/sd-angular-core-components-anchor-v2.mjs +79 -154
  123. package/fesm2022/sd-angular-core-components-anchor-v2.mjs.map +1 -1
  124. package/fesm2022/sd-angular-core-components-avatar.mjs +103 -0
  125. package/fesm2022/sd-angular-core-components-avatar.mjs.map +1 -0
  126. package/fesm2022/sd-angular-core-components-badge.mjs +101 -91
  127. package/fesm2022/sd-angular-core-components-badge.mjs.map +1 -1
  128. package/fesm2022/sd-angular-core-components-button.mjs +70 -96
  129. package/fesm2022/sd-angular-core-components-button.mjs.map +1 -1
  130. package/fesm2022/sd-angular-core-components-chart.mjs +290 -0
  131. package/fesm2022/sd-angular-core-components-chart.mjs.map +1 -0
  132. package/fesm2022/sd-angular-core-components-code-editor.mjs +127 -0
  133. package/fesm2022/sd-angular-core-components-code-editor.mjs.map +1 -0
  134. package/fesm2022/sd-angular-core-components-document-builder.mjs +4005 -611
  135. package/fesm2022/sd-angular-core-components-document-builder.mjs.map +1 -1
  136. package/fesm2022/sd-angular-core-components-editor.mjs +933 -0
  137. package/fesm2022/sd-angular-core-components-editor.mjs.map +1 -0
  138. package/fesm2022/sd-angular-core-components-history.mjs +1 -1
  139. package/fesm2022/sd-angular-core-components-history.mjs.map +1 -1
  140. package/fesm2022/sd-angular-core-components-import-excel.mjs +1 -1
  141. package/fesm2022/sd-angular-core-components-import-excel.mjs.map +1 -1
  142. package/fesm2022/sd-angular-core-components-mini-editor.mjs +332 -0
  143. package/fesm2022/sd-angular-core-components-mini-editor.mjs.map +1 -0
  144. package/fesm2022/sd-angular-core-components-modal.mjs +63 -92
  145. package/fesm2022/sd-angular-core-components-modal.mjs.map +1 -1
  146. package/fesm2022/sd-angular-core-components-preview.mjs +1 -1
  147. package/fesm2022/sd-angular-core-components-preview.mjs.map +1 -1
  148. package/fesm2022/sd-angular-core-components-quick-action.mjs +2 -2
  149. package/fesm2022/sd-angular-core-components-quick-action.mjs.map +1 -1
  150. package/fesm2022/sd-angular-core-components-section.mjs +41 -43
  151. package/fesm2022/sd-angular-core-components-section.mjs.map +1 -1
  152. package/fesm2022/sd-angular-core-components-side-drawer.mjs +78 -84
  153. package/fesm2022/sd-angular-core-components-side-drawer.mjs.map +1 -1
  154. package/fesm2022/sd-angular-core-components-tab-router.mjs +151 -241
  155. package/fesm2022/sd-angular-core-components-tab-router.mjs.map +1 -1
  156. package/fesm2022/sd-angular-core-components-table.mjs +1394 -1254
  157. package/fesm2022/sd-angular-core-components-table.mjs.map +1 -1
  158. package/fesm2022/sd-angular-core-components-upload-file.mjs +390 -443
  159. package/fesm2022/sd-angular-core-components-upload-file.mjs.map +1 -1
  160. package/fesm2022/sd-angular-core-components-view.mjs +45 -0
  161. package/fesm2022/sd-angular-core-components-view.mjs.map +1 -0
  162. package/fesm2022/sd-angular-core-components-workflow.mjs +165 -168
  163. package/fesm2022/sd-angular-core-components-workflow.mjs.map +1 -1
  164. package/fesm2022/sd-angular-core-components.mjs +6 -0
  165. package/fesm2022/sd-angular-core-components.mjs.map +1 -1
  166. package/fesm2022/sd-angular-core-directives.mjs +286 -27
  167. package/fesm2022/sd-angular-core-directives.mjs.map +1 -1
  168. package/fesm2022/sd-angular-core-forms-autocomplete.mjs +289 -363
  169. package/fesm2022/sd-angular-core-forms-autocomplete.mjs.map +1 -1
  170. package/fesm2022/sd-angular-core-forms-chip-calendar.mjs +170 -189
  171. package/fesm2022/sd-angular-core-forms-chip-calendar.mjs.map +1 -1
  172. package/fesm2022/sd-angular-core-forms-chip.mjs +184 -194
  173. package/fesm2022/sd-angular-core-forms-chip.mjs.map +1 -1
  174. package/fesm2022/sd-angular-core-forms-date-range.mjs +180 -242
  175. package/fesm2022/sd-angular-core-forms-date-range.mjs.map +1 -1
  176. package/fesm2022/sd-angular-core-forms-date.mjs +178 -270
  177. package/fesm2022/sd-angular-core-forms-date.mjs.map +1 -1
  178. package/fesm2022/sd-angular-core-forms-datetime.mjs +177 -285
  179. package/fesm2022/sd-angular-core-forms-datetime.mjs.map +1 -1
  180. package/fesm2022/sd-angular-core-forms-input-number.mjs +210 -337
  181. package/fesm2022/sd-angular-core-forms-input-number.mjs.map +1 -1
  182. package/fesm2022/sd-angular-core-forms-input.mjs +169 -286
  183. package/fesm2022/sd-angular-core-forms-input.mjs.map +1 -1
  184. package/fesm2022/sd-angular-core-forms-radio.mjs +3 -2
  185. package/fesm2022/sd-angular-core-forms-radio.mjs.map +1 -1
  186. package/fesm2022/sd-angular-core-forms-select.mjs +390 -447
  187. package/fesm2022/sd-angular-core-forms-select.mjs.map +1 -1
  188. package/fesm2022/sd-angular-core-forms-textarea.mjs +167 -226
  189. package/fesm2022/sd-angular-core-forms-textarea.mjs.map +1 -1
  190. package/fesm2022/sd-angular-core-modules-authom.mjs +359 -0
  191. package/fesm2022/sd-angular-core-modules-authom.mjs.map +1 -0
  192. package/fesm2022/sd-angular-core-modules-keycloak.mjs +126 -0
  193. package/fesm2022/sd-angular-core-modules-keycloak.mjs.map +1 -0
  194. package/fesm2022/sd-angular-core-modules-layout.mjs +709 -456
  195. package/fesm2022/sd-angular-core-modules-layout.mjs.map +1 -1
  196. package/fesm2022/sd-angular-core-modules-permission.mjs +160 -74
  197. package/fesm2022/sd-angular-core-modules-permission.mjs.map +1 -1
  198. package/fesm2022/sd-angular-core-modules.mjs +2 -1
  199. package/fesm2022/sd-angular-core-modules.mjs.map +1 -1
  200. package/fesm2022/sd-angular-core-services-api.mjs +5 -10
  201. package/fesm2022/sd-angular-core-services-api.mjs.map +1 -1
  202. package/fesm2022/sd-angular-core-services-confirm.mjs +9 -7
  203. package/fesm2022/sd-angular-core-services-confirm.mjs.map +1 -1
  204. package/fesm2022/sd-angular-core-services-docx.mjs +173 -0
  205. package/fesm2022/sd-angular-core-services-docx.mjs.map +1 -0
  206. package/fesm2022/sd-angular-core-services-notify.mjs +2 -2
  207. package/fesm2022/sd-angular-core-services-notify.mjs.map +1 -1
  208. package/fesm2022/sd-angular-core-services.mjs +1 -0
  209. package/fesm2022/sd-angular-core-services.mjs.map +1 -1
  210. package/fesm2022/sd-angular-core-utilities-extensions.mjs +58 -80
  211. package/fesm2022/sd-angular-core-utilities-extensions.mjs.map +1 -1
  212. package/fesm2022/sd-angular-core-utilities-models.mjs +15 -1
  213. package/fesm2022/sd-angular-core-utilities-models.mjs.map +1 -1
  214. package/fesm2022/sd-angular-core.mjs +0 -1
  215. package/fesm2022/sd-angular-core.mjs.map +1 -1
  216. package/forms/autocomplete/src/autocomplete.component.d.ts +55 -55
  217. package/forms/chip/src/chip.component.d.ts +37 -40
  218. package/forms/chip-calendar/src/chip-calendar.component.d.ts +37 -38
  219. package/forms/date/src/date.component.d.ts +48 -46
  220. package/forms/date-range/src/date-range.component.d.ts +35 -34
  221. package/forms/datetime/src/datetime.component.d.ts +48 -49
  222. package/forms/input/src/input.component.d.ts +54 -57
  223. package/forms/input-number/src/input-number.component.d.ts +53 -54
  224. package/forms/select/src/select.component.d.ts +67 -64
  225. package/forms/textarea/src/textarea.component.d.ts +40 -43
  226. package/modules/authom/authom.configuration.d.ts +17 -0
  227. package/modules/authom/authom.interceptor.d.ts +3 -0
  228. package/modules/authom/authom.module.d.ts +16 -0
  229. package/modules/authom/authom.service.d.ts +32 -0
  230. package/modules/authom/index.d.ts +35 -0
  231. package/modules/index.d.ts +2 -1
  232. package/modules/keycloak/index.d.ts +4 -0
  233. package/modules/keycloak/keycloak.configuration.d.ts +11 -0
  234. package/modules/keycloak/keycloak.interceptor.d.ts +2 -0
  235. package/modules/keycloak/keycloak.module.d.ts +18 -0
  236. package/modules/keycloak/keycloak.service.d.ts +14 -0
  237. package/modules/layout/components/index.d.ts +2 -0
  238. package/modules/layout/components/layout-main/layout-main.component.d.ts +8 -12
  239. package/modules/layout/components/page/page.component.d.ts +5 -7
  240. package/modules/layout/components/sidebar-mobile-v1/components/sidebar/sidebar.component.d.ts +35 -0
  241. package/modules/layout/components/sidebar-mobile-v1/components/user/user.component.d.ts +24 -0
  242. package/modules/layout/components/sidebar-mobile-v1/main.component.d.ts +21 -0
  243. package/modules/layout/components/sidebar-v1/components/sidebar/sidebar.component.d.ts +22 -29
  244. package/modules/layout/components/sidebar-v1/components/user/user.component.d.ts +11 -17
  245. package/modules/layout/components/sidebar-v1/main.component.d.ts +14 -14
  246. package/modules/layout/configurations/layout.configuration.d.ts +46 -3
  247. package/modules/layout/modules/forbidden/pages/root/root.component.d.ts +3 -8
  248. package/modules/layout/modules/home/components/home-page/home-page.component.d.ts +2 -5
  249. package/modules/layout/modules/not-found/pages/root/root.component.d.ts +3 -8
  250. package/modules/layout/pipes/high-light-search.pipe.d.ts +1 -1
  251. package/modules/layout/services/index.d.ts +1 -0
  252. package/modules/layout/services/layout.service.d.ts +10 -0
  253. package/modules/layout/services/menu/menu.model.d.ts +4 -1
  254. package/modules/layout/services/storage/storage.service.d.ts +0 -3
  255. package/modules/permission/src/configurations/permission.configuration.d.ts +56 -2
  256. package/modules/permission/src/directives/permission.directive.d.ts +5 -8
  257. package/modules/permission/src/guards/permission.guard.d.ts +2 -1
  258. package/modules/permission/src/services/permission.service.d.ts +6 -9
  259. package/package.json +107 -79
  260. package/public-api.d.ts +0 -1
  261. package/sd-angular-core-19.0.0-beta.81.tgz +0 -0
  262. package/services/api/src/api.model.d.ts +6 -1
  263. package/services/confirm/src/lib/confirm.service.d.ts +5 -0
  264. package/services/docx/index.d.ts +1 -0
  265. package/services/docx/src/lib/docx.model.d.ts +9 -0
  266. package/services/docx/src/lib/docx.service.d.ts +13 -0
  267. package/services/docx/src/public-api.d.ts +2 -0
  268. package/services/index.d.ts +1 -0
  269. package/services/notify/index.d.ts +1 -0
  270. package/services/notify/src/notify.model.d.ts +1 -1
  271. package/services/notify/src/notify.service.d.ts +5 -5
  272. package/utilities/extensions/src/string.extension.d.ts +3 -0
  273. package/utilities/extensions/src/utility.extension.d.ts +1 -0
  274. package/utilities/models/index.d.ts +3 -0
  275. package/utilities/models/src/filter.model.d.ts +17 -4
  276. package/utilities/models/src/icon.model.d.ts +2 -0
  277. package/utilities/models/src/nested-key-of.model.d.ts +5 -0
  278. package/utilities/models/src/order.model.d.ts +2 -1
  279. package/utilities/models/src/paging.model.d.ts +2 -1
  280. package/utilities/models/src/pattern.model.d.ts +1 -1
  281. package/utilities/models/src/unwrap-signal.model.d.ts +6 -0
  282. package/components/document-builder/src/plugins/comment/comment.plugin.d.ts +0 -4
  283. package/components/document-builder/src/plugins/table-fit/table-fit.plugin.d.ts +0 -4
  284. package/components/modal/src/modal/modal.component.d.ts +0 -31
  285. package/components/table/src/components/desktop-cell-view/desktop-cell-view.component.d.ts +0 -14
  286. package/fesm2022/sd-angular-core-guards-permission.mjs +0 -155
  287. package/fesm2022/sd-angular-core-guards-permission.mjs.map +0 -1
  288. package/fesm2022/sd-angular-core-guards.mjs +0 -6
  289. package/fesm2022/sd-angular-core-guards.mjs.map +0 -1
  290. package/fesm2022/sd-angular-core-modules-oidc.mjs +0 -127
  291. package/fesm2022/sd-angular-core-modules-oidc.mjs.map +0 -1
  292. package/guards/index.d.ts +0 -1
  293. package/guards/permission/index.d.ts +0 -4
  294. package/guards/permission/src/configurations/index.d.ts +0 -1
  295. package/guards/permission/src/configurations/permission.configuration.d.ts +0 -8
  296. package/guards/permission/src/directives/index.d.ts +0 -1
  297. package/guards/permission/src/directives/permission.directive.d.ts +0 -12
  298. package/guards/permission/src/guards/index.d.ts +0 -1
  299. package/guards/permission/src/guards/permission.guard.d.ts +0 -13
  300. package/guards/permission/src/services/index.d.ts +0 -1
  301. package/guards/permission/src/services/permission.service.d.ts +0 -15
  302. package/modules/oidc/dynamic-sts.loader.d.ts +0 -11
  303. package/modules/oidc/index.d.ts +0 -2
  304. package/modules/oidc/oidc.configuration.d.ts +0 -11
  305. package/modules/oidc/oidc.module.d.ts +0 -14
  306. package/sd-angular-core-19.0.0-beta.8.tgz +0 -0
package/package.json CHANGED
@@ -1,20 +1,24 @@
1
1
  {
2
2
  "name": "@sd-angular/core",
3
- "version": "19.0.0-beta.8",
3
+ "version": "19.0.0-beta.81",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.0.0 || ^20.0.0 || ^21.0.0",
6
6
  "@angular/core": "^19.0.0 || ^20.0.0 || ^21.0.0",
7
7
  "@angular/material": "^19.0.0 || ^20.0.0 || ^21.0.0",
8
- "@angular/material-moment-adapter": "^19.0.0 || ^20.0.0 || ^21.0.0",
9
- "angular-auth-oidc-client": "^19.0.0 || ^20.0.0 || ^21.0.0"
8
+ "@angular/material-moment-adapter": "^19.0.0 || ^20.0.0 || ^21.0.0"
10
9
  },
11
10
  "dependencies": {
12
- "tslib": "^2.8.0",
13
- "@ckeditor/ckeditor5-angular": "^11.0.0",
14
- "ckeditor5": "^47.3.0",
15
- "moment": "^2.30.1",
11
+ "@ckeditor/ckeditor5-angular": "11.1.2",
12
+ "@omer-go/docx-parser-converter-ts": "^1.0.0",
13
+ "ckeditor5": "48.0.0",
14
+ "chart.js": "^4.5.1",
16
15
  "exceljs": "^4.4.0",
17
- "export-to-csv": "^1.4.0"
16
+ "export-to-csv": "^1.4.0",
17
+ "mammoth": "^1.11.0",
18
+ "moment": "^2.30.1",
19
+ "keycloak-js": "^26.0.0",
20
+ "prismjs": "^1.30.0",
21
+ "tslib": "^2.8.0"
18
22
  },
19
23
  "sideEffects": false,
20
24
  "module": "fesm2022/sd-angular-core.mjs",
@@ -27,26 +31,22 @@
27
31
  "types": "./index.d.ts",
28
32
  "default": "./fesm2022/sd-angular-core.mjs"
29
33
  },
30
- "./components": {
31
- "types": "./components/index.d.ts",
32
- "default": "./fesm2022/sd-angular-core-components.mjs"
34
+ "./configurations": {
35
+ "types": "./configurations/index.d.ts",
36
+ "default": "./fesm2022/sd-angular-core-configurations.mjs"
33
37
  },
34
38
  "./directives": {
35
39
  "types": "./directives/index.d.ts",
36
40
  "default": "./fesm2022/sd-angular-core-directives.mjs"
37
41
  },
38
- "./configurations": {
39
- "types": "./configurations/index.d.ts",
40
- "default": "./fesm2022/sd-angular-core-configurations.mjs"
42
+ "./components": {
43
+ "types": "./components/index.d.ts",
44
+ "default": "./fesm2022/sd-angular-core-components.mjs"
41
45
  },
42
46
  "./forms": {
43
47
  "types": "./forms/index.d.ts",
44
48
  "default": "./fesm2022/sd-angular-core-forms.mjs"
45
49
  },
46
- "./guards": {
47
- "types": "./guards/index.d.ts",
48
- "default": "./fesm2022/sd-angular-core-guards.mjs"
49
- },
50
50
  "./handlers": {
51
51
  "types": "./handlers/index.d.ts",
52
52
  "default": "./fesm2022/sd-angular-core-handlers.mjs"
@@ -71,46 +71,66 @@
71
71
  "types": "./utilities/index.d.ts",
72
72
  "default": "./fesm2022/sd-angular-core-utilities.mjs"
73
73
  },
74
+ "./components/anchor": {
75
+ "types": "./components/anchor/index.d.ts",
76
+ "default": "./fesm2022/sd-angular-core-components-anchor.mjs"
77
+ },
78
+ "./components/avatar": {
79
+ "types": "./components/avatar/index.d.ts",
80
+ "default": "./fesm2022/sd-angular-core-components-avatar.mjs"
81
+ },
74
82
  "./components/anchor-v2": {
75
83
  "types": "./components/anchor-v2/index.d.ts",
76
84
  "default": "./fesm2022/sd-angular-core-components-anchor-v2.mjs"
77
85
  },
78
- "./components/anchor": {
79
- "types": "./components/anchor/index.d.ts",
80
- "default": "./fesm2022/sd-angular-core-components-anchor.mjs"
86
+ "./components/badge": {
87
+ "types": "./components/badge/index.d.ts",
88
+ "default": "./fesm2022/sd-angular-core-components-badge.mjs"
89
+ },
90
+ "./components/button": {
91
+ "types": "./components/button/index.d.ts",
92
+ "default": "./fesm2022/sd-angular-core-components-button.mjs"
81
93
  },
82
94
  "./components/base": {
83
95
  "types": "./components/base/index.d.ts",
84
96
  "default": "./fesm2022/sd-angular-core-components-base.mjs"
85
97
  },
86
- "./components/button": {
87
- "types": "./components/button/index.d.ts",
88
- "default": "./fesm2022/sd-angular-core-components-button.mjs"
98
+ "./components/chart": {
99
+ "types": "./components/chart/index.d.ts",
100
+ "default": "./fesm2022/sd-angular-core-components-chart.mjs"
89
101
  },
90
- "./components/badge": {
91
- "types": "./components/badge/index.d.ts",
92
- "default": "./fesm2022/sd-angular-core-components-badge.mjs"
102
+ "./components/code-editor": {
103
+ "types": "./components/code-editor/index.d.ts",
104
+ "default": "./fesm2022/sd-angular-core-components-code-editor.mjs"
93
105
  },
94
106
  "./components/document-builder": {
95
107
  "types": "./components/document-builder/index.d.ts",
96
108
  "default": "./fesm2022/sd-angular-core-components-document-builder.mjs"
97
109
  },
110
+ "./components/editor": {
111
+ "types": "./components/editor/index.d.ts",
112
+ "default": "./fesm2022/sd-angular-core-components-editor.mjs"
113
+ },
98
114
  "./components/history": {
99
115
  "types": "./components/history/index.d.ts",
100
116
  "default": "./fesm2022/sd-angular-core-components-history.mjs"
101
117
  },
102
- "./components/preview": {
103
- "types": "./components/preview/index.d.ts",
104
- "default": "./fesm2022/sd-angular-core-components-preview.mjs"
105
- },
106
118
  "./components/import-excel": {
107
119
  "types": "./components/import-excel/index.d.ts",
108
120
  "default": "./fesm2022/sd-angular-core-components-import-excel.mjs"
109
121
  },
122
+ "./components/mini-editor": {
123
+ "types": "./components/mini-editor/index.d.ts",
124
+ "default": "./fesm2022/sd-angular-core-components-mini-editor.mjs"
125
+ },
110
126
  "./components/modal": {
111
127
  "types": "./components/modal/index.d.ts",
112
128
  "default": "./fesm2022/sd-angular-core-components-modal.mjs"
113
129
  },
130
+ "./components/preview": {
131
+ "types": "./components/preview/index.d.ts",
132
+ "default": "./fesm2022/sd-angular-core-components-preview.mjs"
133
+ },
114
134
  "./components/query-builder": {
115
135
  "types": "./components/query-builder/index.d.ts",
116
136
  "default": "./fesm2022/sd-angular-core-components-query-builder.mjs"
@@ -119,61 +139,69 @@
119
139
  "types": "./components/quick-action/index.d.ts",
120
140
  "default": "./fesm2022/sd-angular-core-components-quick-action.mjs"
121
141
  },
122
- "./components/side-drawer": {
123
- "types": "./components/side-drawer/index.d.ts",
124
- "default": "./fesm2022/sd-angular-core-components-side-drawer.mjs"
125
- },
126
142
  "./components/section": {
127
143
  "types": "./components/section/index.d.ts",
128
144
  "default": "./fesm2022/sd-angular-core-components-section.mjs"
129
145
  },
146
+ "./components/side-drawer": {
147
+ "types": "./components/side-drawer/index.d.ts",
148
+ "default": "./fesm2022/sd-angular-core-components-side-drawer.mjs"
149
+ },
130
150
  "./components/table": {
131
151
  "types": "./components/table/index.d.ts",
132
152
  "default": "./fesm2022/sd-angular-core-components-table.mjs"
133
153
  },
134
- "./components/tab-router": {
135
- "types": "./components/tab-router/index.d.ts",
136
- "default": "./fesm2022/sd-angular-core-components-tab-router.mjs"
154
+ "./components/view": {
155
+ "types": "./components/view/index.d.ts",
156
+ "default": "./fesm2022/sd-angular-core-components-view.mjs"
137
157
  },
138
- "./components/upload-file": {
139
- "types": "./components/upload-file/index.d.ts",
140
- "default": "./fesm2022/sd-angular-core-components-upload-file.mjs"
158
+ "./forms/autocomplete": {
159
+ "types": "./forms/autocomplete/index.d.ts",
160
+ "default": "./fesm2022/sd-angular-core-forms-autocomplete.mjs"
141
161
  },
142
162
  "./components/workflow": {
143
163
  "types": "./components/workflow/index.d.ts",
144
164
  "default": "./fesm2022/sd-angular-core-components-workflow.mjs"
145
165
  },
146
- "./forms/chip-calendar": {
147
- "types": "./forms/chip-calendar/index.d.ts",
148
- "default": "./fesm2022/sd-angular-core-forms-chip-calendar.mjs"
166
+ "./components/upload-file": {
167
+ "types": "./components/upload-file/index.d.ts",
168
+ "default": "./fesm2022/sd-angular-core-components-upload-file.mjs"
149
169
  },
150
170
  "./forms/checkbox": {
151
171
  "types": "./forms/checkbox/index.d.ts",
152
172
  "default": "./fesm2022/sd-angular-core-forms-checkbox.mjs"
153
173
  },
174
+ "./forms/chip": {
175
+ "types": "./forms/chip/index.d.ts",
176
+ "default": "./fesm2022/sd-angular-core-forms-chip.mjs"
177
+ },
178
+ "./forms/chip-calendar": {
179
+ "types": "./forms/chip-calendar/index.d.ts",
180
+ "default": "./fesm2022/sd-angular-core-forms-chip-calendar.mjs"
181
+ },
154
182
  "./forms/date": {
155
183
  "types": "./forms/date/index.d.ts",
156
184
  "default": "./fesm2022/sd-angular-core-forms-date.mjs"
157
185
  },
158
- "./forms/datetime": {
159
- "types": "./forms/datetime/index.d.ts",
160
- "default": "./fesm2022/sd-angular-core-forms-datetime.mjs"
161
- },
162
186
  "./forms/date-range": {
163
187
  "types": "./forms/date-range/index.d.ts",
164
188
  "default": "./fesm2022/sd-angular-core-forms-date-range.mjs"
165
189
  },
166
- "./forms/autocomplete": {
167
- "types": "./forms/autocomplete/index.d.ts",
168
- "default": "./fesm2022/sd-angular-core-forms-autocomplete.mjs"
190
+ "./forms/input": {
191
+ "types": "./forms/input/index.d.ts",
192
+ "default": "./fesm2022/sd-angular-core-forms-input.mjs"
169
193
  },
170
194
  "./forms/directives": {
171
195
  "types": "./forms/directives/index.d.ts",
172
196
  "default": "./fesm2022/sd-angular-core-forms-directives.mjs"
173
197
  },
174
- "./forms/input": {
175
- "types": "./forms/input/index.d.ts",
176
- "default": "./fesm2022/sd-angular-core-forms-input.mjs"
198
+ "./forms/datetime": {
199
+ "types": "./forms/datetime/index.d.ts",
200
+ "default": "./fesm2022/sd-angular-core-forms-datetime.mjs"
201
+ },
202
+ "./forms/input-number": {
203
+ "types": "./forms/input-number/index.d.ts",
204
+ "default": "./fesm2022/sd-angular-core-forms-input-number.mjs"
177
205
  },
178
206
  "./forms/label": {
179
207
  "types": "./forms/label/index.d.ts",
@@ -183,10 +211,6 @@
183
211
  "types": "./forms/models/index.d.ts",
184
212
  "default": "./fesm2022/sd-angular-core-forms-models.mjs"
185
213
  },
186
- "./forms/input-number": {
187
- "types": "./forms/input-number/index.d.ts",
188
- "default": "./fesm2022/sd-angular-core-forms-input-number.mjs"
189
- },
190
214
  "./forms/radio": {
191
215
  "types": "./forms/radio/index.d.ts",
192
216
  "default": "./fesm2022/sd-angular-core-forms-radio.mjs"
@@ -195,30 +219,30 @@
195
219
  "types": "./forms/select/index.d.ts",
196
220
  "default": "./fesm2022/sd-angular-core-forms-select.mjs"
197
221
  },
198
- "./forms/textarea": {
199
- "types": "./forms/textarea/index.d.ts",
200
- "default": "./fesm2022/sd-angular-core-forms-textarea.mjs"
201
- },
202
222
  "./forms/switch": {
203
223
  "types": "./forms/switch/index.d.ts",
204
224
  "default": "./fesm2022/sd-angular-core-forms-switch.mjs"
205
225
  },
206
- "./guards/permission": {
207
- "types": "./guards/permission/index.d.ts",
208
- "default": "./fesm2022/sd-angular-core-guards-permission.mjs"
226
+ "./forms/textarea": {
227
+ "types": "./forms/textarea/index.d.ts",
228
+ "default": "./fesm2022/sd-angular-core-forms-textarea.mjs"
209
229
  },
210
230
  "./modules/auth": {
211
231
  "types": "./modules/auth/index.d.ts",
212
232
  "default": "./fesm2022/sd-angular-core-modules-auth.mjs"
213
233
  },
234
+ "./modules/authom": {
235
+ "types": "./modules/authom/index.d.ts",
236
+ "default": "./fesm2022/sd-angular-core-modules-authom.mjs"
237
+ },
238
+ "./modules/keycloak": {
239
+ "types": "./modules/keycloak/index.d.ts",
240
+ "default": "./fesm2022/sd-angular-core-modules-keycloak.mjs"
241
+ },
214
242
  "./modules/layout": {
215
243
  "types": "./modules/layout/index.d.ts",
216
244
  "default": "./fesm2022/sd-angular-core-modules-layout.mjs"
217
245
  },
218
- "./modules/oidc": {
219
- "types": "./modules/oidc/index.d.ts",
220
- "default": "./fesm2022/sd-angular-core-modules-oidc.mjs"
221
- },
222
246
  "./modules/permission": {
223
247
  "types": "./modules/permission/index.d.ts",
224
248
  "default": "./fesm2022/sd-angular-core-modules-permission.mjs"
@@ -235,6 +259,10 @@
235
259
  "types": "./services/confirm/index.d.ts",
236
260
  "default": "./fesm2022/sd-angular-core-services-confirm.mjs"
237
261
  },
262
+ "./services/docx": {
263
+ "types": "./services/docx/index.d.ts",
264
+ "default": "./fesm2022/sd-angular-core-services-docx.mjs"
265
+ },
238
266
  "./services/excel": {
239
267
  "types": "./services/excel/index.d.ts",
240
268
  "default": "./fesm2022/sd-angular-core-services-excel.mjs"
@@ -243,22 +271,22 @@
243
271
  "types": "./services/firebase/index.d.ts",
244
272
  "default": "./fesm2022/sd-angular-core-services-firebase.mjs"
245
273
  },
246
- "./services/loading": {
247
- "types": "./services/loading/index.d.ts",
248
- "default": "./fesm2022/sd-angular-core-services-loading.mjs"
249
- },
250
274
  "./services/license": {
251
275
  "types": "./services/license/index.d.ts",
252
276
  "default": "./fesm2022/sd-angular-core-services-license.mjs"
253
277
  },
254
- "./services/notify": {
255
- "types": "./services/notify/index.d.ts",
256
- "default": "./fesm2022/sd-angular-core-services-notify.mjs"
278
+ "./services/loading": {
279
+ "types": "./services/loading/index.d.ts",
280
+ "default": "./fesm2022/sd-angular-core-services-loading.mjs"
257
281
  },
258
282
  "./services/storage": {
259
283
  "types": "./services/storage/index.d.ts",
260
284
  "default": "./fesm2022/sd-angular-core-services-storage.mjs"
261
285
  },
286
+ "./services/notify": {
287
+ "types": "./services/notify/index.d.ts",
288
+ "default": "./fesm2022/sd-angular-core-services-notify.mjs"
289
+ },
262
290
  "./utilities/extensions": {
263
291
  "types": "./utilities/extensions/index.d.ts",
264
292
  "default": "./fesm2022/sd-angular-core-utilities-extensions.mjs"
@@ -267,9 +295,9 @@
267
295
  "types": "./utilities/models/index.d.ts",
268
296
  "default": "./fesm2022/sd-angular-core-utilities-models.mjs"
269
297
  },
270
- "./forms/chip": {
271
- "types": "./forms/chip/index.d.ts",
272
- "default": "./fesm2022/sd-angular-core-forms-chip.mjs"
298
+ "./components/tab-router": {
299
+ "types": "./components/tab-router/index.d.ts",
300
+ "default": "./fesm2022/sd-angular-core-components-tab-router.mjs"
273
301
  }
274
302
  }
275
303
  }
package/public-api.d.ts CHANGED
@@ -2,7 +2,6 @@ import '@sd-angular/core/configurations';
2
2
  import '@sd-angular/core/utilities';
3
3
  import '@sd-angular/core/pipes';
4
4
  import '@sd-angular/core/directives';
5
- import '@sd-angular/core/guards';
6
5
  import '@sd-angular/core/services';
7
6
  import '@sd-angular/core/interceptors';
8
7
  import '@sd-angular/core/handlers';
@@ -15,16 +15,21 @@ export type SdPutOption = HttpPutOption & SdApiOption;
15
15
  type HttpDeleteOption = Parameters<HttpClient['delete']>[1];
16
16
  export type SdDeleteOption = HttpDeleteOption & SdApiOption;
17
17
  export interface SdApiHandler {
18
+ /** Danh sách host URL mà handler này sẽ xử lý */
18
19
  hosts: string[];
20
+ /** Can thiệp request: gắn header, token, transform body... */
19
21
  intercept?: (request: HttpRequest<any>) => HttpRequest<any>;
22
+ /** Hook chạy TRƯỚC khi gửi request (dùng để log, tracking...) */
20
23
  beforeRemote?: (request: HttpRequest<any>) => void | Promise<void>;
24
+ /** Hook chạy SAU khi nhận response (xử lý lỗi, notify...) */
21
25
  afterRemote?: (response: HttpResponse<any> | HttpErrorResponse | Error) => void | Promise<void>;
26
+ /** Transform response body thành kiểu dữ liệu mong muốn */
22
27
  mapResponse?: <Tres = any, Tdata = any>(response: Tres) => Tdata;
28
+ /** Timeout tính bằng milliseconds. Mặc định: 30000 (30 giây) */
23
29
  timeout?: number;
24
30
  }
25
31
  export interface ISdApiConfiguration {
26
32
  handlers: SdApiHandler[];
27
33
  }
28
34
  export declare const SD_API_CONFIG: InjectionToken<ISdApiConfiguration>;
29
- export declare const TOKEN: string;
30
35
  export {};
@@ -10,6 +10,8 @@ export declare class SdConfirmService {
10
10
  noTitle?: string;
11
11
  yesButtonColor?: SdColor;
12
12
  noButtonColor?: SdColor;
13
+ width?: string;
14
+ disableBackdropClose?: boolean;
13
15
  }) => Promise<unknown>;
14
16
  withInput: (message?: string, option?: {
15
17
  title?: string;
@@ -20,6 +22,7 @@ export declare class SdConfirmService {
20
22
  yesButtonColor?: SdColor;
21
23
  noButtonColor?: SdColor;
22
24
  defaultValue?: string;
25
+ disableBackdropClose?: boolean;
23
26
  }) => Promise<string>;
24
27
  withRadio: (message?: string, option?: {
25
28
  title?: string;
@@ -33,6 +36,7 @@ export declare class SdConfirmService {
33
36
  valueField: string;
34
37
  displayField: string;
35
38
  display?: "row" | "column";
39
+ disableBackdropClose?: boolean;
36
40
  }) => Promise<string>;
37
41
  withDate: (message?: string, option?: {
38
42
  title?: string;
@@ -43,6 +47,7 @@ export declare class SdConfirmService {
43
47
  noButtonColor?: SdColor;
44
48
  defaultValue?: string | Date;
45
49
  placeholder?: string;
50
+ disableBackdropClose?: boolean;
46
51
  }) => Promise<string>;
47
52
  static ɵfac: i0.ɵɵFactoryDeclaration<SdConfirmService, never>;
48
53
  static ɵprov: i0.ɵɵInjectableDeclaration<SdConfirmService>;
@@ -0,0 +1 @@
1
+ export * from './src/public-api';
@@ -0,0 +1,9 @@
1
+ export interface SdDocxConvertOptions {
2
+ validateFormat?: boolean;
3
+ validateSize?: boolean;
4
+ maxSizeInMb?: number;
5
+ }
6
+ export interface SdDocxConvertResult {
7
+ html: string;
8
+ messages: string[];
9
+ }
@@ -0,0 +1,13 @@
1
+ import { SdDocxConvertOptions, SdDocxConvertResult } from './docx.model';
2
+ import { SdNotifyService } from '@sd-angular/core/services/notify';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SdDocxService {
5
+ #private;
6
+ private notifyService;
7
+ constructor(notifyService: SdNotifyService);
8
+ open(options?: SdDocxConvertOptions): Promise<SdDocxConvertResult | null>;
9
+ convertToHtml(input: File | Blob | ArrayBuffer, options?: SdDocxConvertOptions): Promise<SdDocxConvertResult | null>;
10
+ convertToHtmlString(input: File | Blob | ArrayBuffer, options?: SdDocxConvertOptions): Promise<string | null>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdDocxService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<SdDocxService>;
13
+ }
@@ -0,0 +1,2 @@
1
+ export { SdDocxService } from './lib/docx.service';
2
+ export type { SdDocxConvertOptions, SdDocxConvertResult } from './lib/docx.model';
@@ -5,3 +5,4 @@ export * from '@sd-angular/core/services/confirm';
5
5
  export * from '@sd-angular/core/services/api';
6
6
  export * from '@sd-angular/core/services/loading';
7
7
  export * from '@sd-angular/core/services/excel';
8
+ export * from '@sd-angular/core/services/docx';
@@ -1 +1,2 @@
1
+ export { type SdNotifyOption } from './src/notify.model';
1
2
  export * from './src/notify.service';
@@ -8,7 +8,7 @@ export interface ToastData {
8
8
  actionLabel?: string;
9
9
  onAction?: () => void;
10
10
  }
11
- export interface NotifyOption {
11
+ export interface SdNotifyOption {
12
12
  duration?: number;
13
13
  title?: string;
14
14
  actionLabel?: string;
@@ -1,5 +1,5 @@
1
1
  import { ApplicationRef, EnvironmentInjector } from '@angular/core';
2
- import { NotifyOption, ToastData, ToastType } from './notify.model';
2
+ import { SdNotifyOption, ToastData, ToastType } from './notify.model';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SdNotifyService {
5
5
  #private;
@@ -8,10 +8,10 @@ export declare class SdNotifyService {
8
8
  private document;
9
9
  readonly toasts: import("@angular/core").WritableSignal<ToastData[]>;
10
10
  constructor(appRef: ApplicationRef, injector: EnvironmentInjector, document: Document);
11
- success(message: string, option?: NotifyOption): void;
12
- info(message: string, option?: NotifyOption): void;
13
- warning(message: string | string[], option?: NotifyOption): void;
14
- error(message: string | string[], option?: NotifyOption): void;
11
+ success(message: string, option?: SdNotifyOption): void;
12
+ info(message: string, option?: SdNotifyOption): void;
13
+ warning(message: string | string[], option?: SdNotifyOption): void;
14
+ error(message: string | string[], option?: SdNotifyOption): void;
15
15
  remove(id: string): void;
16
16
  clearAll(): void;
17
17
  clearByType(type: ToastType): void;
@@ -2,6 +2,8 @@ export declare const StringUtilities: {
2
2
  REGEX_EMAIL: string;
3
3
  REGEX_PHONE: string;
4
4
  REGEX_PHONE_VN: string;
5
+ REGEX_IDVN_OR_PASSPORT: string;
6
+ REGEX_TIME: string;
5
7
  isValidEmail: (value: any) => boolean;
6
8
  isValidPhone: (value: any) => boolean;
7
9
  isValidCode: (value: any) => boolean;
@@ -16,4 +18,5 @@ export declare const StringUtilities: {
16
18
  isNullOrWhiteSpace: (value: any) => boolean;
17
19
  convertToSnakeCaseCode: (name: string) => string;
18
20
  generateUniqueCode: (name: string, existingCodes: string[]) => string;
21
+ sha256: (input: string) => Promise<string>;
19
22
  };
@@ -20,5 +20,6 @@ declare const SdUtilities: {
20
20
  parseQueryParams: (queryString?: string) => Record<string, string>;
21
21
  getClientPublicIp: () => Promise<string | null>;
22
22
  generateUuid: () => string;
23
+ getNestedValue: (obj: any, path: string) => any;
23
24
  };
24
25
  export { SdUtilities };
@@ -1,8 +1,11 @@
1
1
  export * from './src/color.model';
2
2
  export * from './src/size.model';
3
+ export * from './src/icon.model';
3
4
  export * from './src/pattern.model';
4
5
  export * from './src/empty.model';
5
6
  export * from './src/maybe-async.model';
7
+ export * from './src/nested-key-of.model';
8
+ export * from './src/unwrap-signal.model';
6
9
  export * from './src/operator.model';
7
10
  export * from './src/filter.model';
8
11
  export * from './src/order.model';
@@ -1,11 +1,24 @@
1
+ import { SdNestedKeyOf } from './nested-key-of.model';
1
2
  import { SdOperatorHasData, SdOperatorNoData } from './operator.model';
2
- export type SdFilter<T = any> = SdFilterHasData<T> | SdFilterNoData<T>;
3
+ export type SdFilter<T = any> = SdFilterHasData<T> | SdFilterBetween<T> | SdFilterNoData<T> | SdFilterAndOr<T>;
3
4
  export interface SdFilterHasData<T = any> {
4
- field: Extract<keyof T, string>;
5
- operator: SdOperatorHasData;
5
+ field: SdNestedKeyOf<T>;
6
+ operator: Exclude<SdOperatorHasData, 'BETWEEN'>;
6
7
  data: any;
7
8
  }
9
+ export interface SdFilterBetween<T = any> {
10
+ field: SdNestedKeyOf<T>;
11
+ operator: 'BETWEEN';
12
+ data: {
13
+ from: string | number;
14
+ to: string | number;
15
+ };
16
+ }
8
17
  export interface SdFilterNoData<T = any> {
9
- field: Extract<keyof T, string>;
18
+ field: SdNestedKeyOf<T>;
10
19
  operator: SdOperatorNoData;
11
20
  }
21
+ export interface SdFilterAndOr<T = any> {
22
+ operator: 'AND' | 'OR';
23
+ data: SdFilter<T>[];
24
+ }
@@ -0,0 +1,2 @@
1
+ export type MaterialIconFontSet = 'material-icons' | 'material-icons-outlined' | 'material-icons-round' | 'material-icons-sharp' | 'material-symbols-outlined';
2
+ export declare const DefaultMaterialIconFontSet: MaterialIconFontSet;
@@ -0,0 +1,5 @@
1
+ type Primitive = string | number | boolean | null | undefined | Date | Function;
2
+ export type SdNestedKeyOf<ObjectType, Depth extends number[] = []> = Depth['length'] extends 4 ? never : ObjectType extends object ? {
3
+ [Key in keyof ObjectType & string]: ObjectType[Key] extends Primitive ? Key : ObjectType[Key] extends Array<any> ? Key : ObjectType[Key] extends object ? Key | `${Key}.${SdNestedKeyOf<ObjectType[Key], [...Depth, 1]>}` : Key;
4
+ }[keyof ObjectType & string] : string;
5
+ export {};
@@ -1,4 +1,5 @@
1
+ import { SdNestedKeyOf } from "./nested-key-of.model";
1
2
  export interface SdOrder<T = any> {
2
- field: Extract<keyof T, string>;
3
+ field: SdNestedKeyOf<T>;
3
4
  direction: 'ASC' | 'DESC';
4
5
  }
@@ -1,8 +1,9 @@
1
1
  import { SdFilter } from './filter.model';
2
+ import { SdNestedKeyOf } from './nested-key-of.model';
2
3
  import { SdOrder } from './order.model';
3
4
  export interface SdQueryReq<T = any> {
4
5
  filters?: SdFilter<T>[];
5
- fields?: Extract<keyof T, string>[];
6
+ fields?: SdNestedKeyOf<T>[];
6
7
  }
7
8
  export interface SdPagingReq<T = any> extends SdQueryReq<T> {
8
9
  pageSize?: number;
@@ -1,4 +1,4 @@
1
- export type SdPatternType = 'EMAIL' | 'PHONE' | 'PHONE_VN';
1
+ export type SdPatternType = 'EMAIL' | 'PHONE' | 'PHONE_VN' | 'IDVN_OR_PASSPORT' | 'TIME';
2
2
  export interface SdPatternCommon {
3
3
  type: SdPatternType;
4
4
  name: string;
@@ -0,0 +1,6 @@
1
+ import { InputSignal, InputSignalWithTransform, ModelSignal } from '@angular/core';
2
+ /**
3
+ * Utility Type: Bóc tách kiểu dữ liệu gốc từ Angular Signal Inputs & Models
4
+ */
5
+ export type SdUnwrapSignal<T> = T extends InputSignalWithTransform<any, infer WriteT> ? WriteT : T extends InputSignal<infer ReadT> ? ReadT : T extends ModelSignal<infer ModelT> ? ModelT : T;
6
+ export type SdUnwrapSafe<T> = SdUnwrapSignal<NonNullable<T>>;
@@ -1,4 +0,0 @@
1
- import { Plugin } from 'ckeditor5';
2
- export declare class CommentPlugin extends Plugin {
3
- init(): void;
4
- }
@@ -1,4 +0,0 @@
1
- import { Plugin } from 'ckeditor5';
2
- export declare class TableFitPlugin extends Plugin {
3
- init(): void;
4
- }