@lifecorner/angular-ui-kit 3.4.1 → 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 { ChangeDetectionStrategy, Component, computed, forwardRef, input, output, signal, viewChildren } from "@angular/core";
3
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
4
+ const DEFAULT_SWATCHES = [
5
+ "#ef4444",
6
+ "#f97316",
7
+ "#eab308",
8
+ "#22c55e",
9
+ "#14b8a6",
10
+ "#3b82f6",
11
+ "#6366f1",
12
+ "#8b5cf6",
13
+ "#ec4899",
14
+ "#f43f5e",
15
+ "#0ea5e9",
16
+ "#10b981",
17
+ "#a855f7",
18
+ "#64748b",
19
+ "#000000",
20
+ "#ffffff"
21
+ ];
22
+ var ColorPickerComponent = class ColorPickerComponent {
23
+ static nextId = 0;
24
+ label = input(...ngDevMode ? [void 0, { debugName: "label" }] : /* istanbul ignore next */ []);
25
+ swatches = input(DEFAULT_SWATCHES, ...ngDevMode ? [{ debugName: "swatches" }] : /* istanbul ignore next */ []);
26
+ showInput = input(true, ...ngDevMode ? [{ debugName: "showInput" }] : /* istanbul ignore next */ []);
27
+ disabled = input(false, ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
28
+ ariaLabel = input("Color picker", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
29
+ hexAriaLabel = input("Hex color value", ...ngDevMode ? [{ debugName: "hexAriaLabel" }] : /* istanbul ignore next */ []);
30
+ swatchesAriaLabel = input("Color swatches", ...ngDevMode ? [{ debugName: "swatchesAriaLabel" }] : /* istanbul ignore next */ []);
31
+ colorChange = output();
32
+ inputId = `lc-color-picker-${++ColorPickerComponent.nextId}`;
33
+ value = signal("#3b82f6", ...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
34
+ formDisabled = signal(false, ...ngDevMode ? [{ debugName: "formDisabled" }] : /* istanbul ignore next */ []);
35
+ isDisabled = computed(() => this.disabled() || this.formDisabled(), ...ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []);
36
+ swatchButtons = viewChildren("swatchBtn", ...ngDevMode ? [{ debugName: "swatchButtons" }] : /* istanbul ignore next */ []);
37
+ focusableSwatchIndex = computed(() => {
38
+ const index = this.swatches().indexOf(this.value());
39
+ return index >= 0 ? index : 0;
40
+ }, ...ngDevMode ? [{ debugName: "focusableSwatchIndex" }] : /* istanbul ignore next */ []);
41
+ pickerClasses = computed(() => {
42
+ const classes = ["color-picker"];
43
+ if (this.isDisabled()) classes.push("color-picker--disabled");
44
+ return classes.join(" ");
45
+ }, ...ngDevMode ? [{ debugName: "pickerClasses" }] : /* istanbul ignore next */ []);
46
+ onChange = () => {};
47
+ onTouched = () => {};
48
+ selectSwatch(color) {
49
+ if (this.isDisabled()) return;
50
+ this.setValue(color);
51
+ }
52
+ onSwatchKeydown(event, index) {
53
+ if (this.isDisabled()) return;
54
+ const count = this.swatches().length;
55
+ let next;
56
+ switch (event.key) {
57
+ case "ArrowRight":
58
+ case "ArrowDown":
59
+ next = (index + 1) % count;
60
+ break;
61
+ case "ArrowLeft":
62
+ case "ArrowUp":
63
+ next = (index - 1 + count) % count;
64
+ break;
65
+ case "Home":
66
+ next = 0;
67
+ break;
68
+ case "End":
69
+ next = count - 1;
70
+ break;
71
+ default: return;
72
+ }
73
+ event.preventDefault();
74
+ this.selectSwatch(this.swatches()[next]);
75
+ this.swatchButtons()[next]?.nativeElement.focus();
76
+ }
77
+ onNativeInput(event) {
78
+ const target = event.target;
79
+ this.setValue(target.value);
80
+ }
81
+ onHexInput(event) {
82
+ let val = event.target.value.trim();
83
+ if (!val.startsWith("#")) val = "#" + val;
84
+ if (/^#[0-9a-fA-F]{6}$/.test(val)) this.setValue(val);
85
+ }
86
+ onBlur() {
87
+ this.onTouched();
88
+ }
89
+ setValue(color) {
90
+ this.value.set(color);
91
+ this.colorChange.emit(color);
92
+ this.onChange(color);
93
+ }
94
+ writeValue(val) {
95
+ this.value.set(val ?? "#3b82f6");
96
+ }
97
+ registerOnChange(fn) {
98
+ this.onChange = fn;
99
+ }
100
+ registerOnTouched(fn) {
101
+ this.onTouched = fn;
102
+ }
103
+ setDisabledState(isDisabled) {
104
+ this.formDisabled.set(isDisabled);
105
+ }
106
+ static ɵfac = i0.ɵɵngDeclareFactory({
107
+ minVersion: "12.0.0",
108
+ version: "22.2.2",
109
+ ngImport: i0,
110
+ type: ColorPickerComponent,
111
+ deps: [],
112
+ target: i0.ɵɵFactoryTarget.Component
113
+ });
114
+ static ɵcmp = i0.ɵɵngDeclareComponent({
115
+ minVersion: "17.0.0",
116
+ version: "22.2.2",
117
+ type: ColorPickerComponent,
118
+ isStandalone: true,
119
+ selector: "lc-color-picker",
120
+ inputs: {
121
+ label: {
122
+ classPropertyName: "label",
123
+ publicName: "label",
124
+ isSignal: true,
125
+ isRequired: false,
126
+ transformFunction: null
127
+ },
128
+ swatches: {
129
+ classPropertyName: "swatches",
130
+ publicName: "swatches",
131
+ isSignal: true,
132
+ isRequired: false,
133
+ transformFunction: null
134
+ },
135
+ showInput: {
136
+ classPropertyName: "showInput",
137
+ publicName: "showInput",
138
+ isSignal: true,
139
+ isRequired: false,
140
+ transformFunction: null
141
+ },
142
+ disabled: {
143
+ classPropertyName: "disabled",
144
+ publicName: "disabled",
145
+ isSignal: true,
146
+ isRequired: false,
147
+ transformFunction: null
148
+ },
149
+ ariaLabel: {
150
+ classPropertyName: "ariaLabel",
151
+ publicName: "ariaLabel",
152
+ isSignal: true,
153
+ isRequired: false,
154
+ transformFunction: null
155
+ },
156
+ hexAriaLabel: {
157
+ classPropertyName: "hexAriaLabel",
158
+ publicName: "hexAriaLabel",
159
+ isSignal: true,
160
+ isRequired: false,
161
+ transformFunction: null
162
+ },
163
+ swatchesAriaLabel: {
164
+ classPropertyName: "swatchesAriaLabel",
165
+ publicName: "swatchesAriaLabel",
166
+ isSignal: true,
167
+ isRequired: false,
168
+ transformFunction: null
169
+ }
170
+ },
171
+ outputs: { colorChange: "colorChange" },
172
+ providers: [{
173
+ provide: NG_VALUE_ACCESSOR,
174
+ useExisting: forwardRef(() => ColorPickerComponent),
175
+ multi: true
176
+ }],
177
+ viewQueries: [{
178
+ propertyName: "swatchButtons",
179
+ predicate: ["swatchBtn"],
180
+ descendants: true,
181
+ isSignal: true
182
+ }],
183
+ ngImport: i0,
184
+ template: "<div [class]=\"pickerClasses()\">\n @if (label()) {\n <label class=\"color-picker__label\" [for]=\"inputId\">{{ label() }}</label>\n }\n <div class=\"color-picker__preview-row\">\n <input\n type=\"color\"\n [id]=\"inputId\"\n class=\"color-picker__native\"\n [value]=\"value()\"\n [disabled]=\"isDisabled()\"\n (input)=\"onNativeInput($event)\"\n (blur)=\"onBlur()\"\n [attr.aria-label]=\"label() ? null : ariaLabel()\"\n />\n <span\n class=\"color-picker__swatch-preview\"\n [style.background-color]=\"value()\"\n aria-hidden=\"true\"\n ></span>\n @if (showInput()) {\n <input\n type=\"text\"\n class=\"color-picker__hex-input\"\n [value]=\"value()\"\n [disabled]=\"isDisabled()\"\n maxlength=\"7\"\n (input)=\"onHexInput($event)\"\n (blur)=\"onBlur()\"\n [attr.aria-label]=\"(label() ? label() + ' – ' : '') + hexAriaLabel()\"\n />\n }\n </div>\n @if (swatches().length > 0) {\n <div\n class=\"color-picker__swatches\"\n role=\"radiogroup\"\n [attr.aria-label]=\"(label() ? label() + ' – ' : '') + swatchesAriaLabel()\"\n >\n @for (swatch of swatches(); track swatch; let i = $index) {\n <button\n #swatchBtn\n type=\"button\"\n class=\"color-picker__swatch\"\n role=\"radio\"\n [class.color-picker__swatch--selected]=\"swatch === value()\"\n [class.color-picker__swatch--light]=\"swatch === '#ffffff'\"\n [style.background-color]=\"swatch\"\n [disabled]=\"isDisabled()\"\n [tabindex]=\"i === focusableSwatchIndex() ? 0 : -1\"\n [attr.aria-label]=\"swatch\"\n [attr.aria-checked]=\"swatch === value()\"\n (click)=\"selectSwatch(swatch)\"\n (keydown)=\"onSwatchKeydown($event, i)\"\n (blur)=\"onBlur()\"\n ></button>\n }\n </div>\n }\n</div>\n",
185
+ styles: [".color-picker{display:inline-flex;flex-direction:column;gap:.5rem}.color-picker__label{font-size:var(--typography-font-size-sm, .875rem);font-weight:var(--typography-font-weight-medium, 500);color:var(--color-text-secondary)}.color-picker__preview-row{display:flex;align-items:center;gap:.5rem}.color-picker__native{width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--color-border);border-radius:var(--border-radius-md);cursor:pointer;background:none}.color-picker__native::-webkit-color-swatch-wrapper{padding:2px}.color-picker__native::-webkit-color-swatch{border:none;border-radius:var(--border-radius-sm)}.color-picker__native::-moz-color-swatch{border:none;border-radius:var(--border-radius-sm)}.color-picker__native:disabled{cursor:not-allowed;opacity:.5}.color-picker__swatch-preview{display:block;width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid var(--color-border);flex-shrink:0}.color-picker__hex-input{width:5.5rem;padding:.375rem .5rem;border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--typography-font-size-sm, .875rem);font-family:var(--typography-font-family-mono, monospace);color:var(--color-text-primary);background:var(--color-surface-2)}.color-picker__hex-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #20849733}.color-picker__hex-input:disabled{cursor:not-allowed;opacity:.5}.color-picker__swatches{display:flex;flex-wrap:wrap;gap:.375rem;max-width:16rem}.color-picker__swatch{width:1.5rem;height:1.5rem;border-radius:var(--border-radius-sm);border:2px solid transparent;cursor:pointer;transition:transform .1s ease,border-color .1s ease;padding:0}.color-picker__swatch:hover:not(:disabled){transform:scale(1.15)}.color-picker__swatch:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.color-picker__swatch--selected{border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-primary-500)}.color-picker__swatch--light{border-color:var(--color-border)}.color-picker__swatch:disabled{cursor:not-allowed;opacity:.5}.color-picker--disabled{opacity:.5;pointer-events:none}\n"],
186
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
187
+ });
188
+ };
189
+ i0.ɵɵngDeclareClassMetadata({
190
+ minVersion: "12.0.0",
191
+ version: "22.2.2",
192
+ ngImport: i0,
193
+ type: ColorPickerComponent,
194
+ decorators: [{
195
+ type: Component,
196
+ args: [{
197
+ selector: "lc-color-picker",
198
+ standalone: true,
199
+ changeDetection: ChangeDetectionStrategy.OnPush,
200
+ providers: [{
201
+ provide: NG_VALUE_ACCESSOR,
202
+ useExisting: forwardRef(() => ColorPickerComponent),
203
+ multi: true
204
+ }],
205
+ template: "<div [class]=\"pickerClasses()\">\n @if (label()) {\n <label class=\"color-picker__label\" [for]=\"inputId\">{{ label() }}</label>\n }\n <div class=\"color-picker__preview-row\">\n <input\n type=\"color\"\n [id]=\"inputId\"\n class=\"color-picker__native\"\n [value]=\"value()\"\n [disabled]=\"isDisabled()\"\n (input)=\"onNativeInput($event)\"\n (blur)=\"onBlur()\"\n [attr.aria-label]=\"label() ? null : ariaLabel()\"\n />\n <span\n class=\"color-picker__swatch-preview\"\n [style.background-color]=\"value()\"\n aria-hidden=\"true\"\n ></span>\n @if (showInput()) {\n <input\n type=\"text\"\n class=\"color-picker__hex-input\"\n [value]=\"value()\"\n [disabled]=\"isDisabled()\"\n maxlength=\"7\"\n (input)=\"onHexInput($event)\"\n (blur)=\"onBlur()\"\n [attr.aria-label]=\"(label() ? label() + ' – ' : '') + hexAriaLabel()\"\n />\n }\n </div>\n @if (swatches().length > 0) {\n <div\n class=\"color-picker__swatches\"\n role=\"radiogroup\"\n [attr.aria-label]=\"(label() ? label() + ' – ' : '') + swatchesAriaLabel()\"\n >\n @for (swatch of swatches(); track swatch; let i = $index) {\n <button\n #swatchBtn\n type=\"button\"\n class=\"color-picker__swatch\"\n role=\"radio\"\n [class.color-picker__swatch--selected]=\"swatch === value()\"\n [class.color-picker__swatch--light]=\"swatch === '#ffffff'\"\n [style.background-color]=\"swatch\"\n [disabled]=\"isDisabled()\"\n [tabindex]=\"i === focusableSwatchIndex() ? 0 : -1\"\n [attr.aria-label]=\"swatch\"\n [attr.aria-checked]=\"swatch === value()\"\n (click)=\"selectSwatch(swatch)\"\n (keydown)=\"onSwatchKeydown($event, i)\"\n (blur)=\"onBlur()\"\n ></button>\n }\n </div>\n }\n</div>\n",
206
+ styles: [".color-picker{display:inline-flex;flex-direction:column;gap:.5rem}.color-picker__label{font-size:var(--typography-font-size-sm, .875rem);font-weight:var(--typography-font-weight-medium, 500);color:var(--color-text-secondary)}.color-picker__preview-row{display:flex;align-items:center;gap:.5rem}.color-picker__native{width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--color-border);border-radius:var(--border-radius-md);cursor:pointer;background:none}.color-picker__native::-webkit-color-swatch-wrapper{padding:2px}.color-picker__native::-webkit-color-swatch{border:none;border-radius:var(--border-radius-sm)}.color-picker__native::-moz-color-swatch{border:none;border-radius:var(--border-radius-sm)}.color-picker__native:disabled{cursor:not-allowed;opacity:.5}.color-picker__swatch-preview{display:block;width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid var(--color-border);flex-shrink:0}.color-picker__hex-input{width:5.5rem;padding:.375rem .5rem;border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--typography-font-size-sm, .875rem);font-family:var(--typography-font-family-mono, monospace);color:var(--color-text-primary);background:var(--color-surface-2)}.color-picker__hex-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #20849733}.color-picker__hex-input:disabled{cursor:not-allowed;opacity:.5}.color-picker__swatches{display:flex;flex-wrap:wrap;gap:.375rem;max-width:16rem}.color-picker__swatch{width:1.5rem;height:1.5rem;border-radius:var(--border-radius-sm);border:2px solid transparent;cursor:pointer;transition:transform .1s ease,border-color .1s ease;padding:0}.color-picker__swatch:hover:not(:disabled){transform:scale(1.15)}.color-picker__swatch:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.color-picker__swatch--selected{border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-primary-500)}.color-picker__swatch--light{border-color:var(--color-border)}.color-picker__swatch:disabled{cursor:not-allowed;opacity:.5}.color-picker--disabled{opacity:.5;pointer-events:none}\n"]
207
+ }]
208
+ }],
209
+ propDecorators: {
210
+ label: [{
211
+ type: i0.Input,
212
+ args: [{
213
+ isSignal: true,
214
+ alias: "label",
215
+ required: false
216
+ }]
217
+ }],
218
+ swatches: [{
219
+ type: i0.Input,
220
+ args: [{
221
+ isSignal: true,
222
+ alias: "swatches",
223
+ required: false
224
+ }]
225
+ }],
226
+ showInput: [{
227
+ type: i0.Input,
228
+ args: [{
229
+ isSignal: true,
230
+ alias: "showInput",
231
+ required: false
232
+ }]
233
+ }],
234
+ disabled: [{
235
+ type: i0.Input,
236
+ args: [{
237
+ isSignal: true,
238
+ alias: "disabled",
239
+ required: false
240
+ }]
241
+ }],
242
+ ariaLabel: [{
243
+ type: i0.Input,
244
+ args: [{
245
+ isSignal: true,
246
+ alias: "ariaLabel",
247
+ required: false
248
+ }]
249
+ }],
250
+ hexAriaLabel: [{
251
+ type: i0.Input,
252
+ args: [{
253
+ isSignal: true,
254
+ alias: "hexAriaLabel",
255
+ required: false
256
+ }]
257
+ }],
258
+ swatchesAriaLabel: [{
259
+ type: i0.Input,
260
+ args: [{
261
+ isSignal: true,
262
+ alias: "swatchesAriaLabel",
263
+ required: false
264
+ }]
265
+ }],
266
+ colorChange: [{
267
+ type: i0.Output,
268
+ args: ["colorChange"]
269
+ }],
270
+ swatchButtons: [{
271
+ type: i0.ViewChildren,
272
+ args: ["swatchBtn", { isSignal: true }]
273
+ }]
274
+ }
275
+ });
276
+ export { ColorPickerComponent };
277
+
278
+ //# sourceMappingURL=lifecorner-angular-ui-kit-color-picker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecorner-angular-ui-kit-color-picker.mjs","names":[],"sources":["../../../../libs/angular-ui-kit/src/lib/color-picker/color-picker.component.ts","../../../../libs/angular-ui-kit/src/lib/color-picker/color-picker.component.html"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n input,\n output,\n computed,\n signal,\n forwardRef,\n viewChildren,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst DEFAULT_SWATCHES = [\n '#ef4444', '#f97316', '#eab308', '#22c55e', '#14b8a6',\n '#3b82f6', '#6366f1', '#8b5cf6', '#ec4899', '#f43f5e',\n '#0ea5e9', '#10b981', '#a855f7', '#64748b', '#000000',\n '#ffffff',\n];\n\n@Component({\n selector: 'lc-color-picker',\n standalone: true,\n templateUrl: './color-picker.component.html',\n styleUrls: ['./color-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorPickerComponent),\n multi: true,\n },\n ],\n})\n/**\n * Color picker component for selecting colors from swatches or custom input.\n *\n * Features:\n * - Predefined color swatch palette (a radiogroup: arrow keys move between swatches)\n * - Native browser color picker integration\n * - Hex color text input with validation\n * - Disabled state support\n * - ControlValueAccessor integration for reactive forms\n *\n * @example\n * ```html\n * <lc-color-picker label=\"Brand Color\" [showInput]=\"true\" />\n * ```\n */\nexport class ColorPickerComponent implements ControlValueAccessor {\n private static nextId = 0;\n\n /** Label text */\n label = input<string>();\n\n /** Predefined color swatches */\n swatches = input<string[]>(DEFAULT_SWATCHES);\n\n /** Whether to show the hex input field */\n showInput = input<boolean>(true);\n\n /** Whether the picker is disabled */\n disabled = input<boolean>(false);\n\n /** Accessible name of the picker when no visible `label` is set. */\n ariaLabel = input('Color picker');\n\n /** Accessible name of the hex field (after `label` and a dash when set). */\n hexAriaLabel = input('Hex color value');\n\n /** Accessible name of the swatch group (after `label` and a dash when set). */\n swatchesAriaLabel = input('Color swatches');\n\n /** Emits the selected color hex value */\n colorChange = output<string>();\n\n /** Per-instance id wiring the label to the native colour input. */\n readonly inputId = `lc-color-picker-${++ColorPickerComponent.nextId}`;\n\n protected value = signal('#3b82f6');\n\n /** Disabled through the form control (`setDisabledState`), as opposed to the input. */\n private readonly formDisabled = signal(false);\n\n /** Disabled by either route — the one flag the template consults. */\n protected readonly isDisabled = computed(() => this.disabled() || this.formDisabled());\n\n private readonly swatchButtons = viewChildren<ElementRef<HTMLButtonElement>>('swatchBtn');\n\n /**\n * The swatch carrying the group's single tab stop (roving tabindex): the\n * selected one, or the first when the current colour is not in the palette.\n */\n protected readonly focusableSwatchIndex = computed(() => {\n const index = this.swatches().indexOf(this.value());\n return index >= 0 ? index : 0;\n });\n\n protected pickerClasses = computed(() => {\n const classes = ['color-picker'];\n if (this.isDisabled()) classes.push('color-picker--disabled');\n return classes.join(' ');\n });\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private onChange: (val: string) => void = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private onTouched: () => void = () => {};\n\n protected selectSwatch(color: string): void {\n if (this.isDisabled()) return;\n this.setValue(color);\n }\n\n /** Arrow keys / Home / End move selection (and focus) through the palette like a radiogroup. */\n protected onSwatchKeydown(event: KeyboardEvent, index: number): void {\n if (this.isDisabled()) return;\n const count = this.swatches().length;\n let next: number;\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n next = (index + 1) % count;\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n next = (index - 1 + count) % count;\n break;\n case 'Home':\n next = 0;\n break;\n case 'End':\n next = count - 1;\n break;\n default:\n return;\n }\n event.preventDefault();\n this.selectSwatch(this.swatches()[next]);\n this.swatchButtons()[next]?.nativeElement.focus();\n }\n\n protected onNativeInput(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.setValue(target.value);\n }\n\n protected onHexInput(event: Event): void {\n const target = event.target as HTMLInputElement;\n let val = target.value.trim();\n if (!val.startsWith('#')) val = '#' + val;\n if (/^#[0-9a-fA-F]{6}$/.test(val)) {\n this.setValue(val);\n }\n }\n\n protected onBlur(): void {\n this.onTouched();\n }\n\n private setValue(color: string): void {\n this.value.set(color);\n this.colorChange.emit(color);\n this.onChange(color);\n }\n\n // ControlValueAccessor\n writeValue(val: string): void {\n this.value.set(val ?? '#3b82f6');\n }\n\n registerOnChange(fn: (val: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.formDisabled.set(isDisabled);\n }\n}\n","<div [class]=\"pickerClasses()\">\n @if (label()) {\n <label class=\"color-picker__label\" [for]=\"inputId\">{{ label() }}</label>\n }\n <div class=\"color-picker__preview-row\">\n <input\n type=\"color\"\n [id]=\"inputId\"\n class=\"color-picker__native\"\n [value]=\"value()\"\n [disabled]=\"isDisabled()\"\n (input)=\"onNativeInput($event)\"\n (blur)=\"onBlur()\"\n [attr.aria-label]=\"label() ? null : ariaLabel()\"\n />\n <span\n class=\"color-picker__swatch-preview\"\n [style.background-color]=\"value()\"\n aria-hidden=\"true\"\n ></span>\n @if (showInput()) {\n <input\n type=\"text\"\n class=\"color-picker__hex-input\"\n [value]=\"value()\"\n [disabled]=\"isDisabled()\"\n maxlength=\"7\"\n (input)=\"onHexInput($event)\"\n (blur)=\"onBlur()\"\n [attr.aria-label]=\"(label() ? label() + ' – ' : '') + hexAriaLabel()\"\n />\n }\n </div>\n @if (swatches().length > 0) {\n <div\n class=\"color-picker__swatches\"\n role=\"radiogroup\"\n [attr.aria-label]=\"(label() ? label() + ' – ' : '') + swatchesAriaLabel()\"\n >\n @for (swatch of swatches(); track swatch; let i = $index) {\n <button\n #swatchBtn\n type=\"button\"\n class=\"color-picker__swatch\"\n role=\"radio\"\n [class.color-picker__swatch--selected]=\"swatch === value()\"\n [class.color-picker__swatch--light]=\"swatch === '#ffffff'\"\n [style.background-color]=\"swatch\"\n [disabled]=\"isDisabled()\"\n [tabindex]=\"i === focusableSwatchIndex() ? 0 : -1\"\n [attr.aria-label]=\"swatch\"\n [attr.aria-checked]=\"swatch === value()\"\n (click)=\"selectSwatch(swatch)\"\n (keydown)=\"onSwatchKeydown($event, i)\"\n (blur)=\"onBlur()\"\n ></button>\n }\n </div>\n }\n</div>\n"],"mappings":"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"}