@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,8 +1,10 @@
1
+ import { t as usePressFeedback } from "./usePressFeedback-BJCpjEpv.js";
2
+ import { n as isSafeUrl } from "./safeUrl-CsvfcZ9m.js";
1
3
  import { n as useLinkComponent } from "./context-C_peZbXf.js";
2
- import { o as useAstryxMessages } from "./context-iABt_ueM.js";
4
+ import { s as useAstryxMessages } from "./context-DWfi56sq.js";
3
5
  import { t as _sfc_main$2 } from "./Badge-CjDQPF5g.js";
4
- import { s as isIconGlyph, t as _sfc_main$3 } from "./Icon-bteSId7T.js";
5
- import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, normalizeClass, normalizeStyle, onMounted, openBlock, reactive, ref, renderList, renderSlot, resolveComponent, resolveDynamicComponent, toDisplayString, toRaw, unref, useId, vShow, withCtx, withDirectives } from "vue";
6
+ import { s as isIconGlyph, t as _sfc_main$3 } from "./Icon-KDnUyY7f.js";
7
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, normalizeStyle, onMounted, openBlock, reactive, ref, renderList, renderSlot, resolveComponent, resolveDynamicComponent, toDisplayString, toRaw, unref, useAttrs, useId, useSlots, vShow, withCtx, withDirectives } from "vue";
6
8
  import "../styles/tree-list.css";
7
9
  //#region src/TreeList/TreeListItem.vue
8
10
  const _hoisted_1$1 = [
@@ -14,6 +16,8 @@ const _hoisted_1$1 = [
14
16
  "aria-selected",
15
17
  "aria-disabled",
16
18
  "aria-expanded",
19
+ "aria-labelledby",
20
+ "aria-describedby",
17
21
  "tabindex"
18
22
  ];
19
23
  const _hoisted_2$1 = ["data-span"];
@@ -39,26 +43,21 @@ const _hoisted_7 = {
39
43
  key: 1,
40
44
  class: "astryx-tree-list__icon"
41
45
  };
42
- const _hoisted_8 = { class: "astryx-tree-list__label" };
43
- const _hoisted_9 = {
44
- key: 0,
45
- class: "astryx-tree-list__description"
46
- };
47
- const _hoisted_10 = ["disabled"];
48
- const _hoisted_11 = { class: "astryx-tree-list__label" };
49
- const _hoisted_12 = {
50
- key: 0,
51
- class: "astryx-tree-list__description"
52
- };
46
+ const _hoisted_8 = ["id"];
47
+ const _hoisted_9 = ["id"];
48
+ const _hoisted_10 = [
49
+ "disabled",
50
+ "aria-labelledby",
51
+ "aria-describedby"
52
+ ];
53
+ const _hoisted_11 = ["id"];
54
+ const _hoisted_12 = ["id"];
53
55
  const _hoisted_13 = {
54
56
  key: 4,
55
57
  class: "astryx-tree-list__main"
56
58
  };
57
- const _hoisted_14 = { class: "astryx-tree-list__label" };
58
- const _hoisted_15 = {
59
- key: 0,
60
- class: "astryx-tree-list__description"
61
- };
59
+ const _hoisted_14 = ["id"];
60
+ const _hoisted_15 = ["id"];
62
61
  const _hoisted_16 = {
63
62
  key: 5,
64
63
  class: "astryx-tree-list__end"
@@ -95,8 +94,16 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
95
94
  const emit = __emit;
96
95
  const messages = useAstryxMessages();
97
96
  const linkComponent = useLinkComponent();
97
+ const labelId = useId();
98
+ const descriptionId = useId();
98
99
  /** 有链接时用的根组件,没有 provider 时还是 `<a>`。 */
99
100
  const linkRoot = computed(() => linkComponent.value == null ? "a" : toRaw(linkComponent.value));
101
+ const safeHref = computed(() => {
102
+ const href = props.item.href;
103
+ return href != null && href !== "" && isSafeUrl(href) ? href : void 0;
104
+ });
105
+ /** 新窗口打开时补上和列表行相同的关系标记。 */
106
+ const linkRel = computed(() => props.item.target === "_blank" ? "noopener noreferrer" : void 0);
100
107
  const hasChildren = computed(() => (props.item.children?.length ?? 0) > 0);
101
108
  const isExpanded = computed(() => hasChildren.value && props.expanded[props.item.id] === true);
102
109
  const reservesChevron = computed(() => !hasChildren.value && props.hasExpandableItems);
@@ -116,19 +123,26 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
116
123
  event.stopPropagation();
117
124
  emit("toggle", props.item.id);
118
125
  }
126
+ const press = usePressFeedback();
127
+ const rowPress = computed(() => {
128
+ return (props.item.onClick != null || safeHref.value != null || hasChildren.value) && props.item.isDisabled !== true ? press.pressableProps : {};
129
+ });
119
130
  return (_ctx, _cache) => {
120
131
  const _component_TreeListItem = resolveComponent("TreeListItem", true);
121
132
  return openBlock(), createElementBlock("li", {
122
- class: "astryx-tree-list__item",
133
+ class: normalizeClass(["astryx-tree-list__item", __props.item.className]),
123
134
  role: "treeitem",
124
135
  "data-tree-id": __props.item.id,
125
136
  "data-tree-disabled": __props.item.isDisabled ? "true" : void 0,
137
+ style: normalizeStyle(__props.item.style),
126
138
  "aria-level": __props.nestedLevel + 1,
127
139
  "aria-posinset": __props.posInSet,
128
140
  "aria-setsize": __props.setSize,
129
141
  "aria-selected": __props.item.isSelected || void 0,
130
142
  "aria-disabled": __props.item.isDisabled || void 0,
131
143
  "aria-expanded": hasChildren.value ? isExpanded.value : void 0,
144
+ "aria-labelledby": unref(labelId),
145
+ "aria-describedby": __props.item.description ? unref(descriptionId) : void 0,
132
146
  tabindex: __props.item.id === __props.tabbableId ? 0 : -1
133
147
  }, [
134
148
  __props.variant === "lineGuides" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.ancestorsIsLast, (ancestorIsLast, level) => {
@@ -148,16 +162,15 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
148
162
  class: "astryx-tree-list__guide-line",
149
163
  "data-span": __props.isLast ? "last" : "full"
150
164
  }, null, 8, _hoisted_2$1)], 4)) : createCommentVNode("v-if", true)], 64)) : createCommentVNode("v-if", true),
151
- createElementVNode("div", _hoisted_3, [createCommentVNode(" eslint-disable-next-line vue-a11y/click-events-have-key-events, vue-a11y/no-static-element-interactions -- 键盘由外层 role=\"tree\" 处理,这一层只接指针点击。 "), createElementVNode("div", {
165
+ createElementVNode("div", _hoisted_3, [createCommentVNode(" eslint-disable-next-line vue-a11y/click-events-have-key-events, vue-a11y/no-static-element-interactions -- 键盘由外层 role=\"tree\" 处理,这一层只接指针点击。 "), createElementVNode("div", mergeProps({
152
166
  class: "astryx-tree-list__content",
153
167
  "data-density": __props.density,
154
168
  "data-selected": __props.item.isSelected || void 0,
155
169
  "data-disabled": __props.item.isDisabled || void 0,
156
- "data-interactive": __props.item.onClick != null || __props.item.href != null || hasChildren.value || void 0,
170
+ "data-interactive": __props.item.onClick != null || safeHref.value != null || hasChildren.value || void 0,
157
171
  "data-guide-inset": __props.variant === "lineGuides" && __props.nestedLevel > 0 && !reservesChevron.value || void 0,
158
- style: normalizeStyle({ "--_tree-indent": indent.value }),
159
- onClick: onRowClick
160
- }, [
172
+ style: { "--_tree-indent": indent.value }
173
+ }, rowPress.value, { onClick: onRowClick }), [
161
174
  hasChildren.value ? (openBlock(), createElementBlock("button", {
162
175
  key: 0,
163
176
  type: "button",
@@ -182,28 +195,57 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
182
195
  class: normalizeClass(__props.item.icon),
183
196
  "aria-hidden": "true"
184
197
  }, null, 2)]))])) : createCommentVNode("v-if", true),
185
- __props.item.href ? (openBlock(), createBlock(resolveDynamicComponent(linkRoot.value), {
198
+ safeHref.value ? (openBlock(), createBlock(resolveDynamicComponent(linkRoot.value), {
186
199
  key: 2,
187
200
  class: "astryx-tree-list__action",
188
- href: __props.item.href,
189
- to: linkRoot.value === "a" ? void 0 : __props.item.href,
201
+ href: safeHref.value,
202
+ to: linkRoot.value === "a" ? void 0 : safeHref.value,
190
203
  target: __props.item.target,
204
+ rel: linkRel.value,
205
+ "aria-labelledby": unref(labelId),
206
+ "aria-describedby": __props.item.description ? unref(descriptionId) : void 0,
191
207
  tabindex: "-1"
192
208
  }, {
193
- default: withCtx(() => [createElementVNode("span", _hoisted_8, toDisplayString(__props.item.label), 1), __props.item.description ? (openBlock(), createElementBlock("span", _hoisted_9, toDisplayString(__props.item.description), 1)) : createCommentVNode("v-if", true)]),
209
+ default: withCtx(() => [createElementVNode("span", {
210
+ id: unref(labelId),
211
+ class: "astryx-tree-list__label"
212
+ }, toDisplayString(__props.item.label), 9, _hoisted_8), __props.item.description ? (openBlock(), createElementBlock("span", {
213
+ key: 0,
214
+ id: unref(descriptionId),
215
+ class: "astryx-tree-list__description"
216
+ }, toDisplayString(__props.item.description), 9, _hoisted_9)) : createCommentVNode("v-if", true)]),
194
217
  _: 1
195
218
  }, 8, [
196
219
  "href",
197
220
  "to",
198
- "target"
221
+ "target",
222
+ "rel",
223
+ "aria-labelledby",
224
+ "aria-describedby"
199
225
  ])) : __props.item.onClick ? (openBlock(), createElementBlock("button", {
200
226
  key: 3,
201
227
  type: "button",
202
228
  class: "astryx-tree-list__action",
203
229
  disabled: __props.item.isDisabled,
230
+ "aria-labelledby": unref(labelId),
231
+ "aria-describedby": __props.item.description ? unref(descriptionId) : void 0,
204
232
  tabindex: "-1",
205
233
  onClick: _cache[0] || (_cache[0] = ($event) => __props.item.onClick($event))
206
- }, [createElementVNode("span", _hoisted_11, toDisplayString(__props.item.label), 1), __props.item.description ? (openBlock(), createElementBlock("span", _hoisted_12, toDisplayString(__props.item.description), 1)) : createCommentVNode("v-if", true)], 8, _hoisted_10)) : (openBlock(), createElementBlock("span", _hoisted_13, [createElementVNode("span", _hoisted_14, toDisplayString(__props.item.label), 1), __props.item.description ? (openBlock(), createElementBlock("span", _hoisted_15, toDisplayString(__props.item.description), 1)) : createCommentVNode("v-if", true)])),
234
+ }, [createElementVNode("span", {
235
+ id: unref(labelId),
236
+ class: "astryx-tree-list__label"
237
+ }, toDisplayString(__props.item.label), 9, _hoisted_11), __props.item.description ? (openBlock(), createElementBlock("span", {
238
+ key: 0,
239
+ id: unref(descriptionId),
240
+ class: "astryx-tree-list__description"
241
+ }, toDisplayString(__props.item.description), 9, _hoisted_12)) : createCommentVNode("v-if", true)], 8, _hoisted_10)) : (openBlock(), createElementBlock("span", _hoisted_13, [createElementVNode("span", {
242
+ id: unref(labelId),
243
+ class: "astryx-tree-list__label"
244
+ }, toDisplayString(__props.item.label), 9, _hoisted_14), __props.item.description ? (openBlock(), createElementBlock("span", {
245
+ key: 0,
246
+ id: unref(descriptionId),
247
+ class: "astryx-tree-list__description"
248
+ }, toDisplayString(__props.item.description), 9, _hoisted_15)) : createCommentVNode("v-if", true)])),
207
249
  __props.item.badge || __props.item.endIcon ? (openBlock(), createElementBlock("span", _hoisted_16, [__props.item.badge ? (openBlock(), createBlock(_sfc_main$2, { key: 0 }, {
208
250
  default: withCtx(() => [createTextVNode(toDisplayString(__props.item.badge), 1)]),
209
251
  _: 1
@@ -215,7 +257,7 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
215
257
  class: normalizeClass(__props.item.endIcon),
216
258
  "aria-hidden": "true"
217
259
  }, null, 2)])) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true)
218
- ], 12, _hoisted_4)]),
260
+ ], 16, _hoisted_4)]),
219
261
  hasChildren.value && isExpanded.value ? (openBlock(), createElementBlock("ul", _hoisted_18, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.item.children, (child, index) => {
220
262
  return openBlock(), createBlock(_component_TreeListItem, {
221
263
  key: child.id,
@@ -245,7 +287,7 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
245
287
  "set-size"
246
288
  ]);
247
289
  }), 128))])) : createCommentVNode("v-if", true)
248
- ], 8, _hoisted_1$1);
290
+ ], 14, _hoisted_1$1);
249
291
  };
250
292
  }
251
293
  });
@@ -291,6 +333,17 @@ function useTreeFocus(options) {
291
333
  if (options.getLevel != null) return options.getLevel(item);
292
334
  return Number(item.getAttribute("aria-level") ?? "1");
293
335
  }
336
+ /** typeahead 用的名字。指明时只读标签,否则用整行文字。 */
337
+ function matchText(item) {
338
+ if (options.matchLabelledBy === true) {
339
+ const ids = item.getAttribute("aria-labelledby")?.split(/\s+/).filter(Boolean) ?? [];
340
+ if (ids.length > 0) {
341
+ const doc = item.ownerDocument;
342
+ return ids.map((id) => doc.getElementById(id)?.textContent ?? "").join(" ").trim().toLowerCase();
343
+ }
344
+ }
345
+ return (item.textContent ?? "").trim().toLowerCase();
346
+ }
294
347
  /** 树节点的 id:优先 `data-tree-id`,退回元素自己的 `id`。 */
295
348
  function idOf(item) {
296
349
  const id = item.dataset.treeId ?? item.id;
@@ -334,7 +387,7 @@ function useTreeFocus(options) {
334
387
  typeahead.buffer = "";
335
388
  }, TYPEAHEAD_RESET_MS);
336
389
  const query = typeahead.buffer;
337
- const match = [...list.slice(currentIndex + 1), ...list.slice(0, currentIndex + 1)].find((item) => !disabled(item) && (item.textContent ?? "").trim().toLowerCase().startsWith(query));
390
+ const match = [...list.slice(currentIndex + 1), ...list.slice(0, currentIndex + 1)].find((item) => !disabled(item) && matchText(item).startsWith(query));
338
391
  if (match != null) {
339
392
  event.preventDefault();
340
393
  focusItem(match);
@@ -440,7 +493,30 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
440
493
  },
441
494
  setup(__props) {
442
495
  const props = __props;
496
+ const attrs = useAttrs();
497
+ const slots = useSlots();
443
498
  const headerId = `astryx-tree-list-${useId()}`;
499
+ const hasHeader = computed(() => props.header != null || slots.header != null);
500
+ const rootAttrs = computed(() => {
501
+ const rest = {};
502
+ for (const [key, value] of Object.entries(attrs)) {
503
+ if (key === "class" || key === "style" || key === "onKeydown" || key === "onKeyDown") continue;
504
+ if (key === "aria-label" || key === "aria-labelledby") continue;
505
+ rest[key] = value;
506
+ }
507
+ return rest;
508
+ });
509
+ const treeLabel = computed(() => {
510
+ if (hasHeader.value) return void 0;
511
+ const fromAttr = attrs["aria-label"];
512
+ if (typeof fromAttr === "string") return fromAttr;
513
+ return props.label;
514
+ });
515
+ const treeLabelledBy = computed(() => {
516
+ if (hasHeader.value) return headerId;
517
+ const fromAttr = attrs["aria-labelledby"];
518
+ return typeof fromAttr === "string" ? fromAttr : void 0;
519
+ });
444
520
  const expanded = reactive({});
445
521
  function walk(items, visit) {
446
522
  for (const item of items) {
@@ -490,6 +566,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
490
566
  const tabbableId = computed(() => initialTabbable(props.items));
491
567
  const { treeRef, handleKeyDown, handleFocus } = useTreeFocus({
492
568
  hasRovingTabIndex: true,
569
+ matchLabelledBy: true,
493
570
  onToggleExpand: toggle,
494
571
  onActivate: (current) => {
495
572
  const candidates = current.querySelectorAll("a[href], button:not([data-tree-toggle])");
@@ -500,17 +577,23 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
500
577
  return false;
501
578
  }
502
579
  });
580
+ function callKeydown(listener, event) {
581
+ if (typeof listener === "function") listener(event);
582
+ else if (Array.isArray(listener)) listener.forEach((entry) => callKeydown(entry, event));
583
+ }
503
584
  function onKeyDown(event) {
585
+ callKeydown(attrs.onKeydown ?? attrs.onKeyDown, event);
586
+ if (event.defaultPrevented) return;
504
587
  if (treeRef.value != null && event.target instanceof Node && treeRef.value.contains(event.target)) handleKeyDown(event);
505
588
  }
506
589
  return (_ctx, _cache) => {
507
- return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" eslint-disable-next-line vue-a11y/no-static-element-interactions -- 方向键从内部 role=\"tree\" 冒泡上来,这一层只负责转发给树的键盘逻辑。 "), createElementVNode("div", {
508
- class: normalizeClass(["astryx-tree-list", _ctx.$attrs.class]),
509
- style: normalizeStyle(_ctx.$attrs.style),
590
+ return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" eslint-disable-next-line vue-a11y/no-static-element-interactions -- 方向键从内部 role=\"tree\" 冒泡上来,这一层只负责转发给树的键盘逻辑。 "), createElementVNode("div", mergeProps(rootAttrs.value, {
591
+ class: ["astryx-tree-list", unref(attrs).class],
592
+ style: unref(attrs).style,
510
593
  "data-density": __props.density,
511
594
  "data-variant": __props.variant,
512
595
  onKeydown: onKeyDown
513
- }, [__props.header || _ctx.$slots.header ? (openBlock(), createElementBlock("div", {
596
+ }), [hasHeader.value ? (openBlock(), createElementBlock("div", {
514
597
  key: 0,
515
598
  id: headerId,
516
599
  class: "astryx-tree-list__header"
@@ -519,8 +602,8 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
519
602
  ref: treeRef,
520
603
  class: "astryx-tree-list__list",
521
604
  role: "tree",
522
- "aria-label": __props.header || _ctx.$slots.header ? void 0 : __props.label,
523
- "aria-labelledby": __props.header || _ctx.$slots.header ? headerId : void 0,
605
+ "aria-label": treeLabel.value,
606
+ "aria-labelledby": treeLabelledBy.value,
524
607
  onFocus: _cache[0] || (_cache[0] = (...args) => unref(handleFocus) && unref(handleFocus)(...args))
525
608
  }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
526
609
  return openBlock(), createBlock(_sfc_main$1, {
@@ -548,7 +631,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
548
631
  "pos-in-set",
549
632
  "set-size"
550
633
  ]);
551
- }), 128))], 40, _hoisted_2)], 46, _hoisted_1)], 2112);
634
+ }), 128))], 40, _hoisted_2)], 16, _hoisted_1)], 2112);
552
635
  };
553
636
  }
554
637
  });
@@ -1,2 +1,2 @@
1
- import { a as TypeaheadEmits, c as TypeaheadSize, i as BaseTypeaheadProps, l as TypeaheadSlots, n as _default$1, o as TypeaheadItemProps, r as _default, s as TypeaheadProps, t as _default$2, u as TypeaheadStatus } from "../index-Bu8NA2SD.js";
1
+ import { a as TypeaheadEmits, c as TypeaheadSize, i as BaseTypeaheadProps, l as TypeaheadSlots, n as _default$1, o as TypeaheadItemProps, r as _default, s as TypeaheadProps, t as _default$2, u as TypeaheadStatus } from "../index-BnEhvmdR.js";
2
2
  export { _default as BaseTypeahead, type BaseTypeaheadProps, _default$1 as Typeahead, type TypeaheadEmits, _default$2 as TypeaheadItem, type TypeaheadItemProps, type TypeaheadProps, type TypeaheadSize, type TypeaheadSlots, type TypeaheadStatus };
@@ -1,3 +1,3 @@
1
- import { n as _sfc_main$2 } from "../TypeaheadMenu-DBW6rHeO.js";
2
- import { n as _sfc_main, t as _sfc_main$1 } from "../Typeahead-k3xhFxkr.js";
1
+ import { n as _sfc_main$2 } from "../TypeaheadMenu-BQlMrfqX.js";
2
+ import { n as _sfc_main, t as _sfc_main$1 } from "../Typeahead-D4JjvjK4.js";
3
3
  export { _sfc_main as BaseTypeahead, _sfc_main$1 as Typeahead, _sfc_main$2 as TypeaheadItem };
@@ -1,12 +1,17 @@
1
- import { n as useButtonTooltip } from "./Button-B6Hj_O_s.js";
2
- import { t as _sfc_main$2 } from "./ButtonTooltip-nWWrth8j.js";
3
- import { o as useAstryxMessages } from "./context-iABt_ueM.js";
4
- import { t as _sfc_main$3 } from "./Spinner-9cYUCnDy.js";
5
- import { t as _sfc_main$4 } from "./Field-D5gUEGw4.js";
6
- import { t as _sfc_main$5 } from "./Token-DsntTYhQ.js";
7
- import { n as useAnchoredListbox, t as scrollOptionIntoView } from "./useAnchoredListbox-DwztMNjP.js";
8
- import { r as useTypeaheadMenu, t as _sfc_main$6 } from "./TypeaheadMenu-DBW6rHeO.js";
9
- import { Fragment, Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, inject, mergeProps, nextTick, normalizeClass, normalizeStyle, onMounted, openBlock, provide, ref, renderSlot, toDisplayString, unref, useAttrs, useId, useTemplateRef, vShow, watch, withCtx, withDirectives } from "vue";
1
+ import { n as useButtonTooltip } from "./Button-ONOoHdkg.js";
2
+ import { t as _sfc_main$2 } from "./ButtonTooltip-CNKOQHYR.js";
3
+ import { a as isImeKeyEvent } from "./layerDepth-CNDh-IHb.js";
4
+ import { s as useAstryxMessages } from "./context-DWfi56sq.js";
5
+ import { t as useResolvedLabelHidden } from "./useResolvedLabelHidden-B2rlWiaI.js";
6
+ import { t as useScrollbars } from "./useScrollbars-C2NJ6Qwq.js";
7
+ import { t as _sfc_main$3 } from "./Spinner-DdVUadii.js";
8
+ import { t as _sfc_main$4 } from "./Field--OEsLBfE.js";
9
+ import { t as useFieldPartStyling } from "./fieldParts--SyRZVQG.js";
10
+ import { t as _sfc_main$5 } from "./Token-BfS4vi__.js";
11
+ import { n as useAnchoredListbox, t as scrollOptionIntoView } from "./useAnchoredListbox-DGxxKHZb.js";
12
+ import { i as useTypeaheadMenu, r as useLatchedOptionGrid, t as _sfc_main$6 } from "./TypeaheadMenu-BQlMrfqX.js";
13
+ import { Fragment, Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, inject, mergeProps, nextTick, normalizeClass, normalizeStyle, onMounted, openBlock, provide, ref, renderSlot, resolveDynamicComponent, toDisplayString, unref, useAttrs, useId, useTemplateRef, vShow, watch, withCtx, withDirectives } from "vue";
14
+ import "../styles/layer.css";
10
15
  import "../styles/visually-hidden-utility.css";
11
16
  import "../styles/typeahead.css";
12
17
  //#region src/Typeahead/context.ts
@@ -33,6 +38,7 @@ const _hoisted_2 = [
33
38
  "aria-disabled",
34
39
  "aria-expanded",
35
40
  "aria-controls",
41
+ "aria-haspopup",
36
42
  "aria-label",
37
43
  "aria-labelledby",
38
44
  "aria-activedescendant",
@@ -44,6 +50,7 @@ const _hoisted_4 = ["id"];
44
50
  const _hoisted_5 = ["name", "value"];
45
51
  const _hoisted_6 = [
46
52
  "id",
53
+ "role",
47
54
  "aria-label",
48
55
  "data-placement"
49
56
  ];
@@ -93,7 +100,21 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
93
100
  default: false
94
101
  },
95
102
  name: {},
96
- inputTabIndex: {}
103
+ inputTabIndex: {},
104
+ controlClass: { type: [
105
+ Boolean,
106
+ null,
107
+ String,
108
+ Object,
109
+ Array
110
+ ] },
111
+ controlStyle: { type: [
112
+ Boolean,
113
+ null,
114
+ String,
115
+ Object,
116
+ Array
117
+ ] }
97
118
  },
98
119
  emits: [
99
120
  "update:modelValue",
@@ -117,6 +138,7 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
117
138
  const inputRef = useTemplateRef("inputRef");
118
139
  const controlRef = useTemplateRef("controlRef");
119
140
  const listboxRef = useTemplateRef("listboxRef");
141
+ useScrollbars(listboxRef);
120
142
  const placeholder = computed(() => props.placeholder ?? messages.value.typeahead.placeholder);
121
143
  const emptyText = computed(() => props.emptySearchText ?? props.emptyText ?? messages.value.typeahead.empty);
122
144
  const clearLabel = computed(() => messages.value.typeahead.clear);
@@ -273,8 +295,16 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
273
295
  * 外面的 keydown 先跑,它 preventDefault 就不再走内部导航。
274
296
  * 顺序靠模板里 `v-bind` 写在 `@keydown` 前面保证。
275
297
  */
298
+ const optionGrid = useLatchedOptionGrid({
299
+ entries: () => menu.entries.value,
300
+ isOpen: () => menu.combobox.isOpen.value,
301
+ activeIndex: menu.combobox.activeIndex,
302
+ getListbox: () => listboxRef.value,
303
+ listboxId: () => listboxId.value
304
+ });
276
305
  function onKeydown(event) {
277
- if (event.defaultPrevented) return;
306
+ if (event.defaultPrevented || isImeKeyEvent(event)) return;
307
+ if (optionGrid.actionGrid.onKeyDown(event)) return;
278
308
  menu.onKeyDown(event);
279
309
  }
280
310
  function onControlClick(event) {
@@ -304,11 +334,17 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
304
334
  createElementVNode("div", { class: normalizeClass(["astryx-typeahead", [`size-${props.size}`, { "astryx-typeahead--bare": !hasChrome }]]) }, [createCommentVNode(" eslint-disable-next-line vue-a11y/click-events-have-key-events, vue-a11y/no-static-element-interactions -- 点空白处只是把焦点交给组合框;键盘用户直接 Tab 到输入框。 "), createElementVNode("div", {
305
335
  ref_key: "controlRef",
306
336
  ref: controlRef,
307
- class: normalizeClass(["astryx-typeahead-control", [`status-${props.status}`, {
308
- "is-open": unref(menu).combobox.isOpen.value,
309
- "is-disabled": props.disabled,
310
- "is-bare": !hasChrome
311
- }]]),
337
+ class: normalizeClass(["astryx-typeahead-control", [
338
+ unref(attrs).class,
339
+ props.controlClass,
340
+ `status-${props.status}`,
341
+ {
342
+ "is-open": unref(menu).combobox.isOpen.value,
343
+ "is-disabled": props.disabled,
344
+ "is-bare": !hasChrome
345
+ }
346
+ ]]),
347
+ style: normalizeStyle([unref(attrs).style, props.controlStyle]),
312
348
  onClick: onControlClick,
313
349
  onPointerenter: _cache[0] || (_cache[0] = (...args) => unref(disabledTooltip).onPointerEnter && unref(disabledTooltip).onPointerEnter(...args)),
314
350
  onPointerleave: _cache[1] || (_cache[1] = (...args) => unref(disabledTooltip).onPointerLeave && unref(disabledTooltip).onPointerLeave(...args))
@@ -344,10 +380,11 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
344
380
  "aria-disabled": focusableDisabled.value ? "true" : void 0,
345
381
  "aria-expanded": unref(menu).combobox.isOpen.value,
346
382
  "aria-controls": listboxId.value,
383
+ "aria-haspopup": unref(optionGrid).popupKind.value,
347
384
  "aria-label": ariaLabel.value,
348
385
  "aria-labelledby": labelledBy.value,
349
386
  "aria-autocomplete": "list",
350
- "aria-activedescendant": unref(menu).activeId.value ? `${listboxId.value}-option-${unref(menu).combobox.activeIndex.value}` : void 0,
387
+ "aria-activedescendant": unref(optionGrid).gridMode.value ? unref(optionGrid).actionGrid.activeDescendant.value : unref(menu).activeId.value ? `${listboxId.value}-option-${unref(menu).combobox.activeIndex.value}` : void 0,
351
388
  "aria-describedby": describedBy.value,
352
389
  "aria-required": props.required || void 0,
353
390
  onInput,
@@ -390,7 +427,7 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
390
427
  name: props.name,
391
428
  value: selected.value?.id ?? ""
392
429
  }, null, 8, _hoisted_5)) : createCommentVNode("v-if", true)
393
- ], 34)], 2),
430
+ ], 38)], 2),
394
431
  showsDisabledMessage.value ? (openBlock(), createBlock(_sfc_main$2, {
395
432
  key: 0,
396
433
  id: disabledTooltipId.value,
@@ -411,8 +448,8 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
411
448
  id: listboxId.value,
412
449
  ref_key: "listboxRef",
413
450
  ref: listboxRef,
414
- class: "astryx-typeahead-listbox",
415
- role: "listbox",
451
+ class: "astryx-typeahead-listbox astryx-layer",
452
+ role: unref(optionGrid).gridMode.value ? "grid" : "listbox",
416
453
  "aria-label": unref(messages).typeahead.results,
417
454
  "data-placement": unref(anchored).position.value.placement,
418
455
  style: normalizeStyle(unref(anchored).style.value),
@@ -424,9 +461,12 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
424
461
  description: entry.description,
425
462
  disabled: entry.disabled,
426
463
  group: entry.group,
464
+ action: entry.action,
427
465
  selected: optionSelected(entry.item.id)
428
466
  })),
429
467
  "active-index": unref(menu).combobox.activeIndex.value,
468
+ grid: unref(optionGrid).gridMode.value,
469
+ "action-index": unref(optionGrid).actionGrid.column.value === "action" ? unref(menu).combobox.activeIndex.value : -1,
430
470
  status: unref(menu).status.value,
431
471
  "listbox-id": listboxId.value,
432
472
  "empty-text": emptyText.value,
@@ -449,6 +489,8 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
449
489
  } : void 0]), 1032, [
450
490
  "entries",
451
491
  "active-index",
492
+ "grid",
493
+ "action-index",
452
494
  "status",
453
495
  "listbox-id",
454
496
  "empty-text",
@@ -469,6 +511,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
469
511
  modelValue: { default: null },
470
512
  searchSource: {},
471
513
  label: {},
514
+ isLabelHidden: { type: Boolean },
472
515
  labelHidden: {
473
516
  type: Boolean,
474
517
  default: false
@@ -516,7 +559,36 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
516
559
  default: false
517
560
  },
518
561
  name: {},
519
- width: {}
562
+ width: {},
563
+ startIcon: {},
564
+ containerClass: { type: [
565
+ Boolean,
566
+ null,
567
+ String,
568
+ Object,
569
+ Array
570
+ ] },
571
+ containerStyle: { type: [
572
+ Boolean,
573
+ null,
574
+ String,
575
+ Object,
576
+ Array
577
+ ] },
578
+ controlClass: { type: [
579
+ Boolean,
580
+ null,
581
+ String,
582
+ Object,
583
+ Array
584
+ ] },
585
+ controlStyle: { type: [
586
+ Boolean,
587
+ null,
588
+ String,
589
+ Object,
590
+ Array
591
+ ] }
520
592
  },
521
593
  emits: [
522
594
  "update:modelValue",
@@ -529,6 +601,25 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
529
601
  const props = __props;
530
602
  const emit = __emit;
531
603
  const attrs = useAttrs();
604
+ const parts = useFieldPartStyling({
605
+ component: "Typeahead",
606
+ props,
607
+ attrs,
608
+ reservedAttrs: [
609
+ "id",
610
+ "role",
611
+ "aria-label",
612
+ "aria-labelledby",
613
+ "aria-describedby",
614
+ "aria-expanded",
615
+ "aria-controls",
616
+ "aria-haspopup",
617
+ "aria-activedescendant",
618
+ "aria-autocomplete",
619
+ "aria-disabled",
620
+ "aria-required"
621
+ ]
622
+ });
532
623
  provide(typeaheadChromeKey, true);
533
624
  const inputId = `astryx-typeahead-${useId()}`;
534
625
  const base = useTemplateRef("base");
@@ -541,6 +632,8 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
541
632
  const showsClear = computed(() => props.hasClear && props.clearable);
542
633
  /** 两个名字任一为真就在聚焦时先展开。 */
543
634
  const showsEntriesOnFocus = computed(() => props.hasEntriesOnFocus || props.showOnFocus);
635
+ /** 正名 isLabelHidden,旧名 labelHidden 任一为真就藏起标签。 */
636
+ const hideLabel = useResolvedLabelHidden(() => props.isLabelHidden, () => props.labelHidden);
544
637
  const emptySearchText = computed(() => props.emptySearchText ?? props.emptyText);
545
638
  const fieldStatus = computed(() => {
546
639
  if (!props.statusMessage || props.status === "default") return void 0;
@@ -555,12 +648,13 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
555
648
  });
556
649
  return (_ctx, _cache) => {
557
650
  return openBlock(), createBlock(_sfc_main$4, {
558
- class: normalizeClass(["astryx-typeahead", [`size-${props.size}`]]),
651
+ class: normalizeClass(["astryx-typeahead", [unref(parts).containerClass.value, `size-${props.size}`]]),
652
+ style: normalizeStyle(unref(parts).containerStyle.value),
559
653
  label: props.label,
560
654
  "input-id": inputId,
561
655
  description: props.description,
562
656
  "label-tooltip": props.labelTooltip,
563
- "is-label-hidden": props.labelHidden,
657
+ "is-label-hidden": unref(hideLabel),
564
658
  "is-disabled": props.disabled,
565
659
  "is-required": props.required,
566
660
  "is-optional": props.optional,
@@ -570,7 +664,9 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
570
664
  default: withCtx((field) => [createVNode(_sfc_main$1, mergeProps({
571
665
  ref_key: "base",
572
666
  ref: base
573
- }, unref(attrs), {
667
+ }, unref(parts).forwardedAttrs(), {
668
+ "control-class": unref(parts).controlClass(),
669
+ "control-style": unref(parts).controlStyle(),
574
670
  "model-value": props.modelValue,
575
671
  "search-source": props.searchSource,
576
672
  "input-id": field.inputId,
@@ -595,9 +691,9 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
595
691
  onChangeQuery: _cache[3] || (_cache[3] = ($event) => emit("changeQuery", $event)),
596
692
  onOpenChange: _cache[4] || (_cache[4] = ($event) => emit("openChange", $event))
597
693
  }), createSlots({ _: 2 }, [
598
- _ctx.$slots.icon ? {
694
+ _ctx.$slots.icon || props.startIcon ? {
599
695
  name: "icon",
600
- fn: withCtx(() => [renderSlot(_ctx.$slots, "icon")]),
696
+ fn: withCtx(() => [renderSlot(_ctx.$slots, "icon", {}, () => [(openBlock(), createBlock(resolveDynamicComponent(props.startIcon)))])]),
601
697
  key: "0"
602
698
  } : void 0,
603
699
  _ctx.$slots.item ? {
@@ -615,6 +711,8 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
615
711
  key: "2"
616
712
  } : void 0
617
713
  ]), 1040, [
714
+ "control-class",
715
+ "control-style",
618
716
  "model-value",
619
717
  "search-source",
620
718
  "input-id",
@@ -637,6 +735,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
637
735
  _: 3
638
736
  }, 8, [
639
737
  "class",
738
+ "style",
640
739
  "label",
641
740
  "description",
642
741
  "label-tooltip",