@edsis/ui 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/README.md +40 -0
  2. package/accordion/README.md +195 -0
  3. package/alert/README.md +177 -0
  4. package/alert-dialog/README.md +239 -0
  5. package/aspect-ratio/README.md +112 -0
  6. package/avatar/README.md +176 -0
  7. package/badge/README.md +133 -0
  8. package/breadcrumb/README.md +216 -0
  9. package/button/README.md +139 -0
  10. package/button-group/README.md +204 -0
  11. package/calendar/README.md +132 -0
  12. package/card/README.md +220 -0
  13. package/carousel/README.md +276 -0
  14. package/chart/README.md +249 -0
  15. package/checkbox/README.md +149 -0
  16. package/collapsible/README.md +191 -0
  17. package/combobox/README.md +198 -0
  18. package/command/README.md +275 -0
  19. package/composer/README.md +235 -0
  20. package/context-menu/README.md +267 -0
  21. package/date-picker/README.md +177 -0
  22. package/dialog/README.md +237 -0
  23. package/drawer/README.md +145 -0
  24. package/dropdown-menu/README.md +311 -0
  25. package/editor/README.md +136 -0
  26. package/empty/README.md +183 -0
  27. package/fesm2022/edsis-ui-accordion.mjs +174 -0
  28. package/fesm2022/edsis-ui-accordion.mjs.map +1 -0
  29. package/fesm2022/edsis-ui-alert-dialog.mjs +242 -0
  30. package/fesm2022/edsis-ui-alert-dialog.mjs.map +1 -0
  31. package/fesm2022/edsis-ui-alert.mjs +90 -0
  32. package/fesm2022/edsis-ui-alert.mjs.map +1 -0
  33. package/fesm2022/edsis-ui-aspect-ratio.mjs +33 -0
  34. package/fesm2022/edsis-ui-aspect-ratio.mjs.map +1 -0
  35. package/fesm2022/edsis-ui-avatar.mjs +123 -0
  36. package/fesm2022/edsis-ui-avatar.mjs.map +1 -0
  37. package/fesm2022/edsis-ui-badge.mjs +47 -0
  38. package/fesm2022/edsis-ui-badge.mjs.map +1 -0
  39. package/fesm2022/edsis-ui-breadcrumb.mjs +186 -0
  40. package/fesm2022/edsis-ui-breadcrumb.mjs.map +1 -0
  41. package/fesm2022/edsis-ui-button-group.mjs +95 -0
  42. package/fesm2022/edsis-ui-button-group.mjs.map +1 -0
  43. package/fesm2022/edsis-ui-button.mjs +64 -0
  44. package/fesm2022/edsis-ui-button.mjs.map +1 -0
  45. package/fesm2022/edsis-ui-calendar.mjs +78 -0
  46. package/fesm2022/edsis-ui-calendar.mjs.map +1 -0
  47. package/fesm2022/edsis-ui-card.mjs +137 -0
  48. package/fesm2022/edsis-ui-card.mjs.map +1 -0
  49. package/fesm2022/edsis-ui-carousel.mjs +310 -0
  50. package/fesm2022/edsis-ui-carousel.mjs.map +1 -0
  51. package/fesm2022/edsis-ui-chart-area.mjs +6 -0
  52. package/fesm2022/edsis-ui-chart-area.mjs.map +1 -0
  53. package/fesm2022/edsis-ui-chart-bar.mjs +6 -0
  54. package/fesm2022/edsis-ui-chart-bar.mjs.map +1 -0
  55. package/fesm2022/edsis-ui-chart-line.mjs +6 -0
  56. package/fesm2022/edsis-ui-chart-line.mjs.map +1 -0
  57. package/fesm2022/edsis-ui-chart-pie.mjs +6 -0
  58. package/fesm2022/edsis-ui-chart-pie.mjs.map +1 -0
  59. package/fesm2022/edsis-ui-chart-radar.mjs +6 -0
  60. package/fesm2022/edsis-ui-chart-radar.mjs.map +1 -0
  61. package/fesm2022/edsis-ui-chart-radial.mjs +6 -0
  62. package/fesm2022/edsis-ui-chart-radial.mjs.map +1 -0
  63. package/fesm2022/edsis-ui-chart-scatter.mjs +6 -0
  64. package/fesm2022/edsis-ui-chart-scatter.mjs.map +1 -0
  65. package/fesm2022/edsis-ui-chart.mjs +3714 -0
  66. package/fesm2022/edsis-ui-chart.mjs.map +1 -0
  67. package/fesm2022/edsis-ui-checkbox.mjs +104 -0
  68. package/fesm2022/edsis-ui-checkbox.mjs.map +1 -0
  69. package/fesm2022/edsis-ui-collapsible.mjs +116 -0
  70. package/fesm2022/edsis-ui-collapsible.mjs.map +1 -0
  71. package/fesm2022/edsis-ui-combobox.mjs +263 -0
  72. package/fesm2022/edsis-ui-combobox.mjs.map +1 -0
  73. package/fesm2022/edsis-ui-command.mjs +268 -0
  74. package/fesm2022/edsis-ui-command.mjs.map +1 -0
  75. package/fesm2022/edsis-ui-composer.mjs +329 -0
  76. package/fesm2022/edsis-ui-composer.mjs.map +1 -0
  77. package/fesm2022/edsis-ui-context-menu.mjs +100 -0
  78. package/fesm2022/edsis-ui-context-menu.mjs.map +1 -0
  79. package/fesm2022/edsis-ui-date-picker.mjs +155 -0
  80. package/fesm2022/edsis-ui-date-picker.mjs.map +1 -0
  81. package/fesm2022/edsis-ui-dialog.mjs +262 -0
  82. package/fesm2022/edsis-ui-dialog.mjs.map +1 -0
  83. package/fesm2022/edsis-ui-drawer.mjs +6 -0
  84. package/fesm2022/edsis-ui-drawer.mjs.map +1 -0
  85. package/fesm2022/edsis-ui-dropdown-menu.mjs +466 -0
  86. package/fesm2022/edsis-ui-dropdown-menu.mjs.map +1 -0
  87. package/fesm2022/edsis-ui-editor.mjs +692 -0
  88. package/fesm2022/edsis-ui-editor.mjs.map +1 -0
  89. package/fesm2022/edsis-ui-empty.mjs +132 -0
  90. package/fesm2022/edsis-ui-empty.mjs.map +1 -0
  91. package/fesm2022/edsis-ui-form.mjs +334 -0
  92. package/fesm2022/edsis-ui-form.mjs.map +1 -0
  93. package/fesm2022/edsis-ui-hover-card.mjs +284 -0
  94. package/fesm2022/edsis-ui-hover-card.mjs.map +1 -0
  95. package/fesm2022/edsis-ui-input-group.mjs +164 -0
  96. package/fesm2022/edsis-ui-input-group.mjs.map +1 -0
  97. package/fesm2022/edsis-ui-input-otp.mjs +485 -0
  98. package/fesm2022/edsis-ui-input-otp.mjs.map +1 -0
  99. package/fesm2022/edsis-ui-input.mjs +43 -0
  100. package/fesm2022/edsis-ui-input.mjs.map +1 -0
  101. package/fesm2022/edsis-ui-item.mjs +241 -0
  102. package/fesm2022/edsis-ui-item.mjs.map +1 -0
  103. package/fesm2022/edsis-ui-kanban.mjs +289 -0
  104. package/fesm2022/edsis-ui-kanban.mjs.map +1 -0
  105. package/fesm2022/edsis-ui-kbd.mjs +51 -0
  106. package/fesm2022/edsis-ui-kbd.mjs.map +1 -0
  107. package/fesm2022/edsis-ui-label.mjs +30 -0
  108. package/fesm2022/edsis-ui-label.mjs.map +1 -0
  109. package/fesm2022/edsis-ui-menubar.mjs +302 -0
  110. package/fesm2022/edsis-ui-menubar.mjs.map +1 -0
  111. package/fesm2022/edsis-ui-native-select.mjs +61 -0
  112. package/fesm2022/edsis-ui-native-select.mjs.map +1 -0
  113. package/fesm2022/edsis-ui-navigation-menu.mjs +399 -0
  114. package/fesm2022/edsis-ui-navigation-menu.mjs.map +1 -0
  115. package/fesm2022/edsis-ui-pagination.mjs +216 -0
  116. package/fesm2022/edsis-ui-pagination.mjs.map +1 -0
  117. package/fesm2022/edsis-ui-pillbox.mjs +777 -0
  118. package/fesm2022/edsis-ui-pillbox.mjs.map +1 -0
  119. package/fesm2022/edsis-ui-popover.mjs +163 -0
  120. package/fesm2022/edsis-ui-popover.mjs.map +1 -0
  121. package/fesm2022/edsis-ui-progress.mjs +53 -0
  122. package/fesm2022/edsis-ui-progress.mjs.map +1 -0
  123. package/fesm2022/edsis-ui-radio.mjs +111 -0
  124. package/fesm2022/edsis-ui-radio.mjs.map +1 -0
  125. package/fesm2022/edsis-ui-resizable.mjs +454 -0
  126. package/fesm2022/edsis-ui-resizable.mjs.map +1 -0
  127. package/fesm2022/edsis-ui-scroll-area.mjs +48 -0
  128. package/fesm2022/edsis-ui-scroll-area.mjs.map +1 -0
  129. package/fesm2022/edsis-ui-select.mjs +164 -0
  130. package/fesm2022/edsis-ui-select.mjs.map +1 -0
  131. package/fesm2022/edsis-ui-separator.mjs +33 -0
  132. package/fesm2022/edsis-ui-separator.mjs.map +1 -0
  133. package/fesm2022/edsis-ui-sheet.mjs +264 -0
  134. package/fesm2022/edsis-ui-sheet.mjs.map +1 -0
  135. package/fesm2022/edsis-ui-skeleton.mjs +29 -0
  136. package/fesm2022/edsis-ui-skeleton.mjs.map +1 -0
  137. package/fesm2022/edsis-ui-slider.mjs +405 -0
  138. package/fesm2022/edsis-ui-slider.mjs.map +1 -0
  139. package/fesm2022/edsis-ui-spinner.mjs +58 -0
  140. package/fesm2022/edsis-ui-spinner.mjs.map +1 -0
  141. package/fesm2022/edsis-ui-switch.mjs +107 -0
  142. package/fesm2022/edsis-ui-switch.mjs.map +1 -0
  143. package/fesm2022/edsis-ui-table.mjs +139 -0
  144. package/fesm2022/edsis-ui-table.mjs.map +1 -0
  145. package/fesm2022/edsis-ui-tabs.mjs +252 -0
  146. package/fesm2022/edsis-ui-tabs.mjs.map +1 -0
  147. package/fesm2022/edsis-ui-textarea.mjs +37 -0
  148. package/fesm2022/edsis-ui-textarea.mjs.map +1 -0
  149. package/fesm2022/edsis-ui-timeline.mjs +213 -0
  150. package/fesm2022/edsis-ui-timeline.mjs.map +1 -0
  151. package/fesm2022/edsis-ui-toast.mjs +71 -0
  152. package/fesm2022/edsis-ui-toast.mjs.map +1 -0
  153. package/fesm2022/edsis-ui-toggle-group.mjs +269 -0
  154. package/fesm2022/edsis-ui-toggle-group.mjs.map +1 -0
  155. package/fesm2022/edsis-ui-toggle.mjs +76 -0
  156. package/fesm2022/edsis-ui-toggle.mjs.map +1 -0
  157. package/fesm2022/edsis-ui-tooltip.mjs +339 -0
  158. package/fesm2022/edsis-ui-tooltip.mjs.map +1 -0
  159. package/fesm2022/edsis-ui-utils.mjs +13 -0
  160. package/fesm2022/edsis-ui-utils.mjs.map +1 -0
  161. package/fesm2022/edsis-ui.mjs +11 -0
  162. package/fesm2022/edsis-ui.mjs.map +1 -0
  163. package/form/README.md +210 -0
  164. package/hover-card/README.md +146 -0
  165. package/input/README.md +159 -0
  166. package/input-group/README.md +234 -0
  167. package/input-otp/README.md +273 -0
  168. package/item/README.md +247 -0
  169. package/kanban/README.md +81 -0
  170. package/kbd/README.md +139 -0
  171. package/label/README.md +136 -0
  172. package/menubar/README.md +269 -0
  173. package/native-select/README.md +176 -0
  174. package/navigation-menu/README.md +160 -0
  175. package/package.json +310 -0
  176. package/pagination/README.md +144 -0
  177. package/pillbox/README.md +67 -0
  178. package/popover/README.md +43 -0
  179. package/progress/README.md +160 -0
  180. package/radio/README.md +209 -0
  181. package/resizable/README.md +164 -0
  182. package/scroll-area/README.md +143 -0
  183. package/select/README.md +174 -0
  184. package/separator/README.md +170 -0
  185. package/sheet/README.md +183 -0
  186. package/skeleton/README.md +158 -0
  187. package/slider/README.md +207 -0
  188. package/spinner/README.md +160 -0
  189. package/switch/README.md +166 -0
  190. package/table/README.md +291 -0
  191. package/tabs/README.md +214 -0
  192. package/textarea/README.md +154 -0
  193. package/timeline/README.md +94 -0
  194. package/toast/README.md +321 -0
  195. package/toggle/README.md +131 -0
  196. package/toggle-group/README.md +206 -0
  197. package/tooltip/README.md +211 -0
  198. package/types/edsis-ui-accordion.d.ts +51 -0
  199. package/types/edsis-ui-alert-dialog.d.ts +93 -0
  200. package/types/edsis-ui-alert.d.ts +37 -0
  201. package/types/edsis-ui-aspect-ratio.d.ts +12 -0
  202. package/types/edsis-ui-avatar.d.ts +51 -0
  203. package/types/edsis-ui-badge.d.ts +19 -0
  204. package/types/edsis-ui-breadcrumb.d.ts +46 -0
  205. package/types/edsis-ui-button-group.d.ts +26 -0
  206. package/types/edsis-ui-button.d.ts +22 -0
  207. package/types/edsis-ui-calendar.d.ts +33 -0
  208. package/types/edsis-ui-card.d.ts +60 -0
  209. package/types/edsis-ui-carousel.d.ts +86 -0
  210. package/types/edsis-ui-chart-area.d.ts +1 -0
  211. package/types/edsis-ui-chart-bar.d.ts +1 -0
  212. package/types/edsis-ui-chart-line.d.ts +1 -0
  213. package/types/edsis-ui-chart-pie.d.ts +1 -0
  214. package/types/edsis-ui-chart-radar.d.ts +1 -0
  215. package/types/edsis-ui-chart-radial.d.ts +1 -0
  216. package/types/edsis-ui-chart-scatter.d.ts +1 -0
  217. package/types/edsis-ui-chart.d.ts +1094 -0
  218. package/types/edsis-ui-checkbox.d.ts +35 -0
  219. package/types/edsis-ui-collapsible.d.ts +42 -0
  220. package/types/edsis-ui-combobox.d.ts +51 -0
  221. package/types/edsis-ui-command.d.ts +99 -0
  222. package/types/edsis-ui-composer.d.ts +90 -0
  223. package/types/edsis-ui-context-menu.d.ts +35 -0
  224. package/types/edsis-ui-date-picker.d.ts +41 -0
  225. package/types/edsis-ui-dialog.d.ts +87 -0
  226. package/types/edsis-ui-drawer.d.ts +1 -0
  227. package/types/edsis-ui-dropdown-menu.d.ts +136 -0
  228. package/types/edsis-ui-editor.d.ts +123 -0
  229. package/types/edsis-ui-empty.d.ts +50 -0
  230. package/types/edsis-ui-form.d.ts +141 -0
  231. package/types/edsis-ui-hover-card.d.ts +74 -0
  232. package/types/edsis-ui-input-group.d.ts +51 -0
  233. package/types/edsis-ui-input-otp.d.ts +136 -0
  234. package/types/edsis-ui-input.d.ts +16 -0
  235. package/types/edsis-ui-item.d.ts +88 -0
  236. package/types/edsis-ui-kanban.d.ts +70 -0
  237. package/types/edsis-ui-kbd.d.ts +16 -0
  238. package/types/edsis-ui-label.d.ts +11 -0
  239. package/types/edsis-ui-menubar.d.ts +67 -0
  240. package/types/edsis-ui-native-select.d.ts +26 -0
  241. package/types/edsis-ui-navigation-menu.d.ts +96 -0
  242. package/types/edsis-ui-pagination.d.ts +34 -0
  243. package/types/edsis-ui-pillbox.d.ts +157 -0
  244. package/types/edsis-ui-popover.d.ts +43 -0
  245. package/types/edsis-ui-progress.d.ts +17 -0
  246. package/types/edsis-ui-radio.d.ts +40 -0
  247. package/types/edsis-ui-resizable.d.ts +99 -0
  248. package/types/edsis-ui-scroll-area.d.ts +19 -0
  249. package/types/edsis-ui-select.d.ts +57 -0
  250. package/types/edsis-ui-separator.d.ts +14 -0
  251. package/types/edsis-ui-sheet.d.ts +76 -0
  252. package/types/edsis-ui-skeleton.d.ts +10 -0
  253. package/types/edsis-ui-slider.d.ts +74 -0
  254. package/types/edsis-ui-spinner.d.ts +13 -0
  255. package/types/edsis-ui-switch.d.ts +40 -0
  256. package/types/edsis-ui-table.d.ts +52 -0
  257. package/types/edsis-ui-tabs.d.ts +92 -0
  258. package/types/edsis-ui-textarea.d.ts +12 -0
  259. package/types/edsis-ui-timeline.d.ts +63 -0
  260. package/types/edsis-ui-toast.d.ts +38 -0
  261. package/types/edsis-ui-toggle-group.d.ts +89 -0
  262. package/types/edsis-ui-toggle.d.ts +25 -0
  263. package/types/edsis-ui-tooltip.d.ts +89 -0
  264. package/types/edsis-ui-utils.d.ts +5 -0
  265. package/types/edsis-ui.d.ts +2 -0
@@ -0,0 +1,211 @@
1
+ # Tooltip
2
+
3
+ Displays a small, supplemental text label when a focusable element receives hover or keyboard focus.
4
+
5
+ This Angular implementation now supports a composition-based tooltip surface with `ui-tooltip`, `[uiTooltipTrigger]`, and `ng-template[uiTooltipContent]`, while keeping the older `[uiTooltip]` string directive as a lightweight shortcut for one-line hints.
6
+
7
+ ## Import
8
+
9
+ ```ts
10
+ import {
11
+ TooltipComponent,
12
+ TooltipContentDirective,
13
+ TooltipDirective,
14
+ TooltipTriggerDirective,
15
+ } from '@edsis/ui/tooltip';
16
+ ```
17
+
18
+ ## Composition
19
+
20
+ ```text
21
+ ui-tooltip
22
+ ├── focusable host[uiTooltipTrigger]
23
+ └── ng-template[uiTooltipContent]
24
+
25
+ Optional convenience shortcut:
26
+ button[uiTooltip]
27
+ ```
28
+
29
+ ## Basic usage
30
+
31
+ Use the composed surface when you want shadcn-style trigger and content structure or richer overlay content.
32
+
33
+ ```html
34
+ <ui-tooltip [openDelay]="0">
35
+ <ng-template uiTooltipContent #tooltipContent="uiTooltipContent">
36
+ <span>Add to library</span>
37
+ </ng-template>
38
+
39
+ <button ui-button type="button" variant="outline" [uiTooltipTrigger]="tooltipContent">Hover</button>
40
+ </ui-tooltip>
41
+ ```
42
+
43
+ ## Common patterns
44
+
45
+ ### Side and alignment
46
+
47
+ Use `side="top|right|bottom|left"` and `align="start|center|end"` on `[uiTooltipTrigger]` to control placement.
48
+
49
+ ```html
50
+ <ui-tooltip side="top" [openDelay]="0">
51
+ <ng-template uiTooltipContent #startContent="uiTooltipContent">
52
+ <span>Start aligned tooltip</span>
53
+ </ng-template>
54
+
55
+ <button ui-button type="button" variant="outline" [uiTooltipTrigger]="startContent" align="start">Start</button>
56
+ </ui-tooltip>
57
+ ```
58
+
59
+ ### Rich content
60
+
61
+ The overlay template can include small layout fragments, emphasized text, or keyboard shortcut chips.
62
+
63
+ ```html
64
+ <ui-tooltip [openDelay]="0">
65
+ <ng-template uiTooltipContent #shortcutContent="uiTooltipContent">
66
+ <span class="inline-flex items-center gap-1.5">
67
+ Save changes
68
+ <ui-kbd class="border-primary-foreground/30 bg-primary-foreground/10 text-primary-foreground shadow-none">
69
+ Cmd
70
+ </ui-kbd>
71
+ <ui-kbd class="border-primary-foreground/30 bg-primary-foreground/10 text-primary-foreground shadow-none">
72
+ S
73
+ </ui-kbd>
74
+ </span>
75
+ </ng-template>
76
+
77
+ <button ui-button type="button" variant="outline" [uiTooltipTrigger]="shortcutContent">Save</button>
78
+ </ui-tooltip>
79
+ ```
80
+
81
+ ### Disabled buttons
82
+
83
+ Disabled native buttons do not emit hover or focus events. Wrap them with a focusable element and attach `[uiTooltipTrigger]` to the wrapper.
84
+
85
+ ```html
86
+ <ui-tooltip [openDelay]="0">
87
+ <ng-template uiTooltipContent #disabledContent="uiTooltipContent">
88
+ <span>This feature is currently unavailable</span>
89
+ </ng-template>
90
+
91
+ <span
92
+ class="inline-block rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
93
+ tabindex="0"
94
+ [uiTooltipTrigger]="disabledContent">
95
+ <button ui-button type="button" variant="outline" disabled>Disabled</button>
96
+ </span>
97
+ </ui-tooltip>
98
+ ```
99
+
100
+ ### Quick string API
101
+
102
+ For simple one-line hints, the original directive remains available.
103
+
104
+ ```html
105
+ <button ui-button type="button" variant="outline" [uiTooltip]="'Quick text hint'" uiTooltipPosition="above">
106
+ String directive
107
+ </button>
108
+ ```
109
+
110
+ ### Programmatic control
111
+
112
+ Export the trigger as `uiTooltipTrigger` when a flow needs to open or close the composed tooltip imperatively.
113
+
114
+ ```html
115
+ <ui-tooltip [openDelay]="0">
116
+ <ng-template uiTooltipContent #saveContent="uiTooltipContent">
117
+ <span>Saved</span>
118
+ </ng-template>
119
+
120
+ <button
121
+ ui-button
122
+ type="button"
123
+ variant="outline"
124
+ #saveTrigger="uiTooltipTrigger"
125
+ [uiTooltipTrigger]="saveContent"
126
+ (click)="saveTrigger.open()">
127
+ Save
128
+ </button>
129
+ </ui-tooltip>
130
+ ```
131
+
132
+ ## API reference
133
+
134
+ ### `TooltipComponent`
135
+
136
+ | Input | Type | Default |
137
+ | ------------ | ---------------------------------------- | ---------- |
138
+ | `side` | `'top' \| 'right' \| 'bottom' \| 'left'` | `'top'` |
139
+ | `align` | `'start' \| 'center' \| 'end'` | `'center'` |
140
+ | `sideOffset` | `number` | `4` |
141
+ | `openDelay` | `number` | `150` |
142
+ | `closeDelay` | `number` | `0` |
143
+
144
+ ### `TooltipTriggerDirective`
145
+
146
+ | Input | Type | Notes |
147
+ | ------------------ | ---------------------------------------- | --------------------------------------------------- |
148
+ | `uiTooltipTrigger` | `TooltipContentDirective` | Required content template ref for the overlay body. |
149
+ | `side` | `'top' \| 'right' \| 'bottom' \| 'left'` | Overrides the root side for this trigger. |
150
+ | `align` | `'start' \| 'center' \| 'end'` | Overrides the root alignment for this trigger. |
151
+ | `sideOffset` | `number` | Overrides the root offset for this trigger. |
152
+ | `openDelay` | `number` | Overrides the root open delay for this trigger. |
153
+ | `closeDelay` | `number` | Overrides the root close delay for this trigger. |
154
+ | `disabled` | `boolean` | Suppresses tooltip opening for the trigger. |
155
+
156
+ ### `TooltipTriggerDirective` methods
157
+
158
+ - `open()`: opens the composed tooltip.
159
+ - `close()`: closes the composed tooltip.
160
+
161
+ ### `TooltipContentDirective`
162
+
163
+ - Applied as `ng-template[uiTooltipContent]`.
164
+ - Supplies the portal content rendered inside the tooltip overlay.
165
+
166
+ ### `TooltipDirective`
167
+
168
+ | Input | Type | Notes |
169
+ | ------------------------ | ------------------------- | -------------------------------------------------------- |
170
+ | `uiTooltip` | `string` | Message rendered inside the Material tooltip overlay. |
171
+ | `uiTooltipPosition` | `TooltipPosition` | `left`, `right`, `above`, `below`, `before`, or `after`. |
172
+ | `uiTooltipDisabled` | `boolean` | Temporarily suppresses tooltip display. |
173
+ | `uiTooltipShowDelay` | `number` | Delay in milliseconds before the tooltip opens. |
174
+ | `uiTooltipHideDelay` | `number` | Delay in milliseconds before the tooltip closes. |
175
+ | `uiTooltipTouchGestures` | `'auto' \| 'on' \| 'off'` | Controls touch gesture behavior on mobile devices. |
176
+
177
+ For the original primitive contract, see the Radix Tooltip API: <https://www.radix-ui.com/primitives/docs/components/tooltip#api-reference>.
178
+
179
+ ## Styling and theming
180
+
181
+ The composed tooltip applies its visual shell directly on the overlay pane and keeps the stable `ui-tooltip-panel` class hook.
182
+
183
+ Projected content inherits the library theme tokens, so small layout helpers such as `inline-flex`, gap utilities, and subtle emphasis classes can be used without rebuilding the panel wrapper.
184
+
185
+ The string directive continues to force the `ui-tooltip-panel` class on the Material tooltip overlay for backward-compatible styling.
186
+
187
+ ## Accessibility
188
+
189
+ - The composed overlay pane uses `role="tooltip"`.
190
+ - Trigger hosts receive `aria-describedby` while the tooltip is open.
191
+ - Tooltip content should stay supplemental and should not be the only place that important instructions live.
192
+ - Use focusable hosts so keyboard users can reveal the tooltip without relying on hover.
193
+ - Disabled controls still need a focusable wrapper if you expect keyboard users to reach the explanation.
194
+
195
+ ## Keyboard interactions
196
+
197
+ - Focusing the trigger opens the tooltip after the configured delay.
198
+ - Moving focus away closes it again.
199
+ - Pressing Escape closes the currently open composed tooltip.
200
+ - Native hosts keep their default Enter and Space behavior.
201
+
202
+ ## Angular notes
203
+
204
+ - Prefer the composition-based surface when you need richer content or closer shadcn parity.
205
+ - Keep the string directive for quick one-line hints or for existing code that already relies on `MatTooltip` semantics.
206
+ - The composed trigger is exported as `uiTooltipTrigger`, so template refs can call `open()` and `close()` directly.
207
+ - For interactive overlay content, use Popover or Hover Card instead of Tooltip.
208
+
209
+ ## Source parity
210
+
211
+ This Angular version now mirrors the shadcn runtime more closely with an explicit root, trigger, and content surface while preserving a compact Angular convenience directive for minimal text hints.
@@ -0,0 +1,51 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ type AccordionType = 'single' | 'multiple';
4
+ declare abstract class AccordionContextBase {
5
+ abstract isOpen(value: string): boolean;
6
+ abstract toggle(value: string): void;
7
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionContextBase, never>;
8
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionContextBase, never, never, {}, {}, never, never, true, never>;
9
+ }
10
+ declare class AccordionComponent extends AccordionContextBase {
11
+ readonly type: _angular_core.InputSignal<AccordionType>;
12
+ readonly collapsible: _angular_core.InputSignal<boolean>;
13
+ readonly value: _angular_core.ModelSignal<string | string[] | null>;
14
+ readonly class: _angular_core.InputSignal<string>;
15
+ protected readonly classes: _angular_core.Signal<string>;
16
+ private readonly openSet;
17
+ isOpen(value: string): boolean;
18
+ toggle(value: string): void;
19
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionComponent, never>;
20
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AccordionComponent, "ui-accordion", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, ["*"], true, never>;
21
+ }
22
+ declare class AccordionItemComponent {
23
+ protected readonly ctx: AccordionContextBase;
24
+ readonly value: _angular_core.InputSignal<string>;
25
+ readonly disabled: _angular_core.InputSignal<boolean>;
26
+ readonly class: _angular_core.InputSignal<string>;
27
+ readonly triggerId: string;
28
+ readonly contentId: string;
29
+ protected readonly classes: _angular_core.Signal<string>;
30
+ readonly open: _angular_core.Signal<boolean>;
31
+ toggle(): void;
32
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionItemComponent, never>;
33
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AccordionItemComponent, "ui-accordion-item", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
34
+ }
35
+ declare class AccordionTriggerComponent {
36
+ protected readonly item: AccordionItemComponent;
37
+ readonly class: _angular_core.InputSignal<string>;
38
+ protected readonly classes: _angular_core.Signal<string>;
39
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionTriggerComponent, never>;
40
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AccordionTriggerComponent, "button[ui-accordion-trigger]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
41
+ }
42
+ declare class AccordionContentComponent {
43
+ protected readonly item: AccordionItemComponent;
44
+ readonly class: _angular_core.InputSignal<string>;
45
+ protected readonly classes: _angular_core.Signal<string>;
46
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionContentComponent, never>;
47
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AccordionContentComponent, "ui-accordion-content", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
48
+ }
49
+
50
+ export { AccordionComponent, AccordionContentComponent, AccordionContextBase, AccordionItemComponent, AccordionTriggerComponent };
51
+ export type { AccordionType };
@@ -0,0 +1,93 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ButtonVariant, ButtonSize } from '@edsis/ui/button';
3
+
4
+ type AlertDialogSize = 'default' | 'sm';
5
+
6
+ declare class AlertDialogComponent {
7
+ readonly open: _angular_core.ModelSignal<boolean>;
8
+ readonly closeOnEscape: _angular_core.InputSignal<boolean>;
9
+ readonly closeOnBackdropClick: _angular_core.InputSignal<boolean>;
10
+ readonly showCloseButton: _angular_core.InputSignal<boolean>;
11
+ readonly closeButtonLabel: _angular_core.InputSignal<string>;
12
+ readonly labelledBy: _angular_core.InputSignal<string | null>;
13
+ readonly describedBy: _angular_core.InputSignal<string | null>;
14
+ readonly class: _angular_core.InputSignal<string>;
15
+ readonly openedChange: _angular_core.OutputEmitterRef<boolean>;
16
+ private readonly contentSize;
17
+ readonly resolvedSize: _angular_core.Signal<AlertDialogSize>;
18
+ protected readonly surfaceClasses: _angular_core.Signal<string>;
19
+ setContentSize(size: AlertDialogSize): void;
20
+ close(): void;
21
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialogComponent, never>;
22
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogComponent, "ui-alert-dialog", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "closeButtonLabel": { "alias": "closeButtonLabel"; "required": false; "isSignal": true; }; "labelledBy": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "describedBy": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "openedChange": "openedChange"; }, never, ["*"], true, never>;
23
+ }
24
+
25
+ declare class AlertDialogContentComponent {
26
+ readonly size: _angular_core.InputSignal<AlertDialogSize>;
27
+ readonly class: _angular_core.InputSignal<string>;
28
+ private readonly alertDialog;
29
+ protected readonly classes: _angular_core.Signal<string>;
30
+ constructor();
31
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialogContentComponent, never>;
32
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogContentComponent, "ui-alert-dialog-content", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
33
+ }
34
+ declare class AlertDialogHeaderComponent {
35
+ readonly class: _angular_core.InputSignal<string>;
36
+ protected readonly classes: _angular_core.Signal<string>;
37
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialogHeaderComponent, never>;
38
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogHeaderComponent, "ui-alert-dialog-header", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
39
+ }
40
+ declare class AlertDialogTitleComponent {
41
+ readonly class: _angular_core.InputSignal<string>;
42
+ protected readonly classes: _angular_core.Signal<string>;
43
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialogTitleComponent, never>;
44
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogTitleComponent, "ui-alert-dialog-title, h2[ui-alert-dialog-title]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
45
+ }
46
+ declare class AlertDialogDescriptionComponent {
47
+ readonly class: _angular_core.InputSignal<string>;
48
+ protected readonly classes: _angular_core.Signal<string>;
49
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialogDescriptionComponent, never>;
50
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogDescriptionComponent, "ui-alert-dialog-description, p[ui-alert-dialog-description]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
51
+ }
52
+ declare class AlertDialogMediaComponent {
53
+ readonly class: _angular_core.InputSignal<string>;
54
+ private readonly alertDialog;
55
+ protected readonly classes: _angular_core.Signal<string>;
56
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialogMediaComponent, never>;
57
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogMediaComponent, "ui-alert-dialog-media", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
58
+ }
59
+ declare class AlertDialogFooterComponent {
60
+ readonly class: _angular_core.InputSignal<string>;
61
+ protected readonly classes: _angular_core.Signal<string>;
62
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialogFooterComponent, never>;
63
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogFooterComponent, "ui-alert-dialog-footer", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
64
+ }
65
+ declare class AlertDialogCancelComponent {
66
+ readonly variant: _angular_core.InputSignal<ButtonVariant>;
67
+ readonly size: _angular_core.InputSignal<ButtonSize>;
68
+ readonly closeOnClick: _angular_core.InputSignal<boolean>;
69
+ readonly class: _angular_core.InputSignal<string>;
70
+ private readonly host;
71
+ private readonly alertDialog;
72
+ protected readonly classes: _angular_core.Signal<string>;
73
+ protected readonly buttonType: _angular_core.Signal<"button" | null>;
74
+ protected handleClick(): void;
75
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialogCancelComponent, never>;
76
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogCancelComponent, "button[ui-alert-dialog-cancel], a[ui-alert-dialog-cancel]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "closeOnClick": { "alias": "closeOnClick"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
77
+ }
78
+ declare class AlertDialogActionComponent {
79
+ readonly variant: _angular_core.InputSignal<ButtonVariant>;
80
+ readonly size: _angular_core.InputSignal<ButtonSize>;
81
+ readonly closeOnClick: _angular_core.InputSignal<boolean>;
82
+ readonly class: _angular_core.InputSignal<string>;
83
+ private readonly host;
84
+ private readonly alertDialog;
85
+ protected readonly classes: _angular_core.Signal<string>;
86
+ protected readonly buttonType: _angular_core.Signal<"button" | null>;
87
+ protected handleClick(): void;
88
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialogActionComponent, never>;
89
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogActionComponent, "button[ui-alert-dialog-action], a[ui-alert-dialog-action]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "closeOnClick": { "alias": "closeOnClick"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
90
+ }
91
+
92
+ export { AlertDialogActionComponent, AlertDialogCancelComponent, AlertDialogComponent, AlertDialogContentComponent, AlertDialogDescriptionComponent, AlertDialogFooterComponent, AlertDialogHeaderComponent, AlertDialogMediaComponent, AlertDialogTitleComponent };
93
+ export type { AlertDialogSize };
@@ -0,0 +1,37 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ declare const alertVariants: (props?: ({
6
+ variant?: "default" | "destructive" | null | undefined;
7
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
8
+ type AlertVariant = NonNullable<VariantProps<typeof alertVariants>['variant']>;
9
+
10
+ declare class AlertComponent {
11
+ readonly variant: _angular_core.InputSignal<AlertVariant>;
12
+ readonly class: _angular_core.InputSignal<string>;
13
+ protected readonly classes: _angular_core.Signal<string>;
14
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertComponent, never>;
15
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertComponent, "ui-alert", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
16
+ }
17
+ declare class AlertTitleComponent {
18
+ readonly class: _angular_core.InputSignal<string>;
19
+ protected readonly classes: _angular_core.Signal<string>;
20
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertTitleComponent, never>;
21
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertTitleComponent, "ui-alert-title, h5[ui-alert-title]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
22
+ }
23
+ declare class AlertDescriptionComponent {
24
+ readonly class: _angular_core.InputSignal<string>;
25
+ protected readonly classes: _angular_core.Signal<string>;
26
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDescriptionComponent, never>;
27
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDescriptionComponent, "ui-alert-description", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
28
+ }
29
+ declare class AlertActionComponent {
30
+ readonly class: _angular_core.InputSignal<string>;
31
+ protected readonly classes: _angular_core.Signal<string>;
32
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertActionComponent, never>;
33
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertActionComponent, "ui-alert-action", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
34
+ }
35
+
36
+ export { AlertActionComponent, AlertComponent, AlertDescriptionComponent, AlertTitleComponent, alertVariants };
37
+ export type { AlertVariant };
@@ -0,0 +1,12 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ declare class AspectRatioComponent {
4
+ readonly ratio: _angular_core.InputSignal<number>;
5
+ readonly class: _angular_core.InputSignal<string>;
6
+ protected readonly classes: _angular_core.Signal<string>;
7
+ protected readonly paddingBottom: _angular_core.Signal<string>;
8
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AspectRatioComponent, never>;
9
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AspectRatioComponent, "ui-aspect-ratio", never, { "ratio": { "alias": "ratio"; "required": true; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
10
+ }
11
+
12
+ export { AspectRatioComponent };
@@ -0,0 +1,51 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ declare const avatarSizeClasses: {
4
+ readonly default: "h-10 w-10";
5
+ readonly sm: "h-8 w-8";
6
+ readonly lg: "h-12 w-12";
7
+ };
8
+ type AvatarSize = keyof typeof avatarSizeClasses;
9
+ declare class AvatarComponent {
10
+ readonly size: _angular_core.InputSignal<"default" | "sm" | "lg">;
11
+ readonly class: _angular_core.InputSignal<string>;
12
+ protected readonly classes: _angular_core.Signal<string>;
13
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarComponent, never>;
14
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarComponent, "ui-avatar", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
15
+ }
16
+ declare class AvatarImageComponent {
17
+ readonly src: _angular_core.InputSignal<string>;
18
+ readonly alt: _angular_core.InputSignal<string>;
19
+ readonly class: _angular_core.InputSignal<string>;
20
+ protected readonly failed: _angular_core.WritableSignal<boolean>;
21
+ protected readonly classes: _angular_core.Signal<string>;
22
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarImageComponent, never>;
23
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarImageComponent, "ui-avatar-image", never, { "src": { "alias": "src"; "required": true; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
24
+ }
25
+ declare class AvatarFallbackComponent {
26
+ readonly class: _angular_core.InputSignal<string>;
27
+ protected readonly classes: _angular_core.Signal<string>;
28
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarFallbackComponent, never>;
29
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarFallbackComponent, "ui-avatar-fallback", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
30
+ }
31
+ declare class AvatarBadgeComponent {
32
+ readonly class: _angular_core.InputSignal<string>;
33
+ protected readonly classes: _angular_core.Signal<string>;
34
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarBadgeComponent, never>;
35
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarBadgeComponent, "ui-avatar-badge", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
36
+ }
37
+ declare class AvatarGroupComponent {
38
+ readonly class: _angular_core.InputSignal<string>;
39
+ protected readonly classes: _angular_core.Signal<string>;
40
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarGroupComponent, never>;
41
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarGroupComponent, "ui-avatar-group", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
42
+ }
43
+ declare class AvatarGroupCountComponent {
44
+ readonly class: _angular_core.InputSignal<string>;
45
+ protected readonly classes: _angular_core.Signal<string>;
46
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarGroupCountComponent, never>;
47
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarGroupCountComponent, "ui-avatar-group-count", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
48
+ }
49
+
50
+ export { AvatarBadgeComponent, AvatarComponent, AvatarFallbackComponent, AvatarGroupComponent, AvatarGroupCountComponent, AvatarImageComponent };
51
+ export type { AvatarSize };
@@ -0,0 +1,19 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ declare const badgeVariants: (props?: ({
6
+ variant?: "default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | null | undefined;
7
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
8
+ type BadgeVariant = NonNullable<VariantProps<typeof badgeVariants>['variant']>;
9
+
10
+ declare class BadgeComponent {
11
+ readonly variant: _angular_core.InputSignal<BadgeVariant>;
12
+ readonly class: _angular_core.InputSignal<string>;
13
+ protected readonly classes: _angular_core.Signal<string>;
14
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BadgeComponent, never>;
15
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeComponent, "ui-badge, [ui-badge]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
16
+ }
17
+
18
+ export { BadgeComponent, badgeVariants };
19
+ export type { BadgeVariant };
@@ -0,0 +1,46 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ declare class BreadcrumbComponent {
4
+ readonly class: _angular_core.InputSignal<string>;
5
+ protected readonly classes: _angular_core.Signal<string>;
6
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BreadcrumbComponent, never>;
7
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BreadcrumbComponent, "ui-breadcrumb, nav[ui-breadcrumb]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
8
+ }
9
+ declare class BreadcrumbListComponent {
10
+ readonly class: _angular_core.InputSignal<string>;
11
+ protected readonly classes: _angular_core.Signal<string>;
12
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BreadcrumbListComponent, never>;
13
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BreadcrumbListComponent, "ol[ui-breadcrumb-list]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
14
+ }
15
+ declare class BreadcrumbItemComponent {
16
+ readonly class: _angular_core.InputSignal<string>;
17
+ protected readonly classes: _angular_core.Signal<string>;
18
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BreadcrumbItemComponent, never>;
19
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BreadcrumbItemComponent, "li[ui-breadcrumb-item]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
20
+ }
21
+ declare class BreadcrumbLinkComponent {
22
+ readonly class: _angular_core.InputSignal<string>;
23
+ protected readonly classes: _angular_core.Signal<string>;
24
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BreadcrumbLinkComponent, never>;
25
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BreadcrumbLinkComponent, "a[ui-breadcrumb-link]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
26
+ }
27
+ declare class BreadcrumbPageComponent {
28
+ readonly class: _angular_core.InputSignal<string>;
29
+ protected readonly classes: _angular_core.Signal<string>;
30
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BreadcrumbPageComponent, never>;
31
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BreadcrumbPageComponent, "span[ui-breadcrumb-page]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
32
+ }
33
+ declare class BreadcrumbSeparatorComponent {
34
+ readonly class: _angular_core.InputSignal<string>;
35
+ protected readonly classes: _angular_core.Signal<string>;
36
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BreadcrumbSeparatorComponent, never>;
37
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BreadcrumbSeparatorComponent, "li[ui-breadcrumb-separator]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
38
+ }
39
+ declare class BreadcrumbEllipsisComponent {
40
+ readonly class: _angular_core.InputSignal<string>;
41
+ protected readonly classes: _angular_core.Signal<string>;
42
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BreadcrumbEllipsisComponent, never>;
43
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BreadcrumbEllipsisComponent, "span[ui-breadcrumb-ellipsis]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
44
+ }
45
+
46
+ export { BreadcrumbComponent, BreadcrumbEllipsisComponent, BreadcrumbItemComponent, BreadcrumbLinkComponent, BreadcrumbListComponent, BreadcrumbPageComponent, BreadcrumbSeparatorComponent };
@@ -0,0 +1,26 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ type ButtonGroupOrientation = 'horizontal' | 'vertical';
4
+ declare class ButtonGroupComponent {
5
+ readonly orientation: _angular_core.InputSignal<ButtonGroupOrientation>;
6
+ readonly class: _angular_core.InputSignal<string>;
7
+ protected readonly classes: _angular_core.Signal<string>;
8
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonGroupComponent, never>;
9
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonGroupComponent, "ui-button-group", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
10
+ }
11
+ declare class ButtonGroupTextComponent {
12
+ readonly class: _angular_core.InputSignal<string>;
13
+ protected readonly classes: _angular_core.Signal<string>;
14
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonGroupTextComponent, never>;
15
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonGroupTextComponent, "ui-button-group-text", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
16
+ }
17
+ declare class ButtonGroupSeparatorComponent {
18
+ readonly orientation: _angular_core.InputSignal<ButtonGroupOrientation>;
19
+ readonly class: _angular_core.InputSignal<string>;
20
+ protected readonly classes: _angular_core.Signal<string>;
21
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonGroupSeparatorComponent, never>;
22
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonGroupSeparatorComponent, "ui-button-group-separator", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
23
+ }
24
+
25
+ export { ButtonGroupComponent, ButtonGroupSeparatorComponent, ButtonGroupTextComponent };
26
+ export type { ButtonGroupOrientation };
@@ -0,0 +1,22 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ declare const buttonVariants: (props?: ({
6
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
7
+ size?: "default" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon" | "icon-lg" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ type ButtonVariant = NonNullable<VariantProps<typeof buttonVariants>['variant']>;
10
+ type ButtonSize = NonNullable<VariantProps<typeof buttonVariants>['size']>;
11
+
12
+ declare class ButtonComponent {
13
+ readonly variant: _angular_core.InputSignal<ButtonVariant>;
14
+ readonly size: _angular_core.InputSignal<ButtonSize>;
15
+ readonly class: _angular_core.InputSignal<string>;
16
+ protected readonly classes: _angular_core.Signal<string>;
17
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
18
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "button[ui-button], a[ui-button]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
19
+ }
20
+
21
+ export { ButtonComponent, buttonVariants };
22
+ export type { ButtonSize, ButtonVariant };
@@ -0,0 +1,33 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+
4
+ type CalendarStartView = 'month' | 'year' | 'multi-year';
5
+ type CalendarDateFilter = (date: Date | null) => boolean;
6
+ /**
7
+ * Inline calendar built on MatCalendar. Requires a date adapter provider in the
8
+ * consumer app (e.g. `provideNativeDateAdapter()` from `@angular/material/core`).
9
+ */
10
+ declare class CalendarComponent implements ControlValueAccessor {
11
+ readonly value: _angular_core.ModelSignal<Date | null>;
12
+ readonly min: _angular_core.InputSignal<Date | null>;
13
+ readonly max: _angular_core.InputSignal<Date | null>;
14
+ readonly startAt: _angular_core.InputSignal<Date | null>;
15
+ readonly startView: _angular_core.InputSignal<CalendarStartView>;
16
+ readonly dateFilter: _angular_core.InputSignal<CalendarDateFilter | null>;
17
+ readonly disabled: _angular_core.ModelSignal<boolean>;
18
+ readonly class: _angular_core.InputSignal<string>;
19
+ protected readonly classes: _angular_core.Signal<string>;
20
+ protected readonly resolvedDateFilter: _angular_core.Signal<CalendarDateFilter | undefined>;
21
+ private onChangeFn;
22
+ private onTouchedFn;
23
+ protected onSelect(d: Date | null): void;
24
+ writeValue(v: Date | null): void;
25
+ registerOnChange(fn: (v: Date | null) => void): void;
26
+ registerOnTouched(fn: () => void): void;
27
+ setDisabledState(state: boolean): void;
28
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CalendarComponent, never>;
29
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarComponent, "ui-calendar", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "startAt": { "alias": "startAt"; "required": false; "isSignal": true; }; "startView": { "alias": "startView"; "required": false; "isSignal": true; }; "dateFilter": { "alias": "dateFilter"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "disabled": "disabledChange"; }, never, never, true, never>;
30
+ }
31
+
32
+ export { CalendarComponent };
33
+ export type { CalendarDateFilter, CalendarStartView };