@astryx-vue/core 0.2.5 → 0.3.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 (409) hide show
  1. package/THIRD_PARTY_NOTICES.md +9 -0
  2. package/dist/AlertDialog/index.js +1 -1
  3. package/dist/{AlertDialog-B6UeBCE7.js → AlertDialog-RAVA_cT1.js} +13 -7
  4. package/dist/AppShell/index.d.ts +1 -1
  5. package/dist/AppShell/index.js +1 -1
  6. package/dist/{AppShell-CeBmB0Q9.js → AppShell-0wTvOo3H.js} +3 -3
  7. package/dist/Avatar/index.d.ts +2 -2
  8. package/dist/Avatar/index.js +1 -1
  9. package/dist/{Avatar-BB4Z4LF1.js → Avatar-pPZ4dI_s.js} +161 -16
  10. package/dist/AvatarGroup/index.d.ts +2 -2
  11. package/dist/AvatarGroup/index.js +1 -1
  12. package/dist/AvatarGroup-B--NQSB3.js +98 -0
  13. package/dist/Banner/index.d.ts +1 -1
  14. package/dist/Banner/index.js +1 -1
  15. package/dist/{Banner-CJe9Im5a.js → Banner-GbGxrqQO.js} +1 -1
  16. package/dist/BottomSheet/index.d.ts +1 -1
  17. package/dist/BottomSheet/index.js +2 -2
  18. package/dist/{BottomSheet-o7xw-TOi.js → BottomSheet-JYMB_Ofl.js} +12 -9
  19. package/dist/{BottomSheet-BV6vfgGu.js → BottomSheet-pt7m4CvC.js} +3 -1
  20. package/dist/Breadcrumbs/index.d.ts +1 -1
  21. package/dist/Breadcrumbs/index.js +2 -2
  22. package/dist/{Breadcrumbs-D6G7f5WL.js → Breadcrumbs-DIm4figq.js} +22 -11
  23. package/dist/Button/index.d.ts +1 -1
  24. package/dist/Button/index.js +1 -1
  25. package/dist/{Button-DrqeomlE.js → Button-B6Hj_O_s.js} +3 -1
  26. package/dist/ButtonGroup/index.d.ts +1 -1
  27. package/dist/Calendar/index.d.ts +1 -1
  28. package/dist/Calendar/index.js +1 -1
  29. package/dist/{Calendar-DmTeM7PO.js → Calendar-B7vIowKq.js} +2 -2
  30. package/dist/Card/index.d.ts +1 -1
  31. package/dist/Card/index.js +1 -1
  32. package/dist/{Card-HAjZQg2s.js → Card-B-I24X9S.js} +2 -0
  33. package/dist/Carousel/index.d.ts +1 -1
  34. package/dist/Carousel/index.js +1 -1
  35. package/dist/{Carousel-CIKrcA2r.js → Carousel-CA8zpD9v.js} +48 -31
  36. package/dist/Center/index.d.ts +1 -1
  37. package/dist/Chat/index.d.ts +2 -2
  38. package/dist/Chat/index.js +1 -1
  39. package/dist/{Chat-BFox3u9D.js → Chat-Bmna9EOA.js} +98 -61
  40. package/dist/CheckboxInput/index.d.ts +1 -1
  41. package/dist/CheckboxInput/index.js +1 -1
  42. package/dist/{CheckboxInput-25Q8ItH-.js → CheckboxInput-BS9J6edf.js} +2 -2
  43. package/dist/CheckboxList/index.d.ts +1 -1
  44. package/dist/CheckboxList/index.js +1 -1
  45. package/dist/{CheckboxList-BlPf7vPe.js → CheckboxList-CX1i_jVP.js} +8 -7
  46. package/dist/Citation/index.js +1 -1
  47. package/dist/{Citation-BG-vg9ia.js → Citation-Djgwa0ko.js} +1 -1
  48. package/dist/ClickableCard/index.d.ts +1 -1
  49. package/dist/ClickableCard/index.js +1 -1
  50. package/dist/{ClickableCard-Bhds4RRe.js → ClickableCard-DUsC-j03.js} +1 -1
  51. package/dist/Code/index.d.ts +1 -1
  52. package/dist/Code/index.js +1 -1
  53. package/dist/{CodeBlock-B2pnEOJY.js → CodeBlock-D0BFubut.js} +5 -1
  54. package/dist/Collapsible/index.d.ts +2 -2
  55. package/dist/Collapsible/index.js +2 -2
  56. package/dist/{Collapsible-3YerR-FO.js → Collapsible-Cov3Pyq5.js} +67 -22
  57. package/dist/CommandPalette/index.d.ts +2 -2
  58. package/dist/CommandPalette/index.js +1 -1
  59. package/dist/{CommandPalette-DKgHzmJk.js → CommandPalette-YHsUNg3V.js} +60 -20
  60. package/dist/ComplexSelector/index.d.ts +1 -1
  61. package/dist/ComplexSelector/index.js +1 -1
  62. package/dist/{ComplexSelector-Dv44FFhN.js → ComplexSelector-DWLdKPGI.js} +41 -9
  63. package/dist/ContextMenu/index.d.ts +1 -1
  64. package/dist/ContextMenu/index.js +2 -2
  65. package/dist/{ContextMenu-BeJO5HYx.js → ContextMenu-Bq9b3Ti5.js} +15 -8
  66. package/dist/DateInput/index.d.ts +1 -1
  67. package/dist/DateInput/index.js +1 -1
  68. package/dist/DateInput-DT518j5E.js +841 -0
  69. package/dist/DateRangeInput/index.d.ts +1 -1
  70. package/dist/DateRangeInput/index.js +1 -1
  71. package/dist/{DateRangeInput-Cp6AZfew.js → DateRangeInput-Bqi5tlIA.js} +188 -140
  72. package/dist/DateTimeInput/index.d.ts +1 -1
  73. package/dist/DateTimeInput/index.js +1 -1
  74. package/dist/{DateTimeInput-B6MPPp76.js → DateTimeInput-A7m2O3bg.js} +43 -12
  75. package/dist/Dialog/index.d.ts +1 -1
  76. package/dist/Dialog/index.js +2 -2
  77. package/dist/{Dialog-CvRplBo-.js → Dialog-BiOSKQso.js} +9 -5
  78. package/dist/{Dialog-rfUt3y8P.js → Dialog-FGHfDu5M.js} +1 -1
  79. package/dist/Divider/index.d.ts +1 -1
  80. package/dist/DropdownMenu/index.js +3 -3
  81. package/dist/{DropdownMenu-6E9jFdFe.js → DropdownMenu-CoOQVlRp.js} +9 -10
  82. package/dist/{DropdownMenu--lnUeJEG.js → DropdownMenu-DEb2dSSP.js} +44 -33
  83. package/dist/EmptyState/index.js +1 -1
  84. package/dist/{EmptyState-0RWymQUS.js → EmptyState-C_GH7IV5.js} +2 -2
  85. package/dist/Field/index.d.ts +2 -2
  86. package/dist/Field/index.js +2 -2
  87. package/dist/{Field-8zRxzDHE.js → Field-D5gUEGw4.js} +1 -1
  88. package/dist/FieldInfoTip-Ds-sW_jY.js +98 -0
  89. package/dist/FieldLabel-BNeXRuGH.js +95 -0
  90. package/dist/FieldStatus/index.d.ts +1 -1
  91. package/dist/FileInput/index.d.ts +1 -1
  92. package/dist/FileInput/index.js +1 -1
  93. package/dist/FileInput-BpdiO1V8.js +285 -0
  94. package/dist/Grid/index.d.ts +1 -1
  95. package/dist/Heading/index.d.ts +1 -1
  96. package/dist/Heading/index.js +1 -1
  97. package/dist/{Heading-B9C3LZlS.js → Heading-BnwWEWkp.js} +7 -2
  98. package/dist/HoverCard/index.d.ts +2 -2
  99. package/dist/HoverCard/index.js +2 -2
  100. package/dist/HoverCard-ycY50pRN.js +492 -0
  101. package/dist/IconButton/index.js +1 -1
  102. package/dist/{IconButton-BNQuz9W_.js → IconButton-DDNgNl7B.js} +1 -1
  103. package/dist/InputGroup/index.d.ts +1 -1
  104. package/dist/InputGroup/index.js +1 -1
  105. package/dist/{InputGroup-BzR6JRZb.js → InputGroup-CA03Smrs.js} +1 -1
  106. package/dist/InternationalizationProvider/index.d.ts +2 -0
  107. package/dist/InternationalizationProvider/index.js +2 -0
  108. package/dist/InternationalizationProvider-DJay_w3B.js +170 -0
  109. package/dist/{Item-DrYJL1TG.js → Item-KhFKX9St.js} +15 -6
  110. package/dist/LayerProvider/index.d.ts +2 -0
  111. package/dist/LayerProvider/index.js +3 -0
  112. package/dist/LayerProvider-D9NsQFzL.js +73 -0
  113. package/dist/Layout/index.d.ts +1 -1
  114. package/dist/Layout/index.js +2 -2
  115. package/dist/{Layout-Bed3kP0M.js → Layout-C6RHllr-.js} +2 -2
  116. package/dist/{LayoutPanel-C34uOq3e.js → LayoutPanel-DXOsaeQb.js} +4 -1
  117. package/dist/Lightbox/index.js +1 -1
  118. package/dist/{Lightbox-Br3o0SyQ.js → Lightbox-DTF9EdTG.js} +2 -2
  119. package/dist/Link/index.d.ts +2 -2
  120. package/dist/Link/index.js +1 -1
  121. package/dist/{Link-DCZ6922-.js → Link-BqHCtiyt.js} +26 -7
  122. package/dist/LinkProvider/index.d.ts +2 -0
  123. package/dist/LinkProvider/index.js +3 -0
  124. package/dist/LinkProvider-Qsps9_mL.js +17 -0
  125. package/dist/List/index.d.ts +1 -1
  126. package/dist/List/index.js +2 -2
  127. package/dist/{ListItem-CcRHWuEm.js → ListItem-8RWT8XAG.js} +1 -1
  128. package/dist/Markdown/index.d.ts +1 -1
  129. package/dist/Markdown/index.js +1 -1
  130. package/dist/{Markdown-Bz0R3kNj.js → Markdown-CvtN7HnF.js} +4 -4
  131. package/dist/MetadataList/index.js +1 -1
  132. package/dist/{MetadataList-CFaocx6j.js → MetadataList-B-OelQlt.js} +1 -1
  133. package/dist/MobileNav/index.js +1 -1
  134. package/dist/{MobileNavToggle-Dh3uLivq.js → MobileNavToggle-DxGz0xKA.js} +11 -5
  135. package/dist/MoreMenu/index.d.ts +1 -1
  136. package/dist/MoreMenu/index.js +1 -1
  137. package/dist/{MoreMenu-B95nRSe8.js → MoreMenu-Dlb7MLlW.js} +33 -20
  138. package/dist/MultiSelector/index.d.ts +1 -1
  139. package/dist/MultiSelector/index.js +1 -1
  140. package/dist/{MultiSelector-DuF5TECE.js → MultiSelector-BtAUfQ3t.js} +122 -54
  141. package/dist/{NavDisclosure-C6sPZ89n.js → NavDisclosure-C_fugrQ3.js} +1 -2
  142. package/dist/{NavHeadingSurface-Cb3x9iDx.js → NavHeadingSurface-B3yJspSN.js} +18 -11
  143. package/dist/NavItem/index.d.ts +1 -1
  144. package/dist/NavItem/index.js +2 -2
  145. package/dist/{NavItem-FFOisITc.js → NavItem-BBIGSvDj.js} +7 -3
  146. package/dist/NavMenu/index.d.ts +1 -1
  147. package/dist/NavMenu/index.js +3 -3
  148. package/dist/{NavMenu-ClIgMaxE.js → NavMenu-ThXguZAz.js} +7 -3
  149. package/dist/{NavMenuItem-E7S8gBh-.js → NavMenuItem-BvJNsDFC.js} +8 -4
  150. package/dist/NumberInput/index.d.ts +1 -1
  151. package/dist/NumberInput/index.js +1 -1
  152. package/dist/NumberInput-AZ9x3oja.js +473 -0
  153. package/dist/Outline/index.js +1 -1
  154. package/dist/{Outline-DBUuchi9.js → Outline-755h-lMP.js} +1 -1
  155. package/dist/OverflowList/index.d.ts +1 -1
  156. package/dist/OverflowList/index.js +1 -1
  157. package/dist/{OverflowList-aDd_oem0.js → OverflowList-NmrSMbxb.js} +10 -6
  158. package/dist/Pagination/index.d.ts +1 -1
  159. package/dist/Pagination/index.js +1 -1
  160. package/dist/{Pagination-CNe9F6Fl.js → Pagination-DqwNQFRp.js} +29 -14
  161. package/dist/Popover/index.d.ts +3 -3
  162. package/dist/Popover/index.js +2 -2
  163. package/dist/Popover-DJf8POzL.js +308 -0
  164. package/dist/PowerSearch/index.d.ts +1 -1
  165. package/dist/PowerSearch/index.js +1 -1
  166. package/dist/{PowerSearch-C6U8Sq1Y.js → PowerSearch-DvjiPqMZ.js} +44 -31
  167. package/dist/ProgressBar/index.d.ts +1 -1
  168. package/dist/ProgressBar/index.js +1 -1
  169. package/dist/{ProgressBar-DF6WZNCI.js → ProgressBar-CVLzdoBK.js} +9 -3
  170. package/dist/Radio/index.d.ts +1 -1
  171. package/dist/Radio/index.js +1 -1
  172. package/dist/{RadioGroup-CBqUPq_L.js → RadioGroup-Bfu6JSNV.js} +60 -24
  173. package/dist/RadioList/index.d.ts +1 -1
  174. package/dist/RadioList/index.js +1 -1
  175. package/dist/{RadioList-CPOJn9Th.js → RadioList-xY1cwLdZ.js} +4 -1
  176. package/dist/Resizable/index.d.ts +1 -1
  177. package/dist/Resizable/index.js +1 -1
  178. package/dist/{ResizeHandle-DYy0e3v9.js → ResizeHandle-q4nD_586.js} +1 -1
  179. package/dist/ScrollableArea/index.d.ts +1 -1
  180. package/dist/ScrollableArea/index.js +1 -1
  181. package/dist/{ScrollableArea-DQDYjnxO.js → ScrollableArea-D4dCJv9I.js} +14 -3
  182. package/dist/Scrollbars/index.d.ts +2 -0
  183. package/dist/Scrollbars/index.js +3 -0
  184. package/dist/Scrollbars-D_93hJYK.js +75 -0
  185. package/dist/Section/index.d.ts +2 -1
  186. package/dist/Section/index.js +1 -1
  187. package/dist/{Section-C48Wqfc7.js → Section-v2QuWBBJ.js} +1 -1
  188. package/dist/SegmentedControl/index.d.ts +1 -1
  189. package/dist/SelectableCard/index.d.ts +1 -1
  190. package/dist/SelectableCard/index.js +1 -1
  191. package/dist/{SelectableCard-Bj5s_tIN.js → SelectableCard-Cku4dRzc.js} +1 -1
  192. package/dist/Selector/index.d.ts +1 -1
  193. package/dist/Selector/index.js +1 -1
  194. package/dist/{Selector-5N-hq2nF.js → Selector-DJ2BhUTV.js} +90 -31
  195. package/dist/SideNav/index.d.ts +2 -2
  196. package/dist/SideNav/index.js +1 -1
  197. package/dist/{SideNav-CT9lfspi.js → SideNav-BF8mYDxl.js} +76 -44
  198. package/dist/Slider/index.d.ts +1 -1
  199. package/dist/Slider/index.js +1 -1
  200. package/dist/{Slider-D8h_RKcF.js → Slider-DWobsPgm.js} +2 -2
  201. package/dist/Stack/index.d.ts +2 -2
  202. package/dist/Stack/index.js +2 -2
  203. package/dist/{Stack-iv52y_Jv.js → Stack-CTsTFfar.js} +18 -3
  204. package/dist/{Stack-gGcYdOAh.js → Stack-kQlYbbL4.js} +22 -7
  205. package/dist/StatusDot/index.d.ts +1 -1
  206. package/dist/StatusDot/index.js +1 -1
  207. package/dist/StatusDot-BPUhMOff.js +45 -0
  208. package/dist/Stepper/index.d.ts +1 -1
  209. package/dist/Stepper/index.js +1 -1
  210. package/dist/{Stepper-BqhVCgC-.js → Stepper-CE8dHysu.js} +1 -1
  211. package/dist/Switch/index.d.ts +1 -1
  212. package/dist/Switch/index.js +1 -1
  213. package/dist/{Switch-SesQzPGZ.js → Switch-DaVPRxvN.js} +2 -2
  214. package/dist/TabList/index.d.ts +2 -2
  215. package/dist/TabList/index.js +1 -1
  216. package/dist/{TabList-BlzkrObv.js → TabList-DIkK9sgK.js} +100 -23
  217. package/dist/Table/index.d.ts +3 -3
  218. package/dist/Table/index.js +2 -2
  219. package/dist/{Table-CsdH8fCB.js → Table-fecqnm7P.js} +870 -241
  220. package/dist/Text/index.d.ts +2 -2
  221. package/dist/Text/index.js +1 -1
  222. package/dist/{Text-DIzZw6FA.js → Text-CV3LmscH.js} +7 -2
  223. package/dist/TextArea/index.d.ts +1 -1
  224. package/dist/TextArea/index.js +1 -1
  225. package/dist/{TextArea-CPwSytdO.js → TextArea-Ab5Sw60T.js} +24 -14
  226. package/dist/TextInput/index.d.ts +1 -1
  227. package/dist/TextInput/index.js +1 -1
  228. package/dist/{TextInput-BasnjVvy.js → TextInput-zFT1_qgI.js} +21 -24
  229. package/dist/Thumbnail/index.js +1 -1
  230. package/dist/{Thumbnail-BnQwX1cQ.js → Thumbnail-C3NnJUFG.js} +5 -5
  231. package/dist/TimeField-CoHDGmsP.js +435 -0
  232. package/dist/TimeInput/index.d.ts +1 -1
  233. package/dist/TimeInput/index.js +1 -1
  234. package/dist/{TimeInput-C9gptCOK.js → TimeInput-D2k3Ux3p.js} +14 -2
  235. package/dist/Timer/index.d.ts +1 -1
  236. package/dist/Timer/index.js +1 -1
  237. package/dist/{Timer-kxzQx3tp.js → Timer-avMQk5DN.js} +1 -1
  238. package/dist/Timestamp/index.d.ts +1 -1
  239. package/dist/Timestamp/index.js +1 -1
  240. package/dist/{Timestamp-D7bd_nF3.js → Timestamp-xpQKCk0d.js} +7 -7
  241. package/dist/Toast/index.d.ts +3 -2
  242. package/dist/Toast/index.js +1 -1
  243. package/dist/{Toast-C2ML-bmi.js → Toast-BuqIZV5z.js} +136 -38
  244. package/dist/ToggleButton/index.d.ts +1 -1
  245. package/dist/ToggleButton/index.js +1 -1
  246. package/dist/{ToggleButton-BB_I8EdM.js → ToggleButton-B-C-Q7XP.js} +1 -1
  247. package/dist/Token/index.d.ts +1 -1
  248. package/dist/Token/index.js +1 -1
  249. package/dist/{Token-D2GsI_Ei.js → Token-DsntTYhQ.js} +33 -17
  250. package/dist/Tokenizer/index.d.ts +1 -1
  251. package/dist/Tokenizer/index.js +1 -1
  252. package/dist/Tokenizer-B5C_qY7t.js +585 -0
  253. package/dist/Toolbar/index.d.ts +2 -1
  254. package/dist/Tooltip/index.d.ts +2 -2
  255. package/dist/Tooltip/index.js +2 -2
  256. package/dist/Tooltip-C4Vaqd3G.js +320 -0
  257. package/dist/TopNav/index.d.ts +1 -1
  258. package/dist/TopNav/index.js +1 -1
  259. package/dist/{TopNav-arWFLTBM.js → TopNav-Ciq0l1w7.js} +122 -84
  260. package/dist/TreeList/index.d.ts +1 -1
  261. package/dist/TreeList/index.js +1 -1
  262. package/dist/{TreeList-C9xvMpJZ.js → TreeList-BUz-KZJd.js} +90 -40
  263. package/dist/Typeahead/index.d.ts +1 -1
  264. package/dist/Typeahead/index.js +2 -2
  265. package/dist/Typeahead-JP9RT87x.js +656 -0
  266. package/dist/{TypeaheadMenu-BEObzonz.js → TypeaheadMenu-DBW6rHeO.js} +133 -44
  267. package/dist/composables/index.d.ts +3 -3
  268. package/dist/composables/index.js +12 -7
  269. package/dist/{composables-CWw6t-RJ.js → composables-CbKx9C1Y.js} +424 -4
  270. package/dist/context-C_peZbXf.js +16 -0
  271. package/dist/context-M-er0-Rk.js +99 -0
  272. package/dist/{context-CPh7kE-a.js → context-iABt_ueM.js} +30 -4
  273. package/dist/{index-CLmKfnqf.d.ts → index-0QGtSf3r.d.ts} +2 -0
  274. package/dist/{index-z3uLM1O6.d.ts → index-B1WJxt-n.d.ts} +1 -1
  275. package/dist/{index-BPwD6aBv.d.ts → index-B3Fomy15.d.ts} +2 -2
  276. package/dist/{index-CPwzSbQQ.d.ts → index-B42oE_F-.d.ts} +17 -1
  277. package/dist/{index-EFqQF2Bx.d.ts → index-B4OOtNP8.d.ts} +2 -2
  278. package/dist/index-B7yhzGUT.d.ts +171 -0
  279. package/dist/{index-DFbvnBlf.d.ts → index-B9e52paP.d.ts} +15 -2
  280. package/dist/{index-CEB7Ywvw.d.ts → index-BKnyTWPM.d.ts} +1 -1
  281. package/dist/{index-CsVS37na.d.ts → index-BNbAJV9C.d.ts} +1 -1
  282. package/dist/index-BTK7aStw.d.ts +88 -0
  283. package/dist/{index-BBtJt5_A.d.ts → index-BULhhnGf.d.ts} +1 -1
  284. package/dist/{index-D7-WTV6I.d.ts → index-BVKivP59.d.ts} +2 -2
  285. package/dist/{index-BpH4wvsg.d.ts → index-BgT6mH3U.d.ts} +2 -2
  286. package/dist/{index-Be1czg3M.d.ts → index-BhpAUzUr.d.ts} +47 -7
  287. package/dist/{index-BcJBLWJ0.d.ts → index-BkjSF265.d.ts} +67 -4
  288. package/dist/{index-DxR1FChm.d.ts → index-Bu8NA2SD.d.ts} +49 -6
  289. package/dist/{index-HV6W3xCx.d.ts → index-Byar3h1e.d.ts} +1 -1
  290. package/dist/{index-C-QpeUlQ.d.ts → index-C2nbK2AA.d.ts} +52 -7
  291. package/dist/{index-iBLzInje.d.ts → index-C5e-7Obr.d.ts} +1 -1
  292. package/dist/index-CEv_AvOg.d.ts +17 -0
  293. package/dist/{index-Dgg0bHVM.d.ts → index-CICeEoZV.d.ts} +2 -1
  294. package/dist/{index-CB9Srua5.d.ts → index-CL1T2j4y.d.ts} +7 -4
  295. package/dist/{index-DjMwF8ET.d.ts → index-COgrQZIL.d.ts} +7 -1
  296. package/dist/{index-Ca8VIE4l.d.ts → index-CVn0GBdB.d.ts} +1 -1
  297. package/dist/{index-ChWlKHjc.d.ts → index-Cde5JvtX.d.ts} +15 -3
  298. package/dist/index-CitZGSn0.d.ts +39 -0
  299. package/dist/index-CkKPMIeX.d.ts +55 -0
  300. package/dist/{index-FEy8qFSD.d.ts → index-ClNU2Th8.d.ts} +30 -3
  301. package/dist/{index-kaKBOZSU.d.ts → index-Cq31D3fJ.d.ts} +99 -7
  302. package/dist/{index-xfkEuGLY.d.ts → index-CqE4Bf3Q.d.ts} +8 -2
  303. package/dist/{index-DtePJ_w_.d.ts → index-Crp3NFLW.d.ts} +2 -2
  304. package/dist/{index-BlOIC_AM.d.ts → index-CsNi1I8j.d.ts} +6 -0
  305. package/dist/index-Cyb9Du5Z.d.ts +76 -0
  306. package/dist/{index-4TRnFGxv.d.ts → index-D41_xqjs.d.ts} +50 -10
  307. package/dist/{index-eshFLli0.d.ts → index-D97pQbua.d.ts} +7 -0
  308. package/dist/{index-c67ca7eJ.d.ts → index-DEQ5cnUV.d.ts} +1 -1
  309. package/dist/{index-BmAxqw1G.d.ts → index-DG52Bg0W.d.ts} +15 -1
  310. package/dist/{index-Da7Jm8Ht.d.ts → index-DIXAzTKL.d.ts} +1 -1
  311. package/dist/{index-BmmdzwT9.d.ts → index-DNA2l1RN.d.ts} +35 -11
  312. package/dist/{index-B9rqmYxh.d.ts → index-DUaLJO7l.d.ts} +978 -313
  313. package/dist/index-DVmgNb78.d.ts +143 -0
  314. package/dist/{index-CDdRQQF3.d.ts → index-DWh2WC8W.d.ts} +18 -6
  315. package/dist/index-DXpSFlPG.d.ts +78 -0
  316. package/dist/{index-C_2Z65Rp.d.ts → index-DeQwYJbg.d.ts} +39 -2
  317. package/dist/{index-JL4auphT.d.ts → index-GI9xIV9l.d.ts} +2 -2
  318. package/dist/{index-Ctu32CLv.d.ts → index-IBAInumL.d.ts} +93 -56
  319. package/dist/{index-vizlhXVs.d.ts → index-T2FOcOuI.d.ts} +492 -16
  320. package/dist/{index-CA6RbRWx.d.ts → index-TXcNH86P.d.ts} +2 -2
  321. package/dist/{index-BIPc1v82.d.ts → index-TntQsADQ.d.ts} +1 -1
  322. package/dist/index-fAZaRruV.d.ts +125 -0
  323. package/dist/{index-COxy6LEW.d.ts → index-gW0HW02U.d.ts} +1 -1
  324. package/dist/{index-D5N9ikrS.d.ts → index-hCpxKePE.d.ts} +1 -1
  325. package/dist/{index-CpiWVbRZ.d.ts → index-i0tNFWfz.d.ts} +3 -1
  326. package/dist/{index-YmSe1ujk.d.ts → index-lgvUFSCO.d.ts} +1 -1
  327. package/dist/{index-bvr3WHvs.d.ts → index-xrzJC4wm.d.ts} +1 -1
  328. package/dist/{index-BK9T1TPZ.d.ts → index-yT1yiiww.d.ts} +28 -9
  329. package/dist/index.d.ts +80 -76
  330. package/dist/index.js +127 -113
  331. package/dist/link-C4_WogdF.js +18 -0
  332. package/dist/{index-C3GaPqvJ.d.ts → loadCatalog-BGHKG_9N.d.ts} +16 -37
  333. package/dist/{locale-sLw5Caia.js → loadCatalog-CXKqEB9s.js} +25 -65
  334. package/dist/locale/index.d.ts +3 -2
  335. package/dist/locale/index.js +4 -3
  336. package/dist/locale-DgkZEMTn.js +105 -0
  337. package/dist/{searchResultMessage-CCnq-_ce.js → searchResultMessage-hXXNOFJP.js} +2 -2
  338. package/dist/{size-xcIqExkS.js → size-Cpn_wzXi.js} +1 -1
  339. package/dist/{types-3eXh_5os.d.ts → types-0Q_SJv_F.d.ts} +3 -1
  340. package/dist/types-BRfVvZTH.d.ts +108 -0
  341. package/dist/{types-D7QNSqoN.d.ts → types-BTk0WZ0b.d.ts} +8 -0
  342. package/dist/{types-D_J66aPN.d.ts → types-BnNTzEnd.d.ts} +5 -1
  343. package/dist/{types-D9nP_X-c.d.ts → types-Ckih2YJi.d.ts} +9 -2
  344. package/dist/{types-Db3Owy8Q.d.ts → types-OGMYGejX.d.ts} +5 -0
  345. package/dist/{index-nKlTsNfV.d.ts → types-uFMH9NaM.d.ts} +14 -17
  346. package/dist/{useAnchoredListbox-BN9LQnon.js → useAnchoredListbox-DwztMNjP.js} +9 -4
  347. package/dist/useDevWarning-DznOpOHT.js +36 -0
  348. package/dist/useInputContainer-CpgDe2-4.js +51 -0
  349. package/dist/useInputStatusIcon-DBOwxV4x.js +41 -0
  350. package/dist/useInteractiveRole-Cn0Nd5GX.js +25 -0
  351. package/dist/{useMenuDrillIn-BgjJcY3K.js → useMenuDrillIn-DzKGkTho.js} +1 -1
  352. package/dist/{useMenuPress-DUmEy4TB.js → useMenuPress-D-FRNrBW.js} +162 -14
  353. package/dist/useMergedRefs-CfHHlCsn.js +109 -0
  354. package/dist/useNumberField-4-dIGVed.js +128 -0
  355. package/dist/{usePositionedLayer-C1NBOsVT.js → usePositionedLayer-Cru9_00b.js} +70 -7
  356. package/dist/useResizable-DDwPpPe6.d.ts +409 -0
  357. package/dist/useRestoreFocus-Djw9RUIf.js +153 -0
  358. package/dist/useScrollbars-C2NJ6Qwq.js +43 -0
  359. package/dist/{useTimeValue-DWk6oTAZ.js → useTimeValue-6ufHM15W.js} +1 -1
  360. package/dist/utils-D33VQDnk.js +58 -0
  361. package/locales/SOURCE.json +1 -1
  362. package/locales/en.json +445 -1
  363. package/package.json +19 -2
  364. package/styles/avatar-group.css +19 -1
  365. package/styles/avatar.css +34 -13
  366. package/styles/chat.css +17 -1
  367. package/styles/dialog-header.css +5 -1
  368. package/styles/field.css +11 -0
  369. package/styles/heading.css +9 -0
  370. package/styles/indicator-focus-ring.css +18 -0
  371. package/styles/number-input.css +33 -0
  372. package/styles/pressable.css +44 -0
  373. package/styles/progress-bar.css +18 -0
  374. package/styles/scrollbars.css +28 -0
  375. package/styles/side-nav.css +20 -6
  376. package/styles/stack.css +4 -2
  377. package/styles/status-dot.css +18 -0
  378. package/styles/tab-list.css +38 -2
  379. package/styles/table.css +66 -6
  380. package/styles/text.css +9 -0
  381. package/styles/time-input.css +41 -0
  382. package/styles/top-nav.css +46 -19
  383. package/styles/typeahead.css +31 -0
  384. package/styles.css +2 -0
  385. package/dist/AvatarGroup-QyzSrpYA.js +0 -60
  386. package/dist/DateInput-D4XFAEMp.js +0 -743
  387. package/dist/FieldLabel-DmmJyX7w.js +0 -184
  388. package/dist/FileInput-DuNwdbAo.js +0 -238
  389. package/dist/HoverCard-EhbWaGOW.js +0 -443
  390. package/dist/NumberInput-B4IL3s_8.js +0 -210
  391. package/dist/Popover-D7zqpFwU.js +0 -215
  392. package/dist/StatusDot-CaoIapp4.js +0 -27
  393. package/dist/TimeField-Biiuv0hB.js +0 -214
  394. package/dist/Tokenizer-rwzamZg4.js +0 -473
  395. package/dist/Tooltip-C2fh9anJ.js +0 -271
  396. package/dist/Typeahead-_V11btpv.js +0 -499
  397. package/dist/index-Blm197N_.d.ts +0 -82
  398. package/dist/index-Bt7ewoz2.d.ts +0 -119
  399. package/dist/index-C1HIqW_H.d.ts +0 -38
  400. package/dist/index-CngORuiq.d.ts +0 -387
  401. package/dist/index-D4I_obqR.d.ts +0 -58
  402. package/dist/link-CdcUSxAj.js +0 -12
  403. package/dist/size-BuTzpgnR.d.ts +0 -14
  404. package/dist/types-Cp4liug-.d.ts +0 -170
  405. package/dist/useDismiss-Cj8x_51F.js +0 -62
  406. package/dist/useNumberField-DL-Radsp.js +0 -49
  407. package/dist/useResizable-CUoNPmUw.d.ts +0 -72
  408. package/dist/useRestoreFocus-BvMdXVX9.js +0 -96
  409. package/dist/utils-C9r3UD_y.js +0 -16
@@ -0,0 +1,656 @@
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 useScrollbars } from "./useScrollbars-C2NJ6Qwq.js";
5
+ import { t as _sfc_main$3 } from "./Spinner-9cYUCnDy.js";
6
+ import { t as _sfc_main$4 } from "./Field-D5gUEGw4.js";
7
+ import { t as _sfc_main$5 } from "./Token-DsntTYhQ.js";
8
+ import { n as useAnchoredListbox, t as scrollOptionIntoView } from "./useAnchoredListbox-DwztMNjP.js";
9
+ import { r as useTypeaheadMenu, t as _sfc_main$6 } from "./TypeaheadMenu-DBW6rHeO.js";
10
+ 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";
11
+ import "../styles/visually-hidden-utility.css";
12
+ import "../styles/typeahead.css";
13
+ //#region src/Typeahead/context.ts
14
+ /**
15
+ * `Typeahead` 用它告诉里面的 `BaseTypeahead`:外框、边框、选中值标签和清除按钮由我来画。
16
+ * 单独使用的 `BaseTypeahead` 拿不到它,只渲染裸输入。
17
+ */
18
+ const typeaheadChromeKey = Symbol("astryxTypeaheadChrome");
19
+ //#endregion
20
+ //#region src/Typeahead/BaseTypeahead.vue
21
+ const _hoisted_1 = {
22
+ key: 0,
23
+ class: "astryx-typeahead-icon",
24
+ "aria-hidden": "true"
25
+ };
26
+ const _hoisted_2 = [
27
+ "id",
28
+ "tabindex",
29
+ "data-autofocus",
30
+ "placeholder",
31
+ "value",
32
+ "disabled",
33
+ "readonly",
34
+ "aria-disabled",
35
+ "aria-expanded",
36
+ "aria-controls",
37
+ "aria-label",
38
+ "aria-labelledby",
39
+ "aria-activedescendant",
40
+ "aria-describedby",
41
+ "aria-required"
42
+ ];
43
+ const _hoisted_3 = ["aria-label"];
44
+ const _hoisted_4 = ["id"];
45
+ const _hoisted_5 = ["name", "value"];
46
+ const _hoisted_6 = [
47
+ "id",
48
+ "aria-label",
49
+ "data-placement"
50
+ ];
51
+ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
52
+ name: "AstryxBaseTypeahead",
53
+ inheritAttrs: false,
54
+ __name: "BaseTypeahead",
55
+ props: {
56
+ modelValue: { default: null },
57
+ searchSource: {},
58
+ label: {},
59
+ inputId: {},
60
+ describedBy: {},
61
+ ariaDescribedBy: {},
62
+ ariaLabelledBy: {},
63
+ anchorRef: {},
64
+ placeholder: {},
65
+ disabled: {
66
+ type: Boolean,
67
+ default: false
68
+ },
69
+ disabledReason: {},
70
+ isFocusableDisabled: { type: Boolean },
71
+ status: { default: "default" },
72
+ size: { default: "md" },
73
+ clearable: {
74
+ type: Boolean,
75
+ default: true
76
+ },
77
+ debounceMs: { default: 150 },
78
+ maxMenuItems: { default: 10 },
79
+ menuWidth: {},
80
+ minQueryLength: { default: 1 },
81
+ showOnFocus: {
82
+ type: Boolean,
83
+ default: false
84
+ },
85
+ hasEntriesOnFocus: { type: Boolean },
86
+ hasAutoFocus: {
87
+ type: Boolean,
88
+ default: false
89
+ },
90
+ emptyText: {},
91
+ emptySearchText: {},
92
+ required: {
93
+ type: Boolean,
94
+ default: false
95
+ },
96
+ name: {},
97
+ inputTabIndex: {}
98
+ },
99
+ emits: [
100
+ "update:modelValue",
101
+ "change",
102
+ "search",
103
+ "changeQuery",
104
+ "openChange"
105
+ ],
106
+ setup(__props, { expose: __expose, emit: __emit }) {
107
+ const props = __props;
108
+ const emit = __emit;
109
+ const attrs = useAttrs();
110
+ const messages = useAstryxMessages();
111
+ const generatedId = `astryx-typeahead-${useId()}`;
112
+ const inputId = computed(() => props.inputId ?? generatedId);
113
+ const listboxId = computed(() => `${inputId.value}-listbox`);
114
+ const disabledId = computed(() => `${inputId.value}-disabled`);
115
+ const disabledTooltipId = computed(() => `${inputId.value}-disabled-tooltip`);
116
+ const editing = ref(false);
117
+ let suppressFocusOpen = false;
118
+ const inputRef = useTemplateRef("inputRef");
119
+ const controlRef = useTemplateRef("controlRef");
120
+ const listboxRef = useTemplateRef("listboxRef");
121
+ useScrollbars(listboxRef);
122
+ const placeholder = computed(() => props.placeholder ?? messages.value.typeahead.placeholder);
123
+ const emptyText = computed(() => props.emptySearchText ?? props.emptyText ?? messages.value.typeahead.empty);
124
+ const clearLabel = computed(() => messages.value.typeahead.clear);
125
+ /** 新名 hasEntriesOnFocus 和旧名 showOnFocus 任一为真就生效。 */
126
+ const showsEntriesOnFocus = computed(() => props.hasEntriesOnFocus || props.showOnFocus);
127
+ const focusableDisabled = computed(() => Boolean(props.isFocusableDisabled) || props.disabled && Boolean(props.disabledReason?.trim()));
128
+ /** 有禁用原因时鼠标悬停或键盘聚焦都能读到它。 */
129
+ const showsDisabledMessage = computed(() => Boolean(props.disabled) && Boolean(props.disabledReason?.trim()));
130
+ const disabledTooltip = useButtonTooltip(showsDisabledMessage);
131
+ function attrString(name) {
132
+ const value = attrs[name];
133
+ return typeof value === "string" ? value : void 0;
134
+ }
135
+ /** 单选别名优先;没给就退回原生属性。 */
136
+ const externalDescribedBy = computed(() => props.ariaDescribedBy ?? attrString("aria-describedby"));
137
+ const labelledBy = computed(() => props.ariaLabelledBy ?? attrString("aria-labelledby"));
138
+ const ariaLabel = computed(() => props.label ?? attrString("aria-label"));
139
+ const describedBy = computed(() => {
140
+ return [
141
+ props.describedBy,
142
+ externalDescribedBy.value,
143
+ focusableDisabled.value ? disabledId.value : void 0
144
+ ].filter(Boolean).join(" ") || void 0;
145
+ });
146
+ /**
147
+ * 这些属性由组件自己算,不能让外面透传的值盖掉。
148
+ * 其余的原生属性和事件监听(@keydown / @focus / @blur …)原样落到输入框上。
149
+ */
150
+ const controlledAttrs = /* @__PURE__ */ new Set([
151
+ "id",
152
+ "type",
153
+ "role",
154
+ "value",
155
+ "class",
156
+ "style",
157
+ "disabled",
158
+ "readonly",
159
+ "autofocus",
160
+ "placeholder",
161
+ "tabindex",
162
+ "autocomplete",
163
+ "aria-label",
164
+ "aria-labelledby",
165
+ "aria-describedby",
166
+ "aria-expanded",
167
+ "aria-controls",
168
+ "aria-activedescendant",
169
+ "aria-autocomplete",
170
+ "aria-disabled",
171
+ "aria-required"
172
+ ]);
173
+ function inputAttrs() {
174
+ return Object.fromEntries(Object.entries(attrs).filter(([key]) => !controlledAttrs.has(key)));
175
+ }
176
+ const menu = useTypeaheadMenu({
177
+ source: () => props.searchSource,
178
+ debounceMs: () => props.debounceMs,
179
+ showOnFocus: () => showsEntriesOnFocus.value,
180
+ minQueryLength: () => props.minQueryLength,
181
+ maxItems: () => props.maxMenuItems,
182
+ disabled: () => props.disabled,
183
+ onSelect: (entry) => {
184
+ commit(entry.item);
185
+ },
186
+ onEscape: () => {
187
+ restoreSelection();
188
+ },
189
+ onQueryChange: (query) => {
190
+ emit("search", query);
191
+ emit("changeQuery", query);
192
+ }
193
+ });
194
+ /** 下拉挂靠外面给的元素;没给就挂在自己的外框上。 */
195
+ const anchor = computed(() => props.anchorRef ?? controlRef.value ?? null);
196
+ const anchored = useAnchoredListbox({
197
+ anchor,
198
+ layer: listboxRef,
199
+ isOpen: menu.combobox.isOpen,
200
+ menuWidth: () => props.menuWidth,
201
+ onDismiss: () => {
202
+ menu.close();
203
+ restoreSelection();
204
+ }
205
+ });
206
+ /** 由 `Typeahead` 包着时才画边框和选中值标签;单独使用就是裸输入。 */
207
+ const hasChrome = inject(typeaheadChromeKey, null) !== null;
208
+ const selected = computed(() => props.modelValue ?? null);
209
+ const showToken = computed(() => hasChrome && selected.value != null && !editing.value);
210
+ /** 值的 Token 盖住输入框时,把看不见的输入框从 Tab 序里拿出去。 */
211
+ const resolvedTabIndex = computed(() => props.inputTabIndex ?? (showToken.value ? -1 : void 0));
212
+ onMounted(() => {
213
+ if (props.hasAutoFocus) inputRef.value?.focus();
214
+ });
215
+ watch(() => menu.combobox.isOpen.value, (isOpen) => {
216
+ emit("openChange", isOpen);
217
+ });
218
+ watch(() => menu.combobox.activeIndex.value, (index) => {
219
+ if (index < 0 || !menu.combobox.isOpen.value) return;
220
+ nextTick(() => {
221
+ scrollOptionIntoView(listboxRef.value, menu.entries.value[index]?.id);
222
+ });
223
+ });
224
+ function commit(item) {
225
+ editing.value = false;
226
+ menu.query.value = "";
227
+ menu.close();
228
+ emit("update:modelValue", item);
229
+ emit("change", item);
230
+ suppressFocusOpen = item != null;
231
+ nextTick(() => {
232
+ inputRef.value?.focus();
233
+ suppressFocusOpen = false;
234
+ });
235
+ }
236
+ function restoreSelection() {
237
+ if (selected.value == null) return;
238
+ editing.value = false;
239
+ menu.query.value = "";
240
+ }
241
+ function startEdit() {
242
+ if (props.disabled || selected.value == null || editing.value) return;
243
+ editing.value = true;
244
+ menu.setQuery(selected.value.label);
245
+ nextTick(() => {
246
+ inputRef.value?.focus();
247
+ inputRef.value?.select();
248
+ });
249
+ }
250
+ function highlight(index) {
251
+ const entry = menu.entries.value[index];
252
+ if (entry && !entry.disabled) menu.combobox.activeIndex.value = index;
253
+ }
254
+ function onInput(event) {
255
+ if (props.disabled) return;
256
+ menu.setQuery(event.target.value);
257
+ }
258
+ function onFocus() {
259
+ disabledTooltip.onTooltipPointerEnter();
260
+ if (props.disabled || suppressFocusOpen) return;
261
+ if (showToken.value) {
262
+ startEdit();
263
+ return;
264
+ }
265
+ if (showsEntriesOnFocus.value) menu.open();
266
+ }
267
+ function onBlur(event) {
268
+ disabledTooltip.onBlur();
269
+ const next = event.relatedTarget;
270
+ if (next instanceof Node && (anchor.value?.contains(next) || listboxRef.value?.contains(next))) return;
271
+ menu.close();
272
+ restoreSelection();
273
+ }
274
+ /**
275
+ * 外面的 keydown 先跑,它 preventDefault 就不再走内部导航。
276
+ * 顺序靠模板里 `v-bind` 写在 `@keydown` 前面保证。
277
+ */
278
+ function onKeydown(event) {
279
+ if (event.defaultPrevented) return;
280
+ menu.onKeyDown(event);
281
+ }
282
+ function onControlClick(event) {
283
+ if (props.disabled) return;
284
+ const target = event.target;
285
+ if (target instanceof Element && target.closest("button, a")) return;
286
+ if (showToken.value) startEdit();
287
+ else inputRef.value?.focus();
288
+ }
289
+ function onClear(event) {
290
+ event.stopPropagation();
291
+ commit(null);
292
+ }
293
+ function onMenuSelect(id) {
294
+ const entry = menu.entries.value.find((item) => item.id === id);
295
+ if (entry && !entry.disabled) commit(entry.item);
296
+ }
297
+ function optionSelected(id) {
298
+ return selected.value?.id === id;
299
+ }
300
+ __expose({
301
+ focus: () => inputRef.value?.focus(),
302
+ blur: () => inputRef.value?.blur()
303
+ });
304
+ return (_ctx, _cache) => {
305
+ return openBlock(), createElementBlock(Fragment, null, [
306
+ 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", {
307
+ ref_key: "controlRef",
308
+ ref: controlRef,
309
+ class: normalizeClass(["astryx-typeahead-control", [`status-${props.status}`, {
310
+ "is-open": unref(menu).combobox.isOpen.value,
311
+ "is-disabled": props.disabled,
312
+ "is-bare": !hasChrome
313
+ }]]),
314
+ onClick: onControlClick,
315
+ onPointerenter: _cache[0] || (_cache[0] = (...args) => unref(disabledTooltip).onPointerEnter && unref(disabledTooltip).onPointerEnter(...args)),
316
+ onPointerleave: _cache[1] || (_cache[1] = (...args) => unref(disabledTooltip).onPointerLeave && unref(disabledTooltip).onPointerLeave(...args))
317
+ }, [
318
+ _ctx.$slots.icon ? (openBlock(), createElementBlock("span", _hoisted_1, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("v-if", true),
319
+ showToken.value && selected.value ? (openBlock(), createBlock(_sfc_main$5, {
320
+ key: 1,
321
+ class: "astryx-typeahead-value",
322
+ label: selected.value.label,
323
+ size: props.size,
324
+ disabled: props.disabled,
325
+ onClick: startEdit
326
+ }, null, 8, [
327
+ "label",
328
+ "size",
329
+ "disabled"
330
+ ])) : createCommentVNode("v-if", true),
331
+ createElementVNode("input", mergeProps(inputAttrs(), {
332
+ id: inputId.value,
333
+ ref_key: "inputRef",
334
+ ref: inputRef,
335
+ class: ["astryx-typeahead-input", { "is-hidden": showToken.value }],
336
+ type: "text",
337
+ role: "combobox",
338
+ autocomplete: "off",
339
+ autocapitalize: "off",
340
+ tabindex: resolvedTabIndex.value,
341
+ "data-autofocus": props.hasAutoFocus || void 0,
342
+ placeholder: showToken.value ? void 0 : placeholder.value,
343
+ value: showToken.value ? "" : unref(menu).query.value,
344
+ disabled: props.disabled && !focusableDisabled.value,
345
+ readonly: focusableDisabled.value || void 0,
346
+ "aria-disabled": focusableDisabled.value ? "true" : void 0,
347
+ "aria-expanded": unref(menu).combobox.isOpen.value,
348
+ "aria-controls": listboxId.value,
349
+ "aria-label": ariaLabel.value,
350
+ "aria-labelledby": labelledBy.value,
351
+ "aria-autocomplete": "list",
352
+ "aria-activedescendant": unref(menu).activeId.value ? `${listboxId.value}-option-${unref(menu).combobox.activeIndex.value}` : void 0,
353
+ "aria-describedby": describedBy.value,
354
+ "aria-required": props.required || void 0,
355
+ onInput,
356
+ onFocus,
357
+ onBlur,
358
+ onKeydown
359
+ }), null, 16, _hoisted_2),
360
+ unref(menu).status.value === "loading" ? (openBlock(), createBlock(_sfc_main$3, {
361
+ key: 2,
362
+ class: "astryx-typeahead-spinner",
363
+ size: "sm",
364
+ "aria-label": unref(messages).typeahead.loading
365
+ }, null, 8, ["aria-label"])) : createCommentVNode("v-if", true),
366
+ props.clearable && selected.value && !props.disabled ? (openBlock(), createElementBlock("button", {
367
+ key: 3,
368
+ type: "button",
369
+ class: "astryx-typeahead-clear",
370
+ "aria-label": clearLabel.value,
371
+ onClick: onClear
372
+ }, [..._cache[2] || (_cache[2] = [createElementVNode("svg", {
373
+ width: "16",
374
+ height: "16",
375
+ viewBox: "0 0 16 16",
376
+ fill: "none",
377
+ "aria-hidden": "true"
378
+ }, [createElementVNode("path", {
379
+ d: "M12 4L4 12M4 4L12 12",
380
+ stroke: "currentColor",
381
+ "stroke-width": "1.5",
382
+ "stroke-linecap": "round"
383
+ })], -1)])], 8, _hoisted_3)) : createCommentVNode("v-if", true),
384
+ focusableDisabled.value ? (openBlock(), createElementBlock("span", {
385
+ key: 4,
386
+ id: disabledId.value,
387
+ class: "astryx-visually-hidden"
388
+ }, toDisplayString(props.disabledReason), 9, _hoisted_4)) : createCommentVNode("v-if", true),
389
+ props.name ? (openBlock(), createElementBlock("input", {
390
+ key: 5,
391
+ type: "hidden",
392
+ name: props.name,
393
+ value: selected.value?.id ?? ""
394
+ }, null, 8, _hoisted_5)) : createCommentVNode("v-if", true)
395
+ ], 34)], 2),
396
+ showsDisabledMessage.value ? (openBlock(), createBlock(_sfc_main$2, {
397
+ key: 0,
398
+ id: disabledTooltipId.value,
399
+ anchor: controlRef.value,
400
+ open: unref(disabledTooltip).isOpen.value,
401
+ text: props.disabledReason ?? "",
402
+ onPointerEnter: unref(disabledTooltip).onTooltipPointerEnter,
403
+ onPointerLeave: unref(disabledTooltip).onTooltipPointerLeave
404
+ }, null, 8, [
405
+ "id",
406
+ "anchor",
407
+ "open",
408
+ "text",
409
+ "onPointerEnter",
410
+ "onPointerLeave"
411
+ ])) : createCommentVNode("v-if", true),
412
+ (openBlock(), createBlock(Teleport, { to: "body" }, [withDirectives(createElementVNode("div", {
413
+ id: listboxId.value,
414
+ ref_key: "listboxRef",
415
+ ref: listboxRef,
416
+ class: "astryx-typeahead-listbox",
417
+ role: "listbox",
418
+ "aria-label": unref(messages).typeahead.results,
419
+ "data-placement": unref(anchored).position.value.placement,
420
+ style: normalizeStyle(unref(anchored).style.value),
421
+ tabindex: "-1"
422
+ }, [createVNode(_sfc_main$6, {
423
+ entries: unref(menu).entries.value.map((entry) => ({
424
+ id: entry.id,
425
+ label: entry.label,
426
+ description: entry.description,
427
+ disabled: entry.disabled,
428
+ group: entry.group,
429
+ selected: optionSelected(entry.item.id)
430
+ })),
431
+ "active-index": unref(menu).combobox.activeIndex.value,
432
+ status: unref(menu).status.value,
433
+ "listbox-id": listboxId.value,
434
+ "empty-text": emptyText.value,
435
+ "loading-text": unref(messages).typeahead.loading,
436
+ "error-text": unref(messages).typeahead.error,
437
+ onSelect: onMenuSelect,
438
+ onHighlight: highlight
439
+ }, createSlots({ _: 2 }, [_ctx.$slots.item ? {
440
+ name: "item",
441
+ fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, "item", {
442
+ item: unref(menu).entries.value.find((entry) => entry.id === slotProps.entry.id).item,
443
+ isActive: slotProps.isActive,
444
+ isSelected: slotProps.isSelected
445
+ })]),
446
+ key: "0"
447
+ } : void 0, _ctx.$slots.empty ? {
448
+ name: "empty",
449
+ fn: withCtx(() => [renderSlot(_ctx.$slots, "empty")]),
450
+ key: "1"
451
+ } : void 0]), 1032, [
452
+ "entries",
453
+ "active-index",
454
+ "status",
455
+ "listbox-id",
456
+ "empty-text",
457
+ "loading-text",
458
+ "error-text"
459
+ ])], 12, _hoisted_6), [[vShow, unref(menu).combobox.isOpen.value]])]))
460
+ ], 64);
461
+ };
462
+ }
463
+ });
464
+ //#endregion
465
+ //#region src/Typeahead/Typeahead.vue
466
+ const _sfc_main = /*@__PURE__*/ defineComponent({
467
+ name: "AstryxTypeahead",
468
+ inheritAttrs: false,
469
+ __name: "Typeahead",
470
+ props: {
471
+ modelValue: { default: null },
472
+ searchSource: {},
473
+ label: {},
474
+ labelHidden: {
475
+ type: Boolean,
476
+ default: false
477
+ },
478
+ description: {},
479
+ labelTooltip: {},
480
+ placeholder: {},
481
+ disabled: {
482
+ type: Boolean,
483
+ default: false
484
+ },
485
+ disabledReason: {},
486
+ disabledMessage: {},
487
+ status: { default: "default" },
488
+ statusMessage: {},
489
+ size: { default: "md" },
490
+ clearable: {
491
+ type: Boolean,
492
+ default: true
493
+ },
494
+ hasClear: {
495
+ type: Boolean,
496
+ default: true
497
+ },
498
+ debounceMs: { default: 150 },
499
+ maxMenuItems: { default: 10 },
500
+ minQueryLength: { default: 1 },
501
+ showOnFocus: {
502
+ type: Boolean,
503
+ default: false
504
+ },
505
+ hasEntriesOnFocus: { type: Boolean },
506
+ hasAutoFocus: {
507
+ type: Boolean,
508
+ default: false
509
+ },
510
+ emptyText: {},
511
+ emptySearchText: {},
512
+ required: {
513
+ type: Boolean,
514
+ default: false
515
+ },
516
+ optional: {
517
+ type: Boolean,
518
+ default: false
519
+ },
520
+ name: {},
521
+ width: {}
522
+ },
523
+ emits: [
524
+ "update:modelValue",
525
+ "change",
526
+ "search",
527
+ "changeQuery",
528
+ "openChange"
529
+ ],
530
+ setup(__props, { expose: __expose, emit: __emit }) {
531
+ const props = __props;
532
+ const emit = __emit;
533
+ const attrs = useAttrs();
534
+ provide(typeaheadChromeKey, true);
535
+ const inputId = `astryx-typeahead-${useId()}`;
536
+ const base = useTemplateRef("base");
537
+ /** 新名 disabledMessage 优先,旧名 disabledReason 继续可用。 */
538
+ const disabledMessage = computed(() => {
539
+ const message = props.disabledMessage?.trim() ? props.disabledMessage : props.disabledReason;
540
+ return message?.trim() ? message : void 0;
541
+ });
542
+ /** 两个名字都是真才画清除按钮,任一个关掉就关掉。 */
543
+ const showsClear = computed(() => props.hasClear && props.clearable);
544
+ /** 两个名字任一为真就在聚焦时先展开。 */
545
+ const showsEntriesOnFocus = computed(() => props.hasEntriesOnFocus || props.showOnFocus);
546
+ const emptySearchText = computed(() => props.emptySearchText ?? props.emptyText);
547
+ const fieldStatus = computed(() => {
548
+ if (!props.statusMessage || props.status === "default") return void 0;
549
+ return {
550
+ type: props.status,
551
+ message: props.statusMessage
552
+ };
553
+ });
554
+ __expose({
555
+ focus: () => base.value?.focus(),
556
+ blur: () => base.value?.blur()
557
+ });
558
+ return (_ctx, _cache) => {
559
+ return openBlock(), createBlock(_sfc_main$4, {
560
+ class: normalizeClass(["astryx-typeahead", [`size-${props.size}`]]),
561
+ label: props.label,
562
+ "input-id": inputId,
563
+ description: props.description,
564
+ "label-tooltip": props.labelTooltip,
565
+ "is-label-hidden": props.labelHidden,
566
+ "is-disabled": props.disabled,
567
+ "is-required": props.required,
568
+ "is-optional": props.optional,
569
+ status: fieldStatus.value,
570
+ width: props.width
571
+ }, {
572
+ default: withCtx((field) => [createVNode(_sfc_main$1, mergeProps({
573
+ ref_key: "base",
574
+ ref: base
575
+ }, unref(attrs), {
576
+ "model-value": props.modelValue,
577
+ "search-source": props.searchSource,
578
+ "input-id": field.inputId,
579
+ "described-by": field.describedBy,
580
+ placeholder: props.placeholder,
581
+ disabled: props.disabled,
582
+ "disabled-reason": disabledMessage.value,
583
+ status: props.status,
584
+ size: props.size,
585
+ clearable: showsClear.value,
586
+ "debounce-ms": props.debounceMs,
587
+ "max-menu-items": props.maxMenuItems,
588
+ "min-query-length": props.minQueryLength,
589
+ "show-on-focus": showsEntriesOnFocus.value,
590
+ "has-auto-focus": props.hasAutoFocus,
591
+ "empty-search-text": emptySearchText.value,
592
+ required: props.required,
593
+ name: props.name,
594
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event)),
595
+ onChange: _cache[1] || (_cache[1] = ($event) => emit("change", $event)),
596
+ onSearch: _cache[2] || (_cache[2] = ($event) => emit("search", $event)),
597
+ onChangeQuery: _cache[3] || (_cache[3] = ($event) => emit("changeQuery", $event)),
598
+ onOpenChange: _cache[4] || (_cache[4] = ($event) => emit("openChange", $event))
599
+ }), createSlots({ _: 2 }, [
600
+ _ctx.$slots.icon ? {
601
+ name: "icon",
602
+ fn: withCtx(() => [renderSlot(_ctx.$slots, "icon")]),
603
+ key: "0"
604
+ } : void 0,
605
+ _ctx.$slots.item ? {
606
+ name: "item",
607
+ fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, "item", {
608
+ item: slotProps.item,
609
+ isActive: slotProps.isActive,
610
+ isSelected: slotProps.isSelected
611
+ })]),
612
+ key: "1"
613
+ } : void 0,
614
+ _ctx.$slots.empty ? {
615
+ name: "empty",
616
+ fn: withCtx(() => [renderSlot(_ctx.$slots, "empty")]),
617
+ key: "2"
618
+ } : void 0
619
+ ]), 1040, [
620
+ "model-value",
621
+ "search-source",
622
+ "input-id",
623
+ "described-by",
624
+ "placeholder",
625
+ "disabled",
626
+ "disabled-reason",
627
+ "status",
628
+ "size",
629
+ "clearable",
630
+ "debounce-ms",
631
+ "max-menu-items",
632
+ "min-query-length",
633
+ "show-on-focus",
634
+ "has-auto-focus",
635
+ "empty-search-text",
636
+ "required",
637
+ "name"
638
+ ])]),
639
+ _: 3
640
+ }, 8, [
641
+ "class",
642
+ "label",
643
+ "description",
644
+ "label-tooltip",
645
+ "is-label-hidden",
646
+ "is-disabled",
647
+ "is-required",
648
+ "is-optional",
649
+ "status",
650
+ "width"
651
+ ]);
652
+ };
653
+ }
654
+ });
655
+ //#endregion
656
+ export { _sfc_main$1 as n, _sfc_main as t };