@askrjs/themes 0.0.25 → 0.0.27

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 (189) hide show
  1. package/dist/components/_internal/style.js +2 -1
  2. package/dist/components/_internal/style.js.map +1 -1
  3. package/dist/components/alert/alert.d.ts +5 -0
  4. package/dist/components/alert/alert.js +5 -0
  5. package/dist/components/alert/alert.js.map +1 -1
  6. package/dist/components/alert/alert.types.d.ts +3 -0
  7. package/dist/components/aside/aside.d.ts +1 -0
  8. package/dist/components/aside/aside.js +1 -0
  9. package/dist/components/aside/aside.js.map +1 -1
  10. package/dist/components/aside/aside.types.d.ts +1 -0
  11. package/dist/components/aspect-ratio/aspect-ratio.d.ts +5 -0
  12. package/dist/components/aspect-ratio/aspect-ratio.js.map +1 -1
  13. package/dist/components/aspect-ratio/aspect-ratio.types.d.ts +3 -0
  14. package/dist/components/badge/badge.d.ts +1 -0
  15. package/dist/components/badge/badge.js.map +1 -1
  16. package/dist/components/badge/badge.types.d.ts +4 -0
  17. package/dist/components/block/block.d.ts +6 -0
  18. package/dist/components/block/block.js.map +1 -1
  19. package/dist/components/block/block.types.d.ts +8 -0
  20. package/dist/components/brand/brand.d.ts +3 -0
  21. package/dist/components/brand/brand.js +3 -0
  22. package/dist/components/brand/brand.js.map +1 -1
  23. package/dist/components/brand/brand.types.d.ts +6 -0
  24. package/dist/components/button-group/button-group.d.ts +1 -0
  25. package/dist/components/button-group/button-group.js +1 -0
  26. package/dist/components/button-group/button-group.js.map +1 -1
  27. package/dist/components/button-group/button-group.types.d.ts +2 -0
  28. package/dist/components/card/card.d.ts +7 -0
  29. package/dist/components/card/card.js +7 -0
  30. package/dist/components/card/card.js.map +1 -1
  31. package/dist/components/card/card.types.d.ts +9 -0
  32. package/dist/components/catalog.d.ts +122 -0
  33. package/dist/components/catalog.js +118 -0
  34. package/dist/components/catalog.js.map +1 -1
  35. package/dist/components/close/close.d.ts +1 -0
  36. package/dist/components/close/close.js.map +1 -1
  37. package/dist/components/close/close.types.d.ts +2 -0
  38. package/dist/components/command-palette/command-palette.d.ts +14 -0
  39. package/dist/components/command-palette/command-palette.js +13 -0
  40. package/dist/components/command-palette/command-palette.js.map +1 -1
  41. package/dist/components/command-palette/command-palette.types.d.ts +6 -0
  42. package/dist/components/container/container.d.ts +1 -0
  43. package/dist/components/container/container.js +1 -0
  44. package/dist/components/container/container.js.map +1 -1
  45. package/dist/components/container/container.types.d.ts +1 -0
  46. package/dist/components/empty-state/empty-state.d.ts +1 -0
  47. package/dist/components/empty-state/empty-state.js +1 -0
  48. package/dist/components/empty-state/empty-state.js.map +1 -1
  49. package/dist/components/empty-state/empty-state.types.d.ts +2 -0
  50. package/dist/components/field/field.d.ts +3 -0
  51. package/dist/components/field/field.js +3 -0
  52. package/dist/components/field/field.js.map +1 -1
  53. package/dist/components/field/field.types.d.ts +3 -0
  54. package/dist/components/footer/footer.d.ts +7 -0
  55. package/dist/components/footer/footer.js +7 -0
  56. package/dist/components/footer/footer.js.map +1 -1
  57. package/dist/components/footer/footer.types.d.ts +7 -0
  58. package/dist/components/grid/grid.d.ts +1 -0
  59. package/dist/components/grid/grid.js +1 -0
  60. package/dist/components/grid/grid.js.map +1 -1
  61. package/dist/components/grid/grid.types.d.ts +4 -0
  62. package/dist/components/header/header.d.ts +1 -0
  63. package/dist/components/header/header.js +1 -0
  64. package/dist/components/header/header.js.map +1 -1
  65. package/dist/components/header/header.types.d.ts +1 -0
  66. package/dist/components/input-group/input-group.d.ts +2 -0
  67. package/dist/components/input-group/input-group.js +1 -0
  68. package/dist/components/input-group/input-group.js.map +1 -1
  69. package/dist/components/input-group/input-group.types.d.ts +4 -0
  70. package/dist/components/main/main.d.ts +1 -0
  71. package/dist/components/main/main.js +1 -0
  72. package/dist/components/main/main.js.map +1 -1
  73. package/dist/components/main/main.types.d.ts +1 -0
  74. package/dist/components/nav/nav.d.ts +6 -0
  75. package/dist/components/nav/nav.js +3 -0
  76. package/dist/components/nav/nav.js.map +1 -1
  77. package/dist/components/nav/nav.types.d.ts +14 -0
  78. package/dist/components/navbar/navbar.d.ts +8 -0
  79. package/dist/components/navbar/navbar.js +8 -0
  80. package/dist/components/navbar/navbar.js.map +1 -1
  81. package/dist/components/navbar/navbar.types.d.ts +5 -0
  82. package/dist/components/overlays/dropdown-content.d.ts +5 -0
  83. package/dist/components/overlays/dropdown-content.js.map +1 -1
  84. package/dist/components/page/page.d.ts +1 -0
  85. package/dist/components/page/page.js +1 -0
  86. package/dist/components/page/page.js.map +1 -1
  87. package/dist/components/page/page.types.d.ts +1 -0
  88. package/dist/components/page-header/page-header.d.ts +1 -0
  89. package/dist/components/page-header/page-header.js +1 -0
  90. package/dist/components/page-header/page-header.js.map +1 -1
  91. package/dist/components/page-header/page-header.types.d.ts +1 -0
  92. package/dist/components/section/section.d.ts +1 -0
  93. package/dist/components/section/section.js +1 -0
  94. package/dist/components/section/section.js.map +1 -1
  95. package/dist/components/section/section.types.d.ts +1 -0
  96. package/dist/components/separator/separator.d.ts +5 -0
  97. package/dist/components/separator/separator.js.map +1 -1
  98. package/dist/components/separator/separator.types.d.ts +4 -0
  99. package/dist/components/sidebar/sidebar.d.ts +16 -0
  100. package/dist/components/sidebar/sidebar.js +16 -0
  101. package/dist/components/sidebar/sidebar.js.map +1 -1
  102. package/dist/components/sidebar/sidebar.types.d.ts +8 -0
  103. package/dist/components/skeleton/skeleton.d.ts +1 -0
  104. package/dist/components/skeleton/skeleton.js.map +1 -1
  105. package/dist/components/skeleton/skeleton.types.d.ts +3 -0
  106. package/dist/components/spinner/spinner.d.ts +1 -0
  107. package/dist/components/spinner/spinner.js +1 -0
  108. package/dist/components/spinner/spinner.js.map +1 -1
  109. package/dist/components/spinner/spinner.types.d.ts +3 -0
  110. package/dist/components/stat/stat.d.ts +4 -0
  111. package/dist/components/stat/stat.js +4 -0
  112. package/dist/components/stat/stat.js.map +1 -1
  113. package/dist/components/stat/stat.types.d.ts +4 -0
  114. package/dist/components/text/text.d.ts +1 -0
  115. package/dist/components/text/text.js +1 -0
  116. package/dist/components/text/text.js.map +1 -1
  117. package/dist/components/text/text.types.d.ts +8 -0
  118. package/dist/components/theme/theme.d.ts +25 -0
  119. package/dist/components/theme/theme.js +17 -0
  120. package/dist/components/theme/theme.js.map +1 -1
  121. package/dist/components/toolbar/toolbar.d.ts +1 -0
  122. package/dist/components/toolbar/toolbar.js +1 -0
  123. package/dist/components/toolbar/toolbar.js.map +1 -1
  124. package/dist/components/toolbar/toolbar.types.d.ts +1 -0
  125. package/package.json +1 -1
  126. package/src/components/_internal/style.ts +8 -1
  127. package/src/components/alert/alert.tsx +5 -0
  128. package/src/components/alert/alert.types.ts +3 -0
  129. package/src/components/aside/aside.tsx +1 -0
  130. package/src/components/aside/aside.types.ts +1 -0
  131. package/src/components/aspect-ratio/aspect-ratio.tsx +5 -0
  132. package/src/components/aspect-ratio/aspect-ratio.types.ts +3 -0
  133. package/src/components/badge/badge.tsx +1 -0
  134. package/src/components/badge/badge.types.ts +4 -0
  135. package/src/components/block/block.tsx +6 -0
  136. package/src/components/block/block.types.ts +8 -0
  137. package/src/components/brand/brand.tsx +3 -0
  138. package/src/components/brand/brand.types.ts +6 -0
  139. package/src/components/button-group/button-group.tsx +1 -0
  140. package/src/components/button-group/button-group.types.ts +2 -0
  141. package/src/components/card/card.tsx +7 -0
  142. package/src/components/card/card.types.ts +9 -0
  143. package/src/components/catalog.tsx +122 -0
  144. package/src/components/close/close.tsx +1 -0
  145. package/src/components/close/close.types.ts +2 -0
  146. package/src/components/command-palette/command-palette.tsx +14 -0
  147. package/src/components/command-palette/command-palette.types.ts +6 -0
  148. package/src/components/container/container.tsx +1 -0
  149. package/src/components/container/container.types.ts +1 -0
  150. package/src/components/empty-state/empty-state.tsx +1 -0
  151. package/src/components/empty-state/empty-state.types.ts +2 -0
  152. package/src/components/field/field.tsx +3 -0
  153. package/src/components/field/field.types.ts +3 -0
  154. package/src/components/footer/footer.tsx +7 -0
  155. package/src/components/footer/footer.types.ts +7 -0
  156. package/src/components/grid/grid.tsx +1 -0
  157. package/src/components/grid/grid.types.ts +4 -0
  158. package/src/components/header/header.tsx +1 -0
  159. package/src/components/header/header.types.ts +1 -0
  160. package/src/components/input-group/input-group.tsx +2 -0
  161. package/src/components/input-group/input-group.types.ts +4 -0
  162. package/src/components/main/main.tsx +1 -0
  163. package/src/components/main/main.types.ts +1 -0
  164. package/src/components/nav/nav.tsx +6 -0
  165. package/src/components/nav/nav.types.ts +14 -0
  166. package/src/components/navbar/navbar.tsx +8 -0
  167. package/src/components/navbar/navbar.types.ts +5 -0
  168. package/src/components/overlays/dropdown-content.tsx +5 -0
  169. package/src/components/page/page.tsx +1 -0
  170. package/src/components/page/page.types.ts +1 -0
  171. package/src/components/page-header/page-header.tsx +1 -0
  172. package/src/components/page-header/page-header.types.ts +1 -0
  173. package/src/components/section/section.tsx +1 -0
  174. package/src/components/section/section.types.ts +1 -0
  175. package/src/components/separator/separator.tsx +5 -0
  176. package/src/components/separator/separator.types.ts +4 -0
  177. package/src/components/sidebar/sidebar.tsx +16 -0
  178. package/src/components/sidebar/sidebar.types.ts +8 -0
  179. package/src/components/skeleton/skeleton.tsx +1 -0
  180. package/src/components/skeleton/skeleton.types.ts +3 -0
  181. package/src/components/spinner/spinner.tsx +1 -0
  182. package/src/components/spinner/spinner.types.ts +3 -0
  183. package/src/components/stat/stat.tsx +4 -0
  184. package/src/components/stat/stat.types.ts +4 -0
  185. package/src/components/text/text.tsx +1 -0
  186. package/src/components/text/text.types.ts +8 -0
  187. package/src/components/theme/theme.tsx +25 -0
  188. package/src/components/toolbar/toolbar.tsx +1 -0
  189. package/src/components/toolbar/toolbar.types.ts +1 -0
@@ -14,6 +14,10 @@ const CatalogDialogDescription = DialogDescription as (
14
14
 
15
15
  type CatalogElement = keyof JSX.IntrinsicElements;
16
16
 
17
+ /**
18
+ * Shared prop shape for the shadcn-compatible catalog primitives below: a
19
+ * polymorphic `as`/`asChild` element plus passthrough attributes.
20
+ */
17
21
  export type CatalogComponentProps = Record<string, unknown> & {
18
22
  as?: CatalogElement;
19
23
  asChild?: boolean;
@@ -105,36 +109,44 @@ function layoutAlias(props: CatalogComponentProps, defaults: Record<string, unkn
105
109
  );
106
110
  }
107
111
 
112
+ /** Legacy `Box` layout alias for {@link Block} with no default direction. */
108
113
  export function Box(props: CatalogComponentProps): JSX.Element {
109
114
  return layoutAlias(props, {});
110
115
  }
111
116
 
117
+ /** Legacy `Stack` layout alias for {@link Block} that defaults to a column direction. */
112
118
  export function Stack(props: CatalogComponentProps): JSX.Element {
113
119
  return layoutAlias(props, { direction: "column" });
114
120
  }
115
121
 
122
+ /** Legacy `Inline` layout alias for {@link Block} that defaults to a row direction. */
116
123
  export function Inline(props: CatalogComponentProps): JSX.Element {
117
124
  return layoutAlias(props, { direction: "row" });
118
125
  }
119
126
 
127
+ /** Legacy `Shell` layout alias for {@link Block}; the `variant` prop is accepted but ignored. */
120
128
  export function Shell(props: CatalogComponentProps & { variant?: unknown }): JSX.Element {
121
129
  const { variant: _variant, ...rest } = props;
122
130
  void _variant;
123
131
  return layoutAlias(rest, {});
124
132
  }
125
133
 
134
+ /** Legacy `ShellNav` layout alias for {@link Block}. */
126
135
  export function ShellNav(props: CatalogComponentProps): JSX.Element {
127
136
  return layoutAlias(props, {});
128
137
  }
129
138
 
139
+ /** Legacy `ShellMain` layout alias for {@link Block} that renders a growing `<main>` element. */
130
140
  export function ShellMain(props: CatalogComponentProps): JSX.Element {
131
141
  return layoutAlias(props, { as: "main", grow: true });
132
142
  }
133
143
 
144
+ /** Renders the `alert-title` part of the shadcn-compatible catalog primitives. */
134
145
  export function AlertTitle(props: CatalogComponentProps): JSX.Element {
135
146
  return catalogPart(props, { slot: "alert-title", element: "h3", className: "alert-title" });
136
147
  }
137
148
 
149
+ /** Renders the `alert-description` part of the shadcn-compatible catalog primitives. */
138
150
  export function AlertDescription(props: CatalogComponentProps): JSX.Element {
139
151
  return catalogPart(props, {
140
152
  slot: "alert-description",
@@ -143,22 +155,27 @@ export function AlertDescription(props: CatalogComponentProps): JSX.Element {
143
155
  });
144
156
  }
145
157
 
158
+ /** Renders the `breadcrumb` part of the shadcn-compatible catalog primitives. */
146
159
  export function Breadcrumb(props: CatalogComponentProps): JSX.Element {
147
160
  return catalogPart(props, { slot: "breadcrumb", element: "nav", role: "navigation" });
148
161
  }
149
162
 
163
+ /** Renders the `breadcrumb-list` part of the shadcn-compatible catalog primitives. */
150
164
  export function BreadcrumbList(props: CatalogComponentProps): JSX.Element {
151
165
  return catalogPart(props, { slot: "breadcrumb-list", element: "ol" });
152
166
  }
153
167
 
168
+ /** Renders the `breadcrumb-item` part of the shadcn-compatible catalog primitives. */
154
169
  export function BreadcrumbItem(props: CatalogComponentProps): JSX.Element {
155
170
  return catalogPart(props, { slot: "breadcrumb-item", element: "li" });
156
171
  }
157
172
 
173
+ /** Renders the `breadcrumb-link` part of the shadcn-compatible catalog primitives. */
158
174
  export function BreadcrumbLink(props: CatalogComponentProps): JSX.Element {
159
175
  return catalogPart(props, { slot: "breadcrumb-link", element: "a" });
160
176
  }
161
177
 
178
+ /** Renders the current (non-link) breadcrumb page, marked `aria-current="page"`. */
162
179
  export function BreadcrumbPage(props: CatalogComponentProps): JSX.Element {
163
180
  return catalogPart(
164
181
  { "aria-current": "page", ...props },
@@ -169,6 +186,7 @@ export function BreadcrumbPage(props: CatalogComponentProps): JSX.Element {
169
186
  );
170
187
  }
171
188
 
189
+ /** Renders the separator between breadcrumb items (defaults to `"/"`). */
172
190
  export function BreadcrumbSeparator(props: CatalogComponentProps): JSX.Element {
173
191
  const { children = "/", ...rest } = props;
174
192
  return catalogPart(
@@ -180,6 +198,7 @@ export function BreadcrumbSeparator(props: CatalogComponentProps): JSX.Element {
180
198
  );
181
199
  }
182
200
 
201
+ /** Renders a non-interactive ellipsis marker in a breadcrumb trail. */
183
202
  export function BreadcrumbEllipsis(props: CatalogComponentProps): JSX.Element {
184
203
  const { children = "...", ...rest } = props;
185
204
  return catalogPart(
@@ -191,22 +210,27 @@ export function BreadcrumbEllipsis(props: CatalogComponentProps): JSX.Element {
191
210
  );
192
211
  }
193
212
 
213
+ /** Renders the `calendar` part of the shadcn-compatible catalog primitives. */
194
214
  export function Calendar(props: CatalogComponentProps): JSX.Element {
195
215
  return catalogPart(props, { slot: "calendar" });
196
216
  }
197
217
 
218
+ /** Renders the `calendar-header` part of the shadcn-compatible catalog primitives. */
198
219
  export function CalendarHeader(props: CatalogComponentProps): JSX.Element {
199
220
  return catalogPart(props, { slot: "calendar-header" });
200
221
  }
201
222
 
223
+ /** Renders the `calendar-caption` part of the shadcn-compatible catalog primitives. */
202
224
  export function CalendarCaption(props: CatalogComponentProps): JSX.Element {
203
225
  return catalogPart(props, { slot: "calendar-caption" });
204
226
  }
205
227
 
228
+ /** Renders the `calendar-nav` part of the shadcn-compatible catalog primitives. */
206
229
  export function CalendarNav(props: CatalogComponentProps): JSX.Element {
207
230
  return catalogPart(props, { slot: "calendar-nav" });
208
231
  }
209
232
 
233
+ /** Button that navigates the calendar to the previous month. */
210
234
  export function CalendarPreviousButton(props: CatalogComponentProps): JSX.Element {
211
235
  const { children = "Previous month", ...rest } = props;
212
236
  return buttonPart(
@@ -216,6 +240,7 @@ export function CalendarPreviousButton(props: CatalogComponentProps): JSX.Elemen
216
240
  );
217
241
  }
218
242
 
243
+ /** Button that navigates the calendar to the next month. */
219
244
  export function CalendarNextButton(props: CatalogComponentProps): JSX.Element {
220
245
  const { children = "Next month", ...rest } = props;
221
246
  return buttonPart(
@@ -225,26 +250,32 @@ export function CalendarNextButton(props: CatalogComponentProps): JSX.Element {
225
250
  );
226
251
  }
227
252
 
253
+ /** Renders the `calendar-grid` part of the shadcn-compatible catalog primitives. */
228
254
  export function CalendarGrid(props: CatalogComponentProps): JSX.Element {
229
255
  return catalogPart(props, { slot: "calendar-grid", role: "grid" });
230
256
  }
231
257
 
258
+ /** Renders the `calendar-head` part of the shadcn-compatible catalog primitives. */
232
259
  export function CalendarHead(props: CatalogComponentProps): JSX.Element {
233
260
  return catalogPart(props, { slot: "calendar-head", role: "row" });
234
261
  }
235
262
 
263
+ /** Renders the `calendar-body` part of the shadcn-compatible catalog primitives. */
236
264
  export function CalendarBody(props: CatalogComponentProps): JSX.Element {
237
265
  return catalogPart(props, { slot: "calendar-body" });
238
266
  }
239
267
 
268
+ /** Renders the `calendar-row` part of the shadcn-compatible catalog primitives. */
240
269
  export function CalendarRow(props: CatalogComponentProps): JSX.Element {
241
270
  return catalogPart(props, { slot: "calendar-row", role: "row" });
242
271
  }
243
272
 
273
+ /** Renders the `calendar-cell` part of the shadcn-compatible catalog primitives. */
244
274
  export function CalendarCell(props: CatalogComponentProps): JSX.Element {
245
275
  return catalogPart(props, { slot: "calendar-cell", role: "gridcell" });
246
276
  }
247
277
 
278
+ /** Renders a single selectable day cell in the calendar grid, with selection/range/today state exposed as data attributes. */
248
279
  export function CalendarDay(
249
280
  props: CatalogComponentProps & {
250
281
  disabled?: boolean;
@@ -275,32 +306,39 @@ export function CalendarDay(
275
306
  );
276
307
  }
277
308
 
309
+ /** Renders the `carousel` part of the shadcn-compatible catalog primitives. */
278
310
  export function Carousel(props: CatalogComponentProps): JSX.Element {
279
311
  return catalogPart(props, { slot: "carousel" });
280
312
  }
281
313
 
314
+ /** Renders the `carousel-content` part of the shadcn-compatible catalog primitives. */
282
315
  export function CarouselContent(props: CatalogComponentProps): JSX.Element {
283
316
  return catalogPart(props, { slot: "carousel-content" });
284
317
  }
285
318
 
319
+ /** Renders the `carousel-item` part of the shadcn-compatible catalog primitives. */
286
320
  export function CarouselItem(props: CatalogComponentProps): JSX.Element {
287
321
  return catalogPart(props, { slot: "carousel-item" });
288
322
  }
289
323
 
324
+ /** Button that navigates the carousel to the previous item. */
290
325
  export function CarouselPrevious(props: CatalogComponentProps): JSX.Element {
291
326
  const { children = "Previous", ...rest } = props;
292
327
  return buttonPart({ children, ...rest }, "carousel-previous", "btn btn-icon");
293
328
  }
294
329
 
330
+ /** Button that navigates the carousel to the next item. */
295
331
  export function CarouselNext(props: CatalogComponentProps): JSX.Element {
296
332
  const { children = "Next", ...rest } = props;
297
333
  return buttonPart({ children, ...rest }, "carousel-next", "btn btn-icon");
298
334
  }
299
335
 
336
+ /** Renders the `combobox` part of the shadcn-compatible catalog primitives. */
300
337
  export function Combobox(props: CatalogComponentProps): JSX.Element {
301
338
  return catalogPart(props, { slot: "combobox" });
302
339
  }
303
340
 
341
+ /** Renders the combobox's text input, wired up with `role="combobox"`. */
304
342
  export function ComboboxInput(props: CatalogComponentProps): JSX.Element {
305
343
  const { ref, class: className, ...rest } = props;
306
344
  const finalProps = mergeProps(rest, {
@@ -313,22 +351,27 @@ export function ComboboxInput(props: CatalogComponentProps): JSX.Element {
313
351
  return <input {...finalProps} />;
314
352
  }
315
353
 
354
+ /** Renders the `combobox-list` part of the shadcn-compatible catalog primitives. */
316
355
  export function ComboboxList(props: CatalogComponentProps): JSX.Element {
317
356
  return catalogPart(props, { slot: "combobox-list", role: "listbox" });
318
357
  }
319
358
 
359
+ /** Renders the `combobox-option` part of the shadcn-compatible catalog primitives. */
320
360
  export function ComboboxOption(props: CatalogComponentProps): JSX.Element {
321
361
  return catalogPart(props, { slot: "combobox-option", role: "option" });
322
362
  }
323
363
 
364
+ /** Renders the `command` part of the shadcn-compatible catalog primitives. */
324
365
  export function Command(props: CatalogComponentProps): JSX.Element {
325
366
  return catalogPart(props, { slot: "command" });
326
367
  }
327
368
 
369
+ /** Renders the `command-dialog` part of the shadcn-compatible catalog primitives. */
328
370
  export function CommandDialog(props: CatalogComponentProps): JSX.Element {
329
371
  return catalogPart(props, { slot: "command-dialog" });
330
372
  }
331
373
 
374
+ /** Renders the command palette's search `<input>`. */
332
375
  export function CommandInput(props: CatalogComponentProps): JSX.Element {
333
376
  const { ref, class: className, ...rest } = props;
334
377
  const finalProps = mergeProps(rest, {
@@ -340,26 +383,32 @@ export function CommandInput(props: CatalogComponentProps): JSX.Element {
340
383
  return <input {...finalProps} />;
341
384
  }
342
385
 
386
+ /** Renders the `command-header` part of the shadcn-compatible catalog primitives. */
343
387
  export function CommandHeader(props: CatalogComponentProps): JSX.Element {
344
388
  return catalogPart(props, { slot: "command-header" });
345
389
  }
346
390
 
391
+ /** Renders the `command-list` part of the shadcn-compatible catalog primitives. */
347
392
  export function CommandList(props: CatalogComponentProps): JSX.Element {
348
393
  return catalogPart(props, { slot: "command-list", role: "listbox" });
349
394
  }
350
395
 
396
+ /** Renders the `command-empty` part of the shadcn-compatible catalog primitives. */
351
397
  export function CommandEmpty(props: CatalogComponentProps): JSX.Element {
352
398
  return catalogPart(props, { slot: "command-empty" });
353
399
  }
354
400
 
401
+ /** Renders the `command-group` part of the shadcn-compatible catalog primitives. */
355
402
  export function CommandGroup(props: CatalogComponentProps): JSX.Element {
356
403
  return catalogPart(props, { slot: "command-group", role: "group" });
357
404
  }
358
405
 
406
+ /** Renders the `command-group-heading` part of the shadcn-compatible catalog primitives. */
359
407
  export function CommandGroupHeading(props: CatalogComponentProps): JSX.Element {
360
408
  return catalogPart(props, { slot: "command-group-heading", element: "div" });
361
409
  }
362
410
 
411
+ /** Renders a selectable command list entry, exposing `active`/`disabled`/`selected` as ARIA and data attributes. */
363
412
  export function CommandItem(
364
413
  props: CatalogComponentProps & { active?: boolean; disabled?: boolean; selected?: boolean },
365
414
  ): JSX.Element {
@@ -376,22 +425,27 @@ export function CommandItem(
376
425
  );
377
426
  }
378
427
 
428
+ /** Renders the `command-separator` part of the shadcn-compatible catalog primitives. */
379
429
  export function CommandSeparator(props: CatalogComponentProps): JSX.Element {
380
430
  return catalogPart(props, { slot: "command-separator", element: "div", role: "separator" });
381
431
  }
382
432
 
433
+ /** Renders the `command-shortcut` part of the shadcn-compatible catalog primitives. */
383
434
  export function CommandShortcut(props: CatalogComponentProps): JSX.Element {
384
435
  return catalogPart(props, { slot: "command-shortcut", element: "span" });
385
436
  }
386
437
 
438
+ /** Renders the `data-table` part of the shadcn-compatible catalog primitives. */
387
439
  export function DataTable(props: CatalogComponentProps): JSX.Element {
388
440
  return catalogPart(props, { slot: "data-table" });
389
441
  }
390
442
 
443
+ /** Renders the `date-picker` part of the shadcn-compatible catalog primitives. */
391
444
  export function DatePicker(props: CatalogComponentProps): JSX.Element {
392
445
  return catalogPart(props, { slot: "date-picker" });
393
446
  }
394
447
 
448
+ /** Renders the date picker's `<input type="date">` by default. */
395
449
  export function DatePickerInput(props: CatalogComponentProps): JSX.Element {
396
450
  const { ref, class: className, type = "date", ...rest } = props;
397
451
  const finalProps = mergeProps(rest, {
@@ -403,79 +457,98 @@ export function DatePickerInput(props: CatalogComponentProps): JSX.Element {
403
457
  return <input type={type as string} {...finalProps} />;
404
458
  }
405
459
 
460
+ /** Sets the `dir` attribute (defaulting to `"ltr"`) on its wrapping element for RTL/LTR scoping. */
406
461
  export function Direction(props: CatalogComponentProps & { dir?: "ltr" | "rtl" }): JSX.Element {
407
462
  const { dir = "ltr", ...rest } = props;
408
463
  return catalogPart({ dir, ...rest }, { slot: "direction" });
409
464
  }
410
465
 
466
+ /** Renders the `empty` part of the shadcn-compatible catalog primitives. */
411
467
  export function Empty(props: CatalogComponentProps): JSX.Element {
412
468
  return catalogPart(props, { slot: "empty" });
413
469
  }
414
470
 
471
+ /** Renders the `empty-header` part of the shadcn-compatible catalog primitives. */
415
472
  export function EmptyHeader(props: CatalogComponentProps): JSX.Element {
416
473
  return catalogPart(props, { slot: "empty-header" });
417
474
  }
418
475
 
476
+ /** Renders the `empty-title` part of the shadcn-compatible catalog primitives. */
419
477
  export function EmptyTitle(props: CatalogComponentProps): JSX.Element {
420
478
  return catalogPart(props, { slot: "empty-title", element: "h3" });
421
479
  }
422
480
 
481
+ /** Renders the `empty-description` part of the shadcn-compatible catalog primitives. */
423
482
  export function EmptyDescription(props: CatalogComponentProps): JSX.Element {
424
483
  return catalogPart(props, { slot: "empty-description", element: "p" });
425
484
  }
426
485
 
486
+ /** Renders the `empty-content` part of the shadcn-compatible catalog primitives. */
427
487
  export function EmptyContent(props: CatalogComponentProps): JSX.Element {
428
488
  return catalogPart(props, { slot: "empty-content" });
429
489
  }
430
490
 
491
+ /** Renders the `empty-media` part of the shadcn-compatible catalog primitives. */
431
492
  export function EmptyMedia(props: CatalogComponentProps): JSX.Element {
432
493
  return catalogPart(props, { slot: "empty-media" });
433
494
  }
434
495
 
496
+ /** Renders the `field-group` part of the shadcn-compatible catalog primitives. */
435
497
  export function FieldGroup(props: CatalogComponentProps): JSX.Element {
436
498
  return catalogPart(props, { slot: "field-group" });
437
499
  }
438
500
 
501
+ /** Renders the `field-set` part of the shadcn-compatible catalog primitives. */
439
502
  export function FieldSet(props: CatalogComponentProps): JSX.Element {
440
503
  return catalogPart(props, { slot: "field-set", element: "fieldset" });
441
504
  }
442
505
 
506
+ /** Renders the `field-legend` part of the shadcn-compatible catalog primitives. */
443
507
  export function FieldLegend(props: CatalogComponentProps): JSX.Element {
444
508
  return catalogPart(props, { slot: "field-legend", element: "legend" });
445
509
  }
446
510
 
511
+ /** Renders the `field-label` part of the shadcn-compatible catalog primitives. */
447
512
  export function FieldLabel(props: CatalogComponentProps): JSX.Element {
448
513
  return catalogPart(props, { slot: "field-label", element: "label", className: "label" });
449
514
  }
450
515
 
516
+ /** Renders the `field-description` part of the shadcn-compatible catalog primitives. */
451
517
  export function FieldDescription(props: CatalogComponentProps): JSX.Element {
452
518
  return catalogPart(props, { slot: "field-description", element: "p", className: "field-hint" });
453
519
  }
454
520
 
521
+ /** Renders the `field-content` part of the shadcn-compatible catalog primitives. */
455
522
  export function FieldContent(props: CatalogComponentProps): JSX.Element {
456
523
  return catalogPart(props, { slot: "field-content" });
457
524
  }
458
525
 
526
+ /** Renders the `field-title` part of the shadcn-compatible catalog primitives. */
459
527
  export function FieldTitle(props: CatalogComponentProps): JSX.Element {
460
528
  return catalogPart(props, { slot: "field-title", element: "div" });
461
529
  }
462
530
 
531
+ /** Renders the `field-separator` part of the shadcn-compatible catalog primitives. */
463
532
  export function FieldSeparator(props: CatalogComponentProps): JSX.Element {
464
533
  return catalogPart(props, { slot: "field-separator", role: "separator" });
465
534
  }
466
535
 
536
+ /** Renders the `input-otp` part of the shadcn-compatible catalog primitives. */
467
537
  export function InputOTP(props: CatalogComponentProps): JSX.Element {
468
538
  return catalogPart(props, { slot: "input-otp", role: "group" });
469
539
  }
470
540
 
541
+ /** Renders the `input-otp-group` part of the shadcn-compatible catalog primitives. */
471
542
  export function InputOTPGroup(props: CatalogComponentProps): JSX.Element {
472
543
  return catalogPart(props, { slot: "input-otp-group", role: "group" });
473
544
  }
474
545
 
546
+ /** Renders the `input-otp-slot` part of the shadcn-compatible catalog primitives. */
475
547
  export function InputOTPSlot(props: CatalogComponentProps): JSX.Element {
476
548
  return catalogPart(props, { slot: "input-otp-slot", element: "span" });
477
549
  }
478
550
 
551
+ /** Renders the visual separator between InputOTP groups (defaults to `"-"`). */
479
552
  export function InputOTPSeparator(props: CatalogComponentProps): JSX.Element {
480
553
  const { children = "-", ...rest } = props;
481
554
  return catalogPart(
@@ -487,6 +560,7 @@ export function InputOTPSeparator(props: CatalogComponentProps): JSX.Element {
487
560
  );
488
561
  }
489
562
 
563
+ /** Renders a generic list item part, exposing `active`/`size`/`variant` as data attributes. */
490
564
  export function Item(
491
565
  props: CatalogComponentProps & {
492
566
  active?: boolean;
@@ -506,42 +580,52 @@ export function Item(
506
580
  );
507
581
  }
508
582
 
583
+ /** Renders the `item-group` part of the shadcn-compatible catalog primitives. */
509
584
  export function ItemGroup(props: CatalogComponentProps): JSX.Element {
510
585
  return catalogPart(props, { slot: "item-group" });
511
586
  }
512
587
 
588
+ /** Renders the `item-header` part of the shadcn-compatible catalog primitives. */
513
589
  export function ItemHeader(props: CatalogComponentProps): JSX.Element {
514
590
  return catalogPart(props, { slot: "item-header" });
515
591
  }
516
592
 
593
+ /** Renders the `item-media` part of the shadcn-compatible catalog primitives. */
517
594
  export function ItemMedia(props: CatalogComponentProps): JSX.Element {
518
595
  return catalogPart(props, { slot: "item-media" });
519
596
  }
520
597
 
598
+ /** Renders the `item-content` part of the shadcn-compatible catalog primitives. */
521
599
  export function ItemContent(props: CatalogComponentProps): JSX.Element {
522
600
  return catalogPart(props, { slot: "item-content" });
523
601
  }
524
602
 
603
+ /** Renders the `item-title` part of the shadcn-compatible catalog primitives. */
525
604
  export function ItemTitle(props: CatalogComponentProps): JSX.Element {
526
605
  return catalogPart(props, { slot: "item-title" });
527
606
  }
528
607
 
608
+ /** Renders the `item-description` part of the shadcn-compatible catalog primitives. */
529
609
  export function ItemDescription(props: CatalogComponentProps): JSX.Element {
530
610
  return catalogPart(props, { slot: "item-description" });
531
611
  }
532
612
 
613
+ /** Renders the `item-actions` part of the shadcn-compatible catalog primitives. */
533
614
  export function ItemActions(props: CatalogComponentProps): JSX.Element {
534
615
  return catalogPart(props, { slot: "item-actions" });
535
616
  }
536
617
 
618
+ /** Renders the `item-footer` part of the shadcn-compatible catalog primitives. */
537
619
  export function ItemFooter(props: CatalogComponentProps): JSX.Element {
538
620
  return catalogPart(props, { slot: "item-footer" });
539
621
  }
540
622
 
623
+ /** Renders the `kbd` part of the shadcn-compatible catalog primitives. */
541
624
  export function Kbd(props: CatalogComponentProps): JSX.Element {
542
625
  return catalogPart(props, { slot: "kbd", element: "kbd" });
543
626
  }
544
627
 
628
+ /** Renders a styled native `<select>` element. */
545
629
  export function NativeSelect(props: CatalogComponentProps): JSX.Element {
546
630
  const { children, ref, class: className, ...rest } = props;
547
631
  const finalProps = mergeProps(rest, {
@@ -553,50 +637,62 @@ export function NativeSelect(props: CatalogComponentProps): JSX.Element {
553
637
  return <select {...finalProps}>{children}</select>;
554
638
  }
555
639
 
640
+ /** Renders the `navigation-menu` part of the shadcn-compatible catalog primitives. */
556
641
  export function NavigationMenu(props: CatalogComponentProps): JSX.Element {
557
642
  return catalogPart(props, { slot: "navigation-menu", element: "nav" });
558
643
  }
559
644
 
645
+ /** Renders the `navigation-menu-list` part of the shadcn-compatible catalog primitives. */
560
646
  export function NavigationMenuList(props: CatalogComponentProps): JSX.Element {
561
647
  return catalogPart(props, { slot: "navigation-menu-list", element: "ul" });
562
648
  }
563
649
 
650
+ /** Renders the `navigation-menu-item` part of the shadcn-compatible catalog primitives. */
564
651
  export function NavigationMenuItem(props: CatalogComponentProps): JSX.Element {
565
652
  return catalogPart(props, { slot: "navigation-menu-item", element: "li" });
566
653
  }
567
654
 
655
+ /** Renders the `navigation-menu-content` part of the shadcn-compatible catalog primitives. */
568
656
  export function NavigationMenuTrigger(props: CatalogComponentProps): JSX.Element {
569
657
  return buttonPart(props, "navigation-menu-trigger", "nav-item");
570
658
  }
571
659
 
660
+ /** Renders the `navigation-menu-content` part of the shadcn-compatible catalog primitives. */
572
661
  export function NavigationMenuContent(props: CatalogComponentProps): JSX.Element {
573
662
  return catalogPart(props, { slot: "navigation-menu-content" });
574
663
  }
575
664
 
665
+ /** Renders the `navigation-menu-link` part of the shadcn-compatible catalog primitives. */
576
666
  export function NavigationMenuLink(props: CatalogComponentProps): JSX.Element {
577
667
  return catalogPart(props, { slot: "navigation-menu-link", element: "a" });
578
668
  }
579
669
 
670
+ /** Renders the `navigation-menu-viewport` part of the shadcn-compatible catalog primitives. */
580
671
  export function NavigationMenuViewport(props: CatalogComponentProps): JSX.Element {
581
672
  return catalogPart(props, { slot: "navigation-menu-viewport" });
582
673
  }
583
674
 
675
+ /** Renders the `navigation-menu-indicator` part of the shadcn-compatible catalog primitives. */
584
676
  export function NavigationMenuIndicator(props: CatalogComponentProps): JSX.Element {
585
677
  return catalogPart(props, { slot: "navigation-menu-indicator" });
586
678
  }
587
679
 
680
+ /** Renders the `pagination` part of the shadcn-compatible catalog primitives. */
588
681
  export function Pagination(props: CatalogComponentProps): JSX.Element {
589
682
  return catalogPart(props, { slot: "pagination", element: "nav", role: "navigation" });
590
683
  }
591
684
 
685
+ /** Renders the `pagination-content` part of the shadcn-compatible catalog primitives. */
592
686
  export function PaginationContent(props: CatalogComponentProps): JSX.Element {
593
687
  return catalogPart(props, { slot: "pagination-content", element: "ul" });
594
688
  }
595
689
 
690
+ /** Renders the `pagination-item` part of the shadcn-compatible catalog primitives. */
596
691
  export function PaginationItem(props: CatalogComponentProps): JSX.Element {
597
692
  return catalogPart(props, { slot: "pagination-item", element: "li" });
598
693
  }
599
694
 
695
+ /** Renders a pagination page link, marking it `aria-current="page"` when `active`. */
600
696
  export function PaginationLink(props: CatalogComponentProps & { active?: boolean }): JSX.Element {
601
697
  const { active, ...rest } = props;
602
698
  return catalogPart(
@@ -609,16 +705,19 @@ export function PaginationLink(props: CatalogComponentProps & { active?: boolean
609
705
  );
610
706
  }
611
707
 
708
+ /** Pagination link that moves to the previous page. */
612
709
  export function PaginationPrevious(props: CatalogComponentProps): JSX.Element {
613
710
  const { children = "Previous", ...rest } = props;
614
711
  return catalogPart({ children, ...rest }, { slot: "pagination-previous", element: "a" });
615
712
  }
616
713
 
714
+ /** Pagination link that moves to the next page. */
617
715
  export function PaginationNext(props: CatalogComponentProps): JSX.Element {
618
716
  const { children = "Next", ...rest } = props;
619
717
  return catalogPart({ children, ...rest }, { slot: "pagination-next", element: "a" });
620
718
  }
621
719
 
720
+ /** Renders a non-interactive ellipsis marker between pagination links. */
622
721
  export function PaginationEllipsis(props: CatalogComponentProps): JSX.Element {
623
722
  const { children = "...", ...rest } = props;
624
723
  return catalogPart(
@@ -630,30 +729,37 @@ export function PaginationEllipsis(props: CatalogComponentProps): JSX.Element {
630
729
  );
631
730
  }
632
731
 
732
+ /** Renders the `resizable-panel-group` part of the shadcn-compatible catalog primitives. */
633
733
  export function ResizablePanelGroup(props: CatalogComponentProps): JSX.Element {
634
734
  return catalogPart(props, { slot: "resizable-panel-group" });
635
735
  }
636
736
 
737
+ /** Renders the `resizable-panel` part of the shadcn-compatible catalog primitives. */
637
738
  export function ResizablePanel(props: CatalogComponentProps): JSX.Element {
638
739
  return catalogPart(props, { slot: "resizable-panel" });
639
740
  }
640
741
 
742
+ /** Renders the `resizable-handle` part of the shadcn-compatible catalog primitives. */
641
743
  export function ResizableHandle(props: CatalogComponentProps): JSX.Element {
642
744
  return catalogPart(props, { slot: "resizable-handle", role: "separator" });
643
745
  }
644
746
 
747
+ /** Renders the `tabs-list` part of the shadcn-compatible catalog primitives. */
645
748
  export function TabsList(props: CatalogComponentProps): JSX.Element {
646
749
  return catalogPart(props, { slot: "tabs-list", role: "tablist" });
647
750
  }
648
751
 
752
+ /** Renders the `tabs-content` part of the shadcn-compatible catalog primitives. */
649
753
  export function TabsTrigger(props: CatalogComponentProps): JSX.Element {
650
754
  return buttonPart(props, "tabs-trigger", "tab");
651
755
  }
652
756
 
757
+ /** Renders the `tabs-content` part of the shadcn-compatible catalog primitives. */
653
758
  export function TabsContent(props: CatalogComponentProps): JSX.Element {
654
759
  return catalogPart(props, { slot: "tabs-content", role: "tabpanel" });
655
760
  }
656
761
 
762
+ /** Sheet variant of the dialog content part; defaults to sliding in from the right. */
657
763
  export function SheetContent(
658
764
  props: CatalogComponentProps & {
659
765
  side?: "top" | "right" | "bottom" | "left";
@@ -663,64 +769,80 @@ export function SheetContent(
663
769
  return <CatalogDialogContent {...rest} data-side={side} data-slot="sheet-content" />;
664
770
  }
665
771
 
772
+ /** Renders the `sheet-header` part of the shadcn-compatible catalog primitives. */
666
773
  export function SheetHeader(props: CatalogComponentProps): JSX.Element {
667
774
  return catalogPart(props, { slot: "sheet-header" });
668
775
  }
669
776
 
777
+ /** Renders the `sheet-footer` part of the shadcn-compatible catalog primitives. */
670
778
  export function SheetFooter(props: CatalogComponentProps): JSX.Element {
671
779
  return catalogPart(props, { slot: "sheet-footer" });
672
780
  }
673
781
 
782
+ /** Sheet variant of the dialog title part. */
674
783
  export function SheetTitle(props: CatalogComponentProps): JSX.Element {
675
784
  return <CatalogDialogTitle {...props} data-slot="sheet-title" />;
676
785
  }
677
786
 
787
+ /** Sheet variant of the dialog description part. */
678
788
  export function SheetDescription(props: CatalogComponentProps): JSX.Element {
679
789
  return <CatalogDialogDescription {...props} data-slot="sheet-description" />;
680
790
  }
681
791
 
792
+ /** Renders the `sonner` part of the shadcn-compatible catalog primitives. */
682
793
  export function Toaster(props: CatalogComponentProps): JSX.Element {
683
794
  return catalogPart(props, { slot: "sonner" });
684
795
  }
685
796
 
797
+ /** Alias of {@link Toaster} kept for shadcn/sonner API compatibility. */
686
798
  export const Sonner = Toaster;
687
799
 
800
+ /** Renders the `typography` part of the shadcn-compatible catalog primitives. */
688
801
  export function Typography(props: CatalogComponentProps): JSX.Element {
689
802
  return catalogPart(props, { slot: "typography" });
690
803
  }
691
804
 
805
+ /** Renders the `typography-h1` part of the shadcn-compatible catalog primitives. */
692
806
  export function TypographyH1(props: CatalogComponentProps): JSX.Element {
693
807
  return catalogPart(props, { slot: "typography-h1", element: "h1" });
694
808
  }
695
809
 
810
+ /** Renders the `typography-h2` part of the shadcn-compatible catalog primitives. */
696
811
  export function TypographyH2(props: CatalogComponentProps): JSX.Element {
697
812
  return catalogPart(props, { slot: "typography-h2", element: "h2" });
698
813
  }
699
814
 
815
+ /** Renders the `typography-h3` part of the shadcn-compatible catalog primitives. */
700
816
  export function TypographyH3(props: CatalogComponentProps): JSX.Element {
701
817
  return catalogPart(props, { slot: "typography-h3", element: "h3" });
702
818
  }
703
819
 
820
+ /** Renders the `typography-h4` part of the shadcn-compatible catalog primitives. */
704
821
  export function TypographyH4(props: CatalogComponentProps): JSX.Element {
705
822
  return catalogPart(props, { slot: "typography-h4", element: "h4" });
706
823
  }
707
824
 
825
+ /** Renders the `typography-p` part of the shadcn-compatible catalog primitives. */
708
826
  export function TypographyP(props: CatalogComponentProps): JSX.Element {
709
827
  return catalogPart(props, { slot: "typography-p", element: "p" });
710
828
  }
711
829
 
830
+ /** Renders the `typography-blockquote` part of the shadcn-compatible catalog primitives. */
712
831
  export function TypographyBlockquote(props: CatalogComponentProps): JSX.Element {
713
832
  return catalogPart(props, { slot: "typography-blockquote", element: "blockquote" });
714
833
  }
715
834
 
835
+ /** Renders the `typography-list` part of the shadcn-compatible catalog primitives. */
716
836
  export function TypographyList(props: CatalogComponentProps): JSX.Element {
717
837
  return catalogPart(props, { slot: "typography-list", element: "ul" });
718
838
  }
719
839
 
840
+ /** Renders the `typography-lead` part of the shadcn-compatible catalog primitives. */
720
841
  export function TypographyLead(props: CatalogComponentProps): JSX.Element {
721
842
  return catalogPart(props, { slot: "typography-lead", element: "p" });
722
843
  }
723
844
 
845
+ /** Renders the `typography-muted` part of the shadcn-compatible catalog primitives. */
724
846
  export function TypographyMuted(props: CatalogComponentProps): JSX.Element {
725
847
  return catalogPart(props, { slot: "typography-muted", element: "p" });
726
848
  }
@@ -3,6 +3,7 @@ import { Button, type ButtonNativeProps } from "@askrjs/ui";
3
3
  import { classes } from "../_internal/classes";
4
4
  import type { CloseNativeProps } from "./close.types";
5
5
 
6
+ /** Renders a dismiss ("×") icon button, built on top of `Button`, defaulting to an icon-sized ghost variant with an accessible `label`. */
6
7
  export function Close(props: CloseNativeProps): JSX.Element;
7
8
  export function Close(props: CloseNativeProps): JSX.Element {
8
9
  const { children, class: className, label = "Close", size, variant, ...rest } = props;
@@ -1,7 +1,9 @@
1
1
  import type { ButtonNativeProps } from "@askrjs/ui";
2
2
 
3
+ /** Props specific to {@link Close}, layered on top of {@link ButtonNativeProps}. */
3
4
  export type CloseOwnProps = {
4
5
  label?: string;
5
6
  };
6
7
 
8
+ /** Props for the {@link Close} component. */
7
9
  export type CloseNativeProps = ButtonNativeProps & CloseOwnProps;