@multicomma/arkcn 0.1.1 → 0.1.3

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 (151) hide show
  1. package/README.md +7 -0
  2. package/cli/commands.mjs +1 -1
  3. package/cli/registry.mjs +1 -0
  4. package/package.json +42 -32
  5. package/registry/index.json +1578 -156
  6. package/registry/items/accordion.json +313 -1
  7. package/registry/items/activity-feed.json +426 -2
  8. package/registry/items/alert-dialog.json +694 -1
  9. package/registry/items/alert.json +120 -1
  10. package/registry/items/angle-slider.json +391 -1
  11. package/registry/items/app-shell.json +2712 -3
  12. package/registry/items/aspect-ratio.json +39 -0
  13. package/registry/items/attachment.json +311 -2
  14. package/registry/items/avatar.json +224 -1
  15. package/registry/items/badge.json +49 -1
  16. package/registry/items/breadcrumb.json +201 -1
  17. package/registry/items/bubble.json +153 -1
  18. package/registry/items/button-group.json +118 -2
  19. package/registry/items/button.json +57 -1
  20. package/registry/items/calendar.json +504 -2
  21. package/registry/items/canvas.json +466 -4
  22. package/registry/items/card.json +202 -1
  23. package/registry/items/carousel.json +217 -2
  24. package/registry/items/cascader.json +821 -4
  25. package/registry/items/chart.json +1773 -2
  26. package/registry/items/chat.json +1037 -3
  27. package/registry/items/checkbox.json +516 -1
  28. package/registry/items/clipboard.json +320 -1
  29. package/registry/items/collapsible.json +234 -0
  30. package/registry/items/color-picker.json +1295 -1
  31. package/registry/items/combobox.json +1154 -2
  32. package/registry/items/command.json +857 -2
  33. package/registry/items/comment-thread.json +988 -5
  34. package/registry/items/context-menu.json +1372 -2
  35. package/registry/items/data-grid.json +470 -5
  36. package/registry/items/data-table.json +1345 -4
  37. package/registry/items/date-input.json +488 -1
  38. package/registry/items/dialog.json +608 -1
  39. package/registry/items/direction.json +33 -1
  40. package/registry/items/drawer.json +818 -1
  41. package/registry/items/dropdown-menu.json +1338 -2
  42. package/registry/items/editable.json +517 -1
  43. package/registry/items/empty.json +175 -1
  44. package/registry/items/field.json +300 -3
  45. package/registry/items/file-upload.json +656 -1
  46. package/registry/items/floating-panel.json +738 -1
  47. package/registry/items/floating-toolbar.json +47 -1
  48. package/registry/items/format.json +116 -0
  49. package/registry/items/gantt.json +801 -4
  50. package/registry/items/{use-mobile.json → hooks/use-mobile.json} +5 -1
  51. package/registry/items/hotkeys.json +110 -2
  52. package/registry/items/hover-card.json +368 -1
  53. package/registry/items/image-cropper.json +442 -1
  54. package/registry/items/input-group.json +199 -2
  55. package/registry/items/input-otp.json +188 -1
  56. package/registry/items/input.json +32 -1
  57. package/registry/items/item.json +322 -2
  58. package/registry/items/json-tree-view.json +342 -1
  59. package/registry/items/kanban.json +653 -4
  60. package/registry/items/kbd.json +59 -1
  61. package/registry/items/label.json +32 -1
  62. package/registry/items/{controllable.json → lib/controllable.json} +5 -1
  63. package/registry/items/{data-table-adapter.json → lib/data-table-adapter.json} +3 -1
  64. package/registry/items/{drag-preview.json → lib/drag-preview.json} +5 -1
  65. package/registry/items/{form.json → lib/form.json} +5 -1
  66. package/registry/items/{history.json → lib/history.json} +5 -1
  67. package/registry/items/{row-layout.json → lib/row-layout.json} +7 -1
  68. package/registry/items/lib/table.json +20 -0
  69. package/registry/items/{time.json → lib/time.json} +6 -1
  70. package/registry/items/{utils.json → lib/utils.json} +5 -1
  71. package/registry/items/live-region.json +48 -1
  72. package/registry/items/marker.json +103 -1
  73. package/registry/items/marquee.json +310 -1
  74. package/registry/items/menubar.json +1308 -3
  75. package/registry/items/message.json +175 -1
  76. package/registry/items/navigation-menu.json +578 -2
  77. package/registry/items/node-graph.json +1070 -3
  78. package/registry/items/number-input.json +533 -1
  79. package/registry/items/pagination.json +254 -2
  80. package/registry/items/password-input.json +322 -1
  81. package/registry/items/popconfirm.json +580 -2
  82. package/registry/items/popover.json +632 -1
  83. package/registry/items/progress.json +531 -1
  84. package/registry/items/qr-code.json +259 -1
  85. package/registry/items/query-builder.json +1400 -4
  86. package/registry/items/radio-group.json +375 -1
  87. package/registry/items/rating-group.json +315 -1
  88. package/registry/items/resizable.json +248 -2
  89. package/registry/items/rich-text-editor.json +953 -3
  90. package/registry/items/scheduler.json +1048 -4
  91. package/registry/items/scroll-area.json +238 -1
  92. package/registry/items/segment-group.json +376 -1
  93. package/registry/items/select.json +982 -1
  94. package/registry/items/separator.json +49 -2
  95. package/registry/items/sheet.json +608 -1
  96. package/registry/items/sidebar.json +814 -4
  97. package/registry/items/signature-pad.json +342 -1
  98. package/registry/items/skeleton.json +32 -1
  99. package/registry/items/slider.json +816 -1
  100. package/registry/items/sonner.json +138 -0
  101. package/registry/items/spinner.json +32 -1
  102. package/registry/items/steps.json +500 -1
  103. package/registry/items/swap.json +113 -1
  104. package/registry/items/switch.json +373 -1
  105. package/registry/items/table.json +225 -5
  106. package/registry/items/tabs.json +337 -1
  107. package/registry/items/tags-input.json +657 -1
  108. package/registry/items/textarea.json +32 -1
  109. package/registry/items/timer.json +300 -1
  110. package/registry/items/toc.json +385 -1
  111. package/registry/items/toggle-group.json +222 -3
  112. package/registry/items/toggle.json +132 -1
  113. package/registry/items/tooltip.json +429 -1
  114. package/registry/items/tour.json +518 -1
  115. package/registry/items/transfer-list.json +630 -4
  116. package/registry/items/tree-select.json +764 -4
  117. package/registry/items/tree-view.json +818 -1
  118. package/registry/items/virtual-list.json +224 -2
  119. package/src/components/ui/app-shell.tsx +11 -0
  120. package/src/components/ui/attachment.tsx +1 -0
  121. package/src/components/ui/calendar.tsx +1 -0
  122. package/src/components/ui/canvas.tsx +8 -0
  123. package/src/components/ui/carousel.tsx +3 -0
  124. package/src/components/ui/cascader.tsx +1 -0
  125. package/src/components/ui/chart.tsx +10 -0
  126. package/src/components/ui/combobox.tsx +3 -0
  127. package/src/components/ui/command.tsx +1 -0
  128. package/src/components/ui/comment-thread.tsx +11 -0
  129. package/src/components/ui/context-menu.tsx +6 -0
  130. package/src/components/ui/data-grid.tsx +8 -0
  131. package/src/components/ui/data-table.tsx +6 -0
  132. package/src/components/ui/direction.tsx +2 -0
  133. package/src/components/ui/dropdown-menu.tsx +6 -0
  134. package/src/components/ui/field.tsx +1 -0
  135. package/src/components/ui/gantt.tsx +15 -0
  136. package/src/components/ui/hotkeys.tsx +3 -0
  137. package/src/components/ui/kanban.tsx +3 -0
  138. package/src/components/ui/menubar.tsx +6 -0
  139. package/src/components/ui/navigation-menu.tsx +1 -0
  140. package/src/components/ui/node-graph.tsx +23 -0
  141. package/src/components/ui/pagination.tsx +1 -0
  142. package/src/components/ui/query-builder.tsx +7 -0
  143. package/src/components/ui/resizable.tsx +1 -0
  144. package/src/components/ui/rich-text-editor.tsx +54 -0
  145. package/src/components/ui/scheduler.tsx +26 -0
  146. package/src/components/ui/separator.tsx +1 -0
  147. package/src/components/ui/sidebar.tsx +5 -0
  148. package/src/components/ui/toggle-group.tsx +3 -0
  149. package/src/components/ui/transfer-list.tsx +11 -0
  150. package/src/components/ui/tree-select.tsx +5 -0
  151. package/src/components/ui/virtual-list.tsx +7 -0
@@ -2,11 +2,395 @@
2
2
  "name": "toc",
3
3
  "type": "ui",
4
4
  "description": "",
5
+ "ark": "Toc",
6
+ "exports": [
7
+ "Toc",
8
+ "TocContent",
9
+ "TocContext",
10
+ "TocIndicator",
11
+ "TocItem",
12
+ "TocLink",
13
+ "TocList",
14
+ "TocNav",
15
+ "TocTitle"
16
+ ],
17
+ "parts": [
18
+ {
19
+ "name": "Toc",
20
+ "props": [
21
+ {
22
+ "name": "items",
23
+ "type": "TocItem[]",
24
+ "required": true,
25
+ "description": "The TOC items with `value` (slug/id) and `depth` (heading level).",
26
+ "from": "@zag-js/toc"
27
+ },
28
+ {
29
+ "name": "activeIds",
30
+ "type": "string[]",
31
+ "required": false,
32
+ "description": "The controlled active heading ids.",
33
+ "from": "@zag-js/toc"
34
+ },
35
+ {
36
+ "name": "asChild",
37
+ "type": "boolean",
38
+ "required": false,
39
+ "description": "Use the provided child element as the default rendered element, combining their props and behavior.",
40
+ "from": "@ark-ui/react"
41
+ },
42
+ {
43
+ "name": "autoScroll",
44
+ "type": "boolean",
45
+ "required": false,
46
+ "default": "true",
47
+ "description": "Whether to auto-scroll the TOC container so the first active item\nis visible when active headings change.",
48
+ "from": "@zag-js/toc"
49
+ },
50
+ {
51
+ "name": "children",
52
+ "type": "ReactNode",
53
+ "required": false,
54
+ "description": "Content rendered inside the part.",
55
+ "from": "@types/react"
56
+ },
57
+ {
58
+ "name": "className",
59
+ "type": "string",
60
+ "required": false,
61
+ "description": "Extra classes merged into the part's own classes with `cn`.",
62
+ "from": "@types/react"
63
+ },
64
+ {
65
+ "name": "defaultActiveIds",
66
+ "type": "string[]",
67
+ "required": false,
68
+ "description": "The default active heading ids when rendered.\nUse when you don't need to control the active headings.",
69
+ "from": "@zag-js/toc"
70
+ },
71
+ {
72
+ "name": "id",
73
+ "type": "string",
74
+ "required": false,
75
+ "description": "The unique identifier of the machine.",
76
+ "from": "@zag-js/types"
77
+ },
78
+ {
79
+ "name": "ids",
80
+ "type": "ElementIds",
81
+ "required": false,
82
+ "description": "The ids of the elements in the TOC. Useful for composition.",
83
+ "from": "@zag-js/toc"
84
+ },
85
+ {
86
+ "name": "onActiveChange",
87
+ "type": "((details: ActiveChangeDetails) => void)",
88
+ "required": false,
89
+ "description": "Callback when the active (visible) headings change.",
90
+ "from": "@zag-js/toc"
91
+ },
92
+ {
93
+ "name": "rootMargin",
94
+ "type": "string",
95
+ "required": false,
96
+ "default": "\"-20px 0px -40% 0px\"",
97
+ "description": "The root margin for the IntersectionObserver.\nControls the effective viewport area for determining active headings.",
98
+ "from": "@zag-js/toc"
99
+ },
100
+ {
101
+ "name": "scrollBehavior",
102
+ "type": "ScrollBehavior",
103
+ "required": false,
104
+ "default": "\"smooth\"",
105
+ "description": "The default scroll behavior used when auto-scrolling the TOC container\nand when scrolling to a heading (via link click or `api.scrollTo`).\nCan be overridden per-call by passing `behavior` to `api.scrollTo`.",
106
+ "from": "@zag-js/toc"
107
+ },
108
+ {
109
+ "name": "scrollEl",
110
+ "type": "(() => HTMLElement | null)",
111
+ "required": false,
112
+ "description": "Function that returns the scroll container element to observe within.\nDefaults to the document/viewport.",
113
+ "from": "@zag-js/toc"
114
+ },
115
+ {
116
+ "name": "style",
117
+ "type": "CSSProperties",
118
+ "required": false,
119
+ "description": "Inline styles applied to the rendered element.",
120
+ "from": "@types/react"
121
+ },
122
+ {
123
+ "name": "threshold",
124
+ "type": "number | number[]",
125
+ "required": false,
126
+ "default": "0",
127
+ "description": "The IntersectionObserver threshold. A value of `0` means the heading is\nactive as soon as even one pixel is visible within the root margin area.",
128
+ "from": "@zag-js/toc"
129
+ }
130
+ ]
131
+ },
132
+ {
133
+ "name": "TocContent",
134
+ "props": [
135
+ {
136
+ "name": "asChild",
137
+ "type": "boolean",
138
+ "required": false,
139
+ "description": "Use the provided child element as the default rendered element, combining their props and behavior.",
140
+ "from": "@ark-ui/react"
141
+ },
142
+ {
143
+ "name": "children",
144
+ "type": "ReactNode",
145
+ "required": false,
146
+ "description": "Content rendered inside the part.",
147
+ "from": "@types/react"
148
+ },
149
+ {
150
+ "name": "className",
151
+ "type": "string",
152
+ "required": false,
153
+ "description": "Extra classes merged into the part's own classes with `cn`.",
154
+ "from": "@types/react"
155
+ },
156
+ {
157
+ "name": "style",
158
+ "type": "CSSProperties",
159
+ "required": false,
160
+ "description": "Inline styles applied to the rendered element.",
161
+ "from": "@types/react"
162
+ }
163
+ ]
164
+ },
165
+ {
166
+ "name": "TocContext",
167
+ "props": [
168
+ {
169
+ "name": "children",
170
+ "type": "(context: UseTocContext) => ReactNode",
171
+ "required": true,
172
+ "description": "Content rendered inside the part.",
173
+ "from": "@ark-ui/react"
174
+ }
175
+ ]
176
+ },
177
+ {
178
+ "name": "TocIndicator",
179
+ "props": [
180
+ {
181
+ "name": "asChild",
182
+ "type": "boolean",
183
+ "required": false,
184
+ "description": "Use the provided child element as the default rendered element, combining their props and behavior.",
185
+ "from": "@ark-ui/react"
186
+ },
187
+ {
188
+ "name": "children",
189
+ "type": "ReactNode",
190
+ "required": false,
191
+ "description": "Content rendered inside the part.",
192
+ "from": "@types/react"
193
+ },
194
+ {
195
+ "name": "className",
196
+ "type": "string",
197
+ "required": false,
198
+ "description": "Extra classes merged into the part's own classes with `cn`.",
199
+ "from": "@types/react"
200
+ },
201
+ {
202
+ "name": "style",
203
+ "type": "CSSProperties",
204
+ "required": false,
205
+ "description": "Inline styles applied to the rendered element.",
206
+ "from": "@types/react"
207
+ }
208
+ ]
209
+ },
210
+ {
211
+ "name": "TocItem",
212
+ "props": [
213
+ {
214
+ "name": "item",
215
+ "type": "TocItem",
216
+ "required": true,
217
+ "description": "The TOC item",
218
+ "from": "@zag-js/toc"
219
+ },
220
+ {
221
+ "name": "asChild",
222
+ "type": "boolean",
223
+ "required": false,
224
+ "description": "Use the provided child element as the default rendered element, combining their props and behavior.",
225
+ "from": "@ark-ui/react"
226
+ },
227
+ {
228
+ "name": "children",
229
+ "type": "ReactNode",
230
+ "required": false,
231
+ "description": "Content rendered inside the part.",
232
+ "from": "@types/react"
233
+ },
234
+ {
235
+ "name": "className",
236
+ "type": "string",
237
+ "required": false,
238
+ "description": "Extra classes merged into the part's own classes with `cn`.",
239
+ "from": "@types/react"
240
+ },
241
+ {
242
+ "name": "style",
243
+ "type": "CSSProperties",
244
+ "required": false,
245
+ "description": "Inline styles applied to the rendered element.",
246
+ "from": "@types/react"
247
+ }
248
+ ]
249
+ },
250
+ {
251
+ "name": "TocLink",
252
+ "props": [
253
+ {
254
+ "name": "asChild",
255
+ "type": "boolean",
256
+ "required": false,
257
+ "description": "Use the provided child element as the default rendered element, combining their props and behavior.",
258
+ "from": "@ark-ui/react"
259
+ },
260
+ {
261
+ "name": "children",
262
+ "type": "ReactNode",
263
+ "required": false,
264
+ "description": "Content rendered inside the part.",
265
+ "from": "@types/react"
266
+ },
267
+ {
268
+ "name": "className",
269
+ "type": "string",
270
+ "required": false,
271
+ "description": "Extra classes merged into the part's own classes with `cn`.",
272
+ "from": "@types/react"
273
+ },
274
+ {
275
+ "name": "style",
276
+ "type": "CSSProperties",
277
+ "required": false,
278
+ "description": "Inline styles applied to the rendered element.",
279
+ "from": "@types/react"
280
+ }
281
+ ]
282
+ },
283
+ {
284
+ "name": "TocList",
285
+ "props": [
286
+ {
287
+ "name": "asChild",
288
+ "type": "boolean",
289
+ "required": false,
290
+ "description": "Use the provided child element as the default rendered element, combining their props and behavior.",
291
+ "from": "@ark-ui/react"
292
+ },
293
+ {
294
+ "name": "children",
295
+ "type": "ReactNode",
296
+ "required": false,
297
+ "description": "Content rendered inside the part.",
298
+ "from": "@types/react"
299
+ },
300
+ {
301
+ "name": "className",
302
+ "type": "string",
303
+ "required": false,
304
+ "description": "Extra classes merged into the part's own classes with `cn`.",
305
+ "from": "@types/react"
306
+ },
307
+ {
308
+ "name": "style",
309
+ "type": "CSSProperties",
310
+ "required": false,
311
+ "description": "Inline styles applied to the rendered element.",
312
+ "from": "@types/react"
313
+ }
314
+ ]
315
+ },
316
+ {
317
+ "name": "TocNav",
318
+ "props": [
319
+ {
320
+ "name": "asChild",
321
+ "type": "boolean",
322
+ "required": false,
323
+ "description": "Use the provided child element as the default rendered element, combining their props and behavior.",
324
+ "from": "@ark-ui/react"
325
+ },
326
+ {
327
+ "name": "children",
328
+ "type": "ReactNode",
329
+ "required": false,
330
+ "description": "Content rendered inside the part.",
331
+ "from": "@types/react"
332
+ },
333
+ {
334
+ "name": "className",
335
+ "type": "string",
336
+ "required": false,
337
+ "description": "Extra classes merged into the part's own classes with `cn`.",
338
+ "from": "@types/react"
339
+ },
340
+ {
341
+ "name": "placement",
342
+ "type": "\"left\" | \"right\"",
343
+ "required": false,
344
+ "from": "@ark-ui/react"
345
+ },
346
+ {
347
+ "name": "style",
348
+ "type": "CSSProperties",
349
+ "required": false,
350
+ "description": "Inline styles applied to the rendered element.",
351
+ "from": "@types/react"
352
+ }
353
+ ]
354
+ },
355
+ {
356
+ "name": "TocTitle",
357
+ "props": [
358
+ {
359
+ "name": "asChild",
360
+ "type": "boolean",
361
+ "required": false,
362
+ "description": "Use the provided child element as the default rendered element, combining their props and behavior.",
363
+ "from": "@ark-ui/react"
364
+ },
365
+ {
366
+ "name": "children",
367
+ "type": "ReactNode",
368
+ "required": false,
369
+ "description": "Content rendered inside the part.",
370
+ "from": "@types/react"
371
+ },
372
+ {
373
+ "name": "className",
374
+ "type": "string",
375
+ "required": false,
376
+ "description": "Extra classes merged into the part's own classes with `cn`.",
377
+ "from": "@types/react"
378
+ },
379
+ {
380
+ "name": "style",
381
+ "type": "CSSProperties",
382
+ "required": false,
383
+ "description": "Inline styles applied to the rendered element.",
384
+ "from": "@types/react"
385
+ }
386
+ ]
387
+ }
388
+ ],
5
389
  "dependencies": {
6
390
  "@ark-ui/react": "^5.39.1"
7
391
  },
8
392
  "registryDependencies": [
9
- "utils"
393
+ "lib/utils"
10
394
  ],
11
395
  "files": [
12
396
  {
@@ -2,18 +2,237 @@
2
2
  "name": "toggle-group",
3
3
  "type": "ui",
4
4
  "description": "",
5
+ "ark": "ToggleGroup",
6
+ "exports": [
7
+ "ToggleGroup",
8
+ "ToggleGroupContext",
9
+ "ToggleGroupItem"
10
+ ],
11
+ "parts": [
12
+ {
13
+ "name": "ToggleGroup",
14
+ "props": [
15
+ {
16
+ "name": "size",
17
+ "type": "\"default\" | \"sm\" | \"lg\" | null",
18
+ "required": false,
19
+ "description": "Size variant; sets a `data-size` attribute.",
20
+ "from": "arkcn"
21
+ },
22
+ {
23
+ "name": "spacing",
24
+ "type": "number",
25
+ "required": false,
26
+ "default": "2",
27
+ "description": "Gap between items; 0 joins them into one control.",
28
+ "from": "arkcn"
29
+ },
30
+ {
31
+ "name": "variant",
32
+ "type": "\"default\" | \"outline\" | null",
33
+ "required": false,
34
+ "description": "Visual variant, styled with `cva`; sets a `data-variant` attribute.",
35
+ "from": "arkcn"
36
+ },
37
+ {
38
+ "name": "asChild",
39
+ "type": "boolean",
40
+ "required": false,
41
+ "description": "Use the provided child element as the default rendered element, combining their props and behavior.",
42
+ "from": "@ark-ui/react"
43
+ },
44
+ {
45
+ "name": "children",
46
+ "type": "ReactNode",
47
+ "required": false,
48
+ "description": "Content rendered inside the part.",
49
+ "from": "@types/react"
50
+ },
51
+ {
52
+ "name": "className",
53
+ "type": "string",
54
+ "required": false,
55
+ "description": "Extra classes merged into the part's own classes with `cn`.",
56
+ "from": "@types/react"
57
+ },
58
+ {
59
+ "name": "defaultValue",
60
+ "type": "string[]",
61
+ "required": false,
62
+ "description": "The initial selected value of the toggle group when rendered.\nUse when you don't need to control the selected value of the toggle group.",
63
+ "from": "@zag-js/toggle-group"
64
+ },
65
+ {
66
+ "name": "deselectable",
67
+ "type": "boolean",
68
+ "required": false,
69
+ "default": "true",
70
+ "description": "Whether the toggle group allows empty selection.\n**Note:** This is ignored if `multiple` is `true`.",
71
+ "from": "@zag-js/toggle-group"
72
+ },
73
+ {
74
+ "name": "disabled",
75
+ "type": "boolean",
76
+ "required": false,
77
+ "description": "Whether the toggle is disabled.",
78
+ "from": "@zag-js/toggle-group"
79
+ },
80
+ {
81
+ "name": "id",
82
+ "type": "string",
83
+ "required": false,
84
+ "description": "The unique identifier of the machine.",
85
+ "from": "@zag-js/types"
86
+ },
87
+ {
88
+ "name": "ids",
89
+ "type": "ElementIds",
90
+ "required": false,
91
+ "description": "The ids of the elements in the toggle. Useful for composition.",
92
+ "from": "@zag-js/toggle-group"
93
+ },
94
+ {
95
+ "name": "loopFocus",
96
+ "type": "boolean",
97
+ "required": false,
98
+ "default": "true",
99
+ "description": "Whether to loop focus inside the toggle group.",
100
+ "from": "@zag-js/toggle-group"
101
+ },
102
+ {
103
+ "name": "multiple",
104
+ "type": "boolean",
105
+ "required": false,
106
+ "description": "Whether to allow multiple toggles to be selected.",
107
+ "from": "@zag-js/toggle-group"
108
+ },
109
+ {
110
+ "name": "onValueChange",
111
+ "type": "((details: ValueChangeDetails) => void)",
112
+ "required": false,
113
+ "description": "Function to call when the toggle is clicked.",
114
+ "from": "@zag-js/toggle-group"
115
+ },
116
+ {
117
+ "name": "orientation",
118
+ "type": "Orientation",
119
+ "required": false,
120
+ "default": "\"horizontal\"",
121
+ "description": "The orientation of the toggle group.",
122
+ "from": "@zag-js/toggle-group"
123
+ },
124
+ {
125
+ "name": "rovingFocus",
126
+ "type": "boolean",
127
+ "required": false,
128
+ "default": "true",
129
+ "description": "Whether to use roving tab index to manage focus.",
130
+ "from": "@zag-js/toggle-group"
131
+ },
132
+ {
133
+ "name": "style",
134
+ "type": "CSSProperties",
135
+ "required": false,
136
+ "description": "Inline styles applied to the rendered element.",
137
+ "from": "@types/react"
138
+ },
139
+ {
140
+ "name": "value",
141
+ "type": "string[]",
142
+ "required": false,
143
+ "description": "The controlled selected value of the toggle group.",
144
+ "from": "@zag-js/toggle-group"
145
+ }
146
+ ]
147
+ },
148
+ {
149
+ "name": "ToggleGroupContext",
150
+ "props": [
151
+ {
152
+ "name": "children",
153
+ "type": "(context: UseToggleGroupContext) => ReactNode",
154
+ "required": true,
155
+ "description": "Content rendered inside the part.",
156
+ "from": "@ark-ui/react"
157
+ }
158
+ ]
159
+ },
160
+ {
161
+ "name": "ToggleGroupItem",
162
+ "props": [
163
+ {
164
+ "name": "size",
165
+ "type": "\"default\" | \"sm\" | \"lg\" | null",
166
+ "required": false,
167
+ "default": "\"default\"",
168
+ "description": "Size variant; sets a `data-size` attribute.",
169
+ "from": "arkcn"
170
+ },
171
+ {
172
+ "name": "variant",
173
+ "type": "\"default\" | \"outline\" | null",
174
+ "required": false,
175
+ "default": "\"default\"",
176
+ "description": "Visual variant, styled with `cva`; sets a `data-variant` attribute.",
177
+ "from": "arkcn"
178
+ },
179
+ {
180
+ "name": "value",
181
+ "type": "string",
182
+ "required": true,
183
+ "description": "The controlled value.",
184
+ "from": "@zag-js/toggle-group"
185
+ },
186
+ {
187
+ "name": "asChild",
188
+ "type": "boolean",
189
+ "required": false,
190
+ "description": "Use the provided child element as the default rendered element, combining their props and behavior.",
191
+ "from": "@ark-ui/react"
192
+ },
193
+ {
194
+ "name": "children",
195
+ "type": "ReactNode",
196
+ "required": false,
197
+ "description": "Content rendered inside the part.",
198
+ "from": "@types/react"
199
+ },
200
+ {
201
+ "name": "className",
202
+ "type": "string",
203
+ "required": false,
204
+ "description": "Extra classes merged into the part's own classes with `cn`.",
205
+ "from": "@types/react"
206
+ },
207
+ {
208
+ "name": "disabled",
209
+ "type": "boolean",
210
+ "required": false,
211
+ "description": "Disables the part and everything inside it.",
212
+ "from": "@zag-js/toggle-group"
213
+ },
214
+ {
215
+ "name": "style",
216
+ "type": "CSSProperties",
217
+ "required": false,
218
+ "description": "Inline styles applied to the rendered element.",
219
+ "from": "@types/react"
220
+ }
221
+ ]
222
+ }
223
+ ],
5
224
  "dependencies": {
6
225
  "@ark-ui/react": "^5.39.1",
7
226
  "class-variance-authority": "^0.7.1"
8
227
  },
9
228
  "registryDependencies": [
10
- "toggle",
11
- "utils"
229
+ "lib/utils",
230
+ "toggle"
12
231
  ],
13
232
  "files": [
14
233
  {
15
234
  "path": "components/ui/toggle-group.tsx",
16
- "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"@/lib/utils\"\nimport { ToggleGroup as ToggleGroupPrimitive } from \"@ark-ui/react\"\n\nimport { toggleVariants } from \"@/components/ui/toggle\"\n\nconst ToggleGroupVariantContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: \"horizontal\" | \"vertical\"\n }\n>({\n size: \"default\",\n variant: \"default\",\n spacing: 2,\n orientation: \"horizontal\",\n})\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 2,\n orientation = \"horizontal\",\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n orientation={orientation}\n style={{ \"--gap\": spacing } as React.CSSProperties}\n className={cn(\n \"group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch\",\n className\n )}\n {...props}\n >\n <ToggleGroupVariantContext.Provider value={{ variant, size, spacing, orientation }}>\n {children}\n </ToggleGroupVariantContext.Provider>\n </ToggleGroupPrimitive.Root>\n )\n}\n\nfunction ToggleGroupContext({ ...props }: React.ComponentProps<typeof ToggleGroupPrimitive.Context>) {\n return <ToggleGroupPrimitive.Context {...props} />\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = \"default\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupVariantContext)\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n \"shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pr-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:pl-1.5 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t\",\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n}\n\nexport { ToggleGroup, ToggleGroupContext, ToggleGroupItem }\n"
235
+ "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"@/lib/utils\"\nimport { ToggleGroup as ToggleGroupPrimitive } from \"@ark-ui/react\"\n\nimport { toggleVariants } from \"@/components/ui/toggle\"\n\nconst ToggleGroupVariantContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n /** Gap between items; 0 joins them into one control. */\n spacing?: number\n orientation?: \"horizontal\" | \"vertical\"\n }\n>({\n size: \"default\",\n variant: \"default\",\n /** Gap between items; 0 joins them into one control. */\n spacing: 2,\n orientation: \"horizontal\",\n})\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 2,\n orientation = \"horizontal\",\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n /** Gap between items; 0 joins them into one control. */\n spacing?: number\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n orientation={orientation}\n style={{ \"--gap\": spacing } as React.CSSProperties}\n className={cn(\n \"group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch\",\n className\n )}\n {...props}\n >\n <ToggleGroupVariantContext.Provider value={{ variant, size, spacing, orientation }}>\n {children}\n </ToggleGroupVariantContext.Provider>\n </ToggleGroupPrimitive.Root>\n )\n}\n\nfunction ToggleGroupContext({ ...props }: React.ComponentProps<typeof ToggleGroupPrimitive.Context>) {\n return <ToggleGroupPrimitive.Context {...props} />\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = \"default\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupVariantContext)\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n \"shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pr-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:pl-1.5 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t\",\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n}\n\nexport { ToggleGroup, ToggleGroupContext, ToggleGroupItem }\n"
17
236
  }
18
237
  ]
19
238
  }