@starwind-ui/core 1.15.4 → 1.16.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.
Files changed (183) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +67 -43
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/components/accordion/Accordion.astro +1 -1
  5. package/dist/src/components/accordion/AccordionContent.astro +1 -1
  6. package/dist/src/components/accordion/AccordionItem.astro +1 -1
  7. package/dist/src/components/accordion/AccordionTrigger.astro +1 -1
  8. package/dist/src/components/alert/Alert.astro +1 -1
  9. package/dist/src/components/alert/AlertDescription.astro +1 -1
  10. package/dist/src/components/alert/AlertTitle.astro +1 -1
  11. package/dist/src/components/alert-dialog/AlertDialog.astro +1 -1
  12. package/dist/src/components/alert-dialog/AlertDialogAction.astro +1 -1
  13. package/dist/src/components/alert-dialog/AlertDialogCancel.astro +1 -1
  14. package/dist/src/components/alert-dialog/AlertDialogContent.astro +3 -3
  15. package/dist/src/components/alert-dialog/AlertDialogDescription.astro +1 -1
  16. package/dist/src/components/alert-dialog/AlertDialogFooter.astro +1 -1
  17. package/dist/src/components/alert-dialog/AlertDialogHeader.astro +1 -1
  18. package/dist/src/components/alert-dialog/AlertDialogTitle.astro +1 -1
  19. package/dist/src/components/alert-dialog/AlertDialogTrigger.astro +2 -2
  20. package/dist/src/components/aspect-ratio/AspectRatio.astro +1 -1
  21. package/dist/src/components/avatar/Avatar.astro +1 -1
  22. package/dist/src/components/avatar/AvatarFallback.astro +1 -1
  23. package/dist/src/components/avatar/AvatarImage.astro +2 -2
  24. package/dist/src/components/badge/Badge.astro +1 -1
  25. package/dist/src/components/breadcrumb/Breadcrumb.astro +1 -1
  26. package/dist/src/components/breadcrumb/BreadcrumbEllipsis.astro +1 -1
  27. package/dist/src/components/breadcrumb/BreadcrumbItem.astro +1 -1
  28. package/dist/src/components/breadcrumb/BreadcrumbLink.astro +1 -1
  29. package/dist/src/components/breadcrumb/BreadcrumbList.astro +2 -2
  30. package/dist/src/components/breadcrumb/BreadcrumbPage.astro +1 -1
  31. package/dist/src/components/breadcrumb/BreadcrumbSeparator.astro +1 -1
  32. package/dist/src/components/button/Button.astro +1 -1
  33. package/dist/src/components/button-group/ButtonGroup.astro +1 -1
  34. package/dist/src/components/button-group/ButtonGroupSeparator.astro +1 -1
  35. package/dist/src/components/button-group/ButtonGroupText.astro +1 -1
  36. package/dist/src/components/card/Card.astro +1 -1
  37. package/dist/src/components/card/CardAction.astro +1 -1
  38. package/dist/src/components/card/CardContent.astro +1 -1
  39. package/dist/src/components/card/CardDescription.astro +1 -1
  40. package/dist/src/components/card/CardFooter.astro +1 -1
  41. package/dist/src/components/card/CardHeader.astro +1 -1
  42. package/dist/src/components/card/CardTitle.astro +1 -1
  43. package/dist/src/components/carousel/Carousel.astro +1 -1
  44. package/dist/src/components/carousel/CarouselContent.astro +1 -1
  45. package/dist/src/components/carousel/CarouselItem.astro +1 -1
  46. package/dist/src/components/carousel/CarouselNext.astro +1 -1
  47. package/dist/src/components/carousel/CarouselPrevious.astro +1 -1
  48. package/dist/src/components/checkbox/Checkbox.astro +1 -1
  49. package/dist/src/components/collapsible/Collapsible.astro +1 -1
  50. package/dist/src/components/collapsible/CollapsibleContent.astro +1 -1
  51. package/dist/src/components/collapsible/CollapsibleTrigger.astro +1 -1
  52. package/dist/src/components/dialog/Dialog.astro +1 -1
  53. package/dist/src/components/dialog/DialogClose.astro +1 -1
  54. package/dist/src/components/dialog/DialogContent.astro +2 -2
  55. package/dist/src/components/dialog/DialogDescription.astro +1 -1
  56. package/dist/src/components/dialog/DialogFooter.astro +1 -1
  57. package/dist/src/components/dialog/DialogHeader.astro +1 -1
  58. package/dist/src/components/dialog/DialogTitle.astro +1 -1
  59. package/dist/src/components/dialog/DialogTrigger.astro +1 -1
  60. package/dist/src/components/dropdown/Dropdown.astro +261 -34
  61. package/dist/src/components/dropdown/DropdownContent.astro +41 -5
  62. package/dist/src/components/dropdown/DropdownItem.astro +2 -2
  63. package/dist/src/components/dropdown/DropdownLabel.astro +2 -2
  64. package/dist/src/components/dropdown/DropdownSeparator.astro +1 -1
  65. package/dist/src/components/dropdown/DropdownShortcut.astro +17 -0
  66. package/dist/src/components/dropdown/DropdownSub.astro +15 -0
  67. package/dist/src/components/dropdown/DropdownSubContent.astro +36 -0
  68. package/dist/src/components/dropdown/DropdownSubTrigger.astro +34 -0
  69. package/dist/src/components/dropdown/DropdownTrigger.astro +1 -1
  70. package/dist/src/components/dropdown/index.ts +12 -0
  71. package/dist/src/components/dropzone/DropzoneFilesList.astro +1 -1
  72. package/dist/src/components/image/Image.astro +1 -1
  73. package/dist/src/components/input/Input.astro +1 -1
  74. package/dist/src/components/input-group/InputGroup.astro +28 -0
  75. package/dist/src/components/input-group/InputGroupAddon.astro +79 -0
  76. package/dist/src/components/input-group/InputGroupButton.astro +34 -0
  77. package/dist/src/components/input-group/InputGroupInput.astro +16 -0
  78. package/dist/src/components/input-group/InputGroupText.astro +17 -0
  79. package/dist/src/components/input-group/InputGroupTextarea.astro +20 -0
  80. package/dist/src/components/input-group/index.ts +33 -0
  81. package/dist/src/components/input-otp/InputOtp.astro +1 -1
  82. package/dist/src/components/input-otp/InputOtpGroup.astro +1 -1
  83. package/dist/src/components/input-otp/InputOtpSeparator.astro +1 -1
  84. package/dist/src/components/input-otp/InputOtpSlot.astro +1 -1
  85. package/dist/src/components/item/Item.astro +1 -1
  86. package/dist/src/components/item/ItemActions.astro +1 -1
  87. package/dist/src/components/item/ItemContent.astro +1 -1
  88. package/dist/src/components/item/ItemDescription.astro +1 -1
  89. package/dist/src/components/item/ItemFooter.astro +1 -1
  90. package/dist/src/components/item/ItemGroup.astro +1 -1
  91. package/dist/src/components/item/ItemHeader.astro +1 -1
  92. package/dist/src/components/item/ItemMedia.astro +1 -1
  93. package/dist/src/components/item/ItemSeparator.astro +1 -1
  94. package/dist/src/components/item/ItemTitle.astro +1 -1
  95. package/dist/src/components/kbd/Kbd.astro +1 -1
  96. package/dist/src/components/kbd/KbdGroup.astro +1 -1
  97. package/dist/src/components/label/Label.astro +1 -1
  98. package/dist/src/components/native-select/NativeSelect.astro +64 -0
  99. package/dist/src/components/native-select/NativeSelectOptGroup.astro +15 -0
  100. package/dist/src/components/native-select/NativeSelectOption.astro +15 -0
  101. package/dist/src/components/native-select/index.ts +21 -0
  102. package/dist/src/components/pagination/Pagination.astro +1 -1
  103. package/dist/src/components/pagination/PaginationContent.astro +1 -1
  104. package/dist/src/components/pagination/PaginationEllipsis.astro +1 -1
  105. package/dist/src/components/pagination/PaginationItem.astro +1 -1
  106. package/dist/src/components/pagination/PaginationLink.astro +1 -1
  107. package/dist/src/components/pagination/PaginationNext.astro +1 -1
  108. package/dist/src/components/pagination/PaginationPrevious.astro +1 -1
  109. package/dist/src/components/popover/Popover.astro +717 -0
  110. package/dist/src/components/popover/PopoverContent.astro +102 -0
  111. package/dist/src/components/popover/PopoverDescription.astro +14 -0
  112. package/dist/src/components/popover/PopoverHeader.astro +14 -0
  113. package/dist/src/components/popover/PopoverTitle.astro +14 -0
  114. package/dist/src/components/popover/PopoverTrigger.astro +51 -0
  115. package/dist/src/components/popover/index.ts +34 -0
  116. package/dist/src/components/progress/Progress.astro +1 -1
  117. package/dist/src/components/prose/Prose.astro +1 -1
  118. package/dist/src/components/radio-group/RadioGroup.astro +1 -1
  119. package/dist/src/components/radio-group/RadioGroupItem.astro +1 -1
  120. package/dist/src/components/select/Select.astro +1 -1
  121. package/dist/src/components/select/SelectContent.astro +1 -1
  122. package/dist/src/components/select/SelectItem.astro +1 -1
  123. package/dist/src/components/select/SelectLabel.astro +1 -1
  124. package/dist/src/components/select/SelectSearch.astro +1 -1
  125. package/dist/src/components/select/SelectSeparator.astro +1 -1
  126. package/dist/src/components/select/SelectTrigger.astro +1 -1
  127. package/dist/src/components/select/SelectValue.astro +1 -1
  128. package/dist/src/components/separator/Separator.astro +1 -1
  129. package/dist/src/components/sheet/Sheet.astro +1 -1
  130. package/dist/src/components/sheet/SheetContent.astro +1 -1
  131. package/dist/src/components/sheet/SheetDescription.astro +1 -1
  132. package/dist/src/components/sheet/SheetFooter.astro +1 -1
  133. package/dist/src/components/sheet/SheetHeader.astro +1 -1
  134. package/dist/src/components/sheet/SheetTitle.astro +1 -1
  135. package/dist/src/components/sidebar/Sidebar.astro +19 -2
  136. package/dist/src/components/sidebar/SidebarContent.astro +1 -1
  137. package/dist/src/components/sidebar/SidebarFooter.astro +1 -1
  138. package/dist/src/components/sidebar/SidebarGroup.astro +1 -1
  139. package/dist/src/components/sidebar/SidebarGroupContent.astro +1 -1
  140. package/dist/src/components/sidebar/SidebarGroupLabel.astro +2 -2
  141. package/dist/src/components/sidebar/SidebarHeader.astro +1 -1
  142. package/dist/src/components/sidebar/SidebarInput.astro +1 -1
  143. package/dist/src/components/sidebar/SidebarInset.astro +1 -1
  144. package/dist/src/components/sidebar/SidebarMenu.astro +1 -1
  145. package/dist/src/components/sidebar/SidebarMenuAction.astro +1 -1
  146. package/dist/src/components/sidebar/SidebarMenuBadge.astro +1 -1
  147. package/dist/src/components/sidebar/SidebarMenuButton.astro +2 -14
  148. package/dist/src/components/sidebar/SidebarMenuItem.astro +1 -1
  149. package/dist/src/components/sidebar/SidebarMenuSkeleton.astro +1 -1
  150. package/dist/src/components/sidebar/SidebarMenuSub.astro +1 -1
  151. package/dist/src/components/sidebar/SidebarMenuSubButton.astro +1 -1
  152. package/dist/src/components/sidebar/SidebarMenuSubItem.astro +1 -1
  153. package/dist/src/components/sidebar/SidebarProvider.astro +1 -1
  154. package/dist/src/components/sidebar/SidebarRail.astro +2 -2
  155. package/dist/src/components/sidebar/SidebarSeparator.astro +1 -1
  156. package/dist/src/components/sidebar/SidebarTrigger.astro +1 -1
  157. package/dist/src/components/skeleton/Skeleton.astro +1 -1
  158. package/dist/src/components/slider/Slider.astro +1 -1
  159. package/dist/src/components/spinner/Spinner.astro +1 -1
  160. package/dist/src/components/switch/Switch.astro +1 -1
  161. package/dist/src/components/table/Table.astro +1 -1
  162. package/dist/src/components/table/TableBody.astro +1 -1
  163. package/dist/src/components/table/TableCaption.astro +1 -1
  164. package/dist/src/components/table/TableCell.astro +1 -1
  165. package/dist/src/components/table/TableFoot.astro +1 -1
  166. package/dist/src/components/table/TableHead.astro +1 -1
  167. package/dist/src/components/table/TableHeader.astro +1 -1
  168. package/dist/src/components/table/TableRow.astro +1 -1
  169. package/dist/src/components/tabs/Tabs.astro +1 -1
  170. package/dist/src/components/tabs/TabsContent.astro +1 -1
  171. package/dist/src/components/tabs/TabsList.astro +1 -1
  172. package/dist/src/components/tabs/TabsTrigger.astro +1 -1
  173. package/dist/src/components/textarea/Textarea.astro +1 -1
  174. package/dist/src/components/theme-toggle/ThemeToggle.astro +1 -1
  175. package/dist/src/components/toast/ToastDescription.astro +1 -1
  176. package/dist/src/components/toast/ToastItem.astro +1 -1
  177. package/dist/src/components/toast/Toaster.astro +1 -1
  178. package/dist/src/components/toggle/Toggle.astro +1 -1
  179. package/dist/src/components/tooltip/Tooltip.astro +260 -122
  180. package/dist/src/components/tooltip/TooltipContent.astro +13 -23
  181. package/dist/src/components/video/Video.astro +2 -2
  182. package/dist/src/lib/utils/starwind/positioning.ts +318 -0
  183. package/package.json +1 -1
@@ -11,6 +11,6 @@ export const cardContent = tv({
11
11
  const { class: className, ...rest } = Astro.props;
12
12
  ---
13
13
 
14
- <div class={cardContent({ class: className })} data-slot="card-content" {...rest}>
14
+ <div class={cardContent({ class: className })} {...rest} data-slot="card-content">
15
15
  <slot />
16
16
  </div>
@@ -11,6 +11,6 @@ export const cardDescription = tv({
11
11
  const { class: className, ...rest } = Astro.props;
12
12
  ---
13
13
 
14
- <div class={cardDescription({ class: className })} data-slot="card-description" {...rest}>
14
+ <div class={cardDescription({ class: className })} {...rest} data-slot="card-description">
15
15
  <slot />
16
16
  </div>
@@ -11,6 +11,6 @@ export const cardFooter = tv({
11
11
  const { class: className, ...rest } = Astro.props;
12
12
  ---
13
13
 
14
- <div class={cardFooter({ class: className })} data-slot="card-footer" {...rest}>
14
+ <div class={cardFooter({ class: className })} {...rest} data-slot="card-footer">
15
15
  <slot />
16
16
  </div>
@@ -14,6 +14,6 @@ export const cardHeader = tv({
14
14
  const { class: className, ...rest } = Astro.props;
15
15
  ---
16
16
 
17
- <div class={cardHeader({ class: className })} data-slot="card-header" {...rest}>
17
+ <div class={cardHeader({ class: className })} {...rest} data-slot="card-header">
18
18
  <slot />
19
19
  </div>
@@ -11,6 +11,6 @@ export const cardTitle = tv({
11
11
  const { class: className, ...rest } = Astro.props;
12
12
  ---
13
13
 
14
- <div class={cardTitle({ class: className })} data-slot="card-title" {...rest}>
14
+ <div class={cardTitle({ class: className })} {...rest} data-slot="card-title">
15
15
  <slot />
16
16
  </div>
@@ -26,11 +26,11 @@ const {
26
26
  class={carousel({ class: className })}
27
27
  role="region"
28
28
  aria-roledescription="carousel"
29
- data-slot="carousel"
30
29
  data-axis={orientation === "horizontal" ? "x" : "y"}
31
30
  data-opts={JSON.stringify(opts)}
32
31
  data-auto-init={autoInit}
33
32
  {...rest}
33
+ data-slot="carousel"
34
34
  >
35
35
  <slot />
36
36
  </div>
@@ -19,7 +19,7 @@ type Props = HTMLAttributes<"div">;
19
19
  const { class: className = "", ...rest } = Astro.props;
20
20
  ---
21
21
 
22
- <div class={carouselContent()} data-slot="carousel-content" {...rest}>
22
+ <div class={carouselContent()} {...rest} data-slot="carousel-content">
23
23
  <div class={carouselContainer({ class: className })} data-slot="carousel-container">
24
24
  <slot />
25
25
  </div>
@@ -18,9 +18,9 @@ const { class: className = "", ...rest } = Astro.props;
18
18
  <div
19
19
  role="group"
20
20
  aria-roledescription="slide"
21
- data-slot="carousel-item"
22
21
  class={carouselItem({ class: className })}
23
22
  {...rest}
23
+ data-slot="carousel-item"
24
24
  >
25
25
  <slot />
26
26
  </div>
@@ -21,12 +21,12 @@ const { class: className = "", variant = "outline", size = "icon", ...rest } = A
21
21
  ---
22
22
 
23
23
  <Button
24
- data-slot="carousel-next"
25
24
  variant={variant}
26
25
  size={size}
27
26
  class={carouselNext({ class: className })}
28
27
  aria-label="Next slide"
29
28
  {...rest}
29
+ data-slot="carousel-next"
30
30
  >
31
31
  <slot name="icon">
32
32
  <ArrowRight />
@@ -21,12 +21,12 @@ const { class: className = "", variant = "outline", size = "icon", ...rest } = A
21
21
  ---
22
22
 
23
23
  <Button
24
- data-slot="carousel-previous"
25
24
  variant={variant}
26
25
  size={size}
27
26
  class={carouselPrevious({ class: className })}
28
27
  aria-label="Previous slide"
29
28
  {...rest}
29
+ data-slot="carousel-previous"
30
30
  >
31
31
  <slot name="icon">
32
32
  <ArrowLeft />
@@ -84,9 +84,9 @@ const { base, input, icon, label: labelClass } = checkbox({ size, variant });
84
84
  type="checkbox"
85
85
  id={id}
86
86
  class={input({ class: className })}
87
- data-slot="checkbox-input"
88
87
  {checked}
89
88
  {...rest}
89
+ data-slot="checkbox-input"
90
90
  />
91
91
  <Check class={icon()} />
92
92
  {
@@ -34,11 +34,11 @@ const finalId = (rest as Record<string, unknown>)["id"] as string | undefined;
34
34
  ---
35
35
 
36
36
  <div
37
- {...sanitizedRest}
38
37
  id={finalId}
39
38
  class={collapsible({ class: className })}
40
39
  data-state={finalDataState}
41
40
  data-disabled={finalDataDisabled}
41
+ {...sanitizedRest}
42
42
  data-slot="collapsible"
43
43
  >
44
44
  <slot />
@@ -14,9 +14,9 @@ const { class: className, ...rest } = Astro.props;
14
14
  <div
15
15
  class={collapsibleContent({ class: className })}
16
16
  data-state="closed"
17
- data-slot="collapsible-content"
18
17
  hidden
19
18
  {...rest}
19
+ data-slot="collapsible-content"
20
20
  >
21
21
  <slot />
22
22
  </div>
@@ -35,8 +35,8 @@ if (Astro.slots.has("default")) {
35
35
  <button
36
36
  type="button"
37
37
  class={collapsibleTrigger({ class: className })}
38
- data-slot="collapsible-trigger"
39
38
  {...rest}
39
+ data-slot="collapsible-trigger"
40
40
  >
41
41
  <slot />
42
42
  </button>
@@ -6,7 +6,7 @@ type Props = HTMLAttributes<"div">;
6
6
  const { class: className, ...rest } = Astro.props;
7
7
  ---
8
8
 
9
- <div class:list={["starwind-dialog", className]} data-slot="dialog" {...rest}>
9
+ <div class:list={["starwind-dialog", className]} {...rest} data-slot="dialog">
10
10
  <slot />
11
11
  </div>
12
12
 
@@ -26,8 +26,8 @@ if (Astro.slots.has("default")) {
26
26
  <button
27
27
  type="button"
28
28
  class:list={["starwind-dialog-close", className]}
29
- data-slot="dialog-close"
30
29
  {...rest}
30
+ data-slot="dialog-close"
31
31
  >
32
32
  <slot>Demo close button</slot>
33
33
  </button>
@@ -57,9 +57,9 @@ const { class: className, animationDuration = 200, ...rest } = Astro.props;
57
57
  <dialog
58
58
  class={dialogContent({ class: className })}
59
59
  data-state="closed"
60
- data-slot="dialog-content"
61
- {...rest}
62
60
  style={{ animationDuration: `${animationDuration}ms` }}
61
+ {...rest}
62
+ data-slot="dialog-content"
63
63
  >
64
64
  <slot />
65
65
  <button type="button" class={dialogCloseButton()} data-dialog-close aria-label="Close dialog">
@@ -9,6 +9,6 @@ export const dialogDescription = tv({ base: "text-muted-foreground" });
9
9
  const { class: className, ...rest } = Astro.props;
10
10
  ---
11
11
 
12
- <p class={dialogDescription({ class: className })} data-slot="dialog-description" {...rest}>
12
+ <p class={dialogDescription({ class: className })} {...rest} data-slot="dialog-description">
13
13
  <slot />
14
14
  </p>
@@ -9,6 +9,6 @@ export const dialogFooter = tv({ base: "flex flex-col-reverse gap-2 sm:flex-row
9
9
  const { class: className, ...rest } = Astro.props;
10
10
  ---
11
11
 
12
- <div class={dialogFooter({ class: className })} data-slot="dialog-footer" {...rest}>
12
+ <div class={dialogFooter({ class: className })} {...rest} data-slot="dialog-footer">
13
13
  <slot />
14
14
  </div>
@@ -9,6 +9,6 @@ export const dialogHeader = tv({ base: "flex flex-col space-y-2 text-center sm:t
9
9
  const { class: className, ...rest } = Astro.props;
10
10
  ---
11
11
 
12
- <div class={dialogHeader({ class: className })} data-slot="dialog-header" {...rest}>
12
+ <div class={dialogHeader({ class: className })} {...rest} data-slot="dialog-header">
13
13
  <slot />
14
14
  </div>
@@ -17,6 +17,6 @@ export const dialogTitle = tv({
17
17
  const { class: className, ...rest } = Astro.props;
18
18
  ---
19
19
 
20
- <h2 class={dialogTitle({ class: className })} data-slot="dialog-title" {...rest}>
20
+ <h2 class={dialogTitle({ class: className })} {...rest} data-slot="dialog-title">
21
21
  <slot />
22
22
  </h2>
@@ -37,9 +37,9 @@ if (Astro.slots.has("default")) {
37
37
  type="button"
38
38
  aria-haspopup="dialog"
39
39
  class:list={["starwind-dialog-trigger", className]}
40
- data-slot="dialog-trigger"
41
40
  data-dialog-for={dialogFor}
42
41
  {...rest}
42
+ data-slot="dialog-trigger"
43
43
  >
44
44
  <slot />
45
45
  </button>