@neut/ui 0.0.16 → 0.0.17

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 (386) hide show
  1. package/dist/components/bubble/Bubble/Bubble.d.ts +3 -0
  2. package/dist/components/bubble/Bubble/Bubble.js +39 -0
  3. package/dist/components/bubble/Bubble/Bubble.js.map +1 -0
  4. package/dist/components/bubble/Bubble/Bubble.styles.d.ts +7 -0
  5. package/dist/components/bubble/Bubble/Bubble.styles.js +18 -0
  6. package/dist/components/bubble/Bubble/Bubble.styles.js.map +1 -0
  7. package/dist/components/bubble/Bubble/Bubble.types.d.ts +8 -0
  8. package/dist/components/bubble/Bubble/index.d.ts +2 -0
  9. package/dist/components/bubble/BubbleContent/BubbleContent.d.ts +7 -0
  10. package/dist/components/bubble/BubbleContent/BubbleContent.js +17 -0
  11. package/dist/components/bubble/BubbleContent/BubbleContent.js.map +1 -0
  12. package/dist/components/bubble/BubbleContent/BubbleContent.styles.d.ts +1 -0
  13. package/dist/components/bubble/BubbleContent/BubbleContent.styles.js +6 -0
  14. package/dist/components/bubble/BubbleContent/BubbleContent.styles.js.map +1 -0
  15. package/dist/components/bubble/BubbleContent/BubbleContent.types.d.ts +3 -0
  16. package/dist/components/bubble/BubbleContent/index.d.ts +2 -0
  17. package/dist/components/bubble/BubbleGroup/BubbleGroup.d.ts +3 -0
  18. package/dist/components/bubble/BubbleGroup/BubbleGroup.js +24 -0
  19. package/dist/components/bubble/BubbleGroup/BubbleGroup.js.map +1 -0
  20. package/dist/components/bubble/BubbleGroup/BubbleGroup.types.d.ts +2 -0
  21. package/dist/components/bubble/BubbleGroup/index.d.ts +2 -0
  22. package/dist/components/bubble/BubbleReactions/BubbleReactions.d.ts +6 -0
  23. package/dist/components/bubble/BubbleReactions/BubbleReactions.js +42 -0
  24. package/dist/components/bubble/BubbleReactions/BubbleReactions.js.map +1 -0
  25. package/dist/components/bubble/BubbleReactions/BubbleReactions.styles.d.ts +4 -0
  26. package/dist/components/bubble/BubbleReactions/BubbleReactions.styles.js +22 -0
  27. package/dist/components/bubble/BubbleReactions/BubbleReactions.styles.js.map +1 -0
  28. package/dist/components/bubble/BubbleReactions/BubbleReactions.types.d.ts +4 -0
  29. package/dist/components/bubble/BubbleReactions/index.d.ts +2 -0
  30. package/dist/components/bubble/index.d.ts +8 -0
  31. package/dist/components/bubble/index.js +5 -0
  32. package/dist/components/drawer/Drawer/Drawer.context.d.ts +3 -0
  33. package/dist/components/drawer/Drawer/Drawer.context.js +12 -0
  34. package/dist/components/drawer/Drawer/Drawer.context.js.map +1 -0
  35. package/dist/components/drawer/Drawer/Drawer.d.ts +7 -0
  36. package/dist/components/drawer/Drawer/Drawer.js +63 -0
  37. package/dist/components/drawer/Drawer/Drawer.js.map +1 -0
  38. package/dist/components/drawer/Drawer/Drawer.types.d.ts +50 -0
  39. package/dist/components/drawer/Drawer/create-change-event-details.d.ts +3 -0
  40. package/dist/components/drawer/Drawer/create-change-event-details.js +25 -0
  41. package/dist/components/drawer/Drawer/create-change-event-details.js.map +1 -0
  42. package/dist/components/drawer/Drawer/index.d.ts +3 -0
  43. package/dist/components/drawer/DrawerClose/DrawerClose.d.ts +5 -0
  44. package/dist/components/drawer/DrawerClose/DrawerClose.js +26 -0
  45. package/dist/components/drawer/DrawerClose/DrawerClose.js.map +1 -0
  46. package/dist/components/drawer/DrawerClose/index.d.ts +1 -0
  47. package/dist/components/drawer/DrawerContent/DrawerContent.d.ts +6 -0
  48. package/dist/components/drawer/DrawerContent/DrawerContent.js +103 -0
  49. package/dist/components/drawer/DrawerContent/DrawerContent.js.map +1 -0
  50. package/dist/components/drawer/DrawerContent/DrawerContent.styles.d.ts +10 -0
  51. package/dist/components/drawer/DrawerContent/DrawerContent.styles.js +25 -0
  52. package/dist/components/drawer/DrawerContent/DrawerContent.styles.js.map +1 -0
  53. package/dist/components/drawer/DrawerContent/DrawerContent.types.d.ts +2 -0
  54. package/dist/components/drawer/DrawerContent/index.d.ts +2 -0
  55. package/dist/components/drawer/DrawerContent/useDrawerSwipe.d.ts +11 -0
  56. package/dist/components/drawer/DrawerContent/useDrawerSwipe.js +56 -0
  57. package/dist/components/drawer/DrawerContent/useDrawerSwipe.js.map +1 -0
  58. package/dist/components/drawer/DrawerDescription/DrawerDescription.d.ts +2 -0
  59. package/dist/components/drawer/DrawerDescription/DrawerDescription.js +28 -0
  60. package/dist/components/drawer/DrawerDescription/DrawerDescription.js.map +1 -0
  61. package/dist/components/drawer/DrawerDescription/DrawerDescription.types.d.ts +2 -0
  62. package/dist/components/drawer/DrawerDescription/index.d.ts +2 -0
  63. package/dist/components/drawer/DrawerFooter/DrawerFooter.d.ts +2 -0
  64. package/dist/components/drawer/DrawerFooter/DrawerFooter.js +24 -0
  65. package/dist/components/drawer/DrawerFooter/DrawerFooter.js.map +1 -0
  66. package/dist/components/drawer/DrawerFooter/DrawerFooter.types.d.ts +2 -0
  67. package/dist/components/drawer/DrawerFooter/index.d.ts +2 -0
  68. package/dist/components/drawer/DrawerHeader/DrawerHeader.d.ts +2 -0
  69. package/dist/components/drawer/DrawerHeader/DrawerHeader.js +24 -0
  70. package/dist/components/drawer/DrawerHeader/DrawerHeader.js.map +1 -0
  71. package/dist/components/drawer/DrawerHeader/DrawerHeader.types.d.ts +2 -0
  72. package/dist/components/drawer/DrawerHeader/index.d.ts +2 -0
  73. package/dist/components/drawer/DrawerOverlay/DrawerOverlay.d.ts +3 -0
  74. package/dist/components/drawer/DrawerOverlay/DrawerOverlay.js +43 -0
  75. package/dist/components/drawer/DrawerOverlay/DrawerOverlay.js.map +1 -0
  76. package/dist/components/drawer/DrawerOverlay/DrawerOverlay.types.d.ts +2 -0
  77. package/dist/components/drawer/DrawerOverlay/index.d.ts +2 -0
  78. package/dist/components/drawer/DrawerPortal/DrawerPortal.d.ts +2 -0
  79. package/dist/components/drawer/DrawerPortal/DrawerPortal.js +10 -0
  80. package/dist/components/drawer/DrawerPortal/DrawerPortal.js.map +1 -0
  81. package/dist/components/drawer/DrawerPortal/DrawerPortal.types.d.ts +2 -0
  82. package/dist/components/drawer/DrawerPortal/index.d.ts +2 -0
  83. package/dist/components/drawer/DrawerSwipeHandle/DrawerSwipeHandle.d.ts +6 -0
  84. package/dist/components/drawer/DrawerSwipeHandle/DrawerSwipeHandle.js +27 -0
  85. package/dist/components/drawer/DrawerSwipeHandle/DrawerSwipeHandle.js.map +1 -0
  86. package/dist/components/drawer/DrawerSwipeHandle/DrawerSwipeHandle.types.d.ts +2 -0
  87. package/dist/components/drawer/DrawerSwipeHandle/index.d.ts +2 -0
  88. package/dist/components/drawer/DrawerTitle/DrawerTitle.d.ts +2 -0
  89. package/dist/components/drawer/DrawerTitle/DrawerTitle.js +28 -0
  90. package/dist/components/drawer/DrawerTitle/DrawerTitle.js.map +1 -0
  91. package/dist/components/drawer/DrawerTitle/DrawerTitle.types.d.ts +2 -0
  92. package/dist/components/drawer/DrawerTitle/index.d.ts +2 -0
  93. package/dist/components/drawer/DrawerTrigger/DrawerTrigger.d.ts +5 -0
  94. package/dist/components/drawer/DrawerTrigger/DrawerTrigger.js +38 -0
  95. package/dist/components/drawer/DrawerTrigger/DrawerTrigger.js.map +1 -0
  96. package/dist/components/drawer/DrawerTrigger/index.d.ts +1 -0
  97. package/dist/components/drawer/index.d.ts +20 -0
  98. package/dist/components/drawer/index.js +13 -0
  99. package/dist/components/hover-card/HoverCard/HoverCard.d.ts +7 -0
  100. package/dist/components/hover-card/HoverCard/HoverCard.js +47 -0
  101. package/dist/components/hover-card/HoverCard/HoverCard.js.map +1 -0
  102. package/dist/components/hover-card/HoverCard/index.d.ts +1 -0
  103. package/dist/components/hover-card/HoverCardContent/HoverCardContent.d.ts +6 -0
  104. package/dist/components/hover-card/HoverCardContent/HoverCardContent.js +74 -0
  105. package/dist/components/hover-card/HoverCardContent/HoverCardContent.js.map +1 -0
  106. package/dist/components/hover-card/HoverCardContent/index.d.ts +1 -0
  107. package/dist/components/hover-card/HoverCardContent/useHoverCardContent.d.ts +16 -0
  108. package/dist/components/hover-card/HoverCardContent/useHoverCardContent.js +58 -0
  109. package/dist/components/hover-card/HoverCardContent/useHoverCardContent.js.map +1 -0
  110. package/dist/components/hover-card/HoverCardTrigger/HoverCardTrigger.d.ts +4 -0
  111. package/dist/components/hover-card/HoverCardTrigger/HoverCardTrigger.js +40 -0
  112. package/dist/components/hover-card/HoverCardTrigger/HoverCardTrigger.js.map +1 -0
  113. package/dist/components/hover-card/HoverCardTrigger/index.d.ts +1 -0
  114. package/dist/components/hover-card/HoverCardTrigger/useHoverCardTrigger.d.ts +18 -0
  115. package/dist/components/hover-card/HoverCardTrigger/useHoverCardTrigger.js +34 -0
  116. package/dist/components/hover-card/HoverCardTrigger/useHoverCardTrigger.js.map +1 -0
  117. package/dist/components/hover-card/hover-card.context.d.ts +3 -0
  118. package/dist/components/hover-card/hover-card.context.js +12 -0
  119. package/dist/components/hover-card/hover-card.context.js.map +1 -0
  120. package/dist/components/hover-card/hover-card.types.d.ts +50 -0
  121. package/dist/components/hover-card/hover-card.utils.d.ts +6 -0
  122. package/dist/components/hover-card/index.d.ts +4 -0
  123. package/dist/components/hover-card/index.js +4 -0
  124. package/dist/components/marker/Marker/Marker.d.ts +7 -0
  125. package/dist/components/marker/Marker/Marker.js +35 -0
  126. package/dist/components/marker/Marker/Marker.js.map +1 -0
  127. package/dist/components/marker/Marker/Marker.styles.d.ts +3 -0
  128. package/dist/components/marker/Marker/Marker.styles.js +14 -0
  129. package/dist/components/marker/Marker/Marker.styles.js.map +1 -0
  130. package/dist/components/marker/Marker/Marker.types.d.ts +5 -0
  131. package/dist/components/marker/Marker/index.d.ts +3 -0
  132. package/dist/components/marker/MarkerContent/MarkerContent.d.ts +2 -0
  133. package/dist/components/marker/MarkerContent/MarkerContent.js +24 -0
  134. package/dist/components/marker/MarkerContent/MarkerContent.js.map +1 -0
  135. package/dist/components/marker/MarkerContent/MarkerContent.types.d.ts +2 -0
  136. package/dist/components/marker/MarkerContent/index.d.ts +2 -0
  137. package/dist/components/marker/MarkerIcon/MarkerIcon.d.ts +3 -0
  138. package/dist/components/marker/MarkerIcon/MarkerIcon.js +25 -0
  139. package/dist/components/marker/MarkerIcon/MarkerIcon.js.map +1 -0
  140. package/dist/components/marker/MarkerIcon/MarkerIcon.types.d.ts +2 -0
  141. package/dist/components/marker/MarkerIcon/index.d.ts +2 -0
  142. package/dist/components/marker/index.d.ts +6 -0
  143. package/dist/components/marker/index.js +5 -0
  144. package/dist/components/message/Message/Message.d.ts +3 -0
  145. package/dist/components/message/Message/Message.js +31 -0
  146. package/dist/components/message/Message/Message.js.map +1 -0
  147. package/dist/components/message/Message/Message.types.d.ts +5 -0
  148. package/dist/components/message/Message/index.d.ts +2 -0
  149. package/dist/components/message/MessageAvatar/MessageAvatar.d.ts +5 -0
  150. package/dist/components/message/MessageAvatar/MessageAvatar.js +24 -0
  151. package/dist/components/message/MessageAvatar/MessageAvatar.js.map +1 -0
  152. package/dist/components/message/MessageAvatar/MessageAvatar.types.d.ts +2 -0
  153. package/dist/components/message/MessageAvatar/index.d.ts +2 -0
  154. package/dist/components/message/MessageContent/MessageContent.d.ts +3 -0
  155. package/dist/components/message/MessageContent/MessageContent.js +24 -0
  156. package/dist/components/message/MessageContent/MessageContent.js.map +1 -0
  157. package/dist/components/message/MessageContent/MessageContent.types.d.ts +2 -0
  158. package/dist/components/message/MessageContent/index.d.ts +2 -0
  159. package/dist/components/message/MessageFooter/MessageFooter.d.ts +3 -0
  160. package/dist/components/message/MessageFooter/MessageFooter.js +24 -0
  161. package/dist/components/message/MessageFooter/MessageFooter.js.map +1 -0
  162. package/dist/components/message/MessageFooter/MessageFooter.types.d.ts +2 -0
  163. package/dist/components/message/MessageFooter/index.d.ts +2 -0
  164. package/dist/components/message/MessageGroup/MessageGroup.d.ts +3 -0
  165. package/dist/components/message/MessageGroup/MessageGroup.js +24 -0
  166. package/dist/components/message/MessageGroup/MessageGroup.js.map +1 -0
  167. package/dist/components/message/MessageGroup/MessageGroup.types.d.ts +2 -0
  168. package/dist/components/message/MessageGroup/index.d.ts +2 -0
  169. package/dist/components/message/MessageHeader/MessageHeader.d.ts +3 -0
  170. package/dist/components/message/MessageHeader/MessageHeader.js +24 -0
  171. package/dist/components/message/MessageHeader/MessageHeader.js.map +1 -0
  172. package/dist/components/message/MessageHeader/MessageHeader.types.d.ts +2 -0
  173. package/dist/components/message/MessageHeader/index.d.ts +2 -0
  174. package/dist/components/message/index.d.ts +12 -0
  175. package/dist/components/message/index.js +7 -0
  176. package/dist/components/message-scroller/MessageScroller/MessageScroller.d.ts +3 -0
  177. package/dist/components/message-scroller/MessageScroller/MessageScroller.js +35 -0
  178. package/dist/components/message-scroller/MessageScroller/MessageScroller.js.map +1 -0
  179. package/dist/components/message-scroller/MessageScroller/index.d.ts +1 -0
  180. package/dist/components/message-scroller/MessageScrollerButton/MessageScrollerButton.d.ts +6 -0
  181. package/dist/components/message-scroller/MessageScrollerButton/MessageScrollerButton.js +90 -0
  182. package/dist/components/message-scroller/MessageScrollerButton/MessageScrollerButton.js.map +1 -0
  183. package/dist/components/message-scroller/MessageScrollerButton/index.d.ts +1 -0
  184. package/dist/components/message-scroller/MessageScrollerContent/MessageScrollerContent.d.ts +6 -0
  185. package/dist/components/message-scroller/MessageScrollerContent/MessageScrollerContent.js +46 -0
  186. package/dist/components/message-scroller/MessageScrollerContent/MessageScrollerContent.js.map +1 -0
  187. package/dist/components/message-scroller/MessageScrollerContent/index.d.ts +1 -0
  188. package/dist/components/message-scroller/MessageScrollerItem/MessageScrollerItem.d.ts +6 -0
  189. package/dist/components/message-scroller/MessageScrollerItem/MessageScrollerItem.js +42 -0
  190. package/dist/components/message-scroller/MessageScrollerItem/MessageScrollerItem.js.map +1 -0
  191. package/dist/components/message-scroller/MessageScrollerItem/index.d.ts +1 -0
  192. package/dist/components/message-scroller/MessageScrollerProvider/MessageScrollerProvider.d.ts +4 -0
  193. package/dist/components/message-scroller/MessageScrollerProvider/MessageScrollerProvider.js +37 -0
  194. package/dist/components/message-scroller/MessageScrollerProvider/MessageScrollerProvider.js.map +1 -0
  195. package/dist/components/message-scroller/MessageScrollerProvider/index.d.ts +1 -0
  196. package/dist/components/message-scroller/MessageScrollerViewport/MessageScrollerViewport.d.ts +6 -0
  197. package/dist/components/message-scroller/MessageScrollerViewport/MessageScrollerViewport.js +55 -0
  198. package/dist/components/message-scroller/MessageScrollerViewport/MessageScrollerViewport.js.map +1 -0
  199. package/dist/components/message-scroller/MessageScrollerViewport/index.d.ts +1 -0
  200. package/dist/components/message-scroller/index.d.ts +10 -0
  201. package/dist/components/message-scroller/index.js +10 -0
  202. package/dist/components/message-scroller/message-scroller.context.d.ts +3 -0
  203. package/dist/components/message-scroller/message-scroller.context.js +12 -0
  204. package/dist/components/message-scroller/message-scroller.context.js.map +1 -0
  205. package/dist/components/message-scroller/message-scroller.types.d.ts +92 -0
  206. package/dist/components/message-scroller/message-scroller.utils.d.ts +7 -0
  207. package/dist/components/message-scroller/message-scroller.utils.js +9 -0
  208. package/dist/components/message-scroller/message-scroller.utils.js.map +1 -0
  209. package/dist/components/message-scroller/useMessageScroller.d.ts +6 -0
  210. package/dist/components/message-scroller/useMessageScroller.js +14 -0
  211. package/dist/components/message-scroller/useMessageScroller.js.map +1 -0
  212. package/dist/components/message-scroller/useMessageScrollerEngine.d.ts +15 -0
  213. package/dist/components/message-scroller/useMessageScrollerEngine.js +375 -0
  214. package/dist/components/message-scroller/useMessageScrollerEngine.js.map +1 -0
  215. package/dist/components/message-scroller/useMessageScrollerScrollable.d.ts +5 -0
  216. package/dist/components/message-scroller/useMessageScrollerScrollable.js +13 -0
  217. package/dist/components/message-scroller/useMessageScrollerScrollable.js.map +1 -0
  218. package/dist/components/message-scroller/useMessageScrollerVisibility.d.ts +7 -0
  219. package/dist/components/message-scroller/useMessageScrollerVisibility.js +17 -0
  220. package/dist/components/message-scroller/useMessageScrollerVisibility.js.map +1 -0
  221. package/dist/components/popover/PopoverContent/PopoverContent.utils.d.ts +6 -13
  222. package/dist/components/popover/PopoverContent/PopoverContent.utils.js +7 -30
  223. package/dist/components/popover/PopoverContent/PopoverContent.utils.js.map +1 -1
  224. package/dist/components/questionnaire/Questionnaire/Questionnaire.d.ts +3 -0
  225. package/dist/components/questionnaire/Questionnaire/Questionnaire.js +68 -0
  226. package/dist/components/questionnaire/Questionnaire/Questionnaire.js.map +1 -0
  227. package/dist/components/questionnaire/Questionnaire/index.d.ts +1 -0
  228. package/dist/components/questionnaire/QuestionnaireActions/QuestionnaireActions.d.ts +3 -0
  229. package/dist/components/questionnaire/QuestionnaireActions/QuestionnaireActions.js +24 -0
  230. package/dist/components/questionnaire/QuestionnaireActions/QuestionnaireActions.js.map +1 -0
  231. package/dist/components/questionnaire/QuestionnaireActions/index.d.ts +1 -0
  232. package/dist/components/questionnaire/QuestionnaireChoice/QuestionnaireChoice.d.ts +3 -0
  233. package/dist/components/questionnaire/QuestionnaireChoice/QuestionnaireChoice.js +99 -0
  234. package/dist/components/questionnaire/QuestionnaireChoice/QuestionnaireChoice.js.map +1 -0
  235. package/dist/components/questionnaire/QuestionnaireChoice/index.d.ts +1 -0
  236. package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.d.ts +38 -0
  237. package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.js +67 -0
  238. package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.js.map +1 -0
  239. package/dist/components/questionnaire/QuestionnaireChoices/QuestionnaireChoices.d.ts +3 -0
  240. package/dist/components/questionnaire/QuestionnaireChoices/QuestionnaireChoices.js +28 -0
  241. package/dist/components/questionnaire/QuestionnaireChoices/QuestionnaireChoices.js.map +1 -0
  242. package/dist/components/questionnaire/QuestionnaireChoices/index.d.ts +1 -0
  243. package/dist/components/questionnaire/QuestionnaireDescription/QuestionnaireDescription.d.ts +4 -0
  244. package/dist/components/questionnaire/QuestionnaireDescription/QuestionnaireDescription.js +30 -0
  245. package/dist/components/questionnaire/QuestionnaireDescription/QuestionnaireDescription.js.map +1 -0
  246. package/dist/components/questionnaire/QuestionnaireDescription/index.d.ts +1 -0
  247. package/dist/components/questionnaire/QuestionnaireError/QuestionnaireError.d.ts +4 -0
  248. package/dist/components/questionnaire/QuestionnaireError/QuestionnaireError.js +43 -0
  249. package/dist/components/questionnaire/QuestionnaireError/QuestionnaireError.js.map +1 -0
  250. package/dist/components/questionnaire/QuestionnaireError/index.d.ts +1 -0
  251. package/dist/components/questionnaire/QuestionnaireInput/QuestionnaireInput.d.ts +3 -0
  252. package/dist/components/questionnaire/QuestionnaireInput/QuestionnaireInput.js +78 -0
  253. package/dist/components/questionnaire/QuestionnaireInput/QuestionnaireInput.js.map +1 -0
  254. package/dist/components/questionnaire/QuestionnaireInput/index.d.ts +1 -0
  255. package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.d.ts +37 -0
  256. package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.js +58 -0
  257. package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.js.map +1 -0
  258. package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.d.ts +3 -0
  259. package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.js +89 -0
  260. package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.js.map +1 -0
  261. package/dist/components/questionnaire/QuestionnaireItem/index.d.ts +1 -0
  262. package/dist/components/questionnaire/QuestionnaireNavigation/QuestionnaireNavigation.d.ts +5 -0
  263. package/dist/components/questionnaire/QuestionnaireNavigation/QuestionnaireNavigation.js +104 -0
  264. package/dist/components/questionnaire/QuestionnaireNavigation/QuestionnaireNavigation.js.map +1 -0
  265. package/dist/components/questionnaire/QuestionnaireNavigation/index.d.ts +1 -0
  266. package/dist/components/questionnaire/QuestionnaireProgress/QuestionnaireProgress.d.ts +4 -0
  267. package/dist/components/questionnaire/QuestionnaireProgress/QuestionnaireProgress.js +62 -0
  268. package/dist/components/questionnaire/QuestionnaireProgress/QuestionnaireProgress.js.map +1 -0
  269. package/dist/components/questionnaire/QuestionnaireProgress/index.d.ts +1 -0
  270. package/dist/components/questionnaire/QuestionnaireTitle/QuestionnaireTitle.d.ts +4 -0
  271. package/dist/components/questionnaire/QuestionnaireTitle/QuestionnaireTitle.js +27 -0
  272. package/dist/components/questionnaire/QuestionnaireTitle/QuestionnaireTitle.js.map +1 -0
  273. package/dist/components/questionnaire/QuestionnaireTitle/index.d.ts +1 -0
  274. package/dist/components/questionnaire/index.d.ts +12 -0
  275. package/dist/components/questionnaire/index.js +12 -0
  276. package/dist/components/questionnaire/questionnaire.context.d.ts +65 -0
  277. package/dist/components/questionnaire/questionnaire.context.js +18 -0
  278. package/dist/components/questionnaire/questionnaire.context.js.map +1 -0
  279. package/dist/components/questionnaire/questionnaire.types.d.ts +82 -0
  280. package/dist/components/questionnaire/questionnaire.utils.d.ts +24 -0
  281. package/dist/components/questionnaire/questionnaire.utils.js +38 -0
  282. package/dist/components/questionnaire/questionnaire.utils.js.map +1 -0
  283. package/dist/components/questionnaire/useQuestionnaireItem.d.ts +34 -0
  284. package/dist/components/questionnaire/useQuestionnaireItem.js +141 -0
  285. package/dist/components/questionnaire/useQuestionnaireItem.js.map +1 -0
  286. package/dist/components/questionnaire/useQuestionnaireRoot.d.ts +30 -0
  287. package/dist/components/questionnaire/useQuestionnaireRoot.js +144 -0
  288. package/dist/components/questionnaire/useQuestionnaireRoot.js.map +1 -0
  289. package/dist/components/resizable/ResizableHandle/ResizableHandle.d.ts +6 -0
  290. package/dist/components/resizable/ResizableHandle/ResizableHandle.js +92 -0
  291. package/dist/components/resizable/ResizableHandle/ResizableHandle.js.map +1 -0
  292. package/dist/components/resizable/ResizableHandle/ResizableHandle.styles.d.ts +3 -0
  293. package/dist/components/resizable/ResizableHandle/ResizableHandle.styles.js +6 -0
  294. package/dist/components/resizable/ResizableHandle/ResizableHandle.styles.js.map +1 -0
  295. package/dist/components/resizable/ResizableHandle/index.d.ts +1 -0
  296. package/dist/components/resizable/ResizableHandle/useResizableHandle.d.ts +17 -0
  297. package/dist/components/resizable/ResizableHandle/useResizableHandle.js +72 -0
  298. package/dist/components/resizable/ResizableHandle/useResizableHandle.js.map +1 -0
  299. package/dist/components/resizable/ResizablePanel/ResizablePanel.d.ts +6 -0
  300. package/dist/components/resizable/ResizablePanel/ResizablePanel.js +91 -0
  301. package/dist/components/resizable/ResizablePanel/ResizablePanel.js.map +1 -0
  302. package/dist/components/resizable/ResizablePanel/index.d.ts +1 -0
  303. package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.d.ts +6 -0
  304. package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.js +66 -0
  305. package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.js.map +1 -0
  306. package/dist/components/resizable/ResizablePanelGroup/index.d.ts +1 -0
  307. package/dist/components/resizable/index.d.ts +4 -0
  308. package/dist/components/resizable/index.js +4 -0
  309. package/dist/components/resizable/resizable.context.d.ts +38 -0
  310. package/dist/components/resizable/resizable.context.js +12 -0
  311. package/dist/components/resizable/resizable.context.js.map +1 -0
  312. package/dist/components/resizable/resizable.types.d.ts +76 -0
  313. package/dist/components/resizable/resizable.utils.d.ts +16 -0
  314. package/dist/components/resizable/resizable.utils.js +45 -0
  315. package/dist/components/resizable/resizable.utils.js.map +1 -0
  316. package/dist/components/resizable/useResizablePanelGroup.d.ts +22 -0
  317. package/dist/components/resizable/useResizablePanelGroup.js +176 -0
  318. package/dist/components/resizable/useResizablePanelGroup.js.map +1 -0
  319. package/dist/components/scroll-arrows/ScrollArrowButton.d.ts +7 -4
  320. package/dist/components/scroll-arrows/ScrollArrowButton.js +28 -19
  321. package/dist/components/scroll-arrows/ScrollArrowButton.js.map +1 -1
  322. package/dist/components/scroll-arrows/ScrollArrows.d.ts +5 -2
  323. package/dist/components/scroll-arrows/ScrollArrows.js +6 -0
  324. package/dist/components/scroll-arrows/ScrollArrows.js.map +1 -1
  325. package/dist/components/scroll-arrows/ScrollArrows.types.d.ts +7 -0
  326. package/dist/components/sheet/Sheet/Sheet.d.ts +6 -0
  327. package/dist/components/sheet/Sheet/Sheet.js +10 -0
  328. package/dist/components/sheet/Sheet/Sheet.js.map +1 -0
  329. package/dist/components/sheet/Sheet/index.d.ts +1 -0
  330. package/dist/components/sheet/SheetClose/SheetClose.d.ts +6 -0
  331. package/dist/components/sheet/SheetClose/SheetClose.js +39 -0
  332. package/dist/components/sheet/SheetClose/SheetClose.js.map +1 -0
  333. package/dist/components/sheet/SheetClose/index.d.ts +1 -0
  334. package/dist/components/sheet/SheetContent/SheetContent.d.ts +6 -0
  335. package/dist/components/sheet/SheetContent/SheetContent.js +48 -0
  336. package/dist/components/sheet/SheetContent/SheetContent.js.map +1 -0
  337. package/dist/components/sheet/SheetContent/SheetContent.styles.d.ts +10 -0
  338. package/dist/components/sheet/SheetContent/SheetContent.styles.js +17 -0
  339. package/dist/components/sheet/SheetContent/SheetContent.styles.js.map +1 -0
  340. package/dist/components/sheet/SheetContent/index.d.ts +1 -0
  341. package/dist/components/sheet/SheetDescription/SheetDescription.d.ts +2 -0
  342. package/dist/components/sheet/SheetDescription/SheetDescription.js +25 -0
  343. package/dist/components/sheet/SheetDescription/SheetDescription.js.map +1 -0
  344. package/dist/components/sheet/SheetDescription/SheetDescription.styles.d.ts +1 -0
  345. package/dist/components/sheet/SheetDescription/SheetDescription.styles.js +6 -0
  346. package/dist/components/sheet/SheetDescription/SheetDescription.styles.js.map +1 -0
  347. package/dist/components/sheet/SheetDescription/index.d.ts +1 -0
  348. package/dist/components/sheet/SheetFooter/SheetFooter.d.ts +2 -0
  349. package/dist/components/sheet/SheetFooter/SheetFooter.js +24 -0
  350. package/dist/components/sheet/SheetFooter/SheetFooter.js.map +1 -0
  351. package/dist/components/sheet/SheetFooter/index.d.ts +1 -0
  352. package/dist/components/sheet/SheetHeader/SheetHeader.d.ts +2 -0
  353. package/dist/components/sheet/SheetHeader/SheetHeader.js +24 -0
  354. package/dist/components/sheet/SheetHeader/SheetHeader.js.map +1 -0
  355. package/dist/components/sheet/SheetHeader/index.d.ts +1 -0
  356. package/dist/components/sheet/SheetTitle/SheetTitle.d.ts +3 -0
  357. package/dist/components/sheet/SheetTitle/SheetTitle.js +25 -0
  358. package/dist/components/sheet/SheetTitle/SheetTitle.js.map +1 -0
  359. package/dist/components/sheet/SheetTitle/SheetTitle.styles.d.ts +1 -0
  360. package/dist/components/sheet/SheetTitle/SheetTitle.styles.js +6 -0
  361. package/dist/components/sheet/SheetTitle/SheetTitle.styles.js.map +1 -0
  362. package/dist/components/sheet/SheetTitle/index.d.ts +1 -0
  363. package/dist/components/sheet/SheetTrigger/SheetTrigger.d.ts +8 -0
  364. package/dist/components/sheet/SheetTrigger/SheetTrigger.js +32 -0
  365. package/dist/components/sheet/SheetTrigger/SheetTrigger.js.map +1 -0
  366. package/dist/components/sheet/SheetTrigger/index.d.ts +1 -0
  367. package/dist/components/sheet/index.d.ts +9 -0
  368. package/dist/components/sheet/index.js +9 -0
  369. package/dist/components/sheet/sheet.types.d.ts +19 -0
  370. package/dist/components/tooltip/TooltipContent/TooltipContent.js +1 -1
  371. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.d.ts +5 -49
  372. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js +10 -39
  373. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js.map +1 -1
  374. package/dist/components/tooltip/TooltipContent/useTooltipContent.js +6 -5
  375. package/dist/components/tooltip/TooltipContent/useTooltipContent.js.map +1 -1
  376. package/dist/hooks/useScrollEdges.d.ts +3 -0
  377. package/dist/hooks/useScrollEdges.js +18 -16
  378. package/dist/hooks/useScrollEdges.js.map +1 -1
  379. package/dist/index.d.ts +9 -0
  380. package/dist/index.js +253 -193
  381. package/dist/lib/positioner/index.d.ts +1 -0
  382. package/dist/lib/positioner/utils/floating.d.ts +25 -0
  383. package/dist/lib/positioner/utils/floating.js +42 -0
  384. package/dist/lib/positioner/utils/floating.js.map +1 -0
  385. package/dist/ui.css +1 -1
  386. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ import { BubbleProps } from './Bubble.types';
2
+ /** 对话气泡根容器:驱动变体与对齐(气泡内的内容放在直接子级 BubbleContent) */
3
+ export declare function Bubble(props: BubbleProps): import('solid-js').JSX.Element;
@@ -0,0 +1,39 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { bubbleVariants as t } from "./Bubble.styles.js";
3
+ import { mergeProps as n, spread as r, template as i } from "solid-js/web";
4
+ import { mergeProps as a, splitProps as o } from "solid-js";
5
+ //#region src/components/bubble/Bubble/Bubble.tsx
6
+ var s = /*#__PURE__*/ i("<div>");
7
+ function c(i) {
8
+ let c = a({
9
+ variant: "default",
10
+ align: "start"
11
+ }, i), [l, u] = o(c, [
12
+ "variant",
13
+ "align",
14
+ "class",
15
+ "classList"
16
+ ]);
17
+ return (() => {
18
+ var i = s();
19
+ return r(i, n(u, {
20
+ "data-slot": "bubble",
21
+ get "data-variant"() {
22
+ return l.variant;
23
+ },
24
+ get "data-align"() {
25
+ return l.align;
26
+ },
27
+ get class() {
28
+ return e(t({ variant: l.variant }), l.class);
29
+ },
30
+ get classList() {
31
+ return l.classList;
32
+ }
33
+ }), !1, !1), i;
34
+ })();
35
+ }
36
+ //#endregion
37
+ export { c as Bubble };
38
+
39
+ //# sourceMappingURL=Bubble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bubble.js","names":["mergeProps","splitProps","clsx","bubbleVariants","BubbleProps","Bubble","props","merged","variant","align","const","local","rest","_el$","_tmpl$","_$spread","_$mergeProps","data-variant","data-align","class","classList","mergeProps","_$mergeProps","mergeProps$1","_tmpl$","Bubble","merged","props","local","rest","splitProps","_el$","spread","mergeProps","\"class\"","clsx","bubbleVariants"],"sources":["../../../../src/components/bubble/Bubble/Bubble.tsx"],"sourcesContent":["import { mergeProps, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { bubbleVariants } from \"./Bubble.styles\";\nimport type { BubbleProps } from \"./Bubble.types\";\n\n/** 对话气泡根容器:驱动变体与对齐(气泡内的内容放在直接子级 BubbleContent) */\nexport function Bubble(props: BubbleProps) {\n const merged = mergeProps(\n { variant: \"default\", align: \"start\" } as const,\n props,\n );\n const [local, rest] = splitProps(merged, [\n \"variant\",\n \"align\",\n \"class\",\n \"classList\",\n ]);\n\n return (\n <div\n {...rest}\n data-slot=\"bubble\"\n data-variant={local.variant}\n data-align={local.align}\n class={clsx(bubbleVariants({ variant: local.variant }), local.class)}\n classList={local.classList}\n />\n );\n}\n"],"mappings":";;;;;;AAMA,SAAgBK,EAAOC,GAAoB;CACzC,IAAMC,IAASP,EACb;EAAEQ,SAAS;EAAWC,OAAO;CAAQ,GACrCH,CACF,GACM,CAACK,GAAOC,KAAQX,EAAWM,GAAQ;EACvC;EACA;EACA;EACA;CAAW,CACZ;CAED,cAAA;EAAA,IAAAM,IAAAC,EAAA;EAO8B,OAP9BC,EAAAF,GAAAG,EAEQJ,GAAI;GAAA,aACE;GAAQ,IAAA,iBAAA;IAAA,OACJD,EAAMH;GAAO;GAAA,IAAA,eAAA;IAAA,OACfG,EAAMF;GAAK;GAAA,IAAAyB,QAAA;IAAA,OAChBhC,EAAKC,EAAe,EAAEK,SAASG,EAAMH,QAAQ,CAAC,GAAGG,EAAMQ,KAAK;GAAC;GAAA,IACpEC,YAAS;IAAA,OAAET,EAAMS;GAAS;EAAA,CAAA,GAAA,IAAA,EAAA,GAAAP;CAAA,EAAA,CAAA;AAGhC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 对齐 shadcn base 版 `bubble.tsx`。`*:data-[slot=bubble-content]:*` 会命中直接子级
3
+ * BubbleContent,因此 BubbleContent 必须是 Bubble 的直接子元素。
4
+ */
5
+ export declare const bubbleVariants: (props?: ({
6
+ variant?: "outline" | "destructive" | "secondary" | "ghost" | "default" | "muted" | "tinted" | null | undefined;
7
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -0,0 +1,18 @@
1
+ import { cva as e } from "class-variance-authority";
2
+ //#region src/components/bubble/Bubble/Bubble.styles.ts
3
+ var t = e("group/bubble relative flex w-fit max-w-[80%] min-w-0 flex-col gap-1 group-data-[align=end]/message:self-end data-[align=end]:self-end data-[variant=ghost]:max-w-full", {
4
+ variants: { variant: {
5
+ default: "*:data-[slot=bubble-content]:bg-primary *:data-[slot=bubble-content]:text-primary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-primary/80",
6
+ secondary: "*:data-[slot=bubble-content]:bg-secondary *:data-[slot=bubble-content]:text-secondary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)]",
7
+ muted: "*:data-[slot=bubble-content]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--muted),var(--foreground)_5%)]",
8
+ tinted: "*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.93_calc(c*0.4)_h)] *:data-[slot=bubble-content]:text-foreground dark:*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.3_calc(c*0.4)_h)] [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.88_calc(c*0.5)_h)] dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.35_calc(c*0.5)_h)]",
9
+ outline: "*:data-[slot=bubble-content]:border-border *:data-[slot=bubble-content]:bg-background [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-input/30",
10
+ ghost: "border-none *:data-[slot=bubble-content]:rounded-none *:data-[slot=bubble-content]:bg-transparent *:data-[slot=bubble-content]:p-0 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted/50",
11
+ destructive: "*:data-[slot=bubble-content]:bg-destructive/10 *:data-[slot=bubble-content]:text-destructive dark:*:data-[slot=bubble-content]:bg-destructive/20 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/20 dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/30"
12
+ } },
13
+ defaultVariants: { variant: "default" }
14
+ });
15
+ //#endregion
16
+ export { t as bubbleVariants };
17
+
18
+ //# sourceMappingURL=Bubble.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bubble.styles.js","names":["bubbleVariants","cva"],"sources":["../../../../src/components/bubble/Bubble/Bubble.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\n/**\n * 对齐 shadcn base 版 `bubble.tsx`。`*:data-[slot=bubble-content]:*` 会命中直接子级\n * BubbleContent,因此 BubbleContent 必须是 Bubble 的直接子元素。\n */\nexport const bubbleVariants = cva(\n \"group/bubble relative flex w-fit max-w-[80%] min-w-0 flex-col gap-1 group-data-[align=end]/message:self-end data-[align=end]:self-end data-[variant=ghost]:max-w-full\",\n {\n variants: {\n variant: {\n default:\n \"*:data-[slot=bubble-content]:bg-primary *:data-[slot=bubble-content]:text-primary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-primary/80\",\n secondary:\n \"*:data-[slot=bubble-content]:bg-secondary *:data-[slot=bubble-content]:text-secondary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)]\",\n muted:\n \"*:data-[slot=bubble-content]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--muted),var(--foreground)_5%)]\",\n tinted:\n \"*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.93_calc(c*0.4)_h)] *:data-[slot=bubble-content]:text-foreground dark:*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.3_calc(c*0.4)_h)] [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.88_calc(c*0.5)_h)] dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.35_calc(c*0.5)_h)]\",\n outline:\n \"*:data-[slot=bubble-content]:border-border *:data-[slot=bubble-content]:bg-background [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-input/30\",\n ghost:\n \"border-none *:data-[slot=bubble-content]:rounded-none *:data-[slot=bubble-content]:bg-transparent *:data-[slot=bubble-content]:p-0 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted/50\",\n destructive:\n \"*:data-[slot=bubble-content]:bg-destructive/10 *:data-[slot=bubble-content]:text-destructive dark:*:data-[slot=bubble-content]:bg-destructive/20 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/20 dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/30\",\n },\n },\n defaultVariants: { variant: \"default\" },\n },\n);\n"],"mappings":";;AAMA,IAAaA,IAAiBC,EAC5B,yKACA;CACE,UAAU,EACR,SAAS;EACP,SACE;EACF,WACE;EACF,OACE;EACF,QACE;EACF,SACE;EACF,OACE;EACF,aACE;CACJ,EACF;CACA,iBAAiB,EAAE,SAAS,UAAU;AACxC,CACF"}
@@ -0,0 +1,8 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { BaseProps, PolymorphicProps } from '../../../types';
3
+ import { bubbleVariants } from './Bubble.styles';
4
+ export type BubbleAlign = "start" | "end";
5
+ export type BubbleProps = PolymorphicProps<"div", BaseProps & VariantProps<typeof bubbleVariants> & {
6
+ /** 气泡的行内对齐,默认 "start" */
7
+ align?: BubbleAlign;
8
+ }, false>;
@@ -0,0 +1,2 @@
1
+ export { Bubble } from './Bubble';
2
+ export type { BubbleProps, BubbleAlign } from './Bubble.types';
@@ -0,0 +1,7 @@
1
+ import { ValidComponent } from 'solid-js';
2
+ import { BubbleContentProps } from './BubbleContent.types';
3
+ /**
4
+ * 气泡内容,默认渲染 div,可用 `component` 换成 button / a 等交互元素
5
+ * (变体样式通过 `[button,a]` 变体命中,并自带 focus ring)。
6
+ */
7
+ export declare const BubbleContent: <T extends ValidComponent = "div">(props: BubbleContentProps<T>) => import('solid-js').JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { bubbleContentClasses as t } from "./BubbleContent.styles.js";
3
+ import { Dynamic as n, createComponent as r, mergeProps as i } from "solid-js/web";
4
+ //#region src/components/bubble/BubbleContent/BubbleContent.tsx
5
+ var a = (a) => r(n, i(a, {
6
+ get component() {
7
+ return a.component ?? "div";
8
+ },
9
+ "data-slot": "bubble-content",
10
+ get class() {
11
+ return e(t, a.class);
12
+ }
13
+ }));
14
+ //#endregion
15
+ export { a as BubbleContent };
16
+
17
+ //# sourceMappingURL=BubbleContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BubbleContent.js","names":["ValidComponent","Dynamic","clsx","bubbleContentClasses","BubbleContentProps","BubbleContent","props","T","_$createComponent","_$mergeProps","component","class","_$createComponent","_$mergeProps","BubbleContent","createComponent","Dynamic","mergeProps","props","\"class\"","clsx","bubbleContentClasses"],"sources":["../../../../src/components/bubble/BubbleContent/BubbleContent.tsx"],"sourcesContent":["import type { ValidComponent } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport { clsx } from \"~/utils\";\nimport { bubbleContentClasses } from \"./BubbleContent.styles\";\nimport type { BubbleContentProps } from \"./BubbleContent.types\";\n\n/**\n * 气泡内容,默认渲染 div,可用 `component` 换成 button / a 等交互元素\n * (变体样式通过 `[button,a]` 变体命中,并自带 focus ring)。\n */\nexport const BubbleContent = <T extends ValidComponent = \"div\">(\n props: BubbleContentProps<T>,\n) => (\n <Dynamic\n {...props}\n component={(props.component as ValidComponent) ?? \"div\"}\n data-slot=\"bubble-content\"\n class={clsx(bubbleContentClasses, props.class)}\n />\n);\n"],"mappings":";;;;AAUA,IAAaK,KACXC,MAA4BE,EAE3BP,GAAOQ,EACFH,GAAK;CAAA,IACTI,YAAS;EAAA,OAAGJ,EAAMI,aAAgC;CAAK;CAAA,aAAA;CAAA,IAAAS,QAAA;EAAA,OAEhDjB,EAAKC,GAAsBG,EAAMK,KAAK;CAAC;AAAA,CAAA,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const bubbleContentClasses = "w-fit max-w-full min-w-0 overflow-hidden rounded-xl border border-transparent px-3 py-2 text-sm leading-relaxed break-words group-data-[align=end]/bubble:self-end [button]:text-left [button,a]:transition-colors [button,a]:outline-none [button,a]:focus-visible:border-ring [button,a]:focus-visible:ring-3 [button,a]:focus-visible:ring-ring/50";
@@ -0,0 +1,6 @@
1
+ //#region src/components/bubble/BubbleContent/BubbleContent.styles.ts
2
+ var e = "w-fit max-w-full min-w-0 overflow-hidden rounded-xl border border-transparent px-3 py-2 text-sm leading-relaxed break-words group-data-[align=end]/bubble:self-end [button]:text-left [button,a]:transition-colors [button,a]:outline-none [button,a]:focus-visible:border-ring [button,a]:focus-visible:ring-3 [button,a]:focus-visible:ring-ring/50";
3
+ //#endregion
4
+ export { e as bubbleContentClasses };
5
+
6
+ //# sourceMappingURL=BubbleContent.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BubbleContent.styles.js","names":["bubbleContentClasses"],"sources":["../../../../src/components/bubble/BubbleContent/BubbleContent.styles.ts"],"sourcesContent":["export const bubbleContentClasses =\n \"w-fit max-w-full min-w-0 overflow-hidden rounded-xl border border-transparent px-3 py-2 text-sm leading-relaxed break-words group-data-[align=end]/bubble:self-end [button]:text-left [button,a]:transition-colors [button,a]:outline-none [button,a]:focus-visible:border-ring [button,a]:focus-visible:ring-3 [button,a]:focus-visible:ring-ring/50\";\n"],"mappings":";AAAA,IAAaA,IACX"}
@@ -0,0 +1,3 @@
1
+ import { ValidComponent } from 'solid-js';
2
+ import { BaseProps, PolymorphicProps } from '../../../types';
3
+ export type BubbleContentProps<T extends ValidComponent = "div"> = PolymorphicProps<T, BaseProps>;
@@ -0,0 +1,2 @@
1
+ export { BubbleContent } from './BubbleContent';
2
+ export type { BubbleContentProps } from './BubbleContent.types';
@@ -0,0 +1,3 @@
1
+ import { BubbleGroupProps } from './BubbleGroup.types';
2
+ /** 把同一发送者的连续气泡分组 */
3
+ export declare function BubbleGroup(props: BubbleGroupProps): import('solid-js').JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { mergeProps as t, spread as n, template as r } from "solid-js/web";
3
+ import { splitProps as i } from "solid-js";
4
+ //#region src/components/bubble/BubbleGroup/BubbleGroup.tsx
5
+ var a = /*#__PURE__*/ r("<div>");
6
+ function o(r) {
7
+ let [o, s] = i(r, ["class", "classList"]);
8
+ return (() => {
9
+ var r = a();
10
+ return n(r, t(s, {
11
+ "data-slot": "bubble-group",
12
+ get class() {
13
+ return e("flex min-w-0 flex-col gap-2", o.class);
14
+ },
15
+ get classList() {
16
+ return o.classList;
17
+ }
18
+ }), !1, !1), r;
19
+ })();
20
+ }
21
+ //#endregion
22
+ export { o as BubbleGroup };
23
+
24
+ //# sourceMappingURL=BubbleGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BubbleGroup.js","names":["splitProps","clsx","BubbleGroupProps","BubbleGroup","props","local","rest","_el$","_tmpl$","_$spread","_$mergeProps","class","classList","_$mergeProps","_tmpl$","BubbleGroup","local","rest","splitProps","props","_el$","spread","mergeProps","\"class\"","clsx"],"sources":["../../../../src/components/bubble/BubbleGroup/BubbleGroup.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { BubbleGroupProps } from \"./BubbleGroup.types\";\n\n/** 把同一发送者的连续气泡分组 */\nexport function BubbleGroup(props: BubbleGroupProps) {\n const [local, rest] = splitProps(props, [\"class\", \"classList\"]);\n return (\n <div\n {...rest}\n data-slot=\"bubble-group\"\n class={clsx(\"flex min-w-0 flex-col gap-2\", local.class)}\n classList={local.classList}\n />\n );\n}\n"],"mappings":";;;;;AAKA,SAAgBG,EAAYC,GAAyB;CACnD,IAAM,CAACC,GAAOC,KAAQN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAC9D,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAK8B,OAL9BC,EAAAF,GAAAG,EAEQJ,GAAI;GAAA,aACE;GAAc,IAAAiB,QAAA;IAAA,OACjBtB,EAAK,+BAA+BI,EAAMM,KAAK;GAAC;GAAA,IACvDC,YAAS;IAAA,OAAEP,EAAMO;GAAS;EAAA,CAAA,GAAA,IAAA,EAAA,GAAAL;CAAA,EAAA,CAAA;AAGhC"}
@@ -0,0 +1,2 @@
1
+ import { BaseProps, PolymorphicProps } from '../../../types';
2
+ export type BubbleGroupProps = PolymorphicProps<"div", BaseProps, false>;
@@ -0,0 +1,2 @@
1
+ export { BubbleGroup } from './BubbleGroup';
2
+ export type { BubbleGroupProps } from './BubbleGroup.types';
@@ -0,0 +1,6 @@
1
+ import { BubbleReactionsProps } from './BubbleReactions.types';
2
+ /**
3
+ * 贴在气泡边缘的回复/反应行。展示型 emoji 建议加 `role="img"` + `aria-label`,
4
+ * 交互型则渲染 Button 并给纯图标按钮 aria-label。
5
+ */
6
+ export declare function BubbleReactions(props: BubbleReactionsProps): import('solid-js').JSX.Element;
@@ -0,0 +1,42 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { bubbleReactionsVariants as t } from "./BubbleReactions.styles.js";
3
+ import { mergeProps as n, spread as r, template as i } from "solid-js/web";
4
+ import { mergeProps as a, splitProps as o } from "solid-js";
5
+ //#region src/components/bubble/BubbleReactions/BubbleReactions.tsx
6
+ var s = /*#__PURE__*/ i("<div>");
7
+ function c(i) {
8
+ let c = a({
9
+ side: "bottom",
10
+ align: "end"
11
+ }, i), [l, u] = o(c, [
12
+ "side",
13
+ "align",
14
+ "class",
15
+ "classList"
16
+ ]);
17
+ return (() => {
18
+ var i = s();
19
+ return r(i, n(u, {
20
+ "data-slot": "bubble-reactions",
21
+ get "data-align"() {
22
+ return l.align;
23
+ },
24
+ get "data-side"() {
25
+ return l.side;
26
+ },
27
+ get class() {
28
+ return e(t({
29
+ side: l.side,
30
+ align: l.align
31
+ }), l.class);
32
+ },
33
+ get classList() {
34
+ return l.classList;
35
+ }
36
+ }), !1, !1), i;
37
+ })();
38
+ }
39
+ //#endregion
40
+ export { c as BubbleReactions };
41
+
42
+ //# sourceMappingURL=BubbleReactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BubbleReactions.js","names":["mergeProps","splitProps","clsx","bubbleReactionsVariants","BubbleReactionsProps","BubbleReactions","props","merged","side","align","const","local","rest","_el$","_tmpl$","_$spread","_$mergeProps","data-align","data-side","class","classList","mergeProps","_$mergeProps","mergeProps$1","_tmpl$","BubbleReactions","merged","props","local","rest","splitProps","_el$","spread","mergeProps","\"class\"","clsx","bubbleReactionsVariants"],"sources":["../../../../src/components/bubble/BubbleReactions/BubbleReactions.tsx"],"sourcesContent":["import { mergeProps, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { bubbleReactionsVariants } from \"./BubbleReactions.styles\";\nimport type { BubbleReactionsProps } from \"./BubbleReactions.types\";\n\n/**\n * 贴在气泡边缘的回复/反应行。展示型 emoji 建议加 `role=\"img\"` + `aria-label`,\n * 交互型则渲染 Button 并给纯图标按钮 aria-label。\n */\nexport function BubbleReactions(props: BubbleReactionsProps) {\n const merged = mergeProps({ side: \"bottom\", align: \"end\" } as const, props);\n const [local, rest] = splitProps(merged, [\n \"side\",\n \"align\",\n \"class\",\n \"classList\",\n ]);\n\n return (\n <div\n {...rest}\n data-slot=\"bubble-reactions\"\n data-align={local.align}\n data-side={local.side}\n class={clsx(\n bubbleReactionsVariants({ side: local.side, align: local.align }),\n local.class,\n )}\n classList={local.classList}\n />\n );\n}\n"],"mappings":";;;;;;AASA,SAAgBK,EAAgBC,GAA6B;CAC3D,IAAMC,IAASP,EAAW;EAAEQ,MAAM;EAAUC,OAAO;CAAM,GAAYH,CAAK,GACpE,CAACK,GAAOC,KAAQX,EAAWM,GAAQ;EACvC;EACA;EACA;EACA;CAAW,CACZ;CAED,cAAA;EAAA,IAAAM,IAAAC,EAAA;EAU8B,OAV9BC,EAAAF,GAAAG,EAEQJ,GAAI;GAAA,aACE;GAAkB,IAAA,eAAA;IAAA,OAChBD,EAAMF;GAAK;GAAA,IAAA,cAAA;IAAA,OACZE,EAAMH;GAAI;GAAA,IAAA0B,QAAA;IAAA,OACdhC,EACLC,EAAwB;KAAEK,MAAMG,EAAMH;KAAMC,OAAOE,EAAMF;IAAM,CAAC,GAChEE,EAAMQ,KACR;GAAC;GAAA,IACDC,YAAS;IAAA,OAAET,EAAMS;GAAS;EAAA,CAAA,GAAA,IAAA,EAAA,GAAAP;CAAA,EAAA,CAAA;AAGhC"}
@@ -0,0 +1,4 @@
1
+ export declare const bubbleReactionsVariants: (props?: ({
2
+ side?: "top" | "bottom" | null | undefined;
3
+ align?: "start" | "end" | null | undefined;
4
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -0,0 +1,22 @@
1
+ import { cva as e } from "class-variance-authority";
2
+ //#region src/components/bubble/BubbleReactions/BubbleReactions.styles.ts
3
+ var t = e("absolute z-10 flex w-fit shrink-0 items-center justify-center gap-1 rounded-full bg-muted px-1.5 py-0.5 text-sm ring-3 ring-card has-[button]:p-0", {
4
+ variants: {
5
+ side: {
6
+ top: "top-0 -translate-y-3/4",
7
+ bottom: "bottom-0 translate-y-3/4"
8
+ },
9
+ align: {
10
+ start: "left-3",
11
+ end: "right-3"
12
+ }
13
+ },
14
+ defaultVariants: {
15
+ side: "bottom",
16
+ align: "end"
17
+ }
18
+ });
19
+ //#endregion
20
+ export { t as bubbleReactionsVariants };
21
+
22
+ //# sourceMappingURL=BubbleReactions.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BubbleReactions.styles.js","names":["bubbleReactionsVariants","cva"],"sources":["../../../../src/components/bubble/BubbleReactions/BubbleReactions.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const bubbleReactionsVariants = cva(\n \"absolute z-10 flex w-fit shrink-0 items-center justify-center gap-1 rounded-full bg-muted px-1.5 py-0.5 text-sm ring-3 ring-card has-[button]:p-0\",\n {\n variants: {\n side: {\n top: \"top-0 -translate-y-3/4\",\n bottom: \"bottom-0 translate-y-3/4\",\n },\n align: {\n start: \"left-3\",\n end: \"right-3\",\n },\n },\n defaultVariants: { side: \"bottom\", align: \"end\" },\n },\n);\n"],"mappings":";;AAEA,IAAaA,IAA0BC,EACrC,qJACA;CACE,UAAU;EACR,MAAM;GACJ,KAAK;GACL,QAAQ;EACV;EACA,OAAO;GACL,OAAO;GACP,KAAK;EACP;CACF;CACA,iBAAiB;EAAE,MAAM;EAAU,OAAO;CAAM;AAClD,CACF"}
@@ -0,0 +1,4 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { BaseProps, PolymorphicProps } from '../../../types';
3
+ import { bubbleReactionsVariants } from './BubbleReactions.styles';
4
+ export type BubbleReactionsProps = PolymorphicProps<"div", BaseProps & VariantProps<typeof bubbleReactionsVariants>, false>;
@@ -0,0 +1,2 @@
1
+ export { BubbleReactions } from './BubbleReactions';
2
+ export type { BubbleReactionsProps } from './BubbleReactions.types';
@@ -0,0 +1,8 @@
1
+ export { BubbleGroup } from './BubbleGroup';
2
+ export type { BubbleGroupProps } from './BubbleGroup';
3
+ export { Bubble } from './Bubble';
4
+ export type { BubbleProps, BubbleAlign } from './Bubble';
5
+ export { BubbleContent } from './BubbleContent';
6
+ export type { BubbleContentProps } from './BubbleContent';
7
+ export { BubbleReactions } from './BubbleReactions';
8
+ export type { BubbleReactionsProps } from './BubbleReactions';
@@ -0,0 +1,5 @@
1
+ import { BubbleGroup as e } from "./BubbleGroup/BubbleGroup.js";
2
+ import { Bubble as t } from "./Bubble/Bubble.js";
3
+ import { BubbleContent as n } from "./BubbleContent/BubbleContent.js";
4
+ import { BubbleReactions as r } from "./BubbleReactions/BubbleReactions.js";
5
+ export { t as Bubble, n as BubbleContent, e as BubbleGroup, r as BubbleReactions };
@@ -0,0 +1,3 @@
1
+ import { DrawerContextValue } from './Drawer.types';
2
+ export declare const DrawerContext: import('solid-js').Context<DrawerContextValue | undefined>;
3
+ export declare function useDrawerContext(component: string): DrawerContextValue;
@@ -0,0 +1,12 @@
1
+ import { createContext as e, useContext as t } from "solid-js";
2
+ //#region src/components/drawer/Drawer/Drawer.context.ts
3
+ var n = e();
4
+ function r(e) {
5
+ let r = t(n);
6
+ if (!r) throw Error(`<${e}> 必须渲染在 <Drawer> 内部`);
7
+ return r;
8
+ }
9
+ //#endregion
10
+ export { n as DrawerContext, r as useDrawerContext };
11
+
12
+ //# sourceMappingURL=Drawer.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.context.js","names":["DrawerContext","createContext","useDrawerContext","ctx","useContext","component"],"sources":["../../../../src/components/drawer/Drawer/Drawer.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\nimport type { DrawerContextValue } from \"./Drawer.types\";\n\nexport const DrawerContext = createContext<DrawerContextValue>();\n\nexport function useDrawerContext(component: string): DrawerContextValue {\n const ctx = useContext(DrawerContext);\n if (!ctx) {\n throw new Error(`<${component}> 必须渲染在 <Drawer> 内部`);\n }\n return ctx;\n}\n"],"mappings":";;AAGA,IAAaA,IAAgBC,EAAkC;AAE/D,SAAgBC,EAAiB,GAAuC;CACtE,IAAMC,IAAMC,EAAWJ,CAAa;CACpC,IAAI,CAACG,GACH,MAAU,MAAM,IAAIE,EAAU,oBAAoB;CAEpD,OAAOF;AACT"}
@@ -0,0 +1,7 @@
1
+ import { JSX } from 'solid-js';
2
+ import { DrawerProps } from './Drawer.types';
3
+ /**
4
+ * Drawer 根组件:不渲染 DOM,负责开关状态、modal 锁滚动与外部交互,
5
+ * 通过 context 驱动 Trigger/Content 等子部件。
6
+ */
7
+ export declare function Drawer(props: DrawerProps): JSX.Element;
@@ -0,0 +1,63 @@
1
+ import { useScrollLock as e } from "../../../hooks/useScrollLock.js";
2
+ import { DrawerContext as t } from "./Drawer.context.js";
3
+ import { createDrawerChangeEventDetails as n } from "./create-change-event-details.js";
4
+ import { createComponent as r } from "solid-js/web";
5
+ import { createEffect as i, createMemo as a, createSignal as o, createUniqueId as s, onCleanup as c } from "solid-js";
6
+ //#region src/components/drawer/Drawer/Drawer.tsx
7
+ function l(l) {
8
+ let [u, d] = o(l.defaultOpen ?? !1), f = a(() => l.open === void 0 ? u() : l.open), [p, m] = o(f()), h = a(() => l.modal ?? !0), g = a(() => l.swipeDirection ?? "down"), _ = a(() => l.showSwipeHandle === !0), v = a(() => l.disablePointerDismissal === !0), [y, b] = o(), [x, S] = o(), [C, w] = o(), [T, E] = o(), D = `drawer-content-${s()}`;
9
+ i(() => {
10
+ f() && m(!0);
11
+ });
12
+ let O = () => {
13
+ let e = y();
14
+ e && typeof e.focus == "function" && e.focus({ preventScroll: !0 });
15
+ }, k = (e, t, r) => {
16
+ if (e === f() && e) return;
17
+ let i = n(t, r, y());
18
+ l.open === void 0 && d(e), l.onOpenChange?.(e, i);
19
+ };
20
+ e(() => f() && h(), { allowedSelector: "[data-slot=\"drawer-popup\"]" }), i(() => {
21
+ if (!f()) return;
22
+ let e = (e) => {
23
+ e.defaultPrevented || e.key === "Escape" && (e.preventDefault(), k(!1, "escape-key", e));
24
+ }, t = (e) => {
25
+ if (v()) return;
26
+ let t = e.target;
27
+ x()?.contains(t) || y()?.contains(t) || k(!1, "outside-press", e);
28
+ };
29
+ document.addEventListener("keydown", e), document.addEventListener("pointerdown", t, !0), c(() => {
30
+ document.removeEventListener("keydown", e), document.removeEventListener("pointerdown", t, !0);
31
+ });
32
+ });
33
+ let A = {
34
+ open: f,
35
+ setOpen: k,
36
+ show: p,
37
+ setShow: m,
38
+ modal: h,
39
+ swipeDirection: g,
40
+ showSwipeHandle: _,
41
+ disablePointerDismissal: v,
42
+ trigger: y,
43
+ setTrigger: b,
44
+ popup: x,
45
+ setPopup: S,
46
+ contentId: D,
47
+ titleId: C,
48
+ setTitleId: w,
49
+ descriptionId: T,
50
+ setDescriptionId: E,
51
+ restoreFocus: O
52
+ };
53
+ return r(t.Provider, {
54
+ value: A,
55
+ get children() {
56
+ return l.children;
57
+ }
58
+ });
59
+ }
60
+ //#endregion
61
+ export { l as Drawer };
62
+
63
+ //# sourceMappingURL=Drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.js","names":["createEffect","createMemo","createSignal","createUniqueId","onCleanup","JSX","useScrollLock","DrawerContext","createDrawerChangeEventDetails","DrawerProps","Drawer","props","Element","internalOpen","setInternalOpen","defaultOpen","open","undefined","show","setShow","modal","swipeDirection","showSwipeHandle","disablePointerDismissal","trigger","setTrigger","HTMLElement","popup","setPopup","titleId","setTitleId","descriptionId","setDescriptionId","contentId","restoreFocus","el","focus","preventScroll","setOpen","next","reason","Parameters","event","Event","details","onOpenChange","allowedSelector","onKeyDown","e","KeyboardEvent","defaultPrevented","key","preventDefault","onPointerDown","PointerEvent","target","Node","contains","document","addEventListener","removeEventListener","ctx","_$createComponent","Provider","value","children","_$createComponent","Drawer","internalOpen","setInternalOpen","createSignal","props","open","createMemo","show","setShow","modal","swipeDirection","showSwipeHandle","disablePointerDismissal","trigger","setTrigger","popup","setPopup","titleId","setTitleId","descriptionId","setDescriptionId","contentId","createUniqueId","restoreFocus","el","setOpen","next","details","createDrawerChangeEventDetails","reason","event","useScrollLock","createEffect","onKeyDown","onPointerDown","target","onCleanup","ctx","createComponent","DrawerContext"],"sources":["../../../../src/components/drawer/Drawer/Drawer.tsx"],"sourcesContent":["import {\n createEffect,\n createMemo,\n createSignal,\n createUniqueId,\n onCleanup,\n type JSX,\n} from \"solid-js\";\nimport { useScrollLock } from \"~/hooks\";\nimport { DrawerContext } from \"./Drawer.context\";\nimport { createDrawerChangeEventDetails } from \"./create-change-event-details\";\nimport type { DrawerProps } from \"./Drawer.types\";\n\n/**\n * Drawer 根组件:不渲染 DOM,负责开关状态、modal 锁滚动与外部交互,\n * 通过 context 驱动 Trigger/Content 等子部件。\n */\nexport function Drawer(props: DrawerProps): JSX.Element {\n const [internalOpen, setInternalOpen] = createSignal(\n props.defaultOpen ?? false,\n );\n const open = createMemo(() =>\n props.open !== undefined ? props.open : internalOpen(),\n );\n const [show, setShow] = createSignal(open());\n\n const modal = createMemo(() => props.modal ?? true);\n const swipeDirection = createMemo(() => props.swipeDirection ?? \"down\");\n const showSwipeHandle = createMemo(() => props.showSwipeHandle === true);\n const disablePointerDismissal = createMemo(\n () => props.disablePointerDismissal === true,\n );\n\n const [trigger, setTrigger] = createSignal<HTMLElement>();\n const [popup, setPopup] = createSignal<HTMLElement>();\n const [titleId, setTitleId] = createSignal<string>();\n const [descriptionId, setDescriptionId] = createSignal<string>();\n const contentId = `drawer-content-${createUniqueId()}`;\n\n // 打开时立刻挂载;关闭时保留到退场动画结束(由 Content 的 transitionend 收尾)\n createEffect(() => {\n if (open()) setShow(true);\n });\n\n const restoreFocus = () => {\n const el = trigger();\n if (el && typeof el.focus === \"function\") {\n el.focus({ preventScroll: true });\n }\n };\n\n const setOpen = (\n next: boolean,\n reason: Parameters<typeof createDrawerChangeEventDetails>[0],\n event?: Event,\n ) => {\n if (next === open() && next) return;\n const details = createDrawerChangeEventDetails(reason, event, trigger());\n if (props.open === undefined) setInternalOpen(next);\n props.onOpenChange?.(next, details);\n };\n\n // Modal 打开时锁定页面滚动,浮层内部仍可滚动\n useScrollLock(() => open() && modal(), {\n allowedSelector: '[data-slot=\"drawer-popup\"]',\n });\n\n // 打开期间:Esc 关闭 +(非 disablePointerDismissal)点击外部关闭\n createEffect(() => {\n if (!open()) return;\n\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.defaultPrevented) return;\n if (e.key === \"Escape\") {\n e.preventDefault();\n setOpen(false, \"escape-key\", e);\n }\n };\n\n const onPointerDown = (e: PointerEvent) => {\n if (disablePointerDismissal()) return;\n const target = e.target as Node | null;\n if (popup()?.contains(target)) return;\n if (trigger()?.contains(target)) return;\n setOpen(false, \"outside-press\", e);\n };\n\n document.addEventListener(\"keydown\", onKeyDown);\n document.addEventListener(\"pointerdown\", onPointerDown, true);\n onCleanup(() => {\n document.removeEventListener(\"keydown\", onKeyDown);\n document.removeEventListener(\"pointerdown\", onPointerDown, true);\n });\n });\n\n const ctx = {\n open,\n setOpen,\n show,\n setShow,\n modal,\n swipeDirection,\n showSwipeHandle,\n disablePointerDismissal,\n trigger,\n setTrigger,\n popup,\n setPopup,\n contentId,\n titleId,\n setTitleId,\n descriptionId,\n setDescriptionId,\n restoreFocus,\n };\n\n return (\n <DrawerContext.Provider value={ctx}>\n {props.children}\n </DrawerContext.Provider>\n );\n}\n"],"mappings":";;;;;;AAiBA,SAAgBU,EAAOC,GAAiC;CACtD,IAAM,CAACE,GAAcC,KAAmBZ,EACtCS,EAAMI,eAAe,EACvB,GACMC,IAAOf,QACXU,EAAMK,SAASC,KAAAA,IAAyBJ,EAAa,IAA1BF,EAAMK,IACnC,GACM,CAACE,GAAMC,KAAWjB,EAAac,EAAK,CAAC,GAErCI,IAAQnB,QAAiBU,EAAMS,SAAS,EAAI,GAC5CC,IAAiBpB,QAAiBU,EAAMU,kBAAkB,MAAM,GAChEC,IAAkBrB,QAAiBU,EAAMW,oBAAoB,EAAI,GACjEC,IAA0BtB,QACxBU,EAAMY,4BAA4B,EAC1C,GAEM,CAACC,GAASC,KAAcvB,EAA0B,GAClD,CAACyB,GAAOC,KAAY1B,EAA0B,GAC9C,CAAC2B,GAASC,KAAc5B,EAAqB,GAC7C,CAAC6B,GAAeC,KAAoB9B,EAAqB,GACzD+B,IAAY,kBAAkB9B,EAAe;CAGnDH,QAAmB;EACjB,AAAIgB,EAAK,KAAGG,EAAQ,EAAI;CAC1B,CAAC;CAED,IAAMe,UAAqB;EACzB,IAAMC,IAAKX,EAAQ;EACnB,AAAIW,KAAM,OAAOA,EAAGC,SAAU,cAC5BD,EAAGC,MAAM,EAAEC,eAAe,GAAK,CAAC;CAEpC,GAEMC,KACJC,GACAC,GACAE,MACG;EACH,IAAIH,MAASvB,EAAK,KAAKuB,GAAM;EAC7B,IAAMK,IAAUpC,EAA+BgC,GAAQE,GAAOlB,EAAQ,CAAC;EAEvEb,AADIA,EAAMK,SAASC,KAAAA,KAAWH,EAAgByB,CAAI,GAClD5B,EAAMkC,eAAeN,GAAMK,CAAO;CACpC;CAQA5C,AALAM,QAAoBU,EAAK,KAAKI,EAAM,GAAG,EACrC0B,iBAAiB,+BACnB,CAAC,GAGD9C,QAAmB;EACjB,IAAI,CAACgB,EAAK,GAAG;EAEb,IAAM+B,KAAaC,MAAqB;GACtC,AAAIA,EAAEE,oBACFF,EAAEG,QAAQ,aACZH,EAAEI,eAAe,GACjBd,EAAQ,IAAO,cAAcU,CAAC;EAElC,GAEMK,KAAiBL,MAAoB;GACzC,IAAIzB,EAAwB,GAAG;GAC/B,IAAMgC,IAASP,EAAEO;GACjB,AAAI5B,EAAM,CAAC,EAAE8B,SAASF,CAAM,KACxB/B,EAAQ,CAAC,EAAEiC,SAASF,CAAM,KAC9BjB,EAAQ,IAAO,iBAAiBU,CAAC;EACnC;EAIA5C,AAFAsD,SAASC,iBAAiB,WAAWZ,CAAS,GAC9CW,SAASC,iBAAiB,eAAeN,GAAe,EAAI,GAC5DjD,QAAgB;GAEdsD,AADAA,SAASE,oBAAoB,WAAWb,CAAS,GACjDW,SAASE,oBAAoB,eAAeP,GAAe,EAAI;EACjE,CAAC;CACH,CAAC;CAED,IAAMQ,IAAM;EACV7C;EACAsB;EACApB;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAE;EACAC;EACAK;EACAJ;EACAC;EACAC;EACAC;EACAE;CACF;CAEA,OAAA4B,EACGvD,EAAcwD,UAAQ;EAACC,OAAOH;EAAG,IAAAI,WAAA;GAAA,OAC/BtD,EAAMsD;EAAQ;CAAA,CAAA;AAGrB"}
@@ -0,0 +1,50 @@
1
+ import { Accessor, ParentProps } from 'solid-js';
2
+ import { BaseProps, PolymorphicProps } from '../../../types';
3
+ export type DrawerSwipeDirection = "up" | "down" | "left" | "right";
4
+ export type DrawerChangeReason = "trigger-press" | "close-press" | "outside-press" | "escape-key" | "swipe" | "none";
5
+ export interface DrawerChangeEventDetails {
6
+ reason: DrawerChangeReason;
7
+ event?: Event;
8
+ trigger?: Element;
9
+ cancel: () => void;
10
+ allowPropagation: () => void;
11
+ readonly isCanceled: boolean;
12
+ readonly isPropagationAllowed: boolean;
13
+ }
14
+ export interface DrawerProps extends ParentProps {
15
+ /** 受控打开状态;不传则内部自管理 */
16
+ open?: boolean;
17
+ defaultOpen?: boolean;
18
+ onOpenChange?: (open: boolean, eventDetails: DrawerChangeEventDetails) => void;
19
+ /** 是否模态:显示遮罩、锁滚动、点击外部关闭,默认 true */
20
+ modal?: boolean;
21
+ /** 从哪一侧滑出,默认 down */
22
+ swipeDirection?: DrawerSwipeDirection;
23
+ /** 是否显示顶部的拖拽把手,默认 false */
24
+ showSwipeHandle?: boolean;
25
+ /** 是否禁止点击遮罩/外部关闭,默认 false */
26
+ disablePointerDismissal?: boolean;
27
+ }
28
+ export interface DrawerContextValue {
29
+ open: Accessor<boolean>;
30
+ setOpen: (open: boolean, reason: DrawerChangeReason, event?: Event) => void;
31
+ /** 关闭时保留挂载直到退场动画结束 */
32
+ show: Accessor<boolean>;
33
+ setShow: (show: boolean) => void;
34
+ modal: Accessor<boolean>;
35
+ swipeDirection: Accessor<DrawerSwipeDirection>;
36
+ showSwipeHandle: Accessor<boolean>;
37
+ disablePointerDismissal: Accessor<boolean>;
38
+ trigger: Accessor<HTMLElement | undefined>;
39
+ setTrigger: (el: HTMLElement | undefined) => void;
40
+ popup: Accessor<HTMLElement | undefined>;
41
+ setPopup: (el: HTMLElement | undefined) => void;
42
+ contentId: string;
43
+ titleId: Accessor<string | undefined>;
44
+ setTitleId: (id: string | undefined) => void;
45
+ descriptionId: Accessor<string | undefined>;
46
+ setDescriptionId: (id: string | undefined) => void;
47
+ restoreFocus: () => void;
48
+ }
49
+ export type DrawerTriggerProps<T extends import('solid-js').ValidComponent = "button"> = PolymorphicProps<T, BaseProps>;
50
+ export type DrawerCloseProps<T extends import('solid-js').ValidComponent = "button"> = PolymorphicProps<T, BaseProps>;
@@ -0,0 +1,3 @@
1
+ import { DrawerChangeEventDetails, DrawerChangeReason } from './Drawer.types';
2
+ /** 构造 onOpenChange 的第二个参数(对齐仓库既有 ChangeEventDetails 语义) */
3
+ export declare function createDrawerChangeEventDetails(reason: DrawerChangeReason, event?: Event, trigger?: Element): DrawerChangeEventDetails;
@@ -0,0 +1,25 @@
1
+ //#region src/components/drawer/Drawer/create-change-event-details.ts
2
+ function e(e, t, n) {
3
+ let r = !1, i = !1;
4
+ return {
5
+ reason: e,
6
+ event: t,
7
+ trigger: n,
8
+ cancel: () => {
9
+ r = !0;
10
+ },
11
+ allowPropagation: () => {
12
+ i = !0;
13
+ },
14
+ get isCanceled() {
15
+ return r;
16
+ },
17
+ get isPropagationAllowed() {
18
+ return i;
19
+ }
20
+ };
21
+ }
22
+ //#endregion
23
+ export { e as createDrawerChangeEventDetails };
24
+
25
+ //# sourceMappingURL=create-change-event-details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-change-event-details.js","names":["createDrawerChangeEventDetails","canceled","propagationAllowed"],"sources":["../../../../src/components/drawer/Drawer/create-change-event-details.ts"],"sourcesContent":["import type {\n DrawerChangeEventDetails,\n DrawerChangeReason,\n} from \"./Drawer.types\";\n\n/** 构造 onOpenChange 的第二个参数(对齐仓库既有 ChangeEventDetails 语义) */\nexport function createDrawerChangeEventDetails(\n reason: DrawerChangeReason,\n event?: Event,\n trigger?: Element,\n): DrawerChangeEventDetails {\n let canceled = false;\n let propagationAllowed = false;\n return {\n reason,\n event,\n trigger,\n cancel: () => {\n canceled = true;\n },\n allowPropagation: () => {\n propagationAllowed = true;\n },\n get isCanceled() {\n return canceled;\n },\n get isPropagationAllowed() {\n return propagationAllowed;\n },\n };\n}\n"],"mappings":";AAMA,SAAgBA,EACd,GACA,GACA,GAC0B;CAC1B,IAAIC,IAAW,IACXC,IAAqB;CACzB,OAAO;EACL;EACA;EACA;EACA,cAAc;GACZ,IAAW;EACb;EACA,wBAAwB;GACtB,IAAqB;EACvB;EACA,IAAI,aAAa;GACf,OAAOD;EACT;EACA,IAAI,uBAAuB;GACzB,OAAOC;EACT;CACF;AACF"}
@@ -0,0 +1,3 @@
1
+ export { Drawer } from './Drawer';
2
+ export { useDrawerContext } from './Drawer.context';
3
+ export type { DrawerProps, DrawerContextValue, DrawerSwipeDirection, DrawerChangeReason, DrawerChangeEventDetails, DrawerTriggerProps, DrawerCloseProps, } from './Drawer.types';
@@ -0,0 +1,5 @@
1
+ import { ValidComponent } from 'solid-js';
2
+ import { Button } from '../../button';
3
+ import { DrawerCloseProps } from '../Drawer/Drawer.types';
4
+ /** 关闭抽屉的按钮,默认渲染 Button */
5
+ export declare const DrawerClose: <T extends ValidComponent = typeof Button<"button">>(props: DrawerCloseProps<T>) => import('solid-js').JSX.Element;
@@ -0,0 +1,26 @@
1
+ import { mergeRefs as e } from "../../../utils/ref.js";
2
+ import { Button as t } from "../../button/Button.js";
3
+ import { useDrawerContext as n } from "../Drawer/Drawer.context.js";
4
+ import { Dynamic as r, createComponent as i, mergeProps as a } from "solid-js/web";
5
+ import { onCleanup as o } from "solid-js";
6
+ //#region src/components/drawer/DrawerClose/DrawerClose.tsx
7
+ var s = (s) => {
8
+ let c = n("DrawerClose"), l = (e) => {
9
+ let t = () => c.setOpen(!1, "close-press");
10
+ e.addEventListener("click", t), o(() => e.removeEventListener("click", t));
11
+ };
12
+ return i(r, a(s, {
13
+ get component() {
14
+ return s.component ?? t;
15
+ },
16
+ ref(t) {
17
+ var n = e(s.ref, l);
18
+ typeof n == "function" && n(t);
19
+ },
20
+ "data-slot": "drawer-close"
21
+ }));
22
+ };
23
+ //#endregion
24
+ export { s as DrawerClose };
25
+
26
+ //# sourceMappingURL=DrawerClose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerClose.js","names":["onCleanup","ValidComponent","Dynamic","Button","mergeRefs","useDrawerContext","DrawerCloseProps","DrawerClose","props","T","ctx","attach","el","Element","onClick","setOpen","addEventListener","removeEventListener","_$createComponent","_$mergeProps","component","ref","r$","_ref$","_$createComponent","_$mergeProps","DrawerClose","ctx","useDrawerContext","attach","onClick","el","onCleanup","createComponent","Dynamic","mergeProps","props","Button","_ref$","mergeRefs","r$"],"sources":["../../../../src/components/drawer/DrawerClose/DrawerClose.tsx"],"sourcesContent":["import { onCleanup, type ValidComponent } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport { Button } from \"~/components/button\";\nimport { mergeRefs } from \"~/utils\";\nimport { useDrawerContext } from \"../Drawer/Drawer.context\";\nimport type { DrawerCloseProps } from \"../Drawer/Drawer.types\";\n\n/** 关闭抽屉的按钮,默认渲染 Button */\nexport const DrawerClose = <T extends ValidComponent = typeof Button<\"button\">>(\n props: DrawerCloseProps<T>,\n) => {\n const ctx = useDrawerContext(\"DrawerClose\");\n\n const attach = (el: Element) => {\n const onClick = () => ctx.setOpen(false, \"close-press\");\n el.addEventListener(\"click\", onClick);\n onCleanup(() => el.removeEventListener(\"click\", onClick));\n };\n\n return (\n <Dynamic\n {...props}\n component={(props.component as ValidComponent) ?? Button<\"button\">}\n ref={mergeRefs(props.ref, attach)}\n data-slot=\"drawer-close\"\n />\n );\n};\n"],"mappings":";;;;;;AAQA,IAAaO,KACXC,MACG;CACH,IAAME,IAAML,EAAiB,aAAa,GAEpCM,KAAUC,MAAgB;EAC9B,IAAME,UAAgBJ,EAAIK,QAAQ,IAAO,aAAa;EAEtDf,AADAY,EAAGI,iBAAiB,SAASF,CAAO,GACpCd,QAAgBY,EAAGK,oBAAoB,SAASH,CAAO,CAAC;CAC1D;CAEA,OAAAI,EACGhB,GAAOiB,EACFX,GAAK;EAAA,IACTY,YAAS;GAAA,OAAGZ,EAAMY,aAAgCjB;EAAgB;EAAAkB,IAAAC,GAAA;GAAA,IAAAC,IAC7DnB,EAAUI,EAAMa,KAAKV,CAAM;GAAC,OAAAY,KAAA,cAAAA,EAAAD,CAAA;EAAA;EAAA,aAAA;CAAA,CAAA,CAAA;AAIvC"}
@@ -0,0 +1 @@
1
+ export { DrawerClose } from './DrawerClose';
@@ -0,0 +1,6 @@
1
+ import { DrawerContentProps } from './DrawerContent.types';
2
+ /**
3
+ * DrawerContent:组合 Portal + Overlay + Viewport + Popup + Content。
4
+ * 打开/关闭用 transform 过渡(按方向把面板移出视口),拖拽期间改用位移。
5
+ */
6
+ export declare function DrawerContent(props: DrawerContentProps): import('solid-js').JSX.Element;