@egose/shadcn-theme-ng 0.0.27 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/README.md +130 -13
  2. package/accordion/README.md +3 -0
  3. package/accordion/fesm2022/accordion.mjs +148 -0
  4. package/accordion/package.json +25 -0
  5. package/accordion/types/accordion.d.ts +49 -0
  6. package/alert/README.md +2 -63
  7. package/alert/fesm2022/alert.mjs +58 -53
  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/package.json +25 -0
  12. package/alert-dialog/types/alert-dialog.d.ts +90 -0
  13. package/aspect-ratio/README.md +11 -0
  14. package/aspect-ratio/fesm2022/aspect-ratio.mjs +62 -0
  15. package/aspect-ratio/package.json +25 -0
  16. package/aspect-ratio/types/aspect-ratio.d.ts +21 -0
  17. package/autocomplete/README.md +3 -0
  18. package/autocomplete/fesm2022/autocomplete.mjs +391 -0
  19. package/autocomplete/package.json +24 -0
  20. package/autocomplete/types/autocomplete.d.ts +96 -0
  21. package/avatar/README.md +11 -0
  22. package/avatar/fesm2022/avatar.mjs +178 -0
  23. package/avatar/package.json +25 -0
  24. package/avatar/types/avatar.d.ts +50 -0
  25. package/badge/README.md +2 -63
  26. package/badge/fesm2022/badge.mjs +69 -63
  27. package/badge/package.json +25 -0
  28. package/basic-alert/README.md +2 -63
  29. package/basic-alert/fesm2022/basic-alert.mjs +14 -22
  30. package/basic-alert/package.json +24 -0
  31. package/breadcrumb/README.md +11 -0
  32. package/breadcrumb/fesm2022/breadcrumb.mjs +218 -0
  33. package/breadcrumb/package.json +25 -0
  34. package/breadcrumb/types/breadcrumb.d.ts +57 -0
  35. package/button/README.md +2 -63
  36. package/button/fesm2022/button.mjs +201 -177
  37. package/button/package.json +25 -0
  38. package/button/{index.d.ts → types/button.d.ts} +31 -10
  39. package/button-group/README.md +11 -0
  40. package/button-group/fesm2022/button-group.mjs +102 -0
  41. package/button-group/package.json +25 -0
  42. package/button-group/types/button-group.d.ts +30 -0
  43. package/calendar/README.md +2 -63
  44. package/calendar/fesm2022/calendar.mjs +178 -570
  45. package/calendar/package.json +24 -0
  46. package/calendar/types/calendar.d.ts +94 -0
  47. package/card/README.md +11 -0
  48. package/card/fesm2022/card.mjs +169 -0
  49. package/card/package.json +25 -0
  50. package/card/types/card.d.ts +54 -0
  51. package/carousel/README.md +11 -0
  52. package/carousel/fesm2022/carousel.mjs +267 -0
  53. package/carousel/package.json +25 -0
  54. package/carousel/types/carousel.d.ts +84 -0
  55. package/checkbox/README.md +3 -0
  56. package/checkbox/fesm2022/checkbox.mjs +113 -0
  57. package/checkbox/package.json +24 -0
  58. package/checkbox/types/checkbox.d.ts +56 -0
  59. package/collapsible/README.md +11 -0
  60. package/collapsible/fesm2022/collapsible.mjs +77 -0
  61. package/collapsible/package.json +25 -0
  62. package/collapsible/types/collapsible.d.ts +27 -0
  63. package/combobox/README.md +11 -0
  64. package/combobox/fesm2022/combobox.mjs +547 -0
  65. package/combobox/package.json +25 -0
  66. package/combobox/types/combobox.d.ts +151 -0
  67. package/command/README.md +11 -0
  68. package/command/fesm2022/command.mjs +301 -0
  69. package/command/package.json +25 -0
  70. package/command/types/command.d.ts +89 -0
  71. package/confirmation-dialog/README.md +3 -0
  72. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +79 -0
  73. package/confirmation-dialog/package.json +24 -0
  74. package/confirmation-dialog/types/confirmation-dialog.d.ts +28 -0
  75. package/context-menu/README.md +11 -0
  76. package/context-menu/fesm2022/context-menu.mjs +89 -0
  77. package/context-menu/package.json +25 -0
  78. package/context-menu/types/context-menu.d.ts +34 -0
  79. package/date-picker/README.md +2 -63
  80. package/date-picker/fesm2022/date-picker.mjs +1104 -352
  81. package/date-picker/package.json +24 -0
  82. package/date-picker/types/date-picker.d.ts +555 -0
  83. package/dialog/README.md +3 -0
  84. package/dialog/fesm2022/dialog.mjs +281 -0
  85. package/dialog/package.json +24 -0
  86. package/dialog/types/dialog.d.ts +95 -0
  87. package/drawer/README.md +11 -0
  88. package/drawer/fesm2022/drawer.mjs +261 -0
  89. package/drawer/package.json +25 -0
  90. package/drawer/types/drawer.d.ts +76 -0
  91. package/dropdown-menu/README.md +11 -0
  92. package/dropdown-menu/fesm2022/dropdown-menu.mjs +554 -0
  93. package/dropdown-menu/package.json +25 -0
  94. package/dropdown-menu/types/dropdown-menu.d.ts +180 -0
  95. package/empty/README.md +11 -0
  96. package/empty/fesm2022/empty.mjs +151 -0
  97. package/empty/package.json +25 -0
  98. package/empty/types/empty.d.ts +54 -0
  99. package/field/README.md +11 -0
  100. package/field/fesm2022/field.mjs +351 -0
  101. package/field/package.json +25 -0
  102. package/field/types/field.d.ts +107 -0
  103. package/form-checkbox/README.md +3 -0
  104. package/form-checkbox/fesm2022/form-checkbox.mjs +94 -0
  105. package/form-checkbox/package.json +24 -0
  106. package/form-checkbox/types/form-checkbox.d.ts +33 -0
  107. package/form-date-picker/README.md +2 -63
  108. package/form-date-picker/fesm2022/form-date-picker.mjs +74 -120
  109. package/form-date-picker/package.json +24 -0
  110. package/form-date-picker/{index.d.ts → types/form-date-picker.d.ts} +7 -1
  111. package/form-field/README.md +2 -63
  112. package/form-field/fesm2022/form-field.mjs +54 -28
  113. package/form-field/package.json +25 -0
  114. package/form-field/types/form-field.d.ts +46 -0
  115. package/form-field-simple/README.md +2 -63
  116. package/form-field-simple/fesm2022/form-field-simple.mjs +15 -10
  117. package/form-field-simple/package.json +24 -0
  118. package/form-searchable-multiselect/README.md +3 -0
  119. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +98 -0
  120. package/form-searchable-multiselect/package.json +24 -0
  121. package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +36 -0
  122. package/form-select/README.md +2 -63
  123. package/form-select/fesm2022/form-select.mjs +85 -141
  124. package/form-select/package.json +24 -0
  125. package/form-select/{index.d.ts → types/form-select.d.ts} +7 -1
  126. package/form-text-input/README.md +2 -63
  127. package/form-text-input/fesm2022/form-text-input.mjs +86 -171
  128. package/form-text-input/package.json +24 -0
  129. package/form-text-input/{index.d.ts → types/form-text-input.d.ts} +9 -12
  130. package/form-textarea/README.md +2 -63
  131. package/form-textarea/fesm2022/form-textarea.mjs +77 -128
  132. package/form-textarea/package.json +24 -0
  133. package/form-textarea/{index.d.ts → types/form-textarea.d.ts} +8 -1
  134. package/hover-card/README.md +11 -0
  135. package/hover-card/fesm2022/hover-card.mjs +123 -0
  136. package/hover-card/package.json +25 -0
  137. package/hover-card/types/hover-card.d.ts +36 -0
  138. package/icon/README.md +2 -63
  139. package/icon/fesm2022/icon.mjs +12 -10
  140. package/icon/package.json +25 -0
  141. package/input/README.md +2 -63
  142. package/input/fesm2022/input.mjs +25 -70
  143. package/input/package.json +25 -0
  144. package/input/types/input.d.ts +19 -0
  145. package/input-group/README.md +11 -0
  146. package/input-group/fesm2022/input-group.mjs +199 -0
  147. package/input-group/package.json +25 -0
  148. package/input-group/types/input-group.d.ts +52 -0
  149. package/input-otp/README.md +11 -0
  150. package/input-otp/fesm2022/input-otp.mjs +141 -0
  151. package/input-otp/package.json +25 -0
  152. package/input-otp/types/input-otp.d.ts +43 -0
  153. package/item/README.md +11 -0
  154. package/item/fesm2022/item.mjs +278 -0
  155. package/item/package.json +25 -0
  156. package/item/types/item.d.ts +101 -0
  157. package/kbd/README.md +11 -0
  158. package/kbd/fesm2022/kbd.mjs +61 -0
  159. package/kbd/package.json +25 -0
  160. package/kbd/types/kbd.d.ts +22 -0
  161. package/label/README.md +2 -63
  162. package/label/fesm2022/label.mjs +12 -11
  163. package/label/package.json +25 -0
  164. package/label/{index.d.ts → types/label.d.ts} +1 -1
  165. package/layout-simple/README.md +3 -0
  166. package/layout-simple/fesm2022/layout-simple.mjs +388 -0
  167. package/layout-simple/package.json +24 -0
  168. package/layout-simple/types/layout-simple.d.ts +167 -0
  169. package/menu/README.md +3 -0
  170. package/menu/fesm2022/menu.mjs +455 -0
  171. package/menu/package.json +24 -0
  172. package/menu/types/menu.d.ts +137 -0
  173. package/menubar/README.md +11 -0
  174. package/menubar/fesm2022/menubar.mjs +108 -0
  175. package/menubar/package.json +25 -0
  176. package/menubar/types/menubar.d.ts +40 -0
  177. package/native-select/README.md +11 -0
  178. package/native-select/fesm2022/native-select.mjs +207 -0
  179. package/native-select/package.json +25 -0
  180. package/native-select/types/native-select.d.ts +70 -0
  181. package/navigation-menu/README.md +11 -0
  182. package/navigation-menu/fesm2022/navigation-menu.mjs +194 -0
  183. package/navigation-menu/package.json +25 -0
  184. package/navigation-menu/types/navigation-menu.d.ts +54 -0
  185. package/package.json +284 -63
  186. package/pagination/README.md +11 -0
  187. package/pagination/fesm2022/pagination.mjs +522 -0
  188. package/pagination/package.json +25 -0
  189. package/pagination/types/pagination.d.ts +192 -0
  190. package/popover/README.md +2 -63
  191. package/popover/fesm2022/popover.mjs +124 -30
  192. package/popover/package.json +24 -0
  193. package/popover/types/popover.d.ts +54 -0
  194. package/progress/README.md +11 -0
  195. package/progress/fesm2022/progress.mjs +77 -0
  196. package/progress/package.json +25 -0
  197. package/progress/types/progress.d.ts +27 -0
  198. package/radio-group/README.md +3 -0
  199. package/radio-group/fesm2022/radio-group.mjs +207 -0
  200. package/radio-group/package.json +25 -0
  201. package/radio-group/types/radio-group.d.ts +71 -0
  202. package/resizable/README.md +11 -0
  203. package/resizable/fesm2022/resizable.mjs +103 -0
  204. package/resizable/package.json +25 -0
  205. package/resizable/types/resizable.d.ts +32 -0
  206. package/scroll-area/README.md +11 -0
  207. package/scroll-area/fesm2022/scroll-area.mjs +51 -0
  208. package/scroll-area/package.json +25 -0
  209. package/scroll-area/types/scroll-area.d.ts +16 -0
  210. package/searchable-multiselect/README.md +3 -0
  211. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +136 -0
  212. package/searchable-multiselect/package.json +24 -0
  213. package/searchable-multiselect/types/searchable-multiselect.d.ts +45 -0
  214. package/select/README.md +2 -63
  215. package/select/fesm2022/select.mjs +340 -198
  216. package/select/package.json +25 -0
  217. package/select/types/select.d.ts +121 -0
  218. package/separator/README.md +2 -63
  219. package/separator/fesm2022/separator.mjs +17 -15
  220. package/separator/package.json +24 -0
  221. package/separator/{index.d.ts → types/separator.d.ts} +4 -5
  222. package/sheet/README.md +2 -63
  223. package/sheet/fesm2022/sheet.mjs +56 -61
  224. package/sheet/package.json +24 -0
  225. package/sidebar/README.md +11 -0
  226. package/sidebar/fesm2022/sidebar.mjs +846 -0
  227. package/sidebar/package.json +25 -0
  228. package/sidebar/types/sidebar.d.ts +237 -0
  229. package/skeleton/README.md +11 -0
  230. package/skeleton/fesm2022/skeleton.mjs +44 -0
  231. package/skeleton/package.json +25 -0
  232. package/skeleton/types/skeleton.d.ts +16 -0
  233. package/slider/README.md +11 -0
  234. package/slider/fesm2022/slider.mjs +74 -0
  235. package/slider/package.json +25 -0
  236. package/slider/types/slider.d.ts +19 -0
  237. package/sonner/README.md +2 -63
  238. package/sonner/fesm2022/sonner.mjs +34 -39
  239. package/sonner/package.json +25 -0
  240. package/spinner/README.md +2 -63
  241. package/spinner/fesm2022/spinner.mjs +20 -16
  242. package/spinner/package.json +25 -0
  243. package/switch/README.md +2 -63
  244. package/switch/fesm2022/switch.mjs +28 -27
  245. package/switch/package.json +25 -0
  246. package/table/README.md +11 -0
  247. package/table/fesm2022/table.mjs +211 -0
  248. package/table/package.json +25 -0
  249. package/table/types/table.d.ts +87 -0
  250. package/tabs/README.md +3 -0
  251. package/tabs/fesm2022/tabs.mjs +210 -0
  252. package/tabs/package.json +25 -0
  253. package/tabs/types/tabs.d.ts +71 -0
  254. package/textarea/README.md +11 -0
  255. package/textarea/fesm2022/textarea.mjs +47 -0
  256. package/textarea/package.json +25 -0
  257. package/textarea/types/textarea.d.ts +18 -0
  258. package/toggle/README.md +11 -0
  259. package/toggle/fesm2022/toggle.mjs +78 -0
  260. package/toggle/package.json +25 -0
  261. package/toggle/types/toggle.d.ts +27 -0
  262. package/toggle-group/README.md +11 -0
  263. package/toggle-group/fesm2022/toggle-group.mjs +117 -0
  264. package/toggle-group/package.json +25 -0
  265. package/toggle-group/types/toggle-group.d.ts +45 -0
  266. package/tooltip/README.md +3 -0
  267. package/tooltip/fesm2022/tooltip.mjs +72 -0
  268. package/tooltip/package.json +25 -0
  269. package/tooltip/types/tooltip.d.ts +22 -0
  270. package/typography/README.md +11 -0
  271. package/typography/fesm2022/typography.mjs +242 -0
  272. package/typography/package.json +25 -0
  273. package/typography/types/typography.d.ts +94 -0
  274. package/utils/README.md +2 -63
  275. package/utils/fesm2022/utils.mjs +209 -2
  276. package/utils/package.json +25 -0
  277. package/utils/types/utils.d.ts +13 -0
  278. package/alert/fesm2022/alert.mjs.map +0 -1
  279. package/badge/fesm2022/badge.mjs.map +0 -1
  280. package/basic-alert/fesm2022/basic-alert.mjs.map +0 -1
  281. package/button/fesm2022/button.mjs.map +0 -1
  282. package/calendar/fesm2022/calendar.mjs.map +0 -1
  283. package/calendar/index.d.ts +0 -111
  284. package/date-picker/fesm2022/date-picker.mjs.map +0 -1
  285. package/date-picker/index.d.ts +0 -227
  286. package/form-date-picker/fesm2022/form-date-picker.mjs.map +0 -1
  287. package/form-field/fesm2022/form-field.mjs.map +0 -1
  288. package/form-field/index.d.ts +0 -37
  289. package/form-field-simple/fesm2022/form-field-simple.mjs.map +0 -1
  290. package/form-select/fesm2022/form-select.mjs.map +0 -1
  291. package/form-text-input/fesm2022/form-text-input.mjs.map +0 -1
  292. package/form-textarea/fesm2022/form-textarea.mjs.map +0 -1
  293. package/icon/fesm2022/icon.mjs.map +0 -1
  294. package/input/fesm2022/input.mjs.map +0 -1
  295. package/input/index.d.ts +0 -41
  296. package/label/fesm2022/label.mjs.map +0 -1
  297. package/popover/fesm2022/popover.mjs.map +0 -1
  298. package/popover/index.d.ts +0 -30
  299. package/select/fesm2022/select.mjs.map +0 -1
  300. package/select/index.d.ts +0 -92
  301. package/separator/fesm2022/separator.mjs.map +0 -1
  302. package/sheet/fesm2022/sheet.mjs.map +0 -1
  303. package/sonner/fesm2022/sonner.mjs.map +0 -1
  304. package/spinner/fesm2022/spinner.mjs.map +0 -1
  305. package/switch/fesm2022/switch.mjs.map +0 -1
  306. package/utils/fesm2022/utils.mjs.map +0 -1
  307. package/utils/index.d.ts +0 -5
  308. /package/alert/{index.d.ts → types/alert.d.ts} +0 -0
  309. /package/badge/{index.d.ts → types/badge.d.ts} +0 -0
  310. /package/basic-alert/{index.d.ts → types/basic-alert.d.ts} +0 -0
  311. /package/form-field-simple/{index.d.ts → types/form-field-simple.d.ts} +0 -0
  312. /package/icon/{index.d.ts → types/icon.d.ts} +0 -0
  313. /package/sheet/{index.d.ts → types/sheet.d.ts} +0 -0
  314. /package/sonner/{index.d.ts → types/sonner.d.ts} +0 -0
  315. /package/spinner/{index.d.ts → types/spinner.d.ts} +0 -0
  316. /package/switch/{index.d.ts → types/switch.d.ts} +0 -0
@@ -0,0 +1,211 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, NgModule } from '@angular/core';
3
+ import { classes } from '@egose/shadcn-theme-ng/utils';
4
+
5
+ class HlmTableContainer {
6
+ constructor() {
7
+ classes(() => "relative w-full overflow-x-auto");
8
+ }
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTableContainer, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmTableContainer, isStandalone: true, selector: "div[hlmTableContainer]", host: { attributes: { "data-slot": "table-container" } }, ngImport: i0 });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTableContainer, decorators: [{
13
+ type: Directive,
14
+ args: [{
15
+ selector: 'div[hlmTableContainer]',
16
+ host: { 'data-slot': 'table-container' },
17
+ }]
18
+ }], ctorParameters: () => [] });
19
+ /**
20
+ * Directive to apply Shadcn-like styling to a <table> element.
21
+ */
22
+ class HlmTable {
23
+ constructor() {
24
+ classes(() => "w-full caption-bottom text-sm");
25
+ }
26
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTable, deps: [], target: i0.ɵɵFactoryTarget.Directive });
27
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmTable, isStandalone: true, selector: "table[hlmTable]", host: { attributes: { "data-slot": "table" } }, ngImport: i0 });
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTable, decorators: [{
30
+ type: Directive,
31
+ args: [{
32
+ selector: 'table[hlmTable]',
33
+ host: { 'data-slot': 'table' },
34
+ }]
35
+ }], ctorParameters: () => [] });
36
+ /**
37
+ * Directive to apply Shadcn-like styling to a <thead> element
38
+ * within an HlmTable context.
39
+ */
40
+ class HlmTHead {
41
+ constructor() {
42
+ classes(() => "[&_tr]:border-b");
43
+ }
44
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTHead, deps: [], target: i0.ɵɵFactoryTarget.Directive });
45
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmTHead, isStandalone: true, selector: "thead[hlmTHead],thead[hlmTableHeader]", host: { attributes: { "data-slot": "table-header" } }, ngImport: i0 });
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTHead, decorators: [{
48
+ type: Directive,
49
+ args: [{
50
+ selector: 'thead[hlmTHead],thead[hlmTableHeader]',
51
+ host: { 'data-slot': 'table-header' },
52
+ }]
53
+ }], ctorParameters: () => [] });
54
+ /**
55
+ * Directive to apply Shadcn-like styling to a <tbody> element
56
+ * within an HlmTable context.
57
+ */
58
+ class HlmTBody {
59
+ constructor() {
60
+ classes(() => "[&_tr:last-child]:border-0");
61
+ }
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTBody, deps: [], target: i0.ɵɵFactoryTarget.Directive });
63
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmTBody, isStandalone: true, selector: "tbody[hlmTBody],tbody[hlmTableBody]", host: { attributes: { "data-slot": "table-body" } }, ngImport: i0 });
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTBody, decorators: [{
66
+ type: Directive,
67
+ args: [{
68
+ selector: 'tbody[hlmTBody],tbody[hlmTableBody]',
69
+ host: { 'data-slot': 'table-body' },
70
+ }]
71
+ }], ctorParameters: () => [] });
72
+ /**
73
+ * Directive to apply Shadcn-like styling to a <tfoot> element
74
+ * within an HlmTable context.
75
+ */
76
+ class HlmTFoot {
77
+ constructor() {
78
+ classes(() => "bg-muted/50 border-t font-medium [&>tr]:last:border-b-0");
79
+ }
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTFoot, deps: [], target: i0.ɵɵFactoryTarget.Directive });
81
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmTFoot, isStandalone: true, selector: "tfoot[hlmTFoot],tfoot[hlmTableFooter]", host: { attributes: { "data-slot": "table-footer" } }, ngImport: i0 });
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTFoot, decorators: [{
84
+ type: Directive,
85
+ args: [{
86
+ selector: 'tfoot[hlmTFoot],tfoot[hlmTableFooter]',
87
+ host: { 'data-slot': 'table-footer' },
88
+ }]
89
+ }], ctorParameters: () => [] });
90
+ /**
91
+ * Directive to apply Shadcn-like styling to a <tr> element
92
+ * within an HlmTable context.
93
+ */
94
+ class HlmTr {
95
+ constructor() {
96
+ classes(() => "hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors has-aria-expanded:bg-muted/50");
97
+ }
98
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTr, deps: [], target: i0.ɵɵFactoryTarget.Directive });
99
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmTr, isStandalone: true, selector: "tr[hlmTr],tr[hlmTableRow]", host: { attributes: { "data-slot": "table-row" } }, ngImport: i0 });
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTr, decorators: [{
102
+ type: Directive,
103
+ args: [{
104
+ selector: 'tr[hlmTr],tr[hlmTableRow]',
105
+ host: { 'data-slot': 'table-row' },
106
+ }]
107
+ }], ctorParameters: () => [] });
108
+ /**
109
+ * Directive to apply Shadcn-like styling to a <th> element
110
+ * within an HlmTable context.
111
+ */
112
+ class HlmTh {
113
+ constructor() {
114
+ classes(() => "text-foreground h-10 px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0");
115
+ }
116
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTh, deps: [], target: i0.ɵɵFactoryTarget.Directive });
117
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmTh, isStandalone: true, selector: "th[hlmTh],th[hlmTableHead]", host: { attributes: { "data-slot": "table-head" } }, ngImport: i0 });
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTh, decorators: [{
120
+ type: Directive,
121
+ args: [{
122
+ selector: 'th[hlmTh],th[hlmTableHead]',
123
+ host: { 'data-slot': 'table-head' },
124
+ }]
125
+ }], ctorParameters: () => [] });
126
+ /**
127
+ * Directive to apply Shadcn-like styling to a <td> element
128
+ * within an HlmTable context.
129
+ */
130
+ class HlmTd {
131
+ constructor() {
132
+ classes(() => "p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0");
133
+ }
134
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTd, deps: [], target: i0.ɵɵFactoryTarget.Directive });
135
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmTd, isStandalone: true, selector: "td[hlmTd],td[hlmTableCell]", host: { attributes: { "data-slot": "table-cell" } }, ngImport: i0 });
136
+ }
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTd, decorators: [{
138
+ type: Directive,
139
+ args: [{
140
+ selector: 'td[hlmTd],td[hlmTableCell]',
141
+ host: { 'data-slot': 'table-cell' },
142
+ }]
143
+ }], ctorParameters: () => [] });
144
+ /**
145
+ * Directive to apply Shadcn-like styling to a <caption> element
146
+ * within an HlmTable context.
147
+ */
148
+ class HlmCaption {
149
+ constructor() {
150
+ classes(() => "text-muted-foreground mt-4 text-sm");
151
+ }
152
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCaption, deps: [], target: i0.ɵɵFactoryTarget.Directive });
153
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmCaption, isStandalone: true, selector: "caption[hlmCaption],caption[hlmTableCaption]", host: { attributes: { "data-slot": "table-caption" } }, ngImport: i0 });
154
+ }
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCaption, decorators: [{
156
+ type: Directive,
157
+ args: [{
158
+ selector: 'caption[hlmCaption],caption[hlmTableCaption]',
159
+ host: { 'data-slot': 'table-caption' },
160
+ }]
161
+ }], ctorParameters: () => [] });
162
+
163
+ /*
164
+ * Public API Surface of table
165
+ */
166
+ const HlmTableImports = [
167
+ HlmCaption,
168
+ HlmTableContainer,
169
+ HlmTable,
170
+ HlmTBody,
171
+ HlmTd,
172
+ HlmTFoot,
173
+ HlmTh,
174
+ HlmTHead,
175
+ HlmTr,
176
+ ];
177
+ class HlmTableModule {
178
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
179
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: HlmTableModule, imports: [HlmCaption,
180
+ HlmTableContainer,
181
+ HlmTable,
182
+ HlmTBody,
183
+ HlmTd,
184
+ HlmTFoot,
185
+ HlmTh,
186
+ HlmTHead,
187
+ HlmTr], exports: [HlmCaption,
188
+ HlmTableContainer,
189
+ HlmTable,
190
+ HlmTBody,
191
+ HlmTd,
192
+ HlmTFoot,
193
+ HlmTh,
194
+ HlmTHead,
195
+ HlmTr] });
196
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTableModule });
197
+ }
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTableModule, decorators: [{
199
+ type: NgModule,
200
+ args: [{
201
+ imports: [...HlmTableImports],
202
+ exports: [...HlmTableImports],
203
+ }]
204
+ }] });
205
+
206
+ /**
207
+ * Generated bundle index. Do not edit.
208
+ */
209
+
210
+ export { HlmCaption, HlmTBody, HlmTFoot, HlmTHead, HlmTable, HlmTableContainer, HlmTableImports, HlmTableModule, HlmTd, HlmTh, HlmTr };
211
+
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "table",
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/table.mjs",
14
+ "typings": "types/table.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./types/table.d.ts",
21
+ "default": "./fesm2022/table.mjs"
22
+ }
23
+ },
24
+ "type": "module"
25
+ }
@@ -0,0 +1,87 @@
1
+ import * as i0 from '@angular/core';
2
+
3
+ declare class HlmTableContainer {
4
+ constructor();
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTableContainer, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmTableContainer, "div[hlmTableContainer]", never, {}, {}, never, never, true, never>;
7
+ }
8
+ /**
9
+ * Directive to apply Shadcn-like styling to a <table> element.
10
+ */
11
+ declare class HlmTable {
12
+ constructor();
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTable, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmTable, "table[hlmTable]", never, {}, {}, never, never, true, never>;
15
+ }
16
+ /**
17
+ * Directive to apply Shadcn-like styling to a <thead> element
18
+ * within an HlmTable context.
19
+ */
20
+ declare class HlmTHead {
21
+ constructor();
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTHead, never>;
23
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmTHead, "thead[hlmTHead],thead[hlmTableHeader]", never, {}, {}, never, never, true, never>;
24
+ }
25
+ /**
26
+ * Directive to apply Shadcn-like styling to a <tbody> element
27
+ * within an HlmTable context.
28
+ */
29
+ declare class HlmTBody {
30
+ constructor();
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTBody, never>;
32
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmTBody, "tbody[hlmTBody],tbody[hlmTableBody]", never, {}, {}, never, never, true, never>;
33
+ }
34
+ /**
35
+ * Directive to apply Shadcn-like styling to a <tfoot> element
36
+ * within an HlmTable context.
37
+ */
38
+ declare class HlmTFoot {
39
+ constructor();
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTFoot, never>;
41
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmTFoot, "tfoot[hlmTFoot],tfoot[hlmTableFooter]", never, {}, {}, never, never, true, never>;
42
+ }
43
+ /**
44
+ * Directive to apply Shadcn-like styling to a <tr> element
45
+ * within an HlmTable context.
46
+ */
47
+ declare class HlmTr {
48
+ constructor();
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTr, never>;
50
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmTr, "tr[hlmTr],tr[hlmTableRow]", never, {}, {}, never, never, true, never>;
51
+ }
52
+ /**
53
+ * Directive to apply Shadcn-like styling to a <th> element
54
+ * within an HlmTable context.
55
+ */
56
+ declare class HlmTh {
57
+ constructor();
58
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTh, never>;
59
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmTh, "th[hlmTh],th[hlmTableHead]", never, {}, {}, never, never, true, never>;
60
+ }
61
+ /**
62
+ * Directive to apply Shadcn-like styling to a <td> element
63
+ * within an HlmTable context.
64
+ */
65
+ declare class HlmTd {
66
+ constructor();
67
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTd, never>;
68
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmTd, "td[hlmTd],td[hlmTableCell]", never, {}, {}, never, never, true, never>;
69
+ }
70
+ /**
71
+ * Directive to apply Shadcn-like styling to a <caption> element
72
+ * within an HlmTable context.
73
+ */
74
+ declare class HlmCaption {
75
+ constructor();
76
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmCaption, never>;
77
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmCaption, "caption[hlmCaption],caption[hlmTableCaption]", never, {}, {}, never, never, true, never>;
78
+ }
79
+
80
+ declare const HlmTableImports: readonly [typeof HlmCaption, typeof HlmTableContainer, typeof HlmTable, typeof HlmTBody, typeof HlmTd, typeof HlmTFoot, typeof HlmTh, typeof HlmTHead, typeof HlmTr];
81
+ declare class HlmTableModule {
82
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTableModule, never>;
83
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HlmTableModule, never, [typeof HlmCaption, typeof HlmTableContainer, typeof HlmTable, typeof HlmTBody, typeof HlmTd, typeof HlmTFoot, typeof HlmTh, typeof HlmTHead, typeof HlmTr], [typeof HlmCaption, typeof HlmTableContainer, typeof HlmTable, typeof HlmTBody, typeof HlmTd, typeof HlmTFoot, typeof HlmTh, typeof HlmTHead, typeof HlmTr]>;
84
+ static ɵinj: i0.ɵɵInjectorDeclaration<HlmTableModule>;
85
+ }
86
+
87
+ export { HlmCaption, HlmTBody, HlmTFoot, HlmTHead, HlmTable, HlmTableContainer, HlmTableImports, HlmTableModule, HlmTd, HlmTh, HlmTr };
package/tabs/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # Tabs Subpath
2
+
3
+ This project ships only as `@egose/shadcn-theme-ng/tabs` or `@egose/shadcn-theme-ng-tw/tabs`. See the [package README](../../README.md) for installation, compatibility, Tailwind variant, test, and release guidance. Do not publish this project directory independently.
@@ -0,0 +1,210 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, Directive, contentChildren, viewChild, computed, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
+ import * as i1 from '@spartan-ng/brain/tabs';
4
+ import { BrnTabs, BrnTabsContent, BrnTabsContentLazy, BrnTabsList, BrnTabsPaginatedList, BrnTabsTrigger } from '@spartan-ng/brain/tabs';
5
+ import { classes, hlm } from '@egose/shadcn-theme-ng/utils';
6
+ import { cva } from 'class-variance-authority';
7
+ import { CdkObserveContent } from '@angular/cdk/observers';
8
+ import { toObservable } from '@angular/core/rxjs-interop';
9
+ import { NgIcon, provideIcons } from '@ng-icons/core';
10
+ import { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';
11
+ import { buttonVariants } from '@egose/shadcn-theme-ng/button';
12
+
13
+ class HlmTabs {
14
+ tab = input.required(/* @ts-ignore */
15
+ ...(ngDevMode ? [{ debugName: "tab" }] : /* istanbul ignore next */ []));
16
+ constructor() {
17
+ classes(() => "group/tabs flex gap-2 data-[orientation=horizontal]:flex-col");
18
+ }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabs, deps: [], target: i0.ɵɵFactoryTarget.Directive });
20
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: HlmTabs, isStandalone: true, selector: "[hlmTabs],hlm-tabs", inputs: { tab: { classPropertyName: "tab", publicName: "tab", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "data-slot": "tabs" } }, hostDirectives: [{ directive: i1.BrnTabs, inputs: ["orientation", "orientation", "activationMode", "activationMode", "brnTabs", "tab"], outputs: ["tabActivated", "tabActivated"] }], ngImport: i0 });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabs, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[hlmTabs],hlm-tabs',
26
+ hostDirectives: [
27
+ {
28
+ directive: BrnTabs,
29
+ inputs: ['orientation', 'activationMode', 'brnTabs: tab'],
30
+ outputs: ['tabActivated'],
31
+ },
32
+ ],
33
+ host: {
34
+ 'data-slot': 'tabs',
35
+ },
36
+ }]
37
+ }], ctorParameters: () => [], propDecorators: { tab: [{ type: i0.Input, args: [{ isSignal: true, alias: "tab", required: true }] }] } });
38
+
39
+ class HlmTabsContent {
40
+ contentFor = input.required({ ...(ngDevMode ? { debugName: "contentFor" } : /* istanbul ignore next */ {}), alias: 'hlmTabsContent' });
41
+ constructor() {
42
+ classes(() => "flex-1 text-sm outline-none");
43
+ }
44
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
45
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: HlmTabsContent, isStandalone: true, selector: "[hlmTabsContent]", inputs: { contentFor: { classPropertyName: "contentFor", publicName: "hlmTabsContent", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "data-slot": "tabs-content" } }, hostDirectives: [{ directive: i1.BrnTabsContent, inputs: ["brnTabsContent", "hlmTabsContent"] }], ngImport: i0 });
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsContent, decorators: [{
48
+ type: Directive,
49
+ args: [{
50
+ selector: '[hlmTabsContent]',
51
+ hostDirectives: [{ directive: BrnTabsContent, inputs: ['brnTabsContent: hlmTabsContent'] }],
52
+ host: {
53
+ 'data-slot': 'tabs-content',
54
+ },
55
+ }]
56
+ }], ctorParameters: () => [], propDecorators: { contentFor: [{ type: i0.Input, args: [{ isSignal: true, alias: "hlmTabsContent", required: true }] }] } });
57
+
58
+ class HlmTabsContentLazy {
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsContentLazy, deps: [], target: i0.ɵɵFactoryTarget.Directive });
60
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmTabsContentLazy, isStandalone: true, selector: "ng-template[hlmTabsContentLazy]", hostDirectives: [{ directive: i1.BrnTabsContentLazy }], ngImport: i0 });
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsContentLazy, decorators: [{
63
+ type: Directive,
64
+ args: [{
65
+ selector: 'ng-template[hlmTabsContentLazy]',
66
+ hostDirectives: [BrnTabsContentLazy],
67
+ }]
68
+ }] });
69
+
70
+ const listVariants = cva("rounded-lg p-[3px] group-data-horizontal/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col", {
71
+ variants: {
72
+ variant: {
73
+ default: "bg-muted",
74
+ line: "gap-1 bg-transparent",
75
+ },
76
+ },
77
+ defaultVariants: {
78
+ variant: 'default',
79
+ },
80
+ });
81
+ class HlmTabsList {
82
+ variant = input('default', /* @ts-ignore */
83
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
84
+ constructor() {
85
+ classes(() => listVariants({ variant: this.variant() }));
86
+ }
87
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsList, deps: [], target: i0.ɵɵFactoryTarget.Directive });
88
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: HlmTabsList, isStandalone: true, selector: "[hlmTabsList],hlm-tabs-list", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "tabs-list" }, properties: { "attr.data-variant": "variant()" } }, hostDirectives: [{ directive: i1.BrnTabsList }], ngImport: i0 });
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsList, decorators: [{
91
+ type: Directive,
92
+ args: [{
93
+ selector: '[hlmTabsList],hlm-tabs-list',
94
+ hostDirectives: [BrnTabsList],
95
+ host: {
96
+ 'data-slot': 'tabs-list',
97
+ '[attr.data-variant]': 'variant()',
98
+ },
99
+ }]
100
+ }], ctorParameters: () => [], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
101
+
102
+ class HlmTabsPaginatedList extends BrnTabsPaginatedList {
103
+ constructor() {
104
+ super();
105
+ classes(() => "relative flex flex-shrink-0 items-center gap-1 overflow-hidden");
106
+ }
107
+ items = contentChildren(BrnTabsTrigger, { ...(ngDevMode ? { debugName: "items" } : /* istanbul ignore next */ {}), descendants: false });
108
+ /** Explicitly annotating type to avoid non-portable inferred type */
109
+ itemsChanges = toObservable(this.items);
110
+ tabListContainer = viewChild.required('tabListContainer', /* @ts-ignore */
111
+ ...(ngDevMode ? [{ debugName: "tabListContainer" }] : /* istanbul ignore next */ []));
112
+ tabList = viewChild.required('tabList', /* @ts-ignore */
113
+ ...(ngDevMode ? [{ debugName: "tabList" }] : /* istanbul ignore next */ []));
114
+ tabListInner = viewChild.required('tabListInner', /* @ts-ignore */
115
+ ...(ngDevMode ? [{ debugName: "tabListInner" }] : /* istanbul ignore next */ []));
116
+ nextPaginator = viewChild.required('nextPaginator', /* @ts-ignore */
117
+ ...(ngDevMode ? [{ debugName: "nextPaginator" }] : /* istanbul ignore next */ []));
118
+ previousPaginator = viewChild.required('previousPaginator', /* @ts-ignore */
119
+ ...(ngDevMode ? [{ debugName: "previousPaginator" }] : /* istanbul ignore next */ []));
120
+ tabListClass = input('', { ...(ngDevMode ? { debugName: "tabListClass" } : /* istanbul ignore next */ {}), alias: 'tabListClass' });
121
+ _tabListClass = computed(() => hlm(listVariants(), this.tabListClass()), /* @ts-ignore */
122
+ ...(ngDevMode ? [{ debugName: "_tabListClass" }] : /* istanbul ignore next */ []));
123
+ paginationButtonClass = input('', /* @ts-ignore */
124
+ ...(ngDevMode ? [{ debugName: "paginationButtonClass" }] : /* istanbul ignore next */ []));
125
+ _paginationButtonClass = computed(() => hlm("relative z-[2] select-none disabled:cursor-default", buttonVariants({ variant: 'ghost', size: 'icon-sm' }), this.paginationButtonClass(), this.showPaginationControls() ? "inline-flex" : "hidden"), /* @ts-ignore */
126
+ ...(ngDevMode ? [{ debugName: "_paginationButtonClass" }] : /* istanbul ignore next */ []));
127
+ _itemSelected(event) {
128
+ event.preventDefault();
129
+ }
130
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsPaginatedList, deps: [], target: i0.ɵɵFactoryTarget.Component });
131
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.3", type: HlmTabsPaginatedList, isStandalone: true, selector: "hlm-paginated-tabs-list", inputs: { tabListClass: { classPropertyName: "tabListClass", publicName: "tabListClass", isSignal: true, isRequired: false, transformFunction: null }, paginationButtonClass: { classPropertyName: "paginationButtonClass", publicName: "paginationButtonClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "tabs-paginated-list" } }, providers: [provideIcons({ lucideChevronRight, lucideChevronLeft })], queries: [{ propertyName: "items", predicate: BrnTabsTrigger, isSignal: true }], viewQueries: [{ propertyName: "tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, isSignal: true }, { propertyName: "tabList", first: true, predicate: ["tabList"], descendants: true, isSignal: true }, { propertyName: "tabListInner", first: true, predicate: ["tabListInner"], descendants: true, isSignal: true }, { propertyName: "nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true, isSignal: true }, { propertyName: "previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "\n <button\n #previousPaginator\n data-pagination=\"previous\"\n type=\"button\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n [class]=\"_paginationButtonClass()\"\n [disabled]=\"disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\"\n >\n <ng-icon name=\"lucideChevronLeft\" />\n </button>\n\n <div #tabListContainer class=\"z-[1] flex grow overflow-hidden\" (keydown)=\"_handleKeydown($event)\">\n <div class=\"relative grow transition-transform\" #tabList role=\"tablist\" (cdkObserveContent)=\"_onContentChanges()\">\n <div #tabListInner [class]=\"_tabListClass()\">\n <ng-content />\n </div>\n </div>\n </div>\n\n <button\n #nextPaginator\n data-pagination=\"next\"\n type=\"button\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n [class]=\"_paginationButtonClass()\"\n [disabled]=\"disableScrollAfter || null\"\n (click)=\"_handlePaginatorClick('after')\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (touchend)=\"_stopInterval()\"\n >\n <ng-icon name=\"lucideChevronRight\" />\n </button>\n ", isInline: true, dependencies: [{ kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
132
+ }
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsPaginatedList, decorators: [{
134
+ type: Component,
135
+ args: [{
136
+ selector: 'hlm-paginated-tabs-list',
137
+ imports: [CdkObserveContent, NgIcon],
138
+ providers: [provideIcons({ lucideChevronRight, lucideChevronLeft })],
139
+ changeDetection: ChangeDetectionStrategy.OnPush,
140
+ host: {
141
+ 'data-slot': 'tabs-paginated-list',
142
+ },
143
+ template: "\n <button\n #previousPaginator\n data-pagination=\"previous\"\n type=\"button\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n [class]=\"_paginationButtonClass()\"\n [disabled]=\"disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\"\n >\n <ng-icon name=\"lucideChevronLeft\" />\n </button>\n\n <div #tabListContainer class=\"z-[1] flex grow overflow-hidden\" (keydown)=\"_handleKeydown($event)\">\n <div class=\"relative grow transition-transform\" #tabList role=\"tablist\" (cdkObserveContent)=\"_onContentChanges()\">\n <div #tabListInner [class]=\"_tabListClass()\">\n <ng-content />\n </div>\n </div>\n </div>\n\n <button\n #nextPaginator\n data-pagination=\"next\"\n type=\"button\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n [class]=\"_paginationButtonClass()\"\n [disabled]=\"disableScrollAfter || null\"\n (click)=\"_handlePaginatorClick('after')\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (touchend)=\"_stopInterval()\"\n >\n <ng-icon name=\"lucideChevronRight\" />\n </button>\n ",
144
+ }]
145
+ }], ctorParameters: () => [], propDecorators: { items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => BrnTabsTrigger), { ...{ descendants: false }, isSignal: true }] }], tabListContainer: [{ type: i0.ViewChild, args: ['tabListContainer', { isSignal: true }] }], tabList: [{ type: i0.ViewChild, args: ['tabList', { isSignal: true }] }], tabListInner: [{ type: i0.ViewChild, args: ['tabListInner', { isSignal: true }] }], nextPaginator: [{ type: i0.ViewChild, args: ['nextPaginator', { isSignal: true }] }], previousPaginator: [{ type: i0.ViewChild, args: ['previousPaginator', { isSignal: true }] }], tabListClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabListClass", required: false }] }], paginationButtonClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "paginationButtonClass", required: false }] }] } });
146
+
147
+ class HlmTabsTrigger {
148
+ triggerFor = input.required({ ...(ngDevMode ? { debugName: "triggerFor" } : /* istanbul ignore next */ {}), alias: 'hlmTabsTrigger' });
149
+ constructor() {
150
+ classes(() => [
151
+ "gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 hover:text-foreground dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0",
152
+ "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent",
153
+ "data-active:bg-background dark:data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 data-active:text-foreground",
154
+ "after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100",
155
+ ]);
156
+ }
157
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
158
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: HlmTabsTrigger, isStandalone: true, selector: "[hlmTabsTrigger]", inputs: { triggerFor: { classPropertyName: "triggerFor", publicName: "hlmTabsTrigger", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "data-slot": "tabs-trigger" } }, hostDirectives: [{ directive: i1.BrnTabsTrigger, inputs: ["brnTabsTrigger", "hlmTabsTrigger", "disabled", "disabled"] }], ngImport: i0 });
159
+ }
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsTrigger, decorators: [{
161
+ type: Directive,
162
+ args: [{
163
+ selector: '[hlmTabsTrigger]',
164
+ hostDirectives: [{ directive: BrnTabsTrigger, inputs: ['brnTabsTrigger: hlmTabsTrigger', 'disabled'] }],
165
+ host: {
166
+ 'data-slot': 'tabs-trigger',
167
+ },
168
+ }]
169
+ }], ctorParameters: () => [], propDecorators: { triggerFor: [{ type: i0.Input, args: [{ isSignal: true, alias: "hlmTabsTrigger", required: true }] }] } });
170
+
171
+ /*
172
+ * Public API Surface of tabs
173
+ */
174
+ const HlmTabsImports = [
175
+ HlmTabs,
176
+ HlmTabsList,
177
+ HlmTabsTrigger,
178
+ HlmTabsContent,
179
+ HlmTabsContentLazy,
180
+ HlmTabsPaginatedList,
181
+ ];
182
+ class HlmTabsModule {
183
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
184
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsModule, imports: [HlmTabs,
185
+ HlmTabsList,
186
+ HlmTabsTrigger,
187
+ HlmTabsContent,
188
+ HlmTabsContentLazy,
189
+ HlmTabsPaginatedList], exports: [HlmTabs,
190
+ HlmTabsList,
191
+ HlmTabsTrigger,
192
+ HlmTabsContent,
193
+ HlmTabsContentLazy,
194
+ HlmTabsPaginatedList] });
195
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsModule, imports: [HlmTabsPaginatedList] });
196
+ }
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmTabsModule, decorators: [{
198
+ type: NgModule,
199
+ args: [{
200
+ imports: [...HlmTabsImports],
201
+ exports: [...HlmTabsImports],
202
+ }]
203
+ }] });
204
+
205
+ /**
206
+ * Generated bundle index. Do not edit.
207
+ */
208
+
209
+ export { HlmTabs, HlmTabsContent, HlmTabsContentLazy, HlmTabsImports, HlmTabsList, HlmTabsModule, HlmTabsPaginatedList, HlmTabsTrigger, listVariants };
210
+
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "tabs",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": "^20.2.0 || ^22.0.0",
6
+ "@angular/core": "^20.2.0 || ^22.0.0",
7
+ "@spartan-ng/brain": "^0.0.1-alpha.512"
8
+ },
9
+ "dependencies": {
10
+ "tslib": "^2.3.0"
11
+ },
12
+ "sideEffects": false,
13
+ "module": "fesm2022/tabs.mjs",
14
+ "typings": "types/tabs.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./types/tabs.d.ts",
21
+ "default": "./fesm2022/tabs.mjs"
22
+ }
23
+ },
24
+ "type": "module"
25
+ }
@@ -0,0 +1,71 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+ import * as i1 from '@spartan-ng/brain/tabs';
4
+ import { BrnTabsPaginatedList, BrnTabsTrigger, BrnPaginatedTabHeaderItem } from '@spartan-ng/brain/tabs';
5
+ import * as class_variance_authority_types from 'class-variance-authority/types';
6
+ import { ClassValue } from 'clsx';
7
+ import { Observable } from 'rxjs';
8
+
9
+ declare class HlmTabs {
10
+ readonly tab: i0.InputSignal<string>;
11
+ constructor();
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTabs, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmTabs, "[hlmTabs],hlm-tabs", never, { "tab": { "alias": "tab"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.BrnTabs; inputs: { "orientation": "orientation"; "activationMode": "activationMode"; "brnTabs": "tab"; }; outputs: { "tabActivated": "tabActivated"; }; }]>;
14
+ }
15
+
16
+ declare class HlmTabsContent {
17
+ readonly contentFor: i0.InputSignal<string>;
18
+ constructor();
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTabsContent, never>;
20
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmTabsContent, "[hlmTabsContent]", never, { "contentFor": { "alias": "hlmTabsContent"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.BrnTabsContent; inputs: { "brnTabsContent": "hlmTabsContent"; }; outputs: {}; }]>;
21
+ }
22
+
23
+ declare class HlmTabsContentLazy {
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTabsContentLazy, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmTabsContentLazy, "ng-template[hlmTabsContentLazy]", never, {}, {}, never, never, true, [{ directive: typeof i1.BrnTabsContentLazy; inputs: {}; outputs: {}; }]>;
26
+ }
27
+
28
+ declare const listVariants: (props?: ({
29
+ variant?: "default" | "line" | null | undefined;
30
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
31
+ declare class HlmTabsList {
32
+ readonly variant: i0.InputSignal<"default" | "line" | null | undefined>;
33
+ constructor();
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTabsList, never>;
35
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmTabsList, "[hlmTabsList],hlm-tabs-list", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.BrnTabsList; inputs: {}; outputs: {}; }]>;
36
+ }
37
+
38
+ declare class HlmTabsPaginatedList extends BrnTabsPaginatedList {
39
+ constructor();
40
+ readonly items: i0.Signal<readonly BrnTabsTrigger[]>;
41
+ /** Explicitly annotating type to avoid non-portable inferred type */
42
+ readonly itemsChanges: Observable<ReadonlyArray<BrnPaginatedTabHeaderItem>>;
43
+ readonly tabListContainer: i0.Signal<ElementRef<HTMLElement>>;
44
+ readonly tabList: i0.Signal<ElementRef<HTMLElement>>;
45
+ readonly tabListInner: i0.Signal<ElementRef<HTMLElement>>;
46
+ readonly nextPaginator: i0.Signal<ElementRef<HTMLElement>>;
47
+ readonly previousPaginator: i0.Signal<ElementRef<HTMLElement>>;
48
+ readonly tabListClass: i0.InputSignal<ClassValue>;
49
+ protected readonly _tabListClass: i0.Signal<string>;
50
+ readonly paginationButtonClass: i0.InputSignal<ClassValue>;
51
+ protected readonly _paginationButtonClass: i0.Signal<string>;
52
+ protected _itemSelected(event: KeyboardEvent): void;
53
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTabsPaginatedList, never>;
54
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmTabsPaginatedList, "hlm-paginated-tabs-list", never, { "tabListClass": { "alias": "tabListClass"; "required": false; "isSignal": true; }; "paginationButtonClass": { "alias": "paginationButtonClass"; "required": false; "isSignal": true; }; }, {}, ["items"], ["*"], true, never>;
55
+ }
56
+
57
+ declare class HlmTabsTrigger {
58
+ readonly triggerFor: i0.InputSignal<string>;
59
+ constructor();
60
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTabsTrigger, never>;
61
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmTabsTrigger, "[hlmTabsTrigger]", never, { "triggerFor": { "alias": "hlmTabsTrigger"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.BrnTabsTrigger; inputs: { "brnTabsTrigger": "hlmTabsTrigger"; "disabled": "disabled"; }; outputs: {}; }]>;
62
+ }
63
+
64
+ declare const HlmTabsImports: readonly [typeof HlmTabs, typeof HlmTabsList, typeof HlmTabsTrigger, typeof HlmTabsContent, typeof HlmTabsContentLazy, typeof HlmTabsPaginatedList];
65
+ declare class HlmTabsModule {
66
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmTabsModule, never>;
67
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HlmTabsModule, never, [typeof HlmTabs, typeof HlmTabsList, typeof HlmTabsTrigger, typeof HlmTabsContent, typeof HlmTabsContentLazy, typeof HlmTabsPaginatedList], [typeof HlmTabs, typeof HlmTabsList, typeof HlmTabsTrigger, typeof HlmTabsContent, typeof HlmTabsContentLazy, typeof HlmTabsPaginatedList]>;
68
+ static ɵinj: i0.ɵɵInjectorDeclaration<HlmTabsModule>;
69
+ }
70
+
71
+ export { HlmTabs, HlmTabsContent, HlmTabsContentLazy, HlmTabsImports, HlmTabsList, HlmTabsModule, HlmTabsPaginatedList, HlmTabsTrigger, listVariants };