@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,48 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { DialogSurface as t } from "../../dialog/DialogSurface/DialogSurface.js";
3
+ import { SheetClose as n } from "../SheetClose/SheetClose.js";
4
+ import { closeClasses as r, contentBase as i, sideClasses as a } from "./SheetContent.styles.js";
5
+ import { createComponent as o, memo as s, mergeProps as c } from "solid-js/web";
6
+ import { Show as l, mergeProps as u, splitProps as d } from "solid-js";
7
+ //#region src/components/sheet/SheetContent/SheetContent.tsx
8
+ var f = (f) => {
9
+ let p = u({
10
+ side: "right",
11
+ showCloseButton: !0
12
+ }, f), [m, h] = d(p, [
13
+ "side",
14
+ "showCloseButton",
15
+ "class",
16
+ "classList",
17
+ "children"
18
+ ]);
19
+ return o(t, c(h, {
20
+ role: "dialog",
21
+ "data-slot": "sheet-content",
22
+ get "data-side"() {
23
+ return m.side;
24
+ },
25
+ get class() {
26
+ return e(i, a(m.side), m.class);
27
+ },
28
+ get classList() {
29
+ return m.classList;
30
+ },
31
+ get children() {
32
+ return [s(() => m.children), o(l, {
33
+ get when() {
34
+ return m.showCloseButton;
35
+ },
36
+ get children() {
37
+ return o(n, { get class() {
38
+ return r(m.side);
39
+ } });
40
+ }
41
+ })];
42
+ }
43
+ }));
44
+ };
45
+ //#endregion
46
+ export { f as SheetContent };
47
+
48
+ //# sourceMappingURL=SheetContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SheetContent.js","names":["Show","mergeProps","splitProps","clsx","DialogSurface","SheetClose","closeClasses","contentBase","sideClasses","SheetContentProps","SheetContent","props","merged","side","const","showCloseButton","local","others","_$createComponent","_$mergeProps","role","data-side","class","classList","children","_$memo","when","mergeProps","_$createComponent","_$mergeProps","_$memo","mergeProps$1","SheetContent","merged","props","local","others","splitProps","createComponent","DialogSurface","mergeProps","\"class\"","clsx","contentBase","sideClasses","memo","Show","SheetClose","closeClasses"],"sources":["../../../../src/components/sheet/SheetContent/SheetContent.tsx"],"sourcesContent":["import { Show, mergeProps, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { DialogSurface } from \"~/components/dialog\";\nimport { SheetClose } from \"../SheetClose\";\nimport { closeClasses, contentBase, sideClasses } from \"./SheetContent.styles\";\nimport type { SheetContentProps } from \"../sheet.types\";\n\n/**\n * Sheet 面板:复用 DialogSurface(Portal/Overlay/滚动锁定/挂载动画/ARIA),\n * 通过 `data-side` + 方向类实现贴边与滑入滑出。\n */\nexport const SheetContent = (props: SheetContentProps) => {\n const merged = mergeProps(\n { side: \"right\" as const, showCloseButton: true },\n props,\n );\n\n const [local, others] = splitProps(merged, [\n \"side\",\n \"showCloseButton\",\n \"class\",\n \"classList\",\n \"children\",\n ]);\n\n return (\n <DialogSurface\n {...others}\n role=\"dialog\"\n data-slot=\"sheet-content\"\n data-side={local.side}\n class={clsx(contentBase, sideClasses(local.side), local.class)}\n classList={local.classList}\n >\n {local.children}\n <Show when={local.showCloseButton}>\n <SheetClose class={closeClasses(local.side)} />\n </Show>\n </DialogSurface>\n );\n};\n"],"mappings":";;;;;;;AAWA,IAAaU,KAAgBC,MAA6B;CACxD,IAAMC,IAASX,EACb;EAAEY,MAAM;EAAkBE,iBAAiB;CAAK,GAChDJ,CACF,GAEM,CAACK,GAAOC,KAAUf,EAAWU,GAAQ;EACzC;EACA;EACA;EACA;EACA;CAAU,CACX;CAED,OAAAM,EACGd,GAAae,EACRF,GAAM;EACVG,MAAI;EAAA,aAAA;EAAA,IAAA,cAAA;GAAA,OAEOJ,EAAMH;EAAI;EAAA,IAAA4B,QAAA;GAAA,OACdtC,EAAKI,GAAaC,EAAYQ,EAAMH,IAAI,GAAGG,EAAMM,KAAK;EAAC;EAAA,IAC9DC,YAAS;GAAA,OAAEP,EAAMO;EAAS;EAAA,IAAAC,WAAA;GAAA,OAAA,CAAAC,QAEzBT,EAAMQ,QAAQ,GAAAN,EACdlB,GAAI;IAAA,IAAC0B,OAAI;KAAA,OAAEV,EAAMD;IAAe;IAAA,IAAAS,WAAA;KAAA,OAAAN,EAC9Bb,GAAU,EAAA,IAAAoC,QAAA;MAAA,OAAQnC,EAAaU,EAAMH,IAAI;KAAC,EAAA,CAAA;IAAA;GAAA,CAAA,CAAA;EAAA;CAAA,CAAA,CAAA;AAInD"}
@@ -0,0 +1,10 @@
1
+ import { SheetSide } from '../sheet.types';
2
+ /**
3
+ * 贴边面板的基础样式。动画走本仓库既有的 animate-in/out 工具类:
4
+ * 打开时从对应边滑入 + 淡入,关闭时滑出 + 淡出,由 DialogSurface 的
5
+ * onAnimationEnd 负责卸载。
6
+ */
7
+ export declare const contentBase = "fixed z-50 flex flex-col gap-4 bg-white dark:bg-neutral-900 text-sm text-neutral-950 dark:text-neutral-50 shadow-lg outline-none select-none duration-200 data-[open=true]:animate-in data-[open=true]:fade-in-0 data-[open=false]:animate-out data-[open=false]:fade-out-0";
8
+ export declare function sideClasses(side: SheetSide): string;
9
+ /** 右上角关闭按钮位置;左右两侧留白一致,顶部/底部面板也适用 */
10
+ export declare function closeClasses(_side: SheetSide): string;
@@ -0,0 +1,17 @@
1
+ //#region src/components/sheet/SheetContent/SheetContent.styles.ts
2
+ var e = "fixed z-50 flex flex-col gap-4 bg-white dark:bg-neutral-900 text-sm text-neutral-950 dark:text-neutral-50 shadow-lg outline-none select-none duration-200 data-[open=true]:animate-in data-[open=true]:fade-in-0 data-[open=false]:animate-out data-[open=false]:fade-out-0", t = {
3
+ top: "inset-x-0 top-0 h-auto border-b data-[open=true]:slide-in-from-top data-[open=false]:slide-out-to-top",
4
+ bottom: "inset-x-0 bottom-0 h-auto border-t data-[open=true]:slide-in-from-bottom data-[open=false]:slide-out-to-bottom",
5
+ left: "inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm data-[open=true]:slide-in-from-left data-[open=false]:slide-out-to-left",
6
+ right: "inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm data-[open=true]:slide-in-from-right data-[open=false]:slide-out-to-right"
7
+ };
8
+ function n(e) {
9
+ return t[e];
10
+ }
11
+ function r(e) {
12
+ return "absolute top-4 right-4";
13
+ }
14
+ //#endregion
15
+ export { r as closeClasses, e as contentBase, n as sideClasses };
16
+
17
+ //# sourceMappingURL=SheetContent.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SheetContent.styles.js","names":["contentBase","sideStyles","sideClasses","side","closeClasses"],"sources":["../../../../src/components/sheet/SheetContent/SheetContent.styles.ts"],"sourcesContent":["import type { SheetSide } from \"../sheet.types\";\n\n/**\n * 贴边面板的基础样式。动画走本仓库既有的 animate-in/out 工具类:\n * 打开时从对应边滑入 + 淡入,关闭时滑出 + 淡出,由 DialogSurface 的\n * onAnimationEnd 负责卸载。\n */\nexport const contentBase =\n \"fixed z-50 flex flex-col gap-4 bg-white dark:bg-neutral-900 text-sm text-neutral-950 dark:text-neutral-50 shadow-lg outline-none select-none duration-200 data-[open=true]:animate-in data-[open=true]:fade-in-0 data-[open=false]:animate-out data-[open=false]:fade-out-0\";\n\nconst sideStyles: Record<SheetSide, string> = {\n top: \"inset-x-0 top-0 h-auto border-b data-[open=true]:slide-in-from-top data-[open=false]:slide-out-to-top\",\n bottom:\n \"inset-x-0 bottom-0 h-auto border-t data-[open=true]:slide-in-from-bottom data-[open=false]:slide-out-to-bottom\",\n left: \"inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm data-[open=true]:slide-in-from-left data-[open=false]:slide-out-to-left\",\n right:\n \"inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm data-[open=true]:slide-in-from-right data-[open=false]:slide-out-to-right\",\n};\n\nexport function sideClasses(side: SheetSide): string {\n return sideStyles[side];\n}\n\n/** 右上角关闭按钮位置;左右两侧留白一致,顶部/底部面板也适用 */\nexport function closeClasses(_side: SheetSide): string {\n return \"absolute top-4 right-4\";\n}\n"],"mappings":";AAOA,IAAaA,IACX,+QAEIC,IAAwC;CAC5C,KAAK;CACL,QACE;CACF,MAAM;CACN,OACE;AACJ;AAEA,SAAgBC,EAAY,GAAyB;CACnD,OAAOD,EAAWE;AACpB;AAGA,SAAgBC,EAAa,GAA0B;CACrD,OAAO;AACT"}
@@ -0,0 +1 @@
1
+ export { SheetContent } from './SheetContent';
@@ -0,0 +1,2 @@
1
+ import { SheetDescriptionProps } from '../sheet.types';
2
+ export declare function SheetDescription(props: SheetDescriptionProps): import('solid-js').JSX.Element;
@@ -0,0 +1,25 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { useDialogContentContext as t } from "../../dialog/DialogContent/DialogContent.context.js";
3
+ import { classes as n } from "./SheetDescription.styles.js";
4
+ import { mergeProps as r, setAttribute as i, spread as a, template as o } from "solid-js/web";
5
+ import { createUniqueId as s, onMount as c, splitProps as l } from "solid-js";
6
+ //#region src/components/sheet/SheetDescription/SheetDescription.tsx
7
+ var u = /*#__PURE__*/ o("<p data-slot=sheet-description>");
8
+ function d(o) {
9
+ let { setDescriptionID: d } = t(), [f, p] = l(o, ["class", "classList"]), m = s();
10
+ return c(() => d(m)), (() => {
11
+ var t = u();
12
+ return i(t, "id", m), a(t, r({
13
+ get class() {
14
+ return e(n, f.class);
15
+ },
16
+ get classList() {
17
+ return f.classList;
18
+ }
19
+ }, p), !1, !1), t;
20
+ })();
21
+ }
22
+ //#endregion
23
+ export { d as SheetDescription };
24
+
25
+ //# sourceMappingURL=SheetDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SheetDescription.js","names":["createUniqueId","onMount","splitProps","clsx","useDialogContentContext","classes","SheetDescriptionProps","SheetDescription","props","setDescriptionID","local","others","id","_el$","_tmpl$","_$setAttribute","_$spread","_$mergeProps","class","classList","_$mergeProps","_tmpl$","SheetDescription","useDialogContentContext","local","others","splitProps","props","id","createUniqueId","onMount","setDescriptionID","_el$","setAttribute","spread","mergeProps","\"class\"","clsx","classes"],"sources":["../../../../src/components/sheet/SheetDescription/SheetDescription.tsx"],"sourcesContent":["import { createUniqueId, onMount, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useDialogContentContext } from \"~/components/dialog\";\nimport { classes } from \"./SheetDescription.styles\";\nimport type { SheetDescriptionProps } from \"../sheet.types\";\n\nexport function SheetDescription(props: SheetDescriptionProps) {\n const { setDescriptionID } = useDialogContentContext();\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n const id = createUniqueId();\n\n onMount(() => setDescriptionID(id));\n\n return (\n <p\n id={id}\n data-slot=\"sheet-description\"\n class={clsx(classes, local.class)}\n classList={local.classList}\n {...others}\n />\n );\n}\n"],"mappings":";;;;;;;AAMA,SAAgBO,EAAiBC,GAA8B;CAC7D,IAAM,EAAEC,wBAAqBL,EAAwB,GAC/C,CAACM,GAAOC,KAAUT,EAAWM,GAAO,CAAC,SAAS,WAAW,CAAC,GAC1DI,IAAKZ,EAAe;CAI1B,OAFAC,QAAcQ,EAAiBG,CAAE,CAAC,UAElC;EAAA,IAAAC,IAAAC,EAAA;EAMc,OANdC,EAAAF,GAAA,MAEQD,CAAE,GAAAI,EAAAH,GAAAI,EAAA;GAAA,IAAAmB,QAAA;IAAA,OAECjC,EAAKE,GAASK,EAAMQ,KAAK;GAAC;GAAA,IACjCC,YAAS;IAAA,OAAET,EAAMS;GAAS;EAAA,GACtBR,CAAM,GAAA,IAAA,EAAA,GAAAE;CAAA,EAAA,CAAA;AAGhB"}
@@ -0,0 +1 @@
1
+ export declare const classes = "text-sm text-neutral-500 dark:text-neutral-400 *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-neutral-950 dark:*:[a]:hover:text-neutral-50";
@@ -0,0 +1,6 @@
1
+ //#region src/components/sheet/SheetDescription/SheetDescription.styles.ts
2
+ var e = "text-sm text-neutral-500 dark:text-neutral-400 *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-neutral-950 dark:*:[a]:hover:text-neutral-50";
3
+ //#endregion
4
+ export { e as classes };
5
+
6
+ //# sourceMappingURL=SheetDescription.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SheetDescription.styles.js","names":["classes"],"sources":["../../../../src/components/sheet/SheetDescription/SheetDescription.styles.ts"],"sourcesContent":["export const classes =\n \"text-sm text-neutral-500 dark:text-neutral-400 *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-neutral-950 dark:*:[a]:hover:text-neutral-50\";\n"],"mappings":";AAAA,IAAaA,IACX"}
@@ -0,0 +1 @@
1
+ export { SheetDescription } from './SheetDescription';
@@ -0,0 +1,2 @@
1
+ import { SheetFooterProps } from '../sheet.types';
2
+ export declare function SheetFooter(props: SheetFooterProps): 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/sheet/SheetFooter/SheetFooter.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": "sheet-footer",
12
+ get class() {
13
+ return e("mt-auto flex flex-col gap-2 p-4", o.class);
14
+ },
15
+ get classList() {
16
+ return o.classList;
17
+ }
18
+ }), !1, !1), r;
19
+ })();
20
+ }
21
+ //#endregion
22
+ export { o as SheetFooter };
23
+
24
+ //# sourceMappingURL=SheetFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SheetFooter.js","names":["splitProps","clsx","SheetFooterProps","SheetFooter","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class","classList","_$mergeProps","_tmpl$","SheetFooter","local","others","splitProps","props","_el$","spread","mergeProps","\"class\"","clsx"],"sources":["../../../../src/components/sheet/SheetFooter/SheetFooter.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { SheetFooterProps } from \"../sheet.types\";\n\nexport function SheetFooter(props: SheetFooterProps) {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n return (\n <div\n {...others}\n data-slot=\"sheet-footer\"\n class={clsx(\"mt-auto flex flex-col gap-2 p-4\", local.class)}\n classList={local.classList}\n />\n );\n}\n"],"mappings":";;;;;AAIA,SAAgBG,EAAYC,GAAyB;CACnD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAChE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAK8B,OAL9BC,EAAAF,GAAAG,EAEQJ,GAAM;GAAA,aACA;GAAc,IAAAiB,QAAA;IAAA,OACjBtB,EAAK,mCAAmCI,EAAMM,KAAK;GAAC;GAAA,IAC3DC,YAAS;IAAA,OAAEP,EAAMO;GAAS;EAAA,CAAA,GAAA,IAAA,EAAA,GAAAL;CAAA,EAAA,CAAA;AAGhC"}
@@ -0,0 +1 @@
1
+ export { SheetFooter } from './SheetFooter';
@@ -0,0 +1,2 @@
1
+ import { SheetHeaderProps } from '../sheet.types';
2
+ export declare function SheetHeader(props: SheetHeaderProps): 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/sheet/SheetHeader/SheetHeader.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": "sheet-header",
12
+ get class() {
13
+ return e("flex flex-col gap-1.5 p-4", o.class);
14
+ },
15
+ get classList() {
16
+ return o.classList;
17
+ }
18
+ }), !1, !1), r;
19
+ })();
20
+ }
21
+ //#endregion
22
+ export { o as SheetHeader };
23
+
24
+ //# sourceMappingURL=SheetHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SheetHeader.js","names":["splitProps","clsx","SheetHeaderProps","SheetHeader","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class","classList","_$mergeProps","_tmpl$","SheetHeader","local","others","splitProps","props","_el$","spread","mergeProps","\"class\"","clsx"],"sources":["../../../../src/components/sheet/SheetHeader/SheetHeader.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { SheetHeaderProps } from \"../sheet.types\";\n\nexport function SheetHeader(props: SheetHeaderProps) {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n return (\n <div\n {...others}\n data-slot=\"sheet-header\"\n class={clsx(\"flex flex-col gap-1.5 p-4\", local.class)}\n classList={local.classList}\n />\n );\n}\n"],"mappings":";;;;;AAIA,SAAgBG,EAAYC,GAAyB;CACnD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAChE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAK8B,OAL9BC,EAAAF,GAAAG,EAEQJ,GAAM;GAAA,aACA;GAAc,IAAAiB,QAAA;IAAA,OACjBtB,EAAK,6BAA6BI,EAAMM,KAAK;GAAC;GAAA,IACrDC,YAAS;IAAA,OAAEP,EAAMO;GAAS;EAAA,CAAA,GAAA,IAAA,EAAA,GAAAL;CAAA,EAAA,CAAA;AAGhC"}
@@ -0,0 +1 @@
1
+ export { SheetHeader } from './SheetHeader';
@@ -0,0 +1,3 @@
1
+ import { SheetTitleProps } from '../sheet.types';
2
+ /** 通过 DialogContentContext 注入 id,供 DialogSurface 的 aria-labelledby 使用 */
3
+ export declare function SheetTitle(props: SheetTitleProps): import('solid-js').JSX.Element;
@@ -0,0 +1,25 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { useDialogContentContext as t } from "../../dialog/DialogContent/DialogContent.context.js";
3
+ import { classes as n } from "./SheetTitle.styles.js";
4
+ import { mergeProps as r, setAttribute as i, spread as a, template as o } from "solid-js/web";
5
+ import { createUniqueId as s, onMount as c, splitProps as l } from "solid-js";
6
+ //#region src/components/sheet/SheetTitle/SheetTitle.tsx
7
+ var u = /*#__PURE__*/ o("<h2 data-slot=sheet-title>");
8
+ function d(o) {
9
+ let { setTitleID: d } = t(), [f, p] = l(o, ["class", "classList"]), m = s();
10
+ return c(() => d(m)), (() => {
11
+ var t = u();
12
+ return i(t, "id", m), a(t, r({
13
+ get class() {
14
+ return e(n, f.class);
15
+ },
16
+ get classList() {
17
+ return f.classList;
18
+ }
19
+ }, p), !1, !1), t;
20
+ })();
21
+ }
22
+ //#endregion
23
+ export { d as SheetTitle };
24
+
25
+ //# sourceMappingURL=SheetTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SheetTitle.js","names":["createUniqueId","onMount","splitProps","clsx","useDialogContentContext","classes","SheetTitleProps","SheetTitle","props","setTitleID","local","others","id","_el$","_tmpl$","_$setAttribute","_$spread","_$mergeProps","class","classList","_$mergeProps","_tmpl$","SheetTitle","useDialogContentContext","local","others","splitProps","props","id","createUniqueId","onMount","setTitleID","_el$","setAttribute","spread","mergeProps","\"class\"","clsx","classes"],"sources":["../../../../src/components/sheet/SheetTitle/SheetTitle.tsx"],"sourcesContent":["import { createUniqueId, onMount, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useDialogContentContext } from \"~/components/dialog\";\nimport { classes } from \"./SheetTitle.styles\";\nimport type { SheetTitleProps } from \"../sheet.types\";\n\n/** 通过 DialogContentContext 注入 id,供 DialogSurface 的 aria-labelledby 使用 */\nexport function SheetTitle(props: SheetTitleProps) {\n const { setTitleID } = useDialogContentContext();\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n const id = createUniqueId();\n\n onMount(() => setTitleID(id));\n\n return (\n <h2\n id={id}\n data-slot=\"sheet-title\"\n class={clsx(classes, local.class)}\n classList={local.classList}\n {...others}\n />\n );\n}\n"],"mappings":";;;;;;;AAOA,SAAgBO,EAAWC,GAAwB;CACjD,IAAM,EAAEC,kBAAeL,EAAwB,GACzC,CAACM,GAAOC,KAAUT,EAAWM,GAAO,CAAC,SAAS,WAAW,CAAC,GAC1DI,IAAKZ,EAAe;CAI1B,OAFAC,QAAcQ,EAAWG,CAAE,CAAC,UAE5B;EAAA,IAAAC,IAAAC,EAAA;EAMc,OANdC,EAAAF,GAAA,MAEQD,CAAE,GAAAI,EAAAH,GAAAI,EAAA;GAAA,IAAAmB,QAAA;IAAA,OAECjC,EAAKE,GAASK,EAAMQ,KAAK;GAAC;GAAA,IACjCC,YAAS;IAAA,OAAET,EAAMS;GAAS;EAAA,GACtBR,CAAM,GAAA,IAAA,EAAA,GAAAE;CAAA,EAAA,CAAA;AAGhB"}
@@ -0,0 +1 @@
1
+ export declare const classes = "cn-font-heading text-base leading-none font-medium";
@@ -0,0 +1,6 @@
1
+ //#region src/components/sheet/SheetTitle/SheetTitle.styles.ts
2
+ var e = "cn-font-heading text-base leading-none font-medium";
3
+ //#endregion
4
+ export { e as classes };
5
+
6
+ //# sourceMappingURL=SheetTitle.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SheetTitle.styles.js","names":["classes"],"sources":["../../../../src/components/sheet/SheetTitle/SheetTitle.styles.ts"],"sourcesContent":["export const classes = \"cn-font-heading text-base leading-none font-medium\";\n"],"mappings":";AAAA,IAAaA,IAAU"}
@@ -0,0 +1 @@
1
+ export { SheetTitle } from './SheetTitle';
@@ -0,0 +1,8 @@
1
+ import { ValidComponent } from 'solid-js';
2
+ import { Button } from '../../button';
3
+ import { SheetTriggerProps } from '../sheet.types';
4
+ /**
5
+ * 复用 Dialog 的 trigger 逻辑(多态、disabled、aria-haspopup/expanded/state),
6
+ * 只替换 `data-slot`。
7
+ */
8
+ export declare const SheetTrigger: <T extends ValidComponent = typeof Button<"button">>(props: SheetTriggerProps<T>) => import('solid-js').JSX.Element;
@@ -0,0 +1,32 @@
1
+ import { mergeRefs as e } from "../../../utils/ref.js";
2
+ import { Button as t } from "../../button/Button.js";
3
+ import { useDialogTrigger as n } from "../../dialog/DialogTrigger/useDialogTrigger.js";
4
+ import { Dynamic as r, createComponent as i, mergeProps as a } from "solid-js/web";
5
+ //#region src/components/sheet/SheetTrigger/SheetTrigger.tsx
6
+ var o = (o) => {
7
+ let { open: s, isDisabled: c, attachListeners: l } = n(() => o);
8
+ return i(r, a(o, {
9
+ get component() {
10
+ return o.component ?? t;
11
+ },
12
+ ref(t) {
13
+ var n = e(o.ref, l);
14
+ typeof n == "function" && n(t);
15
+ },
16
+ get disabled() {
17
+ return c();
18
+ },
19
+ "data-slot": "sheet-trigger",
20
+ "aria-haspopup": "dialog",
21
+ get "aria-expanded"() {
22
+ return s();
23
+ },
24
+ get "data-state"() {
25
+ return s() ? "open" : "closed";
26
+ }
27
+ }));
28
+ };
29
+ //#endregion
30
+ export { o as SheetTrigger };
31
+
32
+ //# sourceMappingURL=SheetTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SheetTrigger.js","names":["ValidComponent","Dynamic","Button","useDialogTrigger","mergeRefs","SheetTriggerProps","SheetTrigger","props","T","open","isDisabled","attachListeners","_$createComponent","_$mergeProps","component","ref","r$","_ref$","disabled","aria-expanded","data-state","_$createComponent","_$mergeProps","SheetTrigger","useDialogTrigger","props","createComponent","Dynamic","mergeProps","Button","_ref$","mergeRefs","attachListeners","r$","isDisabled","open"],"sources":["../../../../src/components/sheet/SheetTrigger/SheetTrigger.tsx"],"sourcesContent":["import type { ValidComponent } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport { Button } from \"~/components/button\";\nimport { useDialogTrigger } from \"~/components/dialog\";\nimport { mergeRefs } from \"~/utils\";\nimport type { SheetTriggerProps } from \"../sheet.types\";\n\n/**\n * 复用 Dialog 的 trigger 逻辑(多态、disabled、aria-haspopup/expanded/state),\n * 只替换 `data-slot`。\n */\nexport const SheetTrigger = <\n T extends ValidComponent = typeof Button<\"button\">,\n>(\n props: SheetTriggerProps<T>,\n) => {\n const { open, isDisabled, attachListeners } = useDialogTrigger(() => props);\n\n return (\n <Dynamic\n {...props}\n component={(props.component as ValidComponent) ?? Button<\"button\">}\n ref={mergeRefs(props.ref, attachListeners)}\n disabled={isDisabled()}\n data-slot=\"sheet-trigger\"\n aria-haspopup=\"dialog\"\n aria-expanded={open()}\n data-state={open() ? \"open\" : \"closed\"}\n />\n );\n};\n"],"mappings":";;;;;AAWA,IAAaM,KAGXC,MACG;CACH,IAAM,EAAEE,SAAMC,eAAYC,uBAAoBR,QAAuBI,CAAK;CAE1E,OAAAK,EACGX,GAAOY,EACFN,GAAK;EAAA,IACTO,YAAS;GAAA,OAAGP,EAAMO,aAAgCZ;EAAgB;EAAAa,IAAAC,GAAA;GAAA,IAAAC,IAC7Db,EAAUG,EAAMQ,KAAKJ,CAAe;GAAC,OAAAM,KAAA,cAAAA,EAAAD,CAAA;EAAA;EAAA,IAC1CE,WAAQ;GAAA,OAAER,EAAW;EAAC;EAAA,aAAA;EAAA,iBAAA;EAAA,IAAA,kBAAA;GAAA,OAGPD,EAAK;EAAC;EAAA,IAAA,eAAA;GAAA,OACTA,EAAK,IAAI,SAAS;EAAQ;CAAA,CAAA,CAAA;AAG5C"}
@@ -0,0 +1 @@
1
+ export { SheetTrigger } from './SheetTrigger';
@@ -0,0 +1,9 @@
1
+ export { Sheet } from './Sheet';
2
+ export { SheetTrigger } from './SheetTrigger';
3
+ export { SheetClose } from './SheetClose';
4
+ export { SheetContent } from './SheetContent';
5
+ export { SheetHeader } from './SheetHeader';
6
+ export { SheetFooter } from './SheetFooter';
7
+ export { SheetTitle } from './SheetTitle';
8
+ export { SheetDescription } from './SheetDescription';
9
+ export type { SheetSide, SheetProps, SheetTriggerProps, SheetCloseProps, SheetContentProps, SheetHeaderProps, SheetFooterProps, SheetTitleProps, SheetDescriptionProps, } from './sheet.types';
@@ -0,0 +1,9 @@
1
+ import { Sheet as e } from "./Sheet/Sheet.js";
2
+ import { SheetTrigger as t } from "./SheetTrigger/SheetTrigger.js";
3
+ import { SheetClose as n } from "./SheetClose/SheetClose.js";
4
+ import { SheetContent as r } from "./SheetContent/SheetContent.js";
5
+ import { SheetHeader as i } from "./SheetHeader/SheetHeader.js";
6
+ import { SheetFooter as a } from "./SheetFooter/SheetFooter.js";
7
+ import { SheetTitle as o } from "./SheetTitle/SheetTitle.js";
8
+ import { SheetDescription as s } from "./SheetDescription/SheetDescription.js";
9
+ export { e as Sheet, n as SheetClose, r as SheetContent, s as SheetDescription, a as SheetFooter, i as SheetHeader, o as SheetTitle, t as SheetTrigger };
@@ -0,0 +1,19 @@
1
+ import { ValidComponent } from 'solid-js';
2
+ import { ButtonProps } from '../button';
3
+ import { DialogProps, DialogSurfaceProps } from '../dialog';
4
+ import { BaseProps, PolymorphicProps } from '../../types';
5
+ export type SheetSide = "top" | "right" | "bottom" | "left";
6
+ /** Sheet 根:复用 Dialog 的 open/defaultOpen/onOpenChange/lockScroll */
7
+ export type SheetProps = DialogProps;
8
+ export type SheetTriggerProps<T extends ValidComponent> = PolymorphicProps<T>;
9
+ export type SheetCloseProps = ButtonProps<"button">;
10
+ export type SheetContentProps = DialogSurfaceProps & {
11
+ /** 贴靠的屏幕边缘,默认 "right" */
12
+ side?: SheetSide;
13
+ /** 是否显示右上角关闭按钮,默认 true */
14
+ showCloseButton?: boolean;
15
+ };
16
+ export type SheetHeaderProps = PolymorphicProps<"div", BaseProps, false>;
17
+ export type SheetFooterProps = PolymorphicProps<"div", BaseProps, false>;
18
+ export type SheetTitleProps = PolymorphicProps<"h2", BaseProps, false>;
19
+ export type SheetDescriptionProps = PolymorphicProps<"p", BaseProps, false>;
@@ -1,6 +1,6 @@
1
1
  import { clsx as e } from "../../../utils/clsx.js";
2
2
  import { getAlignment as t, getSide as n } from "../../../lib/positioner/core/placement.js";
3
- import { getTransformOrigin as r } from "./TooltipContent.utils.js";
3
+ import { getTransformOrigin as r } from "../../../lib/positioner/utils/floating.js";
4
4
  import { useTooltipContent as i } from "./useTooltipContent.js";
5
5
  import { TooltipContentContext as a } from "./TooltipContent.context.js";
6
6
  import { Portal as o, createComponent as s, effect as c, insert as l, mergeProps as u, setAttribute as d, spread as f, style as p, template as m, use as h } from "solid-js/web";
@@ -1,58 +1,14 @@
1
- import { Middleware, Placement, Side, Alignment } from '../../../lib';
2
- /**
3
- * 把 shadcn/Radix 风格的 side + align 拆分参数,转换成核心库统一用的
4
- * `Placement` 字符串(比如 side='top' + align='start' → 'top-start')。
5
- * align 是 'center'(默认对齐、不偏移)时不带后缀,直接是 side 本身。
6
- */
7
- export declare function toPhysicalSide(side: Side | "inline-start" | "inline-end", dir?: string): Side;
8
- export declare function toPlacement(side: Side | "inline-start" | "inline-end", align: Alignment | "center", dir?: string): Placement;
9
- /**
10
- * 根据最终生效的 placement,算出缩放动画应该以哪个点为锚点(CSS transform-origin)。
11
- * 锚点应该落在"贴近 trigger 的那条边"上——比如 placement 是 'top'(content 在
12
- * trigger 上方),锚点就该是 content 自己的底边,缩放动画看起来才会像是
13
- * "从 trigger 那里长出来",而不是原地放大缩小(默认的 transform-origin 是
14
- * 几何中心 50% 50%,视觉上和"从哪个方向冒出来"没有任何关联)。
15
- * 交叉轴(对齐方向)同理:align 是 start 就贴左/上边,end 就贴右/下边。
16
- */
17
- export declare function getTransformOrigin(placement: Placement): string;
1
+ import { Middleware } from '../../../lib';
2
+ export { toPhysicalSide, toPlacement, getTransformOrigin, } from '../../../lib';
18
3
  export interface BuildTooltipMiddlewareOptions {
19
4
  sideOffset: number;
20
- /** 沿交叉轴(对齐方向)的偏移,对应 offset middleware 的 crossAxis */
5
+ /** 沿交叉轴(对齐方向)的偏移,对应 offset middleware 的 crossAxis */
21
6
  alignOffset: number;
22
7
  collisionPadding: number;
23
8
  arrowElement: () => Element | undefined;
24
9
  }
25
10
  /**
26
- * Tooltip 定位管线的固定配方:
27
- *
28
- * 1. offset — 沿主轴保持 sideOffset 间距,沿交叉轴偏移 alignOffset
29
- * 2. flip — 主轴方向放不下就翻到对面(比如上方没空间就翻到下方)
30
- * 3. shift — 翻转后仍溢出,就在不换边的前提下贴边平移
31
- * 4. arrow — 算出箭头相对 content 的偏移,让它始终指向 trigger 中心
32
- * 5. hide — trigger 被自己的滚动容器完全裁掉时标记隐藏
33
- * 6. containingBlockOffset — 修正祖先元素 transform 等属性导致的 position:fixed
34
- * 包含块偏移(demo 里通常不出现,放进有大量 transform 的真实项目后才会暴露,
35
- * 详见该 middleware 自身的注释)。放在最后一位,因为它修正的是"最终要写进
36
- * DOM 的坐标",前面几步都在统一的视口坐标系里计算,不受这个偏移影响。
37
- *
38
- * 特意没有用 size 中间件去动态限制 max-height、允许内容超长时滚动——
39
- * tooltip 不应该出现滚动条(这不是本库的一般性限制,是 tooltip 这个组件
40
- * 类型本身该有的样子,shadcn/Radix 的 Tooltip 也是这么做的)。宽度上限
41
- * 靠 TooltipContent.tsx 里静态的 `max-w-xs` class 兜底,让文字自然换行;
42
- * 高度完全不做限制,交给内容自身的实际高度决定。
43
- *
44
- * 这个决定还有一个技术上的原因:早先的实现里试过用 size 中间件动态算
45
- * max-height 配合 overflow:auto 实现"超长内容可滚动",结果发现内层元素
46
- * 一旦同时具备 overflow:auto 和入场动画(zoom-in-95 会给它加一个 transform),
47
- * 动画播放期间 transform 会让这个元素变成箭头新的包含块(CSS 规范:非 none
48
- * 的 transform 会创建包含块),箭头戳出内层边缘的那部分又会被算进内层的
49
- * 可滚动溢出区域——于是出现了"打开瞬间闪一下滚动条,箭头跟着被遮住,
50
- * 动画播完滚动条消失、箭头才重新出现"这种诡异现象。去掉滚动能力后,
51
- * 这个耦合从根上就不存在了。
52
- *
53
- * 顺序不能随便换:arrow 必须在 shift/flip 之后(要用最终坐标才能算对偏移),
54
- * containingBlockOffset 必须在所有其他 middleware 之后。
55
- *
56
- * 单独抽成函数是为了让 useTooltipContent 保持简洁,也方便针对这套管线单独测试。
11
+ * Tooltip 定位管线:offset → flip → shift → arrow → hide → containingBlockOffset。
12
+ * 与 Popover/HoverCard 共用 createFloatingMiddleware,只多了 arrow。
57
13
  */
58
14
  export declare function createTooltipMiddleware(options: BuildTooltipMiddlewareOptions): Middleware[];
@@ -1,44 +1,15 @@
1
- import { getAlignment as e, getSide as t } from "../../../lib/positioner/core/placement.js";
2
- import { offset as n } from "../../../lib/positioner/middleware/offset.js";
3
- import { shift as r } from "../../../lib/positioner/middleware/shift.js";
4
- import { flip as i } from "../../../lib/positioner/middleware/flip.js";
5
- import { arrow as a } from "../../../lib/positioner/middleware/arrow.js";
6
- import { hide as o } from "../../../lib/positioner/middleware/hide.js";
7
- import { containingBlockOffset as s } from "../../../lib/positioner/middleware/containing-block-offset.js";
1
+ import { createFloatingMiddleware as e, getTransformOrigin as t, toPlacement as n } from "../../../lib/positioner/utils/floating.js";
8
2
  //#region src/components/tooltip/TooltipContent/TooltipContent.utils.ts
9
- function c(e, t) {
10
- return e === "inline-start" ? t === "rtl" ? "right" : "left" : e === "inline-end" ? t === "rtl" ? "left" : "right" : e;
11
- }
12
- function l(e, t, n) {
13
- let r = c(e, n);
14
- return t === "center" ? r : `${r}-${t}`;
15
- }
16
- function u(n) {
17
- let r = t(n), i = e(n), a = i === "start" ? "0%" : i === "end" ? "100%" : "50%";
18
- switch (r) {
19
- case "top": return `${a} 100%`;
20
- case "bottom": return `${a} 0%`;
21
- case "left": return `100% ${a}`;
22
- case "right": return `0% ${a}`;
23
- }
24
- }
25
- function d(e) {
26
- return [
27
- n({
28
- mainAxis: e.sideOffset,
29
- crossAxis: e.alignOffset
30
- }),
31
- i(),
32
- r({ padding: e.collisionPadding }),
33
- a({
34
- element: e.arrowElement,
35
- padding: 6
36
- }),
37
- o(),
38
- s()
39
- ];
3
+ function r(t) {
4
+ return e({
5
+ sideOffset: t.sideOffset,
6
+ alignOffset: t.alignOffset,
7
+ collisionPadding: t.collisionPadding,
8
+ arrowElement: t.arrowElement,
9
+ arrowPadding: 6
10
+ });
40
11
  }
41
12
  //#endregion
42
- export { d as createTooltipMiddleware, u as getTransformOrigin, c as toPhysicalSide, l as toPlacement };
13
+ export { r as createTooltipMiddleware, t as getTransformOrigin, n as toPlacement };
43
14
 
44
15
  //# sourceMappingURL=TooltipContent.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipContent.utils.js","names":["toPhysicalSide","side","dir","toPlacement","physical","align","getTransformOrigin","getSide","placement","getAlignment","crossAxisOrigin","createTooltipMiddleware","offset","options","flip","shift","arrow","hide","containingBlockOffset"],"sources":["../../../../src/components/tooltip/TooltipContent/TooltipContent.utils.ts"],"sourcesContent":["import {\n offset,\n flip,\n shift,\n arrow,\n hide,\n containingBlockOffset,\n getSide,\n getAlignment,\n type Middleware,\n type Placement,\n type Side,\n type Alignment,\n} from \"~/lib\";\n\n/**\n * 把 shadcn/Radix 风格的 side + align 拆分参数,转换成核心库统一用的\n * `Placement` 字符串(比如 side='top' + align='start' → 'top-start')。\n * align 是 'center'(默认对齐、不偏移)时不带后缀,直接是 side 本身。\n */\nexport function toPhysicalSide(\n side: Side | \"inline-start\" | \"inline-end\",\n dir?: string,\n): Side {\n if (side === \"inline-start\") {\n return dir === \"rtl\" ? \"right\" : \"left\";\n }\n if (side === \"inline-end\") {\n return dir === \"rtl\" ? \"left\" : \"right\";\n }\n return side;\n}\n\nexport function toPlacement(\n side: Side | \"inline-start\" | \"inline-end\",\n align: Alignment | \"center\",\n dir?: string,\n): Placement {\n const physical = toPhysicalSide(side, dir);\n return align === \"center\" ? physical : (`${physical}-${align}` as Placement);\n}\n\n/**\n * 根据最终生效的 placement,算出缩放动画应该以哪个点为锚点(CSS transform-origin)。\n * 锚点应该落在\"贴近 trigger 的那条边\"上——比如 placement 是 'top'(content 在\n * trigger 上方),锚点就该是 content 自己的底边,缩放动画看起来才会像是\n * \"从 trigger 那里长出来\",而不是原地放大缩小(默认的 transform-origin 是\n * 几何中心 50% 50%,视觉上和\"从哪个方向冒出来\"没有任何关联)。\n * 交叉轴(对齐方向)同理:align 是 start 就贴左/上边,end 就贴右/下边。\n */\nexport function getTransformOrigin(placement: Placement): string {\n const side = getSide(placement);\n const align = getAlignment(placement);\n const crossAxisOrigin =\n align === \"start\" ? \"0%\" : align === \"end\" ? \"100%\" : \"50%\";\n\n switch (side) {\n case \"top\":\n return `${crossAxisOrigin} 100%`;\n case \"bottom\":\n return `${crossAxisOrigin} 0%`;\n case \"left\":\n return `100% ${crossAxisOrigin}`;\n case \"right\":\n return `0% ${crossAxisOrigin}`;\n }\n}\n\nexport interface BuildTooltipMiddlewareOptions {\n sideOffset: number;\n /** 沿交叉轴(对齐方向)的偏移,对应 offset middleware 的 crossAxis */\n alignOffset: number;\n collisionPadding: number;\n arrowElement: () => Element | undefined;\n}\n\n/**\n * Tooltip 定位管线的固定配方:\n *\n * 1. offset — 沿主轴保持 sideOffset 间距,沿交叉轴偏移 alignOffset\n * 2. flip — 主轴方向放不下就翻到对面(比如上方没空间就翻到下方)\n * 3. shift — 翻转后仍溢出,就在不换边的前提下贴边平移\n * 4. arrow — 算出箭头相对 content 的偏移,让它始终指向 trigger 中心\n * 5. hide — trigger 被自己的滚动容器完全裁掉时标记隐藏\n * 6. containingBlockOffset — 修正祖先元素 transform 等属性导致的 position:fixed\n * 包含块偏移(demo 里通常不出现,放进有大量 transform 的真实项目后才会暴露,\n * 详见该 middleware 自身的注释)。放在最后一位,因为它修正的是\"最终要写进\n * DOM 的坐标\",前面几步都在统一的视口坐标系里计算,不受这个偏移影响。\n *\n * 特意没有用 size 中间件去动态限制 max-height、允许内容超长时滚动——\n * tooltip 不应该出现滚动条(这不是本库的一般性限制,是 tooltip 这个组件\n * 类型本身该有的样子,shadcn/Radix 的 Tooltip 也是这么做的)。宽度上限\n * 靠 TooltipContent.tsx 里静态的 `max-w-xs` class 兜底,让文字自然换行;\n * 高度完全不做限制,交给内容自身的实际高度决定。\n *\n * 这个决定还有一个技术上的原因:早先的实现里试过用 size 中间件动态算\n * max-height 配合 overflow:auto 实现\"超长内容可滚动\",结果发现内层元素\n * 一旦同时具备 overflow:auto 和入场动画(zoom-in-95 会给它加一个 transform),\n * 动画播放期间 transform 会让这个元素变成箭头新的包含块(CSS 规范:非 none\n * 的 transform 会创建包含块),箭头戳出内层边缘的那部分又会被算进内层的\n * 可滚动溢出区域——于是出现了\"打开瞬间闪一下滚动条,箭头跟着被遮住,\n * 动画播完滚动条消失、箭头才重新出现\"这种诡异现象。去掉滚动能力后,\n * 这个耦合从根上就不存在了。\n *\n * 顺序不能随便换:arrow 必须在 shift/flip 之后(要用最终坐标才能算对偏移),\n * containingBlockOffset 必须在所有其他 middleware 之后。\n *\n * 单独抽成函数是为了让 useTooltipContent 保持简洁,也方便针对这套管线单独测试。\n */\nexport function createTooltipMiddleware(\n options: BuildTooltipMiddlewareOptions,\n): Middleware[] {\n return [\n offset({ mainAxis: options.sideOffset, crossAxis: options.alignOffset }),\n flip(),\n shift({ padding: options.collisionPadding }),\n arrow({ element: options.arrowElement, padding: 6 }),\n hide(),\n containingBlockOffset(),\n ];\n}\n"],"mappings":";;;;;;;;AAoBA,SAAgBA,EACd,GACA,GACM;CAON,OANIC,MAAS,iBACJC,MAAQ,QAAQ,UAAU,SAE/BD,MAAS,eACJC,MAAQ,QAAQ,SAAS,UAE3BD;AACT;AAEA,SAAgBE,EACd,GACA,GACA,GACW;CACX,IAAMC,IAAWJ,EAAeC,GAAMC,CAAG;CACzC,OAAOG,MAAU,WAAWD,IAAY,GAAGA,EAAS,GAAGC;AACzD;AAUA,SAAgBC,EAAmB,GAA8B;CAC/D,IAAML,IAAOM,EAAQC,CAAS,GACxBH,IAAQI,EAAaD,CAAS,GAC9BE,IACJL,MAAU,UAAU,OAAOA,MAAU,QAAQ,SAAS;CAExD,QAAQJ,GAAR;EACE,KAAK,OACH,OAAO,GAAGS,EAAgB;EAC5B,KAAK,UACH,OAAO,GAAGA,EAAgB;EAC5B,KAAK,QACH,OAAO,QAAQA;EACjB,KAAK,SACH,OAAO,MAAMA;CACjB;AACF;AA2CA,SAAgBC,EACd,GACc;CACd,OAAO;EACLC,EAAO;GAAE,UAAUC,EAAQ;GAAY,WAAWA,EAAQ;EAAY,CAAC;EACvEC,EAAK;EACLC,EAAM,EAAE,SAASF,EAAQ,iBAAiB,CAAC;EAC3CG,EAAM;GAAE,SAASH,EAAQ;GAAc,SAAS;EAAE,CAAC;EACnDI,EAAK;EACLC,EAAsB;CACxB;AACF"}
1
+ {"version":3,"file":"TooltipContent.utils.js","names":["createTooltipMiddleware","createFloatingMiddleware","options","getTransformOrigin","toPlacement"],"sources":["../../../../src/components/tooltip/TooltipContent/TooltipContent.utils.ts"],"sourcesContent":["import { createFloatingMiddleware, type Middleware } from \"~/lib\";\n\n// 定位相关的纯函数已抽到 ~/lib/positioner/utils/floating,这里保留原有导出名,\n// 避免 Tooltip 内部 import 变动。\nexport {\n toPhysicalSide,\n toPlacement,\n getTransformOrigin,\n} from \"~/lib\";\n\nexport interface BuildTooltipMiddlewareOptions {\n sideOffset: number;\n /** 沿交叉轴(对齐方向)的偏移,对应 offset middleware 的 crossAxis */\n alignOffset: number;\n collisionPadding: number;\n arrowElement: () => Element | undefined;\n}\n\n/**\n * Tooltip 定位管线:offset → flip → shift → arrow → hide → containingBlockOffset。\n * 与 Popover/HoverCard 共用 createFloatingMiddleware,只多了 arrow。\n */\nexport function createTooltipMiddleware(\n options: BuildTooltipMiddlewareOptions,\n): Middleware[] {\n return createFloatingMiddleware({\n sideOffset: options.sideOffset,\n alignOffset: options.alignOffset,\n collisionPadding: options.collisionPadding,\n arrowElement: options.arrowElement,\n arrowPadding: 6,\n });\n}\n"],"mappings":";;AAsBA,SAAgBA,EACd,GACc;CACd,OAAOC,EAAyB;EAC9B,YAAYC,EAAQ;EACpB,aAAaA,EAAQ;EACrB,kBAAkBA,EAAQ;EAC1B,cAAcA,EAAQ;EACtB,cAAc;CAChB,CAAC;AACH"}
@@ -1,14 +1,15 @@
1
1
  import { createPositioner as e } from "../../../lib/positioner/create-positioner.js";
2
- import { useTooltipContext as t } from "../Tooltip/Tooltip.context.js";
3
- import { createTooltipMiddleware as n, toPlacement as r } from "./TooltipContent.utils.js";
2
+ import { toPlacement as t } from "../../../lib/positioner/utils/floating.js";
3
+ import { useTooltipContext as n } from "../Tooltip/Tooltip.context.js";
4
+ import { createTooltipMiddleware as r } from "./TooltipContent.utils.js";
4
5
  import { createEffect as i, createMemo as a, createSignal as o, onCleanup as s } from "solid-js";
5
6
  //#region src/components/tooltip/TooltipContent/useTooltipContent.ts
6
7
  var c = 300;
7
8
  function l(l) {
8
- let u = t("TooltipContent"), [d, f] = o(), [p, m] = o(), h = e(u.reference, u.floating, {
9
- placement: () => r(l().side ?? "top", l().align ?? "center", l().dir),
9
+ let u = n("TooltipContent"), [d, f] = o(), [p, m] = o(), h = e(u.reference, u.floating, {
10
+ placement: () => t(l().side ?? "top", l().align ?? "center", l().dir),
10
11
  strategy: "fixed",
11
- middleware: () => n({
12
+ middleware: () => r({
12
13
  sideOffset: l().sideOffset ?? 4,
13
14
  alignOffset: l().alignOffset ?? 0,
14
15
  collisionPadding: l().collisionPadding ?? 8,