@astryx-vue/core 0.2.6 → 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 (524) hide show
  1. package/THIRD_PARTY_NOTICES.md +9 -0
  2. package/dist/AlertDialog/index.js +1 -1
  3. package/dist/{AlertDialog-BBhl5P1X.js → AlertDialog-C2inDZWG.js} +13 -7
  4. package/dist/AppShell/index.d.ts +1 -1
  5. package/dist/AppShell/index.js +1 -1
  6. package/dist/{AppShell-mrflO0Uy.js → AppShell-CumzH-8z.js} +3 -3
  7. package/dist/Avatar/index.d.ts +1 -1
  8. package/dist/Avatar/index.js +1 -1
  9. package/dist/{Avatar-pPZ4dI_s.js → Avatar-BW0TE8t9.js} +47 -34
  10. package/dist/AvatarGroup/index.d.ts +1 -1
  11. package/dist/AvatarGroup/index.js +1 -1
  12. package/dist/{AvatarGroup-B--NQSB3.js → AvatarGroup-DLC_FFR5.js} +57 -13
  13. package/dist/Banner/index.d.ts +1 -1
  14. package/dist/Banner/index.js +1 -1
  15. package/dist/{Banner-GbGxrqQO.js → Banner-C5VAwo4D.js} +68 -34
  16. package/dist/Blockquote/index.js +1 -1
  17. package/dist/Blockquote-DRoKdcxZ.js +27 -0
  18. package/dist/BottomSheet/index.d.ts +1 -1
  19. package/dist/BottomSheet/index.js +2 -2
  20. package/dist/{BottomSheet-eJ3FzTBD.js → BottomSheet-B4sc3F1S.js} +288 -140
  21. package/dist/{BottomSheet-DIVwbGr3.js → BottomSheet-m54uCMJN.js} +20 -4
  22. package/dist/Breadcrumbs/index.d.ts +2 -2
  23. package/dist/Breadcrumbs/index.js +2 -2
  24. package/dist/Breadcrumbs-CTaz7Kh4.js +223 -0
  25. package/dist/Button/index.d.ts +1 -1
  26. package/dist/Button/index.js +1 -1
  27. package/dist/{Button-B6Hj_O_s.js → Button-ONOoHdkg.js} +25 -15
  28. package/dist/ButtonGroup/index.d.ts +1 -1
  29. package/dist/ButtonGroup/index.js +1 -1
  30. package/dist/ButtonGroup-DnkSZ9a5.js +87 -0
  31. package/dist/{ButtonTooltip-nWWrth8j.js → ButtonTooltip-CNKOQHYR.js} +7 -4
  32. package/dist/Calendar/index.d.ts +1 -1
  33. package/dist/Calendar/index.js +1 -1
  34. package/dist/{Calendar-B7vIowKq.js → Calendar-BAqzzQm2.js} +5 -5
  35. package/dist/Card/index.d.ts +2 -2
  36. package/dist/Card/index.js +1 -1
  37. package/dist/{Card-HAjZQg2s.js → Card-B-I24X9S.js} +2 -0
  38. package/dist/Carousel/index.js +1 -1
  39. package/dist/{Carousel-DAkOa7KK.js → Carousel-DXC22UWq.js} +50 -33
  40. package/dist/Chat/index.d.ts +1 -1
  41. package/dist/Chat/index.js +1 -1
  42. package/dist/{Chat-DVoI6UOA.js → Chat-BdJW6IX5.js} +152 -83
  43. package/dist/CheckboxIndicator/index.js +1 -1
  44. package/dist/{CheckboxIndicator-D37cm2Rh.js → CheckboxIndicator-fH4d-JE1.js} +9 -3
  45. package/dist/CheckboxInput/index.d.ts +1 -1
  46. package/dist/CheckboxInput/index.js +1 -1
  47. package/dist/{CheckboxInput-BS9J6edf.js → CheckboxInput-DJHCbwgC.js} +19 -11
  48. package/dist/CheckboxList/index.d.ts +1 -1
  49. package/dist/CheckboxList/index.js +1 -1
  50. package/dist/{CheckboxList-CX1i_jVP.js → CheckboxList-BdZIP4_J.js} +155 -38
  51. package/dist/Citation/index.js +1 -1
  52. package/dist/{Citation-Djgwa0ko.js → Citation-DbZn2vms.js} +8 -3
  53. package/dist/ClickableCard/index.d.ts +1 -1
  54. package/dist/ClickableCard/index.js +1 -1
  55. package/dist/{ClickableCard-Bhds4RRe.js → ClickableCard-ChAfiw9T.js} +10 -7
  56. package/dist/Code/index.d.ts +1 -1
  57. package/dist/Code/index.js +3 -3
  58. package/dist/{Code-XnPuGxey.js → Code-Bg7GBdxy.js} +2 -1
  59. package/dist/{CodeBlock-BUM3czCS.js → CodeBlock-Caaflp7C.js} +7 -3
  60. package/dist/Collapsible/index.d.ts +1 -1
  61. package/dist/Collapsible/index.js +1 -1
  62. package/dist/{Collapsible-Cov3Pyq5.js → Collapsible-Bdj0WYpb.js} +13 -11
  63. package/dist/CommandPalette/index.d.ts +1 -1
  64. package/dist/CommandPalette/index.js +1 -1
  65. package/dist/{CommandPalette-D6wYS30d.js → CommandPalette-C_MClfAg.js} +146 -62
  66. package/dist/ComplexSelector/index.d.ts +1 -1
  67. package/dist/ComplexSelector/index.js +1 -1
  68. package/dist/{ComplexSelector-Bil81sfq.js → ComplexSelector-BeVQaqRf.js} +94 -22
  69. package/dist/ContextMenu/index.d.ts +2 -2
  70. package/dist/ContextMenu/index.js +2 -2
  71. package/dist/{ContextMenu-DdLJnxNN.js → ContextMenu-C6hPYvYz.js} +299 -179
  72. package/dist/DateInput/index.d.ts +1 -1
  73. package/dist/DateInput/index.js +1 -1
  74. package/dist/{DateInput-u2XKccpK.js → DateInput-BjLdmYor.js} +567 -76
  75. package/dist/DateRangeInput/index.d.ts +1 -1
  76. package/dist/DateRangeInput/index.js +1 -1
  77. package/dist/{DateRangeInput-u7LhH6up.js → DateRangeInput-Br3wVEfD.js} +99 -28
  78. package/dist/DateTimeInput/index.d.ts +1 -1
  79. package/dist/DateTimeInput/index.js +1 -1
  80. package/dist/DateTimeInput-CAZBwoRe.js +562 -0
  81. package/dist/Dialog/index.d.ts +1 -1
  82. package/dist/Dialog/index.js +2 -2
  83. package/dist/{Dialog-BiOSKQso.js → Dialog-Dce4Y97V.js} +28 -11
  84. package/dist/{Dialog-FGHfDu5M.js → Dialog-fhyxB00e.js} +32 -5
  85. package/dist/Divider/index.d.ts +1 -1
  86. package/dist/Divider/index.js +1 -1
  87. package/dist/{Divider-BtwnL18I.js → Divider-mOZ6vIQw.js} +5 -1
  88. package/dist/DropdownMenu/index.d.ts +2 -2
  89. package/dist/DropdownMenu/index.js +3 -3
  90. package/dist/{DropdownMenu-SM_BEOgM.js → DropdownMenu-BdGmQVb1.js} +85 -57
  91. package/dist/{DropdownMenu-BEasdJ6R.js → DropdownMenu-BzQrNV9C.js} +481 -264
  92. package/dist/{DropdownMenuRadioItem.vue-CXEURBcq.d.ts → DropdownMenuRadioItem.vue-Qd-8Rg4Q.d.ts} +236 -230
  93. package/dist/EmptyState/index.js +1 -1
  94. package/dist/{EmptyState-C_GH7IV5.js → EmptyState-CmOQf2SH.js} +2 -2
  95. package/dist/Field/index.d.ts +4 -3
  96. package/dist/Field/index.js +4 -3
  97. package/dist/{Field-D5gUEGw4.js → Field--OEsLBfE.js} +4 -3
  98. package/dist/{FieldInfoTip-Ds-sW_jY.js → FieldInfoTip-gxsnfkZw.js} +3 -3
  99. package/dist/{FieldLabel-BNeXRuGH.js → FieldLabel-jxIiWgLw.js} +12 -7
  100. package/dist/FieldStatus/index.d.ts +1 -1
  101. package/dist/FileInput/index.d.ts +1 -1
  102. package/dist/FileInput/index.js +1 -1
  103. package/dist/{FileInput-BpdiO1V8.js → FileInput-B_pUxB0Y.js} +106 -29
  104. package/dist/FormLayout/index.d.ts +1 -1
  105. package/dist/FormLayout/index.js +1 -1
  106. package/dist/{FormLayout-D47FjiOq.js → FormLayout-B9dUB6Ps.js} +1 -1
  107. package/dist/Heading/index.d.ts +1 -1
  108. package/dist/Heading/index.js +1 -1
  109. package/dist/{Heading-BnwWEWkp.js → Heading-BzBunfN7.js} +1 -1
  110. package/dist/HoverCard/index.js +1 -1
  111. package/dist/{HoverCard-ycY50pRN.js → HoverCard-BpJhT0sn.js} +35 -22
  112. package/dist/Icon/index.d.ts +4 -4
  113. package/dist/Icon/index.js +1 -1
  114. package/dist/{Icon-bteSId7T.js → Icon-KDnUyY7f.js} +12 -20
  115. package/dist/IconButton/index.js +1 -1
  116. package/dist/{IconButton-DDNgNl7B.js → IconButton-DI-XBbtV.js} +1 -1
  117. package/dist/Indicator/index.d.ts +2 -2
  118. package/dist/Indicator/index.js +2 -1
  119. package/dist/InputClearButton-CwXPan8c.js +40 -0
  120. package/dist/InputGroup/index.d.ts +1 -1
  121. package/dist/InputGroup/index.js +2 -2
  122. package/dist/{InputGroup-CA03Smrs.js → InputGroup-DiiocoIW.js} +2 -2
  123. package/dist/InternationalizationProvider/index.d.ts +1 -1
  124. package/dist/InternationalizationProvider/index.js +1 -1
  125. package/dist/{InternationalizationProvider-DJay_w3B.js → InternationalizationProvider-kBapgKAQ.js} +5 -9
  126. package/dist/{Item-KhFKX9St.js → Item-DWMIjN8n.js} +34 -9
  127. package/dist/Kbd/index.js +1 -1
  128. package/dist/{Kbd-BB-Dw6zE.js → Kbd-CV3LO2Ge.js} +18 -2
  129. package/dist/LayerContentBoundary-CvsKxwwm.js +27 -0
  130. package/dist/LayerProvider/index.js +1 -1
  131. package/dist/{LayerProvider-D9NsQFzL.js → LayerProvider-B6zpMBWC.js} +15 -3
  132. package/dist/Layout/index.d.ts +1 -1
  133. package/dist/Layout/index.js +2 -2
  134. package/dist/{Layout-9X6eCUoY.js → Layout-JJRCG7Mf.js} +1 -1
  135. package/dist/{LayoutPanel-DeOh00p5.js → LayoutPanel-zM5vjrKS.js} +15 -8
  136. package/dist/Lightbox/index.js +1 -1
  137. package/dist/{Lightbox-DTF9EdTG.js → Lightbox-D8wyPgMK.js} +8 -6
  138. package/dist/Link/index.d.ts +2 -2
  139. package/dist/Link/index.js +1 -1
  140. package/dist/{Link-BqHCtiyt.js → Link-DweIpOtN.js} +29 -12
  141. package/dist/List/index.d.ts +1 -1
  142. package/dist/List/index.js +2 -2
  143. package/dist/{ListItem-8RWT8XAG.js → ListItem-BQXMu1Tb.js} +1 -1
  144. package/dist/Markdown/index.d.ts +5 -2
  145. package/dist/Markdown/index.js +5 -2
  146. package/dist/Markdown/parser/index.d.ts +4 -0
  147. package/dist/Markdown/parser/index.js +3 -0
  148. package/dist/Markdown/plugin-protocol/index.d.ts +35 -0
  149. package/dist/Markdown/plugin-protocol/index.js +107 -0
  150. package/dist/Markdown/plugin-renderer/index.d.ts +31 -0
  151. package/dist/Markdown/plugin-renderer/index.js +42 -0
  152. package/dist/{Markdown-2CVyZDuB.js → Markdown-DhVfOvXk.js} +195 -484
  153. package/dist/MediaTheme-DlLqYhDy.js +433 -0
  154. package/dist/MetadataList/index.js +1 -1
  155. package/dist/{MetadataList-B-OelQlt.js → MetadataList-CEYceIlN.js} +15 -7
  156. package/dist/MobileNav/index.js +1 -1
  157. package/dist/{MobileNavToggle-C3dkrM98.js → MobileNavToggle-pdoJFZHx.js} +60 -19
  158. package/dist/MoreMenu/index.d.ts +1 -1
  159. package/dist/MoreMenu/index.js +1 -1
  160. package/dist/{MoreMenu-D1WFGqGU.js → MoreMenu-CFNqSRev.js} +87 -67
  161. package/dist/MultiSelector/index.d.ts +1 -1
  162. package/dist/MultiSelector/index.js +1 -1
  163. package/dist/MultiSelector-DuVatmq5.js +1456 -0
  164. package/dist/{NavDisclosure-C_fugrQ3.js → NavDisclosure-Bq9DTZLO.js} +29 -7
  165. package/dist/{NavHeadingSurface-B3yJspSN.js → NavHeadingSurface-C4v_MtkX.js} +29 -26
  166. package/dist/NavItem/index.d.ts +1 -1
  167. package/dist/NavItem/index.js +2 -2
  168. package/dist/{NavItem-BBIGSvDj.js → NavItem-BPb3yfgz.js} +17 -4
  169. package/dist/NavMenu/index.d.ts +1 -1
  170. package/dist/NavMenu/index.js +3 -3
  171. package/dist/{NavMenu-ThXguZAz.js → NavMenu-BYIDzjix.js} +42 -15
  172. package/dist/{NavMenuItem-BvJNsDFC.js → NavMenuItem-D3FO90GR.js} +14 -12
  173. package/dist/NumberInput/index.d.ts +1 -1
  174. package/dist/NumberInput/index.js +1 -1
  175. package/dist/NumberInput-B0vzOg3N.js +727 -0
  176. package/dist/Outline/index.d.ts +2 -2
  177. package/dist/Outline/index.js +2 -2
  178. package/dist/{Outline-755h-lMP.js → Outline-CfGv2F1o.js} +91 -6
  179. package/dist/OverflowList/index.d.ts +2 -2
  180. package/dist/OverflowList/index.js +1 -1
  181. package/dist/{OverflowList-NmrSMbxb.js → OverflowList-BgRLZ3dh.js} +23 -6
  182. package/dist/Pagination/index.d.ts +1 -1
  183. package/dist/Pagination/index.js +1 -1
  184. package/dist/{Pagination-Cc4BrjQg.js → Pagination-Bfe12018.js} +2 -2
  185. package/dist/PickerWheel-CSwUYfes.js +69 -0
  186. package/dist/Popover/index.d.ts +1 -1
  187. package/dist/Popover/index.js +1 -1
  188. package/dist/{Popover-CtoBfVlD.js → Popover-78dFjTb9.js} +28 -17
  189. package/dist/PowerSearch/index.d.ts +1 -1
  190. package/dist/PowerSearch/index.js +1 -1
  191. package/dist/{PowerSearch-DHoiObLn.js → PowerSearch-BoAMdFaT.js} +776 -586
  192. package/dist/ProgressBar/index.d.ts +1 -1
  193. package/dist/ProgressBar/index.js +1 -1
  194. package/dist/{ProgressBar-CVLzdoBK.js → ProgressBar-VP4JS7vm.js} +10 -7
  195. package/dist/Radio/index.d.ts +1 -1
  196. package/dist/Radio/index.js +1 -1
  197. package/dist/{RadioGroup-Bfu6JSNV.js → RadioGroup-BIipql-L.js} +94 -26
  198. package/dist/RadioList/index.d.ts +1 -1
  199. package/dist/RadioList/index.js +1 -1
  200. package/dist/{RadioList-xY1cwLdZ.js → RadioList-GyhgBg4j.js} +57 -8
  201. package/dist/Resizable/index.d.ts +1 -1
  202. package/dist/Resizable/index.js +1 -1
  203. package/dist/{ResizeHandle-q4nD_586.js → ResizeHandle-TPlUCAHD.js} +103 -50
  204. package/dist/ScrollableArea/index.d.ts +1 -1
  205. package/dist/ScrollableArea/index.js +1 -1
  206. package/dist/{ScrollableArea-CJiaALHm.js → ScrollableArea-0u6RWtGG.js} +14 -3
  207. package/dist/Scrollbars/index.d.ts +2 -0
  208. package/dist/Scrollbars/index.js +3 -0
  209. package/dist/Scrollbars-D_93hJYK.js +75 -0
  210. package/dist/SegmentedControl/index.js +1 -1
  211. package/dist/{SegmentedControl-ChHmFrrC.js → SegmentedControl-D1wWGBZo.js} +11 -5
  212. package/dist/SelectableCard/index.d.ts +1 -1
  213. package/dist/SelectableCard/index.js +1 -1
  214. package/dist/{SelectableCard-Bj5s_tIN.js → SelectableCard-BEqnhPaX.js} +17 -12
  215. package/dist/Selector/index.d.ts +1 -1
  216. package/dist/Selector/index.js +1 -1
  217. package/dist/Selector-CPISLzp7.js +1049 -0
  218. package/dist/SideNav/index.d.ts +1 -1
  219. package/dist/SideNav/index.js +1 -1
  220. package/dist/{SideNav-Dtv8eA2j.js → SideNav-CN2QeAtY.js} +64 -41
  221. package/dist/Slider/index.d.ts +1 -1
  222. package/dist/Slider/index.js +1 -1
  223. package/dist/{Slider-DWobsPgm.js → Slider-pdC0jpHu.js} +172 -46
  224. package/dist/Spinner/index.js +1 -1
  225. package/dist/Spinner-DdVUadii.js +200 -0
  226. package/dist/Stack/index.d.ts +1 -1
  227. package/dist/Stack/index.js +2 -2
  228. package/dist/{Stack-CjQEavuq.js → Stack-Bb_h60t3.js} +10 -3
  229. package/dist/{Stack-D_Bhs-3r.js → Stack-Bp-XN9J4.js} +20 -9
  230. package/dist/StatusDot/index.d.ts +1 -1
  231. package/dist/StatusDot/index.js +1 -1
  232. package/dist/{StatusDot-BPUhMOff.js → StatusDot-BS_ohXhd.js} +8 -4
  233. package/dist/Stepper/index.d.ts +1 -1
  234. package/dist/Stepper/index.js +1 -1
  235. package/dist/{Stepper-CE8dHysu.js → Stepper-CyaSRSdu.js} +101 -79
  236. package/dist/Switch/index.d.ts +1 -1
  237. package/dist/Switch/index.js +1 -1
  238. package/dist/{Switch-DaVPRxvN.js → Switch-Z2Vfiiic.js} +38 -22
  239. package/dist/TabList/index.d.ts +2 -2
  240. package/dist/TabList/index.js +1 -1
  241. package/dist/{TabList-DIkK9sgK.js → TabList-DRqP0Hrv.js} +205 -63
  242. package/dist/Table/index.d.ts +3 -3
  243. package/dist/Table/index.js +1 -1
  244. package/dist/{Table-hqZMmzfU.js → Table-BcrrylMX.js} +727 -448
  245. package/dist/Text/index.d.ts +2 -2
  246. package/dist/Text/index.js +1 -1
  247. package/dist/{Text-CV3LmscH.js → Text-CmTOgYXf.js} +1 -1
  248. package/dist/TextArea/index.d.ts +1 -1
  249. package/dist/TextArea/index.js +1 -1
  250. package/dist/{TextArea-Ab5Sw60T.js → TextArea-DA9CCG_J.js} +104 -50
  251. package/dist/TextInput/index.d.ts +1 -1
  252. package/dist/TextInput/index.js +1 -1
  253. package/dist/{TextInput-zFT1_qgI.js → TextInput-CI96einV.js} +71 -38
  254. package/dist/Theme/index.d.ts +3 -3
  255. package/dist/Theme/index.js +3 -2
  256. package/dist/Theme-BbDT8B_C.js +2125 -0
  257. package/dist/Thumbnail/index.js +1 -1
  258. package/dist/{Thumbnail-C3NnJUFG.js → Thumbnail-B2ZAY59J.js} +13 -10
  259. package/dist/{TimeField-ByiJKBRM.js → TimeField-CpAgja9D.js} +299 -40
  260. package/dist/TimeInput/index.d.ts +1 -1
  261. package/dist/TimeInput/index.js +1 -1
  262. package/dist/{TimeInput-S8n946tp.js → TimeInput-Bw_lHS4M.js} +78 -9
  263. package/dist/Timer/index.d.ts +1 -1
  264. package/dist/Timer/index.js +1 -1
  265. package/dist/{Timer-avMQk5DN.js → Timer-CH7GsEVu.js} +1 -1
  266. package/dist/Timestamp/index.d.ts +1 -1
  267. package/dist/Timestamp/index.js +1 -1
  268. package/dist/{Timestamp-xpQKCk0d.js → Timestamp-BFNuoTZ0.js} +5 -5
  269. package/dist/Toast/index.d.ts +1 -1
  270. package/dist/Toast/index.js +1 -1
  271. package/dist/Toast-DwnPjx6j.js +685 -0
  272. package/dist/ToggleButton/index.d.ts +1 -1
  273. package/dist/ToggleButton/index.js +1 -1
  274. package/dist/{ToggleButton-B-C-Q7XP.js → ToggleButton-cLjh9W-x.js} +5 -4
  275. package/dist/Token/index.d.ts +1 -1
  276. package/dist/Token/index.js +1 -1
  277. package/dist/{Token-DsntTYhQ.js → Token-BfS4vi__.js} +32 -17
  278. package/dist/Tokenizer/index.d.ts +1 -1
  279. package/dist/Tokenizer/index.js +1 -1
  280. package/dist/{Tokenizer-41p035dX.js → Tokenizer-Ci3E5bvP.js} +109 -23
  281. package/dist/Toolbar/index.d.ts +2 -2
  282. package/dist/Toolbar/index.js +1 -1
  283. package/dist/{Toolbar-BrgvvTCk.js → Toolbar-C0pMWL4S.js} +1 -1
  284. package/dist/Tooltip/index.d.ts +1 -1
  285. package/dist/Tooltip/index.js +1 -1
  286. package/dist/{Tooltip-C4Vaqd3G.js → Tooltip-sAM8i1eO.js} +23 -19
  287. package/dist/TopNav/index.d.ts +1 -1
  288. package/dist/TopNav/index.js +1 -1
  289. package/dist/{TopNav-CeSeEMX3.js → TopNav-gW59zp1o.js} +16 -15
  290. package/dist/TreeList/index.d.ts +1 -1
  291. package/dist/TreeList/index.js +1 -1
  292. package/dist/{TreeList-BUz-KZJd.js → TreeList-DaoI7zaH.js} +124 -41
  293. package/dist/Typeahead/index.d.ts +1 -1
  294. package/dist/Typeahead/index.js +2 -2
  295. package/dist/{Typeahead-k3xhFxkr.js → Typeahead-D4JjvjK4.js} +125 -26
  296. package/dist/{TypeaheadMenu-DBW6rHeO.js → TypeaheadMenu-BQlMrfqX.js} +141 -51
  297. package/dist/{announce-Cnio10Wk.js → announce-B210eJVf.js} +17 -2
  298. package/dist/characterReferences-BJ-jLhsR.js +65 -0
  299. package/dist/characters-rcDbGt71.d.ts +29 -0
  300. package/dist/characters-wTnzjkkR.js +58 -0
  301. package/dist/{colorMode-CBgdgDSn.js → colorMode-BxqfDP4P.js} +1 -4
  302. package/dist/composables/index.d.ts +5 -4
  303. package/dist/composables/index.js +23 -18
  304. package/dist/{composables-CbKx9C1Y.js → composables-Bc02zKAO.js} +167 -197
  305. package/dist/context-B6UElI5X.js +5 -0
  306. package/dist/{context-Cfjh8te1.js → context-Cfml4jaK.js} +5 -3
  307. package/dist/{context-iABt_ueM.js → context-DWfi56sq.js} +451 -122
  308. package/dist/context-IvbU9c3T.js +8 -0
  309. package/dist/context-pjBxaMSh.js +28 -0
  310. package/dist/fieldParts--SyRZVQG.js +44 -0
  311. package/dist/fieldParts-LXpQMKE8.d.ts +27 -0
  312. package/dist/{focus-CpficIgf.js → focus-l8jVTcqd.js} +1 -1
  313. package/dist/hoverIntent-DMHGb85c.js +115 -0
  314. package/dist/{index-Cde5JvtX.d.ts → index-B-nESNam.d.ts} +8 -7
  315. package/dist/{index-CsNi1I8j.d.ts → index-B08-Uxhv.d.ts} +4 -2
  316. package/dist/{index-Cn-sSds-.d.ts → index-B56j4eI2.d.ts} +24 -1
  317. package/dist/{index-BJMJ09K-.d.ts → index-BEZ4ezJk.d.ts} +1 -1
  318. package/dist/{index-DeQwYJbg.d.ts → index-BNaRK-s5.d.ts} +10 -1
  319. package/dist/{index-CQCTKjIO.d.ts → index-BO9TY87G.d.ts} +5 -4
  320. package/dist/{index-BJSxFVXH.d.ts → index-BQEJj72c.d.ts} +21 -8
  321. package/dist/{index-BXk7Wng7.d.ts → index-BULhhnGf.d.ts} +1 -1
  322. package/dist/{index-D97pQbua.d.ts → index-BV2D2x_u.d.ts} +1 -1
  323. package/dist/{index-BPYzIIYn.d.ts → index-BZKgbyN9.d.ts} +2 -2
  324. package/dist/index-BkUkm6Al.d.ts +11 -0
  325. package/dist/{index-ClNU2Th8.d.ts → index-Bn-v89Vt.d.ts} +10 -6
  326. package/dist/{index-Bu8NA2SD.d.ts → index-BnEhvmdR.d.ts} +16 -7
  327. package/dist/index-Bo-ofFyg.d.ts +166 -0
  328. package/dist/{index-i0tNFWfz.d.ts → index-BqhgeAT4.d.ts} +2 -0
  329. package/dist/{index-DWh2WC8W.d.ts → index-C4Cjz6OK.d.ts} +2 -2
  330. package/dist/{index-B7yhzGUT.d.ts → index-C7sam-SB.d.ts} +2 -2
  331. package/dist/{index-BrJzFA5X.d.ts → index-C90l2rH1.d.ts} +1 -1
  332. package/dist/{index-vP0EtrJJ.d.ts → index-C9gAlDt_.d.ts} +6 -3
  333. package/dist/{index-csA1lH_0.d.ts → index-CJ6ajsUC.d.ts} +2 -2
  334. package/dist/{index-CY-KvZ9B.d.ts → index-CK-Dbh0f.d.ts} +1 -1
  335. package/dist/index-CKUfpmFL.d.ts +375 -0
  336. package/dist/{index-DXpSFlPG.d.ts → index-CKgBTAzC.d.ts} +4 -4
  337. package/dist/{index-EFqQF2Bx.d.ts → index-CPtDjmcX.d.ts} +4 -4
  338. package/dist/{index-12QYAbiz.d.ts → index-CRrSHbok.d.ts} +3 -2
  339. package/dist/{index-DG52Bg0W.d.ts → index-CTf3SK0b.d.ts} +6 -0
  340. package/dist/{index-BNy3SW4S.d.ts → index-CTjkJP4x.d.ts} +32 -3
  341. package/dist/{index-Ca8VIE4l.d.ts → index-CVn0GBdB.d.ts} +1 -1
  342. package/dist/{index-YKCx03zD.d.ts → index-CdvmnNMH.d.ts} +1 -1
  343. package/dist/{index-BUEPz7BL.d.ts → index-CikMzeab.d.ts} +3 -3
  344. package/dist/{index-CdtZjkmG.d.ts → index-CpNlPLBF.d.ts} +183 -129
  345. package/dist/{index-N7OVZ38M.d.ts → index-Cs1xsHKi.d.ts} +28 -16
  346. package/dist/{index-Cyb9Du5Z.d.ts → index-CtTGt6Dv.d.ts} +1 -1
  347. package/dist/{index-HV6W3xCx.d.ts → index-D05JGsT3.d.ts} +5 -2
  348. package/dist/{index-CsTbMVDS.d.ts → index-D0_HsuC3.d.ts} +4 -4
  349. package/dist/{index-BgT6mH3U.d.ts → index-D7ShT2c-.d.ts} +1 -1
  350. package/dist/{index-CkKPMIeX.d.ts → index-D7XRtUTY.d.ts} +9 -0
  351. package/dist/{index-TntQsADQ.d.ts → index-DEm3kRBO.d.ts} +4 -3
  352. package/dist/{index-DamRHh1i.d.ts → index-DLAG3m9W.d.ts} +11 -1
  353. package/dist/{index-DUnDGFQE.d.ts → index-DNA2l1RN.d.ts} +1 -1
  354. package/dist/{index-WnUY4Kxu.d.ts → index-DRJZ-v1E.d.ts} +4 -4
  355. package/dist/{index-DYp2RWkM.d.ts → index-DY8Wph-A.d.ts} +3 -3
  356. package/dist/{index-B1WJxt-n.d.ts → index-DfC05uKG.d.ts} +17 -7
  357. package/dist/{index-C5e-7Obr.d.ts → index-Dj1_1t3j.d.ts} +19 -6
  358. package/dist/{index-jW-mP58D.d.ts → index-Dr4b_oji.d.ts} +22 -15
  359. package/dist/{index-uKnRGtzi.d.ts → index-Ds201-d2.d.ts} +18 -4
  360. package/dist/{index-DIXAzTKL.d.ts → index-DxxudRgB.d.ts} +1 -1
  361. package/dist/{index-DQmK3Lq_.d.ts → index-IfsSCj8J.d.ts} +19 -6
  362. package/dist/{index-B1eCxBCY.d.ts → index-TXcNH86P.d.ts} +1 -1
  363. package/dist/{index-XuAAcYiP.d.ts → index-f3d9cVtj.d.ts} +1 -1
  364. package/dist/index-fAZaRruV.d.ts +125 -0
  365. package/dist/{index-D5N9ikrS.d.ts → index-hCpxKePE.d.ts} +1 -1
  366. package/dist/{index-T2FOcOuI.d.ts → index-jOwU3YoR.d.ts} +400 -90
  367. package/dist/{index-DdGck82Y.d.ts → index-pNtfr-RW.d.ts} +2 -2
  368. package/dist/{index-BhpAUzUr.d.ts → index-unAZVFGz.d.ts} +2 -2
  369. package/dist/index.d.ts +84 -77
  370. package/dist/index.js +151 -134
  371. package/dist/inlineSize-BNe8wggI.js +66 -0
  372. package/dist/inputPresentation-BOyHkCDr.js +62 -0
  373. package/dist/interactionModality-ACpTMhak.js +44 -0
  374. package/dist/isApplePlatform-B1ju6F5B.js +27 -0
  375. package/dist/isRenderable-BnKHIqfd.js +21 -0
  376. package/dist/layerDepth-CNDh-IHb.js +181 -0
  377. package/dist/link-DuuA2eCL.js +30 -0
  378. package/dist/{loadCatalog-BGHKG_9N.d.ts → loadCatalog-DlLFZreI.d.ts} +281 -7
  379. package/dist/loadCatalog-eopw74qb.js +424 -0
  380. package/dist/locale/index.d.ts +2 -2
  381. package/dist/locale/index.js +4 -3
  382. package/dist/locale-CabGJlGp.js +343 -0
  383. package/dist/modalOutlet-CUOcrhIu.js +56 -0
  384. package/dist/optionAction-Cg7xQLUA.d.ts +6 -0
  385. package/dist/{power-search-DrDfcoL1.d.ts → power-search-gHLIYXs5.d.ts} +2 -0
  386. package/dist/protocol-DHxY0NI8.js +113 -0
  387. package/dist/protocol-RSeMzAN1.d.ts +238 -0
  388. package/dist/publicParser-B0MRoikr.d.ts +141 -0
  389. package/dist/publicParser-uHC_T0Fo.js +895 -0
  390. package/dist/resizableChannel-3vivrEcT.js +20 -0
  391. package/dist/safeUrl-CsvfcZ9m.js +54 -0
  392. package/dist/scopedProvide-C-Df7c15.js +30 -0
  393. package/dist/scrollKeyboardDelegation-D7cumnOl.js +238 -0
  394. package/dist/scrollLock-C3aT4-0z.js +102 -0
  395. package/dist/{searchResultMessage-hXXNOFJP.js → searchResultMessage-mCpJBvra.js} +5 -14
  396. package/dist/{semantic-CKH9XVqa.d.ts → semantic-BF_AjLvk.d.ts} +6 -3
  397. package/dist/slug-C65CUsf9.js +32 -0
  398. package/dist/syntaxContext-DmIfNNtb.js +4 -0
  399. package/dist/triggerVariant-BsL8jMHs.js +16 -0
  400. package/dist/{types-0Q_SJv_F.d.ts → types-Bb7OGivY.d.ts} +6 -1
  401. package/dist/{types-H4Bbbxiw.d.ts → types-BnNTzEnd.d.ts} +1 -1
  402. package/dist/{types-CwyibrRB.d.ts → types-C5GQ2KCK.d.ts} +23 -3
  403. package/dist/{types-BBWrcHMD.d.ts → types-Ckih2YJi.d.ts} +3 -2
  404. package/dist/{types-gKsEkk2g.d.ts → types-CsqwQkf1.d.ts} +143 -10
  405. package/dist/upstreamMap-xr3gvREu.js +731 -0
  406. package/dist/{useAnchoredListbox-DwztMNjP.js → useAnchoredListbox-DGxxKHZb.js} +2 -2
  407. package/dist/{useAsyncSource-xpQovjV_.d.ts → useAsyncSource-aGzrvRkI.d.ts} +3 -0
  408. package/dist/{useClickableContainer-DyNpnSEa.js → useClickableContainer-CdGp_Cev.js} +1 -1
  409. package/dist/{useClipboard-BDfbEsWd.js → useClipboard-Dk8cS810.js} +1 -1
  410. package/dist/useHoverLayerDismiss-kYJ_NqL4.js +27 -0
  411. package/dist/{useIndicator-i1NORM7W.js → useIndicator-MZmfBWid.js} +5 -23
  412. package/dist/{useInputContainer-CpgDe2-4.js → useInputContainer-CLcYrby4.js} +1 -1
  413. package/dist/{useInputStatusIcon-DBOwxV4x.js → useInputStatusIcon-DAE7PExr.js} +1 -1
  414. package/dist/useLayerMountTarget-BmZyeKWE.js +156 -0
  415. package/dist/{useListFocus-D0iOJl39.js → useListFocus-ChxLg0b4.js} +3 -2
  416. package/dist/{useMenuDrillIn-DzKGkTho.js → useMenuDrillIn-DhUnPvKs.js} +6 -5
  417. package/dist/useMenuHover-Djreu23i.js +170 -0
  418. package/dist/useMenuPress-8foxY8z4.js +764 -0
  419. package/dist/{useMergedRefs-CfHHlCsn.js → useMergedRefs-Cb6_w93m.js} +24 -4
  420. package/dist/{useNumberField-4-dIGVed.js → useNumberField-Dk1BE3-K.js} +3 -3
  421. package/dist/useOptionActionGrid-CkJcuvaU.js +97 -0
  422. package/dist/{usePositionedLayer-Cru9_00b.js → usePositionedLayer-B7cvG-_v.js} +43 -49
  423. package/dist/usePressFeedback-BJCpjEpv.js +319 -0
  424. package/dist/{useResizable-DDwPpPe6.d.ts → useResizable-1MHPNaRD.d.ts} +19 -1
  425. package/dist/{useResizable-B3ahKLoZ.js → useResizable-I3BCiLSL.js} +72 -40
  426. package/dist/useResolvedLabelHidden-B2rlWiaI.js +30 -0
  427. package/dist/{useRestoreFocus-Djw9RUIf.js → useRestoreFocus-XEKs5-gp.js} +49 -7
  428. package/dist/useScrollOverflow-DuMoGXmm.js +67 -0
  429. package/dist/useScrollableArea-BE8b3qm7.js +222 -0
  430. package/dist/useScrollbars-C2NJ6Qwq.js +43 -0
  431. package/dist/{useTimeValue-6ufHM15W.js → useTimeValue-BJd0xBhG.js} +4 -22
  432. package/dist/useTranslator-BmWt2BBt.js +35 -0
  433. package/dist/{useTypeahead-PAK8lMYz.js → useTypeahead-BvtflkRk.js} +4 -5
  434. package/dist/utils/index.d.ts +3 -0
  435. package/dist/utils/index.js +5 -0
  436. package/dist/{utils-D33VQDnk.js → utils-ClVseK2w.js} +29 -2
  437. package/dist/utils-z3Q6BGIJ.js +819 -0
  438. package/locales/SOURCE.json +1 -1
  439. package/package.json +24 -3
  440. package/reset.css +364 -1
  441. package/styles/avatar-group.css +9 -1
  442. package/styles/badge.css +8 -5
  443. package/styles/banner.css +124 -26
  444. package/styles/blockquote.css +1 -0
  445. package/styles/bordered-control.css +1 -1
  446. package/styles/bottom-sheet.css +74 -6
  447. package/styles/breadcrumbs.css +16 -2
  448. package/styles/button-group.css +3 -1
  449. package/styles/button.css +53 -11
  450. package/styles/card.css +1 -1
  451. package/styles/chat.css +16 -6
  452. package/styles/checkbox-input.css +10 -0
  453. package/styles/clickable-card.css +10 -3
  454. package/styles/collapsible.css +12 -5
  455. package/styles/command-palette.css +29 -14
  456. package/styles/complex-selector.css +22 -5
  457. package/styles/context-menu.css +3 -3
  458. package/styles/date-input.css +111 -1
  459. package/styles/dialog-header.css +4 -1
  460. package/styles/dialog.css +7 -0
  461. package/styles/dropdown-menu.css +12 -3
  462. package/styles/field.css +5 -0
  463. package/styles/form-layout.css +1 -0
  464. package/styles/heading.css +18 -8
  465. package/styles/icon.css +4 -0
  466. package/styles/kbd.css +1 -1
  467. package/styles/layer.css +72 -0
  468. package/styles/list.css +9 -2
  469. package/styles/metadata-list.css +1 -0
  470. package/styles/mobile-nav.css +4 -1
  471. package/styles/multi-selector.css +48 -1
  472. package/styles/nav-item.css +9 -2
  473. package/styles/nav-menu.css +12 -2
  474. package/styles/number-input.css +9 -1
  475. package/styles/overflow-list.css +1 -1
  476. package/styles/popover.css +2 -1
  477. package/styles/power-search.css +5 -3
  478. package/styles/pressable.css +63 -22
  479. package/styles/progress-bar.css +15 -3
  480. package/styles/radio.css +16 -0
  481. package/styles/resize-handle.css +42 -0
  482. package/styles/scrollbars.css +28 -0
  483. package/styles/segmented-control.css +12 -4
  484. package/styles/selector.css +53 -1
  485. package/styles/side-nav.css +19 -0
  486. package/styles/slider.css +4 -3
  487. package/styles/spinner.css +48 -42
  488. package/styles/stepper.css +58 -4
  489. package/styles/switch.css +26 -0
  490. package/styles/tab-list.css +132 -3
  491. package/styles/table.css +88 -10
  492. package/styles/text-area.css +1 -1
  493. package/styles/text-input.css +1 -1
  494. package/styles/text.css +6 -6
  495. package/styles/thumbnail.css +11 -3
  496. package/styles/time-input.css +8 -0
  497. package/styles/toast.css +37 -3
  498. package/styles/token.css +2 -2
  499. package/styles/tokenizer.css +1 -1
  500. package/styles/toolbar.css +4 -1
  501. package/styles/tree-list.css +1 -1
  502. package/styles/typeahead.css +34 -1
  503. package/styles.css +1 -0
  504. package/dist/Blockquote-DFqBv_oJ.js +0 -18
  505. package/dist/Breadcrumbs-DPVaziH4.js +0 -141
  506. package/dist/ButtonGroup-ySQWanDP.js +0 -125
  507. package/dist/DateTimeInput-DHp683jZ.js +0 -268
  508. package/dist/MultiSelector-BeV98x7X.js +0 -988
  509. package/dist/NumberInput-AZ9x3oja.js +0 -473
  510. package/dist/Selector-DuVozKNq.js +0 -675
  511. package/dist/Spinner-9cYUCnDy.js +0 -84
  512. package/dist/Theme-CtaUWo4g.js +0 -1246
  513. package/dist/Toast-BuqIZV5z.js +0 -322
  514. package/dist/context-4PuqD1Ic.js +0 -4
  515. package/dist/context-D5-MwxnN.js +0 -4
  516. package/dist/index-BH9PzQ1F.d.ts +0 -87
  517. package/dist/link-C4_WogdF.js +0 -18
  518. package/dist/loadCatalog-CXKqEB9s.js +0 -877
  519. package/dist/locale-DgkZEMTn.js +0 -105
  520. package/dist/platform-B_9W_aHW.js +0 -33
  521. package/dist/scrollLock-BzIvIimL.js +0 -42
  522. package/dist/useMenuPress-D-FRNrBW.js +0 -573
  523. package/dist/useScrollableArea-DDk_CluT.js +0 -172
  524. /package/dist/{index-lgvUFSCO.d.ts → index-CryFtTT6.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { n as useDismiss, t as usePositionedLayer } from "./usePositionedLayer-Cru9_00b.js";
1
+ import { n as useDismiss, t as usePositionedLayer } from "./usePositionedLayer-B7cvG-_v.js";
2
2
  import { computed, onMounted, ref, toValue, watch } from "vue";
3
3
  //#region src/Typeahead/useAnchoredListbox.ts
4
4
  /** 想要的宽度再宽也要给视口留边。没给就不插手宽度。 */
@@ -24,7 +24,7 @@ function useAnchoredListbox(options) {
24
24
  container: options.layer,
25
25
  trigger: options.anchor,
26
26
  isEnabled: options.isOpen,
27
- enableEscape: ref(false),
27
+ dismissOnEscape: "ignore",
28
28
  onDismiss: options.onDismiss
29
29
  });
30
30
  const anchorWidth = ref(0);
@@ -1,3 +1,4 @@
1
+ import { t as OptionActionNode } from "./optionAction-Cg7xQLUA.js";
1
2
  import { MaybeRefOrGetter, Ref, ShallowRef } from "vue";
2
3
  //#region src/composables/useAsyncSource.d.ts
3
4
  /**
@@ -8,6 +9,8 @@ interface SearchableItem<TAux = unknown> {
8
9
  label: string;
9
10
  disabled?: boolean;
10
11
  description?: string;
12
+ /** 这一项旁边的操作。点它不会改选择。有一项带了操作,菜单就变成两列网格。 */
13
+ action?: OptionActionNode | null;
11
14
  auxiliaryData?: TAux;
12
15
  }
13
16
  /**
@@ -109,4 +109,4 @@ function useClickableContainer(options) {
109
109
  };
110
110
  }
111
111
  //#endregion
112
- export { useClickableContainer as n, INTERACTIVE_SELECTORS as t };
112
+ export { useClickableContainer as i, hasInteractiveAncestor as n, hasTextSelection as r, INTERACTIVE_SELECTORS as t };
@@ -1,4 +1,4 @@
1
- import { t as useAnnounce } from "./announce-Cnio10Wk.js";
1
+ import { t as useAnnounce } from "./announce-B210eJVf.js";
2
2
  import { onScopeDispose, ref } from "vue";
3
3
  //#region src/composables/useClipboard.ts
4
4
  const DEFAULT_RESET_AFTER_MS = 2e3;
@@ -0,0 +1,27 @@
1
+ import { i as pushLayer, n as useLayerDepth, r as isTopLayer } from "./layerDepth-CNDh-IHb.js";
2
+ import { onScopeDispose } from "vue";
3
+ //#region src/layer/useHoverLayerDismiss.ts
4
+ /**
5
+ * Tooltip 和 HoverCard 共用的关闭登记。
6
+ *
7
+ * 整段生命周期都留在栈里。没打开时 `isPresent` 为假,不会吃掉别人的 Escape。
8
+ * 嵌套深度在 setup 时从外层读一次。同一提示再打开仍用原来的排位号,
9
+ * 但包在别的浮层里面时深度更大,Escape 先关它。
10
+ */
11
+ function useHoverLayerDismiss(options) {
12
+ const depth = useLayerDepth();
13
+ const token = {};
14
+ const stop = pushLayer({
15
+ token,
16
+ depth,
17
+ getContainer: options.getContainer,
18
+ dismissOnPointerOutside: false,
19
+ dismissOnEscape: "close",
20
+ isPresent: options.isPresent,
21
+ onDismiss: options.onDismiss
22
+ });
23
+ onScopeDispose(stop);
24
+ return { isTop: () => isTopLayer(token) };
25
+ }
26
+ //#endregion
27
+ export { useHoverLayerDismiss as t };
@@ -1,28 +1,10 @@
1
- import { t as _sfc_main$2 } from "./Icon-bteSId7T.js";
1
+ import { t as isRenderable } from "./isRenderable-BnKHIqfd.js";
2
+ import { t as _sfc_main$2 } from "./Icon-KDnUyY7f.js";
2
3
  import { n as themeContextKey } from "./context-Cws_tXTr.js";
3
- import { n as decorativeAttrs, t as _sfc_main$3 } from "./CheckboxIndicator-D37cm2Rh.js";
4
- import { Comment, Fragment, Text, computed, createBlock, createCommentVNode, createElementBlock, defineComponent, inject, mergeProps, openBlock, renderSlot, unref, useAttrs, useSlots, useTemplateRef } from "vue";
4
+ import { n as decorativeAttrs, t as _sfc_main$3 } from "./CheckboxIndicator-fH4d-JE1.js";
5
+ import { computed, createBlock, createCommentVNode, createElementBlock, defineComponent, inject, mergeProps, openBlock, renderSlot, unref, useAttrs, useSlots, useTemplateRef } from "vue";
5
6
  import "../styles/check-indicator.css";
6
7
  import "../styles/radio-indicator.css";
7
- //#region src/Indicator/isRenderable.ts
8
- /**
9
- * Whether a slot or vnode should replace an indicator's own mark.
10
- *
11
- * Null, undefined, booleans, and the empty string do not count. An element
12
- * does, even when that element later renders nothing. A host writes
13
- * `v-if="busy"` around a spinner, and `false` must not delete the mark.
14
- */
15
- function isRenderable(value) {
16
- if (value == null || typeof value === "boolean" || value === "") return false;
17
- if (Array.isArray(value)) return value.some((item) => isRenderable(item));
18
- if (typeof value !== "object") return true;
19
- const node = value;
20
- if (node.type === Comment) return false;
21
- if (node.type === Text) return String(node.children ?? "").trim() !== "";
22
- if (node.type === Fragment) return isRenderable(node.children);
23
- return true;
24
- }
25
- //#endregion
26
8
  //#region src/Indicator/useReplacementSlot.ts
27
9
  /**
28
10
  * Whether the default slot should take the place of the state mark.
@@ -144,4 +126,4 @@ function useIndicator(name) {
144
126
  return computed(() => getIndicator(name, context?.value.theme));
145
127
  }
146
128
  //#endregion
147
- export { _sfc_main as a, isCoreIndicatorName as i, defaultIndicators as n, _sfc_main$1 as o, getIndicator as r, isRenderable as s, useIndicator as t };
129
+ export { _sfc_main as a, isCoreIndicatorName as i, defaultIndicators as n, _sfc_main$1 as o, getIndicator as r, useIndicator as t };
@@ -1,4 +1,4 @@
1
- import { n as useClickableContainer } from "./useClickableContainer-DyNpnSEa.js";
1
+ import { i as useClickableContainer } from "./useClickableContainer-CdGp_Cev.js";
2
2
  import { toValue } from "vue";
3
3
  //#region src/composables/useInputContainer.ts
4
4
  /** 点了以后接焦点的输入框类型:这些类型自己不会因为点击容器而聚焦。 */
@@ -1,5 +1,5 @@
1
1
  import { t as _sfc_main } from "./FieldIcon--NTgW5IU.js";
2
- import { t as _sfc_main$1 } from "./FieldInfoTip-Ds-sW_jY.js";
2
+ import { t as _sfc_main$1 } from "./FieldInfoTip-gxsnfkZw.js";
3
3
  import { computed, toValue } from "vue";
4
4
  //#region src/composables/useInputStatusIcon.ts
5
5
  /**
@@ -0,0 +1,156 @@
1
+ import { computed, inject, provide, ref } from "vue";
2
+ //#region src/layer/mount.ts
3
+ /**
4
+ * 浮层的挂载点:浮层内容实际挂到哪个 DOM 元素里。
5
+ *
6
+ * 平时浮层挂到 `body`。但 Dialog 打开时它是一个原生模态层,页面上的东西都被
7
+ * 它压住、也点不到,挂在 `body` 的浮层会看不见、点不着。所以 Dialog 打开时
8
+ * 由它提供自己内部的挂载点,浮层优先挂进去。
9
+ */
10
+ /** 最近的浮层挂载点。没提供时为 `null`,表示挂到 `body`。 */
11
+ const layerMountKey = Symbol("astryx-layer-mount");
12
+ /** 由 Dialog 这类模态容器调用:打开期间浮层挂到 `el` 里。 */
13
+ function provideLayerMountTarget(el) {
14
+ provide(layerMountKey, el);
15
+ }
16
+ /**
17
+ * 不能把浮层挂进去的祖先元素。
18
+ *
19
+ * 两类原因:
20
+ *
21
+ * 1. HTML 解析规则。`<p>`、标题这类元素只收短语内容,里面塞块元素会让解析器
22
+ * 提前闭合段落,浮层的内容就漏到页面上了。
23
+ * 2. 交互祖先会抢走浮层自己的交互。浮层挂在 `<a>` 或 `<button>` 里,里面的链接
24
+ * 和按钮都成了那个控件的子元素:点链接会跳转外层链接,浮层里每个可聚焦元素
25
+ * 都并进那个控件自己的 Tab 位。
26
+ *
27
+ * 行内格式化元素也在名单里,因为它们会把排版(字号、居中等)传给浮层。
28
+ */
29
+ const UNSAFE_HOSTS = /* @__PURE__ */ new Set([
30
+ "p",
31
+ "h1",
32
+ "h2",
33
+ "h3",
34
+ "h4",
35
+ "h5",
36
+ "h6",
37
+ "dt",
38
+ "pre",
39
+ "legend",
40
+ "data",
41
+ "dfn",
42
+ "meter",
43
+ "output",
44
+ "progress",
45
+ "option",
46
+ "optgroup",
47
+ "table",
48
+ "thead",
49
+ "tbody",
50
+ "tfoot",
51
+ "tr",
52
+ "colgroup",
53
+ "ul",
54
+ "ol",
55
+ "menu",
56
+ "dl",
57
+ "select",
58
+ "datalist",
59
+ "picture",
60
+ "hgroup",
61
+ "ruby",
62
+ "rt",
63
+ "rp",
64
+ "a",
65
+ "button",
66
+ "label",
67
+ "summary",
68
+ "span",
69
+ "em",
70
+ "strong",
71
+ "b",
72
+ "i",
73
+ "u",
74
+ "s",
75
+ "small",
76
+ "mark",
77
+ "code",
78
+ "kbd",
79
+ "samp",
80
+ "var",
81
+ "sub",
82
+ "sup",
83
+ "abbr",
84
+ "cite",
85
+ "q",
86
+ "time",
87
+ "bdi",
88
+ "bdo",
89
+ "ins",
90
+ "del"
91
+ ]);
92
+ /**
93
+ * 算出浮层该挂到哪个元素上。
94
+ *
95
+ * 沿着浮层本来打算渲染的位置往上走:遇到不能挂的祖先就记下来,走到最近的原生
96
+ * `<dialog>` 就停(再往外挂就出了模态层,浮层会变成不可交互)。返回 `null`
97
+ * 表示原地渲染就行,不用搬家。
98
+ *
99
+ * 保留「尽量靠近原位」这一点是有意的:主题作用域和 Tab 顺序都挂在 DOM 位置上,
100
+ * 直接挂到 `body` 会丢掉嵌套主题里的变量,也会让浮层里的可聚焦元素跑到页面末尾。
101
+ */
102
+ function resolveLayerMountTarget(inlineParent) {
103
+ if (inlineParent == null) return null;
104
+ let outermostUnsafe = null;
105
+ let node = inlineParent;
106
+ while (node != null) {
107
+ const tagName = node.tagName.toLowerCase();
108
+ if (tagName === "dialog") break;
109
+ if (UNSAFE_HOSTS.has(tagName)) outermostUnsafe = node;
110
+ node = node.parentElement;
111
+ }
112
+ return outermostUnsafe?.parentElement ?? null;
113
+ }
114
+ //#endregion
115
+ //#region src/composables/useLayerMountTarget.ts
116
+ /**
117
+ * 读最近的浮层挂载点。Dialog 打开时是它内部的挂载点,其余情况是 `null`。
118
+ *
119
+ * 挂载点是「浮层内容实际挂到哪个 DOM 元素里」。浮层平时挂在 `body`,
120
+ * 但 Dialog 打开时它是一个原生模态层,挂在外面的浮层会被压住、点不到,
121
+ * 所以要先问一句。
122
+ */
123
+ function useLayerMountTarget() {
124
+ return inject(layerMountKey, ref(null));
125
+ }
126
+ /**
127
+ * 读最近的浮层挂载点,并算成可以直接给 `Teleport` 的 `to`。
128
+ * 没有挂载点就是 `'body'`。
129
+ *
130
+ * ```vue
131
+ * <Teleport :to="teleportTarget">
132
+ * ```
133
+ */
134
+ function useLayerTeleportTarget() {
135
+ const mount = useLayerMountTarget();
136
+ return computed(() => mount.value ?? "body");
137
+ }
138
+ /**
139
+ * 浮层该挂到哪。
140
+ *
141
+ * Dialog 提供了挂载点时优先用它,再往外挂就出了模态层。
142
+ * 否则看触发器旁边有没有不能挂浮层的祖先(段落、链接、按钮)。
143
+ * 有的话挂到那个祖先的外面、尽量靠近原位,嵌套主题和 Tab 顺序还在。
144
+ * 两边都没有,才挂到 `body`。
145
+ *
146
+ * `sentinel` 是触发器所在的元素。函数看的是它的父元素。
147
+ */
148
+ function useResolvedLayerTeleport(sentinel) {
149
+ const mount = useLayerMountTarget();
150
+ return computed(() => {
151
+ if (mount.value) return mount.value;
152
+ return resolveLayerMountTarget(sentinel.value?.parentElement ?? null) ?? "body";
153
+ });
154
+ }
155
+ //#endregion
156
+ export { provideLayerMountTarget as i, useLayerTeleportTarget as n, useResolvedLayerTeleport as r, useLayerMountTarget as t };
@@ -1,4 +1,4 @@
1
- import { ref, watch } from "vue";
1
+ import { ref, toValue, watch } from "vue";
2
2
  //#region src/composables/useListFocus.ts
3
3
  const TEXT_INPUT_TYPES = /* @__PURE__ */ new Set([
4
4
  "text",
@@ -49,7 +49,7 @@ function shouldDeferToCaret(target, key) {
49
49
  * 由这里维持唯一的 tab 停靠点。横向时会看容器的书写方向,RTL 里左右对调。
50
50
  */
51
51
  function useListFocus(options = {}) {
52
- const { itemSelector = "[role=\"menuitem\"]", boundarySelector, wrap = true, onEscape, orientation = "vertical", hasHomeEnd = true, hasPaging = false, hasRovingTabIndex = false, hasCaretGuard = false } = options;
52
+ const { itemSelector = "[role=\"menuitem\"]", boundarySelector, wrap = true, onEscape, hasHomeEnd = true, hasPaging = false, hasRovingTabIndex = false, hasCaretGuard = false } = options;
53
53
  const listRef = ref(null);
54
54
  function isItemDisabled(el) {
55
55
  return el.getAttribute("aria-disabled") === "true" || el.disabled === true || el.hasAttribute("disabled");
@@ -188,6 +188,7 @@ function useListFocus(options = {}) {
188
188
  }
189
189
  return;
190
190
  }
191
+ const orientation = toValue(options.orientation ?? "vertical");
191
192
  const horizontal = orientation === "horizontal" || orientation === "both";
192
193
  const vertical = orientation === "vertical" || orientation === "both";
193
194
  const nextKeys = [];
@@ -1,6 +1,7 @@
1
- import { t as _sfc_main$4 } from "./Icon-bteSId7T.js";
2
- import { t as _sfc_main$5 } from "./Item-KhFKX9St.js";
3
- import { t as _sfc_main$6 } from "./CheckboxIndicator-D37cm2Rh.js";
1
+ import { n as readLayerScoped, t as defineLayerScopedKey } from "./scopedProvide-C-Df7c15.js";
2
+ import { t as _sfc_main$4 } from "./Icon-KDnUyY7f.js";
3
+ import { t as _sfc_main$5 } from "./Item-DWMIjN8n.js";
4
+ import { t as _sfc_main$6 } from "./CheckboxIndicator-fH4d-JE1.js";
4
5
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, inject, mergeModels, openBlock, provide, ref, renderSlot, toDisplayString, unref, useModel, useSlots, watch, withCtx } from "vue";
5
6
  import "../styles/dropdown-menu.css";
6
7
  //#region src/DropdownMenu/MenuSelectionMark.vue
@@ -66,10 +67,10 @@ function useContextMenuSize() {
66
67
  }
67
68
  //#endregion
68
69
  //#region src/DropdownMenu/context.ts
69
- const dropdownMenuContextKey = Symbol("astryx-dropdown-menu-context");
70
+ const dropdownMenuContextKey = defineLayerScopedKey("astryx-dropdown-menu-context", void 0);
70
71
  /** The surrounding menu, or `undefined` when a row stands alone. */
71
72
  function useDropdownMenuContext() {
72
- return inject(dropdownMenuContextKey, void 0);
73
+ return readLayerScoped(dropdownMenuContextKey);
73
74
  }
74
75
  const dropdownMenuRadioGroupKey = Symbol("astryx-dropdown-menu-radio-group");
75
76
  /** The radio group around this row, or `undefined` when there is none. */
@@ -0,0 +1,170 @@
1
+ import { t as useMediaQuery } from "./useMediaQuery-GMmgp28-.js";
2
+ import { t as useListFocus } from "./useListFocus-ChxLg0b4.js";
3
+ import { t as createHideTimer } from "./hoverIntent-DMHGb85c.js";
4
+ import { getCurrentScope, onScopeDispose, toValue, watch } from "vue";
5
+ /**
6
+ * 对应原版 Astryx 的 `hooks/useMenuHover`(内部用,和原版一样不从包入口导出)。
7
+ *
8
+ * 悬停是在普通弹层行为上的增强:点击切换,Escape 和点外关闭,方向键导航;
9
+ * 再加上:鼠标进入后延时打开,离开时关掉由悬停打开的那一次。
10
+ *
11
+ * 三个不明显但很要紧的行为:
12
+ * 1. 悬停后点击的保护。悬停打开时菜单已经在指针下面了,紧跟着的那一下点击会把它关掉。
13
+ * `clickGuardMs` 内的点击改为确认:菜单钉住,之后就像点击打开的一样。
14
+ * 2. 焦点同步移动。点击或键盘打开后立刻把焦点放进第一项;悬停打开时指针在主导,焦点留在触发器上。
15
+ * 3. 原生点外关闭。`popoverId` 让触发器成为弹层的调用者,点它不算点外。
16
+ *
17
+ * 另外:触发器在悬停等待期间被禁用时,那个已经排好的打开会作废,菜单保持关闭。
18
+ */
19
+ function useMenuHover(options) {
20
+ const ownsFocus = options.ownsFocus ?? true;
21
+ const hasHover = useMediaQuery("(hover: hover)");
22
+ let showTimer = null;
23
+ let triggerEl = null;
24
+ /** 这次是悬停打开的,所以离开可以关。 */
25
+ let isHoverMode = false;
26
+ let closedAt = 0;
27
+ /** 这次打开是悬停打开的时刻;确认或关闭后为 0。 */
28
+ let hoverOpenedAt = 0;
29
+ const isOpen = () => toValue(options.isOpen);
30
+ const isEnabled = () => toValue(options.isEnabled);
31
+ const clickGuardMs = () => toValue(options.clickGuardMs) ?? 500;
32
+ const list = useListFocus({
33
+ itemSelector: options.itemSelector,
34
+ onEscape: () => onEscape()
35
+ });
36
+ const menuRef = list.listRef;
37
+ const hideTimer = createHideTimer(() => toValue(options.hideDelay) ?? 200, () => options.hide());
38
+ function clearTimeouts() {
39
+ if (showTimer != null) {
40
+ clearTimeout(showTimer);
41
+ showTimer = null;
42
+ }
43
+ hideTimer.clear();
44
+ }
45
+ watch(isOpen, (open, wasOpen) => {
46
+ if (wasOpen && !open) {
47
+ isHoverMode = false;
48
+ hoverOpenedAt = 0;
49
+ closedAt = Date.now();
50
+ }
51
+ }, { flush: "sync" });
52
+ watch(isEnabled, (enabled) => {
53
+ if (!enabled) clearTimeouts();
54
+ }, { flush: "sync" });
55
+ if (getCurrentScope() != null) onScopeDispose(clearTimeouts);
56
+ function close() {
57
+ const menuHadFocus = typeof document !== "undefined" && (menuRef.value?.contains(document.activeElement) ?? false);
58
+ options.hide();
59
+ if (menuHadFocus) triggerEl?.focus();
60
+ }
61
+ function onEscape() {
62
+ clearTimeouts();
63
+ close();
64
+ }
65
+ function focusMenu() {
66
+ if (!list.focusFirst()) menuRef.value?.focus();
67
+ }
68
+ function openAndFocus() {
69
+ if (!ownsFocus) {
70
+ options.show();
71
+ return;
72
+ }
73
+ options.show({ skipAutoFocus: true });
74
+ focusMenu();
75
+ }
76
+ function resetHover() {
77
+ closedAt = 0;
78
+ isHoverMode = false;
79
+ hoverOpenedAt = 0;
80
+ }
81
+ function confirmHoverOpen() {
82
+ const guard = clickGuardMs();
83
+ if (!(guard > 0 && hoverOpenedAt > 0 && Date.now() - hoverOpenedAt < guard)) return false;
84
+ isHoverMode = false;
85
+ hoverOpenedAt = 0;
86
+ return true;
87
+ }
88
+ function onClick(event) {
89
+ if (!isEnabled()) return;
90
+ if (options.popoverId != null) event?.preventDefault();
91
+ clearTimeouts();
92
+ if (event != null && event.detail === 0) {
93
+ resetHover();
94
+ if (!isOpen()) openAndFocus();
95
+ else if (ownsFocus) focusMenu();
96
+ return;
97
+ }
98
+ if (!isOpen()) {
99
+ resetHover();
100
+ openAndFocus();
101
+ return;
102
+ }
103
+ if (confirmHoverOpen()) {
104
+ if (ownsFocus) focusMenu();
105
+ return;
106
+ }
107
+ close();
108
+ }
109
+ function onTriggerMouseEnter() {
110
+ if (!isEnabled() || !hasHover.value) return;
111
+ if (closedAt > 0 && Date.now() - closedAt < 300) return;
112
+ if (isOpen()) {
113
+ clearTimeouts();
114
+ return;
115
+ }
116
+ isHoverMode = true;
117
+ clearTimeouts();
118
+ const openByHover = () => {
119
+ showTimer = null;
120
+ if (!isEnabled()) return;
121
+ hoverOpenedAt = Date.now();
122
+ options.show({ skipAutoFocus: true });
123
+ };
124
+ const delay = toValue(options.showDelay) ?? 150;
125
+ if (delay > 0) showTimer = setTimeout(openByHover, delay);
126
+ else openByHover();
127
+ }
128
+ function onMouseLeave(event) {
129
+ if (!isEnabled()) return;
130
+ closedAt = 0;
131
+ if (!isHoverMode) return;
132
+ clearTimeouts();
133
+ const apex = event == null ? null : {
134
+ x: event.clientX,
135
+ y: event.clientY
136
+ };
137
+ hideTimer.schedule(apex, options.flyoutRef?.value ?? menuRef.value, isOpen());
138
+ }
139
+ function onContentMouseEnter() {
140
+ if (isEnabled()) clearTimeouts();
141
+ }
142
+ function onContentKeyDown(event) {
143
+ if (isEnabled()) list.handleKeyDown(event);
144
+ }
145
+ function setTriggerEl(el) {
146
+ triggerEl = typeof HTMLElement !== "undefined" && el instanceof HTMLElement ? el : null;
147
+ }
148
+ const triggerProps = {
149
+ onClick,
150
+ onMouseenter: onTriggerMouseEnter,
151
+ onMouseleave: onMouseLeave
152
+ };
153
+ if (options.popoverId != null) triggerProps.popovertarget = options.popoverId;
154
+ return {
155
+ close,
156
+ confirmHoverOpen,
157
+ contentProps: {
158
+ onKeydown: onContentKeyDown,
159
+ onMouseenter: onContentMouseEnter,
160
+ onMouseleave: onMouseLeave
161
+ },
162
+ focusFirst: list.focusFirst,
163
+ focusMenu,
164
+ menuRef,
165
+ setTriggerEl,
166
+ triggerProps
167
+ };
168
+ }
169
+ //#endregion
170
+ export { useMenuHover as t };