robindoc 0.0.0-experimental-8add2a3

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 (446) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +51 -0
  3. package/lib/assets/index.d.ts +2 -0
  4. package/lib/assets/index.d.ts.map +1 -0
  5. package/lib/assets/index.js +2 -0
  6. package/lib/assets/index.js.map +1 -0
  7. package/lib/components/blocks/anchor-heading/index.d.ts +9 -0
  8. package/lib/components/blocks/anchor-heading/index.d.ts.map +1 -0
  9. package/lib/components/blocks/anchor-heading/index.js +3 -0
  10. package/lib/components/blocks/anchor-heading/index.js.map +1 -0
  11. package/lib/components/blocks/breadcrumbs/index.d.ts +9 -0
  12. package/lib/components/blocks/breadcrumbs/index.d.ts.map +1 -0
  13. package/lib/components/blocks/breadcrumbs/index.js +2 -0
  14. package/lib/components/blocks/breadcrumbs/index.js.map +1 -0
  15. package/lib/components/blocks/code-section/index.d.ts +8 -0
  16. package/lib/components/blocks/code-section/index.d.ts.map +1 -0
  17. package/lib/components/blocks/code-section/index.js +2 -0
  18. package/lib/components/blocks/code-section/index.js.map +1 -0
  19. package/lib/components/blocks/contents/index.d.ts +19 -0
  20. package/lib/components/blocks/contents/index.d.ts.map +1 -0
  21. package/lib/components/blocks/contents/index.js +3 -0
  22. package/lib/components/blocks/contents/index.js.map +1 -0
  23. package/lib/components/blocks/header-menu/index.d.ts +10 -0
  24. package/lib/components/blocks/header-menu/index.d.ts.map +1 -0
  25. package/lib/components/blocks/header-menu/index.js +3 -0
  26. package/lib/components/blocks/header-menu/index.js.map +1 -0
  27. package/lib/components/blocks/header-social/index.d.ts +9 -0
  28. package/lib/components/blocks/header-social/index.d.ts.map +1 -0
  29. package/lib/components/blocks/header-social/index.js +2 -0
  30. package/lib/components/blocks/header-social/index.js.map +1 -0
  31. package/lib/components/blocks/last-modified/index.d.ts +7 -0
  32. package/lib/components/blocks/last-modified/index.d.ts.map +1 -0
  33. package/lib/components/blocks/last-modified/index.js +3 -0
  34. package/lib/components/blocks/last-modified/index.js.map +1 -0
  35. package/lib/components/blocks/meta/index.d.ts +21 -0
  36. package/lib/components/blocks/meta/index.d.ts.map +1 -0
  37. package/lib/components/blocks/nav-content-link/index.d.ts +6 -0
  38. package/lib/components/blocks/nav-content-link/index.d.ts.map +1 -0
  39. package/lib/components/blocks/nav-content-link/index.js +3 -0
  40. package/lib/components/blocks/nav-content-link/index.js.map +1 -0
  41. package/lib/components/blocks/nav-link/index.d.ts +9 -0
  42. package/lib/components/blocks/nav-link/index.d.ts.map +1 -0
  43. package/lib/components/blocks/nav-link/index.js +3 -0
  44. package/lib/components/blocks/nav-link/index.js.map +1 -0
  45. package/lib/components/blocks/no-js/index.d.ts +3 -0
  46. package/lib/components/blocks/no-js/index.d.ts.map +1 -0
  47. package/lib/components/blocks/no-js/index.js +2 -0
  48. package/lib/components/blocks/no-js/index.js.map +1 -0
  49. package/lib/components/blocks/pagination/index.d.ts +20 -0
  50. package/lib/components/blocks/pagination/index.d.ts.map +1 -0
  51. package/lib/components/blocks/pagination/index.js +2 -0
  52. package/lib/components/blocks/pagination/index.js.map +1 -0
  53. package/lib/components/blocks/search/index.d.ts +12 -0
  54. package/lib/components/blocks/search/index.d.ts.map +1 -0
  55. package/lib/components/blocks/search/index.js +3 -0
  56. package/lib/components/blocks/search/index.js.map +1 -0
  57. package/lib/components/blocks/search/search-modal/index.d.ts +16 -0
  58. package/lib/components/blocks/search/search-modal/index.d.ts.map +1 -0
  59. package/lib/components/blocks/search/search-modal/index.js +3 -0
  60. package/lib/components/blocks/search/search-modal/index.js.map +1 -0
  61. package/lib/components/blocks/section-dropdown/index.d.ts +15 -0
  62. package/lib/components/blocks/section-dropdown/index.d.ts.map +1 -0
  63. package/lib/components/blocks/section-dropdown/index.js +2 -0
  64. package/lib/components/blocks/section-dropdown/index.js.map +1 -0
  65. package/lib/components/blocks/theme-detector/index.d.ts +3 -0
  66. package/lib/components/blocks/theme-detector/index.d.ts.map +1 -0
  67. package/lib/components/blocks/theme-detector/index.js +2 -0
  68. package/lib/components/blocks/theme-detector/index.js.map +1 -0
  69. package/lib/components/blocks/theme-styles/index.d.ts +7 -0
  70. package/lib/components/blocks/theme-styles/index.d.ts.map +1 -0
  71. package/lib/components/blocks/theme-styles/index.js +2 -0
  72. package/lib/components/blocks/theme-styles/index.js.map +1 -0
  73. package/lib/components/blocks/theme-switcher/index.d.ts +14 -0
  74. package/lib/components/blocks/theme-switcher/index.d.ts.map +1 -0
  75. package/lib/components/blocks/theme-switcher/index.js +3 -0
  76. package/lib/components/blocks/theme-switcher/index.js.map +1 -0
  77. package/lib/components/contexts/contents/context.d.ts +3 -0
  78. package/lib/components/contexts/contents/context.d.ts.map +1 -0
  79. package/lib/components/contexts/contents/context.js +3 -0
  80. package/lib/components/contexts/contents/context.js.map +1 -0
  81. package/lib/components/contexts/contents/provider.d.ts +3 -0
  82. package/lib/components/contexts/contents/provider.d.ts.map +1 -0
  83. package/lib/components/contexts/contents/provider.js +3 -0
  84. package/lib/components/contexts/contents/provider.js.map +1 -0
  85. package/lib/components/contexts/contents/use-heading-index.d.ts +2 -0
  86. package/lib/components/contexts/contents/use-heading-index.d.ts.map +1 -0
  87. package/lib/components/contexts/contents/use-heading-index.js +3 -0
  88. package/lib/components/contexts/contents/use-heading-index.js.map +1 -0
  89. package/lib/components/contexts/contents/use-heading-register.d.ts +2 -0
  90. package/lib/components/contexts/contents/use-heading-register.d.ts.map +1 -0
  91. package/lib/components/contexts/contents/use-heading-register.js +3 -0
  92. package/lib/components/contexts/contents/use-heading-register.js.map +1 -0
  93. package/lib/components/contexts/navigate/context.d.ts +3 -0
  94. package/lib/components/contexts/navigate/context.d.ts.map +1 -0
  95. package/lib/components/contexts/navigate/context.js +3 -0
  96. package/lib/components/contexts/navigate/context.js.map +1 -0
  97. package/lib/components/contexts/navigate/provider.d.ts +3 -0
  98. package/lib/components/contexts/navigate/provider.d.ts.map +1 -0
  99. package/lib/components/contexts/navigate/provider.js +3 -0
  100. package/lib/components/contexts/navigate/provider.js.map +1 -0
  101. package/lib/components/contexts/navigate/types.d.ts +9 -0
  102. package/lib/components/contexts/navigate/types.d.ts.map +1 -0
  103. package/lib/components/contexts/navigate/use-navigate.d.ts +7 -0
  104. package/lib/components/contexts/navigate/use-navigate.d.ts.map +1 -0
  105. package/lib/components/contexts/navigate/use-navigate.js +3 -0
  106. package/lib/components/contexts/navigate/use-navigate.js.map +1 -0
  107. package/lib/components/contexts/reference/context.d.ts +2 -0
  108. package/lib/components/contexts/reference/context.d.ts.map +1 -0
  109. package/lib/components/contexts/reference/context.js +3 -0
  110. package/lib/components/contexts/reference/context.js.map +1 -0
  111. package/lib/components/contexts/reference/provider.d.ts +5 -0
  112. package/lib/components/contexts/reference/provider.d.ts.map +1 -0
  113. package/lib/components/contexts/reference/provider.js +3 -0
  114. package/lib/components/contexts/reference/provider.js.map +1 -0
  115. package/lib/components/contexts/reference/use-reference.d.ts +2 -0
  116. package/lib/components/contexts/reference/use-reference.d.ts.map +1 -0
  117. package/lib/components/contexts/reference/use-reference.js +3 -0
  118. package/lib/components/contexts/reference/use-reference.js.map +1 -0
  119. package/lib/components/elements/article/document.d.ts +27 -0
  120. package/lib/components/elements/article/document.d.ts.map +1 -0
  121. package/lib/components/elements/article/document.js +2 -0
  122. package/lib/components/elements/article/document.js.map +1 -0
  123. package/lib/components/elements/article/index.d.ts +33 -0
  124. package/lib/components/elements/article/index.d.ts.map +1 -0
  125. package/lib/components/elements/article/index.js +2 -0
  126. package/lib/components/elements/article/index.js.map +1 -0
  127. package/lib/components/elements/article/types.d.ts +5 -0
  128. package/lib/components/elements/article/types.d.ts.map +1 -0
  129. package/lib/components/elements/article/utils.d.ts +48 -0
  130. package/lib/components/elements/article/utils.d.ts.map +1 -0
  131. package/lib/components/elements/article/utils.js +2 -0
  132. package/lib/components/elements/article/utils.js.map +1 -0
  133. package/lib/components/elements/blog-container/index.d.ts +4 -0
  134. package/lib/components/elements/blog-container/index.d.ts.map +1 -0
  135. package/lib/components/elements/blog-container/index.js +2 -0
  136. package/lib/components/elements/blog-container/index.js.map +1 -0
  137. package/lib/components/elements/docs-container/index.d.ts +4 -0
  138. package/lib/components/elements/docs-container/index.d.ts.map +1 -0
  139. package/lib/components/elements/docs-container/index.js +2 -0
  140. package/lib/components/elements/docs-container/index.js.map +1 -0
  141. package/lib/components/elements/footer/index.d.ts +8 -0
  142. package/lib/components/elements/footer/index.d.ts.map +1 -0
  143. package/lib/components/elements/footer/index.js +2 -0
  144. package/lib/components/elements/footer/index.js.map +1 -0
  145. package/lib/components/elements/header/index.d.ts +31 -0
  146. package/lib/components/elements/header/index.d.ts.map +1 -0
  147. package/lib/components/elements/header/index.js +2 -0
  148. package/lib/components/elements/header/index.js.map +1 -0
  149. package/lib/components/elements/keylink-to-content/index.d.ts +10 -0
  150. package/lib/components/elements/keylink-to-content/index.d.ts.map +1 -0
  151. package/lib/components/elements/keylink-to-content/index.js +2 -0
  152. package/lib/components/elements/keylink-to-content/index.js.map +1 -0
  153. package/lib/components/elements/keylink-to-navigation/index.d.ts +10 -0
  154. package/lib/components/elements/keylink-to-navigation/index.d.ts.map +1 -0
  155. package/lib/components/elements/keylink-to-navigation/index.js +2 -0
  156. package/lib/components/elements/keylink-to-navigation/index.js.map +1 -0
  157. package/lib/components/elements/page-container/index.d.ts +4 -0
  158. package/lib/components/elements/page-container/index.d.ts.map +1 -0
  159. package/lib/components/elements/page-container/index.js +2 -0
  160. package/lib/components/elements/page-container/index.js.map +1 -0
  161. package/lib/components/elements/robin-provider/index.d.ts +8 -0
  162. package/lib/components/elements/robin-provider/index.d.ts.map +1 -0
  163. package/lib/components/elements/robin-provider/index.js +2 -0
  164. package/lib/components/elements/robin-provider/index.js.map +1 -0
  165. package/lib/components/elements/sidebar/index.d.ts +18 -0
  166. package/lib/components/elements/sidebar/index.d.ts.map +1 -0
  167. package/lib/components/elements/sidebar/index.js +2 -0
  168. package/lib/components/elements/sidebar/index.js.map +1 -0
  169. package/lib/components/elements/sidebar/sidebar-drop/index.d.ts +9 -0
  170. package/lib/components/elements/sidebar/sidebar-drop/index.d.ts.map +1 -0
  171. package/lib/components/elements/sidebar/sidebar-drop/index.js +3 -0
  172. package/lib/components/elements/sidebar/sidebar-drop/index.js.map +1 -0
  173. package/lib/components/elements/sidebar/sidebar-link/index.d.ts +12 -0
  174. package/lib/components/elements/sidebar/sidebar-link/index.d.ts.map +1 -0
  175. package/lib/components/elements/sidebar/sidebar-link/index.js +3 -0
  176. package/lib/components/elements/sidebar/sidebar-link/index.js.map +1 -0
  177. package/lib/components/elements/sidebar/sidebar-menu/index.d.ts +8 -0
  178. package/lib/components/elements/sidebar/sidebar-menu/index.d.ts.map +1 -0
  179. package/lib/components/elements/sidebar/sidebar-menu/index.js +3 -0
  180. package/lib/components/elements/sidebar/sidebar-menu/index.js.map +1 -0
  181. package/lib/components/elements/sidebar/tools.d.ts +7 -0
  182. package/lib/components/elements/sidebar/tools.d.ts.map +1 -0
  183. package/lib/components/elements/sidebar/tools.js +2 -0
  184. package/lib/components/elements/sidebar/tools.js.map +1 -0
  185. package/lib/components/elements/sidebar/types.d.ts +9 -0
  186. package/lib/components/elements/sidebar/types.d.ts.map +1 -0
  187. package/lib/components/ui/backdrop/index.d.ts +8 -0
  188. package/lib/components/ui/backdrop/index.d.ts.map +1 -0
  189. package/lib/components/ui/backdrop/index.js +3 -0
  190. package/lib/components/ui/backdrop/index.js.map +1 -0
  191. package/lib/components/ui/block/index.d.ts +8 -0
  192. package/lib/components/ui/block/index.d.ts.map +1 -0
  193. package/lib/components/ui/block/index.js +2 -0
  194. package/lib/components/ui/block/index.js.map +1 -0
  195. package/lib/components/ui/blockquote/data.d.ts +23 -0
  196. package/lib/components/ui/blockquote/data.d.ts.map +1 -0
  197. package/lib/components/ui/blockquote/data.js +2 -0
  198. package/lib/components/ui/blockquote/data.js.map +1 -0
  199. package/lib/components/ui/blockquote/icons.d.ts +7 -0
  200. package/lib/components/ui/blockquote/icons.d.ts.map +1 -0
  201. package/lib/components/ui/blockquote/icons.js +2 -0
  202. package/lib/components/ui/blockquote/icons.js.map +1 -0
  203. package/lib/components/ui/blockquote/index.d.ts +10 -0
  204. package/lib/components/ui/blockquote/index.d.ts.map +1 -0
  205. package/lib/components/ui/blockquote/index.js +2 -0
  206. package/lib/components/ui/blockquote/index.js.map +1 -0
  207. package/lib/components/ui/code-block/index.d.ts +11 -0
  208. package/lib/components/ui/code-block/index.d.ts.map +1 -0
  209. package/lib/components/ui/code-block/index.js +2 -0
  210. package/lib/components/ui/code-block/index.js.map +1 -0
  211. package/lib/components/ui/code-block/theme.d.ts +3 -0
  212. package/lib/components/ui/code-block/theme.d.ts.map +1 -0
  213. package/lib/components/ui/code-block/theme.js +2 -0
  214. package/lib/components/ui/code-block/theme.js.map +1 -0
  215. package/lib/components/ui/code-span/index.d.ts +9 -0
  216. package/lib/components/ui/code-span/index.d.ts.map +1 -0
  217. package/lib/components/ui/code-span/index.js +2 -0
  218. package/lib/components/ui/code-span/index.js.map +1 -0
  219. package/lib/components/ui/container/index.d.ts +8 -0
  220. package/lib/components/ui/container/index.d.ts.map +1 -0
  221. package/lib/components/ui/container/index.js +2 -0
  222. package/lib/components/ui/container/index.js.map +1 -0
  223. package/lib/components/ui/content-link/index.d.ts +8 -0
  224. package/lib/components/ui/content-link/index.d.ts.map +1 -0
  225. package/lib/components/ui/content-link/index.js +2 -0
  226. package/lib/components/ui/content-link/index.js.map +1 -0
  227. package/lib/components/ui/copy-button/index.d.ts +15 -0
  228. package/lib/components/ui/copy-button/index.d.ts.map +1 -0
  229. package/lib/components/ui/copy-button/index.js +3 -0
  230. package/lib/components/ui/copy-button/index.js.map +1 -0
  231. package/lib/components/ui/copy-text/index.d.ts +12 -0
  232. package/lib/components/ui/copy-text/index.d.ts.map +1 -0
  233. package/lib/components/ui/copy-text/index.js +3 -0
  234. package/lib/components/ui/copy-text/index.js.map +1 -0
  235. package/lib/components/ui/del/index.d.ts +7 -0
  236. package/lib/components/ui/del/index.d.ts.map +1 -0
  237. package/lib/components/ui/del/index.js +2 -0
  238. package/lib/components/ui/del/index.js.map +1 -0
  239. package/lib/components/ui/em/index.d.ts +7 -0
  240. package/lib/components/ui/em/index.d.ts.map +1 -0
  241. package/lib/components/ui/em/index.js +2 -0
  242. package/lib/components/ui/em/index.js.map +1 -0
  243. package/lib/components/ui/external-mark/index.d.ts +4 -0
  244. package/lib/components/ui/external-mark/index.d.ts.map +1 -0
  245. package/lib/components/ui/external-mark/index.js +2 -0
  246. package/lib/components/ui/external-mark/index.js.map +1 -0
  247. package/lib/components/ui/git-logos/index.d.ts +5 -0
  248. package/lib/components/ui/git-logos/index.d.ts.map +1 -0
  249. package/lib/components/ui/git-logos/index.js +2 -0
  250. package/lib/components/ui/git-logos/index.js.map +1 -0
  251. package/lib/components/ui/heading/index.d.ts +9 -0
  252. package/lib/components/ui/heading/index.d.ts.map +1 -0
  253. package/lib/components/ui/heading/index.js +2 -0
  254. package/lib/components/ui/heading/index.js.map +1 -0
  255. package/lib/components/ui/hr/index.d.ts +7 -0
  256. package/lib/components/ui/hr/index.d.ts.map +1 -0
  257. package/lib/components/ui/hr/index.js +2 -0
  258. package/lib/components/ui/hr/index.js.map +1 -0
  259. package/lib/components/ui/img/index.d.ts +12 -0
  260. package/lib/components/ui/img/index.d.ts.map +1 -0
  261. package/lib/components/ui/img/index.js +2 -0
  262. package/lib/components/ui/img/index.js.map +1 -0
  263. package/lib/components/ui/kbd/index.d.ts +3 -0
  264. package/lib/components/ui/kbd/index.d.ts.map +1 -0
  265. package/lib/components/ui/kbd/kbd-container/index.d.ts +7 -0
  266. package/lib/components/ui/kbd/kbd-container/index.d.ts.map +1 -0
  267. package/lib/components/ui/kbd/kbd-container/index.js +2 -0
  268. package/lib/components/ui/kbd/kbd-container/index.js.map +1 -0
  269. package/lib/components/ui/kbd/kbd-key/index.d.ts +7 -0
  270. package/lib/components/ui/kbd/kbd-key/index.d.ts.map +1 -0
  271. package/lib/components/ui/kbd/kbd-key/index.js +2 -0
  272. package/lib/components/ui/kbd/kbd-key/index.js.map +1 -0
  273. package/lib/components/ui/keylink/index.d.ts +8 -0
  274. package/lib/components/ui/keylink/index.d.ts.map +1 -0
  275. package/lib/components/ui/keylink/index.js +2 -0
  276. package/lib/components/ui/keylink/index.js.map +1 -0
  277. package/lib/components/ui/list/index.d.ts +4 -0
  278. package/lib/components/ui/list/index.d.ts.map +1 -0
  279. package/lib/components/ui/list/list-item/index.d.ts +8 -0
  280. package/lib/components/ui/list/list-item/index.d.ts.map +1 -0
  281. package/lib/components/ui/list/list-item/index.js +2 -0
  282. package/lib/components/ui/list/list-item/index.js.map +1 -0
  283. package/lib/components/ui/list/ordered-list/index.d.ts +8 -0
  284. package/lib/components/ui/list/ordered-list/index.d.ts.map +1 -0
  285. package/lib/components/ui/list/ordered-list/index.js +2 -0
  286. package/lib/components/ui/list/ordered-list/index.js.map +1 -0
  287. package/lib/components/ui/list/unordered-list/index.d.ts +8 -0
  288. package/lib/components/ui/list/unordered-list/index.d.ts.map +1 -0
  289. package/lib/components/ui/list/unordered-list/index.js +2 -0
  290. package/lib/components/ui/list/unordered-list/index.js.map +1 -0
  291. package/lib/components/ui/modal/index.d.ts +8 -0
  292. package/lib/components/ui/modal/index.d.ts.map +1 -0
  293. package/lib/components/ui/modal/index.js +2 -0
  294. package/lib/components/ui/modal/index.js.map +1 -0
  295. package/lib/components/ui/modal/use-modal.d.ts +6 -0
  296. package/lib/components/ui/modal/use-modal.d.ts.map +1 -0
  297. package/lib/components/ui/modal/use-modal.js +2 -0
  298. package/lib/components/ui/modal/use-modal.js.map +1 -0
  299. package/lib/components/ui/paragraph/index.d.ts +8 -0
  300. package/lib/components/ui/paragraph/index.d.ts.map +1 -0
  301. package/lib/components/ui/paragraph/index.js +2 -0
  302. package/lib/components/ui/paragraph/index.js.map +1 -0
  303. package/lib/components/ui/strong/index.d.ts +7 -0
  304. package/lib/components/ui/strong/index.d.ts.map +1 -0
  305. package/lib/components/ui/strong/index.js +2 -0
  306. package/lib/components/ui/strong/index.js.map +1 -0
  307. package/lib/components/ui/table/index.d.ts +7 -0
  308. package/lib/components/ui/table/index.d.ts.map +1 -0
  309. package/lib/components/ui/table/table/index.d.ts +8 -0
  310. package/lib/components/ui/table/table/index.d.ts.map +1 -0
  311. package/lib/components/ui/table/table/index.js +2 -0
  312. package/lib/components/ui/table/table/index.js.map +1 -0
  313. package/lib/components/ui/table/tbody/index.d.ts +7 -0
  314. package/lib/components/ui/table/tbody/index.d.ts.map +1 -0
  315. package/lib/components/ui/table/tbody/index.js +2 -0
  316. package/lib/components/ui/table/tbody/index.js.map +1 -0
  317. package/lib/components/ui/table/td/index.d.ts +8 -0
  318. package/lib/components/ui/table/td/index.d.ts.map +1 -0
  319. package/lib/components/ui/table/td/index.js +2 -0
  320. package/lib/components/ui/table/td/index.js.map +1 -0
  321. package/lib/components/ui/table/th/index.d.ts +8 -0
  322. package/lib/components/ui/table/th/index.d.ts.map +1 -0
  323. package/lib/components/ui/table/th/index.js +2 -0
  324. package/lib/components/ui/table/th/index.js.map +1 -0
  325. package/lib/components/ui/table/thead/index.d.ts +8 -0
  326. package/lib/components/ui/table/thead/index.d.ts.map +1 -0
  327. package/lib/components/ui/table/thead/index.js +2 -0
  328. package/lib/components/ui/table/thead/index.js.map +1 -0
  329. package/lib/components/ui/table/tr/index.d.ts +7 -0
  330. package/lib/components/ui/table/tr/index.d.ts.map +1 -0
  331. package/lib/components/ui/table/tr/index.js +2 -0
  332. package/lib/components/ui/table/tr/index.js.map +1 -0
  333. package/lib/components/ui/tabs/index.d.ts +16 -0
  334. package/lib/components/ui/tabs/index.d.ts.map +1 -0
  335. package/lib/components/ui/tabs/index.js +2 -0
  336. package/lib/components/ui/tabs/index.js.map +1 -0
  337. package/lib/components/ui/tabs/tabs-header/index.d.ts +11 -0
  338. package/lib/components/ui/tabs/tabs-header/index.d.ts.map +1 -0
  339. package/lib/components/ui/tabs/tabs-header/index.js +3 -0
  340. package/lib/components/ui/tabs/tabs-header/index.js.map +1 -0
  341. package/lib/components/ui/tabs/tabs-styles/index.d.ts +7 -0
  342. package/lib/components/ui/tabs/tabs-styles/index.d.ts.map +1 -0
  343. package/lib/components/ui/tabs/tabs-styles/index.js +2 -0
  344. package/lib/components/ui/tabs/tabs-styles/index.js.map +1 -0
  345. package/lib/components/ui/task-list/index.d.ts +4 -0
  346. package/lib/components/ui/task-list/index.d.ts.map +1 -0
  347. package/lib/components/ui/task-list/task-list-item/index.d.ts +9 -0
  348. package/lib/components/ui/task-list/task-list-item/index.d.ts.map +1 -0
  349. package/lib/components/ui/task-list/task-list-item/index.js +2 -0
  350. package/lib/components/ui/task-list/task-list-item/index.js.map +1 -0
  351. package/lib/components/ui/task-list/task-ordered-list/index.d.ts +5 -0
  352. package/lib/components/ui/task-list/task-ordered-list/index.d.ts.map +1 -0
  353. package/lib/components/ui/task-list/task-ordered-list/index.js +2 -0
  354. package/lib/components/ui/task-list/task-ordered-list/index.js.map +1 -0
  355. package/lib/components/ui/task-list/task-unordered-list/index.d.ts +8 -0
  356. package/lib/components/ui/task-list/task-unordered-list/index.d.ts.map +1 -0
  357. package/lib/components/ui/task-list/task-unordered-list/index.js +2 -0
  358. package/lib/components/ui/task-list/task-unordered-list/index.js.map +1 -0
  359. package/lib/components/ui/tooltip/index.d.ts +14 -0
  360. package/lib/components/ui/tooltip/index.d.ts.map +1 -0
  361. package/lib/components/ui/tooltip/index.js +2 -0
  362. package/lib/components/ui/tooltip/index.js.map +1 -0
  363. package/lib/core/data/contents.d.ts +11 -0
  364. package/lib/core/data/contents.d.ts.map +1 -0
  365. package/lib/core/data/contents.js +2 -0
  366. package/lib/core/data/contents.js.map +1 -0
  367. package/lib/core/hooks/use-debouncer.d.ts +4 -0
  368. package/lib/core/hooks/use-debouncer.d.ts.map +1 -0
  369. package/lib/core/hooks/use-debouncer.js +2 -0
  370. package/lib/core/hooks/use-debouncer.js.map +1 -0
  371. package/lib/core/hooks/use-system-type.d.ts +3 -0
  372. package/lib/core/hooks/use-system-type.d.ts.map +1 -0
  373. package/lib/core/hooks/use-system-type.js +2 -0
  374. package/lib/core/hooks/use-system-type.js.map +1 -0
  375. package/lib/core/providers/base.d.ts +13 -0
  376. package/lib/core/providers/base.d.ts.map +1 -0
  377. package/lib/core/providers/base.js +2 -0
  378. package/lib/core/providers/base.js.map +1 -0
  379. package/lib/core/providers/file-system.d.ts +11 -0
  380. package/lib/core/providers/file-system.d.ts.map +1 -0
  381. package/lib/core/providers/file-system.js +2 -0
  382. package/lib/core/providers/file-system.js.map +1 -0
  383. package/lib/core/providers/github.d.ts +20 -0
  384. package/lib/core/providers/github.d.ts.map +1 -0
  385. package/lib/core/providers/github.js +2 -0
  386. package/lib/core/providers/github.js.map +1 -0
  387. package/lib/core/providers/index.d.ts +3 -0
  388. package/lib/core/providers/index.d.ts.map +1 -0
  389. package/lib/core/types/content.d.ts +41 -0
  390. package/lib/core/types/content.d.ts.map +1 -0
  391. package/lib/core/types/search.d.ts +8 -0
  392. package/lib/core/types/search.d.ts.map +1 -0
  393. package/lib/core/types/structure.d.ts +16 -0
  394. package/lib/core/types/structure.d.ts.map +1 -0
  395. package/lib/core/types/theme.d.ts +49 -0
  396. package/lib/core/types/theme.d.ts.map +1 -0
  397. package/lib/core/utils/content-tools.d.ts +3 -0
  398. package/lib/core/utils/content-tools.d.ts.map +1 -0
  399. package/lib/core/utils/content-tools.js +2 -0
  400. package/lib/core/utils/content-tools.js.map +1 -0
  401. package/lib/core/utils/create-base-searcher.d.ts +3 -0
  402. package/lib/core/utils/create-base-searcher.d.ts.map +1 -0
  403. package/lib/core/utils/create-base-searcher.js +2 -0
  404. package/lib/core/utils/create-base-searcher.js.map +1 -0
  405. package/lib/core/utils/detect-provider.d.ts +3 -0
  406. package/lib/core/utils/detect-provider.d.ts.map +1 -0
  407. package/lib/core/utils/detect-provider.js +2 -0
  408. package/lib/core/utils/detect-provider.js.map +1 -0
  409. package/lib/core/utils/get-configuration.d.ts +10 -0
  410. package/lib/core/utils/get-configuration.d.ts.map +1 -0
  411. package/lib/core/utils/get-configuration.js +2 -0
  412. package/lib/core/utils/get-configuration.js.map +1 -0
  413. package/lib/core/utils/get-metadata.d.ts +13 -0
  414. package/lib/core/utils/get-metadata.d.ts.map +1 -0
  415. package/lib/core/utils/get-metadata.js +2 -0
  416. package/lib/core/utils/get-metadata.js.map +1 -0
  417. package/lib/core/utils/git-tools.d.ts +11 -0
  418. package/lib/core/utils/git-tools.d.ts.map +1 -0
  419. package/lib/core/utils/git-tools.js +2 -0
  420. package/lib/core/utils/git-tools.js.map +1 -0
  421. package/lib/core/utils/initialize-robindoc.d.ts +21 -0
  422. package/lib/core/utils/initialize-robindoc.d.ts.map +1 -0
  423. package/lib/core/utils/initialize-robindoc.js +2 -0
  424. package/lib/core/utils/initialize-robindoc.js.map +1 -0
  425. package/lib/core/utils/load-content.d.ts +21 -0
  426. package/lib/core/utils/load-content.d.ts.map +1 -0
  427. package/lib/core/utils/load-content.js +2 -0
  428. package/lib/core/utils/load-content.js.map +1 -0
  429. package/lib/core/utils/parse-structure.d.ts +8 -0
  430. package/lib/core/utils/parse-structure.d.ts.map +1 -0
  431. package/lib/core/utils/parse-structure.js +2 -0
  432. package/lib/core/utils/parse-structure.js.map +1 -0
  433. package/lib/core/utils/path-tools.d.ts +8 -0
  434. package/lib/core/utils/path-tools.d.ts.map +1 -0
  435. package/lib/core/utils/path-tools.js +2 -0
  436. package/lib/core/utils/path-tools.js.map +1 -0
  437. package/lib/core/utils/tabs-tools.d.ts +5 -0
  438. package/lib/core/utils/tabs-tools.d.ts.map +1 -0
  439. package/lib/core/utils/tabs-tools.js +2 -0
  440. package/lib/core/utils/tabs-tools.js.map +1 -0
  441. package/lib/index.d.ts +10 -0
  442. package/lib/index.d.ts.map +1 -0
  443. package/lib/index.js +2 -0
  444. package/lib/index.js.map +1 -0
  445. package/lib/styles.css +2046 -0
  446. package/package.json +70 -0
@@ -0,0 +1,33 @@
1
+ import "./article.scss";
2
+ import React from "react";
3
+ import { type Components } from "../../../core/types/content";
4
+ import { type BaseProvider } from "../../../core/providers/base";
5
+ import { type ContentsProps } from "../../blocks/contents";
6
+ import { type BreadcrumbsProps } from "../../blocks/breadcrumbs";
7
+ import { type PaginationProps } from "../../blocks/pagination";
8
+ export type ContentProps = {
9
+ title: string;
10
+ components?: Components;
11
+ config?: {
12
+ publicDirs?: string[];
13
+ };
14
+ provider?: BaseProvider;
15
+ pathname: string;
16
+ pages?: {
17
+ clientPath: string;
18
+ origPath: string;
19
+ }[];
20
+ translations?: {
21
+ /** Last modified on */
22
+ lastModifiedOn?: string;
23
+ };
24
+ } & ({
25
+ content: string;
26
+ uri?: undefined;
27
+ } | {
28
+ uri: string;
29
+ content?: undefined;
30
+ });
31
+ export type ArticleProps = Partial<PaginationProps> & Partial<BreadcrumbsProps> & Omit<ContentsProps, "headings"> & ContentProps;
32
+ export declare const Article: React.FC<ArticleProps>;
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/article/index.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,UAAU,EAAE,oCAAgC;AAC1D,OAAO,EAAE,KAAK,YAAY,EAAE,qCAAiC;AAG7D,OAAO,EAAY,KAAK,aAAa,EAAE,8BAAwC;AAC/E,OAAO,EAAe,KAAK,gBAAgB,EAAE,iCAA2C;AACxF,OAAO,EAAc,KAAK,eAAe,EAAE,gCAA0C;AAKrF,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE;QACL,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnD,YAAY,CAAC,EAAE;QACX,uBAAuB;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACL,GAAG,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAElF,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,GAC/C,OAAO,CAAC,gBAAgB,CAAC,GACzB,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,GAC/B,YAAY,CAAC;AAEjB,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA6D1C,CAAC"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{loadContent as t}from"../../../core/utils/load-content.js";import{ContentsProvider as n}from"../../contexts/contents/provider.js";import{Contents as r}from"../../blocks/contents/index.js";import{Breadcrumbs as o}from"../../blocks/breadcrumbs/index.js";import{Pagination as i}from"../../blocks/pagination/index.js";import{parseMarkdown as a}from"./utils.js";import{Document as s}from"./document.js";import{LastModified as d}from"../../blocks/last-modified/index.js";const c=async({components:c,content:m,uri:l,config:p={},provider:f,hideContents:u,editUri:g,pathname:v,title:b,breadcrumbs:h,prev:x,next:E,pages:j=[],translations:k})=>{const{lastModifiedOn:w="Last modified on",editOnService:P,onThisPage:O,next:U,previous:C}=k||{},{data:L,provider:M}=m||!l?{data:m,provider:null}:await t(l,f);if(!L)throw new Error("Robindoc: Please provide content or valid uri");const{headings:S,tokens:T}=a(L),y=l&&M&&await M.getEditUri(l),D=l&&M&&await M.getLastModifiedDate(l);return e.createElement(n,null,h&&h.length>0&&e.createElement(o,{breadcrumbs:h,title:b}),e.createElement(r,{editUri:null===g?null:g||y,hideContents:u,headings:S,translations:{editOnService:P,onThisPage:O}}),e.createElement("div",{className:"r-article"},e.createElement(s,{headings:S,tokens:T,pages:j,components:c,config:p,targetProvider:M,pathname:v,uri:l}),D&&e.createElement(d,{date:D},w)),(x||E)&&e.createElement(i,{prev:x,next:E,translations:{next:U,previous:C}}))};export{c as Article};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/elements/article/index.tsx"],"sourcesContent":["import \"./article.scss\";\nimport React from \"react\";\n\nimport { type Components } from \"@src/core/types/content\";\nimport { type BaseProvider } from \"@src/core/providers/base\";\nimport { loadContent } from \"@src/core/utils/load-content\";\nimport { ContentsProvider } from \"@src/components/contexts/contents/provider\";\nimport { Contents, type ContentsProps } from \"@src/components/blocks/contents\";\nimport { Breadcrumbs, type BreadcrumbsProps } from \"@src/components/blocks/breadcrumbs\";\nimport { Pagination, type PaginationProps } from \"@src/components/blocks/pagination\";\nimport { parseMarkdown } from \"./utils\";\nimport { Document } from \"./document\";\nimport { LastModified } from \"@src/components/blocks/last-modified\";\n\nexport type ContentProps = {\n title: string;\n components?: Components;\n config?: {\n publicDirs?: string[];\n };\n provider?: BaseProvider;\n pathname: string;\n pages?: { clientPath: string; origPath: string }[];\n translations?: {\n /** Last modified on */\n lastModifiedOn?: string;\n };\n} & ({ content: string; uri?: undefined } | { uri: string; content?: undefined });\n\nexport type ArticleProps = Partial<PaginationProps> &\n Partial<BreadcrumbsProps> &\n Omit<ContentsProps, \"headings\"> &\n ContentProps;\n\nexport const Article: React.FC<ArticleProps> = async ({\n components,\n content,\n uri,\n config = {},\n provider,\n hideContents,\n editUri: editUriProp,\n pathname,\n title,\n breadcrumbs,\n prev,\n next,\n pages = [],\n translations,\n}) => {\n const {\n lastModifiedOn = \"Last modified on\",\n editOnService,\n onThisPage,\n next: nextTranslation,\n previous,\n } = translations || {};\n const { data, provider: targetProvider } =\n content || !uri ? { data: content, provider: null } : await loadContent(uri, provider);\n\n if (!data) {\n throw new Error(\"Robindoc: Please provide content or valid uri\");\n }\n\n const { headings, tokens } = parseMarkdown(data);\n const editUri = uri && targetProvider && (await targetProvider.getEditUri(uri));\n const lastModified = uri && targetProvider && (await targetProvider.getLastModifiedDate(uri));\n\n return (\n <ContentsProvider>\n {breadcrumbs && breadcrumbs.length > 0 && <Breadcrumbs breadcrumbs={breadcrumbs} title={title} />}\n <Contents\n editUri={editUriProp === null ? null : editUriProp || editUri}\n hideContents={hideContents}\n headings={headings}\n translations={{ editOnService, onThisPage }}\n />\n <div className=\"r-article\">\n <Document\n headings={headings}\n tokens={tokens}\n pages={pages}\n components={components}\n config={config}\n targetProvider={targetProvider}\n pathname={pathname}\n uri={uri}\n />\n {lastModified && <LastModified date={lastModified}>{lastModifiedOn}</LastModified>}\n </div>\n {(prev || next) && (\n <Pagination prev={prev} next={next} translations={{ next: nextTranslation, previous }} />\n )}\n </ContentsProvider>\n );\n};\n"],"names":["Article","async","components","content","uri","config","provider","hideContents","editUri","editUriProp","pathname","title","breadcrumbs","prev","next","pages","translations","lastModifiedOn","editOnService","onThisPage","nextTranslation","previous","data","targetProvider","loadContent","Error","headings","tokens","parseMarkdown","getEditUri","lastModified","getLastModifiedDate","React","ContentsProvider","length","createElement","Breadcrumbs","Contents","className","Document","LastModified","date","Pagination"],"mappings":"6eAkCO,MAAMA,EAAkCC,OAC3CC,aACAC,UACAC,MACAC,SAAS,CAAA,EACTC,WACAC,eACAC,QAASC,EACTC,WACAC,QACAC,cACAC,OACAC,OACAC,QAAQ,GACRC,mBAEA,MAAMC,eACFA,EAAiB,mBAAkBC,cACnCA,EAAaC,WACbA,EACAL,KAAMM,EAAeC,SACrBA,GACAL,GAAgB,CAAA,GACdM,KAAEA,EAAMhB,SAAUiB,GACpBpB,IAAYC,EAAM,CAAEkB,KAAMnB,EAASG,SAAU,YAAekB,EAAYpB,EAAKE,GAEjF,IAAKgB,EACD,MAAM,IAAIG,MAAM,iDAGpB,MAAMC,SAAEA,EAAQC,OAAEA,GAAWC,EAAcN,GACrCd,EAAUJ,GAAOmB,SAAyBA,EAAeM,WAAWzB,GACpE0B,EAAe1B,GAAOmB,SAAyBA,EAAeQ,oBAAoB3B,GAExF,OACI4B,gBAACC,EAAgB,KACZrB,GAAeA,EAAYsB,OAAS,GAAKF,EAAAG,cAACC,EAAW,CAACxB,YAAaA,EAAaD,MAAOA,IACxFqB,EAAAG,cAACE,EAAQ,CACL7B,QAAyB,OAAhBC,EAAuB,KAAOA,GAAeD,EACtDD,aAAcA,EACdmB,SAAUA,EACVV,aAAc,CAAEE,gBAAeC,gBAEnCa,EAAAG,cAAA,MAAA,CAAKG,UAAU,aACXN,EAAAG,cAACI,EAAQ,CACLb,SAAUA,EACVC,OAAQA,EACRZ,MAAOA,EACPb,WAAYA,EACZG,OAAQA,EACRkB,eAAgBA,EAChBb,SAAUA,EACVN,IAAKA,IAER0B,GAAgBE,EAAAG,cAACK,EAAY,CAACC,KAAMX,GAAeb,KAEtDJ,GAAQC,IACNkB,EAAAG,cAACO,EAAU,CAAC7B,KAAMA,EAAMC,KAAMA,EAAME,aAAc,CAAEF,KAAMM,EAAiBC"}
@@ -0,0 +1,5 @@
1
+ export type PagesType = {
2
+ clientPath: string;
3
+ origPath: string;
4
+ }[];
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/article/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { type Tokens, type Token } from "marked";
2
+ import { type BlockquoteType } from "../../ui/blockquote";
3
+ import { type PagesType } from "./types";
4
+ export type AnchorData = {
5
+ title: string;
6
+ id: string;
7
+ nested: boolean;
8
+ token: Token;
9
+ };
10
+ export declare const parseMarkdown: (content: string) => {
11
+ tokens: import("marked").TokensList;
12
+ headings: AnchorData[];
13
+ };
14
+ export declare const formatId: (raw: string) => string;
15
+ export declare const validateComponentName: (name: string) => boolean;
16
+ export declare const parseCodeLang: (raw: string) => {
17
+ lang: string;
18
+ configuration: {
19
+ [key: string]: string | boolean;
20
+ };
21
+ };
22
+ export declare const isNewCodeToken: (token: Token | Token[], codeQueue: {
23
+ [lang: string]: {
24
+ element: React.ReactNode;
25
+ tabName: string;
26
+ };
27
+ }) => boolean;
28
+ export declare const formatLinkHref: (href: string, pathname: string, pages?: PagesType) => {
29
+ href: string;
30
+ external: boolean;
31
+ };
32
+ export declare const parseBlockqoute: (token: Tokens.Blockquote | Tokens.Generic) => {
33
+ token: {
34
+ raw: string;
35
+ type: "blockquote";
36
+ text: string;
37
+ tokens: Token[];
38
+ } | {
39
+ raw: string;
40
+ type: string;
41
+ tokens?: Token[];
42
+ };
43
+ type: BlockquoteType;
44
+ } | {
45
+ token: Tokens.Blockquote | Tokens.Generic;
46
+ type: null;
47
+ };
48
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/article/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGxD,OAAO,EAAE,KAAK,cAAc,EAAE,4BAAsC;AAGpE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM;;;CAmB5C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,WAEnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,YAEjD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM;;;;;CAmBxC,CAAC;AAEF,eAAO,MAAM,cAAc,GACvB,OAAO,KAAK,GAAG,KAAK,EAAE,EACtB,WAAW;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,YAa/E,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,QAAQ,SAAS;;;CAiB/E,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO;;;;;;;;;;;UAoBjC,cAAc;;;;CAKrD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import t from"github-slugger";import e from"gray-matter";import{lexer as r}from"marked";import{join as n,dirname as o}from"path";import{parseTokenText as s}from"../../../core/utils/content-tools.js";const i=n=>{const{content:o}=e(n),i=r(o.trim()),a=new t,c=i.reduce((t,e)=>{if("heading"===e.type&&(2===e.depth||3===e.depth)){const r=s(e);t.push({title:r,id:a.slug(r),token:e,nested:3===e.depth})}return t},[]);return{tokens:i,headings:c}},a=t=>t.toLowerCase().replace(/\W/g,"_").replace(/_+/g,"_"),c=t=>/^[A-Z][a-zA-Z0-9]+$/.test(t),g=t=>{let e={},r=t;const n=t.match(/[a-z]+=("[^"]+"|'[^']+'|[^ ]+)|[a-z]+/g);if(Array.isArray(n)){const[t,...o]=n;r=t,e=o.reduce((t,e)=>{const[r,...n]=e.split("=");return t[r]=!n||(0===n.length||n.join("=").replace(/(^["']|['"]$)/g,"")),t},{})}return{lang:r,configuration:e}},l=(t,e)=>{if(Array.isArray(t)||!Object.keys(e).length)return!1;if("code"===t.type){const{lang:r,configuration:n}=g(t.lang);if(e["string"==typeof n.tab?a(n.tab):r]||!n.switcher)return!0}return"space"!==t.type&&"code"!==t.type},p=(t,e,r)=>{let s=t;const i=/^(https?:\/\/|\/)/.test(t);if(r&&!i){const i=r.find(t=>t.clientPath===e);if(i){const e=n(o(i.origPath),t).replace(/\\/g,"/"),a=r.find(t=>t.origPath===e);a&&(s=a?.clientPath)}}return{href:s,external:i}},u=t=>{const e=t.raw.match(/^> \[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\n/);if(e){const[r,n]=e,o={...t,raw:t.raw.substring(r.length)};if(o.tokens){const t={...o.tokens[0]};if(t.raw=t.raw.substring(n.length+4),t.text=t.text.substring(n.length+4),t.tokens[0]){const e={...t.tokens[0]};e.raw=e.raw.substring(n.length+4),e.text=e.text.substring(n.length+4),t.tokens[0]=e}o.tokens[0]=t}return{token:o,type:n.toLowerCase()}}return{token:t,type:null}};export{a as formatId,p as formatLinkHref,l as isNewCodeToken,u as parseBlockqoute,g as parseCodeLang,i as parseMarkdown,c as validateComponentName};
2
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/components/elements/article/utils.ts"],"sourcesContent":["import GithubSlugger from \"github-slugger\";\nimport matter from \"gray-matter\";\nimport { lexer, type Tokens, type Token } from \"marked\";\nimport { dirname, join } from \"path\";\n\nimport { type BlockquoteType } from \"@src/components/ui/blockquote\";\nimport { parseTokenText } from \"@src/core/utils/content-tools\";\n\nimport { type PagesType } from \"./types\";\n\nexport type AnchorData = {\n title: string;\n id: string;\n nested: boolean;\n token: Token;\n};\n\nexport const parseMarkdown = (content: string) => {\n const { content: matterContent } = matter(content);\n const tokens = lexer(matterContent.trim());\n\n const slugger = new GithubSlugger();\n const headings = tokens.reduce<AnchorData[]>((acc, token) => {\n if (token.type === \"heading\" && (token.depth === 2 || token.depth === 3)) {\n const title = parseTokenText(token);\n acc.push({\n title,\n id: slugger.slug(title),\n token,\n nested: token.depth === 3,\n });\n }\n return acc;\n }, []);\n\n return { tokens, headings };\n};\n\nexport const formatId = (raw: string) => {\n return raw.toLowerCase().replace(/\\W/g, \"_\").replace(/_+/g, \"_\");\n};\n\nexport const validateComponentName = (name: string) => {\n return /^[A-Z][a-zA-Z0-9]+$/.test(name);\n};\n\nexport const parseCodeLang = (raw: string) => {\n let configuration: { [key: string]: string | boolean } = {};\n let lang: string = raw;\n\n const match = raw.match(/[a-z]+=(\"[^\"]+\"|'[^']+'|[^ ]+)|[a-z]+/g);\n if (Array.isArray(match)) {\n const [language, ...modifiers] = match as string[];\n lang = language;\n configuration = modifiers.reduce<{ [key: string]: string | boolean }>((acc, cur) => {\n const [key, ...value] = cur.split(\"=\");\n if (value) {\n acc[key] = value.length === 0 ? true : value.join(\"=\").replace(/(^[\"']|['\"]$)/g, \"\");\n } else {\n acc[key] = true;\n }\n return acc;\n }, {});\n }\n return { lang, configuration };\n};\n\nexport const isNewCodeToken = (\n token: Token | Token[],\n codeQueue: { [lang: string]: { element: React.ReactNode; tabName: string } },\n) => {\n if (Array.isArray(token) || !Object.keys(codeQueue).length) return false;\n\n if (token.type === \"code\") {\n const { lang, configuration } = parseCodeLang(token.lang);\n const tabKey = typeof configuration.tab === \"string\" ? formatId(configuration.tab) : lang;\n if (codeQueue[tabKey] || !configuration.switcher) return true;\n }\n\n if (token.type !== \"space\" && token.type !== \"code\") return true;\n\n return false;\n};\n\nexport const formatLinkHref = (href: string, pathname: string, pages?: PagesType) => {\n let finalHref: string = href;\n const external = /^(https?:\\/\\/|\\/)/.test(href);\n\n if (pages && !external) {\n const currentPageData = pages.find((item) => item.clientPath === pathname);\n\n if (currentPageData) {\n const linkOrigPath = join(dirname(currentPageData.origPath), href).replace(/\\\\/g, \"/\");\n const linkData = pages.find((item) => item.origPath === linkOrigPath);\n\n if (linkData) {\n finalHref = linkData?.clientPath;\n }\n }\n }\n return { href: finalHref, external };\n};\n\nexport const parseBlockqoute = (token: Tokens.Blockquote | Tokens.Generic) => {\n const typeMatch = token.raw.match(/^> \\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\\]\\n/);\n if (typeMatch) {\n const [raw, type] = typeMatch;\n const newToken = { ...token, raw: token.raw.substring(raw.length) };\n if (newToken.tokens) {\n const firstToken = { ...newToken.tokens[0] } as Tokens.Paragraph;\n firstToken.raw = firstToken.raw.substring(type.length + 4);\n firstToken.text = firstToken.text.substring(type.length + 4);\n if (firstToken.tokens[0]) {\n const firstSubtoken = { ...firstToken.tokens[0] } as Tokens.Paragraph;\n firstSubtoken.raw = firstSubtoken.raw.substring(type.length + 4);\n firstSubtoken.text = firstSubtoken.text.substring(type.length + 4);\n firstToken.tokens[0] = firstSubtoken;\n }\n newToken.tokens[0] = firstToken;\n }\n\n return {\n token: newToken,\n type: type.toLowerCase() as BlockquoteType,\n };\n }\n\n return { token, type: null };\n};\n"],"names":["parseMarkdown","content","matterContent","matter","tokens","lexer","trim","slugger","GithubSlugger","headings","reduce","acc","token","type","depth","title","parseTokenText","push","id","slug","nested","formatId","raw","toLowerCase","replace","validateComponentName","name","test","parseCodeLang","configuration","lang","match","Array","isArray","language","modifiers","cur","key","value","split","length","join","isNewCodeToken","codeQueue","Object","keys","tab","switcher","formatLinkHref","href","pathname","pages","finalHref","external","currentPageData","find","item","clientPath","linkOrigPath","dirname","origPath","linkData","parseBlockqoute","typeMatch","newToken","substring","firstToken","text","firstSubtoken"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import "./blog-container.scss";
3
+ export declare const BlogContainer: React.FC<React.PropsWithChildren>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/blog-container/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,uBAAuB,CAAC;AAE/B,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAM3D,CAAC"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{Container as n}from"../../ui/container/index.js";const o=({children:o})=>e.createElement(n,{component:"main",className:"r-blog-container"},o);export{o as BlogContainer};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/elements/blog-container/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Container } from \"@src/components/ui/container\";\n\nimport \"./blog-container.scss\";\n\nexport const BlogContainer: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <Container component=\"main\" className=\"r-blog-container\">\n {children}\n </Container>\n );\n};\n"],"names":["BlogContainer","children","React","createElement","Container","component","className"],"mappings":"mFAMaA,EAAmD,EAAGC,cAE3DC,EAAAC,cAACC,EAAS,CAACC,UAAU,OAAOC,UAAU,oBACjCL"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import "./docs-container.scss";
3
+ export declare const DocsContainer: React.FC<React.PropsWithChildren>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/docs-container/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,uBAAuB,CAAC;AAE/B,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAM3D,CAAC"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{Container as n}from"../../ui/container/index.js";const o=({children:o})=>e.createElement(n,{component:"main",className:"r-docs-container"},o);export{o as DocsContainer};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/elements/docs-container/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Container } from \"@src/components/ui/container\";\n\nimport \"./docs-container.scss\";\n\nexport const DocsContainer: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <Container component=\"main\" className=\"r-docs-container\">\n {children}\n </Container>\n );\n};\n"],"names":["DocsContainer","children","React","createElement","Container","component","className"],"mappings":"mFAMaA,EAAmD,EAAGC,cAE3DC,EAAAC,cAACC,EAAS,CAACC,UAAU,OAAOC,UAAU,oBACjCL"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import "./footer.scss";
3
+ export type FooterProps = {
4
+ copyright: string;
5
+ hidePoweredBy?: boolean;
6
+ };
7
+ export declare const Footer: React.FC<FooterProps>;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/footer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,eAAe,CAAC;AAEvB,MAAM,MAAM,WAAW,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAwBxC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{ThemeSwitcher as r}from"../../blocks/theme-switcher/index.js";import{Container as t}from"../../ui/container/index.js";const o=({copyright:o,hidePoweredBy:a})=>e.createElement("footer",{className:"r-footer"},e.createElement(t,null,e.createElement("div",{className:"r-footer-row"},e.createElement("div",{className:"r-copyright"},o),e.createElement(r,null)),!a&&e.createElement("div",{className:"r-footer-row r-footer-additional"},e.createElement("div",{className:"r-powered"},"Powered by"," ",e.createElement("a",{href:"https://robindoc.com",className:"r-powered-link",target:"_blank",rel:"noopener noreferrer"},"ROBINDOC")))));export{o as Footer};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/elements/footer/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { ThemeSwitcher } from \"@src/components/blocks/theme-switcher\";\nimport { Container } from \"@src/components/ui/container\";\n\nimport \"./footer.scss\";\n\nexport type FooterProps = {\n copyright: string;\n hidePoweredBy?: boolean;\n};\n\nexport const Footer: React.FC<FooterProps> = ({ copyright, hidePoweredBy }) => (\n <footer className=\"r-footer\">\n <Container>\n <div className=\"r-footer-row\">\n <div className=\"r-copyright\">{copyright}</div>\n <ThemeSwitcher />\n </div>\n {!hidePoweredBy && (\n <div className=\"r-footer-row r-footer-additional\">\n <div className=\"r-powered\">\n Powered by{\" \"}\n <a\n href=\"https://robindoc.com\"\n className=\"r-powered-link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n ROBINDOC\n </a>\n </div>\n </div>\n )}\n </Container>\n </footer>\n);\n"],"names":["Footer","copyright","hidePoweredBy","React","createElement","className","Container","ThemeSwitcher","href","target","rel"],"mappings":"kJAYO,MAAMA,EAAgC,EAAGC,YAAWC,mBACvDC,EAAAC,cAAA,SAAA,CAAQC,UAAU,YACdF,EAAAC,cAACE,EAAS,KACNH,EAAAC,cAAA,MAAA,CAAKC,UAAU,gBACXF,EAAAC,cAAA,MAAA,CAAKC,UAAU,eAAeJ,GAC9BE,EAAAC,cAACG,UAEHL,GACEC,EAAAC,cAAA,MAAA,CAAKC,UAAU,oCACXF,EAAAC,cAAA,MAAA,CAAKC,UAAU,0BACA,IACXF,EAAAC,cAAA,IAAA,CACII,KAAK,uBACLH,UAAU,iBACVI,OAAO,SACPC,IAAI,uBAAqB"}
@@ -0,0 +1,31 @@
1
+ import "./header.scss";
2
+ import React from "react";
3
+ import { type HeaderMenuProps } from "../../blocks/header-menu";
4
+ import { type SearchProps } from "../../blocks/search";
5
+ type SectionOption = {
6
+ key: string;
7
+ href?: string;
8
+ title: string;
9
+ shortTitle?: string;
10
+ };
11
+ type SectionType = {
12
+ default?: string;
13
+ target: string;
14
+ list: SectionOption[];
15
+ };
16
+ export type HeaderProps = {
17
+ logo: React.ReactElement;
18
+ links?: {
19
+ title: string;
20
+ href: string;
21
+ }[];
22
+ git?: string | {
23
+ uri: string;
24
+ logo: React.ElementType;
25
+ };
26
+ versions?: SectionType;
27
+ locales?: SectionType;
28
+ } & HeaderMenuProps & SearchProps;
29
+ export declare const Header: React.FC<HeaderProps>;
30
+ export {};
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/header/index.tsx"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,KAAK,eAAe,EAAE,iCAA2C;AACtF,OAAO,EAAU,KAAK,WAAW,EAAE,4BAAsC;AAMzE,KAAK,aAAa,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,WAAW,GAAG;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;IACzB,KAAK,CAAC,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;IACJ,GAAG,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE,CAAC;IACxD,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,CAAC;CACzB,GAAG,eAAe,GACf,WAAW,CAAC;AAEhB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAgExC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{HeaderMenu as t}from"../../blocks/header-menu/index.js";import{Search as r}from"../../blocks/search/index.js";import{SectionDropdown as a}from"../../blocks/section-dropdown/index.js";import{HeaderSocial as l}from"../../blocks/header-social/index.js";import{Container as s}from"../../ui/container/index.js";import{NavLink as i}from"../../blocks/nav-link/index.js";const n=({logo:n,versions:o,locales:m,links:c=[],git:d,searcher:k,translations:h})=>{const{menu:f,...y}=h||{},p=o?.list.find(e=>e.key===o.target),E=p&&p.key!==o?.default?`/${p.key}`:"",u=m?.list.find(e=>e.key===m.target),g=u&&u.key!==m?.default?`/${u.key}`:"";return e.createElement("header",{className:"r-header"},e.createElement(s,{className:"r-header-body"},e.createElement("div",null,e.createElement(i,{href:"/",className:"r-header-logo"},n)),e.createElement(t,{translations:{menu:f}},e.createElement("nav",{className:"r-header-nav"},c.map(t=>e.createElement(i,{href:t.href,className:"r-header-link",targetClassName:"_target",key:t.title},t.title))),e.createElement("div",{className:"r-header-actions"},e.createElement("div",{className:"r-header-sections"},o&&p&&e.createElement(a,{defaultOption:p.key,options:o.list.map(e=>({href:e.href||`${g}${e.key===o.default?"":`/${e.key}`}/`,key:e.key,title:e.title,shortTitle:e.shortTitle}))}),m&&u&&e.createElement(a,{defaultOption:u.key,options:m.list.map(e=>({href:e.href||`${e.key===m.default?"":`/${e.key}`}${E}/`,key:e.key,title:e.title,shortTitle:e.shortTitle}))})),k&&e.createElement(r,{searcher:k,translations:y}))),d&&e.createElement(l,{git:d})))};export{n as Header};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/elements/header/index.tsx"],"sourcesContent":["import \"./header.scss\";\nimport React from \"react\";\nimport { HeaderMenu, type HeaderMenuProps } from \"@src/components/blocks/header-menu\";\nimport { Search, type SearchProps } from \"@src/components/blocks/search\";\nimport { SectionDropdown } from \"@src/components/blocks/section-dropdown\";\nimport { HeaderSocial } from \"@src/components/blocks/header-social\";\nimport { Container } from \"@src/components/ui/container\";\nimport { NavLink } from \"@src/components/blocks/nav-link\";\n\ntype SectionOption = {\n key: string;\n href?: string;\n title: string;\n shortTitle?: string;\n};\n\ntype SectionType = {\n default?: string;\n target: string;\n list: SectionOption[];\n};\n\nexport type HeaderProps = {\n logo: React.ReactElement;\n links?: {\n title: string;\n href: string;\n }[];\n git?: string | { uri: string; logo: React.ElementType };\n versions?: SectionType;\n locales?: SectionType;\n} & HeaderMenuProps &\n SearchProps;\n\nexport const Header: React.FC<HeaderProps> = ({ logo, versions, locales, links = [], git, searcher, translations }) => {\n const { menu, ...searchTranslations } = translations || {};\n const targetVersion = versions?.list.find((version) => version.key === versions.target);\n const versionPrefix = !targetVersion || targetVersion.key === versions?.default ? \"\" : `/${targetVersion.key}`;\n const targetLocale = locales?.list.find((locale) => locale.key === locales.target);\n const localePrefix = !targetLocale || targetLocale.key === locales?.default ? \"\" : `/${targetLocale.key}`;\n\n return (\n <header className=\"r-header\">\n <Container className=\"r-header-body\">\n <div>\n <NavLink href=\"/\" className=\"r-header-logo\">\n {logo}\n </NavLink>\n </div>\n <HeaderMenu translations={{ menu }}>\n <nav className=\"r-header-nav\">\n {links.map((link) => (\n <NavLink\n href={link.href}\n className=\"r-header-link\"\n targetClassName=\"_target\"\n key={link.title}\n >\n {link.title}\n </NavLink>\n ))}\n </nav>\n <div className=\"r-header-actions\">\n <div className=\"r-header-sections\">\n {versions && targetVersion && (\n <SectionDropdown\n defaultOption={targetVersion.key}\n options={versions.list.map((version) => ({\n href:\n version.href ||\n `${localePrefix}${version.key === versions.default ? \"\" : `/${version.key}`}/`,\n key: version.key,\n title: version.title,\n shortTitle: version.shortTitle,\n }))}\n />\n )}\n {locales && targetLocale && (\n <SectionDropdown\n defaultOption={targetLocale.key}\n options={locales.list.map((locale) => ({\n href:\n locale.href ||\n `${locale.key === locales.default ? \"\" : `/${locale.key}`}${versionPrefix}/`,\n key: locale.key,\n title: locale.title,\n shortTitle: locale.shortTitle,\n }))}\n />\n )}\n </div>\n {searcher && <Search searcher={searcher} translations={searchTranslations} />}\n </div>\n </HeaderMenu>\n {git && <HeaderSocial git={git} />}\n </Container>\n </header>\n );\n};\n"],"names":["Header","logo","versions","locales","links","git","searcher","translations","menu","searchTranslations","targetVersion","list","find","version","key","target","versionPrefix","default","targetLocale","locale","localePrefix","React","createElement","className","Container","NavLink","href","HeaderMenu","map","link","targetClassName","title","SectionDropdown","defaultOption","options","shortTitle","Search","HeaderSocial"],"mappings":"6YAkCaA,EAAgC,EAAGC,OAAMC,WAAUC,UAASC,QAAQ,GAAIC,MAAKC,WAAUC,mBAChG,MAAMC,KAAEA,KAASC,GAAuBF,GAAgB,CAAA,EAClDG,EAAgBR,GAAUS,KAAKC,KAAMC,GAAYA,EAAQC,MAAQZ,EAASa,QAC1EC,EAAiBN,GAAiBA,EAAcI,MAAQZ,GAAUe,QAAe,IAAIP,EAAcI,MAAvB,GAC5EI,EAAef,GAASQ,KAAKC,KAAMO,GAAWA,EAAOL,MAAQX,EAAQY,QACrEK,EAAgBF,GAAgBA,EAAaJ,MAAQX,GAASc,QAAe,IAAIC,EAAaJ,MAAtB,GAE9E,OACIO,EAAAC,cAAA,SAAA,CAAQC,UAAU,YACdF,EAAAC,cAACE,EAAS,CAACD,UAAU,iBACjBF,EAAAC,cAAA,MAAA,KACID,EAAAC,cAACG,EAAO,CAACC,KAAK,IAAIH,UAAU,iBACvBtB,IAGToB,EAAAC,cAACK,EAAU,CAACpB,aAAc,CAAEC,SACxBa,EAAAC,cAAA,MAAA,CAAKC,UAAU,gBACVnB,EAAMwB,IAAKC,GACRR,EAAAC,cAACG,EAAO,CACJC,KAAMG,EAAKH,KACXH,UAAU,gBACVO,gBAAgB,UAChBhB,IAAKe,EAAKE,OAETF,EAAKE,SAIlBV,EAAAC,cAAA,MAAA,CAAKC,UAAU,oBACXF,EAAAC,cAAA,MAAA,CAAKC,UAAU,qBACVrB,GAAYQ,GACTW,EAAAC,cAACU,EAAe,CACZC,cAAevB,EAAcI,IAC7BoB,QAAShC,EAASS,KAAKiB,IAAKf,IAAO,CAC/Ba,KACIb,EAAQa,MACR,GAAGN,IAAeP,EAAQC,MAAQZ,EAASe,QAAU,GAAK,IAAIJ,EAAQC,SAC1EA,IAAKD,EAAQC,IACbiB,MAAOlB,EAAQkB,MACfI,WAAYtB,EAAQsB,gBAI/BhC,GAAWe,GACRG,EAAAC,cAACU,EAAe,CACZC,cAAef,EAAaJ,IAC5BoB,QAAS/B,EAAQQ,KAAKiB,IAAKT,IAAM,CAC7BO,KACIP,EAAOO,MACP,GAAGP,EAAOL,MAAQX,EAAQc,QAAU,GAAK,IAAIE,EAAOL,QAAQE,KAChEF,IAAKK,EAAOL,IACZiB,MAAOZ,EAAOY,MACdI,WAAYhB,EAAOgB,iBAKlC7B,GAAYe,EAAAC,cAACc,EAAM,CAAC9B,SAAUA,EAAUC,aAAcE,MAG9DJ,GAAOgB,EAAAC,cAACe,EAAY,CAAChC,IAAKA"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import "./keylink-to-content.scss";
3
+ export type KeylinkToContentProps = {
4
+ translations?: {
5
+ /** Skip to main content */
6
+ skipToMainContent?: string;
7
+ };
8
+ };
9
+ export declare const KeylinkToContent: React.FC<KeylinkToContentProps>;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/keylink-to-content/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,2BAA2B,CAAC;AAEnC,MAAM,MAAM,qBAAqB,GAAG;IAChC,YAAY,CAAC,EAAE;QACX,2BAA2B;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAQ5D,CAAC"}
@@ -0,0 +1,2 @@
1
+ import t from"react";import{Keylink as n}from"../../ui/keylink/index.js";const o=({translations:o})=>{const{skipToMainContent:e="Skip to main content"}=o||{};return t.createElement(n,{className:"keylink-to-content",toId:"main-content"},e)};export{o as KeylinkToContent};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/elements/keylink-to-content/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Keylink } from \"@src/components/ui/keylink\";\n\nimport \"./keylink-to-content.scss\";\n\nexport type KeylinkToContentProps = {\n translations?: {\n /** Skip to main content */\n skipToMainContent?: string;\n };\n};\n\nexport const KeylinkToContent: React.FC<KeylinkToContentProps> = ({ translations }) => {\n const { skipToMainContent = \"Skip to main content\" } = translations || {};\n\n return (\n <Keylink className=\"keylink-to-content\" toId=\"main-content\">\n {skipToMainContent}\n </Keylink>\n );\n};\n"],"names":["KeylinkToContent","translations","skipToMainContent","React","createElement","Keylink","className","toId"],"mappings":"+EAaaA,EAAoD,EAAGC,mBAChE,MAAMC,kBAAEA,EAAoB,wBAA2BD,GAAgB,CAAA,EAEvE,OACIE,EAAAC,cAACC,EAAO,CAACC,UAAU,qBAAqBC,KAAK,gBACxCL"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import "./keylink-to-navigation.scss";
3
+ export type KeylinkToNavigationProps = {
4
+ translations?: {
5
+ /** Return to navigation */
6
+ returnToNavigation?: string;
7
+ };
8
+ };
9
+ export declare const KeylinkToNavigation: React.FC<KeylinkToNavigationProps>;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/keylink-to-navigation/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,8BAA8B,CAAC;AAEtC,MAAM,MAAM,wBAAwB,GAAG;IACnC,YAAY,CAAC,EAAE;QACX,2BAA2B;QAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAQlE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import t from"react";import{Keylink as n}from"../../ui/keylink/index.js";const o=({translations:o})=>{const{returnToNavigation:i="Return to navigation"}=o||{};return t.createElement(n,{className:"keylink-to-navigation",toId:"navigation"},i)};export{o as KeylinkToNavigation};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/elements/keylink-to-navigation/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Keylink } from \"@src/components/ui/keylink\";\n\nimport \"./keylink-to-navigation.scss\";\n\nexport type KeylinkToNavigationProps = {\n translations?: {\n /** Return to navigation */\n returnToNavigation?: string;\n };\n};\n\nexport const KeylinkToNavigation: React.FC<KeylinkToNavigationProps> = ({ translations }) => {\n const { returnToNavigation = \"Return to navigation\" } = translations || {};\n\n return (\n <Keylink className=\"keylink-to-navigation\" toId=\"navigation\">\n {returnToNavigation}\n </Keylink>\n );\n};\n"],"names":["KeylinkToNavigation","translations","returnToNavigation","React","createElement","Keylink","className","toId"],"mappings":"+EAaaA,EAA0D,EAAGC,mBACtE,MAAMC,mBAAEA,EAAqB,wBAA2BD,GAAgB,CAAA,EAExE,OACIE,EAAAC,cAACC,EAAO,CAACC,UAAU,wBAAwBC,KAAK,cAC3CL"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import "./page-container.scss";
3
+ export declare const PageContainer: React.FC<React.PropsWithChildren>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/page-container/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,uBAAuB,CAAC;AAE/B,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAM3D,CAAC"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{Container as n}from"../../ui/container/index.js";const r=({children:r})=>e.createElement(n,{component:"main",className:"r-page-container"},r);export{r as PageContainer};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/elements/page-container/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Container } from \"@src/components/ui/container\";\n\nimport \"./page-container.scss\";\n\nexport const PageContainer: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <Container component=\"main\" className=\"r-page-container\">\n {children}\n </Container>\n );\n};\n"],"names":["PageContainer","children","React","createElement","Container","component","className"],"mappings":"mFAMaA,EAAmD,EAAGC,cAE3DC,EAAAC,cAACC,EAAS,CAACC,UAAU,OAAOC,UAAU,oBACjCL"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { type Theme } from "../../../core/types/theme";
3
+ interface RobinProviderProps {
4
+ theme?: Theme;
5
+ }
6
+ export declare const RobinProvider: React.FC<React.PropsWithChildren<RobinProviderProps>>;
7
+ export {};
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/robin-provider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,KAAK,EAAE,kCAA8B;AAMnD,UAAU,kBAAkB;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAO/E,CAAC"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{NavigateProvider as t}from"../../contexts/navigate/provider.js";import{ThemeStyles as r}from"../../blocks/theme-styles/index.js";import{ThemeDetector as m}from"../../blocks/theme-detector/index.js";import{NoJs as o}from"../../blocks/no-js/index.js";const l=({children:l,theme:n})=>e.createElement(e.Fragment,null,n&&e.createElement(r,{theme:n}),e.createElement(m,null),e.createElement(t,null,l),e.createElement(o,null));export{l as RobinProvider};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/elements/robin-provider/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { type Theme } from \"@src/core/types/theme\";\nimport { NavigateProvider } from \"@src/components/contexts/navigate/provider\";\nimport { ThemeStyles } from \"@src/components/blocks/theme-styles\";\nimport { ThemeDetector } from \"@src/components/blocks/theme-detector\";\nimport { NoJs } from \"@src/components/blocks/no-js\";\n\ninterface RobinProviderProps {\n theme?: Theme;\n}\n\nexport const RobinProvider: React.FC<React.PropsWithChildren<RobinProviderProps>> = ({ children, theme }) => (\n <>\n {theme && <ThemeStyles theme={theme} />}\n <ThemeDetector />\n <NavigateProvider>{children}</NavigateProvider>\n <NoJs />\n </>\n);\n"],"names":["RobinProvider","children","theme","React","createElement","Fragment","ThemeStyles","ThemeDetector","NavigateProvider","NoJs"],"mappings":"qRAYO,MAAMA,EAAuE,EAAGC,WAAUC,WAC7FC,EAAAC,cAAAD,EAAAE,SAAA,KACKH,GAASC,EAAAC,cAACE,GAAYJ,MAAOA,IAC9BC,EAAAC,cAACG,EAAa,MACdJ,EAAAC,cAACI,EAAgB,KAAEP,GACnBE,EAAAC,cAACK,EAAI"}
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { type TreeItem } from "./types";
3
+ import "./sidebar.scss";
4
+ type LinkBranchProps = {
5
+ branch: TreeItem;
6
+ depth: number;
7
+ translations?: {
8
+ /** Expand {title} */
9
+ expandTitle?: string;
10
+ };
11
+ };
12
+ export type SidebarProps = {
13
+ tree?: TreeItem[] | null;
14
+ translations?: LinkBranchProps["translations"];
15
+ };
16
+ export declare const Sidebar: React.FC<SidebarProps>;
17
+ export {};
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/sidebar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMxC,OAAO,gBAAgB,CAAC;AAExB,KAAK,eAAe,GAAG;IACnB,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE;QACX,qBAAqB;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACL,CAAC;AA2CF,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAoB1C,CAAC"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import t from"clsx";import{SidebarMenu as r}from"./sidebar-menu/index.js";import{SidebarDrop as a}from"./sidebar-drop/index.js";import{SidebarLink as l}from"./sidebar-link/index.js";import{isActiveItem as s,collectItems as i}from"./tools.js";const n=({branch:r,depth:m,translations:p})=>{const{expandTitle:d="Expand {title}"}=p||{};return"separator"===r.type?e.createElement("li",{className:"r-sidebar-li _separator"}):e.createElement("li",{className:t("r-sidebar-li","heading"===r.type&&"r-sidebar-heading",r.items&&r.items.length>0&&"_droppable")},s(r)?e.createElement(l,{branch:r}):e.createElement("p",{className:t("r-sidebar-p","heading"===r.type&&"r-sidebar-heading")},r.title),r.items&&r.items.length>0&&e.createElement(a,{childHrefs:i(r),defaultOpen:!1,id:r.href+r.title,label:d.replace("{title}",r.title)},r.items.map((t,r)=>e.createElement(n,{branch:t,key:"separator"===t.type?`sep${r}`:t.href+t.title,depth:m>=4?4:m+1,translations:p}))))},m=({tree:t,translations:a})=>t?.length?e.createElement(e.Fragment,null,e.createElement("div",{className:"r-sidebar-top-mock"}),e.createElement(r,null,e.createElement("ul",{className:"r-sidebar-list"},t.map((t,r)=>e.createElement(n,{branch:t,key:"separator"===t.type?`sep${r}`:t.href+t.title,depth:0,translations:a}))))):e.createElement("div",{className:"r-sidebar"});export{m as Sidebar};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/elements/sidebar/index.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\n\nimport { type TreeItem } from \"./types\";\nimport { SidebarMenu } from \"./sidebar-menu\";\nimport { SidebarDrop } from \"./sidebar-drop\";\nimport { SidebarLink } from \"./sidebar-link\";\nimport { collectItems, isActiveItem } from \"./tools\";\n\nimport \"./sidebar.scss\";\n\ntype LinkBranchProps = {\n branch: TreeItem;\n depth: number;\n translations?: {\n /** Expand {title} */\n expandTitle?: string;\n };\n};\n\nconst LinkBranch: React.FC<LinkBranchProps> = ({ branch, depth, translations }) => {\n const { expandTitle = \"Expand {title}\" } = translations || {};\n\n if (branch.type === \"separator\") {\n return <li className=\"r-sidebar-li _separator\" />;\n }\n\n return (\n <li\n className={clsx(\n \"r-sidebar-li\",\n branch.type === \"heading\" && \"r-sidebar-heading\",\n branch.items && branch.items.length > 0 && \"_droppable\",\n )}\n >\n {isActiveItem(branch) ? (\n <SidebarLink branch={branch} />\n ) : (\n <p className={clsx(\"r-sidebar-p\", branch.type === \"heading\" && \"r-sidebar-heading\")}>{branch.title}</p>\n )}\n {branch.items && branch.items.length > 0 && (\n <SidebarDrop\n childHrefs={collectItems(branch)}\n defaultOpen={false}\n id={branch.href + branch.title}\n label={expandTitle.replace(\"{title}\", branch.title)}\n >\n {branch.items.map((item, index) => (\n <LinkBranch\n branch={item}\n key={item.type === \"separator\" ? `sep${index}` : item.href + item.title}\n depth={depth >= 4 ? 4 : depth + 1}\n translations={translations}\n />\n ))}\n </SidebarDrop>\n )}\n </li>\n );\n};\n\nexport type SidebarProps = {\n tree?: TreeItem[] | null;\n translations?: LinkBranchProps[\"translations\"];\n};\n\nexport const Sidebar: React.FC<SidebarProps> = ({ tree, translations }) => {\n if (!tree?.length) return <div className=\"r-sidebar\" />;\n\n return (\n <>\n <div className=\"r-sidebar-top-mock\" />\n <SidebarMenu>\n <ul className=\"r-sidebar-list\">\n {tree.map((item, index) => (\n <LinkBranch\n branch={item}\n key={item.type === \"separator\" ? `sep${index}` : item.href + item.title}\n depth={0}\n translations={translations}\n />\n ))}\n </ul>\n </SidebarMenu>\n </>\n );\n};\n"],"names":["LinkBranch","branch","depth","translations","expandTitle","type","React","createElement","className","clsx","items","length","isActiveItem","SidebarLink","title","SidebarDrop","childHrefs","collectItems","defaultOpen","id","href","label","replace","map","item","index","key","Sidebar","tree","Fragment","SidebarMenu"],"mappings":"uQAoBA,MAAMA,EAAwC,EAAGC,SAAQC,QAAOC,mBAC5D,MAAMC,YAAEA,EAAc,kBAAqBD,GAAgB,CAAA,EAE3D,MAAoB,cAAhBF,EAAOI,KACAC,EAAAC,cAAA,KAAA,CAAIC,UAAU,4BAIrBF,EAAAC,cAAA,KAAA,CACIC,UAAWC,EACP,eACgB,YAAhBR,EAAOI,MAAsB,oBAC7BJ,EAAOS,OAAST,EAAOS,MAAMC,OAAS,GAAK,eAG9CC,EAAaX,GACVK,EAAAC,cAACM,EAAW,CAACZ,OAAQA,IAErBK,EAAAC,cAAA,IAAA,CAAGC,UAAWC,EAAK,cAA+B,YAAhBR,EAAOI,MAAsB,sBAAuBJ,EAAOa,OAEhGb,EAAOS,OAAST,EAAOS,MAAMC,OAAS,GACnCL,EAAAC,cAACQ,EAAW,CACRC,WAAYC,EAAahB,GACzBiB,aAAa,EACbC,GAAIlB,EAAOmB,KAAOnB,EAAOa,MACzBO,MAAOjB,EAAYkB,QAAQ,UAAWrB,EAAOa,QAE5Cb,EAAOS,MAAMa,IAAI,CAACC,EAAMC,IACrBnB,EAAAC,cAACP,EAAU,CACPC,OAAQuB,EACRE,IAAmB,cAAdF,EAAKnB,KAAuB,MAAMoB,IAAUD,EAAKJ,KAAOI,EAAKV,MAClEZ,MAAOA,GAAS,EAAI,EAAIA,EAAQ,EAChCC,aAAcA,QAc7BwB,EAAkC,EAAGC,OAAMzB,kBAC/CyB,GAAMjB,OAGPL,EAAAC,cAAAD,EAAAuB,SAAA,KACIvB,EAAAC,cAAA,MAAA,CAAKC,UAAU,uBACfF,EAAAC,cAACuB,EAAW,KACRxB,EAAAC,cAAA,KAAA,CAAIC,UAAU,kBACToB,EAAKL,IAAI,CAACC,EAAMC,IACbnB,EAAAC,cAACP,EAAU,CACPC,OAAQuB,EACRE,IAAmB,cAAdF,EAAKnB,KAAuB,MAAMoB,IAAUD,EAAKJ,KAAOI,EAAKV,MAClEZ,MAAO,EACPC,aAAcA,QAZZG,EAAAC,cAAA,MAAA,CAAKC,UAAU"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ export interface SidebarDropProps {
3
+ childHrefs: string[];
4
+ defaultOpen?: boolean;
5
+ label: string;
6
+ id: string;
7
+ }
8
+ export declare const SidebarDrop: React.FC<React.PropsWithChildren<SidebarDropProps>>;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/elements/sidebar/sidebar-drop/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAsC3E,CAAC"}
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import e,{useState as r,useRef as t,useEffect as n}from"react";import{usePathname as o}from"next/navigation";const s=({childHrefs:s,label:a,children:i})=>{const l=o(),c=s.includes(l),[d,m]=r(c),u=t(null),p=t(null);return n(()=>{c&&!d&&m(!0),c&&p.current&&!p.current?.open&&(p.current.open=!0)},[c]),n(()=>{p.current?.style.setProperty("--drop-height",u.current?.offsetHeight.toString()+"px")},[]),e.createElement("details",{className:"r-sidebar-drop",open:d,ref:p},e.createElement("summary",{className:"r-sidebar-drop-btn","aria-label":a},e.createElement("svg",{className:"r-sidebar-drop-icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},e.createElement("path",{d:"m9 18 6-6-6-6"}))),e.createElement("ul",{className:"r-sidebar-list r-sidebar-sublist",ref:u},i))};export{s as SidebarDrop};
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/elements/sidebar/sidebar-drop/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { usePathname } from \"next/navigation\";\n\nexport interface SidebarDropProps {\n childHrefs: string[];\n defaultOpen?: boolean;\n label: string;\n id: string;\n}\n\nexport const SidebarDrop: React.FC<React.PropsWithChildren<SidebarDropProps>> = ({ childHrefs, label, children }) => {\n const pathname = usePathname();\n const openedByDefault = childHrefs.includes(pathname);\n const [opened, setOpened] = useState(openedByDefault);\n const dropdownRef = useRef<HTMLUListElement>(null);\n const detailsRef = useRef<HTMLDetailsElement>(null);\n\n useEffect(() => {\n if (openedByDefault && !opened) setOpened(true);\n if (openedByDefault && detailsRef.current && !detailsRef.current?.open) detailsRef.current.open = true;\n }, [openedByDefault]);\n\n useEffect(() => {\n detailsRef.current?.style.setProperty(\"--drop-height\", dropdownRef.current?.offsetHeight.toString() + \"px\");\n }, []);\n\n return (\n <details className=\"r-sidebar-drop\" open={opened} ref={detailsRef}>\n <summary className=\"r-sidebar-drop-btn\" aria-label={label}>\n <svg\n className=\"r-sidebar-drop-icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n </summary>\n <ul className=\"r-sidebar-list r-sidebar-sublist\" ref={dropdownRef}>\n {children}\n </ul>\n </details>\n );\n};\n"],"names":["SidebarDrop","childHrefs","label","children","pathname","usePathname","openedByDefault","includes","opened","setOpened","useState","dropdownRef","useRef","detailsRef","useEffect","current","open","style","setProperty","offsetHeight","toString","React","createElement","className","ref","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d"],"mappings":";6GAYO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMA,CAAAA,CAAmE,CAAA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAClG,MAAMC,CAAAA,CAAWC,CAAAA,CAAAA,CAAAA,CACXC,CAAAA,CAAkBL,CAAAA,CAAWM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASH,CAAAA,CAAAA,CAAAA,CACrCI,CAAAA,CAAQC,CAAAA,CAAAA,CAAaC,CAAAA,CAASJ,CAAAA,CAAAA,CAC/BK,CAAAA,CAAcC,CAAAA,CAAyB,CAAA,CAAA,CAAA,CAAA,CAAA,CACvCC,CAAAA,CAAaD,EAA2B,CAAA,CAAA,CAAA,CAAA,CAAA,CAW9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CATAE,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CACFR,CAAAA,CAAAA,CAAAA,CAAoBE,CAAAA,CAAAA,CAAQC,CAAAA,CAAAA,CAAU,CAAA,CAAA,CACtCH,CAAAA,CAAAA,CAAmBO,CAAAA,CAAWE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYF,CAAAA,CAAWE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMH,EAAWE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAAA,CAAA,CAAA,CACnG,CAACV,CAAAA,CAAAA,CAAAA,CAEJQ,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CACND,CAAAA,CAAWE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiBP,CAAAA,CAAYI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASI,aAAaC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACvG,CAAA,CAAA,CAAA,CAGCC,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiBP,CAAAA,CAAAA,CAAAA,CAAAA,CAAMR,CAAAA,CAAQgB,CAAAA,CAAAA,CAAAA,CAAKX,CAAAA,CAAAA,CACnDQ,CAAAA,CAAAC,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAarB,CAAAA,CAAAA,CAChDmB,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACVE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CACNC,OAAO,CAAA,CAAA,CAAA,CAAA,CACPC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACRC,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACLC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACPC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,CAAA,CAAA,CAAA,CACZC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACdC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEfX,CAAAA,CAAAC,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMW,CAAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGhBZ,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmCC,CAAAA,CAAAA,CAAAA,CAAKb,CAAAA,CAAAA,CACjDR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA"}
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { type TreeItem } from "../types";
3
+ type SidebarLinkProps = {
4
+ branch: Exclude<TreeItem, {
5
+ type: "separator";
6
+ }> & {
7
+ href: string;
8
+ };
9
+ };
10
+ export declare const SidebarLink: React.FC<SidebarLinkProps>;
11
+ export {};
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/elements/sidebar/sidebar-link/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAOtC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,KAAK,gBAAgB,GAAG;IACpB,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACvE,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsBlD,CAAC"}
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import e,{useRef as r}from"react";import{usePathname as t}from"next/navigation";import n from"clsx";import{useReference as o}from"../../../contexts/reference/use-reference.js";import{NavLink as i}from"../../../blocks/nav-link/index.js";import{checkIsTargetPathname as l,collectItems as c}from"../tools.js";const s=({branch:s})=>{const m=t(),f=l(s.href,m),a=c(s).includes(m),p=r(null),d=o();return e.createElement(i,{href:s.href,className:n("r-sidebar-link",f&&"_active",a&&"_target"),ref:e=>{a&&d&&d.scrollHeight>window.innerHeight-60&&(p.current=null,e?.parentElement?.scrollIntoViewIfNeeded?.())}},s.title)};export{s as SidebarLink};
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/elements/sidebar/sidebar-link/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useRef } from \"react\";\nimport { usePathname } from \"next/navigation\";\nimport clsx from \"clsx\";\n\nimport { useReference } from \"@src/components/contexts/reference/use-reference\";\nimport { NavLink } from \"@src/components/blocks/nav-link\";\n\nimport { type TreeItem } from \"../types\";\nimport { checkIsTargetPathname, collectItems } from \"../tools\";\n\ntype SidebarLinkProps = {\n branch: Exclude<TreeItem, { type: \"separator\" }> & { href: string };\n};\n\nexport const SidebarLink: React.FC<SidebarLinkProps> = ({ branch }) => {\n const pathname = usePathname();\n const isActive = checkIsTargetPathname(branch.href, pathname);\n const isTarget = collectItems(branch).includes(pathname);\n const scrollTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const sidebar = useReference();\n\n return (\n <NavLink\n href={branch.href}\n className={clsx(\"r-sidebar-link\", isActive && \"_active\", isTarget && \"_target\")}\n ref={(node) => {\n if (isTarget && sidebar && sidebar.scrollHeight > window.innerHeight - 60) {\n scrollTimeoutRef.current = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (node as any)?.parentElement?.scrollIntoViewIfNeeded?.();\n }\n }}\n >\n {branch.title}\n </NavLink>\n );\n};\n"],"names":["SidebarLink","branch","pathname","usePathname","isActive","checkIsTargetPathname","href","isTarget","collectItems","includes","scrollTimeoutRef","useRef","sidebar","useReference","React","createElement","NavLink","className","clsx","ref","node","scrollHeight","window","innerHeight","current","parentElement","scrollIntoViewIfNeeded","title"],"mappings":";wTAgBaA,CAAAA,CAA0C,CAAA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,CAAAA,CAAWC,CAAAA,CAAAA,CAAAA,CACXC,CAAAA,CAAWC,EAAsBJ,CAAAA,CAAOK,CAAAA,CAAAA,CAAAA,CAAAA,CAAMJ,CAAAA,CAAAA,CAC9CK,CAAAA,CAAWC,CAAAA,CAAaP,CAAAA,CAAAA,CAAQQ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASP,CAAAA,CAAAA,CACzCQ,EAAmBC,CAAAA,CAA8B,CAAA,CAAA,CAAA,CAAA,CAAA,CACjDC,CAAAA,CAAUC,CAAAA,CAAAA,CAAAA,CAEhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIC,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAACC,CAAAA,CAAO,CACJV,CAAAA,CAAAA,CAAAA,CAAAA,CAAML,CAAAA,CAAOK,CAAAA,CAAAA,CAAAA,CAAAA,CACbW,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWC,CAAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkBd,CAAAA,CAAAA,CAAY,UAAWG,CAAAA,CAAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACrEY,CAAAA,CAAAA,CAAAA,CAAMC,CAAAA,CAAAA,CAAAA,CACEb,CAAAA,CAAAA,CAAYK,CAAAA,CAAAA,CAAWA,CAAAA,CAAQS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAeC,OAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CACnEb,CAAAA,CAAiBc,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAE1BJ,CAAAA,CAAAA,CAAcK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAeC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAIrCzB,EAAO0B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export type SidebarMenuProps = React.PropsWithChildren<{
3
+ translations?: {
4
+ menu?: string;
5
+ };
6
+ }>;
7
+ export declare const SidebarMenu: React.FC<SidebarMenuProps>;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/elements/sidebar/sidebar-menu/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAK3D,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACnD,YAAY,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgElD,CAAC"}
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import e,{useState as t,useRef as r,useEffect as n}from"react";import{useNavigate as a}from"../../../contexts/navigate/use-navigate.js";import{ReferenceProvider as o}from"../../../contexts/reference/provider.js";const s=({children:s,translations:i})=>{const{menu:c="Menu"}=i||{},{addListener:l,removeListener:d}=a(),[m,b]=t(!1),u=r(null),p=()=>{document.body.classList.remove("body-mobile-lock"),b(!1),d("closeSidebarMenu")};return n(()=>()=>{p()},[]),e.createElement("div",{className:"r-sidebar"},e.createElement("input",{type:"checkbox",id:"sidebar-input",className:"r-sidebar-input",hidden:!0,onChange:()=>{m?p():(document.body.classList.add("body-mobile-lock"),b(!0),l("closeSidebarMenu",p))},checked:m}),e.createElement("label",{htmlFor:"sidebar-input",className:"r-sidebar-btn",role:"button",tabIndex:0},e.createElement("svg",{className:"r-sidebar-chevron",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},e.createElement("path",{d:"m9 18 6-6-6-6"})),e.createElement("span",null,c)),e.createElement("nav",{ref:u,className:"r-sidebar-nav",id:"navigation"},e.createElement(o,{reference:u},s)))};export{s as SidebarMenu};
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/elements/sidebar/sidebar-menu/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useRef, useState } from \"react\";\n\nimport { useNavigate } from \"@src/components/contexts/navigate/use-navigate\";\nimport { ReferenceProvider } from \"@src/components/contexts/reference/provider\";\n\nexport type SidebarMenuProps = React.PropsWithChildren<{\n translations?: {\n menu?: string;\n };\n}>;\n\nexport const SidebarMenu: React.FC<SidebarMenuProps> = ({ children, translations }) => {\n const { menu = \"Menu\" } = translations || {};\n const { addListener, removeListener } = useNavigate();\n const [opened, setOpened] = useState(false);\n const sidebarNavRef = useRef<HTMLElement | null>(null);\n\n const openHandler = () => {\n document.body.classList.add(\"body-mobile-lock\");\n setOpened(true);\n addListener(\"closeSidebarMenu\", closeHandler);\n };\n\n const closeHandler = () => {\n document.body.classList.remove(\"body-mobile-lock\");\n setOpened(false);\n removeListener(\"closeSidebarMenu\");\n };\n\n const toggleHandler = () => {\n if (opened) {\n closeHandler();\n } else {\n openHandler();\n }\n };\n\n useEffect(\n () => () => {\n closeHandler();\n },\n [],\n );\n\n return (\n <div className=\"r-sidebar\">\n <input\n type=\"checkbox\"\n id=\"sidebar-input\"\n className=\"r-sidebar-input\"\n hidden\n onChange={toggleHandler}\n checked={opened}\n />\n <label htmlFor=\"sidebar-input\" className=\"r-sidebar-btn\" role=\"button\" tabIndex={0}>\n <svg\n className=\"r-sidebar-chevron\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n <span>{menu}</span>\n </label>\n <nav ref={sidebarNavRef} className=\"r-sidebar-nav\" id=\"navigation\">\n <ReferenceProvider reference={sidebarNavRef}>{children}</ReferenceProvider>\n </nav>\n </div>\n );\n};\n"],"names":["SidebarMenu","children","translations","menu","addListener","removeListener","useNavigate","opened","setOpened","useState","sidebarNavRef","useRef","closeHandler","document","body","classList","remove","useEffect","React","createElement","className","type","id","hidden","onChange","add","checked","htmlFor","role","tabIndex","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","ref","ReferenceProvider","reference"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type TreeItem } from "./types";
2
+ export declare const collectItems: (branch: TreeItem) => string[];
3
+ export declare const isActiveItem: (branch: TreeItem) => branch is TreeItem & {
4
+ href: string;
5
+ };
6
+ export declare const checkIsTargetPathname: (itemHref?: string, pathname?: string) => boolean;
7
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/sidebar/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,eAAO,MAAM,YAAY,GAAI,QAAQ,QAAQ,aAY5C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,QAAQ,QAAQ,KAAG,MAAM,IAAI,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAC5B,CAAC;AAExD,eAAO,MAAM,qBAAqB,GAAI,WAAW,MAAM,EAAE,WAAW,MAAM,YAIzE,CAAC"}
@@ -0,0 +1,2 @@
1
+ const e=t=>{const r=[];return"separator"===t.type||(t.href&&r.push(t.href),t.items?.forEach(t=>{r.push(...e(t))})),r},t=e=>Boolean("separator"!==e.type&&e.href),r=(e,t)=>"string"==typeof t&&"string"==typeof e&&t===new URL(e,"http://r").pathname?.replace(/\/$/,"");export{r as checkIsTargetPathname,e as collectItems,t as isActiveItem};
2
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sources":["../../../../src/components/elements/sidebar/tools.ts"],"sourcesContent":["import { type TreeItem } from \"./types\";\n\nexport const collectItems = (branch: TreeItem) => {\n const links: string[] = [];\n\n if (branch.type === \"separator\") return links;\n\n if (branch.href) links.push(branch.href);\n\n branch.items?.forEach((item) => {\n links.push(...collectItems(item));\n });\n\n return links;\n};\n\nexport const isActiveItem = (branch: TreeItem): branch is TreeItem & { href: string } =>\n Boolean(branch.type !== \"separator\" && branch.href);\n\nexport const checkIsTargetPathname = (itemHref?: string, pathname?: string) => {\n if (typeof pathname !== \"string\" || typeof itemHref !== \"string\") return false;\n\n return pathname === new URL(itemHref, \"http://r\").pathname?.replace(/\\/$/, \"\");\n};\n"],"names":["collectItems","branch","links","type","href","push","items","forEach","item","isActiveItem","Boolean","checkIsTargetPathname","itemHref","pathname","URL","replace"],"mappings":"AAEO,MAAMA,EAAgBC,IACzB,MAAMC,EAAkB,GAExB,MAAoB,cAAhBD,EAAOE,OAEPF,EAAOG,MAAMF,EAAMG,KAAKJ,EAAOG,MAEnCH,EAAOK,OAAOC,QAASC,IACnBN,EAAMG,QAAQL,EAAaQ,OALSN,GAW/BO,EAAgBR,GACzBS,QAAwB,cAAhBT,EAAOE,MAAwBF,EAAOG,MAErCO,EAAwB,CAACC,EAAmBC,IAC7B,iBAAbA,GAA6C,iBAAbD,GAEpCC,IAAa,IAAIC,IAAIF,EAAU,YAAYC,UAAUE,QAAQ,MAAO"}