@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,573 +0,0 @@
1
- import { onBeforeUnmount, toValue } from "vue";
2
- //#region src/composables/useLongPress.ts
3
- const DEFAULT_DELAY_MS = 500;
4
- const DEFAULT_MOVE_CANCEL_PX = 10;
5
- function touchPoint(event) {
6
- const touch = event.touches?.[0] ?? event.changedTouches?.[0];
7
- return touch == null ? null : {
8
- x: touch.clientX,
9
- y: touch.clientY
10
- };
11
- }
12
- /**
13
- * 对应原版 Astryx 的 `hooks/useLongPress`。
14
- *
15
- * Detect a single-finger long press.
16
- *
17
- * iOS Safari never synthesizes a `contextmenu` event for a held finger, so a
18
- * long press is the only touch affordance that can open a cursor-positioned
19
- * surface. The press is cancelled when the finger travels past the tolerance,
20
- * lifts, a second finger lands, or the touch is cancelled.
21
- *
22
- * 两种绑法:自己接指针事件时用 `start` / `moveTo` / `cancel`;直接要触摸监听时
23
- * 把 `handlers` 摊到元素上。
24
- */
25
- function useLongPress(options) {
26
- const delayMs = options.delayMs ?? DEFAULT_DELAY_MS;
27
- const moveCancelPx = options.moveCancelPx ?? DEFAULT_MOVE_CANCEL_PX;
28
- let timer = null;
29
- let origin = null;
30
- function isDisabled() {
31
- return toValue(options.isDisabled) === true || toValue(options.disabled) === true;
32
- }
33
- function cancel() {
34
- if (timer != null) {
35
- clearTimeout(timer);
36
- timer = null;
37
- }
38
- origin = null;
39
- }
40
- function start(point) {
41
- if (isDisabled()) return;
42
- cancel();
43
- origin = {
44
- x: point.x,
45
- y: point.y
46
- };
47
- timer = setTimeout(() => {
48
- const from = origin;
49
- timer = null;
50
- if (from == null) return;
51
- options.onLongPress({
52
- x: from.x,
53
- y: from.y
54
- });
55
- }, delayMs);
56
- }
57
- function moveTo(point) {
58
- if (origin == null) return false;
59
- if (Math.abs(point.x - origin.x) > moveCancelPx || Math.abs(point.y - origin.y) > moveCancelPx) {
60
- cancel();
61
- return false;
62
- }
63
- return true;
64
- }
65
- /**
66
- * A press needs exactly one finger. A second one cancels it, the way a
67
- * lift does.
68
- */
69
- function onTouchStart(event) {
70
- if ((event.touches?.length ?? 0) !== 1) {
71
- cancel();
72
- return;
73
- }
74
- const point = touchPoint(event);
75
- if (point != null) start(point);
76
- }
77
- function onTouchMove(event) {
78
- const point = touchPoint(event);
79
- if (point != null) moveTo(point);
80
- }
81
- function onTouchEnd() {
82
- cancel();
83
- }
84
- function onTouchCancel() {
85
- cancel();
86
- }
87
- onBeforeUnmount(cancel);
88
- return {
89
- cancel,
90
- handlers: {
91
- onTouchCancel,
92
- onTouchEnd,
93
- onTouchMove,
94
- onTouchStart
95
- },
96
- moveTo,
97
- start
98
- };
99
- }
100
- //#endregion
101
- //#region src/ContextMenu/menuNav.ts
102
- /**
103
- * Roles a menu row can carry. The selectable roles sit alongside the plain
104
- * one so every row is reachable by arrow keys, typeahead, and Enter/Space.
105
- */
106
- const MENU_ITEM_ROLES = /* @__PURE__ */ new Set([
107
- "menuitem",
108
- "menuitemradio",
109
- "menuitemcheckbox"
110
- ]);
111
- /** Selector for the activatable rows of one menu level. */
112
- const MENU_ITEM_SELECTOR = [...MENU_ITEM_ROLES].map((role) => `[role="${role}"]:not([aria-disabled="true"])`).join(",");
113
- /** Selector for any menu level, used to scope a level's rows and key events. */
114
- const MENU_BOUNDARY_SELECTOR = "[role=\"menu\"]";
115
- /**
116
- * Whether a click carries a modifier or a non-primary button. On a row that is
117
- * a link the browser gives such a click a meaning of its own, which the row
118
- * must leave alone.
119
- */
120
- function isModifiedClick(event) {
121
- return event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || (event.button ?? 0) !== 0;
122
- }
123
- /**
124
- * Activate a row from the keyboard: a synthesized click that carries the key's
125
- * modifiers, so a modified Enter on a link row opens the way a modified click
126
- * would. `detail` stays 0, the mark of a non-pointer activation.
127
- */
128
- function activateMenuItem(row, key) {
129
- row.dispatchEvent(new MouseEvent("click", {
130
- altKey: key.altKey,
131
- bubbles: true,
132
- cancelable: true,
133
- composed: true,
134
- ctrlKey: key.ctrlKey,
135
- metaKey: key.metaKey,
136
- shiftKey: key.shiftKey
137
- }));
138
- }
139
- function isDisabledRow(row) {
140
- return row.getAttribute("aria-disabled") === "true" || row.hasAttribute("disabled");
141
- }
142
- function isHiddenWithin(row, container) {
143
- let current = row;
144
- while (current != null && current !== container) {
145
- if (current.hidden || current.getAttribute("aria-hidden") === "true") return true;
146
- current = current.parentElement;
147
- }
148
- return false;
149
- }
150
- const TYPEAHEAD_RESET_MS = 750;
151
- /**
152
- * Roving focus, typeahead, and activation for one menu level.
153
- *
154
- * Both the menu panel and every submenu flyout own one of these, so a nested
155
- * level keeps its own highlight, its own typeahead buffer, and its own keys
156
- * without coordinating with its parent.
157
- */
158
- function useMenuNav(options) {
159
- const { menuRef, onClose } = options;
160
- let typeaheadBuffer = "";
161
- let typeaheadTimer;
162
- function resetTypeahead() {
163
- typeaheadBuffer = "";
164
- if (typeaheadTimer != null) {
165
- clearTimeout(typeaheadTimer);
166
- typeaheadTimer = void 0;
167
- }
168
- }
169
- function getItems() {
170
- const menu = menuRef.value;
171
- if (menu == null) return [];
172
- return Array.from(menu.querySelectorAll(MENU_ITEM_SELECTOR)).filter((row) => !isHiddenWithin(row, menu)).filter((row) => row.closest(MENU_BOUNDARY_SELECTOR) === menu);
173
- }
174
- function ownsEvent(event) {
175
- const menu = menuRef.value;
176
- const target = event.target;
177
- if (menu == null || !(target instanceof Element)) return true;
178
- return target.closest(MENU_BOUNDARY_SELECTOR) === menu;
179
- }
180
- function getCurrentIndex(items) {
181
- const active = menuRef.value?.ownerDocument.activeElement ?? null;
182
- return items.findIndex((row) => row === active || row.contains(active));
183
- }
184
- function findEnabledIndex(items, start, step, wrap) {
185
- const count = items.length;
186
- if (count === 0) return -1;
187
- let index = start;
188
- for (let i = 0; i < count; i++) {
189
- if (index < 0 || index >= count) {
190
- if (!wrap) return -1;
191
- index = (index + count) % count;
192
- }
193
- const row = items[index];
194
- if (row != null && !isDisabledRow(row)) return index;
195
- index += step;
196
- }
197
- return -1;
198
- }
199
- function focusIndex(items, index) {
200
- const row = items[index];
201
- if (row == null) return false;
202
- row.focus();
203
- return true;
204
- }
205
- function focusFirst() {
206
- const items = getItems();
207
- return focusIndex(items, findEnabledIndex(items, 0, 1, false));
208
- }
209
- function focusLast() {
210
- const items = getItems();
211
- return focusIndex(items, findEnabledIndex(items, items.length - 1, -1, false));
212
- }
213
- function moveBy(direction) {
214
- const items = getItems();
215
- if (items.length === 0) return false;
216
- const current = getCurrentIndex(items);
217
- return focusIndex(items, findEnabledIndex(items, current === -1 ? direction === 1 ? 0 : items.length - 1 : current + direction, direction, true));
218
- }
219
- /**
220
- * PageDown / PageUp move by the rows a viewport shows, never wrapping; in a
221
- * menu that does not scroll they act as End and Home.
222
- */
223
- function focusPage(direction) {
224
- const menu = menuRef.value;
225
- const all = getItems();
226
- const active = all.map((row, index) => isDisabledRow(row) ? -1 : index).filter((index) => index !== -1);
227
- if (menu == null || active.length === 0) return false;
228
- if (menu.clientHeight === 0 || menu.scrollHeight <= menu.clientHeight) return direction === 1 ? focusLast() : focusFirst();
229
- const rowHeight = all[active[0]]?.getBoundingClientRect().height ?? 0;
230
- const perPage = rowHeight > 0 ? Math.max(1, Math.floor(menu.clientHeight / rowHeight)) : active.length;
231
- const position = active.indexOf(getCurrentIndex(all));
232
- const from = position === -1 ? direction === 1 ? -1 : active.length : position;
233
- return focusIndex(all, active[Math.max(0, Math.min(active.length - 1, from + direction * perPage))]);
234
- }
235
- /**
236
- * Typeahead over the rows' label elements. Repeated presses of the same
237
- * character cycle through the matches instead of filtering deeper.
238
- */
239
- function handleTypeahead(event) {
240
- const isSpaceMidType = event.key === " " && typeaheadBuffer.length > 0;
241
- if (!(event.key.length === 1 && !event.ctrlKey && !event.metaKey && event.key !== " ") && !isSpaceMidType) return false;
242
- const items = getItems();
243
- const labels = items.map((row) => row.querySelector(`[data-menu-item-label]`)?.textContent ?? row.textContent);
244
- if (labels.length === 0) return false;
245
- const char = event.key.toLowerCase();
246
- const nextBuffer = typeaheadBuffer.length > 0 && [...typeaheadBuffer].every((entry) => entry === char) ? char : typeaheadBuffer + char;
247
- typeaheadBuffer = nextBuffer;
248
- if (typeaheadTimer != null) clearTimeout(typeaheadTimer);
249
- typeaheadTimer = setTimeout(resetTypeahead, TYPEAHEAD_RESET_MS);
250
- const current = getCurrentIndex(items);
251
- const hasCurrent = current >= 0;
252
- const start = hasCurrent ? current : 0;
253
- const offset = hasCurrent && nextBuffer.length === 1 ? 1 : 0;
254
- for (let i = 0; i < labels.length; i++) {
255
- const index = (start + offset + i + labels.length) % labels.length;
256
- if (isDisabledRow(items[index])) continue;
257
- const label = labels[index];
258
- if (label != null && label.trim().toLowerCase().startsWith(nextBuffer)) {
259
- focusIndex(items, index);
260
- return true;
261
- }
262
- }
263
- return true;
264
- }
265
- function handleKeyDown(event) {
266
- if (event.defaultPrevented || event.isComposing || event.ctrlKey || event.metaKey || event.altKey) return;
267
- if (!ownsEvent(event)) return;
268
- if (event.key === "Enter" || event.key === " ") {
269
- event.preventDefault();
270
- if (event.repeat) return;
271
- const active = menuRef.value?.ownerDocument.activeElement;
272
- if (active instanceof HTMLElement && MENU_ITEM_ROLES.has(active.getAttribute("role") ?? "")) activateMenuItem(active, event);
273
- return;
274
- }
275
- if (event.key === "Tab") {
276
- onClose("tab");
277
- return;
278
- }
279
- if (event.key === "Escape") {
280
- event.preventDefault();
281
- onClose("escape");
282
- return;
283
- }
284
- if (handleTypeahead(event)) {
285
- event.preventDefault();
286
- return;
287
- }
288
- if (event.key === "ArrowDown" && moveBy(1)) {
289
- event.preventDefault();
290
- return;
291
- }
292
- if (event.key === "ArrowUp" && moveBy(-1)) {
293
- event.preventDefault();
294
- return;
295
- }
296
- if (event.key === "Home" && focusFirst()) {
297
- event.preventDefault();
298
- return;
299
- }
300
- if (event.key === "End" && focusLast()) {
301
- event.preventDefault();
302
- return;
303
- }
304
- if (event.key === "PageDown" && focusPage(1)) {
305
- event.preventDefault();
306
- return;
307
- }
308
- if (event.key === "PageUp" && focusPage(-1)) event.preventDefault();
309
- }
310
- return {
311
- focusFirst,
312
- handleKeyDown,
313
- resetTypeahead
314
- };
315
- }
316
- //#endregion
317
- //#region src/ContextMenu/useMenuPress.ts
318
- /** How long after a tracked release the browser's own click is still swallowed. */
319
- const STRAY_CLICK_MS = 400;
320
- /** How long a finger must rest on the trigger before the menu opens under it. */
321
- const DEFAULT_LONG_PRESS_MS = 500;
322
- let swallower = null;
323
- function disarmStrayClick() {
324
- if (swallower == null) return;
325
- swallower.isArmed = false;
326
- if (swallower.timer != null) {
327
- clearTimeout(swallower.timer);
328
- swallower.timer = null;
329
- }
330
- }
331
- function onWindowClickCapture(event) {
332
- if (swallower == null || !swallower.isArmed) return;
333
- if (event.detail === 0) return;
334
- event.preventDefault();
335
- event.stopImmediatePropagation();
336
- disarmStrayClick();
337
- }
338
- /**
339
- * Swallow the browser's compatibility click for a gesture the press model
340
- * already acted on. The listener sits on the window in the capture phase, so
341
- * it runs ahead of any listener the application or the row itself installed.
342
- */
343
- function armStrayClick(doc) {
344
- const view = doc.defaultView;
345
- if (view == null) return;
346
- if (swallower == null || swallower.doc !== doc) {
347
- if (swallower != null) {
348
- swallower.doc.defaultView?.removeEventListener("click", onWindowClickCapture, true);
349
- swallower.doc.removeEventListener("pointerdown", disarmStrayClick, true);
350
- }
351
- view.addEventListener("click", onWindowClickCapture, true);
352
- doc.addEventListener("pointerdown", disarmStrayClick, true);
353
- swallower = {
354
- doc,
355
- isArmed: false,
356
- timer: null
357
- };
358
- }
359
- disarmStrayClick();
360
- swallower.isArmed = true;
361
- swallower.timer = setTimeout(disarmStrayClick, STRAY_CLICK_MS);
362
- }
363
- /** Forget an armed swallower. Called when a surface unmounts and in tests. */
364
- function resetMenuPress() {
365
- disarmStrayClick();
366
- }
367
- /**
368
- * The press model of a painted menu surface.
369
- *
370
- * A finger's pointer events stay with the element it landed on, so the gesture
371
- * is tracked at the document level by `pointerId`:
372
- *
373
- * - The highlight follows the finger.
374
- * - The row under the RELEASE acts, the way its own click would, carrying the
375
- * release's modifiers; the browser's own click for that gesture is swallowed
376
- * so the row never acts twice.
377
- * - A finger released outside leaves the menu open; a mouse released outside
378
- * dismisses it.
379
- * - `pointercancel` and a second pointer end the gesture with nothing acting.
380
- *
381
- * 传了 `triggerRef` 和 `onTriggerPress` 之后,按压也可以从触发器开始:鼠标按下就开,
382
- * 手指按住到 `longPressDelayMs` 才开,开着的时候手指可以滑进菜单里挑行。
383
- */
384
- function useMenuPress(options) {
385
- const { menuRef, isEnabled, onDismiss } = options;
386
- let trackedId = null;
387
- let trackedIsMouse = false;
388
- let trackedFromTrigger = false;
389
- let triggerOpened = false;
390
- let highlighted = null;
391
- let doc = null;
392
- let longPressTimer = null;
393
- let triggerPressAt = 0;
394
- function rowsSelector() {
395
- return options.itemSelector ?? MENU_ITEM_SELECTOR;
396
- }
397
- function isRowInsideMenu(row) {
398
- const menu = menuRef.value;
399
- return row instanceof HTMLElement && menu != null && menu.contains(row) && row.closest("[role=\"menu\"]") === menu;
400
- }
401
- function rowFromEvent(event) {
402
- const hit = doc?.elementFromPoint?.(event.clientX, event.clientY) ?? null;
403
- const fromPoint = hit instanceof Element ? hit.closest(rowsSelector()) : null;
404
- if (fromPoint != null && isRowInsideMenu(fromPoint)) return fromPoint;
405
- const target = event.target;
406
- const fromTarget = target instanceof Element ? target.closest(rowsSelector()) : null;
407
- return fromTarget != null && isRowInsideMenu(fromTarget) ? fromTarget : null;
408
- }
409
- function isEventInsideMenu(event) {
410
- const menu = menuRef.value;
411
- if (menu == null) return false;
412
- const hit = doc?.elementFromPoint?.(event.clientX, event.clientY) ?? null;
413
- if (hit instanceof Node && menu.contains(hit)) return true;
414
- const target = event.target;
415
- return target instanceof Node && menu.contains(target);
416
- }
417
- function isOverTrigger(event) {
418
- const trigger = options.triggerRef?.value;
419
- if (trigger == null) return false;
420
- const hit = doc?.elementFromPoint?.(event.clientX, event.clientY) ?? null;
421
- if (hit instanceof Node && trigger.contains(hit)) return true;
422
- const target = event.target;
423
- return target instanceof Node && trigger.contains(target);
424
- }
425
- function highlight(row) {
426
- if (row === highlighted) return;
427
- highlighted = row;
428
- if (options.onHighlight != null) {
429
- options.onHighlight(row);
430
- return;
431
- }
432
- row?.focus({ preventScroll: true });
433
- }
434
- function activate(row, release) {
435
- if (options.onActivate != null) {
436
- options.onActivate(row, release);
437
- return;
438
- }
439
- activateMenuItem(row, release);
440
- }
441
- function trackPointer(event, fromTrigger) {
442
- const current = (options.menuRef.value ?? options.triggerRef?.value ?? null)?.ownerDocument ?? null;
443
- if (current == null) return;
444
- if (trackedId != null) endGesture();
445
- doc = current;
446
- trackedId = event.pointerId;
447
- trackedIsMouse = event.pointerType === "mouse";
448
- trackedFromTrigger = fromTrigger;
449
- triggerOpened = false;
450
- current.addEventListener("pointermove", onDocumentPointerMove, true);
451
- current.addEventListener("pointerup", onDocumentPointerUp, true);
452
- current.addEventListener("pointercancel", onDocumentPointerCancel, true);
453
- }
454
- function onDocumentPointerMove(event) {
455
- if (event.pointerId !== trackedId) return;
456
- if (trackedFromTrigger && !triggerOpened) return;
457
- const row = rowFromEvent(event);
458
- if (row != null) highlight(row);
459
- }
460
- function onDocumentPointerUp(event) {
461
- if (event.pointerId !== trackedId) return;
462
- const row = rowFromEvent(event);
463
- const wasTrigger = trackedFromTrigger;
464
- const wasMouse = trackedIsMouse;
465
- const hadOpened = triggerOpened;
466
- const overTrigger = wasTrigger && isOverTrigger(event);
467
- const releasedOutside = !isEventInsideMenu(event);
468
- endGesture();
469
- if (row == null) {
470
- if (wasTrigger && hadOpened) {
471
- triggerPressAt = Date.now();
472
- if (wasMouse && !overTrigger && releasedOutside) onDismiss();
473
- }
474
- return;
475
- }
476
- if (doc != null) armStrayClick(doc);
477
- activate(row, event);
478
- }
479
- function onDocumentPointerCancel(event) {
480
- if (event.pointerId !== trackedId) return;
481
- endGesture();
482
- }
483
- function onDocumentMouseUp(event) {
484
- const isInside = isEventInsideMenu(event);
485
- endGesture();
486
- if (!isInside) onDismiss();
487
- }
488
- function clearLongPress() {
489
- if (longPressTimer != null) {
490
- clearTimeout(longPressTimer);
491
- longPressTimer = null;
492
- }
493
- }
494
- function endGesture() {
495
- clearLongPress();
496
- const current = doc;
497
- if (current != null) {
498
- current.removeEventListener("pointermove", onDocumentPointerMove, true);
499
- current.removeEventListener("pointerup", onDocumentPointerUp, true);
500
- current.removeEventListener("pointercancel", onDocumentPointerCancel, true);
501
- current.removeEventListener("mouseup", onDocumentMouseUp, true);
502
- }
503
- trackedId = null;
504
- trackedIsMouse = false;
505
- trackedFromTrigger = false;
506
- triggerOpened = false;
507
- highlighted = null;
508
- }
509
- function onPointerDown(event) {
510
- if (!isEnabled()) return;
511
- if (trackedId != null) endGesture();
512
- const target = event.target;
513
- const row = target instanceof Element ? target.closest(rowsSelector()) : null;
514
- if (row == null || !isRowInsideMenu(row)) return;
515
- trackPointer(event, false);
516
- highlighted = row;
517
- if (trackedIsMouse) {
518
- doc?.removeEventListener("pointermove", onDocumentPointerMove, true);
519
- doc?.removeEventListener("pointerup", onDocumentPointerUp, true);
520
- doc?.removeEventListener("pointercancel", onDocumentPointerCancel, true);
521
- doc?.addEventListener("mouseup", onDocumentMouseUp, true);
522
- }
523
- }
524
- function onTriggerPointerDown(event) {
525
- const press = options.onTriggerPress;
526
- if (press == null || !isEnabled()) return;
527
- if ((event.button ?? 0) !== 0) return;
528
- trackPointer(event, true);
529
- if (trackedIsMouse) {
530
- triggerOpened = press("mouse") === true;
531
- triggerPressAt = Date.now();
532
- if (!triggerOpened) endGesture();
533
- return;
534
- }
535
- const pointerType = event.pointerType === "pen" ? "pen" : "touch";
536
- longPressTimer = setTimeout(() => {
537
- longPressTimer = null;
538
- triggerOpened = press(pointerType) === true;
539
- triggerPressAt = Date.now();
540
- }, options.longPressDelayMs ?? DEFAULT_LONG_PRESS_MS);
541
- }
542
- /**
543
- * Only the browser's own menu for a held finger is suppressed; a mouse's
544
- * right-click keeps its `contextmenu` route through the application.
545
- */
546
- function onTriggerContextMenu(event) {
547
- if (options.onTriggerPress == null) return;
548
- if ((event instanceof PointerEvent ? event.pointerType : null) === "mouse") return;
549
- event.preventDefault();
550
- }
551
- function isTriggerClickFromPress() {
552
- return triggerPressAt !== 0 && Date.now() - triggerPressAt < STRAY_CLICK_MS;
553
- }
554
- function cancel() {
555
- endGesture();
556
- }
557
- onBeforeUnmount(endGesture);
558
- return {
559
- cancel,
560
- isTriggerClickFromPress,
561
- menuProps: {
562
- "data-astryx-menu-press": "",
563
- onPointerDown
564
- },
565
- onPointerDown,
566
- triggerProps: {
567
- onContextMenu: onTriggerContextMenu,
568
- onPointerDown: onTriggerPointerDown
569
- }
570
- };
571
- }
572
- //#endregion
573
- export { useLongPress as a, useMenuNav as i, useMenuPress as n, isModifiedClick as r, resetMenuPress as t };