@astryx-vue/core 0.3.0 → 0.4.1

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 (512) 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.d.ts +1 -1
  4. package/dist/AppShell/index.js +1 -1
  5. package/dist/{AppShell-0wTvOo3H.js → AppShell-awAKicsc.js} +3 -3
  6. package/dist/Avatar/index.js +1 -1
  7. package/dist/{Avatar-pPZ4dI_s.js → Avatar-DXBjJ88C.js} +47 -34
  8. package/dist/AvatarGroup/index.d.ts +1 -1
  9. package/dist/AvatarGroup/index.js +1 -1
  10. package/dist/{AvatarGroup-B--NQSB3.js → AvatarGroup-kpAeKLNq.js} +57 -13
  11. package/dist/Banner/index.d.ts +1 -1
  12. package/dist/Banner/index.js +1 -1
  13. package/dist/{Banner-GbGxrqQO.js → Banner-BdvuyzAe.js} +71 -35
  14. package/dist/Blockquote/index.js +1 -1
  15. package/dist/Blockquote-DRoKdcxZ.js +27 -0
  16. package/dist/BottomSheet/index.d.ts +1 -1
  17. package/dist/BottomSheet/index.js +2 -2
  18. package/dist/{BottomSheet-pt7m4CvC.js → BottomSheet-B4sc3F1S.js} +286 -140
  19. package/dist/{BottomSheet-JYMB_Ofl.js → BottomSheet-m54uCMJN.js} +20 -4
  20. package/dist/Breadcrumbs/index.d.ts +2 -2
  21. package/dist/Breadcrumbs/index.js +2 -2
  22. package/dist/Breadcrumbs-D4ZzHEB0.js +223 -0
  23. package/dist/Button/index.d.ts +1 -1
  24. package/dist/Button/index.js +1 -1
  25. package/dist/{Button-B6Hj_O_s.js → Button-ONOoHdkg.js} +25 -15
  26. package/dist/ButtonGroup/index.d.ts +1 -1
  27. package/dist/ButtonGroup/index.js +1 -1
  28. package/dist/ButtonGroup-DnkSZ9a5.js +87 -0
  29. package/dist/{ButtonTooltip-nWWrth8j.js → ButtonTooltip-CNKOQHYR.js} +7 -4
  30. package/dist/Calendar/index.d.ts +1 -1
  31. package/dist/Calendar/index.js +1 -1
  32. package/dist/{Calendar-B7vIowKq.js → Calendar-CjK-JUDM.js} +5 -5
  33. package/dist/Card/index.d.ts +2 -2
  34. package/dist/Carousel/index.js +1 -1
  35. package/dist/{Carousel-CA8zpD9v.js → Carousel-D262qigj.js} +8 -8
  36. package/dist/Chat/index.d.ts +1 -1
  37. package/dist/Chat/index.js +1 -1
  38. package/dist/{Chat-Bmna9EOA.js → Chat-DD_mlIP3.js} +165 -101
  39. package/dist/CheckboxIndicator/index.js +1 -1
  40. package/dist/{CheckboxIndicator-D37cm2Rh.js → CheckboxIndicator-fH4d-JE1.js} +9 -3
  41. package/dist/CheckboxInput/index.d.ts +1 -1
  42. package/dist/CheckboxInput/index.js +1 -1
  43. package/dist/{CheckboxInput-BS9J6edf.js → CheckboxInput-D8vTmAMZ.js} +20 -12
  44. package/dist/CheckboxList/index.d.ts +1 -1
  45. package/dist/CheckboxList/index.js +1 -1
  46. package/dist/{CheckboxList-CX1i_jVP.js → CheckboxList-DCvHewHB.js} +155 -38
  47. package/dist/Citation/index.js +1 -1
  48. package/dist/{Citation-Djgwa0ko.js → Citation-C69BgxW3.js} +8 -3
  49. package/dist/ClickableCard/index.d.ts +1 -1
  50. package/dist/ClickableCard/index.js +1 -1
  51. package/dist/{ClickableCard-DUsC-j03.js → ClickableCard-ChAfiw9T.js} +9 -6
  52. package/dist/Code/index.d.ts +1 -1
  53. package/dist/Code/index.js +3 -3
  54. package/dist/{Code-XnPuGxey.js → Code-Bg7GBdxy.js} +2 -1
  55. package/dist/{CodeBlock-D0BFubut.js → CodeBlock-DsbwTBiT.js} +8 -8
  56. package/dist/Collapsible/index.d.ts +1 -1
  57. package/dist/Collapsible/index.js +1 -1
  58. package/dist/{Collapsible-Cov3Pyq5.js → Collapsible-Bdj0WYpb.js} +13 -11
  59. package/dist/CommandPalette/index.d.ts +1 -1
  60. package/dist/CommandPalette/index.js +1 -1
  61. package/dist/{CommandPalette-YHsUNg3V.js → CommandPalette-CZ7CZglZ.js} +147 -67
  62. package/dist/ComplexSelector/index.d.ts +1 -1
  63. package/dist/ComplexSelector/index.js +1 -1
  64. package/dist/{ComplexSelector-DWLdKPGI.js → ComplexSelector-CIz6DDmY.js} +114 -28
  65. package/dist/ContextMenu/index.d.ts +2 -2
  66. package/dist/ContextMenu/index.js +2 -2
  67. package/dist/{ContextMenu-Bq9b3Ti5.js → ContextMenu-CxoiRh_h.js} +297 -179
  68. package/dist/DateInput/index.d.ts +1 -1
  69. package/dist/DateInput/index.js +1 -1
  70. package/dist/{DateInput-DT518j5E.js → DateInput-C67HCOU-.js} +563 -72
  71. package/dist/DateRangeInput/index.d.ts +1 -1
  72. package/dist/DateRangeInput/index.js +1 -1
  73. package/dist/{DateRangeInput-Bqi5tlIA.js → DateRangeInput-Dsf5Tyf-.js} +91 -26
  74. package/dist/DateTimeInput/index.d.ts +1 -1
  75. package/dist/DateTimeInput/index.js +1 -1
  76. package/dist/DateTimeInput-tfM1y5nZ.js +562 -0
  77. package/dist/Dialog/index.d.ts +1 -1
  78. package/dist/Dialog/index.js +2 -2
  79. package/dist/{Dialog-BiOSKQso.js → Dialog-DT1GzCrB.js} +28 -11
  80. package/dist/{Dialog-FGHfDu5M.js → Dialog-fhyxB00e.js} +32 -5
  81. package/dist/Divider/index.d.ts +1 -1
  82. package/dist/Divider/index.js +1 -1
  83. package/dist/{Divider-BtwnL18I.js → Divider-mOZ6vIQw.js} +5 -1
  84. package/dist/DropdownMenu/index.d.ts +2 -2
  85. package/dist/DropdownMenu/index.js +3 -3
  86. package/dist/{DropdownMenu-CoOQVlRp.js → DropdownMenu-C6wBC18g.js} +84 -56
  87. package/dist/{DropdownMenu-DEb2dSSP.js → DropdownMenu-G-pWSiBk.js} +479 -264
  88. package/dist/{DropdownMenuRadioItem.vue-CXEURBcq.d.ts → DropdownMenuRadioItem.vue-Qd-8Rg4Q.d.ts} +236 -230
  89. package/dist/EmptyState/index.js +1 -1
  90. package/dist/{EmptyState-C_GH7IV5.js → EmptyState-CmOQf2SH.js} +2 -2
  91. package/dist/Field/index.d.ts +4 -3
  92. package/dist/Field/index.js +4 -3
  93. package/dist/{Field-D5gUEGw4.js → Field-JIxT3xCh.js} +5 -4
  94. package/dist/FieldIcon-BFSHZEs_.js +40 -0
  95. package/dist/{FieldInfoTip-Ds-sW_jY.js → FieldInfoTip-BbgLt4ug.js} +4 -4
  96. package/dist/{FieldLabel-BNeXRuGH.js → FieldLabel-CHqp1y3z.js} +13 -8
  97. package/dist/FieldStatus/index.d.ts +1 -1
  98. package/dist/FieldStatus/index.js +1 -1
  99. package/dist/{FieldStatus-MjY19ERl.js → FieldStatus-DaAB3TIt.js} +1 -1
  100. package/dist/FileInput/index.d.ts +1 -1
  101. package/dist/FileInput/index.js +1 -1
  102. package/dist/{FileInput-BpdiO1V8.js → FileInput-Bi1uty-F.js} +108 -31
  103. package/dist/FormLayout/index.d.ts +1 -1
  104. package/dist/FormLayout/index.js +1 -1
  105. package/dist/{FormLayout-D47FjiOq.js → FormLayout-B9dUB6Ps.js} +1 -1
  106. package/dist/Heading/index.d.ts +1 -1
  107. package/dist/Heading/index.js +1 -1
  108. package/dist/{Heading-BnwWEWkp.js → Heading-BzBunfN7.js} +1 -1
  109. package/dist/HoverCard/index.js +1 -1
  110. package/dist/{HoverCard-ycY50pRN.js → HoverCard-BpJhT0sn.js} +35 -22
  111. package/dist/Icon/index.d.ts +4 -4
  112. package/dist/Icon/index.js +1 -1
  113. package/dist/{Icon-bteSId7T.js → Icon-KDnUyY7f.js} +12 -20
  114. package/dist/IconButton/index.js +1 -1
  115. package/dist/{IconButton-DDNgNl7B.js → IconButton-DI-XBbtV.js} +1 -1
  116. package/dist/Indicator/index.d.ts +2 -2
  117. package/dist/Indicator/index.js +2 -1
  118. package/dist/InputClearButton-CfSIqc-V.js +40 -0
  119. package/dist/InputGroup/index.d.ts +1 -1
  120. package/dist/InputGroup/index.js +2 -2
  121. package/dist/{InputGroup-CA03Smrs.js → InputGroup-D3F-QnET.js} +2 -2
  122. package/dist/InternationalizationProvider/index.d.ts +1 -1
  123. package/dist/InternationalizationProvider/index.js +1 -1
  124. package/dist/{InternationalizationProvider-DJay_w3B.js → InternationalizationProvider-CVV5QDgp.js} +5 -9
  125. package/dist/{Item-KhFKX9St.js → Item-DWMIjN8n.js} +34 -9
  126. package/dist/Kbd/index.js +1 -1
  127. package/dist/{Kbd-BB-Dw6zE.js → Kbd-CV3LO2Ge.js} +18 -2
  128. package/dist/LayerContentBoundary-CvsKxwwm.js +27 -0
  129. package/dist/LayerProvider/index.js +1 -1
  130. package/dist/{LayerProvider-D9NsQFzL.js → LayerProvider-B6zpMBWC.js} +15 -3
  131. package/dist/Layout/index.d.ts +1 -1
  132. package/dist/Layout/index.js +2 -2
  133. package/dist/{Layout-C6RHllr-.js → Layout-JJRCG7Mf.js} +1 -1
  134. package/dist/{LayoutPanel-DXOsaeQb.js → LayoutPanel-zM5vjrKS.js} +12 -8
  135. package/dist/Lightbox/index.js +1 -1
  136. package/dist/{Lightbox-DTF9EdTG.js → Lightbox-CjXhbDPc.js} +14 -12
  137. package/dist/Link/index.js +1 -1
  138. package/dist/{Link-BqHCtiyt.js → Link-ClNkTN1Q.js} +29 -12
  139. package/dist/List/index.d.ts +1 -1
  140. package/dist/List/index.js +2 -2
  141. package/dist/{ListItem-8RWT8XAG.js → ListItem-BQXMu1Tb.js} +1 -1
  142. package/dist/Markdown/index.d.ts +5 -2
  143. package/dist/Markdown/index.js +4 -2
  144. package/dist/Markdown/parser/index.d.ts +4 -0
  145. package/dist/Markdown/parser/index.js +2 -0
  146. package/dist/Markdown/plugin-protocol/index.d.ts +35 -0
  147. package/dist/Markdown/plugin-protocol/index.js +107 -0
  148. package/dist/Markdown/plugin-renderer/index.d.ts +31 -0
  149. package/dist/Markdown/plugin-renderer/index.js +42 -0
  150. package/dist/{Markdown-CvtN7HnF.js → Markdown-EIBrwQrb.js} +195 -524
  151. package/dist/MediaTheme-DlLqYhDy.js +433 -0
  152. package/dist/MetadataList/index.js +1 -1
  153. package/dist/{MetadataList-B-OelQlt.js → MetadataList-DLlSLX1n.js} +15 -7
  154. package/dist/MobileNav/index.js +1 -1
  155. package/dist/{MobileNavToggle-DxGz0xKA.js → MobileNavToggle-DgJYyzT6.js} +52 -17
  156. package/dist/MoreMenu/index.d.ts +1 -1
  157. package/dist/MoreMenu/index.js +1 -1
  158. package/dist/{MoreMenu-Dlb7MLlW.js → MoreMenu-C8BEt6-O.js} +74 -61
  159. package/dist/MultiSelector/index.d.ts +1 -1
  160. package/dist/MultiSelector/index.js +1 -1
  161. package/dist/MultiSelector-C7NCAtwW.js +1456 -0
  162. package/dist/{NavDisclosure-C_fugrQ3.js → NavDisclosure-Bq9DTZLO.js} +29 -7
  163. package/dist/{NavHeadingSurface-B3yJspSN.js → NavHeadingSurface-DQXisuaX.js} +29 -26
  164. package/dist/NavItem/index.d.ts +1 -1
  165. package/dist/NavItem/index.js +2 -2
  166. package/dist/{NavItem-BBIGSvDj.js → NavItem-BPb3yfgz.js} +17 -4
  167. package/dist/NavMenu/index.d.ts +1 -1
  168. package/dist/NavMenu/index.js +3 -3
  169. package/dist/{NavMenu-ThXguZAz.js → NavMenu-BYIDzjix.js} +42 -15
  170. package/dist/{NavMenuItem-BvJNsDFC.js → NavMenuItem-D3FO90GR.js} +14 -12
  171. package/dist/NumberInput/index.d.ts +1 -1
  172. package/dist/NumberInput/index.js +1 -1
  173. package/dist/NumberInput-3u3NZWnv.js +727 -0
  174. package/dist/Outline/index.d.ts +2 -2
  175. package/dist/Outline/index.js +2 -2
  176. package/dist/{Outline-755h-lMP.js → Outline-8szj9eXu.js} +91 -6
  177. package/dist/OverflowList/index.d.ts +2 -2
  178. package/dist/OverflowList/index.js +1 -1
  179. package/dist/{OverflowList-NmrSMbxb.js → OverflowList-BizpEwH8.js} +23 -6
  180. package/dist/Pagination/index.d.ts +1 -1
  181. package/dist/Pagination/index.js +1 -1
  182. package/dist/{Pagination-DqwNQFRp.js → Pagination-Cihr1CjD.js} +2 -2
  183. package/dist/PickerWheel-CSwUYfes.js +69 -0
  184. package/dist/Popover/index.d.ts +1 -1
  185. package/dist/Popover/index.js +1 -1
  186. package/dist/{Popover-DJf8POzL.js → Popover-78dFjTb9.js} +20 -15
  187. package/dist/PowerSearch/index.d.ts +1 -1
  188. package/dist/PowerSearch/index.js +1 -1
  189. package/dist/{PowerSearch-DvjiPqMZ.js → PowerSearch-BHx91ypY.js} +778 -590
  190. package/dist/ProgressBar/index.d.ts +1 -1
  191. package/dist/ProgressBar/index.js +1 -1
  192. package/dist/{ProgressBar-CVLzdoBK.js → ProgressBar-VP4JS7vm.js} +10 -7
  193. package/dist/Radio/index.d.ts +1 -1
  194. package/dist/Radio/index.js +1 -1
  195. package/dist/{RadioGroup-Bfu6JSNV.js → RadioGroup-DeSIRrgt.js} +94 -26
  196. package/dist/RadioList/index.d.ts +1 -1
  197. package/dist/RadioList/index.js +1 -1
  198. package/dist/{RadioList-xY1cwLdZ.js → RadioList-Co2lmetC.js} +57 -8
  199. package/dist/Resizable/index.d.ts +1 -1
  200. package/dist/Resizable/index.js +1 -1
  201. package/dist/{ResizeHandle-q4nD_586.js → ResizeHandle-DjLZ2pcq.js} +103 -50
  202. package/dist/ScrollableArea/index.d.ts +1 -1
  203. package/dist/ScrollableArea/index.js +1 -1
  204. package/dist/{ScrollableArea-D4dCJv9I.js → ScrollableArea-0u6RWtGG.js} +1 -1
  205. package/dist/SegmentedControl/index.d.ts +1 -1
  206. package/dist/SegmentedControl/index.js +1 -1
  207. package/dist/{SegmentedControl-ChHmFrrC.js → SegmentedControl-D1wWGBZo.js} +11 -5
  208. package/dist/SelectableCard/index.d.ts +1 -1
  209. package/dist/SelectableCard/index.js +1 -1
  210. package/dist/{SelectableCard-Cku4dRzc.js → SelectableCard-BEqnhPaX.js} +16 -11
  211. package/dist/Selector/index.d.ts +1 -1
  212. package/dist/Selector/index.js +1 -1
  213. package/dist/Selector-swa3RNQI.js +1049 -0
  214. package/dist/SideNav/index.d.ts +1 -1
  215. package/dist/SideNav/index.js +1 -1
  216. package/dist/{SideNav-BF8mYDxl.js → SideNav-BH6XKsW2.js} +56 -42
  217. package/dist/Slider/index.d.ts +1 -1
  218. package/dist/Slider/index.js +1 -1
  219. package/dist/{Slider-DWobsPgm.js → Slider-DG2YXll8.js} +172 -46
  220. package/dist/Spinner/index.js +1 -1
  221. package/dist/Spinner-BY8iQz--.js +200 -0
  222. package/dist/Stack/index.js +2 -2
  223. package/dist/{Stack-CTsTFfar.js → Stack-Bb_h60t3.js} +1 -1
  224. package/dist/{Stack-kQlYbbL4.js → Stack-Bp-XN9J4.js} +12 -7
  225. package/dist/StatusDot/index.d.ts +1 -1
  226. package/dist/StatusDot/index.js +1 -1
  227. package/dist/{StatusDot-BPUhMOff.js → StatusDot-BS_ohXhd.js} +8 -4
  228. package/dist/Stepper/index.d.ts +1 -1
  229. package/dist/Stepper/index.js +1 -1
  230. package/dist/{Stepper-CE8dHysu.js → Stepper-FtkTq5qR.js} +127 -113
  231. package/dist/Switch/index.d.ts +1 -1
  232. package/dist/Switch/index.js +1 -1
  233. package/dist/{Switch-DaVPRxvN.js → Switch-0JKvJluV.js} +38 -22
  234. package/dist/TabList/index.d.ts +2 -2
  235. package/dist/TabList/index.js +1 -1
  236. package/dist/{TabList-DIkK9sgK.js → TabList-cpjvnbhx.js} +205 -63
  237. package/dist/Table/index.d.ts +3 -3
  238. package/dist/Table/index.js +1 -1
  239. package/dist/{Table-fecqnm7P.js → Table-fWs_ZQBF.js} +735 -461
  240. package/dist/Text/index.d.ts +1 -1
  241. package/dist/Text/index.js +1 -1
  242. package/dist/{Text-CV3LmscH.js → Text-CmTOgYXf.js} +1 -1
  243. package/dist/TextArea/index.d.ts +1 -1
  244. package/dist/TextArea/index.js +1 -1
  245. package/dist/{TextArea-Ab5Sw60T.js → TextArea-CwSfEjT1.js} +110 -50
  246. package/dist/TextInput/index.d.ts +1 -1
  247. package/dist/TextInput/index.js +1 -1
  248. package/dist/{TextInput-zFT1_qgI.js → TextInput-CavITage.js} +71 -38
  249. package/dist/Theme/index.d.ts +3 -3
  250. package/dist/Theme/index.js +3 -2
  251. package/dist/Theme-BbDT8B_C.js +2125 -0
  252. package/dist/Thumbnail/index.js +1 -1
  253. package/dist/{Thumbnail-C3NnJUFG.js → Thumbnail-DpJnaNbg.js} +17 -14
  254. package/dist/{TimeField-CoHDGmsP.js → TimeField-DefNjDIT.js} +297 -40
  255. package/dist/TimeInput/index.d.ts +1 -1
  256. package/dist/TimeInput/index.js +1 -1
  257. package/dist/{TimeInput-D2k3Ux3p.js → TimeInput-j5vzN8MG.js} +78 -9
  258. package/dist/Timer/index.js +1 -1
  259. package/dist/{Timer-avMQk5DN.js → Timer-CH7GsEVu.js} +1 -1
  260. package/dist/Timestamp/index.d.ts +1 -1
  261. package/dist/Timestamp/index.js +1 -1
  262. package/dist/{Timestamp-xpQKCk0d.js → Timestamp-dtT4yADD.js} +9 -9
  263. package/dist/Toast/index.d.ts +1 -1
  264. package/dist/Toast/index.js +1 -1
  265. package/dist/Toast-igtJYSw0.js +685 -0
  266. package/dist/ToggleButton/index.d.ts +1 -1
  267. package/dist/ToggleButton/index.js +1 -1
  268. package/dist/{ToggleButton-B-C-Q7XP.js → ToggleButton-cLjh9W-x.js} +5 -4
  269. package/dist/Token/index.d.ts +1 -1
  270. package/dist/Token/index.js +1 -1
  271. package/dist/{Token-DsntTYhQ.js → Token-DhsAtAH6.js} +32 -17
  272. package/dist/Tokenizer/index.d.ts +1 -1
  273. package/dist/Tokenizer/index.js +1 -1
  274. package/dist/{Tokenizer-B5C_qY7t.js → Tokenizer-BGdj78UK.js} +107 -23
  275. package/dist/Toolbar/index.d.ts +2 -2
  276. package/dist/Toolbar/index.js +1 -1
  277. package/dist/{Toolbar-BrgvvTCk.js → Toolbar-C0pMWL4S.js} +1 -1
  278. package/dist/Tooltip/index.d.ts +1 -1
  279. package/dist/Tooltip/index.js +1 -1
  280. package/dist/{Tooltip-C4Vaqd3G.js → Tooltip-sAM8i1eO.js} +23 -19
  281. package/dist/TopNav/index.d.ts +1 -1
  282. package/dist/TopNav/index.js +1 -1
  283. package/dist/{TopNav-Ciq0l1w7.js → TopNav-Dw0m387B.js} +23 -22
  284. package/dist/TreeList/index.d.ts +1 -1
  285. package/dist/TreeList/index.js +1 -1
  286. package/dist/{TreeList-BUz-KZJd.js → TreeList-Bunn7u3T.js} +129 -46
  287. package/dist/Typeahead/index.d.ts +1 -1
  288. package/dist/Typeahead/index.js +2 -2
  289. package/dist/{Typeahead-JP9RT87x.js → Typeahead-DRyf2HEh.js} +123 -26
  290. package/dist/{TypeaheadMenu-DBW6rHeO.js → TypeaheadMenu-BY5__sPC.js} +141 -51
  291. package/dist/{announce-Cnio10Wk.js → announce-B210eJVf.js} +17 -2
  292. package/dist/characters-rcDbGt71.d.ts +29 -0
  293. package/dist/characters-wTnzjkkR.js +58 -0
  294. package/dist/{colorMode-CBgdgDSn.js → colorMode-BxqfDP4P.js} +1 -4
  295. package/dist/composables/index.d.ts +5 -4
  296. package/dist/composables/index.js +23 -18
  297. package/dist/{composables-CbKx9C1Y.js → composables-CnsDaMuU.js} +167 -197
  298. package/dist/context-B6UElI5X.js +5 -0
  299. package/dist/context-CM-cjGg_.js +1425 -0
  300. package/dist/{context-Cfjh8te1.js → context-Cfml4jaK.js} +5 -3
  301. package/dist/context-IvbU9c3T.js +8 -0
  302. package/dist/context-pjBxaMSh.js +28 -0
  303. package/dist/fieldParts--SyRZVQG.js +44 -0
  304. package/dist/fieldParts-LXpQMKE8.d.ts +27 -0
  305. package/dist/{focus-CpficIgf.js → focus-l8jVTcqd.js} +1 -1
  306. package/dist/hoverIntent-DMHGb85c.js +115 -0
  307. package/dist/{index-ClNU2Th8.d.ts → index-3t5RAfNP.d.ts} +6 -2
  308. package/dist/{index-B9e52paP.d.ts → index-5LVG3QyV.d.ts} +1 -1
  309. package/dist/{index-CsNi1I8j.d.ts → index-B08-Uxhv.d.ts} +4 -2
  310. package/dist/{index-TXcNH86P.d.ts → index-B1eCxBCY.d.ts} +1 -1
  311. package/dist/{index-Cn-sSds-.d.ts → index-B1t1oQWH.d.ts} +24 -1
  312. package/dist/{index-BkjSF265.d.ts → index-BEZ4ezJk.d.ts} +3 -3
  313. package/dist/{index-yT1yiiww.d.ts → index-BI6jikpA.d.ts} +23 -11
  314. package/dist/{index-DeQwYJbg.d.ts → index-BNaRK-s5.d.ts} +10 -1
  315. package/dist/{index-D97pQbua.d.ts → index-BV2D2x_u.d.ts} +1 -1
  316. package/dist/{index-Crp3NFLW.d.ts → index-BZKgbyN9.d.ts} +1 -1
  317. package/dist/{index-Bu8NA2SD.d.ts → index-BaxM-pFP.d.ts} +12 -3
  318. package/dist/{index-BVKivP59.d.ts → index-Bgk1Rj2A.d.ts} +32 -3
  319. package/dist/index-BkUkm6Al.d.ts +11 -0
  320. package/dist/index-Bo-ofFyg.d.ts +166 -0
  321. package/dist/{index-B1WJxt-n.d.ts → index-C-tFz2Yx.d.ts} +17 -7
  322. package/dist/{index-DWh2WC8W.d.ts → index-C4Cjz6OK.d.ts} +2 -2
  323. package/dist/{index-CqE4Bf3Q.d.ts → index-C732aNMY.d.ts} +18 -4
  324. package/dist/{index-B7yhzGUT.d.ts → index-C7sam-SB.d.ts} +2 -2
  325. package/dist/{index-BrJzFA5X.d.ts → index-C90l2rH1.d.ts} +1 -1
  326. package/dist/{index-vP0EtrJJ.d.ts → index-C9gAlDt_.d.ts} +6 -3
  327. package/dist/index-CKUfpmFL.d.ts +375 -0
  328. package/dist/{index-CL1T2j4y.d.ts → index-CL8JvxHW.d.ts} +3 -3
  329. package/dist/{index-IBAInumL.d.ts → index-CMme-xmL.d.ts} +19 -6
  330. package/dist/{index-gW0HW02U.d.ts → index-COxy6LEW.d.ts} +1 -1
  331. package/dist/{index-12QYAbiz.d.ts → index-CRrSHbok.d.ts} +3 -2
  332. package/dist/{index-B42oE_F-.d.ts → index-CT5OEUxd.d.ts} +17 -4
  333. package/dist/{index-DG52Bg0W.d.ts → index-CTf3SK0b.d.ts} +6 -0
  334. package/dist/{index-Cde5JvtX.d.ts → index-CUVmtB5-.d.ts} +13 -6
  335. package/dist/{index-DXpSFlPG.d.ts → index-CWaSYtk9.d.ts} +4 -4
  336. package/dist/{index-CVn0GBdB.d.ts → index-Ca8VIE4l.d.ts} +1 -1
  337. package/dist/{index-Cyb9Du5Z.d.ts → index-CfR2Z0uG.d.ts} +1 -1
  338. package/dist/{index-Byar3h1e.d.ts → index-D05JGsT3.d.ts} +6 -3
  339. package/dist/{index-hCpxKePE.d.ts → index-D5N9ikrS.d.ts} +1 -1
  340. package/dist/{index-CkKPMIeX.d.ts → index-D7XRtUTY.d.ts} +9 -0
  341. package/dist/{index-i0tNFWfz.d.ts → index-D8lv2BiD.d.ts} +3 -1
  342. package/dist/{index-TntQsADQ.d.ts → index-DEm3kRBO.d.ts} +4 -3
  343. package/dist/{index-0QGtSf3r.d.ts → index-DFLPv9io.d.ts} +4 -3
  344. package/dist/{index-C2nbK2AA.d.ts → index-DLAG3m9W.d.ts} +13 -3
  345. package/dist/{index-D41_xqjs.d.ts → index-DTuhnqHb.d.ts} +16 -9
  346. package/dist/{index-B3Fomy15.d.ts → index-DbiZvj1P.d.ts} +4 -4
  347. package/dist/{index-C5e-7Obr.d.ts → index-Dj1_1t3j.d.ts} +19 -6
  348. package/dist/{index-DIXAzTKL.d.ts → index-DxxudRgB.d.ts} +1 -1
  349. package/dist/{index-BhpAUzUr.d.ts → index-Dy746dfn.d.ts} +1 -1
  350. package/dist/{index-GI9xIV9l.d.ts → index-JL4auphT.d.ts} +2 -2
  351. package/dist/{index-DVmgNb78.d.ts → index-TA1zVibb.d.ts} +4 -4
  352. package/dist/{index-DUaLJO7l.d.ts → index-UA93Im7H.d.ts} +155 -109
  353. package/dist/{index-COgrQZIL.d.ts → index-YKCx03zD.d.ts} +2 -2
  354. package/dist/{index-XuAAcYiP.d.ts → index-f3d9cVtj.d.ts} +1 -1
  355. package/dist/{index-T2FOcOuI.d.ts → index-jOwU3YoR.d.ts} +400 -90
  356. package/dist/{index-CICeEoZV.d.ts → index-pNtfr-RW.d.ts} +1 -1
  357. package/dist/{index-B4OOtNP8.d.ts → index-pYh4gqgl.d.ts} +1 -1
  358. package/dist/index.d.ts +81 -75
  359. package/dist/index.js +150 -136
  360. package/dist/inlineSize-BNe8wggI.js +66 -0
  361. package/dist/inputPresentation-BOyHkCDr.js +62 -0
  362. package/dist/interactionModality-ACpTMhak.js +44 -0
  363. package/dist/isApplePlatform-B1ju6F5B.js +27 -0
  364. package/dist/isRenderable-BnKHIqfd.js +21 -0
  365. package/dist/layerDepth-CNDh-IHb.js +181 -0
  366. package/dist/link-DuuA2eCL.js +30 -0
  367. package/dist/loadCatalog-CsZFr9dg.js +424 -0
  368. package/dist/loadCatalog-opk5hs94.d.ts +803 -0
  369. package/dist/locale/index.d.ts +2 -2
  370. package/dist/locale/index.js +4 -3
  371. package/dist/locale-D1Z3K290.js +343 -0
  372. package/dist/modalOutlet-CUOcrhIu.js +56 -0
  373. package/dist/optionAction-Cg7xQLUA.d.ts +6 -0
  374. package/dist/{power-search-DrDfcoL1.d.ts → power-search-gHLIYXs5.d.ts} +2 -0
  375. package/dist/protocol-DHxY0NI8.js +113 -0
  376. package/dist/protocol-DwUmpC5G.d.ts +240 -0
  377. package/dist/publicParser-B6XMcsB2.d.ts +141 -0
  378. package/dist/publicParser-DWUMCx7j.js +1437 -0
  379. package/dist/resizableChannel-3vivrEcT.js +20 -0
  380. package/dist/safeUrl-CsvfcZ9m.js +54 -0
  381. package/dist/scopedProvide-C-Df7c15.js +30 -0
  382. package/dist/scrollKeyboardDelegation-D7cumnOl.js +238 -0
  383. package/dist/scrollLock-C3aT4-0z.js +102 -0
  384. package/dist/{searchResultMessage-hXXNOFJP.js → searchResultMessage-DtyScdZs.js} +5 -14
  385. package/dist/{semantic-CKH9XVqa.d.ts → semantic-BF_AjLvk.d.ts} +6 -3
  386. package/dist/slug-DAK6hdbr.js +17 -0
  387. package/dist/syntaxContext-DmIfNNtb.js +4 -0
  388. package/dist/triggerVariant-BsL8jMHs.js +16 -0
  389. package/dist/{types-0Q_SJv_F.d.ts → types-Bb7OGivY.d.ts} +6 -1
  390. package/dist/{types-CwyibrRB.d.ts → types-C5GQ2KCK.d.ts} +23 -3
  391. package/dist/{types-gKsEkk2g.d.ts → types-CsqwQkf1.d.ts} +143 -10
  392. package/dist/upstreamMap-ocuIRfI2.js +893 -0
  393. package/dist/{useAnchoredListbox-DwztMNjP.js → useAnchoredListbox-DGxxKHZb.js} +2 -2
  394. package/dist/{useAsyncSource-xpQovjV_.d.ts → useAsyncSource-aGzrvRkI.d.ts} +3 -0
  395. package/dist/{useClickableContainer-DyNpnSEa.js → useClickableContainer-CdGp_Cev.js} +1 -1
  396. package/dist/{useClipboard-BDfbEsWd.js → useClipboard-Dk8cS810.js} +1 -1
  397. package/dist/useHoverLayerDismiss-kYJ_NqL4.js +27 -0
  398. package/dist/{useIndicator-i1NORM7W.js → useIndicator-D9Y0dJsm.js} +5 -23
  399. package/dist/{useInputContainer-CpgDe2-4.js → useInputContainer-CLcYrby4.js} +1 -1
  400. package/dist/{useInputStatusIcon-DBOwxV4x.js → useInputStatusIcon-CWkCeMyX.js} +2 -2
  401. package/dist/useLayerMountTarget-BmZyeKWE.js +156 -0
  402. package/dist/{useListFocus-D0iOJl39.js → useListFocus-ChxLg0b4.js} +3 -2
  403. package/dist/{useMenuDrillIn-DzKGkTho.js → useMenuDrillIn-DhUnPvKs.js} +6 -5
  404. package/dist/useMenuHover-Djreu23i.js +170 -0
  405. package/dist/useMenuPress-8foxY8z4.js +764 -0
  406. package/dist/{useMergedRefs-CfHHlCsn.js → useMergedRefs-Cb6_w93m.js} +24 -4
  407. package/dist/{useNumberField-4-dIGVed.js → useNumberField-Dk1BE3-K.js} +3 -3
  408. package/dist/useOptionActionGrid-CkJcuvaU.js +97 -0
  409. package/dist/{usePositionedLayer-Cru9_00b.js → usePositionedLayer-B7cvG-_v.js} +43 -49
  410. package/dist/usePressFeedback-BJCpjEpv.js +319 -0
  411. package/dist/{useResizable-DDwPpPe6.d.ts → useResizable-1MHPNaRD.d.ts} +19 -1
  412. package/dist/{useResizable-B3ahKLoZ.js → useResizable-I3BCiLSL.js} +72 -40
  413. package/dist/useResolvedLabelHidden-B2rlWiaI.js +30 -0
  414. package/dist/{useRestoreFocus-Djw9RUIf.js → useRestoreFocus-XEKs5-gp.js} +49 -7
  415. package/dist/useScrollOverflow-DuMoGXmm.js +67 -0
  416. package/dist/useScrollableArea-BE8b3qm7.js +222 -0
  417. package/dist/{useTimeValue-6ufHM15W.js → useTimeValue-BJd0xBhG.js} +4 -22
  418. package/dist/useTranslator-PEXMxDpv.js +35 -0
  419. package/dist/{useTypeahead-PAK8lMYz.js → useTypeahead-BvtflkRk.js} +4 -5
  420. package/dist/utils/index.d.ts +3 -0
  421. package/dist/utils/index.js +5 -0
  422. package/dist/{utils-D33VQDnk.js → utils-ClVseK2w.js} +29 -2
  423. package/dist/utils-z3Q6BGIJ.js +819 -0
  424. package/locales/SOURCE.json +1 -1
  425. package/package.json +18 -2
  426. package/reset.css +364 -1
  427. package/styles/avatar-group.css +9 -1
  428. package/styles/badge.css +8 -5
  429. package/styles/banner.css +125 -26
  430. package/styles/blockquote.css +1 -0
  431. package/styles/bordered-control.css +1 -1
  432. package/styles/bottom-sheet.css +74 -6
  433. package/styles/breadcrumbs.css +16 -2
  434. package/styles/button-group.css +3 -1
  435. package/styles/button.css +53 -11
  436. package/styles/card.css +1 -1
  437. package/styles/chat.css +16 -6
  438. package/styles/checkbox-input.css +10 -0
  439. package/styles/clickable-card.css +10 -3
  440. package/styles/collapsible.css +12 -5
  441. package/styles/command-palette.css +29 -14
  442. package/styles/complex-selector.css +24 -5
  443. package/styles/context-menu.css +3 -3
  444. package/styles/date-input.css +111 -1
  445. package/styles/dialog-header.css +4 -1
  446. package/styles/dialog.css +7 -0
  447. package/styles/dropdown-menu.css +12 -3
  448. package/styles/field.css +5 -0
  449. package/styles/form-layout.css +1 -0
  450. package/styles/heading.css +18 -8
  451. package/styles/icon.css +9 -9
  452. package/styles/kbd.css +1 -1
  453. package/styles/layer.css +72 -0
  454. package/styles/list.css +9 -2
  455. package/styles/metadata-list.css +1 -0
  456. package/styles/mobile-nav.css +4 -1
  457. package/styles/multi-selector.css +48 -1
  458. package/styles/nav-item.css +9 -2
  459. package/styles/nav-menu.css +12 -2
  460. package/styles/number-input.css +9 -1
  461. package/styles/overflow-list.css +1 -1
  462. package/styles/popover.css +2 -1
  463. package/styles/power-search.css +5 -3
  464. package/styles/pressable.css +63 -22
  465. package/styles/progress-bar.css +15 -3
  466. package/styles/radio.css +16 -0
  467. package/styles/resize-handle.css +42 -0
  468. package/styles/segmented-control.css +12 -4
  469. package/styles/selector.css +53 -1
  470. package/styles/side-nav.css +19 -0
  471. package/styles/slider.css +4 -3
  472. package/styles/spinner.css +48 -42
  473. package/styles/stepper.css +58 -4
  474. package/styles/switch.css +26 -0
  475. package/styles/tab-list.css +132 -3
  476. package/styles/table.css +88 -11
  477. package/styles/text-area.css +7 -1
  478. package/styles/text-input.css +1 -1
  479. package/styles/text.css +6 -6
  480. package/styles/thumbnail.css +11 -3
  481. package/styles/time-input.css +8 -0
  482. package/styles/toast.css +37 -3
  483. package/styles/token.css +2 -2
  484. package/styles/tokenizer.css +1 -1
  485. package/styles/toolbar.css +4 -1
  486. package/styles/tree-list.css +1 -1
  487. package/styles/typeahead.css +34 -1
  488. package/styles.css +1 -0
  489. package/dist/Blockquote-DFqBv_oJ.js +0 -18
  490. package/dist/Breadcrumbs-DIm4figq.js +0 -141
  491. package/dist/ButtonGroup-ySQWanDP.js +0 -125
  492. package/dist/DateTimeInput-A7m2O3bg.js +0 -268
  493. package/dist/FieldIcon--NTgW5IU.js +0 -44
  494. package/dist/MultiSelector-BtAUfQ3t.js +0 -990
  495. package/dist/NumberInput-AZ9x3oja.js +0 -473
  496. package/dist/Selector-DJ2BhUTV.js +0 -677
  497. package/dist/Spinner-9cYUCnDy.js +0 -84
  498. package/dist/Theme-CtaUWo4g.js +0 -1246
  499. package/dist/Toast-BuqIZV5z.js +0 -322
  500. package/dist/context-4PuqD1Ic.js +0 -4
  501. package/dist/context-D5-MwxnN.js +0 -4
  502. package/dist/context-iABt_ueM.js +0 -976
  503. package/dist/index-BH9PzQ1F.d.ts +0 -87
  504. package/dist/link-C4_WogdF.js +0 -18
  505. package/dist/loadCatalog-BGHKG_9N.d.ts +0 -457
  506. package/dist/loadCatalog-CXKqEB9s.js +0 -877
  507. package/dist/locale-DgkZEMTn.js +0 -105
  508. package/dist/platform-B_9W_aHW.js +0 -33
  509. package/dist/scrollLock-BzIvIimL.js +0 -42
  510. package/dist/useMenuPress-D-FRNrBW.js +0 -573
  511. package/dist/useScrollableArea-DDk_CluT.js +0 -172
  512. /package/dist/{index-lgvUFSCO.d.ts → index-CryFtTT6.d.ts} +0 -0
@@ -1,379 +1,23 @@
1
1
  import { t as _sfc_main$1 } from "./VisuallyHidden-C7NN3VEP.js";
2
- import { o as useAstryxMessages } from "./context-iABt_ueM.js";
3
- import { t as _sfc_main$2 } from "./Heading-BnwWEWkp.js";
4
- import { t as _sfc_main$3 } from "./Blockquote-DFqBv_oJ.js";
5
- import { t as _sfc_main$4 } from "./CheckboxIndicator-D37cm2Rh.js";
6
- import { t as useIndicator } from "./useIndicator-i1NORM7W.js";
7
- import { d as _sfc_main$5, s as parseFenceLanguage, t as _sfc_main$6 } from "./CodeBlock-D0BFubut.js";
8
- import { t as _sfc_main$7 } from "./Link-BqHCtiyt.js";
2
+ import { s as useAstryxMessages } from "./context-CM-cjGg_.js";
3
+ import { t as _sfc_main$2 } from "./Heading-BzBunfN7.js";
4
+ import { t as _sfc_main$3 } from "./Blockquote-DRoKdcxZ.js";
5
+ import { t as _sfc_main$4 } from "./CheckboxIndicator-fH4d-JE1.js";
6
+ import { t as useIndicator } from "./useIndicator-D9Y0dJsm.js";
7
+ import { d as _sfc_main$5, s as parseFenceLanguage, t as _sfc_main$6 } from "./CodeBlock-DsbwTBiT.js";
8
+ import { t as _sfc_main$7 } from "./Link-ClNkTN1Q.js";
9
+ import { _ as plainText, d as parseMarkdown, f as parseMarkdownIncremental, h as sanitizeMarkdownLinkUrl, l as applyProtocolTransforms, m as sanitizeMarkdownImageUrl, p as linkOpensInNewTab, s as applyMarkdownSyntax, u as createIncrementalMarkdownState } from "./publicParser-DWUMCx7j.js";
10
+ import { l as isMarkdownPluginEntry, t as collectProtocolRenderers, u as isMarkdownSourceLinesPlugin } from "./protocol-DHxY0NI8.js";
11
+ import { n as uniqueSlug, t as slugify } from "./slug-DAK6hdbr.js";
9
12
  import { Fragment, computed, defineComponent, h, ref } from "vue";
10
- import { fromMarkdown } from "mdast-util-from-markdown";
11
- import { gfmFromMarkdown } from "mdast-util-gfm";
12
- import { gfm } from "micromark-extension-gfm";
13
13
  import "../styles/markdown.css";
14
- //#region src/Markdown/ast.ts
15
- function isMarkdownExtensionNode(node, plugin, name) {
16
- if (node.type !== "extension" || node.plugin == null || node.name == null) return false;
17
- if (plugin != null && node.plugin !== plugin) return false;
18
- if (name != null && node.name !== name) return false;
19
- return true;
20
- }
21
- function plainText(node) {
22
- if (node.type === "text" || node.type === "inlineCode" || node.type === "code" || node.type === "html") return node.value ?? "";
23
- if (node.type === "image" || node.type === "imageReference") return node.alt ?? node.label ?? "";
24
- if (node.type === "footnoteReference") return node.label ?? node.identifier ?? "";
25
- if (node.type === "break") return "\n";
26
- return (node.children ?? []).map((child) => plainText(child)).join("");
27
- }
28
- //#endregion
29
- //#region src/Markdown/blocks.ts
30
- function splitSourceLines(source) {
31
- if (source.length === 0) return [];
32
- const lines = [];
33
- let start = 0;
34
- for (let index = 0; index < source.length; index++) {
35
- if (source.charCodeAt(index) !== 10) continue;
36
- const contentEnd = index > start && source.charCodeAt(index - 1) === 13 ? index - 1 : index;
37
- lines.push({
38
- text: source.slice(start, contentEnd),
39
- start,
40
- end: index + 1,
41
- newline: true
42
- });
43
- start = index + 1;
44
- }
45
- if (start < source.length) lines.push({
46
- text: source.slice(start),
47
- start,
48
- end: source.length,
49
- newline: false
50
- });
51
- return lines;
52
- }
53
- function fenceOpener(text) {
54
- const indent = /^ {0,3}/.exec(text);
55
- const rest = text.slice(indent?.[0].length ?? 0);
56
- const markerMatch = /^(`{3,}|~{3,})/.exec(rest);
57
- if (markerMatch == null) return null;
58
- const marker = markerMatch[1] ?? "";
59
- const info = rest.slice(marker.length);
60
- if (marker.startsWith("`") && info.includes("`")) return null;
61
- const char = marker[0];
62
- if (char == null) return null;
63
- return {
64
- char,
65
- length: marker.length
66
- };
67
- }
68
- function isFenceClose(text, marker) {
69
- const match = /^ {0,3}([`~]+)[ \t]*$/.exec(text);
70
- if (match == null) return false;
71
- const closing = match[1] ?? "";
72
- return closing.length >= marker.length && [...closing].every((char) => char === marker.char);
73
- }
74
- function isAtxHeading(text) {
75
- return /^ {0,3}#{1,6}(?:[ \t]|$)/.test(text);
76
- }
77
- function isThematicBreak(text) {
78
- return /^ {0,3}([-*_])(?:[ \t]*\1){2,}[ \t]*$/.test(text);
79
- }
80
- function isSetextUnderline(text) {
81
- return /^ {0,3}(?:=+|-+)[ \t]*$/.test(text);
82
- }
83
- function isListItem(text) {
84
- return /^ {0,3}(?:[-+*]|\d{1,9}[.)])[ \t]/.test(text);
85
- }
86
- function isBlockquote(text) {
87
- return /^ {0,3}>/.test(text);
88
- }
89
- function isBlank(text) {
90
- return /^[ \t]*$/.test(text);
91
- }
92
- function isIndented(text) {
93
- return /^[ \t]+\S/.test(text);
94
- }
95
- function continuesList(text) {
96
- return isListItem(text) || isIndented(text);
97
- }
98
- function continuesQuote(text) {
99
- return isBlockquote(text) || isIndented(text);
100
- }
101
- function hasUnsettledParagraph(lines, index, settled) {
102
- const previous = lines[index - 1];
103
- if (previous == null || isBlank(previous.text) || settled > previous.start) return false;
104
- if (isAtxHeading(previous.text) || isListItem(previous.text) || isBlockquote(previous.text)) return false;
105
- if (isThematicBreak(previous.text) || fenceOpener(previous.text) != null) return false;
106
- return true;
107
- }
108
- /**
109
- * End index of the prefix whose blocks can no longer change if text is only
110
- * appended. The last open block stays after this index and is re-parsed.
111
- * The index never moves backwards as `source` grows by appending.
112
- */
113
- function findSettledEnd(source) {
114
- const lines = splitSourceLines(source);
115
- let settled = 0;
116
- let container = "top";
117
- let fence = null;
118
- for (let index = 0; index < lines.length; index++) {
119
- const line = lines[index];
120
- if (line == null || !line.newline) return settled;
121
- if (fence != null) {
122
- if (isFenceClose(line.text, fence)) {
123
- fence = null;
124
- if (container === "top") settled = line.end;
125
- }
126
- continue;
127
- }
128
- const opener = fenceOpener(line.text);
129
- if (opener != null) {
130
- fence = opener;
131
- continue;
132
- }
133
- if (container === "top" && isAtxHeading(line.text)) {
134
- settled = line.end;
135
- continue;
136
- }
137
- if (container === "top" && isSetextUnderline(line.text) && hasUnsettledParagraph(lines, index, settled)) {
138
- settled = line.end;
139
- continue;
140
- }
141
- if (container === "top" && isThematicBreak(line.text)) {
142
- settled = line.end;
143
- continue;
144
- }
145
- if (isBlank(line.text)) {
146
- const next = lines[index + 1];
147
- if (next == null || !next.newline) return settled;
148
- if (container === "list" && continuesList(next.text)) continue;
149
- if (container === "quote" && continuesQuote(next.text)) continue;
150
- container = "top";
151
- settled = line.end;
152
- continue;
153
- }
154
- if (container === "top" && isListItem(line.text)) {
155
- container = "list";
156
- continue;
157
- }
158
- if (container === "top" && isBlockquote(line.text)) container = "quote";
159
- }
160
- return settled;
161
- }
162
- /** True when a fenced code block has been opened and not closed. */
163
- function hasOpenFence(source) {
164
- const lines = splitSourceLines(source);
165
- let fence = null;
166
- for (const line of lines) {
167
- if (!line.newline) return fence != null || fenceOpener(line.text) != null;
168
- if (fence != null) {
169
- if (isFenceClose(line.text, fence)) fence = null;
170
- continue;
171
- }
172
- const opener = fenceOpener(line.text);
173
- if (opener != null) fence = opener;
174
- }
175
- return fence != null;
176
- }
177
- //#endregion
178
- //#region src/Markdown/trim.ts
179
- function isInsideCodeSpan(line, index) {
180
- let open = false;
181
- for (let cursor = 0; cursor < index; cursor++) if (line[cursor] === "`") open = !open;
182
- return open;
183
- }
184
- function trimIncompleteLink(line) {
185
- const image = line.lastIndexOf("![");
186
- const bracket = line.lastIndexOf("[");
187
- const start = Math.max(image, bracket);
188
- if (start < 0 || isInsideCodeSpan(line, start)) return line;
189
- const slice = line.slice(start);
190
- if (/^!?\[[^\]]*\]\([^)]*\)$/.test(slice) || /^!?\[[^\]]*\]$/.test(slice)) return line;
191
- if (/^!?\[[^\]]*\]\([^)]*$/.test(slice) || /^!?\[[^\]]*$/.test(slice)) return line.slice(0, start);
192
- return line;
193
- }
194
- function markerRuns(line, char, maxLength) {
195
- const runs = [];
196
- for (let index = 0; index < line.length; index++) {
197
- if (line[index] !== char) continue;
198
- let length = 1;
199
- while (line[index + length] === char) length += 1;
200
- if (length <= maxLength) runs.push({
201
- start: index,
202
- length
203
- });
204
- index += length - 1;
205
- }
206
- return runs;
207
- }
208
- /** Pair equal-length marker runs and close or drop the ones left open. */
209
- function closeRuns(line, char, maxLength) {
210
- const runs = markerRuns(line, char, maxLength);
211
- const openByLength = /* @__PURE__ */ new Map();
212
- const closed = /* @__PURE__ */ new Set();
213
- runs.forEach((run, index) => {
214
- const stack = openByLength.get(run.length) ?? [];
215
- const opener = stack.pop();
216
- if (opener == null) {
217
- stack.push(index);
218
- openByLength.set(run.length, stack);
219
- return;
220
- }
221
- closed.add(opener);
222
- closed.add(index);
223
- openByLength.set(run.length, stack);
224
- });
225
- const openIndexes = runs.map((_, index) => index).filter((index) => !closed.has(index));
226
- if (openIndexes.length === 0) return line;
227
- let result = line;
228
- for (const index of [...openIndexes].reverse()) {
229
- const run = runs[index];
230
- if (run == null) continue;
231
- const after = result.slice(run.start + run.length);
232
- if (after.trim() === "") {
233
- result = result.slice(0, run.start) + result.slice(run.start + run.length);
234
- continue;
235
- }
236
- const trailing = after.length - after.trimEnd().length;
237
- const closer = char.repeat(run.length);
238
- result = result.slice(0, result.length - trailing) + closer + result.slice(result.length - trailing);
239
- }
240
- return result;
241
- }
242
- function closeStrike(line) {
243
- const positions = [];
244
- let search = 0;
245
- while (search < line.length) {
246
- const found = line.indexOf("~~", search);
247
- if (found === -1) break;
248
- positions.push(found);
249
- search = found + 2;
250
- }
251
- if (positions.length % 2 === 0) return line;
252
- const start = positions[positions.length - 1];
253
- if (start == null) return line;
254
- const after = line.slice(start + 2);
255
- if (after.trim() === "") return line.slice(0, start);
256
- const trailing = after.length - after.trimEnd().length;
257
- return `${line.slice(0, line.length - trailing)}~~${line.slice(line.length - trailing)}`;
258
- }
259
- /**
260
- * Hide unfinished link and code markers on the last line, and close emphasis
261
- * that already has text so the words can render while the stream continues.
262
- * An open fence is left untouched.
263
- */
264
- function trimStreamingTail(tail) {
265
- if (tail === "" || hasOpenFence(tail)) return tail;
266
- const lastNewline = tail.lastIndexOf("\n");
267
- const head = lastNewline === -1 ? "" : tail.slice(0, lastNewline + 1);
268
- let line = lastNewline === -1 ? tail : tail.slice(lastNewline + 1);
269
- line = trimIncompleteLink(line);
270
- line = closeRuns(line, "`", Number.POSITIVE_INFINITY);
271
- line = closeRuns(line, "*", 3);
272
- line = closeStrike(line);
273
- return head + line;
274
- }
275
- //#endregion
276
- //#region src/Markdown/parse.ts
277
- const markdownExtensions = [gfm(), { disable: { null: ["htmlFlow", "htmlText"] } }];
278
- const mdastExtensions = [gfmFromMarkdown()];
279
- function isAutolinkLiteral(node, source) {
280
- if (node.type !== "link" || node.title != null && node.title !== "") return false;
281
- const only = node.children?.length === 1 ? node.children[0] : null;
282
- if (only == null || only.type !== "text" || only.value == null) return false;
283
- const start = node.position?.start?.offset;
284
- const end = node.position?.end?.offset;
285
- if (start == null || end == null) return false;
286
- const raw = source.slice(start, end);
287
- if (raw.startsWith("<") || raw.startsWith("[")) return false;
288
- return raw === only.value;
289
- }
290
- /** Turn bare autolinks back into text. Explicit links and `<url>` stay. */
291
- function stripAutolinkLiterals(node, source) {
292
- if (node.children == null) return node;
293
- let changed = false;
294
- const children = [];
295
- for (const child of node.children) {
296
- if (isAutolinkLiteral(child, source)) {
297
- const start = child.position?.start?.offset ?? 0;
298
- const end = child.position?.end?.offset ?? start;
299
- children.push({
300
- type: "text",
301
- value: source.slice(start, end)
302
- });
303
- changed = true;
304
- continue;
305
- }
306
- const next = stripAutolinkLiterals(child, source);
307
- if (next !== child) changed = true;
308
- children.push(next);
309
- }
310
- if (!changed) return node;
311
- return {
312
- ...node,
313
- children: mergeAdjacentText(children)
314
- };
315
- }
316
- function mergeAdjacentText(children) {
317
- const merged = [];
318
- for (const child of children) {
319
- const previous = merged[merged.length - 1];
320
- if (previous?.type === "text" && child.type === "text") {
321
- merged[merged.length - 1] = {
322
- type: "text",
323
- value: `${previous.value ?? ""}${child.value ?? ""}`
324
- };
325
- continue;
326
- }
327
- merged.push(child);
328
- }
329
- return merged;
330
- }
331
- function parseMarkdown(source, options) {
332
- const root = fromMarkdown(source, {
333
- extensions: markdownExtensions,
334
- mdastExtensions
335
- });
336
- if (options?.autolink === "gfm") return root;
337
- return stripAutolinkLiterals(root, source);
338
- }
339
- function createIncrementalMarkdownState() {
340
- return {
341
- settledEnd: 0,
342
- settledSource: "",
343
- blocks: []
344
- };
345
- }
346
- function resetIncrementalState(state) {
347
- state.settledEnd = 0;
348
- state.settledSource = "";
349
- state.blocks = [];
350
- }
351
- /**
352
- * Parse `source`, reusing the AST of every block that has already closed.
353
- * Only the suffix after {@link findSettledEnd} is parsed again. When `source`
354
- * is no longer an append of the previous value, the cache is dropped.
355
- */
356
- function parseMarkdownIncremental(source, state, options) {
357
- const settledPrefix = state.settledSource.slice(0, state.settledEnd);
358
- if (settledPrefix.length > 0 && !source.startsWith(settledPrefix)) resetIncrementalState(state);
359
- const end = findSettledEnd(source);
360
- if (end < state.settledEnd) resetIncrementalState(state);
361
- if (end > state.settledEnd) {
362
- const slice = source.slice(state.settledEnd, end);
363
- if (slice.trim() !== "") {
364
- const children = parseMarkdown(slice, { autolink: options?.autolink }).children ?? [];
365
- state.blocks = state.blocks.concat(children);
366
- }
367
- state.settledEnd = end;
368
- }
369
- state.settledSource = source;
370
- const tail = source.slice(state.settledEnd);
371
- const prepared = options?.trimTail === true ? trimStreamingTail(tail) : tail;
372
- const tailBlocks = prepared.trim() === "" ? [] : parseMarkdown(prepared, { autolink: options?.autolink }).children ?? [];
373
- return {
374
- blocks: state.blocks.concat(tailBlocks),
375
- settledCount: state.blocks.length
14
+ //#region src/Markdown/canonicalAst.ts
15
+ function visitMarkdownNodes(root, type, visitor) {
16
+ const visit = (node) => {
17
+ if (node.type === type) visitor(node);
18
+ if ("children" in node) for (const child of node.children) visit(child);
376
19
  };
20
+ visit(root);
377
21
  }
378
22
  //#endregion
379
23
  //#region src/Markdown/plugins.ts
@@ -491,22 +135,6 @@ function applyInlinePlugins(root, plugins) {
491
135
  };
492
136
  }
493
137
  //#endregion
494
- //#region src/Markdown/slug.ts
495
- /** URL slug for a heading. Letters and numbers from any language are kept. */
496
- function slugify(value) {
497
- return value.trim().toLowerCase().replace(/['"]/g, "").replace(/[^\p{Letter}\p{Number}]+/gu, "-").replace(/^-+|-+$/g, "");
498
- }
499
- /**
500
- * `setup`, then `setup-1`, then `setup-2`. An empty slug becomes `section`.
501
- * One map covers a whole document.
502
- */
503
- function uniqueSlug(baseSlug, counts) {
504
- const slug = baseSlug === "" ? "section" : baseSlug;
505
- const seen = counts.get(slug) ?? 0;
506
- counts.set(slug, seen + 1);
507
- return seen === 0 ? slug : `${slug}-${seen}`;
508
- }
509
- //#endregion
510
138
  //#region src/Markdown/streaming.ts
511
139
  /**
512
140
  * Record the previous rendered length as a fade boundary.
@@ -563,91 +191,7 @@ function parseCssDuration(value) {
563
191
  return null;
564
192
  }
565
193
  //#endregion
566
- //#region src/Markdown/url.ts
567
- function normalizeUrl(url) {
568
- let result = "";
569
- for (let index = 0; index < url.length; index += 1) {
570
- const code = url.charCodeAt(index);
571
- if (code <= 31 || code === 127) continue;
572
- result += url[index];
573
- }
574
- return result.trim();
575
- }
576
- /** Lower-case the scheme and drop the spaces a browser ignores after `:`. */
577
- function comparableUrl(normalized) {
578
- return normalized.toLowerCase().replace(/^([a-z][a-z\d+.-]*:) +/, "$1");
579
- }
580
- function isBlockedNavigation(url) {
581
- return url.startsWith("javascript:") || url.startsWith("vbscript:") || url.startsWith("data:text/html");
582
- }
583
- /**
584
- * Navigation target with control characters removed.
585
- * `javascript:`, `vbscript:`, and HTML `data:` URLs are dropped.
586
- */
587
- function sanitizeMarkdownLinkUrl(url) {
588
- const normalized = normalizeUrl(url);
589
- if (normalized === "" || isBlockedNavigation(comparableUrl(normalized))) return null;
590
- return normalized;
591
- }
592
- /**
593
- * Image target. `data:` is rejected outright so an SVG payload cannot run.
594
- */
595
- function sanitizeMarkdownImageUrl(url) {
596
- const normalized = normalizeUrl(url);
597
- if (normalized === "") return null;
598
- const comparable = comparableUrl(normalized);
599
- if (comparable.startsWith("javascript:") || comparable.startsWith("vbscript:") || comparable.startsWith("data:")) return null;
600
- return normalized;
601
- }
602
- function linkOpensInNewTab(url) {
603
- return /^https?:/i.test(url);
604
- }
605
- //#endregion
606
- //#region src/Markdown/render.ts
607
- function measureNode(node) {
608
- switch (node.type) {
609
- case "text":
610
- case "inlineCode":
611
- case "code":
612
- case "html": return node.value?.length ?? 0;
613
- case "image":
614
- case "imageReference": return (node.alt ?? node.label ?? "").length;
615
- case "break": return 1;
616
- case "footnoteReference": return (node.label ?? node.identifier ?? "").length;
617
- case "definition":
618
- case "thematicBreak": return 0;
619
- default: return (node.children ?? []).reduce((sum, child) => sum + measureNode(child), 0);
620
- }
621
- }
622
- function assignHeadingSlugs(nodes) {
623
- const counts = /* @__PURE__ */ new Map();
624
- const slugs = /* @__PURE__ */ new Map();
625
- const visit = (list) => {
626
- for (const node of list) {
627
- if (node.type === "heading") slugs.set(node, uniqueSlug(slugify(plainText(node)), counts));
628
- if (node.children != null) visit(node.children);
629
- }
630
- };
631
- visit(nodes);
632
- return slugs;
633
- }
634
- function collectDefinitions(nodes) {
635
- const definitions = /* @__PURE__ */ new Map();
636
- const visit = (list) => {
637
- for (const node of list) {
638
- if (node.type === "definition" && node.identifier != null && node.url != null) definitions.set(node.identifier, {
639
- url: node.url,
640
- title: node.title
641
- });
642
- if (node.children != null) visit(node.children);
643
- }
644
- };
645
- visit(nodes);
646
- return definitions;
647
- }
648
- function headingLevel(depth, start) {
649
- return Math.min(6, Math.max(1, depth + start - 1));
650
- }
194
+ //#region src/Markdown/renderInline.ts
651
195
  function renderPlainText(value, key, fade) {
652
196
  const start = fade.offset;
653
197
  fade.offset += value.length;
@@ -749,34 +293,11 @@ function renderCitation(id, key, start, ctx) {
749
293
  target: linkOpensInNewTab(href) ? "_blank" : void 0
750
294
  }, children);
751
295
  }
752
- function extensionRenderer(node, ctx) {
753
- const owner = node.plugin;
754
- if (owner == null) return null;
755
- const block = ctx.plugins?.find((plugin) => plugin.name === owner && plugin.render != null);
756
- if (block?.render != null) return block.render;
757
- return (ctx.inlinePlugins?.find((plugin) => plugin.name === owner && plugin.render != null))?.render ?? null;
758
- }
759
- function renderExtension(node, key, ctx) {
760
- const render = extensionRenderer(node, ctx);
761
- if (render != null) {
762
- const rendered = render(node, { renderChildren: () => renderChildren(node.children, key, ctx) });
763
- if (rendered != null) return rendered;
764
- }
765
- if (node.value != null && node.value !== "") return renderText(node.value, key, ctx);
766
- if (node.children != null && node.children.length > 0) return h(Fragment, { key }, renderChildren(node.children, key, ctx));
767
- return null;
768
- }
769
296
  function fadeClass(start, fade) {
770
297
  if (!fade.active || fade.boundaries.length === 0) return void 0;
771
298
  const oldest = fade.boundaries[0];
772
299
  return oldest != null && start >= oldest ? "astryx-markdown__fade" : void 0;
773
300
  }
774
- function renderChildren(nodes, key, ctx) {
775
- return (nodes ?? []).flatMap((node, index) => {
776
- const rendered = renderNode(node, `${key}-${index}`, ctx);
777
- return rendered == null ? [] : [rendered];
778
- });
779
- }
780
301
  function renderLink(href, key, children, title, ctx) {
781
302
  const override = ctx.components?.link;
782
303
  if (override != null) return h(override, {
@@ -796,6 +317,124 @@ function renderLink(href, key, children, title, ctx) {
796
317
  }
797
318
  }, () => children);
798
319
  }
320
+ //#endregion
321
+ //#region src/Markdown/renderTree.ts
322
+ function measureNode(node) {
323
+ switch (node.type) {
324
+ case "text":
325
+ case "inlineCode":
326
+ case "code":
327
+ case "html": return node.value?.length ?? 0;
328
+ case "image":
329
+ case "imageReference": return (node.alt ?? node.label ?? "").length;
330
+ case "break": return 1;
331
+ case "footnoteReference": return (node.label ?? node.identifier ?? "").length;
332
+ case "definition":
333
+ case "thematicBreak": return 0;
334
+ default: return (node.children ?? []).reduce((sum, child) => sum + measureNode(child), 0);
335
+ }
336
+ }
337
+ function assignHeadingSlugs(nodes) {
338
+ const counts = /* @__PURE__ */ new Map();
339
+ const slugs = /* @__PURE__ */ new Map();
340
+ const visit = (list) => {
341
+ for (const node of list) {
342
+ if (node.type === "heading") slugs.set(node, uniqueSlug(slugify(plainText(node)), counts));
343
+ if (node.children != null) visit(node.children);
344
+ }
345
+ };
346
+ visit(nodes);
347
+ return slugs;
348
+ }
349
+ function collectDefinitions(nodes) {
350
+ const definitions = /* @__PURE__ */ new Map();
351
+ const visit = (list) => {
352
+ for (const node of list) {
353
+ if (node.type === "definition" && node.identifier != null && node.url != null) definitions.set(node.identifier, {
354
+ url: node.url,
355
+ title: node.title
356
+ });
357
+ if (node.children != null) visit(node.children);
358
+ }
359
+ };
360
+ visit(nodes);
361
+ return definitions;
362
+ }
363
+ function slotText(nodes) {
364
+ if (nodes == null) return "";
365
+ return nodes.map((node) => {
366
+ if (typeof node.children === "string") return node.children;
367
+ return "";
368
+ }).join("");
369
+ }
370
+ //#endregion
371
+ //#region src/Markdown/render.ts
372
+ function headingLevel(depth, start) {
373
+ return Math.min(6, Math.max(1, depth + start - 1));
374
+ }
375
+ function sourceSpan(node, ctx) {
376
+ if (ctx.sourceLines !== true) return null;
377
+ const start = node.position?.start?.line;
378
+ if (start == null) return null;
379
+ return {
380
+ start,
381
+ end: node.position?.end?.line ?? start
382
+ };
383
+ }
384
+ function sourceLineAttrs(node, ctx) {
385
+ const span = sourceSpan(node, ctx);
386
+ if (span == null) return {};
387
+ return {
388
+ "data-source-line": String(span.start),
389
+ "data-source-line-end": String(span.end)
390
+ };
391
+ }
392
+ function sourceLineFields(node, ctx) {
393
+ const span = sourceSpan(node, ctx);
394
+ return span == null ? {} : { sourceLines: span };
395
+ }
396
+ function renderProtocol(node, ctx) {
397
+ if (node.plugin == null || node.name == null) return void 0;
398
+ const renderer = ctx.protocolRenderers?.get(`${node.plugin}\0${node.name}`);
399
+ if (renderer == null) return void 0;
400
+ const extension = node;
401
+ try {
402
+ const rendered = renderer.render({ node: extension });
403
+ if (typeof rendered === "string" || typeof rendered === "number") return rendered;
404
+ if (rendered != null && typeof rendered === "object") return rendered;
405
+ } catch {}
406
+ try {
407
+ return renderer.toText(extension);
408
+ } catch {
409
+ return node.source ?? node.value ?? "";
410
+ }
411
+ }
412
+ function extensionRenderer(node, ctx) {
413
+ const owner = node.plugin;
414
+ if (owner == null) return null;
415
+ const block = ctx.plugins?.find((plugin) => plugin.name === owner && plugin.render != null);
416
+ if (block?.render != null) return block.render;
417
+ return (ctx.inlinePlugins?.find((plugin) => plugin.name === owner && plugin.render != null))?.render ?? null;
418
+ }
419
+ function renderExtension(node, key, ctx) {
420
+ const protocol = renderProtocol(node, ctx);
421
+ if (protocol !== void 0) return protocol;
422
+ const render = extensionRenderer(node, ctx);
423
+ if (render != null) {
424
+ const rendered = render(node, { renderChildren: () => renderChildren(node.children, key, ctx) });
425
+ if (rendered != null) return rendered;
426
+ }
427
+ if (node.source != null && node.source !== "") return renderText(node.source, key, ctx);
428
+ if (node.value != null && node.value !== "") return renderText(node.value, key, ctx);
429
+ if (node.children != null && node.children.length > 0) return h(Fragment, { key }, renderChildren(node.children, key, ctx));
430
+ return null;
431
+ }
432
+ function renderChildren(nodes, key, ctx) {
433
+ return (nodes ?? []).flatMap((node, index) => {
434
+ const rendered = renderNode(node, `${key}-${index}`, ctx);
435
+ return rendered == null ? [] : [rendered];
436
+ });
437
+ }
799
438
  function renderInline(node, key, ctx) {
800
439
  switch (node.type) {
801
440
  case "text": return renderText(node.value ?? "", key, ctx);
@@ -919,7 +558,8 @@ function renderList$1(node, key, ctx) {
919
558
  if (override != null) return h(override, {
920
559
  key,
921
560
  ordered,
922
- start
561
+ start,
562
+ ...sourceLineFields(node, ctx)
923
563
  }, () => renderedItems);
924
564
  return h(ordered ? "ol" : "ul", {
925
565
  key,
@@ -956,12 +596,14 @@ function renderListItem(node, key, taskList, marker, ctx) {
956
596
  const body = renderItemBody(node, key, ctx);
957
597
  if (!taskList && !isTaskItem(node)) return h("li", {
958
598
  key,
959
- class: "astryx-markdown__item"
599
+ class: "astryx-markdown__item",
600
+ ...sourceLineAttrs(node, ctx)
960
601
  }, [renderMarker(marker), h("div", { class: "astryx-markdown__item-body" }, body)]);
961
602
  const checked = node.checked === true;
962
603
  return h("li", {
963
604
  key,
964
- class: "astryx-markdown__task"
605
+ class: "astryx-markdown__task",
606
+ ...sourceLineAttrs(node, ctx)
965
607
  }, [h("span", { class: "astryx-markdown__task-check" }, [h(ctx.checkboxIndicator ?? _sfc_main$4, {
966
608
  state: checked ? "checked" : "unchecked",
967
609
  size: "sm"
@@ -982,24 +624,30 @@ function renderBlock(node, key, ctx) {
982
624
  if (override != null) return h(override, {
983
625
  key,
984
626
  level,
985
- id
627
+ id,
628
+ ...sourceLineFields(node, ctx)
986
629
  }, () => [...children, anchor]);
987
630
  return h(_sfc_main$2, {
988
631
  key,
989
632
  level,
990
633
  id,
991
634
  class: "astryx-markdown__heading astryx-markdown__prose",
992
- tabindex: -1
635
+ tabindex: -1,
636
+ ...sourceLineAttrs(node, ctx)
993
637
  }, () => [...children, anchor]);
994
638
  }
995
639
  case "paragraph": {
996
640
  const children = renderChildren(node.children, key, ctx);
997
641
  const imageOnly = (node.children ?? []).length === 1 && node.children?.[0]?.type === "image";
998
642
  const override = ctx.components?.paragraph;
999
- if (override != null) return h(override, { key }, () => children);
643
+ if (override != null) return h(override, {
644
+ key,
645
+ ...sourceLineFields(node, ctx)
646
+ }, () => children);
1000
647
  if (ctx.inline) return h("span", {
1001
648
  key,
1002
- class: "astryx-markdown__paragraph"
649
+ class: "astryx-markdown__paragraph",
650
+ ...sourceLineAttrs(node, ctx)
1003
651
  }, children);
1004
652
  return h("div", {
1005
653
  key,
@@ -1008,7 +656,8 @@ function renderBlock(node, key, ctx) {
1008
656
  "astryx-markdown__paragraph",
1009
657
  "astryx-markdown__prose",
1010
658
  imageOnly ? "astryx-markdown__paragraph--image" : null
1011
- ]
659
+ ],
660
+ ...sourceLineAttrs(node, ctx)
1012
661
  }, children);
1013
662
  }
1014
663
  case "code": {
@@ -1020,27 +669,34 @@ function renderBlock(node, key, ctx) {
1020
669
  if (override != null) return h(override, {
1021
670
  key,
1022
671
  code: value,
1023
- language
672
+ language,
673
+ ...sourceLineFields(node, ctx)
1024
674
  }, () => value);
1025
675
  const fence = parseFenceLanguage(language);
1026
676
  return h("div", {
1027
677
  key,
1028
- class: ["astryx-markdown__code", fadeClass(start, ctx.fade)]
678
+ class: ["astryx-markdown__code", fadeClass(start, ctx.fade)],
679
+ ...sourceLineAttrs(node, ctx)
1029
680
  }, [h(_sfc_main$6, {
1030
681
  code: value,
1031
682
  language: fence.language,
1032
683
  isDiff: fence.isDiff,
1033
684
  width: "100%",
1034
- isCollapsible: true
685
+ isCollapsible: true,
686
+ isWrapped: true
1035
687
  })]);
1036
688
  }
1037
689
  case "blockquote": {
1038
690
  const children = (node.children ?? []).map((child, index) => renderBlock(child, `${key}-${index}`, ctx)).filter((child) => child != null);
1039
691
  const override = ctx.components?.blockquote;
1040
- if (override != null) return h(override, { key }, () => children);
692
+ if (override != null) return h(override, {
693
+ key,
694
+ ...sourceLineFields(node, ctx)
695
+ }, () => children);
1041
696
  return h(_sfc_main$3, {
1042
697
  key,
1043
- class: "astryx-markdown__blockquote astryx-markdown__prose"
698
+ class: "astryx-markdown__blockquote astryx-markdown__prose",
699
+ ...sourceLineAttrs(node, ctx)
1044
700
  }, () => children);
1045
701
  }
1046
702
  case "list": return renderList$1(node, key, ctx);
@@ -1064,18 +720,26 @@ function renderBlock(node, key, ctx) {
1064
720
  }));
1065
721
  const content = [header == null ? null : h("thead", { key: `${key}-head` }, [renderRow(header, `${key}-head-row`, "th")]), body.length === 0 ? null : h("tbody", { key: `${key}-body` }, body.map((row, index) => renderRow(row, `${key}-body-${index}`, "td")))].filter((child) => child != null);
1066
722
  const override = ctx.components?.table;
1067
- if (override != null) return h(override, { key }, () => content);
723
+ if (override != null) return h(override, {
724
+ key,
725
+ ...sourceLineFields(node, ctx)
726
+ }, () => content);
1068
727
  return h("div", {
1069
728
  key,
1070
- class: "astryx-markdown__table-wrap"
729
+ class: "astryx-markdown__table-wrap",
730
+ ...sourceLineAttrs(node, ctx)
1071
731
  }, [h("table", { class: "astryx-markdown__table" }, content)]);
1072
732
  }
1073
733
  case "thematicBreak": {
1074
734
  const override = ctx.components?.hr;
1075
- if (override != null) return h(override, { key });
735
+ if (override != null) return h(override, {
736
+ key,
737
+ ...sourceLineFields(node, ctx)
738
+ });
1076
739
  return h("hr", {
1077
740
  key,
1078
- class: "astryx-markdown__hr"
741
+ class: "astryx-markdown__hr",
742
+ ...sourceLineAttrs(node, ctx)
1079
743
  });
1080
744
  }
1081
745
  case "footnoteDefinition": {
@@ -1114,15 +778,11 @@ function renderMarkdownBlocks(nodes, settledCount, ctx, cache) {
1114
778
  for (const node of cache.keys()) if (!alive.has(node)) cache.delete(node);
1115
779
  return vnodes;
1116
780
  }
1117
- function slotText(nodes) {
1118
- if (nodes == null) return "";
1119
- return nodes.map((node) => {
1120
- if (typeof node.children === "string") return node.children;
1121
- return "";
1122
- }).join("");
1123
- }
1124
781
  //#endregion
1125
782
  //#region src/Markdown/Markdown.vue
783
+ function isVueMarkdownPlugin(plugin) {
784
+ return !isMarkdownPluginEntry(plugin);
785
+ }
1126
786
  function fadeSpanCount() {
1127
787
  const fallback = 165;
1128
788
  let duration = fallback;
@@ -1227,10 +887,19 @@ const _sfc_main = defineComponent({
1227
887
  boundaries = [];
1228
888
  previousLength = 0;
1229
889
  } else boundaries = computeBoundaries(boundaries, previousLength, fadeSpanCount());
1230
- const blocks = applyInlinePlugins(applyMarkdownPlugins({
890
+ const allPlugins = props.plugins ?? [];
891
+ const protocolPlugins = allPlugins.filter(isMarkdownPluginEntry);
892
+ const vuePlugins = allPlugins.filter(isVueMarkdownPlugin);
893
+ let rootNode = {
1231
894
  type: "root",
1232
895
  children: parsed.blocks
1233
- }, props.plugins), props.inlinePlugins).children ?? [];
896
+ };
897
+ if (protocolPlugins.length > 0) {
898
+ const isFinal = !props.isStreaming;
899
+ rootNode = applyMarkdownSyntax(rootNode, shown, protocolPlugins, isFinal);
900
+ rootNode = applyProtocolTransforms(rootNode, protocolPlugins, shown, isFinal);
901
+ }
902
+ const blocks = applyInlinePlugins(applyMarkdownPlugins(rootNode, vuePlugins), props.inlinePlugins).children ?? [];
1234
903
  const ctx = {
1235
904
  components: props.components,
1236
905
  fade: {
@@ -1250,8 +919,10 @@ const _sfc_main = defineComponent({
1250
919
  citationOrder: /* @__PURE__ */ new Map(),
1251
920
  citationStyle: props.citationStyle ?? "label",
1252
921
  citationLabel: messages.value.citation.label,
1253
- plugins: props.plugins,
922
+ plugins: vuePlugins,
1254
923
  inlinePlugins: props.inlinePlugins,
924
+ sourceLines: protocolPlugins.some(isMarkdownSourceLinesPlugin),
925
+ protocolRenderers: collectProtocolRenderers(protocolPlugins),
1255
926
  checkboxIndicator: checkboxIndicator.value
1256
927
  };
1257
928
  const children = renderMarkdownBlocks(blocks, inline ? 0 : parsed.settledCount, ctx, cache);
@@ -1279,4 +950,4 @@ const _sfc_main = defineComponent({
1279
950
  }
1280
951
  });
1281
952
  //#endregion
1282
- export { applyMarkdownPlugins as a, isMarkdownExtensionNode as c, applyInlinePlugins as i, slugify as n, defineMarkdownPlugin as o, uniqueSlug as r, parseMarkdown as s, _sfc_main as t };
953
+ export { visitMarkdownNodes as a, defineMarkdownPlugin as i, applyInlinePlugins as n, applyMarkdownPlugins as r, _sfc_main as t };