@astryx-vue/core 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (505) hide show
  1. package/dist/AlertDialog/index.js +1 -1
  2. package/dist/{AlertDialog-RAVA_cT1.js → AlertDialog-C2inDZWG.js} +5 -5
  3. package/dist/AppShell/index.js +1 -1
  4. package/dist/{AppShell-0wTvOo3H.js → AppShell-CumzH-8z.js} +3 -3
  5. package/dist/Avatar/index.js +1 -1
  6. package/dist/{Avatar-pPZ4dI_s.js → Avatar-BW0TE8t9.js} +47 -34
  7. package/dist/AvatarGroup/index.d.ts +1 -1
  8. package/dist/AvatarGroup/index.js +1 -1
  9. package/dist/{AvatarGroup-B--NQSB3.js → AvatarGroup-DLC_FFR5.js} +57 -13
  10. package/dist/Banner/index.d.ts +1 -1
  11. package/dist/Banner/index.js +1 -1
  12. package/dist/{Banner-GbGxrqQO.js → Banner-C5VAwo4D.js} +68 -34
  13. package/dist/Blockquote/index.js +1 -1
  14. package/dist/Blockquote-DRoKdcxZ.js +27 -0
  15. package/dist/BottomSheet/index.d.ts +1 -1
  16. package/dist/BottomSheet/index.js +2 -2
  17. package/dist/{BottomSheet-pt7m4CvC.js → BottomSheet-B4sc3F1S.js} +286 -140
  18. package/dist/{BottomSheet-JYMB_Ofl.js → BottomSheet-m54uCMJN.js} +20 -4
  19. package/dist/Breadcrumbs/index.d.ts +2 -2
  20. package/dist/Breadcrumbs/index.js +2 -2
  21. package/dist/Breadcrumbs-CTaz7Kh4.js +223 -0
  22. package/dist/Button/index.d.ts +1 -1
  23. package/dist/Button/index.js +1 -1
  24. package/dist/{Button-B6Hj_O_s.js → Button-ONOoHdkg.js} +25 -15
  25. package/dist/ButtonGroup/index.d.ts +1 -1
  26. package/dist/ButtonGroup/index.js +1 -1
  27. package/dist/ButtonGroup-DnkSZ9a5.js +87 -0
  28. package/dist/{ButtonTooltip-nWWrth8j.js → ButtonTooltip-CNKOQHYR.js} +7 -4
  29. package/dist/Calendar/index.d.ts +1 -1
  30. package/dist/Calendar/index.js +1 -1
  31. package/dist/{Calendar-B7vIowKq.js → Calendar-BAqzzQm2.js} +5 -5
  32. package/dist/Card/index.d.ts +2 -2
  33. package/dist/Carousel/index.js +1 -1
  34. package/dist/{Carousel-CA8zpD9v.js → Carousel-DXC22UWq.js} +4 -4
  35. package/dist/Chat/index.d.ts +1 -1
  36. package/dist/Chat/index.js +1 -1
  37. package/dist/{Chat-Bmna9EOA.js → Chat-BdJW6IX5.js} +147 -83
  38. package/dist/CheckboxIndicator/index.js +1 -1
  39. package/dist/{CheckboxIndicator-D37cm2Rh.js → CheckboxIndicator-fH4d-JE1.js} +9 -3
  40. package/dist/CheckboxInput/index.d.ts +1 -1
  41. package/dist/CheckboxInput/index.js +1 -1
  42. package/dist/{CheckboxInput-BS9J6edf.js → CheckboxInput-DJHCbwgC.js} +19 -11
  43. package/dist/CheckboxList/index.d.ts +1 -1
  44. package/dist/CheckboxList/index.js +1 -1
  45. package/dist/{CheckboxList-CX1i_jVP.js → CheckboxList-BdZIP4_J.js} +155 -38
  46. package/dist/Citation/index.js +1 -1
  47. package/dist/{Citation-Djgwa0ko.js → Citation-DbZn2vms.js} +8 -3
  48. package/dist/ClickableCard/index.d.ts +1 -1
  49. package/dist/ClickableCard/index.js +1 -1
  50. package/dist/{ClickableCard-DUsC-j03.js → ClickableCard-ChAfiw9T.js} +9 -6
  51. package/dist/Code/index.js +3 -3
  52. package/dist/{Code-XnPuGxey.js → Code-Bg7GBdxy.js} +2 -1
  53. package/dist/{CodeBlock-D0BFubut.js → CodeBlock-Caaflp7C.js} +3 -3
  54. package/dist/Collapsible/index.d.ts +1 -1
  55. package/dist/Collapsible/index.js +1 -1
  56. package/dist/{Collapsible-Cov3Pyq5.js → Collapsible-Bdj0WYpb.js} +13 -11
  57. package/dist/CommandPalette/index.d.ts +1 -1
  58. package/dist/CommandPalette/index.js +1 -1
  59. package/dist/{CommandPalette-YHsUNg3V.js → CommandPalette-C_MClfAg.js} +143 -63
  60. package/dist/ComplexSelector/index.d.ts +1 -1
  61. package/dist/ComplexSelector/index.js +1 -1
  62. package/dist/{ComplexSelector-DWLdKPGI.js → ComplexSelector-BeVQaqRf.js} +85 -20
  63. package/dist/ContextMenu/index.d.ts +2 -2
  64. package/dist/ContextMenu/index.js +2 -2
  65. package/dist/{ContextMenu-Bq9b3Ti5.js → ContextMenu-C6hPYvYz.js} +297 -179
  66. package/dist/DateInput/index.d.ts +1 -1
  67. package/dist/DateInput/index.js +1 -1
  68. package/dist/{DateInput-DT518j5E.js → DateInput-BjLdmYor.js} +567 -76
  69. package/dist/DateRangeInput/index.d.ts +1 -1
  70. package/dist/DateRangeInput/index.js +1 -1
  71. package/dist/{DateRangeInput-Bqi5tlIA.js → DateRangeInput-Br3wVEfD.js} +85 -20
  72. package/dist/DateTimeInput/index.d.ts +1 -1
  73. package/dist/DateTimeInput/index.js +1 -1
  74. package/dist/DateTimeInput-CAZBwoRe.js +562 -0
  75. package/dist/Dialog/index.d.ts +1 -1
  76. package/dist/Dialog/index.js +2 -2
  77. package/dist/{Dialog-BiOSKQso.js → Dialog-Dce4Y97V.js} +28 -11
  78. package/dist/{Dialog-FGHfDu5M.js → Dialog-fhyxB00e.js} +32 -5
  79. package/dist/Divider/index.d.ts +1 -1
  80. package/dist/Divider/index.js +1 -1
  81. package/dist/{Divider-BtwnL18I.js → Divider-mOZ6vIQw.js} +5 -1
  82. package/dist/DropdownMenu/index.d.ts +2 -2
  83. package/dist/DropdownMenu/index.js +3 -3
  84. package/dist/{DropdownMenu-CoOQVlRp.js → DropdownMenu-BdGmQVb1.js} +85 -57
  85. package/dist/{DropdownMenu-DEb2dSSP.js → DropdownMenu-BzQrNV9C.js} +479 -264
  86. package/dist/{DropdownMenuRadioItem.vue-CXEURBcq.d.ts → DropdownMenuRadioItem.vue-Qd-8Rg4Q.d.ts} +236 -230
  87. package/dist/EmptyState/index.js +1 -1
  88. package/dist/{EmptyState-C_GH7IV5.js → EmptyState-CmOQf2SH.js} +2 -2
  89. package/dist/Field/index.d.ts +4 -3
  90. package/dist/Field/index.js +4 -3
  91. package/dist/{Field-D5gUEGw4.js → Field--OEsLBfE.js} +4 -3
  92. package/dist/{FieldInfoTip-Ds-sW_jY.js → FieldInfoTip-gxsnfkZw.js} +3 -3
  93. package/dist/{FieldLabel-BNeXRuGH.js → FieldLabel-jxIiWgLw.js} +12 -7
  94. package/dist/FieldStatus/index.d.ts +1 -1
  95. package/dist/FileInput/index.d.ts +1 -1
  96. package/dist/FileInput/index.js +1 -1
  97. package/dist/{FileInput-BpdiO1V8.js → FileInput-B_pUxB0Y.js} +106 -29
  98. package/dist/FormLayout/index.d.ts +1 -1
  99. package/dist/FormLayout/index.js +1 -1
  100. package/dist/{FormLayout-D47FjiOq.js → FormLayout-B9dUB6Ps.js} +1 -1
  101. package/dist/Heading/index.d.ts +1 -1
  102. package/dist/Heading/index.js +1 -1
  103. package/dist/{Heading-BnwWEWkp.js → Heading-BzBunfN7.js} +1 -1
  104. package/dist/HoverCard/index.js +1 -1
  105. package/dist/{HoverCard-ycY50pRN.js → HoverCard-BpJhT0sn.js} +35 -22
  106. package/dist/Icon/index.d.ts +4 -4
  107. package/dist/Icon/index.js +1 -1
  108. package/dist/{Icon-bteSId7T.js → Icon-KDnUyY7f.js} +12 -20
  109. package/dist/IconButton/index.js +1 -1
  110. package/dist/{IconButton-DDNgNl7B.js → IconButton-DI-XBbtV.js} +1 -1
  111. package/dist/Indicator/index.d.ts +2 -2
  112. package/dist/Indicator/index.js +2 -1
  113. package/dist/InputClearButton-CwXPan8c.js +40 -0
  114. package/dist/InputGroup/index.d.ts +1 -1
  115. package/dist/InputGroup/index.js +2 -2
  116. package/dist/{InputGroup-CA03Smrs.js → InputGroup-DiiocoIW.js} +2 -2
  117. package/dist/InternationalizationProvider/index.d.ts +1 -1
  118. package/dist/InternationalizationProvider/index.js +1 -1
  119. package/dist/{InternationalizationProvider-DJay_w3B.js → InternationalizationProvider-kBapgKAQ.js} +5 -9
  120. package/dist/{Item-KhFKX9St.js → Item-DWMIjN8n.js} +34 -9
  121. package/dist/Kbd/index.js +1 -1
  122. package/dist/{Kbd-BB-Dw6zE.js → Kbd-CV3LO2Ge.js} +18 -2
  123. package/dist/LayerContentBoundary-CvsKxwwm.js +27 -0
  124. package/dist/LayerProvider/index.js +1 -1
  125. package/dist/{LayerProvider-D9NsQFzL.js → LayerProvider-B6zpMBWC.js} +15 -3
  126. package/dist/Layout/index.d.ts +1 -1
  127. package/dist/Layout/index.js +2 -2
  128. package/dist/{Layout-C6RHllr-.js → Layout-JJRCG7Mf.js} +1 -1
  129. package/dist/{LayoutPanel-DXOsaeQb.js → LayoutPanel-zM5vjrKS.js} +12 -8
  130. package/dist/Lightbox/index.js +1 -1
  131. package/dist/{Lightbox-DTF9EdTG.js → Lightbox-D8wyPgMK.js} +8 -6
  132. package/dist/Link/index.js +1 -1
  133. package/dist/{Link-BqHCtiyt.js → Link-DweIpOtN.js} +29 -12
  134. package/dist/List/index.d.ts +1 -1
  135. package/dist/List/index.js +2 -2
  136. package/dist/{ListItem-8RWT8XAG.js → ListItem-BQXMu1Tb.js} +1 -1
  137. package/dist/Markdown/index.d.ts +5 -2
  138. package/dist/Markdown/index.js +5 -2
  139. package/dist/Markdown/parser/index.d.ts +4 -0
  140. package/dist/Markdown/parser/index.js +3 -0
  141. package/dist/Markdown/plugin-protocol/index.d.ts +35 -0
  142. package/dist/Markdown/plugin-protocol/index.js +107 -0
  143. package/dist/Markdown/plugin-renderer/index.d.ts +31 -0
  144. package/dist/Markdown/plugin-renderer/index.js +42 -0
  145. package/dist/{Markdown-CvtN7HnF.js → Markdown-DhVfOvXk.js} +195 -484
  146. package/dist/MediaTheme-DlLqYhDy.js +433 -0
  147. package/dist/MetadataList/index.js +1 -1
  148. package/dist/{MetadataList-B-OelQlt.js → MetadataList-CEYceIlN.js} +15 -7
  149. package/dist/MobileNav/index.js +1 -1
  150. package/dist/{MobileNavToggle-DxGz0xKA.js → MobileNavToggle-pdoJFZHx.js} +52 -17
  151. package/dist/MoreMenu/index.d.ts +1 -1
  152. package/dist/MoreMenu/index.js +1 -1
  153. package/dist/{MoreMenu-Dlb7MLlW.js → MoreMenu-CFNqSRev.js} +72 -59
  154. package/dist/MultiSelector/index.d.ts +1 -1
  155. package/dist/MultiSelector/index.js +1 -1
  156. package/dist/MultiSelector-DuVatmq5.js +1456 -0
  157. package/dist/{NavDisclosure-C_fugrQ3.js → NavDisclosure-Bq9DTZLO.js} +29 -7
  158. package/dist/{NavHeadingSurface-B3yJspSN.js → NavHeadingSurface-C4v_MtkX.js} +29 -26
  159. package/dist/NavItem/index.d.ts +1 -1
  160. package/dist/NavItem/index.js +2 -2
  161. package/dist/{NavItem-BBIGSvDj.js → NavItem-BPb3yfgz.js} +17 -4
  162. package/dist/NavMenu/index.d.ts +1 -1
  163. package/dist/NavMenu/index.js +3 -3
  164. package/dist/{NavMenu-ThXguZAz.js → NavMenu-BYIDzjix.js} +42 -15
  165. package/dist/{NavMenuItem-BvJNsDFC.js → NavMenuItem-D3FO90GR.js} +14 -12
  166. package/dist/NumberInput/index.d.ts +1 -1
  167. package/dist/NumberInput/index.js +1 -1
  168. package/dist/NumberInput-B0vzOg3N.js +727 -0
  169. package/dist/Outline/index.d.ts +2 -2
  170. package/dist/Outline/index.js +2 -2
  171. package/dist/{Outline-755h-lMP.js → Outline-CfGv2F1o.js} +91 -6
  172. package/dist/OverflowList/index.d.ts +2 -2
  173. package/dist/OverflowList/index.js +1 -1
  174. package/dist/{OverflowList-NmrSMbxb.js → OverflowList-BgRLZ3dh.js} +23 -6
  175. package/dist/Pagination/index.d.ts +1 -1
  176. package/dist/Pagination/index.js +1 -1
  177. package/dist/{Pagination-DqwNQFRp.js → Pagination-Bfe12018.js} +2 -2
  178. package/dist/PickerWheel-CSwUYfes.js +69 -0
  179. package/dist/Popover/index.d.ts +1 -1
  180. package/dist/Popover/index.js +1 -1
  181. package/dist/{Popover-DJf8POzL.js → Popover-78dFjTb9.js} +20 -15
  182. package/dist/PowerSearch/index.d.ts +1 -1
  183. package/dist/PowerSearch/index.js +1 -1
  184. package/dist/{PowerSearch-DvjiPqMZ.js → PowerSearch-BoAMdFaT.js} +774 -586
  185. package/dist/ProgressBar/index.d.ts +1 -1
  186. package/dist/ProgressBar/index.js +1 -1
  187. package/dist/{ProgressBar-CVLzdoBK.js → ProgressBar-VP4JS7vm.js} +10 -7
  188. package/dist/Radio/index.d.ts +1 -1
  189. package/dist/Radio/index.js +1 -1
  190. package/dist/{RadioGroup-Bfu6JSNV.js → RadioGroup-BIipql-L.js} +94 -26
  191. package/dist/RadioList/index.d.ts +1 -1
  192. package/dist/RadioList/index.js +1 -1
  193. package/dist/{RadioList-xY1cwLdZ.js → RadioList-GyhgBg4j.js} +57 -8
  194. package/dist/Resizable/index.d.ts +1 -1
  195. package/dist/Resizable/index.js +1 -1
  196. package/dist/{ResizeHandle-q4nD_586.js → ResizeHandle-TPlUCAHD.js} +103 -50
  197. package/dist/ScrollableArea/index.d.ts +1 -1
  198. package/dist/ScrollableArea/index.js +1 -1
  199. package/dist/{ScrollableArea-D4dCJv9I.js → ScrollableArea-0u6RWtGG.js} +1 -1
  200. package/dist/SegmentedControl/index.d.ts +1 -1
  201. package/dist/SegmentedControl/index.js +1 -1
  202. package/dist/{SegmentedControl-ChHmFrrC.js → SegmentedControl-D1wWGBZo.js} +11 -5
  203. package/dist/SelectableCard/index.d.ts +1 -1
  204. package/dist/SelectableCard/index.js +1 -1
  205. package/dist/{SelectableCard-Cku4dRzc.js → SelectableCard-BEqnhPaX.js} +16 -11
  206. package/dist/Selector/index.d.ts +1 -1
  207. package/dist/Selector/index.js +1 -1
  208. package/dist/Selector-CPISLzp7.js +1049 -0
  209. package/dist/SideNav/index.d.ts +1 -1
  210. package/dist/SideNav/index.js +1 -1
  211. package/dist/{SideNav-BF8mYDxl.js → SideNav-CN2QeAtY.js} +51 -37
  212. package/dist/Slider/index.d.ts +1 -1
  213. package/dist/Slider/index.js +1 -1
  214. package/dist/{Slider-DWobsPgm.js → Slider-pdC0jpHu.js} +172 -46
  215. package/dist/Spinner/index.js +1 -1
  216. package/dist/Spinner-DdVUadii.js +200 -0
  217. package/dist/Stack/index.d.ts +1 -1
  218. package/dist/Stack/index.js +2 -2
  219. package/dist/{Stack-CTsTFfar.js → Stack-Bb_h60t3.js} +1 -1
  220. package/dist/{Stack-kQlYbbL4.js → Stack-Bp-XN9J4.js} +12 -7
  221. package/dist/StatusDot/index.d.ts +1 -1
  222. package/dist/StatusDot/index.js +1 -1
  223. package/dist/{StatusDot-BPUhMOff.js → StatusDot-BS_ohXhd.js} +8 -4
  224. package/dist/Stepper/index.js +1 -1
  225. package/dist/{Stepper-CE8dHysu.js → Stepper-CyaSRSdu.js} +101 -79
  226. package/dist/Switch/index.d.ts +1 -1
  227. package/dist/Switch/index.js +1 -1
  228. package/dist/{Switch-DaVPRxvN.js → Switch-Z2Vfiiic.js} +38 -22
  229. package/dist/TabList/index.d.ts +2 -2
  230. package/dist/TabList/index.js +1 -1
  231. package/dist/{TabList-DIkK9sgK.js → TabList-DRqP0Hrv.js} +205 -63
  232. package/dist/Table/index.d.ts +3 -3
  233. package/dist/Table/index.js +1 -1
  234. package/dist/{Table-fecqnm7P.js → Table-BcrrylMX.js} +726 -452
  235. package/dist/Text/index.d.ts +1 -1
  236. package/dist/Text/index.js +1 -1
  237. package/dist/{Text-CV3LmscH.js → Text-CmTOgYXf.js} +1 -1
  238. package/dist/TextArea/index.d.ts +1 -1
  239. package/dist/TextArea/index.js +1 -1
  240. package/dist/{TextArea-Ab5Sw60T.js → TextArea-DA9CCG_J.js} +104 -50
  241. package/dist/TextInput/index.d.ts +1 -1
  242. package/dist/TextInput/index.js +1 -1
  243. package/dist/{TextInput-zFT1_qgI.js → TextInput-CI96einV.js} +71 -38
  244. package/dist/Theme/index.d.ts +3 -3
  245. package/dist/Theme/index.js +3 -2
  246. package/dist/Theme-BbDT8B_C.js +2125 -0
  247. package/dist/Thumbnail/index.js +1 -1
  248. package/dist/{Thumbnail-C3NnJUFG.js → Thumbnail-B2ZAY59J.js} +13 -10
  249. package/dist/{TimeField-CoHDGmsP.js → TimeField-CpAgja9D.js} +297 -40
  250. package/dist/TimeInput/index.d.ts +1 -1
  251. package/dist/TimeInput/index.js +1 -1
  252. package/dist/{TimeInput-D2k3Ux3p.js → TimeInput-Bw_lHS4M.js} +78 -9
  253. package/dist/Timer/index.d.ts +1 -1
  254. package/dist/Timer/index.js +1 -1
  255. package/dist/{Timer-avMQk5DN.js → Timer-CH7GsEVu.js} +1 -1
  256. package/dist/Timestamp/index.d.ts +1 -1
  257. package/dist/Timestamp/index.js +1 -1
  258. package/dist/{Timestamp-xpQKCk0d.js → Timestamp-BFNuoTZ0.js} +5 -5
  259. package/dist/Toast/index.d.ts +1 -1
  260. package/dist/Toast/index.js +1 -1
  261. package/dist/Toast-DwnPjx6j.js +685 -0
  262. package/dist/ToggleButton/index.d.ts +1 -1
  263. package/dist/ToggleButton/index.js +1 -1
  264. package/dist/{ToggleButton-B-C-Q7XP.js → ToggleButton-cLjh9W-x.js} +5 -4
  265. package/dist/Token/index.d.ts +1 -1
  266. package/dist/Token/index.js +1 -1
  267. package/dist/{Token-DsntTYhQ.js → Token-BfS4vi__.js} +32 -17
  268. package/dist/Tokenizer/index.d.ts +1 -1
  269. package/dist/Tokenizer/index.js +1 -1
  270. package/dist/{Tokenizer-B5C_qY7t.js → Tokenizer-Ci3E5bvP.js} +107 -23
  271. package/dist/Toolbar/index.d.ts +2 -2
  272. package/dist/Toolbar/index.js +1 -1
  273. package/dist/{Toolbar-BrgvvTCk.js → Toolbar-C0pMWL4S.js} +1 -1
  274. package/dist/Tooltip/index.d.ts +1 -1
  275. package/dist/Tooltip/index.js +1 -1
  276. package/dist/{Tooltip-C4Vaqd3G.js → Tooltip-sAM8i1eO.js} +23 -19
  277. package/dist/TopNav/index.d.ts +1 -1
  278. package/dist/TopNav/index.js +1 -1
  279. package/dist/{TopNav-Ciq0l1w7.js → TopNav-gW59zp1o.js} +16 -15
  280. package/dist/TreeList/index.d.ts +1 -1
  281. package/dist/TreeList/index.js +1 -1
  282. package/dist/{TreeList-BUz-KZJd.js → TreeList-DaoI7zaH.js} +124 -41
  283. package/dist/Typeahead/index.d.ts +1 -1
  284. package/dist/Typeahead/index.js +2 -2
  285. package/dist/{Typeahead-JP9RT87x.js → Typeahead-D4JjvjK4.js} +123 -26
  286. package/dist/{TypeaheadMenu-DBW6rHeO.js → TypeaheadMenu-BQlMrfqX.js} +141 -51
  287. package/dist/{announce-Cnio10Wk.js → announce-B210eJVf.js} +17 -2
  288. package/dist/characterReferences-BJ-jLhsR.js +65 -0
  289. package/dist/characters-rcDbGt71.d.ts +29 -0
  290. package/dist/characters-wTnzjkkR.js +58 -0
  291. package/dist/{colorMode-CBgdgDSn.js → colorMode-BxqfDP4P.js} +1 -4
  292. package/dist/composables/index.d.ts +5 -4
  293. package/dist/composables/index.js +23 -18
  294. package/dist/{composables-CbKx9C1Y.js → composables-Bc02zKAO.js} +167 -197
  295. package/dist/context-B6UElI5X.js +5 -0
  296. package/dist/{context-Cfjh8te1.js → context-Cfml4jaK.js} +5 -3
  297. package/dist/{context-iABt_ueM.js → context-DWfi56sq.js} +451 -122
  298. package/dist/context-IvbU9c3T.js +8 -0
  299. package/dist/context-pjBxaMSh.js +28 -0
  300. package/dist/fieldParts--SyRZVQG.js +44 -0
  301. package/dist/fieldParts-LXpQMKE8.d.ts +27 -0
  302. package/dist/{focus-CpficIgf.js → focus-l8jVTcqd.js} +1 -1
  303. package/dist/hoverIntent-DMHGb85c.js +115 -0
  304. package/dist/{index-Cde5JvtX.d.ts → index-B-nESNam.d.ts} +8 -7
  305. package/dist/{index-CsNi1I8j.d.ts → index-B08-Uxhv.d.ts} +4 -2
  306. package/dist/{index-Cn-sSds-.d.ts → index-B56j4eI2.d.ts} +24 -1
  307. package/dist/{index-BkjSF265.d.ts → index-BEZ4ezJk.d.ts} +3 -3
  308. package/dist/{index-DeQwYJbg.d.ts → index-BNaRK-s5.d.ts} +10 -1
  309. package/dist/{index-0QGtSf3r.d.ts → index-BO9TY87G.d.ts} +3 -2
  310. package/dist/{index-IBAInumL.d.ts → index-BQEJj72c.d.ts} +23 -10
  311. package/dist/{index-D97pQbua.d.ts → index-BV2D2x_u.d.ts} +1 -1
  312. package/dist/{index-Crp3NFLW.d.ts → index-BZKgbyN9.d.ts} +1 -1
  313. package/dist/index-BkUkm6Al.d.ts +11 -0
  314. package/dist/{index-ClNU2Th8.d.ts → index-Bn-v89Vt.d.ts} +10 -6
  315. package/dist/{index-Bu8NA2SD.d.ts → index-BnEhvmdR.d.ts} +16 -7
  316. package/dist/index-Bo-ofFyg.d.ts +166 -0
  317. package/dist/{index-i0tNFWfz.d.ts → index-BqhgeAT4.d.ts} +2 -0
  318. package/dist/{index-DWh2WC8W.d.ts → index-C4Cjz6OK.d.ts} +2 -2
  319. package/dist/{index-B7yhzGUT.d.ts → index-C7sam-SB.d.ts} +2 -2
  320. package/dist/{index-BrJzFA5X.d.ts → index-C90l2rH1.d.ts} +1 -1
  321. package/dist/{index-vP0EtrJJ.d.ts → index-C9gAlDt_.d.ts} +6 -3
  322. package/dist/{index-xrzJC4wm.d.ts → index-CJ6ajsUC.d.ts} +1 -1
  323. package/dist/{index-B9e52paP.d.ts → index-CK-Dbh0f.d.ts} +1 -1
  324. package/dist/index-CKUfpmFL.d.ts +375 -0
  325. package/dist/{index-DXpSFlPG.d.ts → index-CKgBTAzC.d.ts} +4 -4
  326. package/dist/{index-gW0HW02U.d.ts → index-COxy6LEW.d.ts} +1 -1
  327. package/dist/{index-B4OOtNP8.d.ts → index-CPtDjmcX.d.ts} +3 -3
  328. package/dist/{index-12QYAbiz.d.ts → index-CRrSHbok.d.ts} +3 -2
  329. package/dist/{index-DG52Bg0W.d.ts → index-CTf3SK0b.d.ts} +6 -0
  330. package/dist/{index-BVKivP59.d.ts → index-CTjkJP4x.d.ts} +32 -3
  331. package/dist/{index-COgrQZIL.d.ts → index-CdvmnNMH.d.ts} +1 -1
  332. package/dist/{index-GI9xIV9l.d.ts → index-CikMzeab.d.ts} +2 -2
  333. package/dist/{index-DUaLJO7l.d.ts → index-CpNlPLBF.d.ts} +172 -126
  334. package/dist/{index-yT1yiiww.d.ts → index-Cs1xsHKi.d.ts} +24 -12
  335. package/dist/{index-Cyb9Du5Z.d.ts → index-CtTGt6Dv.d.ts} +1 -1
  336. package/dist/{index-Byar3h1e.d.ts → index-D05JGsT3.d.ts} +6 -3
  337. package/dist/{index-B3Fomy15.d.ts → index-D0_HsuC3.d.ts} +3 -3
  338. package/dist/{index-BgT6mH3U.d.ts → index-D7ShT2c-.d.ts} +1 -1
  339. package/dist/{index-CkKPMIeX.d.ts → index-D7XRtUTY.d.ts} +9 -0
  340. package/dist/{index-TntQsADQ.d.ts → index-DEm3kRBO.d.ts} +4 -3
  341. package/dist/{index-C2nbK2AA.d.ts → index-DLAG3m9W.d.ts} +13 -3
  342. package/dist/{index-DVmgNb78.d.ts → index-DRJZ-v1E.d.ts} +4 -4
  343. package/dist/{index-CL1T2j4y.d.ts → index-DY8Wph-A.d.ts} +3 -3
  344. package/dist/{index-B1WJxt-n.d.ts → index-DfC05uKG.d.ts} +17 -7
  345. package/dist/{index-C5e-7Obr.d.ts → index-Dj1_1t3j.d.ts} +19 -6
  346. package/dist/{index-D41_xqjs.d.ts → index-Dr4b_oji.d.ts} +20 -13
  347. package/dist/{index-CqE4Bf3Q.d.ts → index-Ds201-d2.d.ts} +16 -2
  348. package/dist/{index-DIXAzTKL.d.ts → index-DxxudRgB.d.ts} +1 -1
  349. package/dist/{index-B42oE_F-.d.ts → index-IfsSCj8J.d.ts} +18 -5
  350. package/dist/{index-XuAAcYiP.d.ts → index-f3d9cVtj.d.ts} +1 -1
  351. package/dist/{index-T2FOcOuI.d.ts → index-jOwU3YoR.d.ts} +400 -90
  352. package/dist/{index-CICeEoZV.d.ts → index-pNtfr-RW.d.ts} +1 -1
  353. package/dist/{index-BhpAUzUr.d.ts → index-unAZVFGz.d.ts} +2 -2
  354. package/dist/index.d.ts +80 -74
  355. package/dist/index.js +149 -134
  356. package/dist/inlineSize-BNe8wggI.js +66 -0
  357. package/dist/inputPresentation-BOyHkCDr.js +62 -0
  358. package/dist/interactionModality-ACpTMhak.js +44 -0
  359. package/dist/isApplePlatform-B1ju6F5B.js +27 -0
  360. package/dist/isRenderable-BnKHIqfd.js +21 -0
  361. package/dist/layerDepth-CNDh-IHb.js +181 -0
  362. package/dist/link-DuuA2eCL.js +30 -0
  363. package/dist/{loadCatalog-BGHKG_9N.d.ts → loadCatalog-DlLFZreI.d.ts} +281 -7
  364. package/dist/loadCatalog-eopw74qb.js +424 -0
  365. package/dist/locale/index.d.ts +2 -2
  366. package/dist/locale/index.js +4 -3
  367. package/dist/locale-CabGJlGp.js +343 -0
  368. package/dist/modalOutlet-CUOcrhIu.js +56 -0
  369. package/dist/optionAction-Cg7xQLUA.d.ts +6 -0
  370. package/dist/{power-search-DrDfcoL1.d.ts → power-search-gHLIYXs5.d.ts} +2 -0
  371. package/dist/protocol-DHxY0NI8.js +113 -0
  372. package/dist/protocol-RSeMzAN1.d.ts +238 -0
  373. package/dist/publicParser-B0MRoikr.d.ts +141 -0
  374. package/dist/publicParser-uHC_T0Fo.js +895 -0
  375. package/dist/resizableChannel-3vivrEcT.js +20 -0
  376. package/dist/safeUrl-CsvfcZ9m.js +54 -0
  377. package/dist/scopedProvide-C-Df7c15.js +30 -0
  378. package/dist/scrollKeyboardDelegation-D7cumnOl.js +238 -0
  379. package/dist/scrollLock-C3aT4-0z.js +102 -0
  380. package/dist/{searchResultMessage-hXXNOFJP.js → searchResultMessage-mCpJBvra.js} +5 -14
  381. package/dist/{semantic-CKH9XVqa.d.ts → semantic-BF_AjLvk.d.ts} +6 -3
  382. package/dist/slug-C65CUsf9.js +32 -0
  383. package/dist/syntaxContext-DmIfNNtb.js +4 -0
  384. package/dist/triggerVariant-BsL8jMHs.js +16 -0
  385. package/dist/{types-0Q_SJv_F.d.ts → types-Bb7OGivY.d.ts} +6 -1
  386. package/dist/{types-CwyibrRB.d.ts → types-C5GQ2KCK.d.ts} +23 -3
  387. package/dist/{types-gKsEkk2g.d.ts → types-CsqwQkf1.d.ts} +143 -10
  388. package/dist/upstreamMap-xr3gvREu.js +731 -0
  389. package/dist/{useAnchoredListbox-DwztMNjP.js → useAnchoredListbox-DGxxKHZb.js} +2 -2
  390. package/dist/{useAsyncSource-xpQovjV_.d.ts → useAsyncSource-aGzrvRkI.d.ts} +3 -0
  391. package/dist/{useClickableContainer-DyNpnSEa.js → useClickableContainer-CdGp_Cev.js} +1 -1
  392. package/dist/{useClipboard-BDfbEsWd.js → useClipboard-Dk8cS810.js} +1 -1
  393. package/dist/useHoverLayerDismiss-kYJ_NqL4.js +27 -0
  394. package/dist/{useIndicator-i1NORM7W.js → useIndicator-MZmfBWid.js} +5 -23
  395. package/dist/{useInputContainer-CpgDe2-4.js → useInputContainer-CLcYrby4.js} +1 -1
  396. package/dist/{useInputStatusIcon-DBOwxV4x.js → useInputStatusIcon-DAE7PExr.js} +1 -1
  397. package/dist/useLayerMountTarget-BmZyeKWE.js +156 -0
  398. package/dist/{useListFocus-D0iOJl39.js → useListFocus-ChxLg0b4.js} +3 -2
  399. package/dist/{useMenuDrillIn-DzKGkTho.js → useMenuDrillIn-DhUnPvKs.js} +6 -5
  400. package/dist/useMenuHover-Djreu23i.js +170 -0
  401. package/dist/useMenuPress-8foxY8z4.js +764 -0
  402. package/dist/{useMergedRefs-CfHHlCsn.js → useMergedRefs-Cb6_w93m.js} +24 -4
  403. package/dist/{useNumberField-4-dIGVed.js → useNumberField-Dk1BE3-K.js} +3 -3
  404. package/dist/useOptionActionGrid-CkJcuvaU.js +97 -0
  405. package/dist/{usePositionedLayer-Cru9_00b.js → usePositionedLayer-B7cvG-_v.js} +43 -49
  406. package/dist/usePressFeedback-BJCpjEpv.js +319 -0
  407. package/dist/{useResizable-DDwPpPe6.d.ts → useResizable-1MHPNaRD.d.ts} +19 -1
  408. package/dist/{useResizable-B3ahKLoZ.js → useResizable-I3BCiLSL.js} +72 -40
  409. package/dist/useResolvedLabelHidden-B2rlWiaI.js +30 -0
  410. package/dist/{useRestoreFocus-Djw9RUIf.js → useRestoreFocus-XEKs5-gp.js} +49 -7
  411. package/dist/useScrollOverflow-DuMoGXmm.js +67 -0
  412. package/dist/useScrollableArea-BE8b3qm7.js +222 -0
  413. package/dist/{useTimeValue-6ufHM15W.js → useTimeValue-BJd0xBhG.js} +4 -22
  414. package/dist/useTranslator-BmWt2BBt.js +35 -0
  415. package/dist/{useTypeahead-PAK8lMYz.js → useTypeahead-BvtflkRk.js} +4 -5
  416. package/dist/utils/index.d.ts +3 -0
  417. package/dist/utils/index.js +5 -0
  418. package/dist/{utils-D33VQDnk.js → utils-ClVseK2w.js} +29 -2
  419. package/dist/utils-z3Q6BGIJ.js +819 -0
  420. package/locales/SOURCE.json +1 -1
  421. package/package.json +18 -2
  422. package/reset.css +364 -1
  423. package/styles/avatar-group.css +9 -1
  424. package/styles/badge.css +8 -5
  425. package/styles/banner.css +124 -26
  426. package/styles/blockquote.css +1 -0
  427. package/styles/bordered-control.css +1 -1
  428. package/styles/bottom-sheet.css +74 -6
  429. package/styles/breadcrumbs.css +16 -2
  430. package/styles/button-group.css +3 -1
  431. package/styles/button.css +53 -11
  432. package/styles/card.css +1 -1
  433. package/styles/chat.css +16 -6
  434. package/styles/checkbox-input.css +10 -0
  435. package/styles/clickable-card.css +10 -3
  436. package/styles/collapsible.css +12 -5
  437. package/styles/command-palette.css +29 -14
  438. package/styles/complex-selector.css +22 -5
  439. package/styles/context-menu.css +3 -3
  440. package/styles/date-input.css +111 -1
  441. package/styles/dialog-header.css +4 -1
  442. package/styles/dialog.css +7 -0
  443. package/styles/dropdown-menu.css +12 -3
  444. package/styles/field.css +5 -0
  445. package/styles/form-layout.css +1 -0
  446. package/styles/heading.css +18 -8
  447. package/styles/icon.css +4 -0
  448. package/styles/kbd.css +1 -1
  449. package/styles/layer.css +72 -0
  450. package/styles/list.css +9 -2
  451. package/styles/metadata-list.css +1 -0
  452. package/styles/mobile-nav.css +4 -1
  453. package/styles/multi-selector.css +48 -1
  454. package/styles/nav-item.css +9 -2
  455. package/styles/nav-menu.css +12 -2
  456. package/styles/number-input.css +9 -1
  457. package/styles/overflow-list.css +1 -1
  458. package/styles/popover.css +2 -1
  459. package/styles/power-search.css +5 -3
  460. package/styles/pressable.css +63 -22
  461. package/styles/progress-bar.css +15 -3
  462. package/styles/radio.css +16 -0
  463. package/styles/resize-handle.css +42 -0
  464. package/styles/segmented-control.css +12 -4
  465. package/styles/selector.css +53 -1
  466. package/styles/side-nav.css +19 -0
  467. package/styles/slider.css +4 -3
  468. package/styles/spinner.css +48 -42
  469. package/styles/stepper.css +58 -4
  470. package/styles/switch.css +26 -0
  471. package/styles/tab-list.css +132 -3
  472. package/styles/table.css +88 -10
  473. package/styles/text-area.css +1 -1
  474. package/styles/text-input.css +1 -1
  475. package/styles/text.css +6 -6
  476. package/styles/thumbnail.css +11 -3
  477. package/styles/time-input.css +8 -0
  478. package/styles/toast.css +37 -3
  479. package/styles/token.css +2 -2
  480. package/styles/tokenizer.css +1 -1
  481. package/styles/toolbar.css +4 -1
  482. package/styles/tree-list.css +1 -1
  483. package/styles/typeahead.css +34 -1
  484. package/styles.css +1 -0
  485. package/dist/Blockquote-DFqBv_oJ.js +0 -18
  486. package/dist/Breadcrumbs-DIm4figq.js +0 -141
  487. package/dist/ButtonGroup-ySQWanDP.js +0 -125
  488. package/dist/DateTimeInput-A7m2O3bg.js +0 -268
  489. package/dist/MultiSelector-BtAUfQ3t.js +0 -990
  490. package/dist/NumberInput-AZ9x3oja.js +0 -473
  491. package/dist/Selector-DJ2BhUTV.js +0 -677
  492. package/dist/Spinner-9cYUCnDy.js +0 -84
  493. package/dist/Theme-CtaUWo4g.js +0 -1246
  494. package/dist/Toast-BuqIZV5z.js +0 -322
  495. package/dist/context-4PuqD1Ic.js +0 -4
  496. package/dist/context-D5-MwxnN.js +0 -4
  497. package/dist/index-BH9PzQ1F.d.ts +0 -87
  498. package/dist/link-C4_WogdF.js +0 -18
  499. package/dist/loadCatalog-CXKqEB9s.js +0 -877
  500. package/dist/locale-DgkZEMTn.js +0 -105
  501. package/dist/platform-B_9W_aHW.js +0 -33
  502. package/dist/scrollLock-BzIvIimL.js +0 -42
  503. package/dist/useMenuPress-D-FRNrBW.js +0 -573
  504. package/dist/useScrollableArea-DDk_CluT.js +0 -172
  505. /package/dist/{index-lgvUFSCO.d.ts → index-CryFtTT6.d.ts} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { n as LayerPlacement, t as LayerAlignment } from "./position-DFW5ymAF.js";
2
- import "./useAsyncSource-xpQovjV_.js";
3
- import { o as FieldStatusInput } from "./types-0Q_SJv_F.js";
2
+ import "./useAsyncSource-aGzrvRkI.js";
3
+ import { o as FieldStatusInput } from "./types-Bb7OGivY.js";
4
4
  import "./useClipboard-CU-kfqeJ.js";
5
- import "./useResizable-DDwPpPe6.js";
5
+ import "./useResizable-1MHPNaRD.js";
6
6
  import { CSSProperties, Component, ComponentPublicInstance, ComputedRef, InjectionKey, MaybeRefOrGetter, Ref, ShallowRef } from "vue";
7
7
  import { CalendarDate } from "@internationalized/date";
8
8
  //#region src/composables/useDateRange.d.ts
@@ -176,6 +176,8 @@ interface ClickableContainerHandlers {
176
176
  onClick: (event: MouseEvent) => void;
177
177
  onMouseUp: (event: MouseEvent) => void;
178
178
  }
179
+ declare function hasInteractiveAncestor(element: Element, root: Element): boolean;
180
+ declare function hasTextSelection(node: Element): boolean;
179
181
  /**
180
182
  * 把容器的 click / mouseup 交给调用方绑到根元素上。
181
183
  * 组件挂载后会给容器加上 `data-pressable-container`,嵌套的可点容器因此不会互相抢走点击。
@@ -335,6 +337,7 @@ declare function shiftTime(value: string, minuteDelta: number, hasSeconds: boole
335
337
  declare function isTimeInRange(value: string, min?: string, max?: string): boolean;
336
338
  type TimePresentation = 'text-input' | 'popover' | 'bottom-sheet' | 'native' | 'adaptive-bottom-sheet' | 'adaptive-native';
337
339
  type NativePicker = 'touch' | 'always' | 'never';
340
+ type TimeSurface = 'text' | 'native' | 'sheet';
338
341
  declare function resolveTimeSurface(options: {
339
342
  presentation?: TimePresentation;
340
343
  nativePicker?: NativePicker;
@@ -343,7 +346,7 @@ declare function resolveTimeSurface(options: {
343
346
  increment: number;
344
347
  /** 额外的“系统控件表达不了”的信号,例如预设时间列表。 */
345
348
  needsTypedField?: boolean;
346
- }): 'text' | 'native';
349
+ }): TimeSurface;
347
350
  //#endregion
348
351
  //#region src/composables/useDatePresentation.d.ts
349
352
  /** Which surface collects a date. The text-only option belongs to the time field. */
@@ -394,16 +397,45 @@ type DisclosureHandleRef = Ref<DisclosureHandle | null> | ((handle: DisclosureHa
394
397
  */
395
398
  declare function useDisclosureHandle(read: () => DisclosureHandleRef | undefined, handle: DisclosureHandle): void;
396
399
  //#endregion
400
+ //#region src/layer/dismissStack.d.ts
401
+ /**
402
+ * 全页面共用的「浮层关闭栈」。
403
+ *
404
+ * 以前每一个浮层各自在 document 上挂一套 pointerdown 和 keydown 监听,
405
+ * 结果按一次 Escape 会把所有开着的层一起关掉:Dialog 里开一个下拉菜单,
406
+ * 一次 Escape 连 Dialog 也关了。这里把这件事收成一处:
407
+ *
408
+ * - document 上只有一套监听,栈里有层才挂上去,栈空了就摘掉。
409
+ * - Escape 永远只看「最上面那一层」:`'close'` 关掉它,`'block'` 吃掉按键但不关,
410
+ * `'ignore'` 留给这一层自己处理。不会把按键交给下面那层。
411
+ * - 点在某一层里面(含它的触发器)就只关掉它上面那些层,这一层自己不动;
412
+ * 点在所有层外面时只关最上面那一层。
413
+ *
414
+ * 「哪一层在上面」用三条线索判断,和上游一致:嵌套深度(组件树里更深的在上,
415
+ * Teleport 切不断)、容器互相包含(同一深度时,DOM 上包着别人的在上),
416
+ * 以及每个身份只认一次的序号(同一层重新登记时不许插队)。
417
+ */
418
+ /**
419
+ * Escape 到达某一层时的三种处理。
420
+ *
421
+ * 按键永远只打最上面那一层,没有「让给下面」这一档。
422
+ */
423
+ type DismissEscape = 'close' | 'block' | 'ignore';
424
+ //#endregion
397
425
  //#region src/composables/useDismiss.d.ts
398
426
  interface UseDismissOptions {
399
427
  /** 要监听点击外部的容器元素 */
400
428
  container: Ref<HTMLElement | null>;
401
429
  /** 触发器元素(点击它不算点击外部) */
402
430
  trigger?: Ref<HTMLElement | null>;
403
- /** 是否启用点击外部关闭 */
431
+ /** 是否启用关闭 */
404
432
  isEnabled: Ref<boolean>;
405
- /** 是否启用 Escape 键关闭 */
406
- enableEscape?: Ref<boolean>;
433
+ /**
434
+ * Escape 到达这一层时怎么处理。
435
+ * `'close'` 关掉,`'block'` 吃掉按键但不关,`'ignore'` 留给自己会
436
+ * `preventDefault` 的输入组件。默认 `'close'`。
437
+ */
438
+ dismissOnEscape?: MaybeRefOrGetter<DismissEscape>;
407
439
  /** 关闭回调 */
408
440
  onDismiss: () => void;
409
441
  /**
@@ -416,10 +448,12 @@ interface UseDismissOptions {
416
448
  * 统一处理浮层组件的关闭逻辑:点击外部和按 Escape 键。
417
449
  * 用于 Popover、Tooltip、DropdownMenu、ContextMenu 等。
418
450
  *
419
- * 设计决策:
420
- * - 使用 pointerdown 事件(包含 mouse 和 touch)
421
- * - 在 nextTick 后附加监听器,避免打开时的点击立即触发关闭
422
- * - Escape 键使用全局栈,确保最内层的浮层优先处理
451
+ * 真正的判定在 `layer/dismissStack.ts` 里:全页面共用一个关闭栈,
452
+ * 一次点外面只关最上面那一层,Escape 也只打最上面那一层。这里只负责在
453
+ * `isEnabled` 变真时把这一层登记进去,变假或作用域销毁时摘出来。
454
+ *
455
+ * 因为所有浮层都走这个入口,用它的组件自动获得了「只关最上面一层」的行为,
456
+ * 组件自己不用改。
423
457
  */
424
458
  declare function useDismiss(options: UseDismissOptions): void;
425
459
  //#endregion
@@ -500,7 +534,7 @@ interface UseFocusTrapOptions {
500
534
  isEnabled?: MaybeRefOrGetter<boolean>;
501
535
  /** 同一个开关,原版的名字。两者任一为真即启用。 */
502
536
  isActive?: MaybeRefOrGetter<boolean>;
503
- /** 容器里按下 Escape 时调用。不传就不管这个键。 */
537
+ /** 容器里按下 Escape 时调用。不传就不管这个键。输入法拼字时的 Escape 不算。 */
504
538
  onEscape?: () => void;
505
539
  /** 初始焦点目标(可选) */
506
540
  initialFocus?: () => HTMLElement | null;
@@ -520,7 +554,11 @@ interface FocusTrap {
520
554
  * 用于模态对话框、抽屉等需要限制焦点范围的浮层组件。
521
555
  *
522
556
  * 打开时把焦点送进容器,关闭或卸载时把焦点还给打开前聚焦的元素;
523
- * 焦点从没进过容器、或者已经被别处拿走时不还。
557
+ * 焦点从没进过容器、或者已经被别处拿走时不还。还焦点时焦点环跟着上一次的输入走:
558
+ * 用鼠标或手指关掉的,回到触发器上不画环。
559
+ *
560
+ * Tab 只在焦点真的在陷阱里面时才被拦下。浮层开着、焦点却合理地留在外面
561
+ * (例如挂在输入框上的列表框)时,拦下 Tab 会让整个页面都没法用 Tab。
524
562
  */
525
563
  declare function useFocusTrap(options?: UseFocusTrapOptions): FocusTrap;
526
564
  //#endregion
@@ -956,6 +994,36 @@ interface UseLayerReturn {
956
994
  */
957
995
  declare function useLayer(options: UseLayerOptions): UseLayerReturn;
958
996
  //#endregion
997
+ //#region src/composables/useLayerMountTarget.d.ts
998
+ /**
999
+ * 读最近的浮层挂载点。Dialog 打开时是它内部的挂载点,其余情况是 `null`。
1000
+ *
1001
+ * 挂载点是「浮层内容实际挂到哪个 DOM 元素里」。浮层平时挂在 `body`,
1002
+ * 但 Dialog 打开时它是一个原生模态层,挂在外面的浮层会被压住、点不到,
1003
+ * 所以要先问一句。
1004
+ */
1005
+ declare function useLayerMountTarget(): Readonly<Ref<HTMLElement | null>>;
1006
+ /**
1007
+ * 读最近的浮层挂载点,并算成可以直接给 `Teleport` 的 `to`。
1008
+ * 没有挂载点就是 `'body'`。
1009
+ *
1010
+ * ```vue
1011
+ * <Teleport :to="teleportTarget">
1012
+ * ```
1013
+ */
1014
+ declare function useLayerTeleportTarget(): ComputedRef<string | HTMLElement>;
1015
+ /**
1016
+ * 浮层该挂到哪。
1017
+ *
1018
+ * Dialog 提供了挂载点时优先用它,再往外挂就出了模态层。
1019
+ * 否则看触发器旁边有没有不能挂浮层的祖先(段落、链接、按钮)。
1020
+ * 有的话挂到那个祖先的外面、尽量靠近原位,嵌套主题和 Tab 顺序还在。
1021
+ * 两边都没有,才挂到 `body`。
1022
+ *
1023
+ * `sentinel` 是触发器所在的元素。函数看的是它的父元素。
1024
+ */
1025
+ declare function useResolvedLayerTeleport(sentinel: Ref<HTMLElement | null>): ComputedRef<string | HTMLElement>;
1026
+ //#endregion
959
1027
  //#region src/composables/useListFocus.d.ts
960
1028
  /**
961
1029
  * 一维列表的方向。
@@ -986,7 +1054,7 @@ interface UseListFocusOptions {
986
1054
  * 导航方向。
987
1055
  * @default 'vertical'
988
1056
  */
989
- orientation?: ListFocusOrientation;
1057
+ orientation?: MaybeRefOrGetter<ListFocusOrientation>;
990
1058
  /**
991
1059
  * Home / End 是否跳到第一项 / 最后一项。
992
1060
  * @default true
@@ -1075,8 +1143,9 @@ interface LongPressHandlers {
1075
1143
  * surface. The press is cancelled when the finger travels past the tolerance,
1076
1144
  * lifts, a second finger lands, or the touch is cancelled.
1077
1145
  *
1078
- * 两种绑法:自己接指针事件时用 `start` / `moveTo` / `cancel`;直接要触摸监听时
1079
- * 把 `handlers` 摊到元素上。
1146
+ * 两种绑法,同一个检测器:直接要触摸监听时把 `handlers` 摊到元素上;
1147
+ * 自己已经在跑指针事件状态机时(`useMenuPress` 就是)调 `start` / `moveTo` / `cancel`。
1148
+ * 按住时长、移动容差、计时器都在这里,所以长按在右键菜单和菜单触发器上是同一个意思。
1080
1149
  */
1081
1150
  declare function useLongPress(options: LongPressOptions): LongPressHandlers;
1082
1151
  //#endregion
@@ -1090,80 +1159,179 @@ declare function useLongPress(options: LongPressOptions): LongPressHandlers;
1090
1159
  */
1091
1160
  declare function useMediaQuery(query: string): Ref<boolean>;
1092
1161
  //#endregion
1093
- //#region src/ContextMenu/useMenuPress.d.ts
1094
- /** Forget an armed swallower. Called when a surface unmounts and in tests. */
1162
+ //#region src/composables/internal/menuPressGesture.d.ts
1163
+ /**
1164
+ * 菜单按压的纯状态机。不碰 DOM,每一步都能脱离浏览器单测。
1165
+ *
1166
+ * 所有菜单和选择器共用这一套:指针**松开**时下面是哪一行,就由哪一行执行;
1167
+ * 按住期间高亮跟着指针走。macOS 和 iOS 的菜单就是这样。
1168
+ *
1169
+ * 状态:
1170
+ * - `idle`:没有手势。
1171
+ * - `triggerPress`:手指按在触发器上,菜单还没开。鼠标不经过这一步,按下就开。
1172
+ * - `open`:菜单在按住的指针下面打开了(鼠标按下,或手指按满长按时间),指针还没进菜单。
1173
+ * - `tracking`:指针按着,高亮跟着它。
1174
+ *
1175
+ * 落定规则:打开菜单的那次按压,只有指针进过菜单、或者按满 `MENU_PRESS_SETTLE_MS`,
1176
+ * 松开时才执行;否则什么都不执行,菜单保持打开。没有这条,一个在指针下面弹出的菜单
1177
+ * 会替用户挑一行谁都没选的。
1178
+ *
1179
+ * 行是不透明的 `T`:调用方把指针下可用的那一行找出来喂进来,`null` 表示指针在分割线、
1180
+ * 标题、禁用行上,或者在菜单外。
1181
+ */
1182
+ /** 打开菜单的那次按压至少要按多久,松开时才能执行。 */
1183
+ declare const MENU_PRESS_SETTLE_MS = 300;
1184
+ type MenuPressPointerType = 'mouse' | 'touch' | 'pen';
1185
+ type MenuPressGesture<T> = {
1186
+ phase: 'idle';
1187
+ } | {
1188
+ phase: 'triggerPress';
1189
+ pointerType: MenuPressPointerType;
1190
+ startedAt: number;
1191
+ } | {
1192
+ phase: 'open';
1193
+ pointerType: MenuPressPointerType;
1194
+ openedAt: number;
1195
+ } | {
1196
+ phase: 'tracking';
1197
+ pointerType: MenuPressPointerType;
1198
+ /** 按压从哪里开始。 */
1199
+ origin: 'trigger' | 'menu';
1200
+ /** 指针下面当前那一行可用的行。 */
1201
+ row: T | null;
1202
+ };
1203
+ type MenuPressEvent<T> = {
1204
+ type: 'down';
1205
+ target: 'trigger' | 'menu';
1206
+ pointerType: MenuPressPointerType;
1207
+ /** 落在菜单里时,按下位置那一行可用的行。 */
1208
+ row: T | null;
1209
+ time: number;
1210
+ } |
1211
+ /** 触发器上的按压还按着,菜单开了。 */
1212
+ {
1213
+ type: 'opened';
1214
+ time: number;
1215
+ } | {
1216
+ type: 'move';
1217
+ row: T | null;
1218
+ isInMenu: boolean;
1219
+ time: number;
1220
+ } | {
1221
+ type: 'up';
1222
+ row: T | null;
1223
+ isInMenu: boolean;
1224
+ isOnTrigger: boolean;
1225
+ time: number;
1226
+ } |
1227
+ /** 浏览器拿走了手势:pointercancel、第二根手指、滚动。 */
1228
+ {
1229
+ type: 'cancel';
1230
+ };
1231
+ type MenuPressEffect<T> = {
1232
+ type: 'none';
1233
+ } |
1234
+ /** 鼠标按下触发器:现在就在按住的指针下面打开菜单。 */
1235
+ {
1236
+ type: 'open';
1237
+ } | {
1238
+ type: 'highlight';
1239
+ row: T;
1240
+ } | {
1241
+ type: 'clear';
1242
+ } | {
1243
+ type: 'act';
1244
+ row: T;
1245
+ } |
1246
+ /**
1247
+ * 手势结束,没有行执行。`stray` 表示浏览器还会为这次手势补一个 click,
1248
+ * 必须吞掉;`dismiss` 表示菜单该关(鼠标在菜单外松开)。
1249
+ */
1250
+ {
1251
+ type: 'settle';
1252
+ stray: boolean;
1253
+ dismiss: boolean;
1254
+ };
1255
+ interface MenuPressStep<T> {
1256
+ gesture: MenuPressGesture<T>;
1257
+ effect: MenuPressEffect<T>;
1258
+ }
1259
+ /** 往前走一步。纯函数:同样的输入,同样的输出。 */
1260
+ declare function menuPressStep<T>(gesture: MenuPressGesture<T>, event: MenuPressEvent<T>): MenuPressStep<T>;
1261
+ //#endregion
1262
+ //#region src/composables/internal/menuPressDom.d.ts
1263
+ /** 带这个标记的菜单根用的是按压模型。嵌套的飞出层靠它分清一次按压归哪一层。 */
1264
+ declare const MENU_PRESS_MARKER = "data-astryx-menu-press";
1265
+ //#endregion
1266
+ //#region src/composables/internal/strayClick.d.ts
1267
+ /**
1268
+ * 按压模型派发的那次行激活是不是正在进行。只在那次派发的同步过程中为真,
1269
+ * 所以把激活转交给里面链接的行,能分清这是模型的 click 还是浏览器多出来的那个。
1270
+ */
1271
+ declare function isMenuPressActivation(): boolean;
1272
+ /** 撤掉已经布下的口子。卸载和测试里用。 */
1095
1273
  declare function resetMenuPress(): void;
1274
+ //#endregion
1275
+ //#region src/composables/useMenuPress.d.ts
1096
1276
  interface MenuPressOptions {
1097
- /** The element carrying `role="menu"` for this level. */
1277
+ /** 菜单(或列表框)的根:按压要从它的行里挑。 */
1098
1278
  menuRef: Ref<HTMLElement | null>;
1099
- /** Whether the surface carries the press model right now. */
1100
- isEnabled: () => boolean;
1101
- /** A mouse press was released outside the menu with nothing acting. */
1102
- onDismiss: () => void;
1103
- /**
1104
- * Selector matching the ENABLED rows. A pointer over anything else inside the
1105
- * menu (a divider, a heading, a disabled row) picks nothing.
1106
- */
1107
- itemSelector?: string;
1108
- /** The control that opens the menu, when a press may start there. */
1279
+ /** 能开菜单的控件,按压也可以从这里开始。 */
1109
1280
  triggerRef?: Ref<HTMLElement | null>;
1110
1281
  /**
1111
- * A mouse pressed the trigger, or a finger rested on it for the long-press
1112
- * delay: open the menu under the held pointer and return whether it opened.
1113
- * Return false when the press closed an open menu instead.
1282
+ * 只匹配**可用**行的选择器。指针压在分割线、标题、禁用行上时什么都不挑。
1283
+ * @default 三种菜单项角色里没有 `aria-disabled="true"` 的
1114
1284
  */
1115
- onTriggerPress?: (pointerType: 'mouse' | 'pen' | 'touch') => boolean;
1285
+ itemSelector?: string;
1116
1286
  /**
1117
- * Move the highlight; `null` clears it. Defaults to moving DOM focus with
1118
- * `preventScroll` onto the row.
1287
+ * 鼠标按下触发器,或手指在上面按满长按时间:在按住的指针下面打开菜单,返回打开了没有。
1288
+ * 返回 false(这一按把开着的菜单关掉了)会结束这次手势。
1289
+ * 同一次手势里触发器收到的 click 用 `isTriggerClickFromPress()` 认出来。
1119
1290
  */
1291
+ onTriggerPress?: (pointerType: MenuPressPointerType) => boolean;
1292
+ /** 移动高亮,`null` 表示清掉。默认把 DOM 焦点(`preventScroll`)移到那一行。 */
1120
1293
  onHighlight?: (row: HTMLElement | null) => void;
1121
- /**
1122
- * Act on the row under the release. Defaults to dispatching a click on the
1123
- * row that carries the release button and modifier keys.
1124
- */
1294
+ /** 执行松开位置的那一行。默认替它派发一次 click,带上松开时的按键和修饰键。 */
1125
1295
  onActivate?: (row: HTMLElement, release: PointerEvent) => void;
1126
- /** How long a finger must rest on the trigger before the menu opens under it. */
1296
+ /** **鼠标**在菜单外松开、什么都没执行:关掉菜单。手指在外面松开不会调它。 */
1297
+ onDismiss?: () => void;
1298
+ /** 按住时指针停在边缘要自动滚动的元素。默认是溢出的菜单根,返回 null 表示不滚。 */
1299
+ getScroller?: () => HTMLElement | null;
1300
+ /** 按视口坐标找元素。默认 `document.elementFromPoint`。测试用的接缝。 */
1301
+ hitTest?: (x: number, y: number) => Element | null;
1302
+ /** @default 500 */
1127
1303
  longPressDelayMs?: number;
1304
+ /** 这套模型当前是否生效,每次按下时读。@default true */
1305
+ isEnabled?: MaybeRefOrGetter<boolean>;
1128
1306
  }
1129
1307
  interface MenuPress {
1130
- /** Attach to the menu root's `pointerdown`. */
1308
+ /** 菜单根的 pointerdown 处理函数。不方便摊对象时单独绑:`@pointerdown="press.onPointerDown"`。 */
1131
1309
  onPointerDown: (event: PointerEvent) => void;
1132
- /** Spread onto the menu root: claims presses that begin inside it. */
1310
+ /** 用 `v-bind` 摊到菜单根上:接管从里面开始的按压,并打上标记。 */
1133
1311
  menuProps: {
1134
- 'onPointerDown': (event: PointerEvent) => void;
1135
- 'data-astryx-menu-press': string;
1312
+ 'onPointerdown': (event: PointerEvent) => void;
1313
+ 'data-astryx-menu-press': '';
1136
1314
  };
1137
- /** Spread onto the trigger: a mouse press opens at once, a held finger opens after the delay. */
1315
+ /** 用 `v-bind` 摊到触发器上:鼠标按下就开,手指按住才开。 */
1138
1316
  triggerProps: {
1139
- onPointerDown: (event: PointerEvent) => void;
1140
- onContextMenu: (event: MouseEvent) => void;
1317
+ onPointerdown: (event: PointerEvent) => void;
1318
+ onContextmenu: (event: MouseEvent) => void;
1141
1319
  };
1142
- /**
1143
- * Whether the click reaching the trigger belongs to the gesture that just
1144
- * pressed it. That press already opened or closed the menu, so the click must
1145
- * neither toggle nor reopen.
1146
- */
1320
+ /** 触发器收到的这次 click 是不是刚才那次按压的。那次按压已经开或关过菜单,click 不能再切换。 */
1147
1321
  isTriggerClickFromPress: () => boolean;
1148
- /** End the gesture in flight with nothing acting, for when the menu closes under it. */
1322
+ /** 什么都不执行,结束正在进行的手势(菜单关了)。 */
1149
1323
  cancel: () => void;
1150
1324
  }
1151
1325
  /**
1152
- * The press model of a painted menu surface.
1153
- *
1154
- * A finger's pointer events stay with the element it landed on, so the gesture
1155
- * is tracked at the document level by `pointerId`:
1326
+ * 对应原版 Astryx 的 `hooks/useMenuPress`。纯状态机见 `internal/menuPressGesture.ts`。
1156
1327
  *
1157
- * - The highlight follows the finger.
1158
- * - The row under the RELEASE acts, the way its own click would, carrying the
1159
- * release's modifiers; the browser's own click for that gesture is swallowed
1160
- * so the row never acts twice.
1161
- * - A finger released outside leaves the menu open; a mouse released outside
1162
- * dismisses it.
1163
- * - `pointercancel` and a second pointer end the gesture with nothing acting.
1164
- *
1165
- * 传了 `triggerRef` 和 `onTriggerPress` 之后,按压也可以从触发器开始:鼠标按下就开,
1166
- * 手指按住到 `longPressDelayMs` 才开,开着的时候手指可以滑进菜单里挑行。
1328
+ * 菜单里的一次按压,不管从触发器还是从菜单里开始,从头管到尾:
1329
+ * - 按 `pointerId` 在文档层跟踪。手指的事件一直发给它落下的元素,所以只有文档看得见它滑到了哪。
1330
+ * - 高亮跟着指针走。
1331
+ * - **松开**位置那一行执行,就像它自己被点了一样,带上松开时的修饰键;浏览器为这次手势补的 click 被吞掉。
1332
+ * - 鼠标按下触发器就打开;手指按住满 `longPressDelayMs` 才打开,然后可以一路滑进菜单挑行。
1333
+ * - pointercancel、第二根手指、窗口失焦都以什么都不执行结束。滚动交给浏览器(菜单根上的 `touch-action`)。
1334
+ * - 菜单会滚动时,按住的指针停在上下边缘附近,菜单自动朝那边滚。
1167
1335
  */
1168
1336
  declare function useMenuPress(options: MenuPressOptions): MenuPress;
1169
1337
  //#endregion
@@ -1230,6 +1398,18 @@ interface NumberField {
1230
1398
  /** 处理键盘事件 */
1231
1399
  onKeyDown: (event: KeyboardEvent) => void;
1232
1400
  }
1401
+ interface SteppedValueOptions {
1402
+ currentValue: number | null;
1403
+ direction: NumberStepDirection;
1404
+ min: number | null;
1405
+ max: number | null;
1406
+ step: number | null | undefined;
1407
+ integerOnly: boolean;
1408
+ }
1409
+ /**
1410
+ * 按步长网格走一格:以 min 为起点对齐,先取整再夹到范围内。
1411
+ */
1412
+ declare function computeSteppedValue(options: SteppedValueOptions): number | null;
1233
1413
  /**
1234
1414
  * 数字输入框逻辑:步进、范围限制、整数限制、键盘增减。
1235
1415
  */
@@ -1339,29 +1519,47 @@ interface PendingChange<T> {
1339
1519
  */
1340
1520
  declare function usePendingChange<T>(action: () => ((value: T) => void | Promise<void>) | undefined): PendingChange<T>;
1341
1521
  //#endregion
1342
- //#region src/composables/internal/pressFeedback.d.ts
1522
+ //#region src/composables/usePressFeedback.d.ts
1523
+ interface UsePressFeedbackOptions {
1524
+ /**
1525
+ * 要不要带上默认的按压色(`astryx-pressable` 类,在 `::after` 上画一层)。
1526
+ * 组件自己在样式里读 `--_press-paint-image` 画按压时传 false,只拿标记。
1527
+ * @default true
1528
+ */
1529
+ hasOverlay?: boolean;
1530
+ }
1343
1531
  interface UsePressFeedbackReturn {
1344
1532
  /**
1345
- * 铺到「背景画按压反馈」的那个元素上。
1346
- * 同一个元素还要配一份 `styles/pressable.css` 里的样式(引入 hook 时自动带上)。
1533
+ * 用 `v-bind` 摊到「画按压」的那个元素上。
1534
+ * 里面总有 `data-astryx-pressable` 标记;`hasOverlay` 为真时还有 `class: 'astryx-pressable'`。
1347
1535
  */
1348
- pressableProps: Record<string, string>;
1536
+ pressableProps: Readonly<Record<string, string>>;
1349
1537
  }
1350
1538
  /**
1351
1539
  * 对应原版 Astryx 的 `hooks/usePressFeedback`。
1352
1540
  *
1353
- * 手指按下去时,CSS 的 `:active` 会在手指落下的瞬间就亮,而且滚动已经开始了它可能还亮着。
1354
- * 这里的按压模型反过来:先等 150 毫秒,确认这真是按压;手指一动超过 10 像素、
1355
- * 或者页面滚走了,马上作废,本次按压里不再亮回来;快速点一下则在抬手时补上;
1356
- * 松手后 200 毫秒淡出。这几个时间和系统列表的手感一致。
1541
+ * 把一个元素标成触屏按压模型的可按表面,并确保文档级控制器已经装上。
1542
+ *
1543
+ * 手指下,CSS 的 `:active` 落手就亮,滚动开始了还可能亮着。按压模型反过来:
1544
+ * 先等 150 毫秒确认是按压;手指挪动超过 10 像素或者页面滚动,立刻作废,这次手势里不再亮回来;
1545
+ * 太快的轻点在抬手时补亮;抬手后 200 毫秒淡出。鼠标不受影响,`:active` 照旧。
1546
+ *
1547
+ * 一个文档只有一个控制器:第一个挂载的可按组件装上,最后一个卸载时拆掉。
1548
+ * 调用它不会给元素加监听或状态,一次按压只改一个属性。服务端不装。
1549
+ */
1550
+ declare function usePressFeedback(options?: UsePressFeedbackOptions): UsePressFeedbackReturn;
1551
+ //#endregion
1552
+ //#region src/composables/useResolvedLabelHidden.d.ts
1553
+ /**
1554
+ * 隐藏标签的正名是 `isLabelHidden`,旧名 `labelHidden` 先留着。
1357
1555
  *
1358
- * 一个文档级控制器给所有带标记的元素做这件事(第一个用到的组件装上,最后一个卸载时拆掉),
1359
- * 所以调用这个组合式函数不会给你的元素加监听,也不加状态。
1556
+ * 默认不隐藏时,两个名字任一为真就隐藏。Vue 会把没传的布尔属性当成 false,
1557
+ * 这种默认值用「或」就够了。
1360
1558
  *
1361
- * 鼠标上的表现不变:`styles/pressable.css` 里给鼠标留了 `:active`,
1362
- * 在 `@media (pointer: coarse)` 之外才生效。
1559
+ * 默认隐藏(PowerSearch)时必须分清「没传」和「传了 false」。
1560
+ * 两个都传了,听正名。这个判断要在 setup 里做:渲染函数里拿不到当前实例。
1363
1561
  */
1364
- declare function usePressFeedback(): UsePressFeedbackReturn;
1562
+ declare function useResolvedLabelHidden(isLabelHidden: () => boolean | undefined, labelHidden: () => boolean | undefined, fallback?: boolean): ComputedRef<boolean>;
1365
1563
  //#endregion
1366
1564
  //#region src/composables/useRestoreFocus.d.ts
1367
1565
  interface UseRestoreFocusOptions {
@@ -1379,38 +1577,80 @@ interface RestoreFocus {
1379
1577
  /**
1380
1578
  * 在浮层组件打开时保存当前焦点元素,关闭时恢复焦点。
1381
1579
  * 用于对话框、抽屉、弹出菜单等浮层组件。
1580
+ *
1581
+ * 恢复时焦点环跟着上一次的输入走:键盘关掉的照常画环,鼠标或手指关掉的不画。
1382
1582
  */
1383
1583
  declare function useRestoreFocus(options: UseRestoreFocusOptions): RestoreFocus;
1384
1584
  //#endregion
1585
+ //#region src/composables/internal/scrollGeometry.d.ts
1586
+ interface MeasuredScrollAxisState {
1587
+ isScrollable: boolean;
1588
+ atStart: boolean;
1589
+ atEnd: boolean;
1590
+ }
1591
+ //#endregion
1385
1592
  //#region src/composables/useScrollableArea.d.ts
1386
1593
  type ScrollAxis = 'inline' | 'block' | 'both';
1387
1594
  type ScrollOverscroll = 'allow' | 'contain';
1388
1595
  type ScrollStickyContainment = 'whenScrollable' | 'always';
1389
1596
  type ScrollRole = 'group' | 'region';
1390
- interface ScrollAxisState {
1391
- isScrollable: boolean;
1392
- atStart: boolean;
1393
- atEnd: boolean;
1394
- }
1597
+ /**
1598
+ * 能滚动时,键盘从哪里进来。
1599
+ * - `content`:内容自己有可聚焦的东西(例如表格的单元格),视口不进 Tab 顺序,也不带名字。
1600
+ * - `viewport`:视口在能滚动时成为一个 Tab 停靠点,带上名字和角色。
1601
+ * - `contentOrViewport`:同上;但 Tab 进来时,如果内容里第一个就是普通按钮或链接,焦点直接交给它。
1602
+ */
1603
+ type ScrollKeyboardAccess = {
1604
+ owner: 'content';
1605
+ } | {
1606
+ owner: 'viewport';
1607
+ label: string;
1608
+ role?: ScrollRole;
1609
+ } | {
1610
+ owner: 'contentOrViewport';
1611
+ label: string;
1612
+ role?: ScrollRole;
1613
+ };
1614
+ type ScrollAxisState = MeasuredScrollAxisState;
1395
1615
  interface ScrollableAreaState {
1396
1616
  inline: ScrollAxisState;
1397
1617
  block: ScrollAxisState;
1398
1618
  }
1399
1619
  interface UseScrollableAreaOptions {
1620
+ /** @default 'block' */
1400
1621
  axis?: ScrollAxis;
1401
- label: string;
1622
+ /** 键盘归属。不传时按 `{ owner: 'viewport', label, role }`。 */
1623
+ keyboardAccess?: ScrollKeyboardAccess;
1624
+ /** 视口的无障碍名称。只在没传 `keyboardAccess` 时用。 */
1625
+ label?: string;
1626
+ /** @default 'group' */
1402
1627
  role?: ScrollRole;
1628
+ /** @default 'allow' */
1403
1629
  overscroll?: ScrollOverscroll;
1630
+ /** @default 'whenScrollable' */
1404
1631
  stickyContainment?: ScrollStickyContainment;
1405
1632
  }
1406
- declare function useScrollableArea(options: UseScrollableAreaOptions): UseScrollableAreaResult;
1407
1633
  interface UseScrollableAreaResult {
1634
+ /** 绑到视口的 `:ref` 上。 */
1408
1635
  viewport: (element: unknown) => void;
1636
+ /** 绑到内容的 `ref` 上。 */
1409
1637
  content: Ref<HTMLElement | null>;
1638
+ /** 用 `v-bind` 摊到视口上:角色、名字、tabindex 和 `data-scroll-*` 状态。 */
1410
1639
  viewportAttrs: ComputedRef<Record<string, string | number | undefined>>;
1640
+ /** 视口的 overflow 和 overscroll。这几项归这个 composable 管,调用方不要再写。 */
1411
1641
  viewportStyle: ComputedRef<CSSProperties>;
1412
1642
  state: ComputedRef<ScrollableAreaState>;
1413
1643
  }
1644
+ /**
1645
+ * 对应原版 Astryx 的 `hooks/useScrollableArea`:可滚动容器系统的核心。
1646
+ *
1647
+ * 按逻辑轴(行内 / 块方向)给调用方的视口和内容加上滚动行为:
1648
+ * 只有内容真的溢出时视口才变成滚动容器;量出每条轴能不能滚、到没到两头;
1649
+ * 能滚时视口进入 Tab 顺序,让键盘也能滚;`overscroll: 'contain'` 只在真能滚的轴上生效。
1650
+ * 量出的状态登记到滚动归属表里,嵌套的滚动区域和键盘委托都靠它分清谁是哪一层。
1651
+ * 藏起来、没挂上或者尺寸为 0 的视口量不出来,保留上一次的结果,等下一次有效的信号。
1652
+ */
1653
+ declare function useScrollableArea(options: UseScrollableAreaOptions): UseScrollableAreaResult;
1414
1654
  //#endregion
1415
1655
  //#region src/composables/internal/scrollLock.d.ts
1416
1656
  declare function useScrollLock(isLocked: Ref<boolean>): void;
@@ -1422,8 +1662,11 @@ interface ScrollOverflowState {
1422
1662
  hasOverflow: boolean;
1423
1663
  }
1424
1664
  /**
1425
- * 观察一个横向滚动容器,报告起始边和结束边有没有被挡住。
1426
- * 容差 1px,滚动和尺寸变化都会重新量。
1665
+ * 观察一个横向滚动容器,报告起始边和结束边有没有被挡住。容差 1px。
1666
+ *
1667
+ * 每次滚动都量。尺寸变化和刚绑上时,只在容器真的被渲染时才量:藏起来的容器没有边可报,
1668
+ * 保留上一次的结果,等它露出来之后的那次尺寸变化再量。藏着的容器被脚本滚动时照样量,
1669
+ * 因为同样大小地露出来不会再有尺寸变化。
1427
1670
  */
1428
1671
  declare function useScrollOverflow(): UseScrollOverflowResult;
1429
1672
  interface UseScrollOverflowResult {
@@ -1457,6 +1700,72 @@ declare function snapToGraphemeBoundary(text: string, offset: number): number;
1457
1700
  */
1458
1701
  declare function useStreamingText(targetText: MaybeRefOrGetter<string>, isStreaming?: MaybeRefOrGetter<boolean>, options?: MaybeRefOrGetter<UseStreamingTextOptions>): ComputedRef<string>;
1459
1702
  //#endregion
1703
+ //#region src/composables/useTouchTrigger.d.ts
1704
+ /**
1705
+ * 悬停类浮层在触屏上怎么响应。
1706
+ *
1707
+ * - `auto`:点一下打开,除非触发器本身是个会做事的东西(按钮、链接、表单控件)。
1708
+ * - `tap`:总是点一下打开,哪怕触发器自己也有动作。
1709
+ * - `none`:触屏上从不打开。
1710
+ */
1711
+ type LayerTouchTrigger = 'auto' | 'tap' | 'none';
1712
+ /**
1713
+ * 激活这个元素是不是「做了别的事」,而不是「显示浮层」。
1714
+ *
1715
+ * 比「可聚焦」窄是有意的:纯文字 Tooltip 的触发器带 `tabindex=0`,
1716
+ * 键盘用户要能聚焦它读提示,但它本身没有动作。
1717
+ *
1718
+ * 返回 true 只决定「浮层不开」,那一下点击本身不会被吞掉:这里不调
1719
+ * `preventDefault`,也不调 `stopPropagation`。
1720
+ */
1721
+ declare function isActionTrigger(element: HTMLElement): boolean;
1722
+ interface UseTouchTriggerOptions {
1723
+ /** 触屏上的触发方式。 */
1724
+ touchTrigger: MaybeRefOrGetter<LayerTouchTrigger>;
1725
+ /** 触发器是不是还能用。 @default true */
1726
+ isEnabled?: MaybeRefOrGetter<boolean>;
1727
+ /** 打开状态是不是由外面控制。受控的浮层不会被点击开关。 @default false */
1728
+ isControlled?: MaybeRefOrGetter<boolean>;
1729
+ /** 浮层现在是否打开。 */
1730
+ isOpen: MaybeRefOrGetter<boolean>;
1731
+ /** 浮层元素的 id,用来判断「点在浮层里面」。 */
1732
+ layerId: MaybeRefOrGetter<string>;
1733
+ /** 触发器元素。 */
1734
+ triggerRef: Ref<HTMLElement | null>;
1735
+ /** 立刻打开,不等悬停延时。 */
1736
+ show: () => void;
1737
+ /** 立刻关闭。 */
1738
+ hide: () => void;
1739
+ }
1740
+ interface UseTouchTriggerReturn {
1741
+ /**
1742
+ * 当前这次交互是不是没有悬停能力的指针(手指,或者已经落下的笔)。
1743
+ * 悬停在屏幕上的笔是 false,因为它确实在悬停。
1744
+ */
1745
+ isTouchPointer: Ref<boolean>;
1746
+ /**
1747
+ * 这一次交互是不是触屏。和上一条不同的是,用户一碰键盘它就变回 false,
1748
+ * 这样点过一次之后焦点驱动的浮层还能用。
1749
+ */
1750
+ isTouchInteraction: () => boolean;
1751
+ /** 绑到触发器的 pointerenter 上:在合成的悬停事件之前记下指针类型。 */
1752
+ handlePointerEnter: (event: PointerEvent) => void;
1753
+ /**
1754
+ * 绑到触发器的 pointerdown 上。返回 true 表示这次按压是触屏、
1755
+ * 并且已经由这里处理掉了,调用方自己的按下逻辑不要重复执行。
1756
+ */
1757
+ handlePointerDown: (event: PointerEvent) => boolean;
1758
+ /** 忘掉「是点开的」这件事。其它关闭路径(Escape、受控关闭)都要调。 */
1759
+ clearTapOpen: () => void;
1760
+ }
1761
+ /**
1762
+ * 悬停类浮层(Tooltip、HoverCard)共用的触屏行为。
1763
+ *
1764
+ * 触屏上表达不了「悬停」:点一下会合成 `mouseenter`,不处理的悬停浮层要么
1765
+ * 每次点都弹出来、又没有东西能关掉它,要么把用户点控件的这一下吃掉。
1766
+ */
1767
+ declare function useTouchTrigger(options: UseTouchTriggerOptions): UseTouchTriggerReturn;
1768
+ //#endregion
1460
1769
  //#region src/composables/useTypeahead.d.ts
1461
1770
  interface UseTypeaheadOptions {
1462
1771
  /** 当前 DOM 顺序上的标签。某一项可以是 null,表示这个下标不能匹配。 */
@@ -1485,8 +1794,9 @@ interface UseTypeaheadReturn {
1485
1794
  *
1486
1795
  * 反复按同一个字母会在匹配项之间循环,而不是把查询收得更窄。
1487
1796
  * 空格留给激活;只有缓冲里已经有字时,空格才算查询的一部分。
1797
+ * 输入法拼字时的按键属于输入法,不算跳转。
1488
1798
  * 这个函数自己不移动焦点,调用方在 `onMatch` 里接 `useListFocus` 或其他集合。
1489
1799
  */
1490
1800
  declare function useTypeahead(options: UseTypeaheadOptions): UseTypeaheadReturn;
1491
1801
  //#endregion
1492
- export { useLongPress as $, useAppShellMobile as $n, EntryAnimationPreset as $t, UseOverflowOptions as A, ContentRevealOptions as An, perceptualLightness as At, parseISODate as B, INTERACTIVE_SELECTORS as Bn, UseGridFocusReturn as Bt, useRestoreFocus as C, parseISOTime as Cn, IndicatorFocusRingHandlers as Ct, usePendingChange as D, UseControllableStateOptions as Dn, ImageSampleRegion as Dt, PendingChange as E, ControllableState as En, useIndicatorFocusRing as Et, NumberStepDirection as F, ComboboxOption as Fn, useHandleRef as Ft, useMergedRefs as G, UseChatStreamScrollReturn as Gn, FileRejection as Gt, todayISODate as H, useClickableContainer as Hn, FocusTrap as Ht, UseNumberFieldOptions as I, UseComboboxOptions as In, GridRovingFocus as It, resetMenuPress as J, UseChatNewMessagesOptions as Jn, formatFileSize as Jt, MenuPress as K, useChatStreamScroll as Kn, FileSelectionOptions as Kt, useNumberField as L, useCombobox as Ln, UseGridRovingFocusOptions as Lt, computeOverflow as M, UseContainerRevealOptions as Mn, Hotkey as Mt, useOverflow as N, useContainerReveal as Nn, useHotkeys as Nt, ComputeOverflowInput as O, useControllableState as On, UseImageModeOptions as Ot, NumberField as P, Combobox as Pn, HandleRef as Pt, LongPressOptions as Q, appShellMobileKey as Qn, useFieldControlState as Qt, addMonths as R, useCoarsePointer as Rn, useGridRovingFocus as Rt, UseRestoreFocusOptions as S, parseDisplayTime as Sn, useInputContainer as St, usePressFeedback as T, shiftTime as Tn, UseIndicatorFocusRingReturn as Tt, MergedRef as U, ChatScrollToBottomOptions as Un, UseFocusTrapOptions as Ut, toISODate as V, UseClickableContainerOptions as Vn, useGridFocus as Vt, MergedRefHandle as W, UseChatStreamScrollOptions as Wn, useFocusTrap as Wt, useMediaQuery as X, useChatNewMessages as Xn, FieldControlState as Xt, useMenuPress as Y, UseChatNewMessagesReturn as Yn, selectFiles as Yt, LongPressHandlers as Z, AppShellMobile as Zn, FieldControlStateInput as Zt, ScrollableAreaState as _, ParsedTime as _n, UseInputStatusIconOptions as _t, UseStreamingTextOptions as a, DisclosureHandle as an, WeekStartsOn as ar, UseLayerOptions as at, useScrollableArea as b, formatISOTime as bn, InputContainerHandlers as bt, ScrollOverflowState as c, devWarn as cn, formatDateRange as cr, KeyboardHintOrientation as ct, useScrollLock as d, DateSurface as dn, isSameRange as dr, useKeyboardHint as dt, UseEntryAnimationOptions as en, AnnounceFn as er, ListFocus as et, ScrollAxis as f, resolveDatePresentation as fn, orderRange as fr, InteractiveRole as ft, ScrollStickyContainment as g, NativePicker as gn, InputStatusVariant as gt, ScrollRole as h, ISOTimeString as hn, useInteractiveRole as ht, StreamingTextSpeed as i, useDismiss as in, RangeClickResult as ir, LayerMode as it, UseOverflowReturn as j, UseContainerReveal as jn, useImageMode as jt, ComputeOverflowResult as k, ContainerRevealOptions as kn, imageModeFromPixels as kt, UseScrollOverflowResult as l, useDevWarning as ln, isDayOutsideSpan as lr, UseKeyboardHint as lt, ScrollOverscroll as m, HourFormat as mn, spanDays as mr, UseInteractiveRoleReturn as mt, UseTypeaheadReturn as n, useEntryAnimation as nn, useAnnounce as nr, UseListFocusOptions as nt, snapToGraphemeBoundary as o, DisclosureHandleRef as on, applyRangeClick as or, UseLayerReturn as ot, ScrollAxisState as p, resolveDateSurface as pn, resolveWeekStart as pr, UseInteractiveRoleOptions as pt, MenuPressOptions as q, CHAT_MESSAGE_CLASS as qn, FileSelectionResult as qt, useTypeahead as r, UseDismissOptions as rn, ISODateRange as rr, useListFocus as rt, useStreamingText as s, useDisclosureHandle as sn, compareISODate as sr, useLayer as st, UseTypeaheadOptions as t, UseEntryAnimationReturn as tn, AnnouncePoliteness as tr, ListFocusOrientation as tt, useScrollOverflow as u, DatePresentation as un, isRangeWithinSpan as ur, UseKeyboardHintOptions as ut, UseScrollableAreaOptions as v, TimePresentation as vn, UseInputStatusIconReturn as vt, UsePressFeedbackReturn as w, resolveTimeSurface as wn, UseIndicatorFocusRingOptions as wt, RestoreFocus as x, isTimeInRange as xn, UseInputContainerOptions as xt, UseScrollableAreaResult as y, formatDisplayTime as yn, useInputStatusIcon as yt, buildMonthGrid as z, ClickableContainerHandlers as zn, UseGridFocusOptions as zt };
1802
+ export { MergedRefHandle as $, UseContainerReveal as $n, Hotkey as $t, useResolvedLabelHidden as A, useDevWarning as An, applyRangeClick as Ar, UseKeyboardHint as At, computeOverflow as B, TimeSurface as Bn, useInputStatusIcon as Bt, ScrollableAreaState as C, useEntryAnimation as Cn, useAppShellMobile as Cr, useLayerTeleportTarget as Ct, RestoreFocus as D, DisclosureHandleRef as Dn, ISODateRange as Dr, UseLayerReturn as Dt, useScrollableArea as E, DisclosureHandle as En, useAnnounce as Er, UseLayerOptions as Et, usePendingChange as F, HourFormat as Fn, isSameRange as Fr, UseInteractiveRoleReturn as Ft, computeSteppedValue as G, parseISOTime as Gn, UseIndicatorFocusRingOptions as Gt, NumberField as H, formatISOTime as Hn, UseInputContainerOptions as Ht, ComputeOverflowInput as I, ISOTimeString as In, orderRange as Ir, useInteractiveRole as It, buildMonthGrid as J, ControllableState as Jn, ImageSampleRegion as Jt, useNumberField as K, resolveTimeSurface as Kn, UseIndicatorFocusRingReturn as Kt, ComputeOverflowResult as L, NativePicker as Ln, resolveWeekStart as Lr, InputStatusVariant as Lt, UsePressFeedbackReturn as M, DateSurface as Mn, formatDateRange as Mr, useKeyboardHint as Mt, usePressFeedback as N, resolveDatePresentation as Nn, isDayOutsideSpan as Nr, InteractiveRole as Nt, UseRestoreFocusOptions as O, useDisclosureHandle as On, RangeClickResult as Or, useLayer as Ot, PendingChange as P, resolveDateSurface as Pn, isRangeWithinSpan as Pr, UseInteractiveRoleOptions as Pt, MergedRef as Q, ContentRevealOptions as Qn, useImageMode as Qt, UseOverflowOptions as R, ParsedTime as Rn, spanDays as Rr, UseInputStatusIconOptions as Rt, ScrollStickyContainment as S, UseEntryAnimationReturn as Sn, appShellMobileKey as Sr, useLayerMountTarget as St, UseScrollableAreaResult as T, useDismiss as Tn, AnnouncePoliteness as Tr, LayerMode as Tt, NumberStepDirection as U, isTimeInRange as Un, useInputContainer as Ut, useOverflow as V, formatDisplayTime as Vn, InputContainerHandlers as Vt, UseNumberFieldOptions as W, parseDisplayTime as Wn, IndicatorFocusRingHandlers as Wt, toISODate as X, useControllableState as Xn, imageModeFromPixels as Xt, parseISODate as Y, UseControllableStateOptions as Yn, UseImageModeOptions as Yt, todayISODate as Z, ContainerRevealOptions as Zn, perceptualLightness as Zt, ScrollAxis as _, FieldControlState as _n, CHAT_MESSAGE_CLASS as _r, useLongPress as _t, UseTouchTriggerOptions as a, useGridRovingFocus as an, useCombobox as ar, resetMenuPress as at, ScrollOverscroll as b, EntryAnimationPreset as bn, useChatNewMessages as br, UseListFocusOptions as bt, useTouchTrigger as c, useGridFocus as cn, INTERACTIVE_SELECTORS as cr, MenuPressEffect as ct, snapToGraphemeBoundary as d, useFocusTrap as dn, hasTextSelection as dr, MenuPressPointerType as dt, useHotkeys as en, UseContainerRevealOptions as er, useMergedRefs as et, useStreamingText as f, FileRejection as fn, useClickableContainer as fr, MenuPressStep as ft, useScrollLock as g, selectFiles as gn, useChatStreamScroll as gr, LongPressOptions as gt, useScrollOverflow as h, formatFileSize as hn, UseChatStreamScrollReturn as hr, LongPressHandlers as ht, LayerTouchTrigger as i, UseGridRovingFocusOptions as in, UseComboboxOptions as ir, isMenuPressActivation as it, UsePressFeedbackOptions as j, DatePresentation as jn, compareISODate as jr, UseKeyboardHintOptions as jt, useRestoreFocus as k, devWarn as kn, WeekStartsOn as kr, KeyboardHintOrientation as kt, StreamingTextSpeed as l, FocusTrap as ln, UseClickableContainerOptions as lr, MenuPressEvent as lt, UseScrollOverflowResult as m, FileSelectionResult as mn, UseChatStreamScrollOptions as mr, useMediaQuery as mt, UseTypeaheadReturn as n, useHandleRef as nn, Combobox as nr, MenuPressOptions as nt, UseTouchTriggerReturn as o, UseGridFocusOptions as on, useCoarsePointer as or, MENU_PRESS_MARKER as ot, ScrollOverflowState as p, FileSelectionOptions as pn, ChatScrollToBottomOptions as pr, menuPressStep as pt, addMonths as q, shiftTime as qn, useIndicatorFocusRing as qt, useTypeahead as r, GridRovingFocus as rn, ComboboxOption as rr, useMenuPress as rt, isActionTrigger as s, UseGridFocusReturn as sn, ClickableContainerHandlers as sr, MENU_PRESS_SETTLE_MS as st, UseTypeaheadOptions as t, HandleRef as tn, useContainerReveal as tr, MenuPress as tt, UseStreamingTextOptions as u, UseFocusTrapOptions as un, hasInteractiveAncestor as ur, MenuPressGesture as ut, ScrollAxisState as v, FieldControlStateInput as vn, UseChatNewMessagesOptions as vr, ListFocus as vt, UseScrollableAreaOptions as w, UseDismissOptions as wn, AnnounceFn as wr, useResolvedLayerTeleport as wt, ScrollRole as x, UseEntryAnimationOptions as xn, AppShellMobile as xr, useListFocus as xt, ScrollKeyboardAccess as y, useFieldControlState as yn, UseChatNewMessagesReturn as yr, ListFocusOrientation as yt, UseOverflowReturn as z, TimePresentation as zn, UseInputStatusIconReturn as zt };