@vertz/ui-primitives 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -89,12 +89,12 @@ function MyButton() {
89
89
  });
90
90
 
91
91
  root.textContent = 'Submit';
92
- root.classList.add(styles.classNames.btn);
92
+ root.classList.add(styles.btn);
93
93
 
94
94
  // React to state changes
95
95
  effect(() => {
96
96
  if (state.disabled.value) {
97
- root.classList.add(styles.classNames.disabled);
97
+ root.classList.add(styles.disabled);
98
98
  }
99
99
  });
100
100
 
@@ -449,7 +449,7 @@ Primitives provide **zero styles**. You can style them with:
449
449
 
450
450
  - **CSS classes** — `root.classList.add('my-button')`
451
451
  - **Inline styles** — `root.style.padding = '8px'`
452
- - **@vertz/ui/css** — `root.classList.add(css({ btn: [...] }).classNames.btn)`
452
+ - **@vertz/ui/css** — `root.classList.add(css({ btn: [...] }).btn)`
453
453
  - **Tailwind/UnoCSS** — `root.className = 'px-4 py-2 bg-blue-500'`
454
454
 
455
455
  **Data attributes for styling:**
package/dist/index.d.ts CHANGED
@@ -38,6 +38,71 @@ declare const Button: {
38
38
  };
39
39
  };
40
40
  import { Signal as Signal3 } from "@vertz/ui";
41
+ interface CalendarOptions {
42
+ mode?: "single" | "range" | "multiple";
43
+ defaultValue?: Date | Date[] | {
44
+ from: Date;
45
+ to: Date;
46
+ };
47
+ defaultMonth?: Date;
48
+ minDate?: Date;
49
+ maxDate?: Date;
50
+ disabled?: (date: Date) => boolean;
51
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
52
+ onValueChange?: (value: Date | Date[] | {
53
+ from: Date;
54
+ to: Date;
55
+ } | null) => void;
56
+ onMonthChange?: (month: Date) => void;
57
+ }
58
+ interface CalendarState {
59
+ value: Signal3<Date | Date[] | {
60
+ from: Date;
61
+ to: Date;
62
+ } | null>;
63
+ focusedDate: Signal3<Date>;
64
+ displayMonth: Signal3<Date>;
65
+ }
66
+ interface CalendarElements {
67
+ root: HTMLDivElement;
68
+ header: HTMLDivElement;
69
+ title: HTMLDivElement;
70
+ prevButton: HTMLButtonElement;
71
+ nextButton: HTMLButtonElement;
72
+ grid: HTMLTableElement;
73
+ }
74
+ declare const Calendar: {
75
+ Root(options?: CalendarOptions): CalendarElements & {
76
+ state: CalendarState;
77
+ };
78
+ };
79
+ import { Signal as Signal4 } from "@vertz/ui";
80
+ interface CarouselOptions {
81
+ orientation?: "horizontal" | "vertical";
82
+ loop?: boolean;
83
+ defaultIndex?: number;
84
+ onSlideChange?: (index: number) => void;
85
+ }
86
+ interface CarouselState {
87
+ currentIndex: Signal4<number>;
88
+ slideCount: Signal4<number>;
89
+ }
90
+ interface CarouselElements {
91
+ root: HTMLDivElement;
92
+ viewport: HTMLDivElement;
93
+ prevButton: HTMLButtonElement;
94
+ nextButton: HTMLButtonElement;
95
+ }
96
+ declare const Carousel: {
97
+ Root(options?: CarouselOptions): CarouselElements & {
98
+ state: CarouselState;
99
+ Slide: () => HTMLDivElement;
100
+ goTo: (index: number) => void;
101
+ goNext: () => void;
102
+ goPrev: () => void;
103
+ };
104
+ };
105
+ import { Signal as Signal5 } from "@vertz/ui";
41
106
  type CheckedState = boolean | "mixed";
42
107
  interface CheckboxOptions {
43
108
  defaultChecked?: CheckedState;
@@ -45,8 +110,8 @@ interface CheckboxOptions {
45
110
  onCheckedChange?: (checked: CheckedState) => void;
46
111
  }
47
112
  interface CheckboxState {
48
- checked: Signal3<CheckedState>;
49
- disabled: Signal3<boolean>;
113
+ checked: Signal5<CheckedState>;
114
+ disabled: Signal5<boolean>;
50
115
  }
51
116
  interface CheckboxElements {
52
117
  root: HTMLButtonElement;
@@ -56,17 +121,37 @@ declare const Checkbox: {
56
121
  state: CheckboxState;
57
122
  };
58
123
  };
59
- import { Signal as Signal4 } from "@vertz/ui";
124
+ import { Signal as Signal6 } from "@vertz/ui";
125
+ interface CollapsibleOptions {
126
+ defaultOpen?: boolean;
127
+ disabled?: boolean;
128
+ onOpenChange?: (open: boolean) => void;
129
+ }
130
+ interface CollapsibleState {
131
+ open: Signal6<boolean>;
132
+ disabled: Signal6<boolean>;
133
+ }
134
+ interface CollapsibleElements {
135
+ root: HTMLDivElement;
136
+ trigger: HTMLButtonElement;
137
+ content: HTMLDivElement;
138
+ }
139
+ declare const Collapsible: {
140
+ Root(options?: CollapsibleOptions): CollapsibleElements & {
141
+ state: CollapsibleState;
142
+ };
143
+ };
144
+ import { Signal as Signal7 } from "@vertz/ui";
60
145
  interface ComboboxOptions {
61
146
  defaultValue?: string;
62
147
  onValueChange?: (value: string) => void;
63
148
  onInputChange?: (input: string) => void;
64
149
  }
65
150
  interface ComboboxState {
66
- open: Signal4<boolean>;
67
- value: Signal4<string>;
68
- inputValue: Signal4<string>;
69
- activeIndex: Signal4<number>;
151
+ open: Signal7<boolean>;
152
+ value: Signal7<string>;
153
+ inputValue: Signal7<string>;
154
+ activeIndex: Signal7<number>;
70
155
  }
71
156
  interface ComboboxElements {
72
157
  input: HTMLInputElement;
@@ -78,14 +163,126 @@ declare const Combobox: {
78
163
  Option: (value: string, label?: string) => HTMLDivElement;
79
164
  };
80
165
  };
81
- import { Signal as Signal5 } from "@vertz/ui";
166
+ import { Signal as Signal8 } from "@vertz/ui";
167
+ interface CommandOptions {
168
+ filter?: (value: string, search: string) => boolean;
169
+ onSelect?: (value: string) => void;
170
+ onInputChange?: (value: string) => void;
171
+ placeholder?: string;
172
+ }
173
+ interface CommandState {
174
+ inputValue: Signal8<string>;
175
+ activeIndex: Signal8<number>;
176
+ }
177
+ interface CommandElements {
178
+ root: HTMLDivElement;
179
+ input: HTMLInputElement;
180
+ list: HTMLDivElement;
181
+ empty: HTMLDivElement;
182
+ }
183
+ declare const Command: {
184
+ Root(options?: CommandOptions): CommandElements & {
185
+ state: CommandState;
186
+ Item: (value: string, label?: string, keywords?: string[]) => HTMLDivElement;
187
+ Group: (label: string) => {
188
+ el: HTMLDivElement;
189
+ Item: (value: string, label?: string, keywords?: string[]) => HTMLDivElement;
190
+ };
191
+ Separator: () => HTMLHRElement;
192
+ };
193
+ };
194
+ import { Signal as Signal9 } from "@vertz/ui";
195
+ import { Middleware, Placement, Strategy } from "@floating-ui/dom";
196
+ interface FloatingOptions {
197
+ placement?: Placement;
198
+ strategy?: Strategy;
199
+ offset?: number;
200
+ flip?: boolean;
201
+ shift?: boolean;
202
+ middleware?: Middleware[];
203
+ matchReferenceWidth?: boolean;
204
+ portal?: boolean;
205
+ /** Override the reference element used for positioning (e.g., a custom trigger wrapping the primitive trigger). */
206
+ referenceElement?: HTMLElement;
207
+ }
208
+ interface ContextMenuOptions {
209
+ onSelect?: (value: string) => void;
210
+ positioning?: FloatingOptions;
211
+ }
212
+ interface ContextMenuState {
213
+ open: Signal9<boolean>;
214
+ activeIndex: Signal9<number>;
215
+ }
216
+ interface ContextMenuElements {
217
+ trigger: HTMLDivElement;
218
+ content: HTMLDivElement;
219
+ }
220
+ declare const ContextMenu: {
221
+ Root(options?: ContextMenuOptions): ContextMenuElements & {
222
+ state: ContextMenuState;
223
+ Item: (value: string, label?: string) => HTMLDivElement;
224
+ Group: (label: string) => {
225
+ el: HTMLDivElement;
226
+ Item: (value: string, label?: string) => HTMLDivElement;
227
+ };
228
+ Separator: () => HTMLHRElement;
229
+ Label: (text: string) => HTMLDivElement;
230
+ };
231
+ };
232
+ import { Signal as Signal10 } from "@vertz/ui";
233
+ interface DatePickerOptions {
234
+ mode?: "single" | "range";
235
+ defaultValue?: Date | {
236
+ from: Date;
237
+ to: Date;
238
+ };
239
+ defaultMonth?: Date;
240
+ minDate?: Date;
241
+ maxDate?: Date;
242
+ disabled?: (date: Date) => boolean;
243
+ formatDate?: (date: Date) => string;
244
+ placeholder?: string;
245
+ onValueChange?: (value: Date | {
246
+ from: Date;
247
+ to: Date;
248
+ } | null) => void;
249
+ onOpenChange?: (open: boolean) => void;
250
+ }
251
+ interface DatePickerState {
252
+ open: Signal10<boolean>;
253
+ value: Signal10<Date | {
254
+ from: Date;
255
+ to: Date;
256
+ } | null>;
257
+ displayMonth: Signal10<Date>;
258
+ }
259
+ interface DatePickerElements {
260
+ trigger: HTMLButtonElement;
261
+ content: HTMLDivElement;
262
+ calendar: {
263
+ root: HTMLDivElement;
264
+ header: HTMLDivElement;
265
+ title: HTMLDivElement;
266
+ prevButton: HTMLButtonElement;
267
+ nextButton: HTMLButtonElement;
268
+ grid: HTMLTableElement;
269
+ };
270
+ }
271
+ declare const DatePicker: {
272
+ Root(options?: DatePickerOptions): DatePickerElements & {
273
+ state: DatePickerState;
274
+ show: () => void;
275
+ hide: () => void;
276
+ };
277
+ };
278
+ import { Signal as Signal11 } from "@vertz/ui";
82
279
  interface DialogOptions {
83
280
  modal?: boolean;
84
281
  defaultOpen?: boolean;
85
282
  onOpenChange?: (open: boolean) => void;
86
283
  }
87
284
  interface DialogState {
88
- open: Signal5<boolean>;
285
+ open: Signal11<boolean>;
89
286
  }
90
287
  interface DialogElements {
91
288
  trigger: HTMLButtonElement;
@@ -93,37 +290,131 @@ interface DialogElements {
93
290
  overlay: HTMLDivElement;
94
291
  title: HTMLHeadingElement;
95
292
  close: HTMLButtonElement;
293
+ show: () => void;
294
+ hide: () => void;
96
295
  }
97
296
  declare const Dialog: {
98
297
  Root(options?: DialogOptions): DialogElements & {
99
298
  state: DialogState;
100
299
  };
101
300
  };
102
- import { Signal as Signal6 } from "@vertz/ui";
301
+ import { Signal as Signal12 } from "@vertz/ui";
103
302
  interface MenuOptions {
104
303
  onSelect?: (value: string) => void;
304
+ positioning?: FloatingOptions;
105
305
  }
106
306
  interface MenuState {
107
- open: Signal6<boolean>;
108
- activeIndex: Signal6<number>;
307
+ open: Signal12<boolean>;
308
+ activeIndex: Signal12<number>;
109
309
  }
110
310
  interface MenuElements {
111
311
  trigger: HTMLButtonElement;
112
312
  content: HTMLDivElement;
113
313
  }
114
- declare const Menu: {
314
+ declare const Menu2: {
115
315
  Root(options?: MenuOptions): MenuElements & {
116
316
  state: MenuState;
117
317
  Item: (value: string, label?: string) => HTMLDivElement;
318
+ Group: (label: string) => {
319
+ el: HTMLDivElement;
320
+ Item: (value: string, label?: string) => HTMLDivElement;
321
+ };
322
+ Separator: () => HTMLHRElement;
323
+ Label: (text: string) => HTMLDivElement;
118
324
  };
119
325
  };
120
- import { Signal as Signal7 } from "@vertz/ui";
326
+ interface DropdownMenuOptions extends MenuOptions {}
327
+ interface DropdownMenuState extends MenuState {}
328
+ interface DropdownMenuElements extends MenuElements {}
329
+ declare const DropdownMenu: {
330
+ Root(options?: DropdownMenuOptions): DropdownMenuElements & {
331
+ state: DropdownMenuState;
332
+ Item: (value: string, label?: string) => HTMLDivElement;
333
+ Group: (label: string) => {
334
+ el: HTMLDivElement;
335
+ Item: (value: string, label?: string) => HTMLDivElement;
336
+ };
337
+ Separator: () => HTMLHRElement;
338
+ Label: (text: string) => HTMLDivElement;
339
+ };
340
+ };
341
+ import { Signal as Signal13 } from "@vertz/ui";
342
+ interface HoverCardOptions {
343
+ openDelay?: number;
344
+ closeDelay?: number;
345
+ onOpenChange?: (open: boolean) => void;
346
+ positioning?: FloatingOptions;
347
+ }
348
+ interface HoverCardState {
349
+ open: Signal13<boolean>;
350
+ }
351
+ interface HoverCardElements {
352
+ trigger: HTMLElement;
353
+ content: HTMLDivElement;
354
+ }
355
+ declare const HoverCard: {
356
+ Root(options?: HoverCardOptions): HoverCardElements & {
357
+ state: HoverCardState;
358
+ };
359
+ };
360
+ import { Signal as Signal14 } from "@vertz/ui";
361
+ interface MenubarOptions {
362
+ onSelect?: (value: string) => void;
363
+ positioning?: FloatingOptions;
364
+ }
365
+ interface MenubarState {
366
+ activeMenu: Signal14<string | null>;
367
+ }
368
+ interface MenubarElements {
369
+ root: HTMLDivElement;
370
+ }
371
+ declare const Menubar: {
372
+ Root(options?: MenubarOptions): MenubarElements & {
373
+ state: MenubarState;
374
+ Menu: (value: string, label?: string) => {
375
+ trigger: HTMLButtonElement;
376
+ content: HTMLDivElement;
377
+ Item: (value: string, label?: string) => HTMLDivElement;
378
+ Group: (label: string) => {
379
+ el: HTMLDivElement;
380
+ Item: (value: string, label?: string) => HTMLDivElement;
381
+ };
382
+ Separator: () => HTMLHRElement;
383
+ };
384
+ };
385
+ };
386
+ import { Signal as Signal15 } from "@vertz/ui";
387
+ interface NavigationMenuOptions {
388
+ orientation?: "horizontal" | "vertical";
389
+ delayOpen?: number;
390
+ delayClose?: number;
391
+ }
392
+ interface NavigationMenuState {
393
+ activeItem: Signal15<string | null>;
394
+ }
395
+ interface NavigationMenuElements {
396
+ root: HTMLElement;
397
+ list: HTMLDivElement;
398
+ viewport: HTMLDivElement;
399
+ }
400
+ declare const NavigationMenu: {
401
+ Root(options?: NavigationMenuOptions): NavigationMenuElements & {
402
+ state: NavigationMenuState;
403
+ Item: (value: string, label?: string) => {
404
+ trigger: HTMLButtonElement;
405
+ content: HTMLDivElement;
406
+ };
407
+ Link: (href: string, label: string) => HTMLAnchorElement;
408
+ };
409
+ };
410
+ import { Signal as Signal16 } from "@vertz/ui";
121
411
  interface PopoverOptions {
122
412
  defaultOpen?: boolean;
123
413
  onOpenChange?: (open: boolean) => void;
414
+ positioning?: FloatingOptions;
124
415
  }
125
416
  interface PopoverState {
126
- open: Signal7<boolean>;
417
+ open: Signal16<boolean>;
127
418
  }
128
419
  interface PopoverElements {
129
420
  trigger: HTMLButtonElement;
@@ -134,14 +425,14 @@ declare const Popover: {
134
425
  state: PopoverState;
135
426
  };
136
427
  };
137
- import { Signal as Signal8 } from "@vertz/ui";
428
+ import { Signal as Signal17 } from "@vertz/ui";
138
429
  interface ProgressOptions {
139
430
  defaultValue?: number;
140
431
  min?: number;
141
432
  max?: number;
142
433
  }
143
434
  interface ProgressState {
144
- value: Signal8<number>;
435
+ value: Signal17<number>;
145
436
  }
146
437
  interface ProgressElements {
147
438
  root: HTMLDivElement;
@@ -153,13 +444,13 @@ declare const Progress: {
153
444
  setValue: (value: number) => void;
154
445
  };
155
446
  };
156
- import { Signal as Signal9 } from "@vertz/ui";
447
+ import { Signal as Signal18 } from "@vertz/ui";
157
448
  interface RadioOptions {
158
449
  defaultValue?: string;
159
450
  onValueChange?: (value: string) => void;
160
451
  }
161
452
  interface RadioState {
162
- value: Signal9<string>;
453
+ value: Signal18<string>;
163
454
  }
164
455
  interface RadioElements {
165
456
  root: HTMLDivElement;
@@ -170,15 +461,64 @@ declare const Radio: {
170
461
  Item: (value: string, label?: string) => HTMLDivElement;
171
462
  };
172
463
  };
173
- import { Signal as Signal10 } from "@vertz/ui";
464
+ import { Signal as Signal19 } from "@vertz/ui";
465
+ interface ResizablePanelOptions {
466
+ orientation?: "horizontal" | "vertical";
467
+ onResize?: (sizes: number[]) => void;
468
+ }
469
+ interface PanelOptions {
470
+ defaultSize?: number;
471
+ minSize?: number;
472
+ maxSize?: number;
473
+ }
474
+ interface ResizablePanelState {
475
+ sizes: Signal19<number[]>;
476
+ }
477
+ interface ResizablePanelElements {
478
+ root: HTMLDivElement;
479
+ }
480
+ declare const ResizablePanel: {
481
+ Root(options?: ResizablePanelOptions): ResizablePanelElements & {
482
+ state: ResizablePanelState;
483
+ Panel: (panelOptions?: PanelOptions) => HTMLDivElement;
484
+ Handle: () => HTMLDivElement;
485
+ };
486
+ };
487
+ import { Signal as Signal20 } from "@vertz/ui";
488
+ interface ScrollAreaOptions {
489
+ orientation?: "vertical" | "horizontal" | "both";
490
+ type?: "auto" | "always" | "hover" | "scroll";
491
+ }
492
+ interface ScrollAreaState {
493
+ scrollTop: Signal20<number>;
494
+ scrollLeft: Signal20<number>;
495
+ }
496
+ interface ScrollAreaElements {
497
+ root: HTMLDivElement;
498
+ viewport: HTMLDivElement;
499
+ content: HTMLDivElement;
500
+ scrollbarY: HTMLDivElement;
501
+ thumbY: HTMLDivElement;
502
+ scrollbarX: HTMLDivElement;
503
+ thumbX: HTMLDivElement;
504
+ }
505
+ declare const ScrollArea: {
506
+ Root(options?: ScrollAreaOptions): ScrollAreaElements & {
507
+ state: ScrollAreaState;
508
+ update: () => void;
509
+ };
510
+ };
511
+ import { Signal as Signal21 } from "@vertz/ui";
174
512
  interface SelectOptions {
175
513
  defaultValue?: string;
514
+ placeholder?: string;
176
515
  onValueChange?: (value: string) => void;
516
+ positioning?: FloatingOptions;
177
517
  }
178
518
  interface SelectState {
179
- open: Signal10<boolean>;
180
- value: Signal10<string>;
181
- activeIndex: Signal10<number>;
519
+ open: Signal21<boolean>;
520
+ value: Signal21<string>;
521
+ activeIndex: Signal21<number>;
182
522
  }
183
523
  interface SelectElements {
184
524
  trigger: HTMLButtonElement;
@@ -188,9 +528,14 @@ declare const Select: {
188
528
  Root(options?: SelectOptions): SelectElements & {
189
529
  state: SelectState;
190
530
  Item: (value: string, label?: string) => HTMLDivElement;
531
+ Group: (label: string) => {
532
+ el: HTMLDivElement;
533
+ Item: (value: string, label?: string) => HTMLDivElement;
534
+ };
535
+ Separator: () => HTMLHRElement;
191
536
  };
192
537
  };
193
- import { Signal as Signal11 } from "@vertz/ui";
538
+ import { Signal as Signal22 } from "@vertz/ui";
194
539
  interface SliderOptions {
195
540
  defaultValue?: number;
196
541
  min?: number;
@@ -200,8 +545,8 @@ interface SliderOptions {
200
545
  onValueChange?: (value: number) => void;
201
546
  }
202
547
  interface SliderState {
203
- value: Signal11<number>;
204
- disabled: Signal11<boolean>;
548
+ value: Signal22<number>;
549
+ disabled: Signal22<boolean>;
205
550
  }
206
551
  interface SliderElements {
207
552
  root: HTMLDivElement;
@@ -213,15 +558,15 @@ declare const Slider: {
213
558
  state: SliderState;
214
559
  };
215
560
  };
216
- import { Signal as Signal12 } from "@vertz/ui";
561
+ import { Signal as Signal23 } from "@vertz/ui";
217
562
  interface SwitchOptions {
218
563
  defaultChecked?: boolean;
219
564
  disabled?: boolean;
220
565
  onCheckedChange?: (checked: boolean) => void;
221
566
  }
222
567
  interface SwitchState {
223
- checked: Signal12<boolean>;
224
- disabled: Signal12<boolean>;
568
+ checked: Signal23<boolean>;
569
+ disabled: Signal23<boolean>;
225
570
  }
226
571
  interface SwitchElements {
227
572
  root: HTMLButtonElement;
@@ -231,13 +576,14 @@ declare const Switch: {
231
576
  state: SwitchState;
232
577
  };
233
578
  };
234
- import { Signal as Signal13 } from "@vertz/ui";
579
+ import { Signal as Signal24 } from "@vertz/ui";
235
580
  interface TabsOptions {
236
581
  defaultValue?: string;
582
+ orientation?: "horizontal" | "vertical";
237
583
  onValueChange?: (value: string) => void;
238
584
  }
239
585
  interface TabsState {
240
- value: Signal13<string>;
586
+ value: Signal24<string>;
241
587
  }
242
588
  interface TabsElements {
243
589
  root: HTMLDivElement;
@@ -252,7 +598,7 @@ declare const Tabs: {
252
598
  };
253
599
  };
254
600
  };
255
- import { Signal as Signal14 } from "@vertz/ui";
601
+ import { Signal as Signal25 } from "@vertz/ui";
256
602
  interface ToastOptions {
257
603
  duration?: number;
258
604
  politeness?: "polite" | "assertive";
@@ -263,7 +609,7 @@ interface ToastMessage {
263
609
  el: HTMLDivElement;
264
610
  }
265
611
  interface ToastState {
266
- messages: Signal14<ToastMessage[]>;
612
+ messages: Signal25<ToastMessage[]>;
267
613
  }
268
614
  interface ToastElements {
269
615
  region: HTMLDivElement;
@@ -275,13 +621,53 @@ declare const Toast: {
275
621
  dismiss: (id: string) => void;
276
622
  };
277
623
  };
278
- import { Signal as Signal15 } from "@vertz/ui";
624
+ import { Signal as Signal26 } from "@vertz/ui";
625
+ interface ToggleOptions {
626
+ defaultPressed?: boolean;
627
+ disabled?: boolean;
628
+ onPressedChange?: (pressed: boolean) => void;
629
+ }
630
+ interface ToggleState {
631
+ pressed: Signal26<boolean>;
632
+ disabled: Signal26<boolean>;
633
+ }
634
+ interface ToggleElements {
635
+ root: HTMLButtonElement;
636
+ }
637
+ declare const Toggle: {
638
+ Root(options?: ToggleOptions): ToggleElements & {
639
+ state: ToggleState;
640
+ };
641
+ };
642
+ import { Signal as Signal27 } from "@vertz/ui";
643
+ interface ToggleGroupOptions {
644
+ type?: "single" | "multiple";
645
+ defaultValue?: string[];
646
+ orientation?: "horizontal" | "vertical";
647
+ disabled?: boolean;
648
+ onValueChange?: (value: string[]) => void;
649
+ }
650
+ interface ToggleGroupState {
651
+ value: Signal27<string[]>;
652
+ disabled: Signal27<boolean>;
653
+ }
654
+ interface ToggleGroupElements {
655
+ root: HTMLDivElement;
656
+ }
657
+ declare const ToggleGroup: {
658
+ Root(options?: ToggleGroupOptions): ToggleGroupElements & {
659
+ state: ToggleGroupState;
660
+ Item: (value: string) => HTMLButtonElement;
661
+ };
662
+ };
663
+ import { Signal as Signal28 } from "@vertz/ui";
279
664
  interface TooltipOptions {
280
665
  delay?: number;
281
666
  onOpenChange?: (open: boolean) => void;
667
+ positioning?: FloatingOptions;
282
668
  }
283
669
  interface TooltipState {
284
- open: Signal15<boolean>;
670
+ open: Signal28<boolean>;
285
671
  }
286
672
  interface TooltipElements {
287
673
  trigger: HTMLElement;
@@ -292,4 +678,4 @@ declare const Tooltip: {
292
678
  state: TooltipState;
293
679
  };
294
680
  };
295
- export { TooltipState, TooltipOptions, TooltipElements, Tooltip, ToastState, ToastOptions, ToastMessage, ToastElements, Toast, TabsState, TabsOptions, TabsElements, Tabs, SwitchState, SwitchOptions, SwitchElements, Switch, SliderState, SliderOptions, SliderElements, Slider, SelectState, SelectOptions, SelectElements, Select, RadioState, RadioOptions, RadioElements, Radio, ProgressState, ProgressOptions, ProgressElements, Progress, PopoverState, PopoverOptions, PopoverElements, Popover, MenuState, MenuOptions, MenuElements, Menu, DialogState, DialogOptions, DialogElements, Dialog, ComboboxState, ComboboxOptions, ComboboxElements, Combobox, CheckedState, CheckboxState, CheckboxOptions, CheckboxElements, Checkbox, ButtonState, ButtonOptions, ButtonElements, Button, AccordionState, AccordionOptions, AccordionElements, Accordion };
681
+ export { TooltipState, TooltipOptions, TooltipElements, Tooltip, ToggleState, ToggleOptions, ToggleGroupState, ToggleGroupOptions, ToggleGroupElements, ToggleGroup, ToggleElements, Toggle, ToastState, ToastOptions, ToastMessage, ToastElements, Toast, TabsState, TabsOptions, TabsElements, Tabs, SwitchState, SwitchOptions, SwitchElements, Switch, SliderState, SliderOptions, SliderElements, Slider, SelectState, SelectOptions, SelectElements, Select, ScrollAreaState, ScrollAreaOptions, ScrollAreaElements, ScrollArea, ResizablePanelState, ResizablePanelOptions, ResizablePanelElements, ResizablePanel, RadioState, RadioOptions, RadioElements, Radio, ProgressState, ProgressOptions, ProgressElements, Progress, PopoverState, PopoverOptions, PopoverElements, Popover, PanelOptions, NavigationMenuState, NavigationMenuOptions, NavigationMenuElements, NavigationMenu, MenubarState, MenubarOptions, MenubarElements, Menubar, MenuState, MenuOptions, MenuElements, Menu2 as Menu, HoverCardState, HoverCardOptions, HoverCardElements, HoverCard, FloatingOptions, DropdownMenuState, DropdownMenuOptions, DropdownMenuElements, DropdownMenu, DialogState, DialogOptions, DialogElements, Dialog, DatePickerState, DatePickerOptions, DatePickerElements, DatePicker, ContextMenuState, ContextMenuOptions, ContextMenuElements, ContextMenu, CommandState, CommandOptions, CommandElements, Command, ComboboxState, ComboboxOptions, ComboboxElements, Combobox, CollapsibleState, CollapsibleOptions, CollapsibleElements, Collapsible, CheckedState, CheckboxState, CheckboxOptions, CheckboxElements, Checkbox, CarouselState, CarouselOptions, CarouselElements, Carousel, CalendarState, CalendarOptions, CalendarElements, Calendar, ButtonState, ButtonOptions, ButtonElements, Button, AccordionState, AccordionOptions, AccordionElements, Accordion };