@astryx-vue/core 0.2.3 → 0.2.5

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 (288) hide show
  1. package/README.md +28 -26
  2. package/THIRD_PARTY_NOTICES.md +2 -0
  3. package/dist/AlertDialog/index.js +1 -1
  4. package/dist/{AlertDialog-ovx4cBjM.js → AlertDialog-B6UeBCE7.js} +2 -2
  5. package/dist/AppShell/index.js +1 -1
  6. package/dist/{AppShell-Dd-D4bA2.js → AppShell-CeBmB0Q9.js} +2 -2
  7. package/dist/Avatar/index.d.ts +1 -1
  8. package/dist/Avatar/index.js +1 -1
  9. package/dist/{Avatar-jmHInHwj.js → Avatar-BB4Z4LF1.js} +10 -4
  10. package/dist/AvatarGroup/index.d.ts +1 -1
  11. package/dist/Banner/index.d.ts +1 -1
  12. package/dist/BottomSheet/index.d.ts +2 -2
  13. package/dist/BottomSheet/index.js +3 -2
  14. package/dist/{BottomSheet-Dg95HB1s.js → BottomSheet-BV6vfgGu.js} +82 -22
  15. package/dist/BottomSheet-o7xw-TOi.js +153 -0
  16. package/dist/Breadcrumbs/index.d.ts +2 -2
  17. package/dist/Breadcrumbs/index.js +2 -2
  18. package/dist/{Breadcrumbs-CWGfgLNK.js → Breadcrumbs-D6G7f5WL.js} +1 -1
  19. package/dist/Button/index.d.ts +1 -1
  20. package/dist/ButtonGroup/index.d.ts +1 -1
  21. package/dist/Calendar/index.d.ts +1 -1
  22. package/dist/Calendar/index.js +1 -1
  23. package/dist/{Calendar-CnOsSjMY.js → Calendar-DmTeM7PO.js} +2 -2
  24. package/dist/Carousel/index.js +1 -1
  25. package/dist/{Carousel-JA7ilqI_.js → Carousel-CIKrcA2r.js} +1 -1
  26. package/dist/Chat/index.js +1 -1
  27. package/dist/{Chat-C7WrCOE4.js → Chat-BFox3u9D.js} +1 -1
  28. package/dist/CheckboxInput/index.d.ts +1 -1
  29. package/dist/CheckboxList/index.d.ts +1 -1
  30. package/dist/CheckboxList/index.js +1 -1
  31. package/dist/{CheckboxList-CnCGnkZk.js → CheckboxList-BlPf7vPe.js} +4 -4
  32. package/dist/Citation/index.js +1 -1
  33. package/dist/{Citation-CtwrU33I.js → Citation-BG-vg9ia.js} +1 -1
  34. package/dist/ClickableCard/index.d.ts +1 -1
  35. package/dist/Code/index.d.ts +3 -3
  36. package/dist/Code/index.js +4 -4
  37. package/dist/{Code-BvefYRpx.js → Code-XnPuGxey.js} +1 -1
  38. package/dist/{CodeBlock-BZGzYeoL.js → CodeBlock-B2pnEOJY.js} +145 -15
  39. package/dist/CommandPalette/index.js +1 -1
  40. package/dist/{CommandPalette-BNbM9T9y.js → CommandPalette-DKgHzmJk.js} +10 -10
  41. package/dist/ComplexSelector/index.js +1 -1
  42. package/dist/{ComplexSelector-LtbLlrcj.js → ComplexSelector-Dv44FFhN.js} +1 -1
  43. package/dist/ContextMenu/index.d.ts +2 -2
  44. package/dist/ContextMenu/index.js +2 -2
  45. package/dist/{ContextMenu-DVQl0xL5.js → ContextMenu-BeJO5HYx.js} +4 -369
  46. package/dist/DateInput/index.d.ts +1 -1
  47. package/dist/DateInput/index.js +1 -1
  48. package/dist/{DateInput-zm8sNc0t.js → DateInput-D4XFAEMp.js} +3 -3
  49. package/dist/DateRangeInput/index.d.ts +1 -1
  50. package/dist/DateRangeInput/index.js +1 -1
  51. package/dist/{DateRangeInput-DlVFzrf7.js → DateRangeInput-Cp6AZfew.js} +2 -2
  52. package/dist/DateTimeInput/index.d.ts +1 -1
  53. package/dist/DateTimeInput/index.js +1 -1
  54. package/dist/{DateTimeInput-C7Z-p6Yd.js → DateTimeInput-B6MPPp76.js} +3 -3
  55. package/dist/DropdownMenu/index.d.ts +2 -2
  56. package/dist/DropdownMenu/index.js +3 -3
  57. package/dist/{DropdownMenu-BoZChdev.js → DropdownMenu--lnUeJEG.js} +3 -3
  58. package/dist/{DropdownMenu-u1psFjis.js → DropdownMenu-6E9jFdFe.js} +4 -4
  59. package/dist/{DropdownMenuRadioItem.vue-uVM0FD2f.d.ts → DropdownMenuRadioItem.vue-CXEURBcq.d.ts} +1 -1
  60. package/dist/EmptyState/index.js +1 -1
  61. package/dist/{EmptyState-CUJdTYKV.js → EmptyState-0RWymQUS.js} +2 -2
  62. package/dist/FileInput/index.d.ts +1 -1
  63. package/dist/FileInput/index.js +1 -1
  64. package/dist/{FileInput-QdlZn7qK.js → FileInput-DuNwdbAo.js} +1 -1
  65. package/dist/Grid/index.d.ts +1 -1
  66. package/dist/Heading/index.d.ts +2 -2
  67. package/dist/Heading/index.js +1 -1
  68. package/dist/Heading-B9C3LZlS.js +94 -0
  69. package/dist/Indicator/index.d.ts +2 -2
  70. package/dist/InputGroup/index.d.ts +1 -1
  71. package/dist/Item-DrYJL1TG.js +590 -0
  72. package/dist/Lightbox/index.js +1 -1
  73. package/dist/{Lightbox-BSzfqZ-u.js → Lightbox-Br3o0SyQ.js} +1 -1
  74. package/dist/Link/index.d.ts +3 -2
  75. package/dist/Link/index.js +1 -1
  76. package/dist/Link-DCZ6922-.js +196 -0
  77. package/dist/List/index.d.ts +3 -3
  78. package/dist/List/index.js +2 -2
  79. package/dist/{ListItem-pGxvn6QJ.js → ListItem-CcRHWuEm.js} +8 -2
  80. package/dist/Markdown/index.d.ts +2 -2
  81. package/dist/Markdown/index.js +2 -2
  82. package/dist/{Markdown-B6tSqenv.js → Markdown-Bz0R3kNj.js} +274 -30
  83. package/dist/MetadataList/index.js +1 -1
  84. package/dist/{MetadataList-aN1tRn6W.js → MetadataList-CFaocx6j.js} +1 -1
  85. package/dist/MobileNav/index.js +1 -1
  86. package/dist/{MobileNavToggle-fqcSafkc.js → MobileNavToggle-Dh3uLivq.js} +1 -1
  87. package/dist/MoreMenu/index.d.ts +1 -1
  88. package/dist/MoreMenu/index.js +1 -1
  89. package/dist/{MoreMenu-B3brqdK_.js → MoreMenu-B95nRSe8.js} +2 -2
  90. package/dist/MultiSelector/index.d.ts +1 -1
  91. package/dist/MultiSelector/index.js +1 -1
  92. package/dist/{MultiSelector-BD5PMgez.js → MultiSelector-DuF5TECE.js} +4 -4
  93. package/dist/{NavDisclosure-DbYLDXK0.js → NavDisclosure-C6sPZ89n.js} +4 -1
  94. package/dist/NavHeadingSurface-Cb3x9iDx.js +287 -0
  95. package/dist/NavItem/index.d.ts +1 -1
  96. package/dist/NavMenu/index.d.ts +2 -2
  97. package/dist/NavMenu/index.js +4 -3
  98. package/dist/NavMenu-ClIgMaxE.js +176 -0
  99. package/dist/{NavMenuItem-DrwIMHKO.js → NavMenuItem-E7S8gBh-.js} +1 -1
  100. package/dist/NumberInput/index.d.ts +1 -1
  101. package/dist/NumberInput/index.js +1 -1
  102. package/dist/{NumberInput-CBeU4lEl.js → NumberInput-B4IL3s_8.js} +1 -1
  103. package/dist/Outline/index.js +1 -1
  104. package/dist/{Outline--HVMSB6i.js → Outline-DBUuchi9.js} +1 -1
  105. package/dist/OverflowList/index.d.ts +1 -1
  106. package/dist/OverflowList/index.js +1 -1
  107. package/dist/{OverflowList-FMh7r-r_.js → OverflowList-aDd_oem0.js} +3 -3
  108. package/dist/Pagination/index.d.ts +1 -1
  109. package/dist/Pagination/index.js +1 -1
  110. package/dist/{Pagination-DlIvESjx.js → Pagination-CNe9F6Fl.js} +181 -45
  111. package/dist/Popover/index.d.ts +1 -1
  112. package/dist/PowerSearch/index.d.ts +1 -1
  113. package/dist/PowerSearch/index.js +1 -1
  114. package/dist/{PowerSearch-CMG7Rb69.js → PowerSearch-C6U8Sq1Y.js} +13 -13
  115. package/dist/ProgressBar/index.d.ts +2 -2
  116. package/dist/ProgressBar/index.js +1 -1
  117. package/dist/{ProgressBar-DO9Chic6.js → ProgressBar-DF6WZNCI.js} +45 -6
  118. package/dist/Radio/index.d.ts +1 -1
  119. package/dist/RadioList/index.d.ts +1 -1
  120. package/dist/Resizable/index.d.ts +1 -1
  121. package/dist/Resizable/index.js +1 -1
  122. package/dist/{Resizable-CXpvj1TZ.js → ResizeHandle-DYy0e3v9.js} +1 -1
  123. package/dist/ScrollableArea/index.d.ts +1 -1
  124. package/dist/SelectableCard/index.d.ts +1 -1
  125. package/dist/Selector/index.d.ts +1 -1
  126. package/dist/Selector/index.js +1 -1
  127. package/dist/{Selector-BpPnuWH3.js → Selector-5N-hq2nF.js} +3 -3
  128. package/dist/SideNav/index.d.ts +2 -2
  129. package/dist/SideNav/index.js +1 -1
  130. package/dist/{SideNav-D4TupqgE.js → SideNav-CT9lfspi.js} +225 -229
  131. package/dist/Stack/index.d.ts +1 -1
  132. package/dist/Stepper/index.js +1 -1
  133. package/dist/{Stepper-H-6-T5Ps.js → Stepper-BqhVCgC-.js} +1 -1
  134. package/dist/Switch/index.d.ts +1 -1
  135. package/dist/Table/index.js +1 -1
  136. package/dist/{Table-nqA_njNz.js → Table-CsdH8fCB.js} +4 -4
  137. package/dist/Text/index.d.ts +3 -3
  138. package/dist/Text/index.js +1 -1
  139. package/dist/Text-DIzZw6FA.js +86 -0
  140. package/dist/TextArea/index.d.ts +1 -1
  141. package/dist/TextInput/index.d.ts +1 -1
  142. package/dist/Theme/index.d.ts +3 -3
  143. package/dist/Theme/index.js +2 -2
  144. package/dist/Theme-CtaUWo4g.js +1246 -0
  145. package/dist/Thumbnail/index.js +1 -1
  146. package/dist/{Thumbnail-CXb3m_Hv.js → Thumbnail-BnQwX1cQ.js} +2 -2
  147. package/dist/{TimeField-B3cndWb0.js → TimeField-Biiuv0hB.js} +1 -1
  148. package/dist/TimeInput/index.d.ts +1 -1
  149. package/dist/TimeInput/index.js +1 -1
  150. package/dist/{TimeInput-BHQ_LKGm.js → TimeInput-C9gptCOK.js} +1 -1
  151. package/dist/Timer/index.d.ts +1 -1
  152. package/dist/Timer/index.js +1 -1
  153. package/dist/{Timer-B7GV6hqd.js → Timer-kxzQx3tp.js} +1 -1
  154. package/dist/Timestamp/index.d.ts +1 -1
  155. package/dist/Timestamp/index.js +1 -1
  156. package/dist/{Timestamp-Cfuxbb3i.js → Timestamp-D7bd_nF3.js} +2 -2
  157. package/dist/ToggleButton/index.d.ts +1 -1
  158. package/dist/Token/index.d.ts +1 -1
  159. package/dist/Token/index.js +1 -1
  160. package/dist/{Token-CdVLH0_H.js → Token-D2GsI_Ei.js} +1 -1
  161. package/dist/Tokenizer/index.js +1 -1
  162. package/dist/{Tokenizer-DlD-S_8-.js → Tokenizer-rwzamZg4.js} +3 -3
  163. package/dist/Toolbar/index.d.ts +1 -1
  164. package/dist/Tooltip/index.d.ts +1 -1
  165. package/dist/Tooltip/index.js +1 -1
  166. package/dist/{Tooltip-mp0NMh_Y.js → Tooltip-C2fh9anJ.js} +23 -8
  167. package/dist/TopNav/index.d.ts +1 -1
  168. package/dist/TopNav/index.js +1 -1
  169. package/dist/{TopNav-DzV874G7.js → TopNav-arWFLTBM.js} +112 -42
  170. package/dist/TreeList/index.js +1 -1
  171. package/dist/{TreeList-DEwvlZRV.js → TreeList-C9xvMpJZ.js} +1 -1
  172. package/dist/Typeahead/index.d.ts +2 -2
  173. package/dist/Typeahead/index.js +3 -2
  174. package/dist/Typeahead-_V11btpv.js +499 -0
  175. package/dist/{TypeaheadMenu-CGvo0Tud.js → TypeaheadMenu-BEObzonz.js} +46 -10
  176. package/dist/composables/index.d.ts +2 -2
  177. package/dist/composables/index.js +4 -4
  178. package/dist/composables-CWw6t-RJ.js +520 -0
  179. package/dist/{context-DmOLCubj.js → context-CPh7kE-a.js} +58 -10
  180. package/dist/{index-BRfR0lhb.d.ts → index-12QYAbiz.d.ts} +1 -1
  181. package/dist/{index-D1Twv_fL.d.ts → index-4TRnFGxv.d.ts} +6 -6
  182. package/dist/{index-BTAgQRP0.d.ts → index-B9rqmYxh.d.ts} +150 -62
  183. package/dist/index-BBtJt5_A.d.ts +26 -0
  184. package/dist/{index-Ch6BbxCP.d.ts → index-BH9PzQ1F.d.ts} +13 -8
  185. package/dist/{index-C2sfHfBw.d.ts → index-BK9T1TPZ.d.ts} +4 -4
  186. package/dist/{index-D_UEJIU5.d.ts → index-BPwD6aBv.d.ts} +1 -1
  187. package/dist/{index-B1x05arQ.d.ts → index-BlOIC_AM.d.ts} +1 -1
  188. package/dist/{index-C5p2NeCr.d.ts → index-Blm197N_.d.ts} +11 -2
  189. package/dist/{index-Bu3oXIIS.d.ts → index-BmmdzwT9.d.ts} +6 -0
  190. package/dist/{index-MPcg1Pm4.d.ts → index-BpH4wvsg.d.ts} +2 -2
  191. package/dist/{index-BMn9ghAX.d.ts → index-C1HIqW_H.d.ts} +2 -2
  192. package/dist/{index-LIyvJTW3.d.ts → index-C3GaPqvJ.d.ts} +84 -8
  193. package/dist/{index-DkVEBdWa.d.ts → index-CB9Srua5.d.ts} +1 -1
  194. package/dist/{index-C8wDPDcP.d.ts → index-CLmKfnqf.d.ts} +49 -7
  195. package/dist/{index-DMQG6kdM.d.ts → index-CPwzSbQQ.d.ts} +2 -2
  196. package/dist/{index-DAiGhkNZ.d.ts → index-D4I_obqR.d.ts} +1 -1
  197. package/dist/{index-foQMNKZO.d.ts → index-D5N9ikrS.d.ts} +48 -2
  198. package/dist/{index-D8o50qOE.d.ts → index-DFbvnBlf.d.ts} +31 -2
  199. package/dist/{index-Cm_TiLXU.d.ts → index-Dgg0bHVM.d.ts} +7 -3
  200. package/dist/{index-ViSV0RBx.d.ts → index-DjMwF8ET.d.ts} +11 -1
  201. package/dist/{index-nCEmW6wa.d.ts → index-DtePJ_w_.d.ts} +1 -1
  202. package/dist/index-DxR1FChm.d.ts +158 -0
  203. package/dist/{index-f4NGT-e2.d.ts → index-EFqQF2Bx.d.ts} +1 -1
  204. package/dist/{index-BB5yVIN-.d.ts → index-JL4auphT.d.ts} +2 -2
  205. package/dist/{index-B9f1rUEv.d.ts → index-XuAAcYiP.d.ts} +1 -1
  206. package/dist/{index-D0TlUOtG.d.ts → index-YmSe1ujk.d.ts} +76 -3
  207. package/dist/{index-BMrggCw-.d.ts → index-bvr3WHvs.d.ts} +1 -1
  208. package/dist/{index-CDDMDHJM.d.ts → index-c67ca7eJ.d.ts} +1 -1
  209. package/dist/{index-CGZ2xi3r.d.ts → index-eshFLli0.d.ts} +40 -3
  210. package/dist/{index-DxsKyAxq.d.ts → index-vizlhXVs.d.ts} +131 -2
  211. package/dist/{index-DfgHJE7H.d.ts → index-z3uLM1O6.d.ts} +153 -24
  212. package/dist/index.d.ts +80 -79
  213. package/dist/index.js +118 -115
  214. package/dist/locale/index.d.ts +2 -2
  215. package/dist/locale/index.js +3 -3
  216. package/dist/locale-sLw5Caia.js +917 -0
  217. package/dist/{searchResultMessage-DN0HeRRB.js → searchResultMessage-CCnq-_ce.js} +1 -1
  218. package/dist/syntaxTheme-CwVEcVDk.d.ts +57 -0
  219. package/dist/{syntaxTheme-ClpWALZX.js → syntaxTheme-R7xnu5x5.js} +24 -3
  220. package/dist/{types-Bt-lSgYX.d.ts → types-D9nP_X-c.d.ts} +14 -1
  221. package/dist/{types-CAZY4Xua.d.ts → types-DGYHIu4I.d.ts} +30 -1
  222. package/dist/types-D_J66aPN.d.ts +85 -0
  223. package/dist/types-gKsEkk2g.d.ts +320 -0
  224. package/dist/{useMenuDrillIn-OaEwjK44.js → useMenuDrillIn-BgjJcY3K.js} +1 -1
  225. package/dist/useMenuPress-DUmEy4TB.js +425 -0
  226. package/dist/{composables-DDI08XFF.js → useResizable-B3ahKLoZ.js} +73 -248
  227. package/dist/useTruncation-B5qXQzAP.js +53 -0
  228. package/locales/SOURCE.json +37 -0
  229. package/locales/af-ZA.json +1482 -0
  230. package/locales/ar-SA.json +1482 -0
  231. package/locales/ca-ES.json +1482 -0
  232. package/locales/cs-CZ.json +1482 -0
  233. package/locales/da-DK.json +1482 -0
  234. package/locales/de-DE.json +1482 -0
  235. package/locales/el-GR.json +1482 -0
  236. package/locales/en.json +1646 -0
  237. package/locales/es-ES.json +1482 -0
  238. package/locales/fi-FI.json +1482 -0
  239. package/locales/fr-FR.json +1482 -0
  240. package/locales/he-IL.json +1482 -0
  241. package/locales/hu-HU.json +1482 -0
  242. package/locales/it-IT.json +1482 -0
  243. package/locales/ja-JP.json +1482 -0
  244. package/locales/ko-KR.json +1482 -0
  245. package/locales/nl-NL.json +1482 -0
  246. package/locales/no-NO.json +1482 -0
  247. package/locales/pl-PL.json +1482 -0
  248. package/locales/pt-BR.json +1482 -0
  249. package/locales/pt-PT.json +1482 -0
  250. package/locales/ro-RO.json +1482 -0
  251. package/locales/ru-RU.json +1482 -0
  252. package/locales/sr-SP.json +1482 -0
  253. package/locales/sv-SE.json +1482 -0
  254. package/locales/tr-TR.json +1482 -0
  255. package/locales/uk-UA.json +1482 -0
  256. package/locales/vi-VN.json +1482 -0
  257. package/locales/zh-CN.json +1482 -0
  258. package/locales/zh-TW.json +1482 -0
  259. package/package.json +4 -2
  260. package/styles/bottom-sheet.css +27 -0
  261. package/styles/code.css +62 -0
  262. package/styles/container-reveal.css +104 -0
  263. package/styles/heading.css +47 -0
  264. package/styles/keyboard-hint.css +28 -0
  265. package/styles/link.css +34 -0
  266. package/styles/list.css +88 -1
  267. package/styles/markdown.css +12 -0
  268. package/styles/pagination.css +30 -0
  269. package/styles/progress-bar.css +49 -0
  270. package/styles/side-nav.css +36 -1
  271. package/styles/text.css +18 -0
  272. package/styles/top-nav.css +145 -6
  273. package/styles/typeahead.css +24 -0
  274. package/styles.css +2 -0
  275. package/dist/Heading-Dugosn6j.js +0 -43
  276. package/dist/Item-C1z6gXn8.js +0 -289
  277. package/dist/Link-DqdQZ37C.js +0 -141
  278. package/dist/Text-BHVghsWo.js +0 -53
  279. package/dist/Theme-CejS9MHm.js +0 -447
  280. package/dist/Typeahead-DQ3tmqYe.js +0 -375
  281. package/dist/index-Bqb_Fyju.d.ts +0 -80
  282. package/dist/index-Dg3ZmwEg.d.ts +0 -75
  283. package/dist/locale-CCwVnyMZ.js +0 -42
  284. package/dist/syntaxTheme-Bcs1YMF7.d.ts +0 -38
  285. package/dist/types-jmqqnkKA.d.ts +0 -163
  286. package/dist/useHotkeys-dABSK1o9.js +0 -80
  287. package/dist/useLongPress-Cyxwa73s.js +0 -60
  288. package/dist/{index-BXkNZF3q.d.ts → index-CpiWVbRZ.d.ts} +1 -1
@@ -0,0 +1,158 @@
1
+ import { a as SearchableItem, i as SearchSource } from "./useAsyncSource-xpQovjV_.js";
2
+ //#region src/Typeahead/types.d.ts
3
+ type TypeaheadSize = 'sm' | 'md' | 'lg';
4
+ type TypeaheadStatus = 'default' | 'success' | 'warning' | 'error';
5
+ interface BaseTypeaheadProps<T extends SearchableItem = SearchableItem> {
6
+ /** 当前选中的条目。空表示还没选。 */
7
+ modelValue?: T | null;
8
+ /** 静态或异步搜索源。 */
9
+ searchSource: SearchSource<T>;
10
+ /**
11
+ * 输入框的无障碍名。外面已经有 `<label for>` 时不用传,避免读两遍。
12
+ */
13
+ label?: string;
14
+ /** 外面指定的输入框 id,好让标签的 `for` 对上。 */
15
+ inputId?: string;
16
+ /** 外面已经算好的说明和状态 id。 */
17
+ describedBy?: string;
18
+ placeholder?: string;
19
+ disabled?: boolean;
20
+ /** 禁用原因。有值时控件仍可聚焦,方便读到原因。 */
21
+ disabledReason?: string;
22
+ /** 输入框边框的校验色。说明文字由外面的字段负责。 */
23
+ status?: TypeaheadStatus;
24
+ size?: TypeaheadSize;
25
+ /** 显示清除按钮。 */
26
+ clearable?: boolean;
27
+ /** 输入停顿后再搜索,单位毫秒。本地数据可设为 0。 */
28
+ debounceMs?: number;
29
+ /** 下拉最多显示多少条。 */
30
+ maxMenuItems?: number;
31
+ /** 聚焦时还没输入就展示结果。 */
32
+ showOnFocus?: boolean;
33
+ emptyText?: string;
34
+ required?: boolean;
35
+ /** 表单字段名。选中后提交条目的 id。 */
36
+ name?: string;
37
+ }
38
+ interface TypeaheadProps<T extends SearchableItem = SearchableItem> {
39
+ /** 当前选中的条目。空表示还没选。 */
40
+ modelValue?: T | null;
41
+ /** 静态或异步搜索源。 */
42
+ searchSource: SearchSource<T>;
43
+ /** 字段标签。屏幕阅读器始终读得到。 */
44
+ label: string;
45
+ /** 视觉上隐藏标签。 */
46
+ labelHidden?: boolean;
47
+ /** 标签下方的说明。 */
48
+ description?: string;
49
+ placeholder?: string;
50
+ disabled?: boolean;
51
+ /** 禁用原因。有值时控件仍可聚焦,方便读到原因。 */
52
+ disabledReason?: string;
53
+ status?: TypeaheadStatus;
54
+ statusMessage?: string;
55
+ size?: TypeaheadSize;
56
+ /** 显示清除按钮。 */
57
+ clearable?: boolean;
58
+ /** 输入停顿后再搜索,单位毫秒。本地数据可设为 0。 */
59
+ debounceMs?: number;
60
+ /** 下拉最多显示多少条。 */
61
+ maxMenuItems?: number;
62
+ /** 聚焦时还没输入就展示结果。 */
63
+ showOnFocus?: boolean;
64
+ emptyText?: string;
65
+ required?: boolean;
66
+ optional?: boolean;
67
+ /** 表单字段名。选中后提交条目的 id。 */
68
+ name?: string;
69
+ width?: number | string;
70
+ }
71
+ interface TypeaheadEmits<T extends SearchableItem = SearchableItem> {
72
+ 'update:modelValue': [value: T | null];
73
+ 'change': [value: T | null];
74
+ 'search': [query: string];
75
+ 'openChange': [isOpen: boolean];
76
+ }
77
+ interface TypeaheadItemProps {
78
+ /** 这一行对应的搜索结果。 */
79
+ item: SearchableItem;
80
+ /** 盖过条目自己的说明。 */
81
+ description?: string;
82
+ /** 这一行看起来不可选。 */
83
+ isDisabled?: boolean;
84
+ }
85
+ interface TypeaheadSlots<T extends SearchableItem = SearchableItem> {
86
+ /** 输入框开头的图标。 */
87
+ icon?: () => unknown;
88
+ /** 自定义下拉条目。 */
89
+ item?: (props: {
90
+ item: T;
91
+ isActive: boolean;
92
+ isSelected: boolean;
93
+ }) => unknown;
94
+ /** 自定义空状态。 */
95
+ empty?: () => unknown;
96
+ }
97
+ //#endregion
98
+ //#region src/Typeahead/BaseTypeahead.vue.d.ts
99
+ declare const __VLS_export$2: <T extends SearchableItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal$1<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
100
+ props: import("vue").PublicProps & __VLS_PrettifyLocal$1<BaseTypeaheadProps<T> & {
101
+ onChange?: ((value: T | null) => any) | undefined;
102
+ onSearch?: ((query: string) => any) | undefined;
103
+ "onUpdate:modelValue"?: ((value: T | null) => any) | undefined;
104
+ onOpenChange?: ((isOpen: boolean) => any) | undefined;
105
+ }> & (typeof globalThis extends {
106
+ __VLS_PROPS_FALLBACK: infer P;
107
+ } ? P : {});
108
+ expose: (exposed: import("vue").ShallowUnwrapRef<{
109
+ focus: () => void | undefined;
110
+ blur: () => void | undefined;
111
+ }>) => void;
112
+ attrs: any;
113
+ slots: TypeaheadSlots<T>;
114
+ emit: ((evt: "change", value: T | null) => void) & ((evt: "search", query: string) => void) & ((evt: "update:modelValue", value: T | null) => void) & ((evt: "openChange", isOpen: boolean) => void);
115
+ }>) => import("vue").VNode & {
116
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
117
+ };
118
+ declare const _default$2: typeof __VLS_export$2;
119
+ type __VLS_PrettifyLocal$1<T> = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};
120
+ //#endregion
121
+ //#region src/Typeahead/Typeahead.vue.d.ts
122
+ declare const __VLS_export$1: <T extends SearchableItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
123
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<TypeaheadProps<T> & {
124
+ onChange?: ((value: T | null) => any) | undefined;
125
+ onSearch?: ((query: string) => any) | undefined;
126
+ "onUpdate:modelValue"?: ((value: T | null) => any) | undefined;
127
+ onOpenChange?: ((isOpen: boolean) => any) | undefined;
128
+ }> & (typeof globalThis extends {
129
+ __VLS_PROPS_FALLBACK: infer P;
130
+ } ? P : {});
131
+ expose: (exposed: import("vue").ShallowUnwrapRef<{
132
+ focus: () => void | undefined;
133
+ blur: () => void | undefined;
134
+ }>) => void;
135
+ attrs: any;
136
+ slots: TypeaheadSlots<T>;
137
+ emit: ((evt: "change", value: T | null) => void) & ((evt: "search", query: string) => void) & ((evt: "update:modelValue", value: T | null) => void) & ((evt: "openChange", isOpen: boolean) => void);
138
+ }>) => import("vue").VNode & {
139
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
140
+ };
141
+ declare const _default$1: typeof __VLS_export$1;
142
+ type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};
143
+ //#endregion
144
+ //#region src/Typeahead/TypeaheadItem.vue.d.ts
145
+ declare var __VLS_1: {};
146
+ type __VLS_Slots = {} & {
147
+ icon?: (props: typeof __VLS_1) => any;
148
+ };
149
+ declare const __VLS_base: import("vue").DefineComponent<TypeaheadItemProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<TypeaheadItemProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
150
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
151
+ declare const _default: typeof __VLS_export;
152
+ type __VLS_WithSlots<T, S> = T & {
153
+ new (): {
154
+ $slots: S;
155
+ };
156
+ };
157
+ //#endregion
158
+ export { TypeaheadEmits as a, TypeaheadSize as c, BaseTypeaheadProps as i, TypeaheadSlots as l, _default$1 as n, TypeaheadItemProps as o, _default$2 as r, TypeaheadProps as s, _default as t, TypeaheadStatus as u };
@@ -12,9 +12,9 @@ declare const __VLS_base: import("vue").DefineComponent<ButtonProps, {
12
12
  variant: ButtonVariant;
13
13
  elevation: ButtonElevation;
14
14
  type: "button" | "reset" | "submit";
15
+ isLoading: boolean;
15
16
  isIconOnly: boolean;
16
17
  isInterruptible: boolean;
17
- isLoading: boolean;
18
18
  loadingLabel: string;
19
19
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
20
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,4 +1,4 @@
1
- import { a as ItemLayout, d as ListEdgeCompensation, f as ListItemProps, g as ListSlots, h as ListProps, m as ListMarkerStyle, o as ItemProps, p as ListItemSlots, r as ItemElement, s as ItemSlots, t as ItemAlign, u as ListDensity } from "./types-CAZY4Xua.js";
1
+ import { _ as ListItemSlots, a as ItemLayout, b as ListSlots, g as ListItemProps, h as ListEdgeCompensation, m as ListDensity, o as ItemProps, r as ItemElement, s as ItemSlots, t as ItemAlign, v as ListMarkerStyle, y as ListProps } from "./types-DGYHIu4I.js";
2
2
  import { ComputedRef, InjectionKey } from "vue";
3
3
  //#region src/List/context.d.ts
4
4
  /**
@@ -34,8 +34,8 @@ declare const __VLS_base$2: import("vue").DefineComponent<ItemProps, {
34
34
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ItemProps> & Readonly<{}>, {
35
35
  isSelected: boolean;
36
36
  isDisabled: boolean;
37
- density: ListDensity;
38
37
  as: ItemElement;
38
+ density: ListDensity;
39
39
  align: ItemAlign;
40
40
  layout: ItemLayout;
41
41
  isHighlighted: boolean;
@@ -1,4 +1,4 @@
1
- import { _ as IndicatorProps, d as IndicatorComponent, h as IndicatorName, i as ThemeDefinition, u as CoreIndicatorName, y as IndicatorSize } from "./types-jmqqnkKA.js";
1
+ import { C as IndicatorComponent, D as IndicatorName, S as CoreIndicatorName, j as IndicatorSize, k as IndicatorProps, o as ThemeDefinition } from "./types-gKsEkk2g.js";
2
2
  import { ComputedRef, VNodeChild } from "vue";
3
3
  //#region src/Indicator/CheckIndicator.vue.d.ts
4
4
  type __VLS_Props$1 = IndicatorProps<'singleSelection'>;
@@ -69,15 +69,50 @@ interface NavDisclosureSlots {
69
69
  focusRequest: NavMenuFocusRequest;
70
70
  }) => unknown;
71
71
  }
72
+ interface NavHeadingMenuProps {
73
+ /** 菜单的无障碍名称。标题没传时可以自己写。 */
74
+ label?: string;
75
+ /** 菜单宽度档,也会传给每一项的内边距。 @default 'md' */
76
+ size?: NavMenuSize;
77
+ /** 覆盖按档位算出的最小宽度。数字按像素。 */
78
+ minWidth?: number | string;
79
+ /** 键盘打开后聚焦第一项或最后一项。 */
80
+ focusRequest?: NavMenuFocusRequest;
81
+ }
82
+ interface NavHeadingMenuEmits {
83
+ close: [];
84
+ }
85
+ interface NavHeadingMenuItemProps {
86
+ /** 主文字。自定义内容用默认插槽,插槽优先。 */
87
+ label?: string;
88
+ /** 主文字下面的辅助说明。 */
89
+ description?: string;
90
+ /** 有地址时渲染成链接。 */
91
+ href?: string;
92
+ /** 链接根组件。 */
93
+ as?: NavLinkComponent;
94
+ /** 图标 CSS class。 */
95
+ iconClass?: string;
96
+ /** 禁用后不响应点击,方向键和首字母查找也会跳过。 @default false */
97
+ isDisabled?: boolean;
98
+ }
99
+ interface NavHeadingMenuItemEmits {
100
+ click: [event: MouseEvent];
101
+ }
102
+ interface NavHeadingMenuItemSlots {
103
+ /** 自定义主文字。有插槽时不再显示 `label`。 */
104
+ default?: () => unknown;
105
+ icon?: () => unknown;
106
+ }
72
107
  //#endregion
73
108
  //#region src/NavMenu/NavDisclosure.vue.d.ts
74
109
  type __VLS_Props = NavDisclosureProps;
75
- type __VLS_Slots$2 = NavDisclosureSlots;
110
+ type __VLS_Slots$4 = NavDisclosureSlots;
76
111
  type __VLS_ModelProps = {
77
112
  'isOpen'?: boolean;
78
113
  };
79
114
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
80
- declare const __VLS_base$2: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
115
+ declare const __VLS_base$4: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
81
116
  openChange: (isOpen: boolean) => any;
82
117
  "update:isOpen": (value: boolean) => any;
83
118
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
@@ -90,6 +125,44 @@ declare const __VLS_base$2: import("vue").DefineComponent<__VLS_PublicProps, {},
90
125
  hover: boolean;
91
126
  showDelay: number;
92
127
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
128
+ declare const __VLS_export$4: __VLS_WithSlots$4<typeof __VLS_base$4, __VLS_Slots$4>;
129
+ declare const _default$4: typeof __VLS_export$4;
130
+ type __VLS_WithSlots$4<T, S> = T & {
131
+ new (): {
132
+ $slots: S;
133
+ };
134
+ };
135
+ //#endregion
136
+ //#region src/NavMenu/NavHeadingMenu.vue.d.ts
137
+ declare var __VLS_1$1: {};
138
+ type __VLS_Slots$3 = {} & {
139
+ default?: (props: typeof __VLS_1$1) => any;
140
+ };
141
+ declare const __VLS_base$3: import("vue").DefineComponent<NavHeadingMenuProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
142
+ close: () => any;
143
+ }, string, import("vue").PublicProps, Readonly<NavHeadingMenuProps> & Readonly<{
144
+ onClose?: (() => any) | undefined;
145
+ }>, {
146
+ size: NavMenuSize;
147
+ focusRequest: NavMenuFocusRequest;
148
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
149
+ declare const __VLS_export$3: __VLS_WithSlots$3<typeof __VLS_base$3, __VLS_Slots$3>;
150
+ declare const _default$3: typeof __VLS_export$3;
151
+ type __VLS_WithSlots$3<T, S> = T & {
152
+ new (): {
153
+ $slots: S;
154
+ };
155
+ };
156
+ //#endregion
157
+ //#region src/NavMenu/NavHeadingMenuItem.vue.d.ts
158
+ type __VLS_Slots$2 = NavHeadingMenuItemSlots;
159
+ declare const __VLS_base$2: import("vue").DefineComponent<NavHeadingMenuItemProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
160
+ click: (event: MouseEvent) => any;
161
+ }, string, import("vue").PublicProps, Readonly<NavHeadingMenuItemProps> & Readonly<{
162
+ onClick?: ((event: MouseEvent) => any) | undefined;
163
+ }>, {
164
+ isDisabled: boolean;
165
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
93
166
  declare const __VLS_export$2: __VLS_WithSlots$2<typeof __VLS_base$2, __VLS_Slots$2>;
94
167
  declare const _default$2: typeof __VLS_export$2;
95
168
  type __VLS_WithSlots$2<T, S> = T & {
@@ -138,4 +211,4 @@ type __VLS_WithSlots<T, S> = T & {
138
211
  };
139
212
  };
140
213
  //#endregion
141
- export { NavMenuEmits as a, NavMenuProps as c, NavDisclosureProps as i, NavMenuFocusRequest as l, _default$1 as n, NavMenuItemEmits as o, _default$2 as r, NavMenuItemProps as s, _default as t, NavMenuSize as u };
214
+ export { _default$4 as a, NavHeadingMenuItemEmits as c, NavMenuEmits as d, NavMenuItemEmits as f, NavMenuSize as g, NavMenuFocusRequest as h, _default$3 as i, NavHeadingMenuItemProps as l, NavMenuProps as m, _default$1 as n, NavDisclosureProps as o, NavMenuItemProps as p, _default$2 as r, NavHeadingMenuEmits as s, _default as t, NavHeadingMenuProps as u };
@@ -1,4 +1,4 @@
1
- import { a as TextSize, n as TextColor, o as TextType, s as TextWeight } from "./types-Bt-lSgYX.js";
1
+ import { c as TextType, l as TextWeight, n as TextColor, o as TextSize } from "./types-D9nP_X-c.js";
2
2
  //#region src/Timer/format.d.ts
3
3
  type TimerFormat = 'elapsed' | 'clock';
4
4
  interface TimerPresentation {
@@ -142,8 +142,8 @@ type __VLS_Slots$1 = GridSlots;
142
142
  declare const __VLS_base$1: import("vue").DefineComponent<GridProps, {
143
143
  element: Readonly<import("vue").ShallowRef<HTMLDivElement | null>>;
144
144
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<GridProps> & Readonly<{}>, {
145
- align: GridAlignment;
146
145
  justify: GridAlignment;
146
+ align: GridAlignment;
147
147
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
148
148
  declare const __VLS_export$1: __VLS_WithSlots$1<typeof __VLS_base$1, __VLS_Slots$1>;
149
149
  declare const _default$1: typeof __VLS_export$1;
@@ -4,6 +4,10 @@ type HeadingType = 'display-1' | 'display-2' | 'display-3' | 'body' | 'large' |
4
4
  type HeadingColor = 'primary' | 'secondary' | 'accent' | 'inherit';
5
5
  type HeadingWeight = 'regular' | 'medium' | 'semibold' | 'bold';
6
6
  type HeadingDisplay = 'block' | 'inline';
7
+ type HeadingWrap = 'wrap' | 'nowrap' | 'balance' | 'pretty';
8
+ type HeadingWordBreak = 'break-word' | 'break-all';
9
+ type HeadingJustify = 'start' | 'center' | 'end';
10
+ type HeadingTruncateTooltip = boolean | 'above' | 'below' | 'start' | 'end';
7
11
  interface HeadingProps {
8
12
  /**
9
13
  * Heading level (1-6). Determines the semantic HTML element (h1–h6).
@@ -27,22 +31,55 @@ interface HeadingProps {
27
31
  * @default 'block'
28
32
  */
29
33
  display?: HeadingDisplay;
34
+ /**
35
+ * Document outline level when it should differ from the visual `level`.
36
+ * The element stays `h{level}`; assistive technology reads this instead.
37
+ */
38
+ accessibilityLevel?: HeadingLevel;
39
+ /**
40
+ * CSS `text-wrap` behavior.
41
+ */
42
+ textWrap?: HeadingWrap;
43
+ /**
44
+ * How long unbroken strings break. Single-line truncation defaults to
45
+ * `break-all`; more than one line defaults to `break-word`.
46
+ */
47
+ wordBreak?: HeadingWordBreak;
48
+ /**
49
+ * Text alignment. `start` and `end` follow the writing direction.
50
+ * @default 'start'
51
+ */
52
+ justify?: HeadingJustify;
53
+ /**
54
+ * Draws a line through the text.
55
+ * @default false
56
+ */
57
+ hasStrikethrough?: boolean;
30
58
  /**
31
59
  * Maximum lines before truncation. 0 means no truncation.
32
60
  * @default 0
33
61
  */
34
62
  maxLines?: number;
63
+ /**
64
+ * 截断之后要不要把全文放进提示。`true` 出现在上方,方位字符串指定位置,`false` 关掉。
65
+ * @default true
66
+ */
67
+ hasTruncateTooltip?: HeadingTruncateTooltip;
35
68
  }
36
69
  //#endregion
37
70
  //#region src/Heading/Heading.vue.d.ts
38
- declare var __VLS_7: {};
71
+ declare var __VLS_13: {}, __VLS_21: {};
39
72
  type __VLS_Slots = {} & {
40
- default?: (props: typeof __VLS_7) => any;
73
+ default?: (props: typeof __VLS_13) => any;
74
+ } & {
75
+ default?: (props: typeof __VLS_21) => any;
41
76
  };
42
77
  declare const __VLS_base: import("vue").DefineComponent<HeadingProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<HeadingProps> & Readonly<{}>, {
43
78
  color: HeadingColor;
44
79
  display: HeadingDisplay;
80
+ justify: HeadingJustify;
45
81
  maxLines: number;
82
+ hasTruncateTooltip: HeadingTruncateTooltip;
46
83
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
47
84
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
48
85
  declare const _default: typeof __VLS_export;
@@ -52,4 +89,4 @@ type __VLS_WithSlots<T, S> = T & {
52
89
  };
53
90
  };
54
91
  //#endregion
55
- export { HeadingProps as a, HeadingLevel as i, HeadingColor as n, HeadingType as o, HeadingDisplay as r, HeadingWeight as s, _default as t };
92
+ export { HeadingLevel as a, HeadingType as c, HeadingWrap as d, HeadingJustify as i, HeadingWeight as l, HeadingColor as n, HeadingProps as o, HeadingDisplay as r, HeadingTruncateTooltip as s, _default as t, HeadingWordBreak as u };
@@ -1,7 +1,7 @@
1
1
  import "./useAsyncSource-xpQovjV_.js";
2
2
  import "./useClipboard-CU-kfqeJ.js";
3
3
  import "./useResizable-CUoNPmUw.js";
4
- import { CSSProperties, ComputedRef, InjectionKey, MaybeRefOrGetter, Ref } from "vue";
4
+ import { CSSProperties, Component, ComputedRef, InjectionKey, MaybeRefOrGetter, Ref } from "vue";
5
5
  import { CalendarDate } from "@internationalized/date";
6
6
  //#region src/composables/useDateRange.d.ts
7
7
  interface ISODateRange {
@@ -245,6 +245,47 @@ interface Combobox<T = string | number> {
245
245
  */
246
246
  declare function useCombobox<T = string | number>(options: UseComboboxOptions<T>): Combobox<T>;
247
247
  //#endregion
248
+ //#region src/composables/useContainerReveal.d.ts
249
+ interface UseContainerRevealOptions {
250
+ /**
251
+ * 为 false 时什么样式都不加,里面的内容一直可见。
252
+ * 每次调用都会重新读,所以可以随组件自己的开关变。
253
+ */
254
+ isEnabled?: MaybeRefOrGetter<boolean>;
255
+ }
256
+ interface ContainerRevealOptions {
257
+ /**
258
+ * 指针必须停这么多毫秒,悬停揭示才开始。键盘和粗指针不等待。
259
+ */
260
+ hoverDelay?: number;
261
+ /**
262
+ * 把容器钉在揭示或收起。`inactive` 仍让键盘焦点和粗指针看见内容。
263
+ */
264
+ forceState?: 'active' | 'inactive';
265
+ }
266
+ interface ContentRevealOptions {
267
+ /** 反过来:平时可见,悬停时藏起。只影响指针,键盘和触摸仍看得到。 */
268
+ isRevealInverted?: boolean;
269
+ /** 藏起时仍占位,避免布局跳动。 */
270
+ isLayoutPreserved?: boolean;
271
+ /** 这一块自己的可见性,不跟容器走。`hidden` 在焦点进来时仍会露出。 */
272
+ forceVisibility?: 'shown' | 'hidden';
273
+ }
274
+ /**
275
+ * 悬停或键盘焦点时才露出行内操作。状态写在容器的自定义属性上,
276
+ * 嵌套容器会盖住外层,所以两层不会串。内容用透明度和定位藏起,不从无障碍树里拿掉。
277
+ */
278
+ interface UseContainerReveal {
279
+ containerProps: (reveal?: ContainerRevealOptions) => {
280
+ class?: string | Record<string, boolean>;
281
+ style?: CSSProperties;
282
+ };
283
+ contentProps: (reveal?: ContentRevealOptions) => {
284
+ class?: string | Record<string, boolean>;
285
+ };
286
+ }
287
+ declare function useContainerReveal(options?: UseContainerRevealOptions): UseContainerReveal;
288
+ //#endregion
248
289
  //#region src/composables/useControllableState.d.ts
249
290
  interface UseControllableStateOptions<T> {
250
291
  /**
@@ -492,6 +533,63 @@ interface Hotkey {
492
533
  */
493
534
  declare function useHotkeys(hotkeys: MaybeRefOrGetter<readonly Hotkey[]>): void;
494
535
  //#endregion
536
+ //#region src/composables/useImageMode.d.ts
537
+ interface ImageSampleRegion {
538
+ /** 左边缘,0 是左,1 是右。 */
539
+ x: number;
540
+ /** 上边缘,0 是上,1 是下。 */
541
+ y: number;
542
+ /** 宽度占整张图的比例。 */
543
+ width: number;
544
+ /** 高度占整张图的比例。 */
545
+ height: number;
546
+ }
547
+ interface UseImageModeOptions {
548
+ /** 只采样这一块。不传时用整张图。坐标都是 0 到 1。 */
549
+ region?: ImageSampleRegion;
550
+ /** 低于这个亮度算暗,高于算亮。 */
551
+ threshold?: number;
552
+ /** 还在加载,或者读图失败时返回的值。 */
553
+ fallback?: 'dark' | 'light' | null;
554
+ }
555
+ /**
556
+ * APCA 感知亮度。先把 sRGB 按 2.4 线性化,再用接近 BT.709 的系数合成,
557
+ * 最后做 0.56 次方,让 0.5 接近视觉上的中灰。饱和色比简单的伽马亮度更准。
558
+ */
559
+ declare function perceptualLightness(r: number, g: number, b: number): number;
560
+ /** 一组采样像素的平均亮度,再和阈值比出深浅。 */
561
+ declare function imageModeFromPixels(pixels: Uint8ClampedArray, threshold?: number): 'dark' | 'light';
562
+ /**
563
+ * 按图片亮度判断该用深色还是浅色前景。采样走 OffscreenCanvas,不往页面上画。
564
+ * 跨域或网络失败时返回 `fallback`。
565
+ */
566
+ declare function useImageMode(src: MaybeRefOrGetter<string | null | undefined>, options?: MaybeRefOrGetter<UseImageModeOptions>): Ref<'dark' | 'light' | null>;
567
+ //#endregion
568
+ //#region src/composables/useKeyboardHint.d.ts
569
+ type KeyboardHintOrientation = 'horizontal' | 'vertical' | 'both';
570
+ interface UseKeyboardHintOptions {
571
+ /** 提示里画哪些方向键。 */
572
+ orientation?: KeyboardHintOrientation;
573
+ /** 出现之后多久自己消失,单位毫秒。 */
574
+ dismissAfterMs?: number;
575
+ /** 为 false 时这个实例不再提示。 */
576
+ isEnabled?: boolean;
577
+ }
578
+ interface UseKeyboardHint {
579
+ visible: Ref<boolean>;
580
+ anchor: Ref<HTMLElement | null>;
581
+ orientation: ComputedRef<KeyboardHintOrientation>;
582
+ onFocus: (event: FocusEvent) => void;
583
+ onBlur: (event: FocusEvent) => void;
584
+ onKeyDown: (event: KeyboardEvent) => void;
585
+ Hint: Component;
586
+ }
587
+ /**
588
+ * 一组方向键控件第一次被键盘点进来时,在当前项旁边短暂提示「用方向键移动」。
589
+ * 按过方向键、超时或焦点离开之后不再出现。
590
+ */
591
+ declare function useKeyboardHint(options?: UseKeyboardHintOptions): UseKeyboardHint;
592
+ //#endregion
495
593
  //#region src/composables/useListFocus.d.ts
496
594
  /**
497
595
  * 一维列表的方向。
@@ -614,6 +712,37 @@ declare function useLongPress(options: LongPressOptions): LongPressHandlers;
614
712
  */
615
713
  declare function useMediaQuery(query: string): Ref<boolean>;
616
714
  //#endregion
715
+ //#region src/ContextMenu/useMenuPress.d.ts
716
+ /** Forget an armed swallower. Called when a surface unmounts and in tests. */
717
+ declare function resetMenuPress(): void;
718
+ interface MenuPressOptions {
719
+ /** The element carrying `role="menu"` for this level. */
720
+ menuRef: Ref<HTMLElement | null>;
721
+ /** Whether the surface carries the press model right now. */
722
+ isEnabled: () => boolean;
723
+ /** A mouse press that began inside the menu was released outside it. */
724
+ onDismiss: () => void;
725
+ }
726
+ interface MenuPress {
727
+ /** Attach to the menu root's `pointerdown`. */
728
+ onPointerDown: (event: PointerEvent) => void;
729
+ }
730
+ /**
731
+ * The press model of a painted menu surface.
732
+ *
733
+ * A finger's pointer events stay with the element it landed on, so the gesture
734
+ * is tracked at the document level by `pointerId`:
735
+ *
736
+ * - The highlight follows the finger.
737
+ * - The row under the RELEASE acts, the way its own click would, carrying the
738
+ * release's modifiers; the browser's own click for that gesture is swallowed
739
+ * so the row never acts twice.
740
+ * - A finger released outside leaves the menu open; a mouse released outside
741
+ * dismisses it.
742
+ * - `pointercancel` and a second pointer end the gesture with nothing acting.
743
+ */
744
+ declare function useMenuPress(options: MenuPressOptions): MenuPress;
745
+ //#endregion
617
746
  //#region src/composables/useMonthGrid.d.ts
618
747
  declare function toISODate(date: CalendarDate): string;
619
748
  declare function parseISODate(value: string): CalendarDate;
@@ -884,4 +1013,4 @@ interface UseTypeaheadReturn {
884
1013
  */
885
1014
  declare function useTypeahead(options: UseTypeaheadOptions): UseTypeaheadReturn;
886
1015
  //#endregion
887
- export { UseGridRovingFocusOptions as $, AppShellMobile as $t, computeOverflow as A, parseISOTime as At, useMediaQuery as B, useCoarsePointer as Bt, useRestoreFocus as C, NativePicker as Ct, ComputeOverflowResult as D, formatISOTime as Dt, ComputeOverflowInput as E, formatDisplayTime as Et, addMonths as F, useControllableState as Ft, ListFocusOrientation as G, ChatScrollToBottomOptions as Gt, LongPressOptions as H, INTERACTIVE_SELECTORS as Ht, buildMonthGrid as I, Combobox as It, Hotkey as J, useChatStreamScroll as Jt, UseListFocusOptions as K, UseChatStreamScrollOptions as Kt, parseISODate as L, ComboboxOption as Lt, NumberField as M, shiftTime as Mt, UseNumberFieldOptions as N, ControllableState as Nt, UseOverflowOptions as O, isTimeInRange as Ot, useNumberField as P, UseControllableStateOptions as Pt, GridRovingFocus as Q, useChatNewMessages as Qt, toISODate as R, UseComboboxOptions as Rt, UseRestoreFocusOptions as S, ISOTimeString as St, usePendingChange as T, TimePresentation as Tt, useLongPress as U, UseClickableContainerOptions as Ut, LongPressHandlers as V, ClickableContainerHandlers as Vt, ListFocus as W, useClickableContainer as Wt, HandleRef as X, UseChatNewMessagesOptions as Xt, useHotkeys as Y, CHAT_MESSAGE_CLASS as Yt, useHandleRef as Z, UseChatNewMessagesReturn as Zt, ScrollableAreaState as _, DatePresentation as _t, UseStreamingTextOptions as a, ISODateRange as an, FileSelectionOptions as at, useScrollableArea as b, resolveDateSurface as bt, ScrollOverflowState as c, applyRangeClick as cn, selectFiles as ct, useScrollLock as d, isDayOutsideSpan as dn, useFieldControlState as dt, appShellMobileKey as en, useGridRovingFocus as et, ScrollAxis as f, isRangeWithinSpan as fn, UseDismissOptions as ft, ScrollStickyContainment as g, spanDays as gn, useDisclosureHandle as gt, ScrollRole as h, resolveWeekStart as hn, DisclosureHandleRef as ht, StreamingTextSpeed as i, useAnnounce as in, FileRejection as it, useOverflow as j, resolveTimeSurface as jt, UseOverflowReturn as k, parseDisplayTime as kt, UseScrollOverflowResult as l, compareISODate as ln, FieldControlState as lt, ScrollOverscroll as m, orderRange as mn, DisclosureHandle as mt, UseTypeaheadReturn as n, AnnounceFn as nn, UseFocusTrapOptions as nt, snapToGraphemeBoundary as o, RangeClickResult as on, FileSelectionResult as ot, ScrollAxisState as p, isSameRange as pn, useDismiss as pt, useListFocus as q, UseChatStreamScrollReturn as qt, useTypeahead as r, AnnouncePoliteness as rn, useFocusTrap as rt, useStreamingText as s, WeekStartsOn as sn, formatFileSize as st, UseTypeaheadOptions as t, useAppShellMobile as tn, FocusTrap as tt, useScrollOverflow as u, formatDateRange as un, FieldControlStateInput as ut, UseScrollableAreaOptions as v, DateSurface as vt, PendingChange as w, ParsedTime as wt, RestoreFocus as x, HourFormat as xt, UseScrollableAreaResult as y, resolveDatePresentation as yt, todayISODate as z, useCombobox as zt };
1016
+ export { UseKeyboardHint as $, useContainerReveal as $t, computeOverflow as A, isRangeWithinSpan as An, DatePresentation as At, MenuPress as B, formatISOTime as Bt, useRestoreFocus as C, ISODateRange as Cn, FieldControlStateInput as Ct, ComputeOverflowResult as D, compareISODate as Dn, DisclosureHandle as Dt, ComputeOverflowInput as E, applyRangeClick as En, useDismiss as Et, addMonths as F, ISOTimeString as Ft, LongPressHandlers as G, shiftTime as Gt, resetMenuPress as H, parseDisplayTime as Ht, buildMonthGrid as I, NativePicker as It, ListFocus as J, useControllableState as Jt, LongPressOptions as K, ControllableState as Kt, parseISODate as L, ParsedTime as Lt, NumberField as M, orderRange as Mn, resolveDatePresentation as Mt, UseNumberFieldOptions as N, resolveWeekStart as Nn, resolveDateSurface as Nt, UseOverflowOptions as O, formatDateRange as On, DisclosureHandleRef as Ot, useNumberField as P, spanDays as Pn, HourFormat as Pt, KeyboardHintOrientation as Q, UseContainerRevealOptions as Qt, toISODate as R, TimePresentation as Rt, UseRestoreFocusOptions as S, useAnnounce as Sn, FieldControlState as St, usePendingChange as T, WeekStartsOn as Tn, UseDismissOptions as Tt, useMenuPress as U, parseISOTime as Ut, MenuPressOptions as V, isTimeInRange as Vt, useMediaQuery as W, resolveTimeSurface as Wt, UseListFocusOptions as X, ContentRevealOptions as Xt, ListFocusOrientation as Y, ContainerRevealOptions as Yt, useListFocus as Z, UseContainerReveal as Zt, ScrollableAreaState as _, AppShellMobile as _n, FileRejection as _t, UseStreamingTextOptions as a, ClickableContainerHandlers as an, perceptualLightness as at, useScrollableArea as b, AnnounceFn as bn, formatFileSize as bt, ScrollOverflowState as c, useClickableContainer as cn, useHotkeys as ct, useScrollLock as d, UseChatStreamScrollReturn as dn, GridRovingFocus as dt, Combobox as en, UseKeyboardHintOptions as et, ScrollAxis as f, useChatStreamScroll as fn, UseGridRovingFocusOptions as ft, ScrollStickyContainment as g, useChatNewMessages as gn, useFocusTrap as gt, ScrollRole as h, UseChatNewMessagesReturn as hn, UseFocusTrapOptions as ht, StreamingTextSpeed as i, useCoarsePointer as in, imageModeFromPixels as it, useOverflow as j, isSameRange as jn, DateSurface as jt, UseOverflowReturn as k, isDayOutsideSpan as kn, useDisclosureHandle as kt, UseScrollOverflowResult as l, ChatScrollToBottomOptions as ln, HandleRef as lt, ScrollOverscroll as m, UseChatNewMessagesOptions as mn, FocusTrap as mt, UseTypeaheadReturn as n, UseComboboxOptions as nn, ImageSampleRegion as nt, snapToGraphemeBoundary as o, INTERACTIVE_SELECTORS as on, useImageMode as ot, ScrollAxisState as p, CHAT_MESSAGE_CLASS as pn, useGridRovingFocus as pt, useLongPress as q, UseControllableStateOptions as qt, useTypeahead as r, useCombobox as rn, UseImageModeOptions as rt, useStreamingText as s, UseClickableContainerOptions as sn, Hotkey as st, UseTypeaheadOptions as t, ComboboxOption as tn, useKeyboardHint as tt, useScrollOverflow as u, UseChatStreamScrollOptions as un, useHandleRef as ut, UseScrollableAreaOptions as v, appShellMobileKey as vn, FileSelectionOptions as vt, PendingChange as w, RangeClickResult as wn, useFieldControlState as wt, RestoreFocus as x, AnnouncePoliteness as xn, selectFiles as xt, UseScrollableAreaResult as y, useAppShellMobile as yn, FileSelectionResult as yt, todayISODate as z, formatDisplayTime as zt };