@egose/shadcn-theme-ng 0.0.27 → 0.0.28

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 (334) hide show
  1. package/accordion/README.md +64 -0
  2. package/accordion/fesm2022/accordion.mjs +160 -0
  3. package/accordion/fesm2022/accordion.mjs.map +1 -0
  4. package/accordion/package.json +25 -0
  5. package/accordion/types/accordion.d.ts +49 -0
  6. package/alert/fesm2022/alert.mjs +29 -24
  7. package/alert/fesm2022/alert.mjs.map +1 -1
  8. package/alert/package.json +25 -0
  9. package/alert-dialog/README.md +11 -0
  10. package/alert-dialog/fesm2022/alert-dialog.mjs +287 -0
  11. package/alert-dialog/fesm2022/alert-dialog.mjs.map +1 -0
  12. package/alert-dialog/package.json +25 -0
  13. package/alert-dialog/types/alert-dialog.d.ts +90 -0
  14. package/aspect-ratio/README.md +11 -0
  15. package/aspect-ratio/fesm2022/aspect-ratio.mjs +62 -0
  16. package/aspect-ratio/fesm2022/aspect-ratio.mjs.map +1 -0
  17. package/aspect-ratio/package.json +25 -0
  18. package/aspect-ratio/types/aspect-ratio.d.ts +21 -0
  19. package/autocomplete/README.md +64 -0
  20. package/autocomplete/fesm2022/autocomplete.mjs +409 -0
  21. package/autocomplete/fesm2022/autocomplete.mjs.map +1 -0
  22. package/autocomplete/package.json +24 -0
  23. package/autocomplete/types/autocomplete.d.ts +96 -0
  24. package/avatar/README.md +11 -0
  25. package/avatar/fesm2022/avatar.mjs +178 -0
  26. package/avatar/fesm2022/avatar.mjs.map +1 -0
  27. package/avatar/package.json +25 -0
  28. package/avatar/types/avatar.d.ts +50 -0
  29. package/badge/fesm2022/badge.mjs +15 -9
  30. package/badge/fesm2022/badge.mjs.map +1 -1
  31. package/badge/package.json +25 -0
  32. package/basic-alert/fesm2022/basic-alert.mjs +11 -7
  33. package/basic-alert/fesm2022/basic-alert.mjs.map +1 -1
  34. package/basic-alert/package.json +24 -0
  35. package/breadcrumb/README.md +11 -0
  36. package/breadcrumb/fesm2022/breadcrumb.mjs +224 -0
  37. package/breadcrumb/fesm2022/breadcrumb.mjs.map +1 -0
  38. package/breadcrumb/package.json +25 -0
  39. package/breadcrumb/types/breadcrumb.d.ts +57 -0
  40. package/button/fesm2022/button.mjs +99 -25
  41. package/button/fesm2022/button.mjs.map +1 -1
  42. package/button/package.json +25 -0
  43. package/button/{index.d.ts → types/button.d.ts} +30 -9
  44. package/button-group/README.md +11 -0
  45. package/button-group/fesm2022/button-group.mjs +102 -0
  46. package/button-group/fesm2022/button-group.mjs.map +1 -0
  47. package/button-group/package.json +25 -0
  48. package/button-group/types/button-group.d.ts +30 -0
  49. package/calendar/fesm2022/calendar.mjs +868 -546
  50. package/calendar/fesm2022/calendar.mjs.map +1 -1
  51. package/calendar/package.json +24 -0
  52. package/calendar/types/calendar.d.ts +94 -0
  53. package/card/README.md +11 -0
  54. package/card/fesm2022/card.mjs +169 -0
  55. package/card/fesm2022/card.mjs.map +1 -0
  56. package/card/package.json +25 -0
  57. package/card/types/card.d.ts +54 -0
  58. package/carousel/README.md +11 -0
  59. package/carousel/fesm2022/carousel.mjs +309 -0
  60. package/carousel/fesm2022/carousel.mjs.map +1 -0
  61. package/carousel/package.json +25 -0
  62. package/carousel/types/carousel.d.ts +84 -0
  63. package/checkbox/README.md +64 -0
  64. package/checkbox/fesm2022/checkbox.mjs +151 -0
  65. package/checkbox/fesm2022/checkbox.mjs.map +1 -0
  66. package/checkbox/package.json +24 -0
  67. package/checkbox/types/checkbox.d.ts +55 -0
  68. package/collapsible/README.md +11 -0
  69. package/collapsible/fesm2022/collapsible.mjs +77 -0
  70. package/collapsible/fesm2022/collapsible.mjs.map +1 -0
  71. package/collapsible/package.json +25 -0
  72. package/collapsible/types/collapsible.d.ts +27 -0
  73. package/combobox/README.md +11 -0
  74. package/combobox/fesm2022/combobox.mjs +683 -0
  75. package/combobox/fesm2022/combobox.mjs.map +1 -0
  76. package/combobox/package.json +25 -0
  77. package/combobox/types/combobox.d.ts +151 -0
  78. package/command/README.md +11 -0
  79. package/command/fesm2022/command.mjs +361 -0
  80. package/command/fesm2022/command.mjs.map +1 -0
  81. package/command/package.json +25 -0
  82. package/command/types/command.d.ts +89 -0
  83. package/confirmation-dialog/README.md +64 -0
  84. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +104 -0
  85. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +1 -0
  86. package/confirmation-dialog/package.json +24 -0
  87. package/confirmation-dialog/types/confirmation-dialog.d.ts +24 -0
  88. package/context-menu/README.md +11 -0
  89. package/context-menu/fesm2022/context-menu.mjs +89 -0
  90. package/context-menu/fesm2022/context-menu.mjs.map +1 -0
  91. package/context-menu/package.json +25 -0
  92. package/context-menu/types/context-menu.d.ts +34 -0
  93. package/date-picker/fesm2022/date-picker.mjs +1262 -307
  94. package/date-picker/fesm2022/date-picker.mjs.map +1 -1
  95. package/date-picker/package.json +24 -0
  96. package/date-picker/types/date-picker.d.ts +551 -0
  97. package/dialog/README.md +64 -0
  98. package/dialog/fesm2022/dialog.mjs +307 -0
  99. package/dialog/fesm2022/dialog.mjs.map +1 -0
  100. package/dialog/package.json +24 -0
  101. package/dialog/types/dialog.d.ts +95 -0
  102. package/drawer/README.md +11 -0
  103. package/drawer/fesm2022/drawer.mjs +271 -0
  104. package/drawer/fesm2022/drawer.mjs.map +1 -0
  105. package/drawer/package.json +25 -0
  106. package/drawer/types/drawer.d.ts +76 -0
  107. package/dropdown-menu/README.md +11 -0
  108. package/dropdown-menu/fesm2022/dropdown-menu.mjs +542 -0
  109. package/dropdown-menu/fesm2022/dropdown-menu.mjs.map +1 -0
  110. package/dropdown-menu/package.json +25 -0
  111. package/dropdown-menu/types/dropdown-menu.d.ts +176 -0
  112. package/empty/README.md +11 -0
  113. package/empty/fesm2022/empty.mjs +151 -0
  114. package/empty/fesm2022/empty.mjs.map +1 -0
  115. package/empty/package.json +25 -0
  116. package/empty/types/empty.d.ts +54 -0
  117. package/field/README.md +11 -0
  118. package/field/fesm2022/field.mjs +367 -0
  119. package/field/fesm2022/field.mjs.map +1 -0
  120. package/field/package.json +25 -0
  121. package/field/types/field.d.ts +107 -0
  122. package/form-checkbox/README.md +64 -0
  123. package/form-checkbox/fesm2022/form-checkbox.mjs +154 -0
  124. package/form-checkbox/fesm2022/form-checkbox.mjs.map +1 -0
  125. package/form-checkbox/package.json +24 -0
  126. package/form-checkbox/types/form-checkbox.d.ts +27 -0
  127. package/form-date-picker/fesm2022/form-date-picker.mjs +57 -50
  128. package/form-date-picker/fesm2022/form-date-picker.mjs.map +1 -1
  129. package/form-date-picker/package.json +24 -0
  130. package/form-field/fesm2022/form-field.mjs +37 -25
  131. package/form-field/fesm2022/form-field.mjs.map +1 -1
  132. package/form-field/package.json +25 -0
  133. package/form-field/{index.d.ts → types/form-field.d.ts} +4 -3
  134. package/form-field-simple/fesm2022/form-field-simple.mjs +14 -9
  135. package/form-field-simple/fesm2022/form-field-simple.mjs.map +1 -1
  136. package/form-field-simple/package.json +24 -0
  137. package/form-searchable-multiselect/README.md +64 -0
  138. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +158 -0
  139. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +1 -0
  140. package/form-searchable-multiselect/package.json +24 -0
  141. package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +30 -0
  142. package/form-select/fesm2022/form-select.mjs +131 -70
  143. package/form-select/fesm2022/form-select.mjs.map +1 -1
  144. package/form-select/package.json +24 -0
  145. package/form-text-input/fesm2022/form-text-input.mjs +66 -37
  146. package/form-text-input/fesm2022/form-text-input.mjs.map +1 -1
  147. package/form-text-input/package.json +24 -0
  148. package/form-textarea/fesm2022/form-textarea.mjs +53 -29
  149. package/form-textarea/fesm2022/form-textarea.mjs.map +1 -1
  150. package/form-textarea/package.json +24 -0
  151. package/hover-card/README.md +11 -0
  152. package/hover-card/fesm2022/hover-card.mjs +123 -0
  153. package/hover-card/fesm2022/hover-card.mjs.map +1 -0
  154. package/hover-card/package.json +25 -0
  155. package/hover-card/types/hover-card.d.ts +36 -0
  156. package/icon/fesm2022/icon.mjs +11 -9
  157. package/icon/fesm2022/icon.mjs.map +1 -1
  158. package/icon/package.json +25 -0
  159. package/input/fesm2022/input.mjs +21 -71
  160. package/input/fesm2022/input.mjs.map +1 -1
  161. package/input/package.json +25 -0
  162. package/input/types/input.d.ts +18 -0
  163. package/input-group/README.md +11 -0
  164. package/input-group/fesm2022/input-group.mjs +199 -0
  165. package/input-group/fesm2022/input-group.mjs.map +1 -0
  166. package/input-group/package.json +25 -0
  167. package/input-group/types/input-group.d.ts +52 -0
  168. package/input-otp/README.md +11 -0
  169. package/input-otp/fesm2022/input-otp.mjs +141 -0
  170. package/input-otp/fesm2022/input-otp.mjs.map +1 -0
  171. package/input-otp/package.json +25 -0
  172. package/input-otp/types/input-otp.d.ts +43 -0
  173. package/item/README.md +11 -0
  174. package/item/fesm2022/item.mjs +278 -0
  175. package/item/fesm2022/item.mjs.map +1 -0
  176. package/item/package.json +25 -0
  177. package/item/types/item.d.ts +101 -0
  178. package/kbd/README.md +11 -0
  179. package/kbd/fesm2022/kbd.mjs +61 -0
  180. package/kbd/fesm2022/kbd.mjs.map +1 -0
  181. package/kbd/package.json +25 -0
  182. package/kbd/types/kbd.d.ts +22 -0
  183. package/label/fesm2022/label.mjs +10 -9
  184. package/label/fesm2022/label.mjs.map +1 -1
  185. package/label/package.json +25 -0
  186. package/layout-simple/README.md +64 -0
  187. package/layout-simple/fesm2022/layout-simple.mjs +719 -0
  188. package/layout-simple/fesm2022/layout-simple.mjs.map +1 -0
  189. package/layout-simple/package.json +24 -0
  190. package/layout-simple/types/layout-simple.d.ts +153 -0
  191. package/menubar/README.md +11 -0
  192. package/menubar/fesm2022/menubar.mjs +108 -0
  193. package/menubar/fesm2022/menubar.mjs.map +1 -0
  194. package/menubar/package.json +25 -0
  195. package/menubar/types/menubar.d.ts +40 -0
  196. package/native-select/README.md +11 -0
  197. package/native-select/fesm2022/native-select.mjs +207 -0
  198. package/native-select/fesm2022/native-select.mjs.map +1 -0
  199. package/native-select/package.json +25 -0
  200. package/native-select/types/native-select.d.ts +70 -0
  201. package/navigation-menu/README.md +11 -0
  202. package/navigation-menu/fesm2022/navigation-menu.mjs +206 -0
  203. package/navigation-menu/fesm2022/navigation-menu.mjs.map +1 -0
  204. package/navigation-menu/package.json +25 -0
  205. package/navigation-menu/types/navigation-menu.d.ts +54 -0
  206. package/package.json +239 -47
  207. package/pagination/README.md +11 -0
  208. package/pagination/fesm2022/pagination.mjs +808 -0
  209. package/pagination/fesm2022/pagination.mjs.map +1 -0
  210. package/pagination/package.json +25 -0
  211. package/pagination/types/pagination.d.ts +192 -0
  212. package/popover/fesm2022/popover.mjs +123 -29
  213. package/popover/fesm2022/popover.mjs.map +1 -1
  214. package/popover/package.json +24 -0
  215. package/popover/types/popover.d.ts +54 -0
  216. package/progress/README.md +11 -0
  217. package/progress/fesm2022/progress.mjs +77 -0
  218. package/progress/fesm2022/progress.mjs.map +1 -0
  219. package/progress/package.json +25 -0
  220. package/progress/types/progress.d.ts +27 -0
  221. package/radio-group/README.md +64 -0
  222. package/radio-group/fesm2022/radio-group.mjs +204 -0
  223. package/radio-group/fesm2022/radio-group.mjs.map +1 -0
  224. package/radio-group/package.json +25 -0
  225. package/radio-group/types/radio-group.d.ts +71 -0
  226. package/resizable/README.md +11 -0
  227. package/resizable/fesm2022/resizable.mjs +111 -0
  228. package/resizable/fesm2022/resizable.mjs.map +1 -0
  229. package/resizable/package.json +25 -0
  230. package/resizable/types/resizable.d.ts +32 -0
  231. package/scroll-area/README.md +11 -0
  232. package/scroll-area/fesm2022/scroll-area.mjs +51 -0
  233. package/scroll-area/fesm2022/scroll-area.mjs.map +1 -0
  234. package/scroll-area/package.json +25 -0
  235. package/scroll-area/types/scroll-area.d.ts +16 -0
  236. package/searchable-multiselect/README.md +64 -0
  237. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +225 -0
  238. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs.map +1 -0
  239. package/searchable-multiselect/package.json +24 -0
  240. package/searchable-multiselect/types/searchable-multiselect.d.ts +39 -0
  241. package/select/fesm2022/select.mjs +373 -191
  242. package/select/fesm2022/select.mjs.map +1 -1
  243. package/select/package.json +25 -0
  244. package/select/types/select.d.ts +119 -0
  245. package/separator/fesm2022/separator.mjs +16 -14
  246. package/separator/fesm2022/separator.mjs.map +1 -1
  247. package/separator/package.json +24 -0
  248. package/separator/{index.d.ts → types/separator.d.ts} +4 -5
  249. package/sheet/fesm2022/sheet.mjs +49 -42
  250. package/sheet/fesm2022/sheet.mjs.map +1 -1
  251. package/sheet/package.json +24 -0
  252. package/sidebar/README.md +11 -0
  253. package/sidebar/fesm2022/sidebar.mjs +948 -0
  254. package/sidebar/fesm2022/sidebar.mjs.map +1 -0
  255. package/sidebar/package.json +25 -0
  256. package/sidebar/types/sidebar.d.ts +237 -0
  257. package/skeleton/README.md +11 -0
  258. package/skeleton/fesm2022/skeleton.mjs +44 -0
  259. package/skeleton/fesm2022/skeleton.mjs.map +1 -0
  260. package/skeleton/package.json +25 -0
  261. package/skeleton/types/skeleton.d.ts +16 -0
  262. package/slider/README.md +11 -0
  263. package/slider/fesm2022/slider.mjs +144 -0
  264. package/slider/fesm2022/slider.mjs.map +1 -0
  265. package/slider/package.json +25 -0
  266. package/slider/types/slider.d.ts +19 -0
  267. package/sonner/fesm2022/sonner.mjs +29 -34
  268. package/sonner/fesm2022/sonner.mjs.map +1 -1
  269. package/sonner/package.json +25 -0
  270. package/spinner/fesm2022/spinner.mjs +17 -13
  271. package/spinner/fesm2022/spinner.mjs.map +1 -1
  272. package/spinner/package.json +25 -0
  273. package/switch/fesm2022/switch.mjs +27 -24
  274. package/switch/fesm2022/switch.mjs.map +1 -1
  275. package/switch/package.json +25 -0
  276. package/table/README.md +11 -0
  277. package/table/fesm2022/table.mjs +211 -0
  278. package/table/fesm2022/table.mjs.map +1 -0
  279. package/table/package.json +25 -0
  280. package/table/types/table.d.ts +87 -0
  281. package/tabs/README.md +64 -0
  282. package/tabs/fesm2022/tabs.mjs +286 -0
  283. package/tabs/fesm2022/tabs.mjs.map +1 -0
  284. package/tabs/package.json +25 -0
  285. package/tabs/types/tabs.d.ts +71 -0
  286. package/textarea/README.md +11 -0
  287. package/textarea/fesm2022/textarea.mjs +47 -0
  288. package/textarea/fesm2022/textarea.mjs.map +1 -0
  289. package/textarea/package.json +25 -0
  290. package/textarea/types/textarea.d.ts +18 -0
  291. package/toggle/README.md +11 -0
  292. package/toggle/fesm2022/toggle.mjs +78 -0
  293. package/toggle/fesm2022/toggle.mjs.map +1 -0
  294. package/toggle/package.json +25 -0
  295. package/toggle/types/toggle.d.ts +27 -0
  296. package/toggle-group/README.md +11 -0
  297. package/toggle-group/fesm2022/toggle-group.mjs +117 -0
  298. package/toggle-group/fesm2022/toggle-group.mjs.map +1 -0
  299. package/toggle-group/package.json +25 -0
  300. package/toggle-group/types/toggle-group.d.ts +39 -0
  301. package/tooltip/README.md +64 -0
  302. package/tooltip/fesm2022/tooltip.mjs +72 -0
  303. package/tooltip/fesm2022/tooltip.mjs.map +1 -0
  304. package/tooltip/package.json +25 -0
  305. package/tooltip/types/tooltip.d.ts +22 -0
  306. package/typography/README.md +11 -0
  307. package/typography/fesm2022/typography.mjs +242 -0
  308. package/typography/fesm2022/typography.mjs.map +1 -0
  309. package/typography/package.json +25 -0
  310. package/typography/types/typography.d.ts +94 -0
  311. package/utils/fesm2022/utils.mjs +184 -1
  312. package/utils/fesm2022/utils.mjs.map +1 -1
  313. package/utils/package.json +25 -0
  314. package/utils/types/utils.d.ts +13 -0
  315. package/calendar/index.d.ts +0 -111
  316. package/date-picker/index.d.ts +0 -227
  317. package/input/index.d.ts +0 -41
  318. package/popover/index.d.ts +0 -30
  319. package/select/index.d.ts +0 -92
  320. package/utils/index.d.ts +0 -5
  321. /package/alert/{index.d.ts → types/alert.d.ts} +0 -0
  322. /package/badge/{index.d.ts → types/badge.d.ts} +0 -0
  323. /package/basic-alert/{index.d.ts → types/basic-alert.d.ts} +0 -0
  324. /package/form-date-picker/{index.d.ts → types/form-date-picker.d.ts} +0 -0
  325. /package/form-field-simple/{index.d.ts → types/form-field-simple.d.ts} +0 -0
  326. /package/form-select/{index.d.ts → types/form-select.d.ts} +0 -0
  327. /package/form-text-input/{index.d.ts → types/form-text-input.d.ts} +0 -0
  328. /package/form-textarea/{index.d.ts → types/form-textarea.d.ts} +0 -0
  329. /package/icon/{index.d.ts → types/icon.d.ts} +0 -0
  330. /package/label/{index.d.ts → types/label.d.ts} +0 -0
  331. /package/sheet/{index.d.ts → types/sheet.d.ts} +0 -0
  332. /package/sonner/{index.d.ts → types/sonner.d.ts} +0 -0
  333. /package/spinner/{index.d.ts → types/spinner.d.ts} +0 -0
  334. /package/switch/{index.d.ts → types/switch.d.ts} +0 -0
@@ -0,0 +1,11 @@
1
+ # Breadcrumb
2
+
3
+ This project was generated using [Angular CLI](https://github.com/angular/angular-cli).
4
+
5
+ ## Building
6
+
7
+ To build the library, run:
8
+
9
+ ```bash
10
+ ng build breadcrumb
11
+ ```
@@ -0,0 +1,224 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, Directive, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
+ import { NgIcon, provideIcons } from '@ng-icons/core';
4
+ import { lucideEllipsis, lucideChevronRight } from '@ng-icons/lucide';
5
+ import { classes } from '@egose/shadcn-theme-ng/utils';
6
+ import * as i1 from '@angular/router';
7
+ import { RouterLink } from '@angular/router';
8
+
9
+ class HlmBreadcrumb {
10
+ ariaLabel = input('breadcrumb', { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumb, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: HlmBreadcrumb, isStandalone: true, selector: "[hlmBreadcrumb]", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "breadcrumb", "role": "navigation" }, properties: { "attr.aria-label": "ariaLabel()" } }, ngImport: i0 });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumb, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[hlmBreadcrumb]',
18
+ host: {
19
+ 'data-slot': 'breadcrumb',
20
+ role: 'navigation',
21
+ '[attr.aria-label]': 'ariaLabel()',
22
+ },
23
+ }]
24
+ }], propDecorators: { ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }] } });
25
+
26
+ class HlmBreadcrumbEllipsis {
27
+ /** Screen reader only text for the ellipsis */
28
+ srOnlyText = input('More', /* @ts-ignore */
29
+ ...(ngDevMode ? [{ debugName: "srOnlyText" }] : /* istanbul ignore next */ []));
30
+ constructor() {
31
+ classes(() => 'size-5 [&>ng-icon]:text-[length:--spacing(4)] flex items-center justify-center');
32
+ }
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbEllipsis, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.7", type: HlmBreadcrumbEllipsis, isStandalone: true, selector: "hlm-breadcrumb-ellipsis", inputs: { srOnlyText: { classPropertyName: "srOnlyText", publicName: "srOnlyText", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "breadcrumb-ellipsis", "role": "presentation" } }, providers: [provideIcons({ lucideEllipsis })], ngImport: i0, template: `
35
+ <ng-icon name="lucideEllipsis" />
36
+ <span class="sr-only">{{ srOnlyText() }}</span>
37
+ `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbEllipsis, decorators: [{
40
+ type: Component,
41
+ args: [{
42
+ selector: 'hlm-breadcrumb-ellipsis',
43
+ imports: [NgIcon],
44
+ providers: [provideIcons({ lucideEllipsis })],
45
+ changeDetection: ChangeDetectionStrategy.OnPush,
46
+ host: {
47
+ 'data-slot': 'breadcrumb-ellipsis',
48
+ role: 'presentation',
49
+ },
50
+ template: `
51
+ <ng-icon name="lucideEllipsis" />
52
+ <span class="sr-only">{{ srOnlyText() }}</span>
53
+ `,
54
+ }]
55
+ }], ctorParameters: () => [], propDecorators: { srOnlyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "srOnlyText", required: false }] }] } });
56
+
57
+ class HlmBreadcrumbItem {
58
+ constructor() {
59
+ classes(() => 'gap-1.5 inline-flex items-center');
60
+ }
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
62
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmBreadcrumbItem, isStandalone: true, selector: "[hlmBreadcrumbItem]", host: { attributes: { "data-slot": "breadcrumb-item" } }, ngImport: i0 });
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbItem, decorators: [{
65
+ type: Directive,
66
+ args: [{
67
+ selector: '[hlmBreadcrumbItem]',
68
+ host: {
69
+ 'data-slot': 'breadcrumb-item',
70
+ },
71
+ }]
72
+ }], ctorParameters: () => [] });
73
+
74
+ class HlmBreadcrumbLink {
75
+ /** The link to navigate to the page. */
76
+ link = input(/* @ts-ignore */
77
+ ...(ngDevMode ? [undefined, { debugName: "link" }] : /* istanbul ignore next */ []));
78
+ constructor() {
79
+ classes(() => 'hover:text-foreground transition-colors');
80
+ }
81
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbLink, deps: [], target: i0.ɵɵFactoryTarget.Directive });
82
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: HlmBreadcrumbLink, isStandalone: true, selector: "[hlmBreadcrumbLink]", inputs: { link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "breadcrumb-link" } }, hostDirectives: [{ directive: i1.RouterLink, inputs: ["target", "target", "queryParams", "queryParams", "fragment", "fragment", "queryParamsHandling", "queryParamsHandling", "state", "state", "info", "info", "relativeTo", "relativeTo", "preserveFragment", "preserveFragment", "skipLocationChange", "skipLocationChange", "replaceUrl", "replaceUrl", "routerLink", "link"] }], ngImport: i0 });
83
+ }
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbLink, decorators: [{
85
+ type: Directive,
86
+ args: [{
87
+ selector: '[hlmBreadcrumbLink]',
88
+ hostDirectives: [
89
+ {
90
+ directive: RouterLink,
91
+ inputs: [
92
+ 'target',
93
+ 'queryParams',
94
+ 'fragment',
95
+ 'queryParamsHandling',
96
+ 'state',
97
+ 'info',
98
+ 'relativeTo',
99
+ 'preserveFragment',
100
+ 'skipLocationChange',
101
+ 'replaceUrl',
102
+ 'routerLink: link',
103
+ ],
104
+ },
105
+ ],
106
+ host: {
107
+ 'data-slot': 'breadcrumb-link',
108
+ },
109
+ }]
110
+ }], ctorParameters: () => [], propDecorators: { link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }] } });
111
+
112
+ class HlmBreadcrumbList {
113
+ constructor() {
114
+ classes(() => 'text-muted-foreground gap-1.5 text-sm sm:gap-2.5 flex flex-wrap items-center wrap-break-word');
115
+ }
116
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbList, deps: [], target: i0.ɵɵFactoryTarget.Directive });
117
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmBreadcrumbList, isStandalone: true, selector: "[hlmBreadcrumbList]", host: { attributes: { "data-slot": "breadcrumb-list" } }, ngImport: i0 });
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbList, decorators: [{
120
+ type: Directive,
121
+ args: [{
122
+ selector: '[hlmBreadcrumbList]',
123
+ host: {
124
+ 'data-slot': 'breadcrumb-list',
125
+ },
126
+ }]
127
+ }], ctorParameters: () => [] });
128
+
129
+ class HlmBreadcrumbPage {
130
+ constructor() {
131
+ classes(() => 'text-foreground font-normal');
132
+ }
133
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbPage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
134
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmBreadcrumbPage, isStandalone: true, selector: "[hlmBreadcrumbPage]", host: { attributes: { "data-slot": "breadcrumb-page", "role": "link", "aria-disabled": "true", "aria-current": "page" } }, ngImport: i0 });
135
+ }
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbPage, decorators: [{
137
+ type: Directive,
138
+ args: [{
139
+ selector: '[hlmBreadcrumbPage]',
140
+ host: {
141
+ 'data-slot': 'breadcrumb-page',
142
+ role: 'link',
143
+ 'aria-disabled': 'true',
144
+ 'aria-current': 'page',
145
+ },
146
+ }]
147
+ }], ctorParameters: () => [] });
148
+
149
+ class HlmBreadcrumbSeparator {
150
+ constructor() {
151
+ classes(() => '[&>ng-icon]:text-[length:--spacing(3.5)] [&>ng-icon]:flex');
152
+ }
153
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbSeparator, deps: [], target: i0.ɵɵFactoryTarget.Component });
154
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: HlmBreadcrumbSeparator, isStandalone: true, selector: "[hlmBreadcrumbSeparator]", host: { attributes: { "data-slot": "breadcrumb-separator", "role": "presentation", "aria-hidden": "true" } }, providers: [provideIcons({ lucideChevronRight })], ngImport: i0, template: `
155
+ <ng-content>
156
+ <ng-icon name="lucideChevronRight" />
157
+ </ng-content>
158
+ `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
159
+ }
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbSeparator, decorators: [{
161
+ type: Component,
162
+ args: [{
163
+ // eslint-disable-next-line @angular-eslint/component-selector
164
+ selector: '[hlmBreadcrumbSeparator]',
165
+ imports: [NgIcon],
166
+ providers: [provideIcons({ lucideChevronRight })],
167
+ changeDetection: ChangeDetectionStrategy.OnPush,
168
+ host: {
169
+ 'data-slot': 'breadcrumb-separator',
170
+ role: 'presentation',
171
+ 'aria-hidden': 'true',
172
+ },
173
+ template: `
174
+ <ng-content>
175
+ <ng-icon name="lucideChevronRight" />
176
+ </ng-content>
177
+ `,
178
+ }]
179
+ }], ctorParameters: () => [] });
180
+
181
+ /*
182
+ * Public API Surface of breadcrumb
183
+ */
184
+ const HlmBreadcrumbImports = [
185
+ HlmBreadcrumb,
186
+ HlmBreadcrumbEllipsis,
187
+ HlmBreadcrumbSeparator,
188
+ HlmBreadcrumbItem,
189
+ HlmBreadcrumbLink,
190
+ HlmBreadcrumbPage,
191
+ HlmBreadcrumbList,
192
+ ];
193
+ class HlmBreadcrumbModule {
194
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
195
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbModule, imports: [HlmBreadcrumb,
196
+ HlmBreadcrumbEllipsis,
197
+ HlmBreadcrumbSeparator,
198
+ HlmBreadcrumbItem,
199
+ HlmBreadcrumbLink,
200
+ HlmBreadcrumbPage,
201
+ HlmBreadcrumbList], exports: [HlmBreadcrumb,
202
+ HlmBreadcrumbEllipsis,
203
+ HlmBreadcrumbSeparator,
204
+ HlmBreadcrumbItem,
205
+ HlmBreadcrumbLink,
206
+ HlmBreadcrumbPage,
207
+ HlmBreadcrumbList] });
208
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbModule, imports: [HlmBreadcrumbEllipsis,
209
+ HlmBreadcrumbSeparator] });
210
+ }
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBreadcrumbModule, decorators: [{
212
+ type: NgModule,
213
+ args: [{
214
+ imports: [...HlmBreadcrumbImports],
215
+ exports: [...HlmBreadcrumbImports],
216
+ }]
217
+ }] });
218
+
219
+ /**
220
+ * Generated bundle index. Do not edit.
221
+ */
222
+
223
+ export { HlmBreadcrumb, HlmBreadcrumbEllipsis, HlmBreadcrumbImports, HlmBreadcrumbItem, HlmBreadcrumbLink, HlmBreadcrumbList, HlmBreadcrumbModule, HlmBreadcrumbPage, HlmBreadcrumbSeparator };
224
+ //# sourceMappingURL=breadcrumb.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.mjs","sources":["../../../projects/breadcrumb/src/lib/hlm-breadcrumb.ts","../../../projects/breadcrumb/src/lib/hlm-breadcrumb-ellipsis.ts","../../../projects/breadcrumb/src/lib/hlm-breadcrumb-item.ts","../../../projects/breadcrumb/src/lib/hlm-breadcrumb-link.ts","../../../projects/breadcrumb/src/lib/hlm-breadcrumb-list.ts","../../../projects/breadcrumb/src/lib/hlm-breadcrumb-page.ts","../../../projects/breadcrumb/src/lib/hlm-breadcrumb-separator.ts","../../../projects/breadcrumb/src/public-api.ts","../../../projects/breadcrumb/src/breadcrumb.ts"],"sourcesContent":["import { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[hlmBreadcrumb]',\n host: {\n 'data-slot': 'breadcrumb',\n role: 'navigation',\n '[attr.aria-label]': 'ariaLabel()',\n },\n})\nexport class HlmBreadcrumb {\n public readonly ariaLabel = input<string>('breadcrumb', { alias: 'aria-label' });\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideEllipsis } from '@ng-icons/lucide';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-breadcrumb-ellipsis',\n imports: [NgIcon],\n providers: [provideIcons({ lucideEllipsis })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-slot': 'breadcrumb-ellipsis',\n role: 'presentation',\n },\n template: `\n <ng-icon name=\"lucideEllipsis\" />\n <span class=\"sr-only\">{{ srOnlyText() }}</span>\n `,\n})\nexport class HlmBreadcrumbEllipsis {\n /** Screen reader only text for the ellipsis */\n public readonly srOnlyText = input<string>('More');\n\n constructor() {\n classes(() => 'size-5 [&>ng-icon]:text-[length:--spacing(4)] flex items-center justify-center');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmBreadcrumbItem]',\n host: {\n 'data-slot': 'breadcrumb-item',\n },\n})\nexport class HlmBreadcrumbItem {\n constructor() {\n classes(() => 'gap-1.5 inline-flex items-center');\n }\n}\n","import { Directive, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmBreadcrumbLink]',\n hostDirectives: [\n {\n directive: RouterLink,\n inputs: [\n 'target',\n 'queryParams',\n 'fragment',\n 'queryParamsHandling',\n 'state',\n 'info',\n 'relativeTo',\n 'preserveFragment',\n 'skipLocationChange',\n 'replaceUrl',\n 'routerLink: link',\n ],\n },\n ],\n host: {\n 'data-slot': 'breadcrumb-link',\n },\n})\nexport class HlmBreadcrumbLink {\n /** The link to navigate to the page. */\n public readonly link = input<RouterLink['routerLink']>();\n\n constructor() {\n classes(() => 'hover:text-foreground transition-colors');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmBreadcrumbList]',\n host: {\n 'data-slot': 'breadcrumb-list',\n },\n})\nexport class HlmBreadcrumbList {\n constructor() {\n classes(() => 'text-muted-foreground gap-1.5 text-sm sm:gap-2.5 flex flex-wrap items-center wrap-break-word');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmBreadcrumbPage]',\n host: {\n 'data-slot': 'breadcrumb-page',\n role: 'link',\n 'aria-disabled': 'true',\n 'aria-current': 'page',\n },\n})\nexport class HlmBreadcrumbPage {\n constructor() {\n classes(() => 'text-foreground font-normal');\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronRight } from '@ng-icons/lucide';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[hlmBreadcrumbSeparator]',\n imports: [NgIcon],\n providers: [provideIcons({ lucideChevronRight })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-slot': 'breadcrumb-separator',\n role: 'presentation',\n 'aria-hidden': 'true',\n },\n template: `\n <ng-content>\n <ng-icon name=\"lucideChevronRight\" />\n </ng-content>\n `,\n})\nexport class HlmBreadcrumbSeparator {\n constructor() {\n classes(() => '[&>ng-icon]:text-[length:--spacing(3.5)] [&>ng-icon]:flex');\n }\n}\n","/*\n * Public API Surface of breadcrumb\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmBreadcrumb } from './lib/hlm-breadcrumb';\nimport { HlmBreadcrumbEllipsis } from './lib/hlm-breadcrumb-ellipsis';\nimport { HlmBreadcrumbItem } from './lib/hlm-breadcrumb-item';\nimport { HlmBreadcrumbLink } from './lib/hlm-breadcrumb-link';\nimport { HlmBreadcrumbList } from './lib/hlm-breadcrumb-list';\nimport { HlmBreadcrumbPage } from './lib/hlm-breadcrumb-page';\nimport { HlmBreadcrumbSeparator } from './lib/hlm-breadcrumb-separator';\n\nexport * from './lib/hlm-breadcrumb';\nexport * from './lib/hlm-breadcrumb-ellipsis';\nexport * from './lib/hlm-breadcrumb-item';\nexport * from './lib/hlm-breadcrumb-link';\nexport * from './lib/hlm-breadcrumb-list';\nexport * from './lib/hlm-breadcrumb-page';\nexport * from './lib/hlm-breadcrumb-separator';\n\nexport const HlmBreadcrumbImports = [\n HlmBreadcrumb,\n HlmBreadcrumbEllipsis,\n HlmBreadcrumbSeparator,\n HlmBreadcrumbItem,\n HlmBreadcrumbLink,\n HlmBreadcrumbPage,\n HlmBreadcrumbList,\n] as const;\n\n@NgModule({\n imports: [...HlmBreadcrumbImports],\n exports: [...HlmBreadcrumbImports],\n})\nexport class HlmBreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "breadcrumb",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": "^22.0.0",
6
+ "@angular/core": "^22.0.0",
7
+ "@spartan-ng/brain": "^1.1.1"
8
+ },
9
+ "dependencies": {
10
+ "tslib": "^2.3.0"
11
+ },
12
+ "sideEffects": false,
13
+ "module": "fesm2022/breadcrumb.mjs",
14
+ "typings": "types/breadcrumb.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./types/breadcrumb.d.ts",
21
+ "default": "./fesm2022/breadcrumb.mjs"
22
+ }
23
+ },
24
+ "type": "module"
25
+ }
@@ -0,0 +1,57 @@
1
+ import * as i0 from '@angular/core';
2
+ import * as _angular_router from '@angular/router';
3
+
4
+ declare class HlmBreadcrumb {
5
+ readonly ariaLabel: i0.InputSignal<string>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmBreadcrumb, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmBreadcrumb, "[hlmBreadcrumb]", never, { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8
+ }
9
+
10
+ declare class HlmBreadcrumbEllipsis {
11
+ /** Screen reader only text for the ellipsis */
12
+ readonly srOnlyText: i0.InputSignal<string>;
13
+ constructor();
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmBreadcrumbEllipsis, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmBreadcrumbEllipsis, "hlm-breadcrumb-ellipsis", never, { "srOnlyText": { "alias": "srOnlyText"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
+ }
17
+
18
+ declare class HlmBreadcrumbItem {
19
+ constructor();
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmBreadcrumbItem, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmBreadcrumbItem, "[hlmBreadcrumbItem]", never, {}, {}, never, never, true, never>;
22
+ }
23
+
24
+ declare class HlmBreadcrumbLink {
25
+ /** The link to navigate to the page. */
26
+ readonly link: i0.InputSignal<string | readonly any[] | _angular_router.UrlTree | null | undefined>;
27
+ constructor();
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmBreadcrumbLink, never>;
29
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmBreadcrumbLink, "[hlmBreadcrumbLink]", never, { "link": { "alias": "link"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _angular_router.RouterLink; inputs: { "target": "target"; "queryParams": "queryParams"; "fragment": "fragment"; "queryParamsHandling": "queryParamsHandling"; "state": "state"; "info": "info"; "relativeTo": "relativeTo"; "preserveFragment": "preserveFragment"; "skipLocationChange": "skipLocationChange"; "replaceUrl": "replaceUrl"; "routerLink": "link"; }; outputs: {}; }]>;
30
+ }
31
+
32
+ declare class HlmBreadcrumbList {
33
+ constructor();
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmBreadcrumbList, never>;
35
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmBreadcrumbList, "[hlmBreadcrumbList]", never, {}, {}, never, never, true, never>;
36
+ }
37
+
38
+ declare class HlmBreadcrumbPage {
39
+ constructor();
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmBreadcrumbPage, never>;
41
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmBreadcrumbPage, "[hlmBreadcrumbPage]", never, {}, {}, never, never, true, never>;
42
+ }
43
+
44
+ declare class HlmBreadcrumbSeparator {
45
+ constructor();
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmBreadcrumbSeparator, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmBreadcrumbSeparator, "[hlmBreadcrumbSeparator]", never, {}, {}, never, ["*"], true, never>;
48
+ }
49
+
50
+ declare const HlmBreadcrumbImports: readonly [typeof HlmBreadcrumb, typeof HlmBreadcrumbEllipsis, typeof HlmBreadcrumbSeparator, typeof HlmBreadcrumbItem, typeof HlmBreadcrumbLink, typeof HlmBreadcrumbPage, typeof HlmBreadcrumbList];
51
+ declare class HlmBreadcrumbModule {
52
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmBreadcrumbModule, never>;
53
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HlmBreadcrumbModule, never, [typeof HlmBreadcrumb, typeof HlmBreadcrumbEllipsis, typeof HlmBreadcrumbSeparator, typeof HlmBreadcrumbItem, typeof HlmBreadcrumbLink, typeof HlmBreadcrumbPage, typeof HlmBreadcrumbList], [typeof HlmBreadcrumb, typeof HlmBreadcrumbEllipsis, typeof HlmBreadcrumbSeparator, typeof HlmBreadcrumbItem, typeof HlmBreadcrumbLink, typeof HlmBreadcrumbPage, typeof HlmBreadcrumbList]>;
54
+ static ɵinj: i0.ɵɵInjectorDeclaration<HlmBreadcrumbModule>;
55
+ }
56
+
57
+ export { HlmBreadcrumb, HlmBreadcrumbEllipsis, HlmBreadcrumbImports, HlmBreadcrumbItem, HlmBreadcrumbLink, HlmBreadcrumbList, HlmBreadcrumbModule, HlmBreadcrumbPage, HlmBreadcrumbSeparator };
@@ -1,11 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, signal, computed, Component, NgModule } from '@angular/core';
3
- import { NgTemplateOutlet } from '@angular/common';
2
+ import { input, signal, computed, Component, InjectionToken, inject, Directive, NgModule } from '@angular/core';
4
3
  import * as i1 from '@spartan-ng/brain/button';
5
4
  import { BrnButton } from '@spartan-ng/brain/button';
5
+ import { hlm } from '@egose/shadcn-theme-ng/utils';
6
+ import { NgTemplateOutlet } from '@angular/common';
6
7
  import { HlmSpinner } from '@egose/shadcn-theme-ng/spinner';
7
8
  import { cva } from 'class-variance-authority';
8
- import { hlm } from '@egose/shadcn-theme-ng/utils';
9
9
 
10
10
  const buttonVariants = cva([
11
11
  'cursor-pointer',
@@ -33,6 +33,7 @@ const buttonVariants = cva([
33
33
  ], {
34
34
  variants: {
35
35
  variant: {
36
+ default: 'border border-primary bg-primary text-primary-foreground shadow-sm hover:bg-primary/90',
36
37
  primary: 'border border-primary bg-primary text-primary-foreground shadow-sm hover:bg-primary/90',
37
38
  secondary: 'border border-secondary bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/90',
38
39
  success: 'border border-success bg-success text-success-foreground shadow-sm hover:bg-success/90',
@@ -44,6 +45,7 @@ const buttonVariants = cva([
44
45
  accent: 'border border-accent bg-accent text-accent-foreground shadow-sm hover:bg-accent/90',
45
46
  destructive: 'border border-destructive bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',
46
47
  muted: 'border border-muted bg-muted text-muted-foreground shadow-sm hover:bg-muted/90',
48
+ outline: 'border border-primary bg-white text-primary shadow-sm hover:bg-primary/10',
47
49
  link: 'text-primary underline-offset-4 hover:underline',
48
50
  ghost: 'hover:bg-light hover:text-light-foreground',
49
51
  },
@@ -53,6 +55,9 @@ const buttonVariants = cva([
53
55
  default: 'h-9 px-4 py-2',
54
56
  lg: 'h-10 rounded-sm px-7 text-base',
55
57
  icon: 'h-9 w-9',
58
+ 'icon-xs': 'h-6 w-6 rounded-xs',
59
+ 'icon-sm': 'h-8 w-8 rounded-sm',
60
+ 'icon-lg': 'h-10 w-10 rounded-sm',
56
61
  'compact-xs': 'h-6 px-2 py-1 text-xs',
57
62
  'compact-sm': 'h-7 px-2 py-1',
58
63
  'compact-default': 'h-8 px-2 py-1',
@@ -78,17 +83,27 @@ const buttonVariants = cva([
78
83
  });
79
84
  class HlmButton {
80
85
  /** Props as signal-based inputs */
81
- variant = input('primary', ...(ngDevMode ? [{ debugName: "variant" }] : []));
82
- size = input('default', ...(ngDevMode ? [{ debugName: "size" }] : []));
83
- appearance = input('solid', ...(ngDevMode ? [{ debugName: "appearance" }] : []));
84
- loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
85
- icon = input(undefined, ...(ngDevMode ? [{ debugName: "icon" }] : []));
86
- iconPosition = input('left', ...(ngDevMode ? [{ debugName: "iconPosition" }] : []));
87
- userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
88
- spinnerUserClass = input('', ...(ngDevMode ? [{ debugName: "spinnerUserClass" }] : []));
89
- disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
90
- type = input('button', ...(ngDevMode ? [{ debugName: "type" }] : []));
91
- _additionalClasses = signal('', ...(ngDevMode ? [{ debugName: "_additionalClasses" }] : []));
86
+ variant = input('primary', /* @ts-ignore */
87
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
88
+ size = input('default', /* @ts-ignore */
89
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
90
+ appearance = input('solid', /* @ts-ignore */
91
+ ...(ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []));
92
+ loading = input(false, /* @ts-ignore */
93
+ ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
94
+ icon = input(undefined, /* @ts-ignore */
95
+ ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
96
+ iconPosition = input('left', /* @ts-ignore */
97
+ ...(ngDevMode ? [{ debugName: "iconPosition" }] : /* istanbul ignore next */ []));
98
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
99
+ spinnerUserClass = input('', /* @ts-ignore */
100
+ ...(ngDevMode ? [{ debugName: "spinnerUserClass" }] : /* istanbul ignore next */ []));
101
+ disabled = input(false, /* @ts-ignore */
102
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
103
+ type = input('button', /* @ts-ignore */
104
+ ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
105
+ _additionalClasses = signal('', /* @ts-ignore */
106
+ ...(ngDevMode ? [{ debugName: "_additionalClasses" }] : /* istanbul ignore next */ []));
92
107
  /** Computed button class merging */
93
108
  _computedClass = computed(() => {
94
109
  const outlineClasses = this.appearance() === 'outline' || this.appearance() === 'outline-filled'
@@ -104,20 +119,23 @@ class HlmButton {
104
119
  loading: this.loading(),
105
120
  className: this.userClass(),
106
121
  }), outlineClasses, this.loading() ? 'pointer-events-none' : '', this._additionalClasses());
107
- }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
122
+ }, /* @ts-ignore */
123
+ ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
108
124
  /** Computed spinner classes */
109
125
  spinnerClass = computed(() => {
110
126
  const base = this.appearance() === 'outline' || this.appearance() === 'outline-filled'
111
127
  ? this.getOutlineSpinnerClasses(this.variant())
112
128
  : this.getSpinnerClasses(this.variant());
113
129
  return hlm(base, this.spinnerUserClass());
114
- }, ...(ngDevMode ? [{ debugName: "spinnerClass" }] : []));
130
+ }, /* @ts-ignore */
131
+ ...(ngDevMode ? [{ debugName: "spinnerClass" }] : /* istanbul ignore next */ []));
115
132
  setClass(classes) {
116
133
  this._additionalClasses.set(classes);
117
134
  }
118
135
  /** Helper functions */
119
136
  getOutlineClasses(variant) {
120
137
  const colors = {
138
+ default: 'border-primary text-primary shadow-sm hover:bg-primary/10',
121
139
  primary: 'border-primary text-primary shadow-sm hover:bg-primary/10',
122
140
  secondary: 'border-secondary text-secondary shadow-sm hover:bg-secondary/10',
123
141
  success: 'border-success text-success shadow-sm hover:bg-success/10',
@@ -129,6 +147,7 @@ class HlmButton {
129
147
  accent: 'border-accent text-accent shadow-sm hover:bg-accent/10',
130
148
  destructive: 'border-destructive text-destructive shadow-sm hover:bg-destructive/10',
131
149
  muted: 'border-muted text-muted-foreground shadow-sm hover:bg-muted/10',
150
+ outline: 'border-primary text-primary shadow-sm hover:bg-primary/10',
132
151
  link: 'text-primary',
133
152
  ghost: 'text-light-foreground',
134
153
  };
@@ -136,6 +155,7 @@ class HlmButton {
136
155
  }
137
156
  getOutlineFilledClasses(variant) {
138
157
  const colors = {
158
+ default: 'hover:bg-primary hover:text-primary-foreground',
139
159
  primary: 'hover:bg-primary hover:text-primary-foreground',
140
160
  secondary: 'hover:bg-secondary hover:text-secondary-foreground',
141
161
  success: 'hover:bg-success hover:text-success-foreground',
@@ -147,6 +167,7 @@ class HlmButton {
147
167
  accent: 'hover:bg-accent hover:text-accent-foreground',
148
168
  destructive: 'hover:bg-destructive hover:text-destructive-foreground',
149
169
  muted: 'hover:bg-muted hover:text-muted-foreground',
170
+ outline: 'hover:bg-primary hover:text-primary-foreground',
150
171
  link: 'hover:underline',
151
172
  ghost: 'hover:bg-light',
152
173
  };
@@ -154,6 +175,7 @@ class HlmButton {
154
175
  }
155
176
  getSpinnerClasses(variant) {
156
177
  const colors = {
178
+ default: '[&>svg]:text-primary-foreground',
157
179
  primary: '[&>svg]:text-primary-foreground',
158
180
  secondary: '[&>svg]:text-secondary-foreground',
159
181
  success: '[&>svg]:text-success-foreground',
@@ -165,6 +187,7 @@ class HlmButton {
165
187
  accent: '[&>svg]:text-accent-foreground',
166
188
  destructive: '[&>svg]:text-destructive-foreground',
167
189
  muted: '[&>svg]:text-muted-foreground',
190
+ outline: '[&>svg]:text-primary',
168
191
  link: '[&>svg]:text-primary',
169
192
  ghost: '[&>svg]:text-light-foreground',
170
193
  };
@@ -172,6 +195,7 @@ class HlmButton {
172
195
  }
173
196
  getOutlineSpinnerClasses(variant) {
174
197
  const colors = {
198
+ default: '[&>svg]:text-primary',
175
199
  primary: '[&>svg]:text-primary',
176
200
  secondary: '[&>svg]:text-secondary',
177
201
  success: '[&>svg]:text-success',
@@ -183,13 +207,14 @@ class HlmButton {
183
207
  accent: '[&>svg]:text-accent',
184
208
  destructive: '[&>svg]:text-destructive',
185
209
  muted: '[&>svg]:text-muted-foreground',
210
+ outline: '[&>svg]:text-primary',
186
211
  link: '[&>svg]:text-primary',
187
212
  ghost: '[&>svg]:text-light-foreground',
188
213
  };
189
214
  return colors[variant];
190
215
  }
191
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
192
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: HlmButton, isStandalone: true, selector: "button[hlmButton], a[hlmButton]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, spinnerUserClass: { classPropertyName: "spinnerUserClass", publicName: "spinnerUserClass", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.aria-busy": "loading() || null", "attr.disabled": "(loading() || disabled()) ? true : null", "attr.type": "type()" } }, hostDirectives: [{ directive: i1.BrnButton, inputs: ["disabled", "disabled"] }], ngImport: i0, template: `
216
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
217
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: HlmButton, isStandalone: true, selector: "button[hlmButton], a[hlmButton]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, spinnerUserClass: { classPropertyName: "spinnerUserClass", publicName: "spinnerUserClass", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.aria-busy": "loading() || null", "attr.disabled": "(loading() || disabled()) ? true : null", "attr.type": "type()" } }, hostDirectives: [{ directive: i1.BrnButton, inputs: ["disabled", "disabled"] }], ngImport: i0, template: `
193
218
  <ng-template #projected>
194
219
  <ng-content></ng-content>
195
220
  </ng-template>
@@ -216,7 +241,7 @@ class HlmButton {
216
241
  }
217
242
  `, isInline: true, dependencies: [{ kind: "component", type: HlmSpinner, selector: "hlm-spinner", inputs: ["size", "show", "class", "spinnerClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
218
243
  }
219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmButton, decorators: [{
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmButton, decorators: [{
220
245
  type: Component,
221
246
  args: [{
222
247
  selector: 'button[hlmButton], a[hlmButton]',
@@ -258,16 +283,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
258
283
  }]
259
284
  }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], iconPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconPosition", required: false }] }], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], spinnerUserClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "spinnerUserClass", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }] } });
260
285
 
286
+ const defaultConfig = {
287
+ variant: 'default',
288
+ size: 'default',
289
+ };
290
+ const BrnButtonConfigToken = new InjectionToken('BrnButtonConfig');
291
+ function provideBrnButtonConfig(config) {
292
+ return { provide: BrnButtonConfigToken, useValue: { ...defaultConfig, ...config } };
293
+ }
294
+ function injectBrnButtonConfig() {
295
+ return inject(BrnButtonConfigToken, { optional: true }) ?? defaultConfig;
296
+ }
297
+
298
+ class HlmBtn {
299
+ _config = injectBrnButtonConfig();
300
+ _additionalClasses = signal('', /* @ts-ignore */
301
+ ...(ngDevMode ? [{ debugName: "_additionalClasses" }] : /* istanbul ignore next */ []));
302
+ variant = input(this._config.variant, /* @ts-ignore */
303
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
304
+ size = input(this._config.size, /* @ts-ignore */
305
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
306
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
307
+ type = input('button', /* @ts-ignore */
308
+ ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
309
+ _computedClass = computed(() => hlm(buttonVariants({
310
+ variant: this.variant(),
311
+ size: this.size(),
312
+ }), this.userClass(), this._additionalClasses()), /* @ts-ignore */
313
+ ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
314
+ setClass(classes) {
315
+ this._additionalClasses.set(classes);
316
+ }
317
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBtn, deps: [], target: i0.ɵɵFactoryTarget.Directive });
318
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: HlmBtn, isStandalone: true, selector: "button[hlmBtn], a[hlmBtn]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "button" }, properties: { "class": "_computedClass()", "attr.type": "type()" } }, exportAs: ["hlmBtn"], hostDirectives: [{ directive: i1.BrnButton, inputs: ["disabled", "disabled"] }], ngImport: i0 });
319
+ }
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmBtn, decorators: [{
321
+ type: Directive,
322
+ args: [{
323
+ selector: 'button[hlmBtn], a[hlmBtn]',
324
+ exportAs: 'hlmBtn',
325
+ standalone: true,
326
+ hostDirectives: [{ directive: BrnButton, inputs: ['disabled'] }],
327
+ host: {
328
+ '[class]': '_computedClass()',
329
+ '[attr.type]': 'type()',
330
+ 'data-slot': 'button',
331
+ },
332
+ }]
333
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }] } });
334
+
261
335
  /*
262
336
  * Public API Surface of button
263
337
  */
264
- const HlmButtonImports = [HlmButton];
338
+ const HlmButtonImports = [HlmButton, HlmBtn];
265
339
  class HlmButtonModule {
266
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
267
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: HlmButtonModule, imports: [HlmButton], exports: [HlmButton] });
268
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmButtonModule, imports: [HlmButtonImports] });
340
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
341
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: HlmButtonModule, imports: [HlmButton, HlmBtn], exports: [HlmButton, HlmBtn] });
342
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmButtonModule, imports: [HlmButton] });
269
343
  }
270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmButtonModule, decorators: [{
344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmButtonModule, decorators: [{
271
345
  type: NgModule,
272
346
  args: [{
273
347
  imports: [...HlmButtonImports],
@@ -279,5 +353,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
279
353
  * Generated bundle index. Do not edit.
280
354
  */
281
355
 
282
- export { HlmButton, HlmButtonImports, HlmButtonModule, buttonVariants };
356
+ export { HlmBtn, HlmButton, HlmButtonImports, HlmButtonModule, buttonVariants, injectBrnButtonConfig, provideBrnButtonConfig };
283
357
  //# sourceMappingURL=button.mjs.map