@neut/ui 0.0.15 → 0.0.16

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 (968) hide show
  1. package/dist/components/accordion/Accordion/Accordion.context.d.ts +1 -1
  2. package/dist/components/accordion/Accordion/Accordion.context.js.map +1 -1
  3. package/dist/components/accordion/Accordion/Accordion.d.ts +1 -1
  4. package/dist/components/accordion/Accordion/Accordion.js.map +1 -1
  5. package/dist/components/accordion/Accordion/Accordion.styles.js.map +1 -1
  6. package/dist/components/accordion/Accordion/useAccordion.js.map +1 -1
  7. package/dist/components/accordion/AccordionContent/AccordionContent.d.ts +1 -1
  8. package/dist/components/accordion/AccordionContent/AccordionContent.js.map +1 -1
  9. package/dist/components/accordion/AccordionContent/AccordionContent.styles.js.map +1 -1
  10. package/dist/components/accordion/AccordionItem/AccordionItem.context.js.map +1 -1
  11. package/dist/components/accordion/AccordionItem/AccordionItem.d.ts +1 -1
  12. package/dist/components/accordion/AccordionItem/AccordionItem.js.map +1 -1
  13. package/dist/components/accordion/AccordionItem/AccordionItem.styles.js.map +1 -1
  14. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.d.ts +1 -1
  15. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js.map +1 -1
  16. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.styles.js.map +1 -1
  17. package/dist/components/alert/Alert/Alert.d.ts +1 -1
  18. package/dist/components/alert/Alert/Alert.js.map +1 -1
  19. package/dist/components/alert/Alert/Alert.styles.js.map +1 -1
  20. package/dist/components/alert/AlertAction/AlertAction.d.ts +1 -1
  21. package/dist/components/alert/AlertAction/AlertAction.js.map +1 -1
  22. package/dist/components/alert/AlertAction/AlertAction.styles.js.map +1 -1
  23. package/dist/components/alert/AlertDescription/AlertDescription.d.ts +1 -1
  24. package/dist/components/alert/AlertDescription/AlertDescription.js.map +1 -1
  25. package/dist/components/alert/AlertDescription/AlertDescription.styles.js.map +1 -1
  26. package/dist/components/alert/AlertTitle/AlertTitle.d.ts +1 -1
  27. package/dist/components/alert/AlertTitle/AlertTitle.js.map +1 -1
  28. package/dist/components/alert/AlertTitle/AlertTitle.styles.js.map +1 -1
  29. package/dist/components/alert-dialog/AlertDialog/AlertDialog.d.ts +6 -1
  30. package/dist/components/alert-dialog/AlertDialog/AlertDialog.js +4 -19
  31. package/dist/components/alert-dialog/AlertDialog/AlertDialog.js.map +1 -1
  32. package/dist/components/alert-dialog/AlertDialog/AlertDialog.types.d.ts +6 -2
  33. package/dist/components/alert-dialog/AlertDialog/index.d.ts +1 -1
  34. package/dist/components/alert-dialog/AlertDialogAction/AlertDialogAction.d.ts +1 -1
  35. package/dist/components/alert-dialog/AlertDialogAction/AlertDialogAction.js +13 -4
  36. package/dist/components/alert-dialog/AlertDialogAction/AlertDialogAction.js.map +1 -1
  37. package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.d.ts +1 -1
  38. package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js +1 -1
  39. package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js.map +1 -1
  40. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.d.ts +1 -1
  41. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.js +19 -53
  42. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.js.map +1 -1
  43. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.d.ts +1 -1
  44. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.js +1 -1
  45. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.js.map +1 -1
  46. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.types.d.ts +1 -1
  47. package/dist/components/alert-dialog/AlertDialogContent/index.d.ts +1 -1
  48. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.d.ts +1 -1
  49. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js +1 -1
  50. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js.map +1 -1
  51. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.js.map +1 -1
  52. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.d.ts +1 -1
  53. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js.map +1 -1
  54. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.js.map +1 -1
  55. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.d.ts +1 -1
  56. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js.map +1 -1
  57. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.js.map +1 -1
  58. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.d.ts +1 -1
  59. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js.map +1 -1
  60. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.js.map +1 -1
  61. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.d.ts +1 -1
  62. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.js +4 -22
  63. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.js.map +1 -1
  64. package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.d.ts +1 -1
  65. package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.js +4 -6
  66. package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.js.map +1 -1
  67. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.d.ts +1 -1
  68. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js +1 -1
  69. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js.map +1 -1
  70. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.js.map +1 -1
  71. package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.d.ts +8 -2
  72. package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.js +27 -6
  73. package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.js.map +1 -1
  74. package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.types.d.ts +4 -0
  75. package/dist/components/alert-dialog/AlertDialogTrigger/index.d.ts +1 -0
  76. package/dist/components/alert-dialog/index.js +13 -15
  77. package/dist/components/aspect-ratio/AspectRatio.d.ts +1 -1
  78. package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
  79. package/dist/components/aspect-ratio/AspectRatio.styles.js.map +1 -1
  80. package/dist/components/attachment/Attachment/Attachment.d.ts +6 -0
  81. package/dist/components/attachment/Attachment/Attachment.js +46 -0
  82. package/dist/components/attachment/Attachment/Attachment.js.map +1 -0
  83. package/dist/components/attachment/Attachment/Attachment.styles.d.ts +4 -0
  84. package/dist/components/attachment/Attachment/Attachment.styles.js +17 -0
  85. package/dist/components/attachment/Attachment/Attachment.styles.js.map +1 -0
  86. package/dist/components/attachment/Attachment/Attachment.types.d.ts +8 -0
  87. package/dist/components/attachment/Attachment/index.d.ts +2 -0
  88. package/dist/components/attachment/AttachmentAction/AttachmentAction.d.ts +3 -0
  89. package/dist/components/attachment/AttachmentAction/AttachmentAction.js +15 -0
  90. package/dist/components/attachment/AttachmentAction/AttachmentAction.js.map +1 -0
  91. package/dist/components/attachment/AttachmentAction/AttachmentAction.types.d.ts +2 -0
  92. package/dist/components/attachment/AttachmentAction/index.d.ts +2 -0
  93. package/dist/components/attachment/AttachmentActions/AttachmentActions.d.ts +3 -0
  94. package/dist/components/attachment/AttachmentActions/AttachmentActions.js +24 -0
  95. package/dist/components/attachment/AttachmentActions/AttachmentActions.js.map +1 -0
  96. package/dist/components/attachment/AttachmentActions/AttachmentActions.styles.d.ts +1 -0
  97. package/dist/components/attachment/AttachmentActions/AttachmentActions.styles.js +6 -0
  98. package/dist/components/attachment/AttachmentActions/AttachmentActions.styles.js.map +1 -0
  99. package/dist/components/attachment/AttachmentActions/AttachmentActions.types.d.ts +2 -0
  100. package/dist/components/attachment/AttachmentActions/index.d.ts +2 -0
  101. package/dist/components/attachment/AttachmentContent/AttachmentContent.d.ts +3 -0
  102. package/dist/components/attachment/AttachmentContent/AttachmentContent.js +23 -0
  103. package/dist/components/attachment/AttachmentContent/AttachmentContent.js.map +1 -0
  104. package/dist/components/attachment/AttachmentContent/AttachmentContent.types.d.ts +2 -0
  105. package/dist/components/attachment/AttachmentContent/index.d.ts +2 -0
  106. package/dist/components/attachment/AttachmentDescription/AttachmentDescription.d.ts +3 -0
  107. package/dist/components/attachment/AttachmentDescription/AttachmentDescription.js +24 -0
  108. package/dist/components/attachment/AttachmentDescription/AttachmentDescription.js.map +1 -0
  109. package/dist/components/attachment/AttachmentDescription/AttachmentDescription.styles.d.ts +1 -0
  110. package/dist/components/attachment/AttachmentDescription/AttachmentDescription.styles.js +6 -0
  111. package/dist/components/attachment/AttachmentDescription/AttachmentDescription.styles.js.map +1 -0
  112. package/dist/components/attachment/AttachmentDescription/AttachmentDescription.types.d.ts +2 -0
  113. package/dist/components/attachment/AttachmentDescription/index.d.ts +2 -0
  114. package/dist/components/attachment/AttachmentGroup/AttachmentGroup.d.ts +3 -0
  115. package/dist/components/attachment/AttachmentGroup/AttachmentGroup.js +24 -0
  116. package/dist/components/attachment/AttachmentGroup/AttachmentGroup.js.map +1 -0
  117. package/dist/components/attachment/AttachmentGroup/AttachmentGroup.styles.d.ts +1 -0
  118. package/dist/components/attachment/AttachmentGroup/AttachmentGroup.styles.js +6 -0
  119. package/dist/components/attachment/AttachmentGroup/AttachmentGroup.styles.js.map +1 -0
  120. package/dist/components/attachment/AttachmentGroup/AttachmentGroup.types.d.ts +2 -0
  121. package/dist/components/attachment/AttachmentGroup/index.d.ts +2 -0
  122. package/dist/components/attachment/AttachmentMedia/AttachmentMedia.d.ts +3 -0
  123. package/dist/components/attachment/AttachmentMedia/AttachmentMedia.js +31 -0
  124. package/dist/components/attachment/AttachmentMedia/AttachmentMedia.js.map +1 -0
  125. package/dist/components/attachment/AttachmentMedia/AttachmentMedia.styles.d.ts +3 -0
  126. package/dist/components/attachment/AttachmentMedia/AttachmentMedia.styles.js +13 -0
  127. package/dist/components/attachment/AttachmentMedia/AttachmentMedia.styles.js.map +1 -0
  128. package/dist/components/attachment/AttachmentMedia/AttachmentMedia.types.d.ts +4 -0
  129. package/dist/components/attachment/AttachmentMedia/index.d.ts +2 -0
  130. package/dist/components/attachment/AttachmentTitle/AttachmentTitle.d.ts +3 -0
  131. package/dist/components/attachment/AttachmentTitle/AttachmentTitle.js +24 -0
  132. package/dist/components/attachment/AttachmentTitle/AttachmentTitle.js.map +1 -0
  133. package/dist/components/attachment/AttachmentTitle/AttachmentTitle.styles.d.ts +1 -0
  134. package/dist/components/attachment/AttachmentTitle/AttachmentTitle.styles.js +6 -0
  135. package/dist/components/attachment/AttachmentTitle/AttachmentTitle.styles.js.map +1 -0
  136. package/dist/components/attachment/AttachmentTitle/AttachmentTitle.types.d.ts +2 -0
  137. package/dist/components/attachment/AttachmentTitle/index.d.ts +2 -0
  138. package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.d.ts +7 -0
  139. package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.js +18 -0
  140. package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.js.map +1 -0
  141. package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.types.d.ts +5 -0
  142. package/dist/components/attachment/AttachmentTrigger/index.d.ts +2 -0
  143. package/dist/components/attachment/index.d.ts +18 -0
  144. package/dist/components/attachment/index.js +10 -0
  145. package/dist/components/avatar/Avatar/Avatar.context.js.map +1 -1
  146. package/dist/components/avatar/Avatar/Avatar.d.ts +1 -1
  147. package/dist/components/avatar/Avatar/Avatar.js.map +1 -1
  148. package/dist/components/avatar/AvatarBadge/AvatarBadge.d.ts +1 -1
  149. package/dist/components/avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  150. package/dist/components/avatar/AvatarFallback/AvatarFallback.d.ts +1 -1
  151. package/dist/components/avatar/AvatarFallback/AvatarFallback.js.map +1 -1
  152. package/dist/components/avatar/AvatarGroup/AvatarGroup.d.ts +1 -1
  153. package/dist/components/avatar/AvatarGroup/AvatarGroup.js.map +1 -1
  154. package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.d.ts +1 -1
  155. package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js.map +1 -1
  156. package/dist/components/avatar/AvatarImage/AvatarImage.d.ts +1 -1
  157. package/dist/components/avatar/AvatarImage/AvatarImage.js.map +1 -1
  158. package/dist/components/badge/Badge.d.ts +1 -1
  159. package/dist/components/badge/Badge.js.map +1 -1
  160. package/dist/components/badge/Badge.styles.js.map +1 -1
  161. package/dist/components/breadcrumb/Breadcrumb/Breadcrumb.d.ts +1 -1
  162. package/dist/components/breadcrumb/Breadcrumb/Breadcrumb.js.map +1 -1
  163. package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.d.ts +1 -1
  164. package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js.map +1 -1
  165. package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.styles.js.map +1 -1
  166. package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.d.ts +1 -1
  167. package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
  168. package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.styles.js.map +1 -1
  169. package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.d.ts +1 -1
  170. package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js.map +1 -1
  171. package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.styles.js.map +1 -1
  172. package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.d.ts +1 -1
  173. package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js.map +1 -1
  174. package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.styles.js.map +1 -1
  175. package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.d.ts +1 -1
  176. package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js.map +1 -1
  177. package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.styles.js.map +1 -1
  178. package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.d.ts +1 -1
  179. package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js.map +1 -1
  180. package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.styles.js.map +1 -1
  181. package/dist/components/button/Button.d.ts +1 -1
  182. package/dist/components/button/Button.js +1 -1
  183. package/dist/components/button/Button.js.map +1 -1
  184. package/dist/components/button/Button.styles.js.map +1 -1
  185. package/dist/components/button-group/ButtonGroup/ButtonGroup.d.ts +1 -1
  186. package/dist/components/button-group/ButtonGroup/ButtonGroup.js.map +1 -1
  187. package/dist/components/button-group/ButtonGroup/ButtonGroup.styles.js.map +1 -1
  188. package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.d.ts +1 -1
  189. package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.js.map +1 -1
  190. package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.styles.js.map +1 -1
  191. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.d.ts +1 -1
  192. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js.map +1 -1
  193. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.styles.js.map +1 -1
  194. package/dist/components/calendar/Calendar/Calendar.js.map +1 -1
  195. package/dist/components/calendar/Calendar/Calendar.utils.js.map +1 -1
  196. package/dist/components/card/Card/Card.d.ts +1 -1
  197. package/dist/components/card/Card/Card.js.map +1 -1
  198. package/dist/components/card/Card/Card.styles.js.map +1 -1
  199. package/dist/components/card/CardAction/CardAction.d.ts +1 -1
  200. package/dist/components/card/CardAction/CardAction.js.map +1 -1
  201. package/dist/components/card/CardAction/CardAction.styles.js.map +1 -1
  202. package/dist/components/card/CardContent/CardContent.d.ts +1 -1
  203. package/dist/components/card/CardContent/CardContent.js.map +1 -1
  204. package/dist/components/card/CardContent/CardContent.styles.js.map +1 -1
  205. package/dist/components/card/CardDescription/CardDescription.d.ts +1 -1
  206. package/dist/components/card/CardDescription/CardDescription.js.map +1 -1
  207. package/dist/components/card/CardDescription/CardDescription.styles.js.map +1 -1
  208. package/dist/components/card/CardFooter/CardFooter.d.ts +1 -1
  209. package/dist/components/card/CardFooter/CardFooter.js.map +1 -1
  210. package/dist/components/card/CardFooter/CardFooter.styles.js.map +1 -1
  211. package/dist/components/card/CardHeader/CardHeader.d.ts +1 -1
  212. package/dist/components/card/CardHeader/CardHeader.js.map +1 -1
  213. package/dist/components/card/CardHeader/CardHeader.styles.js.map +1 -1
  214. package/dist/components/card/CardTitle/CardTitle.d.ts +1 -1
  215. package/dist/components/card/CardTitle/CardTitle.js.map +1 -1
  216. package/dist/components/card/CardTitle/CardTitle.styles.js.map +1 -1
  217. package/dist/components/carousel/Carousel/Carousel.context.js.map +1 -1
  218. package/dist/components/carousel/Carousel/Carousel.d.ts +1 -1
  219. package/dist/components/carousel/Carousel/Carousel.js.map +1 -1
  220. package/dist/components/carousel/Carousel/Carousel.styles.js.map +1 -1
  221. package/dist/components/carousel/Carousel/useAutoPlay.js.map +1 -1
  222. package/dist/components/carousel/Carousel/useCarousel.js.map +1 -1
  223. package/dist/components/carousel/Carousel/useKeyboardNavigation.js.map +1 -1
  224. package/dist/components/carousel/CarouselContent/CarouselContent.d.ts +1 -1
  225. package/dist/components/carousel/CarouselContent/CarouselContent.js.map +1 -1
  226. package/dist/components/carousel/CarouselContent/useItemSizeMeasure.js.map +1 -1
  227. package/dist/components/carousel/CarouselDots/CarouselDots.d.ts +1 -1
  228. package/dist/components/carousel/CarouselDots/CarouselDots.js.map +1 -1
  229. package/dist/components/carousel/CarouselItem/CarouselItem.d.ts +1 -1
  230. package/dist/components/carousel/CarouselItem/CarouselItem.js.map +1 -1
  231. package/dist/components/carousel/CarouselNext/CarouselNext.d.ts +1 -1
  232. package/dist/components/carousel/CarouselNext/CarouselNext.js.map +1 -1
  233. package/dist/components/carousel/CarouselPrevious/CarouselPrevious.d.ts +1 -1
  234. package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js.map +1 -1
  235. package/dist/components/checkbox/Checkbox/Checkbox.d.ts +1 -1
  236. package/dist/components/checkbox/Checkbox/Checkbox.js.map +1 -1
  237. package/dist/components/checkbox/Checkbox/Checkbox.styles.js.map +1 -1
  238. package/dist/components/checkbox/CheckboxIndicator/CheckboxIndicator.d.ts +1 -1
  239. package/dist/components/checkbox/CheckboxIndicator/CheckboxIndicator.js.map +1 -1
  240. package/dist/components/checkbox/CheckboxIndicator/CheckboxIndicator.styles.js.map +1 -1
  241. package/dist/components/collapsible/Collapsible/Collapsible.context.js.map +1 -1
  242. package/dist/components/collapsible/Collapsible/Collapsible.d.ts +1 -1
  243. package/dist/components/collapsible/Collapsible/Collapsible.js.map +1 -1
  244. package/dist/components/collapsible/CollapsibleContent/CollapsibleContent.d.ts +1 -1
  245. package/dist/components/collapsible/CollapsibleContent/CollapsibleContent.js.map +1 -1
  246. package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.d.ts +1 -1
  247. package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js.map +1 -1
  248. package/dist/components/combobox/Combobox/Combobox.context.js.map +1 -1
  249. package/dist/components/combobox/Combobox/Combobox.js +50 -47
  250. package/dist/components/combobox/Combobox/Combobox.js.map +1 -1
  251. package/dist/components/combobox/Combobox/Combobox.types.d.ts +5 -0
  252. package/dist/components/combobox/ComboboxChip/ComboboxChip.js.map +1 -1
  253. package/dist/components/combobox/ComboboxChips/ComboboxChips.js.map +1 -1
  254. package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.d.ts +1 -1
  255. package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.js.map +1 -1
  256. package/dist/components/combobox/ComboboxClear/ComboboxClear.d.ts +1 -1
  257. package/dist/components/combobox/ComboboxClear/ComboboxClear.js.map +1 -1
  258. package/dist/components/combobox/ComboboxCollection/ComboboxCollection.js.map +1 -1
  259. package/dist/components/combobox/ComboboxContent/ComboboxContent.d.ts +1 -1
  260. package/dist/components/combobox/ComboboxContent/ComboboxContent.js.map +1 -1
  261. package/dist/components/combobox/ComboboxContent/ComboboxContent.utils.js.map +1 -1
  262. package/dist/components/combobox/ComboboxContent/useComboboxContent.js.map +1 -1
  263. package/dist/components/combobox/ComboboxEmpty/ComboboxEmpty.js.map +1 -1
  264. package/dist/components/combobox/ComboboxGroup/ComboboxGroup.js.map +1 -1
  265. package/dist/components/combobox/ComboboxInput/ComboboxInput.js.map +1 -1
  266. package/dist/components/combobox/ComboboxItem/ComboboxItem.js.map +1 -1
  267. package/dist/components/combobox/ComboboxLabel/ComboboxLabel.js.map +1 -1
  268. package/dist/components/combobox/ComboboxList/ComboboxList.js +13 -12
  269. package/dist/components/combobox/ComboboxList/ComboboxList.js.map +1 -1
  270. package/dist/components/combobox/ComboboxSeparator/ComboboxSeparator.d.ts +1 -1
  271. package/dist/components/combobox/ComboboxSeparator/ComboboxSeparator.js.map +1 -1
  272. package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.js.map +1 -1
  273. package/dist/components/combobox/ComboboxValue/ComboboxValue.js.map +1 -1
  274. package/dist/components/combobox/useComboboxAnchor/useComboboxAnchor.js.map +1 -1
  275. package/dist/components/context-menu/ContextMenu/ContextMenu.context.d.ts +3 -0
  276. package/dist/components/context-menu/ContextMenu/ContextMenu.context.js +12 -0
  277. package/dist/components/context-menu/ContextMenu/ContextMenu.context.js.map +1 -0
  278. package/dist/components/context-menu/ContextMenu/ContextMenu.d.ts +23 -0
  279. package/dist/components/context-menu/ContextMenu/ContextMenu.js +73 -0
  280. package/dist/components/context-menu/ContextMenu/ContextMenu.js.map +1 -0
  281. package/dist/components/context-menu/ContextMenu/ContextMenu.types.d.ts +28 -0
  282. package/dist/components/context-menu/ContextMenu/index.d.ts +3 -0
  283. package/dist/components/context-menu/ContextMenuCheckboxItem/ContextMenuCheckboxItem.d.ts +6 -0
  284. package/dist/components/context-menu/ContextMenuCheckboxItem/ContextMenuCheckboxItem.js +78 -0
  285. package/dist/components/context-menu/ContextMenuCheckboxItem/ContextMenuCheckboxItem.js.map +1 -0
  286. package/dist/components/context-menu/ContextMenuCheckboxItem/ContextMenuCheckboxItem.types.d.ts +20 -0
  287. package/dist/components/context-menu/ContextMenuCheckboxItem/index.d.ts +2 -0
  288. package/dist/components/context-menu/ContextMenuContent/ContextMenuContent.d.ts +9 -0
  289. package/dist/components/context-menu/ContextMenuContent/ContextMenuContent.js +64 -0
  290. package/dist/components/context-menu/ContextMenuContent/ContextMenuContent.js.map +1 -0
  291. package/dist/components/context-menu/ContextMenuContent/ContextMenuContent.types.d.ts +26 -0
  292. package/dist/components/context-menu/ContextMenuContent/ContextMenuPopupSurface.d.ts +31 -0
  293. package/dist/components/context-menu/ContextMenuContent/ContextMenuPopupSurface.js +102 -0
  294. package/dist/components/context-menu/ContextMenuContent/ContextMenuPopupSurface.js.map +1 -0
  295. package/dist/components/context-menu/ContextMenuContent/index.d.ts +2 -0
  296. package/dist/components/context-menu/ContextMenuContent/useContextMenuContent.d.ts +52 -0
  297. package/dist/components/context-menu/ContextMenuContent/useContextMenuContent.js +153 -0
  298. package/dist/components/context-menu/ContextMenuContent/useContextMenuContent.js.map +1 -0
  299. package/dist/components/context-menu/ContextMenuGroup/ContextMenuGroup.d.ts +6 -0
  300. package/dist/components/context-menu/ContextMenuGroup/ContextMenuGroup.js +29 -0
  301. package/dist/components/context-menu/ContextMenuGroup/ContextMenuGroup.js.map +1 -0
  302. package/dist/components/context-menu/ContextMenuGroup/ContextMenuGroup.types.d.ts +9 -0
  303. package/dist/components/context-menu/ContextMenuGroup/index.d.ts +2 -0
  304. package/dist/components/context-menu/ContextMenuItem/ContextMenuItem.d.ts +6 -0
  305. package/dist/components/context-menu/ContextMenuItem/ContextMenuItem.js +59 -0
  306. package/dist/components/context-menu/ContextMenuItem/ContextMenuItem.js.map +1 -0
  307. package/dist/components/context-menu/ContextMenuItem/ContextMenuItem.types.d.ts +22 -0
  308. package/dist/components/context-menu/ContextMenuItem/index.d.ts +2 -0
  309. package/dist/components/context-menu/ContextMenuLabel/ContextMenuLabel.d.ts +6 -0
  310. package/dist/components/context-menu/ContextMenuLabel/ContextMenuLabel.js +31 -0
  311. package/dist/components/context-menu/ContextMenuLabel/ContextMenuLabel.js.map +1 -0
  312. package/dist/components/context-menu/ContextMenuLabel/ContextMenuLabel.types.d.ts +8 -0
  313. package/dist/components/context-menu/ContextMenuLabel/index.d.ts +2 -0
  314. package/dist/components/context-menu/ContextMenuPortal/ContextMenuPortal.d.ts +16 -0
  315. package/dist/components/context-menu/ContextMenuPortal/ContextMenuPortal.js +18 -0
  316. package/dist/components/context-menu/ContextMenuPortal/ContextMenuPortal.js.map +1 -0
  317. package/dist/components/context-menu/ContextMenuPortal/index.d.ts +2 -0
  318. package/dist/components/context-menu/ContextMenuRadioGroup/ContextMenuRadioGroup.d.ts +12 -0
  319. package/dist/components/context-menu/ContextMenuRadioGroup/ContextMenuRadioGroup.js +48 -0
  320. package/dist/components/context-menu/ContextMenuRadioGroup/ContextMenuRadioGroup.js.map +1 -0
  321. package/dist/components/context-menu/ContextMenuRadioGroup/ContextMenuRadioGroup.types.d.ts +14 -0
  322. package/dist/components/context-menu/ContextMenuRadioGroup/index.d.ts +2 -0
  323. package/dist/components/context-menu/ContextMenuRadioItem/ContextMenuRadioItem.d.ts +6 -0
  324. package/dist/components/context-menu/ContextMenuRadioItem/ContextMenuRadioItem.js +74 -0
  325. package/dist/components/context-menu/ContextMenuRadioItem/ContextMenuRadioItem.js.map +1 -0
  326. package/dist/components/context-menu/ContextMenuRadioItem/ContextMenuRadioItem.types.d.ts +16 -0
  327. package/dist/components/context-menu/ContextMenuRadioItem/index.d.ts +2 -0
  328. package/dist/components/context-menu/ContextMenuSeparator/ContextMenuSeparator.d.ts +9 -0
  329. package/dist/components/context-menu/ContextMenuSeparator/ContextMenuSeparator.js +25 -0
  330. package/dist/components/context-menu/ContextMenuSeparator/ContextMenuSeparator.js.map +1 -0
  331. package/dist/components/context-menu/ContextMenuSeparator/ContextMenuSeparator.types.d.ts +8 -0
  332. package/dist/components/context-menu/ContextMenuSeparator/index.d.ts +2 -0
  333. package/dist/components/context-menu/ContextMenuShortcut/ContextMenuShortcut.d.ts +6 -0
  334. package/dist/components/context-menu/ContextMenuShortcut/ContextMenuShortcut.js +19 -0
  335. package/dist/components/context-menu/ContextMenuShortcut/ContextMenuShortcut.js.map +1 -0
  336. package/dist/components/context-menu/ContextMenuShortcut/ContextMenuShortcut.types.d.ts +6 -0
  337. package/dist/components/context-menu/ContextMenuShortcut/index.d.ts +2 -0
  338. package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.d.ts +7 -0
  339. package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.js +55 -0
  340. package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.js.map +1 -0
  341. package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.types.d.ts +18 -0
  342. package/dist/components/context-menu/ContextMenuSub/index.d.ts +2 -0
  343. package/dist/components/context-menu/ContextMenuSubContent/ContextMenuSubContent.d.ts +6 -0
  344. package/dist/components/context-menu/ContextMenuSubContent/ContextMenuSubContent.js +83 -0
  345. package/dist/components/context-menu/ContextMenuSubContent/ContextMenuSubContent.js.map +1 -0
  346. package/dist/components/context-menu/ContextMenuSubContent/ContextMenuSubContent.types.d.ts +17 -0
  347. package/dist/components/context-menu/ContextMenuSubContent/index.d.ts +2 -0
  348. package/dist/components/context-menu/ContextMenuSubTrigger/ContextMenuSubTrigger.d.ts +6 -0
  349. package/dist/components/context-menu/ContextMenuSubTrigger/ContextMenuSubTrigger.js +96 -0
  350. package/dist/components/context-menu/ContextMenuSubTrigger/ContextMenuSubTrigger.js.map +1 -0
  351. package/dist/components/context-menu/ContextMenuSubTrigger/ContextMenuSubTrigger.types.d.ts +21 -0
  352. package/dist/components/context-menu/ContextMenuSubTrigger/index.d.ts +2 -0
  353. package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.d.ts +13 -0
  354. package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.js +34 -0
  355. package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.js.map +1 -0
  356. package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.types.d.ts +15 -0
  357. package/dist/components/context-menu/ContextMenuTrigger/index.d.ts +4 -0
  358. package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.d.ts +23 -0
  359. package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.js +47 -0
  360. package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.js.map +1 -0
  361. package/dist/components/context-menu/context-menu.context.d.ts +14 -0
  362. package/dist/components/context-menu/context-menu.context.js +25 -0
  363. package/dist/components/context-menu/context-menu.context.js.map +1 -0
  364. package/dist/components/context-menu/context-menu.entry.d.ts +28 -0
  365. package/dist/components/context-menu/context-menu.entry.js +31 -0
  366. package/dist/components/context-menu/context-menu.entry.js.map +1 -0
  367. package/dist/components/context-menu/context-menu.styles.d.ts +18 -0
  368. package/dist/components/context-menu/context-menu.styles.js +6 -0
  369. package/dist/components/context-menu/context-menu.styles.js.map +1 -0
  370. package/dist/components/context-menu/context-menu.types.d.ts +151 -0
  371. package/dist/components/context-menu/context-menu.utils.d.ts +28 -0
  372. package/dist/components/context-menu/context-menu.utils.js +51 -0
  373. package/dist/components/context-menu/context-menu.utils.js.map +1 -0
  374. package/dist/components/context-menu/index.d.ts +31 -0
  375. package/dist/components/context-menu/index.js +16 -0
  376. package/dist/components/data-table/createRowModel.d.ts +20 -0
  377. package/dist/components/data-table/createRowModel.js +46 -0
  378. package/dist/components/data-table/createRowModel.js.map +1 -0
  379. package/dist/components/data-table/createTable.d.ts +16 -0
  380. package/dist/components/data-table/createTable.js +94 -0
  381. package/dist/components/data-table/createTable.js.map +1 -0
  382. package/dist/components/data-table/createTableColumns.d.ts +19 -0
  383. package/dist/components/data-table/createTableColumns.js +68 -0
  384. package/dist/components/data-table/createTableColumns.js.map +1 -0
  385. package/dist/components/data-table/createTableHeaders.d.ts +10 -0
  386. package/dist/components/data-table/createTableHeaders.js +26 -0
  387. package/dist/components/data-table/createTableHeaders.js.map +1 -0
  388. package/dist/components/data-table/createTableRows.d.ts +16 -0
  389. package/dist/components/data-table/createTableRows.js +57 -0
  390. package/dist/components/data-table/createTableRows.js.map +1 -0
  391. package/dist/components/data-table/createTableSelection.d.ts +12 -0
  392. package/dist/components/data-table/createTableSelection.js +23 -0
  393. package/dist/components/data-table/createTableSelection.js.map +1 -0
  394. package/dist/components/data-table/createTableState.d.ts +16 -0
  395. package/dist/components/data-table/createTableState.js +34 -0
  396. package/dist/components/data-table/createTableState.js.map +1 -0
  397. package/dist/components/data-table/data-table.types.d.ts +123 -0
  398. package/dist/components/data-table/data-table.utils.d.ts +4 -0
  399. package/dist/components/data-table/data-table.utils.js +11 -0
  400. package/dist/components/data-table/data-table.utils.js.map +1 -0
  401. package/dist/components/data-table/index.d.ts +2 -0
  402. package/dist/components/data-table/index.js +2 -0
  403. package/dist/components/date-picker/DatePicker/DatePicker.js.map +1 -1
  404. package/dist/components/dialog/Dialog/Dialog.context.js.map +1 -1
  405. package/dist/components/dialog/Dialog/Dialog.d.ts +1 -1
  406. package/dist/components/dialog/Dialog/Dialog.js +18 -16
  407. package/dist/components/dialog/Dialog/Dialog.js.map +1 -1
  408. package/dist/components/dialog/Dialog/Dialog.types.d.ts +5 -0
  409. package/dist/components/dialog/DialogClose/DialogClose.d.ts +1 -1
  410. package/dist/components/dialog/DialogClose/DialogClose.js +5 -5
  411. package/dist/components/dialog/DialogClose/DialogClose.js.map +1 -1
  412. package/dist/components/dialog/DialogClose/DialogClose.styles.js.map +1 -1
  413. package/dist/components/dialog/DialogContent/DialogContent.context.js.map +1 -1
  414. package/dist/components/dialog/DialogContent/DialogContent.d.ts +1 -1
  415. package/dist/components/dialog/DialogContent/DialogContent.js +23 -55
  416. package/dist/components/dialog/DialogContent/DialogContent.js.map +1 -1
  417. package/dist/components/dialog/DialogContent/DialogContent.styles.js.map +1 -1
  418. package/dist/components/dialog/DialogDescription/DialogDescription.d.ts +1 -1
  419. package/dist/components/dialog/DialogDescription/DialogDescription.js.map +1 -1
  420. package/dist/components/dialog/DialogDescription/DialogDescription.styles.js.map +1 -1
  421. package/dist/components/dialog/DialogFooter/DialogFooter.d.ts +1 -1
  422. package/dist/components/dialog/DialogFooter/DialogFooter.js.map +1 -1
  423. package/dist/components/dialog/DialogFooter/DialogFooter.styles.js.map +1 -1
  424. package/dist/components/dialog/DialogHeader/DialogHeader.d.ts +1 -1
  425. package/dist/components/dialog/DialogHeader/DialogHeader.js.map +1 -1
  426. package/dist/components/dialog/DialogHeader/DialogHeader.styles.js.map +1 -1
  427. package/dist/components/dialog/DialogOverlay/DialogOverlay.d.ts +1 -1
  428. package/dist/components/dialog/DialogOverlay/DialogOverlay.js +18 -10
  429. package/dist/components/dialog/DialogOverlay/DialogOverlay.js.map +1 -1
  430. package/dist/components/dialog/DialogOverlay/DialogOverlay.styles.js.map +1 -1
  431. package/dist/components/dialog/DialogOverlay/DialogOverlay.types.d.ts +4 -1
  432. package/dist/components/dialog/DialogPortal/DialogPortal.d.ts +1 -1
  433. package/dist/components/dialog/DialogPortal/DialogPortal.js.map +1 -1
  434. package/dist/components/dialog/DialogSurface/DialogSurface.d.ts +2 -0
  435. package/dist/components/dialog/DialogSurface/DialogSurface.js +77 -0
  436. package/dist/components/dialog/DialogSurface/DialogSurface.js.map +1 -0
  437. package/dist/components/dialog/DialogSurface/DialogSurface.types.d.ts +15 -0
  438. package/dist/components/dialog/DialogSurface/index.d.ts +2 -0
  439. package/dist/components/dialog/DialogTitle/DialogTitle.d.ts +1 -1
  440. package/dist/components/dialog/DialogTitle/DialogTitle.js.map +1 -1
  441. package/dist/components/dialog/DialogTitle/DialogTitle.styles.js.map +1 -1
  442. package/dist/components/dialog/DialogTrigger/DialogTrigger.d.ts +1 -1
  443. package/dist/components/dialog/DialogTrigger/DialogTrigger.js.map +1 -1
  444. package/dist/components/dialog/DialogTrigger/useDialogTrigger.js.map +1 -1
  445. package/dist/components/dialog/index.d.ts +1 -0
  446. package/dist/components/dialog/index.js +9 -8
  447. package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.context.d.ts +3 -0
  448. package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.context.js +12 -0
  449. package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.context.js.map +1 -0
  450. package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.d.ts +9 -0
  451. package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.js +82 -0
  452. package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.js.map +1 -0
  453. package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.types.d.ts +26 -0
  454. package/dist/components/dropdown-menu/DropdownMenu/index.d.ts +3 -0
  455. package/dist/components/dropdown-menu/DropdownMenuCheckboxItem/DropdownMenuCheckboxItem.d.ts +2 -0
  456. package/dist/components/dropdown-menu/DropdownMenuCheckboxItem/DropdownMenuCheckboxItem.js +78 -0
  457. package/dist/components/dropdown-menu/DropdownMenuCheckboxItem/DropdownMenuCheckboxItem.js.map +1 -0
  458. package/dist/components/dropdown-menu/DropdownMenuCheckboxItem/DropdownMenuCheckboxItem.types.d.ts +14 -0
  459. package/dist/components/dropdown-menu/DropdownMenuCheckboxItem/index.d.ts +2 -0
  460. package/dist/components/dropdown-menu/DropdownMenuContent/DropdownMenuContent.d.ts +6 -0
  461. package/dist/components/dropdown-menu/DropdownMenuContent/DropdownMenuContent.js +64 -0
  462. package/dist/components/dropdown-menu/DropdownMenuContent/DropdownMenuContent.js.map +1 -0
  463. package/dist/components/dropdown-menu/DropdownMenuContent/DropdownMenuContent.types.d.ts +13 -0
  464. package/dist/components/dropdown-menu/DropdownMenuContent/index.d.ts +2 -0
  465. package/dist/components/dropdown-menu/DropdownMenuGroup/DropdownMenuGroup.d.ts +2 -0
  466. package/dist/components/dropdown-menu/DropdownMenuGroup/DropdownMenuGroup.js +29 -0
  467. package/dist/components/dropdown-menu/DropdownMenuGroup/DropdownMenuGroup.js.map +1 -0
  468. package/dist/components/dropdown-menu/DropdownMenuGroup/DropdownMenuGroup.types.d.ts +2 -0
  469. package/dist/components/dropdown-menu/DropdownMenuGroup/index.d.ts +2 -0
  470. package/dist/components/dropdown-menu/DropdownMenuItem/DropdownMenuItem.d.ts +2 -0
  471. package/dist/components/dropdown-menu/DropdownMenuItem/DropdownMenuItem.js +59 -0
  472. package/dist/components/dropdown-menu/DropdownMenuItem/DropdownMenuItem.js.map +1 -0
  473. package/dist/components/dropdown-menu/DropdownMenuItem/DropdownMenuItem.types.d.ts +14 -0
  474. package/dist/components/dropdown-menu/DropdownMenuItem/index.d.ts +2 -0
  475. package/dist/components/dropdown-menu/DropdownMenuLabel/DropdownMenuLabel.d.ts +2 -0
  476. package/dist/components/dropdown-menu/DropdownMenuLabel/DropdownMenuLabel.js +31 -0
  477. package/dist/components/dropdown-menu/DropdownMenuLabel/DropdownMenuLabel.js.map +1 -0
  478. package/dist/components/dropdown-menu/DropdownMenuLabel/DropdownMenuLabel.types.d.ts +4 -0
  479. package/dist/components/dropdown-menu/DropdownMenuLabel/index.d.ts +2 -0
  480. package/dist/components/dropdown-menu/DropdownMenuPortal/DropdownMenuPortal.d.ts +2 -0
  481. package/dist/components/dropdown-menu/DropdownMenuPortal/DropdownMenuPortal.js +10 -0
  482. package/dist/components/dropdown-menu/DropdownMenuPortal/DropdownMenuPortal.js.map +1 -0
  483. package/dist/components/dropdown-menu/DropdownMenuPortal/DropdownMenuPortal.types.d.ts +2 -0
  484. package/dist/components/dropdown-menu/DropdownMenuPortal/index.d.ts +2 -0
  485. package/dist/components/dropdown-menu/DropdownMenuRadioGroup/DropdownMenuRadioGroup.d.ts +2 -0
  486. package/dist/components/dropdown-menu/DropdownMenuRadioGroup/DropdownMenuRadioGroup.js +48 -0
  487. package/dist/components/dropdown-menu/DropdownMenuRadioGroup/DropdownMenuRadioGroup.js.map +1 -0
  488. package/dist/components/dropdown-menu/DropdownMenuRadioGroup/DropdownMenuRadioGroup.types.d.ts +10 -0
  489. package/dist/components/dropdown-menu/DropdownMenuRadioGroup/index.d.ts +2 -0
  490. package/dist/components/dropdown-menu/DropdownMenuRadioItem/DropdownMenuRadioItem.d.ts +2 -0
  491. package/dist/components/dropdown-menu/DropdownMenuRadioItem/DropdownMenuRadioItem.js +74 -0
  492. package/dist/components/dropdown-menu/DropdownMenuRadioItem/DropdownMenuRadioItem.js.map +1 -0
  493. package/dist/components/dropdown-menu/DropdownMenuRadioItem/DropdownMenuRadioItem.types.d.ts +11 -0
  494. package/dist/components/dropdown-menu/DropdownMenuRadioItem/index.d.ts +2 -0
  495. package/dist/components/dropdown-menu/DropdownMenuSeparator/DropdownMenuSeparator.d.ts +2 -0
  496. package/dist/components/dropdown-menu/DropdownMenuSeparator/DropdownMenuSeparator.js +25 -0
  497. package/dist/components/dropdown-menu/DropdownMenuSeparator/DropdownMenuSeparator.js.map +1 -0
  498. package/dist/components/dropdown-menu/DropdownMenuSeparator/DropdownMenuSeparator.types.d.ts +2 -0
  499. package/dist/components/dropdown-menu/DropdownMenuSeparator/index.d.ts +2 -0
  500. package/dist/components/dropdown-menu/DropdownMenuShortcut/DropdownMenuShortcut.d.ts +2 -0
  501. package/dist/components/dropdown-menu/DropdownMenuShortcut/DropdownMenuShortcut.js +19 -0
  502. package/dist/components/dropdown-menu/DropdownMenuShortcut/DropdownMenuShortcut.js.map +1 -0
  503. package/dist/components/dropdown-menu/DropdownMenuShortcut/DropdownMenuShortcut.types.d.ts +2 -0
  504. package/dist/components/dropdown-menu/DropdownMenuShortcut/index.d.ts +2 -0
  505. package/dist/components/dropdown-menu/DropdownMenuSub/DropdownMenuSub.d.ts +4 -0
  506. package/dist/components/dropdown-menu/DropdownMenuSub/DropdownMenuSub.js +10 -0
  507. package/dist/components/dropdown-menu/DropdownMenuSub/DropdownMenuSub.js.map +1 -0
  508. package/dist/components/dropdown-menu/DropdownMenuSub/DropdownMenuSub.types.d.ts +2 -0
  509. package/dist/components/dropdown-menu/DropdownMenuSub/index.d.ts +2 -0
  510. package/dist/components/dropdown-menu/DropdownMenuSubContent/DropdownMenuSubContent.d.ts +2 -0
  511. package/dist/components/dropdown-menu/DropdownMenuSubContent/DropdownMenuSubContent.js +82 -0
  512. package/dist/components/dropdown-menu/DropdownMenuSubContent/DropdownMenuSubContent.js.map +1 -0
  513. package/dist/components/dropdown-menu/DropdownMenuSubContent/DropdownMenuSubContent.types.d.ts +15 -0
  514. package/dist/components/dropdown-menu/DropdownMenuSubContent/index.d.ts +2 -0
  515. package/dist/components/dropdown-menu/DropdownMenuSubTrigger/DropdownMenuSubTrigger.d.ts +2 -0
  516. package/dist/components/dropdown-menu/DropdownMenuSubTrigger/DropdownMenuSubTrigger.js +96 -0
  517. package/dist/components/dropdown-menu/DropdownMenuSubTrigger/DropdownMenuSubTrigger.js.map +1 -0
  518. package/dist/components/dropdown-menu/DropdownMenuSubTrigger/DropdownMenuSubTrigger.types.d.ts +12 -0
  519. package/dist/components/dropdown-menu/DropdownMenuSubTrigger/index.d.ts +2 -0
  520. package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.d.ts +5 -0
  521. package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.js +42 -0
  522. package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.js.map +1 -0
  523. package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.types.d.ts +4 -0
  524. package/dist/components/dropdown-menu/DropdownMenuTrigger/index.d.ts +2 -0
  525. package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.d.ts +4 -0
  526. package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.js +30 -0
  527. package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.js.map +1 -0
  528. package/dist/components/dropdown-menu/dropdown-menu.styles.d.ts +11 -0
  529. package/dist/components/dropdown-menu/dropdown-menu.styles.js +6 -0
  530. package/dist/components/dropdown-menu/dropdown-menu.styles.js.map +1 -0
  531. package/dist/components/dropdown-menu/index.d.ts +30 -0
  532. package/dist/components/dropdown-menu/index.js +16 -0
  533. package/dist/components/empty/Empty/Empty.d.ts +1 -1
  534. package/dist/components/empty/Empty/Empty.js.map +1 -1
  535. package/dist/components/empty/EmptyContent/EmptyContent.d.ts +1 -1
  536. package/dist/components/empty/EmptyContent/EmptyContent.js.map +1 -1
  537. package/dist/components/empty/EmptyDescription/EmptyDescription.d.ts +1 -1
  538. package/dist/components/empty/EmptyDescription/EmptyDescription.js.map +1 -1
  539. package/dist/components/empty/EmptyHeader/EmptyHeader.d.ts +1 -1
  540. package/dist/components/empty/EmptyHeader/EmptyHeader.js.map +1 -1
  541. package/dist/components/empty/EmptyMedia/EmptyMedia.d.ts +1 -1
  542. package/dist/components/empty/EmptyMedia/EmptyMedia.js.map +1 -1
  543. package/dist/components/empty/EmptyMedia/EmptyMedia.styles.js.map +1 -1
  544. package/dist/components/empty/EmptyTitle/EmptyTitle.d.ts +1 -1
  545. package/dist/components/empty/EmptyTitle/EmptyTitle.js.map +1 -1
  546. package/dist/components/field/Field/Field.d.ts +1 -1
  547. package/dist/components/field/Field/Field.js.map +1 -1
  548. package/dist/components/field/Field/Field.styles.js.map +1 -1
  549. package/dist/components/field/FieldContent/FieldContent.d.ts +1 -1
  550. package/dist/components/field/FieldContent/FieldContent.js.map +1 -1
  551. package/dist/components/field/FieldDescription/FieldDescription.d.ts +1 -1
  552. package/dist/components/field/FieldDescription/FieldDescription.js.map +1 -1
  553. package/dist/components/field/FieldError/FieldError.d.ts +1 -1
  554. package/dist/components/field/FieldError/FieldError.js.map +1 -1
  555. package/dist/components/field/FieldGroup/FieldGroup.d.ts +1 -1
  556. package/dist/components/field/FieldGroup/FieldGroup.js.map +1 -1
  557. package/dist/components/field/FieldLabel/FieldLabel.d.ts +1 -1
  558. package/dist/components/field/FieldLabel/FieldLabel.js.map +1 -1
  559. package/dist/components/field/FieldLegend/FieldLegend.d.ts +1 -1
  560. package/dist/components/field/FieldLegend/FieldLegend.js.map +1 -1
  561. package/dist/components/field/FieldSeparator/FieldSeparator.d.ts +1 -1
  562. package/dist/components/field/FieldSeparator/FieldSeparator.js.map +1 -1
  563. package/dist/components/field/FieldSet/FieldSet.d.ts +1 -1
  564. package/dist/components/field/FieldSet/FieldSet.js.map +1 -1
  565. package/dist/components/field/FieldTitle/FieldTitle.d.ts +1 -1
  566. package/dist/components/field/FieldTitle/FieldTitle.js.map +1 -1
  567. package/dist/components/image/Image.config.js.map +1 -1
  568. package/dist/components/image/Image.js.map +1 -1
  569. package/dist/components/image/Image.utils.js +2 -2
  570. package/dist/components/image/Image.utils.js.map +1 -1
  571. package/dist/components/image/ImageElement.js.map +1 -1
  572. package/dist/components/image/ImagePreload.js.map +1 -1
  573. package/dist/components/input/Input.js.map +1 -1
  574. package/dist/components/input-group/InputGroup/InputGroup.d.ts +1 -1
  575. package/dist/components/input-group/InputGroup/InputGroup.js.map +1 -1
  576. package/dist/components/input-group/InputGroupAddon/InputGroupAddon.d.ts +1 -1
  577. package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js.map +1 -1
  578. package/dist/components/input-group/InputGroupAddon/InputGroupAddon.styles.js.map +1 -1
  579. package/dist/components/input-group/InputGroupButton/InputGroupButton.d.ts +1 -1
  580. package/dist/components/input-group/InputGroupButton/InputGroupButton.js.map +1 -1
  581. package/dist/components/input-group/InputGroupButton/InputGroupButton.styles.js.map +1 -1
  582. package/dist/components/input-group/InputGroupInput/InputGroupInput.d.ts +1 -1
  583. package/dist/components/input-group/InputGroupInput/InputGroupInput.js.map +1 -1
  584. package/dist/components/input-group/InputGroupText/InputGroupText.d.ts +1 -1
  585. package/dist/components/input-group/InputGroupText/InputGroupText.js.map +1 -1
  586. package/dist/components/input-group/InputGroupTextarea/InputGroupTextarea.d.ts +1 -1
  587. package/dist/components/input-group/InputGroupTextarea/InputGroupTextarea.js.map +1 -1
  588. package/dist/components/item/Item/Item.d.ts +1 -1
  589. package/dist/components/item/Item/Item.js.map +1 -1
  590. package/dist/components/item/Item/Item.styles.js.map +1 -1
  591. package/dist/components/item/ItemActions/ItemActions.d.ts +1 -1
  592. package/dist/components/item/ItemActions/ItemActions.js.map +1 -1
  593. package/dist/components/item/ItemContent/ItemContent.d.ts +1 -1
  594. package/dist/components/item/ItemContent/ItemContent.js.map +1 -1
  595. package/dist/components/item/ItemDescription/ItemDescription.d.ts +1 -1
  596. package/dist/components/item/ItemDescription/ItemDescription.js.map +1 -1
  597. package/dist/components/item/ItemFooter/ItemFooter.d.ts +1 -1
  598. package/dist/components/item/ItemFooter/ItemFooter.js.map +1 -1
  599. package/dist/components/item/ItemGroup/ItemGroup.d.ts +1 -1
  600. package/dist/components/item/ItemGroup/ItemGroup.js.map +1 -1
  601. package/dist/components/item/ItemHeader/ItemHeader.d.ts +1 -1
  602. package/dist/components/item/ItemHeader/ItemHeader.js.map +1 -1
  603. package/dist/components/item/ItemMedia/ItemMedia.d.ts +1 -1
  604. package/dist/components/item/ItemMedia/ItemMedia.js.map +1 -1
  605. package/dist/components/item/ItemMedia/ItemMedia.styles.js.map +1 -1
  606. package/dist/components/item/ItemSeparator/ItemSeparator.d.ts +1 -1
  607. package/dist/components/item/ItemSeparator/ItemSeparator.js.map +1 -1
  608. package/dist/components/item/ItemTitle/ItemTitle.d.ts +1 -1
  609. package/dist/components/item/ItemTitle/ItemTitle.js.map +1 -1
  610. package/dist/components/kbd/Kbd.d.ts +2 -2
  611. package/dist/components/kbd/Kbd.js.map +1 -1
  612. package/dist/components/label/Label.d.ts +1 -1
  613. package/dist/components/label/Label.js.map +1 -1
  614. package/dist/components/number-input/NumberInput/NumberInput.d.ts +19 -0
  615. package/dist/components/number-input/NumberInput/NumberInput.js +153 -0
  616. package/dist/components/number-input/NumberInput/NumberInput.js.map +1 -0
  617. package/dist/components/number-input/NumberInput/NumberInput.types.d.ts +41 -0
  618. package/dist/components/number-input/NumberInput/NumberInput.utils.d.ts +10 -0
  619. package/dist/components/number-input/NumberInput/NumberInput.utils.js +24 -0
  620. package/dist/components/number-input/NumberInput/NumberInput.utils.js.map +1 -0
  621. package/dist/components/number-input/NumberInput/create-change-event-details.d.ts +8 -0
  622. package/dist/components/number-input/NumberInput/create-change-event-details.js +25 -0
  623. package/dist/components/number-input/NumberInput/create-change-event-details.js.map +1 -0
  624. package/dist/components/number-input/NumberInput/index.d.ts +2 -0
  625. package/dist/components/number-input/index.d.ts +2 -0
  626. package/dist/components/number-input/index.js +2 -0
  627. package/dist/components/pagination/Pagination/Pagination.d.ts +1 -1
  628. package/dist/components/pagination/Pagination/Pagination.js.map +1 -1
  629. package/dist/components/pagination/PaginationContent/PaginationContent.d.ts +1 -1
  630. package/dist/components/pagination/PaginationContent/PaginationContent.js.map +1 -1
  631. package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.d.ts +1 -1
  632. package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js.map +1 -1
  633. package/dist/components/pagination/PaginationItem/PaginationItem.d.ts +1 -1
  634. package/dist/components/pagination/PaginationItem/PaginationItem.js.map +1 -1
  635. package/dist/components/pagination/PaginationLink/PaginationLink.d.ts +1 -1
  636. package/dist/components/pagination/PaginationLink/PaginationLink.js +1 -1
  637. package/dist/components/pagination/PaginationLink/PaginationLink.js.map +1 -1
  638. package/dist/components/pagination/PaginationNext/PaginationNext.d.ts +1 -1
  639. package/dist/components/pagination/PaginationNext/PaginationNext.js.map +1 -1
  640. package/dist/components/pagination/PaginationPrevious/PaginationPrevious.d.ts +1 -1
  641. package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js.map +1 -1
  642. package/dist/components/popover/Popover/Popover.context.js.map +1 -1
  643. package/dist/components/popover/Popover/Popover.js +25 -22
  644. package/dist/components/popover/Popover/Popover.js.map +1 -1
  645. package/dist/components/popover/Popover/Popover.types.d.ts +5 -0
  646. package/dist/components/popover/PopoverContent/PopoverContent.d.ts +1 -1
  647. package/dist/components/popover/PopoverContent/PopoverContent.js.map +1 -1
  648. package/dist/components/popover/PopoverContent/PopoverContent.utils.js.map +1 -1
  649. package/dist/components/popover/PopoverContent/usePopoverContent.js.map +1 -1
  650. package/dist/components/popover/PopoverDescription/PopoverDescription.d.ts +1 -1
  651. package/dist/components/popover/PopoverDescription/PopoverDescription.js.map +1 -1
  652. package/dist/components/popover/PopoverHeader/PopoverHeader.d.ts +1 -1
  653. package/dist/components/popover/PopoverHeader/PopoverHeader.js.map +1 -1
  654. package/dist/components/popover/PopoverTitle/PopoverTitle.d.ts +1 -1
  655. package/dist/components/popover/PopoverTitle/PopoverTitle.js.map +1 -1
  656. package/dist/components/popover/PopoverTrigger/PopoverTrigger.d.ts +1 -1
  657. package/dist/components/popover/PopoverTrigger/PopoverTrigger.js.map +1 -1
  658. package/dist/components/popover/PopoverTrigger/usePopoverTrigger.js.map +1 -1
  659. package/dist/components/progress/Progress/Progress.context.js.map +1 -1
  660. package/dist/components/progress/Progress/Progress.d.ts +1 -1
  661. package/dist/components/progress/Progress/Progress.js.map +1 -1
  662. package/dist/components/progress/Progress/Progress.styles.js.map +1 -1
  663. package/dist/components/progress/ProgressIndicator/ProgressIndicator.d.ts +1 -1
  664. package/dist/components/progress/ProgressIndicator/ProgressIndicator.js.map +1 -1
  665. package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.js.map +1 -1
  666. package/dist/components/progress/ProgressLabel/ProgressLabel.d.ts +1 -1
  667. package/dist/components/progress/ProgressLabel/ProgressLabel.js.map +1 -1
  668. package/dist/components/progress/ProgressLabel/ProgressLabel.styles.js.map +1 -1
  669. package/dist/components/progress/ProgressTrack/ProgressTrack.d.ts +1 -1
  670. package/dist/components/progress/ProgressTrack/ProgressTrack.js.map +1 -1
  671. package/dist/components/progress/ProgressTrack/ProgressTrack.styles.js.map +1 -1
  672. package/dist/components/progress/ProgressValue/ProgressValue.d.ts +1 -1
  673. package/dist/components/progress/ProgressValue/ProgressValue.js.map +1 -1
  674. package/dist/components/progress/ProgressValue/ProgressValue.styles.js.map +1 -1
  675. package/dist/components/radio-group/RadioGroup/RadioGroup.context.js.map +1 -1
  676. package/dist/components/radio-group/RadioGroup/RadioGroup.js.map +1 -1
  677. package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.d.ts +1 -1
  678. package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js.map +1 -1
  679. package/dist/components/scroll-area/ScrollArea/ScrollArea.context.js.map +1 -1
  680. package/dist/components/scroll-area/ScrollArea/ScrollArea.d.ts +1 -1
  681. package/dist/components/scroll-area/ScrollArea/ScrollArea.js.map +1 -1
  682. package/dist/components/scroll-area/ScrollArea/ScrollArea.utils.js.map +1 -1
  683. package/dist/components/scroll-area/ScrollBar/ScrollBar.d.ts +1 -1
  684. package/dist/components/scroll-area/ScrollBar/ScrollBar.js.map +1 -1
  685. package/dist/components/scroll-arrows/ScrollArrowButton.d.ts +9 -0
  686. package/dist/components/scroll-arrows/ScrollArrowButton.js +51 -0
  687. package/dist/components/scroll-arrows/ScrollArrowButton.js.map +1 -0
  688. package/dist/components/scroll-arrows/ScrollArrows.d.ts +8 -0
  689. package/dist/components/scroll-arrows/ScrollArrows.js +35 -0
  690. package/dist/components/scroll-arrows/ScrollArrows.js.map +1 -0
  691. package/dist/components/scroll-arrows/ScrollArrows.types.d.ts +17 -0
  692. package/dist/components/scroll-arrows/index.d.ts +2 -0
  693. package/dist/components/scroll-arrows/index.js +2 -0
  694. package/dist/components/select/Select/Select.context.js.map +1 -1
  695. package/dist/components/select/Select/Select.js +36 -33
  696. package/dist/components/select/Select/Select.js.map +1 -1
  697. package/dist/components/select/Select/Select.types.d.ts +5 -0
  698. package/dist/components/select/SelectContent/SelectContent.d.ts +1 -1
  699. package/dist/components/select/SelectContent/SelectContent.js +45 -40
  700. package/dist/components/select/SelectContent/SelectContent.js.map +1 -1
  701. package/dist/components/select/SelectContent/SelectContent.utils.js.map +1 -1
  702. package/dist/components/select/SelectContent/useSelectContent.js.map +1 -1
  703. package/dist/components/select/SelectGroup/SelectGroup.d.ts +1 -1
  704. package/dist/components/select/SelectGroup/SelectGroup.js.map +1 -1
  705. package/dist/components/select/SelectItem/SelectItem.d.ts +1 -1
  706. package/dist/components/select/SelectItem/SelectItem.js.map +1 -1
  707. package/dist/components/select/SelectItem/useSelectItem.js.map +1 -1
  708. package/dist/components/select/SelectLabel/SelectLabel.d.ts +1 -1
  709. package/dist/components/select/SelectLabel/SelectLabel.js.map +1 -1
  710. package/dist/components/select/SelectSeparator/SelectSeparator.d.ts +1 -1
  711. package/dist/components/select/SelectSeparator/SelectSeparator.js.map +1 -1
  712. package/dist/components/select/SelectTrigger/SelectTrigger.d.ts +1 -1
  713. package/dist/components/select/SelectTrigger/SelectTrigger.js.map +1 -1
  714. package/dist/components/select/SelectTrigger/useSelectTrigger.js.map +1 -1
  715. package/dist/components/select/SelectValue/SelectValue.d.ts +1 -1
  716. package/dist/components/select/SelectValue/SelectValue.js.map +1 -1
  717. package/dist/components/separator/Separator.d.ts +1 -1
  718. package/dist/components/separator/Separator.js.map +1 -1
  719. package/dist/components/separator/Separator.styles.js.map +1 -1
  720. package/dist/components/sidebar/Sidebar/Sidebar.d.ts +1 -1
  721. package/dist/components/sidebar/Sidebar/Sidebar.js.map +1 -1
  722. package/dist/components/sidebar/SidebarContent/SidebarContent.d.ts +1 -1
  723. package/dist/components/sidebar/SidebarContent/SidebarContent.js.map +1 -1
  724. package/dist/components/sidebar/SidebarFooter/SidebarFooter.d.ts +1 -1
  725. package/dist/components/sidebar/SidebarFooter/SidebarFooter.js.map +1 -1
  726. package/dist/components/sidebar/SidebarGroup/SidebarGroup.d.ts +1 -1
  727. package/dist/components/sidebar/SidebarGroup/SidebarGroup.js.map +1 -1
  728. package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.d.ts +1 -1
  729. package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js.map +1 -1
  730. package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.d.ts +1 -1
  731. package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js.map +1 -1
  732. package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.d.ts +1 -1
  733. package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js.map +1 -1
  734. package/dist/components/sidebar/SidebarHeader/SidebarHeader.d.ts +1 -1
  735. package/dist/components/sidebar/SidebarHeader/SidebarHeader.js.map +1 -1
  736. package/dist/components/sidebar/SidebarInput/SidebarInput.d.ts +1 -1
  737. package/dist/components/sidebar/SidebarInput/SidebarInput.js.map +1 -1
  738. package/dist/components/sidebar/SidebarInset/SidebarInset.d.ts +1 -1
  739. package/dist/components/sidebar/SidebarInset/SidebarInset.js.map +1 -1
  740. package/dist/components/sidebar/SidebarMenu/SidebarMenu.d.ts +1 -1
  741. package/dist/components/sidebar/SidebarMenu/SidebarMenu.js.map +1 -1
  742. package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.d.ts +1 -1
  743. package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js.map +1 -1
  744. package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.d.ts +1 -1
  745. package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js.map +1 -1
  746. package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.styles.js.map +1 -1
  747. package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.d.ts +1 -1
  748. package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js.map +1 -1
  749. package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.d.ts +1 -1
  750. package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js.map +1 -1
  751. package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.d.ts +1 -1
  752. package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js.map +1 -1
  753. package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.d.ts +1 -1
  754. package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js.map +1 -1
  755. package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.d.ts +1 -1
  756. package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js.map +1 -1
  757. package/dist/components/sidebar/SidebarProvider/SidebarProvider.consts.js.map +1 -1
  758. package/dist/components/sidebar/SidebarProvider/SidebarProvider.context.js.map +1 -1
  759. package/dist/components/sidebar/SidebarProvider/SidebarProvider.d.ts +1 -1
  760. package/dist/components/sidebar/SidebarProvider/SidebarProvider.js.map +1 -1
  761. package/dist/components/sidebar/SidebarRail/SidebarRail.d.ts +1 -1
  762. package/dist/components/sidebar/SidebarRail/SidebarRail.js.map +1 -1
  763. package/dist/components/sidebar/SidebarSeparator/SidebarSeparator.d.ts +1 -1
  764. package/dist/components/sidebar/SidebarSeparator/SidebarSeparator.js.map +1 -1
  765. package/dist/components/sidebar/SidebarTrigger/SidebarTrigger.d.ts +1 -1
  766. package/dist/components/sidebar/SidebarTrigger/SidebarTrigger.js.map +1 -1
  767. package/dist/components/skeleton/Skeleton.d.ts +1 -1
  768. package/dist/components/skeleton/Skeleton.js.map +1 -1
  769. package/dist/components/slider/Slider/Slider.context.js.map +1 -1
  770. package/dist/components/slider/Slider/Slider.d.ts +1 -1
  771. package/dist/components/slider/Slider/Slider.js.map +1 -1
  772. package/dist/components/slider/Slider/Slider.styles.js.map +1 -1
  773. package/dist/components/slider/Slider/useSlider.js.map +1 -1
  774. package/dist/components/slider/SliderControl/SliderControl.d.ts +1 -1
  775. package/dist/components/slider/SliderControl/SliderControl.js.map +1 -1
  776. package/dist/components/slider/SliderControl/SliderControl.styles.js.map +1 -1
  777. package/dist/components/slider/SliderControl/useSliderControl.js.map +1 -1
  778. package/dist/components/slider/SliderIndicator/SliderIndicator.d.ts +1 -1
  779. package/dist/components/slider/SliderIndicator/SliderIndicator.js.map +1 -1
  780. package/dist/components/slider/SliderIndicator/SliderIndicator.styles.js.map +1 -1
  781. package/dist/components/slider/SliderIndicator/useSliderIndicator.js.map +1 -1
  782. package/dist/components/slider/SliderThumb/SliderThumb.d.ts +1 -1
  783. package/dist/components/slider/SliderThumb/SliderThumb.js.map +1 -1
  784. package/dist/components/slider/SliderThumb/SliderThumb.styles.js.map +1 -1
  785. package/dist/components/slider/SliderThumb/useSliderThumb.js.map +1 -1
  786. package/dist/components/slider/SliderTrack/SliderTrack.d.ts +1 -1
  787. package/dist/components/slider/SliderTrack/SliderTrack.js.map +1 -1
  788. package/dist/components/slider/SliderTrack/SliderTrack.styles.js.map +1 -1
  789. package/dist/components/spinner/Spinner.d.ts +1 -1
  790. package/dist/components/spinner/Spinner.js.map +1 -1
  791. package/dist/components/spinner/Spinner.styles.js.map +1 -1
  792. package/dist/components/switch/Switch.d.ts +1 -1
  793. package/dist/components/switch/Switch.js.map +1 -1
  794. package/dist/components/switch/Switch.styles.js.map +1 -1
  795. package/dist/components/table/Table/Table.d.ts +3 -0
  796. package/dist/components/table/Table/Table.js +24 -0
  797. package/dist/components/table/Table/Table.js.map +1 -0
  798. package/dist/components/table/Table/Table.types.d.ts +2 -0
  799. package/dist/components/table/Table/index.d.ts +2 -0
  800. package/dist/components/table/TableBody/TableBody.d.ts +2 -0
  801. package/dist/components/table/TableBody/TableBody.js +24 -0
  802. package/dist/components/table/TableBody/TableBody.js.map +1 -0
  803. package/dist/components/table/TableBody/TableBody.types.d.ts +2 -0
  804. package/dist/components/table/TableBody/index.d.ts +2 -0
  805. package/dist/components/table/TableCaption/TableCaption.d.ts +2 -0
  806. package/dist/components/table/TableCaption/TableCaption.js +24 -0
  807. package/dist/components/table/TableCaption/TableCaption.js.map +1 -0
  808. package/dist/components/table/TableCaption/TableCaption.types.d.ts +2 -0
  809. package/dist/components/table/TableCaption/index.d.ts +2 -0
  810. package/dist/components/table/TableCell/TableCell.d.ts +2 -0
  811. package/dist/components/table/TableCell/TableCell.js +24 -0
  812. package/dist/components/table/TableCell/TableCell.js.map +1 -0
  813. package/dist/components/table/TableCell/TableCell.types.d.ts +2 -0
  814. package/dist/components/table/TableCell/index.d.ts +2 -0
  815. package/dist/components/table/TableFooter/TableFooter.d.ts +2 -0
  816. package/dist/components/table/TableFooter/TableFooter.js +24 -0
  817. package/dist/components/table/TableFooter/TableFooter.js.map +1 -0
  818. package/dist/components/table/TableFooter/TableFooter.types.d.ts +2 -0
  819. package/dist/components/table/TableFooter/index.d.ts +2 -0
  820. package/dist/components/table/TableHead/TableHead.d.ts +2 -0
  821. package/dist/components/table/TableHead/TableHead.js +24 -0
  822. package/dist/components/table/TableHead/TableHead.js.map +1 -0
  823. package/dist/components/table/TableHead/TableHead.types.d.ts +2 -0
  824. package/dist/components/table/TableHead/index.d.ts +2 -0
  825. package/dist/components/table/TableHeader/TableHeader.d.ts +2 -0
  826. package/dist/components/table/TableHeader/TableHeader.js +24 -0
  827. package/dist/components/table/TableHeader/TableHeader.js.map +1 -0
  828. package/dist/components/table/TableHeader/TableHeader.types.d.ts +2 -0
  829. package/dist/components/table/TableHeader/index.d.ts +2 -0
  830. package/dist/components/table/TableRow/TableRow.d.ts +2 -0
  831. package/dist/components/table/TableRow/TableRow.js +24 -0
  832. package/dist/components/table/TableRow/TableRow.js.map +1 -0
  833. package/dist/components/table/TableRow/TableRow.types.d.ts +2 -0
  834. package/dist/components/table/TableRow/index.d.ts +2 -0
  835. package/dist/components/table/index.d.ts +16 -0
  836. package/dist/components/table/index.js +9 -0
  837. package/dist/components/tabs/Tabs/Tabs.context.d.ts +1 -1
  838. package/dist/components/tabs/Tabs/Tabs.context.js.map +1 -1
  839. package/dist/components/tabs/Tabs/Tabs.d.ts +1 -1
  840. package/dist/components/tabs/Tabs/Tabs.js.map +1 -1
  841. package/dist/components/tabs/Tabs/call-event-handler.js.map +1 -1
  842. package/dist/components/tabs/Tabs/useTabsKeyboard.js.map +1 -1
  843. package/dist/components/tabs/TabsContent/TabsContent.js.map +1 -1
  844. package/dist/components/tabs/TabsList/TabsList.context.js.map +1 -1
  845. package/dist/components/tabs/TabsList/TabsList.d.ts +1 -1
  846. package/dist/components/tabs/TabsList/TabsList.js.map +1 -1
  847. package/dist/components/tabs/TabsList/TabsList.styles.js.map +1 -1
  848. package/dist/components/tabs/TabsTrigger/TabsTrigger.d.ts +1 -1
  849. package/dist/components/tabs/TabsTrigger/TabsTrigger.js.map +1 -1
  850. package/dist/components/tabs/TabsTrigger/TabsTrigger.styles.js.map +1 -1
  851. package/dist/components/textarea/Textarea.d.ts +1 -1
  852. package/dist/components/textarea/Textarea.js.map +1 -1
  853. package/dist/components/time-picker/TimePicker/TimePicker.context.d.ts +29 -0
  854. package/dist/components/time-picker/TimePicker/TimePicker.context.js +49 -0
  855. package/dist/components/time-picker/TimePicker/TimePicker.context.js.map +1 -0
  856. package/dist/components/time-picker/TimePicker/TimePicker.d.ts +23 -0
  857. package/dist/components/time-picker/TimePicker/TimePicker.js +52 -0
  858. package/dist/components/time-picker/TimePicker/TimePicker.js.map +1 -0
  859. package/dist/components/time-picker/TimePicker/TimePicker.types.d.ts +91 -0
  860. package/dist/components/time-picker/TimePicker/create-change-event-details.d.ts +8 -0
  861. package/dist/components/time-picker/TimePicker/create-change-event-details.js +25 -0
  862. package/dist/components/time-picker/TimePicker/create-change-event-details.js.map +1 -0
  863. package/dist/components/time-picker/TimePicker/index.d.ts +4 -0
  864. package/dist/components/time-picker/TimePicker/time-picker.utils.d.ts +28 -0
  865. package/dist/components/time-picker/TimePicker/time-picker.utils.js +103 -0
  866. package/dist/components/time-picker/TimePicker/time-picker.utils.js.map +1 -0
  867. package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.d.ts +10 -0
  868. package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.js +60 -0
  869. package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.js.map +1 -0
  870. package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.types.d.ts +8 -0
  871. package/dist/components/time-picker/TimePickerColumn/index.d.ts +2 -0
  872. package/dist/components/time-picker/TimePickerColumn/useTimePickerColumn.d.ts +16 -0
  873. package/dist/components/time-picker/TimePickerColumn/useTimePickerColumn.js +75 -0
  874. package/dist/components/time-picker/TimePickerColumn/useTimePickerColumn.js.map +1 -0
  875. package/dist/components/time-picker/TimePickerContent/TimePickerContent.d.ts +7 -0
  876. package/dist/components/time-picker/TimePickerContent/TimePickerContent.js +48 -0
  877. package/dist/components/time-picker/TimePickerContent/TimePickerContent.js.map +1 -0
  878. package/dist/components/time-picker/TimePickerContent/TimePickerContent.types.d.ts +11 -0
  879. package/dist/components/time-picker/TimePickerContent/index.d.ts +2 -0
  880. package/dist/components/time-picker/TimePickerOption/TimePickerOption.d.ts +9 -0
  881. package/dist/components/time-picker/TimePickerOption/TimePickerOption.js +52 -0
  882. package/dist/components/time-picker/TimePickerOption/TimePickerOption.js.map +1 -0
  883. package/dist/components/time-picker/TimePickerOption/TimePickerOption.types.d.ts +11 -0
  884. package/dist/components/time-picker/TimePickerOption/index.d.ts +2 -0
  885. package/dist/components/time-picker/TimePickerTrigger/TimePickerTrigger.d.ts +9 -0
  886. package/dist/components/time-picker/TimePickerTrigger/TimePickerTrigger.js +37 -0
  887. package/dist/components/time-picker/TimePickerTrigger/TimePickerTrigger.js.map +1 -0
  888. package/dist/components/time-picker/TimePickerTrigger/TimePickerTrigger.types.d.ts +5 -0
  889. package/dist/components/time-picker/TimePickerTrigger/index.d.ts +2 -0
  890. package/dist/components/time-picker/index.d.ts +10 -0
  891. package/dist/components/time-picker/index.js +7 -0
  892. package/dist/components/toast/Toast/Toast.js.map +1 -1
  893. package/dist/components/toast/Toast/Toast.styles.js.map +1 -1
  894. package/dist/components/toast/Toast/Toast.types.js.map +1 -1
  895. package/dist/components/toast/Toaster/Toaster.js.map +1 -1
  896. package/dist/components/toast/Toaster/Toaster.styles.js.map +1 -1
  897. package/dist/components/toast/Toaster/Toaster.utils.js.map +1 -1
  898. package/dist/components/toast/state/toast.js.map +1 -1
  899. package/dist/components/toggle/Toggle/Toggle.js.map +1 -1
  900. package/dist/components/toggle/Toggle/Toggle.styles.js.map +1 -1
  901. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.context.js.map +1 -1
  902. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js.map +1 -1
  903. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.styles.js.map +1 -1
  904. package/dist/components/toggle-group/ToggleGroup/create-change-event-details.js.map +1 -1
  905. package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.js.map +1 -1
  906. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js.map +1 -1
  907. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.styles.js.map +1 -1
  908. package/dist/components/toggle-group/call-event-handler.js.map +1 -1
  909. package/dist/components/tooltip/Tooltip/Tooltip.context.js.map +1 -1
  910. package/dist/components/tooltip/Tooltip/Tooltip.js.map +1 -1
  911. package/dist/components/tooltip/TooltipArrow/TooltipArrow.d.ts +1 -1
  912. package/dist/components/tooltip/TooltipArrow/TooltipArrow.js.map +1 -1
  913. package/dist/components/tooltip/TooltipContent/TooltipContent.context.js.map +1 -1
  914. package/dist/components/tooltip/TooltipContent/TooltipContent.d.ts +1 -1
  915. package/dist/components/tooltip/TooltipContent/TooltipContent.js.map +1 -1
  916. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js.map +1 -1
  917. package/dist/components/tooltip/TooltipContent/useTooltipContent.js.map +1 -1
  918. package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.js.map +1 -1
  919. package/dist/components/tooltip/TooltipGroup/TooltipGroup.d.ts +1 -1
  920. package/dist/components/tooltip/TooltipGroup/TooltipGroup.js.map +1 -1
  921. package/dist/components/tooltip/TooltipProvider/TooltipProvider.context.js.map +1 -1
  922. package/dist/components/tooltip/TooltipProvider/TooltipProvider.js.map +1 -1
  923. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.d.ts +1 -1
  924. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.js.map +1 -1
  925. package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.js.map +1 -1
  926. package/dist/hooks/index.d.ts +2 -0
  927. package/dist/hooks/index.js +3 -1
  928. package/dist/hooks/useFontLoader.js.map +1 -1
  929. package/dist/hooks/useScrollEdges.d.ts +16 -0
  930. package/dist/hooks/useScrollEdges.js +34 -0
  931. package/dist/hooks/useScrollEdges.js.map +1 -0
  932. package/dist/hooks/useScrollLock.d.ts +16 -0
  933. package/dist/hooks/useScrollLock.js +61 -0
  934. package/dist/hooks/useScrollLock.js.map +1 -0
  935. package/dist/index.d.ts +8 -0
  936. package/dist/index.js +251 -194
  937. package/dist/lib/positioner/auto-update.js.map +1 -1
  938. package/dist/lib/positioner/core/compute-position.js.map +1 -1
  939. package/dist/lib/positioner/core/placement.js.map +1 -1
  940. package/dist/lib/positioner/create-positioner.js.map +1 -1
  941. package/dist/lib/positioner/middleware/arrow.js.map +1 -1
  942. package/dist/lib/positioner/middleware/containing-block-offset.js.map +1 -1
  943. package/dist/lib/positioner/middleware/flip.js.map +1 -1
  944. package/dist/lib/positioner/middleware/hide.js.map +1 -1
  945. package/dist/lib/positioner/middleware/offset.js.map +1 -1
  946. package/dist/lib/positioner/middleware/shift.js.map +1 -1
  947. package/dist/lib/positioner/middleware/size.js.map +1 -1
  948. package/dist/lib/positioner/utils/dom.js.map +1 -1
  949. package/dist/lib/positioner/virtual-element.js +18 -0
  950. package/dist/lib/positioner/virtual-element.js.map +1 -0
  951. package/dist/ui.css +1 -1
  952. package/dist/utils/clsx.js.map +1 -1
  953. package/dist/utils/logger.js.map +1 -1
  954. package/dist/utils/ref.js.map +1 -1
  955. package/dist/utils/warn-once.js.map +1 -1
  956. package/package.json +6 -6
  957. package/dist/components/alert-dialog/AlertDialog/AlertDialog.context.d.ts +0 -10
  958. package/dist/components/alert-dialog/AlertDialog/AlertDialog.context.js +0 -11
  959. package/dist/components/alert-dialog/AlertDialog/AlertDialog.context.js.map +0 -1
  960. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.context.d.ts +0 -8
  961. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.context.js +0 -11
  962. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.context.js.map +0 -1
  963. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.d.ts +0 -2
  964. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.js +0 -6
  965. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.js.map +0 -1
  966. package/dist/components/alert-dialog/AlertDialogTrigger/useAlertDialogTrigger.d.ts +0 -2
  967. package/dist/components/alert-dialog/AlertDialogTrigger/useAlertDialogTrigger.js +0 -26
  968. package/dist/components/alert-dialog/AlertDialogTrigger/useAlertDialogTrigger.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Image.utils.js","names":[],"sources":["../../../src/components/image/Image.utils.ts"],"sourcesContent":["/**\n * handle-loading.ts\n * 单一职责:封装图片加载完成后的所有副作用——decode、回调触发、开发环境警告。\n * 纯 TypeScript,不包含任何 JSX 或组件代码。\n */\n\nimport { mergeProps, splitProps } from \"solid-js\";\nimport { warnOnce } from \"~/utils\";\nimport { imageConfigDefault } from \"./Image.config\";\nimport type {\n ImageConfig,\n ImageConfigComplete,\n ImageLoaderProps,\n ImageLoaderWithConfig,\n ImageProps,\n ImgProps,\n ImgPropsResult,\n LoadingValue,\n OnLoad,\n OnLoadingComplete,\n PlaceholderStyle,\n PlaceholderValue,\n StaticImageData,\n StaticImport,\n StaticRequire,\n} from \"./Image.types\";\n\n// ─── 类型补充 ─────────────────────────────────────────────────────────────────\n\n/** 用于追踪每个 img 节点已处理的 src,避免重复触发 */\ntype ImgWithDataProp = HTMLImageElement & { \"data-loaded-src\"?: string };\n\n// ─── 主函数 ───────────────────────────────────────────────────────────────────\n\n/**\n * 在图片加载/hydrate 后调用。\n * - 使用 img.decode() 确保像素已解码再触发回调\n * - 清除 blur placeholder\n * - 开发环境下输出 fill / sizes 相关警告\n */\nexport function handleLoading(\n img: ImgWithDataProp,\n placeholder: PlaceholderValue,\n onLoad: OnLoad | undefined,\n onLoadingComplete: OnLoadingComplete | undefined,\n setBlurComplete: (v: boolean) => void,\n unoptimized: boolean,\n sizesInput: string | undefined,\n): void {\n const src = img?.src;\n // 同一张图只处理一次\n if (!img || img[\"data-loaded-src\"] === src) return;\n img[\"data-loaded-src\"] = src;\n\n const p: Promise<void> = \"decode\" in img ? img.decode() : Promise.resolve();\n\n p.catch(() => {}).then(() => {\n // 若组件已卸载则提前退出\n if (!img.parentElement || !img.isConnected) return;\n\n if (placeholder !== \"empty\") {\n setBlurComplete(true);\n }\n\n if (onLoad) {\n const event = new Event(\"load\");\n Object.defineProperty(event, \"target\", { writable: false, value: img });\n onLoad(\n event as Event & { currentTarget: HTMLImageElement; target: Element },\n );\n }\n\n if (onLoadingComplete) {\n onLoadingComplete(img);\n }\n\n if (import.meta.env.DEV) {\n warnFillUsage(img, unoptimized, sizesInput);\n warnAspectRatioMismatch(img);\n }\n });\n}\n\n// ─── 开发警告辅助 ──────────────────────────────────────────────────────────────\n\nfunction warnFillUsage(\n img: HTMLImageElement,\n unoptimized: boolean,\n sizesInput: string | undefined,\n): void {\n if (img.getAttribute(\"data-nimg\") !== \"fill\") return;\n\n const origSrc =\n new URL(img.src, \"http://n\").searchParams.get(\"url\") || img.src;\n\n if (!unoptimized) {\n const widthViewportRatio =\n img.getBoundingClientRect().width / window.innerWidth;\n if (widthViewportRatio < 0.6) {\n if (sizesInput === \"100vw\") {\n console.warn(\n `[Image] src=\"${origSrc}\" 设置了 fill 和 sizes=\"100vw\",但实际渲染宽度不足视口宽度,请调整 sizes 以提升性能。`,\n );\n } else if (!sizesInput) {\n console.warn(\n `[Image] src=\"${origSrc}\" 设置了 fill 但缺少 sizes 属性,请添加以提升性能。`,\n );\n }\n }\n }\n\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement);\n const valid = [\"absolute\", \"fixed\", \"relative\"];\n if (!valid.includes(position)) {\n console.warn(\n `[Image] src=\"${origSrc}\" 设置了 fill,但父元素 position=\"${position}\",应为 ${valid.join(\" | \")} 之一。`,\n );\n }\n }\n\n if (img.height === 0) {\n console.warn(\n `[Image] src=\"${origSrc}\" 设置了 fill 且高度为 0,请为父元素设置明确高度。`,\n );\n }\n}\n\nfunction warnAspectRatioMismatch(img: HTMLImageElement): void {\n const heightModified = img.height.toString() !== img.getAttribute(\"height\");\n const widthModified = img.width.toString() !== img.getAttribute(\"width\");\n if (\n (heightModified && !widthModified) ||\n (!heightModified && widthModified)\n ) {\n const origSrc =\n new URL(img.src, \"http://n\").searchParams.get(\"url\") || img.src;\n console.warn(\n `[Image] src=\"${origSrc}\" 仅修改了 width 或 height 其中之一,请同时添加 width: \"auto\" 或 height: \"auto\" 样式以保持宽高比。`,\n );\n }\n}\n\ninterface GetImgPropsOptions {\n imgConf: ImageConfigComplete;\n blurComplete: boolean;\n showAltText: boolean;\n}\n\nexport const VALID_LOADING_VALUES = [\"lazy\", \"eager\", undefined] as const;\n// Object-fit values that are not valid background-size values\nconst INVALID_BACKGROUND_SIZE_VALUES = [\n \"-moz-initial\",\n \"fill\",\n \"none\",\n \"scale-down\",\n undefined,\n];\n\nlet perfObserver: PerformanceObserver | undefined;\nconst allImgs = new Map<\n string,\n { src: string; loading: LoadingValue; placeholder: PlaceholderValue }\n>();\n\nexport function getImgProps(\n props: ImageProps,\n { imgConf, blurComplete, showAltText }: GetImgPropsOptions,\n): ImgPropsResult {\n const merged = mergeProps(\n {\n // loader: defaultLoader,\n fill: false,\n priority: false,\n preload: false,\n placeholder: \"empty\",\n unoptimized: imgConf.unoptimized,\n decoding: \"async\",\n } as const,\n props,\n );\n const [local, others] = splitProps(merged, [\n \"src\",\n \"loader\",\n \"quality\",\n \"width\",\n \"height\",\n \"fill\",\n \"sizes\",\n \"priority\",\n \"placeholder\",\n \"blurDataURL\",\n \"unoptimized\",\n \"overrideSrc\",\n \"onLoad\",\n \"onLoadingComplete\",\n \"layout\",\n \"style\",\n \"preload\",\n \"loading\",\n \"objectFit\",\n \"objectPosition\",\n \"lazyBoundary\",\n \"lazyRoot\",\n \"fetchpriority\",\n \"class\",\n \"decoding\",\n ]);\n\n let config: ImageConfig;\n const c = imgConf || imageConfigDefault;\n\n if (\"allSizes\" in c) {\n config = c as ImageConfig;\n } else {\n const allSizes = [...c.deviceSizes, ...c.imageSizes].sort((a, b) => a - b);\n const deviceSizes = c.deviceSizes.sort((a, b) => a - b);\n const qualities = c.qualities?.sort((a, b) => a - b);\n config = { ...c, allSizes, deviceSizes, qualities };\n }\n\n if (typeof defaultLoader === \"undefined\") {\n throw new Error(\n \"images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config\",\n );\n }\n\n let style = local.style;\n let sizes = local.sizes;\n let fill = local.fill;\n\n const loader: ImageLoaderWithConfig = local.loader || defaultLoader;\n\n if (local.layout) {\n if (local.layout === \"fill\") {\n fill = true;\n }\n const layoutToStyle: Record<string, Record<string, string> | undefined> = {\n intrinsic: { maxWidth: \"100%\", height: \"auto\" },\n responsive: { width: \"100%\", height: \"auto\" },\n };\n const layoutToSizes: Record<string, string | undefined> = {\n responsive: \"100vw\",\n fill: \"100vw\",\n };\n const layoutStyle = layoutToStyle[local.layout];\n if (layoutStyle) {\n style = { ...style, ...layoutStyle };\n }\n const layoutSizes = layoutToSizes[local.layout];\n if (layoutSizes && !sizes) {\n sizes = layoutSizes;\n }\n }\n\n let staticSrc = \"\";\n let blurDataURL = local.blurDataURL;\n let widthInt = getInt(local.width);\n let heightInt = getInt(local.height);\n let blurWidth: number | undefined;\n let blurHeight: number | undefined;\n\n if (isStaticImport(local.src)) {\n const staticImageData = isStaticRequire(local.src)\n ? local.src.default\n : local.src;\n\n if (!staticImageData.src) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(\n staticImageData,\n )}`,\n );\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(\n staticImageData,\n )}`,\n );\n }\n\n blurWidth = staticImageData.blurWidth;\n blurHeight = staticImageData.blurHeight;\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width;\n heightInt = staticImageData.height;\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width;\n heightInt = Math.round(staticImageData.height * ratio);\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height;\n widthInt = Math.round(staticImageData.width * ratio);\n }\n }\n }\n const src = typeof local.src === \"string\" ? local.src : staticSrc;\n\n let unoptimized = local.unoptimized;\n let isLazy =\n !local.priority &&\n !local.preload &&\n (local.loading === \"lazy\" || typeof local.loading === \"undefined\");\n if (!src || src.startsWith(\"data:\") || src.startsWith(\"blob:\")) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (config.unoptimized) {\n unoptimized = true;\n }\n if (!config.dangerouslyAllowSVG && src.split(\"?\", 1)[0].endsWith(\".svg\")) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true;\n }\n\n const qualityInt = getInt(local.quality);\n\n if (!import.meta.env.PROD) {\n if (config.output === \"export\" && !unoptimized) {\n throw new Error(\n `Image Optimization using the default loader is not compatible with \\`{ output: 'export' }\\`.\n Possible solutions:\n - Remove \\`{ output: 'export' }\\` and run \"next start\" to run server mode including the Image Optimization API.\n - Configure \\`{ images: { unoptimized: true } }\\` in \\`next.config.js\\` to disable the Image Optimization API.\n Read more: https://nextjs.org/docs/messages/export-image-api`,\n );\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true;\n } else {\n if (fill) {\n if (local.width) {\n throw new Error(\n `Image with src \"${src}\" has both \"width\" and \"fill\" properties. Only one should be used.`,\n );\n }\n if (local.height) {\n throw new Error(\n `Image with src \"${src}\" has both \"height\" and \"fill\" properties. Only one should be used.`,\n );\n }\n if (style?.position && style.position !== \"absolute\") {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.`,\n );\n }\n if (style?.width && style.width !== \"100%\") {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.`,\n );\n }\n if (style?.height && style.height !== \"100%\") {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.`,\n );\n }\n } else {\n if (typeof widthInt === \"undefined\") {\n throw new Error(\n `Image with src \"${src}\" is missing required \"width\" property.`,\n );\n } else if (Number.isNaN(widthInt)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"width\" property. Expected a numeric value in pixels but received \"${local.width}\".`,\n );\n }\n if (typeof heightInt === \"undefined\") {\n throw new Error(\n `Image with src \"${src}\" is missing required \"height\" property.`,\n );\n } else if (Number.isNaN(heightInt)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"height\" property. Expected a numeric value in pixels but received \"${local.height}\".`,\n );\n }\n\n // biome-ignore lint/suspicious/noControlCharactersInRegex: no-control-regex\n if (/^[\\x00-\\x20]/.test(src)) {\n throw new Error(\n `Image with src \"${src}\" cannot start with a space or control character. Use src.trimStart() to remove it or encodeURIComponent(src) to keep it.`,\n );\n }\n // biome-ignore lint/suspicious/noControlCharactersInRegex: no-control-regex\n if (/[\\x00-\\x20]$/.test(src)) {\n throw new Error(\n `Image with src \"${src}\" cannot end with a space or control character. Use src.trimEnd() to remove it or encodeURIComponent(src) to keep it.`,\n );\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(local.loading)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"loading\" property. Provided \"${local.loading}\" should be one of ${VALID_LOADING_VALUES.map(\n String,\n ).join(\",\")}.`,\n );\n }\n if (local.priority && local.loading === \"lazy\") {\n throw new Error(\n `Image with src \"${src}\" has both \"priority\" and \"loading='lazy'\" properties. Only one should be used.`,\n );\n }\n if (local.preload && local.loading === \"lazy\") {\n throw new Error(\n `Image with src \"${src}\" has both \"preload\" and \"loading='lazy'\" properties. Only one should be used.`,\n );\n }\n if (local.preload && local.priority) {\n throw new Error(\n `Image with src \"${src}\" has both \"preload\" and \"priority\" properties. Only \"preload\" should be used.`,\n );\n }\n if (\n local.placeholder !== \"empty\" &&\n local.placeholder !== \"blur\" &&\n !local.placeholder.startsWith(\"data:image/\")\n ) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"placeholder\" property \"${local.placeholder}\".`,\n );\n }\n if (local.placeholder !== \"empty\") {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n warnOnce(\n `Image with src \"${src}\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.`,\n );\n }\n }\n if (\n qualityInt &&\n config.qualities &&\n !config.qualities.includes(qualityInt)\n ) {\n warnOnce(\n `Image with src \"${src}\" is using quality \"${qualityInt}\" which is not configured in images.qualities [${config.qualities.join(\", \")}]. Please update your config to [${[...config.qualities, qualityInt].sort().join(\", \")}].` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-qualities`,\n );\n }\n if (local.placeholder === \"blur\" && !blurDataURL) {\n const VALID_BLUR_EXT = [\"jpeg\", \"png\", \"webp\", \"avif\"]; // should match next-image-loader\n\n throw new Error(\n `Image with src \"${src}\" has \"placeholder='blur'\" property but is missing the \"blurDataURL\" property.\n Possible solutions:\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\n - Change the \"src\" property to a static import with one of the supported file types: ${VALID_BLUR_EXT.join(\n \",\",\n )} (animated images not supported)\n - Remove the \"placeholder\" property, effectively no blur effect\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url`,\n );\n }\n if (\"ref\" in others) {\n warnOnce(\n `Image with src \"${src}\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.`,\n );\n }\n\n if (!unoptimized) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75,\n });\n let url: URL | undefined;\n try {\n url = new URL(urlStr);\n } catch (err) {\n console.error(err);\n }\n if (urlStr === src || (url && url.pathname === src && !url.search)) {\n warnOnce(\n `Image with src \"${src}\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width`,\n );\n }\n }\n\n if (local.onLoadingComplete) {\n warnOnce(\n `Image with src \"${src}\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.`,\n );\n }\n\n for (const [legacyKey, legacyValue] of Object.entries({\n layout: local.layout,\n objectFit: local.objectFit,\n objectPosition: local.objectPosition,\n lazyBoundary: local.lazyBoundary,\n lazyRoot: local.lazyRoot,\n })) {\n if (legacyValue) {\n warnOnce(\n `Image with src \"${src}\" has legacy prop \"${legacyKey}\". Did you forget to run the codemod?` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13`,\n );\n }\n }\n\n if (\n typeof window !== \"undefined\" &&\n !perfObserver &&\n window.PerformanceObserver\n ) {\n perfObserver = new PerformanceObserver((entryList) => {\n for (const entry of entryList.getEntries()) {\n // @ts-expect-error - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = entry?.element?.src || \"\";\n const lcpImage = allImgs.get(imgSrc);\n if (\n lcpImage &&\n lcpImage.loading === \"lazy\" &&\n lcpImage.placeholder === \"empty\" &&\n !lcpImage.src.startsWith(\"data:\") &&\n !lcpImage.src.startsWith(\"blob:\")\n ) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n warnOnce(\n `Image with src \"${lcpImage.src}\" was detected as the Largest Contentful Paint (LCP). Please add the \\`loading=\"eager\"\\` property if this image is above the fold.` +\n `\\nRead more: https://nextjs.org/docs/app/api-reference/components/image#loading`,\n );\n }\n }\n });\n try {\n perfObserver.observe({\n type: \"largest-contentful-paint\",\n buffered: true,\n });\n } catch (err) {\n // Log error but don't crash the app\n console.error(err);\n }\n }\n }\n\n const imgStyle = Object.assign(\n fill\n ? {\n position: \"absolute\",\n height: \"100%\",\n width: \"100%\",\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit: local.objectFit,\n objectPosition: local.objectPosition,\n }\n : {},\n showAltText ? {} : { color: \"transparent\" },\n style,\n );\n\n const backgroundImage =\n !blurComplete && local.placeholder !== \"empty\"\n ? local.placeholder === \"blur\"\n ? `url(\"data:image/svg+xml;charset=utf-8,${getImageBlurSvg({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || \"\", // assume not undefined\n objectFit: imgStyle.objectFit,\n })}\")`\n : `url(\"${local.placeholder}\")` // assume `data:image/`\n : null;\n\n const backgroundSize = !INVALID_BACKGROUND_SIZE_VALUES.includes(\n imgStyle.objectFit,\n )\n ? imgStyle.objectFit\n : imgStyle.objectFit === \"fill\"\n ? \"100% 100%\" // the background-size equivalent of `fill`\n : \"cover\";\n\n const placeholderStyle: PlaceholderStyle = backgroundImage\n ? {\n \"background-size\": backgroundSize,\n \"background-position\": imgStyle.objectPosition || \"50% 50%\",\n \"background-repeat\": \"no-repeat\",\n \"background-image\": backgroundImage,\n }\n : {};\n\n if (import.meta.env.DEV) {\n if (\n placeholderStyle[\"background-image\"] &&\n local.placeholder === \"blur\" &&\n blurDataURL?.startsWith(\"/\")\n ) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle[\"background-image\"] = `url(\"${blurDataURL}\")`;\n }\n }\n\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader,\n });\n\n const loadingFinal = isLazy ? \"lazy\" : local.loading;\n\n if (!import.meta.env.PROD) {\n if (typeof window !== \"undefined\") {\n let fullUrl: URL;\n try {\n fullUrl = new URL(imgAttributes.src);\n } catch (e) {\n console.error(e);\n fullUrl = new URL(imgAttributes.src, window.location.href);\n }\n allImgs.set(fullUrl.href, {\n src,\n loading: loadingFinal,\n placeholder: local.placeholder,\n });\n }\n }\n\n const newProps: ImgProps = {\n ...others,\n loading: loadingFinal,\n fetchpriority: local.fetchpriority,\n width: widthInt,\n height: heightInt,\n decoding: local.decoding,\n class: local.class,\n style: { ...imgStyle, ...placeholderStyle },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: local.overrideSrc || imgAttributes.src,\n };\n const meta = {\n unoptimized,\n preload: local.preload || local.priority,\n placeholder: local.placeholder,\n fill,\n };\n return { props: newProps, meta };\n}\n\nfunction defaultLoader({ src, width, quality }: ImageLoaderProps): string {\n if (import.meta.env.DEV) {\n const missingValues: string[] = [];\n if (!src) missingValues.push(\"src\");\n if (!width) missingValues.push(\"width\");\n if (missingValues.length > 0) {\n throw new Error(\n `[defaultLoader] 缺少必要属性:${missingValues.join(\", \")}。` +\n `请确认调用方式正确,或提供自定义 loader。`,\n );\n }\n }\n\n // 如果 src 本身已是带参数的 URL(外部图片),直接返回\n if (src.startsWith(\"http://\") || src.startsWith(\"https://\")) {\n return src;\n }\n\n // 本地图片:追加 w / q 参数(供自定义服务器处理)\n const params = new URLSearchParams();\n params.set(\"url\", src);\n params.set(\"w\", String(width));\n if (quality) params.set(\"q\", String(quality));\n return `/_image?${params.toString()}`;\n}\n\nfunction getInt(x: unknown): number | undefined {\n if (typeof x === \"undefined\") {\n return x;\n }\n if (typeof x === \"number\") {\n return Number.isFinite(x) ? x : NaN;\n }\n if (typeof x === \"string\" && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10);\n }\n return NaN;\n}\n\nfunction isStaticRequire(\n src: StaticRequire | StaticImageData,\n): src is StaticRequire {\n return (src as StaticRequire).default !== undefined;\n}\n\nfunction isStaticImageData(\n src: StaticRequire | StaticImageData,\n): src is StaticImageData {\n return (src as StaticImageData).src !== undefined;\n}\n\nfunction isStaticImport(src: string | StaticImport): src is StaticImport {\n return (\n !!src &&\n typeof src === \"object\" &&\n (isStaticRequire(src as StaticImport) ||\n isStaticImageData(src as StaticImport))\n );\n}\n\nfunction getImageBlurSvg({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL,\n objectFit,\n}: {\n widthInt?: number;\n heightInt?: number;\n blurWidth?: number;\n blurHeight?: number;\n blurDataURL: string;\n objectFit?: string;\n}): string {\n const std = 20;\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt;\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt;\n\n const viewBox =\n svgWidth && svgHeight ? `viewBox='0 0 ${svgWidth} ${svgHeight}'` : \"\";\n const preserveAspectRatio = viewBox\n ? \"none\"\n : objectFit === \"contain\"\n ? \"xMidYMid\"\n : objectFit === \"cover\"\n ? \"xMidYMid slice\"\n : \"none\";\n\n return `%3Csvg xmlns='http://www.w3.org/2000/svg' ${viewBox}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='${std}'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='${std}'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${preserveAspectRatio}' style='filter: url(%23b);' href='${blurDataURL}'/%3E%3C/svg%3E`;\n}\n\ntype GenImgAttrsData = {\n config: ImageConfig;\n src: string;\n unoptimized: boolean;\n loader: ImageLoaderWithConfig;\n width?: number;\n quality?: number;\n sizes?: string;\n};\n\ntype GenImgAttrsResult = {\n src: string;\n srcSet: string | undefined;\n sizes: string | undefined;\n};\n\nfunction generateImgAttrs({\n config,\n src,\n unoptimized,\n width,\n quality,\n sizes,\n loader,\n}: GenImgAttrsData): GenImgAttrsResult {\n if (unoptimized) {\n return { src, srcSet: undefined, sizes: undefined };\n }\n\n const { widths, kind } = getWidths(config, width, sizes);\n const last = widths.length - 1;\n\n return {\n sizes: !sizes && kind === \"w\" ? \"100vw\" : sizes,\n srcSet: widths\n .map(\n (w, i) =>\n `${loader({ config, src, quality, width: w })} ${\n kind === \"w\" ? w : i + 1\n }${kind}`,\n )\n .join(\", \"),\n\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({ config, src, quality, width: widths[last] }),\n };\n}\n\nfunction getWidths(\n { deviceSizes, allSizes }: ImageConfig,\n width: number | undefined,\n sizes: string | undefined,\n): { widths: number[]; kind: \"w\" | \"x\" } {\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for (\n let match: RegExpExecArray | null;\n // biome-ignore lint/suspicious/noAssignInExpressions: nextjs code\n (match = viewportWidthRe.exec(sizes));\n match\n ) {\n percentSizes.push(Number.parseInt(match[2], 10));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s) => s >= deviceSizes[0] * smallestRatio),\n kind: \"w\",\n };\n }\n return { widths: allSizes, kind: \"w\" };\n }\n if (typeof width !== \"number\") {\n return { widths: deviceSizes, kind: \"w\" };\n }\n\n const widths = [\n ...new Set(\n // > This means that most OLED screens that say they are 3x resolution,\n // > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [width, width * 2 /*, width * 3*/].map(\n (w) => allSizes.find((p) => p >= w) || allSizes[allSizes.length - 1],\n ),\n ),\n ];\n return { widths, kind: \"x\" };\n}\n"],"mappings":";;;AAwCA,SAAgB,EACd,GACA,GACA,GACA,GACA,GACA,GACA,GACM;CACN,IAAM,IAAM,GAAK;CAEb,CAAC,KAAO,EAAI,uBAAuB,MACvC,EAAI,qBAAqB,IAEA,YAAY,IAAM,EAAI,OAAO,IAAI,QAAQ,QAAQ,EAAA,CAExE,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW;EAEvB,OAAC,EAAI,iBAAiB,CAAC,EAAI,cAM/B;OAJI,MAAgB,WAClB,EAAgB,EAAI,GAGlB,GAAQ;IACV,IAAM,IAAQ,IAAI,MAAM,MAAM;IAE9B,AADA,OAAO,eAAe,GAAO,UAAU;KAAE,UAAU;KAAO,OAAO;IAAI,CAAC,GACtE,EACE,CACF;GACF;GAEA,AAAI,KACF,EAAkB,CAAG;EAHvB;CAUF,CAAC;AACH;AAsEA,IAAM,IAAiC;CACrC;CACA;CACA;CACA;CACA,KAAA;AACF;AAQA,SAAgB,EACd,GACA,EAAE,YAAS,iBAAc,kBACT;CAChB,IAAM,IAAS,EACb;EAEE,MAAM;EACN,UAAU;EACV,SAAS;EACT,aAAa;EACb,aAAa,EAAQ;EACrB,UAAU;CACZ,GACA,CACF,GACM,CAAC,GAAO,KAAU,EAAW,GAAQ;EACzC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC,GAEG,GACE,IAAI,KAAW;CAErB,IAAI,cAAc,GAChB,IAAS;MACJ;EACL,IAAM,IAAW,CAAC,GAAG,EAAE,aAAa,GAAG,EAAE,UAAU,CAAC,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,GACnE,IAAc,EAAE,YAAY,MAAM,GAAG,MAAM,IAAI,CAAC,GAChD,IAAY,EAAE,WAAW,MAAM,GAAG,MAAM,IAAI,CAAC;EACnD,IAAS;GAAE,GAAG;GAAG;GAAU;GAAa;EAAU;CACpD;CAEA,IAAW,MAAkB,QAC3B,MAAU,MACR,uIACF;CAGF,IAAI,IAAQ,EAAM,OACd,IAAQ,EAAM,OACd,IAAO,EAAM,MAEX,IAAgC,EAAM,UAAU;CAEtD,IAAI,EAAM,QAAQ;EAChB,AAAI,EAAM,WAAW,WACnB,IAAO;EAET,IAAM,IAAoE;GACxE,WAAW;IAAE,UAAU;IAAQ,QAAQ;GAAO;GAC9C,YAAY;IAAE,OAAO;IAAQ,QAAQ;GAAO;EAC9C,GACM,IAAoD;GACxD,YAAY;GACZ,MAAM;EACR,GACM,IAAc,EAAc,EAAM;EACxC,AAAI,MACF,IAAQ;GAAE,GAAG;GAAO,GAAG;EAAY;EAErC,IAAM,IAAc,EAAc,EAAM;EACxC,AAAI,KAAe,CAAC,MAClB,IAAQ;CAEZ;CAEA,IAAI,IAAY,IACZ,IAAc,EAAM,aACpB,IAAW,EAAO,EAAM,KAAK,GAC7B,IAAY,EAAO,EAAM,MAAM,GAC/B,GACA;CAEJ,IAAI,EAAe,EAAM,GAAG,GAAG;EAC7B,IAAM,IAAkB,EAAgB,EAAM,GAAG,IAC7C,EAAM,IAAI,UACV,EAAM;EAEV,IAAI,CAAC,EAAgB,KACnB,MAAU,MACR,8IAA8I,KAAK,UACjJ,CACF,GACF;EAEF,IAAI,CAAC,EAAgB,UAAU,CAAC,EAAgB,OAC9C,MAAU,MACR,2JAA2J,KAAK,UAC9J,CACF,GACF;EAQF,IALA,IAAY,EAAgB,WAC5B,IAAa,EAAgB,YAC7B,MAA6B,EAAgB,aAC7C,IAAY,EAAgB,KAExB,CAAC,GAAM;GACT,IAAI,CAAC,KAAY,CAAC,GAEhB,AADA,IAAW,EAAgB,OAC3B,IAAY,EAAgB;QACvB,IAAI,KAAY,CAAC,GAAW;IACjC,IAAM,IAAQ,IAAW,EAAgB;IACzC,IAAY,KAAK,MAAM,EAAgB,SAAS,CAAK;GACvD,OAAO,IAAI,CAAC,KAAY,GAAW;IACjC,IAAM,IAAQ,IAAY,EAAgB;IAC1C,IAAW,KAAK,MAAM,EAAgB,QAAQ,CAAK;GACrD;EACF;CACF;CACA,IAAM,IAAM,OAAO,EAAM,OAAQ,WAAW,EAAM,MAAM,GAEpD,IAAc,EAAM,aACpB,IACF,CAAC,EAAM,YACP,CAAC,EAAM,YACN,EAAM,YAAY,UAAiB,EAAM,YAAY;CASxD,CARI,CAAC,KAAO,EAAI,WAAW,OAAO,KAAK,EAAI,WAAW,OAAO,OAE3D,IAAc,IACd,IAAS,KAEP,EAAO,gBACT,IAAc,KAEZ,CAAC,EAAO,uBAAuB,EAAI,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,MAGrE,IAAc;CAGhB,IAAM,IAAa,EAAO,EAAM,OAAO,GAiOjC,IAAW,OAAO,OACtB,IACI;EACE,UAAU;EACV,QAAQ;EACR,OAAO;EACP,MAAM;EACN,KAAK;EACL,OAAO;EACP,QAAQ;EACR,WAAW,EAAM;EACjB,gBAAgB,EAAM;CACxB,IACA,CAAC,GACL,IAAc,CAAC,IAAI,EAAE,OAAO,cAAc,GAC1C,CACF,GAEM,IACJ,CAAC,KAAgB,EAAM,gBAAgB,UACnC,EAAM,gBAAgB,SACpB,yCAAyC,EAAgB;EACvD;EACA;EACA;EACA;EACA,aAAa,KAAe;EAC5B,WAAW,EAAS;CACtB,CAAC,EAAE,MACH,QAAQ,EAAM,YAAY,MAC5B,MAEA,IAAkB,EAA+B,SACrD,EAAS,SACX,IAEI,EAAS,cAAc,SACrB,cACA,UAHF,EAAS,WAKP,IAAqC,IACvC;EACE,mBAAmB;EACnB,uBAAuB,EAAS,kBAAkB;EAClD,qBAAqB;EACrB,oBAAoB;CACtB,IACA,CAAC,GAeC,IAAgB,EAAiB;EACrC;EACA;EACA;EACA,OAAO;EACP,SAAS;EACT;EACA;CACF,CAAC,GAEK,IAAe,IAAS,SAAS,EAAM;CAsC7C,OAAO;EAAE,OAAO;GAlBd,GAAG;GACH,SAAS;GACT,eAAe,EAAM;GACrB,OAAO;GACP,QAAQ;GACR,UAAU,EAAM;GAChB,OAAO,EAAM;GACb,OAAO;IAAE,GAAG;IAAU,GAAG;GAAiB;GAC1C,OAAO,EAAc;GACrB,QAAQ,EAAc;GACtB,KAAK,EAAM,eAAe,EAAc;EAQ1B;EAAU,MAAA;GALxB;GACA,SAAS,EAAM,WAAW,EAAM;GAChC,aAAa,EAAM;GACnB;EAEwB;CAAK;AACjC;AAEA,SAAS,EAAc,EAAE,QAAK,UAAO,cAAqC;CAcxE,IAAI,EAAI,WAAW,SAAS,KAAK,EAAI,WAAW,UAAU,GACxD,OAAO;CAIT,IAAM,IAAS,IAAI,gBAAgB;CAInC,OAHA,EAAO,IAAI,OAAO,CAAG,GACrB,EAAO,IAAI,KAAK,OAAO,CAAK,CAAC,GACzB,KAAS,EAAO,IAAI,KAAK,OAAO,CAAO,CAAC,GACrC,WAAW,EAAO,SAAS;AACpC;AAEA,SAAS,EAAO,GAAgC;CAU9C,OATW,MAAM,SACR,IAEL,OAAO,KAAM,WACR,OAAO,SAAS,CAAC,IAAI,IAAI,MAE9B,OAAO,KAAM,YAAY,WAAW,KAAK,CAAC,IACrC,SAAS,GAAG,EAAE,IAEhB;AACT;AAEA,SAAS,EACP,GACsB;CACtB,OAAQ,EAAsB,YAAY,KAAA;AAC5C;AAEA,SAAS,EACP,GACwB;CACxB,OAAQ,EAAwB,QAAQ,KAAA;AAC1C;AAEA,SAAS,EAAe,GAAiD;CACvE,OACE,CAAC,CAAC,KACF,OAAO,KAAQ,aACd,EAAgB,CAAmB,KAClC,EAAkB,CAAmB;AAE3C;AAEA,SAAS,EAAgB,EACvB,aACA,cACA,cACA,eACA,gBACA,gBAQS;CACT,IACM,IAAW,IAAY,IAAY,KAAK,GACxC,IAAY,IAAa,IAAa,KAAK,GAE3C,IACJ,KAAY,IAAY,gBAAgB,EAAS,GAAG,EAAU,KAAK;CASrE,OAAO,6CAA6C,EAAQ,ybARhC,IACxB,SACA,MAAc,YACZ,aACA,MAAc,UACZ,mBACA,OAEygB,qCAAqC,EAAY;AACpkB;AAkBA,SAAS,EAAiB,EACxB,WACA,QACA,gBACA,UACA,YACA,UACA,aACqC;CACrC,IAAI,GACF,OAAO;EAAE;EAAK,QAAQ,KAAA;EAAW,OAAO,KAAA;CAAU;CAGpD,IAAM,EAAE,WAAQ,YAAS,EAAU,GAAQ,GAAO,CAAK,GACjD,IAAO,EAAO,SAAS;CAE7B,OAAO;EACL,OAAO,CAAC,KAAS,MAAS,MAAM,UAAU;EAC1C,QAAQ,EACL,KACE,GAAG,MACF,GAAG,EAAO;GAAE;GAAQ;GAAK;GAAS,OAAO;EAAE,CAAC,EAAE,GAC5C,MAAS,MAAM,IAAI,IAAI,IACtB,GACP,CAAC,CACA,KAAK,IAAI;EAQZ,KAAK,EAAO;GAAE;GAAQ;GAAK;GAAS,OAAO,EAAO;EAAM,CAAC;CAC3D;AACF;AAEA,SAAS,EACP,EAAE,gBAAa,eACf,GACA,GACuC;CACvC,IAAI,GAAO;EAET,IAAM,IAAkB,sBAClB,IAAe,CAAC;EACtB,KACE,IAAI,GAEH,IAAQ,EAAgB,KAAK,CAAK,IAGnC,EAAa,KAAK,OAAO,SAAS,EAAM,IAAI,EAAE,CAAC;EAEjD,IAAI,EAAa,QAAQ;GACvB,IAAM,IAAgB,KAAK,IAAI,GAAG,CAAY,IAAI;GAClD,OAAO;IACL,QAAQ,EAAS,QAAQ,MAAM,KAAK,EAAY,KAAK,CAAa;IAClE,MAAM;GACR;EACF;EACA,OAAO;GAAE,QAAQ;GAAU,MAAM;EAAI;CACvC;CAoBA,OAnBI,OAAO,KAAU,WAmBd;EAAE,QAAA,CAdP,GAAG,IAAI,IASL,CAAC,GAAO,IAAQ,CAAiB,CAAC,CAAC,KAChC,MAAM,EAAS,MAAM,MAAM,KAAK,CAAC,KAAK,EAAS,EAAS,SAAS,EACpE,CACF,CAEO;EAAQ,MAAM;CAAI,IAlBlB;EAAE,QAAQ;EAAa,MAAM;CAAI;AAmB5C"}
1
+ {"version":3,"file":"Image.utils.js","names":["handleLoading","src","img","placeholder","setBlurComplete","onLoad","event","onLoadingComplete","INVALID_BACKGROUND_SIZE_VALUES","getImgProps","merged","mergeProps","imgConf","props","local","others","splitProps","config","c","imageConfigDefault","allSizes","a","b","deviceSizes","qualities","defaultLoader","style","sizes","fill","loader","layoutToStyle","layoutToSizes","layoutStyle","layoutSizes","staticSrc","blurDataURL","widthInt","getInt","heightInt","blurWidth","blurHeight","isStaticImport","staticImageData","isStaticRequire","ratio","unoptimized","isLazy","qualityInt","imgStyle","showAltText","backgroundImage","blurComplete","getImageBlurSvg","backgroundSize","placeholderStyle","imgAttributes","generateImgAttrs","loadingFinal","params","width","quality","x","isStaticImageData","svgWidth","svgHeight","viewBox","objectFit","getWidths","last","widths","kind","w","i","viewportWidthRe","percentSizes","match","smallestRatio","s","p"],"sources":["../../../src/components/image/Image.utils.ts"],"sourcesContent":["/**\n * handle-loading.ts\n * 单一职责:封装图片加载完成后的所有副作用——decode、回调触发、开发环境警告。\n * 纯 TypeScript,不包含任何 JSX 或组件代码。\n */\n\nimport { mergeProps, splitProps } from \"solid-js\";\nimport { warnOnce } from \"~/utils\";\nimport { imageConfigDefault } from \"./Image.config\";\nimport type {\n ImageConfig,\n ImageConfigComplete,\n ImageLoaderProps,\n ImageLoaderWithConfig,\n ImageProps,\n ImgProps,\n ImgPropsResult,\n LoadingValue,\n OnLoad,\n OnLoadingComplete,\n PlaceholderStyle,\n PlaceholderValue,\n StaticImageData,\n StaticImport,\n StaticRequire,\n} from \"./Image.types\";\n\n// ─── 类型补充 ─────────────────────────────────────────────────────────────────\n\n/** 用于追踪每个 img 节点已处理的 src,避免重复触发 */\ntype ImgWithDataProp = HTMLImageElement & { \"data-loaded-src\"?: string };\n\n// ─── 主函数 ───────────────────────────────────────────────────────────────────\n\n/**\n * 在图片加载/hydrate 后调用。\n * - 使用 img.decode() 确保像素已解码再触发回调\n * - 清除 blur placeholder\n * - 开发环境下输出 fill / sizes 相关警告\n */\nexport function handleLoading(\n img: ImgWithDataProp,\n placeholder: PlaceholderValue,\n onLoad: OnLoad | undefined,\n onLoadingComplete: OnLoadingComplete | undefined,\n setBlurComplete: (v: boolean) => void,\n unoptimized: boolean,\n sizesInput: string | undefined,\n): void {\n const src = img?.src;\n // 同一张图只处理一次\n if (!img || img[\"data-loaded-src\"] === src) return;\n img[\"data-loaded-src\"] = src;\n\n const p: Promise<void> = \"decode\" in img ? img.decode() : Promise.resolve();\n\n p.catch(() => {}).then(() => {\n // 若组件已卸载则提前退出\n if (!img.parentElement || !img.isConnected) return;\n\n if (placeholder !== \"empty\") {\n setBlurComplete(true);\n }\n\n if (onLoad) {\n const event = new Event(\"load\");\n Object.defineProperty(event, \"target\", { writable: false, value: img });\n onLoad(\n event as Event & { currentTarget: HTMLImageElement; target: Element },\n );\n }\n\n if (onLoadingComplete) {\n onLoadingComplete(img);\n }\n\n if (import.meta.env.DEV) {\n warnFillUsage(img, unoptimized, sizesInput);\n warnAspectRatioMismatch(img);\n }\n });\n}\n\n// ─── 开发警告辅助 ──────────────────────────────────────────────────────────────\n\nfunction warnFillUsage(\n img: HTMLImageElement,\n unoptimized: boolean,\n sizesInput: string | undefined,\n): void {\n if (img.getAttribute(\"data-nimg\") !== \"fill\") return;\n\n const origSrc =\n new URL(img.src, \"http://n\").searchParams.get(\"url\") || img.src;\n\n if (!unoptimized) {\n const widthViewportRatio =\n img.getBoundingClientRect().width / window.innerWidth;\n if (widthViewportRatio < 0.6) {\n if (sizesInput === \"100vw\") {\n console.warn(\n `[Image] src=\"${origSrc}\" 设置了 fill 和 sizes=\"100vw\",但实际渲染宽度不足视口宽度,请调整 sizes 以提升性能。`,\n );\n } else if (!sizesInput) {\n console.warn(\n `[Image] src=\"${origSrc}\" 设置了 fill 但缺少 sizes 属性,请添加以提升性能。`,\n );\n }\n }\n }\n\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement);\n const valid = [\"absolute\", \"fixed\", \"relative\"];\n if (!valid.includes(position)) {\n console.warn(\n `[Image] src=\"${origSrc}\" 设置了 fill,但父元素 position=\"${position}\",应为 ${valid.join(\" | \")} 之一。`,\n );\n }\n }\n\n if (img.height === 0) {\n console.warn(\n `[Image] src=\"${origSrc}\" 设置了 fill 且高度为 0,请为父元素设置明确高度。`,\n );\n }\n}\n\nfunction warnAspectRatioMismatch(img: HTMLImageElement): void {\n const heightModified = img.height.toString() !== img.getAttribute(\"height\");\n const widthModified = img.width.toString() !== img.getAttribute(\"width\");\n if (\n (heightModified && !widthModified) ||\n (!heightModified && widthModified)\n ) {\n const origSrc =\n new URL(img.src, \"http://n\").searchParams.get(\"url\") || img.src;\n console.warn(\n `[Image] src=\"${origSrc}\" 仅修改了 width 或 height 其中之一,请同时添加 width: \"auto\" 或 height: \"auto\" 样式以保持宽高比。`,\n );\n }\n}\n\ninterface GetImgPropsOptions {\n imgConf: ImageConfigComplete;\n blurComplete: boolean;\n showAltText: boolean;\n}\n\nexport const VALID_LOADING_VALUES = [\"lazy\", \"eager\", undefined] as const;\n// Object-fit values that are not valid background-size values\nconst INVALID_BACKGROUND_SIZE_VALUES = [\n \"-moz-initial\",\n \"fill\",\n \"none\",\n \"scale-down\",\n undefined,\n];\n\nlet perfObserver: PerformanceObserver | undefined;\nconst allImgs = new Map<\n string,\n { src: string; loading: LoadingValue; placeholder: PlaceholderValue }\n>();\n\nexport function getImgProps(\n props: ImageProps,\n { imgConf, blurComplete, showAltText }: GetImgPropsOptions,\n): ImgPropsResult {\n const merged = mergeProps(\n {\n // loader: defaultLoader,\n fill: false,\n priority: false,\n preload: false,\n placeholder: \"empty\",\n unoptimized: imgConf.unoptimized,\n decoding: \"async\",\n } as const,\n props,\n );\n const [local, others] = splitProps(merged, [\n \"src\",\n \"loader\",\n \"quality\",\n \"width\",\n \"height\",\n \"fill\",\n \"sizes\",\n \"priority\",\n \"placeholder\",\n \"blurDataURL\",\n \"unoptimized\",\n \"overrideSrc\",\n \"onLoad\",\n \"onLoadingComplete\",\n \"layout\",\n \"style\",\n \"preload\",\n \"loading\",\n \"objectFit\",\n \"objectPosition\",\n \"lazyBoundary\",\n \"lazyRoot\",\n \"fetchpriority\",\n \"class\",\n \"decoding\",\n ]);\n\n let config: ImageConfig;\n const c = imgConf || imageConfigDefault;\n\n if (\"allSizes\" in c) {\n config = c as ImageConfig;\n } else {\n const allSizes = [...c.deviceSizes, ...c.imageSizes].sort((a, b) => a - b);\n const deviceSizes = c.deviceSizes.sort((a, b) => a - b);\n const qualities = c.qualities?.sort((a, b) => a - b);\n config = { ...c, allSizes, deviceSizes, qualities };\n }\n\n if (typeof defaultLoader === \"undefined\") {\n throw new Error(\n \"images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config\",\n );\n }\n\n let style = local.style;\n let sizes = local.sizes;\n let fill = local.fill;\n\n const loader: ImageLoaderWithConfig = local.loader || defaultLoader;\n\n if (local.layout) {\n if (local.layout === \"fill\") {\n fill = true;\n }\n const layoutToStyle: Record<string, Record<string, string> | undefined> = {\n intrinsic: { maxWidth: \"100%\", height: \"auto\" },\n responsive: { width: \"100%\", height: \"auto\" },\n };\n const layoutToSizes: Record<string, string | undefined> = {\n responsive: \"100vw\",\n fill: \"100vw\",\n };\n const layoutStyle = layoutToStyle[local.layout];\n if (layoutStyle) {\n style = { ...style, ...layoutStyle };\n }\n const layoutSizes = layoutToSizes[local.layout];\n if (layoutSizes && !sizes) {\n sizes = layoutSizes;\n }\n }\n\n let staticSrc = \"\";\n let blurDataURL = local.blurDataURL;\n let widthInt = getInt(local.width);\n let heightInt = getInt(local.height);\n let blurWidth: number | undefined;\n let blurHeight: number | undefined;\n\n if (isStaticImport(local.src)) {\n const staticImageData = isStaticRequire(local.src)\n ? local.src.default\n : local.src;\n\n if (!staticImageData.src) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(\n staticImageData,\n )}`,\n );\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(\n staticImageData,\n )}`,\n );\n }\n\n blurWidth = staticImageData.blurWidth;\n blurHeight = staticImageData.blurHeight;\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width;\n heightInt = staticImageData.height;\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width;\n heightInt = Math.round(staticImageData.height * ratio);\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height;\n widthInt = Math.round(staticImageData.width * ratio);\n }\n }\n }\n const src = typeof local.src === \"string\" ? local.src : staticSrc;\n\n let unoptimized = local.unoptimized;\n let isLazy =\n !local.priority &&\n !local.preload &&\n (local.loading === \"lazy\" || typeof local.loading === \"undefined\");\n if (!src || src.startsWith(\"data:\") || src.startsWith(\"blob:\")) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (config.unoptimized) {\n unoptimized = true;\n }\n if (!config.dangerouslyAllowSVG && src.split(\"?\", 1)[0].endsWith(\".svg\")) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true;\n }\n\n const qualityInt = getInt(local.quality);\n\n if (!import.meta.env.PROD) {\n if (config.output === \"export\" && !unoptimized) {\n throw new Error(\n `Image Optimization using the default loader is not compatible with \\`{ output: 'export' }\\`.\n Possible solutions:\n - Remove \\`{ output: 'export' }\\` and run \"next start\" to run server mode including the Image Optimization API.\n - Configure \\`{ images: { unoptimized: true } }\\` in \\`next.config.js\\` to disable the Image Optimization API.\n Read more: https://nextjs.org/docs/messages/export-image-api`,\n );\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true;\n } else {\n if (fill) {\n if (local.width) {\n throw new Error(\n `Image with src \"${src}\" has both \"width\" and \"fill\" properties. Only one should be used.`,\n );\n }\n if (local.height) {\n throw new Error(\n `Image with src \"${src}\" has both \"height\" and \"fill\" properties. Only one should be used.`,\n );\n }\n if (style?.position && style.position !== \"absolute\") {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.`,\n );\n }\n if (style?.width && style.width !== \"100%\") {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.`,\n );\n }\n if (style?.height && style.height !== \"100%\") {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.`,\n );\n }\n } else {\n if (typeof widthInt === \"undefined\") {\n throw new Error(\n `Image with src \"${src}\" is missing required \"width\" property.`,\n );\n } else if (Number.isNaN(widthInt)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"width\" property. Expected a numeric value in pixels but received \"${local.width}\".`,\n );\n }\n if (typeof heightInt === \"undefined\") {\n throw new Error(\n `Image with src \"${src}\" is missing required \"height\" property.`,\n );\n } else if (Number.isNaN(heightInt)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"height\" property. Expected a numeric value in pixels but received \"${local.height}\".`,\n );\n }\n\n // biome-ignore lint/suspicious/noControlCharactersInRegex: no-control-regex\n if (/^[\\x00-\\x20]/.test(src)) {\n throw new Error(\n `Image with src \"${src}\" cannot start with a space or control character. Use src.trimStart() to remove it or encodeURIComponent(src) to keep it.`,\n );\n }\n // biome-ignore lint/suspicious/noControlCharactersInRegex: no-control-regex\n if (/[\\x00-\\x20]$/.test(src)) {\n throw new Error(\n `Image with src \"${src}\" cannot end with a space or control character. Use src.trimEnd() to remove it or encodeURIComponent(src) to keep it.`,\n );\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(local.loading)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"loading\" property. Provided \"${local.loading}\" should be one of ${VALID_LOADING_VALUES.map(\n String,\n ).join(\",\")}.`,\n );\n }\n if (local.priority && local.loading === \"lazy\") {\n throw new Error(\n `Image with src \"${src}\" has both \"priority\" and \"loading='lazy'\" properties. Only one should be used.`,\n );\n }\n if (local.preload && local.loading === \"lazy\") {\n throw new Error(\n `Image with src \"${src}\" has both \"preload\" and \"loading='lazy'\" properties. Only one should be used.`,\n );\n }\n if (local.preload && local.priority) {\n throw new Error(\n `Image with src \"${src}\" has both \"preload\" and \"priority\" properties. Only \"preload\" should be used.`,\n );\n }\n if (\n local.placeholder !== \"empty\" &&\n local.placeholder !== \"blur\" &&\n !local.placeholder.startsWith(\"data:image/\")\n ) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"placeholder\" property \"${local.placeholder}\".`,\n );\n }\n if (local.placeholder !== \"empty\") {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n warnOnce(\n `Image with src \"${src}\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.`,\n );\n }\n }\n if (\n qualityInt &&\n config.qualities &&\n !config.qualities.includes(qualityInt)\n ) {\n warnOnce(\n `Image with src \"${src}\" is using quality \"${qualityInt}\" which is not configured in images.qualities [${config.qualities.join(\", \")}]. Please update your config to [${[...config.qualities, qualityInt].sort().join(\", \")}].` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-qualities`,\n );\n }\n if (local.placeholder === \"blur\" && !blurDataURL) {\n const VALID_BLUR_EXT = [\"jpeg\", \"png\", \"webp\", \"avif\"]; // should match next-image-loader\n\n throw new Error(\n `Image with src \"${src}\" has \"placeholder='blur'\" property but is missing the \"blurDataURL\" property.\n Possible solutions:\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\n - Change the \"src\" property to a static import with one of the supported file types: ${VALID_BLUR_EXT.join(\n \",\",\n )} (animated images not supported)\n - Remove the \"placeholder\" property, effectively no blur effect\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url`,\n );\n }\n if (\"ref\" in others) {\n warnOnce(\n `Image with src \"${src}\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.`,\n );\n }\n\n if (!unoptimized) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75,\n });\n let url: URL | undefined;\n try {\n url = new URL(urlStr);\n } catch (err) {\n console.error(err);\n }\n if (urlStr === src || (url && url.pathname === src && !url.search)) {\n warnOnce(\n `Image with src \"${src}\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width`,\n );\n }\n }\n\n if (local.onLoadingComplete) {\n warnOnce(\n `Image with src \"${src}\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.`,\n );\n }\n\n for (const [legacyKey, legacyValue] of Object.entries({\n layout: local.layout,\n objectFit: local.objectFit,\n objectPosition: local.objectPosition,\n lazyBoundary: local.lazyBoundary,\n lazyRoot: local.lazyRoot,\n })) {\n if (legacyValue) {\n warnOnce(\n `Image with src \"${src}\" has legacy prop \"${legacyKey}\". Did you forget to run the codemod?` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13`,\n );\n }\n }\n\n if (\n typeof window !== \"undefined\" &&\n !perfObserver &&\n window.PerformanceObserver\n ) {\n perfObserver = new PerformanceObserver((entryList) => {\n for (const entry of entryList.getEntries()) {\n // @ts-expect-error - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = entry?.element?.src || \"\";\n const lcpImage = allImgs.get(imgSrc);\n if (\n lcpImage &&\n lcpImage.loading === \"lazy\" &&\n lcpImage.placeholder === \"empty\" &&\n !lcpImage.src.startsWith(\"data:\") &&\n !lcpImage.src.startsWith(\"blob:\")\n ) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n warnOnce(\n `Image with src \"${lcpImage.src}\" was detected as the Largest Contentful Paint (LCP). Please add the \\`loading=\"eager\"\\` property if this image is above the fold.` +\n `\\nRead more: https://nextjs.org/docs/app/api-reference/components/image#loading`,\n );\n }\n }\n });\n try {\n perfObserver.observe({\n type: \"largest-contentful-paint\",\n buffered: true,\n });\n } catch (err) {\n // Log error but don't crash the app\n console.error(err);\n }\n }\n }\n\n const imgStyle = Object.assign(\n fill\n ? {\n position: \"absolute\",\n height: \"100%\",\n width: \"100%\",\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit: local.objectFit,\n objectPosition: local.objectPosition,\n }\n : {},\n showAltText ? {} : { color: \"transparent\" },\n style,\n );\n\n const backgroundImage =\n !blurComplete && local.placeholder !== \"empty\"\n ? local.placeholder === \"blur\"\n ? `url(\"data:image/svg+xml;charset=utf-8,${getImageBlurSvg({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || \"\", // assume not undefined\n objectFit: imgStyle.objectFit,\n })}\")`\n : `url(\"${local.placeholder}\")` // assume `data:image/`\n : null;\n\n const backgroundSize = !INVALID_BACKGROUND_SIZE_VALUES.includes(\n imgStyle.objectFit,\n )\n ? imgStyle.objectFit\n : imgStyle.objectFit === \"fill\"\n ? \"100% 100%\" // the background-size equivalent of `fill`\n : \"cover\";\n\n const placeholderStyle: PlaceholderStyle = backgroundImage\n ? {\n \"background-size\": backgroundSize,\n \"background-position\": imgStyle.objectPosition || \"50% 50%\",\n \"background-repeat\": \"no-repeat\",\n \"background-image\": backgroundImage,\n }\n : {};\n\n if (import.meta.env.DEV) {\n if (\n placeholderStyle[\"background-image\"] &&\n local.placeholder === \"blur\" &&\n blurDataURL?.startsWith(\"/\")\n ) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle[\"background-image\"] = `url(\"${blurDataURL}\")`;\n }\n }\n\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader,\n });\n\n const loadingFinal = isLazy ? \"lazy\" : local.loading;\n\n if (!import.meta.env.PROD) {\n if (typeof window !== \"undefined\") {\n let fullUrl: URL;\n try {\n fullUrl = new URL(imgAttributes.src);\n } catch (e) {\n console.error(e);\n fullUrl = new URL(imgAttributes.src, window.location.href);\n }\n allImgs.set(fullUrl.href, {\n src,\n loading: loadingFinal,\n placeholder: local.placeholder,\n });\n }\n }\n\n const newProps: ImgProps = {\n ...others,\n loading: loadingFinal,\n fetchpriority: local.fetchpriority,\n width: widthInt,\n height: heightInt,\n decoding: local.decoding,\n class: local.class,\n style: { ...imgStyle, ...placeholderStyle },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: local.overrideSrc || imgAttributes.src,\n };\n const meta = {\n unoptimized,\n preload: local.preload || local.priority,\n placeholder: local.placeholder,\n fill,\n };\n return { props: newProps, meta };\n}\n\nfunction defaultLoader({ src, width, quality }: ImageLoaderProps): string {\n if (import.meta.env.DEV) {\n const missingValues: string[] = [];\n if (!src) missingValues.push(\"src\");\n if (!width) missingValues.push(\"width\");\n if (missingValues.length > 0) {\n throw new Error(\n `[defaultLoader] 缺少必要属性:${missingValues.join(\", \")}。` +\n `请确认调用方式正确,或提供自定义 loader。`,\n );\n }\n }\n\n // 如果 src 本身已是带参数的 URL(外部图片),直接返回\n if (src.startsWith(\"http://\") || src.startsWith(\"https://\")) {\n return src;\n }\n\n // 本地图片:追加 w / q 参数(供自定义服务器处理)\n const params = new URLSearchParams();\n params.set(\"url\", src);\n params.set(\"w\", String(width));\n if (quality) params.set(\"q\", String(quality));\n return `/_image?${params.toString()}`;\n}\n\nfunction getInt(x: unknown): number | undefined {\n if (typeof x === \"undefined\") {\n return x;\n }\n if (typeof x === \"number\") {\n return Number.isFinite(x) ? x : NaN;\n }\n if (typeof x === \"string\" && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10);\n }\n return NaN;\n}\n\nfunction isStaticRequire(\n src: StaticRequire | StaticImageData,\n): src is StaticRequire {\n return (src as StaticRequire).default !== undefined;\n}\n\nfunction isStaticImageData(\n src: StaticRequire | StaticImageData,\n): src is StaticImageData {\n return (src as StaticImageData).src !== undefined;\n}\n\nfunction isStaticImport(src: string | StaticImport): src is StaticImport {\n return (\n !!src &&\n typeof src === \"object\" &&\n (isStaticRequire(src as StaticImport) ||\n isStaticImageData(src as StaticImport))\n );\n}\n\nfunction getImageBlurSvg({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL,\n objectFit,\n}: {\n widthInt?: number;\n heightInt?: number;\n blurWidth?: number;\n blurHeight?: number;\n blurDataURL: string;\n objectFit?: string;\n}): string {\n const std = 20;\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt;\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt;\n\n const viewBox =\n svgWidth && svgHeight ? `viewBox='0 0 ${svgWidth} ${svgHeight}'` : \"\";\n const preserveAspectRatio = viewBox\n ? \"none\"\n : objectFit === \"contain\"\n ? \"xMidYMid\"\n : objectFit === \"cover\"\n ? \"xMidYMid slice\"\n : \"none\";\n\n return `%3Csvg xmlns='http://www.w3.org/2000/svg' ${viewBox}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='${std}'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='${std}'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${preserveAspectRatio}' style='filter: url(%23b);' href='${blurDataURL}'/%3E%3C/svg%3E`;\n}\n\ntype GenImgAttrsData = {\n config: ImageConfig;\n src: string;\n unoptimized: boolean;\n loader: ImageLoaderWithConfig;\n width?: number;\n quality?: number;\n sizes?: string;\n};\n\ntype GenImgAttrsResult = {\n src: string;\n srcSet: string | undefined;\n sizes: string | undefined;\n};\n\nfunction generateImgAttrs({\n config,\n src,\n unoptimized,\n width,\n quality,\n sizes,\n loader,\n}: GenImgAttrsData): GenImgAttrsResult {\n if (unoptimized) {\n return { src, srcSet: undefined, sizes: undefined };\n }\n\n const { widths, kind } = getWidths(config, width, sizes);\n const last = widths.length - 1;\n\n return {\n sizes: !sizes && kind === \"w\" ? \"100vw\" : sizes,\n srcSet: widths\n .map(\n (w, i) =>\n `${loader({ config, src, quality, width: w })} ${\n kind === \"w\" ? w : i + 1\n }${kind}`,\n )\n .join(\", \"),\n\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({ config, src, quality, width: widths[last] }),\n };\n}\n\nfunction getWidths(\n { deviceSizes, allSizes }: ImageConfig,\n width: number | undefined,\n sizes: string | undefined,\n): { widths: number[]; kind: \"w\" | \"x\" } {\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for (\n let match: RegExpExecArray | null;\n // biome-ignore lint/suspicious/noAssignInExpressions: nextjs code\n (match = viewportWidthRe.exec(sizes));\n match\n ) {\n percentSizes.push(Number.parseInt(match[2], 10));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s) => s >= deviceSizes[0] * smallestRatio),\n kind: \"w\",\n };\n }\n return { widths: allSizes, kind: \"w\" };\n }\n if (typeof width !== \"number\") {\n return { widths: deviceSizes, kind: \"w\" };\n }\n\n const widths = [\n ...new Set(\n // > This means that most OLED screens that say they are 3x resolution,\n // > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [width, width * 2 /*, width * 3*/].map(\n (w) => allSizes.find((p) => p >= w) || allSizes[allSizes.length - 1],\n ),\n ),\n ];\n return { widths, kind: \"x\" };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImageElement.js","names":["Component","mergeProps","splitProps","ImgProps","OnLoad","OnLoadingComplete","PlaceholderValue","handleLoading","ImageElementProps","unoptimized","placeholder","setBlurComplete","v","setShowAltText","sizesInput","onLoad","onLoadingComplete","ref","el","HTMLImageElement","ImageElement","rawProps","props","decoding","const","internal","imgAttrs","handleRef","img","onError","src","import","meta","env","PROD","console","error","getAttribute","alt","undefined","complete","_el$","_tmpl$","_ref$","_$use","_$spread","_$mergeProps","loading","width","height","data-nimg","fill","class","style","sizes","srcset","srcSet","e","currentTarget"],"sources":["../../../src/components/image/ImageElement.tsx"],"sourcesContent":["/**\n * ImageElement.tsx\n * 单一职责:仅负责渲染原生 <img> 元素,并将 ref 回调、onLoad、onError 事件桥接到\n * 上层传入的副作用函数。不包含配置解析、preload 或 blur placeholder 逻辑。\n */\n\nimport { type Component, mergeProps, splitProps } from \"solid-js\";\nimport type {\n ImgProps,\n OnLoad,\n OnLoadingComplete,\n PlaceholderValue,\n} from \"./Image.types\";\nimport { handleLoading } from \"./Image.utils\";\n\n// ─── 额外内部 Props ────────────────────────────────────────────────────────────\n\nexport interface ImageElementProps extends ImgProps {\n unoptimized: boolean;\n placeholder: PlaceholderValue;\n /** 上层通过 signal setter 传入,避免在此组件内管理状态 */\n setBlurComplete: (v: boolean) => void;\n setShowAltText: (v: boolean) => void;\n sizesInput: string | undefined;\n onLoad?: OnLoad;\n onLoadingComplete?: OnLoadingComplete;\n // onError?: (e: Event) => void;\n /** 透传给原生 img 的 ref */\n ref?: (el: HTMLImageElement) => void;\n}\n\n// ─── 组件 ─────────────────────────────────────────────────────────────────────\n\nconst ImageElement: Component<ImageElementProps> = (rawProps) => {\n const props = mergeProps({ decoding: \"async\" as const }, rawProps);\n\n // 分离内部 props 与透传给 <img> 的 props\n const [internal, imgAttrs] = splitProps(props, [\n \"src\",\n \"srcSet\",\n \"sizes\",\n \"height\",\n \"width\",\n \"decoding\",\n \"class\",\n \"classList\",\n \"style\",\n \"fetchpriority\",\n \"placeholder\",\n \"loading\",\n \"unoptimized\",\n \"fill\",\n \"setBlurComplete\",\n \"setShowAltText\",\n \"sizesInput\",\n \"onLoad\",\n \"onError\",\n \"onLoadingComplete\",\n \"ref\",\n \"alt\",\n ]);\n\n /**\n * ref 回调:在元素挂载后立即处理\"图片在 hydrate 前已加载完成\"的情况,\n * 并将 ref 透传给调用方(如需要访问 img 节点)。\n */\n function handleRef(img: HTMLImageElement) {\n if (!img) return;\n\n // 让 Safari 重新触发 onerror(如果图片在 hydrate 前就已失败)\n if (internal.onError) {\n // biome-ignore lint/correctness/noSelfAssign: If the image has an error before react hydrates, then the error is lost. The workaround is to wait until the image is mounted which is after hydration, then we set the src again to trigger the error handler (if there was an error).\n img.src = img.src;\n }\n\n if (!import.meta.env.PROD) {\n if (!internal.src) {\n console.error('[Image] 缺少必填属性 \"src\"', img);\n }\n if (img.getAttribute(\"alt\") === null && internal.alt === undefined) {\n console.error('[Image] 缺少必填属性 \"alt\"...');\n }\n }\n\n // 图片在组件挂载前已完成加载(cached 场景)\n if (img.complete) {\n handleLoading(\n img,\n internal.placeholder,\n internal.onLoad,\n internal.onLoadingComplete,\n internal.setBlurComplete,\n internal.unoptimized,\n internal.sizesInput,\n );\n }\n\n // 透传 ref\n internal.ref?.(img);\n }\n\n return (\n // 注意属性顺序:\n // 1. loading 在 src 之前,修复 Safari/Firefox 懒加载时机问题\n // 2. sizes / srcSet 在 src 之前,避免 Safari 提前请求错误尺寸\n // 3. src 最后设置\n <img\n {...imgAttrs}\n // React 19 使用 camelCase fetchPriority;SolidJS 直接透传 JSX 属性即可\n alt={internal.alt}\n loading={internal.loading}\n width={internal.width}\n height={internal.height}\n decoding={internal.decoding}\n data-nimg={internal.fill ? \"fill\" : \"1\"}\n class={internal.class}\n style={internal.style}\n sizes={internal.sizes}\n srcset={internal.srcSet}\n src={internal.src}\n ref={handleRef}\n onLoad={(e) => {\n const img = e.currentTarget as HTMLImageElement;\n handleLoading(\n img,\n internal.placeholder,\n internal.onLoad,\n internal.onLoadingComplete,\n internal.setBlurComplete,\n internal.unoptimized,\n internal.sizesInput,\n );\n }}\n onError={(e) => {\n // 图片加载失败时显示 alt 文本\n internal.setShowAltText(true);\n if (internal.placeholder !== \"empty\") {\n // 即使真实图片失败,也要移除 blur placeholder\n internal.setBlurComplete(true);\n }\n\n if (!internal.onError) return;\n\n if (typeof internal.onError !== \"function\") return;\n\n internal.onError(e);\n }}\n />\n );\n};\n\nexport default ImageElement;\n"],"mappings":";;;;8CAiCMoB,KAA8CC,MAAa;CAC/D,IAAMC,IAAQrB,EAAW,EAAEsB,UAAU,QAAiB,GAAGF,CAAQ,GAG3D,CAACI,GAAUC,KAAYxB,EAAWoB,GAAO;EAC7C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAK,CACN;CAMD,SAASK,EAAUC,GAAuB;EACnCA,MAGDH,EAASI,YAEXD,EAAIE,MAAMF,EAAIE,MAaZF,EAAIY,YACNjC,EACEqB,GACAH,EAASf,aACTe,EAASV,QACTU,EAAST,mBACTS,EAASd,iBACTc,EAAShB,aACTgB,EAASX,UACX,GAIFW,EAASR,MAAMW,CAAG;CACpB;CAEA,cAIE;EAAA,IAAAa,IAAAC,EAAA,GAAAC,IAeOhB;EA0BJ,OA1Ba,OAAAgB,KAAA,aAAAC,EAAAD,GAAAF,CAAA,IAATd,IAASc,GAAAI,EAAAJ,GAAAK,EAbVpB,GAAQ;GAAA,IAEZY,MAAG;IAAA,OAAEb,EAASa;GAAG;GAAA,IACjBS,UAAO;IAAA,OAAEtB,EAASsB;GAAO;GAAA,IACzBC,QAAK;IAAA,OAAEvB,EAASuB;GAAK;GAAA,IACrBC,SAAM;IAAA,OAAExB,EAASwB;GAAM;GAAA,IACvB1B,WAAQ;IAAA,OAAEE,EAASF;GAAQ;GAAA,IAAA,cAAA;IAAA,OAChBE,EAAS0B,OAAO,SAAS;GAAG;GAAA,IAAA,QAAA;IAAA,OAChC1B,EAAS2B;GAAK;GAAA,IACrBC,QAAK;IAAA,OAAE5B,EAAS4B;GAAK;GAAA,IACrBC,QAAK;IAAA,OAAE7B,EAAS6B;GAAK;GAAA,IACrBC,SAAM;IAAA,OAAE9B,EAAS+B;GAAM;GAAA,IACvB1B,MAAG;IAAA,OAAEL,EAASK;GAAG;GAAA,SAER2B,MAAM;IACb,IAAM7B,IAAM6B,EAAEC;IACdnD,EACEqB,GACAH,EAASf,aACTe,EAASV,QACTU,EAAST,mBACTS,EAASd,iBACTc,EAAShB,aACTgB,EAASX,UACX;GACF;GAAC,UACS2C,MAAM;IAEdhC,EAASZ,eAAe,EAAI,GACxBY,EAASf,gBAAgB,WAE3Be,EAASd,gBAAgB,EAAI,GAG1Bc,EAASI,WAEV,OAAOJ,EAASI,WAAY,cAEhCJ,EAASI,QAAQ4B,CAAC;GACpB;EAAC,CAAA,GAAA,IAAA,EAAA,GAAAhB;CAAA,EAAA,CAAA;AAGP"}
1
+ {"version":3,"file":"ImageElement.js","names":["Component","mergeProps","splitProps","ImgProps","OnLoad","OnLoadingComplete","PlaceholderValue","handleLoading","ImageElementProps","unoptimized","placeholder","setBlurComplete","v","setShowAltText","sizesInput","onLoad","onLoadingComplete","ref","el","HTMLImageElement","ImageElement","rawProps","props","decoding","const","internal","imgAttrs","handleRef","img","onError","src","import","meta","env","PROD","console","error","getAttribute","alt","undefined","complete","_el$","_tmpl$","_ref$","_$use","_$spread","_$mergeProps","loading","width","height","data-nimg","fill","class","style","sizes","srcset","srcSet","e","currentTarget","mergeProps","_$use","_$mergeProps","mergeProps$1","_tmpl$","ImageElement","props","rawProps","internal","imgAttrs","splitProps","handleRef","img","handleLoading","_el$","_ref$","use","spread","mergeProps","\"class\"","\"onLoad\"","e","\"onError\""],"sources":["../../../src/components/image/ImageElement.tsx"],"sourcesContent":["/**\n * ImageElement.tsx\n * 单一职责:仅负责渲染原生 <img> 元素,并将 ref 回调、onLoad、onError 事件桥接到\n * 上层传入的副作用函数。不包含配置解析、preload 或 blur placeholder 逻辑。\n */\n\nimport { type Component, mergeProps, splitProps } from \"solid-js\";\nimport type {\n ImgProps,\n OnLoad,\n OnLoadingComplete,\n PlaceholderValue,\n} from \"./Image.types\";\nimport { handleLoading } from \"./Image.utils\";\n\n// ─── 额外内部 Props ────────────────────────────────────────────────────────────\n\nexport interface ImageElementProps extends ImgProps {\n unoptimized: boolean;\n placeholder: PlaceholderValue;\n /** 上层通过 signal setter 传入,避免在此组件内管理状态 */\n setBlurComplete: (v: boolean) => void;\n setShowAltText: (v: boolean) => void;\n sizesInput: string | undefined;\n onLoad?: OnLoad;\n onLoadingComplete?: OnLoadingComplete;\n // onError?: (e: Event) => void;\n /** 透传给原生 img 的 ref */\n ref?: (el: HTMLImageElement) => void;\n}\n\n// ─── 组件 ─────────────────────────────────────────────────────────────────────\n\nconst ImageElement: Component<ImageElementProps> = (rawProps) => {\n const props = mergeProps({ decoding: \"async\" as const }, rawProps);\n\n // 分离内部 props 与透传给 <img> 的 props\n const [internal, imgAttrs] = splitProps(props, [\n \"src\",\n \"srcSet\",\n \"sizes\",\n \"height\",\n \"width\",\n \"decoding\",\n \"class\",\n \"classList\",\n \"style\",\n \"fetchpriority\",\n \"placeholder\",\n \"loading\",\n \"unoptimized\",\n \"fill\",\n \"setBlurComplete\",\n \"setShowAltText\",\n \"sizesInput\",\n \"onLoad\",\n \"onError\",\n \"onLoadingComplete\",\n \"ref\",\n \"alt\",\n ]);\n\n /**\n * ref 回调:在元素挂载后立即处理\"图片在 hydrate 前已加载完成\"的情况,\n * 并将 ref 透传给调用方(如需要访问 img 节点)。\n */\n function handleRef(img: HTMLImageElement) {\n if (!img) return;\n\n // 让 Safari 重新触发 onerror(如果图片在 hydrate 前就已失败)\n if (internal.onError) {\n // biome-ignore lint/correctness/noSelfAssign: If the image has an error before react hydrates, then the error is lost. The workaround is to wait until the image is mounted which is after hydration, then we set the src again to trigger the error handler (if there was an error).\n img.src = img.src;\n }\n\n if (!import.meta.env.PROD) {\n if (!internal.src) {\n console.error('[Image] 缺少必填属性 \"src\"', img);\n }\n if (img.getAttribute(\"alt\") === null && internal.alt === undefined) {\n console.error('[Image] 缺少必填属性 \"alt\"...');\n }\n }\n\n // 图片在组件挂载前已完成加载(cached 场景)\n if (img.complete) {\n handleLoading(\n img,\n internal.placeholder,\n internal.onLoad,\n internal.onLoadingComplete,\n internal.setBlurComplete,\n internal.unoptimized,\n internal.sizesInput,\n );\n }\n\n // 透传 ref\n internal.ref?.(img);\n }\n\n return (\n // 注意属性顺序:\n // 1. loading 在 src 之前,修复 Safari/Firefox 懒加载时机问题\n // 2. sizes / srcSet 在 src 之前,避免 Safari 提前请求错误尺寸\n // 3. src 最后设置\n <img\n {...imgAttrs}\n // React 19 使用 camelCase fetchPriority;SolidJS 直接透传 JSX 属性即可\n alt={internal.alt}\n loading={internal.loading}\n width={internal.width}\n height={internal.height}\n decoding={internal.decoding}\n data-nimg={internal.fill ? \"fill\" : \"1\"}\n class={internal.class}\n style={internal.style}\n sizes={internal.sizes}\n srcset={internal.srcSet}\n src={internal.src}\n ref={handleRef}\n onLoad={(e) => {\n const img = e.currentTarget as HTMLImageElement;\n handleLoading(\n img,\n internal.placeholder,\n internal.onLoad,\n internal.onLoadingComplete,\n internal.setBlurComplete,\n internal.unoptimized,\n internal.sizesInput,\n );\n }}\n onError={(e) => {\n // 图片加载失败时显示 alt 文本\n internal.setShowAltText(true);\n if (internal.placeholder !== \"empty\") {\n // 即使真实图片失败,也要移除 blur placeholder\n internal.setBlurComplete(true);\n }\n\n if (!internal.onError) return;\n\n if (typeof internal.onError !== \"function\") return;\n\n internal.onError(e);\n }}\n />\n );\n};\n\nexport default ImageElement;\n"],"mappings":";;;;8CAiCMoB,KAA8CC,MAAa;CAC/D,IAAMC,IAAQrB,EAAW,EAAEsB,UAAU,QAAiB,GAAGF,CAAQ,GAG3D,CAACI,GAAUC,KAAYxB,EAAWoB,GAAO;EAC7C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAK,CACN;CAMD,SAASK,EAAUC,GAAuB;EACxC,AAAKA,MAGDH,EAASI,YAEXD,EAAIE,MAAMF,EAAIE,MAaZF,EAAIY,YACNjC,EACEqB,GACAH,EAASf,aACTe,EAASV,QACTU,EAAST,mBACTS,EAASd,iBACTc,EAAShB,aACTgB,EAASX,UACX,GAIFW,EAASR,MAAMW,CAAG;CACpB;CAEA,cAIE;EAAA,IAAAa,IAAAC,EAAA,GAAAC,IAeOhB;EA0BJ,OA1Ba,OAAAgB,KAAA,aAAAC,EAAAD,GAAAF,CAAA,IAATd,IAASc,GAAAI,EAAAJ,GAAAK,EAbVpB,GAAQ;GAAA,IAEZY,MAAG;IAAA,OAAEb,EAASa;GAAG;GAAA,IACjBS,UAAO;IAAA,OAAEtB,EAASsB;GAAO;GAAA,IACzBC,QAAK;IAAA,OAAEvB,EAASuB;GAAK;GAAA,IACrBC,SAAM;IAAA,OAAExB,EAASwB;GAAM;GAAA,IACvB1B,WAAQ;IAAA,OAAEE,EAASF;GAAQ;GAAA,IAAA,cAAA;IAAA,OAChBE,EAAS0B,OAAO,SAAS;GAAG;GAAA,IAAA2B,QAAA;IAAA,OAChCrD,EAAS2B;GAAK;GAAA,IACrBC,QAAK;IAAA,OAAE5B,EAAS4B;GAAK;GAAA,IACrBC,QAAK;IAAA,OAAE7B,EAAS6B;GAAK;GAAA,IACrBC,SAAM;IAAA,OAAE9B,EAAS+B;GAAM;GAAA,IACvB1B,MAAG;IAAA,OAAEL,EAASK;GAAG;GAAAiD,SAERtB,MAAM;IACb,IAAM7B,IAAM6B,EAAEC;IACdnD,EACEqB,GACAH,EAASf,aACTe,EAASV,QACTU,EAAST,mBACTS,EAASd,iBACTc,EAAShB,aACTgB,EAASX,UACX;GACF;GAACmE,UACSxB,MAAM;IAQd,AANAhC,EAASZ,eAAe,EAAI,GACxBY,EAASf,gBAAgB,WAE3Be,EAASd,gBAAgB,EAAI,GAG1Bc,EAASI,WAEV,OAAOJ,EAASI,WAAY,cAEhCJ,EAASI,QAAQ4B,CAAC;GACpB;EAAC,CAAA,GAAA,IAAA,EAAA,GAAAhB;CAAA,EAAA,CAAA;AAGP"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImagePreload.js","names":["Component","Portal","ImgProps","ImagePreloadProps","imgAttributes","Pick","ImagePreload","props","a","linkKey","src","srcSet","sizes","document","head","querySelector","_$createComponent","mount","children","_el$","_tmpl$","_$setAttribute","_$effect","_p$","_v$","undefined","_v$2","_v$3","_v$4","crossOrigin","_v$5","referrerPolicy","_v$6","fetchpriority","e","t","o","i","n"],"sources":["../../../src/components/image/ImagePreload.tsx"],"sourcesContent":["/**\n * ImagePreload.tsx\n * 单一职责:仅负责向 <head> 注入 <link rel=\"preload\"> 标签,\n * 以提升 LCP 图片的加载优先级。不包含任何 <img> 渲染逻辑。\n */\n\nimport type { Component } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport type { ImgProps } from \"./Image.types\";\n\n// ─── Props ────────────────────────────────────────────────────────────────────\n\nexport interface ImagePreloadProps {\n imgAttributes: Pick<\n ImgProps,\n | \"src\"\n | \"srcSet\"\n | \"sizes\"\n | \"crossOrigin\"\n | \"referrerPolicy\"\n | \"fetchpriority\"\n >;\n}\n\n// ─── 组件 ─────────────────────────────────────────────────────────────────────\n\n/**\n * 通过 SolidJS <Portal> 将 <link> 插入 document.head。\n *\n * 注意:\n * - 故意省略 href(当 imagesrcset 存在时),以避免不支持 srcset 的浏览器\n * 加载错误尺寸的图片。详见 HTML spec §attr-link-imagesrcset。\n * - SolidJS SSR 环境可将此组件替换为 server-side head injection。\n */\nconst ImagePreload: Component<ImagePreloadProps> = (props) => {\n const { imgAttributes: a } = props;\n\n // 唯一 key 避免重复插入相同的 preload\n const linkKey = `__img-preload-${a.src}-${a.srcSet ?? \"\"}-${a.sizes ?? \"\"}`;\n\n // 若已存在相同 key 的 link,则跳过(SSR hydrate 场景)\n if (typeof document !== \"undefined\") {\n if (document.head.querySelector(`link[data-img-key=\"${linkKey}\"]`)) {\n return null;\n }\n }\n\n return (\n <Portal mount={document.head}>\n <link\n rel=\"preload\"\n as=\"image\"\n data-img-key={linkKey}\n // 当存在 srcset 时不设置 href,遵从 spec\n href={a.srcSet ? undefined : a.src}\n imagesrcset={a.srcSet}\n imagesizes={a.sizes}\n crossorigin={a.crossOrigin}\n referrerpolicy={a.referrerPolicy}\n fetchpriority={a.fetchpriority}\n />\n </Portal>\n );\n};\n\nexport default ImagePreload;\n"],"mappings":";;wDAkCMM,KAA8CC,MAAU;CAC5D,IAAM,EAAEH,eAAeI,MAAMD,GAGvBE,IAAU,iBAAiBD,EAAEE,IAAG,GAAIF,EAAEG,UAAU,GAAE,GAAIH,EAAEI,SAAS;CASvE,OANI,OAAOC,WAAa,OAClBA,SAASC,KAAKC,cAAc,sBAAsBN,EAAO,GAAI,IACxD,OAIXO,EACGf,GAAM;EAAA,IAACgB,QAAK;GAAA,OAAEJ,SAASC;EAAI;EAAA,IAAAI,WAAA;GAAA,IAAAC,IAAAC,EAAA;GAWM,OAXNC,EAAAF,GAAA,gBAIVV,CAAO,GAAAa,GAAAC,MAAA;IAAA,IAAAC,IAEfhB,EAAEG,SAASc,KAAAA,IAAYjB,EAAEE,KAAGgB,IACrBlB,EAAEG,QAAMgB,IACTnB,EAAEI,OAAKgB,IACNpB,EAAEqB,aAAWC,IACVtB,EAAEuB,gBAAcC,IACjBxB,EAAEyB;IAAa,OAAAT,MAAAD,EAAAW,KAAAb,EAAAF,GAAA,QAAAI,EAAAW,IAAAV,CAAA,GAAAE,MAAAH,EAAAY,KAAAd,EAAAF,GAAA,eAAAI,EAAAY,IAAAT,CAAA,GAAAC,MAAAJ,EAAAf,KAAAa,EAAAF,GAAA,cAAAI,EAAAf,IAAAmB,CAAA,GAAAC,MAAAL,EAAAa,KAAAf,EAAAF,GAAA,eAAAI,EAAAa,IAAAR,CAAA,GAAAE,MAAAP,EAAAc,KAAAhB,EAAAF,GAAA,kBAAAI,EAAAc,IAAAP,CAAA,GAAAE,MAAAT,EAAAe,KAAAjB,EAAAF,GAAA,iBAAAI,EAAAe,IAAAN,CAAA,GAAAT;GAAA,GAAA;IAAAW,GAAAT,KAAAA;IAAAU,GAAAV,KAAAA;IAAAjB,GAAAiB,KAAAA;IAAAW,GAAAX,KAAAA;IAAAY,GAAAZ,KAAAA;IAAAa,GAAAb,KAAAA;GAAA,CAAA,GAAAN;EAAA;CAAA,CAAA;AAItC"}
1
+ {"version":3,"file":"ImagePreload.js","names":["Component","Portal","ImgProps","ImagePreloadProps","imgAttributes","Pick","ImagePreload","props","a","linkKey","src","srcSet","sizes","document","head","querySelector","_$createComponent","mount","children","_el$","_tmpl$","_$setAttribute","_$effect","_p$","_v$","undefined","_v$2","_v$3","_v$4","crossOrigin","_v$5","referrerPolicy","_v$6","fetchpriority","e","t","o","i","n","_$createComponent","_$setAttribute","_tmpl$","ImagePreload","a","props","linkKey","createComponent","Portal","_el$","setAttribute","effect","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","_p$"],"sources":["../../../src/components/image/ImagePreload.tsx"],"sourcesContent":["/**\n * ImagePreload.tsx\n * 单一职责:仅负责向 <head> 注入 <link rel=\"preload\"> 标签,\n * 以提升 LCP 图片的加载优先级。不包含任何 <img> 渲染逻辑。\n */\n\nimport type { Component } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport type { ImgProps } from \"./Image.types\";\n\n// ─── Props ────────────────────────────────────────────────────────────────────\n\nexport interface ImagePreloadProps {\n imgAttributes: Pick<\n ImgProps,\n | \"src\"\n | \"srcSet\"\n | \"sizes\"\n | \"crossOrigin\"\n | \"referrerPolicy\"\n | \"fetchpriority\"\n >;\n}\n\n// ─── 组件 ─────────────────────────────────────────────────────────────────────\n\n/**\n * 通过 SolidJS <Portal> 将 <link> 插入 document.head。\n *\n * 注意:\n * - 故意省略 href(当 imagesrcset 存在时),以避免不支持 srcset 的浏览器\n * 加载错误尺寸的图片。详见 HTML spec §attr-link-imagesrcset。\n * - SolidJS SSR 环境可将此组件替换为 server-side head injection。\n */\nconst ImagePreload: Component<ImagePreloadProps> = (props) => {\n const { imgAttributes: a } = props;\n\n // 唯一 key 避免重复插入相同的 preload\n const linkKey = `__img-preload-${a.src}-${a.srcSet ?? \"\"}-${a.sizes ?? \"\"}`;\n\n // 若已存在相同 key 的 link,则跳过(SSR hydrate 场景)\n if (typeof document !== \"undefined\") {\n if (document.head.querySelector(`link[data-img-key=\"${linkKey}\"]`)) {\n return null;\n }\n }\n\n return (\n <Portal mount={document.head}>\n <link\n rel=\"preload\"\n as=\"image\"\n data-img-key={linkKey}\n // 当存在 srcset 时不设置 href,遵从 spec\n href={a.srcSet ? undefined : a.src}\n imagesrcset={a.srcSet}\n imagesizes={a.sizes}\n crossorigin={a.crossOrigin}\n referrerpolicy={a.referrerPolicy}\n fetchpriority={a.fetchpriority}\n />\n </Portal>\n );\n};\n\nexport default ImagePreload;\n"],"mappings":";;wDAkCMM,KAA8CC,MAAU;CAC5D,IAAM,EAAEH,eAAeI,MAAMD,GAGvBE,IAAU,iBAAiBD,EAAEE,IAAG,GAAIF,EAAEG,UAAU,GAAE,GAAIH,EAAEI,SAAS;CASvE,OANI,OAAOC,WAAa,OAClBA,SAASC,KAAKC,cAAc,sBAAsBN,EAAO,GAAI,IACxD,OAIXO,EACGf,GAAM;EAAA,IAACgB,QAAK;GAAA,OAAEJ,SAASC;EAAI;EAAA,IAAAI,WAAA;GAAA,IAAAC,IAAAC,EAAA;GAWM,OAXNC,EAAAF,GAAA,gBAIVV,CAAO,GAAAa,GAAAC,MAAA;IAAA,IAAAC,IAEfhB,EAAEG,SAASc,KAAAA,IAAYjB,EAAEE,KAAGgB,IACrBlB,EAAEG,QAAMgB,IACTnB,EAAEI,OAAKgB,IACNpB,EAAEqB,aAAWC,IACVtB,EAAEuB,gBAAcC,IACjBxB,EAAEyB;IAAa,OAAAT,MAAAD,EAAAW,KAAAb,EAAAF,GAAA,QAAAI,EAAAW,IAAAV,CAAA,GAAAE,MAAAH,EAAAY,KAAAd,EAAAF,GAAA,eAAAI,EAAAY,IAAAT,CAAA,GAAAC,MAAAJ,EAAAf,KAAAa,EAAAF,GAAA,cAAAI,EAAAf,IAAAmB,CAAA,GAAAC,MAAAL,EAAAa,KAAAf,EAAAF,GAAA,eAAAI,EAAAa,IAAAR,CAAA,GAAAE,MAAAP,EAAAc,KAAAhB,EAAAF,GAAA,kBAAAI,EAAAc,IAAAP,CAAA,GAAAE,MAAAT,EAAAe,KAAAjB,EAAAF,GAAA,iBAAAI,EAAAe,IAAAN,CAAA,GAAAT;GAAA,GAAA;IAAAW,GAAAT,KAAAA;IAAAU,GAAAV,KAAAA;IAAAjB,GAAAiB,KAAAA;IAAAW,GAAAX,KAAAA;IAAAY,GAAAZ,KAAAA;IAAAa,GAAAb,KAAAA;GAAA,CAAA,GAAAN;EAAA;CAAA,CAAA;AAItC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["createMemo","createUniqueId","JSX","mergeProps","splitProps","InputProps","clsx","Input","props","merged","id","type","const","local","others","handleInput","IntrinsicElements","e","value","target","Number","onInput","handleChange","onChange","undefined","defaultValue","_el$","_tmpl$","addEventListener","$$input","_$spread","_$mergeProps","class","_$delegateEvents"],"sources":["../../../src/components/input/Input.tsx"],"sourcesContent":["import {\n createMemo,\n createUniqueId,\n type JSX,\n mergeProps,\n splitProps,\n} from \"solid-js\";\nimport type { InputProps } from \"./Input.types\";\nimport { clsx } from \"~/utils\";\n\nexport const Input = (props: InputProps) => {\n const merged = mergeProps(\n { id: createUniqueId(), type: \"text\" } as const,\n props,\n );\n\n const [local, others] = splitProps(merged, [\n \"value\",\n \"defaultValue\",\n \"type\",\n \"onInput\",\n \"onChange\",\n \"class\",\n ]);\n\n const handleInput: JSX.IntrinsicElements[\"input\"][\"onInput\"] = (e) => {\n let value: string | number = e.target.value;\n if (local.type === \"number\") {\n value = Number(e.target.value);\n }\n // @ts-expect-error\n local.onInput?.(value);\n };\n\n const handleChange: JSX.IntrinsicElements[\"input\"][\"onChange\"] = (e) => {\n let value: string | number = e.target.value;\n if (local.type === \"number\") {\n value = Number(e.target.value);\n }\n // @ts-expect-error\n local.onChange?.(value);\n };\n\n const value = createMemo(() =>\n local.value !== undefined ? local.value : local.defaultValue,\n );\n\n return (\n <input\n type={local.type}\n value={value()}\n data-slot=\"input\"\n class={clsx(\n \"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n local.class,\n )}\n onInput={handleInput}\n onChange={handleChange}\n {...others}\n />\n );\n};\n"],"mappings":";;;;oDAUaO,KAASC,MAAsB;CAC1C,IAAMC,IAASN,EACb;EAAEO,IAAIT,EAAe;EAAGU,MAAM;CAAO,GACrCH,CACF,GAEM,CAACK,GAAOC,KAAUV,EAAWK,GAAQ;EACzC;EACA;EACA;EACA;EACA;EACA;CAAO,CACR,GAEKM,KAA0DE,MAAM;EACpE,IAAIC,IAAyBD,EAAEE,OAAOD;EAKtCL,AAJIA,EAAMF,SAAS,aACjBO,IAAQE,OAAOH,EAAEE,OAAOD,KAAK,IAG/BL,EAAMQ,UAAUH,CAAK;CACvB,GAEMI,KAA4DL,MAAM;EACtE,IAAIC,IAAyBD,EAAEE,OAAOD;EAKtCL,AAJIA,EAAMF,SAAS,aACjBO,IAAQE,OAAOH,EAAEE,OAAOD,KAAK,IAG/BL,EAAMU,WAAWL,CAAK;CACxB,GAEMA,IAAQlB,QACZa,EAAMK,UAAUM,KAAAA,IAA0BX,EAAMY,eAApBZ,EAAMK,KACpC;CAEA,cAAA;EAAA,IAAAQ,IAAAC,EAAA;EAWc,OAXdD,EAAAE,iBAAA,UAUcN,CAAY,GAAAI,EAAAG,UADbd,GAAWe,EAAAJ,GAAAK,EAAA;GAAA,IAPpBpB,OAAI;IAAA,OAAEE,EAAMF;GAAI;GAAA,IAChBO,QAAK;IAAA,OAAEA,EAAM;GAAC;GAAA,IAAA,QAAA;IAAA,OAEPZ,EACL,+oBACAO,EAAMmB,KACR;GAAC;EAAA,GAGGlB,CAAM,GAAA,IAAA,EAAA,GAAAY;CAAA,EAAA,CAAA;AAGhB;AAAEO,EAAA,CAAA,OAAA,CAAA"}
1
+ {"version":3,"file":"Input.js","names":["createMemo","createUniqueId","JSX","mergeProps","splitProps","InputProps","clsx","Input","props","merged","id","type","const","local","others","handleInput","IntrinsicElements","e","value","target","Number","onInput","handleChange","onChange","undefined","defaultValue","_el$","_tmpl$","addEventListener","$$input","_$spread","_$mergeProps","class","_$delegateEvents","mergeProps","_$mergeProps","_$delegateEvents","mergeProps$1","_tmpl$","Input","merged","createUniqueId","props","local","others","splitProps","handleInput","value","handleChange","createMemo","_el$","spread","mergeProps","\"class\"","clsx","delegateEvents"],"sources":["../../../src/components/input/Input.tsx"],"sourcesContent":["import {\n createMemo,\n createUniqueId,\n type JSX,\n mergeProps,\n splitProps,\n} from \"solid-js\";\nimport type { InputProps } from \"./Input.types\";\nimport { clsx } from \"~/utils\";\n\nexport const Input = (props: InputProps) => {\n const merged = mergeProps(\n { id: createUniqueId(), type: \"text\" } as const,\n props,\n );\n\n const [local, others] = splitProps(merged, [\n \"value\",\n \"defaultValue\",\n \"type\",\n \"onInput\",\n \"onChange\",\n \"class\",\n ]);\n\n const handleInput: JSX.IntrinsicElements[\"input\"][\"onInput\"] = (e) => {\n let value: string | number = e.target.value;\n if (local.type === \"number\") {\n value = Number(e.target.value);\n }\n // @ts-expect-error\n local.onInput?.(value);\n };\n\n const handleChange: JSX.IntrinsicElements[\"input\"][\"onChange\"] = (e) => {\n let value: string | number = e.target.value;\n if (local.type === \"number\") {\n value = Number(e.target.value);\n }\n // @ts-expect-error\n local.onChange?.(value);\n };\n\n const value = createMemo(() =>\n local.value !== undefined ? local.value : local.defaultValue,\n );\n\n return (\n <input\n type={local.type}\n value={value()}\n data-slot=\"input\"\n class={clsx(\n \"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n local.class,\n )}\n onInput={handleInput}\n onChange={handleChange}\n {...others}\n />\n );\n};\n"],"mappings":";;;;oDAUaO,KAASC,MAAsB;CAC1C,IAAMC,IAASN,EACb;EAAEO,IAAIT,EAAe;EAAGU,MAAM;CAAO,GACrCH,CACF,GAEM,CAACK,GAAOC,KAAUV,EAAWK,GAAQ;EACzC;EACA;EACA;EACA;EACA;EACA;CAAO,CACR,GAEKM,KAA0DE,MAAM;EACpE,IAAIC,IAAyBD,EAAEE,OAAOD;EAKtCL,AAJIA,EAAMF,SAAS,aACjBO,IAAQE,OAAOH,EAAEE,OAAOD,KAAK,IAG/BL,EAAMQ,UAAUH,CAAK;CACvB,GAEMI,KAA4DL,MAAM;EACtE,IAAIC,IAAyBD,EAAEE,OAAOD;EAKtCL,AAJIA,EAAMF,SAAS,aACjBO,IAAQE,OAAOH,EAAEE,OAAOD,KAAK,IAG/BL,EAAMU,WAAWL,CAAK;CACxB,GAEMA,IAAQlB,QACZa,EAAMK,UAAUM,KAAAA,IAA0BX,EAAMY,eAApBZ,EAAMK,KACpC;CAEA,cAAA;EAAA,IAAAQ,IAAAC,EAAA;EAWc,OAXdD,EAAAE,iBAAA,UAUcN,CAAY,GAAAI,EAAAG,UADbd,GAAWe,EAAAJ,GAAAK,EAAA;GAAA,IAPpBpB,OAAI;IAAA,OAAEE,EAAMF;GAAI;GAAA,IAChBO,QAAK;IAAA,OAAEA,EAAM;GAAC;GAAA,IAAAmC,QAAA;IAAA,OAEP/C,EACL,+oBACAO,EAAMmB,KACR;GAAC;EAAA,GAGGlB,CAAM,GAAA,IAAA,EAAA,GAAAY;CAAA,EAAA,CAAA;AAGhB;AAAEO,EAAA,CAAA,OAAA,CAAA"}
@@ -1,2 +1,2 @@
1
1
  import { InputGroupProps } from './InputGroup.types';
2
- export declare const InputGroup: (props: InputGroupProps) => import("solid-js").JSX.Element;
2
+ export declare const InputGroup: (props: InputGroupProps) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"InputGroup.js","names":["splitProps","InputGroupProps","clsx","InputGroup","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class"],"sources":["../../../../src/components/input-group/InputGroup/InputGroup.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { InputGroupProps } from \"./InputGroup.types\";\nimport { clsx } from \"~/utils\";\n\nexport const InputGroup = (props: InputGroupProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n class={clsx(\n \"group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;mEAIaG,KAAcC,MAA2B;CACpD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAChE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAQc,OARdC,EAAAF,GAAAG,EAAA,EAAA,IAAA,QAAA;GAAA,OAIWR,EACL,ylCACAG,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
1
+ {"version":3,"file":"InputGroup.js","names":["splitProps","InputGroupProps","clsx","InputGroup","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class","_$mergeProps","_tmpl$","InputGroup","local","others","splitProps","props","_el$","spread","mergeProps","\"class\"","clsx"],"sources":["../../../../src/components/input-group/InputGroup/InputGroup.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { InputGroupProps } from \"./InputGroup.types\";\nimport { clsx } from \"~/utils\";\n\nexport const InputGroup = (props: InputGroupProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n class={clsx(\n \"group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;mEAIaG,KAAcC,MAA2B;CACpD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAChE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAQc,OARdC,EAAAF,GAAAG,EAAA,EAAA,IAAAY,QAAA;GAAA,OAIWpB,EACL,ylCACAG,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
@@ -1,2 +1,2 @@
1
1
  import { InputGroupAddonProps } from './InputGroupAddon.types';
2
- export declare const InputGroupAddon: (props: InputGroupAddonProps) => import("solid-js").JSX.Element;
2
+ export declare const InputGroupAddon: (props: InputGroupAddonProps) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"InputGroupAddon.js","names":["InputGroupAddonProps","inputGroupAddonVariants","mergeProps","splitProps","clsx","InputGroupAddon","props","merged","align","const","local","others","_el$","_tmpl$","$$click","e","target","HTMLElement","closest","currentTarget","parentElement","querySelector","focus","_$spread","_$mergeProps","data-align","class","_$delegateEvents"],"sources":["../../../../src/components/input-group/InputGroupAddon/InputGroupAddon.tsx"],"sourcesContent":["import type { InputGroupAddonProps } from \"./InputGroupAddon.types\";\nimport { inputGroupAddonVariants } from \"./InputGroupAddon.styles\";\nimport { mergeProps, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\n\nexport const InputGroupAddon = (props: InputGroupAddonProps) => {\n const merged = mergeProps({ align: \"inline-start\" } as const, props);\n\n const [local, others] = splitProps(merged, [\"align\", \"class\", \"classList\"]);\n\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={local.align}\n class={clsx(inputGroupAddonVariants({ align: local.align }), local.class)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return;\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus();\n }}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;yEAKaK,KAAmBC,MAAgC;CAC9D,IAAMC,IAASL,EAAW,EAAEM,OAAO,eAAe,GAAYF,CAAK,GAE7D,CAACI,GAAOC,KAAUR,EAAWI,GAAQ;EAAC;EAAS;EAAS;CAAW,CAAC;CAE1E,cAAA;EAAA,IAAAK,IAAAC,EAAA;EAYc,OAZdD,EAAAE,WAMcC,MAAM;GACTA,EAAEC,OAAuBE,QAAQ,QAAQ,KAG9CH,EAAEI,cAAcC,eAAeC,cAAc,OAAO,CAAC,EAAEC,MAAM;EAC/D,GAACC,EAAAX,GAAAY,EAAA;GAAA,IAAA,eAAA;IAAA,OAPWd,EAAMF;GAAK;GAAA,IAAA,QAAA;IAAA,OAChBJ,EAAKH,EAAwB,EAAEO,OAAOE,EAAMF,MAAM,CAAC,GAAGE,EAAMgB,KAAK;GAAC;EAAA,GAOrEf,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB;AAAEe,EAAA,CAAA,OAAA,CAAA"}
1
+ {"version":3,"file":"InputGroupAddon.js","names":["InputGroupAddonProps","inputGroupAddonVariants","mergeProps","splitProps","clsx","InputGroupAddon","props","merged","align","const","local","others","_el$","_tmpl$","$$click","e","target","HTMLElement","closest","currentTarget","parentElement","querySelector","focus","_$spread","_$mergeProps","data-align","class","_$delegateEvents","mergeProps","_$mergeProps","_$delegateEvents","mergeProps$1","_tmpl$","InputGroupAddon","merged","props","local","others","splitProps","_el$","spread","mergeProps","\"class\"","clsx","inputGroupAddonVariants","delegateEvents"],"sources":["../../../../src/components/input-group/InputGroupAddon/InputGroupAddon.tsx"],"sourcesContent":["import type { InputGroupAddonProps } from \"./InputGroupAddon.types\";\nimport { inputGroupAddonVariants } from \"./InputGroupAddon.styles\";\nimport { mergeProps, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\n\nexport const InputGroupAddon = (props: InputGroupAddonProps) => {\n const merged = mergeProps({ align: \"inline-start\" } as const, props);\n\n const [local, others] = splitProps(merged, [\"align\", \"class\", \"classList\"]);\n\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={local.align}\n class={clsx(inputGroupAddonVariants({ align: local.align }), local.class)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return;\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus();\n }}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;yEAKaK,KAAmBC,MAAgC;CAC9D,IAAMC,IAASL,EAAW,EAAEM,OAAO,eAAe,GAAYF,CAAK,GAE7D,CAACI,GAAOC,KAAUR,EAAWI,GAAQ;EAAC;EAAS;EAAS;CAAW,CAAC;CAE1E,cAAA;EAAA,IAAAK,IAAAC,EAAA;EAYc,OAZdD,EAAAE,WAMcC,MAAM;GACd,AAAKA,EAAEC,OAAuBE,QAAQ,QAAQ,KAG9CH,EAAEI,cAAcC,eAAeC,cAAc,OAAO,CAAC,EAAEC,MAAM;EAC/D,GAACC,EAAAX,GAAAY,EAAA;GAAA,IAAA,eAAA;IAAA,OAPWd,EAAMF;GAAK;GAAA,IAAAkC,QAAA;IAAA,OAChBtC,EAAKH,EAAwB,EAAEO,OAAOE,EAAMF,MAAM,CAAC,GAAGE,EAAMgB,KAAK;GAAC;EAAA,GAOrEf,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB;AAAEe,EAAA,CAAA,OAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputGroupAddon.styles.js","names":[],"sources":["../../../../src/components/input-group/InputGroupAddon/InputGroupAddon.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const inputGroupAddonVariants = cva(\n \"flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n align: {\n \"inline-start\":\n \"order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]\",\n \"inline-end\":\n \"order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]\",\n \"block-start\":\n \"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2\",\n \"block-end\":\n \"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n },\n);\n"],"mappings":";;AAEA,IAAa,IAA0B,EACrC,2PACA;CACE,UAAU,EACR,OAAO;EACL,gBACE;EACF,cACE;EACF,eACE;EACF,aACE;CACJ,EACF;CACA,iBAAiB,EACf,OAAO,eACT;AACF,CACF"}
1
+ {"version":3,"file":"InputGroupAddon.styles.js","names":["inputGroupAddonVariants","cva"],"sources":["../../../../src/components/input-group/InputGroupAddon/InputGroupAddon.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const inputGroupAddonVariants = cva(\n \"flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n align: {\n \"inline-start\":\n \"order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]\",\n \"inline-end\":\n \"order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]\",\n \"block-start\":\n \"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2\",\n \"block-end\":\n \"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n },\n);\n"],"mappings":";;AAEA,IAAaA,IAA0BC,EACrC,2PACA;CACE,UAAU,EACR,OAAO;EACL,gBACE;EACF,cACE;EACF,eACE;EACF,aACE;CACJ,EACF;CACA,iBAAiB,EACf,OAAO,eACT;AACF,CACF"}
@@ -1,2 +1,2 @@
1
1
  import { InputGroupButtonProps } from './InputGroupButton.types';
2
- export declare const InputGroupButton: (props: InputGroupButtonProps) => import("solid-js").JSX.Element;
2
+ export declare const InputGroupButton: (props: InputGroupButtonProps) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"InputGroupButton.js","names":["Button","InputGroupButtonProps","createMemo","mergeProps","splitProps","clsx","inputGroupButtonVariants","InputGroupButton","props","merged","type","variant","size","const","local","others","iconOnly","icon","children","_$createComponent","_$mergeProps","data-size","class","undefined","iconSize"],"sources":["../../../../src/components/input-group/InputGroupButton/InputGroupButton.tsx"],"sourcesContent":["import { Button } from \"~/components/button/Button\";\nimport type { InputGroupButtonProps } from \"./InputGroupButton.types\";\nimport { createMemo, mergeProps, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { inputGroupButtonVariants } from \"./InputGroupButton.styles\";\n\nexport const InputGroupButton = (props: InputGroupButtonProps) => {\n const merged = mergeProps(\n { type: \"button\", variant: \"ghost\", size: \"xs\" } as const,\n props,\n );\n const [local, others] = splitProps(merged, [\n \"size\",\n \"variant\",\n \"class\",\n \"classList\",\n ]);\n\n const iconOnly = createMemo(() => !!others.icon && !others.children);\n\n return (\n <Button\n {...others}\n data-size={local.size}\n variant={local.variant}\n class={clsx(\n inputGroupButtonVariants({\n size: iconOnly() ? undefined : local.size,\n iconSize: iconOnly() ? local.size : undefined,\n }),\n local.class,\n )}\n />\n );\n};\n"],"mappings":";;;;;;AAMA,IAAaO,KAAoBC,MAAiC;CAChE,IAAMC,IAASN,EACb;EAAEO,MAAM;EAAUC,SAAS;EAASC,MAAM;CAAK,GAC/CJ,CACF,GACM,CAACM,GAAOC,KAAUX,EAAWK,GAAQ;EACzC;EACA;EACA;EACA;CAAW,CACZ,GAEKO,IAAWd,QAAiB,CAAC,CAACa,EAAOE,QAAQ,CAACF,EAAOG,QAAQ;CAEnE,OAAAC,EACGnB,GAAMoB,EACDL,GAAM;EAAA,IAAA,cAAA;GAAA,OACCD,EAAMF;EAAI;EAAA,IACrBD,UAAO;GAAA,OAAEG,EAAMH;EAAO;EAAA,IAAA,QAAA;GAAA,OACfN,EACLC,EAAyB;IACvBM,MAAMI,EAAS,IAAIO,KAAAA,IAAYT,EAAMF;IACrCY,UAAUR,EAAS,IAAIF,EAAMF,OAAOW,KAAAA;GACtC,CAAC,GACDT,EAAMQ,KACR;EAAC;CAAA,CAAA,CAAA;AAGP"}
1
+ {"version":3,"file":"InputGroupButton.js","names":["Button","InputGroupButtonProps","createMemo","mergeProps","splitProps","clsx","inputGroupButtonVariants","InputGroupButton","props","merged","type","variant","size","const","local","others","iconOnly","icon","children","_$createComponent","_$mergeProps","data-size","class","undefined","iconSize","mergeProps","_$createComponent","_$mergeProps","mergeProps$1","InputGroupButton","merged","props","local","others","splitProps","iconOnly","createMemo","createComponent","Button","mergeProps","\"class\"","clsx","inputGroupButtonVariants"],"sources":["../../../../src/components/input-group/InputGroupButton/InputGroupButton.tsx"],"sourcesContent":["import { Button } from \"~/components/button/Button\";\nimport type { InputGroupButtonProps } from \"./InputGroupButton.types\";\nimport { createMemo, mergeProps, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { inputGroupButtonVariants } from \"./InputGroupButton.styles\";\n\nexport const InputGroupButton = (props: InputGroupButtonProps) => {\n const merged = mergeProps(\n { type: \"button\", variant: \"ghost\", size: \"xs\" } as const,\n props,\n );\n const [local, others] = splitProps(merged, [\n \"size\",\n \"variant\",\n \"class\",\n \"classList\",\n ]);\n\n const iconOnly = createMemo(() => !!others.icon && !others.children);\n\n return (\n <Button\n {...others}\n data-size={local.size}\n variant={local.variant}\n class={clsx(\n inputGroupButtonVariants({\n size: iconOnly() ? undefined : local.size,\n iconSize: iconOnly() ? local.size : undefined,\n }),\n local.class,\n )}\n />\n );\n};\n"],"mappings":";;;;;;AAMA,IAAaO,KAAoBC,MAAiC;CAChE,IAAMC,IAASN,EACb;EAAEO,MAAM;EAAUC,SAAS;EAASC,MAAM;CAAK,GAC/CJ,CACF,GACM,CAACM,GAAOC,KAAUX,EAAWK,GAAQ;EACzC;EACA;EACA;EACA;CAAW,CACZ,GAEKO,IAAWd,QAAiB,CAAC,CAACa,EAAOE,QAAQ,CAACF,EAAOG,QAAQ;CAEnE,OAAAC,EACGnB,GAAMoB,EACDL,GAAM;EAAA,IAAA,cAAA;GAAA,OACCD,EAAMF;EAAI;EAAA,IACrBD,UAAO;GAAA,OAAEG,EAAMH;EAAO;EAAA,IAAA6B,QAAA;GAAA,OACfnC,EACLC,EAAyB;IACvBM,MAAMI,EAAS,IAAIO,KAAAA,IAAYT,EAAMF;IACrCY,UAAUR,EAAS,IAAIF,EAAMF,OAAOW,KAAAA;GACtC,CAAC,GACDT,EAAMQ,KACR;EAAC;CAAA,CAAA,CAAA;AAGP"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputGroupButton.styles.js","names":[],"sources":["../../../../src/components/input-group/InputGroupButton/InputGroupButton.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const inputGroupButtonVariants = cva(\n \"flex items-center gap-2 text-sm shadow-none\",\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n },\n iconSize: {\n xs: \"size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0\",\n sm: \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n },\n);\n"],"mappings":";;AAEA,IAAa,IAA2B,EACtC,+CACA;CACE,UAAU;EACR,MAAM;GACJ,IAAI;GACJ,IAAI;EACN;EACA,UAAU;GACR,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB,EACf,MAAM,KACR;AACF,CACF"}
1
+ {"version":3,"file":"InputGroupButton.styles.js","names":["inputGroupButtonVariants","cva"],"sources":["../../../../src/components/input-group/InputGroupButton/InputGroupButton.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const inputGroupButtonVariants = cva(\n \"flex items-center gap-2 text-sm shadow-none\",\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n },\n iconSize: {\n xs: \"size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0\",\n sm: \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n },\n);\n"],"mappings":";;AAEA,IAAaA,IAA2BC,EACtC,+CACA;CACE,UAAU;EACR,MAAM;GACJ,IAAI;GACJ,IAAI;EACN;EACA,UAAU;GACR,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB,EACf,MAAM,KACR;AACF,CACF"}
@@ -1,2 +1,2 @@
1
1
  import { InputGroupInputProps } from './InputGroupInput.types';
2
- export declare const InputGroupInput: (props: InputGroupInputProps) => import("solid-js").JSX.Element;
2
+ export declare const InputGroupInput: (props: InputGroupInputProps) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"InputGroupInput.js","names":["Input","InputGroupInputProps","splitProps","clsx","InputGroupInput","props","local","others","_$createComponent","_$mergeProps","class"],"sources":["../../../../src/components/input-group/InputGroupInput/InputGroupInput.tsx"],"sourcesContent":["import { Input } from \"~/components/input/Input\";\nimport type { InputGroupInputProps } from \"./InputGroupInput.types\";\nimport { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\n\nexport const InputGroupInput = (props: InputGroupInputProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <Input\n data-slot=\"input-group-control\"\n class={clsx(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;AAKA,IAAaI,KAAmBC,MAAgC;CAC9D,IAAM,CAACC,GAAOC,KAAUL,EAAWG,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,OAAAG,EACGR,GAAKS,EAAA;EAAA,aAAA;EAAA,IAAA,QAAA;GAAA,OAEGN,EACL,oLACAG,EAAMI,KACR;EAAC;CAAA,GACGH,CAAM,CAAA;AAGhB"}
1
+ {"version":3,"file":"InputGroupInput.js","names":["Input","InputGroupInputProps","splitProps","clsx","InputGroupInput","props","local","others","_$createComponent","_$mergeProps","class","_$createComponent","_$mergeProps","InputGroupInput","local","others","splitProps","props","createComponent","Input","mergeProps","\"class\"","clsx"],"sources":["../../../../src/components/input-group/InputGroupInput/InputGroupInput.tsx"],"sourcesContent":["import { Input } from \"~/components/input/Input\";\nimport type { InputGroupInputProps } from \"./InputGroupInput.types\";\nimport { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\n\nexport const InputGroupInput = (props: InputGroupInputProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <Input\n data-slot=\"input-group-control\"\n class={clsx(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;AAKA,IAAaI,KAAmBC,MAAgC;CAC9D,IAAM,CAACC,GAAOC,KAAUL,EAAWG,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,OAAAG,EACGR,GAAKS,EAAA;EAAA,aAAA;EAAA,IAAAY,QAAA;GAAA,OAEGlB,EACL,oLACAG,EAAMI,KACR;EAAC;CAAA,GACGH,CAAM,CAAA;AAGhB"}
@@ -1,2 +1,2 @@
1
1
  import { InputGroupTextProps } from './InputGroupText.types';
2
- export declare const InputGroupText: (props: InputGroupTextProps) => import("solid-js").JSX.Element;
2
+ export declare const InputGroupText: (props: InputGroupTextProps) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"InputGroupText.js","names":["splitProps","InputGroupTextProps","clsx","InputGroupText","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class"],"sources":["../../../../src/components/input-group/InputGroupText/InputGroupText.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { InputGroupTextProps } from \"./InputGroupText.types\";\nimport { clsx } from \"~/utils\";\n\nexport const InputGroupText = (props: InputGroupTextProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <span\n class={clsx(\n \"flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;mCAIaG,KAAkBC,MAA+B;CAC5D,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAMc,OANdC,EAAAF,GAAAG,EAAA,EAAA,IAAA,QAAA;GAAA,OAEWR,EACL,0HACAG,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
1
+ {"version":3,"file":"InputGroupText.js","names":["splitProps","InputGroupTextProps","clsx","InputGroupText","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class","_$mergeProps","_tmpl$","InputGroupText","local","others","splitProps","props","_el$","spread","mergeProps","\"class\"","clsx"],"sources":["../../../../src/components/input-group/InputGroupText/InputGroupText.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { InputGroupTextProps } from \"./InputGroupText.types\";\nimport { clsx } from \"~/utils\";\n\nexport const InputGroupText = (props: InputGroupTextProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <span\n class={clsx(\n \"flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;mCAIaG,KAAkBC,MAA+B;CAC5D,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAMc,OANdC,EAAAF,GAAAG,EAAA,EAAA,IAAAY,QAAA;GAAA,OAEWpB,EACL,0HACAG,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
@@ -1,2 +1,2 @@
1
1
  import { InputGroupTextareaProps } from './InputGroupTextarea.types';
2
- export declare const InputGroupTextarea: (props: InputGroupTextareaProps) => import("solid-js").JSX.Element;
2
+ export declare const InputGroupTextarea: (props: InputGroupTextareaProps) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"InputGroupTextarea.js","names":["splitProps","InputGroupTextareaProps","Textarea","clsx","InputGroupTextarea","props","local","others","_$createComponent","_$mergeProps","class"],"sources":["../../../../src/components/input-group/InputGroupTextarea/InputGroupTextarea.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { InputGroupTextareaProps } from \"./InputGroupTextarea.types\";\nimport { Textarea } from \"~/components/textarea\";\nimport { clsx } from \"~/utils\";\n\nexport const InputGroupTextarea = (props: InputGroupTextareaProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <Textarea\n data-slot=\"input-group-control\"\n class={clsx(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;AAKA,IAAaI,KAAsBC,MAAmC;CACpE,IAAM,CAACC,GAAOC,KAAUP,EAAWK,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,OAAAG,EACGN,GAAQO,EAAA;EAAA,aAAA;EAAA,IAAA,QAAA;GAAA,OAEAN,EACL,qMACAG,EAAMI,KACR;EAAC;CAAA,GACGH,CAAM,CAAA;AAGhB"}
1
+ {"version":3,"file":"InputGroupTextarea.js","names":["splitProps","InputGroupTextareaProps","Textarea","clsx","InputGroupTextarea","props","local","others","_$createComponent","_$mergeProps","class","_$createComponent","_$mergeProps","InputGroupTextarea","local","others","splitProps","props","createComponent","Textarea","mergeProps","\"class\"","clsx"],"sources":["../../../../src/components/input-group/InputGroupTextarea/InputGroupTextarea.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { InputGroupTextareaProps } from \"./InputGroupTextarea.types\";\nimport { Textarea } from \"~/components/textarea\";\nimport { clsx } from \"~/utils\";\n\nexport const InputGroupTextarea = (props: InputGroupTextareaProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <Textarea\n data-slot=\"input-group-control\"\n class={clsx(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;AAKA,IAAaI,KAAsBC,MAAmC;CACpE,IAAM,CAACC,GAAOC,KAAUP,EAAWK,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,OAAAG,EACGN,GAAQO,EAAA;EAAA,aAAA;EAAA,IAAAY,QAAA;GAAA,OAEAlB,EACL,qMACAG,EAAMI,KACR;EAAC;CAAA,GACGH,CAAM,CAAA;AAGhB"}
@@ -1,3 +1,3 @@
1
1
  import { ValidComponent } from 'solid-js';
2
2
  import { ItemProps } from './Item.types';
3
- export declare const Item: <T extends ValidComponent = "div">(props: ItemProps<T>) => import("solid-js").JSX.Element;
3
+ export declare const Item: <T extends ValidComponent = "div">(props: ItemProps<T>) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","names":["mergeProps","splitProps","ValidComponent","clsx","ItemProps","itemVariants","Dynamic","Item","props","T","merged","variant","size","component","const","local","others","_$createComponent","_$mergeProps","class"],"sources":["../../../../src/components/item/Item/Item.tsx"],"sourcesContent":["import { mergeProps, splitProps, type ValidComponent } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemProps } from \"./Item.types\";\nimport { itemVariants } from \"./Item.styles\";\nimport { Dynamic } from \"solid-js/web\";\n\nexport const Item = <T extends ValidComponent = \"div\">(props: ItemProps<T>) => {\n const merged = mergeProps(\n { variant: \"ghost\", size: \"sm\", component: \"div\" } as const,\n props,\n );\n\n const [local, others] = splitProps(merged, [\n \"component\",\n \"variant\",\n \"size\",\n \"class\",\n \"classList\",\n ]);\n\n return (\n <Dynamic\n component={local.component as ValidComponent}\n data-slot=\"item\"\n class={clsx(\n itemVariants({ variant: local.variant, size: local.size }),\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;AAMA,IAAaO,KAA0CC,MAAwB;CAC7E,IAAME,IAASV,EACb;EAAEW,SAAS;EAASC,MAAM;EAAMC,WAAW;CAAM,GACjDL,CACF,GAEM,CAACO,GAAOC,KAAUf,EAAWS,GAAQ;EACzC;EACA;EACA;EACA;EACA;CAAW,CACZ;CAED,OAAAO,EACGX,GAAOY,EAAA;EAAA,IACNL,YAAS;GAAA,OAAEE,EAAMF;EAA2B;EAAA,aAAA;EAAA,IAAA,QAAA;GAAA,OAErCV,EACLE,EAAa;IAAEM,SAASI,EAAMJ;IAASC,MAAMG,EAAMH;GAAK,CAAC,GACzDG,EAAMI,KACR;EAAC;CAAA,GACGH,CAAM,CAAA;AAGhB"}
1
+ {"version":3,"file":"Item.js","names":["mergeProps","splitProps","ValidComponent","clsx","ItemProps","itemVariants","Dynamic","Item","props","T","merged","variant","size","component","const","local","others","_$createComponent","_$mergeProps","class","mergeProps","_$createComponent","_$mergeProps","mergeProps$1","Item","merged","props","local","others","splitProps","createComponent","Dynamic","mergeProps","\"class\"","clsx","itemVariants"],"sources":["../../../../src/components/item/Item/Item.tsx"],"sourcesContent":["import { mergeProps, splitProps, type ValidComponent } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemProps } from \"./Item.types\";\nimport { itemVariants } from \"./Item.styles\";\nimport { Dynamic } from \"solid-js/web\";\n\nexport const Item = <T extends ValidComponent = \"div\">(props: ItemProps<T>) => {\n const merged = mergeProps(\n { variant: \"ghost\", size: \"sm\", component: \"div\" } as const,\n props,\n );\n\n const [local, others] = splitProps(merged, [\n \"component\",\n \"variant\",\n \"size\",\n \"class\",\n \"classList\",\n ]);\n\n return (\n <Dynamic\n component={local.component as ValidComponent}\n data-slot=\"item\"\n class={clsx(\n itemVariants({ variant: local.variant, size: local.size }),\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;AAMA,IAAaO,KAA0CC,MAAwB;CAC7E,IAAME,IAASV,EACb;EAAEW,SAAS;EAASC,MAAM;EAAMC,WAAW;CAAM,GACjDL,CACF,GAEM,CAACO,GAAOC,KAAUf,EAAWS,GAAQ;EACzC;EACA;EACA;EACA;EACA;CAAW,CACZ;CAED,OAAAO,EACGX,GAAOY,EAAA;EAAA,IACNL,YAAS;GAAA,OAAEE,EAAMF;EAA2B;EAAA,aAAA;EAAA,IAAAoB,QAAA;GAAA,OAErC9B,EACLE,EAAa;IAAEM,SAASI,EAAMJ;IAASC,MAAMG,EAAMH;GAAK,CAAC,GACzDG,EAAMI,KACR;EAAC;CAAA,GACGH,CAAM,CAAA;AAGhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Item.styles.js","names":[],"sources":["../../../../src/components/item/Item/Item.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const itemVariants = cva(\n \"group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-muted\",\n {\n variants: {\n variant: {\n ghost: \"border-transparent\",\n outline: \"border-border\",\n muted: \"border-transparent bg-muted/50\",\n },\n size: {\n sm: \"gap-2.5 px-3 py-2.5\",\n xs: \"gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0\",\n },\n },\n defaultVariants: {\n variant: \"ghost\",\n size: \"sm\",\n },\n },\n);\n"],"mappings":";;AAEA,IAAa,IAAe,EAC1B,8OACA;CACE,UAAU;EACR,SAAS;GACP,OAAO;GACP,SAAS;GACT,OAAO;EACT;EACA,MAAM;GACJ,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF"}
1
+ {"version":3,"file":"Item.styles.js","names":["itemVariants","cva"],"sources":["../../../../src/components/item/Item/Item.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const itemVariants = cva(\n \"group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-muted\",\n {\n variants: {\n variant: {\n ghost: \"border-transparent\",\n outline: \"border-border\",\n muted: \"border-transparent bg-muted/50\",\n },\n size: {\n sm: \"gap-2.5 px-3 py-2.5\",\n xs: \"gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0\",\n },\n },\n defaultVariants: {\n variant: \"ghost\",\n size: \"sm\",\n },\n },\n);\n"],"mappings":";;AAEA,IAAaA,IAAeC,EAC1B,8OACA;CACE,UAAU;EACR,SAAS;GACP,OAAO;GACP,SAAS;GACT,OAAO;EACT;EACA,MAAM;GACJ,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF"}
@@ -1,2 +1,2 @@
1
1
  import { ItemActionsProps } from './ItemActions.types';
2
- export declare const ItemActions: (props: ItemActionsProps) => import("solid-js").JSX.Element;
2
+ export declare const ItemActions: (props: ItemActionsProps) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ItemActions.js","names":["splitProps","clsx","ItemActionsProps","ItemActions","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class"],"sources":["../../../../src/components/item/ItemActions/ItemActions.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemActionsProps } from \"./ItemActions.types\";\n\nexport const ItemActions = (props: ItemActionsProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <p\n data-slot=\"item-actions\"\n class={clsx(\"flex items-center gap-2\", local.class)}\n {...others}\n />\n );\n};\n"],"mappings":";;;;uDAIaG,KAAeC,MAA4B;CACtD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAIc,OAJdC,EAAAF,GAAAG,EAAA,EAAA,IAAA,QAAA;GAAA,OAGWT,EAAK,2BAA2BI,EAAMM,KAAK;EAAC,EAAA,GAC/CL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
1
+ {"version":3,"file":"ItemActions.js","names":["splitProps","clsx","ItemActionsProps","ItemActions","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class","_$mergeProps","_tmpl$","ItemActions","local","others","splitProps","props","_el$","spread","mergeProps","\"class\"","clsx"],"sources":["../../../../src/components/item/ItemActions/ItemActions.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemActionsProps } from \"./ItemActions.types\";\n\nexport const ItemActions = (props: ItemActionsProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <p\n data-slot=\"item-actions\"\n class={clsx(\"flex items-center gap-2\", local.class)}\n {...others}\n />\n );\n};\n"],"mappings":";;;;uDAIaG,KAAeC,MAA4B;CACtD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAIc,OAJdC,EAAAF,GAAAG,EAAA,EAAA,IAAAY,QAAA;GAAA,OAGWrB,EAAK,2BAA2BI,EAAMM,KAAK;EAAC,EAAA,GAC/CL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
@@ -1,2 +1,2 @@
1
1
  import { ItemContentProps } from './ItemContent.types';
2
- export declare const ItemContent: (props: ItemContentProps) => import("solid-js").JSX.Element;
2
+ export declare const ItemContent: (props: ItemContentProps) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ItemContent.js","names":["splitProps","clsx","ItemContentProps","ItemContent","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class"],"sources":["../../../../src/components/item/ItemContent/ItemContent.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemContentProps } from \"./ItemContent.types\";\n\nexport const ItemContent = (props: ItemContentProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <div\n data-slot=\"item-content\"\n class={clsx(\n \"flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;yDAIaG,KAAeC,MAA4B;CACtD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAOc,OAPdC,EAAAF,GAAAG,EAAA,EAAA,IAAA,QAAA;GAAA,OAGWT,EACL,qGACAI,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
1
+ {"version":3,"file":"ItemContent.js","names":["splitProps","clsx","ItemContentProps","ItemContent","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class","_$mergeProps","_tmpl$","ItemContent","local","others","splitProps","props","_el$","spread","mergeProps","\"class\"","clsx"],"sources":["../../../../src/components/item/ItemContent/ItemContent.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemContentProps } from \"./ItemContent.types\";\n\nexport const ItemContent = (props: ItemContentProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <div\n data-slot=\"item-content\"\n class={clsx(\n \"flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;yDAIaG,KAAeC,MAA4B;CACtD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAOc,OAPdC,EAAAF,GAAAG,EAAA,EAAA,IAAAY,QAAA;GAAA,OAGWrB,EACL,qGACAI,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
@@ -1,2 +1,2 @@
1
1
  import { ItemDescriptionProps } from './ItemDescription.types';
2
- export declare const ItemDescription: (props: ItemDescriptionProps) => import("solid-js").JSX.Element;
2
+ export declare const ItemDescription: (props: ItemDescriptionProps) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ItemDescription.js","names":["splitProps","clsx","ItemDescriptionProps","ItemDescription","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class"],"sources":["../../../../src/components/item/ItemDescription/ItemDescription.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemDescriptionProps } from \"./ItemDescription.types\";\n\nexport const ItemDescription = (props: ItemDescriptionProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <p\n data-slot=\"item-description\"\n class={clsx(\n \"line-clamp-2 text-left text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;2DAIaG,KAAmBC,MAAgC;CAC9D,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAOc,OAPdC,EAAAF,GAAAG,EAAA,EAAA,IAAA,QAAA;GAAA,OAGWT,EACL,uLACAI,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
1
+ {"version":3,"file":"ItemDescription.js","names":["splitProps","clsx","ItemDescriptionProps","ItemDescription","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class","_$mergeProps","_tmpl$","ItemDescription","local","others","splitProps","props","_el$","spread","mergeProps","\"class\"","clsx"],"sources":["../../../../src/components/item/ItemDescription/ItemDescription.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemDescriptionProps } from \"./ItemDescription.types\";\n\nexport const ItemDescription = (props: ItemDescriptionProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <p\n data-slot=\"item-description\"\n class={clsx(\n \"line-clamp-2 text-left text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;2DAIaG,KAAmBC,MAAgC;CAC9D,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAOc,OAPdC,EAAAF,GAAAG,EAAA,EAAA,IAAAY,QAAA;GAAA,OAGWrB,EACL,uLACAI,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
@@ -1,2 +1,2 @@
1
1
  import { ItemFooterProps } from './ItemFooter.types';
2
- export declare const ItemFooter: (props: ItemFooterProps) => import("solid-js").JSX.Element;
2
+ export declare const ItemFooter: (props: ItemFooterProps) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ItemFooter.js","names":["splitProps","clsx","ItemFooterProps","ItemFooter","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class"],"sources":["../../../../src/components/item/ItemFooter/ItemFooter.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemFooterProps } from \"./ItemFooter.types\";\n\nexport const ItemFooter = (props: ItemFooterProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <div\n data-slot=\"item-footer\"\n class={clsx(\n \"flex basis-full items-center justify-between gap-2\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;wDAIaG,KAAcC,MAA2B;CACpD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAOc,OAPdC,EAAAF,GAAAG,EAAA,EAAA,IAAA,QAAA;GAAA,OAGWT,EACL,sDACAI,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
1
+ {"version":3,"file":"ItemFooter.js","names":["splitProps","clsx","ItemFooterProps","ItemFooter","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class","_$mergeProps","_tmpl$","ItemFooter","local","others","splitProps","props","_el$","spread","mergeProps","\"class\"","clsx"],"sources":["../../../../src/components/item/ItemFooter/ItemFooter.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemFooterProps } from \"./ItemFooter.types\";\n\nexport const ItemFooter = (props: ItemFooterProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <div\n data-slot=\"item-footer\"\n class={clsx(\n \"flex basis-full items-center justify-between gap-2\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;wDAIaG,KAAcC,MAA2B;CACpD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAOc,OAPdC,EAAAF,GAAAG,EAAA,EAAA,IAAAY,QAAA;GAAA,OAGWrB,EACL,sDACAI,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
@@ -1,2 +1,2 @@
1
1
  import { ItemGroupProps } from './ItemGroup.types';
2
- export declare const ItemGroup: (props: ItemGroupProps) => import("solid-js").JSX.Element;
2
+ export declare const ItemGroup: (props: ItemGroupProps) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ItemGroup.js","names":["splitProps","clsx","ItemGroupProps","ItemGroup","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class"],"sources":["../../../../src/components/item/ItemGroup/ItemGroup.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemGroupProps } from \"./ItemGroup.types\";\n\nexport const ItemGroup = (props: ItemGroupProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <div\n role=\"list\"\n data-slot=\"item-group\"\n class={clsx(\n \"group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;iEAIaG,KAAaC,MAA0B;CAClD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAQc,OARdC,EAAAF,GAAAG,EAAA,EAAA,IAAA,QAAA;GAAA,OAIWT,EACL,mGACAI,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
1
+ {"version":3,"file":"ItemGroup.js","names":["splitProps","clsx","ItemGroupProps","ItemGroup","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class","_$mergeProps","_tmpl$","ItemGroup","local","others","splitProps","props","_el$","spread","mergeProps","\"class\"","clsx"],"sources":["../../../../src/components/item/ItemGroup/ItemGroup.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemGroupProps } from \"./ItemGroup.types\";\n\nexport const ItemGroup = (props: ItemGroupProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <div\n role=\"list\"\n data-slot=\"item-group\"\n class={clsx(\n \"group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;iEAIaG,KAAaC,MAA0B;CAClD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAQc,OARdC,EAAAF,GAAAG,EAAA,EAAA,IAAAY,QAAA;GAAA,OAIWrB,EACL,mGACAI,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
@@ -1,2 +1,2 @@
1
1
  import { ItemHeaderProps } from './ItemHeader.types';
2
- export declare const ItemHeader: (props: ItemHeaderProps) => import("solid-js").JSX.Element;
2
+ export declare const ItemHeader: (props: ItemHeaderProps) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ItemHeader.js","names":["splitProps","clsx","ItemHeaderProps","ItemHeader","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class"],"sources":["../../../../src/components/item/ItemHeader/ItemHeader.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemHeaderProps } from \"./ItemHeader.types\";\n\nexport const ItemHeader = (props: ItemHeaderProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <div\n data-slot=\"item-header\"\n class={clsx(\n \"flex basis-full items-center justify-between gap-2\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;wDAIaG,KAAcC,MAA2B;CACpD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAOc,OAPdC,EAAAF,GAAAG,EAAA,EAAA,IAAA,QAAA;GAAA,OAGWT,EACL,sDACAI,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
1
+ {"version":3,"file":"ItemHeader.js","names":["splitProps","clsx","ItemHeaderProps","ItemHeader","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class","_$mergeProps","_tmpl$","ItemHeader","local","others","splitProps","props","_el$","spread","mergeProps","\"class\"","clsx"],"sources":["../../../../src/components/item/ItemHeader/ItemHeader.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemHeaderProps } from \"./ItemHeader.types\";\n\nexport const ItemHeader = (props: ItemHeaderProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <div\n data-slot=\"item-header\"\n class={clsx(\n \"flex basis-full items-center justify-between gap-2\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;wDAIaG,KAAcC,MAA2B;CACpD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAOc,OAPdC,EAAAF,GAAAG,EAAA,EAAA,IAAAY,QAAA;GAAA,OAGWrB,EACL,sDACAI,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
@@ -1,2 +1,2 @@
1
1
  import { ItemMediaProps } from './ItemMedia.types';
2
- export declare const ItemMedia: (props: ItemMediaProps) => import("solid-js").JSX.Element;
2
+ export declare const ItemMedia: (props: ItemMediaProps) => import('solid-js').JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ItemMedia.js","names":["mergeProps","splitProps","clsx","ItemMediaProps","itemMediaVariants","ItemMedia","props","merged","variant","const","local","others","_el$","_tmpl$","_$spread","_$mergeProps","data-variant","class"],"sources":["../../../../src/components/item/ItemMedia/ItemMedia.tsx"],"sourcesContent":["import { mergeProps, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemMediaProps } from \"./ItemMedia.types\";\nimport { itemMediaVariants } from \"./ItemMedia.styles\";\n\nexport const ItemMedia = (props: ItemMediaProps) => {\n const merged = mergeProps({ variant: \"ghost\" } as const, props);\n\n const [local, others] = splitProps(merged, [\"variant\", \"class\", \"classList\"]);\n\n return (\n <div\n data-slot=\"item-media\"\n data-variant={local.variant}\n class={clsx(itemMediaVariants({ variant: local.variant }), local.class)}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;uDAKaK,KAAaC,MAA0B;CAClD,IAAMC,IAASP,EAAW,EAAEQ,SAAS,QAAQ,GAAYF,CAAK,GAExD,CAACI,GAAOC,KAAUV,EAAWM,GAAQ;EAAC;EAAW;EAAS;CAAW,CAAC;CAE5E,cAAA;EAAA,IAAAK,IAAAC,EAAA;EAKc,OALdC,EAAAF,GAAAG,EAAA;GAAA,IAAA,iBAAA;IAAA,OAGkBL,EAAMF;GAAO;GAAA,IAAA,QAAA;IAAA,OACpBN,EAAKE,EAAkB,EAAEI,SAASE,EAAMF,QAAQ,CAAC,GAAGE,EAAMO,KAAK;GAAC;EAAA,GACnEN,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
1
+ {"version":3,"file":"ItemMedia.js","names":["mergeProps","splitProps","clsx","ItemMediaProps","itemMediaVariants","ItemMedia","props","merged","variant","const","local","others","_el$","_tmpl$","_$spread","_$mergeProps","data-variant","class","mergeProps","_$mergeProps","mergeProps$1","_tmpl$","ItemMedia","merged","props","local","others","splitProps","_el$","spread","mergeProps","\"class\"","clsx","itemMediaVariants"],"sources":["../../../../src/components/item/ItemMedia/ItemMedia.tsx"],"sourcesContent":["import { mergeProps, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ItemMediaProps } from \"./ItemMedia.types\";\nimport { itemMediaVariants } from \"./ItemMedia.styles\";\n\nexport const ItemMedia = (props: ItemMediaProps) => {\n const merged = mergeProps({ variant: \"ghost\" } as const, props);\n\n const [local, others] = splitProps(merged, [\"variant\", \"class\", \"classList\"]);\n\n return (\n <div\n data-slot=\"item-media\"\n data-variant={local.variant}\n class={clsx(itemMediaVariants({ variant: local.variant }), local.class)}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;uDAKaK,KAAaC,MAA0B;CAClD,IAAMC,IAASP,EAAW,EAAEQ,SAAS,QAAQ,GAAYF,CAAK,GAExD,CAACI,GAAOC,KAAUV,EAAWM,GAAQ;EAAC;EAAW;EAAS;CAAW,CAAC;CAE5E,cAAA;EAAA,IAAAK,IAAAC,EAAA;EAKc,OALdC,EAAAF,GAAAG,EAAA;GAAA,IAAA,iBAAA;IAAA,OAGkBL,EAAMF;GAAO;GAAA,IAAAuB,QAAA;IAAA,OACpB7B,EAAKE,EAAkB,EAAEI,SAASE,EAAMF,QAAQ,CAAC,GAAGE,EAAMO,KAAK;GAAC;EAAA,GACnEN,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ItemMedia.styles.js","names":[],"sources":["../../../../src/components/item/ItemMedia/ItemMedia.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const itemMediaVariants = cva(\n \"flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none\",\n {\n variants: {\n variant: {\n ghost: \"bg-transparent\",\n icon: \"[&_svg:not([class*='size-'])]:size-4\",\n image:\n \"size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover\",\n },\n },\n defaultVariants: {\n variant: \"ghost\",\n },\n },\n);\n"],"mappings":";;AAEA,IAAa,IAAoB,EAC/B,kMACA;CACE,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,OACE;CACJ,EACF;CACA,iBAAiB,EACf,SAAS,QACX;AACF,CACF"}
1
+ {"version":3,"file":"ItemMedia.styles.js","names":["itemMediaVariants","cva"],"sources":["../../../../src/components/item/ItemMedia/ItemMedia.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const itemMediaVariants = cva(\n \"flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none\",\n {\n variants: {\n variant: {\n ghost: \"bg-transparent\",\n icon: \"[&_svg:not([class*='size-'])]:size-4\",\n image:\n \"size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover\",\n },\n },\n defaultVariants: {\n variant: \"ghost\",\n },\n },\n);\n"],"mappings":";;AAEA,IAAaA,IAAoBC,EAC/B,kMACA;CACE,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,OACE;CACJ,EACF;CACA,iBAAiB,EACf,SAAS,QACX;AACF,CACF"}