@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,278 @@
1
+ import * as i0 from "@angular/core";
2
+ import { OnDestroy } from "@angular/core";
3
+ import { SafeHtml } from "@angular/platform-browser";
4
+ import { CodeBlockLanguage } from "@lifecorner/angular-ui-kit/code-block";
5
+ export interface MarkdownHeading {
6
+ level: number;
7
+ text: string;
8
+ id: string;
9
+ }
10
+ export interface MarkdownLinkClick {
11
+ href: string;
12
+ event: MouseEvent;
13
+ }
14
+ export interface MarkdownRendered {
15
+ headings: MarkdownHeading[];
16
+ }
17
+ export interface MarkdownChangesHighlighted {
18
+ /** Number of changed/added blocks highlighted in the current render. */
19
+ changedBlocks: number;
20
+ }
21
+ export interface RenderPart {
22
+ type: 'html' | 'code' | 'mermaid';
23
+ index: number;
24
+ safeHtml?: SafeHtml;
25
+ code?: string;
26
+ lang?: CodeBlockLanguage;
27
+ }
28
+ /**
29
+ * Markdown renderer component.
30
+ *
31
+ * Renders GitHub-Flavored Markdown (GFM) to sanitized HTML with
32
+ * optional syntax highlighting via `<lc-code-block>`.
33
+ *
34
+ * Supports headings (+ anchors), paragraphs, ordered/unordered lists, task lists
35
+ * (`- [ ]` / `- [x]` → accessible checkbox), blockquotes, horizontal rules,
36
+ * images, GFM tables (column alignment + horizontal scroll), bold/italic/
37
+ * strikethrough, inline code, fenced code (incl. `mermaid`), explicit links and
38
+ * autolinks (bare URLs / `www.` / emails, never inside code).
39
+ *
40
+ * Optionally highlights *changed* blocks in place: pass the pre-edit markdown as
41
+ * `previousContent` and set `highlightChanges` — added/edited blocks (diffed at
42
+ * block / list-item level) gain a left accent bar + subtle tint, can auto-fade
43
+ * (`changeHighlightFadeMs`) and scroll into view (`scrollToFirstChange`).
44
+ *
45
+ * @example
46
+ * ```html
47
+ * <lc-markdown [content]="'# Hello World'" />
48
+ * <lc-markdown [src]="'/docs/readme.md'" />
49
+ * <lc-markdown
50
+ * [content]="current" [previousContent]="prev"
51
+ * [highlightChanges]="true" [changeHighlightFadeMs]="3000" />
52
+ * ```
53
+ */
54
+ export declare class MarkdownComponent implements OnDestroy {
55
+ private readonly sanitizer;
56
+ private readonly instanceId;
57
+ private readonly http;
58
+ private readonly host;
59
+ private httpSub?;
60
+ private fadeTimer?;
61
+ private scrollTimer?;
62
+ private mermaidApiPromise?;
63
+ private mermaidInitialized;
64
+ private mermaidRenderRun;
65
+ /** URL or path to load markdown from */
66
+ readonly src: import("@angular/core").InputSignal<string | undefined>;
67
+ /** Raw markdown string */
68
+ readonly content: import("@angular/core").InputSignal<string | undefined>;
69
+ /** Display variant */
70
+ readonly variant: import("@angular/core").InputSignal<"default" | "compact" | "chat">;
71
+ /** Target for links */
72
+ readonly linkTarget: import("@angular/core").InputSignal<"_self" | "_blank">;
73
+ /** Whether to sanitize HTML output */
74
+ readonly sanitize: import("@angular/core").InputSignal<boolean>;
75
+ /** Whether to use code-block for fenced code */
76
+ readonly syntaxHighlight: import("@angular/core").InputSignal<boolean>;
77
+ /** Whether to show anchor links on headings */
78
+ readonly showHeadingAnchors: import("@angular/core").InputSignal<boolean>;
79
+ /** Base URL for resolving relative links/images */
80
+ readonly baseUrl: import("@angular/core").InputSignal<string | undefined>;
81
+ /** Enable change highlighting (requires `previousContent` to compute a diff). */
82
+ readonly highlightChanges: import("@angular/core").InputSignal<boolean>;
83
+ /**
84
+ * The prior Markdown. When it differs from `content`, the changed/added blocks
85
+ * in `content` are highlighted. The caller passes the pre-edit markdown.
86
+ */
87
+ readonly previousContent: import("@angular/core").InputSignal<string | undefined>;
88
+ /** Auto-fade the highlight after N ms. 0 / undefined ⇒ persist until content changes. */
89
+ readonly changeHighlightFadeMs: import("@angular/core").InputSignal<number | undefined>;
90
+ /** Scroll the first changed block into view when highlights appear. */
91
+ readonly scrollToFirstChange: import("@angular/core").InputSignal<boolean>;
92
+ /** Screen-reader marker put in front of each highlighted block (`highlightChanges`). */
93
+ readonly changedMarkerLabel: import("@angular/core").InputSignal<string>;
94
+ /** Announced after the count when one block changed: `1 Abschnitt geändert`. */
95
+ readonly changedSummaryOneLabel: import("@angular/core").InputSignal<string>;
96
+ /** Announced after the count when several blocks changed: `3 Abschnitte geändert`. */
97
+ readonly changedSummaryManyLabel: import("@angular/core").InputSignal<string>;
98
+ /** Shown while a Mermaid diagram renders. */
99
+ readonly mermaidLoadingLabel: import("@angular/core").InputSignal<string>;
100
+ /** Shown above the source when a Mermaid diagram fails. */
101
+ readonly mermaidErrorLabel: import("@angular/core").InputSignal<string>;
102
+ /** Shown above the source when the optional `mermaid` package cannot be loaded. */
103
+ readonly mermaidUnavailableLabel: import("@angular/core").InputSignal<string>;
104
+ /** Emitted when a link is clicked */
105
+ readonly linkClick: import("@angular/core").OutputEmitterRef<MarkdownLinkClick>;
106
+ /** Emitted after rendering with heading TOC */
107
+ readonly rendered: import("@angular/core").OutputEmitterRef<MarkdownRendered>;
108
+ /** Emitted after a render that produced change highlights. */
109
+ readonly changesHighlighted: import("@angular/core").OutputEmitterRef<MarkdownChangesHighlighted>;
110
+ /** Internal resolved markdown source */
111
+ protected resolvedMarkdown: import("@angular/core").WritableSignal<string>;
112
+ /** Parsed result (computed once from resolvedMarkdown) */
113
+ private parsed;
114
+ /**
115
+ * Rendered HTML after applying change highlights. When highlighting is off (or
116
+ * there is no differing `previousContent`) this returns the parsed HTML
117
+ * unchanged, so the non-highlight path is byte-for-byte identical to before.
118
+ */
119
+ private readonly highlightResult;
120
+ /** Number of changed/added blocks highlighted in the current render. */
121
+ protected readonly changedCount: import("@angular/core").Signal<number>;
122
+ /** Visually-hidden polite summary announced when highlights appear. */
123
+ protected readonly changeSummary: import("@angular/core").Signal<string>;
124
+ /** Whether the current highlights have faded out (after `changeHighlightFadeMs`). */
125
+ protected readonly highlightsFaded: import("@angular/core").WritableSignal<boolean>;
126
+ /** Computed render parts (HTML chunks + code blocks interleaved) */
127
+ protected renderParts: import("@angular/core").Signal<RenderPart[]>;
128
+ /**
129
+ * The HTML as it may go into the DOM. With `sanitize` on (the default) that is
130
+ * Angular's HTML sanitizer's output — which drops every `id`, since `id` isn't
131
+ * on its attribute allow-list. The heading ids are put back afterwards: they
132
+ * are what anchors and the `rendered` TOC point at, and each is a `[\w-]`
133
+ * slug this parser produced itself, so re-adding them reopens nothing. The
134
+ * cursor walks the parsed headings in document order across the parts.
135
+ */
136
+ private sanitizeHtml;
137
+ protected containerClasses: import("@angular/core").Signal<string>;
138
+ protected mermaidSvgs: import("@angular/core").WritableSignal<Record<number, SafeHtml>>;
139
+ protected mermaidErrors: import("@angular/core").WritableSignal<Record<number, string>>;
140
+ private headings;
141
+ constructor();
142
+ ngOnDestroy(): void;
143
+ protected onLinkClick(event: MouseEvent): void;
144
+ /** Side-effects for a render: emit, (re)arm the fade timer, optional scroll. */
145
+ private onHighlightResult;
146
+ private scrollToFirstChanged;
147
+ /**
148
+ * Wraps the changed/added top-level blocks of `html` with
149
+ * `.lc-markdown__block--changed`. A block is "changed" when its normalized
150
+ * text is not present among the blocks of `prevMarkdown`. Lists are diffed
151
+ * per `<li>` and tables per `<tr>` so a single edited item highlights alone.
152
+ */
153
+ private applyChangeHighlights;
154
+ /** Normalized text set of the logical blocks within an HTML fragment. */
155
+ private collectBlockKeys;
156
+ /**
157
+ * Visits each diffable block under `root`: top-level elements, but descending
158
+ * into `<ul>`/`<ol>` (per `<li>`) and `<table>` (per `<tr>`).
159
+ */
160
+ private eachLogicalBlock;
161
+ private blockTextKey;
162
+ private htmlToElement;
163
+ private loadFromUrl;
164
+ private splitIntoParts;
165
+ private parseMarkdown;
166
+ private parseTables;
167
+ /** Splits a pipe-table row into trimmed cells, dropping the leading/trailing edges. */
168
+ private splitTableRow;
169
+ private escapeHtml;
170
+ /**
171
+ * Linkifies bare URLs (`http(s)://…`, `www.…`) and email addresses in text,
172
+ * leaving anything inside an existing `<a>` or `<code>` (and all tag
173
+ * attributes) untouched. The HTML is tokenized into tags vs. text so only
174
+ * top-level text runs are linkified.
175
+ */
176
+ private autolink;
177
+ protected mermaidSvgFor(index: number): SafeHtml | null;
178
+ protected mermaidErrorFor(index: number): string | null;
179
+ private renderMermaidParts;
180
+ private getMermaidApi;
181
+ static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownComponent, never>;
182
+ static ɵcmp: i0.ɵɵComponentDeclaration<MarkdownComponent, "lc-markdown", never, {
183
+ "src": {
184
+ "alias": "src";
185
+ "required": false;
186
+ "isSignal": true;
187
+ };
188
+ "content": {
189
+ "alias": "content";
190
+ "required": false;
191
+ "isSignal": true;
192
+ };
193
+ "variant": {
194
+ "alias": "variant";
195
+ "required": false;
196
+ "isSignal": true;
197
+ };
198
+ "linkTarget": {
199
+ "alias": "linkTarget";
200
+ "required": false;
201
+ "isSignal": true;
202
+ };
203
+ "sanitize": {
204
+ "alias": "sanitize";
205
+ "required": false;
206
+ "isSignal": true;
207
+ };
208
+ "syntaxHighlight": {
209
+ "alias": "syntaxHighlight";
210
+ "required": false;
211
+ "isSignal": true;
212
+ };
213
+ "showHeadingAnchors": {
214
+ "alias": "showHeadingAnchors";
215
+ "required": false;
216
+ "isSignal": true;
217
+ };
218
+ "baseUrl": {
219
+ "alias": "baseUrl";
220
+ "required": false;
221
+ "isSignal": true;
222
+ };
223
+ "highlightChanges": {
224
+ "alias": "highlightChanges";
225
+ "required": false;
226
+ "isSignal": true;
227
+ };
228
+ "previousContent": {
229
+ "alias": "previousContent";
230
+ "required": false;
231
+ "isSignal": true;
232
+ };
233
+ "changeHighlightFadeMs": {
234
+ "alias": "changeHighlightFadeMs";
235
+ "required": false;
236
+ "isSignal": true;
237
+ };
238
+ "scrollToFirstChange": {
239
+ "alias": "scrollToFirstChange";
240
+ "required": false;
241
+ "isSignal": true;
242
+ };
243
+ "changedMarkerLabel": {
244
+ "alias": "changedMarkerLabel";
245
+ "required": false;
246
+ "isSignal": true;
247
+ };
248
+ "changedSummaryOneLabel": {
249
+ "alias": "changedSummaryOneLabel";
250
+ "required": false;
251
+ "isSignal": true;
252
+ };
253
+ "changedSummaryManyLabel": {
254
+ "alias": "changedSummaryManyLabel";
255
+ "required": false;
256
+ "isSignal": true;
257
+ };
258
+ "mermaidLoadingLabel": {
259
+ "alias": "mermaidLoadingLabel";
260
+ "required": false;
261
+ "isSignal": true;
262
+ };
263
+ "mermaidErrorLabel": {
264
+ "alias": "mermaidErrorLabel";
265
+ "required": false;
266
+ "isSignal": true;
267
+ };
268
+ "mermaidUnavailableLabel": {
269
+ "alias": "mermaidUnavailableLabel";
270
+ "required": false;
271
+ "isSignal": true;
272
+ };
273
+ }, {
274
+ "linkClick": "linkClick";
275
+ "rendered": "rendered";
276
+ "changesHighlighted": "changesHighlighted";
277
+ }, never, never, true, never>;
278
+ }
@@ -0,0 +1,152 @@
1
+ import * as i0 from "@angular/core";
2
+ import { OnDestroy } from "@angular/core";
3
+ export interface MenuItem {
4
+ id: string;
5
+ label: string;
6
+ icon?: string;
7
+ iconSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
8
+ href?: string;
9
+ target?: '_blank' | '_self' | '_parent' | '_top';
10
+ variant?: 'default' | 'danger';
11
+ dividerAfter?: boolean;
12
+ disabled?: boolean;
13
+ metadata?: {
14
+ subtitle?: string;
15
+ badge?: string;
16
+ };
17
+ }
18
+ /**
19
+ * Menu Component - Dropdown menu for navigation and actions
20
+ *
21
+ * Features:
22
+ * - Customizable menu items with icons
23
+ * - Support for links and buttons
24
+ * - Dividers between menu sections
25
+ * - Optional subtitle/metadata for items
26
+ * - Danger variant for destructive actions
27
+ * - Click outside to close (top-most overlay only)
28
+ * - Keyboard navigation: focus moves into the menu on open, Arrow keys /
29
+ * Home / End move between items (roving tabindex), Enter / Space activate,
30
+ * Escape closes and returns focus to the trigger, Tab closes
31
+ * - ARIA menu semantics (`aria-haspopup` / `aria-expanded` / `aria-controls`
32
+ * on the projected trigger, `role="menu"` / `role="menuitem"` on the panel)
33
+ * - OnPush change detection for performance
34
+ *
35
+ * @example
36
+ * ```html
37
+ * <lc-menu
38
+ * [items]="menuItems"
39
+ * [isOpen]="isMenuOpen"
40
+ * (itemClick)="handleMenuClick($event)"
41
+ * (closed)="isMenuOpen = false"
42
+ * >
43
+ * <button trigger>Open Menu</button>
44
+ * <div header>User Profile</div>
45
+ * </lc-menu>
46
+ * ```
47
+ */
48
+ export declare class MenuComponent implements OnDestroy {
49
+ private static nextId;
50
+ /** Identifies this instance in the overlay stack. */
51
+ private readonly menuId;
52
+ readonly items: import("@angular/core").InputSignal<MenuItem[]>;
53
+ readonly isOpen: import("@angular/core").InputSignal<boolean>;
54
+ readonly position: import("@angular/core").InputSignal<"bottom-left" | "bottom-right" | "top-left" | "top-right">;
55
+ readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg">;
56
+ readonly minWidth: import("@angular/core").InputSignal<string>;
57
+ /**
58
+ * Maximum width of the panel (any CSS width, e.g. `min(18rem, calc(100vw - 2rem))`).
59
+ * Empty leaves it unbounded. Long item labels and header lines wrap within it.
60
+ */
61
+ readonly maxWidth: import("@angular/core").InputSignal<string>;
62
+ readonly itemClick: import("@angular/core").OutputEmitterRef<MenuItem>;
63
+ readonly closed: import("@angular/core").OutputEmitterRef<void>;
64
+ /** Id of the `role="menu"` element, referenced by the trigger's `aria-controls`. */
65
+ protected readonly panelId: string;
66
+ /** Index (into `items()`) of the item that currently owns the roving tabindex. */
67
+ protected readonly activeIndex: import("@angular/core").WritableSignal<number>;
68
+ private readonly itemElements;
69
+ private readonly elementRef;
70
+ private readonly renderer;
71
+ private readonly injector;
72
+ private readonly overlayStack;
73
+ constructor();
74
+ ngOnDestroy(): void;
75
+ /**
76
+ * Handle menu item click
77
+ */
78
+ onItemClick(item: MenuItem, event: Event): void;
79
+ /**
80
+ * Close the menu
81
+ */
82
+ close(): void;
83
+ /**
84
+ * Handle click outside to close menu — only while the menu is the top-most
85
+ * overlay, so a click inside a layer above it (a modal opened from a menu
86
+ * item) is left alone.
87
+ */
88
+ onDocumentClick(event: MouseEvent): void;
89
+ /**
90
+ * Escape closes the menu (top-most overlay only) and returns focus to the
91
+ * trigger; the event is consumed so overlays underneath stay open.
92
+ */
93
+ onEscapeKey(event: Event): void;
94
+ /** Keyboard navigation inside the `role="menu"` panel. */
95
+ protected onPanelKeydown(event: KeyboardEvent): void;
96
+ /** Roving tabindex: only the active item is in the tab sequence. */
97
+ protected tabindexFor(index: number, item: MenuItem): number;
98
+ private focusIndex;
99
+ private focusActiveItem;
100
+ private firstEnabledIndex;
101
+ /** Index of the next enabled item in `direction`, wrapping around; -1 if none. */
102
+ private nextEnabledIndex;
103
+ /**
104
+ * The element that carries the menu-button ARIA attributes and receives
105
+ * focus back: the projected `[trigger]` node itself when it is natively
106
+ * interactive, otherwise the first interactive element inside it (e.g. the
107
+ * `<button>` inside an `<lc-button trigger>`).
108
+ */
109
+ private triggerElement;
110
+ /**
111
+ * Closing removes the panel from the DOM; if focus is inside it (an item was
112
+ * activated by keyboard) it would silently drop to `<body>`, so send it back
113
+ * to the trigger.
114
+ */
115
+ private restoreFocus;
116
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, never>;
117
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "lc-menu", never, {
118
+ "items": {
119
+ "alias": "items";
120
+ "required": false;
121
+ "isSignal": true;
122
+ };
123
+ "isOpen": {
124
+ "alias": "isOpen";
125
+ "required": false;
126
+ "isSignal": true;
127
+ };
128
+ "position": {
129
+ "alias": "position";
130
+ "required": false;
131
+ "isSignal": true;
132
+ };
133
+ "size": {
134
+ "alias": "size";
135
+ "required": false;
136
+ "isSignal": true;
137
+ };
138
+ "minWidth": {
139
+ "alias": "minWidth";
140
+ "required": false;
141
+ "isSignal": true;
142
+ };
143
+ "maxWidth": {
144
+ "alias": "maxWidth";
145
+ "required": false;
146
+ "isSignal": true;
147
+ };
148
+ }, {
149
+ "itemClick": "itemClick";
150
+ "closed": "closed";
151
+ }, never, ["[trigger]", "[header]", "[footer]"], true, never>;
152
+ }
@@ -0,0 +1,207 @@
1
+ import * as i0 from "@angular/core";
2
+ import { OnDestroy } from "@angular/core";
3
+ export type ModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
4
+ /**
5
+ * Where the dialog sits.
6
+ * - `center`: centred on every screen (3.2)
7
+ * - `auto`: a bottom sheet below 640 px viewport width (full width, top
8
+ * corners rounded, above the safe-area inset, in thumb reach), centred above
9
+ * - `sheet`: a bottom sheet on every screen
10
+ */
11
+ export type ModalPlacement = 'center' | 'auto' | 'sheet';
12
+ /**
13
+ * Modal dialog component for focused user interactions.
14
+ *
15
+ * Features:
16
+ * - Size presets (sm, md, lg, xl, full)
17
+ * - Placement: centred, or a bottom sheet on phones (`placement="auto"`)
18
+ * - Header and footer stay visible while the body scrolls; the close button
19
+ * is a 44 px target
20
+ * - Focus trap for keyboard accessibility
21
+ * - Backdrop click and Escape key to close
22
+ * - Two-way open binding
23
+ * - Header, body, and footer content slots
24
+ * - Optional close button
25
+ * - Accessible with ARIA dialog role
26
+ *
27
+ * @example
28
+ * ```html
29
+ * <lc-modal [(open)]="isOpen" size="md" [closeOnBackdropClick]="true">
30
+ * <div slot="header"><h2>Title</h2></div>
31
+ * <div slot="body">Content</div>
32
+ * <div slot="footer"><lc-button (click)="close()">Close</lc-button></div>
33
+ * </lc-modal>
34
+ * ```
35
+ */
36
+ export declare class ModalComponent implements OnDestroy {
37
+ private static nextId;
38
+ /**
39
+ * Whether the modal is open (input from parent)
40
+ * @default false
41
+ */
42
+ open: import("@angular/core").InputSignal<boolean>;
43
+ /**
44
+ * Modal size
45
+ * @default 'md'
46
+ */
47
+ size: import("@angular/core").InputSignal<ModalSize>;
48
+ /**
49
+ * Where the dialog sits: `center` (3.2), `auto` — a bottom sheet below
50
+ * 640 px viewport width and centred above — or `sheet` (always a bottom
51
+ * sheet). The sheet spans the width, rounds its top corners, keeps clear of
52
+ * `env(safe-area-inset-bottom)` and is at most 90 % of the dynamic viewport
53
+ * high; header and footer stay visible while the body scrolls. `full`
54
+ * size ignores it.
55
+ * @default 'center'
56
+ */
57
+ placement: import("@angular/core").InputSignal<ModalPlacement>;
58
+ /**
59
+ * Whether clicking backdrop closes modal
60
+ * @default true
61
+ */
62
+ closeOnBackdropClick: import("@angular/core").InputSignal<boolean>;
63
+ /**
64
+ * Whether pressing Escape closes modal
65
+ * @default true
66
+ */
67
+ closeOnEscape: import("@angular/core").InputSignal<boolean>;
68
+ /**
69
+ * Whether to show close button in header
70
+ * @default true
71
+ */
72
+ showCloseButton: import("@angular/core").InputSignal<boolean>;
73
+ /**
74
+ * ARIA label for accessibility
75
+ */
76
+ ariaLabel: import("@angular/core").InputSignal<string | undefined>;
77
+ /**
78
+ * ARIA labelledby ID
79
+ */
80
+ ariaLabelledBy: import("@angular/core").InputSignal<string | undefined>;
81
+ /**
82
+ * ARIA describedby ID
83
+ */
84
+ ariaDescribedBy: import("@angular/core").InputSignal<string | undefined>;
85
+ /** Accessible name of the close button (`showCloseButton`). */
86
+ closeAriaLabel: import("@angular/core").InputSignal<string>;
87
+ /**
88
+ * Emitted when modal opens
89
+ */
90
+ readonly modalOpened: import("@angular/core").OutputEmitterRef<void>;
91
+ /**
92
+ * Emitted when modal closes
93
+ */
94
+ readonly modalClosed: import("@angular/core").OutputEmitterRef<void>;
95
+ /**
96
+ * Two-way binding for open state
97
+ */
98
+ readonly openChange: import("@angular/core").OutputEmitterRef<boolean>;
99
+ /**
100
+ * Emitted when backdrop is clicked
101
+ */
102
+ readonly backdropClicked: import("@angular/core").OutputEmitterRef<MouseEvent>;
103
+ /**
104
+ * Internal open state (protected for AOT); follows the `open` input and is
105
+ * also set by the programmatic open/close methods.
106
+ */
107
+ protected _open: import("@angular/core").WritableSignal<boolean>;
108
+ /**
109
+ * Computed modal classes
110
+ */
111
+ protected modalClasses: import("@angular/core").Signal<string>;
112
+ private readonly overlayStack;
113
+ /** Identifies this instance in the overlay stack. */
114
+ private readonly modalId;
115
+ private originalOverflow?;
116
+ constructor();
117
+ ngOnDestroy(): void;
118
+ /**
119
+ * Open the modal programmatically
120
+ */
121
+ openModal(): void;
122
+ /**
123
+ * Close the modal programmatically
124
+ */
125
+ closeModal(): void;
126
+ /**
127
+ * Handle backdrop click. Ignored while another overlay (popover, menu,
128
+ * confirm dialog, …) sits above this modal — the click belongs to that layer.
129
+ */
130
+ protected onBackdropClick(event: MouseEvent): void;
131
+ /**
132
+ * Handle close button click
133
+ */
134
+ protected onCloseClick(event: Event): void;
135
+ /**
136
+ * Escape closes the modal only while it is the top-most overlay; the event
137
+ * is consumed either way so overlays underneath stay open.
138
+ */
139
+ protected onDocumentKeydown(event: KeyboardEvent): void;
140
+ /**
141
+ * Show the modal. Focus is moved inside and restored on close by the
142
+ * template's `cdkTrapFocus` / `cdkTrapFocusAutoCapture`.
143
+ */
144
+ private showModal;
145
+ /**
146
+ * Hide the modal
147
+ */
148
+ private hideModal;
149
+ static ɵfac: i0.ɵɵFactoryDeclaration<ModalComponent, never>;
150
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "lc-modal", never, {
151
+ "open": {
152
+ "alias": "open";
153
+ "required": false;
154
+ "isSignal": true;
155
+ };
156
+ "size": {
157
+ "alias": "size";
158
+ "required": false;
159
+ "isSignal": true;
160
+ };
161
+ "placement": {
162
+ "alias": "placement";
163
+ "required": false;
164
+ "isSignal": true;
165
+ };
166
+ "closeOnBackdropClick": {
167
+ "alias": "closeOnBackdropClick";
168
+ "required": false;
169
+ "isSignal": true;
170
+ };
171
+ "closeOnEscape": {
172
+ "alias": "closeOnEscape";
173
+ "required": false;
174
+ "isSignal": true;
175
+ };
176
+ "showCloseButton": {
177
+ "alias": "showCloseButton";
178
+ "required": false;
179
+ "isSignal": true;
180
+ };
181
+ "ariaLabel": {
182
+ "alias": "ariaLabel";
183
+ "required": false;
184
+ "isSignal": true;
185
+ };
186
+ "ariaLabelledBy": {
187
+ "alias": "ariaLabelledBy";
188
+ "required": false;
189
+ "isSignal": true;
190
+ };
191
+ "ariaDescribedBy": {
192
+ "alias": "ariaDescribedBy";
193
+ "required": false;
194
+ "isSignal": true;
195
+ };
196
+ "closeAriaLabel": {
197
+ "alias": "closeAriaLabel";
198
+ "required": false;
199
+ "isSignal": true;
200
+ };
201
+ }, {
202
+ "modalOpened": "modalOpened";
203
+ "modalClosed": "modalClosed";
204
+ "openChange": "openChange";
205
+ "backdropClicked": "backdropClicked";
206
+ }, never, ["[slot='header']", "[slot='body']", "*", "[slot='footer']"], true, never>;
207
+ }