robindoc 3.2.1 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -1
  3. package/lib/components/blocks/anchor-heading/index.js.map +1 -1
  4. package/lib/components/blocks/breadcrumbs/index.js +1 -1
  5. package/lib/components/blocks/breadcrumbs/index.js.map +1 -1
  6. package/lib/components/blocks/code-section/index.js.map +1 -1
  7. package/lib/components/blocks/contents/index.js +1 -1
  8. package/lib/components/blocks/contents/index.js.map +1 -1
  9. package/lib/components/blocks/header-menu/index.d.ts.map +1 -1
  10. package/lib/components/blocks/header-menu/index.js +1 -1
  11. package/lib/components/blocks/header-menu/index.js.map +1 -1
  12. package/lib/components/blocks/header-social/index.js +1 -1
  13. package/lib/components/blocks/header-social/index.js.map +1 -1
  14. package/lib/components/blocks/last-modified/index.js +1 -1
  15. package/lib/components/blocks/last-modified/index.js.map +1 -1
  16. package/lib/components/blocks/nav-content-link/index.js +1 -1
  17. package/lib/components/blocks/nav-content-link/index.js.map +1 -1
  18. package/lib/components/blocks/nav-link/index.d.ts +5 -18
  19. package/lib/components/blocks/nav-link/index.d.ts.map +1 -1
  20. package/lib/components/blocks/nav-link/index.js +1 -1
  21. package/lib/components/blocks/nav-link/index.js.map +1 -1
  22. package/lib/components/blocks/no-js/index.d.ts.map +1 -1
  23. package/lib/components/blocks/no-js/index.js +1 -1
  24. package/lib/components/blocks/no-js/index.js.map +1 -1
  25. package/lib/components/blocks/pagination/index.d.ts.map +1 -1
  26. package/lib/components/blocks/pagination/index.js +1 -1
  27. package/lib/components/blocks/pagination/index.js.map +1 -1
  28. package/lib/components/blocks/search/index.js +1 -1
  29. package/lib/components/blocks/search/index.js.map +1 -1
  30. package/lib/components/blocks/search/search-modal/index.js +1 -1
  31. package/lib/components/blocks/search/search-modal/index.js.map +1 -1
  32. package/lib/components/blocks/section-dropdown/index.js +1 -1
  33. package/lib/components/blocks/section-dropdown/index.js.map +1 -1
  34. package/lib/components/blocks/theme-detector/index.d.ts.map +1 -1
  35. package/lib/components/blocks/theme-detector/index.js +1 -1
  36. package/lib/components/blocks/theme-detector/index.js.map +1 -1
  37. package/lib/components/blocks/theme-styles/index.js +1 -1
  38. package/lib/components/blocks/theme-styles/index.js.map +1 -1
  39. package/lib/components/blocks/theme-switcher/index.d.ts.map +1 -1
  40. package/lib/components/blocks/theme-switcher/index.js +1 -1
  41. package/lib/components/blocks/theme-switcher/index.js.map +1 -1
  42. package/lib/components/contexts/contents/context.d.ts +0 -1
  43. package/lib/components/contexts/contents/context.d.ts.map +1 -1
  44. package/lib/components/contexts/contents/context.js.map +1 -1
  45. package/lib/components/contexts/contents/provider.d.ts.map +1 -1
  46. package/lib/components/contexts/contents/provider.js +1 -1
  47. package/lib/components/contexts/contents/provider.js.map +1 -1
  48. package/lib/components/contexts/contents/use-heading-index.js.map +1 -1
  49. package/lib/components/contexts/contents/use-heading-register.js +1 -1
  50. package/lib/components/contexts/contents/use-heading-register.js.map +1 -1
  51. package/lib/components/contexts/navigate/context.d.ts +0 -1
  52. package/lib/components/contexts/navigate/context.d.ts.map +1 -1
  53. package/lib/components/contexts/navigate/context.js.map +1 -1
  54. package/lib/components/contexts/navigate/provider.js +1 -1
  55. package/lib/components/contexts/navigate/provider.js.map +1 -1
  56. package/lib/components/contexts/navigate/use-navigate.js +1 -1
  57. package/lib/components/contexts/navigate/use-navigate.js.map +1 -1
  58. package/lib/components/contexts/reference/context.d.ts +0 -1
  59. package/lib/components/contexts/reference/context.d.ts.map +1 -1
  60. package/lib/components/contexts/reference/context.js.map +1 -1
  61. package/lib/components/contexts/reference/provider.js.map +1 -1
  62. package/lib/components/contexts/reference/use-reference.js.map +1 -1
  63. package/lib/components/elements/article/document.d.ts.map +1 -1
  64. package/lib/components/elements/article/document.js +1 -1
  65. package/lib/components/elements/article/document.js.map +1 -1
  66. package/lib/components/elements/article/index.js.map +1 -1
  67. package/lib/components/elements/article/utils.d.ts +1 -1
  68. package/lib/components/elements/article/utils.d.ts.map +1 -1
  69. package/lib/components/elements/article/utils.js +1 -1
  70. package/lib/components/elements/article/utils.js.map +1 -1
  71. package/lib/components/elements/footer/index.js.map +1 -1
  72. package/lib/components/elements/header/index.js +1 -1
  73. package/lib/components/elements/header/index.js.map +1 -1
  74. package/lib/components/elements/keylink-to-content/index.js.map +1 -1
  75. package/lib/components/elements/keylink-to-navigation/index.js.map +1 -1
  76. package/lib/components/elements/robin-provider/index.d.ts +2 -0
  77. package/lib/components/elements/robin-provider/index.d.ts.map +1 -1
  78. package/lib/components/elements/robin-provider/index.js +1 -1
  79. package/lib/components/elements/robin-provider/index.js.map +1 -1
  80. package/lib/components/elements/sidebar/index.js +1 -1
  81. package/lib/components/elements/sidebar/index.js.map +1 -1
  82. package/lib/components/elements/sidebar/sidebar-drop/index.js +1 -1
  83. package/lib/components/elements/sidebar/sidebar-drop/index.js.map +1 -1
  84. package/lib/components/elements/sidebar/sidebar-link/index.js.map +1 -1
  85. package/lib/components/elements/sidebar/sidebar-menu/index.d.ts.map +1 -1
  86. package/lib/components/elements/sidebar/sidebar-menu/index.js +1 -1
  87. package/lib/components/elements/sidebar/sidebar-menu/index.js.map +1 -1
  88. package/lib/components/elements/sidebar/tools.d.ts.map +1 -1
  89. package/lib/components/elements/sidebar/tools.js +1 -1
  90. package/lib/components/elements/sidebar/tools.js.map +1 -1
  91. package/lib/components/ui/backdrop/index.js.map +1 -1
  92. package/lib/components/ui/block/index.js.map +1 -1
  93. package/lib/components/ui/blockquote/data.d.ts +0 -1
  94. package/lib/components/ui/blockquote/data.d.ts.map +1 -1
  95. package/lib/components/ui/blockquote/data.js +1 -1
  96. package/lib/components/ui/blockquote/data.js.map +1 -1
  97. package/lib/components/ui/blockquote/icons.js.map +1 -1
  98. package/lib/components/ui/blockquote/index.js.map +1 -1
  99. package/lib/components/ui/code-block/index.d.ts.map +1 -1
  100. package/lib/components/ui/code-block/index.js +1 -1
  101. package/lib/components/ui/code-block/index.js.map +1 -1
  102. package/lib/components/ui/code-block/theme.js.map +1 -1
  103. package/lib/components/ui/code-span/index.js.map +1 -1
  104. package/lib/components/ui/container/index.js.map +1 -1
  105. package/lib/components/ui/content-link/index.d.ts.map +1 -1
  106. package/lib/components/ui/content-link/index.js.map +1 -1
  107. package/lib/components/ui/copy-button/index.d.ts.map +1 -1
  108. package/lib/components/ui/copy-button/index.js +1 -1
  109. package/lib/components/ui/copy-button/index.js.map +1 -1
  110. package/lib/components/ui/copy-text/index.js +1 -1
  111. package/lib/components/ui/copy-text/index.js.map +1 -1
  112. package/lib/components/ui/del/index.js.map +1 -1
  113. package/lib/components/ui/em/index.js.map +1 -1
  114. package/lib/components/ui/external-mark/index.js.map +1 -1
  115. package/lib/components/ui/git-logos/index.d.ts +1 -0
  116. package/lib/components/ui/git-logos/index.d.ts.map +1 -1
  117. package/lib/components/ui/git-logos/index.js +1 -1
  118. package/lib/components/ui/git-logos/index.js.map +1 -1
  119. package/lib/components/ui/heading/index.js +1 -1
  120. package/lib/components/ui/heading/index.js.map +1 -1
  121. package/lib/components/ui/hr/index.js.map +1 -1
  122. package/lib/components/ui/img/index.js.map +1 -1
  123. package/lib/components/ui/list/list-item/index.js.map +1 -1
  124. package/lib/components/ui/list/ordered-list/index.js.map +1 -1
  125. package/lib/components/ui/list/unordered-list/index.js.map +1 -1
  126. package/lib/components/ui/modal/index.js.map +1 -1
  127. package/lib/components/ui/modal/use-modal.js +1 -1
  128. package/lib/components/ui/modal/use-modal.js.map +1 -1
  129. package/lib/components/ui/paragraph/index.js.map +1 -1
  130. package/lib/components/ui/strong/index.js.map +1 -1
  131. package/lib/components/ui/table/table/index.js.map +1 -1
  132. package/lib/components/ui/table/tbody/index.js.map +1 -1
  133. package/lib/components/ui/table/td/index.js.map +1 -1
  134. package/lib/components/ui/table/th/index.js.map +1 -1
  135. package/lib/components/ui/table/thead/index.js.map +1 -1
  136. package/lib/components/ui/table/tr/index.js.map +1 -1
  137. package/lib/components/ui/tabs/index.js +1 -1
  138. package/lib/components/ui/tabs/index.js.map +1 -1
  139. package/lib/components/ui/tabs/tabs-header/index.d.ts.map +1 -1
  140. package/lib/components/ui/tabs/tabs-header/index.js +1 -1
  141. package/lib/components/ui/tabs/tabs-header/index.js.map +1 -1
  142. package/lib/components/ui/tabs/tabs-styles/index.js +1 -1
  143. package/lib/components/ui/tabs/tabs-styles/index.js.map +1 -1
  144. package/lib/components/ui/task-list/task-list-item/index.js.map +1 -1
  145. package/lib/components/ui/task-list/task-unordered-list/index.js.map +1 -1
  146. package/lib/components/ui/tooltip/index.js.map +1 -1
  147. package/lib/core/data/contents.js.map +1 -1
  148. package/lib/core/hooks/use-debouncer.d.ts.map +1 -1
  149. package/lib/core/hooks/use-debouncer.js +1 -1
  150. package/lib/core/hooks/use-debouncer.js.map +1 -1
  151. package/lib/core/hooks/use-system-type.js +1 -1
  152. package/lib/core/hooks/use-system-type.js.map +1 -1
  153. package/lib/core/providers/base.js +1 -1
  154. package/lib/core/providers/base.js.map +1 -1
  155. package/lib/core/providers/file-system.js +1 -1
  156. package/lib/core/providers/file-system.js.map +1 -1
  157. package/lib/core/providers/github.js +1 -1
  158. package/lib/core/providers/github.js.map +1 -1
  159. package/lib/core/types/content.d.ts +0 -1
  160. package/lib/core/types/content.d.ts.map +1 -1
  161. package/lib/core/utils/content-tools.d.ts.map +1 -1
  162. package/lib/core/utils/content-tools.js +1 -1
  163. package/lib/core/utils/content-tools.js.map +1 -1
  164. package/lib/core/utils/create-base-searcher.d.ts.map +1 -1
  165. package/lib/core/utils/create-base-searcher.js +1 -1
  166. package/lib/core/utils/create-base-searcher.js.map +1 -1
  167. package/lib/core/utils/detect-provider.d.ts.map +1 -1
  168. package/lib/core/utils/detect-provider.js.map +1 -1
  169. package/lib/core/utils/get-configuration.d.ts.map +1 -1
  170. package/lib/core/utils/get-configuration.js.map +1 -1
  171. package/lib/core/utils/get-metadata.d.ts.map +1 -1
  172. package/lib/core/utils/get-metadata.js +1 -1
  173. package/lib/core/utils/get-metadata.js.map +1 -1
  174. package/lib/core/utils/git-tools.d.ts.map +1 -1
  175. package/lib/core/utils/git-tools.js.map +1 -1
  176. package/lib/core/utils/initialize-robindoc.d.ts.map +1 -1
  177. package/lib/core/utils/initialize-robindoc.js +1 -1
  178. package/lib/core/utils/initialize-robindoc.js.map +1 -1
  179. package/lib/core/utils/load-content.d.ts.map +1 -1
  180. package/lib/core/utils/load-content.js.map +1 -1
  181. package/lib/core/utils/parse-structure.d.ts.map +1 -1
  182. package/lib/core/utils/parse-structure.js.map +1 -1
  183. package/lib/core/utils/path-tools.d.ts.map +1 -1
  184. package/lib/core/utils/path-tools.js +1 -1
  185. package/lib/core/utils/path-tools.js.map +1 -1
  186. package/lib/core/utils/tabs-tools.d.ts.map +1 -1
  187. package/lib/core/utils/tabs-tools.js +1 -1
  188. package/lib/core/utils/tabs-tools.js.map +1 -1
  189. package/lib/styles.css +2103 -2
  190. package/package.json +28 -28
  191. package/lib/assets/index.d.ts +0 -2
  192. package/lib/assets/index.d.ts.map +0 -1
  193. package/lib/assets/index.js +0 -2
  194. package/lib/assets/index.js.map +0 -1
  195. package/lib/styles.css.map +0 -1
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 Alexander Savelyev <vordgi@mail.com>
3
+ Copyright (c) 2024 Alex Savelyev <dev@alexdln.com>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -38,6 +38,7 @@ No additional configuration is needed, while preserving the accessibility and cl
38
38
  - Supports loading content from various sources, including GitHub. More details in the section "[Data Source](./docs/02-structure/03-data-source.md)";
39
39
  - Supports fully automatic documentation generation, as well as custom generation. More details in the section "[Structure](./docs/02-structure/README.md)";
40
40
  - Supports JSX/HTML and special Robin components for all sources. More details in the section "[Writing MD](./docs/01-getting-started/02-writing-md.md)";
41
+ - Fully isolated - does not provide any global styles and does not affect anything extra inside the documentation. Can be safely used inside any other service with any libraries. More details in the section "[Isolation](./docs/01-getting-started/04-app-organization.md#isolation)";
41
42
  - Optimized for metrics and accessibility.
42
43
 
43
44
  ## Additional
@@ -48,4 +49,4 @@ Feel free to create issues with requests, ideas, difficulties, etc. All of them
48
49
 
49
50
  ## License
50
51
 
51
- [MIT](https://github.com/vordgi/robindoc/blob/main/LICENSE)
52
+ [MIT](https://github.com/alexdln/robindoc/blob/main/LICENSE)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/anchor-heading/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { useHeadingRegister } from \"@src/components/contexts/contents/use-heading-register\";\nimport { Heading } from \"@src/components/ui/heading\";\n\nimport \"./anchor-heading.scss\";\n\ninterface AnchorHeadingProps extends React.PropsWithChildren {\n id: string;\n component: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n}\n\nexport const AnchorHeading: React.FC<AnchorHeadingProps> = ({ component: Component, id, children }) => {\n const register = useHeadingRegister();\n\n return (\n <Heading component={Component} id={id} className=\"r-anchor-heading\" ref={register}>\n {children}&nbsp;\n <a href={`#${id}`} className=\"r-anchor-heading-link\" />\n </Heading>\n );\n};\n"],"names":["AnchorHeading","component","Component","id","children","register","useHeadingRegister","React","createElement","Heading","className","ref","href"],"mappings":";8JAaO,MAAMA,CAA8C,CAAA,CAAA,CAAGC,CAAWC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWC,KAAIC,CACpF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,EAAWC,CAEjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIC,EAACC,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAQR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWC,EAAWC,CAAIA,CAAAA,CAAAA,CAAAA,CAAIO,UAAU,CAAmBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKN,GACpED,MACDG,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAA,CAAGI,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,IAAIT,CAAMO,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,0BAEpC"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/anchor-heading/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { useHeadingRegister } from \"@src/components/contexts/contents/use-heading-register\";\nimport { Heading } from \"@src/components/ui/heading\";\n\nimport \"./anchor-heading.scss\";\n\ninterface AnchorHeadingProps extends React.PropsWithChildren {\n id: string;\n component: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n}\n\nexport const AnchorHeading: React.FC<AnchorHeadingProps> = ({ component: Component, id, children }) => {\n const register = useHeadingRegister();\n\n return (\n <Heading component={Component} id={id} className=\"r-anchor-heading\" ref={register}>\n {children}&nbsp;\n <a href={`#${id}`} className=\"r-anchor-heading-link\" />\n </Heading>\n );\n};\n"],"names":["AnchorHeading","component","Component","id","children","register","useHeadingRegister","React","createElement","Heading","className","ref","href"],"mappings":";8JAaO,MAAMA,CAAAA,CAA8C,CAAA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWC,CAAAA,CAAWC,KAAIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACpF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,EAAWC,CAAAA,CAAAA,CAAAA,CAEjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIC,EAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAACC,CAAAA,EAAQR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWC,EAAWC,CAAAA,CAAAA,CAAIA,CAAAA,CAAIO,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,CAAmBC,IAAKN,CAAAA,CAAAA,CACpED,CAAAA,KACDG,CAAAA,CAAAC,cAAA,CAAA,CAAA,CAAA,CAAA,CAAGI,KAAM,CAAA,CAAA,CAAA,CAAIT,CAAAA,CAAAA,CAAAA,CAAMO,UAAU,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"}
@@ -1,2 +1,2 @@
1
- import e from"react";import{NavLink as r}from"../nav-link/index.js";const a=async({title:a,breadcrumbs:t})=>e.createElement("ul",{className:"r-breadcrumbs"},t.map((a=>e.createElement("li",{key:a.pathname,className:"r-breadcrumb _previous"},e.createElement(r,{href:a.pathname,className:"r-breadcrumb-link"},a.title)))),e.createElement("li",{className:"r-breadcrumb _target"},e.createElement("p",{className:"r-breadcrumb-title"},a)));export{a as Breadcrumbs};
1
+ import e from"react";import{NavLink as r}from"../nav-link/index.js";const a=async({title:a,breadcrumbs:t})=>e.createElement("ul",{className:"r-breadcrumbs"},t.map(a=>e.createElement("li",{key:a.pathname,className:"r-breadcrumb _previous"},e.createElement(r,{href:a.pathname,className:"r-breadcrumb-link"},a.title))),e.createElement("li",{className:"r-breadcrumb _target"},e.createElement("p",{className:"r-breadcrumb-title"},a)));export{a as Breadcrumbs};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/breadcrumbs/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { type Breadcrumbs as BreadcrumbsType } from \"@src/core/types/content\";\nimport { NavLink } from \"../nav-link\";\n\nimport \"./breadcrumbs.scss\";\n\nexport type BreadcrumbsProps = {\n title: string;\n breadcrumbs: BreadcrumbsType;\n};\n\nexport const Breadcrumbs: React.FC<BreadcrumbsProps> = async ({ title, breadcrumbs }) => {\n return (\n <ul className=\"r-breadcrumbs\">\n {breadcrumbs.map((breadcrumb) => (\n <li key={breadcrumb.pathname} className=\"r-breadcrumb _previous\">\n <NavLink href={breadcrumb.pathname} className=\"r-breadcrumb-link\">\n {breadcrumb.title}\n </NavLink>\n </li>\n ))}\n <li className=\"r-breadcrumb _target\">\n <p className=\"r-breadcrumb-title\">{title}</p>\n </li>\n </ul>\n );\n};\n"],"names":["Breadcrumbs","async","title","breadcrumbs","React","createElement","className","map","breadcrumb","key","pathname","NavLink","href"],"mappings":"oEAYO,MAAMA,EAA0CC,OAASC,QAAOC,iBAE/DC,EAAAC,cAAA,KAAA,CAAIC,UAAU,iBACTH,EAAYI,KAAKC,GACdJ,EAAIC,cAAA,KAAA,CAAAI,IAAKD,EAAWE,SAAUJ,UAAU,0BACpCF,EAAAC,cAACM,EAAQ,CAAAC,KAAMJ,EAAWE,SAAUJ,UAAU,qBACzCE,EAAWN,UAIxBE,EAAIC,cAAA,KAAA,CAAAC,UAAU,wBACVF,EAAGC,cAAA,IAAA,CAAAC,UAAU,sBAAsBJ"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/breadcrumbs/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { type Breadcrumbs as BreadcrumbsType } from \"@src/core/types/content\";\nimport { NavLink } from \"../nav-link\";\n\nimport \"./breadcrumbs.scss\";\n\nexport type BreadcrumbsProps = {\n title: string;\n breadcrumbs: BreadcrumbsType;\n};\n\nexport const Breadcrumbs: React.FC<BreadcrumbsProps> = async ({ title, breadcrumbs }) => {\n return (\n <ul className=\"r-breadcrumbs\">\n {breadcrumbs.map((breadcrumb) => (\n <li key={breadcrumb.pathname} className=\"r-breadcrumb _previous\">\n <NavLink href={breadcrumb.pathname} className=\"r-breadcrumb-link\">\n {breadcrumb.title}\n </NavLink>\n </li>\n ))}\n <li className=\"r-breadcrumb _target\">\n <p className=\"r-breadcrumb-title\">{title}</p>\n </li>\n </ul>\n );\n};\n"],"names":["Breadcrumbs","async","title","breadcrumbs","React","createElement","className","map","breadcrumb","key","pathname","NavLink","href"],"mappings":"oEAYO,MAAMA,EAA0CC,OAASC,QAAOC,iBAE/DC,EAAAC,cAAA,KAAA,CAAIC,UAAU,iBACTH,EAAYI,IAAKC,GACdJ,EAAAC,cAAA,KAAA,CAAII,IAAKD,EAAWE,SAAUJ,UAAU,0BACpCF,EAAAC,cAACM,EAAO,CAACC,KAAMJ,EAAWE,SAAUJ,UAAU,qBACzCE,EAAWN,SAIxBE,EAAAC,cAAA,KAAA,CAAIC,UAAU,wBACVF,EAAAC,cAAA,IAAA,CAAGC,UAAU,sBAAsBJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/code-section/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { CodeBlock, type CodeBlockProps } from \"@src/components/ui/code-block\";\nimport { CopyButton } from \"@src/components/ui/copy-button\";\nimport { CopyText } from \"../../ui/copy-text\";\n\nimport \"./code-section.scss\";\n\nexport interface CodeSectionProps extends CodeBlockProps {\n filename?: string;\n}\n\nexport const CodeSection: React.FC<CodeSectionProps> = ({ filename, code, ...props }) => (\n <div className=\"r-code-section\">\n {filename ? (\n <div className=\"r-code-section-header\">\n <CopyText className=\"r-code-section-filename\" text={filename} />\n <CopyButton raw={code} />\n </div>\n ) : (\n <CopyButton raw={code} className=\"r-code-section-copy\" />\n )}\n <CodeBlock className=\"r-code-section-block\" code={code} {...props} />\n </div>\n);\n"],"names":["CodeSection","filename","code","props","React","createElement","className","CopyText","text","CopyButton","raw","CodeBlock"],"mappings":"sMAWaA,EAA0C,EAAGC,WAAUC,UAASC,KACzEC,EAAKC,cAAA,MAAA,CAAAC,UAAU,kBACVL,EACGG,EAAKC,cAAA,MAAA,CAAAC,UAAU,yBACXF,EAACC,cAAAE,GAASD,UAAU,0BAA0BE,KAAMP,IACpDG,EAACC,cAAAI,GAAWC,IAAKR,KAGrBE,EAACC,cAAAI,EAAW,CAAAC,IAAKR,EAAMI,UAAU,wBAErCF,EAAAC,cAACM,EAAS,CAACL,UAAU,uBAAuBJ,KAAMA,KAAUC"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/code-section/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { CodeBlock, type CodeBlockProps } from \"@src/components/ui/code-block\";\nimport { CopyButton } from \"@src/components/ui/copy-button\";\nimport { CopyText } from \"../../ui/copy-text\";\n\nimport \"./code-section.scss\";\n\nexport interface CodeSectionProps extends CodeBlockProps {\n filename?: string;\n}\n\nexport const CodeSection: React.FC<CodeSectionProps> = ({ filename, code, ...props }) => (\n <div className=\"r-code-section\">\n {filename ? (\n <div className=\"r-code-section-header\">\n <CopyText className=\"r-code-section-filename\" text={filename} />\n <CopyButton raw={code} />\n </div>\n ) : (\n <CopyButton raw={code} className=\"r-code-section-copy\" />\n )}\n <CodeBlock className=\"r-code-section-block\" code={code} {...props} />\n </div>\n);\n"],"names":["CodeSection","filename","code","props","React","createElement","className","CopyText","text","CopyButton","raw","CodeBlock"],"mappings":"sMAWaA,EAA0C,EAAGC,WAAUC,UAASC,KACzEC,EAAAC,cAAA,MAAA,CAAKC,UAAU,kBACVL,EACGG,EAAAC,cAAA,MAAA,CAAKC,UAAU,yBACXF,EAAAC,cAACE,GAASD,UAAU,0BAA0BE,KAAMP,IACpDG,EAAAC,cAACI,GAAWC,IAAKR,KAGrBE,EAAAC,cAACI,EAAU,CAACC,IAAKR,EAAMI,UAAU,wBAErCF,EAAAC,cAACM,EAAS,CAACL,UAAU,uBAAuBJ,KAAMA,KAAUC"}
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import e,{useRef as t,useEffect as n}from"react";import r from"clsx";import{useHeadingIndex as s}from"../../contexts/contents/use-heading-index.js";import{detectGitType as c}from"../../../core/utils/git-tools.js";const o=({headings:o,hideContents:l,editUri:a,translations:i})=>{const m=t(null),d=t(null),h=t(null),p=s(),{onThisPage:u="On this page",editOnService:f="Edit on {service}"}=i||{};return n((()=>{h.current&&d.current&&d.current.style.setProperty("--drop-height",h.current.offsetHeight+"px")}),[]),e.createElement("div",{className:"r-contents"},e.createElement("div",{className:"r-contents-sticky",ref:m},o.length>0&&!l&&e.createElement(e.Fragment,null,e.createElement("input",{type:"checkbox",className:"r-contents-control",id:"r-contents"}),e.createElement("div",{className:"r-contents-details"},e.createElement("label",{className:"r-contents-title",htmlFor:"r-contents"},u,e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"r-contents-chevron"},e.createElement("path",{d:"m6 9 6 6 6-6"}))),e.createElement("div",{className:"r-contents-list",ref:d},e.createElement("div",{className:"r-contents-list-content",ref:h},o.map(((t,n)=>e.createElement("a",{href:`#${t.id}`,key:t.id,className:r("r-contents-link",t.nested&&"_nested",null!==p&&n<=p&&"_passed",p===n&&"_active"),ref:e=>{e?.offsetTop&&m.current&&m.current.scrollHeight>m.current.clientHeight&&p===n&&m.current.scrollTo({top:Math.max(e.offsetTop-Math.ceil(window.innerHeight/2),0)})}},t.title))))))),a?.match(/^https?:\/\//)&&e.createElement("div",{className:"r-contents-actions"},e.createElement("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"r-contents-git"},f.replace("{service}",c(a).name)))))};export{o as Contents};
2
+ import e,{useRef as t,useEffect as n}from"react";import r from"clsx";import{useHeadingIndex as s}from"../../contexts/contents/use-heading-index.js";import{detectGitType as c}from"../../../core/utils/git-tools.js";const o=({headings:o,hideContents:l,editUri:a,translations:i})=>{const m=t(null),d=t(null),h=t(null),p=s(),{onThisPage:u="On this page",editOnService:f="Edit on {service}"}=i||{};return n(()=>{h.current&&d.current&&d.current.style.setProperty("--drop-height",h.current.offsetHeight+"px")},[]),e.createElement("div",{className:"r-contents"},e.createElement("div",{className:"r-contents-sticky",ref:m},o.length>0&&!l&&e.createElement(e.Fragment,null,e.createElement("input",{type:"checkbox",className:"r-contents-control",id:"r-contents"}),e.createElement("div",{className:"r-contents-details"},e.createElement("label",{className:"r-contents-title",htmlFor:"r-contents"},u,e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"r-contents-chevron"},e.createElement("path",{d:"m6 9 6 6 6-6"}))),e.createElement("div",{className:"r-contents-list",ref:d},e.createElement("div",{className:"r-contents-list-content",ref:h},o.map((t,n)=>e.createElement("a",{href:`#${t.id}`,key:t.id,className:r("r-contents-link",t.nested&&"_nested",null!==p&&n<=p&&"_passed",p===n&&"_active"),ref:e=>{e?.offsetTop&&m.current&&m.current.scrollHeight>m.current.clientHeight&&p===n&&m.current.scrollTo({top:Math.max(e.offsetTop-Math.ceil(window.innerHeight/2),0)})}},t.title)))))),a?.match(/^https?:\/\//)&&e.createElement("div",{className:"r-contents-actions"},e.createElement("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"r-contents-git"},f.replace("{service}",c(a).name)))))};export{o as Contents};
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/contents/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { useHeadingIndex } from \"@src/components/contexts/contents/use-heading-index\";\nimport { detectGitType } from \"@src/core/utils/git-tools\";\n\nimport \"./contents.scss\";\n\nexport interface ContentsProps extends React.PropsWithChildren {\n headings: { id: string; nested: boolean; title: string | React.ReactNode }[];\n hideContents?: boolean;\n editUri?: string | null;\n translations?: {\n /** On this page */\n onThisPage?: string;\n /** Edit on {service} */\n editOnService?: string;\n };\n}\n\nexport const Contents: React.FC<ContentsProps> = ({ headings, hideContents, editUri, translations }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const dropdownContentRef = useRef<HTMLDivElement>(null);\n const headingIndex = useHeadingIndex();\n const { onThisPage = \"On this page\", editOnService = \"Edit on {service}\" } = translations || {};\n\n useEffect(() => {\n if (dropdownContentRef.current && dropdownRef.current) {\n dropdownRef.current.style.setProperty(\"--drop-height\", dropdownContentRef.current.offsetHeight + \"px\");\n }\n }, []);\n\n return (\n <div className=\"r-contents\">\n <div className=\"r-contents-sticky\" ref={containerRef}>\n {headings.length > 0 && !hideContents && (\n <>\n <input type=\"checkbox\" className=\"r-contents-control\" id=\"r-contents\" />\n <div className=\"r-contents-details\">\n <label className=\"r-contents-title\" htmlFor=\"r-contents\">\n {onThisPage}\n <svg\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 className=\"r-contents-chevron\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </label>\n <div className=\"r-contents-list\" ref={dropdownRef}>\n <div className=\"r-contents-list-content\" ref={dropdownContentRef}>\n {headings.map((heading, index) => (\n <a\n href={`#${heading.id}`}\n key={heading.id}\n className={clsx(\n \"r-contents-link\",\n heading.nested && \"_nested\",\n headingIndex !== null && index <= headingIndex && \"_passed\",\n headingIndex === index && \"_active\",\n )}\n ref={(node) => {\n if (\n node?.offsetTop &&\n containerRef.current &&\n containerRef.current.scrollHeight >\n containerRef.current.clientHeight &&\n headingIndex === index\n ) {\n containerRef.current.scrollTo({\n top: Math.max(\n node.offsetTop - Math.ceil(window.innerHeight / 2),\n 0,\n ),\n });\n }\n }}\n >\n {heading.title}\n </a>\n ))}\n </div>\n </div>\n </div>\n </>\n )}\n {editUri?.match(/^https?:\\/\\//) && (\n <div className=\"r-contents-actions\">\n <a href={editUri} target=\"_blank\" rel=\"noopener noreferrer\" className=\"r-contents-git\">\n {editOnService.replace(\"{service}\", detectGitType(editUri).name)}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"names":["Contents","headings","hideContents","editUri","translations","containerRef","useRef","dropdownRef","dropdownContentRef","headingIndex","useHeadingIndex","onThisPage","editOnService","useEffect","current","style","setProperty","offsetHeight","React","createElement","className","ref","length","Fragment","type","id","htmlFor","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","map","heading","index","href","key","clsx","nested","node","offsetTop","scrollHeight","clientHeight","scrollTo","top","Math","max","ceil","window","innerHeight","title","match","target","rel","replace","detectGitType","name"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/contents/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { useHeadingIndex } from \"@src/components/contexts/contents/use-heading-index\";\nimport { detectGitType } from \"@src/core/utils/git-tools\";\n\nimport \"./contents.scss\";\n\nexport interface ContentsProps extends React.PropsWithChildren {\n headings: { id: string; nested: boolean; title: string | React.ReactNode }[];\n hideContents?: boolean;\n editUri?: string | null;\n translations?: {\n /** On this page */\n onThisPage?: string;\n /** Edit on {service} */\n editOnService?: string;\n };\n}\n\nexport const Contents: React.FC<ContentsProps> = ({ headings, hideContents, editUri, translations }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const dropdownContentRef = useRef<HTMLDivElement>(null);\n const headingIndex = useHeadingIndex();\n const { onThisPage = \"On this page\", editOnService = \"Edit on {service}\" } = translations || {};\n\n useEffect(() => {\n if (dropdownContentRef.current && dropdownRef.current) {\n dropdownRef.current.style.setProperty(\"--drop-height\", dropdownContentRef.current.offsetHeight + \"px\");\n }\n }, []);\n\n return (\n <div className=\"r-contents\">\n <div className=\"r-contents-sticky\" ref={containerRef}>\n {headings.length > 0 && !hideContents && (\n <>\n <input type=\"checkbox\" className=\"r-contents-control\" id=\"r-contents\" />\n <div className=\"r-contents-details\">\n <label className=\"r-contents-title\" htmlFor=\"r-contents\">\n {onThisPage}\n <svg\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 className=\"r-contents-chevron\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </label>\n <div className=\"r-contents-list\" ref={dropdownRef}>\n <div className=\"r-contents-list-content\" ref={dropdownContentRef}>\n {headings.map((heading, index) => (\n <a\n href={`#${heading.id}`}\n key={heading.id}\n className={clsx(\n \"r-contents-link\",\n heading.nested && \"_nested\",\n headingIndex !== null && index <= headingIndex && \"_passed\",\n headingIndex === index && \"_active\",\n )}\n ref={(node) => {\n if (\n node?.offsetTop &&\n containerRef.current &&\n containerRef.current.scrollHeight >\n containerRef.current.clientHeight &&\n headingIndex === index\n ) {\n containerRef.current.scrollTo({\n top: Math.max(\n node.offsetTop - Math.ceil(window.innerHeight / 2),\n 0,\n ),\n });\n }\n }}\n >\n {heading.title}\n </a>\n ))}\n </div>\n </div>\n </div>\n </>\n )}\n {editUri?.match(/^https?:\\/\\//) && (\n <div className=\"r-contents-actions\">\n <a href={editUri} target=\"_blank\" rel=\"noopener noreferrer\" className=\"r-contents-git\">\n {editOnService.replace(\"{service}\", detectGitType(editUri).name)}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"names":["Contents","headings","hideContents","editUri","translations","containerRef","useRef","dropdownRef","dropdownContentRef","headingIndex","useHeadingIndex","onThisPage","editOnService","useEffect","current","style","setProperty","offsetHeight","React","createElement","className","ref","length","Fragment","type","id","htmlFor","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","map","heading","index","href","key","clsx","nested","node","offsetTop","scrollHeight","clientHeight","scrollTo","top","Math","max","ceil","window","innerHeight","title","match","target","rel","replace","detectGitType","name"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/header-menu/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,oBAAoB,CAAC;AAE5B,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAClD,YAAY,CAAC,EAAE;QACX,WAAW;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC,CAAC;AAEH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAiDhD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/header-menu/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,oBAAoB,CAAC;AAE5B,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAClD,YAAY,CAAC,EAAE;QACX,WAAW;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC,CAAC;AAEH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuDhD,CAAC"}
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import e,{useState as r,useEffect as a}from"react";import{useNavigate as t}from"../../contexts/navigate/use-navigate.js";const n=({children:n,translations:s})=>{const{menu:l="Menu"}=s||{},{addListener:o,removeListener:c}=t(),[d,m]=r(!1),i=()=>{document.body.classList.remove("body-tablet-lock"),m(!1),c("closeHeaderMenu")};return a((()=>()=>{i()}),[]),e.createElement("div",{className:"r-header-menu"},e.createElement("input",{onChange:()=>{d?i():(document.body.classList.add("body-tablet-lock"),m(!0),o("closeHeaderMenu",i))},checked:d,id:"header-burger",type:"checkbox",className:"r-header-input",hidden:!0}),e.createElement("label",{className:"r-header-burger",htmlFor:"header-burger","aria-label":l,role:"button",tabIndex:0},e.createElement("span",{className:"r-burger-line _top"}),e.createElement("span",{className:"r-burger-line _bottom"})),e.createElement("div",{className:"r-header-responsive"},n))};export{n as HeaderMenu};
2
+ import e,{useState as r,useEffect as t}from"react";import{useNavigate as a}from"../../contexts/navigate/use-navigate.js";const n=({children:n,translations:o})=>{const{menu:s="Menu"}=o||{},{addListener:c,removeListener:l}=a(),[m,d]=r(!1),i=()=>{const e=document.querySelector(".r-root");e&&e.classList.remove("r-root-tablet-lock"),d(!1),l("closeHeaderMenu")};return t(()=>()=>{i()},[]),e.createElement("div",{className:"r-header-menu"},e.createElement("input",{onChange:()=>{m?i():(()=>{const e=document.querySelector(".r-root");e&&e.classList.add("r-root-tablet-lock"),d(!0),c("closeHeaderMenu",i)})()},checked:m,id:"header-burger",type:"checkbox",className:"r-header-input",hidden:!0}),e.createElement("label",{className:"r-header-burger",htmlFor:"header-burger","aria-label":s,role:"button",tabIndex:0},e.createElement("span",{className:"r-burger-line _top"}),e.createElement("span",{className:"r-burger-line _bottom"})),e.createElement("div",{className:"r-header-responsive"},n))};export{n as HeaderMenu};
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/header-menu/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useState } from \"react\";\n\nimport { useNavigate } from \"@src/components/contexts/navigate/use-navigate\";\n\nimport \"./header-menu.scss\";\n\nexport type HeaderMenuProps = React.PropsWithChildren<{\n translations?: {\n /** Menu */\n menu?: string;\n };\n}>;\n\nexport const HeaderMenu: React.FC<HeaderMenuProps> = ({ children, translations }) => {\n const { menu = \"Menu\" } = translations || {};\n const { addListener, removeListener } = useNavigate();\n const [opened, setOpened] = useState(false);\n\n const openHandler = () => {\n document.body.classList.add(\"body-tablet-lock\");\n setOpened(true);\n addListener(\"closeHeaderMenu\", closeHandler);\n };\n\n const closeHandler = () => {\n document.body.classList.remove(\"body-tablet-lock\");\n setOpened(false);\n removeListener(\"closeHeaderMenu\");\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-header-menu\">\n <input\n onChange={toggleHandler}\n checked={opened}\n id=\"header-burger\"\n type=\"checkbox\"\n className=\"r-header-input\"\n hidden\n />\n <label className=\"r-header-burger\" htmlFor=\"header-burger\" aria-label={menu} role=\"button\" tabIndex={0}>\n <span className=\"r-burger-line _top\" />\n <span className=\"r-burger-line _bottom\" />\n </label>\n <div className=\"r-header-responsive\">{children}</div>\n </div>\n );\n};\n"],"names":["HeaderMenu","children","translations","menu","addListener","removeListener","useNavigate","opened","setOpened","useState","closeHandler","document","body","classList","remove","useEffect","React","createElement","className","onChange","add","checked","id","type","hidden","htmlFor","role","tabIndex"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/header-menu/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useState } from \"react\";\n\nimport { useNavigate } from \"@src/components/contexts/navigate/use-navigate\";\n\nimport \"./header-menu.scss\";\n\nexport type HeaderMenuProps = React.PropsWithChildren<{\n translations?: {\n /** Menu */\n menu?: string;\n };\n}>;\n\nexport const HeaderMenu: React.FC<HeaderMenuProps> = ({ children, translations }) => {\n const { menu = \"Menu\" } = translations || {};\n const { addListener, removeListener } = useNavigate();\n const [opened, setOpened] = useState(false);\n\n const openHandler = () => {\n const root = document.querySelector(\".r-root\");\n if (root) {\n root.classList.add(\"r-root-tablet-lock\");\n }\n setOpened(true);\n addListener(\"closeHeaderMenu\", closeHandler);\n };\n\n const closeHandler = () => {\n const root = document.querySelector(\".r-root\");\n if (root) {\n root.classList.remove(\"r-root-tablet-lock\");\n }\n setOpened(false);\n removeListener(\"closeHeaderMenu\");\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-header-menu\">\n <input\n onChange={toggleHandler}\n checked={opened}\n id=\"header-burger\"\n type=\"checkbox\"\n className=\"r-header-input\"\n hidden\n />\n <label className=\"r-header-burger\" htmlFor=\"header-burger\" aria-label={menu} role=\"button\" tabIndex={0}>\n <span className=\"r-burger-line _top\" />\n <span className=\"r-burger-line _bottom\" />\n </label>\n <div className=\"r-header-responsive\">{children}</div>\n </div>\n );\n};\n"],"names":["HeaderMenu","children","translations","menu","addListener","removeListener","useNavigate","opened","setOpened","useState","closeHandler","root","document","querySelector","classList","remove","useEffect","React","createElement","className","onChange","add","openHandler","checked","id","type","hidden","htmlFor","role","tabIndex"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import e from"react";import{detectGitType as r}from"../../../core/utils/git-tools.js";import{GithubLogo as t,GitlabLogo as o,GitLogo as i}from"../../ui/git-logos/index.js";const l={github:t,gitlab:o,git:i},a=({git:t})=>{const o="string"==typeof t?{uri:t,logo:l[r(t).key]}:t,i=o.logo;return e.createElement("div",{className:"r-header-social"},e.createElement("a",{href:o.uri,className:"r-header-social-git",target:"_blank",rel:"noopener noreferrer"},e.createElement(i,null)))};export{a as HeaderSocial};
1
+ import e from"react";import{detectGitType as r}from"../../../core/utils/git-tools.js";import{GitLogo as t,GitlabLogo as o,GithubLogo as i}from"../../ui/git-logos/index.js";const l={github:i,gitlab:o,git:t},a=({git:t})=>{const o="string"==typeof t?{uri:t,logo:l[r(t).key]}:t,i=o.logo;return e.createElement("div",{className:"r-header-social"},e.createElement("a",{href:o.uri,className:"r-header-social-git",target:"_blank",rel:"noopener noreferrer"},e.createElement(i,null)))};export{a as HeaderSocial};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/header-social/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { detectGitType } from \"@src/core/utils/git-tools\";\nimport { GithubLogo, GitlabLogo, GitLogo } from \"@src/components/ui/git-logos\";\n\nimport \"./header-social.scss\";\n\nconst gitLogos = {\n github: GithubLogo,\n gitlab: GitlabLogo,\n git: GitLogo,\n};\n\nexport const HeaderSocial: React.FC<{ git: string | { uri: string; logo: React.ElementType } }> = ({ git }) => {\n const gitData = typeof git === \"string\" ? { uri: git, logo: gitLogos[detectGitType(git).key] } : git;\n const Logo = gitData.logo;\n\n return (\n <div className=\"r-header-social\">\n <a href={gitData.uri} className=\"r-header-social-git\" target=\"_blank\" rel=\"noopener noreferrer\">\n <Logo />\n </a>\n </div>\n );\n};\n"],"names":["gitLogos","github","GithubLogo","gitlab","GitlabLogo","git","GitLogo","HeaderSocial","gitData","uri","logo","detectGitType","key","Logo","React","createElement","className","href","target","rel"],"mappings":"4KAOA,MAAMA,EAAW,CACbC,OAAQC,EACRC,OAAQC,EACRC,IAAKC,GAGIC,EAAqF,EAAGF,UACjG,MAAMG,EAAyB,iBAARH,EAAmB,CAAEI,IAAKJ,EAAKK,KAAMV,EAASW,EAAcN,GAAKO,MAASP,EAC3FQ,EAAOL,EAAQE,KAErB,OACII,EAAAC,cAAA,MAAA,CAAKC,UAAU,mBACXF,EAAAC,cAAA,IAAA,CAAGE,KAAMT,EAAQC,IAAKO,UAAU,sBAAsBE,OAAO,SAASC,IAAI,uBACtEL,EAAAC,cAACF,EAAI,OAGf"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/header-social/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { detectGitType } from \"@src/core/utils/git-tools\";\nimport { GithubLogo, GitlabLogo, GitLogo } from \"@src/components/ui/git-logos\";\n\nimport \"./header-social.scss\";\n\nconst gitLogos = {\n github: GithubLogo,\n gitlab: GitlabLogo,\n git: GitLogo,\n};\n\nexport const HeaderSocial: React.FC<{ git: string | { uri: string; logo: React.ElementType } }> = ({ git }) => {\n const gitData = typeof git === \"string\" ? { uri: git, logo: gitLogos[detectGitType(git).key] } : git;\n const Logo = gitData.logo;\n\n return (\n <div className=\"r-header-social\">\n <a href={gitData.uri} className=\"r-header-social-git\" target=\"_blank\" rel=\"noopener noreferrer\">\n <Logo />\n </a>\n </div>\n );\n};\n"],"names":["gitLogos","github","GithubLogo","gitlab","GitlabLogo","git","GitLogo","HeaderSocial","gitData","uri","logo","detectGitType","key","Logo","React","createElement","className","href","target","rel"],"mappings":"4KAOA,MAAMA,EAAW,CACbC,OAAQC,EACRC,OAAQC,EACRC,IAAKC,GAGIC,EAAqF,EAAGF,UACjG,MAAMG,EAAyB,iBAARH,EAAmB,CAAEI,IAAKJ,EAAKK,KAAMV,EAASW,EAAcN,GAAKO,MAASP,EAC3FQ,EAAOL,EAAQE,KAErB,OACII,EAAAC,cAAA,MAAA,CAAKC,UAAU,mBACXF,EAAAC,cAAA,IAAA,CAAGE,KAAMT,EAAQC,IAAKO,UAAU,sBAAsBE,OAAO,SAASC,IAAI,uBACtEL,EAAAC,cAACF,EAAI"}
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import e,{useState as t,useEffect as a}from"react";import r from"clsx";const m=({date:m,className:c,children:i,...o})=>{const[l,n]=t("");return a((()=>{n(new Date(m).toLocaleDateString())}),[]),e.createElement("div",{className:r("r-last-modified",c),...o},i," ",e.createElement("time",{dateTime:m,title:m},l))};export{m as LastModified};
2
+ import e,{useState as t,useEffect as a}from"react";import r from"clsx";const m=({date:m,className:c,children:i,...o})=>{const[l,n]=t("");return a(()=>{n(new Date(m).toLocaleDateString())},[]),e.createElement("div",{className:r("r-last-modified",c),...o},i," ",e.createElement("time",{dateTime:m,title:m},l))};export{m as LastModified};
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/last-modified/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useState } from \"react\";\nimport clsx from \"clsx\";\n\nimport \"./last-modified.scss\";\n\nexport interface LastModifiedProps extends React.HTMLAttributes<HTMLDivElement> {\n date: string;\n}\n\nexport const LastModified: React.FC<LastModifiedProps> = ({ date, className, children, ...props }) => {\n const [formattedDate, setFormattedDate] = useState(\"\");\n\n useEffect(() => {\n setFormattedDate(new Date(date).toLocaleDateString());\n }, []);\n\n return (\n <div className={clsx(\"r-last-modified\", className)} {...props}>\n {children}{\" \"}\n <time dateTime={date} title={date}>\n {formattedDate}\n </time>\n </div>\n );\n};\n"],"names":["LastModified","date","className","children","props","formattedDate","setFormattedDate","useState","useEffect","Date","toLocaleDateString","React","createElement","clsx","dateTime","title"],"mappings":";uEAWa,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA4C,EAAGC,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWC,cAAaC,CACtF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOC,EAAeC,CAAoBC,CAAAA,CAAAA,CAAAA,CAAS,IAMnD,CAJAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CACNF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAIG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKR,GAAMS,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACtD,IAGCC,CAAKC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,MAAA,CAAAV,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWW,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmBX,CAAgBE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACnDD,EAAU,CACXQ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAC,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAME,SAAUb,CAAMc,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOd,CACxBI,CAAAA,CAAAA,CAAAA,CAAAA,CAGZ"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/last-modified/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useState } from \"react\";\nimport clsx from \"clsx\";\n\nimport \"./last-modified.scss\";\n\nexport interface LastModifiedProps extends React.HTMLAttributes<HTMLDivElement> {\n date: string;\n}\n\nexport const LastModified: React.FC<LastModifiedProps> = ({ date, className, children, ...props }) => {\n const [formattedDate, setFormattedDate] = useState(\"\");\n\n useEffect(() => {\n setFormattedDate(new Date(date).toLocaleDateString());\n }, []);\n\n return (\n <div className={clsx(\"r-last-modified\", className)} {...props}>\n {children}{\" \"}\n <time dateTime={date} title={date}>\n {formattedDate}\n </time>\n </div>\n );\n};\n"],"names":["LastModified","date","className","children","props","formattedDate","setFormattedDate","useState","useEffect","Date","toLocaleDateString","React","createElement","clsx","dateTime","title"],"mappings":";uEAWO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMA,CAAAA,CAA4C,EAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWC,cAAaC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACtF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOC,EAAeC,CAAAA,CAAAA,CAAoBC,CAAAA,CAAS,IAMnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAJAC,CAAAA,CAAU,KACNF,CAAAA,CAAiB,CAAA,CAAA,CAAA,CAAIG,KAAKR,CAAAA,CAAAA,CAAMS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACjC,IAGCC,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,MAAA,CAAKV,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWW,EAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmBX,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgBE,GACnDD,CAAAA,CAAU,CAAA,CAAA,CAAA,CACXQ,EAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAME,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUb,CAAAA,CAAMc,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOd,CAAAA,CAAAA,CACxBI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA"}
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import t from"react";import{useNavigate as e}from"../../contexts/navigate/use-navigate.js";import{ContentLink as n}from"../../ui/content-link/index.js";const o=({onClick:o,...r})=>{const{listeners:i}=e();return t.createElement(n,{onClick:t=>{[...i].forEach((t=>t.listener())),o&&o(t)},...r})};export{o as NavContentLink};
2
+ import t from"react";import{useNavigate as e}from"../../contexts/navigate/use-navigate.js";import{ContentLink as n}from"../../ui/content-link/index.js";const o=({onClick:o,...r})=>{const{listeners:i}=e();return t.createElement(n,{onClick:t=>{[...i].forEach(t=>t.listener()),o&&o(t)},...r})};export{o as NavContentLink};
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/nav-content-link/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\n\nimport { useNavigate } from \"@src/components/contexts/navigate/use-navigate\";\nimport { ContentLink, type ContentLinkProps } from \"@src/components/ui/content-link\";\n\ntype NavContentLinkProps = ContentLinkProps;\n\nexport const NavContentLink: React.FC<NavContentLinkProps> = ({ onClick, ...props }) => {\n const { listeners } = useNavigate();\n\n const clickHandler = (e: React.MouseEvent<HTMLAnchorElement>) => {\n [...listeners].forEach((el) => el.listener());\n if (onClick) onClick(e);\n };\n\n return <ContentLink onClick={clickHandler} {...props} />;\n};\n"],"names":["NavContentLink","onClick","props","listeners","useNavigate","React","createElement","ContentLink","e","forEach","el","listener"],"mappings":";wJASO,CAAMA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgD,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYC,CACxE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,CAAEA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcC,IAOtB,CAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAC,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,CAAAN,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CALEO,CAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIL,GAAWM,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC9BV,CAASA,CAAAA,CAAAA,CAAAA,CAAQO,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAGoBN,GAAS"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/nav-content-link/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\n\nimport { useNavigate } from \"@src/components/contexts/navigate/use-navigate\";\nimport { ContentLink, type ContentLinkProps } from \"@src/components/ui/content-link\";\n\ntype NavContentLinkProps = ContentLinkProps;\n\nexport const NavContentLink: React.FC<NavContentLinkProps> = ({ onClick, ...props }) => {\n const { listeners } = useNavigate();\n\n const clickHandler = (e: React.MouseEvent<HTMLAnchorElement>) => {\n [...listeners].forEach((el) => el.listener());\n if (onClick) onClick(e);\n };\n\n return <ContentLink onClick={clickHandler} {...props} />;\n};\n"],"names":["NavContentLink","onClick","props","listeners","useNavigate","React","createElement","ContentLink","e","forEach","el","listener"],"mappings":";wJASO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMA,CAAAA,CAAgD,CAAA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACxE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,GAAcC,CAAAA,CAAAA,CAAAA,CAOtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOC,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAACC,CAAAA,CAAW,CAACN,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CALEO,CAAAA,CAAAA,CAAAA,CAClB,CAAA,CAAA,CAAA,CAAIL,CAAAA,CAAAA,CAAWM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,CAAAA,CAAAA,CAAOA,CAAAA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC9BV,CAAAA,CAAAA,CAASA,CAAAA,CAAQO,OAGsBN,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA"}
@@ -1,22 +1,9 @@
1
- /// <reference types="node" />
2
1
  import React from "react";
3
- export declare const NavLink: React.ForwardRefExoticComponent<React.AnchorHTMLAttributes<HTMLAnchorElement> & {
4
- href: string | import("url").UrlObject;
5
- as?: (string | import("url").UrlObject) | undefined;
6
- replace?: boolean | undefined;
7
- scroll?: boolean | undefined;
8
- shallow?: boolean | undefined;
9
- passHref?: boolean | undefined;
10
- prefetch?: boolean | null | undefined;
11
- locale?: string | false | undefined;
12
- legacyBehavior?: boolean | undefined;
13
- onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
14
- onTouchStart?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
15
- onClick?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
2
+ import { type LinkProps } from "next/link";
3
+ export declare const NavLink: React.ForwardRefExoticComponent<React.AnchorHTMLAttributes<HTMLAnchorElement> & LinkProps<any> & {
4
+ children?: React.ReactNode | undefined;
16
5
  } & {
17
- children?: React.ReactNode;
18
- } & {
19
- activeClassName?: string | undefined;
20
- targetClassName?: string | undefined;
6
+ activeClassName?: string;
7
+ targetClassName?: string;
21
8
  } & React.RefAttributes<HTMLAnchorElement>>;
22
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/nav-link/index.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAe1C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;2CA8BnB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/nav-link/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAa,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAcjD,eAAO,MAAM,OAAO;;;sBAJM,MAAM;sBACN,MAAM;2CAiC/B,CAAC"}
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import e,{forwardRef as r}from"react";import t from"next/link";import{usePathname as o}from"next/navigation";import a from"clsx";import{useNavigate as n}from"../../contexts/navigate/use-navigate.js";import{ExternalMark as s}from"../../ui/external-mark/index.js";import{checkIsLinkExternal as i}from"../../../core/utils/path-tools.js";const m=r((({onClick:r,className:m,href:l,targetClassName:c,activeClassName:f,children:p,...x},h)=>{const{listeners:g}=n(),k=o(),u=i(l),v=u?{target:"_blank",rel:"noopener noreferrer"}:{};return e.createElement(t,{href:l,className:a(k.startsWith(l)&&c,k===l&&f,m),ref:h,onClick:e=>{[...g].forEach((e=>e.listener())),r&&r(e)},...v,...x},p,u&&e.createElement(s,null))}));export{m as NavLink};
2
+ import e,{forwardRef as r}from"react";import t from"next/link";import{usePathname as o}from"next/navigation";import a from"clsx";import{useNavigate as n}from"../../contexts/navigate/use-navigate.js";import{ExternalMark as s}from"../../ui/external-mark/index.js";import{checkIsLinkExternal as i}from"../../../core/utils/path-tools.js";const m=r(({onClick:r,className:m,href:l,targetClassName:c,activeClassName:f,children:p,...x},h)=>{const{listeners:g}=n(),k=o(),u=i(l),v=u?{target:"_blank",rel:"noopener noreferrer"}:{};return e.createElement(t,{href:l,className:a(k.startsWith(l)&&c,k===l&&f,m),ref:h,onClick:e=>{[...g].forEach(e=>e.listener()),r&&r(e)},...v,...x},p,u&&e.createElement(s,null))});export{m as NavLink};
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/nav-link/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { forwardRef } from \"react\";\nimport Link, { type LinkProps } from \"next/link\";\nimport { usePathname } from \"next/navigation\";\nimport clsx from \"clsx\";\n\nimport { useNavigate } from \"@src/components/contexts/navigate/use-navigate\";\nimport { ExternalMark } from \"@src/components/ui/external-mark\";\nimport { checkIsLinkExternal } from \"@src/core/utils/path-tools\";\n\ntype NavLinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement> &\n React.PropsWithChildren<LinkProps> & {\n activeClassName?: string;\n targetClassName?: string;\n };\n\nexport const NavLink = forwardRef<HTMLAnchorElement, NavLinkProps>(\n ({ onClick, className, href, targetClassName, activeClassName, children, ...props }, ref) => {\n const { listeners } = useNavigate();\n const pathname = usePathname();\n\n const clickHandler = (e: React.MouseEvent<HTMLAnchorElement>) => {\n [...listeners].forEach((el) => el.listener());\n if (onClick) onClick(e);\n };\n const isLinkExternal = checkIsLinkExternal(href);\n const additionalProps = isLinkExternal ? { target: \"_blank\", rel: \"noopener noreferrer\" } : {};\n\n return (\n <Link\n href={href}\n className={clsx(\n pathname.startsWith(href) && targetClassName,\n pathname === href && activeClassName,\n className,\n )}\n ref={ref}\n onClick={clickHandler}\n {...additionalProps}\n {...props}\n >\n {children}\n {isLinkExternal && <ExternalMark />}\n </Link>\n );\n },\n);\n"],"names":["NavLink","forwardRef","onClick","className","href","targetClassName","activeClassName","children","props","ref","listeners","useNavigate","pathname","usePathname","isLinkExternal","checkIsLinkExternal","additionalProps","target","rel","React","createElement","Link","clsx","startsWith","e","forEach","el","listener","ExternalMark"],"mappings":";8UAiBa,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUC,GACnB,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,CAAWC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMC,kBAAiBC,CAAiBC,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,CAAAA,CAAaC,GAASC,CACjF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,UAAEA,CAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAChBC,CAAWC,CAAAA,CAAAA,CAAAA,CAAAA,CAMXC,EAAiBC,CAAoBX,CAAAA,CAAAA,CAAAA,CACrCY,EAAkBF,CAAiB,CAAA,CAAEG,OAAQ,CAAUC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,CAA0B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAE5F,CACIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAACC,cAAAC,GACGjB,KAAMA,CACND,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWmB,CACPV,CAAAA,CAAAA,CAASW,WAAWnB,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAC7BO,IAAaR,CAAQE,CAAAA,CAAAA,CAAAA,CACrBH,GAEJM,CAAKA,CAAAA,CAAAA,CAAAA,CAAAA,CACLP,CAhBcsB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAClB,IAAId,CAAWe,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,GAAOA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC9BzB,GAASA,CAAQsB,CAAAA,CAAAA,CAAE,CAefR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACAR,GAEHD,CACAO,CAAAA,CAAAA,CAAAA,CAAkBK,EAACC,CAAAQ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,MAE1C"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/nav-link/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { forwardRef } from \"react\";\nimport Link, { type LinkProps } from \"next/link\";\nimport { usePathname } from \"next/navigation\";\nimport clsx from \"clsx\";\n\nimport { useNavigate } from \"@src/components/contexts/navigate/use-navigate\";\nimport { ExternalMark } from \"@src/components/ui/external-mark\";\nimport { checkIsLinkExternal } from \"@src/core/utils/path-tools\";\n\ntype NavLinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement> &\n React.PropsWithChildren<LinkProps> & {\n activeClassName?: string;\n targetClassName?: string;\n };\n\nexport const NavLink = forwardRef<HTMLAnchorElement, NavLinkProps>(\n ({ onClick, className, href, targetClassName, activeClassName, children, ...props }, ref) => {\n const { listeners } = useNavigate();\n const pathname = usePathname();\n\n const clickHandler = (e: React.MouseEvent<HTMLAnchorElement>) => {\n [...listeners].forEach((el) => el.listener());\n if (onClick) onClick(e);\n };\n const isLinkExternal = checkIsLinkExternal(href);\n const additionalProps = isLinkExternal ? { target: \"_blank\", rel: \"noopener noreferrer\" } : {};\n\n return (\n <Link\n href={href}\n className={clsx(\n pathname.startsWith(href) && targetClassName,\n pathname === href && activeClassName,\n className,\n )}\n ref={ref}\n onClick={clickHandler}\n {...additionalProps}\n {...props}\n >\n {children}\n {isLinkExternal && <ExternalMark />}\n </Link>\n );\n },\n);\n"],"names":["NavLink","forwardRef","onClick","className","href","targetClassName","activeClassName","children","props","ref","listeners","useNavigate","pathname","usePathname","isLinkExternal","checkIsLinkExternal","additionalProps","target","rel","React","createElement","Link","clsx","startsWith","e","forEach","el","listener","ExternalMark"],"mappings":";8UAiBO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMA,CAAAA,CAAUC,EACnB,CAAA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMC,kBAAiBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAaC,CAAAA,CAAAA,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CACjF,MAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,CAAAA,CAAAA,CAAcC,CAAAA,CAAAA,CAAAA,CAChBC,CAAAA,CAAWC,IAMXC,CAAAA,CAAiBC,CAAAA,CAAoBX,GACrCY,CAAAA,CAAkBF,CAAAA,CAAiB,CAAEG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAUC,CAAAA,CAAAA,CAAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,CAAA,CAAA,CAE5F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIC,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAACC,GACGjB,CAAAA,CAAAA,CAAAA,CAAAA,CAAMA,CAAAA,CACND,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWmB,EACPV,CAAAA,CAASW,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWnB,IAASC,CAAAA,CAC7BO,CAAAA,CAAAA,CAAAA,CAAaR,GAAQE,CAAAA,CACrBH,CAAAA,CAAAA,CAEJM,CAAAA,CAAAA,CAAAA,CAAKA,CAAAA,CACLP,QAhBcsB,CAAAA,CAAAA,CAAAA,CAClB,CAAA,CAAA,CAAA,CAAId,GAAWe,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,CAAAA,CAAAA,CAAOA,EAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC9BzB,CAAAA,CAAAA,CAASA,CAAAA,CAAQsB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAebR,KACAR,CAAAA,CAAAA,CAEHD,CAAAA,CACAO,GAAkBK,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAACQ,EAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/no-js/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,IAAI,yBAyChB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/no-js/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,IAAI,yBA2ChB,CAAC"}
@@ -1,2 +1,2 @@
1
- import n from"react";const o=()=>n.createElement("noscript",null,n.createElement("style",null,'\n .r-no-js {\n cursor: not-allowed;\n }\n .r-no-js:hover,\n .r-no-js:focus,\n .r-no-js:focus-within {\n z-index: 10;\n }\n .r-no-js::after {\n content: "Please enable JavaScript";\n display: none;\n position: absolute;\n top: 50%;\n right: 0;\n font-family: var(--monospace-font, monospace, monospace);\n font-size: 12px;\n width: 100%;\n min-width: 120px;\n transform: translateY(-50%);\n background-color: var(--r-neutral-900);\n color: var(--r-neutral-100);\n border-radius: 4px;\n padding: 4px 12px;\n pointer-events: none;\n }\n .r-no-js._to-right::after {\n right: auto;\n left: 0;\n }\n .r-no-js:hover::after,\n .r-no-js:focus::after,\n .r-no-js:focus-within::after {\n display: block;\n }\n '));export{o as NoJs};
1
+ import n from"react";const o=()=>n.createElement("noscript",null,n.createElement("style",null,'\n .r-no-js {\n cursor: not-allowed;\n box-sizing: border-box;\n }\n .r-no-js:hover,\n .r-no-js:focus,\n .r-no-js:focus-within {\n z-index: 10;\n }\n .r-no-js::after {\n content: "Please enable JavaScript";\n display: none;\n position: absolute;\n top: 50%;\n right: 0;\n font-family: var(--monospace-font, monospace, monospace);\n font-size: 12px;\n width: 100%;\n min-width: 120px;\n transform: translateY(-50%);\n background-color: var(--r-neutral-900);\n color: var(--r-neutral-100);\n border-radius: 4px;\n padding: 4px 12px;\n pointer-events: none;\n box-sizing: border-box;\n }\n .r-no-js._to-right::after {\n right: auto;\n left: 0;\n }\n .r-no-js:hover::after,\n .r-no-js:focus::after,\n .r-no-js:focus-within::after {\n display: block;\n }\n '));export{o as NoJs};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/no-js/index.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const NoJs = () => (\n <noscript>\n <style>\n {`\n .r-no-js {\n cursor: not-allowed;\n }\n .r-no-js:hover,\n .r-no-js:focus,\n .r-no-js:focus-within {\n z-index: 10;\n }\n .r-no-js::after {\n content: \"Please enable JavaScript\";\n display: none;\n position: absolute;\n top: 50%;\n right: 0;\n font-family: var(--monospace-font, monospace, monospace);\n font-size: 12px;\n width: 100%;\n min-width: 120px;\n transform: translateY(-50%);\n background-color: var(--r-neutral-900);\n color: var(--r-neutral-100);\n border-radius: 4px;\n padding: 4px 12px;\n pointer-events: none;\n }\n .r-no-js._to-right::after {\n right: auto;\n left: 0;\n }\n .r-no-js:hover::after,\n .r-no-js:focus::after,\n .r-no-js:focus-within::after {\n display: block;\n }\n `}\n </style>\n </noscript>\n);\n"],"names":["NoJs","React","createElement"],"mappings":"qBAEa,MAAAA,EAAO,IAChBC,EAAAC,cAAA,WAAA,KACID,EACKC,cAAA,QAAA,KAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/no-js/index.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const NoJs = () => (\n <noscript>\n <style>\n {`\n .r-no-js {\n cursor: not-allowed;\n box-sizing: border-box;\n }\n .r-no-js:hover,\n .r-no-js:focus,\n .r-no-js:focus-within {\n z-index: 10;\n }\n .r-no-js::after {\n content: \"Please enable JavaScript\";\n display: none;\n position: absolute;\n top: 50%;\n right: 0;\n font-family: var(--monospace-font, monospace, monospace);\n font-size: 12px;\n width: 100%;\n min-width: 120px;\n transform: translateY(-50%);\n background-color: var(--r-neutral-900);\n color: var(--r-neutral-100);\n border-radius: 4px;\n padding: 4px 12px;\n pointer-events: none;\n box-sizing: border-box;\n }\n .r-no-js._to-right::after {\n right: auto;\n left: 0;\n }\n .r-no-js:hover::after,\n .r-no-js:focus::after,\n .r-no-js:focus-within::after {\n display: block;\n }\n `}\n </style>\n </noscript>\n);\n"],"names":["NoJs","React","createElement"],"mappings":"qBAEO,MAAMA,EAAO,IAChBC,EAAAC,cAAA,WAAA,KACID,EAAAC,cAAA,QAAA,KACK"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/pagination/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,mBAAmB,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,YAAY,CAAC,EAAE;QACX,eAAe;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAyDhD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/pagination/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,mBAAmB,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,YAAY,CAAC,EAAE;QACX,eAAe;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA2DhD,CAAC"}
@@ -1,2 +1,2 @@
1
- import e from"react";import{NavLink as t}from"../nav-link/index.js";const n=async({prev:n,next:a,translations:r})=>{const{previous:l="Previous",next:i="Next"}=r||{};return e.createElement("div",{className:"r-pagination"},n?e.createElement(t,{href:n.pathname,className:"r-pagination-item _prev"},e.createElement("span",{className:"r-pagination-icon _prev"},e.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},e.createElement("path",{d:"m15 18-6-6 6-6"}))),e.createElement("span",{className:"r-pagination-text"},e.createElement("span",null,l),e.createElement("br",null),e.createElement("span",{className:"r-pagination-title"},n.title))):e.createElement("span",null),a?e.createElement(t,{href:a.pathname,className:"r-pagination-item _next"},e.createElement("span",{className:"r-pagination-icon _next"},e.createElement("svg",{width:"24",height:"24",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",{className:"r-pagination-text"},e.createElement("span",null,i),e.createElement("br",null),e.createElement("span",{className:"r-pagination-title"},a.title))):e.createElement("span",null))};export{n as Pagination};
1
+ import e from"react";import{NavLink as t}from"../nav-link/index.js";const n=async({prev:n,next:a,translations:r})=>{const{previous:i="Previous",next:l="Next"}=r||{};return e.createElement("div",{className:"r-pagination"},n?e.createElement(t,{href:n.pathname,className:"r-pagination-item _prev"},e.createElement("span",{className:"r-pagination-icon _prev"},e.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"r-pagination-svg"},e.createElement("path",{d:"m15 18-6-6 6-6"}))),e.createElement("span",{className:"r-pagination-text"},e.createElement("span",null,i),e.createElement("br",null),e.createElement("span",{className:"r-pagination-title"},n.title))):e.createElement("span",null),a?e.createElement(t,{href:a.pathname,className:"r-pagination-item _next"},e.createElement("span",{className:"r-pagination-icon _next"},e.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"r-pagination-svg"},e.createElement("path",{d:"m9 18 6-6-6-6"}))),e.createElement("span",{className:"r-pagination-text"},e.createElement("span",null,l),e.createElement("br",null),e.createElement("span",{className:"r-pagination-title"},a.title))):e.createElement("span",null))};export{n as Pagination};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/pagination/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { NavLink } from \"../nav-link\";\n\nimport \"./pagination.scss\";\n\nexport type PaginationProps = {\n prev?: { title: string; pathname: string };\n next?: { title: string; pathname: string };\n translations?: {\n /** Previous */\n previous?: string;\n /** Next */\n next?: string;\n };\n};\n\nexport const Pagination: React.FC<PaginationProps> = async ({ prev, next, translations }) => {\n const { previous = \"Previous\", next: nextTranslation = \"Next\" } = translations || {};\n\n return (\n <div className=\"r-pagination\">\n {prev ? (\n <NavLink href={prev.pathname} className=\"r-pagination-item _prev\">\n <span className=\"r-pagination-icon _prev\">\n <svg\n width=\"24\"\n height=\"24\"\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=\"m15 18-6-6 6-6\" />\n </svg>\n </span>\n <span className=\"r-pagination-text\">\n <span>{previous}</span>\n <br />\n <span className=\"r-pagination-title\">{prev.title}</span>\n </span>\n </NavLink>\n ) : (\n <span />\n )}\n {next ? (\n <NavLink href={next.pathname} className=\"r-pagination-item _next\">\n <span className=\"r-pagination-icon _next\">\n <svg\n width=\"24\"\n height=\"24\"\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>\n <span className=\"r-pagination-text\">\n <span>{nextTranslation}</span>\n <br />\n <span className=\"r-pagination-title\">{next.title}</span>\n </span>\n </NavLink>\n ) : (\n <span />\n )}\n </div>\n );\n};\n"],"names":["Pagination","async","prev","next","translations","previous","nextTranslation","React","createElement","className","NavLink","href","pathname","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","title"],"mappings":"oEAiBO,MAAMA,EAAwCC,OAASC,OAAMC,OAAMC,mBACtE,MAAMC,SAAEA,EAAW,WAAYF,KAAMG,EAAkB,QAAWF,GAAgB,GAElF,OACIG,EAAAC,cAAA,MAAA,CAAKC,UAAU,gBACVP,EACGK,gBAACG,EAAO,CAACC,KAAMT,EAAKU,SAAUH,UAAU,2BACpCF,EAAMC,cAAA,OAAA,CAAAC,UAAU,2BACZF,EAAAC,cAAA,MAAA,CACIK,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OACLC,OAAO,eACPC,YAAY,IACZC,cAAc,QACdC,eAAe,SAEfb,EAAAC,cAAA,OAAA,CAAMa,EAAE,qBAGhBd,EAAMC,cAAA,OAAA,CAAAC,UAAU,qBACZF,EAAAC,cAAA,OAAA,KAAOH,GACPE,EAAMC,cAAA,KAAA,MACND,EAAAC,cAAA,OAAA,CAAMC,UAAU,sBAAsBP,EAAKoB,SAInDf,6BAEHJ,EACGI,gBAACG,EAAO,CAACC,KAAMR,EAAKS,SAAUH,UAAU,2BACpCF,EAAMC,cAAA,OAAA,CAAAC,UAAU,2BACZF,EAAAC,cAAA,MAAA,CACIK,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OACLC,OAAO,eACPC,YAAY,IACZC,cAAc,QACdC,eAAe,SAEfb,EAAAC,cAAA,OAAA,CAAMa,EAAE,oBAGhBd,EAAMC,cAAA,OAAA,CAAAC,UAAU,qBACZF,EAAAC,cAAA,OAAA,KAAOF,GACPC,EAAMC,cAAA,KAAA,MACND,EAAAC,cAAA,OAAA,CAAMC,UAAU,sBAAsBN,EAAKmB,SAInDf,6BAGV"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/pagination/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { NavLink } from \"../nav-link\";\n\nimport \"./pagination.scss\";\n\nexport type PaginationProps = {\n prev?: { title: string; pathname: string };\n next?: { title: string; pathname: string };\n translations?: {\n /** Previous */\n previous?: string;\n /** Next */\n next?: string;\n };\n};\n\nexport const Pagination: React.FC<PaginationProps> = async ({ prev, next, translations }) => {\n const { previous = \"Previous\", next: nextTranslation = \"Next\" } = translations || {};\n\n return (\n <div className=\"r-pagination\">\n {prev ? (\n <NavLink href={prev.pathname} className=\"r-pagination-item _prev\">\n <span className=\"r-pagination-icon _prev\">\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"r-pagination-svg\"\n >\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n </span>\n <span className=\"r-pagination-text\">\n <span>{previous}</span>\n <br />\n <span className=\"r-pagination-title\">{prev.title}</span>\n </span>\n </NavLink>\n ) : (\n <span />\n )}\n {next ? (\n <NavLink href={next.pathname} className=\"r-pagination-item _next\">\n <span className=\"r-pagination-icon _next\">\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"r-pagination-svg\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n </span>\n <span className=\"r-pagination-text\">\n <span>{nextTranslation}</span>\n <br />\n <span className=\"r-pagination-title\">{next.title}</span>\n </span>\n </NavLink>\n ) : (\n <span />\n )}\n </div>\n );\n};\n"],"names":["Pagination","async","prev","next","translations","previous","nextTranslation","React","createElement","className","NavLink","href","pathname","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","title"],"mappings":"oEAiBO,MAAMA,EAAwCC,OAASC,OAAMC,OAAMC,mBACtE,MAAMC,SAAEA,EAAW,WAAYF,KAAMG,EAAkB,QAAWF,GAAgB,CAAA,EAElF,OACIG,EAAAC,cAAA,MAAA,CAAKC,UAAU,gBACVP,EACGK,gBAACG,EAAO,CAACC,KAAMT,EAAKU,SAAUH,UAAU,2BACpCF,EAAAC,cAAA,OAAA,CAAMC,UAAU,2BACZF,EAAAC,cAAA,MAAA,CACIK,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OACLC,OAAO,eACPC,YAAY,IACZC,cAAc,QACdC,eAAe,QACfX,UAAU,oBAEVF,EAAAC,cAAA,OAAA,CAAMa,EAAE,qBAGhBd,EAAAC,cAAA,OAAA,CAAMC,UAAU,qBACZF,EAAAC,cAAA,OAAA,KAAOH,GACPE,EAAAC,cAAA,KAAA,MACAD,EAAAC,cAAA,OAAA,CAAMC,UAAU,sBAAsBP,EAAKoB,SAInDf,6BAEHJ,EACGI,gBAACG,EAAO,CAACC,KAAMR,EAAKS,SAAUH,UAAU,2BACpCF,EAAAC,cAAA,OAAA,CAAMC,UAAU,2BACZF,EAAAC,cAAA,MAAA,CACIK,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OACLC,OAAO,eACPC,YAAY,IACZC,cAAc,QACdC,eAAe,QACfX,UAAU,oBAEVF,EAAAC,cAAA,OAAA,CAAMa,EAAE,oBAGhBd,EAAAC,cAAA,OAAA,CAAMC,UAAU,qBACZF,EAAAC,cAAA,OAAA,KAAOF,GACPC,EAAAC,cAAA,KAAA,MACAD,EAAAC,cAAA,OAAA,CAAMC,UAAU,sBAAsBN,EAAKmB,SAInDf"}
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import e,{useRef as r,useEffect as t}from"react";import{SearchModal as n}from"./search-modal/index.js";import{useSystemType as o}from"../../../core/hooks/use-system-type.js";import{KbdContainer as a}from"../../ui/kbd/kbd-container/index.js";import{KbdKey as s}from"../../ui/kbd/kbd-key/index.js";import{useModal as l}from"../../ui/modal/use-modal.js";const c=({searcher:c,translations:m})=>{const{search:i="Search...",...d}=m||{},p=r(null),{opened:u,closeHandler:k,openHandler:y}=l(),h=o();t((()=>{const e=e=>{"k"===e.key.toLowerCase()&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}}),[]);return e.createElement(e.Fragment,null,e.createElement("button",{type:"button",className:"r-search-btn r-no-js",onClick:y,onKeyDown:e=>{1===e.key.length&&"Space"!==e.code&&y()}},e.createElement("span",{className:"r-search-title",ref:p},i),h&&e.createElement(a,{className:"r-search-kbd"},e.createElement(s,null,"apple"===h?"⌘":"CTRL"),e.createElement(s,null,"K"))),e.createElement(n,{open:u,translations:d,searcher:c,onClose:k,onInput:e=>{p.current&&(p.current.innerText=e||i)}}))};export{c as Search};
2
+ import e,{useRef as r,useEffect as t}from"react";import{SearchModal as n}from"./search-modal/index.js";import{useSystemType as o}from"../../../core/hooks/use-system-type.js";import{KbdContainer as a}from"../../ui/kbd/kbd-container/index.js";import{KbdKey as s}from"../../ui/kbd/kbd-key/index.js";import{useModal as l}from"../../ui/modal/use-modal.js";const c=({searcher:c,translations:m})=>{const{search:i="Search...",...d}=m||{},p=r(null),{opened:u,closeHandler:k,openHandler:y}=l(),h=o();t(()=>{const e=e=>{"k"===e.key.toLowerCase()&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[]);return e.createElement(e.Fragment,null,e.createElement("button",{type:"button",className:"r-search-btn r-no-js",onClick:y,onKeyDown:e=>{1===e.key.length&&"Space"!==e.code&&y()}},e.createElement("span",{className:"r-search-title",ref:p},i),h&&e.createElement(a,{className:"r-search-kbd"},e.createElement(s,null,"apple"===h?"⌘":"CTRL"),e.createElement(s,null,"K"))),e.createElement(n,{open:u,translations:d,searcher:c,onClose:k,onInput:e=>{p.current&&(p.current.innerText=e||i)}}))};export{c as Search};
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/search/index.tsx"],"sourcesContent":["\"use client\";\n\nimport \"./search.scss\";\n\nimport React, { useEffect, useRef } from \"react\";\n\nimport { SearchModal, type SearchModalProps } from \"./search-modal\";\nimport { useSystemType } from \"@src/core/hooks/use-system-type\";\nimport { KbdContainer, KbdKey } from \"@src/components/ui/kbd\";\nimport { useModal } from \"@src/components/ui/modal/use-modal\";\n\nexport interface SearchProps {\n searcher: SearchModalProps[\"searcher\"];\n translations?: {\n /** Search... */\n search?: string;\n } & SearchModalProps[\"translations\"];\n}\n\nexport const Search: React.FC<SearchProps> = ({ searcher, translations }) => {\n const { search = \"Search...\", ...modalTranslations } = translations || {};\n const titleRef = useRef<HTMLSpanElement>(null);\n const { opened, closeHandler, openHandler } = useModal();\n const system = useSystemType();\n\n const keyDownHandler = (e: React.KeyboardEvent<HTMLElement>) => {\n if (e.key.length === 1 && e.code !== \"Space\") {\n openHandler();\n }\n };\n\n useEffect(() => {\n const keyDown = (e: KeyboardEvent) => {\n if (e.key.toLowerCase() === \"k\" && (e.metaKey || e.ctrlKey)) {\n e.preventDefault();\n openHandler();\n }\n };\n window.addEventListener(\"keydown\", keyDown);\n\n return () => {\n window.removeEventListener(\"keydown\", keyDown);\n };\n }, []);\n\n const inputHandler = (text: string) => {\n if (titleRef.current) {\n titleRef.current.innerText = text || search;\n }\n };\n\n return (\n <>\n <button type=\"button\" className=\"r-search-btn r-no-js\" onClick={openHandler} onKeyDown={keyDownHandler}>\n <span className=\"r-search-title\" ref={titleRef}>\n {search}\n </span>\n {system && (\n <KbdContainer className=\"r-search-kbd\">\n <KbdKey>{system === \"apple\" ? \"⌘\" : \"CTRL\"}</KbdKey>\n <KbdKey>K</KbdKey>\n </KbdContainer>\n )}\n </button>\n <SearchModal\n open={opened}\n translations={modalTranslations}\n searcher={searcher}\n onClose={closeHandler}\n onInput={inputHandler}\n />\n </>\n );\n};\n"],"names":["Search","searcher","translations","search","modalTranslations","titleRef","useRef","opened","closeHandler","openHandler","useModal","system","useSystemType","useEffect","keyDown","e","key","toLowerCase","metaKey","ctrlKey","preventDefault","window","addEventListener","removeEventListener","React","createElement","Fragment","type","className","onClick","onKeyDown","length","code","ref","KbdContainer","KbdKey","SearchModal","open","onClose","onInput","text","current","innerText"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/search/index.tsx"],"sourcesContent":["\"use client\";\n\nimport \"./search.scss\";\n\nimport React, { useEffect, useRef } from \"react\";\n\nimport { SearchModal, type SearchModalProps } from \"./search-modal\";\nimport { useSystemType } from \"@src/core/hooks/use-system-type\";\nimport { KbdContainer, KbdKey } from \"@src/components/ui/kbd\";\nimport { useModal } from \"@src/components/ui/modal/use-modal\";\n\nexport interface SearchProps {\n searcher: SearchModalProps[\"searcher\"];\n translations?: {\n /** Search... */\n search?: string;\n } & SearchModalProps[\"translations\"];\n}\n\nexport const Search: React.FC<SearchProps> = ({ searcher, translations }) => {\n const { search = \"Search...\", ...modalTranslations } = translations || {};\n const titleRef = useRef<HTMLSpanElement>(null);\n const { opened, closeHandler, openHandler } = useModal();\n const system = useSystemType();\n\n const keyDownHandler = (e: React.KeyboardEvent<HTMLElement>) => {\n if (e.key.length === 1 && e.code !== \"Space\") {\n openHandler();\n }\n };\n\n useEffect(() => {\n const keyDown = (e: KeyboardEvent) => {\n if (e.key.toLowerCase() === \"k\" && (e.metaKey || e.ctrlKey)) {\n e.preventDefault();\n openHandler();\n }\n };\n window.addEventListener(\"keydown\", keyDown);\n\n return () => {\n window.removeEventListener(\"keydown\", keyDown);\n };\n }, []);\n\n const inputHandler = (text: string) => {\n if (titleRef.current) {\n titleRef.current.innerText = text || search;\n }\n };\n\n return (\n <>\n <button type=\"button\" className=\"r-search-btn r-no-js\" onClick={openHandler} onKeyDown={keyDownHandler}>\n <span className=\"r-search-title\" ref={titleRef}>\n {search}\n </span>\n {system && (\n <KbdContainer className=\"r-search-kbd\">\n <KbdKey>{system === \"apple\" ? \"⌘\" : \"CTRL\"}</KbdKey>\n <KbdKey>K</KbdKey>\n </KbdContainer>\n )}\n </button>\n <SearchModal\n open={opened}\n translations={modalTranslations}\n searcher={searcher}\n onClose={closeHandler}\n onInput={inputHandler}\n />\n </>\n );\n};\n"],"names":["Search","searcher","translations","search","modalTranslations","titleRef","useRef","opened","closeHandler","openHandler","useModal","system","useSystemType","useEffect","keyDown","e","key","toLowerCase","metaKey","ctrlKey","preventDefault","window","addEventListener","removeEventListener","React","createElement","Fragment","type","className","onClick","onKeyDown","length","code","ref","KbdContainer","KbdKey","SearchModal","open","onClose","onInput","text","current","innerText"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import e,{useRef as r,useState as t,useMemo as n,useEffect as a}from"react";import{createBaseSearcher as s}from"../../../../core/utils/create-base-searcher.js";import{NavLink as o}from"../../nav-link/index.js";import{useDebouncer as c}from"../../../../core/hooks/use-debouncer.js";import{KbdContainer as l}from"../../../ui/kbd/kbd-container/index.js";import{KbdKey as m}from"../../../ui/kbd/kbd-key/index.js";import{Modal as i}from"../../../ui/modal/index.js";const p=({translations:p,searcher:h,open:u,onClose:d,onInput:f})=>{const{typeSomething:k="Type something...",nothingFound:E="Nothing found"}=p||{},b=r(null),[g,N]=t(null),y=n((()=>"string"==typeof h?s(h):h),[h]),{handler:j}=c((async(e,r)=>{const t=r.target.value;f(t);let n=null;t&&(n=await y(t,e)),N(n)}));return a((()=>{u&&b.current?.focus()}),[u]),e.createElement(i,{open:u,onClose:d},e.createElement("div",{className:"r-search-popup-header"},e.createElement("input",{type:"text",name:"search",placeholder:k,className:"r-search-input",onChange:j,ref:b}),e.createElement(l,{className:"r-search-kbd r-search-popup-kbd",onClick:d},e.createElement(m,null,"ESC"))),g&&e.createElement("ul",{className:"r-search-results"},g.length>0?g.map((r=>e.createElement("li",{key:r.href},e.createElement(o,{href:r.href,onClick:d,className:"r-search-item"},e.createElement("p",{className:"r-search-item-title"},r.title),r.description&&e.createElement("p",{className:"r-search-item-desc"},r.description))))):e.createElement("p",null,E)))};export{p as SearchModal};
2
+ import e,{useRef as r,useState as t,useMemo as n,useEffect as a}from"react";import{createBaseSearcher as s}from"../../../../core/utils/create-base-searcher.js";import{NavLink as o}from"../../nav-link/index.js";import{useDebouncer as c}from"../../../../core/hooks/use-debouncer.js";import{KbdContainer as l}from"../../../ui/kbd/kbd-container/index.js";import{KbdKey as m}from"../../../ui/kbd/kbd-key/index.js";import{Modal as i}from"../../../ui/modal/index.js";const p=({translations:p,searcher:h,open:u,onClose:d,onInput:f})=>{const{typeSomething:k="Type something...",nothingFound:E="Nothing found"}=p||{},b=r(null),[g,N]=t(null),y=n(()=>"string"==typeof h?s(h):h,[h]),{handler:j}=c(async(e,r)=>{const t=r.target.value;f(t);let n=null;t&&(n=await y(t,e)),N(n)});return a(()=>{u&&b.current?.focus()},[u]),e.createElement(i,{open:u,onClose:d},e.createElement("div",{className:"r-search-popup-header"},e.createElement("input",{type:"text",name:"search",placeholder:k,className:"r-search-input",onChange:j,ref:b}),e.createElement(l,{className:"r-search-kbd r-search-popup-kbd",onClick:d},e.createElement(m,null,"ESC"))),g&&e.createElement("ul",{className:"r-search-results"},g.length>0?g.map(r=>e.createElement("li",{key:r.href},e.createElement(o,{href:r.href,onClick:d,className:"r-search-item"},e.createElement("p",{className:"r-search-item-title"},r.title),r.description&&e.createElement("p",{className:"r-search-item-desc"},r.description)))):e.createElement("p",null,E)))};export{p as SearchModal};
3
3
  //# sourceMappingURL=index.js.map