@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,255 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, computed, input, output } from "@angular/core";
3
+ const GOOGLE_G_LOGO_DATA_URI = "data:image/png;base64,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";
4
+ const DEFAULT_TITLES = { google: {
5
+ "sign-in": "Sign in with Google",
6
+ "sign-up": "Sign up with Google",
7
+ continue: "Continue with Google"
8
+ } };
9
+ const LOGOS = { google: GOOGLE_G_LOGO_DATA_URI };
10
+ var ProviderButtonComponent = class ProviderButtonComponent {
11
+ provider = input("google", ...ngDevMode ? [{ debugName: "provider" }] : /* istanbul ignore next */ []);
12
+ text = input("sign-in", ...ngDevMode ? [{ debugName: "text" }] : /* istanbul ignore next */ []);
13
+ label = input("", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
14
+ appearance = input("auto", ...ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []);
15
+ size = input("md", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
16
+ shape = input("pill", ...ngDevMode ? [{ debugName: "shape" }] : /* istanbul ignore next */ []);
17
+ fullWidth = input(false, ...ngDevMode ? [{ debugName: "fullWidth" }] : /* istanbul ignore next */ []);
18
+ iconOnly = input(false, ...ngDevMode ? [{ debugName: "iconOnly" }] : /* istanbul ignore next */ []);
19
+ loading = input(false, ...ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []);
20
+ disabled = input(false, ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
21
+ type = input("button", ...ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []);
22
+ clicked = output();
23
+ logoSrc = computed(() => LOGOS[this.provider()], ...ngDevMode ? [{ debugName: "logoSrc" }] : /* istanbul ignore next */ []);
24
+ title = computed(() => this.label() || DEFAULT_TITLES[this.provider()][this.text()], ...ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []);
25
+ isDisabled = computed(() => this.disabled() || this.loading(), ...ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []);
26
+ classes = computed(() => {
27
+ const classes = [
28
+ "lc-provider-button",
29
+ `lc-provider-button--${this.provider()}`,
30
+ `lc-provider-button--${this.appearance()}`,
31
+ `lc-provider-button--${this.size()}`,
32
+ `lc-provider-button--${this.shape()}`
33
+ ];
34
+ if (this.fullWidth() && !this.iconOnly()) classes.push("lc-provider-button--full-width");
35
+ if (this.iconOnly()) classes.push("lc-provider-button--icon-only");
36
+ if (this.loading()) classes.push("lc-provider-button--loading");
37
+ return classes.join(" ");
38
+ }, ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
39
+ handleClick() {
40
+ if (!this.isDisabled()) this.clicked.emit();
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({
43
+ minVersion: "12.0.0",
44
+ version: "22.2.2",
45
+ ngImport: i0,
46
+ type: ProviderButtonComponent,
47
+ deps: [],
48
+ target: i0.ɵɵFactoryTarget.Component
49
+ });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({
51
+ minVersion: "17.0.0",
52
+ version: "22.2.2",
53
+ type: ProviderButtonComponent,
54
+ isStandalone: true,
55
+ selector: "lc-provider-button",
56
+ inputs: {
57
+ provider: {
58
+ classPropertyName: "provider",
59
+ publicName: "provider",
60
+ isSignal: true,
61
+ isRequired: false,
62
+ transformFunction: null
63
+ },
64
+ text: {
65
+ classPropertyName: "text",
66
+ publicName: "text",
67
+ isSignal: true,
68
+ isRequired: false,
69
+ transformFunction: null
70
+ },
71
+ label: {
72
+ classPropertyName: "label",
73
+ publicName: "label",
74
+ isSignal: true,
75
+ isRequired: false,
76
+ transformFunction: null
77
+ },
78
+ appearance: {
79
+ classPropertyName: "appearance",
80
+ publicName: "appearance",
81
+ isSignal: true,
82
+ isRequired: false,
83
+ transformFunction: null
84
+ },
85
+ size: {
86
+ classPropertyName: "size",
87
+ publicName: "size",
88
+ isSignal: true,
89
+ isRequired: false,
90
+ transformFunction: null
91
+ },
92
+ shape: {
93
+ classPropertyName: "shape",
94
+ publicName: "shape",
95
+ isSignal: true,
96
+ isRequired: false,
97
+ transformFunction: null
98
+ },
99
+ fullWidth: {
100
+ classPropertyName: "fullWidth",
101
+ publicName: "fullWidth",
102
+ isSignal: true,
103
+ isRequired: false,
104
+ transformFunction: null
105
+ },
106
+ iconOnly: {
107
+ classPropertyName: "iconOnly",
108
+ publicName: "iconOnly",
109
+ isSignal: true,
110
+ isRequired: false,
111
+ transformFunction: null
112
+ },
113
+ loading: {
114
+ classPropertyName: "loading",
115
+ publicName: "loading",
116
+ isSignal: true,
117
+ isRequired: false,
118
+ transformFunction: null
119
+ },
120
+ disabled: {
121
+ classPropertyName: "disabled",
122
+ publicName: "disabled",
123
+ isSignal: true,
124
+ isRequired: false,
125
+ transformFunction: null
126
+ },
127
+ type: {
128
+ classPropertyName: "type",
129
+ publicName: "type",
130
+ isSignal: true,
131
+ isRequired: false,
132
+ transformFunction: null
133
+ }
134
+ },
135
+ outputs: { clicked: "clicked" },
136
+ host: { properties: { "class.lc-provider-button-host--full-width": "fullWidth() && !iconOnly()" } },
137
+ ngImport: i0,
138
+ template: "<button\n [type]=\"type()\"\n [class]=\"classes()\"\n [disabled]=\"isDisabled()\"\n [attr.aria-label]=\"iconOnly() ? title() : null\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n (click)=\"handleClick()\"\n>\n <img\n class=\"lc-provider-button__logo\"\n [src]=\"logoSrc()\"\n alt=\"\"\n width=\"20\"\n height=\"20\"\n draggable=\"false\"\n />\n @if (!iconOnly()) {\n <span class=\"lc-provider-button__label\">{{ title() }}</span>\n }\n @if (loading() && !iconOnly()) {\n <span class=\"lc-provider-button__spinner\" aria-hidden=\"true\"></span>\n }\n</button>\n",
139
+ styles: [":host{display:inline-block;max-width:100%;vertical-align:middle}:host(.lc-provider-button-host--full-width){display:block;width:100%}.lc-provider-button{--lc-provider-button-bg: #ffffff;--lc-provider-button-fg: #1f1f1f;--lc-provider-button-border: #747775;position:relative;isolation:isolate;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;margin:0;padding:var(--lc-provider-button-padding-block) 12px;min-height:var(--lc-provider-button-height);border:1px solid var(--lc-provider-button-border);background-color:var(--lc-provider-button-bg);color:var(--lc-provider-button-fg);font-family:Google Sans,Roboto,Arial,sans-serif;font-size:.875rem;line-height:1.25rem;font-weight:500;text-align:center;white-space:normal;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.lc-provider-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.lc-provider-button:before{content:\"\";position:absolute;inset:0;z-index:-1;border-radius:inherit;background-color:currentColor;opacity:0;transition:opacity var(--animation-duration-fast, .15s) var(--animation-timing-ease, ease);pointer-events:none}.lc-provider-button:hover:not(:disabled):before{opacity:.08}.lc-provider-button:active:not(:disabled):before{opacity:.12}.lc-provider-button:disabled{cursor:not-allowed;opacity:.5}.lc-provider-button.lc-provider-button--loading:disabled{cursor:progress;opacity:1}.lc-provider-button--md{--lc-provider-button-height: 2.5rem;--lc-provider-button-padding-block: 9px}.lc-provider-button--lg{--lc-provider-button-height: 3.03125rem;--lc-provider-button-padding-block: 13.25px}.lc-provider-button--pill{border-radius:var(--border-radius-full, 9999px)}.lc-provider-button--rectangular{border-radius:4px}.lc-provider-button--full-width{width:100%}.lc-provider-button--icon-only{padding:0;width:var(--lc-provider-button-height);height:var(--lc-provider-button-height)}.lc-provider-button__logo{flex:none;display:block;width:20px;height:20px;pointer-events:none}.lc-provider-button__label{min-width:0;overflow-wrap:anywhere}.lc-provider-button__spinner{flex:none;box-sizing:border-box;width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:lc-provider-button-spin 1s linear infinite}@media(prefers-reduced-motion:reduce){.lc-provider-button__spinner{animation-duration:2.5s}}@keyframes lc-provider-button-spin{to{transform:rotate(360deg)}}.lc-provider-button--google.lc-provider-button--light,.lc-provider-button--google.lc-provider-button--auto{--lc-provider-button-bg: #ffffff;--lc-provider-button-fg: #1f1f1f;--lc-provider-button-border: #747775}.lc-provider-button--google.lc-provider-button--dark{--lc-provider-button-bg: #131314;--lc-provider-button-fg: #e3e3e3;--lc-provider-button-border: #8e918f}.lc-provider-button--google.lc-provider-button--neutral{--lc-provider-button-bg: #f2f2f2;--lc-provider-button-fg: #1f1f1f;--lc-provider-button-border: #f2f2f2}:host-context(.dark) .lc-provider-button--google.lc-provider-button--auto,:host-context(:root:not(.light):not(.system)) .lc-provider-button--google.lc-provider-button--auto{--lc-provider-button-bg: #131314;--lc-provider-button-fg: #e3e3e3;--lc-provider-button-border: #8e918f}@media(prefers-color-scheme:dark){:host-context(:root.system:not(.light)) .lc-provider-button--google.lc-provider-button--auto{--lc-provider-button-bg: #131314;--lc-provider-button-fg: #e3e3e3;--lc-provider-button-border: #8e918f}}@media(forced-colors:active){.lc-provider-button{border-color:ButtonText}}\n"],
140
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
141
+ });
142
+ };
143
+ i0.ɵɵngDeclareClassMetadata({
144
+ minVersion: "12.0.0",
145
+ version: "22.2.2",
146
+ ngImport: i0,
147
+ type: ProviderButtonComponent,
148
+ decorators: [{
149
+ type: Component,
150
+ args: [{
151
+ selector: "lc-provider-button",
152
+ changeDetection: ChangeDetectionStrategy.OnPush,
153
+ host: { "[class.lc-provider-button-host--full-width]": "fullWidth() && !iconOnly()" },
154
+ template: "<button\n [type]=\"type()\"\n [class]=\"classes()\"\n [disabled]=\"isDisabled()\"\n [attr.aria-label]=\"iconOnly() ? title() : null\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n (click)=\"handleClick()\"\n>\n <img\n class=\"lc-provider-button__logo\"\n [src]=\"logoSrc()\"\n alt=\"\"\n width=\"20\"\n height=\"20\"\n draggable=\"false\"\n />\n @if (!iconOnly()) {\n <span class=\"lc-provider-button__label\">{{ title() }}</span>\n }\n @if (loading() && !iconOnly()) {\n <span class=\"lc-provider-button__spinner\" aria-hidden=\"true\"></span>\n }\n</button>\n",
155
+ styles: [":host{display:inline-block;max-width:100%;vertical-align:middle}:host(.lc-provider-button-host--full-width){display:block;width:100%}.lc-provider-button{--lc-provider-button-bg: #ffffff;--lc-provider-button-fg: #1f1f1f;--lc-provider-button-border: #747775;position:relative;isolation:isolate;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;margin:0;padding:var(--lc-provider-button-padding-block) 12px;min-height:var(--lc-provider-button-height);border:1px solid var(--lc-provider-button-border);background-color:var(--lc-provider-button-bg);color:var(--lc-provider-button-fg);font-family:Google Sans,Roboto,Arial,sans-serif;font-size:.875rem;line-height:1.25rem;font-weight:500;text-align:center;white-space:normal;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.lc-provider-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.lc-provider-button:before{content:\"\";position:absolute;inset:0;z-index:-1;border-radius:inherit;background-color:currentColor;opacity:0;transition:opacity var(--animation-duration-fast, .15s) var(--animation-timing-ease, ease);pointer-events:none}.lc-provider-button:hover:not(:disabled):before{opacity:.08}.lc-provider-button:active:not(:disabled):before{opacity:.12}.lc-provider-button:disabled{cursor:not-allowed;opacity:.5}.lc-provider-button.lc-provider-button--loading:disabled{cursor:progress;opacity:1}.lc-provider-button--md{--lc-provider-button-height: 2.5rem;--lc-provider-button-padding-block: 9px}.lc-provider-button--lg{--lc-provider-button-height: 3.03125rem;--lc-provider-button-padding-block: 13.25px}.lc-provider-button--pill{border-radius:var(--border-radius-full, 9999px)}.lc-provider-button--rectangular{border-radius:4px}.lc-provider-button--full-width{width:100%}.lc-provider-button--icon-only{padding:0;width:var(--lc-provider-button-height);height:var(--lc-provider-button-height)}.lc-provider-button__logo{flex:none;display:block;width:20px;height:20px;pointer-events:none}.lc-provider-button__label{min-width:0;overflow-wrap:anywhere}.lc-provider-button__spinner{flex:none;box-sizing:border-box;width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:lc-provider-button-spin 1s linear infinite}@media(prefers-reduced-motion:reduce){.lc-provider-button__spinner{animation-duration:2.5s}}@keyframes lc-provider-button-spin{to{transform:rotate(360deg)}}.lc-provider-button--google.lc-provider-button--light,.lc-provider-button--google.lc-provider-button--auto{--lc-provider-button-bg: #ffffff;--lc-provider-button-fg: #1f1f1f;--lc-provider-button-border: #747775}.lc-provider-button--google.lc-provider-button--dark{--lc-provider-button-bg: #131314;--lc-provider-button-fg: #e3e3e3;--lc-provider-button-border: #8e918f}.lc-provider-button--google.lc-provider-button--neutral{--lc-provider-button-bg: #f2f2f2;--lc-provider-button-fg: #1f1f1f;--lc-provider-button-border: #f2f2f2}:host-context(.dark) .lc-provider-button--google.lc-provider-button--auto,:host-context(:root:not(.light):not(.system)) .lc-provider-button--google.lc-provider-button--auto{--lc-provider-button-bg: #131314;--lc-provider-button-fg: #e3e3e3;--lc-provider-button-border: #8e918f}@media(prefers-color-scheme:dark){:host-context(:root.system:not(.light)) .lc-provider-button--google.lc-provider-button--auto{--lc-provider-button-bg: #131314;--lc-provider-button-fg: #e3e3e3;--lc-provider-button-border: #8e918f}}@media(forced-colors:active){.lc-provider-button{border-color:ButtonText}}\n"]
156
+ }]
157
+ }],
158
+ propDecorators: {
159
+ provider: [{
160
+ type: i0.Input,
161
+ args: [{
162
+ isSignal: true,
163
+ alias: "provider",
164
+ required: false
165
+ }]
166
+ }],
167
+ text: [{
168
+ type: i0.Input,
169
+ args: [{
170
+ isSignal: true,
171
+ alias: "text",
172
+ required: false
173
+ }]
174
+ }],
175
+ label: [{
176
+ type: i0.Input,
177
+ args: [{
178
+ isSignal: true,
179
+ alias: "label",
180
+ required: false
181
+ }]
182
+ }],
183
+ appearance: [{
184
+ type: i0.Input,
185
+ args: [{
186
+ isSignal: true,
187
+ alias: "appearance",
188
+ required: false
189
+ }]
190
+ }],
191
+ size: [{
192
+ type: i0.Input,
193
+ args: [{
194
+ isSignal: true,
195
+ alias: "size",
196
+ required: false
197
+ }]
198
+ }],
199
+ shape: [{
200
+ type: i0.Input,
201
+ args: [{
202
+ isSignal: true,
203
+ alias: "shape",
204
+ required: false
205
+ }]
206
+ }],
207
+ fullWidth: [{
208
+ type: i0.Input,
209
+ args: [{
210
+ isSignal: true,
211
+ alias: "fullWidth",
212
+ required: false
213
+ }]
214
+ }],
215
+ iconOnly: [{
216
+ type: i0.Input,
217
+ args: [{
218
+ isSignal: true,
219
+ alias: "iconOnly",
220
+ required: false
221
+ }]
222
+ }],
223
+ loading: [{
224
+ type: i0.Input,
225
+ args: [{
226
+ isSignal: true,
227
+ alias: "loading",
228
+ required: false
229
+ }]
230
+ }],
231
+ disabled: [{
232
+ type: i0.Input,
233
+ args: [{
234
+ isSignal: true,
235
+ alias: "disabled",
236
+ required: false
237
+ }]
238
+ }],
239
+ type: [{
240
+ type: i0.Input,
241
+ args: [{
242
+ isSignal: true,
243
+ alias: "type",
244
+ required: false
245
+ }]
246
+ }],
247
+ clicked: [{
248
+ type: i0.Output,
249
+ args: ["clicked"]
250
+ }]
251
+ }
252
+ });
253
+ export { ProviderButtonComponent };
254
+
255
+ //# sourceMappingURL=lifecorner-angular-ui-kit-provider-button.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecorner-angular-ui-kit-provider-button.mjs","names":[],"sources":["../../../../libs/angular-ui-kit/src/lib/provider-button/google-logo.ts","../../../../libs/angular-ui-kit/src/lib/provider-button/provider-button.component.ts","../../../../libs/angular-ui-kit/src/lib/provider-button/provider-button.component.html"],"sourcesContent":["/**\n * Google's standard \"G\" for the Sign in with Google button.\n *\n * Source: the pre-approved Sign in with Google assets, Android + Web, SVG\n * \"Theme=Light, Show text=No, Shape=Square\" from\n * https://developers.google.com/static/identity/images/signin-assets.zip\n * (branding guidelines https://developers.google.com/identity/branding-guidelines,\n * last updated 2026-07-07, checked 2026-10-15). Only the \"G\" was kept — the\n * button outline and fill were removed — and rendered unchanged at 4× (80 × 80 px\n * for the 20 × 20 px the guidelines draw it at) with a transparent background.\n *\n * Google's rules: the \"G\" keeps its size and colours (no monochrome or\n * self-made version), sits on the light, dark or neutral button fill, and is\n * never shown without the button boundary and a text (or, icon-only, the\n * button boundary and an accessible name).\n *\n * Inlined as a data URI so the button makes no request to Google before the\n * person taps it (apps need `img-src data:` in their CSP).\n */\nexport const GOOGLE_G_LOGO_DATA_URI =\n 'data:image/png;base64,' +\n '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' +\n '/3+zk3ZeOHg15AAAAABJRU5ErkJggg==';\n","import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';\nimport { GOOGLE_G_LOGO_DATA_URI } from './google-logo';\n\n/**\n * Sign-in providers the button can draw. Only Google today; Apple follows as a\n * new member of this union (no other API change), with its own artwork and the\n * colours of Apple's Human Interface Guidelines.\n */\nexport type ProviderButtonProvider = 'google';\n\n/**\n * Which of the provider's titles the button shows when no `label` is set:\n * `sign-in` \"Sign in with Google\", `sign-up` \"Sign up with Google\",\n * `continue` \"Continue with Google\" — the three titles Google recommends.\n */\nexport type ProviderButtonText = 'sign-in' | 'sign-up' | 'continue';\n\n/**\n * The provider's colour theme. `auto` follows the app theme (light on a light\n * page, dark on a dark page); `light`, `dark` and `neutral` (Google only) pin\n * one theme.\n */\nexport type ProviderButtonAppearance = 'auto' | 'light' | 'dark' | 'neutral';\n\n/** `md` is Google's standard 40 px; `lg` is 48.5 px, the height of `lc-button size=\"lg\"`. */\nexport type ProviderButtonSize = 'md' | 'lg';\n\n/** `pill` (the kit's button shape) or `rectangular` (Google's 4 px corners). */\nexport type ProviderButtonShape = 'pill' | 'rectangular';\n\nexport type ProviderButtonType = 'button' | 'submit';\n\n/**\n * The provider's own English titles, used only when the app passes no `label`.\n * Apps pass the provider's localized title in `label` (Google: German\n * „Weiter mit Google“ for `continue`).\n */\nconst DEFAULT_TITLES: Record<ProviderButtonProvider, Record<ProviderButtonText, string>> = {\n google: {\n 'sign-in': 'Sign in with Google',\n 'sign-up': 'Sign up with Google',\n continue: 'Continue with Google',\n },\n};\n\nconst LOGOS: Record<ProviderButtonProvider, string> = {\n google: GOOGLE_G_LOGO_DATA_URI,\n};\n\n/**\n * \"Sign in with Google\" button drawn to Google's branding guidelines\n * (https://developers.google.com/identity/branding-guidelines, last updated\n * 2026-07-07): the standard \"G\" (self-hosted, no request to Google), Google\n * Sans Medium 14/20 (the app self-hosts the font: SIL OFL 1.1, see the docs),\n * padding 12 · logo · 10 · text · 12, and Google's light,\n * dark and neutral colours. No Google script is loaded; the button starts the\n * app's own redirect (often a form POST, hence `type=\"submit\"`).\n *\n * @example\n * ```html\n * <form method=\"post\" action=\"/v1/auth/providers/google/start\">\n * <lc-provider-button provider=\"google\" text=\"continue\" label=\"Weiter mit Google\"\n * size=\"lg\" [fullWidth]=\"true\" type=\"submit\" />\n * </form>\n * ```\n */\n@Component({\n selector: 'lc-provider-button',\n templateUrl: './provider-button.component.html',\n styleUrl: './provider-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.lc-provider-button-host--full-width]': 'fullWidth() && !iconOnly()',\n },\n})\nexport class ProviderButtonComponent {\n /** The sign-in provider. `google` only in this release; `apple` follows. */\n readonly provider = input<ProviderButtonProvider>('google');\n\n /** Which of the provider's titles to show when `label` is empty. */\n readonly text = input<ProviderButtonText>('sign-in');\n\n /**\n * The visible title — pass the provider's localized title\n * (e.g. „Weiter mit Google“). Must say that the person signs in with the\n * provider, never the provider's name alone. Empty = the provider's English\n * title for `text`. Also the accessible name of an `iconOnly` button.\n */\n readonly label = input<string>('');\n\n /** Colour theme: `auto` follows the app theme; `neutral` is Google's grey fill. */\n readonly appearance = input<ProviderButtonAppearance>('auto');\n\n /** `md` 40 px (Google's standard), `lg` 48.5 px (matches `lc-button size=\"lg\"`, 44 px touch target). */\n readonly size = input<ProviderButtonSize>('md');\n\n /** `pill` (default, the kit's shape) or `rectangular` (4 px corners). */\n readonly shape = input<ProviderButtonShape>('pill');\n\n /** Stretches the button to the container width; logo and title stay centred together. */\n readonly fullWidth = input<boolean>(false);\n\n /** Only the logo in a square (or round) button; `label` becomes its accessible name. */\n readonly iconOnly = input<boolean>(false);\n\n /** Busy state: shows a spinner after the title, sets `aria-busy` and blocks clicks. */\n readonly loading = input<boolean>(false);\n\n /** Disables the button. */\n readonly disabled = input<boolean>(false);\n\n /** Native button type. `submit` when the button posts the form that starts the provider's redirect. */\n readonly type = input<ProviderButtonType>('button');\n\n /** Emitted on click while the button is neither disabled nor loading. */\n readonly clicked = output<void>();\n\n protected readonly logoSrc = computed(() => LOGOS[this.provider()]);\n\n protected readonly title = computed(\n () => this.label() || DEFAULT_TITLES[this.provider()][this.text()],\n );\n\n protected readonly isDisabled = computed(() => this.disabled() || this.loading());\n\n protected readonly classes = computed(() => {\n const classes = [\n 'lc-provider-button',\n `lc-provider-button--${this.provider()}`,\n `lc-provider-button--${this.appearance()}`,\n `lc-provider-button--${this.size()}`,\n `lc-provider-button--${this.shape()}`,\n ];\n if (this.fullWidth() && !this.iconOnly()) classes.push('lc-provider-button--full-width');\n if (this.iconOnly()) classes.push('lc-provider-button--icon-only');\n if (this.loading()) classes.push('lc-provider-button--loading');\n return classes.join(' ');\n });\n\n protected handleClick(): void {\n if (!this.isDisabled()) {\n this.clicked.emit();\n }\n }\n}\n","<button\n [type]=\"type()\"\n [class]=\"classes()\"\n [disabled]=\"isDisabled()\"\n [attr.aria-label]=\"iconOnly() ? title() : null\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n (click)=\"handleClick()\"\n>\n <img\n class=\"lc-provider-button__logo\"\n [src]=\"logoSrc()\"\n alt=\"\"\n width=\"20\"\n height=\"20\"\n draggable=\"false\"\n />\n @if (!iconOnly()) {\n <span class=\"lc-provider-button__label\">{{ title() }}</span>\n }\n @if (loading() && !iconOnly()) {\n <span class=\"lc-provider-button__spinner\" aria-hidden=\"true\"></span>\n }\n</button>\n"],"mappings":"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"}
@@ -0,0 +1,309 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, computed, input } from "@angular/core";
3
+ import { formatChartValue, toFinite } from "@lifecorner/angular-ui-kit/internal/chart";
4
+ var RadarChartComponent = class RadarChartComponent {
5
+ series = input.required(...ngDevMode ? [{ debugName: "series" }] : /* istanbul ignore next */ []);
6
+ axes = input([], ...ngDevMode ? [{ debugName: "axes" }] : /* istanbul ignore next */ []);
7
+ max = input(100, ...ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []);
8
+ size = input(250, ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
9
+ rings = input(4, ...ngDevMode ? [{ debugName: "rings" }] : /* istanbul ignore next */ []);
10
+ showLabels = input(true, ...ngDevMode ? [{ debugName: "showLabels" }] : /* istanbul ignore next */ []);
11
+ fillOpacity = input(.15, ...ngDevMode ? [{ debugName: "fillOpacity" }] : /* istanbul ignore next */ []);
12
+ showLegend = input(false, ...ngDevMode ? [{ debugName: "showLegend" }] : /* istanbul ignore next */ []);
13
+ formatValue = input(formatChartValue, ...ngDevMode ? [{ debugName: "formatValue" }] : /* istanbul ignore next */ []);
14
+ ariaLabel = input("", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
15
+ viewBox = computed(() => `0 0 ${this.size()} ${this.size()}`, ...ngDevMode ? [{ debugName: "viewBox" }] : /* istanbul ignore next */ []);
16
+ center = computed(() => this.size() / 2, ...ngDevMode ? [{ debugName: "center" }] : /* istanbul ignore next */ []);
17
+ radius = computed(() => this.size() / 2 - 30, ...ngDevMode ? [{ debugName: "radius" }] : /* istanbul ignore next */ []);
18
+ cleanSeries = computed(() => (this.series() ?? []).map((ser) => ({
19
+ ...ser,
20
+ data: (ser.data ?? []).map((v) => toFinite(v))
21
+ })), ...ngDevMode ? [{ debugName: "cleanSeries" }] : /* istanbul ignore next */ []);
22
+ axisCount = computed(() => {
23
+ const s = this.cleanSeries();
24
+ return s.length ? Math.max(...s.map((ser) => ser.data.length)) : 0;
25
+ }, ...ngDevMode ? [{ debugName: "axisCount" }] : /* istanbul ignore next */ []);
26
+ gridRings = computed(() => {
27
+ const n = this.rings();
28
+ const r = this.radius();
29
+ const cx = this.center();
30
+ const cy = this.center();
31
+ const ac = this.axisCount();
32
+ if (!ac) return [];
33
+ return Array.from({ length: n }, (_, ri) => {
34
+ const ringR = (ri + 1) / n * r;
35
+ return Array.from({ length: ac }, (_, ai) => {
36
+ const angle = ai / ac * Math.PI * 2 - Math.PI / 2;
37
+ return `${cx + ringR * Math.cos(angle)},${cy + ringR * Math.sin(angle)}`;
38
+ }).join(" ");
39
+ });
40
+ }, ...ngDevMode ? [{ debugName: "gridRings" }] : /* istanbul ignore next */ []);
41
+ axisLines = computed(() => {
42
+ const ac = this.axisCount();
43
+ const cx = this.center();
44
+ const cy = this.center();
45
+ const r = this.radius();
46
+ if (!ac) return [];
47
+ return Array.from({ length: ac }, (_, i) => {
48
+ const angle = i / ac * Math.PI * 2 - Math.PI / 2;
49
+ return {
50
+ x2: cx + r * Math.cos(angle),
51
+ y2: cy + r * Math.sin(angle)
52
+ };
53
+ });
54
+ }, ...ngDevMode ? [{ debugName: "axisLines" }] : /* istanbul ignore next */ []);
55
+ labelItems = computed(() => {
56
+ if (!this.showLabels()) return [];
57
+ const ax = this.axes();
58
+ const ac = this.axisCount();
59
+ const cx = this.center();
60
+ const cy = this.center();
61
+ const r = this.radius() + 14;
62
+ if (!ac) return [];
63
+ return Array.from({ length: ac }, (_, i) => {
64
+ const angle = i / ac * Math.PI * 2 - Math.PI / 2;
65
+ const x = cx + r * Math.cos(angle);
66
+ const y = cy + r * Math.sin(angle);
67
+ const anchor = Math.abs(Math.cos(angle)) < .01 ? "middle" : Math.cos(angle) > 0 ? "start" : "end";
68
+ return {
69
+ x,
70
+ y,
71
+ label: ax[i] || `Axis ${i + 1}`,
72
+ anchor
73
+ };
74
+ });
75
+ }, ...ngDevMode ? [{ debugName: "labelItems" }] : /* istanbul ignore next */ []);
76
+ seriesPolygons = computed(() => {
77
+ const allSeries = this.cleanSeries();
78
+ const cx = this.center();
79
+ const cy = this.center();
80
+ const r = this.radius();
81
+ const m = toFinite(this.max()) || 1;
82
+ const ac = this.axisCount();
83
+ if (!ac) return [];
84
+ return allSeries.map((ser, si) => {
85
+ return {
86
+ points: ser.data.map((v, i) => {
87
+ const angle = i / ac * Math.PI * 2 - Math.PI / 2;
88
+ const vr = Math.min(Math.max(v, 0), m) / m * r;
89
+ return `${cx + vr * Math.cos(angle)},${cy + vr * Math.sin(angle)}`;
90
+ }).join(" "),
91
+ colorIndex: si % 8,
92
+ customColor: ser.color || null,
93
+ label: ser.label
94
+ };
95
+ });
96
+ }, ...ngDevMode ? [{ debugName: "seriesPolygons" }] : /* istanbul ignore next */ []);
97
+ legendItems = computed(() => {
98
+ if (!this.showLegend()) return [];
99
+ return this.seriesPolygons().map((s) => ({
100
+ label: s.label,
101
+ colorIndex: s.colorIndex,
102
+ customColor: s.customColor
103
+ }));
104
+ }, ...ngDevMode ? [{ debugName: "legendItems" }] : /* istanbul ignore next */ []);
105
+ effectiveAriaLabel = computed(() => {
106
+ const explicit = this.ariaLabel();
107
+ if (explicit) return explicit;
108
+ const series = this.cleanSeries();
109
+ if (!series.length || !this.axisCount()) return "Radar chart: no data";
110
+ const fmt = this.formatValue();
111
+ const axes = this.axes();
112
+ return `Radar chart: ${series.map((s, si) => {
113
+ const values = s.data.map((v, i) => `${axes[i] || `Axis ${i + 1}`} ${fmt(v)}`).join(", ");
114
+ return `${s.label || `Series ${si + 1}`} (${values})`;
115
+ }).join("; ")}`;
116
+ }, ...ngDevMode ? [{ debugName: "effectiveAriaLabel" }] : /* istanbul ignore next */ []);
117
+ static ɵfac = i0.ɵɵngDeclareFactory({
118
+ minVersion: "12.0.0",
119
+ version: "22.2.2",
120
+ ngImport: i0,
121
+ type: RadarChartComponent,
122
+ deps: [],
123
+ target: i0.ɵɵFactoryTarget.Component
124
+ });
125
+ static ɵcmp = i0.ɵɵngDeclareComponent({
126
+ minVersion: "17.0.0",
127
+ version: "22.2.2",
128
+ type: RadarChartComponent,
129
+ isStandalone: true,
130
+ selector: "lc-radar-chart",
131
+ inputs: {
132
+ series: {
133
+ classPropertyName: "series",
134
+ publicName: "series",
135
+ isSignal: true,
136
+ isRequired: true,
137
+ transformFunction: null
138
+ },
139
+ axes: {
140
+ classPropertyName: "axes",
141
+ publicName: "axes",
142
+ isSignal: true,
143
+ isRequired: false,
144
+ transformFunction: null
145
+ },
146
+ max: {
147
+ classPropertyName: "max",
148
+ publicName: "max",
149
+ isSignal: true,
150
+ isRequired: false,
151
+ transformFunction: null
152
+ },
153
+ size: {
154
+ classPropertyName: "size",
155
+ publicName: "size",
156
+ isSignal: true,
157
+ isRequired: false,
158
+ transformFunction: null
159
+ },
160
+ rings: {
161
+ classPropertyName: "rings",
162
+ publicName: "rings",
163
+ isSignal: true,
164
+ isRequired: false,
165
+ transformFunction: null
166
+ },
167
+ showLabels: {
168
+ classPropertyName: "showLabels",
169
+ publicName: "showLabels",
170
+ isSignal: true,
171
+ isRequired: false,
172
+ transformFunction: null
173
+ },
174
+ fillOpacity: {
175
+ classPropertyName: "fillOpacity",
176
+ publicName: "fillOpacity",
177
+ isSignal: true,
178
+ isRequired: false,
179
+ transformFunction: null
180
+ },
181
+ showLegend: {
182
+ classPropertyName: "showLegend",
183
+ publicName: "showLegend",
184
+ isSignal: true,
185
+ isRequired: false,
186
+ transformFunction: null
187
+ },
188
+ formatValue: {
189
+ classPropertyName: "formatValue",
190
+ publicName: "formatValue",
191
+ isSignal: true,
192
+ isRequired: false,
193
+ transformFunction: null
194
+ },
195
+ ariaLabel: {
196
+ classPropertyName: "ariaLabel",
197
+ publicName: "ariaLabel",
198
+ isSignal: true,
199
+ isRequired: false,
200
+ transformFunction: null
201
+ }
202
+ },
203
+ ngImport: i0,
204
+ template: "<div class=\"lc-radar-chart\">\n <svg [attr.width]=\"size()\" [attr.height]=\"size()\" [attr.viewBox]=\"viewBox()\" role=\"img\" [attr.aria-label]=\"effectiveAriaLabel()\" class=\"lc-radar-chart__svg\">\n <title>{{ effectiveAriaLabel() }}</title>\n\n @for (ring of gridRings(); track $index) {\n <polygon [attr.points]=\"ring\" class=\"lc-radar-chart__grid\" />\n }\n\n @for (axis of axisLines(); track $index) {\n <line [attr.x1]=\"center()\" [attr.y1]=\"center()\" [attr.x2]=\"axis.x2\" [attr.y2]=\"axis.y2\" class=\"lc-radar-chart__axis\" />\n }\n\n @for (ser of seriesPolygons(); track $index) {\n <polygon [attr.points]=\"ser.points\" [class]=\"'lc-radar-chart__polygon lc-radar-chart__polygon--' + ser.colorIndex\" [attr.fill]=\"ser.customColor\" [attr.stroke]=\"ser.customColor\" [attr.fill-opacity]=\"fillOpacity()\" stroke-width=\"2\" />\n }\n\n @for (lbl of labelItems(); track $index) {\n <text [attr.x]=\"lbl.x\" [attr.y]=\"lbl.y\" [attr.text-anchor]=\"lbl.anchor\" dominant-baseline=\"central\" class=\"lc-radar-chart__label\">{{ lbl.label }}</text>\n }\n </svg>\n\n @if (legendItems().length) {\n <div class=\"lc-radar-chart__legend\">\n @for (item of legendItems(); track $index) {\n <div class=\"lc-radar-chart__legend-item\">\n <span [class]=\"'lc-radar-chart__legend-dot lc-radar-chart__legend-dot--' + item.colorIndex\" [style.background-color]=\"item.customColor\"></span>\n <span class=\"lc-radar-chart__legend-text\">{{ item.label }}</span>\n </div>\n }\n </div>\n }\n</div>\n",
205
+ styles: [":host{display:block}.lc-radar-chart{display:flex;flex-direction:column;align-items:center;gap:.5rem}.lc-radar-chart__svg{overflow:visible}.lc-radar-chart__grid{fill:none;stroke:var(--color-border);stroke-width:1}.lc-radar-chart__axis{stroke:var(--color-border);stroke-width:1}.lc-radar-chart__polygon{transition:fill-opacity .15s ease}.lc-radar-chart__polygon:hover{fill-opacity:.3}.lc-radar-chart__polygon--0{fill:var(--color-primary-500);stroke:var(--color-primary-500)}.lc-radar-chart__polygon--1{fill:var(--color-secondary-500);stroke:var(--color-secondary-500)}.lc-radar-chart__polygon--2{fill:var(--color-success-default);stroke:var(--color-success-default)}.lc-radar-chart__polygon--3{fill:var(--color-warning-default);stroke:var(--color-warning-default)}.lc-radar-chart__polygon--4{fill:var(--color-error-default);stroke:var(--color-error-default)}.lc-radar-chart__polygon--5{fill:var(--color-info-default);stroke:var(--color-info-default)}.lc-radar-chart__polygon--6{fill:var(--color-primary-700);stroke:var(--color-primary-700)}.lc-radar-chart__polygon--7{fill:var(--color-secondary-700);stroke:var(--color-secondary-700)}.lc-radar-chart__label{font-size:.6875rem;fill:var(--color-text-secondary)}.lc-radar-chart__legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center}.lc-radar-chart__legend-item{display:flex;align-items:center;gap:.375rem;font-size:var(--typography-font-size-sm, .875rem)}.lc-radar-chart__legend-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.lc-radar-chart__legend-dot--0{background-color:var(--color-primary-500)}.lc-radar-chart__legend-dot--1{background-color:var(--color-secondary-500)}.lc-radar-chart__legend-dot--2{background-color:var(--color-success-default)}.lc-radar-chart__legend-dot--3{background-color:var(--color-warning-default)}.lc-radar-chart__legend-dot--4{background-color:var(--color-error-default)}.lc-radar-chart__legend-dot--5{background-color:var(--color-info-default)}.lc-radar-chart__legend-dot--6{background-color:var(--color-primary-700)}.lc-radar-chart__legend-dot--7{background-color:var(--color-secondary-700)}.lc-radar-chart__legend-text{color:var(--color-text-secondary)}\n"],
206
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
207
+ });
208
+ };
209
+ i0.ɵɵngDeclareClassMetadata({
210
+ minVersion: "12.0.0",
211
+ version: "22.2.2",
212
+ ngImport: i0,
213
+ type: RadarChartComponent,
214
+ decorators: [{
215
+ type: Component,
216
+ args: [{
217
+ selector: "lc-radar-chart",
218
+ standalone: true,
219
+ changeDetection: ChangeDetectionStrategy.OnPush,
220
+ template: "<div class=\"lc-radar-chart\">\n <svg [attr.width]=\"size()\" [attr.height]=\"size()\" [attr.viewBox]=\"viewBox()\" role=\"img\" [attr.aria-label]=\"effectiveAriaLabel()\" class=\"lc-radar-chart__svg\">\n <title>{{ effectiveAriaLabel() }}</title>\n\n @for (ring of gridRings(); track $index) {\n <polygon [attr.points]=\"ring\" class=\"lc-radar-chart__grid\" />\n }\n\n @for (axis of axisLines(); track $index) {\n <line [attr.x1]=\"center()\" [attr.y1]=\"center()\" [attr.x2]=\"axis.x2\" [attr.y2]=\"axis.y2\" class=\"lc-radar-chart__axis\" />\n }\n\n @for (ser of seriesPolygons(); track $index) {\n <polygon [attr.points]=\"ser.points\" [class]=\"'lc-radar-chart__polygon lc-radar-chart__polygon--' + ser.colorIndex\" [attr.fill]=\"ser.customColor\" [attr.stroke]=\"ser.customColor\" [attr.fill-opacity]=\"fillOpacity()\" stroke-width=\"2\" />\n }\n\n @for (lbl of labelItems(); track $index) {\n <text [attr.x]=\"lbl.x\" [attr.y]=\"lbl.y\" [attr.text-anchor]=\"lbl.anchor\" dominant-baseline=\"central\" class=\"lc-radar-chart__label\">{{ lbl.label }}</text>\n }\n </svg>\n\n @if (legendItems().length) {\n <div class=\"lc-radar-chart__legend\">\n @for (item of legendItems(); track $index) {\n <div class=\"lc-radar-chart__legend-item\">\n <span [class]=\"'lc-radar-chart__legend-dot lc-radar-chart__legend-dot--' + item.colorIndex\" [style.background-color]=\"item.customColor\"></span>\n <span class=\"lc-radar-chart__legend-text\">{{ item.label }}</span>\n </div>\n }\n </div>\n }\n</div>\n",
221
+ styles: [":host{display:block}.lc-radar-chart{display:flex;flex-direction:column;align-items:center;gap:.5rem}.lc-radar-chart__svg{overflow:visible}.lc-radar-chart__grid{fill:none;stroke:var(--color-border);stroke-width:1}.lc-radar-chart__axis{stroke:var(--color-border);stroke-width:1}.lc-radar-chart__polygon{transition:fill-opacity .15s ease}.lc-radar-chart__polygon:hover{fill-opacity:.3}.lc-radar-chart__polygon--0{fill:var(--color-primary-500);stroke:var(--color-primary-500)}.lc-radar-chart__polygon--1{fill:var(--color-secondary-500);stroke:var(--color-secondary-500)}.lc-radar-chart__polygon--2{fill:var(--color-success-default);stroke:var(--color-success-default)}.lc-radar-chart__polygon--3{fill:var(--color-warning-default);stroke:var(--color-warning-default)}.lc-radar-chart__polygon--4{fill:var(--color-error-default);stroke:var(--color-error-default)}.lc-radar-chart__polygon--5{fill:var(--color-info-default);stroke:var(--color-info-default)}.lc-radar-chart__polygon--6{fill:var(--color-primary-700);stroke:var(--color-primary-700)}.lc-radar-chart__polygon--7{fill:var(--color-secondary-700);stroke:var(--color-secondary-700)}.lc-radar-chart__label{font-size:.6875rem;fill:var(--color-text-secondary)}.lc-radar-chart__legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center}.lc-radar-chart__legend-item{display:flex;align-items:center;gap:.375rem;font-size:var(--typography-font-size-sm, .875rem)}.lc-radar-chart__legend-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.lc-radar-chart__legend-dot--0{background-color:var(--color-primary-500)}.lc-radar-chart__legend-dot--1{background-color:var(--color-secondary-500)}.lc-radar-chart__legend-dot--2{background-color:var(--color-success-default)}.lc-radar-chart__legend-dot--3{background-color:var(--color-warning-default)}.lc-radar-chart__legend-dot--4{background-color:var(--color-error-default)}.lc-radar-chart__legend-dot--5{background-color:var(--color-info-default)}.lc-radar-chart__legend-dot--6{background-color:var(--color-primary-700)}.lc-radar-chart__legend-dot--7{background-color:var(--color-secondary-700)}.lc-radar-chart__legend-text{color:var(--color-text-secondary)}\n"]
222
+ }]
223
+ }],
224
+ propDecorators: {
225
+ series: [{
226
+ type: i0.Input,
227
+ args: [{
228
+ isSignal: true,
229
+ alias: "series",
230
+ required: true
231
+ }]
232
+ }],
233
+ axes: [{
234
+ type: i0.Input,
235
+ args: [{
236
+ isSignal: true,
237
+ alias: "axes",
238
+ required: false
239
+ }]
240
+ }],
241
+ max: [{
242
+ type: i0.Input,
243
+ args: [{
244
+ isSignal: true,
245
+ alias: "max",
246
+ required: false
247
+ }]
248
+ }],
249
+ size: [{
250
+ type: i0.Input,
251
+ args: [{
252
+ isSignal: true,
253
+ alias: "size",
254
+ required: false
255
+ }]
256
+ }],
257
+ rings: [{
258
+ type: i0.Input,
259
+ args: [{
260
+ isSignal: true,
261
+ alias: "rings",
262
+ required: false
263
+ }]
264
+ }],
265
+ showLabels: [{
266
+ type: i0.Input,
267
+ args: [{
268
+ isSignal: true,
269
+ alias: "showLabels",
270
+ required: false
271
+ }]
272
+ }],
273
+ fillOpacity: [{
274
+ type: i0.Input,
275
+ args: [{
276
+ isSignal: true,
277
+ alias: "fillOpacity",
278
+ required: false
279
+ }]
280
+ }],
281
+ showLegend: [{
282
+ type: i0.Input,
283
+ args: [{
284
+ isSignal: true,
285
+ alias: "showLegend",
286
+ required: false
287
+ }]
288
+ }],
289
+ formatValue: [{
290
+ type: i0.Input,
291
+ args: [{
292
+ isSignal: true,
293
+ alias: "formatValue",
294
+ required: false
295
+ }]
296
+ }],
297
+ ariaLabel: [{
298
+ type: i0.Input,
299
+ args: [{
300
+ isSignal: true,
301
+ alias: "ariaLabel",
302
+ required: false
303
+ }]
304
+ }]
305
+ }
306
+ });
307
+ export { RadarChartComponent };
308
+
309
+ //# sourceMappingURL=lifecorner-angular-ui-kit-radar-chart.mjs.map