@spartan-ng/cli 1.7.0 → 1.8.0-beta.2

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 (380) hide show
  1. package/README.md +4 -0
  2. package/package.json +1 -1
  3. package/src/generators/healthcheck/healthchecks/brn-collapsible.js +3 -4
  4. package/src/generators/healthcheck/healthchecks/brn-collapsible.js.map +1 -1
  5. package/src/generators/migrate-collapsible/generator.js +3 -4
  6. package/src/generators/migrate-collapsible/generator.js.map +1 -1
  7. package/src/generators/migrate-collapsible/helm-collapsible-files.d.ts +6 -0
  8. package/src/generators/migrate-collapsible/helm-collapsible-files.js +17 -0
  9. package/src/generators/migrate-collapsible/helm-collapsible-files.js.map +1 -0
  10. package/src/generators/ui/generator.js +4 -1
  11. package/src/generators/ui/generator.js.map +1 -1
  12. package/src/generators/ui/libs/accordion/files/lib/hlm-accordion-content-lazy.ts.template +1 -0
  13. package/src/generators/ui/libs/accordion/files/lib/hlm-accordion-content.ts.template +1 -0
  14. package/src/generators/ui/libs/accordion/files/lib/hlm-accordion-item.ts.template +1 -0
  15. package/src/generators/ui/libs/accordion/files/lib/hlm-accordion-trigger.ts.template +1 -0
  16. package/src/generators/ui/libs/accordion/files/lib/hlm-accordion.ts.template +1 -0
  17. package/src/generators/ui/libs/alert/files/lib/hlm-alert-action.ts.template +1 -0
  18. package/src/generators/ui/libs/alert/files/lib/hlm-alert-description.ts.template +1 -0
  19. package/src/generators/ui/libs/alert/files/lib/hlm-alert-title.ts.template +1 -0
  20. package/src/generators/ui/libs/alert/files/lib/hlm-alert.ts.template +1 -0
  21. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-action.ts.template +1 -0
  22. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-cancel.ts.template +1 -0
  23. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-content.ts.template +1 -0
  24. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-description.ts.template +1 -0
  25. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-footer.ts.template +1 -0
  26. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-header.ts.template +1 -0
  27. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-media.ts.template +1 -0
  28. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-overlay.ts.template +1 -0
  29. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-portal.ts.template +1 -0
  30. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-title.ts.template +1 -0
  31. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-trigger.ts.template +1 -0
  32. package/src/generators/ui/libs/aspect-ratio/files/lib/hlm-aspect-ratio.ts.template +1 -0
  33. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-action.ts.template +1 -0
  34. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-actions.ts.template +1 -0
  35. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-content.ts.template +1 -0
  36. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-description.ts.template +1 -0
  37. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-group.ts.template +1 -0
  38. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-media.ts.template +1 -0
  39. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-title.ts.template +1 -0
  40. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-trigger.ts.template +1 -0
  41. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment.ts.template +1 -0
  42. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-content.ts.template +1 -0
  43. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-empty.ts.template +1 -0
  44. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-group.ts.template +1 -0
  45. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-input.ts.template +1 -0
  46. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-item.ts.template +1 -0
  47. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-label.ts.template +1 -0
  48. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-list.ts.template +1 -0
  49. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-portal.ts.template +1 -0
  50. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-search.ts.template +1 -0
  51. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-separator.ts.template +1 -0
  52. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-status.ts.template +1 -0
  53. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete.ts.template +1 -0
  54. package/src/generators/ui/libs/avatar/files/lib/hlm-avatar-badge.ts.template +1 -0
  55. package/src/generators/ui/libs/avatar/files/lib/hlm-avatar-group-count.ts.template +1 -0
  56. package/src/generators/ui/libs/avatar/files/lib/hlm-avatar-group.ts.template +1 -0
  57. package/src/generators/ui/libs/avatar/files/lib/hlm-avatar.ts.template +1 -0
  58. package/src/generators/ui/libs/badge/files/lib/hlm-badge.ts.template +1 -0
  59. package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-ellipsis.ts.template +1 -0
  60. package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-item.ts.template +1 -0
  61. package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-link.ts.template +1 -0
  62. package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-list.ts.template +1 -0
  63. package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-page.ts.template +1 -0
  64. package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-separator.ts.template +1 -0
  65. package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb.ts.template +1 -0
  66. package/src/generators/ui/libs/bubble/files/lib/hlm-bubble-content.ts.template +1 -0
  67. package/src/generators/ui/libs/bubble/files/lib/hlm-bubble-group.ts.template +1 -0
  68. package/src/generators/ui/libs/bubble/files/lib/hlm-bubble-reactions.ts.template +1 -0
  69. package/src/generators/ui/libs/bubble/files/lib/hlm-bubble.ts.template +1 -0
  70. package/src/generators/ui/libs/button-group/files/lib/hlm-button-group-separator.ts.template +1 -0
  71. package/src/generators/ui/libs/button-group/files/lib/hlm-button-group-text.ts.template +1 -0
  72. package/src/generators/ui/libs/button-group/files/lib/hlm-button-group.ts.template +1 -0
  73. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-multi.ts.template +1 -0
  74. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-range.ts.template +1 -0
  75. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar.ts.template +1 -0
  76. package/src/generators/ui/libs/calendar/files/lib/hlm-month-year-calendar.ts.template +1 -0
  77. package/src/generators/ui/libs/card/files/lib/hlm-card-action.ts.template +1 -0
  78. package/src/generators/ui/libs/card/files/lib/hlm-card-content.ts.template +1 -0
  79. package/src/generators/ui/libs/card/files/lib/hlm-card-description.ts.template +1 -0
  80. package/src/generators/ui/libs/card/files/lib/hlm-card-footer.ts.template +1 -0
  81. package/src/generators/ui/libs/card/files/lib/hlm-card-header.ts.template +1 -0
  82. package/src/generators/ui/libs/card/files/lib/hlm-card-title.ts.template +1 -0
  83. package/src/generators/ui/libs/card/files/lib/hlm-card.ts.template +1 -0
  84. package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-content.ts.template +1 -0
  85. package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-item.ts.template +1 -0
  86. package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-next.ts.template +1 -0
  87. package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-previous.ts.template +1 -0
  88. package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-slide-display.ts.template +1 -0
  89. package/src/generators/ui/libs/carousel/files/lib/hlm-carousel.ts.template +1 -0
  90. package/src/generators/ui/libs/chart/files/lib/hlm-chart.ts.template +1 -0
  91. package/src/generators/ui/libs/checkbox/files/lib/hlm-checkbox.ts.template +1 -0
  92. package/src/generators/ui/libs/code-block/files/index.ts.template +28 -0
  93. package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-actions.ts.template +16 -0
  94. package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-content.ts.template +85 -0
  95. package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-copy-button.ts.template +62 -0
  96. package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-footer.ts.template +13 -0
  97. package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-header.ts.template +16 -0
  98. package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-line.ts.template +42 -0
  99. package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-title.ts.template +16 -0
  100. package/src/generators/ui/libs/code-block/files/lib/hlm-code-block.ts.template +34 -0
  101. package/src/generators/ui/libs/code-block/generator.d.ts +3 -0
  102. package/src/generators/ui/libs/code-block/generator.js +9 -0
  103. package/src/generators/ui/libs/code-block/generator.js.map +1 -0
  104. package/src/generators/ui/libs/collapsible/files/lib/hlm-collapsible-content.ts.template +1 -0
  105. package/src/generators/ui/libs/collapsible/files/lib/hlm-collapsible-trigger.ts.template +1 -0
  106. package/src/generators/ui/libs/collapsible/files/lib/hlm-collapsible.ts.template +1 -0
  107. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-chip-input.ts.template +1 -0
  108. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-chip-remove.ts.template +1 -0
  109. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-chip.ts.template +1 -0
  110. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-chips.ts.template +1 -0
  111. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-content.ts.template +1 -0
  112. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-empty.ts.template +1 -0
  113. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-group.ts.template +1 -0
  114. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-input.ts.template +1 -0
  115. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-item.ts.template +1 -0
  116. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-label.ts.template +1 -0
  117. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-list.ts.template +1 -0
  118. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-multiple.ts.template +1 -0
  119. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-placeholder.ts.template +1 -0
  120. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-portal.ts.template +1 -0
  121. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-separator.ts.template +1 -0
  122. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-status.ts.template +1 -0
  123. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-trigger.ts.template +1 -0
  124. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-value-template.ts.template +5 -1
  125. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-value.ts.template +1 -0
  126. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-values.ts.template +1 -1
  127. package/src/generators/ui/libs/combobox/files/lib/hlm-combobox.ts.template +1 -0
  128. package/src/generators/ui/libs/command/files/lib/hlm-command-dialog.ts.template +1 -0
  129. package/src/generators/ui/libs/command/files/lib/hlm-command-empty-state.ts.template +1 -0
  130. package/src/generators/ui/libs/command/files/lib/hlm-command-empty.ts.template +1 -0
  131. package/src/generators/ui/libs/command/files/lib/hlm-command-group-label.ts.template +1 -0
  132. package/src/generators/ui/libs/command/files/lib/hlm-command-group.ts.template +1 -0
  133. package/src/generators/ui/libs/command/files/lib/hlm-command-input.ts.template +1 -0
  134. package/src/generators/ui/libs/command/files/lib/hlm-command-item.ts.template +1 -0
  135. package/src/generators/ui/libs/command/files/lib/hlm-command-list.ts.template +1 -0
  136. package/src/generators/ui/libs/command/files/lib/hlm-command-separator.ts.template +1 -0
  137. package/src/generators/ui/libs/command/files/lib/hlm-command-shortcut.ts.template +1 -0
  138. package/src/generators/ui/libs/command/files/lib/hlm-command.ts.template +1 -0
  139. package/src/generators/ui/libs/context-menu/files/lib/hlm-context-menu-trigger.ts.template +1 -0
  140. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-multi-input.ts.template +1 -0
  141. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker-anchor.ts.template +1 -1
  142. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker-input.ts.template +1 -0
  143. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker-multi.ts.template +1 -0
  144. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker-trigger.ts.template +1 -0
  145. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker.ts.template +1 -0
  146. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-range-input.ts.template +1 -0
  147. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-range-picker.ts.template +1 -0
  148. package/src/generators/ui/libs/date-picker/files/lib/hlm-month-year-input.ts.template +1 -0
  149. package/src/generators/ui/libs/date-picker/files/lib/hlm-month-year-picker.ts.template +1 -0
  150. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-close.ts.template +1 -0
  151. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-content.ts.template +1 -0
  152. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-description.ts.template +1 -0
  153. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-footer.ts.template +1 -0
  154. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-header.ts.template +1 -0
  155. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-overlay.ts.template +1 -0
  156. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-portal.ts.template +1 -0
  157. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-title.ts.template +1 -0
  158. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-trigger.ts.template +1 -0
  159. package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-close.ts.template +1 -0
  160. package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-content.ts.template +1 -0
  161. package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-description.ts.template +1 -0
  162. package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-footer.ts.template +1 -0
  163. package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-header.ts.template +1 -0
  164. package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-overlay.ts.template +1 -0
  165. package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-portal.ts.template +1 -0
  166. package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-title.ts.template +1 -0
  167. package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-trigger.ts.template +1 -0
  168. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-checkbox-indicator.ts.template +1 -0
  169. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-checkbox.ts.template +2 -0
  170. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-focus-on-hover.ts.template +1 -0
  171. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-group.ts.template +1 -0
  172. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-item-sub-indicator.ts.template +1 -0
  173. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-item.ts.template +1 -0
  174. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-label.ts.template +1 -0
  175. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-radio-indicator.ts.template +1 -0
  176. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-radio.ts.template +2 -0
  177. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-separator.ts.template +1 -0
  178. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-shortcut.ts.template +1 -0
  179. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-sub-trigger.ts.template +1 -0
  180. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-sub.ts.template +1 -0
  181. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-trigger.ts.template +1 -0
  182. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu.ts.template +1 -0
  183. package/src/generators/ui/libs/empty/files/lib/hlm-empty-content.ts.template +1 -0
  184. package/src/generators/ui/libs/empty/files/lib/hlm-empty-description.ts.template +1 -0
  185. package/src/generators/ui/libs/empty/files/lib/hlm-empty-header.ts.template +1 -0
  186. package/src/generators/ui/libs/empty/files/lib/hlm-empty-media.ts.template +1 -0
  187. package/src/generators/ui/libs/empty/files/lib/hlm-empty-title.ts.template +1 -0
  188. package/src/generators/ui/libs/empty/files/lib/hlm-empty.ts.template +1 -0
  189. package/src/generators/ui/libs/field/files/lib/hlm-field-content.ts.template +1 -0
  190. package/src/generators/ui/libs/field/files/lib/hlm-field-description.ts.template +1 -0
  191. package/src/generators/ui/libs/field/files/lib/hlm-field-error.ts.template +1 -0
  192. package/src/generators/ui/libs/field/files/lib/hlm-field-group.ts.template +1 -0
  193. package/src/generators/ui/libs/field/files/lib/hlm-field-label.ts.template +1 -0
  194. package/src/generators/ui/libs/field/files/lib/hlm-field-legend.ts.template +1 -0
  195. package/src/generators/ui/libs/field/files/lib/hlm-field-separator.ts.template +1 -0
  196. package/src/generators/ui/libs/field/files/lib/hlm-field-set.ts.template +1 -0
  197. package/src/generators/ui/libs/field/files/lib/hlm-field-title.ts.template +1 -0
  198. package/src/generators/ui/libs/field/files/lib/hlm-field.ts.template +1 -0
  199. package/src/generators/ui/libs/hover-card/files/lib/hlm-hover-card-content.ts.template +1 -0
  200. package/src/generators/ui/libs/hover-card/files/lib/hlm-hover-card-portal.ts.template +1 -0
  201. package/src/generators/ui/libs/hover-card/files/lib/hlm-hover-card-trigger.ts.template +1 -0
  202. package/src/generators/ui/libs/hover-card/files/lib/hlm-hover-card.ts.template +1 -0
  203. package/src/generators/ui/libs/input/files/lib/hlm-input.ts.template +1 -0
  204. package/src/generators/ui/libs/input-group/files/lib/hlm-input-group-addon.ts.template +1 -0
  205. package/src/generators/ui/libs/input-group/files/lib/hlm-input-group-button.ts.template +1 -0
  206. package/src/generators/ui/libs/input-group/files/lib/hlm-input-group-input.ts.template +1 -0
  207. package/src/generators/ui/libs/input-group/files/lib/hlm-input-group-text.ts.template +1 -0
  208. package/src/generators/ui/libs/input-group/files/lib/hlm-input-group-textarea.ts.template +1 -0
  209. package/src/generators/ui/libs/input-group/files/lib/hlm-input-group.ts.template +1 -0
  210. package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp-fake-caret.ts.template +1 -0
  211. package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp-group.ts.template +1 -0
  212. package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp-separator.ts.template +1 -0
  213. package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp-slot.ts.template +1 -0
  214. package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp.ts.template +1 -0
  215. package/src/generators/ui/libs/item/files/lib/hlm-item-actions.ts.template +1 -0
  216. package/src/generators/ui/libs/item/files/lib/hlm-item-content.ts.template +1 -0
  217. package/src/generators/ui/libs/item/files/lib/hlm-item-description.ts.template +1 -0
  218. package/src/generators/ui/libs/item/files/lib/hlm-item-footer.ts.template +1 -0
  219. package/src/generators/ui/libs/item/files/lib/hlm-item-group.ts.template +1 -0
  220. package/src/generators/ui/libs/item/files/lib/hlm-item-header.ts.template +1 -0
  221. package/src/generators/ui/libs/item/files/lib/hlm-item-media.ts.template +1 -0
  222. package/src/generators/ui/libs/item/files/lib/hlm-item-separator.ts.template +1 -0
  223. package/src/generators/ui/libs/item/files/lib/hlm-item-title.ts.template +1 -0
  224. package/src/generators/ui/libs/item/files/lib/hlm-item.ts.template +1 -0
  225. package/src/generators/ui/libs/kbd/files/lib/hlm-kbd-group.ts.template +1 -0
  226. package/src/generators/ui/libs/kbd/files/lib/hlm-kbd.ts.template +1 -0
  227. package/src/generators/ui/libs/label/files/lib/hlm-label.ts.template +1 -0
  228. package/src/generators/ui/libs/marker/files/lib/hlm-marker-content.ts.template +1 -0
  229. package/src/generators/ui/libs/marker/files/lib/hlm-marker-icon.ts.template +1 -0
  230. package/src/generators/ui/libs/marker/files/lib/hlm-marker.ts.template +1 -0
  231. package/src/generators/ui/libs/menubar/files/lib/hlm-menubar-trigger.ts.template +1 -0
  232. package/src/generators/ui/libs/menubar/files/lib/hlm-menubar.ts.template +1 -0
  233. package/src/generators/ui/libs/message/files/lib/hlm-message-avatar.ts.template +1 -0
  234. package/src/generators/ui/libs/message/files/lib/hlm-message-content.ts.template +1 -0
  235. package/src/generators/ui/libs/message/files/lib/hlm-message-footer.ts.template +1 -0
  236. package/src/generators/ui/libs/message/files/lib/hlm-message-group.ts.template +1 -0
  237. package/src/generators/ui/libs/message/files/lib/hlm-message-header.ts.template +1 -0
  238. package/src/generators/ui/libs/message/files/lib/hlm-message.ts.template +1 -0
  239. package/src/generators/ui/libs/message-scroller/files/lib/hlm-message-scroller-button.ts.template +1 -0
  240. package/src/generators/ui/libs/message-scroller/files/lib/hlm-message-scroller-content.ts.template +1 -0
  241. package/src/generators/ui/libs/message-scroller/files/lib/hlm-message-scroller-item.ts.template +1 -0
  242. package/src/generators/ui/libs/message-scroller/files/lib/hlm-message-scroller-provider.ts.template +1 -0
  243. package/src/generators/ui/libs/message-scroller/files/lib/hlm-message-scroller-viewport.ts.template +1 -0
  244. package/src/generators/ui/libs/message-scroller/files/lib/hlm-message-scroller.ts.template +1 -0
  245. package/src/generators/ui/libs/native-select/files/lib/hlm-native-select-opt-group.ts.template +1 -0
  246. package/src/generators/ui/libs/native-select/files/lib/hlm-native-select-option.ts.template +1 -0
  247. package/src/generators/ui/libs/native-select/files/lib/hlm-native-select.ts.template +1 -0
  248. package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu-content.ts.template +1 -0
  249. package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu-item.ts.template +1 -0
  250. package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu-link.ts.template +1 -0
  251. package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu-list.ts.template +1 -0
  252. package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu-portal.ts.template +1 -0
  253. package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu-trigger.ts.template +1 -0
  254. package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu.ts.template +1 -0
  255. package/src/generators/ui/libs/pagination/files/lib/hlm-numbered-pagination-query-params.ts.template +1 -0
  256. package/src/generators/ui/libs/pagination/files/lib/hlm-numbered-pagination.ts.template +1 -0
  257. package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-content.ts.template +1 -0
  258. package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-ellipsis.ts.template +1 -0
  259. package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-item.ts.template +1 -0
  260. package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-link.ts.template +1 -0
  261. package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-next.ts.template +1 -0
  262. package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-previous.ts.template +1 -0
  263. package/src/generators/ui/libs/pagination/files/lib/hlm-pagination.ts.template +1 -0
  264. package/src/generators/ui/libs/popover/files/lib/hlm-popover-content.ts.template +1 -0
  265. package/src/generators/ui/libs/popover/files/lib/hlm-popover-description.ts.template +1 -0
  266. package/src/generators/ui/libs/popover/files/lib/hlm-popover-header.ts.template +1 -0
  267. package/src/generators/ui/libs/popover/files/lib/hlm-popover-portal.ts.template +1 -0
  268. package/src/generators/ui/libs/popover/files/lib/hlm-popover-title.ts.template +1 -0
  269. package/src/generators/ui/libs/popover/files/lib/hlm-popover-trigger.ts.template +1 -0
  270. package/src/generators/ui/libs/popover/files/lib/hlm-popover.ts.template +1 -0
  271. package/src/generators/ui/libs/progress/files/lib/hlm-progress-indicator.ts.template +1 -0
  272. package/src/generators/ui/libs/progress/files/lib/hlm-progress.ts.template +1 -0
  273. package/src/generators/ui/libs/radio-group/files/lib/hlm-radio-group.ts.template +1 -0
  274. package/src/generators/ui/libs/radio-group/files/lib/hlm-radio-indicator.ts.template +1 -0
  275. package/src/generators/ui/libs/radio-group/files/lib/hlm-radio.ts.template +1 -0
  276. package/src/generators/ui/libs/resizable/files/lib/hlm-resizable-group.ts.template +1 -0
  277. package/src/generators/ui/libs/scroll-area/files/lib/hlm-scroll-area.ts.template +1 -0
  278. package/src/generators/ui/libs/select/files/lib/hlm-select-content.ts.template +1 -0
  279. package/src/generators/ui/libs/select/files/lib/hlm-select-group.ts.template +1 -0
  280. package/src/generators/ui/libs/select/files/lib/hlm-select-item.ts.template +1 -0
  281. package/src/generators/ui/libs/select/files/lib/hlm-select-label.ts.template +1 -0
  282. package/src/generators/ui/libs/select/files/lib/hlm-select-multiple.ts.template +1 -0
  283. package/src/generators/ui/libs/select/files/lib/hlm-select-placeholder.ts.template +1 -0
  284. package/src/generators/ui/libs/select/files/lib/hlm-select-portal.ts.template +1 -0
  285. package/src/generators/ui/libs/select/files/lib/hlm-select-scroll-down.ts.template +1 -0
  286. package/src/generators/ui/libs/select/files/lib/hlm-select-scroll-up.ts.template +1 -0
  287. package/src/generators/ui/libs/select/files/lib/hlm-select-separator.ts.template +1 -0
  288. package/src/generators/ui/libs/select/files/lib/hlm-select-trigger.ts.template +1 -0
  289. package/src/generators/ui/libs/select/files/lib/hlm-select-value-template.ts.template +5 -1
  290. package/src/generators/ui/libs/select/files/lib/hlm-select-value.ts.template +1 -0
  291. package/src/generators/ui/libs/select/files/lib/hlm-select-values-content.ts.template +1 -1
  292. package/src/generators/ui/libs/select/files/lib/hlm-select-values.ts.template +1 -1
  293. package/src/generators/ui/libs/select/files/lib/hlm-select.ts.template +1 -0
  294. package/src/generators/ui/libs/separator/files/lib/hlm-separator.ts.template +1 -0
  295. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-close.ts.template +1 -0
  296. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-content.ts.template +1 -0
  297. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-description.ts.template +1 -0
  298. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-footer.ts.template +1 -0
  299. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-header.ts.template +1 -0
  300. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-overlay.ts.template +1 -0
  301. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-portal.ts.template +1 -0
  302. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-title.ts.template +1 -0
  303. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-trigger.ts.template +1 -0
  304. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-content.ts.template +1 -0
  305. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-footer.ts.template +1 -0
  306. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-group-action.ts.template +1 -0
  307. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-group-content.ts.template +1 -0
  308. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-group-label.ts.template +1 -0
  309. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-group.ts.template +1 -0
  310. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-header.ts.template +1 -0
  311. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-input.ts.template +1 -0
  312. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-inset.ts.template +1 -0
  313. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-action.ts.template +1 -0
  314. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-badge.ts.template +1 -0
  315. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-button.ts.template +1 -0
  316. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-item.ts.template +1 -0
  317. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-skeleton.ts.template +1 -0
  318. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-sub-button.ts.template +1 -0
  319. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-sub-item.ts.template +1 -0
  320. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-sub.ts.template +1 -0
  321. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu.ts.template +1 -0
  322. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-rail.ts.template +1 -0
  323. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-separator.ts.template +1 -0
  324. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-trigger.ts.template +1 -0
  325. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-wrapper.ts.template +1 -0
  326. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar.ts.template +1 -0
  327. package/src/generators/ui/libs/skeleton/files/lib/hlm-skeleton.ts.template +1 -0
  328. package/src/generators/ui/libs/slider/files/lib/hlm-slider.ts.template +1 -0
  329. package/src/generators/ui/libs/sonner/files/lib/hlm-toaster.ts.template +1 -0
  330. package/src/generators/ui/libs/spinner/files/lib/hlm-spinner.ts.template +1 -0
  331. package/src/generators/ui/libs/switch/files/lib/hlm-switch-thumb.ts.template +1 -0
  332. package/src/generators/ui/libs/switch/files/lib/hlm-switch.ts.template +1 -0
  333. package/src/generators/ui/libs/table/files/lib/hlm-table.ts.template +9 -0
  334. package/src/generators/ui/libs/tabs/files/lib/hlm-tabs-content-lazy.ts.template +1 -0
  335. package/src/generators/ui/libs/tabs/files/lib/hlm-tabs-content.ts.template +1 -0
  336. package/src/generators/ui/libs/tabs/files/lib/hlm-tabs-list.ts.template +1 -0
  337. package/src/generators/ui/libs/tabs/files/lib/hlm-tabs-paginated-list.ts.template +1 -0
  338. package/src/generators/ui/libs/tabs/files/lib/hlm-tabs-trigger.ts.template +1 -0
  339. package/src/generators/ui/libs/tabs/files/lib/hlm-tabs.ts.template +1 -0
  340. package/src/generators/ui/libs/textarea/files/lib/hlm-textarea.ts.template +1 -0
  341. package/src/generators/ui/libs/toggle/files/lib/hlm-toggle.ts.template +1 -0
  342. package/src/generators/ui/libs/toggle-group/files/lib/hlm-toggle-group-item.ts.template +1 -0
  343. package/src/generators/ui/libs/toggle-group/files/lib/hlm-toggle-group.ts.template +1 -0
  344. package/src/generators/ui/libs/tooltip/files/lib/hlm-tooltip.ts.template +1 -0
  345. package/src/generators/ui/libs/trace/files/index.ts.template +28 -0
  346. package/src/generators/ui/libs/trace/files/lib/hlm-trace-collapsible-content.ts.template +34 -0
  347. package/src/generators/ui/libs/trace/files/lib/hlm-trace-collapsible-trigger.ts.template +31 -0
  348. package/src/generators/ui/libs/trace/files/lib/hlm-trace-collapsible.ts.template +21 -0
  349. package/src/generators/ui/libs/trace/files/lib/hlm-trace-description.ts.template +13 -0
  350. package/src/generators/ui/libs/trace/files/lib/hlm-trace-icon.ts.template +13 -0
  351. package/src/generators/ui/libs/trace/files/lib/hlm-trace-line.ts.template +18 -0
  352. package/src/generators/ui/libs/trace/files/lib/hlm-trace-title.ts.template +13 -0
  353. package/src/generators/ui/libs/trace/files/lib/hlm-trace.ts.template +16 -0
  354. package/src/generators/ui/libs/trace/generator.d.ts +3 -0
  355. package/src/generators/ui/libs/trace/generator.js +9 -0
  356. package/src/generators/ui/libs/trace/generator.js.map +1 -0
  357. package/src/generators/ui/libs/typography/files/lib/hlm-blockquote.ts.template +1 -0
  358. package/src/generators/ui/libs/typography/files/lib/hlm-code.ts.template +1 -0
  359. package/src/generators/ui/libs/typography/files/lib/hlm-h1.ts.template +1 -0
  360. package/src/generators/ui/libs/typography/files/lib/hlm-h2.ts.template +1 -0
  361. package/src/generators/ui/libs/typography/files/lib/hlm-h3.ts.template +1 -0
  362. package/src/generators/ui/libs/typography/files/lib/hlm-h4.ts.template +1 -0
  363. package/src/generators/ui/libs/typography/files/lib/hlm-large.ts.template +1 -0
  364. package/src/generators/ui/libs/typography/files/lib/hlm-lead.ts.template +1 -0
  365. package/src/generators/ui/libs/typography/files/lib/hlm-muted.ts.template +1 -0
  366. package/src/generators/ui/libs/typography/files/lib/hlm-p.ts.template +1 -0
  367. package/src/generators/ui/libs/typography/files/lib/hlm-small.ts.template +1 -0
  368. package/src/generators/ui/libs/typography/files/lib/hlm-ul.ts.template +1 -0
  369. package/src/generators/ui/primitive-deps.js +2 -0
  370. package/src/generators/ui/primitive-deps.js.map +1 -1
  371. package/src/generators/ui/primitives.d.ts +1 -1
  372. package/src/generators/ui/schema.d.ts +1 -1
  373. package/src/generators/ui/schema.json +1 -1
  374. package/src/generators/ui/style-luma.css +78 -0
  375. package/src/generators/ui/style-lyra.css +74 -0
  376. package/src/generators/ui/style-maia.css +74 -0
  377. package/src/generators/ui/style-mira.css +73 -0
  378. package/src/generators/ui/style-nova.css +74 -0
  379. package/src/generators/ui/style-vega.css +74 -0
  380. package/src/generators/ui/supported-ui-libraries.json +63 -43
@@ -3,6 +3,7 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmBreadcrumbList]',
6
+ exportAs: 'hlmBreadcrumbList',
6
7
  host: {
7
8
  'data-slot': 'breadcrumb-list',
8
9
  },
@@ -3,6 +3,7 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmBreadcrumbPage]',
6
+ exportAs: 'hlmBreadcrumbPage',
6
7
  host: {
7
8
  'data-slot': 'breadcrumb-page',
8
9
  role: 'link',
@@ -6,6 +6,7 @@ import { classes } from '<%- importAlias %>/utils';
6
6
  @Component({
7
7
  // eslint-disable-next-line @angular-eslint/component-selector
8
8
  selector: '[hlmBreadcrumbSeparator]',
9
+ exportAs: 'hlmBreadcrumbSeparator',
9
10
  imports: [NgIcon],
10
11
  providers: [provideIcons({ lucideChevronRight })],
11
12
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -2,6 +2,7 @@ import { Directive, input } from '@angular/core';
2
2
 
3
3
  @Directive({
4
4
  selector: '[hlmBreadcrumb]',
5
+ exportAs: 'hlmBreadcrumb',
5
6
  host: {
6
7
  'data-slot': 'breadcrumb',
7
8
  role: 'navigation',
@@ -3,6 +3,7 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmBubbleContent],hlm-bubble-content',
6
+ exportAs: 'hlmBubbleContent',
6
7
  host: { 'data-slot': 'bubble-content' },
7
8
  })
8
9
  export class HlmBubbleContent {
@@ -3,6 +3,7 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmBubbleGroup],hlm-bubble-group',
6
+ exportAs: 'hlmBubbleGroup',
6
7
  host: { 'data-slot': 'bubble-group' },
7
8
  })
8
9
  export class HlmBubbleGroup {
@@ -26,6 +26,7 @@ export type BubbleReactionsVariants = VariantProps<typeof bubbleReactionsVariant
26
26
 
27
27
  @Directive({
28
28
  selector: '[hlmBubbleReactions],hlm-bubble-reactions',
29
+ exportAs: 'hlmBubbleReactions',
29
30
  host: {
30
31
  'data-slot': 'bubble-reactions',
31
32
  '[attr.data-align]': 'align()',
@@ -27,6 +27,7 @@ export type BubbleAlign = 'start' | 'end';
27
27
 
28
28
  @Directive({
29
29
  selector: '[hlmBubble],hlm-bubble',
30
+ exportAs: 'hlmBubble',
30
31
  host: {
31
32
  'data-slot': 'bubble',
32
33
  '[attr.data-variant]': 'variant()',
@@ -4,6 +4,7 @@ import { classes } from '<%- importAlias %>/utils';
4
4
 
5
5
  @Directive({
6
6
  selector: '[hlmButtonGroupSeparator],hlm-button-group-separator',
7
+ exportAs: 'hlmButtonGroupSeparator',
7
8
  providers: [provideBrnSeparatorConfig({ orientation: 'vertical' })],
8
9
  hostDirectives: [{ directive: BrnSeparator, inputs: ['orientation', 'decorative'] }],
9
10
  host: {
@@ -3,6 +3,7 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmButtonGroupText],hlm-button-group-text',
6
+ exportAs: 'hlmButtonGroupText',
6
7
  host: {
7
8
  'data-slot': 'button-group-text',
8
9
  },
@@ -21,6 +21,7 @@ const buttonGroupVariants = cva(
21
21
 
22
22
  @Directive({
23
23
  selector: '[hlmButtonGroup],hlm-button-group',
24
+ exportAs: 'hlmButtonGroup',
24
25
  host: {
25
26
  'data-slot': 'button-group',
26
27
  role: 'group',
@@ -10,6 +10,7 @@ import { classes, hlm } from '<%- importAlias %>/utils';
10
10
 
11
11
  @Component({
12
12
  selector: 'hlm-calendar-multi',
13
+ exportAs: 'hlmCalendarMulti',
13
14
  imports: [BrnCalendarImports, NgIcon, NgTemplateOutlet, HlmSelectImports, HlmButtonImports],
14
15
  viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],
15
16
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -10,6 +10,7 @@ import { classes, hlm } from '<%- importAlias %>/utils';
10
10
 
11
11
  @Component({
12
12
  selector: 'hlm-calendar-range',
13
+ exportAs: 'hlmCalendarRange',
13
14
  imports: [BrnCalendarImports, NgIcon, HlmSelectImports, NgTemplateOutlet, HlmButtonImports],
14
15
  viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],
15
16
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -10,6 +10,7 @@ import { classes, hlm } from '<%- importAlias %>/utils';
10
10
 
11
11
  @Component({
12
12
  selector: 'hlm-calendar',
13
+ exportAs: 'hlmCalendar',
13
14
  imports: [BrnCalendarImports, NgIcon, HlmSelectImports, NgTemplateOutlet, HlmButtonImports],
14
15
  viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],
15
16
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -8,6 +8,7 @@ import { classes, hlm } from '<%- importAlias %>/utils';
8
8
 
9
9
  @Component({
10
10
  selector: 'hlm-month-year-calendar',
11
+ exportAs: 'hlmMonthYearCalendar',
11
12
  imports: [BrnCalendarImports, NgIcon, HlmButtonImports],
12
13
  viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],
13
14
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -3,6 +3,7 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmCardAction]',
6
+ exportAs: 'hlmCardAction',
6
7
  host: { 'data-slot': 'card-action' },
7
8
  })
8
9
  export class HlmCardAction {
@@ -3,6 +3,7 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmCardContent]',
6
+ exportAs: 'hlmCardContent',
6
7
  host: { 'data-slot': 'card-content' },
7
8
  })
8
9
  export class HlmCardContent {
@@ -3,6 +3,7 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmCardDescription]',
6
+ exportAs: 'hlmCardDescription',
6
7
  host: { 'data-slot': 'card-description' },
7
8
  })
8
9
  export class HlmCardDescription {
@@ -3,6 +3,7 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmCardFooter],hlm-card-footer',
6
+ exportAs: 'hlmCardFooter',
6
7
  host: { 'data-slot': 'card-footer' },
7
8
  })
8
9
  export class HlmCardFooter {
@@ -3,6 +3,7 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmCardHeader],hlm-card-header',
6
+ exportAs: 'hlmCardHeader',
6
7
  host: { 'data-slot': 'card-header' },
7
8
  })
8
9
  export class HlmCardHeader {
@@ -3,6 +3,7 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmCardTitle]',
6
+ exportAs: 'hlmCardTitle',
6
7
  host: { 'data-slot': 'card-title' },
7
8
  })
8
9
  export class HlmCardTitle {
@@ -4,6 +4,7 @@ import { HlmCardConfig, injectHlmCardConfig } from './hlm-card.token';
4
4
 
5
5
  @Directive({
6
6
  selector: '[hlmCard],hlm-card',
7
+ exportAs: 'hlmCard',
7
8
  host: {
8
9
  'data-slot': 'card',
9
10
  '[attr.data-size]': 'size()',
@@ -4,6 +4,7 @@ import { HlmCarousel } from './hlm-carousel';
4
4
 
5
5
  @Directive({
6
6
  selector: '[hlmCarouselContent],hlm-carousel-content',
7
+ exportAs: 'hlmCarouselContent',
7
8
  host: {
8
9
  'data-slot': 'carousel-content',
9
10
  },
@@ -4,6 +4,7 @@ import { HlmCarousel } from './hlm-carousel';
4
4
 
5
5
  @Directive({
6
6
  selector: '[hlmCarouselItem],hlm-carousel-item',
7
+ exportAs: 'hlmCarouselItem',
7
8
  host: {
8
9
  'data-slot': 'carousel-item',
9
10
  role: 'group',
@@ -7,6 +7,7 @@ import { HlmCarousel } from './hlm-carousel';
7
7
 
8
8
  @Component({
9
9
  selector: 'button[hlm-carousel-next], button[hlmCarouselNext]',
10
+ exportAs: 'hlmCarouselNext',
10
11
  imports: [NgIcon],
11
12
  providers: [provideIcons({ lucideArrowRight }), provideBrnButtonConfig({ variant: 'outline', size: 'icon-sm' })],
12
13
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -7,6 +7,7 @@ import { HlmCarousel } from './hlm-carousel';
7
7
 
8
8
  @Component({
9
9
  selector: 'button[hlm-carousel-previous], button[hlmCarouselPrevious]',
10
+ exportAs: 'hlmCarouselPrevious',
10
11
  imports: [NgIcon],
11
12
  providers: [provideIcons({ lucideArrowLeft }), provideBrnButtonConfig({ variant: 'outline', size: 'icon-sm' })],
12
13
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -4,6 +4,7 @@ import { HlmCarousel } from './hlm-carousel';
4
4
 
5
5
  @Component({
6
6
  selector: 'hlm-carousel-slide-display',
7
+ exportAs: 'hlmCarouselSlideDisplay',
7
8
  changeDetection: ChangeDetectionStrategy.OnPush,
8
9
  host: {
9
10
  'data-slot': 'carousel-slide-display',
@@ -16,6 +16,7 @@ import { EmblaCarouselDirective } from 'embla-carousel-angular';
16
16
 
17
17
  @Component({
18
18
  selector: 'hlm-carousel',
19
+ exportAs: 'hlmCarousel',
19
20
  imports: [EmblaCarouselDirective],
20
21
  changeDetection: ChangeDetectionStrategy.OnPush,
21
22
  host: {
@@ -3,6 +3,7 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: 'tanstack-chart[hlmChart]',
6
+ exportAs: 'hlmChart',
6
7
  host: {
7
8
  'data-slot': 'chart',
8
9
  style: `
@@ -28,6 +28,7 @@ export const HLM_CHECKBOX_VALUE_ACCESSOR = {
28
28
 
29
29
  @Component({
30
30
  selector: 'hlm-checkbox',
31
+ exportAs: 'hlmCheckbox',
31
32
  imports: [BrnCheckbox, NgIcon],
32
33
  providers: [HLM_CHECKBOX_VALUE_ACCESSOR],
33
34
  viewProviders: [provideIcons({ lucideCheck })],
@@ -0,0 +1,28 @@
1
+ import { HlmCodeBlock } from './lib/hlm-code-block';
2
+ import { HlmCodeBlockActions } from './lib/hlm-code-block-actions';
3
+ import { HlmCodeBlockContent } from './lib/hlm-code-block-content';
4
+ import { HlmCodeBlockCopyButton } from './lib/hlm-code-block-copy-button';
5
+ import { HlmCodeBlockFooter } from './lib/hlm-code-block-footer';
6
+ import { HlmCodeBlockHeader } from './lib/hlm-code-block-header';
7
+ import { HlmCodeBlockLine } from './lib/hlm-code-block-line';
8
+ import { HlmCodeBlockTitle } from './lib/hlm-code-block-title';
9
+
10
+ export * from './lib/hlm-code-block';
11
+ export * from './lib/hlm-code-block-actions';
12
+ export * from './lib/hlm-code-block-content';
13
+ export * from './lib/hlm-code-block-copy-button';
14
+ export * from './lib/hlm-code-block-footer';
15
+ export * from './lib/hlm-code-block-header';
16
+ export * from './lib/hlm-code-block-line';
17
+ export * from './lib/hlm-code-block-title';
18
+
19
+ export const HlmCodeBlockImports = [
20
+ HlmCodeBlock,
21
+ HlmCodeBlockActions,
22
+ HlmCodeBlockContent,
23
+ HlmCodeBlockCopyButton,
24
+ HlmCodeBlockFooter,
25
+ HlmCodeBlockHeader,
26
+ HlmCodeBlockLine,
27
+ HlmCodeBlockTitle,
28
+ ] as const;
@@ -0,0 +1,16 @@
1
+ import { Directive } from '@angular/core';
2
+ import { classes } from '<%- importAlias %>/utils';
3
+
4
+ @Directive({
5
+ selector: '[hlmCodeBlockActions],hlm-code-block-actions',
6
+ exportAs: 'hlmCodeBlockActions',
7
+ host: { 'data-slot': 'code-block-actions' },
8
+ })
9
+ export class HlmCodeBlockActions {
10
+ constructor() {
11
+ classes(
12
+ () =>
13
+ 'spartan-code-block-actions ms-auto flex shrink-0 items-center [[data-slot=code-block]>&]:absolute [[data-slot=code-block]>&]:z-10 [[data-slot=code-block]>&]:opacity-0 [[data-slot=code-block]>&]:transition-opacity [[data-slot=code-block]>&]:group-focus-within/code-block:opacity-100 [[data-slot=code-block]>&]:group-hover/code-block:opacity-100 [[data-slot=code-block]>&]:pointer-coarse:opacity-100',
14
+ );
15
+ }
16
+ }
@@ -0,0 +1,85 @@
1
+ import { Directionality } from '@angular/cdk/bidi';
2
+ import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
3
+ import {
4
+ booleanAttribute,
5
+ ChangeDetectionStrategy,
6
+ Component,
7
+ computed,
8
+ inject,
9
+ input,
10
+ numberAttribute,
11
+ } from '@angular/core';
12
+ import { classes } from '<%- importAlias %>/utils';
13
+ import { HlmCodeBlockLine } from './hlm-code-block-line';
14
+
15
+ @Component({
16
+ // eslint-disable-next-line @angular-eslint/component-selector
17
+ selector: 'pre[hlmCodeBlockContent]',
18
+ exportAs: 'hlmCodeBlockContent',
19
+ imports: [HlmCodeBlockLine],
20
+ changeDetection: ChangeDetectionStrategy.OnPush,
21
+ host: {
22
+ 'data-slot': 'code-block-content',
23
+ '[attr.data-wrap]': 'wrap() || null',
24
+ '[attr.data-numbered]': 'lineNumbers() || null',
25
+ '[attr.dir]': '_direction()',
26
+ '[style.counter-reset]': '_style()',
27
+ tabindex: '0',
28
+ },
29
+ template: `
30
+ <code
31
+ data-slot="code-block-code"
32
+ class="spartan-code-block-code grid min-h-lh min-w-max content-start in-data-numbered:grid-cols-[auto_1fr] in-data-wrap:min-w-0"
33
+ >
34
+ @if (_lines(); as lines) {
35
+ @for (line of lines; track $index) {
36
+ <span hlmCodeBlockLine>{{ line }}</span>
37
+ }
38
+ } @else if (_hasCode()) {
39
+ <span [textContent]="_code()"></span>
40
+ } @else {
41
+ <ng-content />
42
+ }
43
+ </code>
44
+ `,
45
+ })
46
+ export class HlmCodeBlockContent {
47
+ private readonly _dir = inject(Directionality);
48
+
49
+ protected readonly _direction = this._dir.valueSignal;
50
+
51
+ public readonly wrap = input<boolean, BooleanInput>(false, { transform: booleanAttribute });
52
+ public readonly lineNumbers = input<boolean, BooleanInput>(false, { transform: booleanAttribute });
53
+
54
+ public readonly startLine = input<number, NumberInput>(1, { transform: numberAttribute });
55
+
56
+ /** When set, the code is rendered line by line instead of projecting `<ng-content />`. */
57
+ public readonly code = input<string>();
58
+
59
+ protected readonly _code = computed(() => {
60
+ const code = this.code();
61
+ return typeof code === 'string' ? code : null;
62
+ });
63
+
64
+ protected readonly _hasCode = computed(() => this._code() !== null);
65
+
66
+ protected readonly _lines = computed(() => {
67
+ const code = this._code();
68
+ if (!this.lineNumbers() || code === null) return null;
69
+
70
+ // An empty line renders a newline so copying a selection keeps blank lines.
71
+ return code
72
+ .replace(/\n$/, '')
73
+ .split('\n')
74
+ .map((line) => (line === '' ? '\n' : line));
75
+ });
76
+
77
+ protected readonly _style = computed(() => `line ${this.startLine() - 1}`);
78
+
79
+ constructor() {
80
+ classes(
81
+ () =>
82
+ 'spartan-code-block-content scroll-fade-x data-wrap:scroll-fade-y min-h-0 min-w-0 scrollbar-thin overflow-auto text-start font-mono outline-none data-wrap:wrap-break-word data-wrap:whitespace-pre-wrap',
83
+ );
84
+ }
85
+ }
@@ -0,0 +1,62 @@
1
+ import { ChangeDetectionStrategy, Component, computed, effect, input, signal } from '@angular/core';
2
+ import { NgIcon, provideIcons } from '@ng-icons/core';
3
+ import { lucideCheck, lucideCopy } from '@ng-icons/lucide';
4
+ import { HlmButton, provideBrnButtonConfig } from '<%- importAlias %>/button';
5
+ import { classes } from '<%- importAlias %>/utils';
6
+
7
+ @Component({
8
+ // eslint-disable-next-line @angular-eslint/component-selector
9
+ selector: 'button[hlmCodeBlockCopyButton]',
10
+ exportAs: 'hlmCodeBlockCopyButton',
11
+ imports: [NgIcon],
12
+ providers: [provideIcons({ lucideCopy, lucideCheck }), provideBrnButtonConfig({ variant: 'ghost', size: 'icon-xs' })],
13
+ changeDetection: ChangeDetectionStrategy.OnPush,
14
+ hostDirectives: [{ directive: HlmButton, inputs: ['variant', 'size'] }],
15
+ host: {
16
+ type: 'button',
17
+ 'data-slot': 'code-block-copy-button',
18
+ '[attr.data-copied]': '_copied() || null',
19
+ '[attr.aria-label]': '_ariaLabel()',
20
+ '(click)': '_copy()',
21
+ },
22
+ template: `
23
+ <ng-icon [name]="_icon()" />
24
+
25
+ @if (_copied()) {
26
+ <span aria-live="polite" class="sr-only">
27
+ {{ copiedText() }}
28
+ </span>
29
+ }
30
+ `,
31
+ })
32
+ export class HlmCodeBlockCopyButton {
33
+ protected readonly _copied = signal(false);
34
+
35
+ protected readonly _icon = computed(() => (this._copied() ? 'lucideCheck' : 'lucideCopy'));
36
+
37
+ public readonly value = input<string>('');
38
+ public readonly copyText = input<string>('Copy');
39
+ public readonly copiedText = input<string>('Copied');
40
+
41
+ protected readonly _ariaLabel = computed(() => (this._copied() ? this.copiedText() : this.copyText()));
42
+
43
+ constructor() {
44
+ classes(() => 'spartan-code-block-copy-button');
45
+
46
+ effect((onCleanup) => {
47
+ if (!this._copied()) return;
48
+
49
+ const timeout = setTimeout(() => this._copied.set(false), 2000);
50
+ onCleanup(() => clearTimeout(timeout));
51
+ });
52
+ }
53
+
54
+ protected async _copy(): Promise<void> {
55
+ try {
56
+ await navigator.clipboard.writeText(this.value());
57
+ this._copied.set(true);
58
+ } catch {
59
+ // ignore clipboard errors
60
+ }
61
+ }
62
+ }
@@ -0,0 +1,13 @@
1
+ import { Directive } from '@angular/core';
2
+ import { classes } from '<%- importAlias %>/utils';
3
+
4
+ @Directive({
5
+ selector: '[hlmCodeBlockFooter],hlm-code-block-footer',
6
+ exportAs: 'hlmCodeBlockFooter',
7
+ host: { 'data-slot': 'code-block-footer' },
8
+ })
9
+ export class HlmCodeBlockFooter {
10
+ constructor() {
11
+ classes(() => 'spartan-code-block-footer flex min-w-0 shrink-0 items-center');
12
+ }
13
+ }
@@ -0,0 +1,16 @@
1
+ import { Directive } from '@angular/core';
2
+ import { classes } from '<%- importAlias %>/utils';
3
+
4
+ @Directive({
5
+ selector: '[hlmCodeBlockHeader],hlm-code-block-header',
6
+ exportAs: 'hlmCodeBlockHeader',
7
+ host: { 'data-slot': 'code-block-header' },
8
+ })
9
+ export class HlmCodeBlockHeader {
10
+ constructor() {
11
+ classes(
12
+ () =>
13
+ 'spartan-code-block-header flex min-w-0 shrink-0 items-center *:has-[>[data-slot=code-block-title]]:min-w-0',
14
+ );
15
+ }
16
+ }
@@ -0,0 +1,42 @@
1
+ import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
+ import { classes } from '<%- importAlias %>/utils';
3
+ import { cva, VariantProps } from 'class-variance-authority';
4
+
5
+ const codeBlockLineVariants = cva(
6
+ "spartan-code-block-line relative block min-h-lh after:absolute after:top-0 after:select-none in-data-numbered:col-span-2 in-data-numbered:grid in-data-numbered:grid-cols-subgrid in-data-numbered:[counter-increment:line] in-data-numbered:before:content-[counter(line)] in-data-numbered:before:select-none in-data-numbered:supports-[content:counter(line)_/_'']:before:content-[counter(line)_/_'']",
7
+ {
8
+ variants: {
9
+ variant: {
10
+ default: 'spartan-code-block-line-variant-default',
11
+ added: 'spartan-code-block-line-variant-added',
12
+ removed: 'spartan-code-block-line-variant-removed',
13
+ highlighted: 'spartan-code-block-line-variant-highlighted',
14
+ },
15
+ },
16
+ defaultVariants: {
17
+ variant: 'default',
18
+ },
19
+ },
20
+ );
21
+
22
+ type CodeBlockLineVariants = VariantProps<typeof codeBlockLineVariants>;
23
+
24
+ @Component({
25
+ // eslint-disable-next-line @angular-eslint/component-selector
26
+ selector: 'span[hlmCodeBlockLine]',
27
+ exportAs: 'hlmCodeBlockLine',
28
+ changeDetection: ChangeDetectionStrategy.OnPush,
29
+ host: { 'data-slot': 'code-block-line', '[attr.data-variant]': 'variant()' },
30
+ template: `
31
+ <span data-slot="code-block-line-content" class="min-w-0">
32
+ <ng-content />
33
+ </span>
34
+ `,
35
+ })
36
+ export class HlmCodeBlockLine {
37
+ public readonly variant = input<CodeBlockLineVariants['variant']>('default');
38
+
39
+ constructor() {
40
+ classes(() => codeBlockLineVariants({ variant: this.variant() }));
41
+ }
42
+ }
@@ -0,0 +1,16 @@
1
+ import { Directive } from '@angular/core';
2
+ import { classes } from '<%- importAlias %>/utils';
3
+
4
+ @Directive({
5
+ selector: '[hlmCodeBlockTitle],hlm-code-block-title',
6
+ exportAs: 'hlmCodeBlockTitle',
7
+ host: { 'data-slot': 'code-block-title' },
8
+ })
9
+ export class HlmCodeBlockTitle {
10
+ constructor() {
11
+ classes(
12
+ () =>
13
+ 'spartan-code-block-title min-w-0 truncate [&_ng-icon]:pointer-events-none [&_ng-icon]:inline-block [&_ng-icon]:align-middle',
14
+ );
15
+ }
16
+ }
@@ -0,0 +1,34 @@
1
+ import { Directive, input } from '@angular/core';
2
+ import { classes } from '<%- importAlias %>/utils';
3
+ import { cva, type VariantProps } from 'class-variance-authority';
4
+
5
+ const codeBlockVariants = cva(
6
+ 'spartan-code-block group/code-block relative flex w-full min-w-0 flex-col overflow-hidden',
7
+ {
8
+ variants: {
9
+ variant: {
10
+ default: 'spartan-code-block-variant-default',
11
+ destructive: 'spartan-code-block-variant-destructive',
12
+ },
13
+ },
14
+ defaultVariants: {
15
+ variant: 'default',
16
+ },
17
+ },
18
+ );
19
+
20
+ type CodeBlockVariants = VariantProps<typeof codeBlockVariants>;
21
+
22
+ @Directive({
23
+ selector: '[hlmCodeBlock],hlm-code-block',
24
+ exportAs: 'hlmCodeBlock',
25
+ host: { 'data-slot': 'code-block', '[attr.data-variant]': 'variant()', '[attr.data-size]': 'size()' },
26
+ })
27
+ export class HlmCodeBlock {
28
+ public readonly variant = input<CodeBlockVariants['variant']>('default');
29
+ public readonly size = input<'default' | 'sm'>('default');
30
+
31
+ constructor() {
32
+ classes(() => codeBlockVariants({ variant: this.variant() }));
33
+ }
34
+ }
@@ -0,0 +1,3 @@
1
+ import type { Tree } from '@nx/devkit';
2
+ import type { HlmBaseGeneratorSchema } from '../../../base/schema';
3
+ export declare function generator(tree: Tree, options: HlmBaseGeneratorSchema): Promise<import("@nx/devkit").GeneratorCallback>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generator = generator;
4
+ const tslib_1 = require("tslib");
5
+ const generator_1 = tslib_1.__importDefault(require("../../../base/generator"));
6
+ async function generator(tree, options) {
7
+ return await (0, generator_1.default)(tree, { ...options, name: 'code-block' });
8
+ }
9
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../../libs/cli/src/generators/ui/libs/code-block/generator.ts"],"names":[],"mappings":";;AAIA,8BAEC;;AALD,gFAAuD;AAGhD,KAAK,UAAU,SAAS,CAAC,IAAU,EAAE,OAA+B;IAC1E,OAAO,MAAM,IAAA,mBAAgB,EAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AACzE,CAAC"}
@@ -4,6 +4,7 @@ import { classes } from '<%- importAlias %>/utils';
4
4
 
5
5
  @Directive({
6
6
  selector: '[hlmCollapsibleContent],hlm-collapsible-content',
7
+ exportAs: 'hlmCollapsibleContent',
7
8
  hostDirectives: [{ directive: BrnCollapsibleContent, inputs: ['id'] }],
8
9
  host: { 'data-slot': 'collapsible-content' },
9
10
  })
@@ -3,6 +3,7 @@ import { BrnCollapsibleTrigger } from '@spartan-ng/brain/collapsible';
3
3
 
4
4
  @Directive({
5
5
  selector: 'button[hlmCollapsibleTrigger]',
6
+ exportAs: 'hlmCollapsibleTrigger',
6
7
  hostDirectives: [{ directive: BrnCollapsibleTrigger, inputs: ['type'] }],
7
8
  host: { 'data-slot': 'collapsible-trigger' },
8
9
  })
@@ -3,6 +3,7 @@ import { BrnCollapsible } from '@spartan-ng/brain/collapsible';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmCollapsible],hlm-collapsible',
6
+ exportAs: 'hlmCollapsible',
6
7
  hostDirectives: [
7
8
  {
8
9
  directive: BrnCollapsible,