@tolle_/tolle-ui 18.2.24 → 18.2.25

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 (184) hide show
  1. package/esm2022/lib/accordion-item.component.mjs +17 -5
  2. package/esm2022/lib/alert-dialog-dynamic.component.mjs +1 -1
  3. package/esm2022/lib/alert-dialog.component.mjs +48 -10
  4. package/esm2022/lib/alert-dialog.service.mjs +13 -2
  5. package/esm2022/lib/alert.component.mjs +5 -5
  6. package/esm2022/lib/avatar.component.mjs +30 -9
  7. package/esm2022/lib/badge.component.mjs +41 -15
  8. package/esm2022/lib/breadcrumb-link.component.mjs +5 -5
  9. package/esm2022/lib/button.component.mjs +14 -3
  10. package/esm2022/lib/calendar.component.mjs +99 -17
  11. package/esm2022/lib/card.component.mjs +29 -9
  12. package/esm2022/lib/carousel/carousel.component.mjs +19 -3
  13. package/esm2022/lib/checkbox.component.mjs +44 -21
  14. package/esm2022/lib/collapsible.component.mjs +12 -4
  15. package/esm2022/lib/country-selector.component.mjs +140 -20
  16. package/esm2022/lib/data-table.component.mjs +27 -16
  17. package/esm2022/lib/date-picker.component.mjs +24 -4
  18. package/esm2022/lib/date-range-picker.component.mjs +37 -9
  19. package/esm2022/lib/dropdown-item.component.mjs +19 -5
  20. package/esm2022/lib/dropdown-label.component.mjs +3 -3
  21. package/esm2022/lib/dropdown-menu.component.mjs +3 -3
  22. package/esm2022/lib/dropdown-separator.component.mjs +3 -3
  23. package/esm2022/lib/dropdown-trigger.directive.mjs +7 -3
  24. package/esm2022/lib/empty-state.component.mjs +3 -3
  25. package/esm2022/lib/hover-card.component.mjs +4 -2
  26. package/esm2022/lib/input.component.mjs +7 -5
  27. package/esm2022/lib/label.component.mjs +2 -2
  28. package/esm2022/lib/masked-input.component.mjs +3 -3
  29. package/esm2022/lib/modal.component.mjs +58 -22
  30. package/esm2022/lib/modal.service.mjs +13 -1
  31. package/esm2022/lib/multi-select.component.mjs +228 -20
  32. package/esm2022/lib/otp.component.mjs +6 -3
  33. package/esm2022/lib/pagination.component.mjs +19 -9
  34. package/esm2022/lib/progress.component.mjs +8 -5
  35. package/esm2022/lib/radio-group.component.mjs +51 -3
  36. package/esm2022/lib/radio-item.component.mjs +46 -8
  37. package/esm2022/lib/radio-service.mjs +60 -1
  38. package/esm2022/lib/range-calendar.component.mjs +317 -98
  39. package/esm2022/lib/resizable-panel.component.mjs +5 -4
  40. package/esm2022/lib/scroll-area.component.mjs +5 -5
  41. package/esm2022/lib/segment.component.mjs +73 -7
  42. package/esm2022/lib/select-item.component.mjs +20 -2
  43. package/esm2022/lib/select-separator.component.mjs +3 -3
  44. package/esm2022/lib/select.component.mjs +221 -14
  45. package/esm2022/lib/separator.component.mjs +12 -6
  46. package/esm2022/lib/sheet-ref.mjs +8 -1
  47. package/esm2022/lib/sheet-wrapper.component.mjs +27 -11
  48. package/esm2022/lib/sheet.component.mjs +57 -16
  49. package/esm2022/lib/sheet.service.mjs +5 -1
  50. package/esm2022/lib/sidebar.component.mjs +73 -15
  51. package/esm2022/lib/skeleton.component.mjs +19 -5
  52. package/esm2022/lib/switch.component.mjs +59 -53
  53. package/esm2022/lib/tabs.component.mjs +75 -13
  54. package/esm2022/lib/tag-input.component.mjs +6 -3
  55. package/esm2022/lib/textarea.component.mjs +9 -7
  56. package/esm2022/lib/theme.service.mjs +114 -138
  57. package/esm2022/lib/toaster.component.mjs +19 -9
  58. package/esm2022/lib/toggle-group.component.mjs +76 -4
  59. package/esm2022/lib/tolle-config.mjs +1 -1
  60. package/esm2022/lib/tooltip.directive.mjs +41 -17
  61. package/esm2022/lib/utils/color.mjs +324 -0
  62. package/esm2022/public-api.mjs +2 -1
  63. package/fesm2022/tolle-ui.mjs +2645 -637
  64. package/fesm2022/tolle-ui.mjs.map +1 -1
  65. package/lib/alert-dialog.component.d.ts +10 -1
  66. package/lib/avatar.component.d.ts +16 -3
  67. package/lib/badge.component.d.ts +17 -5
  68. package/lib/button.component.d.ts +10 -3
  69. package/lib/calendar.component.d.ts +21 -3
  70. package/lib/card.component.d.ts +6 -0
  71. package/lib/carousel/carousel.component.d.ts +1 -0
  72. package/lib/checkbox.component.d.ts +12 -4
  73. package/lib/country-selector.component.d.ts +11 -2
  74. package/lib/date-picker.component.d.ts +1 -0
  75. package/lib/date-range-picker.component.d.ts +4 -1
  76. package/lib/dropdown-item.component.d.ts +4 -2
  77. package/lib/dropdown-trigger.directive.d.ts +1 -1
  78. package/lib/modal.component.d.ts +6 -0
  79. package/lib/multi-select.component.d.ts +20 -0
  80. package/lib/otp.component.d.ts +1 -0
  81. package/lib/progress.component.d.ts +1 -0
  82. package/lib/radio-group.component.d.ts +8 -0
  83. package/lib/radio-item.component.d.ts +10 -4
  84. package/lib/radio-service.d.ts +29 -0
  85. package/lib/range-calendar.component.d.ts +33 -4
  86. package/lib/segment.component.d.ts +13 -0
  87. package/lib/select-item.component.d.ts +4 -1
  88. package/lib/select.component.d.ts +20 -0
  89. package/lib/separator.component.d.ts +2 -0
  90. package/lib/sheet-wrapper.component.d.ts +4 -0
  91. package/lib/sheet.component.d.ts +10 -1
  92. package/lib/sidebar.component.d.ts +2 -0
  93. package/lib/skeleton.component.d.ts +9 -3
  94. package/lib/switch.component.d.ts +13 -20
  95. package/lib/tabs.component.d.ts +11 -1
  96. package/lib/theme.service.d.ts +21 -6
  97. package/lib/toaster.component.d.ts +2 -2
  98. package/lib/toggle-group.component.d.ts +20 -2
  99. package/lib/toggle.component.d.ts +1 -1
  100. package/lib/tolle-config.d.ts +8 -0
  101. package/lib/tooltip.directive.d.ts +3 -0
  102. package/lib/utils/color.d.ts +87 -0
  103. package/package.json +4 -1
  104. package/preset.js +28 -0
  105. package/public-api.d.ts +1 -0
  106. package/registry/docs-content.json +4214 -0
  107. package/registry/llms-full.txt +1599 -0
  108. package/registry/llms.txt +83 -0
  109. package/registry/manifest.json +4925 -0
  110. package/registry/r/accordion-item.json +21 -0
  111. package/registry/r/accordion.json +23 -0
  112. package/registry/r/alert-dialog-dynamic.json +31 -0
  113. package/registry/r/alert-dialog.json +26 -0
  114. package/registry/r/alert.json +23 -0
  115. package/registry/r/aspect-ratio.json +21 -0
  116. package/registry/r/avatar-fallback.json +16 -0
  117. package/registry/r/avatar.json +23 -0
  118. package/registry/r/badge.json +23 -0
  119. package/registry/r/breadcrumb-item.json +16 -0
  120. package/registry/r/breadcrumb-link.json +16 -0
  121. package/registry/r/breadcrumb-separator.json +16 -0
  122. package/registry/r/breadcrumb.json +21 -0
  123. package/registry/r/button-group.json +21 -0
  124. package/registry/r/button.json +23 -0
  125. package/registry/r/calendar.json +23 -0
  126. package/registry/r/card.json +21 -0
  127. package/registry/r/carousel.json +18 -0
  128. package/registry/r/checkbox.json +23 -0
  129. package/registry/r/collapsible.json +21 -0
  130. package/registry/r/context-menu-trigger.json +23 -0
  131. package/registry/r/context-menu.json +28 -0
  132. package/registry/r/country-selector.json +31 -0
  133. package/registry/r/data-table.json +38 -0
  134. package/registry/r/date-picker.json +27 -0
  135. package/registry/r/date-range-picker.json +32 -0
  136. package/registry/r/dropdown-item.json +21 -0
  137. package/registry/r/dropdown-label.json +16 -0
  138. package/registry/r/dropdown-menu.json +16 -0
  139. package/registry/r/dropdown-separator.json +16 -0
  140. package/registry/r/dropdown-trigger.json +20 -0
  141. package/registry/r/empty-state.json +23 -0
  142. package/registry/r/hover-card.json +23 -0
  143. package/registry/r/input.json +21 -0
  144. package/registry/r/label.json +21 -0
  145. package/registry/r/masked-input.json +21 -0
  146. package/registry/r/modal.json +36 -0
  147. package/registry/r/multi-select.json +33 -0
  148. package/registry/r/otp-group.json +16 -0
  149. package/registry/r/otp-slot.json +21 -0
  150. package/registry/r/otp.json +21 -0
  151. package/registry/r/pagination.json +32 -0
  152. package/registry/r/phone-number-input.json +34 -0
  153. package/registry/r/popover-content.json +21 -0
  154. package/registry/r/popover.json +18 -0
  155. package/registry/r/progress.json +21 -0
  156. package/registry/r/radio-group.json +26 -0
  157. package/registry/r/radio-item.json +26 -0
  158. package/registry/r/range-calendar.json +28 -0
  159. package/registry/r/resizable-panel-item.json +23 -0
  160. package/registry/r/resizable-panel.json +23 -0
  161. package/registry/r/resizable.json +21 -0
  162. package/registry/r/scroll-area.json +21 -0
  163. package/registry/r/segment.json +21 -0
  164. package/registry/r/select-group.json +21 -0
  165. package/registry/r/select-item.json +26 -0
  166. package/registry/r/select-separator.json +21 -0
  167. package/registry/r/select.json +31 -0
  168. package/registry/r/separator.json +21 -0
  169. package/registry/r/sheet-wrapper.json +31 -0
  170. package/registry/r/sheet.json +21 -0
  171. package/registry/r/sidebar.json +21 -0
  172. package/registry/r/skeleton.json +23 -0
  173. package/registry/r/slider.json +21 -0
  174. package/registry/r/switch.json +23 -0
  175. package/registry/r/tabs.json +23 -0
  176. package/registry/r/tag-input.json +25 -0
  177. package/registry/r/textarea.json +21 -0
  178. package/registry/r/toaster.json +26 -0
  179. package/registry/r/toggle-group.json +25 -0
  180. package/registry/r/toggle.json +23 -0
  181. package/registry/r/tolle-cell.json +16 -0
  182. package/registry/r/tooltip.json +23 -0
  183. package/registry/registry.json +1540 -0
  184. package/theme.css +56 -1
@@ -0,0 +1,1599 @@
1
+ # Tolle UI — Full Component Reference
2
+
3
+ Angular 18 standalone components. Install the package (`npm i @tolle_/tolle-ui`) and import, or own the source (`npx @tolle_/cli add <component>`).
4
+
5
+ ## Accordion
6
+
7
+ - Install: `npx @tolle_/cli add accordion`
8
+ - Import: `import { AccordionComponent } from '@tolle_/tolle-ui';`
9
+
10
+ ### `<tolle-accordion>`
11
+
12
+ Inputs:
13
+
14
+ | Name | Type | Default | Description |
15
+ | --- | --- | --- | --- |
16
+ | type | `'single' | 'multiple'` | `'single'` | |
17
+ | class | `string` | `''` | |
18
+
19
+ Slots: _default_
20
+
21
+ ## Accordion Item
22
+
23
+ - Install: `npx @tolle_/cli add accordion-item`
24
+ - Import: `import { AccordionItemComponent } from '@tolle_/tolle-ui';`
25
+
26
+ ### `<tolle-accordion-item>`
27
+
28
+ Inputs:
29
+
30
+ | Name | Type | Default | Description |
31
+ | --- | --- | --- | --- |
32
+ | title | `string` | `''` | |
33
+ | class | `string` | `''` | |
34
+ | id | `string | number` | — | |
35
+
36
+ Slots: _default_
37
+
38
+ ## Alert
39
+
40
+ - Install: `npx @tolle_/cli add alert`
41
+ - Import: `import { AlertComponent } from '@tolle_/tolle-ui';`
42
+
43
+ ### `<tolle-alert>`
44
+
45
+ Inputs:
46
+
47
+ | Name | Type | Default | Description |
48
+ | --- | --- | --- | --- |
49
+ | variant | `'default' | 'destructive' | 'success' | 'warning' | 'info'` | `'default'` | |
50
+ | title | `string` | — | |
51
+ | class | `string` | `''` | |
52
+ | dismissible | `boolean` | `false` | |
53
+
54
+ Outputs:
55
+
56
+ | Name | Payload | Description |
57
+ | --- | --- | --- |
58
+ | onClose | `void` | |
59
+
60
+ Slots: `[icon]`, _default_
61
+
62
+ Variants:
63
+ - `variant`: `default`, `destructive`, `success`, `warning`, `info` (default `default`)
64
+
65
+ ## Alert Dialog
66
+
67
+ - Install: `npx @tolle_/cli add alert-dialog`
68
+ - Import: `import { AlertDialogComponent, AlertDialogTriggerComponent, AlertDialogPortalComponent, AlertDialogContentComponent, AlertDialogHeaderComponent, AlertDialogFooterComponent, AlertDialogTitleComponent, AlertDialogDescriptionComponent, AlertDialogActionComponent, AlertDialogCancelComponent } from '@tolle_/tolle-ui';`
69
+
70
+ ### `<tolle-alert-dialog>`
71
+
72
+ Inputs:
73
+
74
+ | Name | Type | Default | Description |
75
+ | --- | --- | --- | --- |
76
+ | open | `boolean` | — | |
77
+
78
+ Outputs:
79
+
80
+ | Name | Payload | Description |
81
+ | --- | --- | --- |
82
+ | openChange | `boolean` | |
83
+
84
+ Slots: _default_
85
+
86
+ ### `<tolle-alert-dialog-trigger>`
87
+
88
+ Slots: _default_
89
+
90
+ ### `<tolle-alert-dialog-portal>`
91
+
92
+ Slots: _default_
93
+
94
+ ### `<tolle-alert-dialog-content>`
95
+
96
+ Inputs:
97
+
98
+ | Name | Type | Default | Description |
99
+ | --- | --- | --- | --- |
100
+ | class | `string` | `''` | |
101
+ | size | `AlertDialogSize` | `'lg'` | |
102
+
103
+ Slots: _default_
104
+
105
+ ### `<tolle-alert-dialog-header>`
106
+
107
+ Inputs:
108
+
109
+ | Name | Type | Default | Description |
110
+ | --- | --- | --- | --- |
111
+ | class | `string` | `''` | |
112
+
113
+ Slots: _default_
114
+
115
+ ### `<tolle-alert-dialog-footer>`
116
+
117
+ Inputs:
118
+
119
+ | Name | Type | Default | Description |
120
+ | --- | --- | --- | --- |
121
+ | class | `string` | `''` | |
122
+
123
+ Slots: _default_
124
+
125
+ ### `<tolle-alert-dialog-title>`
126
+
127
+ Inputs:
128
+
129
+ | Name | Type | Default | Description |
130
+ | --- | --- | --- | --- |
131
+ | class | `string` | `''` | |
132
+
133
+ Slots: _default_
134
+
135
+ ### `<tolle-alert-dialog-description>`
136
+
137
+ Inputs:
138
+
139
+ | Name | Type | Default | Description |
140
+ | --- | --- | --- | --- |
141
+ | class | `string` | `''` | |
142
+
143
+ Slots: _default_
144
+
145
+ ### `<tolle-alert-dialog-action>`
146
+
147
+ Slots: _default_
148
+
149
+ ### `<tolle-alert-dialog-cancel>`
150
+
151
+ Slots: _default_
152
+
153
+ ## Alert Dialog Dynamic
154
+
155
+ - Install: `npx @tolle_/cli add alert-dialog-dynamic`
156
+ - Import: `import { AlertDialogDynamicComponent } from '@tolle_/tolle-ui';`
157
+
158
+ ### `<tolle-alert-dialog-dynamic>`
159
+
160
+ ## Aspect Ratio
161
+
162
+ - Install: `npx @tolle_/cli add aspect-ratio`
163
+ - Import: `import { AspectRatioComponent } from '@tolle_/tolle-ui';`
164
+
165
+ ### `<tolle-aspect-ratio>`
166
+
167
+ Inputs:
168
+
169
+ | Name | Type | Default | Description |
170
+ | --- | --- | --- | --- |
171
+ | ratio | `string | number` | `'16 / 9'` | |
172
+ | class | `string` | `''` | |
173
+
174
+ Slots: _default_
175
+
176
+ ## Avatar
177
+
178
+ - Install: `npx @tolle_/cli add avatar`
179
+ - Import: `import { AvatarComponent } from '@tolle_/tolle-ui';`
180
+
181
+ ### `<tolle-avatar>`
182
+
183
+ Inputs:
184
+
185
+ | Name | Type | Default | Description |
186
+ | --- | --- | --- | --- |
187
+ | src | `string` | — | Image URL. When absent or failed to load, projected fallback content is shown. |
188
+ | alt | `string` | `''` | Alternative text for the avatar image. |
189
+ | size | `'sm' | 'default' | 'lg' | 'xl'` | `'default'` | Size of the avatar. |
190
+ | shape | `'circle' | 'square'` | `'circle'` | Shape of the avatar. |
191
+ | class | `string` | `''` | Extra Tailwind classes merged onto the avatar via `cn()` (last-wins). |
192
+
193
+ Slots: _default_
194
+
195
+ Variants:
196
+ - `shape`: `circle`, `square` (default `circle`)
197
+ - `size`: `sm`, `default`, `lg`, `xl` (default `default`)
198
+
199
+ ## Avatar Fallback
200
+
201
+ - Install: `npx @tolle_/cli add avatar-fallback`
202
+ - Import: `import { AvatarFallbackComponent } from '@tolle_/tolle-ui';`
203
+
204
+ ### `<tolle-avatar-fallback>`
205
+
206
+ Slots: _default_
207
+
208
+ ## Badge
209
+
210
+ - Install: `npx @tolle_/cli add badge`
211
+ - Import: `import { BadgeComponent } from '@tolle_/tolle-ui';`
212
+
213
+ ### `<tolle-badge>`
214
+
215
+ Inputs:
216
+
217
+ | Name | Type | Default | Description |
218
+ | --- | --- | --- | --- |
219
+ | variant | `'default' | 'secondary' | 'outline' | 'destructive'` | `'default'` | Visual style of the badge. |
220
+ | size | `'xs' | 'sm' | 'default'` | `'default'` | Size of the badge. |
221
+ | removable | `boolean` | `false` | Shows a trailing dismiss (×) button that emits `onRemove`. |
222
+ | removeLabel | `string` | `'Remove'` | Accessible label for the dismiss button. |
223
+ | class | `string` | `''` | Extra Tailwind classes merged onto the badge via `cn()` (last-wins). |
224
+
225
+ Outputs:
226
+
227
+ | Name | Payload | Description |
228
+ | --- | --- | --- |
229
+ | onRemove | `MouseEvent` | Emitted with the click event when the dismiss button is pressed. |
230
+
231
+ Slots: `[prefix]`, _default_
232
+
233
+ Variants:
234
+ - `variant`: `default`, `secondary`, `outline`, `destructive` (default `default`)
235
+ - `size`: `xs`, `sm`, `default` (default `default`)
236
+
237
+ ## Breadcrumb
238
+
239
+ - Install: `npx @tolle_/cli add breadcrumb`
240
+ - Import: `import { BreadcrumbComponent } from '@tolle_/tolle-ui';`
241
+
242
+ ### `<tolle-breadcrumb>`
243
+
244
+ Inputs:
245
+
246
+ | Name | Type | Default | Description |
247
+ | --- | --- | --- | --- |
248
+ | class | `string` | `''` | |
249
+
250
+ Slots: _default_
251
+
252
+ ## Breadcrumb Item
253
+
254
+ - Install: `npx @tolle_/cli add breadcrumb-item`
255
+ - Import: `import { BreadcrumbItemComponent } from '@tolle_/tolle-ui';`
256
+
257
+ ### `<tolle-breadcrumb-item>`
258
+
259
+ Slots: _default_
260
+
261
+ ## Breadcrumb Link
262
+
263
+ - Install: `npx @tolle_/cli add breadcrumb-link`
264
+ - Import: `import { BreadcrumbLinkComponent } from '@tolle_/tolle-ui';`
265
+
266
+ ### `<tolle-breadcrumb-link>`
267
+
268
+ Inputs:
269
+
270
+ | Name | Type | Default | Description |
271
+ | --- | --- | --- | --- |
272
+ | active | `boolean` | `false` | |
273
+
274
+ Slots: _default_
275
+
276
+ ## Breadcrumb Separator
277
+
278
+ - Install: `npx @tolle_/cli add breadcrumb-separator`
279
+ - Import: `import { BreadcrumbSeparatorComponent } from '@tolle_/tolle-ui';`
280
+
281
+ ### `<tolle-breadcrumb-separator>`
282
+
283
+ Slots: _default_
284
+
285
+ ## Button
286
+
287
+ - Install: `npx @tolle_/cli add button`
288
+ - Import: `import { ButtonComponent } from '@tolle_/tolle-ui';`
289
+
290
+ ### `<tolle-button>`
291
+
292
+ Inputs:
293
+
294
+ | Name | Type | Default | Description |
295
+ | --- | --- | --- | --- |
296
+ | class | `string` | `''` | Extra Tailwind classes merged onto the button via `cn()` (last-wins). |
297
+ | variant | `'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link'` | `'default'` | Visual style of the button. |
298
+ | size | `'default' | 'xs' | 'sm' | 'lg' | 'icon-xs' | 'icon-sm' | 'icon' | 'icon-lg'` | `'default'` | Size of the button, including icon-only sizes. |
299
+ | type | `'button' | 'submit' | 'reset'` | `'button'` | Native button type. Defaults to 'button' so it never submits a form unexpectedly. |
300
+ | disabled | `boolean` | `false` | Disables the button and blocks pointer events. |
301
+ | busy | `boolean` | `false` | Shows a spinner, sets `aria-busy`, and prevents interaction while a task runs. |
302
+
303
+ Slots: _default_
304
+
305
+ Variants:
306
+ - `variant`: `default`, `destructive`, `outline`, `secondary`, `ghost`, `link` (default `default`)
307
+ - `size`: `default`, `xs`, `sm`, `lg`, `icon-xs`, `icon-sm`, `icon`, `icon-lg` (default `default`)
308
+ - `busy`: `true`
309
+
310
+ ## Button Group
311
+
312
+ - Install: `npx @tolle_/cli add button-group`
313
+ - Import: `import { ButtonGroupComponent } from '@tolle_/tolle-ui';`
314
+
315
+ ### `<tolle-button-group>`
316
+
317
+ Inputs:
318
+
319
+ | Name | Type | Default | Description |
320
+ | --- | --- | --- | --- |
321
+ | class | `string` | `''` | |
322
+
323
+ Slots: _default_
324
+
325
+ ## Calendar
326
+
327
+ - Install: `npx @tolle_/cli add calendar`
328
+ - Import: `import { CalendarComponent } from '@tolle_/tolle-ui';`
329
+
330
+ ### `<tolle-calendar>`
331
+
332
+ Inputs:
333
+
334
+ | Name | Type | Default | Description |
335
+ | --- | --- | --- | --- |
336
+ | class | `string` | `''` | |
337
+ | bordered | `boolean` | `true` | Renders the calendar's own border, background and shadow. Set `false` when
338
+ nesting inside a card/popover that already provides the chrome. |
339
+ | mode | `CalendarMode` | `'date'` | |
340
+ | disablePastDates | `boolean` | `false` | |
341
+ | showQuickActions | `boolean` | `true` | |
342
+ | minDate | `Date` | — | |
343
+ | maxDate | `Date` | — | |
344
+ | formatMonthFn | `(date: Date) => string` | — | |
345
+ | formatYearFn | `(date: Date) => string` | — | |
346
+ | formatDateFn | `(date: Date) => string` | — | |
347
+
348
+ Outputs:
349
+
350
+ | Name | Payload | Description |
351
+ | --- | --- | --- |
352
+ | dateSelect | `Date | null` | |
353
+
354
+ ## Card
355
+
356
+ - Install: `npx @tolle_/cli add card`
357
+ - Import: `import { CardComponent, CardHeaderComponent, CardTitleComponent, CardDescriptionComponent, CardContentComponent, CardFooterComponent } from '@tolle_/tolle-ui';`
358
+
359
+ ### `<tolle-card>`
360
+
361
+ Inputs:
362
+
363
+ | Name | Type | Default | Description |
364
+ | --- | --- | --- | --- |
365
+ | class | `string` | `''` | |
366
+
367
+ Slots: _default_
368
+
369
+ ### `<tolle-card-header>`
370
+
371
+ Inputs:
372
+
373
+ | Name | Type | Default | Description |
374
+ | --- | --- | --- | --- |
375
+ | class | `string` | `''` | |
376
+
377
+ Slots: _default_
378
+
379
+ ### `<tolle-card-title>`
380
+
381
+ Inputs:
382
+
383
+ | Name | Type | Default | Description |
384
+ | --- | --- | --- | --- |
385
+ | class | `string` | `''` | |
386
+
387
+ Slots: _default_
388
+
389
+ ### `<tolle-card-description>`
390
+
391
+ Inputs:
392
+
393
+ | Name | Type | Default | Description |
394
+ | --- | --- | --- | --- |
395
+ | class | `string` | `''` | |
396
+
397
+ Slots: _default_
398
+
399
+ ### `<tolle-card-content>`
400
+
401
+ Inputs:
402
+
403
+ | Name | Type | Default | Description |
404
+ | --- | --- | --- | --- |
405
+ | class | `string` | `''` | |
406
+
407
+ Slots: _default_
408
+
409
+ ### `<tolle-card-footer>`
410
+
411
+ Inputs:
412
+
413
+ | Name | Type | Default | Description |
414
+ | --- | --- | --- | --- |
415
+ | class | `string` | `''` | |
416
+
417
+ Slots: _default_
418
+
419
+ ## Carousel
420
+
421
+ - Install: `npx @tolle_/cli add carousel`
422
+ - Import: `import { CarouselComponent, CarouselContentDirective, CarouselContainerDirective, CarouselItemDirective, CarouselPreviousDirective, CarouselNextDirective } from '@tolle_/tolle-ui';`
423
+
424
+ ### `<tolle-carousel>`
425
+
426
+ Inputs:
427
+
428
+ | Name | Type | Default | Description |
429
+ | --- | --- | --- | --- |
430
+ | opts | `EmblaOptionsType` | `{}` | |
431
+ | plugins | `EmblaPluginType[]` | `[]` | |
432
+ | orientation | `'horizontal' | 'vertical'` | `'horizontal'` | |
433
+
434
+ Outputs:
435
+
436
+ | Name | Payload | Description |
437
+ | --- | --- | --- |
438
+ | api | `EmblaCarouselType` | |
439
+
440
+ Slots: _default_
441
+
442
+ ### `<[tolleCarouselContent]>` (directive)
443
+
444
+ ### `<[tolleCarouselContainer]>` (directive)
445
+
446
+ ### `<[tolleCarouselItem]>` (directive)
447
+
448
+ ### `<[tolleCarouselPrevious]>` (directive)
449
+
450
+ ### `<[tolleCarouselNext]>` (directive)
451
+
452
+ ## Checkbox
453
+
454
+ - Install: `npx @tolle_/cli add checkbox`
455
+ - Import: `import { CheckboxComponent } from '@tolle_/tolle-ui';`
456
+
457
+ ### `<tolle-checkbox>`
458
+
459
+ Inputs:
460
+
461
+ | Name | Type | Default | Description |
462
+ | --- | --- | --- | --- |
463
+ | class | `string` | `''` | Extra Tailwind classes merged onto the checkbox via `cn()` (last-wins). |
464
+ | disabled | `boolean` | `false` | Disables the checkbox and blocks toggling. |
465
+ | size | `'xs' | 'sm' | 'default' | 'lg'` | `'default'` | Size of the checkbox. |
466
+
467
+ Variants:
468
+ - `size`: `xs`, `sm`, `default`, `lg` (default `default`)
469
+ - `checked`: `true`, `false` (default `false`)
470
+
471
+ ## Collapsible
472
+
473
+ - Install: `npx @tolle_/cli add collapsible`
474
+ - Import: `import { CollapsibleComponent, CollapsibleTriggerComponent, CollapsibleContentComponent } from '@tolle_/tolle-ui';`
475
+
476
+ ### `<tolle-collapsible>`
477
+
478
+ Inputs:
479
+
480
+ | Name | Type | Default | Description |
481
+ | --- | --- | --- | --- |
482
+ | class | `string` | `''` | |
483
+ | open | `boolean` | — | |
484
+
485
+ Outputs:
486
+
487
+ | Name | Payload | Description |
488
+ | --- | --- | --- |
489
+ | openChange | `boolean` | |
490
+
491
+ Slots: _default_
492
+
493
+ ### `<tolle-collapsible-trigger>`
494
+
495
+ Inputs:
496
+
497
+ | Name | Type | Default | Description |
498
+ | --- | --- | --- | --- |
499
+ | class | `string` | `''` | |
500
+
501
+ Slots: _default_
502
+
503
+ ### `<tolle-collapsible-content>`
504
+
505
+ Inputs:
506
+
507
+ | Name | Type | Default | Description |
508
+ | --- | --- | --- | --- |
509
+ | class | `string` | `''` | |
510
+
511
+ Slots: _default_
512
+
513
+ ## Context Menu
514
+
515
+ - Install: `npx @tolle_/cli add context-menu`
516
+ - Import: `import { ContextMenuComponent } from '@tolle_/tolle-ui';`
517
+
518
+ ### `<tolle-context-menu>`
519
+
520
+ ## Context Menu Trigger
521
+
522
+ - Install: `npx @tolle_/cli add context-menu-trigger`
523
+ - Import: `import { ContextMenuTriggerDirective } from '@tolle_/tolle-ui';`
524
+
525
+ ### `<[tolleContextMenuTrigger]>` (directive)
526
+
527
+ Inputs:
528
+
529
+ | Name | Type | Default | Description |
530
+ | --- | --- | --- | --- |
531
+ | items | `ContextMenuItem[]` | `[]` | |
532
+
533
+ Outputs:
534
+
535
+ | Name | Payload | Description |
536
+ | --- | --- | --- |
537
+ | action | `string` | |
538
+
539
+ ## Country Selector
540
+
541
+ - Install: `npx @tolle_/cli add country-selector`
542
+ - Import: `import { CountrySelectorComponent } from '@tolle_/tolle-ui';`
543
+
544
+ ### `<tolle-country-selector>`
545
+
546
+ Inputs:
547
+
548
+ | Name | Type | Default | Description |
549
+ | --- | --- | --- | --- |
550
+ | id | `any` | ``country-selector-${Math.random().toString(36).substr(2, 9)}`` | |
551
+ | label | `string` | `''` | |
552
+ | hint | `string` | `''` | |
553
+ | errorMessage | `string` | `''` | |
554
+ | error | `boolean` | `false` | |
555
+ | hideHintOnFocus | `boolean` | `true` | |
556
+ | placeholder | `string` | `'Select country'` | |
557
+ | class | `string` | `''` | |
558
+ | disabled | `boolean` | `false` | |
559
+ | readonly | `boolean` | `false` | |
560
+ | size | `'xs' | 'sm' | 'default' | 'lg'` | `'default'` | |
561
+ | defaultCountryCode | `string` | `'GH'` | |
562
+ | returnValue | `'object' | 'isoAlpha2' | 'dialCode' | 'name'` | `'isoAlpha2'` | |
563
+ | showName | `boolean` | `true` | |
564
+ | externalFocused | `boolean | undefined` | — | |
565
+
566
+ Outputs:
567
+
568
+ | Name | Payload | Description |
569
+ | --- | --- | --- |
570
+ | onSelect | `any` | |
571
+ | onFocusChange | `void` | |
572
+ | onBlurChange | `void` | |
573
+
574
+ ## Data Table
575
+
576
+ - Install: `npx @tolle_/cli add data-table`
577
+ - Import: `import { DataTableComponent } from '@tolle_/tolle-ui';`
578
+
579
+ ### `<tolle-data-table>`
580
+
581
+ Inputs:
582
+
583
+ | Name | Type | Default | Description |
584
+ | --- | --- | --- | --- |
585
+ | data | `any[]` | `[]` | |
586
+ | columns | `TableColumn[]` | `[]` | |
587
+ | searchable | `boolean` | `true` | |
588
+ | paginate | `boolean` | `true` | |
589
+ | pageSizeOptions | `number[]` | `[]` | |
590
+ | pageSize | `number` | `10` | |
591
+ | expandable | `boolean` | `false` | |
592
+ | size | `'xs' | 'sm' | 'default' | 'lg'` | `'default'` | |
593
+ | stickyHeader | `boolean` | `false` | |
594
+ | maxHeight | `string` | — | |
595
+ | allowColumnHiding | `boolean` | `true` | |
596
+ | showSettings | `boolean` | `true` | |
597
+ | expandedTemplate | `TemplateRef<any>` | — | |
598
+
599
+ ## Date Picker
600
+
601
+ - Install: `npx @tolle_/cli add date-picker`
602
+ - Import: `import { DatePickerComponent } from '@tolle_/tolle-ui';`
603
+
604
+ ### `<tolle-date-picker>`
605
+
606
+ Inputs:
607
+
608
+ | Name | Type | Default | Description |
609
+ | --- | --- | --- | --- |
610
+ | placeholder | `string` | `'MM/DD/YYYY'` | |
611
+ | disabled | `boolean` | `false` | |
612
+ | class | `string` | `''` | |
613
+ | disablePastDates | `boolean` | `false` | |
614
+ | showClear | `boolean` | `true` | |
615
+ | showQuickActions | `boolean` | `true` | |
616
+ | minDate | `Date` | — | |
617
+ | maxDate | `Date` | — | |
618
+ | mode | `CalendarMode` | `'date'` | |
619
+ | formatMonthFn | `(date: Date) => string` | — | |
620
+ | formatYearFn | `(date: Date) => string` | — | |
621
+ | displayFormat | `(date: Date, mode: CalendarMode) => string` | — | |
622
+
623
+ ## Date Range Picker
624
+
625
+ - Install: `npx @tolle_/cli add date-range-picker`
626
+ - Import: `import { DateRangePickerComponent } from '@tolle_/tolle-ui';`
627
+
628
+ ### `<tolle-date-range-picker>`
629
+
630
+ Inputs:
631
+
632
+ | Name | Type | Default | Description |
633
+ | --- | --- | --- | --- |
634
+ | disabled | `boolean` | `false` | |
635
+ | placeholder | `string` | `'Pick a date range'` | |
636
+ | class | `string` | `''` | |
637
+ | disablePastDates | `boolean` | `false` | |
638
+ | size | `'xs' | 'sm' | 'default' | 'lg'` | `'default'` | |
639
+ | numberOfMonths | `number` | `1` | Consecutive months shown in the popover (e.g. `2` for a two-month picker). |
640
+
641
+ ## Dropdown Item
642
+
643
+ - Install: `npx @tolle_/cli add dropdown-item`
644
+ - Import: `import { DropdownItemComponent } from '@tolle_/tolle-ui';`
645
+
646
+ ### `<tolle-dropdown-item>`
647
+
648
+ Inputs:
649
+
650
+ | Name | Type | Default | Description |
651
+ | --- | --- | --- | --- |
652
+ | class | `string` | `''` | |
653
+ | disabled | `boolean` | `false` | |
654
+
655
+ Slots: _default_
656
+
657
+ ## Dropdown Label
658
+
659
+ - Install: `npx @tolle_/cli add dropdown-label`
660
+ - Import: `import { DropdownLabelComponent } from '@tolle_/tolle-ui';`
661
+
662
+ ### `<tolle-dropdown-label>`
663
+
664
+ Slots: _default_
665
+
666
+ ## Dropdown Menu
667
+
668
+ - Install: `npx @tolle_/cli add dropdown-menu`
669
+ - Import: `import { DropdownMenuComponent } from '@tolle_/tolle-ui';`
670
+
671
+ ### `<tolle-dropdown-menu>`
672
+
673
+ Slots: _default_
674
+
675
+ ## Dropdown Separator
676
+
677
+ - Install: `npx @tolle_/cli add dropdown-separator`
678
+ - Import: `import { DropdownSeparatorComponent } from '@tolle_/tolle-ui';`
679
+
680
+ ### `<tolle-dropdown-separator>`
681
+
682
+ ## Dropdown Trigger
683
+
684
+ - Install: `npx @tolle_/cli add dropdown-trigger`
685
+ - Import: `import { DropdownTriggerDirective } from '@tolle_/tolle-ui';`
686
+
687
+ ### `<[tolleDropdownTrigger]>` (directive)
688
+
689
+ Inputs:
690
+
691
+ | Name | Type | Default | Description |
692
+ | --- | --- | --- | --- |
693
+ | menu | `DropdownMenuComponent` | — | |
694
+
695
+ ## Empty State
696
+
697
+ - Install: `npx @tolle_/cli add empty-state`
698
+ - Import: `import { EmptyStateComponent } from '@tolle_/tolle-ui';`
699
+
700
+ ### `<tolle-empty-state>`
701
+
702
+ Inputs:
703
+
704
+ | Name | Type | Default | Description |
705
+ | --- | --- | --- | --- |
706
+ | variant | `'default' | 'minimal'` | `'default'` | |
707
+ | title | `string` | `'No items found'` | |
708
+ | description | `string` | — | |
709
+ | class | `string` | `''` | |
710
+
711
+ Slots: `[icon]`, `[actions]`
712
+
713
+ Variants:
714
+ - `variant`: `default`, `minimal` (default `default`)
715
+
716
+ ## Hover Card
717
+
718
+ - Install: `npx @tolle_/cli add hover-card`
719
+ - Import: `import { HoverCardComponent, HoverCardTriggerComponent, HoverCardContentComponent } from '@tolle_/tolle-ui';`
720
+
721
+ ### `<tolle-hover-card>`
722
+
723
+ Inputs:
724
+
725
+ | Name | Type | Default | Description |
726
+ | --- | --- | --- | --- |
727
+ | openDelay | `number` | `700` | |
728
+ | closeDelay | `number` | `300` | |
729
+ | placement | `'top' | 'bottom' | 'left' | 'right'` | `'bottom'` | |
730
+
731
+ Slots: _default_
732
+
733
+ ### `<tolle-hover-card-trigger>`
734
+
735
+ Slots: _default_
736
+
737
+ ### `<tolle-hover-card-content>`
738
+
739
+ Inputs:
740
+
741
+ | Name | Type | Default | Description |
742
+ | --- | --- | --- | --- |
743
+ | class | `string` | `''` | |
744
+
745
+ Slots: _default_
746
+
747
+ ## Input
748
+
749
+ - Install: `npx @tolle_/cli add input`
750
+ - Import: `import { InputComponent } from '@tolle_/tolle-ui';`
751
+
752
+ ### `<tolle-input>`
753
+
754
+ Inputs:
755
+
756
+ | Name | Type | Default | Description |
757
+ | --- | --- | --- | --- |
758
+ | id | `string` | ``input-${Math.random().toString(36).substr(2, 9)}`` | |
759
+ | label | `string` | `''` | |
760
+ | hint | `string` | `''` | |
761
+ | errorMessage | `string` | `''` | |
762
+ | type | `string` | `'text'` | |
763
+ | placeholder | `string` | `''` | |
764
+ | size | `'xs' | 'sm' | 'default' | 'lg'` | `'default'` | |
765
+ | containerClass | `string` | `''` | |
766
+ | class | `string` | `''` | |
767
+ | disabled | `boolean` | `false` | |
768
+ | readonly | `boolean` | `false` | |
769
+ | error | `boolean` | `false` | |
770
+ | hideHintOnFocus | `boolean` | `true` | |
771
+
772
+ Slots: `[prefix]`, `[suffix]`
773
+
774
+ ## Label
775
+
776
+ - Install: `npx @tolle_/cli add label`
777
+ - Import: `import { LabelComponent } from '@tolle_/tolle-ui';`
778
+
779
+ ### `<tolle-label>`
780
+
781
+ Inputs:
782
+
783
+ | Name | Type | Default | Description |
784
+ | --- | --- | --- | --- |
785
+ | for | `string` | — | |
786
+ | class | `string` | `''` | |
787
+
788
+ Slots: _default_
789
+
790
+ ## Masked Input
791
+
792
+ - Install: `npx @tolle_/cli add masked-input`
793
+ - Import: `import { MaskedInputComponent } from '@tolle_/tolle-ui';`
794
+
795
+ ### `<tolle-masked-input>`
796
+
797
+ Inputs:
798
+
799
+ | Name | Type | Default | Description |
800
+ | --- | --- | --- | --- |
801
+ | id | `string` | ``masked-input-${Math.random().toString(36).substr(2, 9)}`` | |
802
+ | label | `string` | `''` | |
803
+ | hint | `string` | `''` | |
804
+ | errorMessage | `string` | `''` | |
805
+ | mask | `string` | `''` | |
806
+ | placeholder | `string` | `''` | |
807
+ | type | `string` | `'text'` | |
808
+ | disabled | `boolean` | `false` | |
809
+ | readonly | `boolean` | `false` | |
810
+ | class | `string` | `''` | |
811
+ | containerClass | `string` | `''` | |
812
+ | error | `boolean` | `false` | |
813
+ | size | `'xs' | 'sm' | 'default' | 'lg'` | `'default'` | |
814
+ | returnRaw | `boolean` | `false` | |
815
+ | hideHintOnFocus | `boolean` | `true` | |
816
+ | externalFocused | `boolean | undefined` | — | |
817
+
818
+ Slots: `[prefix]`, `[suffix]`
819
+
820
+ ## Modal
821
+
822
+ - Install: `npx @tolle_/cli add modal`
823
+ - Import: `import { ModalComponent } from '@tolle_/tolle-ui';`
824
+
825
+ ### `<tolle-modal>`
826
+
827
+ ## Multi Select
828
+
829
+ - Install: `npx @tolle_/cli add multi-select`
830
+ - Import: `import { MultiSelectComponent } from '@tolle_/tolle-ui';`
831
+
832
+ ### `<tolle-multi-select>`
833
+
834
+ Inputs:
835
+
836
+ | Name | Type | Default | Description |
837
+ | --- | --- | --- | --- |
838
+ | placeholder | `string` | `'Select options...'` | |
839
+ | size | `'xs' | 'sm' | 'default' | 'lg'` | `'default'` | |
840
+ | searchable | `boolean` | `false` | |
841
+ | disabled | `boolean` | `false` | |
842
+ | class | `string` | `''` | |
843
+ | maxSelections | `number` | — | |
844
+ | maxDisplayItems | `number` | `3` | |
845
+ | error | `boolean` | `false` | |
846
+
847
+ Slots: _default_
848
+
849
+ ## Otp
850
+
851
+ - Install: `npx @tolle_/cli add otp`
852
+ - Import: `import { OtpComponent } from '@tolle_/tolle-ui';`
853
+
854
+ ### `<tolle-otp>`
855
+
856
+ Inputs:
857
+
858
+ | Name | Type | Default | Description |
859
+ | --- | --- | --- | --- |
860
+ | disabled | `boolean` | `false` | |
861
+ | auto | `boolean` | `false` | |
862
+ | length | `number` | `6` | |
863
+
864
+ Slots: _default_
865
+
866
+ ## Otp Group
867
+
868
+ - Install: `npx @tolle_/cli add otp-group`
869
+ - Import: `import { OtpGroupComponent } from '@tolle_/tolle-ui';`
870
+
871
+ ### `<tolle-otp-group>`
872
+
873
+ Slots: _default_
874
+
875
+ ## Otp Slot
876
+
877
+ - Install: `npx @tolle_/cli add otp-slot`
878
+ - Import: `import { OtpSlotComponent } from '@tolle_/tolle-ui';`
879
+
880
+ ### `<tolle-otp-slot>`
881
+
882
+ Inputs:
883
+
884
+ | Name | Type | Default | Description |
885
+ | --- | --- | --- | --- |
886
+ | char | `string | undefined` | `''` | |
887
+ | isActive | `boolean` | `false` | |
888
+ | isFirst | `boolean` | `false` | |
889
+ | isLast | `boolean` | `false` | |
890
+ | class | `string` | `''` | |
891
+
892
+ ## Pagination
893
+
894
+ - Install: `npx @tolle_/cli add pagination`
895
+ - Import: `import { PaginationComponent } from '@tolle_/tolle-ui';`
896
+
897
+ ### `<tolle-pagination>`
898
+
899
+ Inputs:
900
+
901
+ | Name | Type | Default | Description |
902
+ | --- | --- | --- | --- |
903
+ | class | `string` | `''` | |
904
+ | showPageLinks | `boolean` | `true` | |
905
+ | showPageOptions | `boolean` | `true` | |
906
+ | showCurrentPageInfo | `boolean` | `true` | |
907
+ | currentPageInfoTemplate | `string` | — | |
908
+ | totalRecords | `number` | `0` | |
909
+ | currentPageSize | `number` | `10` | |
910
+ | currentPage | `number` | `1` | |
911
+ | pageSizeOptions | `number[]` | `[10, 20, 30, 50]` | |
912
+
913
+ Outputs:
914
+
915
+ | Name | Payload | Description |
916
+ | --- | --- | --- |
917
+ | onPageNumberChange | `number` | |
918
+ | onPageSizeChange | `number` | |
919
+
920
+ ## Phone Number Input
921
+
922
+ - Install: `npx @tolle_/cli add phone-number-input`
923
+ - Import: `import { PhoneNumberInputComponent } from '@tolle_/tolle-ui';`
924
+
925
+ ### `<tolle-phone-number-input>`
926
+
927
+ Inputs:
928
+
929
+ | Name | Type | Default | Description |
930
+ | --- | --- | --- | --- |
931
+ | id | `any` | ``phone-input-${Math.random().toString(36).substr(2, 9)}`` | |
932
+ | label | `string` | `''` | |
933
+ | hint | `string` | `''` | |
934
+ | errorMessage | `string` | `''` | |
935
+ | error | `boolean` | `false` | |
936
+ | hideHintOnFocus | `boolean` | `true` | |
937
+ | placeholder | `string` | `'Phone number'` | |
938
+ | size | `'xs' | 'sm' | 'default' | 'lg'` | `'default'` | |
939
+ | disabled | `boolean` | `false` | |
940
+ | readonly | `boolean` | `false` | |
941
+ | defaultCountryCode | `string` | `'GH'` | |
942
+ | dataType | `'NumberOnly' | 'FullObject'` | `'FullObject'` | |
943
+ | mask | `string` | `'(000) 000-0000'` | |
944
+ | class | `string` | `''` | |
945
+ | enableCountrySelector | `boolean` | `true` | |
946
+
947
+ Outputs:
948
+
949
+ | Name | Payload | Description |
950
+ | --- | --- | --- |
951
+ | onSelect | `any` | |
952
+
953
+ ## Popover
954
+
955
+ - Install: `npx @tolle_/cli add popover`
956
+ - Import: `import { PopoverComponent } from '@tolle_/tolle-ui';`
957
+
958
+ ### `<tolle-popover>`
959
+
960
+ Inputs:
961
+
962
+ | Name | Type | Default | Description |
963
+ | --- | --- | --- | --- |
964
+ | placement | `'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end'` | `'bottom'` | |
965
+
966
+ Outputs:
967
+
968
+ | Name | Payload | Description |
969
+ | --- | --- | --- |
970
+ | onOpen | `void` | |
971
+ | onClose | `void` | |
972
+
973
+ Slots: `[trigger]`, _default_
974
+
975
+ ## Popover Content
976
+
977
+ - Install: `npx @tolle_/cli add popover-content`
978
+ - Import: `import { PopoverContentComponent } from '@tolle_/tolle-ui';`
979
+
980
+ ### `<tolle-popover-content>`
981
+
982
+ Inputs:
983
+
984
+ | Name | Type | Default | Description |
985
+ | --- | --- | --- | --- |
986
+ | class | `string` | `''` | |
987
+
988
+ Slots: _default_
989
+
990
+ ## Progress
991
+
992
+ - Install: `npx @tolle_/cli add progress`
993
+ - Import: `import { ProgressComponent } from '@tolle_/tolle-ui';`
994
+
995
+ ### `<tolle-progress>`
996
+
997
+ Inputs:
998
+
999
+ | Name | Type | Default | Description |
1000
+ | --- | --- | --- | --- |
1001
+ | value | `number | null` | `0` | |
1002
+ | class | `string` | `''` | |
1003
+
1004
+ ## Radio Group
1005
+
1006
+ - Install: `npx @tolle_/cli add radio-group`
1007
+ - Import: `import { RadioGroupComponent } from '@tolle_/tolle-ui';`
1008
+
1009
+ ### `<tolle-radio-group>`
1010
+
1011
+ Inputs:
1012
+
1013
+ | Name | Type | Default | Description |
1014
+ | --- | --- | --- | --- |
1015
+ | class | `string` | `''` | |
1016
+ | disabled | `boolean` | `false` | |
1017
+ | name | `any` | ``radio-group-${Math.random().toString(36).substring(2, 9)}`` | |
1018
+
1019
+ Slots: _default_
1020
+
1021
+ ## Radio Item
1022
+
1023
+ - Install: `npx @tolle_/cli add radio-item`
1024
+ - Import: `import { RadioItemComponent } from '@tolle_/tolle-ui';`
1025
+
1026
+ ### `<tolle-radio-item>`
1027
+
1028
+ Inputs:
1029
+
1030
+ | Name | Type | Default | Description |
1031
+ | --- | --- | --- | --- |
1032
+ | value | `any` | — | |
1033
+ | disabled | `boolean` | `false` | |
1034
+ | class | `string` | `''` | |
1035
+
1036
+ Slots: _default_
1037
+
1038
+ ## Range Calendar
1039
+
1040
+ - Install: `npx @tolle_/cli add range-calendar`
1041
+ - Import: `import { RangeCalendarComponent } from '@tolle_/tolle-ui';`
1042
+
1043
+ ### `<tolle-range-calendar>`
1044
+
1045
+ Inputs:
1046
+
1047
+ | Name | Type | Default | Description |
1048
+ | --- | --- | --- | --- |
1049
+ | class | `string` | `''` | |
1050
+ | disablePastDates | `boolean` | `false` | |
1051
+ | bordered | `boolean` | `true` | Renders the calendar's own border/background/shadow. Set `false` inside a
1052
+ card/popover that already provides chrome. |
1053
+ | numberOfMonths | `number` | `1` | Number of consecutive months rendered side by side. |
1054
+
1055
+ Outputs:
1056
+
1057
+ | Name | Payload | Description |
1058
+ | --- | --- | --- |
1059
+ | rangeSelect | `DateRange` | |
1060
+
1061
+ ## Resizable
1062
+
1063
+ - Install: `npx @tolle_/cli add resizable`
1064
+ - Import: `import { ResizableComponent } from '@tolle_/tolle-ui';`
1065
+
1066
+ ### `<tolle-resizable>`
1067
+
1068
+ Inputs:
1069
+
1070
+ | Name | Type | Default | Description |
1071
+ | --- | --- | --- | --- |
1072
+ | width | `number` | `300` | |
1073
+ | height | `number` | `200` | |
1074
+ | minWidth | `number` | `50` | |
1075
+ | minHeight | `number` | `50` | |
1076
+ | maxWidth | `number` | — | |
1077
+ | maxHeight | `number` | — | |
1078
+ | resizable | `boolean` | `true` | |
1079
+ | directions | `('right' | 'bottom' | 'both')[]` | `['right', 'bottom', 'both']` | |
1080
+ | class | `string` | `''` | |
1081
+ | containerClass | `string` | `''` | |
1082
+
1083
+ Outputs:
1084
+
1085
+ | Name | Payload | Description |
1086
+ | --- | --- | --- |
1087
+ | resizeStart | `void` | |
1088
+ | resize | `{ width: number; height: number }` | |
1089
+ | resizeEnd | `{ width: number; height: number }` | |
1090
+
1091
+ Slots: _default_
1092
+
1093
+ ## Resizable Panel
1094
+
1095
+ - Install: `npx @tolle_/cli add resizable-panel`
1096
+ - Import: `import { ResizablePanelComponent } from '@tolle_/tolle-ui';`
1097
+
1098
+ ### `<tolle-resizable-panel>`
1099
+
1100
+ Inputs:
1101
+
1102
+ | Name | Type | Default | Description |
1103
+ | --- | --- | --- | --- |
1104
+ | direction | `'horizontal' | 'vertical'` | `'horizontal'` | |
1105
+ | class | `string` | `''` | |
1106
+
1107
+ Slots: _default_
1108
+
1109
+ ## Resizable Panel Item
1110
+
1111
+ - Install: `npx @tolle_/cli add resizable-panel-item`
1112
+ - Import: `import { ResizablePanelItemComponent } from '@tolle_/tolle-ui';`
1113
+
1114
+ ### `<tolle-resizable-panel-item>`
1115
+
1116
+ Inputs:
1117
+
1118
+ | Name | Type | Default | Description |
1119
+ | --- | --- | --- | --- |
1120
+ | size | `number` | `1` | |
1121
+ | minSize | `number` | `10` | |
1122
+ | maxSize | `number` | — | |
1123
+ | resizable | `boolean` | `true` | |
1124
+ | class | `string` | `''` | |
1125
+
1126
+ Slots: _default_
1127
+
1128
+ ## Scroll Area
1129
+
1130
+ - Install: `npx @tolle_/cli add scroll-area`
1131
+ - Import: `import { ScrollAreaComponent } from '@tolle_/tolle-ui';`
1132
+
1133
+ ### `<tolle-scroll-area>`
1134
+
1135
+ Inputs:
1136
+
1137
+ | Name | Type | Default | Description |
1138
+ | --- | --- | --- | --- |
1139
+ | class | `string` | `''` | |
1140
+ | height | `string` | `'100%'` | |
1141
+ | orientation | `'vertical' | 'horizontal' | 'both'` | `'both'` | |
1142
+
1143
+ Slots: _default_
1144
+
1145
+ ## Segment
1146
+
1147
+ - Install: `npx @tolle_/cli add segment`
1148
+ - Import: `import { SegmentedComponent } from '@tolle_/tolle-ui';`
1149
+
1150
+ ### `<tolle-segment>`
1151
+
1152
+ Inputs:
1153
+
1154
+ | Name | Type | Default | Description |
1155
+ | --- | --- | --- | --- |
1156
+ | items | `SegmentItem[]` | `[]` | |
1157
+ | class | `string` | `''` | |
1158
+ | disabled | `boolean` | `false` | |
1159
+ | itemTemplate | `TemplateRef<any>` | — | |
1160
+
1161
+ ## Select
1162
+
1163
+ - Install: `npx @tolle_/cli add select`
1164
+ - Import: `import { SelectComponent } from '@tolle_/tolle-ui';`
1165
+
1166
+ ### `<tolle-select>`
1167
+
1168
+ Inputs:
1169
+
1170
+ | Name | Type | Default | Description |
1171
+ | --- | --- | --- | --- |
1172
+ | placeholder | `string` | `'Select an option'` | |
1173
+ | class | `string` | `''` | |
1174
+ | disabled | `boolean` | `false` | |
1175
+ | searchable | `boolean` | `false` | |
1176
+ | size | `'xs' | 'sm' | 'default' | 'lg'` | `'default'` | |
1177
+ | readonly | `boolean` | `false` | |
1178
+
1179
+ Slots: _default_
1180
+
1181
+ ## Select Group
1182
+
1183
+ - Install: `npx @tolle_/cli add select-group`
1184
+ - Import: `import { SelectGroupComponent } from '@tolle_/tolle-ui';`
1185
+
1186
+ ### `<tolle-select-group>`
1187
+
1188
+ Inputs:
1189
+
1190
+ | Name | Type | Default | Description |
1191
+ | --- | --- | --- | --- |
1192
+ | class | `string` | `''` | |
1193
+
1194
+ Slots: _default_
1195
+
1196
+ ## Select Item
1197
+
1198
+ - Install: `npx @tolle_/cli add select-item`
1199
+ - Import: `import { SelectItemComponent } from '@tolle_/tolle-ui';`
1200
+
1201
+ ### `<tolle-select-item>`
1202
+
1203
+ Inputs:
1204
+
1205
+ | Name | Type | Default | Description |
1206
+ | --- | --- | --- | --- |
1207
+ | value | `any` | — | |
1208
+ | class | `string` | `''` | |
1209
+ | selected | `boolean` | `false` | |
1210
+ | disabled | `boolean` | `false` | |
1211
+ | multiSelect | `boolean` | `false` | |
1212
+ | id | `any` | ``select-item-${Math.random().toString(36).substr(2, 9)}`` | |
1213
+ | active | `boolean` | `false` | |
1214
+
1215
+ Slots: _default_
1216
+
1217
+ ## Select Separator
1218
+
1219
+ - Install: `npx @tolle_/cli add select-separator`
1220
+ - Import: `import { SelectSeparatorComponent } from '@tolle_/tolle-ui';`
1221
+
1222
+ ### `<tolle-select-separator>`
1223
+
1224
+ Inputs:
1225
+
1226
+ | Name | Type | Default | Description |
1227
+ | --- | --- | --- | --- |
1228
+ | class | `string` | `''` | |
1229
+
1230
+ ## Separator
1231
+
1232
+ - Install: `npx @tolle_/cli add separator`
1233
+ - Import: `import { SeparatorComponent } from '@tolle_/tolle-ui';`
1234
+
1235
+ ### `<tolle-separator>`
1236
+
1237
+ Inputs:
1238
+
1239
+ | Name | Type | Default | Description |
1240
+ | --- | --- | --- | --- |
1241
+ | orientation | `'horizontal' | 'vertical'` | `'horizontal'` | Orientation of the rule. |
1242
+ | decorative | `boolean` | `true` | When true, the separator is purely visual (aria-hidden, role="none"). |
1243
+ | class | `string` | `''` | |
1244
+
1245
+ ## Sheet
1246
+
1247
+ - Install: `npx @tolle_/cli add sheet`
1248
+ - Import: `import { SheetComponent, SheetTriggerComponent, SheetContentComponent, SheetHeaderComponent, SheetFooterComponent, SheetTitleComponent, SheetDescriptionComponent } from '@tolle_/tolle-ui';`
1249
+
1250
+ ### `<tolle-sheet>`
1251
+
1252
+ Inputs:
1253
+
1254
+ | Name | Type | Default | Description |
1255
+ | --- | --- | --- | --- |
1256
+ | isOpen | `boolean` | `false` | |
1257
+ | hasBackdrop | `boolean` | `true` | |
1258
+
1259
+ Outputs:
1260
+
1261
+ | Name | Payload | Description |
1262
+ | --- | --- | --- |
1263
+ | isOpenChange | `boolean` | |
1264
+
1265
+ Slots: _default_
1266
+
1267
+ ### `<tolle-sheet-trigger>`
1268
+
1269
+ Slots: _default_
1270
+
1271
+ ### `<tolle-sheet-content>`
1272
+
1273
+ Inputs:
1274
+
1275
+ | Name | Type | Default | Description |
1276
+ | --- | --- | --- | --- |
1277
+ | side | `'top' | 'bottom' | 'left' | 'right'` | `'right'` | |
1278
+ | rounded | `boolean` | `false` | |
1279
+ | class | `string` | `''` | |
1280
+
1281
+ Slots: _default_
1282
+
1283
+ ### `<tolle-sheet-header>`
1284
+
1285
+ Slots: _default_
1286
+
1287
+ ### `<tolle-sheet-footer>`
1288
+
1289
+ Slots: _default_
1290
+
1291
+ ### `<tolle-sheet-title>`
1292
+
1293
+ Slots: _default_
1294
+
1295
+ ### `<tolle-sheet-description>`
1296
+
1297
+ Slots: _default_
1298
+
1299
+ ## Sheet Wrapper
1300
+
1301
+ - Install: `npx @tolle_/cli add sheet-wrapper`
1302
+ - Import: `import { SheetWrapperComponent } from '@tolle_/tolle-ui';`
1303
+
1304
+ ### `<tolle-sheet-wrapper>`
1305
+
1306
+ ## Sidebar
1307
+
1308
+ - Install: `npx @tolle_/cli add sidebar`
1309
+ - Import: `import { SidebarComponent } from '@tolle_/tolle-ui';`
1310
+
1311
+ ### `<tolle-sidebar>`
1312
+
1313
+ Inputs:
1314
+
1315
+ | Name | Type | Default | Description |
1316
+ | --- | --- | --- | --- |
1317
+ | items | `SidebarGroup[]` | `[]` | |
1318
+ | collapsed | `boolean` | `false` | |
1319
+ | class | `string` | `''` | |
1320
+ | variant | `'default' | 'secondary' | 'ghost' | 'outline'` | `'default'` | Styling variant for active items.
1321
+ - default: Solid primary background, light text (Matches Badge Default)
1322
+ - secondary: Solid secondary background
1323
+ - ghost: Transparent background, accent text (Shadcn standard)
1324
+ - outline: Bordered |
1325
+
1326
+ Slots: `[header]`, `[footer]`
1327
+
1328
+ ## Skeleton
1329
+
1330
+ - Install: `npx @tolle_/cli add skeleton`
1331
+ - Import: `import { SkeletonComponent } from '@tolle_/tolle-ui';`
1332
+
1333
+ ### `<tolle-skeleton>`
1334
+
1335
+ Inputs:
1336
+
1337
+ | Name | Type | Default | Description |
1338
+ | --- | --- | --- | --- |
1339
+ | variant | `'rect' | 'circle' | 'pill'` | `'rect'` | Shape of the skeleton placeholder. |
1340
+ | class | `string` | `''` | Extra Tailwind classes merged onto the skeleton via `cn()` (last-wins). |
1341
+
1342
+ Variants:
1343
+ - `variant`: `rect`, `circle`, `pill` (default `rect`)
1344
+
1345
+ ## Slider
1346
+
1347
+ - Install: `npx @tolle_/cli add slider`
1348
+ - Import: `import { SliderComponent } from '@tolle_/tolle-ui';`
1349
+
1350
+ ### `<tolle-slider>`
1351
+
1352
+ Inputs:
1353
+
1354
+ | Name | Type | Default | Description |
1355
+ | --- | --- | --- | --- |
1356
+ | min | `number` | `0` | |
1357
+ | max | `number` | `100` | |
1358
+ | step | `number` | `1` | |
1359
+ | disabled | `boolean` | `false` | |
1360
+ | class | `string` | `''` | |
1361
+
1362
+ ## Switch
1363
+
1364
+ - Install: `npx @tolle_/cli add switch`
1365
+ - Import: `import { SwitchComponent } from '@tolle_/tolle-ui';`
1366
+
1367
+ ### `<tolle-switch>`
1368
+
1369
+ Inputs:
1370
+
1371
+ | Name | Type | Default | Description |
1372
+ | --- | --- | --- | --- |
1373
+ | class | `string` | `''` | Extra Tailwind classes merged onto the switch track via `cn()` (last-wins). |
1374
+ | disabled | `boolean` | `false` | Disables the switch and blocks toggling. |
1375
+ | size | `'xs' | 'sm' | 'default' | 'lg'` | `'default'` | Size of the switch. |
1376
+
1377
+ Variants:
1378
+ - `size`: `xs`, `sm`, `default`, `lg` (default `default`)
1379
+ - `checked`: `true`, `false` (default `false`)
1380
+
1381
+ ## Tabs
1382
+
1383
+ - Install: `npx @tolle_/cli add tabs`
1384
+ - Import: `import { TabsComponent, TabsListComponent, TabsTriggerComponent, TabsContentComponent } from '@tolle_/tolle-ui';`
1385
+
1386
+ ### `<tolle-tabs>`
1387
+
1388
+ Inputs:
1389
+
1390
+ | Name | Type | Default | Description |
1391
+ | --- | --- | --- | --- |
1392
+ | defaultValue | `string` | — | |
1393
+ | value | `string` | — | |
1394
+ | class | `string` | `''` | |
1395
+
1396
+ Outputs:
1397
+
1398
+ | Name | Payload | Description |
1399
+ | --- | --- | --- |
1400
+ | valueChange | `string` | |
1401
+
1402
+ Slots: _default_
1403
+
1404
+ ### `<tolle-tabs-list>`
1405
+
1406
+ Inputs:
1407
+
1408
+ | Name | Type | Default | Description |
1409
+ | --- | --- | --- | --- |
1410
+ | class | `string` | `''` | Extra Tailwind classes merged onto the tabs list via `cn()` (last-wins). |
1411
+ | variant | `'default' | 'underline'` | `'default'` | Visual style of the tab list. |
1412
+
1413
+ Slots: _default_
1414
+
1415
+ Variants:
1416
+ - `variant`: `default`, `underline` (default `default`)
1417
+
1418
+ ### `<tolle-tabs-trigger>`
1419
+
1420
+ Inputs:
1421
+
1422
+ | Name | Type | Default | Description |
1423
+ | --- | --- | --- | --- |
1424
+ | value (required) | `string` | — | |
1425
+ | class | `string` | `''` | |
1426
+
1427
+ Slots: _default_
1428
+
1429
+ ### `<tolle-tabs-content>`
1430
+
1431
+ Inputs:
1432
+
1433
+ | Name | Type | Default | Description |
1434
+ | --- | --- | --- | --- |
1435
+ | value (required) | `string` | — | |
1436
+ | class | `string` | `''` | |
1437
+
1438
+ Slots: _default_
1439
+
1440
+ ## Tag Input
1441
+
1442
+ - Install: `npx @tolle_/cli add tag-input`
1443
+ - Import: `import { TagInputComponent } from '@tolle_/tolle-ui';`
1444
+
1445
+ ### `<tolle-tag-input>`
1446
+
1447
+ Inputs:
1448
+
1449
+ | Name | Type | Default | Description |
1450
+ | --- | --- | --- | --- |
1451
+ | id | `string` | ``tag-input-${Math.random().toString(36).substr(2, 9)}`` | |
1452
+ | label | `string` | `''` | |
1453
+ | hint | `string` | `''` | |
1454
+ | errorMessage | `string` | `''` | |
1455
+ | placeholder | `string` | `'Type and press Enter...'` | |
1456
+ | size | `'xs' | 'sm' | 'default' | 'lg'` | `'default'` | |
1457
+ | class | `string` | `''` | |
1458
+ | disabled | `boolean` | `false` | |
1459
+ | readonly | `boolean` | `false` | |
1460
+ | error | `boolean` | `false` | |
1461
+ | delimiter | `string` | `','` | |
1462
+ | maxTags | `number | null` | `null` | |
1463
+ | allowDuplicates | `boolean` | `false` | |
1464
+ | tagPrefix | `string` | `''` | |
1465
+ | tagSuffix | `string` | `''` | |
1466
+
1467
+ ## Textarea
1468
+
1469
+ - Install: `npx @tolle_/cli add textarea`
1470
+ - Import: `import { TextareaComponent } from '@tolle_/tolle-ui';`
1471
+
1472
+ ### `<tolle-textarea>`
1473
+
1474
+ Inputs:
1475
+
1476
+ | Name | Type | Default | Description |
1477
+ | --- | --- | --- | --- |
1478
+ | id | `any` | ``textarea-${Math.random().toString(36).substring(2, 9)}`` | |
1479
+ | label | `string` | `''` | |
1480
+ | placeholder | `string` | `''` | |
1481
+ | hint | `string` | `''` | |
1482
+ | errorMessage | `string` | `''` | |
1483
+ | rows | `number` | `3` | |
1484
+ | maxLength | `number` | — | |
1485
+ | showCharacterCount | `boolean` | `false` | |
1486
+ | autoGrow | `boolean` | `false` | |
1487
+ | error | `boolean` | `false` | |
1488
+ | className | `string` | `''` | |
1489
+ | hideHintOnFocus | `boolean` | `true` | |
1490
+ | hideCharacterCountOnFocus | `boolean` | `false` | |
1491
+ | disabled | `boolean` | `false` | |
1492
+ | readonly | `boolean` | `false` | |
1493
+
1494
+ ## Toaster
1495
+
1496
+ - Install: `npx @tolle_/cli add toaster`
1497
+ - Import: `import { ToastContainerComponent } from '@tolle_/tolle-ui';`
1498
+
1499
+ ### `<tolle-toaster>`
1500
+
1501
+ Inputs:
1502
+
1503
+ | Name | Type | Default | Description |
1504
+ | --- | --- | --- | --- |
1505
+ | position | `ToastPosition` | `'bottom-right'` | |
1506
+
1507
+ ## Toggle
1508
+
1509
+ - Install: `npx @tolle_/cli add toggle`
1510
+ - Import: `import { ToggleComponent } from '@tolle_/tolle-ui';`
1511
+
1512
+ ### `<tolle-toggle>`
1513
+
1514
+ Inputs:
1515
+
1516
+ | Name | Type | Default | Description |
1517
+ | --- | --- | --- | --- |
1518
+ | variant | `'default' | 'outline'` | `'default'` | |
1519
+ | size | `'default' | 'sm' | 'lg'` | `'default'` | |
1520
+ | disabled | `boolean` | `false` | |
1521
+ | class | `string` | `''` | |
1522
+ | pressed | `boolean` | `false` | |
1523
+
1524
+ Outputs:
1525
+
1526
+ | Name | Payload | Description |
1527
+ | --- | --- | --- |
1528
+ | pressedChange | `boolean` | |
1529
+
1530
+ Slots: _default_
1531
+
1532
+ Variants:
1533
+ - `variant`: `default`, `outline` (default `default`)
1534
+ - `size`: `default`, `sm`, `lg` (default `default`)
1535
+
1536
+ ## Toggle Group
1537
+
1538
+ - Install: `npx @tolle_/cli add toggle-group`
1539
+ - Import: `import { ToggleGroupComponent, ToggleGroupItemComponent } from '@tolle_/tolle-ui';`
1540
+
1541
+ ### `<tolle-toggle-group>`
1542
+
1543
+ Inputs:
1544
+
1545
+ | Name | Type | Default | Description |
1546
+ | --- | --- | --- | --- |
1547
+ | type | `'single' | 'multiple'` | `'single'` | |
1548
+ | variant | `'default' | 'outline'` | `'default'` | |
1549
+ | size | `'default' | 'sm' | 'lg'` | `'default'` | |
1550
+ | class | `string` | `''` | |
1551
+ | disabled | `boolean` | `false` | |
1552
+
1553
+ Outputs:
1554
+
1555
+ | Name | Payload | Description |
1556
+ | --- | --- | --- |
1557
+ | valueChange | `any` | |
1558
+
1559
+ Slots: _default_
1560
+
1561
+ ### `<tolle-toggle-group-item>`
1562
+
1563
+ Inputs:
1564
+
1565
+ | Name | Type | Default | Description |
1566
+ | --- | --- | --- | --- |
1567
+ | value (required) | `string` | — | |
1568
+ | class | `string` | `''` | |
1569
+ | disabled | `boolean` | `false` | |
1570
+
1571
+ Slots: _default_
1572
+
1573
+ ## Tolle Cell
1574
+
1575
+ - Install: `npx @tolle_/cli add tolle-cell`
1576
+ - Import: `import { TolleCellDirective } from '@tolle_/tolle-ui';`
1577
+
1578
+ ### `<[tolleCell]>` (directive)
1579
+
1580
+ Inputs:
1581
+
1582
+ | Name | Type | Default | Description |
1583
+ | --- | --- | --- | --- |
1584
+ | name | `string` | — | |
1585
+
1586
+ ## Tooltip
1587
+
1588
+ - Install: `npx @tolle_/cli add tooltip`
1589
+ - Import: `import { TooltipDirective } from '@tolle_/tolle-ui';`
1590
+
1591
+ ### `<[tolleTooltip]>` (directive)
1592
+
1593
+ Inputs:
1594
+
1595
+ | Name | Type | Default | Description |
1596
+ | --- | --- | --- | --- |
1597
+ | content | `string` | `''` | |
1598
+ | placement | `'top' | 'bottom' | 'left' | 'right'` | `'top'` | |
1599
+