@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
@@ -43,3 +43,12 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
43
43
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
44
44
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
45
45
  SOFTWARE.
46
+
47
+ ## OverlayScrollbars
48
+
49
+ `ScrollbarsProvider` uses OverlayScrollbars as a runtime dependency. It is installed from npm and is not copied into this package. `styles/scrollbars.css` imports its stylesheet into the `astryx.base` layer and defines the `os-theme-astryx` theme.
50
+
51
+ - Repository: <https://github.com/KingSora/OverlayScrollbars>
52
+ - Version: `2.16.0`
53
+ - License: MIT
54
+ - Copyright: (c) Rene Haas | KingSora
@@ -1,2 +1,2 @@
1
- import { n as _sfc_main, t as useImperativeAlertDialog } from "../AlertDialog-B6UeBCE7.js";
1
+ import { n as _sfc_main, t as useImperativeAlertDialog } from "../AlertDialog-RAVA_cT1.js";
2
2
  export { _sfc_main as AlertDialog, useImperativeAlertDialog };
@@ -1,16 +1,20 @@
1
- import { t as _sfc_main$1 } from "./Button-DrqeomlE.js";
1
+ import { t as _sfc_main$1 } from "./Button-B6Hj_O_s.js";
2
2
  import { t as useMediaQuery } from "./useMediaQuery-GMmgp28-.js";
3
- import { t as _sfc_main$2 } from "./Dialog-rfUt3y8P.js";
4
- import { t as _sfc_main$3 } from "./Heading-B9C3LZlS.js";
5
- import { t as _sfc_main$4 } from "./Stack-gGcYdOAh.js";
6
- import { t as _sfc_main$5 } from "./Text-DIzZw6FA.js";
3
+ import { t as _sfc_main$2 } from "./Dialog-FGHfDu5M.js";
4
+ import { t as _sfc_main$3 } from "./Heading-BnwWEWkp.js";
5
+ import { t as useScrollbars } from "./useScrollbars-C2NJ6Qwq.js";
6
+ import { t as _sfc_main$4 } from "./Stack-kQlYbbL4.js";
7
+ import { t as _sfc_main$5 } from "./Text-CV3LmscH.js";
7
8
  import { Fragment, computed, createBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, h, mergeProps, normalizeClass, openBlock, provide, ref, renderList, renderSlot, shallowRef, toDisplayString, unref, useId, useTemplateRef, withCtx } from "vue";
8
9
  import "../styles/alert-dialog.css";
9
10
  //#region src/AlertDialog/context.ts
10
11
  const ALERT_DIALOG_CONTEXT_KEY = Symbol("astryx-alert-dialog");
11
12
  //#endregion
12
13
  //#region src/AlertDialog/AlertDialog.vue
13
- const _hoisted_1 = { class: "astryx-alert-dialog__content" };
14
+ const _hoisted_1 = {
15
+ ref: "content",
16
+ class: "astryx-alert-dialog__content"
17
+ };
14
18
  const _hoisted_2 = { class: "astryx-alert-dialog__footer" };
15
19
  /**
16
20
  * Order is part of the contract, not just the visual: on a narrow screen the
@@ -51,6 +55,8 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
51
55
  titleId
52
56
  });
53
57
  const dialog = useTemplateRef("dialog");
58
+ const contentEl = useTemplateRef("content");
59
+ useScrollbars(contentEl);
54
60
  const element = computed(() => {
55
61
  const rendered = dialog.value?.$el;
56
62
  return rendered instanceof HTMLElement ? rendered : null;
@@ -120,7 +126,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
120
126
  }, {
121
127
  default: withCtx(() => [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(__props.description), 1)])]),
122
128
  _: 3
123
- })]), createElementVNode("div", _hoisted_2, [createVNode(_sfc_main$4, {
129
+ })], 512), createElementVNode("div", _hoisted_2, [createVNode(_sfc_main$4, {
124
130
  class: "astryx-alert-dialog__actions",
125
131
  direction: unref(isSmallScreen) ? "vertical" : "horizontal",
126
132
  gap: 2,
@@ -1,2 +1,2 @@
1
- import { a as AppShellMobileNav, c as AppShellVariant, i as AppShellHeight, n as AppShellBreakpoint, o as AppShellProps, r as AppShellEmits, s as AppShellSlots, t as _default } from "../index-CA6RbRWx.js";
1
+ import { a as AppShellMobileNav, c as AppShellVariant, i as AppShellHeight, n as AppShellBreakpoint, o as AppShellProps, r as AppShellEmits, s as AppShellSlots, t as _default } from "../index-TXcNH86P.js";
2
2
  export { _default as AppShell, type AppShellBreakpoint, type AppShellEmits, type AppShellHeight, type AppShellMobileNav, type AppShellProps, type AppShellSlots, type AppShellVariant };
@@ -1,2 +1,2 @@
1
- import { t as _sfc_main } from "../AppShell-CeBmB0Q9.js";
1
+ import { t as _sfc_main } from "../AppShell-0wTvOo3H.js";
2
2
  export { _sfc_main as AppShell };
@@ -1,7 +1,7 @@
1
1
  import { t as appShellMobileKey } from "./useAppShellMobile-DTsyuAJ4.js";
2
- import { o as useAstryxMessages } from "./context-CPh7kE-a.js";
3
- import { a as _sfc_main$2, n as _sfc_main$4, r as _sfc_main$3, t as _sfc_main$5 } from "./LayoutPanel-C34uOq3e.js";
4
- import { n as _sfc_main$7, t as _sfc_main$6 } from "./MobileNavToggle-Dh3uLivq.js";
2
+ import { o as useAstryxMessages } from "./context-iABt_ueM.js";
3
+ import { a as _sfc_main$2, n as _sfc_main$4, r as _sfc_main$3, t as _sfc_main$5 } from "./LayoutPanel-DXOsaeQb.js";
4
+ import { n as _sfc_main$7, t as _sfc_main$6 } from "./MobileNavToggle-DxGz0xKA.js";
5
5
  import { n as sideNavRenderModeKey } from "./context-BjNya0v8.js";
6
6
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, mergeModels, mergeProps, openBlock, provide, reactive, ref, renderSlot, toDisplayString, unref, useAttrs, useId, useModel, useSlots, useTemplateRef, watch, withCtx } from "vue";
7
7
  import "../styles/app-shell.css";
@@ -1,2 +1,2 @@
1
- import { a as AvatarProps, c as AvatarStatusDotProps, i as AvatarNumericSize, l as AvatarStatusDotVariant, n as _default, o as AvatarShape, r as AvatarNamedSize, s as AvatarSize, t as _default$1 } from "../index-BmmdzwT9.js";
2
- export { _default as Avatar, type AvatarNamedSize, type AvatarNumericSize, type AvatarProps, type AvatarShape, type AvatarSize, _default$1 as AvatarStatusDot, type AvatarStatusDotProps, type AvatarStatusDotVariant };
1
+ import { a as AvatarProps, c as AvatarStatusDotProps, d as AvatarStatusDotVariantName, i as AvatarNumericSize, l as AvatarStatusDotSlots, n as _default, o as AvatarShape, r as AvatarNamedSize, s as AvatarSize, t as _default$1, u as AvatarStatusDotVariant } from "../index-DNA2l1RN.js";
2
+ export { _default as Avatar, type AvatarNamedSize, type AvatarNumericSize, type AvatarProps, type AvatarShape, type AvatarSize, _default$1 as AvatarStatusDot, type AvatarStatusDotProps, type AvatarStatusDotSlots, type AvatarStatusDotVariant, type AvatarStatusDotVariantName };
@@ -1,2 +1,2 @@
1
- import { n as _sfc_main, t as _sfc_main$1 } from "../Avatar-BB4Z4LF1.js";
1
+ import { n as _sfc_main, t as _sfc_main$1 } from "../Avatar-pPZ4dI_s.js";
2
2
  export { _sfc_main as Avatar, _sfc_main$1 as AvatarStatusDot };
@@ -1,12 +1,35 @@
1
- import { t as _sfc_main$2 } from "./Tooltip-C2fh9anJ.js";
2
- import { n as AvatarGroupContext, t as resolveSize } from "./utils-C9r3UD_y.js";
3
- import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, inject, mergeProps, normalizeStyle, openBlock, ref, renderSlot, resolveDynamicComponent, toDisplayString, toRaw, unref, useAttrs, withCtx } from "vue";
1
+ import { n as useLinkComponent } from "./context-C_peZbXf.js";
2
+ import { o as useAstryxMessages } from "./context-iABt_ueM.js";
3
+ import { t as _sfc_main$2 } from "./Tooltip-C4Vaqd3G.js";
4
+ import { a as AvatarGroupContext, i as resolveStatusDotVariant, n as resolveSize, r as resolveStatusDotMetrics, t as composeAccessibleName } from "./utils-D33VQDnk.js";
5
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, inject, mergeProps, normalizeStyle, onUnmounted, openBlock, provide, ref, renderSlot, resolveDynamicComponent, toDisplayString, toRaw, unref, useAttrs, useSlots, watch, withCtx } from "vue";
4
6
  import "../styles/avatar.css";
7
+ //#region src/Avatar/context.ts
8
+ /**
9
+ * 头像换算出来的像素尺寸。子组件(例如 `AvatarStatusDot`)靠它把自身大小
10
+ * 跟着头像走,所以这里给的是响应式的值:给快照会冻住第一次读到的尺寸。
11
+ *
12
+ * 没有住在任何头像里时取默认的 36,和默认尺寸 `md` 一致。
13
+ */
14
+ const AvatarSizeContext = Symbol("AvatarSizeContext");
15
+ /**
16
+ * 状态元素往外层头像报自己读屏名字的入口。
17
+ *
18
+ * 头像根元素是 `role="img"`,子节点的语义会被剪掉,所以状态名字只能拼进头像
19
+ * 自己的无障碍名称里才到得了辅助技术(WCAG 4.1.2)。状态点在自己的 setup 里
20
+ * 往这个 ref 写 `label`,卸载时清空;头像那边用 computed 直接读,不用额外的
21
+ * 状态和事件。
22
+ *
23
+ * 一个头像只有一个 status 插槽,所以这里只留一格:多个状态点同时上报时最后
24
+ * 一个生效。
25
+ */
26
+ const AvatarStatusLabelContext = Symbol("AvatarStatusLabelContext");
27
+ //#endregion
5
28
  //#region src/Avatar/Avatar.vue
6
29
  const _hoisted_1$1 = { class: "astryx-avatar__content" };
7
- const _hoisted_2 = ["src"];
8
- const _hoisted_3 = ["src"];
9
- const _hoisted_4 = {
30
+ const _hoisted_2$1 = ["src"];
31
+ const _hoisted_3$1 = ["src"];
32
+ const _hoisted_4$1 = {
10
33
  key: 0,
11
34
  class: "astryx-avatar__status"
12
35
  };
@@ -17,7 +40,7 @@ const _hoisted_8 = {
17
40
  key: 0,
18
41
  class: "astryx-avatar__status"
19
42
  };
20
- const INITIALS_FONT_SIZE_RATIO = 16 / 36;
43
+ const INITIALS_FONT_SIZE_RATIO = .4;
21
44
  const DEFAULT_ICON_RATIO = .6;
22
45
  const _sfc_main$1 = /*@__PURE__*/ defineComponent({
23
46
  inheritAttrs: false,
@@ -42,6 +65,7 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
42
65
  setup(__props, { emit: __emit }) {
43
66
  const props = __props;
44
67
  const emit = __emit;
68
+ const linkComponent = useLinkComponent();
45
69
  const attrs = useAttrs();
46
70
  const erroredSrc = ref(void 0);
47
71
  const erroredFallbackSrc = ref(void 0);
@@ -49,6 +73,11 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
49
73
  const resolvedSize = computed(() => avatarGroup?.size.value ?? props.size);
50
74
  const resolvedShape = computed(() => avatarGroup?.shape.value ?? props.shape);
51
75
  const numericSize = computed(() => resolveSize(resolvedSize.value));
76
+ /** 状态点这类子组件靠它把自己的尺寸跟着头像走。 */
77
+ provide(AvatarSizeContext, numericSize);
78
+ /** 状态插槽里的圆点把读屏名字写在这里,下面会拼进头像自己的名字。 */
79
+ const statusLabel = ref(void 0);
80
+ provide(AvatarStatusLabelContext, statusLabel);
52
81
  const groupStyle = computed(() => {
53
82
  if (!avatarGroup) return {};
54
83
  return {
@@ -82,15 +111,20 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
82
111
  });
83
112
  const showInitials = computed(() => !showImage.value && !showFallbackImage.value && initials.value !== "");
84
113
  const showIcon = computed(() => !showImage.value && !showFallbackImage.value && initials.value === "");
114
+ const messages = useAstryxMessages();
85
115
  const accessibleName = computed(() => {
86
- return meaningfulAlt.value || meaningfulName.value;
116
+ const label = statusLabel.value;
117
+ const status = typeof label === "string" && label.trim() !== "" ? label.trim() : void 0;
118
+ return composeAccessibleName(meaningfulAlt.value || meaningfulName.value, status, messages.value.nav.avatarNameWithStatus);
87
119
  });
88
120
  const isLink = computed(() => props.href != null && props.href !== "");
89
121
  const isButton = computed(() => !isLink.value && attrs.onClick != null);
90
122
  const isInteractive = computed(() => isLink.value || isButton.value);
91
- const isCustomLink = computed(() => isLink.value && props.as != null);
123
+ /** 自己的 `as` 优先,其次是 LinkProvider 给的默认链接组件。 */
124
+ const customLink = computed(() => props.as ?? linkComponent.value);
125
+ const isCustomLink = computed(() => isLink.value && customLink.value != null);
92
126
  const rootTag = computed(() => {
93
- if (isLink.value) return props.as == null ? "a" : toRaw(props.as);
127
+ if (isLink.value) return customLink.value == null ? "a" : toRaw(customLink.value);
94
128
  return isButton.value ? "button" : "span";
95
129
  });
96
130
  const linkRel = computed(() => {
@@ -160,13 +194,13 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
160
194
  src: __props.src,
161
195
  alt: "",
162
196
  onError: handleImageError
163
- }, null, 40, _hoisted_2)) : showFallbackImage.value ? (openBlock(), createElementBlock("img", {
197
+ }, null, 40, _hoisted_2$1)) : showFallbackImage.value ? (openBlock(), createElementBlock("img", {
164
198
  key: 1,
165
199
  class: "astryx-avatar__image",
166
200
  src: __props.fallbackSrc,
167
201
  alt: "",
168
202
  onError: handleFallbackError
169
- }, null, 40, _hoisted_3)) : showInitials.value ? (openBlock(), createElementBlock("span", {
203
+ }, null, 40, _hoisted_3$1)) : showInitials.value ? (openBlock(), createElementBlock("span", {
170
204
  key: 2,
171
205
  class: "astryx-avatar__fallback astryx-avatar__fallback--initials",
172
206
  style: normalizeStyle({ fontSize: `${numericSize.value * INITIALS_FONT_SIZE_RATIO}px` })
@@ -178,7 +212,7 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
178
212
  viewBox: "0 0 24 24",
179
213
  fill: "currentColor",
180
214
  "aria-hidden": "true"
181
- }, [createElementVNode("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" })], -1))])], 4)) : createCommentVNode("v-if", true)]), _ctx.$slots.status ? (openBlock(), createElementBlock("span", _hoisted_4, [renderSlot(_ctx.$slots, "status")])) : createCommentVNode("v-if", true)]),
215
+ }, [createElementVNode("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" })], -1))])], 4)) : createCommentVNode("v-if", true)]), _ctx.$slots.status ? (openBlock(), createElementBlock("span", _hoisted_4$1, [renderSlot(_ctx.$slots, "status")])) : createCommentVNode("v-if", true)]),
182
216
  _: 3
183
217
  }, 16, ["class", "style"]))]),
184
218
  _: 3
@@ -228,21 +262,132 @@ const _hoisted_1 = [
228
262
  "aria-label",
229
263
  "aria-hidden"
230
264
  ];
265
+ const _hoisted_2 = [
266
+ "data-shape",
267
+ "viewBox",
268
+ "width",
269
+ "height"
270
+ ];
271
+ const _hoisted_3 = [
272
+ "cx",
273
+ "cy",
274
+ "r",
275
+ "stroke-width"
276
+ ];
277
+ const _hoisted_4 = [
278
+ "x1",
279
+ "y1",
280
+ "x2",
281
+ "y2",
282
+ "stroke-width"
283
+ ];
231
284
  const _sfc_main = /*@__PURE__*/ defineComponent({
285
+ name: "AstryxAvatarStatusDot",
232
286
  __name: "AvatarStatusDot",
233
287
  props: {
234
- variant: { default: "neutral" },
288
+ variant: { default: "success" },
235
289
  label: {}
236
290
  },
237
291
  setup(__props) {
292
+ const props = __props;
293
+ const slots = useSlots();
294
+ /** 头像没给尺寸时按默认的 `md`(36px)算,单独放着用也是这个尺寸。 */
295
+ const avatarSize = inject(AvatarSizeContext, null);
296
+ const statusLabel = inject(AvatarStatusLabelContext, null);
297
+ /**
298
+ * 把状态名字交给外层头像,由它拼进自己的无障碍名称(`Jane Doe, Online`)。
299
+ * 头像根元素是 `role="img"`,子节点语义会被剪掉,只有拼进名字这一条路。
300
+ */
301
+ if (statusLabel) {
302
+ watch(() => props.label, (label) => {
303
+ statusLabel.value = label;
304
+ }, { immediate: true });
305
+ onUnmounted(() => {
306
+ statusLabel.value = void 0;
307
+ });
308
+ }
309
+ const resolvedVariant = computed(() => resolveStatusDotVariant(props.variant));
310
+ const metrics = computed(() => resolveStatusDotMetrics(avatarSize?.value ?? 36));
311
+ const hasIcon = computed(() => slots.icon != null);
312
+ /** 最小一档放不下图标,此时退回自带形状,状态仍然不只靠颜色区分。 */
313
+ const showIcon = computed(() => hasIcon.value && metrics.value.iconSize > 0);
314
+ const glyphShape = computed(() => {
315
+ if (showIcon.value) return;
316
+ switch (resolvedVariant.value) {
317
+ case "neutral": return "ring";
318
+ case "error": return "minus";
319
+ default: return;
320
+ }
321
+ });
322
+ /** 减号两端往里收一点,圆头的帽才能落在净空里而不是压在边上。 */
323
+ const glyph = computed(() => {
324
+ const shape = glyphShape.value;
325
+ if (shape == null) return;
326
+ const { field, stroke } = metrics.value;
327
+ const center = field / 2;
328
+ return {
329
+ shape,
330
+ field,
331
+ stroke,
332
+ center,
333
+ radius: (field - stroke) / 2,
334
+ x1: field * .25 / 2 + stroke / 2,
335
+ x2: field * 1.75 / 2 - stroke / 2,
336
+ y: center
337
+ };
338
+ });
339
+ /**
340
+ * 尺寸走内联的 `--astryx-avatar-status-dot-computed-*`,CSS 里再用公开的
341
+ * `--astryx-avatar-status-dot-size` 盖在上面,这样主题还能改大小。
342
+ */
343
+ const rootStyle = computed(() => ({
344
+ "--astryx-avatar-status-dot-computed-size": `${metrics.value.size}px`,
345
+ "--astryx-avatar-status-dot-computed-border-width": `${metrics.value.borderWidth}px`
346
+ }));
238
347
  return (_ctx, _cache) => {
239
348
  return openBlock(), createElementBlock("span", {
240
349
  class: "astryx-avatar-status-dot",
241
- "data-variant": __props.variant,
350
+ "data-variant": resolvedVariant.value,
351
+ style: normalizeStyle(rootStyle.value),
242
352
  role: __props.label ? "img" : void 0,
243
353
  "aria-label": __props.label || void 0,
244
354
  "aria-hidden": __props.label ? void 0 : "true"
245
- }, null, 8, _hoisted_1);
355
+ }, [showIcon.value ? (openBlock(), createElementBlock("span", {
356
+ key: 0,
357
+ class: "astryx-avatar-status-dot__icon",
358
+ "aria-hidden": "true",
359
+ style: normalizeStyle({
360
+ width: `${metrics.value.iconSize}px`,
361
+ height: `${metrics.value.iconSize}px`,
362
+ fontSize: `${metrics.value.iconSize}px`
363
+ })
364
+ }, [renderSlot(_ctx.$slots, "icon")], 4)) : glyph.value ? (openBlock(), createElementBlock("svg", {
365
+ key: 1,
366
+ class: "astryx-avatar-status-dot__glyph",
367
+ "data-shape": glyph.value.shape,
368
+ "aria-hidden": "true",
369
+ viewBox: `0 0 ${glyph.value.field} ${glyph.value.field}`,
370
+ width: glyph.value.field,
371
+ height: glyph.value.field,
372
+ fill: "none"
373
+ }, [glyph.value.shape === "ring" ? (openBlock(), createElementBlock("circle", {
374
+ key: 0,
375
+ cx: glyph.value.center,
376
+ cy: glyph.value.center,
377
+ r: glyph.value.radius,
378
+ fill: "none",
379
+ stroke: "currentColor",
380
+ "stroke-width": glyph.value.stroke
381
+ }, null, 8, _hoisted_3)) : (openBlock(), createElementBlock("line", {
382
+ key: 1,
383
+ x1: glyph.value.x1,
384
+ y1: glyph.value.y,
385
+ x2: glyph.value.x2,
386
+ y2: glyph.value.y,
387
+ stroke: "currentColor",
388
+ "stroke-width": glyph.value.stroke,
389
+ "stroke-linecap": "round"
390
+ }, null, 8, _hoisted_4))], 8, _hoisted_2)) : createCommentVNode("v-if", true)], 12, _hoisted_1);
246
391
  };
247
392
  }
248
393
  });
@@ -1,2 +1,2 @@
1
- import { i as AvatarGroupProps, n as _default, r as AvatarGroupOverflowProps, t as _default$1 } from "../index-B9rqmYxh.js";
2
- export { _default as AvatarGroup, _default$1 as AvatarGroupOverflow, type AvatarGroupOverflowProps, type AvatarGroupProps };
1
+ import { a as AvatarGroupOverflowSlots, i as AvatarGroupOverflowProps, n as _default, o as AvatarGroupProps, r as AvatarGroupOverflowEmits, t as _default$1 } from "../index-DUaLJO7l.js";
2
+ export { _default as AvatarGroup, _default$1 as AvatarGroupOverflow, type AvatarGroupOverflowEmits, type AvatarGroupOverflowProps, type AvatarGroupOverflowSlots, type AvatarGroupProps };
@@ -1,2 +1,2 @@
1
- import { n as _sfc_main, t as _sfc_main$1 } from "../AvatarGroup-QyzSrpYA.js";
1
+ import { n as _sfc_main, t as _sfc_main$1 } from "../AvatarGroup-B--NQSB3.js";
2
2
  export { _sfc_main as AvatarGroup, _sfc_main$1 as AvatarGroupOverflow };
@@ -0,0 +1,98 @@
1
+ import { o as useAstryxMessages } from "./context-iABt_ueM.js";
2
+ import { a as AvatarGroupContext, n as resolveSize } from "./utils-D33VQDnk.js";
3
+ import { computed, createBlock, createElementBlock, createTextVNode, defineComponent, getCurrentInstance, inject, normalizeClass, normalizeStyle, openBlock, provide, renderSlot, resolveDynamicComponent, toDisplayString, withCtx } from "vue";
4
+ import "../styles/avatar-group.css";
5
+ //#region src/AvatarGroup/AvatarGroup.vue
6
+ const _hoisted_1 = ["aria-label"];
7
+ const OVERLAP_RATIO = .25;
8
+ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
9
+ __name: "AvatarGroup",
10
+ props: {
11
+ size: { default: "md" },
12
+ shape: { default: "circle" },
13
+ label: { default: "Avatar group" }
14
+ },
15
+ setup(__props) {
16
+ const props = __props;
17
+ const numericSize = computed(() => resolveSize(props.size));
18
+ const overlap = computed(() => Math.round(numericSize.value * OVERLAP_RATIO));
19
+ provide(AvatarGroupContext, {
20
+ size: computed(() => props.size),
21
+ shape: computed(() => props.shape),
22
+ overlap
23
+ });
24
+ return (_ctx, _cache) => {
25
+ return openBlock(), createElementBlock("div", {
26
+ class: "astryx-avatar-group",
27
+ role: "group",
28
+ "aria-label": __props.label
29
+ }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_1);
30
+ };
31
+ }
32
+ });
33
+ //#endregion
34
+ //#region src/AvatarGroup/AvatarGroupOverflow.vue
35
+ const OVERFLOW_FONT_RATIO = .35;
36
+ /**
37
+ * 短文字时是个圆,文字变长就长成胶囊:宽度只给下限(和头像一样大),
38
+ * 高度固定,靠内边距让文字不贴边。
39
+ */
40
+ const _sfc_main = /*@__PURE__*/ defineComponent({
41
+ name: "AstryxAvatarGroupOverflow",
42
+ __name: "AvatarGroupOverflow",
43
+ props: { count: {} },
44
+ emits: ["click"],
45
+ setup(__props, { emit: __emit }) {
46
+ const props = __props;
47
+ const emit = __emit;
48
+ const instance = getCurrentInstance();
49
+ const messages = useAstryxMessages();
50
+ const avatarGroup = inject(AvatarGroupContext, void 0);
51
+ const size = computed(() => avatarGroup?.size.value ?? "md");
52
+ const shape = computed(() => avatarGroup?.shape.value ?? "circle");
53
+ const numericSize = computed(() => resolveSize(size.value));
54
+ /**
55
+ * A click listener turns the indicator into a real button so it can take
56
+ * focus; without one it stays a static figure.
57
+ */
58
+ const isInteractive = computed(() => instance?.vnode.props?.onClick != null);
59
+ /**
60
+ * `count` 是「总人数 - 看到的人数」,列表比切片短时会是负数。夹到 0 以上,
61
+ * 免得画出 `+-3`。
62
+ */
63
+ const safeCount = computed(() => Math.max(0, props.count));
64
+ /** 读屏名走语言包(英文 `5 more`),跟着 `count` 变。 */
65
+ const accessibleName = computed(() => {
66
+ const t = messages.value.nav.avatarOverflow;
67
+ return t(safeCount.value);
68
+ });
69
+ /** 字号随头像长:小头像沿用正文字号,大头像按比例放大。 */
70
+ const rootStyle = computed(() => ({
71
+ "minWidth": `${numericSize.value + 4}px`,
72
+ "height": `${numericSize.value + 4}px`,
73
+ "marginInlineStart": `${-(avatarGroup?.overlap.value ?? 0)}px`,
74
+ "--astryx-avatar-group-overflow-computed-font-size": `max(var(--astryx-text-supporting-size, 0.75rem), ${Math.round(numericSize.value * OVERFLOW_FONT_RATIO * 100) / 100}px)`
75
+ }));
76
+ return (_ctx, _cache) => {
77
+ return openBlock(), createBlock(resolveDynamicComponent(isInteractive.value ? "button" : "span"), {
78
+ class: normalizeClass(["astryx-avatar-group-overflow", [`astryx-avatar-group-overflow--${shape.value}`, { "astryx-avatar-group-overflow--interactive": isInteractive.value }]]),
79
+ style: normalizeStyle(rootStyle.value),
80
+ type: isInteractive.value ? "button" : void 0,
81
+ "aria-label": accessibleName.value,
82
+ role: isInteractive.value ? void 0 : "img",
83
+ onClick: _cache[0] || (_cache[0] = ($event) => emit("click", $event))
84
+ }, {
85
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(`+${safeCount.value}`), 1)])]),
86
+ _: 3
87
+ }, 8, [
88
+ "class",
89
+ "style",
90
+ "type",
91
+ "aria-label",
92
+ "role"
93
+ ]);
94
+ };
95
+ }
96
+ });
97
+ //#endregion
98
+ export { _sfc_main$1 as n, _sfc_main as t };
@@ -1,2 +1,2 @@
1
- import { Ci as BannerContainer, Di as BannerStatus, Ei as BannerSlots, Si as _default, Ti as BannerProps, wi as BannerEmits } from "../index-B9rqmYxh.js";
1
+ import { Ga as BannerContainer, Ja as BannerSlots, Ka as BannerEmits, Wa as _default, Ya as BannerStatus, qa as BannerProps } from "../index-DUaLJO7l.js";
2
2
  export { _default as Banner, type BannerContainer, type BannerEmits, type BannerProps, type BannerSlots, type BannerStatus };
@@ -1,2 +1,2 @@
1
- import { t as _sfc_main } from "../Banner-CJe9Im5a.js";
1
+ import { t as _sfc_main } from "../Banner-GbGxrqQO.js";
2
2
  export { _sfc_main as Banner };
@@ -1,5 +1,5 @@
1
1
  import { t as _sfc_main$1 } from "./FieldIcon--NTgW5IU.js";
2
- import { t as _sfc_main$2 } from "./IconButton-BNQuz9W_.js";
2
+ import { t as _sfc_main$2 } from "./IconButton-DDNgNl7B.js";
3
3
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, openBlock, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toRaw, useId, useModel, useSlots, useTemplateRef, watch, withCtx } from "vue";
4
4
  import "../styles/banner.css";
5
5
  import "../styles/field.css";
@@ -1,2 +1,2 @@
1
- import { a as BottomSheetMotion, c as BottomSheetPurpose, d as BottomSheetState, i as BottomSheetHeight, l as BottomSheetSlots, n as _default, o as BottomSheetPadding, r as BottomSheetEmits, s as BottomSheetProps, t as _default$1, u as BottomSheetSnapPoint } from "../index-CLmKfnqf.js";
1
+ import { a as BottomSheetMotion, c as BottomSheetPurpose, d as BottomSheetState, i as BottomSheetHeight, l as BottomSheetSlots, n as _default, o as BottomSheetPadding, r as BottomSheetEmits, s as BottomSheetProps, t as _default$1, u as BottomSheetSnapPoint } from "../index-0QGtSf3r.js";
2
2
  export { _default as BottomSheet, type BottomSheetEmits, type BottomSheetHeight, type BottomSheetMotion, type BottomSheetPadding, type BottomSheetProps, type BottomSheetPurpose, type BottomSheetSlots, type BottomSheetSnapPoint, type BottomSheetState, _default$1 as BottomSheetSwitcher };
@@ -1,3 +1,3 @@
1
- import { t as _sfc_main } from "../BottomSheet-BV6vfgGu.js";
2
- import { t as _sfc_main$1 } from "../BottomSheet-o7xw-TOi.js";
1
+ import { t as _sfc_main } from "../BottomSheet-pt7m4CvC.js";
2
+ import { t as _sfc_main$1 } from "../BottomSheet-JYMB_Ofl.js";
3
3
  export { _sfc_main as BottomSheet, _sfc_main$1 as BottomSheetSwitcher };
@@ -1,7 +1,7 @@
1
- import { n as useFocusTrap } from "./useRestoreFocus-BvMdXVX9.js";
1
+ import { n as useFocusTrap } from "./useRestoreFocus-Djw9RUIf.js";
2
2
  import { t as useScrollLock } from "./scrollLock-BzIvIimL.js";
3
- import { n as bottomSheetSwitcherKey } from "./BottomSheet-BV6vfgGu.js";
4
- import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeModels, nextTick, normalizeClass, onBeforeUnmount, onMounted, openBlock, provide, ref, renderSlot, shallowRef, useModel, useTemplateRef, watch } from "vue";
3
+ import { n as bottomSheetSwitcherKey } from "./BottomSheet-pt7m4CvC.js";
4
+ import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeModels, mergeProps, nextTick, onBeforeUnmount, onMounted, openBlock, provide, ref, renderSlot, shallowRef, useModel, useTemplateRef, watch } from "vue";
5
5
  import "../styles/bottom-sheet.css";
6
6
  //#region src/BottomSheet/BottomSheetSwitcher.vue
7
7
  const _hoisted_1 = ["aria-label", "aria-modal"];
@@ -20,9 +20,10 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
20
20
  "activeSheet": { default: null },
21
21
  "activeSheetModifiers": {}
22
22
  }),
23
- emits: ["update:activeSheet"],
24
- setup(__props) {
23
+ emits: /*@__PURE__*/ mergeModels(["cancel"], ["update:activeSheet"]),
24
+ setup(__props, { emit: __emit }) {
25
25
  const props = __props;
26
+ const emit = __emit;
26
27
  const activeSheet = useModel(__props, "activeSheet");
27
28
  const retainedId = ref(null);
28
29
  const alignmentOffset = ref(0);
@@ -114,6 +115,8 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
114
115
  requestClose();
115
116
  }
116
117
  function onCancel(event) {
118
+ emit("cancel", event);
119
+ if (event.defaultPrevented) return;
117
120
  event.preventDefault();
118
121
  requestClose();
119
122
  }
@@ -133,19 +136,19 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
133
136
  isScrollLocked.value = false;
134
137
  });
135
138
  return (_ctx, _cache) => {
136
- return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" eslint-disable-next-line vue-a11y/no-static-element-interactions -- 点在对话框空白处才关闭;键盘用 Escape,不给对话框再加一个按钮。 "), createElementVNode("dialog", {
139
+ return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" eslint-disable-next-line vue-a11y/no-static-element-interactions -- 点在对话框空白处才关闭;键盘用 Escape,不给对话框再加一个按钮。 "), createElementVNode("dialog", mergeProps(_ctx.$attrs, {
137
140
  ref_key: "dialog",
138
141
  ref: dialog,
139
- class: normalizeClass(["astryx-bottom-sheet-dialog astryx-bottom-sheet-switcher", {
142
+ class: ["astryx-bottom-sheet-dialog astryx-bottom-sheet-switcher", {
140
143
  "astryx-bottom-sheet-dialog--scrim": __props.hasScrim,
141
144
  "astryx-bottom-sheet-dialog--closing": activeSheet.value == null
142
- }]),
145
+ }],
143
146
  "aria-label": dialogLabel.value,
144
147
  "aria-modal": __props.hasScrim && activeSheet.value != null ? "true" : void 0,
145
148
  onCancel,
146
149
  onClick: onDialogClick,
147
150
  onKeydown
148
- }, [renderSlot(_ctx.$slots, "default")], 42, _hoisted_1)], 2112);
151
+ }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1)], 2112);
149
152
  };
150
153
  }
151
154
  });
@@ -1,5 +1,6 @@
1
- import { n as useFocusTrap, t as useRestoreFocus } from "./useRestoreFocus-BvMdXVX9.js";
1
+ import { n as useFocusTrap, t as useRestoreFocus } from "./useRestoreFocus-Djw9RUIf.js";
2
2
  import { t as useScrollLock } from "./scrollLock-BzIvIimL.js";
3
+ import { t as useScrollbars } from "./useScrollbars-C2NJ6Qwq.js";
3
4
  import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, inject, mergeModels, mergeProps, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, onUpdated, openBlock, ref, renderSlot, toValue, unref, useAttrs, useModel, useTemplateRef, watch, withCtx } from "vue";
4
5
  import "../styles/bottom-sheet.css";
5
6
  /** Scrim opacity at the peek stop: dimmed, never clear, because the sheet stays modal. */
@@ -578,6 +579,7 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
578
579
  };
579
580
  const panel = useTemplateRef("panel");
580
581
  const body = useTemplateRef("body");
582
+ useScrollbars(body);
581
583
  const isInteractive = computed(() => props.state === "open");
582
584
  const heightKind = computed(() => {
583
585
  const height = props.height;
@@ -1,3 +1,3 @@
1
1
  import { E as DropdownMenuRadioItemProps, n as _default$2, r as _default$1, s as DropdownMenuCheckboxItemProps, t as _default$3, w as DropdownMenuRadioGroupProps } from "../DropdownMenuRadioItem.vue-CXEURBcq.js";
2
- import { a as BreadcrumbsProps, i as BreadcrumbMenuOption, n as _default, o as BreadcrumbsVariant, r as BreadcrumbItemProps, t as _default$4 } from "../index-BlOIC_AM.js";
2
+ import { a as BreadcrumbsProps, i as BreadcrumbMenuOption, n as _default, o as BreadcrumbsVariant, r as BreadcrumbItemProps, t as _default$4 } from "../index-CsNi1I8j.js";
3
3
  export { _default as BreadcrumbItem, type BreadcrumbItemProps, _default$1 as BreadcrumbMenuCheckboxItem, type DropdownMenuCheckboxItemProps as BreadcrumbMenuCheckboxItemProps, type BreadcrumbMenuOption, _default$2 as BreadcrumbMenuRadioGroup, type DropdownMenuRadioGroupProps as BreadcrumbMenuRadioGroupProps, _default$3 as BreadcrumbMenuRadioItem, type DropdownMenuRadioItemProps as BreadcrumbMenuRadioItemProps, _default$4 as Breadcrumbs, type BreadcrumbsProps, type BreadcrumbsVariant };
@@ -1,3 +1,3 @@
1
- import { i as _sfc_main$1, n as _sfc_main$3, r as _sfc_main$2 } from "../useMenuDrillIn-BgjJcY3K.js";
2
- import { n as _sfc_main, t as _sfc_main$4 } from "../Breadcrumbs-D6G7f5WL.js";
1
+ import { i as _sfc_main$1, n as _sfc_main$3, r as _sfc_main$2 } from "../useMenuDrillIn-DzKGkTho.js";
2
+ import { n as _sfc_main, t as _sfc_main$4 } from "../Breadcrumbs-DIm4figq.js";
3
3
  export { _sfc_main as BreadcrumbItem, _sfc_main$1 as BreadcrumbMenuCheckboxItem, _sfc_main$2 as BreadcrumbMenuRadioGroup, _sfc_main$3 as BreadcrumbMenuRadioItem, _sfc_main$4 as Breadcrumbs };