@sdcorejs/angular 19.1.2 → 19.1.4

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 (343) hide show
  1. package/README.md +127 -807
  2. package/components/anchor/src/index.d.ts +1 -1
  3. package/components/anchor/src/models/index.d.ts +1 -1
  4. package/components/audit-diff/index.d.ts +2 -0
  5. package/components/audit-diff/src/audit-diff.component.d.ts +30 -0
  6. package/components/audit-diff/src/audit-diff.engine.d.ts +40 -0
  7. package/components/badge/src/badge.component.d.ts +1 -1
  8. package/components/breadcrumb/index.d.ts +1 -0
  9. package/components/breadcrumb/src/breadcrumb.component.d.ts +50 -0
  10. package/components/data-state/index.d.ts +1 -0
  11. package/components/data-state/src/data-state.component.d.ts +40 -0
  12. package/components/document-builder/index.d.ts +2 -2
  13. package/components/document-builder/src/components/header-footer-builder/header-footer-builder.component.d.ts +1 -2
  14. package/components/document-builder/src/document-builder.component.d.ts +4 -4
  15. package/components/document-builder/src/plugins/index.d.ts +1 -1
  16. package/components/editor/index.d.ts +1 -1
  17. package/components/editor/src/models/index.d.ts +2 -2
  18. package/components/form-generic/src/components/form-builder/components/attribute-expression/attribute-expression.component.d.ts +7 -8
  19. package/components/form-generic/src/components/form-builder/components/attribute-input/attribute-input.component.d.ts +4 -5
  20. package/components/form-generic/src/components/form-builder/components/attribute-input-number/attribute-input-number.component.d.ts +1 -2
  21. package/components/form-generic/src/components/form-builder/components/attribute-parameter/attribute-parameter.component.d.ts +6 -5
  22. package/components/form-generic/src/components/form-builder/components/attribute-select/attribute-select.component.d.ts +4 -5
  23. package/components/form-generic/src/components/form-builder/components/attribute-selection/attribute-selection.component.d.ts +9 -9
  24. package/components/form-generic/src/components/form-builder/components/attribute-selection/components/build-queries/build-queries.component.d.ts +8 -7
  25. package/components/form-generic/src/components/form-builder/components/attribute-selection/components/build-variables/build-variables.component.d.ts +8 -7
  26. package/components/form-generic/src/components/form-builder/components/attribute-switch/attribute-switch.component.d.ts +3 -4
  27. package/components/form-generic/src/components/form-builder/components/attribute-table/attribute-table.component.d.ts +5 -6
  28. package/components/form-generic/src/components/form-builder/components/attribute-template/attribute-template.component.d.ts +1 -2
  29. package/components/form-generic/src/components/form-builder/components/attribute-textarea/attribute-textarea.component.d.ts +4 -5
  30. package/components/form-generic/src/components/form-builder/components/checkbox/attribute/checkbox-attribute.component.d.ts +6 -6
  31. package/components/form-generic/src/components/form-builder/components/chip-calendar/attribute/chip-calendar-attribute.component.d.ts +6 -6
  32. package/components/form-generic/src/components/form-builder/components/chip-calendar/control/chip-calendar-control.component.d.ts +3 -3
  33. package/components/form-generic/src/components/form-builder/components/chip-string/attribute/chip-string-attribute.component.d.ts +6 -6
  34. package/components/form-generic/src/components/form-builder/components/chip-string/control/chip-string-control.component.d.ts +3 -3
  35. package/components/form-generic/src/components/form-builder/components/configure-validation/configure-validation.component.d.ts +2 -2
  36. package/components/form-generic/src/components/form-builder/components/datetime/attribute/datetime-attribute.component.d.ts +6 -6
  37. package/components/form-generic/src/components/form-builder/components/datetime/control/datetime-control.component.d.ts +3 -3
  38. package/components/form-generic/src/components/form-builder/components/expression-builder/expression-builder.component.d.ts +6 -5
  39. package/components/form-generic/src/components/form-builder/components/html/attribute/components/build-queries/build-queries.component.d.ts +7 -6
  40. package/components/form-generic/src/components/form-builder/components/html/attribute/html-attribute.component.d.ts +7 -8
  41. package/components/form-generic/src/components/form-builder/components/html/control/html-control.component.d.ts +3 -4
  42. package/components/form-generic/src/components/form-builder/components/number/attribute/number-attribute.component.d.ts +6 -6
  43. package/components/form-generic/src/components/form-builder/components/number/control/number-control.component.d.ts +3 -3
  44. package/components/form-generic/src/components/form-builder/components/radio/attribute/radio-attribute.component.d.ts +6 -6
  45. package/components/form-generic/src/components/form-builder/components/radio/control/radio-control.component.d.ts +3 -3
  46. package/components/form-generic/src/components/form-builder/components/select/attribute/select-attribute.component.d.ts +6 -6
  47. package/components/form-generic/src/components/form-builder/components/select/control/select-control.component.d.ts +3 -3
  48. package/components/form-generic/src/components/form-builder/components/table/attribute/table-attribute.component.d.ts +6 -6
  49. package/components/form-generic/src/components/form-builder/components/table/control/table-control.component.d.ts +3 -3
  50. package/components/form-generic/src/components/form-builder/components/textarea/attribute/textarea-attribute.component.d.ts +6 -6
  51. package/components/form-generic/src/components/form-builder/components/textarea/control/textarea-control.component.d.ts +3 -3
  52. package/components/form-generic/src/components/form-builder/components/textfield/attribute/textfield-attribute.component.d.ts +6 -6
  53. package/components/form-generic/src/components/form-builder/components/textfield/control/textfield-control.component.d.ts +3 -3
  54. package/components/form-generic/src/components/form-builder/components/upload/attribute/upload-attribute.component.d.ts +6 -6
  55. package/components/form-generic/src/components/form-builder/components/upload/control/upload-control.component.d.ts +3 -3
  56. package/components/form-generic/src/components/form-builder/form-builder.component.d.ts +25 -2
  57. package/components/form-generic/src/components/form-render/components/item/components/chip-calendar/chip-calendar.component.d.ts +7 -6
  58. package/components/form-generic/src/components/form-render/components/item/components/chip-string/chip-string.component.d.ts +7 -6
  59. package/components/form-generic/src/components/form-render/components/item/components/datetime/datetime.component.d.ts +7 -7
  60. package/components/form-generic/src/components/form-render/components/item/components/html/html.component.d.ts +6 -6
  61. package/components/form-generic/src/components/form-render/components/item/components/number/number.component.d.ts +7 -6
  62. package/components/form-generic/src/components/form-render/components/item/components/radio/radio.component.d.ts +6 -7
  63. package/components/form-generic/src/components/form-render/components/item/components/select/select.component.d.ts +6 -7
  64. package/components/form-generic/src/components/form-render/components/item/components/table/table.component.d.ts +8 -8
  65. package/components/form-generic/src/components/form-render/components/item/components/textarea/textarea.component.d.ts +7 -6
  66. package/components/form-generic/src/components/form-render/components/item/components/textfield/textfield.component.d.ts +7 -6
  67. package/components/form-generic/src/components/form-render/components/item/components/upload/upload.component.d.ts +7 -6
  68. package/components/form-generic/src/components/form-render/components/item/item.component.d.ts +4 -4
  69. package/components/form-generic/src/components/sd-feel-expression/sd-feel-expression.component.d.ts +8 -9
  70. package/components/form-generic/src/configurations/index.d.ts +1 -1
  71. package/components/form-generic/src/models/form-render/index.d.ts +2 -2
  72. package/components/form-generic/src/models/index.d.ts +6 -6
  73. package/components/form-generic/src/pipes/component-viewed.pipe.d.ts +2 -3
  74. package/components/form-generic/src/pipes/html.pipe.d.ts +2 -2
  75. package/components/form-generic/src/services/form-render.service.d.ts +2 -2
  76. package/components/import-excel/index.d.ts +1 -1
  77. package/components/import-excel/src/import-excel.component.d.ts +4 -7
  78. package/components/import-excel/src/pipes/column-transform.pipe.d.ts +3 -2
  79. package/components/index.d.ts +4 -0
  80. package/components/job-progress/index.d.ts +1 -0
  81. package/components/job-progress/src/job-progress.component.d.ts +34 -0
  82. package/components/mini-editor/index.d.ts +1 -1
  83. package/components/mini-editor/src/mini-editor.component.d.ts +7 -7
  84. package/components/modal/src/modal.component.d.ts +6 -1
  85. package/components/org-chart/index.d.ts +1 -1
  86. package/components/preview/index.d.ts +5 -2
  87. package/components/preview/src/preview-pdf/preview-pdf.browser.d.ts +28 -0
  88. package/components/preview/src/preview-pdf/preview-pdf.component.d.ts +61 -23
  89. package/components/preview/src/preview-pdf/preview-pdf.pdfjs.d.ts +77 -0
  90. package/components/preview/src/preview-pdf/preview-pdf.print.d.ts +10 -0
  91. package/components/preview/src/preview-pdf/preview-pdf.types.d.ts +11 -9
  92. package/components/side-drawer/src/side-drawer.component.d.ts +6 -1
  93. package/components/tab/src/tab-group.component.d.ts +1 -0
  94. package/components/tab/src/tab.component.d.ts +7 -1
  95. package/components/tab-router/src/components/tab-router-item/tab-router-item.component.d.ts +3 -4
  96. package/components/tab-router/src/pipes/tab-info.pipe.d.ts +2 -2
  97. package/components/tab-router/src/services/tab-decorator.service.d.ts +2 -1
  98. package/components/table/index.d.ts +1 -1
  99. package/components/table/src/components/filter/column-filter/column-filter.component.d.ts +1 -1
  100. package/components/table/src/components/popup-export/popup-export.component.d.ts +6 -6
  101. package/components/table/src/models/index.d.ts +4 -4
  102. package/components/table/src/models/table-column.model.d.ts +1 -1
  103. package/components/table/src/services/config.service.d.ts +3 -2
  104. package/components/table/src/services/table-filter/table-filter.model.d.ts +1 -1
  105. package/components/table/src/services/table-filter/table-filter.service.d.ts +2 -2
  106. package/components/tree/index.d.ts +1 -1
  107. package/components/tree/src/tree.component.d.ts +13 -2
  108. package/components/tree/src/tree.model.d.ts +11 -0
  109. package/components/upload-file/src/components/preview/preview.component.d.ts +4 -4
  110. package/directives/src/sd-hover-copy.directive.d.ts +6 -5
  111. package/directives/src/sd-href.directive.d.ts +2 -2
  112. package/directives/src/sd-scroll.directive.d.ts +3 -2
  113. package/fesm2022/sdcorejs-angular-components-anchor.mjs +14 -14
  114. package/fesm2022/sdcorejs-angular-components-anchor.mjs.map +1 -1
  115. package/fesm2022/sdcorejs-angular-components-audit-diff.mjs +332 -0
  116. package/fesm2022/sdcorejs-angular-components-audit-diff.mjs.map +1 -0
  117. package/fesm2022/sdcorejs-angular-components-badge.mjs +1 -0
  118. package/fesm2022/sdcorejs-angular-components-badge.mjs.map +1 -1
  119. package/fesm2022/sdcorejs-angular-components-breadcrumb.mjs +121 -0
  120. package/fesm2022/sdcorejs-angular-components-breadcrumb.mjs.map +1 -0
  121. package/fesm2022/sdcorejs-angular-components-data-state.mjs +68 -0
  122. package/fesm2022/sdcorejs-angular-components-data-state.mjs.map +1 -0
  123. package/fesm2022/sdcorejs-angular-components-document-builder.mjs +16 -21
  124. package/fesm2022/sdcorejs-angular-components-document-builder.mjs.map +1 -1
  125. package/fesm2022/sdcorejs-angular-components-editor.mjs +6 -4
  126. package/fesm2022/sdcorejs-angular-components-editor.mjs.map +1 -1
  127. package/fesm2022/sdcorejs-angular-components-form-generic.mjs +600 -853
  128. package/fesm2022/sdcorejs-angular-components-form-generic.mjs.map +1 -1
  129. package/fesm2022/sdcorejs-angular-components-import-excel.mjs +25 -40
  130. package/fesm2022/sdcorejs-angular-components-import-excel.mjs.map +1 -1
  131. package/fesm2022/sdcorejs-angular-components-job-progress.mjs +97 -0
  132. package/fesm2022/sdcorejs-angular-components-job-progress.mjs.map +1 -0
  133. package/fesm2022/sdcorejs-angular-components-mini-editor.mjs +9 -19
  134. package/fesm2022/sdcorejs-angular-components-mini-editor.mjs.map +1 -1
  135. package/fesm2022/sdcorejs-angular-components-modal.mjs +60 -3
  136. package/fesm2022/sdcorejs-angular-components-modal.mjs.map +1 -1
  137. package/fesm2022/sdcorejs-angular-components-preview.mjs +1437 -217
  138. package/fesm2022/sdcorejs-angular-components-preview.mjs.map +1 -1
  139. package/fesm2022/sdcorejs-angular-components-query-bar.mjs +9 -17
  140. package/fesm2022/sdcorejs-angular-components-query-bar.mjs.map +1 -1
  141. package/fesm2022/sdcorejs-angular-components-query-builder.mjs +1 -1
  142. package/fesm2022/sdcorejs-angular-components-query-builder.mjs.map +1 -1
  143. package/fesm2022/sdcorejs-angular-components-side-drawer.mjs +38 -1
  144. package/fesm2022/sdcorejs-angular-components-side-drawer.mjs.map +1 -1
  145. package/fesm2022/sdcorejs-angular-components-tab-router.mjs +76 -52
  146. package/fesm2022/sdcorejs-angular-components-tab-router.mjs.map +1 -1
  147. package/fesm2022/sdcorejs-angular-components-tab.mjs +47 -3
  148. package/fesm2022/sdcorejs-angular-components-tab.mjs.map +1 -1
  149. package/fesm2022/sdcorejs-angular-components-table.mjs +121 -87
  150. package/fesm2022/sdcorejs-angular-components-table.mjs.map +1 -1
  151. package/fesm2022/sdcorejs-angular-components-tree.mjs +187 -17
  152. package/fesm2022/sdcorejs-angular-components-tree.mjs.map +1 -1
  153. package/fesm2022/sdcorejs-angular-components-upload-file.mjs +16 -22
  154. package/fesm2022/sdcorejs-angular-components-upload-file.mjs.map +1 -1
  155. package/fesm2022/sdcorejs-angular-components.mjs +4 -0
  156. package/fesm2022/sdcorejs-angular-components.mjs.map +1 -1
  157. package/fesm2022/sdcorejs-angular-directives.mjs +29 -41
  158. package/fesm2022/sdcorejs-angular-directives.mjs.map +1 -1
  159. package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs +9 -8
  160. package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs.map +1 -1
  161. package/fesm2022/sdcorejs-angular-forms-checkbox.mjs +20 -73
  162. package/fesm2022/sdcorejs-angular-forms-checkbox.mjs.map +1 -1
  163. package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs +8 -4
  164. package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs.map +1 -1
  165. package/fesm2022/sdcorejs-angular-forms-chip.mjs +8 -4
  166. package/fesm2022/sdcorejs-angular-forms-chip.mjs.map +1 -1
  167. package/fesm2022/sdcorejs-angular-forms-date-range.mjs +18 -14
  168. package/fesm2022/sdcorejs-angular-forms-date-range.mjs.map +1 -1
  169. package/fesm2022/sdcorejs-angular-forms-date.mjs +48 -70
  170. package/fesm2022/sdcorejs-angular-forms-date.mjs.map +1 -1
  171. package/fesm2022/sdcorejs-angular-forms-datetime.mjs +63 -529
  172. package/fesm2022/sdcorejs-angular-forms-datetime.mjs.map +1 -1
  173. package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs +384 -0
  174. package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs.map +1 -0
  175. package/fesm2022/sdcorejs-angular-forms-input-color.mjs +4 -2
  176. package/fesm2022/sdcorejs-angular-forms-input-color.mjs.map +1 -1
  177. package/fesm2022/sdcorejs-angular-forms-input-number.mjs +15 -10
  178. package/fesm2022/sdcorejs-angular-forms-input-number.mjs.map +1 -1
  179. package/fesm2022/sdcorejs-angular-forms-input.mjs +296 -58
  180. package/fesm2022/sdcorejs-angular-forms-input.mjs.map +1 -1
  181. package/fesm2022/sdcorejs-angular-forms-models.mjs +155 -2
  182. package/fesm2022/sdcorejs-angular-forms-models.mjs.map +1 -1
  183. package/fesm2022/sdcorejs-angular-forms-radio.mjs +44 -68
  184. package/fesm2022/sdcorejs-angular-forms-radio.mjs.map +1 -1
  185. package/fesm2022/sdcorejs-angular-forms-select.mjs +8 -21
  186. package/fesm2022/sdcorejs-angular-forms-select.mjs.map +1 -1
  187. package/fesm2022/sdcorejs-angular-forms-switch.mjs +19 -66
  188. package/fesm2022/sdcorejs-angular-forms-switch.mjs.map +1 -1
  189. package/fesm2022/sdcorejs-angular-forms-textarea.mjs +8 -6
  190. package/fesm2022/sdcorejs-angular-forms-textarea.mjs.map +1 -1
  191. package/fesm2022/sdcorejs-angular-forms-time-range.mjs +279 -0
  192. package/fesm2022/sdcorejs-angular-forms-time-range.mjs.map +1 -0
  193. package/fesm2022/sdcorejs-angular-forms-time.mjs +309 -0
  194. package/fesm2022/sdcorejs-angular-forms-time.mjs.map +1 -0
  195. package/fesm2022/sdcorejs-angular-forms-tree-select.mjs +210 -0
  196. package/fesm2022/sdcorejs-angular-forms-tree-select.mjs.map +1 -0
  197. package/fesm2022/sdcorejs-angular-forms.mjs +73 -4
  198. package/fesm2022/sdcorejs-angular-forms.mjs.map +1 -1
  199. package/fesm2022/sdcorejs-angular-i18n.mjs +355 -10
  200. package/fesm2022/sdcorejs-angular-i18n.mjs.map +1 -1
  201. package/fesm2022/sdcorejs-angular-interceptors.mjs +12 -17
  202. package/fesm2022/sdcorejs-angular-interceptors.mjs.map +1 -1
  203. package/fesm2022/sdcorejs-angular-modules-icon.mjs.map +1 -1
  204. package/fesm2022/sdcorejs-angular-modules-layout.mjs +859 -78
  205. package/fesm2022/sdcorejs-angular-modules-layout.mjs.map +1 -1
  206. package/fesm2022/sdcorejs-angular-modules.mjs +0 -1
  207. package/fesm2022/sdcorejs-angular-modules.mjs.map +1 -1
  208. package/fesm2022/sdcorejs-angular-pipes.mjs +5 -7
  209. package/fesm2022/sdcorejs-angular-pipes.mjs.map +1 -1
  210. package/fesm2022/sdcorejs-angular-services-api.mjs +407 -137
  211. package/fesm2022/sdcorejs-angular-services-api.mjs.map +1 -1
  212. package/fesm2022/sdcorejs-angular-services-cache.mjs +515 -105
  213. package/fesm2022/sdcorejs-angular-services-cache.mjs.map +1 -1
  214. package/fesm2022/sdcorejs-angular-services-confirm.mjs +5 -7
  215. package/fesm2022/sdcorejs-angular-services-confirm.mjs.map +1 -1
  216. package/fesm2022/sdcorejs-angular-services-docx.mjs +7 -10
  217. package/fesm2022/sdcorejs-angular-services-docx.mjs.map +1 -1
  218. package/fesm2022/sdcorejs-angular-services-loading.mjs +340 -66
  219. package/fesm2022/sdcorejs-angular-services-loading.mjs.map +1 -1
  220. package/fesm2022/sdcorejs-angular-services-notify.mjs +7 -10
  221. package/fesm2022/sdcorejs-angular-services-notify.mjs.map +1 -1
  222. package/fesm2022/sdcorejs-angular-services-persistence.mjs +899 -0
  223. package/fesm2022/sdcorejs-angular-services-persistence.mjs.map +1 -0
  224. package/fesm2022/sdcorejs-angular-services-storage.mjs +324 -122
  225. package/fesm2022/sdcorejs-angular-services-storage.mjs.map +1 -1
  226. package/fesm2022/sdcorejs-angular-services-task.mjs +389 -0
  227. package/fesm2022/sdcorejs-angular-services-task.mjs.map +1 -0
  228. package/fesm2022/sdcorejs-angular-services-unsaved-changes.mjs +255 -0
  229. package/fesm2022/sdcorejs-angular-services-unsaved-changes.mjs.map +1 -0
  230. package/fesm2022/sdcorejs-angular-services-viewport.mjs +76 -0
  231. package/fesm2022/sdcorejs-angular-services-viewport.mjs.map +1 -0
  232. package/fesm2022/sdcorejs-angular-services.mjs +4 -0
  233. package/fesm2022/sdcorejs-angular-services.mjs.map +1 -1
  234. package/forms/autocomplete/src/autocomplete.component.d.ts +3 -4
  235. package/forms/checkbox/src/checkbox.component.d.ts +4 -8
  236. package/forms/date/src/date.component.d.ts +4 -3
  237. package/forms/date-range/src/date-range.component.d.ts +5 -8
  238. package/forms/datetime/src/datetime.component.d.ts +4 -3
  239. package/forms/entity-picker/index.d.ts +1 -0
  240. package/forms/entity-picker/src/entity-picker.component.d.ts +123 -0
  241. package/forms/index.d.ts +6 -0
  242. package/forms/input/index.d.ts +1 -0
  243. package/forms/input/src/input-mask.d.ts +43 -0
  244. package/forms/input/src/input.component.d.ts +28 -9
  245. package/forms/input-color/src/input-color.component.d.ts +3 -1
  246. package/forms/input-number/src/input-number.component.d.ts +4 -2
  247. package/forms/models/index.d.ts +3 -2
  248. package/forms/models/src/sd-form-control-connector.d.ts +86 -0
  249. package/forms/radio/src/radio.component.d.ts +12 -8
  250. package/forms/src/forms.module.d.ts +9 -5
  251. package/forms/switch/src/switch.component.d.ts +4 -7
  252. package/forms/time/index.d.ts +3 -0
  253. package/forms/time/src/time-picker.adapter.d.ts +13 -0
  254. package/forms/time/src/time-value.d.ts +19 -0
  255. package/forms/time/src/time.component.d.ts +78 -0
  256. package/forms/time-range/index.d.ts +2 -0
  257. package/forms/time-range/src/time-range-value.d.ts +14 -0
  258. package/forms/time-range/src/time-range.component.d.ts +80 -0
  259. package/forms/tree-select/index.d.ts +1 -0
  260. package/forms/tree-select/src/tree-select.component.d.ts +71 -0
  261. package/i18n/src/en.d.ts +68 -2
  262. package/interceptors/no-internet/no-internet.interceptor.d.ts +2 -3
  263. package/interceptors/unauthorized/unauthorized.interceptor.d.ts +2 -2
  264. package/modules/auth/services/index.d.ts +1 -1
  265. package/modules/icon/src/icon.model.d.ts +1 -2
  266. package/modules/icon/src/icon.provider.d.ts +1 -1
  267. package/modules/index.d.ts +0 -1
  268. package/modules/layout/components/index.d.ts +6 -0
  269. package/modules/layout/components/layout-main/layout-main.component.d.ts +7 -2
  270. package/modules/layout/components/shared/menu-tree/menu-tree.component.d.ts +28 -0
  271. package/modules/layout/components/shared/user-menu/user-menu.component.d.ts +25 -0
  272. package/modules/layout/components/sidebar-mobile-v2/main.component.d.ts +27 -0
  273. package/modules/layout/components/sidebar-mobile-v3/main.component.d.ts +28 -0
  274. package/modules/layout/components/sidebar-v1/components/sidebar/sidebar.component.d.ts +3 -4
  275. package/modules/layout/components/sidebar-v1/main.component.d.ts +2 -2
  276. package/modules/layout/components/sidebar-v2/main.component.d.ts +36 -0
  277. package/modules/layout/components/sidebar-v3/main.component.d.ts +29 -0
  278. package/modules/layout/configurations/layout.configuration.d.ts +36 -2
  279. package/modules/layout/index.d.ts +1 -0
  280. package/modules/layout/pipes/menu.pipe.d.ts +2 -2
  281. package/modules/layout/services/index.d.ts +4 -1
  282. package/modules/layout/services/layout.service.d.ts +2 -2
  283. package/modules/layout/services/menu/menu.utils.d.ts +6 -0
  284. package/modules/layout/services/navigation-state/navigation-state.service.d.ts +18 -0
  285. package/modules/layout/services/responsive/responsive.service.d.ts +12 -0
  286. package/modules/layout/services/storage/storage.service.d.ts +21 -8
  287. package/package.json +50 -5
  288. package/pipes/src/safe-html.pipe.d.ts +2 -2
  289. package/services/api/src/api.model.d.ts +54 -15
  290. package/services/api/src/api.service.d.ts +13 -8
  291. package/services/api/src/interceptors/api.interceptor.d.ts +1 -1
  292. package/services/cache/src/cache.model.d.ts +46 -13
  293. package/services/cache/src/cache.service.d.ts +5 -2
  294. package/services/confirm/src/lib/confirm.service.d.ts +2 -2
  295. package/services/docx/src/lib/docx.service.d.ts +2 -3
  296. package/services/excel/src/public-api.d.ts +1 -1
  297. package/services/index.d.ts +4 -0
  298. package/services/loading/src/loading.service.d.ts +15 -8
  299. package/services/notify/src/components/toast/toast.component.d.ts +2 -3
  300. package/services/persistence/index.d.ts +5 -0
  301. package/services/persistence/src/graph-serializer.d.ts +16 -0
  302. package/services/persistence/src/persistence-envelope.d.ts +28 -0
  303. package/services/persistence/src/persistence-key.d.ts +17 -0
  304. package/services/persistence/src/persistence.model.d.ts +63 -0
  305. package/services/persistence/src/storage-adapter.d.ts +29 -0
  306. package/services/storage/src/storage.model.d.ts +20 -5
  307. package/services/storage/src/storage.service.d.ts +6 -3
  308. package/services/task/index.d.ts +3 -0
  309. package/services/task/src/task.model.d.ts +75 -0
  310. package/services/task/src/task.service.d.ts +14 -0
  311. package/services/task/src/task.tokens.d.ts +12 -0
  312. package/services/unsaved-changes/index.d.ts +4 -0
  313. package/services/unsaved-changes/src/unsaved-changes.adapters.d.ts +15 -0
  314. package/services/unsaved-changes/src/unsaved-changes.model.d.ts +41 -0
  315. package/services/unsaved-changes/src/unsaved-changes.service.d.ts +16 -0
  316. package/services/unsaved-changes/src/unsaved-changes.tokens.d.ts +9 -0
  317. package/services/viewport/index.d.ts +3 -0
  318. package/services/viewport/src/viewport.model.d.ts +12 -0
  319. package/services/viewport/src/viewport.service.d.ts +18 -0
  320. package/services/viewport/src/viewport.tokens.d.ts +6 -0
  321. package/utilities/models/index.d.ts +7 -7
  322. package/fesm2022/sdcorejs-angular-modules-authom.mjs +0 -360
  323. package/fesm2022/sdcorejs-angular-modules-authom.mjs.map +0 -1
  324. package/forms/datetime/src/material-datetime/index.d.ts +0 -14
  325. package/forms/datetime/src/material-datetime/lib/core/date-adapter.d.ts +0 -10
  326. package/forms/datetime/src/material-datetime/lib/core/date-formats.d.ts +0 -18
  327. package/forms/datetime/src/material-datetime/lib/core/default-options.d.ts +0 -13
  328. package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker-actions.component.d.ts +0 -5
  329. package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker-apply.directive.d.ts +0 -7
  330. package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker-cancel.directive.d.ts +0 -7
  331. package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker-input.directive.d.ts +0 -24
  332. package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker-now.directive.d.ts +0 -7
  333. package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker-toggle.directive.d.ts +0 -8
  334. package/forms/datetime/src/material-datetime/lib/datetime-picker/datetime-picker.component.d.ts +0 -39
  335. package/forms/datetime/src/material-datetime/lib/native/native-date-adapter.d.ts +0 -15
  336. package/forms/datetime/src/material-datetime/lib/native/native-date-formats.d.ts +0 -2
  337. package/forms/datetime/src/material-datetime/lib/native/provide-native.d.ts +0 -3
  338. package/forms/datetime/src/material-datetime/lib/time-spinner/time-spinner.component.d.ts +0 -31
  339. package/modules/authom/authom.configuration.d.ts +0 -17
  340. package/modules/authom/authom.interceptor.d.ts +0 -3
  341. package/modules/authom/authom.module.d.ts +0 -16
  342. package/modules/authom/authom.service.d.ts +0 -32
  343. package/modules/authom/index.d.ts +0 -35
@@ -7,11 +7,11 @@ import * as i0 from "@angular/core";
7
7
  export declare class LibItemComponent {
8
8
  itemUpload?: UploadComponent;
9
9
  itemTable?: TableComponent;
10
- setVariables: Subject<{
10
+ readonly setVariables: import("@angular/core").InputSignal<Subject<{
11
11
  key: string;
12
12
  value: any;
13
- }>;
14
- form: FormGroup<{}>;
13
+ }>>;
14
+ readonly form: import("@angular/core").InputSignal<FormGroup<{}>>;
15
15
  value: any;
16
16
  entity: Record<string, any>;
17
17
  set _entity(val: Record<string, any>);
@@ -28,5 +28,5 @@ export declare class LibItemComponent {
28
28
  set _validator(validator: SdCustomValidator);
29
29
  upload: () => Promise<void>;
30
30
  static ɵfac: i0.ɵɵFactoryDeclaration<LibItemComponent, never>;
31
- static ɵcmp: i0.ɵɵComponentDeclaration<LibItemComponent, "lib-item", never, { "setVariables": { "alias": "setVariables"; "required": true; }; "form": { "alias": "form"; "required": false; }; "_entity": { "alias": "entity"; "required": true; }; "_component": { "alias": "component"; "required": true; }; "_disabled": { "alias": "disabled"; "required": false; }; "_required": { "alias": "required"; "required": false; }; "_viewed": { "alias": "viewed"; "required": false; }; "_validator": { "alias": "validator"; "required": false; }; }, {}, never, never, true, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibItemComponent, "lib-item", never, { "setVariables": { "alias": "setVariables"; "required": true; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "_entity": { "alias": "entity"; "required": true; }; "_component": { "alias": "component"; "required": true; }; "_disabled": { "alias": "disabled"; "required": false; }; "_required": { "alias": "required"; "required": false; }; "_viewed": { "alias": "viewed"; "required": false; }; "_validator": { "alias": "validator"; "required": false; }; }, {}, never, never, true, never>;
32
32
  }
@@ -1,9 +1,7 @@
1
- import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
1
+ import { OnInit } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { SdModal } from '@sdcorejs/angular/components/modal';
4
4
  import { Attribute, SdFormGenericComponent, SdFormGenericExpression, SdFormGenericGroup } from '../../models';
5
- import { ExpressionFeelPipe } from '../../pipes';
6
- import { FormGenericService } from '../../services';
7
5
  import * as i0 from "@angular/core";
8
6
  export declare class SdFeelExpression implements OnInit {
9
7
  #private;
@@ -19,18 +17,19 @@ export declare class SdFeelExpression implements OnInit {
19
17
  }[]>;
20
18
  attributes: Attribute[];
21
19
  attribute: Record<string, Attribute>;
22
- components: (SdFormGenericComponent | SdFormGenericGroup)[];
20
+ readonly components: import("@angular/core").InputSignal<(SdFormGenericComponent | SdFormGenericGroup)[]>;
23
21
  expression?: SdFormGenericExpression;
24
22
  set _expression(expression: SdFormGenericExpression | undefined);
25
- expressionChange: EventEmitter<SdFormGenericExpression>;
23
+ readonly expressionChange: import("@angular/core").OutputEmitterRef<SdFormGenericExpression>;
26
24
  model?: string;
27
25
  set _model(model: string | undefined);
28
- modelChange: EventEmitter<string>;
29
- sdChange: EventEmitter<{
26
+ readonly modelChange: import("@angular/core").OutputEmitterRef<string | undefined>;
27
+ readonly sdChange: import("@angular/core").OutputEmitterRef<{
30
28
  model?: string;
31
29
  expression?: SdFormGenericExpression;
32
30
  }>;
33
- constructor(ref: ChangeDetectorRef, expressionFeelPipe: ExpressionFeelPipe, formGenericService: FormGenericService);
31
+ /** Inserted by Angular inject() migration for backwards compatibility */
32
+ constructor(...args: unknown[]);
34
33
  ngOnInit(): void;
35
34
  edit: () => Promise<void>;
36
35
  addCondition: (conditions: SdFormGenericExpression["conditions"]) => void;
@@ -38,5 +37,5 @@ export declare class SdFeelExpression implements OnInit {
38
37
  remove: (conditions: SdFormGenericExpression["conditions"], idx: number) => void;
39
38
  onAccept: () => void;
40
39
  static ɵfac: i0.ɵɵFactoryDeclaration<SdFeelExpression, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<SdFeelExpression, "sd-feel-expression", never, { "components": { "alias": "components"; "required": true; }; "_expression": { "alias": "expression"; "required": true; }; "_model": { "alias": "model"; "required": true; }; }, { "expressionChange": "expressionChange"; "modelChange": "modelChange"; "sdChange": "sdChange"; }, never, never, true, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdFeelExpression, "sd-feel-expression", never, { "components": { "alias": "components"; "required": true; "isSignal": true; }; "_expression": { "alias": "expression"; "required": true; }; "_model": { "alias": "model"; "required": true; }; }, { "expressionChange": "expressionChange"; "modelChange": "modelChange"; "sdChange": "sdChange"; }, never, never, true, never>;
42
41
  }
@@ -1,2 +1,2 @@
1
1
  export * from './form-generic.configuration';
2
- export * from './form.configuration';
2
+ export type * from './form.configuration';
@@ -1,2 +1,2 @@
1
- export * from './form-render-entity.model';
2
- export * from './form-render-args.model';
1
+ export type * from './form-render-entity.model';
2
+ export type * from './form-render-args.model';
@@ -1,8 +1,8 @@
1
- export * from './form-render';
2
- export * from './form-generic.model';
1
+ export type * from './form-render';
2
+ export type * from './form-generic.model';
3
3
  export * from './form-generic-component.model';
4
- export * from './form-generic-template.model';
5
- export * from './form-generic-definition-selection.model';
6
- export * from './form-generic-definition-table.model';
7
- export * from './form-generic-definition-html.model';
4
+ export type * from './form-generic-template.model';
5
+ export type * from './form-generic-definition-selection.model';
6
+ export type * from './form-generic-definition-table.model';
7
+ export type * from './form-generic-definition-html.model';
8
8
  export * from './form-generic-expression.model';
@@ -1,12 +1,11 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import { SdFormGenericComponent, SdFormGenericHtml } from '../models';
3
- import { FormGenericService } from '../services';
4
- import { SdFormatNumberPipe } from '@sdcorejs/angular/pipes';
5
3
  import * as i0 from "@angular/core";
6
4
  export declare class ComponentViewedPipe implements PipeTransform {
7
5
  private readonly formatNumberPipe;
8
6
  private readonly formGenericService;
9
- constructor(formatNumberPipe: SdFormatNumberPipe, formGenericService: FormGenericService);
7
+ /** Inserted by Angular inject() migration for backwards compatibility */
8
+ constructor(...args: unknown[]);
10
9
  transform: (value: any, entity: Record<string, any>, component: Exclude<SdFormGenericComponent, SdFormGenericHtml>) => Promise<string>;
11
10
  static ɵfac: i0.ɵɵFactoryDeclaration<ComponentViewedPipe, never>;
12
11
  static ɵpipe: i0.ɵɵPipeDeclaration<ComponentViewedPipe, "componentViewed", true>;
@@ -1,10 +1,10 @@
1
1
  import { PipeTransform } from '@angular/core';
2
- import { DomSanitizer } from '@angular/platform-browser';
3
2
  import { SdFormGenericHtml } from '../models';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class HtmlPipe implements PipeTransform {
6
5
  private readonly sanitizer;
7
- constructor(sanitizer: DomSanitizer);
6
+ /** Inserted by Angular inject() migration for backwards compatibility */
7
+ constructor(...args: unknown[]);
8
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>;
@@ -1,9 +1,9 @@
1
1
  import { SdFormGeneric } from '../models/form-generic.model';
2
- import { ComponentViewedPipe } from '../pipes';
3
2
  import * as i0 from "@angular/core";
4
3
  export declare class SdFormRenderService {
5
4
  private readonly componentViewedPipe;
6
- constructor(componentViewedPipe: ComponentViewedPipe);
5
+ /** Inserted by Angular inject() migration for backwards compatibility */
6
+ constructor(...args: unknown[]);
7
7
  viewEntities: (form: SdFormGeneric, entities: Record<string, any>[]) => Promise<Record<string, any>[]>;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<SdFormRenderService, never>;
9
9
  static ɵprov: i0.ɵɵInjectableDeclaration<SdFormRenderService>;
@@ -1,2 +1,2 @@
1
- export * from './src/import-excel.model';
1
+ export type * from './src/import-excel.model';
2
2
  export * from './src/import-excel.component';
@@ -1,11 +1,7 @@
1
- import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { MatPaginator } from '@angular/material/paginator';
3
- import { ColumnHiddenPipe } from './pipes/columm-hidden.pipe';
4
3
  import { SdImportExcelItem, SdImportExcelOption, SdImportExcelValidation } from './import-excel.model';
5
4
  import { SdModal } from '@sdcorejs/angular/components/modal';
6
- import { SdExcelService } from '@sdcorejs/angular/services/excel';
7
- import { SdNotifyService } from '@sdcorejs/angular/services/notify';
8
- import { SdLoadingService } from '@sdcorejs/angular/services/loading';
9
5
  import * as i0 from "@angular/core";
10
6
  export declare class SdImportExcel implements OnInit, OnDestroy {
11
7
  #private;
@@ -29,8 +25,9 @@ export declare class SdImportExcel implements OnInit, OnDestroy {
29
25
  uploading: boolean;
30
26
  isUploaded: boolean;
31
27
  isDownloadTemplate: boolean;
32
- sdClosed: EventEmitter<any>;
33
- constructor(ref: ChangeDetectorRef, excelService: SdExcelService, notifyService: SdNotifyService, columnHiddenPipe: ColumnHiddenPipe, loadingService: SdLoadingService);
28
+ readonly sdClosed: import("@angular/core").OutputEmitterRef<void>;
29
+ /** Inserted by Angular inject() migration for backwards compatibility */
30
+ constructor(...args: unknown[]);
34
31
  ngOnInit(): void;
35
32
  ngOnDestroy(): void;
36
33
  open: () => void;
@@ -1,10 +1,11 @@
1
1
  import { PipeTransform } from '@angular/core';
2
- import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
2
+ import { SafeHtml } from '@angular/platform-browser';
3
3
  import { SdImportExcelItem, SdUploadExcelColumn } from '../import-excel.model';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ColumnTransformPipe implements PipeTransform {
6
6
  private sanitizer;
7
- constructor(sanitizer: DomSanitizer);
7
+ /** Inserted by Angular inject() migration for backwards compatibility */
8
+ constructor(...args: unknown[]);
8
9
  transform(item: SdImportExcelItem, column: SdUploadExcelColumn): Promise<string | SafeHtml>;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnTransformPipe, never>;
10
11
  static ɵpipe: i0.ɵɵPipeDeclaration<ColumnTransformPipe, "columnTransform", true>;
@@ -25,3 +25,7 @@ export * from '@sdcorejs/angular/components/editor';
25
25
  export * from '@sdcorejs/angular/components/splitter';
26
26
  export * from '@sdcorejs/angular/components/preview';
27
27
  export * from '@sdcorejs/angular/components/autoid-inspector';
28
+ export * from '@sdcorejs/angular/components/breadcrumb';
29
+ export * from '@sdcorejs/angular/components/data-state';
30
+ export * from '@sdcorejs/angular/components/job-progress';
31
+ export * from '@sdcorejs/angular/components/audit-diff';
@@ -0,0 +1 @@
1
+ export * from './src/job-progress.component';
@@ -0,0 +1,34 @@
1
+ import { SdTaskState, SdTaskStatus, SdTaskView } from '@sdcorejs/angular/services/task';
2
+ import * as i0 from "@angular/core";
3
+ export type SdJobProgressMode = 'bar' | 'compact' | 'details';
4
+ export declare class SdJobProgress {
5
+ #private;
6
+ readonly taskId: import("@angular/core").InputSignal<string | undefined>;
7
+ readonly state: import("@angular/core").InputSignal<SdTaskState<unknown> | undefined>;
8
+ readonly mode: import("@angular/core").InputSignal<SdJobProgressMode>;
9
+ readonly title: import("@angular/core").InputSignal<string | undefined>;
10
+ readonly message: import("@angular/core").InputSignal<string | undefined>;
11
+ readonly showActions: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
12
+ readonly sdCancel: import("@angular/core").OutputEmitterRef<void>;
13
+ readonly sdRetry: import("@angular/core").OutputEmitterRef<void>;
14
+ readonly task: import("@angular/core").Signal<SdTaskView<unknown> | undefined>;
15
+ readonly resolvedState: import("@angular/core").Signal<SdTaskState<unknown> | undefined>;
16
+ readonly progress: import("@angular/core").Signal<number | undefined>;
17
+ readonly effectiveTitle: import("@angular/core").Signal<string | undefined>;
18
+ readonly effectiveMessage: import("@angular/core").Signal<string | undefined>;
19
+ readonly statusLabel: import("@angular/core").Signal<string>;
20
+ readonly progressLabel: import("@angular/core").Signal<string>;
21
+ readonly cancelLabel: import("@angular/core").Signal<string>;
22
+ readonly retryLabel: import("@angular/core").Signal<string>;
23
+ readonly displayedError: import("@angular/core").Signal<string | undefined>;
24
+ readonly active: import("@angular/core").Signal<boolean>;
25
+ readonly canCancel: import("@angular/core").Signal<boolean>;
26
+ readonly canRetry: import("@angular/core").Signal<boolean>;
27
+ get modeAttr(): SdJobProgressMode;
28
+ get statusAttr(): SdTaskStatus;
29
+ readonly ariaLive = "polite";
30
+ onCancel(): void;
31
+ onRetry(): void;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdJobProgress, never>;
33
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdJobProgress, "sd-job-progress", never, { "taskId": { "alias": "taskId"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "showActions": { "alias": "showActions"; "required": false; "isSignal": true; }; }, { "sdCancel": "sdCancel"; "sdRetry": "sdRetry"; }, never, never, true, never>;
34
+ }
@@ -1,2 +1,2 @@
1
- export * from './src/mini-editor.model';
1
+ export type * from './src/mini-editor.model';
2
2
  export * from './src/mini-editor.component';
@@ -1,4 +1,4 @@
1
- import { EventEmitter, OnDestroy } from '@angular/core';
1
+ import { OnDestroy } from '@angular/core';
2
2
  import { ClassicEditor } from 'ckeditor5';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
4
  import { SdMiniEditorOption, SdMiniEditorConfig } from './mini-editor.model';
@@ -25,15 +25,15 @@ export declare class SdMiniEditor implements ControlValueAccessor, OnDestroy {
25
25
  get maxEditorHeight(): string | undefined;
26
26
  /** NgModel binding - nội dung HTML/Markdown */
27
27
  value: string;
28
- valueChange: EventEmitter<string>;
28
+ readonly valueChange: import("@angular/core").OutputEmitterRef<string>;
29
29
  /** Event emitter khi content thay đổi */
30
- contentChange: EventEmitter<string>;
30
+ readonly contentChange: import("@angular/core").OutputEmitterRef<string>;
31
31
  /** Event emitter khi blur */
32
- blur: EventEmitter<FocusEvent>;
32
+ readonly blur: import("@angular/core").OutputEmitterRef<FocusEvent>;
33
33
  /** Event emitter khi focus */
34
- focus: EventEmitter<FocusEvent>;
34
+ readonly focus: import("@angular/core").OutputEmitterRef<FocusEvent>;
35
35
  /** Disabled state */
36
- disabled: boolean;
36
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
37
37
  Editor: typeof ClassicEditor;
38
38
  get editorConfig(): SdMiniEditorConfig;
39
39
  constructor();
@@ -87,5 +87,5 @@ export declare class SdMiniEditor implements ControlValueAccessor, OnDestroy {
87
87
  */
88
88
  registerOnTouched(fn: () => void): void;
89
89
  static ɵfac: i0.ɵɵFactoryDeclaration<SdMiniEditor, never>;
90
- static ɵcmp: i0.ɵɵComponentDeclaration<SdMiniEditor, "sd-mini-editor", never, { "option": { "alias": "option"; "required": true; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "valueChange": "valueChange"; "contentChange": "contentChange"; "blur": "blur"; "focus": "focus"; }, never, never, true, never>;
90
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdMiniEditor, "sd-mini-editor", never, { "option": { "alias": "option"; "required": true; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "contentChange": "contentChange"; "blur": "blur"; "focus": "focus"; }, never, never, true, never>;
91
91
  }
@@ -1,6 +1,7 @@
1
1
  import { ElementRef, TemplateRef } from '@angular/core';
2
2
  import { Color } from '@sdcorejs/utils/models';
3
3
  import * as i0 from "@angular/core";
4
+ export type SdModalBeforeClose = () => boolean | Promise<boolean>;
4
5
  export declare class SdModal {
5
6
  #private;
6
7
  static index: import("@angular/core").WritableSignal<number>;
@@ -19,12 +20,16 @@ export declare class SdModal {
19
20
  lazyLoadContent: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
20
21
  hideClose: import("@angular/core").InputSignalWithTransform<boolean, boolean | "">;
21
22
  disableBackdropClose: import("@angular/core").InputSignalWithTransform<boolean, boolean | "">;
23
+ beforeClose: import("@angular/core").InputSignal<SdModalBeforeClose | undefined>;
22
24
  sdClosed: import("@angular/core").OutputEmitterRef<void>;
25
+ sdCloseError: import("@angular/core").OutputEmitterRef<unknown>;
23
26
  isOpened: import("@angular/core").WritableSignal<boolean>;
24
27
  alreadyOpened: import("@angular/core").WritableSignal<boolean>;
25
28
  constructor();
26
29
  open: () => void;
27
30
  close: () => void;
31
+ requestClose: () => Promise<boolean>;
32
+ forceClose: () => void;
28
33
  static ɵfac: i0.ɵɵFactoryDeclaration<SdModal, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<SdModal, "sd-modal", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "view": { "alias": "view"; "required": false; "isSignal": true; }; "modalClass": { "alias": "modalClass"; "required": false; "isSignal": true; }; "lazyLoadContent": { "alias": "lazyLoadContent"; "required": false; "isSignal": true; }; "hideClose": { "alias": "hideClose"; "required": false; "isSignal": true; }; "disableBackdropClose": { "alias": "disableBackdropClose"; "required": false; "isSignal": true; }; }, { "sdClosed": "sdClosed"; }, never, ["[sdHeaderLeft]", "[sdHeaderRight]", "*", "[sdFooterLeft]", "[sdFooterRight]"], true, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdModal, "sd-modal", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "view": { "alias": "view"; "required": false; "isSignal": true; }; "modalClass": { "alias": "modalClass"; "required": false; "isSignal": true; }; "lazyLoadContent": { "alias": "lazyLoadContent"; "required": false; "isSignal": true; }; "hideClose": { "alias": "hideClose"; "required": false; "isSignal": true; }; "disableBackdropClose": { "alias": "disableBackdropClose"; "required": false; "isSignal": true; }; "beforeClose": { "alias": "beforeClose"; "required": false; "isSignal": true; }; }, { "sdClosed": "sdClosed"; "sdCloseError": "sdCloseError"; }, never, ["[sdHeaderLeft]", "[sdHeaderRight]", "*", "[sdFooterLeft]", "[sdFooterRight]"], true, never>;
30
35
  }
@@ -1,3 +1,3 @@
1
1
  export * from './src/org-chart.component';
2
2
  export * from './src/org-chart-item-def.directive';
3
- export * from './src/org-chart.model';
3
+ export type * from './src/org-chart.model';
@@ -1,4 +1,7 @@
1
1
  export * from './src/preview-image/preview-image.component';
2
- export * from './src/preview-image/preview-image.types';
2
+ export type * from './src/preview-image/preview-image.types';
3
3
  export * from './src/preview-pdf/preview-pdf.component';
4
- export * from './src/preview-pdf/preview-pdf.types';
4
+ export * from './src/preview-pdf/preview-pdf.browser';
5
+ export * from './src/preview-pdf/preview-pdf.print';
6
+ export * from './src/preview-pdf/preview-pdf.pdfjs';
7
+ export type * from './src/preview-pdf/preview-pdf.types';
@@ -0,0 +1,28 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export interface SdPdfIntersectionEntry {
3
+ readonly target: Element;
4
+ readonly isIntersecting: boolean;
5
+ }
6
+ export interface SdPdfBrowserAdapter {
7
+ readonly isBrowser: boolean;
8
+ /** The platform can trigger an anchor download for an existing URL. */
9
+ readonly canDownloadUrl: boolean;
10
+ /** The platform can create/revoke an object URL and then download it. */
11
+ readonly canDownloadBlob: boolean;
12
+ readonly canFullscreen: boolean;
13
+ isFile(value: unknown): value is File;
14
+ isBlob(value: unknown): value is Blob;
15
+ createPdfBlob(data: Uint8Array): Blob | null;
16
+ createObjectUrl(blob: Blob): string | null;
17
+ revokeObjectUrl(url: string): void;
18
+ download(href: string, filename: string): boolean;
19
+ createElement<K extends keyof HTMLElementTagNameMap>(tagName: K): HTMLElementTagNameMap[K] | null;
20
+ createImage(): HTMLImageElement | null;
21
+ listenFullscreen(host: HTMLElement, listener: (active: boolean) => void): () => void;
22
+ toggleFullscreen(host: HTMLElement): Promise<void>;
23
+ observeResize(element: Element, listener: () => void): () => void;
24
+ observeIntersections(elements: readonly Element[], listener: (entries: readonly SdPdfIntersectionEntry[]) => void, options?: IntersectionObserverInit): () => void;
25
+ scheduleFrame(callback: FrameRequestCallback): number | null;
26
+ cancelFrame(handle: number | null): void;
27
+ }
28
+ export declare const SD_PDF_BROWSER_ADAPTER: InjectionToken<SdPdfBrowserAdapter>;
@@ -1,33 +1,37 @@
1
- import { ElementRef, InjectionToken, OnDestroy } from '@angular/core';
2
- import { PdfErrorEvent, PdfLoadEvent, PdfMeta, PdfScrollMode, PdfSearchResult, PdfSearchState, PdfSidebarMode, PdfSource, PdfStage, PdfZoomMode, PreviewTheme } from './preview-pdf.types';
1
+ import { ElementRef } from '@angular/core';
2
+ import { PdfErrorEvent, PdfLoadEvent, PdfMeta, PdfOutlineItem, PdfScrollMode, PdfSearchResult, PdfSearchState, PdfSidebarMode, PdfSource, PdfStage, PdfZoomMode, PreviewTheme } from './preview-pdf.types';
3
3
  import * as i0 from "@angular/core";
4
- /**
5
- * Minimal pdfjs surface the component depends on. We wrap pdfjs in a DI token
6
- * so unit tests can supply a hand-rolled mock without going through
7
- * jasmine.createSpyObj on the real module (which is harder with ESM).
8
- */
9
- export interface SdPdfJsLib {
10
- getDocument: (spec: unknown) => {
11
- promise: Promise<unknown>;
12
- onProgress?: (p: {
13
- loaded: number;
14
- total: number;
15
- }) => void;
16
- };
17
- GlobalWorkerOptions: {
18
- workerSrc: string;
19
- };
4
+ export { SD_PDFJS_LIB } from './preview-pdf.pdfjs';
5
+ export type { SdPdfJsLib } from './preview-pdf.pdfjs';
6
+ interface PdfOutlineRow {
7
+ readonly item: PdfOutlineItem;
8
+ readonly level: number;
9
+ readonly parentId: string | null;
20
10
  }
21
- export declare const SD_PDFJS_LIB: InjectionToken<SdPdfJsLib>;
22
- export declare class SdPreviewPdf implements OnDestroy {
11
+ type PdfSidebarTabMode = Exclude<PdfSidebarMode, 'none'>;
12
+ export declare class SdPreviewPdf {
23
13
  #private;
24
14
  static readonly MIN_ZOOM = 0.25;
25
15
  static readonly MAX_ZOOM = 4;
26
16
  static readonly ZOOM_STEP = 0.1;
17
+ static readonly OUTLINE_MAX_DEPTH = 64;
18
+ static readonly OUTLINE_MAX_NODES = 10000;
19
+ static readonly MAX_SEARCH_RESULTS = 1000;
20
+ static readonly MAX_PAGE_TEXT_CACHE_PAGES = 128;
21
+ static readonly THUMBNAIL_WINDOW_SIZE = 48;
22
+ static readonly THUMBNAIL_ITEM_HEIGHT = 220;
23
+ static readonly MAX_THUMBNAIL_CACHE_ENTRIES = 96;
24
+ private static readonly MAX_CONCURRENT_THUMBNAIL_WORK;
25
+ static readonly MAX_CANVAS_DIMENSION = 8192;
26
+ static readonly MAX_CANVAS_PIXELS = 16777216;
27
27
  protected readonly pageCanvasRef: import("@angular/core").Signal<ElementRef<HTMLCanvasElement> | undefined>;
28
28
  protected readonly stageEl: import("@angular/core").Signal<ElementRef<HTMLElement> | undefined>;
29
29
  protected readonly pageInputRef: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
30
30
  protected readonly searchInputRef: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
31
+ protected readonly sidebarContentRef: import("@angular/core").Signal<ElementRef<HTMLElement> | undefined>;
32
+ protected readonly outlineItemRefs: import("@angular/core").Signal<readonly ElementRef<HTMLElement>[]>;
33
+ protected readonly sidebarTabRefs: import("@angular/core").Signal<readonly ElementRef<HTMLButtonElement>[]>;
34
+ protected readonly continuousCanvases: import("@angular/core").Signal<readonly ElementRef<HTMLCanvasElement>[]>;
31
35
  protected readonly thumbCanvases: import("@angular/core").Signal<readonly ElementRef<HTMLCanvasElement>[]>;
32
36
  readonly autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
33
37
  readonly autoId: import("@angular/core").Signal<string | undefined>;
@@ -51,6 +55,13 @@ export declare class SdPreviewPdf implements OnDestroy {
51
55
  readonly autoIdTabThumbnails: import("@angular/core").Signal<string | undefined>;
52
56
  readonly autoIdTabOutline: import("@angular/core").Signal<string | undefined>;
53
57
  readonly autoIdTabSearch: import("@angular/core").Signal<string | undefined>;
58
+ readonly sidebarPanelId: import("@angular/core").Signal<string>;
59
+ readonly sidebarRegionId: import("@angular/core").Signal<string>;
60
+ readonly searchBarId: import("@angular/core").Signal<string>;
61
+ readonly tabThumbnailsId: import("@angular/core").Signal<string>;
62
+ readonly tabOutlineId: import("@angular/core").Signal<string>;
63
+ readonly tabSearchId: import("@angular/core").Signal<string>;
64
+ readonly sidebarActiveTabId: import("@angular/core").Signal<string>;
54
65
  readonly autoIdSearchInput: import("@angular/core").Signal<string | undefined>;
55
66
  readonly autoIdSearchNext: import("@angular/core").Signal<string | undefined>;
56
67
  readonly autoIdSearchPrev: import("@angular/core").Signal<string | undefined>;
@@ -84,6 +95,7 @@ export declare class SdPreviewPdf implements OnDestroy {
84
95
  term: string;
85
96
  total: number;
86
97
  current: number;
98
+ truncated: boolean;
87
99
  }>;
88
100
  readonly stage: import("@angular/core").Signal<PdfStage>;
89
101
  readonly activePage: import("@angular/core").Signal<number>;
@@ -98,14 +110,28 @@ export declare class SdPreviewPdf implements OnDestroy {
98
110
  readonly fileSize: import("@angular/core").Signal<number>;
99
111
  readonly loadError$: import("@angular/core").Signal<PdfErrorEvent | null>;
100
112
  readonly thumbCache: import("@angular/core").Signal<Record<number, string>>;
113
+ readonly thumbnailWorkCount: import("@angular/core").Signal<number>;
114
+ readonly pageTextCacheSize: import("@angular/core").Signal<number>;
115
+ readonly continuousPages: import("@angular/core").Signal<number[]>;
116
+ readonly continuousTopSpacer: import("@angular/core").Signal<number>;
117
+ readonly continuousBottomSpacer: import("@angular/core").Signal<number>;
118
+ readonly continuousPageHeights: import("@angular/core").Signal<Record<number, number>>;
119
+ readonly outline: import("@angular/core").Signal<readonly PdfOutlineItem[]>;
120
+ readonly outlineFocusId: import("@angular/core").Signal<string | null>;
121
+ readonly visibleOutline: import("@angular/core").Signal<readonly PdfOutlineRow[]>;
101
122
  readonly numPages: import("@angular/core").Signal<number>;
102
123
  readonly canPrev: import("@angular/core").Signal<boolean>;
103
124
  readonly canNext: import("@angular/core").Signal<boolean>;
104
125
  readonly zoomPercent: import("@angular/core").Signal<number>;
105
126
  readonly loadPercent: import("@angular/core").Signal<number>;
106
127
  readonly isSidebarOpen: import("@angular/core").Signal<boolean>;
128
+ readonly canDownload: import("@angular/core").Signal<boolean>;
129
+ readonly canFullscreen: import("@angular/core").Signal<boolean>;
130
+ readonly canPrint: import("@angular/core").Signal<boolean>;
107
131
  readonly pageList: import("@angular/core").Signal<number[]>;
108
132
  readonly pageNumbers: import("@angular/core").Signal<number[]>;
133
+ readonly thumbnailTopSpacer: import("@angular/core").Signal<number>;
134
+ readonly thumbnailBottomSpacer: import("@angular/core").Signal<number>;
109
135
  readonly searchBarOpen: import("@angular/core").Signal<boolean>;
110
136
  readonly searchTerm: import("@angular/core").Signal<string>;
111
137
  readonly searchResults: import("@angular/core").Signal<PdfSearchResult[]>;
@@ -113,11 +139,11 @@ export declare class SdPreviewPdf implements OnDestroy {
113
139
  readonly searchCaseSensitive: import("@angular/core").Signal<boolean>;
114
140
  readonly searchWholeWord: import("@angular/core").Signal<boolean>;
115
141
  readonly searchTotal: import("@angular/core").Signal<number>;
142
+ readonly searchTruncated: import("@angular/core").Signal<boolean>;
116
143
  readonly searchCurrent: import("@angular/core").Signal<number>;
117
144
  readonly searchActiveResult: import("@angular/core").Signal<PdfSearchResult | null>;
118
145
  readonly searchState: import("@angular/core").Signal<PdfSearchState>;
119
146
  constructor();
120
- ngOnDestroy(): void;
121
147
  goToPage(page: number): void;
122
148
  nextPage(): void;
123
149
  prevPage(): void;
@@ -129,14 +155,23 @@ export declare class SdPreviewPdf implements OnDestroy {
129
155
  rotate(direction: 'left' | 'right'): void;
130
156
  toggleSidebar(): void;
131
157
  setSidebarMode(mode: PdfSidebarMode): void;
158
+ onSidebarTabKeyDown(event: KeyboardEvent, currentMode: PdfSidebarTabMode): void;
159
+ onThumbnailSidebarScroll(event: Event): void;
132
160
  setScrollMode(mode: PdfScrollMode): void;
133
161
  downloadFile(): void;
162
+ downloadFileAsync(): Promise<boolean>;
134
163
  toggleFullscreen(): void;
135
164
  /** Programmatic equivalent of clicking the X — emits the close output. */
136
165
  requestClose(): void;
137
166
  /** Retry the active load attempt (called from the error state retry button). */
138
167
  retryLoad(): void;
139
168
  printFile(): void;
169
+ print(): Promise<void>;
170
+ isOutlineExpanded(id: string): boolean;
171
+ toggleOutlineItem(id: string, event?: Event): void;
172
+ focusOutlineItem(id: string): void;
173
+ activateOutlineItem(id: string): void;
174
+ onOutlineKeyDown(event: KeyboardEvent, id: string): void;
140
175
  /**
141
176
  * Run a full-document search for `term`. Returns the result count.
142
177
  *
@@ -159,6 +194,7 @@ export declare class SdPreviewPdf implements OnDestroy {
159
194
  }): Promise<number>;
160
195
  searchNext(): void;
161
196
  searchPrev(): void;
197
+ activateSearchResult(index: number): void;
162
198
  clearSearch(): void;
163
199
  /** Open the search bar and focus its input. Idempotent. */
164
200
  openSearch(): void;
@@ -167,15 +203,17 @@ export declare class SdPreviewPdf implements OnDestroy {
167
203
  toggleSearchCaseSensitive(): void;
168
204
  toggleSearchWholeWord(): void;
169
205
  /** Live binding from the search bar's `(input)` event. */
170
- onSearchInput(value: string): void;
206
+ onSearchInput(event: Event): void;
171
207
  onKeyDown(event: KeyboardEvent): void;
172
208
  onPageInputEnter(event: Event): void;
173
209
  onPageInputBlur(event: Event): void;
174
210
  onWheel(event: WheelEvent): void;
175
211
  trackByPage(_i: number, page: number): number;
212
+ onStageScroll(): void;
176
213
  /**
177
214
  * Render a single page into a sidebar thumbnail canvas at ~140px width.
178
- * Cached via `#thumbsRendering` so rapid scroll bounces don't double-render.
215
+ * Reserved in `#thumbnailWork` before getPage() so rapid scroll bounces
216
+ * cannot start duplicate work for the same mounted page.
179
217
  *
180
218
  * Visible for testing — tests can stub `getPage()` on the fake doc to
181
219
  * assert this method calls `render(...)` with the right page argument.
@@ -0,0 +1,77 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export interface SdPdfRenderTask {
3
+ readonly promise: Promise<void>;
4
+ cancel(): void;
5
+ }
6
+ export interface SdPdfViewport {
7
+ readonly width: number;
8
+ readonly height: number;
9
+ }
10
+ export interface SdPdfTextItem {
11
+ readonly str: string;
12
+ }
13
+ export interface SdPdfTextContent {
14
+ readonly items: readonly unknown[];
15
+ }
16
+ export interface SdPdfPageProxy {
17
+ getViewport(parameters: {
18
+ scale: number;
19
+ rotation?: number;
20
+ }): SdPdfViewport;
21
+ render(parameters: {
22
+ canvasContext: CanvasRenderingContext2D;
23
+ viewport: SdPdfViewport;
24
+ }): SdPdfRenderTask;
25
+ getTextContent(): Promise<SdPdfTextContent | unknown>;
26
+ cleanup(): void;
27
+ }
28
+ export interface SdPdfReference {
29
+ readonly num: number;
30
+ readonly gen: number;
31
+ }
32
+ export type SdPdfDestination = string | readonly unknown[] | null;
33
+ export interface SdPdfRawOutlineItem {
34
+ readonly title?: string;
35
+ readonly dest?: SdPdfDestination;
36
+ readonly url?: string | null;
37
+ readonly items?: readonly SdPdfRawOutlineItem[];
38
+ }
39
+ export interface SdPdfDocumentProxy {
40
+ readonly numPages: number;
41
+ getPage(pageNumber: number): Promise<SdPdfPageProxy>;
42
+ getMetadata(): Promise<{
43
+ readonly info?: {
44
+ readonly Title?: string;
45
+ readonly Author?: string;
46
+ readonly Subject?: string;
47
+ };
48
+ }>;
49
+ getOutline(): Promise<readonly SdPdfRawOutlineItem[] | null>;
50
+ getDestination(name: string): Promise<readonly unknown[] | null>;
51
+ getPageIndex(reference: SdPdfReference): Promise<number>;
52
+ cachedPageNumber(reference: SdPdfReference): number | null;
53
+ getData(): Promise<Uint8Array>;
54
+ destroy(): Promise<void>;
55
+ }
56
+ export interface SdPdfLoadingTask {
57
+ readonly promise: Promise<SdPdfDocumentProxy>;
58
+ onProgress?: (progress: {
59
+ loaded: number;
60
+ total: number;
61
+ }) => void;
62
+ destroy?(): Promise<void> | void;
63
+ }
64
+ export interface SdPdfDocumentSpec {
65
+ url?: string;
66
+ data?: Uint8Array;
67
+ httpHeaders?: Record<string, string>;
68
+ withCredentials?: boolean;
69
+ password?: string;
70
+ }
71
+ export interface SdPdfJsLib {
72
+ getDocument(spec: SdPdfDocumentSpec): SdPdfLoadingTask;
73
+ readonly GlobalWorkerOptions: {
74
+ workerSrc: string;
75
+ };
76
+ }
77
+ export declare const SD_PDFJS_LIB: InjectionToken<SdPdfJsLib>;
@@ -0,0 +1,10 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export interface SdPdfPrintJob {
3
+ readonly finished: Promise<void>;
4
+ cancel(): void;
5
+ }
6
+ export interface SdPdfPrintAdapter {
7
+ readonly isSupported: boolean;
8
+ start(data: Uint8Array, filename: string): SdPdfPrintJob | null;
9
+ }
10
+ export declare const SD_PDF_PRINT_ADAPTER: InjectionToken<SdPdfPrintAdapter>;