@astryx-vue/core 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (505) hide show
  1. package/dist/AlertDialog/index.js +1 -1
  2. package/dist/{AlertDialog-RAVA_cT1.js → AlertDialog-C2inDZWG.js} +5 -5
  3. package/dist/AppShell/index.js +1 -1
  4. package/dist/{AppShell-0wTvOo3H.js → AppShell-CumzH-8z.js} +3 -3
  5. package/dist/Avatar/index.js +1 -1
  6. package/dist/{Avatar-pPZ4dI_s.js → Avatar-BW0TE8t9.js} +47 -34
  7. package/dist/AvatarGroup/index.d.ts +1 -1
  8. package/dist/AvatarGroup/index.js +1 -1
  9. package/dist/{AvatarGroup-B--NQSB3.js → AvatarGroup-DLC_FFR5.js} +57 -13
  10. package/dist/Banner/index.d.ts +1 -1
  11. package/dist/Banner/index.js +1 -1
  12. package/dist/{Banner-GbGxrqQO.js → Banner-C5VAwo4D.js} +68 -34
  13. package/dist/Blockquote/index.js +1 -1
  14. package/dist/Blockquote-DRoKdcxZ.js +27 -0
  15. package/dist/BottomSheet/index.d.ts +1 -1
  16. package/dist/BottomSheet/index.js +2 -2
  17. package/dist/{BottomSheet-pt7m4CvC.js → BottomSheet-B4sc3F1S.js} +286 -140
  18. package/dist/{BottomSheet-JYMB_Ofl.js → BottomSheet-m54uCMJN.js} +20 -4
  19. package/dist/Breadcrumbs/index.d.ts +2 -2
  20. package/dist/Breadcrumbs/index.js +2 -2
  21. package/dist/Breadcrumbs-CTaz7Kh4.js +223 -0
  22. package/dist/Button/index.d.ts +1 -1
  23. package/dist/Button/index.js +1 -1
  24. package/dist/{Button-B6Hj_O_s.js → Button-ONOoHdkg.js} +25 -15
  25. package/dist/ButtonGroup/index.d.ts +1 -1
  26. package/dist/ButtonGroup/index.js +1 -1
  27. package/dist/ButtonGroup-DnkSZ9a5.js +87 -0
  28. package/dist/{ButtonTooltip-nWWrth8j.js → ButtonTooltip-CNKOQHYR.js} +7 -4
  29. package/dist/Calendar/index.d.ts +1 -1
  30. package/dist/Calendar/index.js +1 -1
  31. package/dist/{Calendar-B7vIowKq.js → Calendar-BAqzzQm2.js} +5 -5
  32. package/dist/Card/index.d.ts +2 -2
  33. package/dist/Carousel/index.js +1 -1
  34. package/dist/{Carousel-CA8zpD9v.js → Carousel-DXC22UWq.js} +4 -4
  35. package/dist/Chat/index.d.ts +1 -1
  36. package/dist/Chat/index.js +1 -1
  37. package/dist/{Chat-Bmna9EOA.js → Chat-BdJW6IX5.js} +147 -83
  38. package/dist/CheckboxIndicator/index.js +1 -1
  39. package/dist/{CheckboxIndicator-D37cm2Rh.js → CheckboxIndicator-fH4d-JE1.js} +9 -3
  40. package/dist/CheckboxInput/index.d.ts +1 -1
  41. package/dist/CheckboxInput/index.js +1 -1
  42. package/dist/{CheckboxInput-BS9J6edf.js → CheckboxInput-DJHCbwgC.js} +19 -11
  43. package/dist/CheckboxList/index.d.ts +1 -1
  44. package/dist/CheckboxList/index.js +1 -1
  45. package/dist/{CheckboxList-CX1i_jVP.js → CheckboxList-BdZIP4_J.js} +155 -38
  46. package/dist/Citation/index.js +1 -1
  47. package/dist/{Citation-Djgwa0ko.js → Citation-DbZn2vms.js} +8 -3
  48. package/dist/ClickableCard/index.d.ts +1 -1
  49. package/dist/ClickableCard/index.js +1 -1
  50. package/dist/{ClickableCard-DUsC-j03.js → ClickableCard-ChAfiw9T.js} +9 -6
  51. package/dist/Code/index.js +3 -3
  52. package/dist/{Code-XnPuGxey.js → Code-Bg7GBdxy.js} +2 -1
  53. package/dist/{CodeBlock-D0BFubut.js → CodeBlock-Caaflp7C.js} +3 -3
  54. package/dist/Collapsible/index.d.ts +1 -1
  55. package/dist/Collapsible/index.js +1 -1
  56. package/dist/{Collapsible-Cov3Pyq5.js → Collapsible-Bdj0WYpb.js} +13 -11
  57. package/dist/CommandPalette/index.d.ts +1 -1
  58. package/dist/CommandPalette/index.js +1 -1
  59. package/dist/{CommandPalette-YHsUNg3V.js → CommandPalette-C_MClfAg.js} +143 -63
  60. package/dist/ComplexSelector/index.d.ts +1 -1
  61. package/dist/ComplexSelector/index.js +1 -1
  62. package/dist/{ComplexSelector-DWLdKPGI.js → ComplexSelector-BeVQaqRf.js} +85 -20
  63. package/dist/ContextMenu/index.d.ts +2 -2
  64. package/dist/ContextMenu/index.js +2 -2
  65. package/dist/{ContextMenu-Bq9b3Ti5.js → ContextMenu-C6hPYvYz.js} +297 -179
  66. package/dist/DateInput/index.d.ts +1 -1
  67. package/dist/DateInput/index.js +1 -1
  68. package/dist/{DateInput-DT518j5E.js → DateInput-BjLdmYor.js} +567 -76
  69. package/dist/DateRangeInput/index.d.ts +1 -1
  70. package/dist/DateRangeInput/index.js +1 -1
  71. package/dist/{DateRangeInput-Bqi5tlIA.js → DateRangeInput-Br3wVEfD.js} +85 -20
  72. package/dist/DateTimeInput/index.d.ts +1 -1
  73. package/dist/DateTimeInput/index.js +1 -1
  74. package/dist/DateTimeInput-CAZBwoRe.js +562 -0
  75. package/dist/Dialog/index.d.ts +1 -1
  76. package/dist/Dialog/index.js +2 -2
  77. package/dist/{Dialog-BiOSKQso.js → Dialog-Dce4Y97V.js} +28 -11
  78. package/dist/{Dialog-FGHfDu5M.js → Dialog-fhyxB00e.js} +32 -5
  79. package/dist/Divider/index.d.ts +1 -1
  80. package/dist/Divider/index.js +1 -1
  81. package/dist/{Divider-BtwnL18I.js → Divider-mOZ6vIQw.js} +5 -1
  82. package/dist/DropdownMenu/index.d.ts +2 -2
  83. package/dist/DropdownMenu/index.js +3 -3
  84. package/dist/{DropdownMenu-CoOQVlRp.js → DropdownMenu-BdGmQVb1.js} +85 -57
  85. package/dist/{DropdownMenu-DEb2dSSP.js → DropdownMenu-BzQrNV9C.js} +479 -264
  86. package/dist/{DropdownMenuRadioItem.vue-CXEURBcq.d.ts → DropdownMenuRadioItem.vue-Qd-8Rg4Q.d.ts} +236 -230
  87. package/dist/EmptyState/index.js +1 -1
  88. package/dist/{EmptyState-C_GH7IV5.js → EmptyState-CmOQf2SH.js} +2 -2
  89. package/dist/Field/index.d.ts +4 -3
  90. package/dist/Field/index.js +4 -3
  91. package/dist/{Field-D5gUEGw4.js → Field--OEsLBfE.js} +4 -3
  92. package/dist/{FieldInfoTip-Ds-sW_jY.js → FieldInfoTip-gxsnfkZw.js} +3 -3
  93. package/dist/{FieldLabel-BNeXRuGH.js → FieldLabel-jxIiWgLw.js} +12 -7
  94. package/dist/FieldStatus/index.d.ts +1 -1
  95. package/dist/FileInput/index.d.ts +1 -1
  96. package/dist/FileInput/index.js +1 -1
  97. package/dist/{FileInput-BpdiO1V8.js → FileInput-B_pUxB0Y.js} +106 -29
  98. package/dist/FormLayout/index.d.ts +1 -1
  99. package/dist/FormLayout/index.js +1 -1
  100. package/dist/{FormLayout-D47FjiOq.js → FormLayout-B9dUB6Ps.js} +1 -1
  101. package/dist/Heading/index.d.ts +1 -1
  102. package/dist/Heading/index.js +1 -1
  103. package/dist/{Heading-BnwWEWkp.js → Heading-BzBunfN7.js} +1 -1
  104. package/dist/HoverCard/index.js +1 -1
  105. package/dist/{HoverCard-ycY50pRN.js → HoverCard-BpJhT0sn.js} +35 -22
  106. package/dist/Icon/index.d.ts +4 -4
  107. package/dist/Icon/index.js +1 -1
  108. package/dist/{Icon-bteSId7T.js → Icon-KDnUyY7f.js} +12 -20
  109. package/dist/IconButton/index.js +1 -1
  110. package/dist/{IconButton-DDNgNl7B.js → IconButton-DI-XBbtV.js} +1 -1
  111. package/dist/Indicator/index.d.ts +2 -2
  112. package/dist/Indicator/index.js +2 -1
  113. package/dist/InputClearButton-CwXPan8c.js +40 -0
  114. package/dist/InputGroup/index.d.ts +1 -1
  115. package/dist/InputGroup/index.js +2 -2
  116. package/dist/{InputGroup-CA03Smrs.js → InputGroup-DiiocoIW.js} +2 -2
  117. package/dist/InternationalizationProvider/index.d.ts +1 -1
  118. package/dist/InternationalizationProvider/index.js +1 -1
  119. package/dist/{InternationalizationProvider-DJay_w3B.js → InternationalizationProvider-kBapgKAQ.js} +5 -9
  120. package/dist/{Item-KhFKX9St.js → Item-DWMIjN8n.js} +34 -9
  121. package/dist/Kbd/index.js +1 -1
  122. package/dist/{Kbd-BB-Dw6zE.js → Kbd-CV3LO2Ge.js} +18 -2
  123. package/dist/LayerContentBoundary-CvsKxwwm.js +27 -0
  124. package/dist/LayerProvider/index.js +1 -1
  125. package/dist/{LayerProvider-D9NsQFzL.js → LayerProvider-B6zpMBWC.js} +15 -3
  126. package/dist/Layout/index.d.ts +1 -1
  127. package/dist/Layout/index.js +2 -2
  128. package/dist/{Layout-C6RHllr-.js → Layout-JJRCG7Mf.js} +1 -1
  129. package/dist/{LayoutPanel-DXOsaeQb.js → LayoutPanel-zM5vjrKS.js} +12 -8
  130. package/dist/Lightbox/index.js +1 -1
  131. package/dist/{Lightbox-DTF9EdTG.js → Lightbox-D8wyPgMK.js} +8 -6
  132. package/dist/Link/index.js +1 -1
  133. package/dist/{Link-BqHCtiyt.js → Link-DweIpOtN.js} +29 -12
  134. package/dist/List/index.d.ts +1 -1
  135. package/dist/List/index.js +2 -2
  136. package/dist/{ListItem-8RWT8XAG.js → ListItem-BQXMu1Tb.js} +1 -1
  137. package/dist/Markdown/index.d.ts +5 -2
  138. package/dist/Markdown/index.js +5 -2
  139. package/dist/Markdown/parser/index.d.ts +4 -0
  140. package/dist/Markdown/parser/index.js +3 -0
  141. package/dist/Markdown/plugin-protocol/index.d.ts +35 -0
  142. package/dist/Markdown/plugin-protocol/index.js +107 -0
  143. package/dist/Markdown/plugin-renderer/index.d.ts +31 -0
  144. package/dist/Markdown/plugin-renderer/index.js +42 -0
  145. package/dist/{Markdown-CvtN7HnF.js → Markdown-DhVfOvXk.js} +195 -484
  146. package/dist/MediaTheme-DlLqYhDy.js +433 -0
  147. package/dist/MetadataList/index.js +1 -1
  148. package/dist/{MetadataList-B-OelQlt.js → MetadataList-CEYceIlN.js} +15 -7
  149. package/dist/MobileNav/index.js +1 -1
  150. package/dist/{MobileNavToggle-DxGz0xKA.js → MobileNavToggle-pdoJFZHx.js} +52 -17
  151. package/dist/MoreMenu/index.d.ts +1 -1
  152. package/dist/MoreMenu/index.js +1 -1
  153. package/dist/{MoreMenu-Dlb7MLlW.js → MoreMenu-CFNqSRev.js} +72 -59
  154. package/dist/MultiSelector/index.d.ts +1 -1
  155. package/dist/MultiSelector/index.js +1 -1
  156. package/dist/MultiSelector-DuVatmq5.js +1456 -0
  157. package/dist/{NavDisclosure-C_fugrQ3.js → NavDisclosure-Bq9DTZLO.js} +29 -7
  158. package/dist/{NavHeadingSurface-B3yJspSN.js → NavHeadingSurface-C4v_MtkX.js} +29 -26
  159. package/dist/NavItem/index.d.ts +1 -1
  160. package/dist/NavItem/index.js +2 -2
  161. package/dist/{NavItem-BBIGSvDj.js → NavItem-BPb3yfgz.js} +17 -4
  162. package/dist/NavMenu/index.d.ts +1 -1
  163. package/dist/NavMenu/index.js +3 -3
  164. package/dist/{NavMenu-ThXguZAz.js → NavMenu-BYIDzjix.js} +42 -15
  165. package/dist/{NavMenuItem-BvJNsDFC.js → NavMenuItem-D3FO90GR.js} +14 -12
  166. package/dist/NumberInput/index.d.ts +1 -1
  167. package/dist/NumberInput/index.js +1 -1
  168. package/dist/NumberInput-B0vzOg3N.js +727 -0
  169. package/dist/Outline/index.d.ts +2 -2
  170. package/dist/Outline/index.js +2 -2
  171. package/dist/{Outline-755h-lMP.js → Outline-CfGv2F1o.js} +91 -6
  172. package/dist/OverflowList/index.d.ts +2 -2
  173. package/dist/OverflowList/index.js +1 -1
  174. package/dist/{OverflowList-NmrSMbxb.js → OverflowList-BgRLZ3dh.js} +23 -6
  175. package/dist/Pagination/index.d.ts +1 -1
  176. package/dist/Pagination/index.js +1 -1
  177. package/dist/{Pagination-DqwNQFRp.js → Pagination-Bfe12018.js} +2 -2
  178. package/dist/PickerWheel-CSwUYfes.js +69 -0
  179. package/dist/Popover/index.d.ts +1 -1
  180. package/dist/Popover/index.js +1 -1
  181. package/dist/{Popover-DJf8POzL.js → Popover-78dFjTb9.js} +20 -15
  182. package/dist/PowerSearch/index.d.ts +1 -1
  183. package/dist/PowerSearch/index.js +1 -1
  184. package/dist/{PowerSearch-DvjiPqMZ.js → PowerSearch-BoAMdFaT.js} +774 -586
  185. package/dist/ProgressBar/index.d.ts +1 -1
  186. package/dist/ProgressBar/index.js +1 -1
  187. package/dist/{ProgressBar-CVLzdoBK.js → ProgressBar-VP4JS7vm.js} +10 -7
  188. package/dist/Radio/index.d.ts +1 -1
  189. package/dist/Radio/index.js +1 -1
  190. package/dist/{RadioGroup-Bfu6JSNV.js → RadioGroup-BIipql-L.js} +94 -26
  191. package/dist/RadioList/index.d.ts +1 -1
  192. package/dist/RadioList/index.js +1 -1
  193. package/dist/{RadioList-xY1cwLdZ.js → RadioList-GyhgBg4j.js} +57 -8
  194. package/dist/Resizable/index.d.ts +1 -1
  195. package/dist/Resizable/index.js +1 -1
  196. package/dist/{ResizeHandle-q4nD_586.js → ResizeHandle-TPlUCAHD.js} +103 -50
  197. package/dist/ScrollableArea/index.d.ts +1 -1
  198. package/dist/ScrollableArea/index.js +1 -1
  199. package/dist/{ScrollableArea-D4dCJv9I.js → ScrollableArea-0u6RWtGG.js} +1 -1
  200. package/dist/SegmentedControl/index.d.ts +1 -1
  201. package/dist/SegmentedControl/index.js +1 -1
  202. package/dist/{SegmentedControl-ChHmFrrC.js → SegmentedControl-D1wWGBZo.js} +11 -5
  203. package/dist/SelectableCard/index.d.ts +1 -1
  204. package/dist/SelectableCard/index.js +1 -1
  205. package/dist/{SelectableCard-Cku4dRzc.js → SelectableCard-BEqnhPaX.js} +16 -11
  206. package/dist/Selector/index.d.ts +1 -1
  207. package/dist/Selector/index.js +1 -1
  208. package/dist/Selector-CPISLzp7.js +1049 -0
  209. package/dist/SideNav/index.d.ts +1 -1
  210. package/dist/SideNav/index.js +1 -1
  211. package/dist/{SideNav-BF8mYDxl.js → SideNav-CN2QeAtY.js} +51 -37
  212. package/dist/Slider/index.d.ts +1 -1
  213. package/dist/Slider/index.js +1 -1
  214. package/dist/{Slider-DWobsPgm.js → Slider-pdC0jpHu.js} +172 -46
  215. package/dist/Spinner/index.js +1 -1
  216. package/dist/Spinner-DdVUadii.js +200 -0
  217. package/dist/Stack/index.d.ts +1 -1
  218. package/dist/Stack/index.js +2 -2
  219. package/dist/{Stack-CTsTFfar.js → Stack-Bb_h60t3.js} +1 -1
  220. package/dist/{Stack-kQlYbbL4.js → Stack-Bp-XN9J4.js} +12 -7
  221. package/dist/StatusDot/index.d.ts +1 -1
  222. package/dist/StatusDot/index.js +1 -1
  223. package/dist/{StatusDot-BPUhMOff.js → StatusDot-BS_ohXhd.js} +8 -4
  224. package/dist/Stepper/index.js +1 -1
  225. package/dist/{Stepper-CE8dHysu.js → Stepper-CyaSRSdu.js} +101 -79
  226. package/dist/Switch/index.d.ts +1 -1
  227. package/dist/Switch/index.js +1 -1
  228. package/dist/{Switch-DaVPRxvN.js → Switch-Z2Vfiiic.js} +38 -22
  229. package/dist/TabList/index.d.ts +2 -2
  230. package/dist/TabList/index.js +1 -1
  231. package/dist/{TabList-DIkK9sgK.js → TabList-DRqP0Hrv.js} +205 -63
  232. package/dist/Table/index.d.ts +3 -3
  233. package/dist/Table/index.js +1 -1
  234. package/dist/{Table-fecqnm7P.js → Table-BcrrylMX.js} +726 -452
  235. package/dist/Text/index.d.ts +1 -1
  236. package/dist/Text/index.js +1 -1
  237. package/dist/{Text-CV3LmscH.js → Text-CmTOgYXf.js} +1 -1
  238. package/dist/TextArea/index.d.ts +1 -1
  239. package/dist/TextArea/index.js +1 -1
  240. package/dist/{TextArea-Ab5Sw60T.js → TextArea-DA9CCG_J.js} +104 -50
  241. package/dist/TextInput/index.d.ts +1 -1
  242. package/dist/TextInput/index.js +1 -1
  243. package/dist/{TextInput-zFT1_qgI.js → TextInput-CI96einV.js} +71 -38
  244. package/dist/Theme/index.d.ts +3 -3
  245. package/dist/Theme/index.js +3 -2
  246. package/dist/Theme-BbDT8B_C.js +2125 -0
  247. package/dist/Thumbnail/index.js +1 -1
  248. package/dist/{Thumbnail-C3NnJUFG.js → Thumbnail-B2ZAY59J.js} +13 -10
  249. package/dist/{TimeField-CoHDGmsP.js → TimeField-CpAgja9D.js} +297 -40
  250. package/dist/TimeInput/index.d.ts +1 -1
  251. package/dist/TimeInput/index.js +1 -1
  252. package/dist/{TimeInput-D2k3Ux3p.js → TimeInput-Bw_lHS4M.js} +78 -9
  253. package/dist/Timer/index.d.ts +1 -1
  254. package/dist/Timer/index.js +1 -1
  255. package/dist/{Timer-avMQk5DN.js → Timer-CH7GsEVu.js} +1 -1
  256. package/dist/Timestamp/index.d.ts +1 -1
  257. package/dist/Timestamp/index.js +1 -1
  258. package/dist/{Timestamp-xpQKCk0d.js → Timestamp-BFNuoTZ0.js} +5 -5
  259. package/dist/Toast/index.d.ts +1 -1
  260. package/dist/Toast/index.js +1 -1
  261. package/dist/Toast-DwnPjx6j.js +685 -0
  262. package/dist/ToggleButton/index.d.ts +1 -1
  263. package/dist/ToggleButton/index.js +1 -1
  264. package/dist/{ToggleButton-B-C-Q7XP.js → ToggleButton-cLjh9W-x.js} +5 -4
  265. package/dist/Token/index.d.ts +1 -1
  266. package/dist/Token/index.js +1 -1
  267. package/dist/{Token-DsntTYhQ.js → Token-BfS4vi__.js} +32 -17
  268. package/dist/Tokenizer/index.d.ts +1 -1
  269. package/dist/Tokenizer/index.js +1 -1
  270. package/dist/{Tokenizer-B5C_qY7t.js → Tokenizer-Ci3E5bvP.js} +107 -23
  271. package/dist/Toolbar/index.d.ts +2 -2
  272. package/dist/Toolbar/index.js +1 -1
  273. package/dist/{Toolbar-BrgvvTCk.js → Toolbar-C0pMWL4S.js} +1 -1
  274. package/dist/Tooltip/index.d.ts +1 -1
  275. package/dist/Tooltip/index.js +1 -1
  276. package/dist/{Tooltip-C4Vaqd3G.js → Tooltip-sAM8i1eO.js} +23 -19
  277. package/dist/TopNav/index.d.ts +1 -1
  278. package/dist/TopNav/index.js +1 -1
  279. package/dist/{TopNav-Ciq0l1w7.js → TopNav-gW59zp1o.js} +16 -15
  280. package/dist/TreeList/index.d.ts +1 -1
  281. package/dist/TreeList/index.js +1 -1
  282. package/dist/{TreeList-BUz-KZJd.js → TreeList-DaoI7zaH.js} +124 -41
  283. package/dist/Typeahead/index.d.ts +1 -1
  284. package/dist/Typeahead/index.js +2 -2
  285. package/dist/{Typeahead-JP9RT87x.js → Typeahead-D4JjvjK4.js} +123 -26
  286. package/dist/{TypeaheadMenu-DBW6rHeO.js → TypeaheadMenu-BQlMrfqX.js} +141 -51
  287. package/dist/{announce-Cnio10Wk.js → announce-B210eJVf.js} +17 -2
  288. package/dist/characterReferences-BJ-jLhsR.js +65 -0
  289. package/dist/characters-rcDbGt71.d.ts +29 -0
  290. package/dist/characters-wTnzjkkR.js +58 -0
  291. package/dist/{colorMode-CBgdgDSn.js → colorMode-BxqfDP4P.js} +1 -4
  292. package/dist/composables/index.d.ts +5 -4
  293. package/dist/composables/index.js +23 -18
  294. package/dist/{composables-CbKx9C1Y.js → composables-Bc02zKAO.js} +167 -197
  295. package/dist/context-B6UElI5X.js +5 -0
  296. package/dist/{context-Cfjh8te1.js → context-Cfml4jaK.js} +5 -3
  297. package/dist/{context-iABt_ueM.js → context-DWfi56sq.js} +451 -122
  298. package/dist/context-IvbU9c3T.js +8 -0
  299. package/dist/context-pjBxaMSh.js +28 -0
  300. package/dist/fieldParts--SyRZVQG.js +44 -0
  301. package/dist/fieldParts-LXpQMKE8.d.ts +27 -0
  302. package/dist/{focus-CpficIgf.js → focus-l8jVTcqd.js} +1 -1
  303. package/dist/hoverIntent-DMHGb85c.js +115 -0
  304. package/dist/{index-Cde5JvtX.d.ts → index-B-nESNam.d.ts} +8 -7
  305. package/dist/{index-CsNi1I8j.d.ts → index-B08-Uxhv.d.ts} +4 -2
  306. package/dist/{index-Cn-sSds-.d.ts → index-B56j4eI2.d.ts} +24 -1
  307. package/dist/{index-BkjSF265.d.ts → index-BEZ4ezJk.d.ts} +3 -3
  308. package/dist/{index-DeQwYJbg.d.ts → index-BNaRK-s5.d.ts} +10 -1
  309. package/dist/{index-0QGtSf3r.d.ts → index-BO9TY87G.d.ts} +3 -2
  310. package/dist/{index-IBAInumL.d.ts → index-BQEJj72c.d.ts} +23 -10
  311. package/dist/{index-D97pQbua.d.ts → index-BV2D2x_u.d.ts} +1 -1
  312. package/dist/{index-Crp3NFLW.d.ts → index-BZKgbyN9.d.ts} +1 -1
  313. package/dist/index-BkUkm6Al.d.ts +11 -0
  314. package/dist/{index-ClNU2Th8.d.ts → index-Bn-v89Vt.d.ts} +10 -6
  315. package/dist/{index-Bu8NA2SD.d.ts → index-BnEhvmdR.d.ts} +16 -7
  316. package/dist/index-Bo-ofFyg.d.ts +166 -0
  317. package/dist/{index-i0tNFWfz.d.ts → index-BqhgeAT4.d.ts} +2 -0
  318. package/dist/{index-DWh2WC8W.d.ts → index-C4Cjz6OK.d.ts} +2 -2
  319. package/dist/{index-B7yhzGUT.d.ts → index-C7sam-SB.d.ts} +2 -2
  320. package/dist/{index-BrJzFA5X.d.ts → index-C90l2rH1.d.ts} +1 -1
  321. package/dist/{index-vP0EtrJJ.d.ts → index-C9gAlDt_.d.ts} +6 -3
  322. package/dist/{index-xrzJC4wm.d.ts → index-CJ6ajsUC.d.ts} +1 -1
  323. package/dist/{index-B9e52paP.d.ts → index-CK-Dbh0f.d.ts} +1 -1
  324. package/dist/index-CKUfpmFL.d.ts +375 -0
  325. package/dist/{index-DXpSFlPG.d.ts → index-CKgBTAzC.d.ts} +4 -4
  326. package/dist/{index-gW0HW02U.d.ts → index-COxy6LEW.d.ts} +1 -1
  327. package/dist/{index-B4OOtNP8.d.ts → index-CPtDjmcX.d.ts} +3 -3
  328. package/dist/{index-12QYAbiz.d.ts → index-CRrSHbok.d.ts} +3 -2
  329. package/dist/{index-DG52Bg0W.d.ts → index-CTf3SK0b.d.ts} +6 -0
  330. package/dist/{index-BVKivP59.d.ts → index-CTjkJP4x.d.ts} +32 -3
  331. package/dist/{index-COgrQZIL.d.ts → index-CdvmnNMH.d.ts} +1 -1
  332. package/dist/{index-GI9xIV9l.d.ts → index-CikMzeab.d.ts} +2 -2
  333. package/dist/{index-DUaLJO7l.d.ts → index-CpNlPLBF.d.ts} +172 -126
  334. package/dist/{index-yT1yiiww.d.ts → index-Cs1xsHKi.d.ts} +24 -12
  335. package/dist/{index-Cyb9Du5Z.d.ts → index-CtTGt6Dv.d.ts} +1 -1
  336. package/dist/{index-Byar3h1e.d.ts → index-D05JGsT3.d.ts} +6 -3
  337. package/dist/{index-B3Fomy15.d.ts → index-D0_HsuC3.d.ts} +3 -3
  338. package/dist/{index-BgT6mH3U.d.ts → index-D7ShT2c-.d.ts} +1 -1
  339. package/dist/{index-CkKPMIeX.d.ts → index-D7XRtUTY.d.ts} +9 -0
  340. package/dist/{index-TntQsADQ.d.ts → index-DEm3kRBO.d.ts} +4 -3
  341. package/dist/{index-C2nbK2AA.d.ts → index-DLAG3m9W.d.ts} +13 -3
  342. package/dist/{index-DVmgNb78.d.ts → index-DRJZ-v1E.d.ts} +4 -4
  343. package/dist/{index-CL1T2j4y.d.ts → index-DY8Wph-A.d.ts} +3 -3
  344. package/dist/{index-B1WJxt-n.d.ts → index-DfC05uKG.d.ts} +17 -7
  345. package/dist/{index-C5e-7Obr.d.ts → index-Dj1_1t3j.d.ts} +19 -6
  346. package/dist/{index-D41_xqjs.d.ts → index-Dr4b_oji.d.ts} +20 -13
  347. package/dist/{index-CqE4Bf3Q.d.ts → index-Ds201-d2.d.ts} +16 -2
  348. package/dist/{index-DIXAzTKL.d.ts → index-DxxudRgB.d.ts} +1 -1
  349. package/dist/{index-B42oE_F-.d.ts → index-IfsSCj8J.d.ts} +18 -5
  350. package/dist/{index-XuAAcYiP.d.ts → index-f3d9cVtj.d.ts} +1 -1
  351. package/dist/{index-T2FOcOuI.d.ts → index-jOwU3YoR.d.ts} +400 -90
  352. package/dist/{index-CICeEoZV.d.ts → index-pNtfr-RW.d.ts} +1 -1
  353. package/dist/{index-BhpAUzUr.d.ts → index-unAZVFGz.d.ts} +2 -2
  354. package/dist/index.d.ts +80 -74
  355. package/dist/index.js +149 -134
  356. package/dist/inlineSize-BNe8wggI.js +66 -0
  357. package/dist/inputPresentation-BOyHkCDr.js +62 -0
  358. package/dist/interactionModality-ACpTMhak.js +44 -0
  359. package/dist/isApplePlatform-B1ju6F5B.js +27 -0
  360. package/dist/isRenderable-BnKHIqfd.js +21 -0
  361. package/dist/layerDepth-CNDh-IHb.js +181 -0
  362. package/dist/link-DuuA2eCL.js +30 -0
  363. package/dist/{loadCatalog-BGHKG_9N.d.ts → loadCatalog-DlLFZreI.d.ts} +281 -7
  364. package/dist/loadCatalog-eopw74qb.js +424 -0
  365. package/dist/locale/index.d.ts +2 -2
  366. package/dist/locale/index.js +4 -3
  367. package/dist/locale-CabGJlGp.js +343 -0
  368. package/dist/modalOutlet-CUOcrhIu.js +56 -0
  369. package/dist/optionAction-Cg7xQLUA.d.ts +6 -0
  370. package/dist/{power-search-DrDfcoL1.d.ts → power-search-gHLIYXs5.d.ts} +2 -0
  371. package/dist/protocol-DHxY0NI8.js +113 -0
  372. package/dist/protocol-RSeMzAN1.d.ts +238 -0
  373. package/dist/publicParser-B0MRoikr.d.ts +141 -0
  374. package/dist/publicParser-uHC_T0Fo.js +895 -0
  375. package/dist/resizableChannel-3vivrEcT.js +20 -0
  376. package/dist/safeUrl-CsvfcZ9m.js +54 -0
  377. package/dist/scopedProvide-C-Df7c15.js +30 -0
  378. package/dist/scrollKeyboardDelegation-D7cumnOl.js +238 -0
  379. package/dist/scrollLock-C3aT4-0z.js +102 -0
  380. package/dist/{searchResultMessage-hXXNOFJP.js → searchResultMessage-mCpJBvra.js} +5 -14
  381. package/dist/{semantic-CKH9XVqa.d.ts → semantic-BF_AjLvk.d.ts} +6 -3
  382. package/dist/slug-C65CUsf9.js +32 -0
  383. package/dist/syntaxContext-DmIfNNtb.js +4 -0
  384. package/dist/triggerVariant-BsL8jMHs.js +16 -0
  385. package/dist/{types-0Q_SJv_F.d.ts → types-Bb7OGivY.d.ts} +6 -1
  386. package/dist/{types-CwyibrRB.d.ts → types-C5GQ2KCK.d.ts} +23 -3
  387. package/dist/{types-gKsEkk2g.d.ts → types-CsqwQkf1.d.ts} +143 -10
  388. package/dist/upstreamMap-xr3gvREu.js +731 -0
  389. package/dist/{useAnchoredListbox-DwztMNjP.js → useAnchoredListbox-DGxxKHZb.js} +2 -2
  390. package/dist/{useAsyncSource-xpQovjV_.d.ts → useAsyncSource-aGzrvRkI.d.ts} +3 -0
  391. package/dist/{useClickableContainer-DyNpnSEa.js → useClickableContainer-CdGp_Cev.js} +1 -1
  392. package/dist/{useClipboard-BDfbEsWd.js → useClipboard-Dk8cS810.js} +1 -1
  393. package/dist/useHoverLayerDismiss-kYJ_NqL4.js +27 -0
  394. package/dist/{useIndicator-i1NORM7W.js → useIndicator-MZmfBWid.js} +5 -23
  395. package/dist/{useInputContainer-CpgDe2-4.js → useInputContainer-CLcYrby4.js} +1 -1
  396. package/dist/{useInputStatusIcon-DBOwxV4x.js → useInputStatusIcon-DAE7PExr.js} +1 -1
  397. package/dist/useLayerMountTarget-BmZyeKWE.js +156 -0
  398. package/dist/{useListFocus-D0iOJl39.js → useListFocus-ChxLg0b4.js} +3 -2
  399. package/dist/{useMenuDrillIn-DzKGkTho.js → useMenuDrillIn-DhUnPvKs.js} +6 -5
  400. package/dist/useMenuHover-Djreu23i.js +170 -0
  401. package/dist/useMenuPress-8foxY8z4.js +764 -0
  402. package/dist/{useMergedRefs-CfHHlCsn.js → useMergedRefs-Cb6_w93m.js} +24 -4
  403. package/dist/{useNumberField-4-dIGVed.js → useNumberField-Dk1BE3-K.js} +3 -3
  404. package/dist/useOptionActionGrid-CkJcuvaU.js +97 -0
  405. package/dist/{usePositionedLayer-Cru9_00b.js → usePositionedLayer-B7cvG-_v.js} +43 -49
  406. package/dist/usePressFeedback-BJCpjEpv.js +319 -0
  407. package/dist/{useResizable-DDwPpPe6.d.ts → useResizable-1MHPNaRD.d.ts} +19 -1
  408. package/dist/{useResizable-B3ahKLoZ.js → useResizable-I3BCiLSL.js} +72 -40
  409. package/dist/useResolvedLabelHidden-B2rlWiaI.js +30 -0
  410. package/dist/{useRestoreFocus-Djw9RUIf.js → useRestoreFocus-XEKs5-gp.js} +49 -7
  411. package/dist/useScrollOverflow-DuMoGXmm.js +67 -0
  412. package/dist/useScrollableArea-BE8b3qm7.js +222 -0
  413. package/dist/{useTimeValue-6ufHM15W.js → useTimeValue-BJd0xBhG.js} +4 -22
  414. package/dist/useTranslator-BmWt2BBt.js +35 -0
  415. package/dist/{useTypeahead-PAK8lMYz.js → useTypeahead-BvtflkRk.js} +4 -5
  416. package/dist/utils/index.d.ts +3 -0
  417. package/dist/utils/index.js +5 -0
  418. package/dist/{utils-D33VQDnk.js → utils-ClVseK2w.js} +29 -2
  419. package/dist/utils-z3Q6BGIJ.js +819 -0
  420. package/locales/SOURCE.json +1 -1
  421. package/package.json +18 -2
  422. package/reset.css +364 -1
  423. package/styles/avatar-group.css +9 -1
  424. package/styles/badge.css +8 -5
  425. package/styles/banner.css +124 -26
  426. package/styles/blockquote.css +1 -0
  427. package/styles/bordered-control.css +1 -1
  428. package/styles/bottom-sheet.css +74 -6
  429. package/styles/breadcrumbs.css +16 -2
  430. package/styles/button-group.css +3 -1
  431. package/styles/button.css +53 -11
  432. package/styles/card.css +1 -1
  433. package/styles/chat.css +16 -6
  434. package/styles/checkbox-input.css +10 -0
  435. package/styles/clickable-card.css +10 -3
  436. package/styles/collapsible.css +12 -5
  437. package/styles/command-palette.css +29 -14
  438. package/styles/complex-selector.css +22 -5
  439. package/styles/context-menu.css +3 -3
  440. package/styles/date-input.css +111 -1
  441. package/styles/dialog-header.css +4 -1
  442. package/styles/dialog.css +7 -0
  443. package/styles/dropdown-menu.css +12 -3
  444. package/styles/field.css +5 -0
  445. package/styles/form-layout.css +1 -0
  446. package/styles/heading.css +18 -8
  447. package/styles/icon.css +4 -0
  448. package/styles/kbd.css +1 -1
  449. package/styles/layer.css +72 -0
  450. package/styles/list.css +9 -2
  451. package/styles/metadata-list.css +1 -0
  452. package/styles/mobile-nav.css +4 -1
  453. package/styles/multi-selector.css +48 -1
  454. package/styles/nav-item.css +9 -2
  455. package/styles/nav-menu.css +12 -2
  456. package/styles/number-input.css +9 -1
  457. package/styles/overflow-list.css +1 -1
  458. package/styles/popover.css +2 -1
  459. package/styles/power-search.css +5 -3
  460. package/styles/pressable.css +63 -22
  461. package/styles/progress-bar.css +15 -3
  462. package/styles/radio.css +16 -0
  463. package/styles/resize-handle.css +42 -0
  464. package/styles/segmented-control.css +12 -4
  465. package/styles/selector.css +53 -1
  466. package/styles/side-nav.css +19 -0
  467. package/styles/slider.css +4 -3
  468. package/styles/spinner.css +48 -42
  469. package/styles/stepper.css +58 -4
  470. package/styles/switch.css +26 -0
  471. package/styles/tab-list.css +132 -3
  472. package/styles/table.css +88 -10
  473. package/styles/text-area.css +1 -1
  474. package/styles/text-input.css +1 -1
  475. package/styles/text.css +6 -6
  476. package/styles/thumbnail.css +11 -3
  477. package/styles/time-input.css +8 -0
  478. package/styles/toast.css +37 -3
  479. package/styles/token.css +2 -2
  480. package/styles/tokenizer.css +1 -1
  481. package/styles/toolbar.css +4 -1
  482. package/styles/tree-list.css +1 -1
  483. package/styles/typeahead.css +34 -1
  484. package/styles.css +1 -0
  485. package/dist/Blockquote-DFqBv_oJ.js +0 -18
  486. package/dist/Breadcrumbs-DIm4figq.js +0 -141
  487. package/dist/ButtonGroup-ySQWanDP.js +0 -125
  488. package/dist/DateTimeInput-A7m2O3bg.js +0 -268
  489. package/dist/MultiSelector-BtAUfQ3t.js +0 -990
  490. package/dist/NumberInput-AZ9x3oja.js +0 -473
  491. package/dist/Selector-DJ2BhUTV.js +0 -677
  492. package/dist/Spinner-9cYUCnDy.js +0 -84
  493. package/dist/Theme-CtaUWo4g.js +0 -1246
  494. package/dist/Toast-BuqIZV5z.js +0 -322
  495. package/dist/context-4PuqD1Ic.js +0 -4
  496. package/dist/context-D5-MwxnN.js +0 -4
  497. package/dist/index-BH9PzQ1F.d.ts +0 -87
  498. package/dist/link-C4_WogdF.js +0 -18
  499. package/dist/loadCatalog-CXKqEB9s.js +0 -877
  500. package/dist/locale-DgkZEMTn.js +0 -105
  501. package/dist/platform-B_9W_aHW.js +0 -33
  502. package/dist/scrollLock-BzIvIimL.js +0 -42
  503. package/dist/useMenuPress-D-FRNrBW.js +0 -573
  504. package/dist/useScrollableArea-DDk_CluT.js +0 -172
  505. /package/dist/{index-lgvUFSCO.d.ts → index-CryFtTT6.d.ts} +0 -0
@@ -1,8 +1,71 @@
1
- import { n as useFocusTrap, t as useRestoreFocus } from "./useRestoreFocus-Djw9RUIf.js";
2
- import { t as useScrollLock } from "./scrollLock-BzIvIimL.js";
1
+ import { r as resetLayerScopedContext } from "./scopedProvide-C-Df7c15.js";
2
+ import { a as isImeKeyEvent, i as pushLayer, n as useLayerDepth, r as isTopLayer, t as provideLayerDepth } from "./layerDepth-CNDh-IHb.js";
3
+ import { n as useFocusTrap, r as focusForLastInput, t as useRestoreFocus } from "./useRestoreFocus-XEKs5-gp.js";
4
+ import { t as attachScrollKeyboardDelegation } from "./scrollKeyboardDelegation-D7cumnOl.js";
5
+ import { t as useScrollLock } from "./scrollLock-C3aT4-0z.js";
3
6
  import { t as useScrollbars } from "./useScrollbars-C2NJ6Qwq.js";
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";
7
+ import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, inject, mergeModels, mergeProps, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, onScopeDispose, onUpdated, openBlock, ref, renderSlot, toValue, unref, useAttrs, useModel, useTemplateRef, watch, withCtx } from "vue";
5
8
  import "../styles/bottom-sheet.css";
9
+ //#region src/BottomSheet/sheetTransition.ts
10
+ const BACKSTOP_BUFFER_MS = 50;
11
+ function parseTransitionTime(value) {
12
+ const normalized = value.trim();
13
+ if (!/^-?(?:\d+|\d*\.\d+)(?:ms|s)$/.test(normalized)) return null;
14
+ const time = Number.parseFloat(normalized);
15
+ return normalized.endsWith("ms") ? time : time * 1e3;
16
+ }
17
+ /** Longest transition duration + delay that applies to `property`, in ms. */
18
+ function transitionMsFor(element, property) {
19
+ const style = getComputedStyle(element);
20
+ const properties = (style.transitionProperty || "").split(",").map((value) => value.trim());
21
+ const durations = (style.transitionDuration || "").split(",").map(parseTransitionTime);
22
+ const delays = (style.transitionDelay || "").split(",").map((value) => parseTransitionTime(value) ?? 0);
23
+ return properties.reduce((longest, name, index) => {
24
+ if (name !== property && name !== "all") return longest;
25
+ const duration = durations[index % durations.length];
26
+ if (duration == null) return longest;
27
+ return Math.max(longest, duration + (delays[index % delays.length] ?? 0));
28
+ }, 0);
29
+ }
30
+ /**
31
+ * Calls `complete` when `element` finishes transitioning `property`: on the
32
+ * matching `transitionend`/`transitioncancel`, or on a timer backstop so a
33
+ * missed event can never strand the caller. Without a resolved duration — the
34
+ * case in a stylesheet-free test environment — it completes immediately.
35
+ */
36
+ function waitForTransition(element, property, complete) {
37
+ if (element == null) {
38
+ complete();
39
+ return () => {};
40
+ }
41
+ let done = false;
42
+ let timer = null;
43
+ let onTransitionEnd = () => {};
44
+ const finish = () => {
45
+ if (done) return;
46
+ done = true;
47
+ if (timer != null) clearTimeout(timer);
48
+ element.removeEventListener("transitionend", onTransitionEnd);
49
+ element.removeEventListener("transitioncancel", onTransitionEnd);
50
+ complete();
51
+ };
52
+ onTransitionEnd = (event) => {
53
+ if (event.target === element && event.propertyName === property) finish();
54
+ };
55
+ const duration = transitionMsFor(element, property);
56
+ if (duration <= 0) {
57
+ finish();
58
+ return () => {};
59
+ }
60
+ element.addEventListener("transitionend", onTransitionEnd);
61
+ element.addEventListener("transitioncancel", onTransitionEnd);
62
+ timer = setTimeout(finish, duration + BACKSTOP_BUFFER_MS);
63
+ return () => {
64
+ if (timer != null) clearTimeout(timer);
65
+ element.removeEventListener("transitionend", onTransitionEnd);
66
+ element.removeEventListener("transitioncancel", onTransitionEnd);
67
+ };
68
+ }
6
69
  /** Scrim opacity at the peek stop: dimmed, never clear, because the sheet stays modal. */
7
70
  const MIN_PEEK_SCRIM_OPACITY = .3;
8
71
  const SNAP_POINT_PATTERN = /^(\d+(?:\.\d+)?|\.\d+)(px|%)$/i;
@@ -85,9 +148,6 @@ function resolveSettleOffset(value, offsets, dir, baseOffset) {
85
148
  function visibleHeightForOffset(sheetHeight, offset, offscreenBlockEndInset) {
86
149
  return Math.max(0, sheetHeight - offscreenBlockEndInset - offset);
87
150
  }
88
- /** A throw this fast, over at least `FLICK_MIN_DISTANCE`, dismisses or expands outright. */
89
- const FLICK_VELOCITY = 1.2;
90
- const FLICK_MIN_DISTANCE = 48;
91
151
  /** Below the shortest stop, dragging past it by this share of its height dismisses. */
92
152
  const DISMISS_OVERSHOOT_RATIO = .4;
93
153
  /** Within this many px of a stop the live drag eases toward it. */
@@ -95,68 +155,7 @@ const MAGNET_RANGE = 40;
95
155
  /** Rubber-band factor and ceiling for dragging above the fully open position. */
96
156
  const OVERSCROLL_RESISTANCE = .35;
97
157
  const OVERSCROLL_MAX = 48;
98
- /** How far a finger on the body must pull before it becomes a sheet drag. */
99
- const DRAG_PROMOTION_SLOP = 8;
100
158
  const VELOCITY_WINDOW_MS = 100;
101
- const BACKSTOP_BUFFER_MS = 50;
102
- function parseTransitionTime(value) {
103
- const normalized = value.trim();
104
- if (!/^-?(?:\d+|\d*\.\d+)(?:ms|s)$/.test(normalized)) return null;
105
- const time = Number.parseFloat(normalized);
106
- return normalized.endsWith("ms") ? time : time * 1e3;
107
- }
108
- /** Longest transition duration + delay that applies to `property`, in ms. */
109
- function transitionMsFor(element, property) {
110
- const style = getComputedStyle(element);
111
- const properties = (style.transitionProperty || "").split(",").map((value) => value.trim());
112
- const durations = (style.transitionDuration || "").split(",").map(parseTransitionTime);
113
- const delays = (style.transitionDelay || "").split(",").map((value) => parseTransitionTime(value) ?? 0);
114
- return properties.reduce((longest, name, index) => {
115
- if (name !== property && name !== "all") return longest;
116
- const duration = durations[index % durations.length];
117
- if (duration == null) return longest;
118
- return Math.max(longest, duration + (delays[index % delays.length] ?? 0));
119
- }, 0);
120
- }
121
- /**
122
- * Calls `complete` when `element` finishes transitioning `property`: on the
123
- * matching `transitionend`/`transitioncancel`, or on a timer backstop so a
124
- * missed event can never strand the caller. Without a resolved duration — the
125
- * case in a stylesheet-free test environment — it completes immediately.
126
- */
127
- function waitForTransition(element, property, complete) {
128
- if (element == null) {
129
- complete();
130
- return () => {};
131
- }
132
- let done = false;
133
- let timer = null;
134
- let onTransitionEnd = () => {};
135
- const finish = () => {
136
- if (done) return;
137
- done = true;
138
- if (timer != null) clearTimeout(timer);
139
- element.removeEventListener("transitionend", onTransitionEnd);
140
- element.removeEventListener("transitioncancel", onTransitionEnd);
141
- complete();
142
- };
143
- onTransitionEnd = (event) => {
144
- if (event.target === element && event.propertyName === property) finish();
145
- };
146
- const duration = transitionMsFor(element, property);
147
- if (duration <= 0) {
148
- finish();
149
- return () => {};
150
- }
151
- element.addEventListener("transitionend", onTransitionEnd);
152
- element.addEventListener("transitioncancel", onTransitionEnd);
153
- timer = setTimeout(finish, duration + BACKSTOP_BUFFER_MS);
154
- return () => {
155
- if (timer != null) clearTimeout(timer);
156
- element.removeEventListener("transitionend", onTransitionEnd);
157
- element.removeEventListener("transitioncancel", onTransitionEnd);
158
- };
159
- }
160
159
  function magnetize(value, targets) {
161
160
  if (targets.length === 0) return value;
162
161
  let nearest = targets[0];
@@ -181,6 +180,104 @@ function hapticTick() {
181
180
  if (typeof window !== "undefined" && window.matchMedia?.("(prefers-reduced-motion: reduce)").matches) return;
182
181
  navigator.vibrate(8);
183
182
  }
183
+ /** Finger speed over the last `VELOCITY_WINDOW_MS`, in px/ms. */
184
+ function velocityFor(samples, lastY, lastT, startY, startT) {
185
+ const first = samples.filter((sample) => lastT - sample.t <= VELOCITY_WINDOW_MS)[0] ?? {
186
+ y: startY,
187
+ t: startT
188
+ };
189
+ const elapsed = lastT - first.t;
190
+ return elapsed > 0 ? (lastY - first.y) / elapsed : 0;
191
+ }
192
+ /** Live offset for a drag, rubber-banding above fully open and easing near a stop. */
193
+ function dragOffsetFrom(baseOffset, delta, stops) {
194
+ let offset = baseOffset + delta;
195
+ if (offset < 0) offset = -Math.min(-offset * OVERSCROLL_RESISTANCE, OVERSCROLL_MAX);
196
+ return {
197
+ raw: offset,
198
+ shown: magnetize(offset, stops)
199
+ };
200
+ }
201
+ /** Offset past which a slow downward drag dismisses instead of snapping back. */
202
+ function dismissTravelFor(height, offsets) {
203
+ const maxOffset = offsets[offsets.length - 1] ?? 0;
204
+ return maxOffset + visibleHeightForOffset(height, maxOffset, 48) * DISMISS_OVERSHOOT_RATIO;
205
+ }
206
+ function hasBlockScroll(element) {
207
+ return element.scrollHeight > element.clientHeight + 1;
208
+ }
209
+ /**
210
+ * Whether every scroller from `target` up to `root` is at its block edge.
211
+ * A nested box that can still scroll keeps the gesture; the sheet does not
212
+ * take it until that box has nowhere left to go.
213
+ */
214
+ function blockScrollEdges(root, target) {
215
+ let atTop = true;
216
+ let atBottom = true;
217
+ let node = target instanceof Element ? target : root;
218
+ while (node != null) {
219
+ if (node instanceof HTMLElement && hasBlockScroll(node)) {
220
+ if (node.scrollTop > 1) atTop = false;
221
+ if (node.scrollTop + node.clientHeight < node.scrollHeight - 1) atBottom = false;
222
+ }
223
+ if (node === root) break;
224
+ node = node.parentElement;
225
+ }
226
+ return {
227
+ atTop,
228
+ atBottom
229
+ };
230
+ }
231
+ //#endregion
232
+ //#region src/BottomSheet/sheetPointerSession.ts
233
+ /** Window pointer listeners plus the body's non-passive touch listeners. */
234
+ function createSheetPointerSession(handlers) {
235
+ let body = null;
236
+ let listening = false;
237
+ function attach() {
238
+ if (listening || typeof window === "undefined") return;
239
+ listening = true;
240
+ window.addEventListener("pointermove", handlers.onPointerMove);
241
+ window.addEventListener("pointerup", handlers.onPointerUp);
242
+ window.addEventListener("pointercancel", handlers.onPointerCancel);
243
+ }
244
+ function detach() {
245
+ if (!listening || typeof window === "undefined") return;
246
+ listening = false;
247
+ window.removeEventListener("pointermove", handlers.onPointerMove);
248
+ window.removeEventListener("pointerup", handlers.onPointerUp);
249
+ window.removeEventListener("pointercancel", handlers.onPointerCancel);
250
+ }
251
+ function unbind(element) {
252
+ element.removeEventListener("touchstart", handlers.onTouchStart);
253
+ element.removeEventListener("touchmove", handlers.onTouchMove);
254
+ element.removeEventListener("touchend", handlers.onTouchEnd);
255
+ element.removeEventListener("touchcancel", handlers.onTouchEnd);
256
+ }
257
+ function setBody(element) {
258
+ if (body != null) unbind(body);
259
+ body = element;
260
+ if (element == null) return;
261
+ element.addEventListener("touchstart", handlers.onTouchStart, { passive: true });
262
+ element.addEventListener("touchmove", handlers.onTouchMove, { passive: false });
263
+ element.addEventListener("touchend", handlers.onTouchEnd);
264
+ element.addEventListener("touchcancel", handlers.onTouchEnd);
265
+ }
266
+ function destroy() {
267
+ detach();
268
+ setBody(null);
269
+ if (typeof window !== "undefined") window.removeEventListener("blur", handlers.onWindowBlur);
270
+ }
271
+ if (typeof window !== "undefined") window.addEventListener("blur", handlers.onWindowBlur);
272
+ return {
273
+ attach,
274
+ detach,
275
+ setBody,
276
+ destroy
277
+ };
278
+ }
279
+ //#endregion
280
+ //#region src/BottomSheet/useSheetGestures.ts
184
281
  /** Drag, snap, and settle behavior of the sheet panel. */
185
282
  function useSheetGestures(options) {
186
283
  const { panel, body, isOpen, canDismiss, getSnapHeights, onScrimOpacity, onSnap, onDismiss } = options;
@@ -195,8 +292,10 @@ function useSheetGestures(options) {
195
292
  const sheetHeight = ref(0);
196
293
  let dragState = null;
197
294
  let pendingBody = null;
295
+ let touchArming = null;
198
296
  let reconcileToken = 0;
199
297
  let observer = null;
298
+ let session;
200
299
  const activeOffset = computed(() => isDragging.value ? dragOffset.value : settledOffset.value);
201
300
  function measureNaturalHeight() {
202
301
  const element = panel.value;
@@ -220,10 +319,6 @@ function useSheetGestures(options) {
220
319
  peekOffset: peekOffsetFor(offsets, visible)
221
320
  };
222
321
  }
223
- function dismissOffsetFor(detents) {
224
- const maxOffset = detents.offsets[detents.offsets.length - 1] ?? 0;
225
- return maxOffset + visibleHeightForOffset(detents.height, maxOffset, 48) * DISMISS_OVERSHOOT_RATIO;
226
- }
227
322
  async function reconcileLayout(targetLayoutOffset) {
228
323
  const token = ++reconcileToken;
229
324
  isReconciling.value = true;
@@ -237,7 +332,7 @@ function useSheetGestures(options) {
237
332
  }
238
333
  function settleAt(target, fromOffset, detents) {
239
334
  const targetLayoutOffset = target === detents.peekOffset ? 0 : target;
240
- const dismissOffset = dismissOffsetFor(detents);
335
+ const dismissOffset = dismissTravelFor(detents.height, detents.offsets);
241
336
  settledOffset.value = target;
242
337
  scrollPreservationInset.value = Math.max(0, fromOffset - targetLayoutOffset - naturalEndGapFor(body.value));
243
338
  scrimOpacity.value = scrimOpacityForOffset(target, detents.offsets, dismissOffset, detents.peekOffset);
@@ -258,14 +353,6 @@ function useSheetGestures(options) {
258
353
  }
259
354
  settleAt(detents.offsets[detents.offsets.length - 1] ?? 0, fromOffset, detents);
260
355
  }
261
- function velocityFor(state) {
262
- const first = state.samples.filter((sample) => state.lastT - sample.t <= VELOCITY_WINDOW_MS)[0] ?? {
263
- y: state.startY,
264
- t: state.startT
265
- };
266
- const elapsed = state.lastT - first.t;
267
- return elapsed > 0 ? (state.lastY - first.y) / elapsed : 0;
268
- }
269
356
  function updateDrag(clientY, timeStamp) {
270
357
  const state = dragState;
271
358
  if (!state) return;
@@ -278,11 +365,10 @@ function useSheetGestures(options) {
278
365
  });
279
366
  state.travel = Math.max(state.travel, Math.abs(delta));
280
367
  state.dir = delta === 0 ? 0 : Math.sign(delta);
281
- let offset = state.baseOffset + delta;
282
- if (offset < 0) offset = -Math.min(-offset * OVERSCROLL_RESISTANCE, OVERSCROLL_MAX);
283
- state.rawOffset = offset;
284
- dragOffset.value = magnetize(offset, state.offsets);
285
- scrimOpacity.value = scrimOpacityForOffset(offset, state.offsets, dismissOffsetFor(state), state.peekOffset);
368
+ const next = dragOffsetFrom(state.baseOffset, delta, state.offsets);
369
+ state.rawOffset = next.raw;
370
+ dragOffset.value = next.shown;
371
+ scrimOpacity.value = scrimOpacityForOffset(next.raw, state.offsets, dismissTravelFor(state.height, state.offsets), state.peekOffset);
286
372
  onScrimOpacity(scrimOpacity.value);
287
373
  }
288
374
  function beginDrag(pointerId, clientY, timeStamp) {
@@ -309,11 +395,11 @@ function useSheetGestures(options) {
309
395
  function endDrag() {
310
396
  const state = dragState;
311
397
  dragState = null;
312
- detachPointerListeners();
398
+ session.detach();
313
399
  if (!state) return;
314
400
  isDragging.value = false;
315
- const velocity = velocityFor(state);
316
- const isFlick = Math.abs(velocity) > FLICK_VELOCITY && state.travel > FLICK_MIN_DISTANCE;
401
+ const velocity = velocityFor(state.samples, state.lastY, state.lastT, state.startY, state.startT);
402
+ const isFlick = Math.abs(velocity) > 1.2 && state.travel > 48;
317
403
  if (state.dir > 0 && isFlick) {
318
404
  dismissOrSettleShortest(state.baseOffset, state);
319
405
  return;
@@ -322,7 +408,7 @@ function useSheetGestures(options) {
322
408
  settleAt(0, state.baseOffset, state);
323
409
  return;
324
410
  }
325
- if (state.rawOffset > dismissOffsetFor(state)) {
411
+ if (state.rawOffset > dismissTravelFor(state.height, state.offsets)) {
326
412
  dismissOrSettleShortest(state.baseOffset, state);
327
413
  return;
328
414
  }
@@ -331,18 +417,25 @@ function useSheetGestures(options) {
331
417
  function cancelDrag() {
332
418
  const state = dragState;
333
419
  pendingBody = null;
420
+ touchArming = null;
334
421
  dragState = null;
335
- detachPointerListeners();
422
+ session.detach();
336
423
  if (!state) return;
337
424
  isDragging.value = false;
338
425
  dragOffset.value = state.baseOffset;
339
426
  settledOffset.value = state.baseOffset;
340
- scrimOpacity.value = scrimOpacityForOffset(state.baseOffset, state.offsets, dismissOffsetFor(state), state.peekOffset);
427
+ scrimOpacity.value = scrimOpacityForOffset(state.baseOffset, state.offsets, dismissTravelFor(state.height, state.offsets), state.peekOffset);
341
428
  onScrimOpacity(scrimOpacity.value);
342
429
  }
430
+ /** A second finger is a pinch. The browser keeps the zoom; the sheet lets go. */
431
+ function yieldToPinch(pointerId) {
432
+ if (dragState == null || dragState.pointerId === pointerId) return false;
433
+ cancelDrag();
434
+ return true;
435
+ }
343
436
  function onPointerMove(event) {
344
437
  if (dragState != null) {
345
- if (dragState.pointerId !== event.pointerId) return;
438
+ if (yieldToPinch(event.pointerId)) return;
346
439
  if (event.cancelable) event.preventDefault();
347
440
  updateDrag(event.clientY, event.timeStamp);
348
441
  return;
@@ -350,12 +443,12 @@ function useSheetGestures(options) {
350
443
  const pending = pendingBody;
351
444
  if (pending == null || pending.pointerId !== event.pointerId) return;
352
445
  const delta = event.clientY - pending.startY;
353
- if (Math.abs(delta) < DRAG_PROMOTION_SLOP) return;
446
+ if (Math.abs(delta) < 8) return;
354
447
  const pullingDown = delta > 0 && pending.atTop;
355
448
  const pullingUp = delta < 0 && pending.atBottom && activeOffset.value > 0;
356
449
  if (!pullingDown && !pullingUp) {
357
450
  pendingBody = null;
358
- detachPointerListeners();
451
+ session.detach();
359
452
  return;
360
453
  }
361
454
  pendingBody = null;
@@ -367,7 +460,7 @@ function useSheetGestures(options) {
367
460
  if (dragState != null && dragState.pointerId !== event.pointerId) return;
368
461
  pendingBody = null;
369
462
  if (dragState == null) {
370
- detachPointerListeners();
463
+ session.detach();
371
464
  return;
372
465
  }
373
466
  endDrag();
@@ -376,51 +469,54 @@ function useSheetGestures(options) {
376
469
  if (dragState != null && dragState.pointerId !== event.pointerId) return;
377
470
  cancelDrag();
378
471
  }
379
- function attachPointerListeners() {
380
- window.addEventListener("pointermove", onPointerMove);
381
- window.addEventListener("pointerup", onPointerUp);
382
- window.addEventListener("pointercancel", onPointerCancel);
383
- }
384
- function detachPointerListeners() {
385
- window.removeEventListener("pointermove", onPointerMove);
386
- window.removeEventListener("pointerup", onPointerUp);
387
- window.removeEventListener("pointercancel", onPointerCancel);
388
- }
389
472
  function onHandlePointerDown(event) {
390
473
  if (event.button != null && event.button !== 0) return;
391
- attachPointerListeners();
474
+ if (yieldToPinch(event.pointerId)) return;
475
+ session.attach();
392
476
  beginDrag(event.pointerId, event.clientY, event.timeStamp);
393
477
  if (event.cancelable) event.preventDefault();
394
478
  }
395
479
  function onBodyPointerDown(event) {
480
+ if (yieldToPinch(event.pointerId)) return;
396
481
  if (event.pointerType === "touch") return;
397
482
  if (event.button != null && event.button !== 0) return;
398
483
  const element = body.value;
399
484
  if (!element) return;
485
+ const edges = blockScrollEdges(element, event.target);
400
486
  pendingBody = {
401
487
  pointerId: event.pointerId,
402
488
  startY: event.clientY,
403
- atTop: element.scrollTop <= 0,
404
- atBottom: element.scrollTop + element.clientHeight >= element.scrollHeight - 1
489
+ atTop: edges.atTop,
490
+ atBottom: edges.atBottom
405
491
  };
406
- attachPointerListeners();
492
+ session.attach();
407
493
  }
408
- let touchArming = null;
409
494
  function onTouchStart(event) {
495
+ if (event.touches.length > 1) {
496
+ touchArming = null;
497
+ cancelDrag();
498
+ return;
499
+ }
410
500
  const touch = event.changedTouches[0];
411
501
  const element = body.value;
412
502
  if (!touch || !element) {
413
503
  touchArming = null;
414
504
  return;
415
505
  }
506
+ const edges = blockScrollEdges(element, event.target);
416
507
  touchArming = {
417
508
  identifier: touch.identifier,
418
509
  startY: touch.clientY,
419
- atTop: element.scrollTop <= 0,
420
- atBottom: element.scrollTop + element.clientHeight >= element.scrollHeight - 1
510
+ atTop: edges.atTop,
511
+ atBottom: edges.atBottom
421
512
  };
422
513
  }
423
514
  function onTouchMove(event) {
515
+ if (event.touches.length > 1) {
516
+ touchArming = null;
517
+ cancelDrag();
518
+ return;
519
+ }
424
520
  const element = body.value;
425
521
  if (dragState != null) {
426
522
  const touch = Array.from(event.changedTouches).find((item) => item.identifier === dragState?.pointerId);
@@ -434,7 +530,7 @@ function useSheetGestures(options) {
434
530
  const touch = Array.from(event.changedTouches).find((item) => item.identifier === arming.identifier);
435
531
  if (!touch) return;
436
532
  const delta = touch.clientY - arming.startY;
437
- if (Math.abs(delta) < DRAG_PROMOTION_SLOP) return;
533
+ if (Math.abs(delta) < 8) return;
438
534
  const pullingDown = delta > 0 && arming.atTop;
439
535
  const pullingUp = delta < 0 && arming.atBottom && activeOffset.value > 0;
440
536
  if (!pullingDown && !pullingUp) {
@@ -460,6 +556,15 @@ function useSheetGestures(options) {
460
556
  const height = panel.value?.getBoundingClientRect().height ?? 0;
461
557
  if (height > 0) sheetHeight.value = height;
462
558
  }
559
+ session = createSheetPointerSession({
560
+ onPointerMove,
561
+ onPointerUp,
562
+ onPointerCancel,
563
+ onTouchStart,
564
+ onTouchMove,
565
+ onTouchEnd,
566
+ onWindowBlur: () => cancelDrag()
567
+ });
463
568
  watch(panel, (element) => {
464
569
  observer?.disconnect();
465
570
  observer = null;
@@ -471,18 +576,8 @@ function useSheetGestures(options) {
471
576
  observer.observe(element);
472
577
  recordSheetHeight();
473
578
  }, { immediate: true });
474
- watch(body, (element, previous) => {
475
- if (previous) {
476
- previous.removeEventListener("touchstart", onTouchStart);
477
- previous.removeEventListener("touchmove", onTouchMove);
478
- previous.removeEventListener("touchend", onTouchEnd);
479
- previous.removeEventListener("touchcancel", onTouchEnd);
480
- }
481
- if (!element) return;
482
- element.addEventListener("touchstart", onTouchStart, { passive: true });
483
- element.addEventListener("touchmove", onTouchMove, { passive: false });
484
- element.addEventListener("touchend", onTouchEnd);
485
- element.addEventListener("touchcancel", onTouchEnd);
579
+ watch(body, (element) => {
580
+ session.setBody(element);
486
581
  updateOverflow();
487
582
  }, { immediate: true });
488
583
  watch(isOpen, (open) => {
@@ -505,13 +600,10 @@ function useSheetGestures(options) {
505
600
  watch(canDismiss, (allowed) => {
506
601
  if (!allowed) cancelDrag();
507
602
  });
508
- const onWindowBlur = () => cancelDrag();
509
- if (typeof window !== "undefined") window.addEventListener("blur", onWindowBlur);
510
603
  onBeforeUnmount(() => {
511
- detachPointerListeners();
604
+ session.destroy();
512
605
  observer?.disconnect();
513
606
  observer = null;
514
- if (typeof window !== "undefined") window.removeEventListener("blur", onWindowBlur);
515
607
  });
516
608
  return {
517
609
  isDragging,
@@ -548,6 +640,7 @@ const _hoisted_2$1 = [
548
640
  "role",
549
641
  "aria-label"
550
642
  ];
643
+ const _hoisted_3$1 = ["data-padding"];
551
644
  const _sfc_main$1 = /*@__PURE__*/ defineComponent({
552
645
  name: "AstryxBottomSheetPanel",
553
646
  __name: "BottomSheetPanel",
@@ -572,6 +665,8 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
572
665
  setup(__props, { expose: __expose, emit: __emit }) {
573
666
  const props = __props;
574
667
  const emit = __emit;
668
+ resetLayerScopedContext();
669
+ provideLayerDepth();
575
670
  const HEIGHT_BUDGETS = {
576
671
  hug: "92dvh",
577
672
  capped: "62dvh",
@@ -579,6 +674,7 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
579
674
  };
580
675
  const panel = useTemplateRef("panel");
581
676
  const body = useTemplateRef("body");
677
+ const content = useTemplateRef("content");
582
678
  useScrollbars(body);
583
679
  const isInteractive = computed(() => props.state === "open");
584
680
  const heightKind = computed(() => {
@@ -604,10 +700,6 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
604
700
  onSnap: (visibleHeight) => emit("snap", visibleHeight),
605
701
  onDismiss: () => emit("dismiss")
606
702
  });
607
- const contentStyle = computed(() => {
608
- if (props.padding == null) return void 0;
609
- return { "--_sheet-padding": `var(--astryx-spacing-${String(props.padding).replace(".", "-")})` };
610
- });
611
703
  const panelStyle = computed(() => {
612
704
  const style = { "--_sheet-budget": budget.value };
613
705
  if (isInteractive.value) {
@@ -640,6 +732,10 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
640
732
  onUpdated(() => {
641
733
  gestures.updateOverflow();
642
734
  });
735
+ watch([body, content], ([viewport, box], _previous, onCleanup) => {
736
+ if (viewport == null || box == null) return;
737
+ onCleanup(attachScrollKeyboardDelegation(viewport, box));
738
+ });
643
739
  __expose({
644
740
  element: computed(() => panel.value ?? null),
645
741
  focus: (options) => panel.value?.focus(options),
@@ -649,7 +745,7 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
649
745
  return openBlock(), createElementBlock("div", {
650
746
  ref_key: "panel",
651
747
  ref: panel,
652
- class: "astryx-bottom-sheet",
748
+ class: "astryx-bottom-sheet astryx-layer",
653
749
  "data-state": __props.state,
654
750
  "data-height": heightKind.value,
655
751
  "data-dragging": unref(gestures).isDragging.value || void 0,
@@ -671,9 +767,11 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
671
767
  style: normalizeStyle(bodyStyle.value),
672
768
  onPointerdown: _cache[1] || (_cache[1] = (...args) => unref(gestures).onBodyPointerDown && unref(gestures).onBodyPointerDown(...args))
673
769
  }, [createElementVNode("div", {
770
+ ref_key: "content",
771
+ ref: content,
674
772
  class: "astryx-bottom-sheet__content",
675
- style: normalizeStyle(contentStyle.value)
676
- }, [renderSlot(_ctx.$slots, "default")], 4)], 44, _hoisted_2$1)], 12, _hoisted_1$1);
773
+ "data-padding": __props.padding
774
+ }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_3$1)], 44, _hoisted_2$1)], 12, _hoisted_1$1);
677
775
  };
678
776
  }
679
777
  });
@@ -681,6 +779,39 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
681
779
  //#region src/BottomSheet/switcher.ts
682
780
  const bottomSheetSwitcherKey = Symbol("astryx-bottom-sheet-switcher");
683
781
  //#endregion
782
+ //#region src/BottomSheet/useSheetLayerDismiss.ts
783
+ /**
784
+ * 把底部面板登记进全页关闭栈。
785
+ *
786
+ * 点在外面不关:遮罩点击由对话框自己认,非模态时页面还要能点。
787
+ * Escape 只打最上面一层。退出动画还在屏幕上时继续占着栈,按键不会漏到后面。
788
+ */
789
+ function useSheetLayerDismiss(options) {
790
+ const depth = useLayerDepth();
791
+ const token = {};
792
+ let stop = null;
793
+ function sync() {
794
+ stop?.();
795
+ stop = null;
796
+ if (!options.isActive.value) return;
797
+ stop = pushLayer({
798
+ token,
799
+ depth,
800
+ getContainer: options.getContainer,
801
+ dismissOnPointerOutside: false,
802
+ dismissOnEscape: options.escape.value,
803
+ isPresent: options.isPresent,
804
+ onDismiss: options.onDismiss
805
+ });
806
+ }
807
+ watch([options.isActive, options.escape], sync, { immediate: true });
808
+ onScopeDispose(() => {
809
+ stop?.();
810
+ stop = null;
811
+ });
812
+ return { isTop: () => options.isActive.value && isTopLayer(token) };
813
+ }
814
+ //#endregion
684
815
  //#region src/BottomSheet/BottomSheet.vue
685
816
  const _hoisted_1 = ["inert"];
686
817
  const _hoisted_2 = {
@@ -820,8 +951,22 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
820
951
  unlockScroll();
821
952
  isPresented.value = false;
822
953
  const target = toValue(props.finalFocusRef);
823
- if (target?.isConnected) target.focus();
954
+ if (target?.isConnected) focusForLastInput(target);
824
955
  }
956
+ const layer = useSheetLayerDismiss({
957
+ isActive: computed(() => !hosted.value && !props.isInline && (isOpen.value || isPresented.value)),
958
+ escape: computed(() => {
959
+ if (!isOpen.value || props.purpose === "required") return "block";
960
+ if (!props.hasScrim) return "ignore";
961
+ return "close";
962
+ }),
963
+ getContainer: () => dialog.value ?? null,
964
+ isPresent: () => dialog.value?.open ?? false,
965
+ onDismiss: () => {
966
+ if (!isOpen.value || props.purpose === "required") return;
967
+ requestClose();
968
+ }
969
+ });
825
970
  function requestClose() {
826
971
  if (hosted.value && props.sheetId != null) {
827
972
  if (switcher?.activeId.value === props.sheetId) switcher.setActive(null);
@@ -836,13 +981,14 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
836
981
  requestClose();
837
982
  }
838
983
  function onKeydown(event) {
839
- if (event.key !== "Escape") return;
984
+ if (event.key !== "Escape" || !layer.isTop()) return;
840
985
  event.preventDefault();
841
- if (event.isComposing || event.keyCode === 229) return;
986
+ if (isImeKeyEvent(event)) return;
842
987
  dismissOnEscape();
843
988
  }
844
989
  function onCancel(event) {
845
990
  event.preventDefault();
991
+ if (!layer.isTop()) return;
846
992
  dismissOnEscape();
847
993
  }
848
994
  function onDialogClick(event) {
@@ -978,4 +1124,4 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
978
1124
  }
979
1125
  });
980
1126
  //#endregion
981
- export { bottomSheetSwitcherKey as n, _sfc_main as t };
1127
+ export { useSheetLayerDismiss as n, bottomSheetSwitcherKey as r, _sfc_main as t };