@lifecorner/angular-ui-kit 3.4.0 → 3.5.0

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 (340) hide show
  1. package/README.md +12 -2
  2. package/fesm2022/lifecorner-angular-ui-kit-accordion.mjs +454 -0
  3. package/fesm2022/lifecorner-angular-ui-kit-accordion.mjs.map +1 -0
  4. package/fesm2022/lifecorner-angular-ui-kit-alert.mjs +297 -0
  5. package/fesm2022/lifecorner-angular-ui-kit-alert.mjs.map +1 -0
  6. package/fesm2022/lifecorner-angular-ui-kit-app-shell.mjs +190 -0
  7. package/fesm2022/lifecorner-angular-ui-kit-app-shell.mjs.map +1 -0
  8. package/fesm2022/lifecorner-angular-ui-kit-area-chart.mjs +446 -0
  9. package/fesm2022/lifecorner-angular-ui-kit-area-chart.mjs.map +1 -0
  10. package/fesm2022/lifecorner-angular-ui-kit-avatar-group.mjs +158 -0
  11. package/fesm2022/lifecorner-angular-ui-kit-avatar-group.mjs.map +1 -0
  12. package/fesm2022/lifecorner-angular-ui-kit-avatar.mjs +216 -0
  13. package/fesm2022/lifecorner-angular-ui-kit-avatar.mjs.map +1 -0
  14. package/fesm2022/lifecorner-angular-ui-kit-badge.mjs +121 -0
  15. package/fesm2022/lifecorner-angular-ui-kit-badge.mjs.map +1 -0
  16. package/fesm2022/lifecorner-angular-ui-kit-bar-chart.mjs +360 -0
  17. package/fesm2022/lifecorner-angular-ui-kit-bar-chart.mjs.map +1 -0
  18. package/fesm2022/lifecorner-angular-ui-kit-bottom-nav.mjs +344 -0
  19. package/fesm2022/lifecorner-angular-ui-kit-bottom-nav.mjs.map +1 -0
  20. package/fesm2022/lifecorner-angular-ui-kit-breadcrumbs.mjs +191 -0
  21. package/fesm2022/lifecorner-angular-ui-kit-breadcrumbs.mjs.map +1 -0
  22. package/fesm2022/lifecorner-angular-ui-kit-button.mjs +423 -0
  23. package/fesm2022/lifecorner-angular-ui-kit-button.mjs.map +1 -0
  24. package/fesm2022/lifecorner-angular-ui-kit-calendar.mjs +368 -0
  25. package/fesm2022/lifecorner-angular-ui-kit-calendar.mjs.map +1 -0
  26. package/fesm2022/lifecorner-angular-ui-kit-callout.mjs +203 -0
  27. package/fesm2022/lifecorner-angular-ui-kit-callout.mjs.map +1 -0
  28. package/fesm2022/lifecorner-angular-ui-kit-card.mjs +323 -0
  29. package/fesm2022/lifecorner-angular-ui-kit-card.mjs.map +1 -0
  30. package/fesm2022/lifecorner-angular-ui-kit-chat.mjs +790 -0
  31. package/fesm2022/lifecorner-angular-ui-kit-chat.mjs.map +1 -0
  32. package/fesm2022/lifecorner-angular-ui-kit-checkbox.mjs +325 -0
  33. package/fesm2022/lifecorner-angular-ui-kit-checkbox.mjs.map +1 -0
  34. package/fesm2022/lifecorner-angular-ui-kit-chip.mjs +214 -0
  35. package/fesm2022/lifecorner-angular-ui-kit-chip.mjs.map +1 -0
  36. package/fesm2022/lifecorner-angular-ui-kit-choice-prompt.mjs +375 -0
  37. package/fesm2022/lifecorner-angular-ui-kit-choice-prompt.mjs.map +1 -0
  38. package/fesm2022/lifecorner-angular-ui-kit-code-block.mjs +518 -0
  39. package/fesm2022/lifecorner-angular-ui-kit-code-block.mjs.map +1 -0
  40. package/fesm2022/lifecorner-angular-ui-kit-color-picker.mjs +278 -0
  41. package/fesm2022/lifecorner-angular-ui-kit-color-picker.mjs.map +1 -0
  42. package/fesm2022/lifecorner-angular-ui-kit-combobox.mjs +688 -0
  43. package/fesm2022/lifecorner-angular-ui-kit-combobox.mjs.map +1 -0
  44. package/fesm2022/lifecorner-angular-ui-kit-confirm-dialog.mjs +494 -0
  45. package/fesm2022/lifecorner-angular-ui-kit-confirm-dialog.mjs.map +1 -0
  46. package/fesm2022/lifecorner-angular-ui-kit-container.mjs +103 -0
  47. package/fesm2022/lifecorner-angular-ui-kit-container.mjs.map +1 -0
  48. package/fesm2022/lifecorner-angular-ui-kit-copy-field.mjs +308 -0
  49. package/fesm2022/lifecorner-angular-ui-kit-copy-field.mjs.map +1 -0
  50. package/fesm2022/lifecorner-angular-ui-kit-date-range-picker.mjs +466 -0
  51. package/fesm2022/lifecorner-angular-ui-kit-date-range-picker.mjs.map +1 -0
  52. package/fesm2022/lifecorner-angular-ui-kit-datepicker.mjs +810 -0
  53. package/fesm2022/lifecorner-angular-ui-kit-datepicker.mjs.map +1 -0
  54. package/fesm2022/lifecorner-angular-ui-kit-dependency-viewer.mjs +1761 -0
  55. package/fesm2022/lifecorner-angular-ui-kit-dependency-viewer.mjs.map +1 -0
  56. package/fesm2022/lifecorner-angular-ui-kit-description-list.mjs +165 -0
  57. package/fesm2022/lifecorner-angular-ui-kit-description-list.mjs.map +1 -0
  58. package/fesm2022/lifecorner-angular-ui-kit-diff-viewer.mjs +356 -0
  59. package/fesm2022/lifecorner-angular-ui-kit-diff-viewer.mjs.map +1 -0
  60. package/fesm2022/lifecorner-angular-ui-kit-divider.mjs +119 -0
  61. package/fesm2022/lifecorner-angular-ui-kit-divider.mjs.map +1 -0
  62. package/fesm2022/lifecorner-angular-ui-kit-document-viewer.mjs +762 -0
  63. package/fesm2022/lifecorner-angular-ui-kit-document-viewer.mjs.map +1 -0
  64. package/fesm2022/lifecorner-angular-ui-kit-donut-chart.mjs +255 -0
  65. package/fesm2022/lifecorner-angular-ui-kit-donut-chart.mjs.map +1 -0
  66. package/fesm2022/lifecorner-angular-ui-kit-drawer.mjs +308 -0
  67. package/fesm2022/lifecorner-angular-ui-kit-drawer.mjs.map +1 -0
  68. package/fesm2022/lifecorner-angular-ui-kit-email-input.mjs +519 -0
  69. package/fesm2022/lifecorner-angular-ui-kit-email-input.mjs.map +1 -0
  70. package/fesm2022/lifecorner-angular-ui-kit-empty-state.mjs +143 -0
  71. package/fesm2022/lifecorner-angular-ui-kit-empty-state.mjs.map +1 -0
  72. package/fesm2022/lifecorner-angular-ui-kit-error-display.mjs +306 -0
  73. package/fesm2022/lifecorner-angular-ui-kit-error-display.mjs.map +1 -0
  74. package/fesm2022/lifecorner-angular-ui-kit-field-group.mjs +154 -0
  75. package/fesm2022/lifecorner-angular-ui-kit-field-group.mjs.map +1 -0
  76. package/fesm2022/lifecorner-angular-ui-kit-file-upload.mjs +281 -0
  77. package/fesm2022/lifecorner-angular-ui-kit-file-upload.mjs.map +1 -0
  78. package/fesm2022/lifecorner-angular-ui-kit-filter-bar.mjs +258 -0
  79. package/fesm2022/lifecorner-angular-ui-kit-filter-bar.mjs.map +1 -0
  80. package/fesm2022/lifecorner-angular-ui-kit-footer.mjs +200 -0
  81. package/fesm2022/lifecorner-angular-ui-kit-footer.mjs.map +1 -0
  82. package/fesm2022/lifecorner-angular-ui-kit-funnel-chart.mjs +292 -0
  83. package/fesm2022/lifecorner-angular-ui-kit-funnel-chart.mjs.map +1 -0
  84. package/fesm2022/lifecorner-angular-ui-kit-gallery.mjs +563 -0
  85. package/fesm2022/lifecorner-angular-ui-kit-gallery.mjs.map +1 -0
  86. package/fesm2022/lifecorner-angular-ui-kit-gantt-chart.mjs +314 -0
  87. package/fesm2022/lifecorner-angular-ui-kit-gantt-chart.mjs.map +1 -0
  88. package/fesm2022/lifecorner-angular-ui-kit-gauge.mjs +265 -0
  89. package/fesm2022/lifecorner-angular-ui-kit-gauge.mjs.map +1 -0
  90. package/fesm2022/lifecorner-angular-ui-kit-header.mjs +955 -0
  91. package/fesm2022/lifecorner-angular-ui-kit-header.mjs.map +1 -0
  92. package/fesm2022/lifecorner-angular-ui-kit-heatmap.mjs +305 -0
  93. package/fesm2022/lifecorner-angular-ui-kit-heatmap.mjs.map +1 -0
  94. package/fesm2022/lifecorner-angular-ui-kit-hero.mjs +168 -0
  95. package/fesm2022/lifecorner-angular-ui-kit-hero.mjs.map +1 -0
  96. package/fesm2022/lifecorner-angular-ui-kit-icon-names.mjs +9 -0
  97. package/fesm2022/lifecorner-angular-ui-kit-icon-names.mjs.map +1 -0
  98. package/fesm2022/lifecorner-angular-ui-kit-icon.mjs +1026 -0
  99. package/fesm2022/lifecorner-angular-ui-kit-icon.mjs.map +1 -0
  100. package/fesm2022/lifecorner-angular-ui-kit-input.mjs +595 -0
  101. package/fesm2022/lifecorner-angular-ui-kit-input.mjs.map +1 -0
  102. package/fesm2022/lifecorner-angular-ui-kit-internal-chart.mjs +105 -0
  103. package/fesm2022/lifecorner-angular-ui-kit-internal-chart.mjs.map +1 -0
  104. package/fesm2022/lifecorner-angular-ui-kit-internal-overlay.mjs +50 -0
  105. package/fesm2022/lifecorner-angular-ui-kit-internal-overlay.mjs.map +1 -0
  106. package/fesm2022/lifecorner-angular-ui-kit-internal-url.mjs +22 -0
  107. package/fesm2022/lifecorner-angular-ui-kit-internal-url.mjs.map +1 -0
  108. package/fesm2022/lifecorner-angular-ui-kit-kanban-board.mjs +319 -0
  109. package/fesm2022/lifecorner-angular-ui-kit-kanban-board.mjs.map +1 -0
  110. package/fesm2022/lifecorner-angular-ui-kit-line-chart.mjs +413 -0
  111. package/fesm2022/lifecorner-angular-ui-kit-line-chart.mjs.map +1 -0
  112. package/fesm2022/lifecorner-angular-ui-kit-list.mjs +338 -0
  113. package/fesm2022/lifecorner-angular-ui-kit-list.mjs.map +1 -0
  114. package/fesm2022/lifecorner-angular-ui-kit-log-viewer.mjs +813 -0
  115. package/fesm2022/lifecorner-angular-ui-kit-log-viewer.mjs.map +1 -0
  116. package/fesm2022/lifecorner-angular-ui-kit-logo.mjs +226 -0
  117. package/fesm2022/lifecorner-angular-ui-kit-logo.mjs.map +1 -0
  118. package/fesm2022/lifecorner-angular-ui-kit-markdown.mjs +756 -0
  119. package/fesm2022/lifecorner-angular-ui-kit-markdown.mjs.map +1 -0
  120. package/fesm2022/lifecorner-angular-ui-kit-menu.mjs +321 -0
  121. package/fesm2022/lifecorner-angular-ui-kit-menu.mjs.map +1 -0
  122. package/fesm2022/lifecorner-angular-ui-kit-modal.mjs +329 -0
  123. package/fesm2022/lifecorner-angular-ui-kit-modal.mjs.map +1 -0
  124. package/fesm2022/lifecorner-angular-ui-kit-models.mjs +0 -0
  125. package/fesm2022/lifecorner-angular-ui-kit-next-step-card.mjs +419 -0
  126. package/fesm2022/lifecorner-angular-ui-kit-next-step-card.mjs.map +1 -0
  127. package/fesm2022/lifecorner-angular-ui-kit-notification-center.mjs +644 -0
  128. package/fesm2022/lifecorner-angular-ui-kit-notification-center.mjs.map +1 -0
  129. package/fesm2022/lifecorner-angular-ui-kit-number-input.mjs +401 -0
  130. package/fesm2022/lifecorner-angular-ui-kit-number-input.mjs.map +1 -0
  131. package/fesm2022/lifecorner-angular-ui-kit-page-header.mjs +266 -0
  132. package/fesm2022/lifecorner-angular-ui-kit-page-header.mjs.map +1 -0
  133. package/fesm2022/lifecorner-angular-ui-kit-page-layout.mjs +127 -0
  134. package/fesm2022/lifecorner-angular-ui-kit-page-layout.mjs.map +1 -0
  135. package/fesm2022/lifecorner-angular-ui-kit-pagination.mjs +343 -0
  136. package/fesm2022/lifecorner-angular-ui-kit-pagination.mjs.map +1 -0
  137. package/fesm2022/lifecorner-angular-ui-kit-password-input.mjs +696 -0
  138. package/fesm2022/lifecorner-angular-ui-kit-password-input.mjs.map +1 -0
  139. package/fesm2022/lifecorner-angular-ui-kit-pie-chart.mjs +162 -0
  140. package/fesm2022/lifecorner-angular-ui-kit-pie-chart.mjs.map +1 -0
  141. package/fesm2022/lifecorner-angular-ui-kit-pipeline.mjs +159 -0
  142. package/fesm2022/lifecorner-angular-ui-kit-pipeline.mjs.map +1 -0
  143. package/fesm2022/lifecorner-angular-ui-kit-popover.mjs +190 -0
  144. package/fesm2022/lifecorner-angular-ui-kit-popover.mjs.map +1 -0
  145. package/fesm2022/lifecorner-angular-ui-kit-progress-bar.mjs +190 -0
  146. package/fesm2022/lifecorner-angular-ui-kit-progress-bar.mjs.map +1 -0
  147. package/fesm2022/lifecorner-angular-ui-kit-progress-ring.mjs +175 -0
  148. package/fesm2022/lifecorner-angular-ui-kit-progress-ring.mjs.map +1 -0
  149. package/fesm2022/lifecorner-angular-ui-kit-provider-button.mjs +255 -0
  150. package/fesm2022/lifecorner-angular-ui-kit-provider-button.mjs.map +1 -0
  151. package/fesm2022/lifecorner-angular-ui-kit-radar-chart.mjs +309 -0
  152. package/fesm2022/lifecorner-angular-ui-kit-radar-chart.mjs.map +1 -0
  153. package/fesm2022/lifecorner-angular-ui-kit-radio.mjs +708 -0
  154. package/fesm2022/lifecorner-angular-ui-kit-radio.mjs.map +1 -0
  155. package/fesm2022/lifecorner-angular-ui-kit-rating.mjs +327 -0
  156. package/fesm2022/lifecorner-angular-ui-kit-rating.mjs.map +1 -0
  157. package/fesm2022/lifecorner-angular-ui-kit-rich-text-editor.mjs +718 -0
  158. package/fesm2022/lifecorner-angular-ui-kit-rich-text-editor.mjs.map +1 -0
  159. package/fesm2022/lifecorner-angular-ui-kit-scatter-plot.mjs +415 -0
  160. package/fesm2022/lifecorner-angular-ui-kit-scatter-plot.mjs.map +1 -0
  161. package/fesm2022/lifecorner-angular-ui-kit-search-input.mjs +290 -0
  162. package/fesm2022/lifecorner-angular-ui-kit-search-input.mjs.map +1 -0
  163. package/fesm2022/lifecorner-angular-ui-kit-section.mjs +127 -0
  164. package/fesm2022/lifecorner-angular-ui-kit-section.mjs.map +1 -0
  165. package/fesm2022/lifecorner-angular-ui-kit-select.mjs +650 -0
  166. package/fesm2022/lifecorner-angular-ui-kit-select.mjs.map +1 -0
  167. package/fesm2022/lifecorner-angular-ui-kit-sidenav.mjs +691 -0
  168. package/fesm2022/lifecorner-angular-ui-kit-sidenav.mjs.map +1 -0
  169. package/fesm2022/lifecorner-angular-ui-kit-skeleton.mjs +144 -0
  170. package/fesm2022/lifecorner-angular-ui-kit-skeleton.mjs.map +1 -0
  171. package/fesm2022/lifecorner-angular-ui-kit-slider.mjs +204 -0
  172. package/fesm2022/lifecorner-angular-ui-kit-slider.mjs.map +1 -0
  173. package/fesm2022/lifecorner-angular-ui-kit-spacer.mjs +73 -0
  174. package/fesm2022/lifecorner-angular-ui-kit-spacer.mjs.map +1 -0
  175. package/fesm2022/lifecorner-angular-ui-kit-sparkline.mjs +318 -0
  176. package/fesm2022/lifecorner-angular-ui-kit-sparkline.mjs.map +1 -0
  177. package/fesm2022/lifecorner-angular-ui-kit-spinner.mjs +95 -0
  178. package/fesm2022/lifecorner-angular-ui-kit-spinner.mjs.map +1 -0
  179. package/fesm2022/lifecorner-angular-ui-kit-split-pane.mjs +298 -0
  180. package/fesm2022/lifecorner-angular-ui-kit-split-pane.mjs.map +1 -0
  181. package/fesm2022/lifecorner-angular-ui-kit-stack.mjs +162 -0
  182. package/fesm2022/lifecorner-angular-ui-kit-stack.mjs.map +1 -0
  183. package/fesm2022/lifecorner-angular-ui-kit-stacked-bar-chart.mjs +412 -0
  184. package/fesm2022/lifecorner-angular-ui-kit-stacked-bar-chart.mjs.map +1 -0
  185. package/fesm2022/lifecorner-angular-ui-kit-stage-list.mjs +186 -0
  186. package/fesm2022/lifecorner-angular-ui-kit-stage-list.mjs.map +1 -0
  187. package/fesm2022/lifecorner-angular-ui-kit-stat-trend.mjs +224 -0
  188. package/fesm2022/lifecorner-angular-ui-kit-stat-trend.mjs.map +1 -0
  189. package/fesm2022/lifecorner-angular-ui-kit-status-dot.mjs +122 -0
  190. package/fesm2022/lifecorner-angular-ui-kit-status-dot.mjs.map +1 -0
  191. package/fesm2022/lifecorner-angular-ui-kit-stepper.mjs +209 -0
  192. package/fesm2022/lifecorner-angular-ui-kit-stepper.mjs.map +1 -0
  193. package/fesm2022/lifecorner-angular-ui-kit-switch.mjs +249 -0
  194. package/fesm2022/lifecorner-angular-ui-kit-switch.mjs.map +1 -0
  195. package/fesm2022/lifecorner-angular-ui-kit-table.mjs +1434 -0
  196. package/fesm2022/lifecorner-angular-ui-kit-table.mjs.map +1 -0
  197. package/fesm2022/lifecorner-angular-ui-kit-tabs.mjs +407 -0
  198. package/fesm2022/lifecorner-angular-ui-kit-tabs.mjs.map +1 -0
  199. package/fesm2022/lifecorner-angular-ui-kit-tag-input.mjs +380 -0
  200. package/fesm2022/lifecorner-angular-ui-kit-tag-input.mjs.map +1 -0
  201. package/fesm2022/lifecorner-angular-ui-kit-textarea.mjs +440 -0
  202. package/fesm2022/lifecorner-angular-ui-kit-textarea.mjs.map +1 -0
  203. package/fesm2022/lifecorner-angular-ui-kit-theme.mjs +145 -0
  204. package/fesm2022/lifecorner-angular-ui-kit-theme.mjs.map +1 -0
  205. package/fesm2022/lifecorner-angular-ui-kit-timeline.mjs +262 -0
  206. package/fesm2022/lifecorner-angular-ui-kit-timeline.mjs.map +1 -0
  207. package/fesm2022/lifecorner-angular-ui-kit-toast.mjs +352 -0
  208. package/fesm2022/lifecorner-angular-ui-kit-toast.mjs.map +1 -0
  209. package/fesm2022/lifecorner-angular-ui-kit-toggle-group.mjs +215 -0
  210. package/fesm2022/lifecorner-angular-ui-kit-toggle-group.mjs.map +1 -0
  211. package/fesm2022/lifecorner-angular-ui-kit-tokens.mjs +134 -0
  212. package/fesm2022/lifecorner-angular-ui-kit-tokens.mjs.map +1 -0
  213. package/fesm2022/lifecorner-angular-ui-kit-toolbar.mjs +225 -0
  214. package/fesm2022/lifecorner-angular-ui-kit-toolbar.mjs.map +1 -0
  215. package/fesm2022/lifecorner-angular-ui-kit-tooltip.mjs +386 -0
  216. package/fesm2022/lifecorner-angular-ui-kit-tooltip.mjs.map +1 -0
  217. package/fesm2022/lifecorner-angular-ui-kit-tree-view.mjs +509 -0
  218. package/fesm2022/lifecorner-angular-ui-kit-tree-view.mjs.map +1 -0
  219. package/fesm2022/lifecorner-angular-ui-kit-typography.mjs +209 -0
  220. package/fesm2022/lifecorner-angular-ui-kit-typography.mjs.map +1 -0
  221. package/fesm2022/lifecorner-angular-ui-kit-verification-code-input.mjs +365 -0
  222. package/fesm2022/lifecorner-angular-ui-kit-verification-code-input.mjs.map +1 -0
  223. package/fesm2022/lifecorner-angular-ui-kit-waterfall-chart.mjs +371 -0
  224. package/fesm2022/lifecorner-angular-ui-kit-waterfall-chart.mjs.map +1 -0
  225. package/fesm2022/lifecorner-angular-ui-kit.mjs +109 -38925
  226. package/package.json +449 -1
  227. package/types/lifecorner-angular-ui-kit-accordion.d.ts +239 -0
  228. package/types/lifecorner-angular-ui-kit-alert.d.ts +189 -0
  229. package/types/lifecorner-angular-ui-kit-app-shell.d.ts +148 -0
  230. package/types/lifecorner-angular-ui-kit-area-chart.d.ts +180 -0
  231. package/types/lifecorner-angular-ui-kit-avatar-group.d.ts +62 -0
  232. package/types/lifecorner-angular-ui-kit-avatar.d.ts +131 -0
  233. package/types/lifecorner-angular-ui-kit-badge.d.ts +59 -0
  234. package/types/lifecorner-angular-ui-kit-bar-chart.d.ts +157 -0
  235. package/types/lifecorner-angular-ui-kit-bottom-nav.d.ts +184 -0
  236. package/types/lifecorner-angular-ui-kit-breadcrumbs.d.ts +55 -0
  237. package/types/lifecorner-angular-ui-kit-button.d.ts +181 -0
  238. package/types/lifecorner-angular-ui-kit-calendar.d.ts +136 -0
  239. package/types/lifecorner-angular-ui-kit-callout.d.ts +77 -0
  240. package/types/lifecorner-angular-ui-kit-card.d.ts +213 -0
  241. package/types/lifecorner-angular-ui-kit-chat.d.ts +379 -0
  242. package/types/lifecorner-angular-ui-kit-checkbox.d.ts +116 -0
  243. package/types/lifecorner-angular-ui-kit-chip.d.ts +104 -0
  244. package/types/lifecorner-angular-ui-kit-choice-prompt.d.ts +186 -0
  245. package/types/lifecorner-angular-ui-kit-code-block.d.ts +85 -0
  246. package/types/lifecorner-angular-ui-kit-color-picker.d.ts +88 -0
  247. package/types/lifecorner-angular-ui-kit-combobox.d.ts +222 -0
  248. package/types/lifecorner-angular-ui-kit-confirm-dialog.d.ts +211 -0
  249. package/types/lifecorner-angular-ui-kit-container.d.ts +47 -0
  250. package/types/lifecorner-angular-ui-kit-copy-field.d.ts +89 -0
  251. package/types/lifecorner-angular-ui-kit-date-range-picker.d.ts +126 -0
  252. package/types/lifecorner-angular-ui-kit-datepicker.d.ts +363 -0
  253. package/types/lifecorner-angular-ui-kit-dependency-viewer.d.ts +568 -0
  254. package/types/lifecorner-angular-ui-kit-description-list.d.ts +137 -0
  255. package/types/lifecorner-angular-ui-kit-diff-viewer.d.ts +93 -0
  256. package/types/lifecorner-angular-ui-kit-divider.d.ts +66 -0
  257. package/types/lifecorner-angular-ui-kit-document-viewer.d.ts +256 -0
  258. package/types/lifecorner-angular-ui-kit-donut-chart.d.ts +92 -0
  259. package/types/lifecorner-angular-ui-kit-drawer.d.ts +124 -0
  260. package/types/lifecorner-angular-ui-kit-email-input.d.ts +292 -0
  261. package/types/lifecorner-angular-ui-kit-empty-state.d.ts +81 -0
  262. package/types/lifecorner-angular-ui-kit-error-display.d.ts +157 -0
  263. package/types/lifecorner-angular-ui-kit-field-group.d.ts +69 -0
  264. package/types/lifecorner-angular-ui-kit-file-upload.d.ts +122 -0
  265. package/types/lifecorner-angular-ui-kit-filter-bar.d.ts +116 -0
  266. package/types/lifecorner-angular-ui-kit-footer.d.ts +97 -0
  267. package/types/lifecorner-angular-ui-kit-funnel-chart.d.ts +97 -0
  268. package/types/lifecorner-angular-ui-kit-gallery.d.ts +240 -0
  269. package/types/lifecorner-angular-ui-kit-gantt-chart.d.ts +133 -0
  270. package/types/lifecorner-angular-ui-kit-gauge.d.ts +94 -0
  271. package/types/lifecorner-angular-ui-kit-header.d.ts +496 -0
  272. package/types/lifecorner-angular-ui-kit-heatmap.d.ts +126 -0
  273. package/types/lifecorner-angular-ui-kit-hero.d.ts +121 -0
  274. package/types/lifecorner-angular-ui-kit-icon-names.d.ts +21 -0
  275. package/types/lifecorner-angular-ui-kit-icon.d.ts +260 -0
  276. package/types/lifecorner-angular-ui-kit-input.d.ts +346 -0
  277. package/types/lifecorner-angular-ui-kit-internal-chart.d.ts +86 -0
  278. package/types/lifecorner-angular-ui-kit-internal-overlay.d.ts +31 -0
  279. package/types/lifecorner-angular-ui-kit-internal-url.d.ts +22 -0
  280. package/types/lifecorner-angular-ui-kit-kanban-board.d.ts +111 -0
  281. package/types/lifecorner-angular-ui-kit-line-chart.d.ts +186 -0
  282. package/types/lifecorner-angular-ui-kit-list.d.ts +215 -0
  283. package/types/lifecorner-angular-ui-kit-log-viewer.d.ts +355 -0
  284. package/types/lifecorner-angular-ui-kit-logo.d.ts +182 -0
  285. package/types/lifecorner-angular-ui-kit-markdown.d.ts +278 -0
  286. package/types/lifecorner-angular-ui-kit-menu.d.ts +152 -0
  287. package/types/lifecorner-angular-ui-kit-modal.d.ts +207 -0
  288. package/types/lifecorner-angular-ui-kit-models.d.ts +62 -0
  289. package/types/lifecorner-angular-ui-kit-next-step-card.d.ts +262 -0
  290. package/types/lifecorner-angular-ui-kit-notification-center.d.ts +237 -0
  291. package/types/lifecorner-angular-ui-kit-number-input.d.ts +126 -0
  292. package/types/lifecorner-angular-ui-kit-page-header.d.ts +178 -0
  293. package/types/lifecorner-angular-ui-kit-page-layout.d.ts +61 -0
  294. package/types/lifecorner-angular-ui-kit-pagination.d.ts +141 -0
  295. package/types/lifecorner-angular-ui-kit-password-input.d.ts +361 -0
  296. package/types/lifecorner-angular-ui-kit-pie-chart.d.ts +58 -0
  297. package/types/lifecorner-angular-ui-kit-pipeline.d.ts +89 -0
  298. package/types/lifecorner-angular-ui-kit-popover.d.ts +104 -0
  299. package/types/lifecorner-angular-ui-kit-progress-bar.d.ts +116 -0
  300. package/types/lifecorner-angular-ui-kit-progress-ring.d.ts +67 -0
  301. package/types/lifecorner-angular-ui-kit-provider-button.d.ts +137 -0
  302. package/types/lifecorner-angular-ui-kit-radar-chart.d.ts +113 -0
  303. package/types/lifecorner-angular-ui-kit-radio.d.ts +297 -0
  304. package/types/lifecorner-angular-ui-kit-rating.d.ts +115 -0
  305. package/types/lifecorner-angular-ui-kit-rich-text-editor.d.ts +226 -0
  306. package/types/lifecorner-angular-ui-kit-scatter-plot.d.ts +190 -0
  307. package/types/lifecorner-angular-ui-kit-search-input.d.ts +137 -0
  308. package/types/lifecorner-angular-ui-kit-section.d.ts +34 -0
  309. package/types/lifecorner-angular-ui-kit-select.d.ts +274 -0
  310. package/types/lifecorner-angular-ui-kit-sidenav.d.ts +367 -0
  311. package/types/lifecorner-angular-ui-kit-skeleton.d.ts +61 -0
  312. package/types/lifecorner-angular-ui-kit-slider.d.ts +79 -0
  313. package/types/lifecorner-angular-ui-kit-spacer.d.ts +27 -0
  314. package/types/lifecorner-angular-ui-kit-sparkline.d.ts +113 -0
  315. package/types/lifecorner-angular-ui-kit-spinner.d.ts +50 -0
  316. package/types/lifecorner-angular-ui-kit-split-pane.d.ts +131 -0
  317. package/types/lifecorner-angular-ui-kit-stack.d.ts +49 -0
  318. package/types/lifecorner-angular-ui-kit-stacked-bar-chart.d.ts +171 -0
  319. package/types/lifecorner-angular-ui-kit-stage-list.d.ts +69 -0
  320. package/types/lifecorner-angular-ui-kit-stat-trend.d.ts +62 -0
  321. package/types/lifecorner-angular-ui-kit-status-dot.d.ts +62 -0
  322. package/types/lifecorner-angular-ui-kit-stepper.d.ts +113 -0
  323. package/types/lifecorner-angular-ui-kit-switch.d.ts +141 -0
  324. package/types/lifecorner-angular-ui-kit-table.d.ts +632 -0
  325. package/types/lifecorner-angular-ui-kit-tabs.d.ts +196 -0
  326. package/types/lifecorner-angular-ui-kit-tag-input.d.ts +123 -0
  327. package/types/lifecorner-angular-ui-kit-textarea.d.ts +225 -0
  328. package/types/lifecorner-angular-ui-kit-theme.d.ts +91 -0
  329. package/types/lifecorner-angular-ui-kit-timeline.d.ts +162 -0
  330. package/types/lifecorner-angular-ui-kit-toast.d.ts +204 -0
  331. package/types/lifecorner-angular-ui-kit-toggle-group.d.ts +100 -0
  332. package/types/lifecorner-angular-ui-kit-tokens.d.ts +134 -0
  333. package/types/lifecorner-angular-ui-kit-toolbar.d.ts +120 -0
  334. package/types/lifecorner-angular-ui-kit-tooltip.d.ts +120 -0
  335. package/types/lifecorner-angular-ui-kit-tree-view.d.ts +231 -0
  336. package/types/lifecorner-angular-ui-kit-typography.d.ts +126 -0
  337. package/types/lifecorner-angular-ui-kit-verification-code-input.d.ts +187 -0
  338. package/types/lifecorner-angular-ui-kit-waterfall-chart.d.ts +163 -0
  339. package/types/lifecorner-angular-ui-kit.d.ts +109 -17401
  340. package/fesm2022/lifecorner-angular-ui-kit.mjs.map +0 -1
@@ -0,0 +1,297 @@
1
+ import * as i0 from "@angular/core";
2
+ import { InjectionToken, OnDestroy, OnInit, Signal } from "@angular/core";
3
+ import { ControlValueAccessor } from "@angular/forms";
4
+ export type RadioSize = 'xs' | 'sm' | 'md' | 'lg';
5
+ /**
6
+ * Tracks every live `lc-radio` so that checking one radio can uncheck the
7
+ * others of its group. The browser does this natively (same `name`, same form
8
+ * owner) without firing an event on the radios that lose the check, so their
9
+ * component state would otherwise go stale.
10
+ */
11
+ export declare class RadioGroupRegistry {
12
+ private readonly radios;
13
+ add(radio: RadioComponent): void;
14
+ remove(radio: RadioComponent): void;
15
+ /** Marks `source` as the checked radio of its group; siblings are unchecked. */
16
+ select(source: RadioComponent): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<RadioGroupRegistry, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
19
+ }
20
+ export declare class RadioComponent implements ControlValueAccessor, OnInit, OnDestroy {
21
+ readonly id: import("@angular/core").InputSignal<string>;
22
+ readonly label: import("@angular/core").InputSignal<string>;
23
+ readonly value: import("@angular/core").InputSignal<string>;
24
+ readonly name: import("@angular/core").InputSignal<string>;
25
+ readonly error: import("@angular/core").InputSignal<boolean>;
26
+ readonly errorMessage: import("@angular/core").InputSignal<string>;
27
+ readonly helpText: import("@angular/core").InputSignal<string>;
28
+ readonly size: import("@angular/core").InputSignal<RadioSize>;
29
+ readonly required: import("@angular/core").InputSignal<boolean>;
30
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
31
+ readonly ariaLabel: import("@angular/core").InputSignal<string>;
32
+ readonly ariaLabelledBy: import("@angular/core").InputSignal<string>;
33
+ readonly ariaDescribedBy: import("@angular/core").InputSignal<string>;
34
+ /**
35
+ * Checked state (two-way bindable). Emits `checkedChange` whenever it
36
+ * changes: on user selection, when a sibling of the same group is selected,
37
+ * and when a bound form control writes a value.
38
+ */
39
+ readonly checked: import("@angular/core").ModelSignal<boolean>;
40
+ readonly valueChange: import("@angular/core").OutputEmitterRef<string>;
41
+ /** Disabled state pushed by a form control (`setDisabledState`). */
42
+ private readonly formDisabled;
43
+ /** The `lc-radio-group` around this radio, if any. */
44
+ private readonly group;
45
+ /** Effective disabled state: `disabled` input OR form control OR group disabled. */
46
+ readonly isDisabled: import("@angular/core").Signal<boolean>;
47
+ /** The rendered `name`: the group's inside an `lc-radio-group`, else `name`. */
48
+ readonly effectiveName: import("@angular/core").Signal<string>;
49
+ /** `required` here or on the group. */
50
+ readonly isRequired: import("@angular/core").Signal<boolean>;
51
+ /** Error state here or on the group. */
52
+ readonly isInvalid: import("@angular/core").Signal<boolean>;
53
+ readonly labelClasses: import("@angular/core").Signal<string>;
54
+ /** id of the rendered help text (only while it is shown). */
55
+ readonly helpTextId: import("@angular/core").Signal<string | null>;
56
+ /** id of the rendered error message (only while it is shown). */
57
+ readonly errorMessageId: import("@angular/core").Signal<string | null>;
58
+ /** aria-describedby: consumer-supplied ids plus the rendered help/error text. */
59
+ readonly describedBy: import("@angular/core").Signal<string | null>;
60
+ private readonly cdr;
61
+ private readonly ngControl;
62
+ private readonly registry;
63
+ private readonly inputEl;
64
+ /**
65
+ * Last value written by a bound form control; `null` until a form has
66
+ * written once, so `[checked]` bindings on unbound radios are left alone.
67
+ */
68
+ private readonly formValue;
69
+ private valueChangeSub?;
70
+ private onChange;
71
+ private onTouched;
72
+ constructor();
73
+ ngOnInit(): void;
74
+ ngOnDestroy(): void;
75
+ /** Native form owner of the radio input; scopes the radio group like the browser does. */
76
+ formOwner(): HTMLFormElement | null;
77
+ writeValue(value: string | null): void;
78
+ registerOnChange(fn: (value: string) => void): void;
79
+ registerOnTouched(fn: () => void): void;
80
+ setDisabledState(isDisabled: boolean): void;
81
+ handleChange(event: Event): void;
82
+ handleBlur(): void;
83
+ static ɵfac: i0.ɵɵFactoryDeclaration<RadioComponent, never>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<RadioComponent, "lc-radio", never, {
85
+ "id": {
86
+ "alias": "id";
87
+ "required": false;
88
+ "isSignal": true;
89
+ };
90
+ "label": {
91
+ "alias": "label";
92
+ "required": false;
93
+ "isSignal": true;
94
+ };
95
+ "value": {
96
+ "alias": "value";
97
+ "required": false;
98
+ "isSignal": true;
99
+ };
100
+ "name": {
101
+ "alias": "name";
102
+ "required": false;
103
+ "isSignal": true;
104
+ };
105
+ "error": {
106
+ "alias": "error";
107
+ "required": false;
108
+ "isSignal": true;
109
+ };
110
+ "errorMessage": {
111
+ "alias": "errorMessage";
112
+ "required": false;
113
+ "isSignal": true;
114
+ };
115
+ "helpText": {
116
+ "alias": "helpText";
117
+ "required": false;
118
+ "isSignal": true;
119
+ };
120
+ "size": {
121
+ "alias": "size";
122
+ "required": false;
123
+ "isSignal": true;
124
+ };
125
+ "required": {
126
+ "alias": "required";
127
+ "required": false;
128
+ "isSignal": true;
129
+ };
130
+ "disabled": {
131
+ "alias": "disabled";
132
+ "required": false;
133
+ "isSignal": true;
134
+ };
135
+ "ariaLabel": {
136
+ "alias": "ariaLabel";
137
+ "required": false;
138
+ "isSignal": true;
139
+ };
140
+ "ariaLabelledBy": {
141
+ "alias": "ariaLabelledBy";
142
+ "required": false;
143
+ "isSignal": true;
144
+ };
145
+ "ariaDescribedBy": {
146
+ "alias": "ariaDescribedBy";
147
+ "required": false;
148
+ "isSignal": true;
149
+ };
150
+ "checked": {
151
+ "alias": "checked";
152
+ "required": false;
153
+ "isSignal": true;
154
+ };
155
+ }, {
156
+ "checked": "checkedChange";
157
+ "valueChange": "valueChange";
158
+ }, never, never, true, never>;
159
+ }
160
+ /**
161
+ * What an `lc-radio` inside an `lc-radio-group` reads from its group: the
162
+ * shared name, the selected value and the group's states. Provided by
163
+ * `RadioGroupComponent`; a radio without a group works on its own as before.
164
+ */
165
+ export interface RadioGroupContext {
166
+ /** The `name` every radio of the group renders. */
167
+ readonly groupName: Signal<string>;
168
+ /** The selected value; `''` = none. */
169
+ readonly selectedValue: Signal<string>;
170
+ readonly groupDisabled: Signal<boolean>;
171
+ readonly groupRequired: Signal<boolean>;
172
+ readonly groupInvalid: Signal<boolean>;
173
+ /** Called by a radio the person selects. */
174
+ select(value: string): void;
175
+ /** Called when a radio loses focus (marks a bound form control touched). */
176
+ touch(): void;
177
+ }
178
+ export declare const RADIO_GROUP: InjectionToken<RadioGroupContext>;
179
+ export type RadioGroupOrientation = 'vertical' | 'horizontal';
180
+ /**
181
+ * A group of `lc-radio`s: a native `<fieldset>` named by its `<legend>`, with
182
+ * group help text and one group error, both linked by `aria-describedby`. The
183
+ * group gives every radio inside the same `name`, `required`, `disabled` and
184
+ * invalid state, and holds the selected value (`[(value)]` or a form control on
185
+ * the group).
186
+ *
187
+ * @example
188
+ * ```html
189
+ * <lc-radio-group legend="Sprache" [legendHidden]="true" [(value)]="locale">
190
+ * <lc-radio value="device" label="Wie dieses Gerät" size="lg" />
191
+ * <lc-radio value="en" label="English" size="lg" lang="en" />
192
+ * <lc-radio value="de" label="Deutsch" size="lg" lang="de" />
193
+ * </lc-radio-group>
194
+ * ```
195
+ */
196
+ export declare class RadioGroupComponent implements RadioGroupContext, ControlValueAccessor {
197
+ /** The group's question, rendered as the `<legend>` (its accessible name). */
198
+ readonly legend: import("@angular/core").InputSignal<string>;
199
+ /** Hide the legend visually; screen readers still read it. */
200
+ readonly legendHidden: import("@angular/core").InputSignal<boolean>;
201
+ /** The `name` of every radio in the group. Unset = a generated one. */
202
+ readonly name: import("@angular/core").InputSignal<string>;
203
+ /** Help for the whole group, below the legend. */
204
+ readonly helpText: import("@angular/core").InputSignal<string>;
205
+ /** One error for the whole group, below the help text; marks every radio invalid. */
206
+ readonly error: import("@angular/core").InputSignal<string>;
207
+ /** Every radio is `required`. */
208
+ readonly required: import("@angular/core").InputSignal<boolean>;
209
+ /** Show `*` after the legend of a required group. */
210
+ readonly requiredIndicator: import("@angular/core").InputSignal<boolean>;
211
+ /** Accessible name of the `*` marker. */
212
+ readonly requiredAriaLabel: import("@angular/core").InputSignal<string>;
213
+ /** Disables every radio. */
214
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
215
+ /** `vertical` (default) or `horizontal` (wraps). */
216
+ readonly orientation: import("@angular/core").InputSignal<RadioGroupOrientation>;
217
+ /** The selected value (two-way bindable); `''` = none. */
218
+ readonly value: import("@angular/core").ModelSignal<string>;
219
+ readonly groupId: string;
220
+ readonly helpId: string;
221
+ readonly errorId: string;
222
+ private readonly formDisabled;
223
+ private onChange;
224
+ private onTouched;
225
+ readonly groupName: import("@angular/core").Signal<string>;
226
+ readonly selectedValue: import("@angular/core").Signal<string>;
227
+ readonly groupDisabled: import("@angular/core").Signal<boolean>;
228
+ readonly groupRequired: import("@angular/core").Signal<boolean>;
229
+ readonly groupInvalid: import("@angular/core").Signal<boolean>;
230
+ protected readonly describedBy: import("@angular/core").Signal<string | null>;
231
+ select(value: string): void;
232
+ touch(): void;
233
+ writeValue(value: string | null | undefined): void;
234
+ registerOnChange(fn: (value: string) => void): void;
235
+ registerOnTouched(fn: () => void): void;
236
+ setDisabledState(isDisabled: boolean): void;
237
+ static ɵfac: i0.ɵɵFactoryDeclaration<RadioGroupComponent, never>;
238
+ static ɵcmp: i0.ɵɵComponentDeclaration<RadioGroupComponent, "lc-radio-group", never, {
239
+ "legend": {
240
+ "alias": "legend";
241
+ "required": false;
242
+ "isSignal": true;
243
+ };
244
+ "legendHidden": {
245
+ "alias": "legendHidden";
246
+ "required": false;
247
+ "isSignal": true;
248
+ };
249
+ "name": {
250
+ "alias": "name";
251
+ "required": false;
252
+ "isSignal": true;
253
+ };
254
+ "helpText": {
255
+ "alias": "helpText";
256
+ "required": false;
257
+ "isSignal": true;
258
+ };
259
+ "error": {
260
+ "alias": "error";
261
+ "required": false;
262
+ "isSignal": true;
263
+ };
264
+ "required": {
265
+ "alias": "required";
266
+ "required": false;
267
+ "isSignal": true;
268
+ };
269
+ "requiredIndicator": {
270
+ "alias": "requiredIndicator";
271
+ "required": false;
272
+ "isSignal": true;
273
+ };
274
+ "requiredAriaLabel": {
275
+ "alias": "requiredAriaLabel";
276
+ "required": false;
277
+ "isSignal": true;
278
+ };
279
+ "disabled": {
280
+ "alias": "disabled";
281
+ "required": false;
282
+ "isSignal": true;
283
+ };
284
+ "orientation": {
285
+ "alias": "orientation";
286
+ "required": false;
287
+ "isSignal": true;
288
+ };
289
+ "value": {
290
+ "alias": "value";
291
+ "required": false;
292
+ "isSignal": true;
293
+ };
294
+ }, {
295
+ "value": "valueChange";
296
+ }, never, ["*"], true, never>;
297
+ }
@@ -0,0 +1,115 @@
1
+ import { ControlValueAccessor } from "@angular/forms";
2
+ import * as i0 from "@angular/core";
3
+ export type RatingSize = 'sm' | 'md' | 'lg';
4
+ export declare class RatingComponent implements ControlValueAccessor {
5
+ private static nextId;
6
+ /** Maximum number of stars */
7
+ max: import("@angular/core").InputSignal<number>;
8
+ /** Size variant */
9
+ size: import("@angular/core").InputSignal<RatingSize>;
10
+ /** Whether the rating is read-only */
11
+ readonly: import("@angular/core").InputSignal<boolean>;
12
+ /** Whether the rating is disabled */
13
+ disabled: import("@angular/core").InputSignal<boolean>;
14
+ /** Whether to allow half-star ratings */
15
+ allowHalf: import("@angular/core").InputSignal<boolean>;
16
+ /** Label text */
17
+ label: import("@angular/core").InputSignal<string | undefined>;
18
+ /** Whether to show the numeric value */
19
+ showValue: import("@angular/core").InputSignal<boolean>;
20
+ /** Accessible name of the star group when no visible `label` is set. */
21
+ ariaLabel: import("@angular/core").InputSignal<string>;
22
+ /** Emits the selected rating */
23
+ ratingChange: import("@angular/core").OutputEmitterRef<number>;
24
+ /** Per-instance id naming the radiogroup by the visible label. */
25
+ protected readonly labelId: string;
26
+ protected value: import("@angular/core").WritableSignal<number>;
27
+ protected hoveredValue: import("@angular/core").WritableSignal<number>;
28
+ /** Disabled through the form control (`setDisabledState`), as opposed to the input. */
29
+ private readonly formDisabled;
30
+ /** Disabled by either route — the one flag the template consults. */
31
+ protected readonly isDisabled: import("@angular/core").Signal<boolean>;
32
+ /** Whether clicks and keys change the value. Read-only stays focusable, it just does not react. */
33
+ protected readonly interactive: import("@angular/core").Signal<boolean>;
34
+ private readonly starButtons;
35
+ protected stars: import("@angular/core").Signal<number[]>;
36
+ /** Smallest change the value can make. */
37
+ private readonly stepSize;
38
+ /**
39
+ * The star that carries the group's single tab stop (roving tabindex): the
40
+ * one holding the current value, or the first when nothing is selected.
41
+ */
42
+ protected readonly focusableStar: import("@angular/core").Signal<number>;
43
+ protected ratingClasses: import("@angular/core").Signal<string>;
44
+ protected getStarState(star: number): 'full' | 'half' | 'empty';
45
+ protected isStarFilled(star: number): boolean;
46
+ protected isStarHalf(star: number): boolean;
47
+ /** `aria-checked` for the radio that represents the current value (2.5 lives on star 3). */
48
+ protected isStarChecked(star: number): boolean;
49
+ /** Radio label — names the half value on the star that holds it. */
50
+ protected starLabel(star: number): string;
51
+ /**
52
+ * The value a pointer at `clientX` over `star` stands for: the left half of
53
+ * a star (right half in RTL) is the half step when halves are allowed.
54
+ * Keyboard-triggered clicks carry no coordinates and mean the whole star.
55
+ */
56
+ private valueAt;
57
+ protected onStarClick(star: number, event: MouseEvent): void;
58
+ protected onStarHover(star: number, event: MouseEvent): void;
59
+ protected onMouseLeave(): void;
60
+ protected onKeydown(event: KeyboardEvent): void;
61
+ /** Marks the control touched once focus leaves the group (not when it moves between stars). */
62
+ protected onFocusOut(event: FocusEvent): void;
63
+ private select;
64
+ private onChange;
65
+ private onTouched;
66
+ writeValue(val: number): void;
67
+ registerOnChange(fn: (val: number) => void): void;
68
+ registerOnTouched(fn: () => void): void;
69
+ setDisabledState(isDisabled: boolean): void;
70
+ static ɵfac: i0.ɵɵFactoryDeclaration<RatingComponent, never>;
71
+ static ɵcmp: i0.ɵɵComponentDeclaration<RatingComponent, "lc-rating", never, {
72
+ "max": {
73
+ "alias": "max";
74
+ "required": false;
75
+ "isSignal": true;
76
+ };
77
+ "size": {
78
+ "alias": "size";
79
+ "required": false;
80
+ "isSignal": true;
81
+ };
82
+ "readonly": {
83
+ "alias": "readonly";
84
+ "required": false;
85
+ "isSignal": true;
86
+ };
87
+ "disabled": {
88
+ "alias": "disabled";
89
+ "required": false;
90
+ "isSignal": true;
91
+ };
92
+ "allowHalf": {
93
+ "alias": "allowHalf";
94
+ "required": false;
95
+ "isSignal": true;
96
+ };
97
+ "label": {
98
+ "alias": "label";
99
+ "required": false;
100
+ "isSignal": true;
101
+ };
102
+ "showValue": {
103
+ "alias": "showValue";
104
+ "required": false;
105
+ "isSignal": true;
106
+ };
107
+ "ariaLabel": {
108
+ "alias": "ariaLabel";
109
+ "required": false;
110
+ "isSignal": true;
111
+ };
112
+ }, {
113
+ "ratingChange": "ratingChange";
114
+ }, never, never, true, never>;
115
+ }
@@ -0,0 +1,226 @@
1
+ import { ControlValueAccessor } from "@angular/forms";
2
+ import * as i0 from "@angular/core";
3
+ export type RichTextEditorMode = 'rich' | 'markdown' | 'split';
4
+ export type ToolbarAction = 'bold' | 'italic' | 'underline' | 'strikethrough' | 'h1' | 'h2' | 'h3' | 'ul' | 'ol' | 'blockquote' | 'code' | 'codeblock' | 'link' | 'image' | 'hr';
5
+ export interface ToolbarConfig {
6
+ actions: ToolbarAction[];
7
+ }
8
+ /**
9
+ * Rich Text Editor with Markdown support.
10
+ *
11
+ * Supports three modes:
12
+ * - `rich`: WYSIWYG editing with toolbar
13
+ * - `markdown`: Raw markdown editing with syntax highlighting
14
+ * - `split`: Side-by-side markdown and preview
15
+ *
16
+ * Implements ControlValueAccessor for reactive form integration.
17
+ * The value is always stored as Markdown.
18
+ *
19
+ * The built-in markdown → HTML conversion escapes the source before it applies
20
+ * any markup and only lets http(s)/mailto/tel and relative URLs through as
21
+ * links, so markdown that arrives from a server or another user cannot inject
22
+ * markup or script. The result is additionally run through Angular's HTML
23
+ * sanitizer before it reaches the DOM.
24
+ *
25
+ * @example
26
+ * ```html
27
+ * <lc-rich-text-editor
28
+ * [(ngModel)]="content"
29
+ * mode="split"
30
+ * placeholder="Write something..." />
31
+ * ```
32
+ */
33
+ export declare class RichTextEditorComponent implements ControlValueAccessor {
34
+ /** Editor mode */
35
+ mode: import("@angular/core").InputSignal<RichTextEditorMode>;
36
+ /** Placeholder text */
37
+ placeholder: import("@angular/core").InputSignal<string>;
38
+ /** Minimum height in px */
39
+ minHeight: import("@angular/core").InputSignal<number>;
40
+ /** Maximum height in px (0 = unlimited) */
41
+ maxHeight: import("@angular/core").InputSignal<number>;
42
+ /** Whether the editor is disabled */
43
+ disabled: import("@angular/core").InputSignal<boolean>;
44
+ /** Whether the editor is readonly */
45
+ readonly: import("@angular/core").InputSignal<boolean>;
46
+ /** Toolbar configuration */
47
+ toolbar: import("@angular/core").InputSignal<ToolbarConfig>;
48
+ /** Whether to show word count */
49
+ showWordCount: import("@angular/core").InputSignal<boolean>;
50
+ /** Tooltips and accessible names of the toolbar actions, by action (`{ bold: 'Fett' }`); missing ones keep the English default. */
51
+ actionTitles: import("@angular/core").InputSignal<Partial<Record<ToolbarAction, string>>>;
52
+ /** Label of the rich-text mode button. */
53
+ richModeLabel: import("@angular/core").InputSignal<string>;
54
+ /** Tooltip of the rich-text mode button. */
55
+ richModeTitle: import("@angular/core").InputSignal<string>;
56
+ /** Label of the Markdown mode button. */
57
+ markdownModeLabel: import("@angular/core").InputSignal<string>;
58
+ /** Tooltip of the Markdown mode button. */
59
+ markdownModeTitle: import("@angular/core").InputSignal<string>;
60
+ /** Label of the split-view mode button. */
61
+ splitModeLabel: import("@angular/core").InputSignal<string>;
62
+ /** Tooltip of the split-view mode button. */
63
+ splitModeTitle: import("@angular/core").InputSignal<string>;
64
+ /** Accessible name of the Markdown text area. */
65
+ markdownEditorAriaLabel: import("@angular/core").InputSignal<string>;
66
+ /** Unit after the word count (`showWordCount`). */
67
+ wordsLabel: import("@angular/core").InputSignal<string>;
68
+ /** Unit after the character count (`showWordCount`). */
69
+ charactersLabel: import("@angular/core").InputSignal<string>;
70
+ /** Emitted on every content change */
71
+ readonly contentChange: import("@angular/core").OutputEmitterRef<string>;
72
+ private readonly editorArea;
73
+ private readonly richArea;
74
+ private readonly sanitizer;
75
+ /** Internal markdown value */
76
+ protected markdown: import("@angular/core").WritableSignal<string>;
77
+ /** Current active mode: follows the `mode` input until the user toggles it. */
78
+ protected activeMode: import("@angular/core").WritableSignal<RichTextEditorMode>;
79
+ /** Disabled through the form control (`setDisabledState`), as opposed to the input. */
80
+ private readonly formDisabled;
81
+ /** Disabled by either route — the one flag the template consults. */
82
+ protected readonly isDisabled: import("@angular/core").Signal<boolean>;
83
+ /** Whether the content can currently be edited at all. */
84
+ protected readonly editable: import("@angular/core").Signal<boolean>;
85
+ /** Word count */
86
+ protected wordCount: import("@angular/core").Signal<number>;
87
+ /** Character count */
88
+ protected charCount: import("@angular/core").Signal<number>;
89
+ /**
90
+ * Rendered HTML from markdown — escaped by the converter and, on top of that,
91
+ * passed through Angular's HTML sanitizer, so it is safe to assign to
92
+ * `innerHTML` directly.
93
+ */
94
+ protected renderedHtml: import("@angular/core").Signal<string>;
95
+ private onChange;
96
+ private onTouched;
97
+ constructor();
98
+ writeValue(value: string | null | undefined): void;
99
+ registerOnChange(fn: (value: string) => void): void;
100
+ registerOnTouched(fn: () => void): void;
101
+ setDisabledState(isDisabled: boolean): void;
102
+ protected switchMode(mode: RichTextEditorMode): void;
103
+ protected onToolbarAction(action: ToolbarAction): void;
104
+ private execRichCommand;
105
+ private insertMarkdownSyntax;
106
+ protected onMarkdownInput(event: Event): void;
107
+ protected onRichInput(): void;
108
+ protected onBlur(): void;
109
+ private syncFromRich;
110
+ /** Puts the current markdown into the rich area, as sanitised HTML. */
111
+ private renderRich;
112
+ /**
113
+ * Angular's HTML sanitizer, as the last line of defence behind the escaping
114
+ * `markdownToHtml` does itself: whatever it might miss, this strips.
115
+ */
116
+ private sanitizeHtml;
117
+ private emitChange;
118
+ private getSelection;
119
+ protected getActionLabel(action: ToolbarAction): string;
120
+ protected getActionTitle(action: ToolbarAction): string;
121
+ /**
122
+ * Converts the editor's markdown subset to HTML. The source is HTML-escaped
123
+ * *first*, so nothing in it can open a tag or an attribute; the conversions
124
+ * below then only ever add markup of their own. Raw HTML in the markdown is
125
+ * therefore shown as text — with one exception, `<u>`, which the toolbar's
126
+ * underline action emits (markdown has no underline) and which is let back
127
+ * through in escaped form only.
128
+ */
129
+ protected markdownToHtml(md: string): string;
130
+ private htmlToMarkdown;
131
+ static ɵfac: i0.ɵɵFactoryDeclaration<RichTextEditorComponent, never>;
132
+ static ɵcmp: i0.ɵɵComponentDeclaration<RichTextEditorComponent, "lc-rich-text-editor", never, {
133
+ "mode": {
134
+ "alias": "mode";
135
+ "required": false;
136
+ "isSignal": true;
137
+ };
138
+ "placeholder": {
139
+ "alias": "placeholder";
140
+ "required": false;
141
+ "isSignal": true;
142
+ };
143
+ "minHeight": {
144
+ "alias": "minHeight";
145
+ "required": false;
146
+ "isSignal": true;
147
+ };
148
+ "maxHeight": {
149
+ "alias": "maxHeight";
150
+ "required": false;
151
+ "isSignal": true;
152
+ };
153
+ "disabled": {
154
+ "alias": "disabled";
155
+ "required": false;
156
+ "isSignal": true;
157
+ };
158
+ "readonly": {
159
+ "alias": "readonly";
160
+ "required": false;
161
+ "isSignal": true;
162
+ };
163
+ "toolbar": {
164
+ "alias": "toolbar";
165
+ "required": false;
166
+ "isSignal": true;
167
+ };
168
+ "showWordCount": {
169
+ "alias": "showWordCount";
170
+ "required": false;
171
+ "isSignal": true;
172
+ };
173
+ "actionTitles": {
174
+ "alias": "actionTitles";
175
+ "required": false;
176
+ "isSignal": true;
177
+ };
178
+ "richModeLabel": {
179
+ "alias": "richModeLabel";
180
+ "required": false;
181
+ "isSignal": true;
182
+ };
183
+ "richModeTitle": {
184
+ "alias": "richModeTitle";
185
+ "required": false;
186
+ "isSignal": true;
187
+ };
188
+ "markdownModeLabel": {
189
+ "alias": "markdownModeLabel";
190
+ "required": false;
191
+ "isSignal": true;
192
+ };
193
+ "markdownModeTitle": {
194
+ "alias": "markdownModeTitle";
195
+ "required": false;
196
+ "isSignal": true;
197
+ };
198
+ "splitModeLabel": {
199
+ "alias": "splitModeLabel";
200
+ "required": false;
201
+ "isSignal": true;
202
+ };
203
+ "splitModeTitle": {
204
+ "alias": "splitModeTitle";
205
+ "required": false;
206
+ "isSignal": true;
207
+ };
208
+ "markdownEditorAriaLabel": {
209
+ "alias": "markdownEditorAriaLabel";
210
+ "required": false;
211
+ "isSignal": true;
212
+ };
213
+ "wordsLabel": {
214
+ "alias": "wordsLabel";
215
+ "required": false;
216
+ "isSignal": true;
217
+ };
218
+ "charactersLabel": {
219
+ "alias": "charactersLabel";
220
+ "required": false;
221
+ "isSignal": true;
222
+ };
223
+ }, {
224
+ "contentChange": "contentChange";
225
+ }, never, never, true, never>;
226
+ }