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

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 (292) 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 +12 -41
  25. package/components/document-builder/src/document-builder.model.d.ts +14 -11
  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/index.d.ts +5 -0
  58. package/components/mini-editor/index.d.ts +2 -0
  59. package/components/mini-editor/src/mini-editor.component.d.ts +91 -0
  60. package/components/mini-editor/src/mini-editor.model.d.ts +44 -0
  61. package/components/modal/index.d.ts +1 -1
  62. package/components/modal/src/modal.component.d.ts +26 -0
  63. package/components/section/index.d.ts +1 -0
  64. package/components/section/src/section-item/section-item.component.d.ts +7 -0
  65. package/components/section/src/section.component.d.ts +11 -11
  66. package/components/side-drawer/src/side-drawer.component.d.ts +11 -24
  67. package/components/tab-router/src/components/tab-router-item/tab-router-item.component.d.ts +4 -1
  68. package/components/tab-router/src/components/tab-router-outlet/tab-router-outlet.component.d.ts +3 -15
  69. package/components/table/index.d.ts +2 -0
  70. package/components/table/src/components/column-filter/column-filter.component.d.ts +3 -3
  71. package/components/table/src/components/column-title/column-title.component.d.ts +10 -0
  72. package/components/table/src/components/desktop-cell/desktop-cell.component.d.ts +18 -11
  73. package/components/table/src/components/desktop-cell/view/view.component.d.ts +24 -0
  74. package/components/table/src/components/external-filter/external-filter.component.d.ts +1 -1
  75. package/components/table/src/components/index.d.ts +1 -0
  76. package/components/table/src/components/selector-action/action-filter.pipe.d.ts +11 -10
  77. package/components/table/src/components/selector-action/selector-action.component.d.ts +5 -3
  78. package/components/table/src/directives/index.d.ts +4 -0
  79. package/components/table/src/directives/sd-table-cell-def.directive.d.ts +2 -3
  80. package/components/table/src/directives/sd-table-column-filter-def.directive.d.ts +8 -0
  81. package/components/table/src/directives/sd-table-expand-def.directive.d.ts +0 -1
  82. package/components/table/src/directives/sd-table-filter-def.directive.d.ts +4 -6
  83. package/components/table/src/directives/sd-table-footer-def.directive.d.ts +2 -3
  84. package/components/table/src/directives/sd-table-title-def.directive.d.ts +8 -0
  85. package/components/table/src/directives/sticky-shadow.directive.d.ts +17 -0
  86. package/components/table/src/models/table-column.model.d.ts +49 -40
  87. package/components/table/src/models/table-command.model.d.ts +7 -3
  88. package/components/table/src/models/table-item.model.d.ts +5 -4
  89. package/components/table/src/models/table-option-config.model.d.ts +3 -0
  90. package/components/table/src/models/table-option-export.model.d.ts +3 -2
  91. package/components/table/src/models/table-option-selector.model.d.ts +17 -10
  92. package/components/table/src/models/table-option.model.d.ts +15 -8
  93. package/components/table/src/services/index.d.ts +3 -0
  94. package/components/table/src/services/table-export/table-export.service.d.ts +26 -0
  95. package/components/table/src/services/table-filter/table-filter.model.d.ts +6 -5
  96. package/components/table/src/services/table-format/table-format.service.d.ts +16 -0
  97. package/components/table/src/table.component.d.ts +46 -53
  98. package/components/upload-file/src/configurations/upload-file.configuration.d.ts +34 -1
  99. package/components/upload-file/src/services/upload-file.service.d.ts +0 -1
  100. package/components/upload-file/src/upload-file.component.d.ts +52 -54
  101. package/components/view/index.d.ts +1 -0
  102. package/components/view/src/view.component.d.ts +16 -0
  103. package/components/workflow/src/models/form-generic-component.model.d.ts +5 -4
  104. package/components/workflow/src/models/form-generic-expression.model.d.ts +1 -0
  105. package/components/workflow/src/models/index.d.ts +1 -0
  106. package/components/workflow/src/pipes/html.pipe.d.ts +4 -4
  107. package/directives/index.d.ts +2 -0
  108. package/directives/src/sd-href.directive.d.ts +9 -0
  109. package/directives/src/sd-tooltip.directive.d.ts +26 -0
  110. package/fesm2022/sd-angular-core-components-anchor-v2.mjs +79 -154
  111. package/fesm2022/sd-angular-core-components-anchor-v2.mjs.map +1 -1
  112. package/fesm2022/sd-angular-core-components-avatar.mjs +103 -0
  113. package/fesm2022/sd-angular-core-components-avatar.mjs.map +1 -0
  114. package/fesm2022/sd-angular-core-components-badge.mjs +101 -91
  115. package/fesm2022/sd-angular-core-components-badge.mjs.map +1 -1
  116. package/fesm2022/sd-angular-core-components-button.mjs +70 -96
  117. package/fesm2022/sd-angular-core-components-button.mjs.map +1 -1
  118. package/fesm2022/sd-angular-core-components-chart.mjs +290 -0
  119. package/fesm2022/sd-angular-core-components-chart.mjs.map +1 -0
  120. package/fesm2022/sd-angular-core-components-code-editor.mjs +127 -0
  121. package/fesm2022/sd-angular-core-components-code-editor.mjs.map +1 -0
  122. package/fesm2022/sd-angular-core-components-document-builder.mjs +4006 -611
  123. package/fesm2022/sd-angular-core-components-document-builder.mjs.map +1 -1
  124. package/fesm2022/sd-angular-core-components-history.mjs +1 -1
  125. package/fesm2022/sd-angular-core-components-history.mjs.map +1 -1
  126. package/fesm2022/sd-angular-core-components-import-excel.mjs +1 -1
  127. package/fesm2022/sd-angular-core-components-import-excel.mjs.map +1 -1
  128. package/fesm2022/sd-angular-core-components-mini-editor.mjs +332 -0
  129. package/fesm2022/sd-angular-core-components-mini-editor.mjs.map +1 -0
  130. package/fesm2022/sd-angular-core-components-modal.mjs +63 -92
  131. package/fesm2022/sd-angular-core-components-modal.mjs.map +1 -1
  132. package/fesm2022/sd-angular-core-components-preview.mjs +1 -1
  133. package/fesm2022/sd-angular-core-components-preview.mjs.map +1 -1
  134. package/fesm2022/sd-angular-core-components-quick-action.mjs +2 -2
  135. package/fesm2022/sd-angular-core-components-quick-action.mjs.map +1 -1
  136. package/fesm2022/sd-angular-core-components-section.mjs +41 -43
  137. package/fesm2022/sd-angular-core-components-section.mjs.map +1 -1
  138. package/fesm2022/sd-angular-core-components-side-drawer.mjs +78 -84
  139. package/fesm2022/sd-angular-core-components-side-drawer.mjs.map +1 -1
  140. package/fesm2022/sd-angular-core-components-tab-router.mjs +151 -241
  141. package/fesm2022/sd-angular-core-components-tab-router.mjs.map +1 -1
  142. package/fesm2022/sd-angular-core-components-table.mjs +1394 -1254
  143. package/fesm2022/sd-angular-core-components-table.mjs.map +1 -1
  144. package/fesm2022/sd-angular-core-components-upload-file.mjs +390 -443
  145. package/fesm2022/sd-angular-core-components-upload-file.mjs.map +1 -1
  146. package/fesm2022/sd-angular-core-components-view.mjs +45 -0
  147. package/fesm2022/sd-angular-core-components-view.mjs.map +1 -0
  148. package/fesm2022/sd-angular-core-components-workflow.mjs +165 -168
  149. package/fesm2022/sd-angular-core-components-workflow.mjs.map +1 -1
  150. package/fesm2022/sd-angular-core-components.mjs +5 -0
  151. package/fesm2022/sd-angular-core-components.mjs.map +1 -1
  152. package/fesm2022/sd-angular-core-directives.mjs +286 -27
  153. package/fesm2022/sd-angular-core-directives.mjs.map +1 -1
  154. package/fesm2022/sd-angular-core-forms-autocomplete.mjs +289 -363
  155. package/fesm2022/sd-angular-core-forms-autocomplete.mjs.map +1 -1
  156. package/fesm2022/sd-angular-core-forms-chip-calendar.mjs +170 -189
  157. package/fesm2022/sd-angular-core-forms-chip-calendar.mjs.map +1 -1
  158. package/fesm2022/sd-angular-core-forms-chip.mjs +184 -194
  159. package/fesm2022/sd-angular-core-forms-chip.mjs.map +1 -1
  160. package/fesm2022/sd-angular-core-forms-date-range.mjs +180 -242
  161. package/fesm2022/sd-angular-core-forms-date-range.mjs.map +1 -1
  162. package/fesm2022/sd-angular-core-forms-date.mjs +178 -270
  163. package/fesm2022/sd-angular-core-forms-date.mjs.map +1 -1
  164. package/fesm2022/sd-angular-core-forms-datetime.mjs +177 -285
  165. package/fesm2022/sd-angular-core-forms-datetime.mjs.map +1 -1
  166. package/fesm2022/sd-angular-core-forms-input-number.mjs +210 -337
  167. package/fesm2022/sd-angular-core-forms-input-number.mjs.map +1 -1
  168. package/fesm2022/sd-angular-core-forms-input.mjs +169 -286
  169. package/fesm2022/sd-angular-core-forms-input.mjs.map +1 -1
  170. package/fesm2022/sd-angular-core-forms-radio.mjs +3 -2
  171. package/fesm2022/sd-angular-core-forms-radio.mjs.map +1 -1
  172. package/fesm2022/sd-angular-core-forms-select.mjs +390 -447
  173. package/fesm2022/sd-angular-core-forms-select.mjs.map +1 -1
  174. package/fesm2022/sd-angular-core-forms-textarea.mjs +167 -226
  175. package/fesm2022/sd-angular-core-forms-textarea.mjs.map +1 -1
  176. package/fesm2022/sd-angular-core-modules-authom.mjs +359 -0
  177. package/fesm2022/sd-angular-core-modules-authom.mjs.map +1 -0
  178. package/fesm2022/sd-angular-core-modules-keycloak.mjs +126 -0
  179. package/fesm2022/sd-angular-core-modules-keycloak.mjs.map +1 -0
  180. package/fesm2022/sd-angular-core-modules-layout.mjs +709 -456
  181. package/fesm2022/sd-angular-core-modules-layout.mjs.map +1 -1
  182. package/fesm2022/sd-angular-core-modules-permission.mjs +160 -74
  183. package/fesm2022/sd-angular-core-modules-permission.mjs.map +1 -1
  184. package/fesm2022/sd-angular-core-modules.mjs +2 -1
  185. package/fesm2022/sd-angular-core-modules.mjs.map +1 -1
  186. package/fesm2022/sd-angular-core-services-api.mjs +5 -10
  187. package/fesm2022/sd-angular-core-services-api.mjs.map +1 -1
  188. package/fesm2022/sd-angular-core-services-confirm.mjs +9 -7
  189. package/fesm2022/sd-angular-core-services-confirm.mjs.map +1 -1
  190. package/fesm2022/sd-angular-core-services-docx.mjs +173 -0
  191. package/fesm2022/sd-angular-core-services-docx.mjs.map +1 -0
  192. package/fesm2022/sd-angular-core-services-notify.mjs +2 -2
  193. package/fesm2022/sd-angular-core-services-notify.mjs.map +1 -1
  194. package/fesm2022/sd-angular-core-services.mjs +1 -0
  195. package/fesm2022/sd-angular-core-services.mjs.map +1 -1
  196. package/fesm2022/sd-angular-core-utilities-extensions.mjs +58 -80
  197. package/fesm2022/sd-angular-core-utilities-extensions.mjs.map +1 -1
  198. package/fesm2022/sd-angular-core-utilities-models.mjs +15 -1
  199. package/fesm2022/sd-angular-core-utilities-models.mjs.map +1 -1
  200. package/fesm2022/sd-angular-core.mjs +0 -1
  201. package/fesm2022/sd-angular-core.mjs.map +1 -1
  202. package/forms/autocomplete/src/autocomplete.component.d.ts +55 -55
  203. package/forms/chip/src/chip.component.d.ts +37 -40
  204. package/forms/chip-calendar/src/chip-calendar.component.d.ts +37 -38
  205. package/forms/date/src/date.component.d.ts +48 -46
  206. package/forms/date-range/src/date-range.component.d.ts +35 -34
  207. package/forms/datetime/src/datetime.component.d.ts +48 -49
  208. package/forms/input/src/input.component.d.ts +54 -57
  209. package/forms/input-number/src/input-number.component.d.ts +53 -54
  210. package/forms/select/src/select.component.d.ts +67 -64
  211. package/forms/textarea/src/textarea.component.d.ts +40 -43
  212. package/modules/authom/authom.configuration.d.ts +17 -0
  213. package/modules/authom/authom.interceptor.d.ts +3 -0
  214. package/modules/authom/authom.module.d.ts +16 -0
  215. package/modules/authom/authom.service.d.ts +32 -0
  216. package/modules/authom/index.d.ts +35 -0
  217. package/modules/index.d.ts +2 -1
  218. package/modules/keycloak/index.d.ts +4 -0
  219. package/modules/keycloak/keycloak.configuration.d.ts +11 -0
  220. package/modules/keycloak/keycloak.interceptor.d.ts +2 -0
  221. package/modules/keycloak/keycloak.module.d.ts +18 -0
  222. package/modules/keycloak/keycloak.service.d.ts +14 -0
  223. package/modules/layout/components/index.d.ts +2 -0
  224. package/modules/layout/components/layout-main/layout-main.component.d.ts +8 -12
  225. package/modules/layout/components/page/page.component.d.ts +5 -7
  226. package/modules/layout/components/sidebar-mobile-v1/components/sidebar/sidebar.component.d.ts +35 -0
  227. package/modules/layout/components/sidebar-mobile-v1/components/user/user.component.d.ts +24 -0
  228. package/modules/layout/components/sidebar-mobile-v1/main.component.d.ts +21 -0
  229. package/modules/layout/components/sidebar-v1/components/sidebar/sidebar.component.d.ts +22 -29
  230. package/modules/layout/components/sidebar-v1/components/user/user.component.d.ts +11 -17
  231. package/modules/layout/components/sidebar-v1/main.component.d.ts +14 -14
  232. package/modules/layout/configurations/layout.configuration.d.ts +46 -3
  233. package/modules/layout/modules/forbidden/pages/root/root.component.d.ts +3 -8
  234. package/modules/layout/modules/home/components/home-page/home-page.component.d.ts +2 -5
  235. package/modules/layout/modules/not-found/pages/root/root.component.d.ts +3 -8
  236. package/modules/layout/pipes/high-light-search.pipe.d.ts +1 -1
  237. package/modules/layout/services/index.d.ts +1 -0
  238. package/modules/layout/services/layout.service.d.ts +10 -0
  239. package/modules/layout/services/menu/menu.model.d.ts +4 -1
  240. package/modules/layout/services/storage/storage.service.d.ts +0 -3
  241. package/modules/permission/src/configurations/permission.configuration.d.ts +56 -2
  242. package/modules/permission/src/directives/permission.directive.d.ts +5 -8
  243. package/modules/permission/src/guards/permission.guard.d.ts +2 -1
  244. package/modules/permission/src/services/permission.service.d.ts +6 -9
  245. package/package.json +93 -69
  246. package/public-api.d.ts +0 -1
  247. package/sd-angular-core-19.0.0-beta.80.tgz +0 -0
  248. package/services/api/src/api.model.d.ts +6 -1
  249. package/services/confirm/src/lib/confirm.service.d.ts +5 -0
  250. package/services/docx/index.d.ts +1 -0
  251. package/services/docx/src/lib/docx.model.d.ts +9 -0
  252. package/services/docx/src/lib/docx.service.d.ts +13 -0
  253. package/services/docx/src/public-api.d.ts +2 -0
  254. package/services/index.d.ts +1 -0
  255. package/services/notify/index.d.ts +1 -0
  256. package/services/notify/src/notify.model.d.ts +1 -1
  257. package/services/notify/src/notify.service.d.ts +5 -5
  258. package/utilities/extensions/src/string.extension.d.ts +3 -0
  259. package/utilities/extensions/src/utility.extension.d.ts +1 -0
  260. package/utilities/models/index.d.ts +3 -0
  261. package/utilities/models/src/filter.model.d.ts +17 -4
  262. package/utilities/models/src/icon.model.d.ts +2 -0
  263. package/utilities/models/src/nested-key-of.model.d.ts +5 -0
  264. package/utilities/models/src/order.model.d.ts +2 -1
  265. package/utilities/models/src/paging.model.d.ts +2 -1
  266. package/utilities/models/src/pattern.model.d.ts +1 -1
  267. package/utilities/models/src/unwrap-signal.model.d.ts +6 -0
  268. package/components/document-builder/src/plugins/comment/comment.plugin.d.ts +0 -4
  269. package/components/document-builder/src/plugins/table-fit/table-fit.plugin.d.ts +0 -4
  270. package/components/modal/src/modal/modal.component.d.ts +0 -31
  271. package/components/table/src/components/desktop-cell-view/desktop-cell-view.component.d.ts +0 -14
  272. package/fesm2022/sd-angular-core-guards-permission.mjs +0 -155
  273. package/fesm2022/sd-angular-core-guards-permission.mjs.map +0 -1
  274. package/fesm2022/sd-angular-core-guards.mjs +0 -6
  275. package/fesm2022/sd-angular-core-guards.mjs.map +0 -1
  276. package/fesm2022/sd-angular-core-modules-oidc.mjs +0 -127
  277. package/fesm2022/sd-angular-core-modules-oidc.mjs.map +0 -1
  278. package/guards/index.d.ts +0 -1
  279. package/guards/permission/index.d.ts +0 -4
  280. package/guards/permission/src/configurations/index.d.ts +0 -1
  281. package/guards/permission/src/configurations/permission.configuration.d.ts +0 -8
  282. package/guards/permission/src/directives/index.d.ts +0 -1
  283. package/guards/permission/src/directives/permission.directive.d.ts +0 -12
  284. package/guards/permission/src/guards/index.d.ts +0 -1
  285. package/guards/permission/src/guards/permission.guard.d.ts +0 -13
  286. package/guards/permission/src/services/index.d.ts +0 -1
  287. package/guards/permission/src/services/permission.service.d.ts +0 -15
  288. package/modules/oidc/dynamic-sts.loader.d.ts +0 -11
  289. package/modules/oidc/index.d.ts +0 -2
  290. package/modules/oidc/oidc.configuration.d.ts +0 -11
  291. package/modules/oidc/oidc.module.d.ts +0 -14
  292. package/sd-angular-core-19.0.0-beta.8.tgz +0 -0
@@ -1,39 +1,41 @@
1
- import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { SdBaseSecureComponent } from '@sd-angular/core/components/base';
3
- import { SdColor } from '@sd-angular/core/utilities/models';
3
+ import { MaterialIconFontSet, SdColor } from '@sd-angular/core/utilities/models';
4
4
  import * as i0 from "@angular/core";
5
+ export type SdButtonType = 'fill' | 'light' | 'outline' | 'link';
6
+ export type SdButtonSize = 'sm' | 'md' | 'lg';
7
+ export type SdButtonHtmlType = 'button' | 'submit' | 'reset';
5
8
  export declare class SdButton extends SdBaseSecureComponent implements OnInit, OnDestroy {
6
9
  #private;
7
- autoId?: string;
8
- set _autoId(val: string | undefined | null);
9
- type: 'fill' | 'light' | 'outline' | 'link';
10
- set _type(type: 'fill' | 'light' | 'outline' | 'link' | undefined | null);
11
- color: SdColor;
12
- set _color(color: SdColor | undefined | null);
13
- title: string | undefined | null;
14
- width: string | undefined | null;
15
- size: 'sm' | 'md' | 'lg' | undefined | null;
16
- tooltip: string | undefined | null;
17
- prefixIcon: string | undefined | null;
18
- suffixIcon: string | undefined | null;
19
- fontSet: 'material-icons' | 'material-icons-outlined' | 'material-icons-round' | 'material-icons-sharp' | 'material-symbols-outlined';
20
- set _fontSet(fontSet: SdButton['fontSet'] | undefined | null);
21
- disabled: boolean;
22
- get disabledAttr(): "true" | null;
23
- set _disabled(value: '' | boolean | undefined | null);
24
- loading: boolean;
25
- click: EventEmitter<Event>;
26
- constructor();
27
- ngOnInit(): void;
28
- onInternalClick(event: Event): void;
29
- ngOnDestroy(): void;
30
- get buttonClasses(): {
10
+ private el;
11
+ autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
12
+ type: import("@angular/core").InputSignalWithTransform<SdButtonType, SdButtonType | null | undefined>;
13
+ color: import("@angular/core").InputSignalWithTransform<SdColor, SdColor | null | undefined>;
14
+ size: import("@angular/core").InputSignalWithTransform<SdButtonSize, SdButtonSize | null | undefined>;
15
+ fontSet: import("@angular/core").InputSignalWithTransform<MaterialIconFontSet, MaterialIconFontSet | null | undefined>;
16
+ title: import("@angular/core").InputSignal<string | null | undefined>;
17
+ width: import("@angular/core").InputSignal<string | null | undefined>;
18
+ tooltip: import("@angular/core").InputSignal<string | null | undefined>;
19
+ prefixIcon: import("@angular/core").InputSignal<string | null | undefined>;
20
+ suffixIcon: import("@angular/core").InputSignal<string | null | undefined>;
21
+ disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
22
+ loading: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
23
+ block: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
24
+ htmlType: import("@angular/core").InputSignalWithTransform<SdButtonHtmlType, SdButtonHtmlType | null | undefined>;
25
+ autoId: import("@angular/core").Signal<string | undefined>;
26
+ buttonClasses: import("@angular/core").Signal<{
31
27
  'c-square': boolean | "" | null | undefined;
32
28
  'c-sm': boolean;
33
29
  'c-md': boolean;
34
30
  'c-lg': boolean;
35
31
  'c-disabled': boolean;
36
- };
32
+ 'c-block': boolean;
33
+ }>;
34
+ click: import("@angular/core").OutputEmitterRef<Event>;
35
+ constructor();
36
+ ngOnInit(): void;
37
+ onInternalClick(event: Event): void;
38
+ ngOnDestroy(): void;
37
39
  static ɵfac: i0.ɵɵFactoryDeclaration<SdButton, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<SdButton, "sd-button", never, { "_autoId": { "alias": "autoId"; "required": false; }; "_type": { "alias": "type"; "required": false; }; "_color": { "alias": "color"; "required": false; }; "title": { "alias": "title"; "required": false; }; "width": { "alias": "width"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; }; "_fontSet": { "alias": "fontSet"; "required": false; }; "_disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; }, { "click": "click"; }, never, never, true, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdButton, "sd-button", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fontSet": { "alias": "fontSet"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "block": { "alias": "block"; "required": false; "isSignal": true; }; "htmlType": { "alias": "htmlType"; "required": false; "isSignal": true; }; }, { "click": "click"; }, never, never, true, never>;
39
41
  }
@@ -0,0 +1,4 @@
1
+ export * from './src/bar-chart.component';
2
+ export * from './src/line-chart.component';
3
+ export * from './src/pie-chart.component';
4
+ export * from './src/doughnut-chart.component';
@@ -0,0 +1,18 @@
1
+ import { ElementRef, OnDestroy, OnInit } from '@angular/core';
2
+ import { Chart, ChartData, Plugin } from 'chart.js';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SdBarChartComponent implements OnInit, OnDestroy {
5
+ #private;
6
+ canvas: import("@angular/core").Signal<ElementRef<HTMLCanvasElement>>;
7
+ data: import("@angular/core").InputSignal<ChartData<"bar", (number | [number, number] | null)[], unknown>>;
8
+ options: import("@angular/core").InputSignal<import("node_modules/chart.js/dist/types/utils")._DeepPartialObject<import("chart.js").CoreChartOptions<"bar"> & import("chart.js").ElementChartOptions<"bar"> & import("chart.js").PluginChartOptions<"bar"> & import("chart.js").DatasetChartOptions<"bar"> & import("chart.js").ScaleChartOptions<"bar"> & import("chart.js").BarControllerChartOptions> | undefined>;
9
+ plugins: import("@angular/core").InputSignal<Plugin<"bar", import("node_modules/chart.js/dist/types/basic").AnyObject>[]>;
10
+ isScrollable: import("@angular/core").Signal<boolean>;
11
+ computedMinWidth: import("@angular/core").Signal<number | null>;
12
+ chart: Chart<'bar'> | undefined;
13
+ constructor();
14
+ ngOnInit(): void;
15
+ ngOnDestroy(): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdBarChartComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdBarChartComponent, "sd-bar-chart", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18
+ }
@@ -0,0 +1,16 @@
1
+ import { ElementRef, OnDestroy, OnInit } from '@angular/core';
2
+ import { Chart, ChartData, Plugin } from 'chart.js';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SdDoughnutChartComponent implements OnInit, OnDestroy {
5
+ #private;
6
+ canvas: import("@angular/core").Signal<ElementRef<HTMLCanvasElement>>;
7
+ data: import("@angular/core").InputSignal<ChartData<"doughnut", number[], unknown>>;
8
+ options: import("@angular/core").InputSignal<import("node_modules/chart.js/dist/types/utils")._DeepPartialObject<import("chart.js").CoreChartOptions<"doughnut"> & import("chart.js").ElementChartOptions<"doughnut"> & import("chart.js").PluginChartOptions<"doughnut"> & import("chart.js").DatasetChartOptions<"doughnut"> & import("chart.js").ScaleChartOptions<"doughnut"> & import("chart.js").DoughnutControllerChartOptions> | undefined>;
9
+ plugins: import("@angular/core").InputSignal<Plugin<"doughnut", import("node_modules/chart.js/dist/types/basic").AnyObject>[]>;
10
+ chart: Chart<'doughnut'> | undefined;
11
+ constructor();
12
+ ngOnInit(): void;
13
+ ngOnDestroy(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdDoughnutChartComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdDoughnutChartComponent, "sd-doughnut-chart", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
+ }
@@ -0,0 +1,18 @@
1
+ import { ElementRef, OnDestroy, OnInit } from '@angular/core';
2
+ import { Chart, ChartData, Plugin } from 'chart.js';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SdLineChartComponent implements OnInit, OnDestroy {
5
+ #private;
6
+ canvas: import("@angular/core").Signal<ElementRef<HTMLCanvasElement>>;
7
+ data: import("@angular/core").InputSignal<ChartData<"line", (number | import("chart.js").Point | null)[], unknown>>;
8
+ options: import("@angular/core").InputSignal<import("node_modules/chart.js/dist/types/utils")._DeepPartialObject<import("chart.js").CoreChartOptions<"line"> & import("chart.js").ElementChartOptions<"line"> & import("chart.js").PluginChartOptions<"line"> & import("chart.js").DatasetChartOptions<"line"> & import("chart.js").ScaleChartOptions<"line"> & import("chart.js").LineControllerChartOptions> | undefined>;
9
+ plugins: import("@angular/core").InputSignal<Plugin<"line", import("node_modules/chart.js/dist/types/basic").AnyObject>[]>;
10
+ isScrollable: import("@angular/core").Signal<boolean>;
11
+ computedMinWidth: import("@angular/core").Signal<number | null>;
12
+ chart: Chart<'line'> | undefined;
13
+ constructor();
14
+ ngOnInit(): void;
15
+ ngOnDestroy(): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdLineChartComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdLineChartComponent, "sd-line-chart", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18
+ }
@@ -0,0 +1,16 @@
1
+ import { ElementRef, OnDestroy, OnInit } from '@angular/core';
2
+ import { Chart, ChartData, Plugin } from 'chart.js';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SdPieChartComponent implements OnInit, OnDestroy {
5
+ #private;
6
+ canvas: import("@angular/core").Signal<ElementRef<HTMLCanvasElement>>;
7
+ data: import("@angular/core").InputSignal<ChartData<"pie", number[], unknown>>;
8
+ options: import("@angular/core").InputSignal<import("node_modules/chart.js/dist/types/utils")._DeepPartialObject<import("chart.js").CoreChartOptions<"pie"> & import("chart.js").ElementChartOptions<"pie"> & import("chart.js").PluginChartOptions<"pie"> & import("chart.js").DatasetChartOptions<"pie"> & import("chart.js").ScaleChartOptions<"pie"> & import("chart.js").DoughnutControllerChartOptions> | undefined>;
9
+ plugins: import("@angular/core").InputSignal<Plugin<"pie", import("node_modules/chart.js/dist/types/basic").AnyObject>[]>;
10
+ chart: Chart<'pie'> | undefined;
11
+ constructor();
12
+ ngOnInit(): void;
13
+ ngOnDestroy(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdPieChartComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdPieChartComponent, "sd-pie-chart", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
+ }
@@ -0,0 +1 @@
1
+ export * from './src/code-editor.component';
@@ -0,0 +1,25 @@
1
+ import { SafeHtml } from '@angular/platform-browser';
2
+ import 'prismjs/components/prism-typescript';
3
+ import 'prismjs/components/prism-json';
4
+ import 'prismjs/components/prism-css';
5
+ import 'prismjs/components/prism-scss';
6
+ import 'prismjs/components/prism-markup';
7
+ import * as i0 from "@angular/core";
8
+ export type CodeLanguage = 'html' | 'typescript' | 'json' | 'css' | 'scss';
9
+ export declare class SdCodeEditor {
10
+ #private;
11
+ valueModel: import("@angular/core").ModelSignal<any>;
12
+ language: import("@angular/core").InputSignal<CodeLanguage>;
13
+ maxHeight: import("@angular/core").InputSignal<string>;
14
+ viewed: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
15
+ copied: import("@angular/core").WritableSignal<boolean>;
16
+ textValue: import("@angular/core").WritableSignal<string>;
17
+ prismLang: import("@angular/core").Signal<CodeLanguage | "markup">;
18
+ private _lastEmittedValue;
19
+ constructor();
20
+ highlightedCode: import("@angular/core").Signal<SafeHtml>;
21
+ onTextChange(newText: string): void;
22
+ copyToClipboard(): void;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdCodeEditor, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdCodeEditor, "sd-code-editor", never, { "valueModel": { "alias": "model"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; }, { "valueModel": "modelChange"; }, never, never, true, never>;
25
+ }
@@ -1,3 +1,4 @@
1
1
  export * from './src/components';
2
2
  export * from './src/document-builder.model';
3
3
  export * from './src/document-builder.component';
4
+ export * from './src/plugins/ck-comment/ck-comment.plugin.model';
@@ -1,6 +1,7 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { ClassicEditor, ModelRange } from 'ckeditor5';
3
- import { SdDocumentBuilderComment, SdDocumentBuilderHeading, SdDocumentBuilderOption, SdDocumentBuilderVariable, SdEditorConfig } from './document-builder.model';
3
+ import { VariablePlugin, CkCommentPlugin } from './plugins';
4
+ import { SdDocumentBuilderHeading, SdDocumentBuilderOption, SdEditorConfig } from './document-builder.model';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class SdDocumentBuilder {
6
7
  #private;
@@ -19,51 +20,19 @@ export declare class SdDocumentBuilder {
19
20
  getOrientation: () => "PORTRAIT" | "LANDSCAPE";
20
21
  scrollToTop(): void;
21
22
  heading: {
22
- all: () => SdDocumentBuilderHeading[];
23
- scroll: (id: string) => void;
24
- };
25
- comment: {
26
- /**
27
- * Lấy tất cả comments trong document
28
- * @returns Danh sách tất cả comments
29
- */
30
- all: () => SdDocumentBuilderComment[];
31
- /**
32
- * Thêm comment vào vùng text đang được chọn
33
- * @param comment - Dữ liệu comment
34
- * @param data - Dữ liệu extra data
35
- * @returns SdDocumentBuilderComment hoặc null nếu không có text được chọn
36
- */
37
- add: <T = any>(range: ModelRange, comment: string, data?: T) => SdDocumentBuilderComment<T> | null;
38
23
  /**
39
- * Cập nhật nội dung comment
40
- * @param markerId - ID của marker
41
- * @param commentData - Dữ liệu mới
42
- * @returns Comment đã cập nhật hoặc null
24
+ * Lấy tất cả headings trong document
25
+ * @returns Danh sách tất cả headings
43
26
  */
44
- update: <T = any>(markerId: string, comment: string, data?: T) => SdDocumentBuilderComment<T> | null;
45
- /**
46
- * Lấy chi tiết comment theo markerId
47
- * @param markerId - ID của marker
48
- * @returns Comment hoặc null
49
- */
50
- detail: (markerId: string) => SdDocumentBuilderComment | null;
51
- /**
52
- * Xóa comment theo markerId
53
- * @param markerId - ID của marker cần xóa
54
- * @returns true nếu xóa thành công, false nếu không tìm thấy
55
- */
56
- remove: (markerId: string) => boolean;
27
+ all: () => SdDocumentBuilderHeading[];
57
28
  /**
58
- * Scroll đến vị trí comment
59
- * @param markerId - ID của marker cần scroll tới
29
+ * Scroll tới vị trí của heading
30
+ * @param id - ID của heading cần scroll tới
60
31
  */
61
- scroll: (markerId: string) => void;
62
- };
63
- variable: {
64
- all: () => SdDocumentBuilderVariable[];
65
- scroll: (uuid: string) => void;
32
+ scroll: (id: string) => void;
66
33
  };
34
+ getCommentPluginAPI(): CkCommentPlugin | null;
35
+ getVariablePluginAPI(): VariablePlugin | null;
67
36
  /**
68
37
  * Xuất file Word có Header/Footer
69
38
  * @param fileName Tên file
@@ -77,6 +46,8 @@ export declare class SdDocumentBuilder {
77
46
  header?: string;
78
47
  footer?: string;
79
48
  }): void;
49
+ hightSelectRange: (range: ModelRange) => void;
50
+ removeHighlightSeclectRange: () => void;
80
51
  static ɵfac: i0.ɵɵFactoryDeclaration<SdDocumentBuilder, never>;
81
52
  static ɵcmp: i0.ɵɵComponentDeclaration<SdDocumentBuilder, "sd-document-builder", never, { "option": { "alias": "option"; "required": true; }; "_disabled": { "alias": "disabled"; "required": false; }; }, { "contentChange": "contentChange"; }, never, never, true, never>;
82
53
  }
@@ -1,13 +1,16 @@
1
- import { EditorConfig, EventInfo, ModelDocumentSelection, ModelRange } from 'ckeditor5';
1
+ import { EditorConfig, EventInfo, ModelDocumentSelection, ViewDataTransfer } from 'ckeditor5';
2
+ import { CkCommentConfig } from './plugins/ck-comment/ck-comment.plugin.model';
2
3
  export type SdEditorConfig = EditorConfig & {
3
4
  getOption?: () => SdDocumentBuilderOption;
4
5
  };
5
6
  export interface SdDocumentBuilderOption {
6
- onDropVariable?: (variable: SdDocumentBuilderVariable, dropIndex: number) => boolean | Promise<boolean | SdDocumentBuilderVariable>;
7
- onAddComment?: (range: ModelRange) => void;
8
- onSelectComment?: (markerId: string) => void;
7
+ onDropVariable?: (variable: SdDocumentBuilderVariable) => boolean | Promise<boolean | SdDocumentBuilderVariable>;
8
+ onAfterDropVariable?: (variable: SdDocumentBuilderVariable) => void;
9
+ onPasteVariable?: (display: string) => SdDocumentBuilderVariable | null | Promise<SdDocumentBuilderVariable | null>;
10
+ comment?: CkCommentConfig;
9
11
  onSelection?: (selection: ModelDocumentSelection, $event: EventInfo<string, unknown>) => void;
10
12
  onOrientation?: (orientation: 'PORTRAIT' | 'LANDSCAPE') => void;
13
+ onPaste?: (data: SdPasteEventData) => void | Promise<void>;
11
14
  orientation?: 'PORTRAIT' | 'LANDSCAPE';
12
15
  }
13
16
  export interface SdDocumentBuilderVariable<T = any> {
@@ -15,13 +18,7 @@ export interface SdDocumentBuilderVariable<T = any> {
15
18
  uuid?: string;
16
19
  value: string;
17
20
  display: string;
18
- data?: T;
19
- }
20
- export interface SdDocumentBuilderComment<T = any> {
21
- markerId: string;
22
- selectedText: string;
23
- comment?: string;
24
- createdAt?: Date;
21
+ bindingValue?: string;
25
22
  data?: T;
26
23
  }
27
24
  export interface SdDocumentBuilderHeading {
@@ -30,3 +27,9 @@ export interface SdDocumentBuilderHeading {
30
27
  level: number;
31
28
  type: string;
32
29
  }
30
+ export interface SdPasteEventData {
31
+ html?: string;
32
+ text: string;
33
+ source: 'word' | 'excel' | 'google-docs' | 'web' | 'unknown';
34
+ dataTransfer: ViewDataTransfer;
35
+ }
@@ -0,0 +1,9 @@
1
+ import { Plugin } from 'ckeditor5';
2
+ /**
3
+ * Plugin để thêm margin-bottom: 4px cho các block elements
4
+ * (paragraph, heading, list, table) thông qua downcast conversion
5
+ */
6
+ export declare class BlockSpace extends Plugin {
7
+ static get pluginName(): string;
8
+ init(): void;
9
+ }
@@ -0,0 +1,44 @@
1
+ import { Plugin, ContextualBalloon } from 'ckeditor5';
2
+ import { CkComment, CkCommentConfig, CkCommentColors } from './ck-comment.plugin.model';
3
+ export declare class CkCommentPlugin extends Plugin {
4
+ #private;
5
+ static get pluginName(): string;
6
+ static get requires(): (typeof ContextualBalloon)[];
7
+ static readonly PENDING_MARKER_ID = "__pending_comment__";
8
+ static readonly DEFAULT_SEARCH_RANGE = 5;
9
+ static readonly DEFAULT_MAX_TEXT_LENGTH = 1000;
10
+ static readonly DEFAULT_COLORS: CkCommentColors;
11
+ init(): void;
12
+ /**
13
+ * Thiết lập config với callbacks
14
+ */
15
+ setConfig(config: CkCommentConfig): void;
16
+ /**
17
+ * Thêm comment và tạo marker
18
+ */
19
+ addComment(comment: CkComment): boolean;
20
+ /**
21
+ * Xóa comment theo id
22
+ */
23
+ removeComment(id: string | number): boolean;
24
+ /**
25
+ * Chọn comment theo id - chỉ thêm class highlight, không bôi đen text
26
+ */
27
+ selectComment(id: string | number, scrollIntoView?: boolean): void;
28
+ /**
29
+ * Thiết lập tất cả comments (khôi phục từ dữ liệu)
30
+ */
31
+ setComments(comments: CkComment[]): void;
32
+ /**
33
+ * Lấy tất cả comments
34
+ */
35
+ get comments(): CkComment[];
36
+ /**
37
+ * Thiết lập pending highlight cho selection (khi user đang nhập nội dung comment)
38
+ */
39
+ setPendingSelection(startPath: number[], endPath: number[]): boolean;
40
+ /**
41
+ * Xóa pending highlight và fire onCancelPending callback
42
+ */
43
+ clearPendingSelection(): void;
44
+ }
@@ -0,0 +1,57 @@
1
+ import { ModelRange } from 'ckeditor5';
2
+ /**
3
+ * Comment status based on text changes
4
+ */
5
+ export type CkCommentStatus = 'normal' | 'modified' | 'broken';
6
+ /**
7
+ * Color configuration for comment markers
8
+ */
9
+ export interface CkCommentColors {
10
+ marker?: string;
11
+ markerSelected?: string;
12
+ markerPending?: string;
13
+ markerModified?: string;
14
+ markerBroken?: string;
15
+ }
16
+ /**
17
+ * Comment data structure for CkCommentPlugin
18
+ */
19
+ export interface CkComment<T = any> {
20
+ id: string | number;
21
+ startPath: number[];
22
+ endPath: number[];
23
+ originalText: string;
24
+ currentText: string;
25
+ status: CkCommentStatus;
26
+ data?: T;
27
+ }
28
+ /**
29
+ * Config for CkCommentPlugin
30
+ */
31
+ export interface CkCommentConfig {
32
+ onPendingComment?: (comment: CkComment) => void;
33
+ onAddComment?: (comment: CkComment) => void;
34
+ onSelectComment?: (id: string | number) => void;
35
+ onRemoveComment?: (id: string | number) => void;
36
+ onChange?: (comments: CkComment[]) => void;
37
+ onCancelPending?: () => void;
38
+ onError?: (error: {
39
+ code: string;
40
+ message: string;
41
+ data?: any;
42
+ }) => void;
43
+ searchRange?: number;
44
+ debug?: boolean;
45
+ colors?: CkCommentColors;
46
+ maxTextLength?: number;
47
+ allowCreating?: boolean;
48
+ }
49
+ /**
50
+ * Data returned when user selects text for comment
51
+ */
52
+ export interface CkCommentSelection {
53
+ range: ModelRange;
54
+ startPath: number[];
55
+ endPath: number[];
56
+ text: string;
57
+ }
@@ -1,4 +1,5 @@
1
1
  import { Plugin } from 'ckeditor5';
2
2
  export declare class HeadingPlugin extends Plugin {
3
+ static get pluginName(): string;
3
4
  init(): void;
4
5
  }
@@ -0,0 +1,4 @@
1
+ import { Plugin } from 'ckeditor5';
2
+ export declare class HighlightRangePlugin extends Plugin {
3
+ init(): void;
4
+ }
@@ -0,0 +1,31 @@
1
+ import { Plugin } from 'ckeditor5';
2
+ export declare class ImageCustomPlugin extends Plugin {
3
+ static get pluginName(): "ImageCustomPlugin";
4
+ init(): void;
5
+ /**
6
+ * Xử lý sự kiện chèn ảnh
7
+ */
8
+ private handleImageInsert;
9
+ /**
10
+ * Xử lý sự kiện thay đổi attribute ảnh
11
+ */
12
+ private handleImageAttributeChange;
13
+ /**
14
+ * Xử lý sự kiện thay đổi style ảnh - thêm float inline style cho căn chỉnh
15
+ */
16
+ private handleImageStyleChange;
17
+ /**
18
+ * Áp dụng custom styles cho element ảnh
19
+ */
20
+ private applyCustomStyles;
21
+ /**
22
+ * Tìm container ck-widget (element figure)
23
+ * CKEditor wrap ảnh block trong <figure class="ck-widget"><img></figure>
24
+ */
25
+ private findWidgetElement;
26
+ /**
27
+ * Tìm element img thực tế bên trong widget structure
28
+ * CKEditor wrap ảnh block trong <figure class="ck-widget"><img></figure>
29
+ */
30
+ private findImgElement;
31
+ }
@@ -1,6 +1,11 @@
1
1
  export * from './heading/heading.plugin';
2
- export * from './comment/comment.plugin';
3
2
  export * from './variable/variable.plugin';
4
- export * from './table-fit/table-fit.plugin';
3
+ export * from './table-custom';
5
4
  export * from './image-upload/image-upload.plugin';
5
+ export * from './image-custom/image-custom.plugin';
6
6
  export * from './page-orientation/page-orientation.plugin';
7
+ export * from './paste-handler';
8
+ export * from './highlight-range/highlight-range.plugin';
9
+ export * from './block-space/block-space.plugin';
10
+ export * from './ck-comment/ck-comment.plugin';
11
+ export * from './ck-comment/ck-comment.plugin.model';
@@ -1,6 +1,6 @@
1
1
  import { Plugin } from 'ckeditor5';
2
- export declare class PageOrientationPlugin extends Plugin {
3
- static readonly pluginName = "PageOrientationPlugin";
2
+ export declare class PageOrientation extends Plugin {
3
+ static readonly pluginName = "PageOrientation";
4
4
  private _currentOrientation;
5
5
  private orientationChangeEmitter?;
6
6
  private buttonView?;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module paste-from-office/filters/bookmark
7
+ */
8
+ import { type ViewUpcastWriter, type ViewDocumentFragment } from 'ckeditor5';
9
+ /**
10
+ * Transforms `<a>` elements which are bookmarks by moving their children after the element.
11
+ *
12
+ * @internal
13
+ */
14
+ export declare function transformBookmarks(documentFragment: ViewDocumentFragment, writer: ViewUpcastWriter): void;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module paste-from-office/filters/br
7
+ */
8
+ import { type ViewUpcastWriter, type ViewDocumentFragment } from 'ckeditor5';
9
+ /**
10
+ * Transforms `<br>` elements that are siblings to some block element into a paragraphs.
11
+ *
12
+ * @param documentFragment The view structure to be transformed.
13
+ * @internal
14
+ */
15
+ export declare function transformBlockBrsToParagraphs(documentFragment: ViewDocumentFragment, writer: ViewUpcastWriter): void;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module paste-from-office/filters/image
7
+ */
8
+ import { type ViewDocumentFragment } from 'ckeditor5';
9
+ /**
10
+ * Replaces source attribute of all `<img>` elements representing regular
11
+ * images (not the Word shapes) with inlined base64 image representation extracted from RTF or Blob data.
12
+ *
13
+ * @param documentFragment Document fragment on which transform images.
14
+ * @param rtfData The RTF data from which images representation will be used.
15
+ * @internal
16
+ */
17
+ export declare function replaceImagesSourceWithBase64(documentFragment: ViewDocumentFragment, rtfData: string): void;
18
+ /**
19
+ * Converts given HEX string to base64 representation.
20
+ *
21
+ * @internal
22
+ * @param hexString The HEX string to be converted.
23
+ * @returns Base64 representation of a given HEX string.
24
+ */
25
+ export declare function _convertHexToBase64(hexString: string): string;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module paste-from-office/filters/list
7
+ */
8
+ import { ViewUpcastWriter, type ViewDocumentFragment } from 'ckeditor5';
9
+ /**
10
+ * Transforms Word specific list-like elements to the semantic HTML lists.
11
+ *
12
+ * Lists in Word are represented by block elements with special attributes like:
13
+ *
14
+ * ```xml
15
+ * <p class=MsoListParagraphCxSpFirst style='mso-list:l1 level1 lfo1'>...</p> // Paragraph based list.
16
+ * <h1 style='mso-list:l0 level1 lfo1'>...</h1> // Heading 1 based list.
17
+ * ```
18
+ *
19
+ * @param documentFragment The view structure to be transformed.
20
+ * @param stylesString Styles from which list-like elements styling will be extracted.
21
+ * @internal
22
+ */
23
+ export declare function transformListItemLikeElementsIntoLists(documentFragment: ViewDocumentFragment, stylesString: string, hasMultiLevelListPlugin: boolean): void;
24
+ /**
25
+ * Removes paragraph wrapping content inside a list item.
26
+ *
27
+ * @internal
28
+ */
29
+ export declare function unwrapParagraphInListItem(documentFragment: ViewDocumentFragment, writer: ViewUpcastWriter): void;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module paste-from-office/filters/parse
7
+ */
8
+ import { type StylesProcessor, type ViewDocumentFragment } from 'ckeditor5';
9
+ /**
10
+ * Parses the provided HTML extracting contents of `<body>` and `<style>` tags.
11
+ *
12
+ * @param htmlString HTML string to be parsed.
13
+ */
14
+ export declare function parsePasteOfficeHtml(htmlString: string, stylesProcessor: StylesProcessor): PasteOfficeHtmlParseResult;
15
+ /**
16
+ * The result of {@link ~parsePasteOfficeHtml}.
17
+ */
18
+ export interface PasteOfficeHtmlParseResult {
19
+ /**
20
+ * Parsed body content as a traversable structure.
21
+ */
22
+ body: ViewDocumentFragment;
23
+ /**
24
+ * Entire body content as a string.
25
+ */
26
+ bodyString: string;
27
+ /**
28
+ * Array of native `CSSStyleSheet` objects, each representing separate `style` tag from the source HTML.
29
+ */
30
+ styles: Array<CSSStyleSheet>;
31
+ /**
32
+ * All `style` tags contents combined in the order of occurrence into one string.
33
+ */
34
+ stylesString: string;
35
+ }