@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,104 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Component, Injectable } from '@angular/core';
3
+ import { HlmButton } from '@egose/shadcn-theme-ng/button';
4
+ import { HlmAlertIcon, HlmAlert } from '@egose/shadcn-theme-ng/alert';
5
+ import * as i1 from '@egose/shadcn-theme-ng/dialog';
6
+ import { HlmDialogDescription, HlmDialogHeader, HlmDialogFooter, HlmDialogTitle } from '@egose/shadcn-theme-ng/dialog';
7
+ import { BrnDialogRef, injectBrnDialogContext } from '@spartan-ng/brain/dialog';
8
+ import { HlmIcon } from '@egose/shadcn-theme-ng/icon';
9
+ import { NgIcon, provideIcons } from '@ng-icons/core';
10
+ import { lucideTriangleAlert } from '@ng-icons/lucide';
11
+
12
+ class EgConfirmationDiaglog {
13
+ _dialogRef = inject(BrnDialogRef);
14
+ _dialogContext = injectBrnDialogContext();
15
+ _title = this._dialogContext.title || 'Are you absolutely sure?';
16
+ _description = this._dialogContext.description || 'This action cannot be undone.';
17
+ close(confirm) {
18
+ this._dialogRef.close(confirm);
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EgConfirmationDiaglog, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: EgConfirmationDiaglog, isStandalone: true, selector: "ng-component", host: { classAttribute: "w-full p-1" }, providers: [provideIcons({ lucideTriangleAlert })], ngImport: i0, template: `
22
+ <hlm-dialog-header>
23
+ <div class="flex items-center gap-1">
24
+ <ng-icon hlm hlmAlertIcon name="lucideTriangleAlert" size="base" />
25
+ <h3 hlmDialogTitle class="text-xl">{{ _title }}</h3>
26
+ </div>
27
+ <p hlmDialogDescription class="text-base text-gray-700">{{ _description }}</p>
28
+ </hlm-dialog-header>
29
+
30
+ <hlm-dialog-footer class="mt-4">
31
+ <button hlmButton variant="secondary" appearance="outline" (click)="close(false)">Cancel</button>
32
+ <button hlmButton variant="danger" (click)="close(true)">Confirm</button>
33
+ </hlm-dialog-footer>
34
+ `, isInline: true, dependencies: [{ kind: "component", type: HlmButton, selector: "button[hlmButton], a[hlmButton]", inputs: ["variant", "size", "appearance", "loading", "icon", "iconPosition", "class", "spinnerUserClass", "disabled", "type"] }, { kind: "directive", type: HlmAlertIcon, selector: "[hlmAlertIcon]" }, { kind: "directive", type: HlmDialogDescription, selector: "[hlmDialogDescription]" }, { kind: "directive", type: HlmDialogHeader, selector: "[hlmDialogHeader],hlm-dialog-header" }, { kind: "directive", type: HlmDialogFooter, selector: "[hlmDialogFooter],hlm-dialog-footer" }, { kind: "directive", type: HlmDialogTitle, selector: "[hlmDialogTitle]" }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }] });
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EgConfirmationDiaglog, decorators: [{
37
+ type: Component,
38
+ args: [{
39
+ imports: [
40
+ HlmButton,
41
+ HlmAlert,
42
+ HlmAlertIcon,
43
+ HlmDialogDescription,
44
+ HlmDialogHeader,
45
+ HlmDialogFooter,
46
+ HlmDialogTitle,
47
+ NgIcon,
48
+ HlmIcon,
49
+ ],
50
+ standalone: true,
51
+ providers: [provideIcons({ lucideTriangleAlert })],
52
+ template: `
53
+ <hlm-dialog-header>
54
+ <div class="flex items-center gap-1">
55
+ <ng-icon hlm hlmAlertIcon name="lucideTriangleAlert" size="base" />
56
+ <h3 hlmDialogTitle class="text-xl">{{ _title }}</h3>
57
+ </div>
58
+ <p hlmDialogDescription class="text-base text-gray-700">{{ _description }}</p>
59
+ </hlm-dialog-header>
60
+
61
+ <hlm-dialog-footer class="mt-4">
62
+ <button hlmButton variant="secondary" appearance="outline" (click)="close(false)">Cancel</button>
63
+ <button hlmButton variant="danger" (click)="close(true)">Confirm</button>
64
+ </hlm-dialog-footer>
65
+ `,
66
+ host: {
67
+ class: 'w-full p-1',
68
+ },
69
+ }]
70
+ }] });
71
+ class EgConfirmationDialogService {
72
+ hlmDialogService;
73
+ constructor(hlmDialogService) {
74
+ this.hlmDialogService = hlmDialogService;
75
+ }
76
+ showConfirmationDialog({ title, description }) {
77
+ return new Promise((resolve) => {
78
+ const dialogRef = this.hlmDialogService.open(EgConfirmationDiaglog, {
79
+ context: { title, description },
80
+ contentClass: '',
81
+ });
82
+ dialogRef.closed$.subscribe((confirm) => {
83
+ resolve(confirm ?? false);
84
+ });
85
+ });
86
+ }
87
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EgConfirmationDialogService, deps: [{ token: i1.HlmDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
88
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EgConfirmationDialogService, providedIn: 'root' });
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EgConfirmationDialogService, decorators: [{
91
+ type: Injectable,
92
+ args: [{ providedIn: 'root' }]
93
+ }], ctorParameters: () => [{ type: i1.HlmDialogService }] });
94
+
95
+ /*
96
+ * Public API Surface of confirmation-dialog
97
+ */
98
+
99
+ /**
100
+ * Generated bundle index. Do not edit.
101
+ */
102
+
103
+ export { EgConfirmationDiaglog, EgConfirmationDialogService };
104
+ //# sourceMappingURL=confirmation-dialog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmation-dialog.mjs","sources":["../../../projects/confirmation-dialog/src/lib/confirmation-dialog.ts","../../../projects/confirmation-dialog/src/public-api.ts","../../../projects/confirmation-dialog/src/confirmation-dialog.ts"],"sourcesContent":["import { Component, inject, Injectable } from '@angular/core';\nimport { HlmButton } from '@egose/shadcn-theme-ng/button';\n\nimport { HlmAlert, HlmAlertIcon } from '@egose/shadcn-theme-ng/alert';\nimport {\n HlmDialogDescription,\n HlmDialogHeader,\n HlmDialogFooter,\n HlmDialogService,\n HlmDialogTitle,\n} from '@egose/shadcn-theme-ng/dialog';\nimport { BrnDialogRef, injectBrnDialogContext } from '@spartan-ng/brain/dialog';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideTriangleAlert } from '@ng-icons/lucide';\n\n@Component({\n imports: [\n HlmButton,\n HlmAlert,\n HlmAlertIcon,\n HlmDialogDescription,\n HlmDialogHeader,\n HlmDialogFooter,\n HlmDialogTitle,\n NgIcon,\n HlmIcon,\n ],\n standalone: true,\n providers: [provideIcons({ lucideTriangleAlert })],\n template: `\n <hlm-dialog-header>\n <div class=\"tw:flex tw:items-center tw:gap-1\">\n <ng-icon hlm hlmAlertIcon name=\"lucideTriangleAlert\" size=\"base\" />\n <h3 hlmDialogTitle class=\"tw:text-xl\">{{ _title }}</h3>\n </div>\n <p hlmDialogDescription class=\"tw:text-base tw:text-gray-700\">{{ _description }}</p>\n </hlm-dialog-header>\n\n <hlm-dialog-footer class=\"tw:mt-4\">\n <button hlmButton variant=\"secondary\" appearance=\"outline\" (click)=\"close(false)\">Cancel</button>\n <button hlmButton variant=\"danger\" (click)=\"close(true)\">Confirm</button>\n </hlm-dialog-footer>\n `,\n host: {\n class: 'tw:w-full tw:p-1',\n },\n})\nexport class EgConfirmationDiaglog {\n private readonly _dialogRef = inject<BrnDialogRef<boolean>>(BrnDialogRef);\n private readonly _dialogContext = injectBrnDialogContext<{ title: string; description: string }>();\n\n protected readonly _title = this._dialogContext.title || 'Are you absolutely sure?';\n protected readonly _description = this._dialogContext.description || 'This action cannot be undone.';\n\n public close(confirm: boolean) {\n this._dialogRef.close(confirm);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class EgConfirmationDialogService {\n constructor(private hlmDialogService: HlmDialogService) {}\n\n showConfirmationDialog({ title, description }: { title: string; description: string }) {\n return new Promise<boolean>((resolve) => {\n const dialogRef = this.hlmDialogService.open<boolean>(EgConfirmationDiaglog, {\n context: { title, description },\n contentClass: '',\n });\n\n dialogRef.closed$.subscribe((confirm) => {\n resolve(confirm ?? false);\n });\n });\n }\n}\n","/*\n * Public API Surface of confirmation-dialog\n */\n\nexport * from './lib/confirmation-dialog';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "confirmation-dialog",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": "^20.3.0 || ^22.0.0",
6
+ "@angular/core": "^20.3.0 || ^22.0.0"
7
+ },
8
+ "dependencies": {
9
+ "tslib": "^2.3.0"
10
+ },
11
+ "sideEffects": false,
12
+ "module": "fesm2022/confirmation-dialog.mjs",
13
+ "typings": "types/confirmation-dialog.d.ts",
14
+ "exports": {
15
+ "./package.json": {
16
+ "default": "./package.json"
17
+ },
18
+ ".": {
19
+ "types": "./types/confirmation-dialog.d.ts",
20
+ "default": "./fesm2022/confirmation-dialog.mjs"
21
+ }
22
+ },
23
+ "type": "module"
24
+ }
@@ -0,0 +1,24 @@
1
+ import { HlmDialogService } from '@egose/shadcn-theme-ng/dialog';
2
+ import * as i0 from '@angular/core';
3
+
4
+ declare class EgConfirmationDiaglog {
5
+ private readonly _dialogRef;
6
+ private readonly _dialogContext;
7
+ protected readonly _title: string;
8
+ protected readonly _description: string;
9
+ close(confirm: boolean): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<EgConfirmationDiaglog, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<EgConfirmationDiaglog, "ng-component", never, {}, {}, never, never, true, never>;
12
+ }
13
+ declare class EgConfirmationDialogService {
14
+ private hlmDialogService;
15
+ constructor(hlmDialogService: HlmDialogService);
16
+ showConfirmationDialog({ title, description }: {
17
+ title: string;
18
+ description: string;
19
+ }): Promise<boolean>;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<EgConfirmationDialogService, never>;
21
+ static ɵprov: i0.ɵɵInjectableDeclaration<EgConfirmationDialogService>;
22
+ }
23
+
24
+ export { EgConfirmationDiaglog, EgConfirmationDialogService };
@@ -0,0 +1,11 @@
1
+ # ContextMenu
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 context-menu
11
+ ```
@@ -0,0 +1,89 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, input, booleanAttribute, computed, effect, forwardRef, Directive, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/cdk/menu';
4
+ import { CdkContextMenuTrigger } from '@angular/cdk/menu';
5
+ import { createMenuPosition, MENU_SIDE } from '@spartan-ng/brain/core';
6
+ import { classes } from '@egose/shadcn-theme-ng/utils';
7
+
8
+ const defaultConfig = {
9
+ align: 'start',
10
+ side: 'bottom',
11
+ };
12
+ const HlmContextMenuConfigToken = new InjectionToken('HlmContextMenuConfig');
13
+ function provideHlmContextMenuConfig(config) {
14
+ return { provide: HlmContextMenuConfigToken, useValue: { ...defaultConfig, ...config } };
15
+ }
16
+ function injectHlmContextMenuConfig() {
17
+ return inject(HlmContextMenuConfigToken, { optional: true }) ?? defaultConfig;
18
+ }
19
+
20
+ class HlmContextMenuTrigger {
21
+ _cdkTrigger = inject(CdkContextMenuTrigger, { host: true });
22
+ _config = injectHlmContextMenuConfig();
23
+ disabled = input(this._cdkTrigger.disabled, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
24
+ align = input(this._config.align, /* @ts-ignore */
25
+ ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
26
+ side = input(this._config.side, /* @ts-ignore */
27
+ ...(ngDevMode ? [{ debugName: "side" }] : /* istanbul ignore next */ []));
28
+ _menuPosition = computed(() => createMenuPosition(this.align(), this.side()), /* @ts-ignore */
29
+ ...(ngDevMode ? [{ debugName: "_menuPosition" }] : /* istanbul ignore next */ []));
30
+ constructor() {
31
+ // CDK sets transform-origin on the menu content (a shared hlm-dropdown-menu) from the resolved
32
+ // position; the content reads it to animate from the anchored corner and to derive its data-side.
33
+ // Cast tolerates @angular/cdk < 21.2 (we still support >=21.0), where the property is absent and
34
+ // the assignment is a harmless no-op.
35
+ this._cdkTrigger.transformOriginSelector = '[data-slot="dropdown-menu"]';
36
+ effect(() => {
37
+ this._cdkTrigger.menuPosition = this._menuPosition();
38
+ });
39
+ classes(() => 'select-none');
40
+ }
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmContextMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
42
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: HlmContextMenuTrigger, isStandalone: true, selector: "[hlmContextMenuTrigger]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "context-menu-trigger" }, properties: { "attr.data-disabled": "disabled() ? \"\" : null" } }, providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmContextMenuTrigger) }], hostDirectives: [{ directive: i1.CdkContextMenuTrigger, inputs: ["cdkContextMenuTriggerFor", "hlmContextMenuTrigger", "cdkContextMenuTriggerData", "hlmContextMenuTriggerData", "cdkContextMenuDisabled", "disabled"], outputs: ["cdkContextMenuOpened", "hlmContextMenuOpened", "cdkContextMenuClosed", "hlmContextMenuClosed"] }], ngImport: i0 });
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmContextMenuTrigger, decorators: [{
45
+ type: Directive,
46
+ args: [{
47
+ selector: '[hlmContextMenuTrigger]',
48
+ providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmContextMenuTrigger) }],
49
+ hostDirectives: [
50
+ {
51
+ directive: CdkContextMenuTrigger,
52
+ inputs: [
53
+ 'cdkContextMenuTriggerFor: hlmContextMenuTrigger',
54
+ 'cdkContextMenuTriggerData: hlmContextMenuTriggerData',
55
+ 'cdkContextMenuDisabled: disabled',
56
+ ],
57
+ outputs: ['cdkContextMenuOpened: hlmContextMenuOpened', 'cdkContextMenuClosed: hlmContextMenuClosed'],
58
+ },
59
+ ],
60
+ host: {
61
+ 'data-slot': 'context-menu-trigger',
62
+ '[attr.data-disabled]': 'disabled() ? "" : null',
63
+ },
64
+ }]
65
+ }], ctorParameters: () => [], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }] } });
66
+
67
+ /*
68
+ * Public API Surface of context-menu
69
+ */
70
+ const HlmContextMenuImports = [HlmContextMenuTrigger];
71
+ class HlmContextMenuModule {
72
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
73
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: HlmContextMenuModule, imports: [HlmContextMenuTrigger], exports: [HlmContextMenuTrigger] });
74
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmContextMenuModule });
75
+ }
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmContextMenuModule, decorators: [{
77
+ type: NgModule,
78
+ args: [{
79
+ imports: [...HlmContextMenuImports],
80
+ exports: [...HlmContextMenuImports],
81
+ }]
82
+ }] });
83
+
84
+ /**
85
+ * Generated bundle index. Do not edit.
86
+ */
87
+
88
+ export { HlmContextMenuImports, HlmContextMenuModule, HlmContextMenuTrigger, injectHlmContextMenuConfig, provideHlmContextMenuConfig };
89
+ //# sourceMappingURL=context-menu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-menu.mjs","sources":["../../../projects/context-menu/src/lib/hlm-context-menu-token.ts","../../../projects/context-menu/src/lib/hlm-context-menu-trigger.ts","../../../projects/context-menu/src/public-api.ts","../../../projects/context-menu/src/context-menu.ts"],"sourcesContent":["import { InjectionToken, type ValueProvider, inject } from '@angular/core';\nimport { type MenuAlign, type MenuSide } from '@spartan-ng/brain/core';\n\nexport interface HlmContextMenuConfig {\n align: MenuAlign;\n side: MenuSide;\n}\n\nconst defaultConfig: HlmContextMenuConfig = {\n align: 'start',\n side: 'bottom',\n};\n\nconst HlmContextMenuConfigToken = new InjectionToken<HlmContextMenuConfig>('HlmContextMenuConfig');\n\nexport function provideHlmContextMenuConfig(config: Partial<HlmContextMenuConfig>): ValueProvider {\n return { provide: HlmContextMenuConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmContextMenuConfig(): HlmContextMenuConfig {\n return inject(HlmContextMenuConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { CdkContextMenuTrigger } from '@angular/cdk/menu';\nimport { booleanAttribute, computed, Directive, effect, forwardRef, inject, input } from '@angular/core';\nimport { createMenuPosition, MENU_SIDE, type MenuAlign, type MenuSide } from '@spartan-ng/brain/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\nimport { injectHlmContextMenuConfig } from './hlm-context-menu-token';\n\n@Directive({\n selector: '[hlmContextMenuTrigger]',\n providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmContextMenuTrigger) }],\n hostDirectives: [\n {\n directive: CdkContextMenuTrigger,\n inputs: [\n 'cdkContextMenuTriggerFor: hlmContextMenuTrigger',\n 'cdkContextMenuTriggerData: hlmContextMenuTriggerData',\n 'cdkContextMenuDisabled: disabled',\n ],\n outputs: ['cdkContextMenuOpened: hlmContextMenuOpened', 'cdkContextMenuClosed: hlmContextMenuClosed'],\n },\n ],\n host: {\n 'data-slot': 'context-menu-trigger',\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\n },\n})\nexport class HlmContextMenuTrigger {\n private readonly _cdkTrigger = inject(CdkContextMenuTrigger, { host: true });\n private readonly _config = injectHlmContextMenuConfig();\n\n public readonly disabled = input<boolean, BooleanInput>(this._cdkTrigger.disabled, { transform: booleanAttribute });\n\n public readonly align = input<MenuAlign>(this._config.align);\n public readonly side = input<MenuSide>(this._config.side);\n\n private readonly _menuPosition = computed(() => createMenuPosition(this.align(), this.side()));\n\n constructor() {\n // CDK sets transform-origin on the menu content (a shared hlm-dropdown-menu) from the resolved\n // position; the content reads it to animate from the anchored corner and to derive its data-side.\n // Cast tolerates @angular/cdk < 21.2 (we still support >=21.0), where the property is absent and\n // the assignment is a harmless no-op.\n (this._cdkTrigger as { transformOriginSelector?: string }).transformOriginSelector = '[data-slot=\"dropdown-menu\"]';\n\n effect(() => {\n this._cdkTrigger.menuPosition = this._menuPosition();\n });\n\n classes(() => 'select-none');\n }\n}\n","/*\n * Public API Surface of context-menu\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmContextMenuTrigger } from './lib/hlm-context-menu-trigger';\n\nexport * from './lib/hlm-context-menu-token';\nexport * from './lib/hlm-context-menu-trigger';\n\nexport const HlmContextMenuImports = [HlmContextMenuTrigger] as const;\n\n@NgModule({\n imports: [...HlmContextMenuImports],\n exports: [...HlmContextMenuImports],\n})\nexport class HlmContextMenuModule {}\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": "context-menu",
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/context-menu.mjs",
14
+ "typings": "types/context-menu.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./types/context-menu.d.ts",
21
+ "default": "./fesm2022/context-menu.mjs"
22
+ }
23
+ },
24
+ "type": "module"
25
+ }
@@ -0,0 +1,34 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ValueProvider } from '@angular/core';
3
+ import { BooleanInput } from '@angular/cdk/coercion';
4
+ import { MenuAlign, MenuSide } from '@spartan-ng/brain/core';
5
+ import * as i1 from '@angular/cdk/menu';
6
+
7
+ declare class HlmContextMenuTrigger {
8
+ private readonly _cdkTrigger;
9
+ private readonly _config;
10
+ readonly disabled: i0.InputSignalWithTransform<boolean, BooleanInput>;
11
+ readonly align: i0.InputSignal<MenuAlign>;
12
+ readonly side: i0.InputSignal<MenuSide>;
13
+ private readonly _menuPosition;
14
+ constructor();
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmContextMenuTrigger, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmContextMenuTrigger, "[hlmContextMenuTrigger]", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkContextMenuTrigger; inputs: { "cdkContextMenuTriggerFor": "hlmContextMenuTrigger"; "cdkContextMenuTriggerData": "hlmContextMenuTriggerData"; "cdkContextMenuDisabled": "disabled"; }; outputs: { "cdkContextMenuOpened": "hlmContextMenuOpened"; "cdkContextMenuClosed": "hlmContextMenuClosed"; }; }]>;
17
+ }
18
+
19
+ interface HlmContextMenuConfig {
20
+ align: MenuAlign;
21
+ side: MenuSide;
22
+ }
23
+ declare function provideHlmContextMenuConfig(config: Partial<HlmContextMenuConfig>): ValueProvider;
24
+ declare function injectHlmContextMenuConfig(): HlmContextMenuConfig;
25
+
26
+ declare const HlmContextMenuImports: readonly [typeof HlmContextMenuTrigger];
27
+ declare class HlmContextMenuModule {
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmContextMenuModule, never>;
29
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HlmContextMenuModule, never, [typeof HlmContextMenuTrigger], [typeof HlmContextMenuTrigger]>;
30
+ static ɵinj: i0.ɵɵInjectorDeclaration<HlmContextMenuModule>;
31
+ }
32
+
33
+ export { HlmContextMenuImports, HlmContextMenuModule, HlmContextMenuTrigger, injectHlmContextMenuConfig, provideHlmContextMenuConfig };
34
+ export type { HlmContextMenuConfig };