@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
@@ -1,17 +1,50 @@
1
1
  import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * Contract cấu hình cho cơ chế upload file của sd-angular.
4
+ *
5
+ * Cách dùng phổ biến:
6
+ * - Portal có thể provide cấu hình mặc định ở tầng global.
7
+ * - Mỗi module có thể provide thêm cấu hình riêng (thường với `multi: true`).
8
+ * - Khi có nhiều cấu hình cùng lúc, dùng `key` để chọn đúng provider.
9
+ *
10
+ * Luồng xử lý:
11
+ * 1) `upload`: upload file mới, trả về danh sách id/key.
12
+ * 2) `details`: lấy metadata để render danh sách file từ id/key.
13
+ * 3) `download` (optional): tải file theo id/key.
14
+ */
2
15
  export interface ISdUploadFileConfiguration<TArgs = any> {
16
+ /**
17
+ * Định danh cấu hình upload.
18
+ * Bắt buộc khi app có nhiều provider upload để tránh mapping nhầm.
19
+ */
20
+ key?: string;
21
+ /** Upload file và trả về danh sách id/key dùng cho lưu trữ. */
3
22
  upload: SdUploadFileFuncUpload<TArgs>;
23
+ /** Nhận danh sách id/key và trả về dữ liệu hiển thị file trong UI. */
4
24
  details: SdUploadFileFuncDetails<TArgs>;
25
+ /** Tùy chọn: tải file về theo id/key. */
5
26
  download?: SdUploadFileFuncDownload<TArgs>;
6
27
  }
7
- export declare const SD_UPLOAD_FILE_CONFIG: InjectionToken<ISdUploadFileConfiguration<any>>;
28
+ /**
29
+ * Token DI cho upload configuration.
30
+ * Khuyến nghị provide dạng `multi: true` để hỗ trợ nhiều nguồn upload trong cùng app/module.
31
+ */
32
+ export declare const SD_UPLOAD_FILE_CONFIGURATION: InjectionToken<ISdUploadFileConfiguration<any>>;
33
+ /** Hàm upload file và trả về danh sách id/key tương ứng. */
8
34
  export type SdUploadFileFuncUpload<TArgs> = (files: File[], args?: TArgs) => Promise<string[]>;
35
+ /** Hàm lấy thông tin file phục vụ hiển thị từ danh sách id/key. */
9
36
  export type SdUploadFileFuncDetails<TArgs> = (idOrKey: (string | number)[], args?: TArgs) => Promise<SdUploadFileDetail[]>;
37
+ /** Hàm tải file theo id/key. */
10
38
  export type SdUploadFileFuncDownload<TArgs> = (idOrKey: string | number, args?: TArgs) => Promise<void>;
11
39
  export interface SdUploadFileDetail {
40
+ /** Định danh file được backend trả về sau upload. */
12
41
  idOrKey: string;
42
+ /** URL truy cập file (CDN hoặc direct URL). */
13
43
  cdn: string;
44
+ /** Tên hiển thị file. */
14
45
  name?: string;
46
+ /** Đuôi file: png, jpg, pdf... */
15
47
  extension?: string;
48
+ /** Dung lượng file tính theo MB (nếu backend có trả về). */
16
49
  size?: number;
17
50
  }
@@ -1,7 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class UploadFileService {
3
3
  #private;
4
- constructor();
5
4
  isHashedKey: (key: string) => boolean;
6
5
  get: (key: string) => File | null;
7
6
  add: (file: File) => string | null;
@@ -1,69 +1,67 @@
1
1
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
2
- import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
3
- import { FormGroup, NgForm } from '@angular/forms';
2
+ import { ElementRef } from '@angular/core';
3
+ import { FormGroup } from '@angular/forms';
4
4
  import { SdLabelDefDirective } from '@sd-angular/core/forms/directives';
5
5
  import { SdFormControl } from '@sd-angular/core/forms/models';
6
- import { SdConfirmService, SdNotifyService } from '@sd-angular/core/services';
7
6
  import { PreviewComponent } from './components/preview/preview.component';
8
- import { ISdUploadFileConfiguration, SdUploadFileFuncDetails } from './configurations';
9
- import { PreviewFile, UploadFileService } from './services';
7
+ import { SdUploadFileFuncDownload, SdUploadFileFuncDetails, SdUploadFileFuncUpload } from './configurations';
8
+ import { PreviewFile } from './services';
10
9
  import * as i0 from "@angular/core";
11
- export declare class SdUploadFile<TArgs = any> implements AfterViewInit, OnDestroy {
10
+ export declare class SdUploadFile<TArgs = any> {
12
11
  #private;
13
- private ref;
14
- private notifyService;
15
- private confirmService;
16
- private readonly uploadFileConfig;
17
- private uploadFileService;
18
- previewFile?: PreviewComponent;
19
- id: string;
20
- selectedFile?: PreviewFile | null;
21
- formControl: SdFormControl;
22
- set _form(val: NgForm | FormGroup);
23
- set _name(val: string | undefined);
24
- args?: TArgs;
25
- label?: string;
26
- helperText?: string;
27
- set _helperText(val: string | undefined);
28
- description?: string;
29
- type: 'image' | 'document' | 'file';
30
- set _type(type: 'image' | 'document' | 'file' | undefined | null);
31
- set disabled(val: boolean | '' | undefined | null);
32
- required: boolean;
33
- set _required(val: boolean | '' | undefined | null);
34
- extensions: string[];
35
- set _extensions(extensions: string[] | undefined | null);
36
- max: number;
37
- set _max(max: number | undefined | null);
38
- maxOfImage: number;
39
- set _maxOfImage(value: number | undefined | null);
40
- maxSize?: number;
41
- maxWidth?: number;
42
- maxHeight?: number;
43
- scaleToPixel?: number;
44
- previewWidth: string;
45
- previewHeight: string;
46
- align: 'left' | 'center';
47
- details?: SdUploadFileFuncDetails<any>;
48
- imageValidator?: (image: HTMLImageElement) => string;
49
- previewFiles: PreviewFile[];
50
- set model(model: (string | number | undefined | null)[] | undefined | null);
51
- loaded: EventEmitter<PreviewFile[]>;
52
- modelChange: EventEmitter<(string | number)[]>;
53
- filesChanged: EventEmitter<(string | File)[]>;
54
- dropElements?: QueryList<ElementRef>;
55
- canvas?: ElementRef;
56
- sdLabelDef?: SdLabelDefDirective;
57
- constructor(ref: ChangeDetectorRef, notifyService: SdNotifyService, confirmService: SdConfirmService, uploadFileConfig: ISdUploadFileConfiguration, uploadFileService: UploadFileService);
58
- ngAfterViewInit(): void;
59
- ngOnDestroy(): void;
12
+ readonly id: string;
13
+ readonly formControl: SdFormControl;
14
+ readonly previewFiles: import("@angular/core").WritableSignal<PreviewFile[]>;
15
+ readonly selectedFile: import("@angular/core").WritableSignal<PreviewFile | null | undefined>;
16
+ readonly previewFileComponent: import("@angular/core").Signal<PreviewComponent | undefined>;
17
+ readonly dropElements: import("@angular/core").Signal<readonly ElementRef<any>[]>;
18
+ readonly sdLabelDef: import("@angular/core").Signal<SdLabelDefDirective | undefined>;
19
+ readonly args: import("@angular/core").InputSignal<TArgs | undefined>;
20
+ readonly label: import("@angular/core").InputSignal<string | undefined>;
21
+ readonly key: import("@angular/core").InputSignal<string | undefined>;
22
+ readonly description: import("@angular/core").InputSignal<string | undefined>;
23
+ readonly previewWidth: import("@angular/core").InputSignal<string>;
24
+ readonly previewHeight: import("@angular/core").InputSignal<string>;
25
+ readonly align: import("@angular/core").InputSignal<"left" | "center">;
26
+ readonly uploadInput: import("@angular/core").InputSignal<SdUploadFileFuncUpload<any> | undefined>;
27
+ readonly details: import("@angular/core").InputSignal<SdUploadFileFuncDetails<any> | undefined>;
28
+ readonly downloadInput: import("@angular/core").InputSignal<SdUploadFileFuncDownload<any> | undefined>;
29
+ readonly imageValidator: import("@angular/core").InputSignal<((image: HTMLImageElement) => string) | undefined>;
30
+ readonly maxSize: import("@angular/core").InputSignal<number | undefined>;
31
+ readonly maxWidth: import("@angular/core").InputSignal<number | undefined>;
32
+ readonly maxHeight: import("@angular/core").InputSignal<number | undefined>;
33
+ readonly scaleToPixel: import("@angular/core").InputSignal<number | undefined>;
34
+ form: import("@angular/core").InputSignalWithTransform<FormGroup<any> | undefined, any>;
35
+ readonly nameInput: import("@angular/core").InputSignalWithTransform<string, string | undefined>;
36
+ readonly required: import("@angular/core").InputSignalWithTransform<boolean, boolean | "" | null | undefined>;
37
+ readonly type: import("@angular/core").InputSignalWithTransform<"image" | "document" | "file", "image" | "document" | "file" | null | undefined>;
38
+ readonly helperText: import("@angular/core").InputSignal<string | undefined>;
39
+ readonly max: import("@angular/core").InputSignalWithTransform<number, number | null | undefined>;
40
+ readonly maxOfImage: import("@angular/core").InputSignalWithTransform<number, number | null | undefined>;
41
+ readonly extensions: import("@angular/core").InputSignalWithTransform<string[], string[] | null | undefined>;
42
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, boolean | "" | null | undefined>;
43
+ readonly generatedDescription: import("@angular/core").Signal<string | undefined>;
44
+ readonly loaded: import("@angular/core").OutputEmitterRef<PreviewFile[]>;
45
+ readonly filesChanged: import("@angular/core").OutputEmitterRef<(string | File)[]>;
46
+ readonly model: import("@angular/core").ModelSignal<(string | number)[]>;
47
+ constructor();
60
48
  onUpload: () => void;
61
49
  onRemove: (file: PreviewFile) => void;
62
50
  onDrop: (event: CdkDragDrop<string[]>) => void;
63
51
  onImgError: (previewFile: PreviewFile) => void;
64
52
  onSelect: (file: PreviewFile) => void;
53
+ /**
54
+ * Lấy danh sách các File từ previewFiles (chưa upload).
55
+ */
65
56
  getFiles: () => Promise<File[]>;
57
+ /**
58
+ * Thực hiện upload các file và gán giá trị, output trả ra mảng idOrKeys.
59
+ * HÀM NÀY BẮT BUỘC PHẢI GỌI TRƯỚC KHI GỌI VỀ SERVER.
60
+ */
66
61
  upload: () => Promise<void>;
62
+ /**
63
+ * Mở popup preview ảnh.
64
+ */
67
65
  preview: () => Promise<void>;
68
66
  /**
69
67
  * Tải xuống một tệp tin dựa trên đối tượng PreviewFile.
@@ -77,5 +75,5 @@ export declare class SdUploadFile<TArgs = any> implements AfterViewInit, OnDestr
77
75
  onDownload: (previewFile: PreviewFile) => void;
78
76
  isLastVisibleOverlay(fileIndex: number): boolean;
79
77
  static ɵfac: i0.ɵɵFactoryDeclaration<SdUploadFile<any>, never>;
80
- static ɵcmp: i0.ɵɵComponentDeclaration<SdUploadFile<any>, "sd-upload-file", never, { "_form": { "alias": "form"; "required": false; }; "_name": { "alias": "name"; "required": false; }; "args": { "alias": "args"; "required": false; }; "label": { "alias": "label"; "required": false; }; "_helperText": { "alias": "helperText"; "required": false; }; "description": { "alias": "description"; "required": false; }; "_type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "_required": { "alias": "required"; "required": false; }; "_extensions": { "alias": "extensions"; "required": false; }; "_max": { "alias": "max"; "required": false; }; "_maxOfImage": { "alias": "maxOfImage"; "required": false; }; "maxSize": { "alias": "maxSize"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "scaleToPixel": { "alias": "scaleToPixel"; "required": false; }; "previewWidth": { "alias": "previewWidth"; "required": false; }; "previewHeight": { "alias": "previewHeight"; "required": false; }; "align": { "alias": "align"; "required": false; }; "details": { "alias": "details"; "required": false; }; "imageValidator": { "alias": "imageValidator"; "required": false; }; "model": { "alias": "model"; "required": false; }; }, { "loaded": "loaded"; "modelChange": "modelChange"; "filesChanged": "filesChanged"; }, ["sdLabelDef"], never, true, never>;
78
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdUploadFile<any>, "sd-upload-file", never, { "args": { "alias": "args"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "key": { "alias": "key"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "previewWidth": { "alias": "previewWidth"; "required": false; "isSignal": true; }; "previewHeight": { "alias": "previewHeight"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "uploadInput": { "alias": "upload"; "required": false; "isSignal": true; }; "details": { "alias": "details"; "required": false; "isSignal": true; }; "downloadInput": { "alias": "download"; "required": false; "isSignal": true; }; "imageValidator": { "alias": "imageValidator"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "scaleToPixel": { "alias": "scaleToPixel"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "nameInput": { "alias": "name"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "maxOfImage": { "alias": "maxOfImage"; "required": false; "isSignal": true; }; "extensions": { "alias": "extensions"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; }, { "loaded": "loaded"; "filesChanged": "filesChanged"; "model": "modelChange"; }, ["sdLabelDef"], never, true, never>;
81
79
  }
@@ -0,0 +1 @@
1
+ export * from './src/view.component';
@@ -0,0 +1,16 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SdView {
4
+ label: import("@angular/core").InputSignal<string | null | undefined>;
5
+ value: import("@angular/core").InputSignal<any>;
6
+ display: import("@angular/core").InputSignal<string | null | undefined>;
7
+ hyperlink: import("@angular/core").InputSignal<string | null | undefined>;
8
+ labelTemplate: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
9
+ valueTemplate: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
10
+ contentLabelTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
11
+ contentValueTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
12
+ activeLabelTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
13
+ activeValueTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdView, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdView, "sd-view", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": true; "isSignal": true; }; "hyperlink": { "alias": "hyperlink"; "required": false; "isSignal": true; }; "labelTemplate": { "alias": "labelTemplate"; "required": false; "isSignal": true; }; "valueTemplate": { "alias": "valueTemplate"; "required": false; "isSignal": true; }; }, {}, ["contentLabelTemplate", "contentValueTemplate"], never, true, never>;
16
+ }
@@ -5,6 +5,7 @@ import { SdPatternType } from '@sd-angular/core/utilities/models';
5
5
  import { SdFormGenericSelectionStaticItem } from './form-generic-definition-selection.model';
6
6
  import { SdFormGenericExpression } from './form-generic-expression.model';
7
7
  import { SdFormGeneric } from './form-generic.model';
8
+ import { SdUnwrapSignal } from '@sd-angular/core/utilities/models';
8
9
  export interface SdFormRenderConfiguration {
9
10
  onLoaded?: () => void;
10
11
  components: SdFormGeneric['components'];
@@ -158,10 +159,10 @@ export interface SdFormGenericGroup {
158
159
  export interface SdFormGenericUpload extends SdFormGenericComponentBase {
159
160
  type: 'upload';
160
161
  properties?: {
161
- type?: SdUploadFile['type'];
162
- maxSize?: SdUploadFile['maxSize'];
163
- max?: SdUploadFile['max'];
164
- extensions?: SdUploadFile['extensions'];
162
+ type?: SdUnwrapSignal<SdUploadFile['type']>;
163
+ maxSize?: SdUnwrapSignal<SdUploadFile['maxSize']>;
164
+ max?: SdUnwrapSignal<SdUploadFile['max']>;
165
+ extensions?: SdUnwrapSignal<SdUploadFile['extensions']>;
165
166
  args?: Record<string, any>;
166
167
  source?: 'ALL' | 'PHOTO_LIBRARY' | 'CAPTURE';
167
168
  } & SdFormGenericComponentBase['properties'];
@@ -69,5 +69,6 @@ export declare const AttributeOperators: Record<Attribute['type'], {
69
69
  }[]>;
70
70
  export declare const GetAttributes: (components: (SdFormGenericComponent | SdFormGenericGroup)[]) => Attribute[];
71
71
  export declare const TemplateToCondition: (template: string | undefined | null, entity: Record<string, any>) => string | undefined;
72
+ export declare const EvaluateExpression: (condition: SdFormGenericExpression | SdFormGenericExpressionCondition, entity: Record<string, any>) => boolean | undefined;
72
73
  export declare const ExpressionToJavascriptExpression: (condition: SdFormGenericExpression | SdFormGenericExpressionCondition) => string | undefined;
73
74
  export {};
@@ -1,4 +1,5 @@
1
1
  export * from './form-render';
2
+ export * from './form-generic.model';
2
3
  export * from './form-generic-component.model';
3
4
  export * from './form-generic-template.model';
4
5
  export * from './form-generic-definition-selection.model';
@@ -1,11 +1,11 @@
1
1
  import { PipeTransform } from '@angular/core';
2
- import { SdSafeHtmlPipe } from '@sd-angular/core/pipes';
2
+ import { DomSanitizer } from '@angular/platform-browser';
3
3
  import { SdFormGenericHtml } from '../models';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class HtmlPipe implements PipeTransform {
6
- private readonly htmlSafePipe;
7
- constructor(htmlSafePipe: SdSafeHtmlPipe);
8
- transform: (hashed: string | undefined | null, content: string, component: SdFormGenericHtml) => import("@angular/platform-browser").SafeHtml | undefined;
6
+ private readonly sanitizer;
7
+ constructor(sanitizer: DomSanitizer);
8
+ transform: (hashed: string | undefined | null, content: string, component: SdFormGenericHtml) => string;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<HtmlPipe, never>;
10
10
  static ɵpipe: i0.ɵɵPipeDeclaration<HtmlPipe, "htmlPipe", true>;
11
11
  }
@@ -2,3 +2,5 @@ export * from './src/sd-scroll.directive';
2
2
  export * from './src/sd-desktop.directive';
3
3
  export * from './src/sd-mobile.directive';
4
4
  export * from './src/sd-hover-copy.directive';
5
+ export * from './src/sd-href.directive';
6
+ export { SdTooltipDirective } from './src/sd-tooltip.directive';
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class SdHrefDirective {
3
+ #private;
4
+ url: string;
5
+ get href(): string;
6
+ onClick(event: Event): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdHrefDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SdHrefDirective, "a[sdHref]", never, { "url": { "alias": "sdHref"; "required": false; }; }, {}, never, never, true, never>;
9
+ }
@@ -0,0 +1,26 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';
4
+ export declare class SdTooltipDirective {
5
+ #private;
6
+ content: import("@angular/core").InputSignal<string | TemplateRef<any>>;
7
+ sdTooltipPosition: import("@angular/core").InputSignal<TooltipPosition>;
8
+ sdTooltipDelay: import("@angular/core").InputSignal<number>;
9
+ sdTooltipColor: import("@angular/core").InputSignal<string>;
10
+ private static activeTooltip;
11
+ private readonly elementRef;
12
+ private readonly overlay;
13
+ private readonly viewContainerRef;
14
+ private readonly destroyRef;
15
+ private overlayRef;
16
+ private tooltipComponentRef;
17
+ private tooltipInstance;
18
+ private showTimeout;
19
+ private hideTimeout;
20
+ constructor();
21
+ onMouseEnter(): void;
22
+ onMouseLeave(): void;
23
+ forceHide: () => void;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdTooltipDirective, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SdTooltipDirective, "[sdTooltip]", never, { "content": { "alias": "sdTooltip"; "required": true; "isSignal": true; }; "sdTooltipPosition": { "alias": "sdTooltipPosition"; "required": false; "isSignal": true; }; "sdTooltipDelay": { "alias": "sdTooltipDelay"; "required": false; "isSignal": true; }; "sdTooltipColor": { "alias": "sdTooltipColor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
26
+ }