@open-dy/vibecoding-sdk-taro 0.0.1-beta.4 → 0.0.1

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 (532) hide show
  1. package/dist/build/plugins/vite-tt-components-entry.d.ts +10 -0
  2. package/dist/build/plugins/vite-tt-components-entry.js +32 -0
  3. package/dist/build/plugins/vite-tt-components-entry.js.map +1 -0
  4. package/dist/build/taro.js +3 -1
  5. package/dist/build/taro.js.map +1 -1
  6. package/dist/reference/llms.txt +52 -2
  7. package/dist/reference/sdk-api/build/taro/BuildContext.md +7 -2
  8. package/dist/reference/sdk-api/build/taro/CreateMicroappTaroConfigOptions.md +1 -2
  9. package/dist/reference/sdk-api/build/taro/createMicroappTaroConfig.md +1 -2
  10. package/dist/reference/sdk-api/runtime/CreateMicroappClientOptions.md +7 -2
  11. package/dist/reference/sdk-api/runtime/createMicroappClient.md +7 -2
  12. package/dist/reference/sdk-api/ui/accordion/Accordion.md +114 -0
  13. package/dist/reference/sdk-api/ui/accordion/AccordionContent.md +100 -0
  14. package/dist/reference/sdk-api/ui/accordion/AccordionItem.md +107 -0
  15. package/dist/reference/sdk-api/ui/accordion/AccordionTrigger.md +100 -0
  16. package/dist/reference/sdk-api/ui/accordion/index.md +12 -0
  17. package/dist/reference/sdk-api/ui/alert/Alert.md +106 -0
  18. package/dist/reference/sdk-api/ui/alert/AlertAction.md +100 -0
  19. package/dist/reference/sdk-api/ui/alert/AlertDescription.md +100 -0
  20. package/dist/reference/sdk-api/ui/alert/AlertTitle.md +100 -0
  21. package/dist/reference/sdk-api/ui/alert/index.md +12 -0
  22. package/dist/reference/sdk-api/ui/alert-dialog/AlertDialog.md +58 -0
  23. package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogAction.md +107 -0
  24. package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogCancel.md +107 -0
  25. package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogContent.md +106 -0
  26. package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogDescription.md +100 -0
  27. package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogFooter.md +100 -0
  28. package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogHeader.md +100 -0
  29. package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogOverlay.md +100 -0
  30. package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogPortal.md +55 -0
  31. package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogTitle.md +100 -0
  32. package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogTrigger.md +118 -0
  33. package/dist/reference/sdk-api/ui/alert-dialog/index.md +19 -0
  34. package/dist/reference/sdk-api/ui/aspect-ratio/AspectRatio.md +106 -0
  35. package/dist/reference/sdk-api/ui/aspect-ratio/index.md +9 -0
  36. package/dist/reference/sdk-api/ui/avatar/Avatar.md +106 -0
  37. package/dist/reference/sdk-api/ui/avatar/AvatarBadge.md +100 -0
  38. package/dist/reference/sdk-api/ui/avatar/AvatarFallback.md +100 -0
  39. package/dist/reference/sdk-api/ui/avatar/AvatarGroup.md +100 -0
  40. package/dist/reference/sdk-api/ui/avatar/AvatarGroupCount.md +100 -0
  41. package/dist/reference/sdk-api/ui/avatar/AvatarImage.md +108 -0
  42. package/dist/reference/sdk-api/ui/avatar/index.md +14 -0
  43. package/dist/reference/sdk-api/ui/badge/Badge.md +114 -0
  44. package/dist/reference/sdk-api/ui/badge/badgeVariants.md +70 -0
  45. package/dist/reference/sdk-api/ui/badge/index.md +10 -0
  46. package/dist/reference/sdk-api/ui/button/Button.md +210 -0
  47. package/dist/reference/sdk-api/ui/button/ButtonProps.md +188 -0
  48. package/dist/reference/sdk-api/ui/button/buttonVariants.md +84 -0
  49. package/dist/reference/sdk-api/ui/button/index.md +11 -0
  50. package/dist/reference/sdk-api/ui/button-group/ButtonGroup.md +106 -0
  51. package/dist/reference/sdk-api/ui/button-group/ButtonGroupSeparator.md +106 -0
  52. package/dist/reference/sdk-api/ui/button-group/ButtonGroupText.md +106 -0
  53. package/dist/reference/sdk-api/ui/button-group/buttonGroupVariants.md +70 -0
  54. package/dist/reference/sdk-api/ui/button-group/index.md +12 -0
  55. package/dist/reference/sdk-api/ui/calendar/Calendar.md +144 -0
  56. package/dist/reference/sdk-api/ui/calendar/CalendarProps.md +118 -0
  57. package/dist/reference/sdk-api/ui/calendar/index.md +10 -0
  58. package/dist/reference/sdk-api/ui/card/Card.md +106 -0
  59. package/dist/reference/sdk-api/ui/card/CardAction.md +100 -0
  60. package/dist/reference/sdk-api/ui/card/CardContent.md +100 -0
  61. package/dist/reference/sdk-api/ui/card/CardDescription.md +100 -0
  62. package/dist/reference/sdk-api/ui/card/CardFooter.md +100 -0
  63. package/dist/reference/sdk-api/ui/card/CardHeader.md +100 -0
  64. package/dist/reference/sdk-api/ui/card/CardTitle.md +100 -0
  65. package/dist/reference/sdk-api/ui/card/index.md +15 -0
  66. package/dist/reference/sdk-api/ui/carousel/Carousel.md +108 -0
  67. package/dist/reference/sdk-api/ui/carousel/CarouselContent.md +100 -0
  68. package/dist/reference/sdk-api/ui/carousel/CarouselItem.md +100 -0
  69. package/dist/reference/sdk-api/ui/carousel/CarouselNext.md +219 -0
  70. package/dist/reference/sdk-api/ui/carousel/CarouselPrevious.md +219 -0
  71. package/dist/reference/sdk-api/ui/carousel/index.md +14 -0
  72. package/dist/reference/sdk-api/ui/carousel/useCarousel.md +46 -0
  73. package/dist/reference/sdk-api/ui/checkbox/Checkbox.md +109 -0
  74. package/dist/reference/sdk-api/ui/checkbox/index.md +9 -0
  75. package/dist/reference/sdk-api/ui/collapsible/Collapsible.md +108 -0
  76. package/dist/reference/sdk-api/ui/collapsible/CollapsibleContent.md +100 -0
  77. package/dist/reference/sdk-api/ui/collapsible/CollapsibleTrigger.md +119 -0
  78. package/dist/reference/sdk-api/ui/collapsible/index.md +11 -0
  79. package/dist/reference/sdk-api/ui/combobox/Combobox.md +124 -0
  80. package/dist/reference/sdk-api/ui/combobox/ComboboxChip.md +107 -0
  81. package/dist/reference/sdk-api/ui/combobox/ComboboxChips.md +100 -0
  82. package/dist/reference/sdk-api/ui/combobox/ComboboxChipsInput.md +107 -0
  83. package/dist/reference/sdk-api/ui/combobox/ComboboxCollection.md +100 -0
  84. package/dist/reference/sdk-api/ui/combobox/ComboboxContent.md +106 -0
  85. package/dist/reference/sdk-api/ui/combobox/ComboboxEmpty.md +100 -0
  86. package/dist/reference/sdk-api/ui/combobox/ComboboxGroup.md +100 -0
  87. package/dist/reference/sdk-api/ui/combobox/ComboboxInput.md +113 -0
  88. package/dist/reference/sdk-api/ui/combobox/ComboboxItem.md +106 -0
  89. package/dist/reference/sdk-api/ui/combobox/ComboboxLabel.md +100 -0
  90. package/dist/reference/sdk-api/ui/combobox/ComboboxList.md +105 -0
  91. package/dist/reference/sdk-api/ui/combobox/ComboboxSeparator.md +100 -0
  92. package/dist/reference/sdk-api/ui/combobox/ComboboxTrigger.md +100 -0
  93. package/dist/reference/sdk-api/ui/combobox/ComboboxValue.md +105 -0
  94. package/dist/reference/sdk-api/ui/combobox/index.md +24 -0
  95. package/dist/reference/sdk-api/ui/combobox/useComboboxAnchor.md +43 -0
  96. package/dist/reference/sdk-api/ui/dialog/Dialog.md +58 -0
  97. package/dist/reference/sdk-api/ui/dialog/DialogClose.md +100 -0
  98. package/dist/reference/sdk-api/ui/dialog/DialogContent.md +107 -0
  99. package/dist/reference/sdk-api/ui/dialog/DialogDescription.md +100 -0
  100. package/dist/reference/sdk-api/ui/dialog/DialogFooter.md +100 -0
  101. package/dist/reference/sdk-api/ui/dialog/DialogHeader.md +100 -0
  102. package/dist/reference/sdk-api/ui/dialog/DialogOverlay.md +100 -0
  103. package/dist/reference/sdk-api/ui/dialog/DialogPortal.md +55 -0
  104. package/dist/reference/sdk-api/ui/dialog/DialogTitle.md +100 -0
  105. package/dist/reference/sdk-api/ui/dialog/DialogTrigger.md +106 -0
  106. package/dist/reference/sdk-api/ui/dialog/index.md +18 -0
  107. package/dist/reference/sdk-api/ui/drawer/Drawer.md +59 -0
  108. package/dist/reference/sdk-api/ui/drawer/DrawerClose.md +100 -0
  109. package/dist/reference/sdk-api/ui/drawer/DrawerContent.md +100 -0
  110. package/dist/reference/sdk-api/ui/drawer/DrawerDescription.md +100 -0
  111. package/dist/reference/sdk-api/ui/drawer/DrawerFooter.md +100 -0
  112. package/dist/reference/sdk-api/ui/drawer/DrawerHeader.md +100 -0
  113. package/dist/reference/sdk-api/ui/drawer/DrawerOverlay.md +100 -0
  114. package/dist/reference/sdk-api/ui/drawer/DrawerPortal.md +55 -0
  115. package/dist/reference/sdk-api/ui/drawer/DrawerTitle.md +100 -0
  116. package/dist/reference/sdk-api/ui/drawer/DrawerTrigger.md +100 -0
  117. package/dist/reference/sdk-api/ui/drawer/index.md +18 -0
  118. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenu.md +58 -0
  119. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuCheckboxItem.md +107 -0
  120. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuContent.md +106 -0
  121. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuGroup.md +100 -0
  122. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuItem.md +107 -0
  123. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuLabel.md +106 -0
  124. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuPortal.md +55 -0
  125. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuRadioGroup.md +100 -0
  126. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuRadioItem.md +106 -0
  127. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuSeparator.md +100 -0
  128. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuShortcut.md +100 -0
  129. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuSub.md +58 -0
  130. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuSubContent.md +100 -0
  131. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuSubTrigger.md +106 -0
  132. package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuTrigger.md +119 -0
  133. package/dist/reference/sdk-api/ui/dropdown-menu/index.md +23 -0
  134. package/dist/reference/sdk-api/ui/empty/Empty.md +100 -0
  135. package/dist/reference/sdk-api/ui/empty/EmptyContent.md +100 -0
  136. package/dist/reference/sdk-api/ui/empty/EmptyDescription.md +100 -0
  137. package/dist/reference/sdk-api/ui/empty/EmptyHeader.md +100 -0
  138. package/dist/reference/sdk-api/ui/empty/EmptyMedia.md +106 -0
  139. package/dist/reference/sdk-api/ui/empty/EmptyTitle.md +100 -0
  140. package/dist/reference/sdk-api/ui/empty/index.md +14 -0
  141. package/dist/reference/sdk-api/ui/field/Field.md +106 -0
  142. package/dist/reference/sdk-api/ui/field/FieldContent.md +100 -0
  143. package/dist/reference/sdk-api/ui/field/FieldDescription.md +100 -0
  144. package/dist/reference/sdk-api/ui/field/FieldError.md +112 -0
  145. package/dist/reference/sdk-api/ui/field/FieldGroup.md +100 -0
  146. package/dist/reference/sdk-api/ui/field/FieldLabel.md +85 -0
  147. package/dist/reference/sdk-api/ui/field/FieldLegend.md +106 -0
  148. package/dist/reference/sdk-api/ui/field/FieldSeparator.md +105 -0
  149. package/dist/reference/sdk-api/ui/field/FieldSet.md +100 -0
  150. package/dist/reference/sdk-api/ui/field/FieldTitle.md +100 -0
  151. package/dist/reference/sdk-api/ui/field/index.md +18 -0
  152. package/dist/reference/sdk-api/ui/helpers/collectDataIconState.md +66 -0
  153. package/dist/reference/sdk-api/ui/helpers/index.md +9 -0
  154. package/dist/reference/sdk-api/ui/index.md +57 -0
  155. package/dist/reference/sdk-api/ui/input/Input.md +141 -0
  156. package/dist/reference/sdk-api/ui/input/index.md +9 -0
  157. package/dist/reference/sdk-api/ui/input-group/InputGroup.md +100 -0
  158. package/dist/reference/sdk-api/ui/input-group/InputGroupAddon.md +109 -0
  159. package/dist/reference/sdk-api/ui/input-group/InputGroupButton.md +220 -0
  160. package/dist/reference/sdk-api/ui/input-group/InputGroupInput.md +135 -0
  161. package/dist/reference/sdk-api/ui/input-group/InputGroupText.md +100 -0
  162. package/dist/reference/sdk-api/ui/input-group/InputGroupTextarea.md +126 -0
  163. package/dist/reference/sdk-api/ui/input-group/index.md +14 -0
  164. package/dist/reference/sdk-api/ui/input-otp/InputOTP.md +111 -0
  165. package/dist/reference/sdk-api/ui/input-otp/InputOTPGroup.md +100 -0
  166. package/dist/reference/sdk-api/ui/input-otp/InputOTPSeparator.md +100 -0
  167. package/dist/reference/sdk-api/ui/input-otp/InputOTPSlot.md +107 -0
  168. package/dist/reference/sdk-api/ui/input-otp/index.md +12 -0
  169. package/dist/reference/sdk-api/ui/item/Item.md +115 -0
  170. package/dist/reference/sdk-api/ui/item/ItemActions.md +100 -0
  171. package/dist/reference/sdk-api/ui/item/ItemContent.md +100 -0
  172. package/dist/reference/sdk-api/ui/item/ItemDescription.md +100 -0
  173. package/dist/reference/sdk-api/ui/item/ItemFooter.md +100 -0
  174. package/dist/reference/sdk-api/ui/item/ItemGroup.md +100 -0
  175. package/dist/reference/sdk-api/ui/item/ItemHeader.md +100 -0
  176. package/dist/reference/sdk-api/ui/item/ItemMedia.md +106 -0
  177. package/dist/reference/sdk-api/ui/item/ItemSeparator.md +106 -0
  178. package/dist/reference/sdk-api/ui/item/ItemTitle.md +100 -0
  179. package/dist/reference/sdk-api/ui/item/index.md +18 -0
  180. package/dist/reference/sdk-api/ui/label/Label.md +85 -0
  181. package/dist/reference/sdk-api/ui/label/index.md +9 -0
  182. package/dist/reference/sdk-api/ui/menubar/Menubar.md +100 -0
  183. package/dist/reference/sdk-api/ui/menubar/MenubarCheckboxItem.md +111 -0
  184. package/dist/reference/sdk-api/ui/menubar/MenubarContent.md +108 -0
  185. package/dist/reference/sdk-api/ui/menubar/MenubarGroup.md +100 -0
  186. package/dist/reference/sdk-api/ui/menubar/MenubarItem.md +109 -0
  187. package/dist/reference/sdk-api/ui/menubar/MenubarLabel.md +106 -0
  188. package/dist/reference/sdk-api/ui/menubar/MenubarMenu.md +55 -0
  189. package/dist/reference/sdk-api/ui/menubar/MenubarPortal.md +55 -0
  190. package/dist/reference/sdk-api/ui/menubar/MenubarRadioGroup.md +108 -0
  191. package/dist/reference/sdk-api/ui/menubar/MenubarRadioItem.md +110 -0
  192. package/dist/reference/sdk-api/ui/menubar/MenubarSeparator.md +100 -0
  193. package/dist/reference/sdk-api/ui/menubar/MenubarShortcut.md +100 -0
  194. package/dist/reference/sdk-api/ui/menubar/MenubarSub.md +58 -0
  195. package/dist/reference/sdk-api/ui/menubar/MenubarSubContent.md +108 -0
  196. package/dist/reference/sdk-api/ui/menubar/MenubarSubTrigger.md +107 -0
  197. package/dist/reference/sdk-api/ui/menubar/MenubarTrigger.md +100 -0
  198. package/dist/reference/sdk-api/ui/menubar/index.md +24 -0
  199. package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenu.md +100 -0
  200. package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuContent.md +106 -0
  201. package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuIndicator.md +100 -0
  202. package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuItem.md +106 -0
  203. package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuLink.md +106 -0
  204. package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuList.md +100 -0
  205. package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuPositioner.md +100 -0
  206. package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuTrigger.md +120 -0
  207. package/dist/reference/sdk-api/ui/navigation-menu/index.md +17 -0
  208. package/dist/reference/sdk-api/ui/navigation-menu/navigationMenuTriggerStyle.md +64 -0
  209. package/dist/reference/sdk-api/ui/pagination/Pagination.md +100 -0
  210. package/dist/reference/sdk-api/ui/pagination/PaginationContent.md +100 -0
  211. package/dist/reference/sdk-api/ui/pagination/PaginationEllipsis.md +100 -0
  212. package/dist/reference/sdk-api/ui/pagination/PaginationItem.md +100 -0
  213. package/dist/reference/sdk-api/ui/pagination/PaginationLink.md +107 -0
  214. package/dist/reference/sdk-api/ui/pagination/PaginationNext.md +121 -0
  215. package/dist/reference/sdk-api/ui/pagination/PaginationPrevious.md +121 -0
  216. package/dist/reference/sdk-api/ui/pagination/index.md +15 -0
  217. package/dist/reference/sdk-api/ui/popover/Popover.md +58 -0
  218. package/dist/reference/sdk-api/ui/popover/PopoverAnchor.md +100 -0
  219. package/dist/reference/sdk-api/ui/popover/PopoverContent.md +108 -0
  220. package/dist/reference/sdk-api/ui/popover/PopoverDescription.md +100 -0
  221. package/dist/reference/sdk-api/ui/popover/PopoverHeader.md +100 -0
  222. package/dist/reference/sdk-api/ui/popover/PopoverTitle.md +100 -0
  223. package/dist/reference/sdk-api/ui/popover/PopoverTrigger.md +119 -0
  224. package/dist/reference/sdk-api/ui/popover/index.md +15 -0
  225. package/dist/reference/sdk-api/ui/portal/Portal.md +55 -0
  226. package/dist/reference/sdk-api/ui/portal/index.md +9 -0
  227. package/dist/reference/sdk-api/ui/progress/Progress.md +109 -0
  228. package/dist/reference/sdk-api/ui/progress/ProgressIndicator.md +107 -0
  229. package/dist/reference/sdk-api/ui/progress/ProgressLabel.md +100 -0
  230. package/dist/reference/sdk-api/ui/progress/ProgressTrack.md +100 -0
  231. package/dist/reference/sdk-api/ui/progress/ProgressValue.md +105 -0
  232. package/dist/reference/sdk-api/ui/progress/index.md +13 -0
  233. package/dist/reference/sdk-api/ui/radio-group/RadioGroup.md +108 -0
  234. package/dist/reference/sdk-api/ui/radio-group/RadioGroupItem.md +107 -0
  235. package/dist/reference/sdk-api/ui/radio-group/index.md +10 -0
  236. package/dist/reference/sdk-api/ui/resizable/ResizableHandle.md +107 -0
  237. package/dist/reference/sdk-api/ui/resizable/ResizablePanel.md +108 -0
  238. package/dist/reference/sdk-api/ui/resizable/ResizablePanelGroup.md +107 -0
  239. package/dist/reference/sdk-api/ui/resizable/index.md +11 -0
  240. package/dist/reference/sdk-api/ui/scroll-area/ScrollArea.md +159 -0
  241. package/dist/reference/sdk-api/ui/scroll-area/ScrollBar.md +106 -0
  242. package/dist/reference/sdk-api/ui/scroll-area/index.md +10 -0
  243. package/dist/reference/sdk-api/ui/select/Select.md +80 -0
  244. package/dist/reference/sdk-api/ui/select/SelectContent.md +106 -0
  245. package/dist/reference/sdk-api/ui/select/SelectGroup.md +100 -0
  246. package/dist/reference/sdk-api/ui/select/SelectItem.md +106 -0
  247. package/dist/reference/sdk-api/ui/select/SelectLabel.md +100 -0
  248. package/dist/reference/sdk-api/ui/select/SelectScrollDownButton.md +100 -0
  249. package/dist/reference/sdk-api/ui/select/SelectScrollUpButton.md +100 -0
  250. package/dist/reference/sdk-api/ui/select/SelectSeparator.md +100 -0
  251. package/dist/reference/sdk-api/ui/select/SelectTrigger.md +106 -0
  252. package/dist/reference/sdk-api/ui/select/SelectValue.md +106 -0
  253. package/dist/reference/sdk-api/ui/select/index.md +18 -0
  254. package/dist/reference/sdk-api/ui/separator/Separator.md +106 -0
  255. package/dist/reference/sdk-api/ui/separator/index.md +9 -0
  256. package/dist/reference/sdk-api/ui/sheet/Sheet.md +58 -0
  257. package/dist/reference/sdk-api/ui/sheet/SheetClose.md +100 -0
  258. package/dist/reference/sdk-api/ui/sheet/SheetContent.md +113 -0
  259. package/dist/reference/sdk-api/ui/sheet/SheetDescription.md +100 -0
  260. package/dist/reference/sdk-api/ui/sheet/SheetFooter.md +100 -0
  261. package/dist/reference/sdk-api/ui/sheet/SheetHeader.md +100 -0
  262. package/dist/reference/sdk-api/ui/sheet/SheetOverlay.md +100 -0
  263. package/dist/reference/sdk-api/ui/sheet/SheetPortal.md +55 -0
  264. package/dist/reference/sdk-api/ui/sheet/SheetTitle.md +100 -0
  265. package/dist/reference/sdk-api/ui/sheet/SheetTrigger.md +100 -0
  266. package/dist/reference/sdk-api/ui/sheet/index.md +18 -0
  267. package/dist/reference/sdk-api/ui/skeleton/Skeleton.md +100 -0
  268. package/dist/reference/sdk-api/ui/skeleton/index.md +9 -0
  269. package/dist/reference/sdk-api/ui/slider/Slider.md +116 -0
  270. package/dist/reference/sdk-api/ui/slider/index.md +9 -0
  271. package/dist/reference/sdk-api/ui/sonner/Toaster.md +43 -0
  272. package/dist/reference/sdk-api/ui/sonner/index.md +10 -0
  273. package/dist/reference/sdk-api/ui/sonner/toast.md +58 -0
  274. package/dist/reference/sdk-api/ui/spinner/Spinner.md +100 -0
  275. package/dist/reference/sdk-api/ui/spinner/index.md +9 -0
  276. package/dist/reference/sdk-api/ui/switch/Switch.md +110 -0
  277. package/dist/reference/sdk-api/ui/switch/index.md +9 -0
  278. package/dist/reference/sdk-api/ui/table/Table.md +100 -0
  279. package/dist/reference/sdk-api/ui/table/TableBody.md +100 -0
  280. package/dist/reference/sdk-api/ui/table/TableCaption.md +100 -0
  281. package/dist/reference/sdk-api/ui/table/TableCell.md +106 -0
  282. package/dist/reference/sdk-api/ui/table/TableFooter.md +100 -0
  283. package/dist/reference/sdk-api/ui/table/TableHead.md +106 -0
  284. package/dist/reference/sdk-api/ui/table/TableHeader.md +100 -0
  285. package/dist/reference/sdk-api/ui/table/TableRow.md +100 -0
  286. package/dist/reference/sdk-api/ui/table/index.md +16 -0
  287. package/dist/reference/sdk-api/ui/tabs/Tabs.md +109 -0
  288. package/dist/reference/sdk-api/ui/tabs/TabsContent.md +106 -0
  289. package/dist/reference/sdk-api/ui/tabs/TabsList.md +106 -0
  290. package/dist/reference/sdk-api/ui/tabs/TabsTrigger.md +107 -0
  291. package/dist/reference/sdk-api/ui/tabs/index.md +13 -0
  292. package/dist/reference/sdk-api/ui/tabs/tabsListVariants.md +70 -0
  293. package/dist/reference/sdk-api/ui/textarea/Textarea.md +126 -0
  294. package/dist/reference/sdk-api/ui/textarea/index.md +9 -0
  295. package/dist/reference/sdk-api/ui/toggle/Toggle.md +118 -0
  296. package/dist/reference/sdk-api/ui/toggle/index.md +10 -0
  297. package/dist/reference/sdk-api/ui/toggle/toggleVariants.md +71 -0
  298. package/dist/reference/sdk-api/ui/toggle-group/ToggleGroup.md +122 -0
  299. package/dist/reference/sdk-api/ui/toggle-group/ToggleGroupItem.md +116 -0
  300. package/dist/reference/sdk-api/ui/toggle-group/index.md +10 -0
  301. package/dist/reference/sdk-api.json +73810 -2
  302. package/dist/reference/sdk-api.md +50 -2
  303. package/dist/ui/accordion.d.ts +48 -0
  304. package/dist/ui/accordion.js +40 -0
  305. package/dist/ui/accordion.js.map +1 -1
  306. package/dist/ui/alert-dialog.d.ts +123 -0
  307. package/dist/ui/alert-dialog.js +114 -0
  308. package/dist/ui/alert-dialog.js.map +1 -1
  309. package/dist/ui/alert.d.ts +41 -0
  310. package/dist/ui/alert.js +41 -0
  311. package/dist/ui/alert.js.map +1 -1
  312. package/dist/ui/aspect-ratio.d.ts +11 -0
  313. package/dist/ui/aspect-ratio.js +10 -0
  314. package/dist/ui/aspect-ratio.js.map +1 -1
  315. package/dist/ui/avatar.d.ts +65 -0
  316. package/dist/ui/avatar.js +63 -0
  317. package/dist/ui/avatar.js.map +1 -1
  318. package/dist/ui/badge.d.ts +22 -0
  319. package/dist/ui/badge.js +22 -0
  320. package/dist/ui/badge.js.map +1 -1
  321. package/dist/ui/button-group.d.ts +45 -0
  322. package/dist/ui/button-group.js +43 -0
  323. package/dist/ui/button-group.js.map +1 -1
  324. package/dist/ui/button.d.ts +52 -0
  325. package/dist/ui/button.js +30 -0
  326. package/dist/ui/button.js.map +1 -1
  327. package/dist/ui/calendar.d.ts +44 -0
  328. package/dist/ui/calendar.js +19 -0
  329. package/dist/ui/calendar.js.map +1 -1
  330. package/dist/ui/card.d.ts +71 -0
  331. package/dist/ui/card.js +70 -0
  332. package/dist/ui/card.js.map +1 -1
  333. package/dist/ui/carousel.d.ts +71 -0
  334. package/dist/ui/carousel.js +66 -0
  335. package/dist/ui/carousel.js.map +1 -1
  336. package/dist/ui/checkbox.d.ts +14 -0
  337. package/dist/ui/checkbox.js +10 -0
  338. package/dist/ui/checkbox.js.map +1 -1
  339. package/dist/ui/collapsible.d.ts +37 -0
  340. package/dist/ui/collapsible.js +30 -0
  341. package/dist/ui/collapsible.js.map +1 -1
  342. package/dist/ui/combobox.d.ts +190 -0
  343. package/dist/ui/combobox.js +167 -0
  344. package/dist/ui/combobox.js.map +1 -1
  345. package/dist/ui/dialog.d.ts +109 -0
  346. package/dist/ui/dialog.js +100 -0
  347. package/dist/ui/dialog.js.map +1 -1
  348. package/dist/ui/drawer.d.ts +106 -0
  349. package/dist/ui/drawer.js +100 -0
  350. package/dist/ui/drawer.js.map +1 -1
  351. package/dist/ui/dropdown-menu.d.ts +171 -0
  352. package/dist/ui/dropdown-menu.js +150 -0
  353. package/dist/ui/dropdown-menu.js.map +1 -1
  354. package/dist/ui/empty.d.ts +61 -0
  355. package/dist/ui/empty.js +61 -0
  356. package/dist/ui/empty.js.map +1 -1
  357. package/dist/ui/field.d.ts +105 -0
  358. package/dist/ui/field.js +101 -0
  359. package/dist/ui/field.js.map +1 -1
  360. package/dist/ui/helpers.d.ts +11 -0
  361. package/dist/ui/helpers.js +11 -0
  362. package/dist/ui/helpers.js.map +1 -1
  363. package/dist/ui/input-group.d.ts +65 -0
  364. package/dist/ui/input-group.js +65 -0
  365. package/dist/ui/input-group.js.map +1 -1
  366. package/dist/ui/input-otp.d.ts +48 -0
  367. package/dist/ui/input-otp.js +40 -0
  368. package/dist/ui/input-otp.js.map +1 -1
  369. package/dist/ui/input.d.ts +24 -2
  370. package/dist/ui/input.js +20 -0
  371. package/dist/ui/input.js.map +1 -1
  372. package/dist/ui/item.d.ts +103 -0
  373. package/dist/ui/item.js +103 -0
  374. package/dist/ui/item.js.map +1 -1
  375. package/dist/ui/label.d.ts +10 -0
  376. package/dist/ui/label.js +10 -0
  377. package/dist/ui/label.js.map +1 -1
  378. package/dist/ui/menubar.d.ts +193 -0
  379. package/dist/ui/menubar.js +160 -0
  380. package/dist/ui/menubar.js.map +1 -1
  381. package/dist/ui/navigation-menu.d.ts +98 -0
  382. package/dist/ui/navigation-menu.js +90 -0
  383. package/dist/ui/navigation-menu.js.map +1 -1
  384. package/dist/ui/pagination.d.ts +76 -0
  385. package/dist/ui/pagination.js +73 -0
  386. package/dist/ui/pagination.js.map +1 -1
  387. package/dist/ui/popover.d.ts +81 -0
  388. package/dist/ui/popover.js +70 -0
  389. package/dist/ui/popover.js.map +1 -1
  390. package/dist/ui/portal.d.ts +11 -0
  391. package/dist/ui/portal.js +10 -0
  392. package/dist/ui/portal.js.map +1 -1
  393. package/dist/ui/progress.d.ts +53 -26
  394. package/dist/ui/progress.js +50 -26
  395. package/dist/ui/progress.js.map +1 -1
  396. package/dist/ui/radio-group.d.ts +25 -0
  397. package/dist/ui/radio-group.js +20 -0
  398. package/dist/ui/radio-group.js.map +1 -1
  399. package/dist/ui/resizable.d.ts +37 -0
  400. package/dist/ui/resizable.js +30 -0
  401. package/dist/ui/resizable.js.map +1 -1
  402. package/dist/ui/scroll-area.d.ts +22 -0
  403. package/dist/ui/scroll-area.js +21 -0
  404. package/dist/ui/scroll-area.js.map +1 -1
  405. package/dist/ui/select.d.ts +122 -0
  406. package/dist/ui/select.js +108 -0
  407. package/dist/ui/select.js.map +1 -1
  408. package/dist/ui/separator.d.ts +11 -0
  409. package/dist/ui/separator.js +10 -0
  410. package/dist/ui/separator.js.map +1 -1
  411. package/dist/ui/sheet.d.ts +107 -0
  412. package/dist/ui/sheet.js +101 -0
  413. package/dist/ui/sheet.js.map +1 -1
  414. package/dist/ui/skeleton.d.ts +10 -0
  415. package/dist/ui/skeleton.js +10 -0
  416. package/dist/ui/skeleton.js.map +1 -1
  417. package/dist/ui/slider.d.ts +21 -0
  418. package/dist/ui/slider.js +14 -0
  419. package/dist/ui/slider.js.map +1 -1
  420. package/dist/ui/sonner.d.ts +23 -0
  421. package/dist/ui/sonner.js +21 -0
  422. package/dist/ui/sonner.js.map +1 -1
  423. package/dist/ui/spinner.d.ts +10 -0
  424. package/dist/ui/spinner.js +10 -0
  425. package/dist/ui/spinner.js.map +1 -1
  426. package/dist/ui/switch.d.ts +15 -0
  427. package/dist/ui/switch.js +10 -0
  428. package/dist/ui/switch.js.map +1 -1
  429. package/dist/ui/table.d.ts +81 -0
  430. package/dist/ui/table.js +80 -0
  431. package/dist/ui/table.js.map +1 -1
  432. package/dist/ui/tabs.d.ts +59 -0
  433. package/dist/ui/tabs.js +51 -0
  434. package/dist/ui/tabs.js.map +1 -1
  435. package/dist/ui/textarea.d.ts +13 -0
  436. package/dist/ui/textarea.js +13 -0
  437. package/dist/ui/textarea.js.map +1 -1
  438. package/dist/ui/toggle-group.d.ts +34 -0
  439. package/dist/ui/toggle-group.js +24 -0
  440. package/dist/ui/toggle-group.js.map +1 -1
  441. package/dist/ui/toggle.d.ts +28 -0
  442. package/dist/ui/toggle.js +24 -0
  443. package/dist/ui/toggle.js.map +1 -1
  444. package/package.json +5 -3
  445. package/release-provenance.json +15 -0
  446. package/src/adapters/interest-card/eslint/eslint-plugin-custom-navigation.mjs +290 -0
  447. package/src/adapters/interest-card/eslint/taro.mjs +55 -0
  448. package/src/adapters/interest-card/runtime/microapp.ts +11 -0
  449. package/src/adapters/interest-card/types/taro.d.ts +28 -0
  450. package/src/build/config-overrides.ts +39 -0
  451. package/src/build/index.ts +5 -0
  452. package/src/build/plugins/app-config.ts +47 -0
  453. package/src/build/plugins/depend-card/analyze.ts +122 -0
  454. package/src/build/plugins/depend-card/source.ts +97 -0
  455. package/src/build/plugins/vite-depend-card.ts +168 -0
  456. package/src/build/plugins/vite-image-asset-import.ts +178 -0
  457. package/src/build/plugins/vite-inline-json.ts +149 -0
  458. package/src/build/plugins/vite-taro-source-location.ts +224 -0
  459. package/src/build/plugins/vite-tt-components-entry.ts +33 -0
  460. package/src/build/taro.ts +830 -0
  461. package/src/components/miniapp-open-card.ts +49 -0
  462. package/src/components/native-miniapp-open-card.ts +7 -0
  463. package/src/eslint/eslint-plugin-microapp-pages.mjs +659 -0
  464. package/src/eslint/server.mjs +69 -0
  465. package/src/eslint/taro.mjs +553 -0
  466. package/src/index.ts +2 -0
  467. package/src/internal/runtime/douyin-open-button.d.ts +29 -0
  468. package/src/internal/runtime/iframe-auth/identity.ts +236 -0
  469. package/src/internal/runtime/iframe-auth/index.ts +2 -0
  470. package/src/internal/runtime/iframe-auth/sync.ts +37 -0
  471. package/src/internal/vendor-modules.d.ts +8 -0
  472. package/src/lib/measure.ts +115 -0
  473. package/src/lib/platform.ts +11 -0
  474. package/src/lib/utils.ts +6 -0
  475. package/src/runtime/client.ts +246 -0
  476. package/src/runtime/default-client.ts +26 -0
  477. package/src/runtime/default-iframe-auth.ts +13 -0
  478. package/src/runtime/douyin-container-request.ts +367 -0
  479. package/src/runtime/douyin-login-request.ts +514 -0
  480. package/src/runtime/globals.d.ts +342 -0
  481. package/src/runtime/index.ts +4 -0
  482. package/src/runtime/network-url.ts +63 -0
  483. package/src/ui/accordion.tsx +226 -0
  484. package/src/ui/alert-dialog.tsx +407 -0
  485. package/src/ui/alert.tsx +149 -0
  486. package/src/ui/aspect-ratio.tsx +37 -0
  487. package/src/ui/avatar.tsx +238 -0
  488. package/src/ui/badge.tsx +77 -0
  489. package/src/ui/button-group.tsx +173 -0
  490. package/src/ui/button.tsx +215 -0
  491. package/src/ui/calendar.tsx +353 -0
  492. package/src/ui/card.tsx +217 -0
  493. package/src/ui/carousel.tsx +259 -0
  494. package/src/ui/checkbox.tsx +62 -0
  495. package/src/ui/collapsible.tsx +148 -0
  496. package/src/ui/combobox.tsx +650 -0
  497. package/src/ui/dialog.tsx +290 -0
  498. package/src/ui/drawer.tsx +272 -0
  499. package/src/ui/dropdown-menu.tsx +547 -0
  500. package/src/ui/empty.tsx +166 -0
  501. package/src/ui/field.tsx +427 -0
  502. package/src/ui/helpers.tsx +39 -0
  503. package/src/ui/index.ts +47 -0
  504. package/src/ui/input-group.tsx +320 -0
  505. package/src/ui/input-otp.tsx +189 -0
  506. package/src/ui/input.tsx +60 -0
  507. package/src/ui/item.tsx +338 -0
  508. package/src/ui/label.tsx +31 -0
  509. package/src/ui/menubar.tsx +835 -0
  510. package/src/ui/navigation-menu.tsx +341 -0
  511. package/src/ui/pagination.tsx +195 -0
  512. package/src/ui/popover.tsx +363 -0
  513. package/src/ui/portal.tsx +31 -0
  514. package/src/ui/progress.tsx +182 -0
  515. package/src/ui/radio-group.tsx +111 -0
  516. package/src/ui/resizable.tsx +410 -0
  517. package/src/ui/scroll-area.tsx +102 -0
  518. package/src/ui/select.tsx +471 -0
  519. package/src/ui/separator.tsx +37 -0
  520. package/src/ui/sheet.tsx +289 -0
  521. package/src/ui/skeleton.tsx +25 -0
  522. package/src/ui/slider.tsx +176 -0
  523. package/src/ui/sonner.tsx +40 -0
  524. package/src/ui/spinner.tsx +23 -0
  525. package/src/ui/switch.tsx +94 -0
  526. package/src/ui/table.tsx +240 -0
  527. package/src/ui/tabs.tsx +233 -0
  528. package/src/ui/tailwind.css +2 -0
  529. package/src/ui/textarea.tsx +49 -0
  530. package/src/ui/theme.css +234 -0
  531. package/src/ui/toggle-group.tsx +215 -0
  532. package/src/ui/toggle.tsx +113 -0
@@ -0,0 +1,289 @@
1
+ import * as React from "react"
2
+ import { View, type ViewProps } from "@tarojs/components"
3
+ import { cva, type VariantProps } from "class-variance-authority"
4
+
5
+ import { cn } from "../lib/utils"
6
+ import { X } from "@open-dy/lucide-taro"
7
+
8
+ const SheetContext = React.createContext<{
9
+ open: boolean
10
+ onOpenChange: (open: boolean) => void
11
+ }>({ open: false, onOpenChange: () => {} })
12
+
13
+ /**
14
+ * @desc 侧边面板组件。
15
+ * @param {Parameters<typeof Sheet>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
16
+ * @return {ReturnType<typeof Sheet>} 组件渲染结果;类型见返回值契约。
17
+ * @example
18
+ * ```tsx
19
+ * import { Sheet } from '@open-dy/vibecoding-sdk-taro/ui/sheet'
20
+ * <Sheet />
21
+ * ```
22
+ */
23
+ function Sheet({
24
+ open: openProp,
25
+ defaultOpen,
26
+ onOpenChange,
27
+ children,
28
+ }: {
29
+ /** @desc 受控展开状态;传入后以该值为准,需在 onOpenChange 中更新。省略时由组件内部管理。 */
30
+ open?: boolean
31
+ /** @desc 非受控模式的初始展开状态,默认 false;仅初始化时读取,传入 open 后不生效。 */
32
+ defaultOpen?: boolean
33
+ /** @desc 触发器或关闭操作请求改变展开状态时调用,参数为下一状态;受控模式需由调用方同步 open。 */
34
+ onOpenChange?: (open: boolean) => void
35
+ /** @desc 同一实例的触发器、内容区等组合子组件;省略时不显示内容,子组件通过上下文共享状态。 */
36
+ children?: React.ReactNode
37
+ }) {
38
+ const [internal, setInternal] = React.useState(defaultOpen ?? false)
39
+ const controlled = openProp !== undefined
40
+ const open = controlled ? openProp : internal
41
+
42
+ return (
43
+ <SheetContext.Provider
44
+ value={{
45
+ open,
46
+ onOpenChange: (v) => {
47
+ if (!controlled) setInternal(v)
48
+ onOpenChange?.(v)
49
+ },
50
+ }}
51
+ >
52
+ {children}
53
+ </SheetContext.Provider>
54
+ )
55
+ }
56
+
57
+ /**
58
+ * @desc 侧边面板触发器。
59
+ * @param {Parameters<typeof SheetTrigger>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
60
+ * @return {ReturnType<typeof SheetTrigger>} 组件渲染结果;类型见返回值契约。
61
+ * @example
62
+ * ```tsx
63
+ * import { Sheet, SheetTrigger } from '@open-dy/vibecoding-sdk-taro/ui/sheet'
64
+ * <Sheet><SheetTrigger /></Sheet>
65
+ * ```
66
+ */
67
+ function SheetTrigger({ children, ...props }: ViewProps) {
68
+ const { onOpenChange } = React.useContext(SheetContext)
69
+ return (
70
+ <View data-slot="sheet-trigger" onClick={() => onOpenChange(true)} {...props}>
71
+ {children}
72
+ </View>
73
+ )
74
+ }
75
+
76
+ /**
77
+ * @desc 侧边面板关闭按钮。
78
+ * @param {Parameters<typeof SheetClose>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
79
+ * @return {ReturnType<typeof SheetClose>} 组件渲染结果;类型见返回值契约。
80
+ * @example
81
+ * ```tsx
82
+ * import { Sheet, SheetClose } from '@open-dy/vibecoding-sdk-taro/ui/sheet'
83
+ * <Sheet><SheetClose /></Sheet>
84
+ * ```
85
+ */
86
+ function SheetClose({ children, ...props }: ViewProps) {
87
+ const { onOpenChange } = React.useContext(SheetContext)
88
+ return (
89
+ <View data-slot="sheet-close" onClick={() => onOpenChange(false)} {...props}>
90
+ {children}
91
+ </View>
92
+ )
93
+ }
94
+
95
+ /**
96
+ * @desc 侧边面板跨层级渲染入口。
97
+ * @param {Parameters<typeof SheetPortal>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
98
+ * @return {ReturnType<typeof SheetPortal>} 组件渲染结果;类型见返回值契约。
99
+ * @example
100
+ * ```tsx
101
+ * import { Sheet, SheetPortal } from '@open-dy/vibecoding-sdk-taro/ui/sheet'
102
+ * <Sheet><SheetPortal /></Sheet>
103
+ * ```
104
+ */
105
+ function SheetPortal({ children }: {
106
+ /** @desc 要渲染的子节点;该兼容包装只返回 Fragment,不额外创建原生容器或执行挂载迁移。 */
107
+ children?: React.ReactNode }) {
108
+ return <>{children}</>
109
+ }
110
+
111
+ /**
112
+ * @desc 侧边面板遮罩。
113
+ * @param {Parameters<typeof SheetOverlay>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
114
+ * @return {ReturnType<typeof SheetOverlay>} 组件渲染结果;类型见返回值契约。
115
+ * @example
116
+ * ```tsx
117
+ * import { Sheet, SheetOverlay } from '@open-dy/vibecoding-sdk-taro/ui/sheet'
118
+ * <Sheet><SheetOverlay /></Sheet>
119
+ * ```
120
+ */
121
+ function SheetOverlay({ className, ...props }: ViewProps) {
122
+ return (
123
+ <View
124
+ data-slot="sheet-overlay"
125
+ className={cn("fixed inset-0 z-50 bg-black/50", className)}
126
+ {...props}
127
+ />
128
+ )
129
+ }
130
+
131
+ const sheetVariants = cva(
132
+ "fixed z-50 flex flex-col gap-4 bg-background shadow-lg",
133
+ {
134
+ variants: {
135
+ side: {
136
+ top: "inset-x-0 top-0 border-b",
137
+ bottom: "inset-x-0 bottom-0 border-t",
138
+ left: "inset-y-0 left-0 w-3/4 border-r sm:max-w-sm",
139
+ right: "inset-y-0 right-0 w-3/4 border-l sm:max-w-sm",
140
+ },
141
+ },
142
+ defaultVariants: {
143
+ side: "right",
144
+ },
145
+ }
146
+ )
147
+
148
+ /**
149
+ * @desc 侧边面板内容容器。
150
+ * @param {Parameters<typeof SheetContent>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
151
+ * @param {Parameters<typeof SheetContent>[0]["side"]} props.side 面板所在边,默认 right;top/bottom 贴顶部/底部,left/right 为侧栏并设置侧向宽度。
152
+ * @return {ReturnType<typeof SheetContent>} 组件渲染结果;类型见返回值契约。
153
+ * @example
154
+ * ```tsx
155
+ * import { Sheet, SheetContent } from '@open-dy/vibecoding-sdk-taro/ui/sheet'
156
+ * <Sheet><SheetContent /></Sheet>
157
+ * ```
158
+ */
159
+ function SheetContent({
160
+ className,
161
+ children,
162
+ side = "right",
163
+ showCloseButton = true,
164
+ ...props
165
+ }: ViewProps &
166
+ VariantProps<typeof sheetVariants> & {
167
+ /** @desc 是否显示内置关闭按钮,默认 true;为 false 时仍可通过遮罩或 SheetClose 关闭。 */
168
+ showCloseButton?: boolean }) {
169
+ const ctx = React.useContext(SheetContext)
170
+ if (!ctx.open) return null
171
+
172
+ return (
173
+ <View className="fixed inset-0 z-50">
174
+ <SheetOverlay onClick={() => ctx.onOpenChange(false)} />
175
+ <View
176
+ data-slot="sheet-content"
177
+ className={cn(sheetVariants({ side }), "p-4", className)}
178
+ {...props}
179
+ >
180
+ {children}
181
+ {showCloseButton ? <View
182
+ className="absolute top-3 right-3 flex size-5 items-center justify-center rounded-sm opacity-70"
183
+ onClick={() => ctx.onOpenChange(false)}
184
+ >
185
+ <X className="size-4" />
186
+ </View> : null}
187
+ </View>
188
+ </View>
189
+ )
190
+ }
191
+
192
+ /**
193
+ * @desc 侧边面板头部布局。
194
+ * @param {Parameters<typeof SheetHeader>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
195
+ * @return {ReturnType<typeof SheetHeader>} 组件渲染结果;类型见返回值契约。
196
+ * @example
197
+ * ```tsx
198
+ * import { Sheet, SheetHeader } from '@open-dy/vibecoding-sdk-taro/ui/sheet'
199
+ * <Sheet><SheetHeader /></Sheet>
200
+ * ```
201
+ */
202
+ function SheetHeader({ className, ...props }: ViewProps) {
203
+ return (
204
+ <View
205
+ data-slot="sheet-header"
206
+ className={cn("flex flex-col gap-2", className)}
207
+ {...props}
208
+ />
209
+ )
210
+ }
211
+
212
+ /**
213
+ * @desc 侧边面板底部布局。
214
+ * @param {Parameters<typeof SheetFooter>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
215
+ * @return {ReturnType<typeof SheetFooter>} 组件渲染结果;类型见返回值契约。
216
+ * @example
217
+ * ```tsx
218
+ * import { Sheet, SheetFooter } from '@open-dy/vibecoding-sdk-taro/ui/sheet'
219
+ * <Sheet><SheetFooter /></Sheet>
220
+ * ```
221
+ */
222
+ function SheetFooter({ className, ...props }: ViewProps) {
223
+ return (
224
+ <View
225
+ data-slot="sheet-footer"
226
+ className={cn(
227
+ "mt-auto flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
228
+ className
229
+ )}
230
+ {...props}
231
+ />
232
+ )
233
+ }
234
+
235
+ /**
236
+ * @desc 侧边面板标题。
237
+ * @param {Parameters<typeof SheetTitle>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
238
+ * @return {ReturnType<typeof SheetTitle>} 组件渲染结果;类型见返回值契约。
239
+ * @example
240
+ * ```tsx
241
+ * import { Sheet, SheetTitle } from '@open-dy/vibecoding-sdk-taro/ui/sheet'
242
+ * <Sheet><SheetTitle /></Sheet>
243
+ * ```
244
+ */
245
+ function SheetTitle({ className, ...props }: ViewProps) {
246
+ return (
247
+ <View
248
+ data-slot="sheet-title"
249
+ className={cn("text-lg font-semibold text-foreground", className)}
250
+ {...props}
251
+ />
252
+ )
253
+ }
254
+
255
+ /**
256
+ * @desc 侧边面板说明文本。
257
+ * @param {Parameters<typeof SheetDescription>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
258
+ * @return {ReturnType<typeof SheetDescription>} 组件渲染结果;类型见返回值契约。
259
+ * @example
260
+ * ```tsx
261
+ * import { Sheet, SheetDescription } from '@open-dy/vibecoding-sdk-taro/ui/sheet'
262
+ * <Sheet><SheetDescription /></Sheet>
263
+ * ```
264
+ */
265
+ function SheetDescription({
266
+ className,
267
+ ...props
268
+ }: ViewProps) {
269
+ return (
270
+ <View
271
+ data-slot="sheet-description"
272
+ className={cn("text-sm text-muted-foreground", className)}
273
+ {...props}
274
+ />
275
+ )
276
+ }
277
+
278
+ export {
279
+ Sheet,
280
+ SheetPortal,
281
+ SheetOverlay,
282
+ SheetTrigger,
283
+ SheetClose,
284
+ SheetContent,
285
+ SheetHeader,
286
+ SheetFooter,
287
+ SheetTitle,
288
+ SheetDescription,
289
+ }
@@ -0,0 +1,25 @@
1
+ import { View, type ViewProps } from "@tarojs/components"
2
+
3
+ import { cn } from "../lib/utils"
4
+
5
+ /**
6
+ * @desc 骨架屏组件。
7
+ * @param {Parameters<typeof Skeleton>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
8
+ * @return {ReturnType<typeof Skeleton>} 组件渲染结果;类型见返回值契约。
9
+ * @example
10
+ * ```tsx
11
+ * import { Skeleton } from '@open-dy/vibecoding-sdk-taro/ui/skeleton'
12
+ * <Skeleton />
13
+ * ```
14
+ */
15
+ function Skeleton({ className, ...props }: ViewProps) {
16
+ return (
17
+ <View
18
+ data-slot="skeleton"
19
+ className={cn("animate-pulse rounded-md bg-muted", className)}
20
+ {...props}
21
+ />
22
+ )
23
+ }
24
+
25
+ export { Skeleton }
@@ -0,0 +1,176 @@
1
+ import * as React from "react"
2
+ import { View, type ViewProps } from "@tarojs/components"
3
+ import Taro from "@tarojs/taro"
4
+
5
+ import { cn } from "../lib/utils"
6
+ import { isH5 } from "../lib/platform"
7
+
8
+ /**
9
+ * @desc 滑块组件。
10
+ * @param {Parameters<typeof Slider>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
11
+ * @return {ReturnType<typeof Slider>} 组件渲染结果;类型见返回值契约。
12
+ * @example
13
+ * ```tsx
14
+ * import { useState } from 'react'
15
+ * import { Slider } from '@open-dy/vibecoding-sdk-taro/ui/slider'
16
+ * export function VolumeSlider() {
17
+ * const [value, setValue] = useState([30])
18
+ * return <Slider value={value} onValueChange={setValue} min={0} max={100} step={5} />
19
+ * }
20
+ * ```
21
+ */
22
+ function Slider({
23
+ className,
24
+ defaultValue,
25
+ value: valueProp,
26
+ min = 0,
27
+ max = 100,
28
+ step = 1,
29
+ onValueChange,
30
+ disabled,
31
+ ...props
32
+ }: ViewProps & {
33
+ /** @desc 非受控初始数值数组,默认 [min];当前只使用首元素,传入 value 后不生效。 */
34
+ defaultValue?: number[]
35
+ /** @desc 受控数值数组;当前实现只使用首元素,只支持单滑块。传入后需同步 onValueChange,空数组按 min 展示。 */
36
+ value?: number[]
37
+ /** @desc 下限,默认 0;须小于 max,外部受控值应在 min/max 范围内。 */
38
+ min?: number
39
+ /** @desc 上限,默认 100;须大于 min,用户拖动的结果会限制在 min/max 范围。 */
40
+ max?: number
41
+ /** @desc 步进值,默认 1,应大于 0;拖动结果按原始数值除以 step 四舍五入后取倍数,再限制到范围。 */
42
+ step?: number
43
+ /** @desc 触摸或 H5 鼠标拖动时连续调用,返回只有一个数值的数组;不是仅在拖动结束时调用,禁用时不触发。 */
44
+ onValueChange?: (value: number[]) => void
45
+ /** @desc 是否禁用拖动,默认 false;禁用时降低透明度且不更新内部数值或调用变化回调。 */
46
+ disabled?: boolean
47
+ }) {
48
+ const [internal, setInternal] = React.useState<number[]>(
49
+ valueProp ?? defaultValue ?? [min]
50
+ )
51
+ const controlled = valueProp !== undefined
52
+ const values = controlled ? valueProp : internal
53
+ const idRef = React.useRef(`slider-${Math.random().toString(36).substr(2, 9)}`)
54
+ const rectRef = React.useRef<{ left: number; width: number } | null>(null)
55
+ const dragRef = React.useRef<{ active: boolean } | null>(null)
56
+
57
+ React.useEffect(() => {
58
+ const timer = setTimeout(() => {
59
+ const query = Taro.createSelectorQuery()
60
+ query
61
+ .select(`#${idRef.current}`)
62
+ .boundingClientRect((res) => {
63
+ const r = Array.isArray(res) ? res[0] : res
64
+ if (r) rectRef.current = { left: r.left, width: r.width }
65
+ })
66
+ .exec()
67
+ }, 100)
68
+ return () => clearTimeout(timer)
69
+ }, [])
70
+
71
+ const getValueFromPosition = React.useCallback((x: number) => {
72
+ const rect = rectRef.current
73
+ if (!rect || rect.width === 0) return values[0] ?? min
74
+ const ratio = Math.max(0, Math.min(1, (x - rect.left) / rect.width))
75
+ const raw = min + ratio * (max - min)
76
+ return Math.round(raw / step) * step
77
+ }, [max, min, step, values])
78
+
79
+ const applyEvent = React.useCallback(
80
+ (e: any) => {
81
+ if (disabled) return
82
+ const touch = e?.touches?.[0] || e?.changedTouches?.[0]
83
+ const x =
84
+ typeof touch?.clientX === "number"
85
+ ? touch.clientX
86
+ : typeof touch?.pageX === "number"
87
+ ? touch.pageX
88
+ : typeof e?.clientX === "number"
89
+ ? e.clientX
90
+ : typeof e?.pageX === "number"
91
+ ? e.pageX
92
+ : null
93
+ if (typeof x !== "number") return
94
+
95
+ const val = getValueFromPosition(x)
96
+ const next = [Math.max(min, Math.min(max, val))]
97
+ if (!controlled) setInternal(next)
98
+ onValueChange?.(next)
99
+ },
100
+ [controlled, disabled, getValueFromPosition, max, min, onValueChange]
101
+ )
102
+
103
+ const handleTouch = (e: any) => {
104
+ if (disabled) return
105
+ applyEvent(e)
106
+ }
107
+
108
+ const handleMouseDown = (e: any) => {
109
+ if (disabled) return
110
+ if (!isH5() || typeof document === "undefined") return
111
+ dragRef.current = { active: true }
112
+ e?.preventDefault?.()
113
+ applyEvent(e)
114
+
115
+ const onMove = (ev: any) => {
116
+ if (!dragRef.current?.active) return
117
+ ev?.preventDefault?.()
118
+ applyEvent(ev)
119
+ }
120
+ const onUp = () => {
121
+ dragRef.current = null
122
+ document.removeEventListener("mousemove", onMove as any)
123
+ document.removeEventListener("mouseup", onUp as any)
124
+ }
125
+
126
+ document.addEventListener("mousemove", onMove as any)
127
+ document.addEventListener("mouseup", onUp as any)
128
+ }
129
+
130
+ React.useEffect(() => {
131
+ return () => {
132
+ dragRef.current = null
133
+ }
134
+ }, [])
135
+
136
+ const currentValue = values[0] ?? min
137
+ const percent = ((currentValue - min) / (max - min)) * 100
138
+
139
+ return (
140
+ <View
141
+ className={cn("w-full", className)}
142
+ data-slot="slider"
143
+ {...props}
144
+ >
145
+ <View
146
+ id={idRef.current}
147
+ className={cn(
148
+ "relative flex w-full touch-none items-center select-none",
149
+ disabled && "opacity-50"
150
+ )}
151
+ data-disabled={disabled || undefined}
152
+ onTouchMove={handleTouch}
153
+ onTouchStart={handleTouch}
154
+ {...(isH5() ? ({ onMouseDown: handleMouseDown } as any) : {})}
155
+ >
156
+ <View
157
+ data-slot="slider-track"
158
+ className="relative grow overflow-hidden rounded-full bg-muted h-1 w-full"
159
+ >
160
+ <View
161
+ data-slot="slider-range"
162
+ className="bg-primary h-full"
163
+ style={{ width: `${percent}%` }}
164
+ />
165
+ </View>
166
+ <View
167
+ data-slot="slider-thumb"
168
+ className="absolute block size-3 shrink-0 rounded-full border border-ring bg-white ring-ring/50 transition-[color,box-shadow] select-none after:absolute after:-inset-2 hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 disabled:pointer-events-none disabled:opacity-50"
169
+ style={{ left: `calc(${percent}% - 6px)` }}
170
+ />
171
+ </View>
172
+ </View>
173
+ )
174
+ }
175
+
176
+ export { Slider }
@@ -0,0 +1,40 @@
1
+ import Taro from "@tarojs/taro"
2
+
3
+ /**
4
+ * @desc 通过 Taro.showToast 显示轻提示;默认 icon 为 none,duration 为 2000 毫秒。
5
+ * @param {Parameters<typeof toast>[0]} message 提示文本。
6
+ * @param {Parameters<typeof toast>[1]} options 轻提示图标和持续时间(毫秒)。
7
+ * @return {ReturnType<typeof toast>} 没有返回值。
8
+ * @example
9
+ * ```tsx
10
+ * import { toast } from '@open-dy/vibecoding-sdk-taro/ui/sonner'
11
+ * toast('已保存', { duration: 2000 })
12
+ * ```
13
+ */
14
+ function toast(message: string, options?: {
15
+ /** @desc 原生提示图标,默认 "none";当前透传给 Taro.showToast,可用值及表现受目标平台约束(类型未收窄)。 */
16
+ icon?: string;
17
+ /** @desc 显示时长,单位毫秒,默认 2000;透传给 Taro.showToast。 */
18
+ duration?: number }) {
19
+ Taro.showToast({
20
+ title: message,
21
+ icon: (options?.icon as "success" | "error" | "loading" | "none") ?? "none",
22
+ duration: options?.duration ?? 2000,
23
+ })
24
+ }
25
+
26
+ /**
27
+ * @desc 轻提示的兼容入口;当前返回 null,不创建独立提示容器。
28
+ * @param 无参数
29
+ * @return {ReturnType<typeof Toaster>} 固定返回 null。
30
+ * @example
31
+ * ```tsx
32
+ * import { Toaster } from '@open-dy/vibecoding-sdk-taro/ui/sonner'
33
+ * <Toaster />
34
+ * ```
35
+ */
36
+ function Toaster() {
37
+ return null
38
+ }
39
+
40
+ export { Toaster, toast }
@@ -0,0 +1,23 @@
1
+ import { View, type ViewProps } from "@tarojs/components"
2
+ import { cn } from "../lib/utils"
3
+ import { Loader } from "@open-dy/lucide-taro"
4
+
5
+ /**
6
+ * @desc 加载指示器组件。
7
+ * @param {Parameters<typeof Spinner>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
8
+ * @return {ReturnType<typeof Spinner>} 组件渲染结果;类型见返回值契约。
9
+ * @example
10
+ * ```tsx
11
+ * import { Spinner } from '@open-dy/vibecoding-sdk-taro/ui/spinner'
12
+ * <Spinner />
13
+ * ```
14
+ */
15
+ function Spinner({ className, ...props }: ViewProps) {
16
+ return (
17
+ <View data-slot="spinner" className={cn("inline-flex items-center justify-center", className)} {...props}>
18
+ <Loader className="size-4 animate-spin" />
19
+ </View>
20
+ )
21
+ }
22
+
23
+ export { Spinner }
@@ -0,0 +1,94 @@
1
+ import * as React from "react"
2
+ import { View, type ViewProps } from "@tarojs/components"
3
+
4
+ import { cn } from "../lib/utils"
5
+
6
+ type SwitchProps = ViewProps & {
7
+ /** @desc 开关尺寸,默认 default;default 为较大轨道和滑块,sm 为紧凑轨道和滑块。 */
8
+ size?: "sm" | "default"
9
+ /** @desc 受控选中状态;传入后以该值为准,需在 onCheckedChange 中更新。省略时由内部状态管理。 */
10
+ checked?: boolean
11
+ /** @desc 非受控模式的初始选中状态,默认 false;仅初始化时读取,传入 checked 后不生效。 */
12
+ defaultChecked?: boolean
13
+ /** @desc 用户点击切换时调用,参数为下一选中状态;禁用时不触发,受控模式需同步 checked。 */
14
+ onCheckedChange?: (checked: boolean) => void
15
+ /** @desc 是否禁止用户切换;省略或 false 时可操作,true 时不触发内部切换回调。 */
16
+ disabled?: boolean
17
+ }
18
+
19
+ const SWITCH_SIZE_STYLES = {
20
+ sm: {
21
+ track: "h-3.5 w-6",
22
+ thumb: "size-3",
23
+ translateChecked: "translate-x-2.5",
24
+ },
25
+ default: {
26
+ track: "h-[1.15rem] w-8",
27
+ thumb: "size-4",
28
+ translateChecked: "translate-x-3.5",
29
+ },
30
+ } as const
31
+
32
+ /**
33
+ * @desc 开关组件。
34
+ * @param {Parameters<typeof Switch>[0]} props 组件属性;自有字段的用途及默认行为见下表,继承属性另列。
35
+ * @return {ReturnType<typeof Switch>} 组件渲染结果;类型见返回值契约。
36
+ * @example
37
+ * ```tsx
38
+ * import { Switch } from '@open-dy/vibecoding-sdk-taro/ui/switch'
39
+ * <Switch />
40
+ * ```
41
+ */
42
+ function Switch({
43
+ className,
44
+ size = "default",
45
+ checked: checkedProp,
46
+ defaultChecked,
47
+ onCheckedChange,
48
+ disabled,
49
+ ...props
50
+ }: SwitchProps) {
51
+ const [internalChecked, setInternalChecked] = React.useState(defaultChecked ?? false)
52
+ const isControlled = checkedProp !== undefined
53
+ const currentChecked = isControlled ? checkedProp : internalChecked
54
+ const sizeStyles = SWITCH_SIZE_STYLES[size]
55
+
56
+ return (
57
+ <View
58
+ data-slot="switch"
59
+ data-size={size}
60
+ data-checked={currentChecked ? "true" : undefined}
61
+ data-unchecked={!currentChecked ? "true" : undefined}
62
+ data-disabled={disabled || undefined}
63
+ className={cn(
64
+ "peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
65
+ sizeStyles.track,
66
+ currentChecked ? "bg-primary" : "bg-input",
67
+ disabled && "cursor-not-allowed opacity-50",
68
+ className
69
+ )}
70
+ onClick={(event) => {
71
+ if (disabled) return
72
+ event.stopPropagation()
73
+ const next = !currentChecked
74
+ if (!isControlled) setInternalChecked(next)
75
+ onCheckedChange?.(next)
76
+ }}
77
+ {...props}
78
+ >
79
+ <View
80
+ data-slot="switch-thumb"
81
+ data-checked={currentChecked ? "true" : undefined}
82
+ data-unchecked={!currentChecked ? "true" : undefined}
83
+ className={cn(
84
+ "pointer-events-none block rounded-full bg-background ring-0 transition-transform",
85
+ sizeStyles.thumb,
86
+ currentChecked ? sizeStyles.translateChecked : "translate-x-0",
87
+ currentChecked ? "dark:bg-primary-foreground" : "dark:bg-foreground"
88
+ )}
89
+ />
90
+ </View>
91
+ )
92
+ }
93
+
94
+ export { Switch }