@docsector/docsector-reader 0.1.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 (372) hide show
  1. package/.eslintrc.cjs +42 -0
  2. package/LICENSE.md +9 -0
  3. package/README.md +175 -0
  4. package/bin/docsector.js +129 -0
  5. package/docsector.config.js +54 -0
  6. package/index.html +20 -0
  7. package/jsconfig.json +16 -0
  8. package/package.json +99 -0
  9. package/postcss.config.cjs +5 -0
  10. package/public/Docsphere/flags/abkhazia.png +0 -0
  11. package/public/Docsphere/flags/afghanistan.png +0 -0
  12. package/public/Docsphere/flags/aland-islands.png +0 -0
  13. package/public/Docsphere/flags/albania.png +0 -0
  14. package/public/Docsphere/flags/algeria.png +0 -0
  15. package/public/Docsphere/flags/american-samoa.png +0 -0
  16. package/public/Docsphere/flags/andorra.png +0 -0
  17. package/public/Docsphere/flags/angola.png +0 -0
  18. package/public/Docsphere/flags/anguilla.png +0 -0
  19. package/public/Docsphere/flags/antigua-and-barbuda.png +0 -0
  20. package/public/Docsphere/flags/argentina.png +0 -0
  21. package/public/Docsphere/flags/armenia.png +0 -0
  22. package/public/Docsphere/flags/aruba.png +0 -0
  23. package/public/Docsphere/flags/australia.png +0 -0
  24. package/public/Docsphere/flags/austria.png +0 -0
  25. package/public/Docsphere/flags/azerbaijan.png +0 -0
  26. package/public/Docsphere/flags/azores-islands.png +0 -0
  27. package/public/Docsphere/flags/bahamas.png +0 -0
  28. package/public/Docsphere/flags/bahrain.png +0 -0
  29. package/public/Docsphere/flags/balearic-islands.png +0 -0
  30. package/public/Docsphere/flags/bangladesh.png +0 -0
  31. package/public/Docsphere/flags/barbados.png +0 -0
  32. package/public/Docsphere/flags/basque-country.png +0 -0
  33. package/public/Docsphere/flags/belarus.png +0 -0
  34. package/public/Docsphere/flags/belgium.png +0 -0
  35. package/public/Docsphere/flags/belize.png +0 -0
  36. package/public/Docsphere/flags/benin.png +0 -0
  37. package/public/Docsphere/flags/bermuda.png +0 -0
  38. package/public/Docsphere/flags/bhutan-1.png +0 -0
  39. package/public/Docsphere/flags/bhutan.png +0 -0
  40. package/public/Docsphere/flags/bolivia.png +0 -0
  41. package/public/Docsphere/flags/bonaire.png +0 -0
  42. package/public/Docsphere/flags/bosnia-and-herzegovina.png +0 -0
  43. package/public/Docsphere/flags/botswana.png +0 -0
  44. package/public/Docsphere/flags/brazil.png +0 -0
  45. package/public/Docsphere/flags/british-columbia.png +0 -0
  46. package/public/Docsphere/flags/british-indian-ocean-territory.png +0 -0
  47. package/public/Docsphere/flags/british-virgin-islands.png +0 -0
  48. package/public/Docsphere/flags/brunei.png +0 -0
  49. package/public/Docsphere/flags/bulgaria.png +0 -0
  50. package/public/Docsphere/flags/burkina-faso.png +0 -0
  51. package/public/Docsphere/flags/burundi.png +0 -0
  52. package/public/Docsphere/flags/cambodia.png +0 -0
  53. package/public/Docsphere/flags/cameroon.png +0 -0
  54. package/public/Docsphere/flags/canada.png +0 -0
  55. package/public/Docsphere/flags/canary-islands.png +0 -0
  56. package/public/Docsphere/flags/cape-verde.png +0 -0
  57. package/public/Docsphere/flags/cayman-islands.png +0 -0
  58. package/public/Docsphere/flags/central-african-republic.png +0 -0
  59. package/public/Docsphere/flags/ceuta.png +0 -0
  60. package/public/Docsphere/flags/chad.png +0 -0
  61. package/public/Docsphere/flags/chile.png +0 -0
  62. package/public/Docsphere/flags/china.png +0 -0
  63. package/public/Docsphere/flags/christmas-island.png +0 -0
  64. package/public/Docsphere/flags/cocos-island.png +0 -0
  65. package/public/Docsphere/flags/colombia.png +0 -0
  66. package/public/Docsphere/flags/comoros.png +0 -0
  67. package/public/Docsphere/flags/cook-islands.png +0 -0
  68. package/public/Docsphere/flags/corsica.png +0 -0
  69. package/public/Docsphere/flags/costa-rica.png +0 -0
  70. package/public/Docsphere/flags/croatia.png +0 -0
  71. package/public/Docsphere/flags/cuba.png +0 -0
  72. package/public/Docsphere/flags/curacao.png +0 -0
  73. package/public/Docsphere/flags/cyprus.png +0 -0
  74. package/public/Docsphere/flags/czech-republic.png +0 -0
  75. package/public/Docsphere/flags/democratic-republic-of-congo.png +0 -0
  76. package/public/Docsphere/flags/denmark.png +0 -0
  77. package/public/Docsphere/flags/djibouti.png +0 -0
  78. package/public/Docsphere/flags/dominica.png +0 -0
  79. package/public/Docsphere/flags/dominican-republic.png +0 -0
  80. package/public/Docsphere/flags/east-timor.png +0 -0
  81. package/public/Docsphere/flags/ecuador.png +0 -0
  82. package/public/Docsphere/flags/egypt.png +0 -0
  83. package/public/Docsphere/flags/england.png +0 -0
  84. package/public/Docsphere/flags/equatorial-guinea.png +0 -0
  85. package/public/Docsphere/flags/eritrea.png +0 -0
  86. package/public/Docsphere/flags/estonia.png +0 -0
  87. package/public/Docsphere/flags/ethiopia.png +0 -0
  88. package/public/Docsphere/flags/european-union.png +0 -0
  89. package/public/Docsphere/flags/falkland-islands.png +0 -0
  90. package/public/Docsphere/flags/faroe-islands.png +0 -0
  91. package/public/Docsphere/flags/fiji.png +0 -0
  92. package/public/Docsphere/flags/finland.png +0 -0
  93. package/public/Docsphere/flags/france.png +0 -0
  94. package/public/Docsphere/flags/french-polynesia.png +0 -0
  95. package/public/Docsphere/flags/gabon.png +0 -0
  96. package/public/Docsphere/flags/galapagos-islands.png +0 -0
  97. package/public/Docsphere/flags/gambia.png +0 -0
  98. package/public/Docsphere/flags/georgia.png +0 -0
  99. package/public/Docsphere/flags/germany.png +0 -0
  100. package/public/Docsphere/flags/ghana.png +0 -0
  101. package/public/Docsphere/flags/gibraltar.png +0 -0
  102. package/public/Docsphere/flags/greece.png +0 -0
  103. package/public/Docsphere/flags/greenland.png +0 -0
  104. package/public/Docsphere/flags/grenada.png +0 -0
  105. package/public/Docsphere/flags/guam.png +0 -0
  106. package/public/Docsphere/flags/guatemala.png +0 -0
  107. package/public/Docsphere/flags/guernsey.png +0 -0
  108. package/public/Docsphere/flags/guinea-bissau.png +0 -0
  109. package/public/Docsphere/flags/guinea.png +0 -0
  110. package/public/Docsphere/flags/guyana.png +0 -0
  111. package/public/Docsphere/flags/haiti.png +0 -0
  112. package/public/Docsphere/flags/hawaii.png +0 -0
  113. package/public/Docsphere/flags/honduras.png +0 -0
  114. package/public/Docsphere/flags/hong-kong.png +0 -0
  115. package/public/Docsphere/flags/hungary.png +0 -0
  116. package/public/Docsphere/flags/iceland.png +0 -0
  117. package/public/Docsphere/flags/india.png +0 -0
  118. package/public/Docsphere/flags/indonesia.png +0 -0
  119. package/public/Docsphere/flags/iran.png +0 -0
  120. package/public/Docsphere/flags/iraq.png +0 -0
  121. package/public/Docsphere/flags/ireland.png +0 -0
  122. package/public/Docsphere/flags/isle-of-man.png +0 -0
  123. package/public/Docsphere/flags/israel.png +0 -0
  124. package/public/Docsphere/flags/italy.png +0 -0
  125. package/public/Docsphere/flags/ivory-coast.png +0 -0
  126. package/public/Docsphere/flags/jamaica.png +0 -0
  127. package/public/Docsphere/flags/japan.png +0 -0
  128. package/public/Docsphere/flags/jersey.png +0 -0
  129. package/public/Docsphere/flags/jordan.png +0 -0
  130. package/public/Docsphere/flags/kazakhstan.png +0 -0
  131. package/public/Docsphere/flags/kenya.png +0 -0
  132. package/public/Docsphere/flags/kiribati.png +0 -0
  133. package/public/Docsphere/flags/kosovo.png +0 -0
  134. package/public/Docsphere/flags/kuwait.png +0 -0
  135. package/public/Docsphere/flags/kyrgyzstan.png +0 -0
  136. package/public/Docsphere/flags/laos.png +0 -0
  137. package/public/Docsphere/flags/latvia.png +0 -0
  138. package/public/Docsphere/flags/lebanon.png +0 -0
  139. package/public/Docsphere/flags/lesotho.png +0 -0
  140. package/public/Docsphere/flags/liberia.png +0 -0
  141. package/public/Docsphere/flags/libya.png +0 -0
  142. package/public/Docsphere/flags/liechtenstein.png +0 -0
  143. package/public/Docsphere/flags/lithuania.png +0 -0
  144. package/public/Docsphere/flags/luxembourg.png +0 -0
  145. package/public/Docsphere/flags/macao.png +0 -0
  146. package/public/Docsphere/flags/madagascar.png +0 -0
  147. package/public/Docsphere/flags/madeira.png +0 -0
  148. package/public/Docsphere/flags/malawi.png +0 -0
  149. package/public/Docsphere/flags/malaysia.png +0 -0
  150. package/public/Docsphere/flags/maldives.png +0 -0
  151. package/public/Docsphere/flags/mali.png +0 -0
  152. package/public/Docsphere/flags/malta.png +0 -0
  153. package/public/Docsphere/flags/marshall-island.png +0 -0
  154. package/public/Docsphere/flags/martinique.png +0 -0
  155. package/public/Docsphere/flags/mauritania.png +0 -0
  156. package/public/Docsphere/flags/mauritius.png +0 -0
  157. package/public/Docsphere/flags/melilla.png +0 -0
  158. package/public/Docsphere/flags/mexico.png +0 -0
  159. package/public/Docsphere/flags/micronesia.png +0 -0
  160. package/public/Docsphere/flags/moldova.png +0 -0
  161. package/public/Docsphere/flags/monaco.png +0 -0
  162. package/public/Docsphere/flags/mongolia.png +0 -0
  163. package/public/Docsphere/flags/montenegro.png +0 -0
  164. package/public/Docsphere/flags/montserrat.png +0 -0
  165. package/public/Docsphere/flags/morocco.png +0 -0
  166. package/public/Docsphere/flags/mozambique.png +0 -0
  167. package/public/Docsphere/flags/myanmar.png +0 -0
  168. package/public/Docsphere/flags/namibia.png +0 -0
  169. package/public/Docsphere/flags/nato.png +0 -0
  170. package/public/Docsphere/flags/nauru.png +0 -0
  171. package/public/Docsphere/flags/nepal.png +0 -0
  172. package/public/Docsphere/flags/netherlands.png +0 -0
  173. package/public/Docsphere/flags/new-zealand.png +0 -0
  174. package/public/Docsphere/flags/nicaragua.png +0 -0
  175. package/public/Docsphere/flags/niger.png +0 -0
  176. package/public/Docsphere/flags/nigeria.png +0 -0
  177. package/public/Docsphere/flags/niue.png +0 -0
  178. package/public/Docsphere/flags/norfolk-island.png +0 -0
  179. package/public/Docsphere/flags/north-korea.png +0 -0
  180. package/public/Docsphere/flags/northen-cyprus.png +0 -0
  181. package/public/Docsphere/flags/northern-marianas-islands.png +0 -0
  182. package/public/Docsphere/flags/norway.png +0 -0
  183. package/public/Docsphere/flags/oman.png +0 -0
  184. package/public/Docsphere/flags/orkney-islands.png +0 -0
  185. package/public/Docsphere/flags/ossetia.png +0 -0
  186. package/public/Docsphere/flags/pakistan.png +0 -0
  187. package/public/Docsphere/flags/palau.png +0 -0
  188. package/public/Docsphere/flags/palestine.png +0 -0
  189. package/public/Docsphere/flags/panama.png +0 -0
  190. package/public/Docsphere/flags/papua-new-guinea.png +0 -0
  191. package/public/Docsphere/flags/paraguay.png +0 -0
  192. package/public/Docsphere/flags/peru.png +0 -0
  193. package/public/Docsphere/flags/philippines.png +0 -0
  194. package/public/Docsphere/flags/pitcairn-islands.png +0 -0
  195. package/public/Docsphere/flags/portugal.png +0 -0
  196. package/public/Docsphere/flags/puerto-rico.png +0 -0
  197. package/public/Docsphere/flags/qatar.png +0 -0
  198. package/public/Docsphere/flags/rapa-nui.png +0 -0
  199. package/public/Docsphere/flags/republic-of-macedonia.png +0 -0
  200. package/public/Docsphere/flags/republic-of-poland.png +0 -0
  201. package/public/Docsphere/flags/republic-of-the-congo.png +0 -0
  202. package/public/Docsphere/flags/romania.png +0 -0
  203. package/public/Docsphere/flags/russia.png +0 -0
  204. package/public/Docsphere/flags/rwanda.png +0 -0
  205. package/public/Docsphere/flags/saba-island.png +0 -0
  206. package/public/Docsphere/flags/saint-kitts-and-nevis.png +0 -0
  207. package/public/Docsphere/flags/salvador.png +0 -0
  208. package/public/Docsphere/flags/samoa.png +0 -0
  209. package/public/Docsphere/flags/san-marino.png +0 -0
  210. package/public/Docsphere/flags/sao-tome-and-principe.png +0 -0
  211. package/public/Docsphere/flags/sardinia.png +0 -0
  212. package/public/Docsphere/flags/saudi-arabia.png +0 -0
  213. package/public/Docsphere/flags/scotland.png +0 -0
  214. package/public/Docsphere/flags/senegal.png +0 -0
  215. package/public/Docsphere/flags/serbia.png +0 -0
  216. package/public/Docsphere/flags/seychelles.png +0 -0
  217. package/public/Docsphere/flags/sierra-leone.png +0 -0
  218. package/public/Docsphere/flags/singapore.png +0 -0
  219. package/public/Docsphere/flags/sint-eustatius.png +0 -0
  220. package/public/Docsphere/flags/sint-maarten.png +0 -0
  221. package/public/Docsphere/flags/slovakia.png +0 -0
  222. package/public/Docsphere/flags/slovenia.png +0 -0
  223. package/public/Docsphere/flags/solomon-islands.png +0 -0
  224. package/public/Docsphere/flags/somalia.png +0 -0
  225. package/public/Docsphere/flags/somaliland.png +0 -0
  226. package/public/Docsphere/flags/south-africa.png +0 -0
  227. package/public/Docsphere/flags/south-korea.png +0 -0
  228. package/public/Docsphere/flags/south-sudan.png +0 -0
  229. package/public/Docsphere/flags/spain.png +0 -0
  230. package/public/Docsphere/flags/sri-lanka.png +0 -0
  231. package/public/Docsphere/flags/st-barts.png +0 -0
  232. package/public/Docsphere/flags/st-lucia.png +0 -0
  233. package/public/Docsphere/flags/st-vincent-and-the-grenadines.png +0 -0
  234. package/public/Docsphere/flags/sudan.png +0 -0
  235. package/public/Docsphere/flags/suriname.png +0 -0
  236. package/public/Docsphere/flags/swaziland.png +0 -0
  237. package/public/Docsphere/flags/sweden.png +0 -0
  238. package/public/Docsphere/flags/switzerland.png +0 -0
  239. package/public/Docsphere/flags/syria.png +0 -0
  240. package/public/Docsphere/flags/taiwan.png +0 -0
  241. package/public/Docsphere/flags/tajikistan.png +0 -0
  242. package/public/Docsphere/flags/tanzania.png +0 -0
  243. package/public/Docsphere/flags/thailand.png +0 -0
  244. package/public/Docsphere/flags/tibet.png +0 -0
  245. package/public/Docsphere/flags/togo.png +0 -0
  246. package/public/Docsphere/flags/tokelau.png +0 -0
  247. package/public/Docsphere/flags/tonga.png +0 -0
  248. package/public/Docsphere/flags/transnistria.png +0 -0
  249. package/public/Docsphere/flags/trinidad-and-tobago.png +0 -0
  250. package/public/Docsphere/flags/tunisia.png +0 -0
  251. package/public/Docsphere/flags/turkey.png +0 -0
  252. package/public/Docsphere/flags/turkmenistan.png +0 -0
  253. package/public/Docsphere/flags/turks-and-caicos.png +0 -0
  254. package/public/Docsphere/flags/tuvalu.png +0 -0
  255. package/public/Docsphere/flags/uganda.png +0 -0
  256. package/public/Docsphere/flags/ukraine.png +0 -0
  257. package/public/Docsphere/flags/united-arab-emirates.png +0 -0
  258. package/public/Docsphere/flags/united-kingdom.png +0 -0
  259. package/public/Docsphere/flags/united-nations.png +0 -0
  260. package/public/Docsphere/flags/united-states-of-america.png +0 -0
  261. package/public/Docsphere/flags/uruguay.png +0 -0
  262. package/public/Docsphere/flags/uzbekistn.png +0 -0
  263. package/public/Docsphere/flags/vanuatu.png +0 -0
  264. package/public/Docsphere/flags/vatican-city.png +0 -0
  265. package/public/Docsphere/flags/venezuela.png +0 -0
  266. package/public/Docsphere/flags/vietnam.png +0 -0
  267. package/public/Docsphere/flags/virgin-islands.png +0 -0
  268. package/public/Docsphere/flags/wales.png +0 -0
  269. package/public/Docsphere/flags/western-sahara.png +0 -0
  270. package/public/Docsphere/flags/yemen.png +0 -0
  271. package/public/Docsphere/flags/zambia.png +0 -0
  272. package/public/Docsphere/flags/zimbabwe.png +0 -0
  273. package/public/favicon.ico +0 -0
  274. package/public/images/flags/brazil.png +0 -0
  275. package/public/images/flags/united-states-of-america.png +0 -0
  276. package/public/images/logo.png +0 -0
  277. package/public/logo.png +0 -0
  278. package/public/robots.txt +2 -0
  279. package/public/sad.svg +1 -0
  280. package/quasar.config.js +117 -0
  281. package/src/App.vue +235 -0
  282. package/src/boot/QZoom.js +7 -0
  283. package/src/boot/axios.js +11 -0
  284. package/src/boot/i18n.js +15 -0
  285. package/src/boot/store.js +26 -0
  286. package/src/components/DH1.vue +42 -0
  287. package/src/components/DH2.vue +36 -0
  288. package/src/components/DH3.vue +36 -0
  289. package/src/components/DH4.vue +26 -0
  290. package/src/components/DH5.vue +26 -0
  291. package/src/components/DH6.vue +26 -0
  292. package/src/components/DMenu.vue +446 -0
  293. package/src/components/DMenuItem.vue +127 -0
  294. package/src/components/DPage.vue +222 -0
  295. package/src/components/DPageAnchor.vue +123 -0
  296. package/src/components/DPageBlockquote.vue +19 -0
  297. package/src/components/DPageMeta.vue +203 -0
  298. package/src/components/DPageSection.vue +243 -0
  299. package/src/components/DPageSourceCode.vue +376 -0
  300. package/src/components/DSubpage.vue +33 -0
  301. package/src/components/QZoom.js +278 -0
  302. package/src/components/QZoom.styl +43 -0
  303. package/src/composables/useNavigator.js +113 -0
  304. package/src/css/app.sass +279 -0
  305. package/src/css/quasar.variables.scss +24 -0
  306. package/src/i18n/index.js +126 -0
  307. package/src/i18n/languages/en-US.hjson +98 -0
  308. package/src/i18n/languages/pt-BR.hjson +97 -0
  309. package/src/i18n/tags.hjson +44 -0
  310. package/src/index.js +99 -0
  311. package/src/layouts/DefaultLayout.vue +95 -0
  312. package/src/layouts/SystemLayout.vue +4 -0
  313. package/src/pages/@/404Page.vue +15 -0
  314. package/src/pages/@/BootPage.vue +106 -0
  315. package/src/pages/boot.js +10 -0
  316. package/src/pages/guide/configuration.overview.en-US.md +107 -0
  317. package/src/pages/guide/configuration.overview.pt-BR.md +107 -0
  318. package/src/pages/guide/deployment.overview.en-US.md +49 -0
  319. package/src/pages/guide/deployment.overview.pt-BR.md +49 -0
  320. package/src/pages/guide/getting-started.overview.en-US.md +59 -0
  321. package/src/pages/guide/getting-started.overview.pt-BR.md +59 -0
  322. package/src/pages/guide/i18n-and-markdown.overview.en-US.md +77 -0
  323. package/src/pages/guide/i18n-and-markdown.overview.pt-BR.md +77 -0
  324. package/src/pages/guide/pages-and-routing.overview.en-US.md +85 -0
  325. package/src/pages/guide/pages-and-routing.overview.pt-BR.md +85 -0
  326. package/src/pages/guide/plugins.overview.en-US.md +3 -0
  327. package/src/pages/guide/plugins.overview.pt-BR.md +3 -0
  328. package/src/pages/guide/theming.overview.en-US.md +55 -0
  329. package/src/pages/guide/theming.overview.pt-BR.md +55 -0
  330. package/src/pages/index.js +385 -0
  331. package/src/pages/manual/components/d-headings.overview.en-US.md +54 -0
  332. package/src/pages/manual/components/d-headings.overview.pt-BR.md +54 -0
  333. package/src/pages/manual/components/d-headings.showcase.en-US.md +32 -0
  334. package/src/pages/manual/components/d-headings.showcase.pt-BR.md +32 -0
  335. package/src/pages/manual/components/d-menu.overview.en-US.md +59 -0
  336. package/src/pages/manual/components/d-menu.overview.pt-BR.md +59 -0
  337. package/src/pages/manual/components/d-page-anchor.overview.en-US.md +49 -0
  338. package/src/pages/manual/components/d-page-anchor.overview.pt-BR.md +49 -0
  339. package/src/pages/manual/components/d-page-blockquote.overview.en-US.md +44 -0
  340. package/src/pages/manual/components/d-page-blockquote.overview.pt-BR.md +44 -0
  341. package/src/pages/manual/components/d-page-blockquote.showcase.en-US.md +27 -0
  342. package/src/pages/manual/components/d-page-blockquote.showcase.pt-BR.md +27 -0
  343. package/src/pages/manual/components/d-page-meta.overview.en-US.md +51 -0
  344. package/src/pages/manual/components/d-page-meta.overview.pt-BR.md +51 -0
  345. package/src/pages/manual/components/d-page-section.overview.en-US.md +55 -0
  346. package/src/pages/manual/components/d-page-section.overview.pt-BR.md +55 -0
  347. package/src/pages/manual/components/d-page-section.showcase.en-US.md +43 -0
  348. package/src/pages/manual/components/d-page-section.showcase.pt-BR.md +43 -0
  349. package/src/pages/manual/components/d-page-source-code.overview.en-US.md +54 -0
  350. package/src/pages/manual/components/d-page-source-code.overview.pt-BR.md +54 -0
  351. package/src/pages/manual/components/d-page-source-code.showcase.en-US.md +50 -0
  352. package/src/pages/manual/components/d-page-source-code.showcase.pt-BR.md +50 -0
  353. package/src/pages/manual/components/d-page.overview.en-US.md +56 -0
  354. package/src/pages/manual/components/d-page.overview.pt-BR.md +56 -0
  355. package/src/pages/manual/components/d-page.showcase.en-US.md +35 -0
  356. package/src/pages/manual/components/d-page.showcase.pt-BR.md +35 -0
  357. package/src/pages/manual/components/d-subpage.overview.en-US.md +56 -0
  358. package/src/pages/manual/components/d-subpage.overview.pt-BR.md +56 -0
  359. package/src/pages/manual/components/q-zoom.overview.en-US.md +71 -0
  360. package/src/pages/manual/components/q-zoom.overview.pt-BR.md +71 -0
  361. package/src/pages/manual/composables/use-navigator.overview.en-US.md +89 -0
  362. package/src/pages/manual/composables/use-navigator.overview.pt-BR.md +89 -0
  363. package/src/pages/manual/store/modules.overview.en-US.md +96 -0
  364. package/src/pages/manual/store/modules.overview.pt-BR.md +96 -0
  365. package/src/router/index.js +30 -0
  366. package/src/router/routes.js +93 -0
  367. package/src/store/App.js +43 -0
  368. package/src/store/I18n.js +22 -0
  369. package/src/store/Layout.js +124 -0
  370. package/src/store/Page.js +103 -0
  371. package/src/store/Settings.js +18 -0
  372. package/src/store/index.js +24 -0
@@ -0,0 +1,50 @@
1
+ ## Showcase
2
+
3
+ Here are code blocks in different languages demonstrating the DPageSourceCode component:
4
+
5
+ ### PHP Example
6
+
7
+ ```php
8
+ class HelloWorld
9
+ {
10
+ public function greet(string $name): string
11
+ {
12
+ return "Hello, {$name}!";
13
+ }
14
+ }
15
+
16
+ $hello = new HelloWorld();
17
+ echo $hello->greet('Docsector');
18
+ ```
19
+
20
+ ### Bash Example
21
+
22
+ ```bash
23
+ #!/bin/bash
24
+ echo "Installing Docsector Reader..."
25
+ npm install
26
+ npx quasar dev
27
+ echo "Server running at http://localhost:8181"
28
+ ```
29
+
30
+ ### HTML Example
31
+
32
+ ```html
33
+ <template>
34
+ <d-page>
35
+ <header>
36
+ <d-h1 :id="0" />
37
+ </header>
38
+ <main>
39
+ <d-page-section :id="id" />
40
+ </main>
41
+ </d-page>
42
+ </template>
43
+ ```
44
+
45
+ ## Features Visible Above
46
+
47
+ - **Line numbers** on the left side of multi-line blocks
48
+ - **Language label** in the top-right corner
49
+ - **Copy button** next to the language label
50
+ - **Syntax highlighting** with language-specific coloring
@@ -0,0 +1,50 @@
1
+ ## Demonstração
2
+
3
+ Aqui estão blocos de código em diferentes linguagens demonstrando o componente DPageSourceCode:
4
+
5
+ ### Exemplo PHP
6
+
7
+ ```php
8
+ class HelloWorld
9
+ &#123;
10
+ public function greet(string $name): string
11
+ &#123;
12
+ return "Olá, &#123;$name&#125;!";
13
+ &#125;
14
+ &#125;
15
+
16
+ $hello = new HelloWorld();
17
+ echo $hello->greet('Docsector');
18
+ ```
19
+
20
+ ### Exemplo Bash
21
+
22
+ ```bash
23
+ #!/bin/bash
24
+ echo "Instalando Docsector Reader..."
25
+ npm install
26
+ npx quasar dev
27
+ echo "Servidor rodando em http://localhost:8181"
28
+ ```
29
+
30
+ ### Exemplo HTML
31
+
32
+ ```html
33
+ <template>
34
+ <d-page>
35
+ <header>
36
+ <d-h1 :id="0" />
37
+ </header>
38
+ <main>
39
+ <d-page-section :id="id" />
40
+ </main>
41
+ </d-page>
42
+ </template>
43
+ ```
44
+
45
+ ## Funcionalidades Visíveis Acima
46
+
47
+ - **Números de linha** no lado esquerdo de blocos multi-linha
48
+ - **Label de linguagem** no canto superior direito
49
+ - **Botão de cópia** ao lado do label de linguagem
50
+ - **Syntax highlighting** com coloração específica por linguagem
@@ -0,0 +1,56 @@
1
+ ## Overview
2
+
3
+ `DPage` is the **main page container** component. It provides the scroll area, submenu toolbar (Overview/Showcase/Vs tabs), the right-side anchor drawer, and the `DPageMeta` footer.
4
+
5
+ Every documentation page is rendered inside a `DPage` instance.
6
+
7
+ ## Props
8
+
9
+ | Prop | Type | Default | Description |
10
+ |------|------|---------|-------------|
11
+ | `disableNav` | `Boolean` | `false` | Hides the DPageMeta navigation footer |
12
+
13
+ ## Template Structure
14
+
15
+ DPage renders the following layout:
16
+
17
+ - **QPageContainer** — Quasar page container
18
+ - **QToolbar** (submenu) — Tab navigation: Overview, Showcase, Vs
19
+ - **QPage** with **QScrollArea** — Scrollable content area with slot
20
+ - **QDrawer** (right) — Anchor/ToC navigation tree
21
+
22
+ ## Slot
23
+
24
+ The default slot receives the page content. Typically, `DSubpage` places `DH1` and `DPageSection` inside this slot:
25
+
26
+ ```html
27
+ <d-page>
28
+ <header>
29
+ <d-h1 :id="0" />
30
+ </header>
31
+ <main>
32
+ <d-page-section :id="sectionId" />
33
+ </main>
34
+ </d-page>
35
+ ```
36
+
37
+ ## Subpage Tabs
38
+
39
+ DPage reads the route's `meta.subpages` configuration to determine which tabs to display:
40
+
41
+ - **Overview** — Always shown when other tabs exist
42
+ - **Showcase** — Shown when `subpages.showcase: true`
43
+ - **Vs** — Shown when `subpages.vs: true`
44
+
45
+ ## Scroll Behavior
46
+
47
+ DPage resets the scroll position on route changes via `router.beforeEach`. The scroll observer monitors vertical scroll position and updates the anchor selection via the `useNavigator` composable.
48
+
49
+ ## Store Integration
50
+
51
+ DPage reads from and writes to several Vuex store modules:
52
+
53
+ - `layout/meta` — Controls the right-side anchor drawer visibility
54
+ - `page/base` — Current page base path
55
+ - `page/relative` — Current subpage path (`/overview`, `/showcase`, `/vs`)
56
+ - `page/anchor` — Resets anchors on navigation
@@ -0,0 +1,56 @@
1
+ ## Visão Geral
2
+
3
+ `DPage` é o componente **container principal de página**. Ele fornece a área de scroll, a barra de submenu (abas Overview/Showcase/Vs), o drawer lateral de âncoras e o rodapé `DPageMeta`.
4
+
5
+ Toda página de documentação é renderizada dentro de uma instância de `DPage`.
6
+
7
+ ## Props
8
+
9
+ | Prop | Tipo | Padrão | Descrição |
10
+ |------|------|--------|-----------|
11
+ | `disableNav` | `Boolean` | `false` | Oculta o rodapé de navegação DPageMeta |
12
+
13
+ ## Estrutura do Template
14
+
15
+ DPage renderiza o seguinte layout:
16
+
17
+ - **QPageContainer** — Container de página Quasar
18
+ - **QToolbar** (submenu) — Navegação por abas: Overview, Showcase, Vs
19
+ - **QPage** com **QScrollArea** — Área de conteúdo com scroll e slot
20
+ - **QDrawer** (direita) — Árvore de navegação por âncoras/ToC
21
+
22
+ ## Slot
23
+
24
+ O slot padrão recebe o conteúdo da página. Normalmente, `DSubpage` coloca `DH1` e `DPageSection` dentro deste slot:
25
+
26
+ ```html
27
+ <d-page>
28
+ <header>
29
+ <d-h1 :id="0" />
30
+ </header>
31
+ <main>
32
+ <d-page-section :id="sectionId" />
33
+ </main>
34
+ </d-page>
35
+ ```
36
+
37
+ ## Abas de Sub-página
38
+
39
+ DPage lê a configuração `meta.subpages` da rota para determinar quais abas exibir:
40
+
41
+ - **Overview** — Sempre exibida quando outras abas existem
42
+ - **Showcase** — Exibida quando `subpages.showcase: true`
43
+ - **Vs** — Exibida quando `subpages.vs: true`
44
+
45
+ ## Comportamento de Scroll
46
+
47
+ DPage reseta a posição de scroll nas mudanças de rota via `router.beforeEach`. O observador de scroll monitora a posição vertical e atualiza a seleção de âncora via composable `useNavigator`.
48
+
49
+ ## Integração com Store
50
+
51
+ DPage lê e escreve em vários módulos da Vuex store:
52
+
53
+ - `layout/meta` — Controla a visibilidade do drawer de âncoras
54
+ - `page/base` — Caminho base da página atual
55
+ - `page/relative` — Caminho da sub-página (`/overview`, `/showcase`, `/vs`)
56
+ - `page/anchor` — Reseta âncoras na navegação
@@ -0,0 +1,35 @@
1
+ ## Showcase
2
+
3
+ Here is an example of how DPage is used inside DSubpage:
4
+
5
+ ```html
6
+ <template>
7
+ <d-page>
8
+ <header>
9
+ <d-h1 :id="0" />
10
+ </header>
11
+ <main>
12
+ <d-page-section :id="id" />
13
+ </main>
14
+ </d-page>
15
+ </template>
16
+ ```
17
+
18
+ The submenu toolbar automatically adapts to the page configuration. If only Overview is configured, the toolbar shows a single tab. When Showcase or Vs tabs are enabled, the toolbar expands with labeled buttons.
19
+
20
+ ## Mobile Behavior
21
+
22
+ On mobile devices (`$q.screen.lt.md`), the submenu button labels are hidden, showing only icons. The right-side anchor drawer becomes an overlay that can be toggled with the tree icon button.
23
+
24
+ ## Custom Content Example
25
+
26
+ You can also use DPage with `disableNav` to create standalone pages without the bottom navigation:
27
+
28
+ ```html
29
+ <d-page :disable-nav="true">
30
+ <div class="text-center q-pa-lg">
31
+ <h2>Custom Page Content</h2>
32
+ <p>No bottom nav, no prev/next links.</p>
33
+ </div>
34
+ </d-page>
35
+ ```
@@ -0,0 +1,35 @@
1
+ ## Demonstração
2
+
3
+ Veja como DPage é usado dentro do DSubpage:
4
+
5
+ ```html
6
+ <template>
7
+ <d-page>
8
+ <header>
9
+ <d-h1 :id="0" />
10
+ </header>
11
+ <main>
12
+ <d-page-section :id="id" />
13
+ </main>
14
+ </d-page>
15
+ </template>
16
+ ```
17
+
18
+ A barra de submenu se adapta automaticamente à configuração da página. Se apenas Overview estiver configurado, a barra mostra uma única aba. Quando as abas Showcase ou Vs estão habilitadas, a barra expande com botões rotulados.
19
+
20
+ ## Comportamento Mobile
21
+
22
+ Em dispositivos móveis (`$q.screen.lt.md`), os labels dos botões do submenu ficam ocultos, mostrando apenas ícones. O drawer de âncoras à direita se torna um overlay que pode ser alternado com o botão de ícone de árvore.
23
+
24
+ ## Exemplo de Conteúdo Customizado
25
+
26
+ Você também pode usar DPage com `disableNav` para criar páginas standalone sem navegação inferior:
27
+
28
+ ```html
29
+ <d-page :disable-nav="true">
30
+ <div class="text-center q-pa-lg">
31
+ <h2>Conteúdo Customizado</h2>
32
+ <p>Sem nav inferior, sem links prev/next.</p>
33
+ </div>
34
+ </d-page>
35
+ ```
@@ -0,0 +1,56 @@
1
+ ## Overview
2
+
3
+ `DSubpage` is a **convenience wrapper** that composes `DPage`, `DH1`, and `DPageSection` into a standard documentation page layout. It is the component loaded by the router for every subpage route.
4
+
5
+ ## How It Works
6
+
7
+ DSubpage generates a deterministic numeric ID from the current route path using a hash function. This ID is passed to `DPageSection` to ensure unique component keys across page navigations.
8
+
9
+ ## Template
10
+
11
+ ```html
12
+ <d-page>
13
+ <header>
14
+ <d-h1 :id="0" />
15
+ </header>
16
+ <main>
17
+ <d-page-section :id="id" />
18
+ </main>
19
+ </d-page>
20
+ ```
21
+
22
+ ## ID Generation
23
+
24
+ The `id` computed property creates a consistent hash from the route path:
25
+
26
+ ```javascript
27
+ const id = computed(() => &#123;
28
+ const path = route.path
29
+ let hash = 5381
30
+ for (let i = 0; i < path.length; i++) &#123;
31
+ hash = (hash * 33) ^ path.charCodeAt(i)
32
+ &#125;
33
+ return hash >>> 0
34
+ &#125;)
35
+ ```
36
+
37
+ This ensures that each page generates a unique set of anchor IDs, preventing collisions when switching between pages.
38
+
39
+ ## When to Use
40
+
41
+ DSubpage is automatically used by the router for all documentation pages. You don't need to use it directly unless creating custom page layouts. For standard documentation, the router handles everything:
42
+
43
+ ```javascript
44
+ // In routes.js - this happens automatically
45
+ &#123;
46
+ path: 'overview',
47
+ component: () => import('components/DSubpage.vue'),
48
+ meta: &#123; status: config.status &#125;
49
+ &#125;
50
+ ```
51
+
52
+ ## Relationship with DPage
53
+
54
+ - `DSubpage` **uses** `DPage` as its container
55
+ - `DPage` handles layout (scroll, toolbar, drawer)
56
+ - `DSubpage` handles content composition (H1 + sections)
@@ -0,0 +1,56 @@
1
+ ## Visão Geral
2
+
3
+ `DSubpage` é um **wrapper de conveniência** que compõe `DPage`, `DH1` e `DPageSection` em um layout de página de documentação padrão. É o componente carregado pelo roteador para cada rota de sub-página.
4
+
5
+ ## Como Funciona
6
+
7
+ DSubpage gera um ID numérico determinístico a partir do caminho da rota atual usando uma função hash. Esse ID é passado ao `DPageSection` para garantir chaves de componente únicas entre navegações de página.
8
+
9
+ ## Template
10
+
11
+ ```html
12
+ <d-page>
13
+ <header>
14
+ <d-h1 :id="0" />
15
+ </header>
16
+ <main>
17
+ <d-page-section :id="id" />
18
+ </main>
19
+ </d-page>
20
+ ```
21
+
22
+ ## Geração de ID
23
+
24
+ A propriedade computada `id` cria um hash consistente a partir do caminho da rota:
25
+
26
+ ```javascript
27
+ const id = computed(() => &#123;
28
+ const path = route.path
29
+ let hash = 5381
30
+ for (let i = 0; i < path.length; i++) &#123;
31
+ hash = (hash * 33) ^ path.charCodeAt(i)
32
+ &#125;
33
+ return hash >>> 0
34
+ &#125;)
35
+ ```
36
+
37
+ Isso garante que cada página gere um conjunto único de IDs de âncora, prevenindo colisões ao navegar entre páginas.
38
+
39
+ ## Quando Usar
40
+
41
+ DSubpage é usado automaticamente pelo roteador para todas as páginas de documentação. Você não precisa usá-lo diretamente, a menos que crie layouts de página customizados. Para documentação padrão, o roteador cuida de tudo:
42
+
43
+ ```javascript
44
+ // Em routes.js - isso acontece automaticamente
45
+ &#123;
46
+ path: 'overview',
47
+ component: () => import('components/DSubpage.vue'),
48
+ meta: &#123; status: config.status &#125;
49
+ &#125;
50
+ ```
51
+
52
+ ## Relação com DPage
53
+
54
+ - `DSubpage` **usa** `DPage` como container
55
+ - `DPage` cuida do layout (scroll, toolbar, drawer)
56
+ - `DSubpage` cuida da composição de conteúdo (H1 + seções)
@@ -0,0 +1,71 @@
1
+ ## Overview
2
+
3
+ `QZoom` is a **zoom overlay** component forked from `quasarframework/app-extension-qzoom` and ported from Vue 2 to Vue 3. It enables any content to be zoomed into a fullscreen overlay with optional scaling.
4
+
5
+ ## Props
6
+
7
+ | Prop | Type | Default | Description |
8
+ |------|------|---------|-------------|
9
+ | `backgroundColor` | `String` | `'white'` | Background color of the overlay |
10
+ | `restoreOnScroll` | `Boolean` | `false` | Close zoom when user scrolls |
11
+ | `manual` | `Boolean` | `false` | Disable automatic click-to-zoom |
12
+ | `scale` | `Boolean` | `false` | Enable mouse wheel scaling |
13
+ | `initialScale` | `Number` | `1.0` | Initial scale (0.05–10) |
14
+ | `scaleText` | `Boolean` | `false` | Enable font-size scaling instead of transform |
15
+ | `initialScaleText` | `Number` | `100` | Initial font-size percentage (50–500) |
16
+ | `noCenter` | `Boolean` | `false` | Don't center content in overlay |
17
+ | `noWheelScale` | `Boolean` | `false` | Disable mouse wheel scaling |
18
+ | `noEscClose` | `Boolean` | `false` | Disable Escape key to close |
19
+
20
+ ## Events
21
+
22
+ | Event | Payload | Description |
23
+ |-------|---------|-------------|
24
+ | `before-zoom` | — | Emitted before zoom animation starts |
25
+ | `zoomed` | — | Emitted after zoom animation completes |
26
+ | `before-restore` | — | Emitted before restore animation starts |
27
+ | `restored` | — | Emitted after restore animation completes |
28
+ | `scale` | `Number` | Emitted when scale value changes |
29
+ | `scale-text` | `Number` | Emitted when text scale value changes |
30
+
31
+ ## Slot
32
+
33
+ The default slot receives a `zoomed` Boolean indicating the current zoom state:
34
+
35
+ ```html
36
+ <q-zoom>
37
+ <template v-slot:default="&#123; zoomed &#125;">
38
+ <img src="diagram.png" :class="zoomed ? 'zoomed' : ''" />
39
+ </template>
40
+ </q-zoom>
41
+ ```
42
+
43
+ ## How It Works
44
+
45
+ 1. By default, clicking toggles between normal and fullscreen
46
+ 2. An overlay is created with a smooth transition (500ms zoom in, 400ms restore)
47
+ 3. During zoom, body scroll is disabled (unless `restoreOnScroll` is true)
48
+ 4. Press **Escape** to close (unless `noEscClose` is true)
49
+
50
+ ## Scaling Modes
51
+
52
+ Two mutually exclusive scaling modes:
53
+
54
+ - **Transform scale** (`scale` prop) — Scales the entire content using CSS `transform: scale()`
55
+ - **Font-size scale** (`scaleText` prop) — Adjusts the content's `font-size` percentage
56
+
57
+ Mouse wheel scrolling adjusts the scale value when zoomed (unless `noWheelScale` is true).
58
+
59
+ ## Boot Registration
60
+
61
+ QZoom is registered globally via `src/boot/QZoom.js`:
62
+
63
+ ```javascript
64
+ app.component('QZoom', QZoom)
65
+ ```
66
+
67
+ This makes `<q-zoom>` available in all templates without explicit imports.
68
+
69
+ ## Dependencies
70
+
71
+ QZoom requires the `q-colorize-mixin` package for background color handling, and `QZoom.styl` for its CSS styles.
@@ -0,0 +1,71 @@
1
+ ## Visão Geral
2
+
3
+ `QZoom` é um componente de **overlay de zoom** forked de `quasarframework/app-extension-qzoom` e portado de Vue 2 para Vue 3. Ele permite que qualquer conteúdo seja ampliado em um overlay fullscreen com escala opcional.
4
+
5
+ ## Props
6
+
7
+ | Prop | Tipo | Padrão | Descrição |
8
+ |------|------|--------|-----------|
9
+ | `backgroundColor` | `String` | `'white'` | Cor de fundo do overlay |
10
+ | `restoreOnScroll` | `Boolean` | `false` | Fecha zoom quando o usuário faz scroll |
11
+ | `manual` | `Boolean` | `false` | Desabilita click-to-zoom automático |
12
+ | `scale` | `Boolean` | `false` | Habilita escala com roda do mouse |
13
+ | `initialScale` | `Number` | `1.0` | Escala inicial (0.05–10) |
14
+ | `scaleText` | `Boolean` | `false` | Habilita escala de font-size ao invés de transform |
15
+ | `initialScaleText` | `Number` | `100` | Porcentagem inicial de font-size (50–500) |
16
+ | `noCenter` | `Boolean` | `false` | Não centraliza conteúdo no overlay |
17
+ | `noWheelScale` | `Boolean` | `false` | Desabilita escala com roda do mouse |
18
+ | `noEscClose` | `Boolean` | `false` | Desabilita tecla Escape para fechar |
19
+
20
+ ## Eventos
21
+
22
+ | Evento | Payload | Descrição |
23
+ |--------|---------|-----------|
24
+ | `before-zoom` | — | Emitido antes da animação de zoom iniciar |
25
+ | `zoomed` | — | Emitido após a animação de zoom completar |
26
+ | `before-restore` | — | Emitido antes da animação de restaurar iniciar |
27
+ | `restored` | — | Emitido após a animação de restaurar completar |
28
+ | `scale` | `Number` | Emitido quando o valor de escala muda |
29
+ | `scale-text` | `Number` | Emitido quando o valor de escala de texto muda |
30
+
31
+ ## Slot
32
+
33
+ O slot padrão recebe um Boolean `zoomed` indicando o estado de zoom atual:
34
+
35
+ ```html
36
+ <q-zoom>
37
+ <template v-slot:default="&#123; zoomed &#125;">
38
+ <img src="diagrama.png" :class="zoomed ? 'zoomed' : ''" />
39
+ </template>
40
+ </q-zoom>
41
+ ```
42
+
43
+ ## Como Funciona
44
+
45
+ 1. Por padrão, clicar alterna entre normal e fullscreen
46
+ 2. Um overlay é criado com transição suave (500ms zoom in, 400ms restore)
47
+ 3. Durante o zoom, o scroll do body é desabilitado (a menos que `restoreOnScroll` seja true)
48
+ 4. Pressione **Escape** para fechar (a menos que `noEscClose` seja true)
49
+
50
+ ## Modos de Escala
51
+
52
+ Dois modos de escala mutuamente exclusivos:
53
+
54
+ - **Transform scale** (prop `scale`) — Escala todo o conteúdo usando CSS `transform: scale()`
55
+ - **Font-size scale** (prop `scaleText`) — Ajusta a porcentagem de `font-size` do conteúdo
56
+
57
+ Scroll com roda do mouse ajusta o valor de escala quando ampliado (a menos que `noWheelScale` seja true).
58
+
59
+ ## Registro via Boot
60
+
61
+ QZoom é registrado globalmente via `src/boot/QZoom.js`:
62
+
63
+ ```javascript
64
+ app.component('QZoom', QZoom)
65
+ ```
66
+
67
+ Isso torna `<q-zoom>` disponível em todos os templates sem imports explícitos.
68
+
69
+ ## Dependências
70
+
71
+ QZoom requer o pacote `q-colorize-mixin` para tratamento de cor de fundo, e `QZoom.styl` para seus estilos CSS.
@@ -0,0 +1,89 @@
1
+ ## Overview
2
+
3
+ `useNavigator` is the **core composable** that manages anchor navigation, heading registration, scroll tracking, and ToC tree construction. It is used by DH1–DH6, DPage, and DPageAnchor.
4
+
5
+ ## Returned API
6
+
7
+ ```javascript
8
+ const &#123;
9
+ register, // Register an anchor ID
10
+ index, // Add a node to the ToC tree
11
+ select, // Select an anchor
12
+ anchor, // Scroll to an anchor
13
+ scrolling, // Scroll event handler
14
+ navigate, // Navigate to an anchor (URL + scroll)
15
+ selected // Ref to currently selected anchor
16
+ &#125; = useNavigator()
17
+ ```
18
+
19
+ ## Functions
20
+
21
+ ### register(id)
22
+
23
+ Registers an anchor ID in the `page/anchors` store array. Called by heading components on mount.
24
+
25
+ ```javascript
26
+ onMounted(() => &#123;
27
+ register(props.id)
28
+ &#125;)
29
+ ```
30
+
31
+ ### index(id, child)
32
+
33
+ Pushes a node into the `page/nodes` store to build the ToC tree. Called by DH2–DH6 after rendering.
34
+
35
+ ### select(id)
36
+
37
+ Updates `page/anchor` state and expands the corresponding tree node.
38
+
39
+ ### anchor(id, toSelect)
40
+
41
+ Scrolls the viewport to the DOM element with the given ID using Quasar's `scroll` utility. Optionally calls `select()` to highlight the node in the ToC tree.
42
+
43
+ ### scrolling(scroll)
44
+
45
+ The scroll event handler attached to DPage's QScrollObserver. It iterates all registered anchors, finds the one closest to the current scroll position, and selects it. Only active when `page/scrolling` is `true`.
46
+
47
+ ### navigate(value, toAnchor)
48
+
49
+ Full navigation function that:
50
+
51
+ 1. Updates the URL hash via `router.push()`
52
+ 2. Scrolls to the anchor element
53
+ 3. Handles desktop vs mobile timing differences
54
+
55
+ ## Usage Pattern
56
+
57
+ Heading components use register + index:
58
+
59
+ ```javascript
60
+ const &#123; register, index, navigate, selected &#125; = useNavigator()
61
+
62
+ onMounted(() => &#123;
63
+ register(props.id)
64
+ selected.value = props.value
65
+ index(props.id)
66
+ &#125;)
67
+ ```
68
+
69
+ DPage uses scrolling:
70
+
71
+ ```javascript
72
+ const &#123; scrolling, navigate &#125; = useNavigator()
73
+ // scrolling is passed to QScrollObserver
74
+ ```
75
+
76
+ DPageAnchor uses navigate + anchor:
77
+
78
+ ```javascript
79
+ const &#123; navigate, anchor, selected &#125; = useNavigator()
80
+ // navigate is triggered by QTree selection
81
+ ```
82
+
83
+ ## Store Dependencies
84
+
85
+ - `page/anchors` — Array of registered anchor IDs
86
+ - `page/nodes` — ToC tree structure
87
+ - `page/nodesExpanded` — Expanded tree nodes
88
+ - `page/anchor` — Currently selected anchor
89
+ - `page/scrolling` — Whether scroll tracking is active