robindoc 3.6.4 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/lib/client.d.ts +6 -0
  2. package/lib/client.d.ts.map +1 -1
  3. package/lib/components/blocks/anchor-heading/index.d.ts +1 -2
  4. package/lib/components/blocks/anchor-heading/index.d.ts.map +1 -1
  5. package/lib/components/blocks/anchor-heading/index.js.map +1 -1
  6. package/lib/components/blocks/preferences-detector/index.d.ts +3 -0
  7. package/lib/components/blocks/preferences-detector/index.d.ts.map +1 -0
  8. package/lib/components/blocks/preferences-detector/index.js +3 -0
  9. package/lib/components/blocks/preferences-detector/index.js.map +1 -0
  10. package/lib/components/blocks/theme-switcher/index.js +1 -1
  11. package/lib/components/blocks/theme-switcher/index.js.map +1 -1
  12. package/lib/components/elements/article/document.d.ts +6 -10
  13. package/lib/components/elements/article/document.d.ts.map +1 -1
  14. package/lib/components/elements/article/document.js +1 -1
  15. package/lib/components/elements/article/document.js.map +1 -1
  16. package/lib/components/elements/article/index.d.ts +13 -13
  17. package/lib/components/elements/article/index.d.ts.map +1 -1
  18. package/lib/components/elements/article/index.js +1 -1
  19. package/lib/components/elements/article/index.js.map +1 -1
  20. package/lib/components/elements/article/tags.d.ts +30 -0
  21. package/lib/components/elements/article/tags.d.ts.map +1 -0
  22. package/lib/components/elements/article/tags.js +2 -0
  23. package/lib/components/elements/article/tags.js.map +1 -0
  24. package/lib/components/elements/blog-container/index.d.ts +6 -0
  25. package/lib/components/elements/blog-container/index.d.ts.map +1 -1
  26. package/lib/components/elements/blog-container/index.js.map +1 -1
  27. package/lib/components/elements/docs-container/index.d.ts +6 -0
  28. package/lib/components/elements/docs-container/index.d.ts.map +1 -1
  29. package/lib/components/elements/docs-container/index.js.map +1 -1
  30. package/lib/components/elements/footer/index.d.ts +5 -0
  31. package/lib/components/elements/footer/index.d.ts.map +1 -1
  32. package/lib/components/elements/footer/index.js.map +1 -1
  33. package/lib/components/elements/header/index.d.ts +6 -0
  34. package/lib/components/elements/header/index.d.ts.map +1 -1
  35. package/lib/components/elements/header/index.js.map +1 -1
  36. package/lib/components/elements/keylink-to-content/index.d.ts +6 -0
  37. package/lib/components/elements/keylink-to-content/index.d.ts.map +1 -1
  38. package/lib/components/elements/keylink-to-content/index.js.map +1 -1
  39. package/lib/components/elements/keylink-to-navigation/index.d.ts +6 -0
  40. package/lib/components/elements/keylink-to-navigation/index.d.ts.map +1 -1
  41. package/lib/components/elements/keylink-to-navigation/index.js.map +1 -1
  42. package/lib/components/elements/page-container/index.d.ts +6 -0
  43. package/lib/components/elements/page-container/index.d.ts.map +1 -1
  44. package/lib/components/elements/page-container/index.js.map +1 -1
  45. package/lib/components/elements/robin-provider/index.d.ts +16 -0
  46. package/lib/components/elements/robin-provider/index.d.ts.map +1 -1
  47. package/lib/components/elements/robin-provider/index.js +1 -1
  48. package/lib/components/elements/robin-provider/index.js.map +1 -1
  49. package/lib/components/elements/sidebar/index.d.ts +6 -0
  50. package/lib/components/elements/sidebar/index.d.ts.map +1 -1
  51. package/lib/components/elements/sidebar/index.js.map +1 -1
  52. package/lib/components/ui/block/index.d.ts +1 -2
  53. package/lib/components/ui/block/index.d.ts.map +1 -1
  54. package/lib/components/ui/block/index.js.map +1 -1
  55. package/lib/components/ui/blockquote/index.d.ts +1 -2
  56. package/lib/components/ui/blockquote/index.d.ts.map +1 -1
  57. package/lib/components/ui/blockquote/index.js.map +1 -1
  58. package/lib/components/ui/code-span/index.d.ts +1 -2
  59. package/lib/components/ui/code-span/index.d.ts.map +1 -1
  60. package/lib/components/ui/code-span/index.js +1 -1
  61. package/lib/components/ui/code-span/index.js.map +1 -1
  62. package/lib/components/ui/del/index.d.ts +1 -2
  63. package/lib/components/ui/del/index.d.ts.map +1 -1
  64. package/lib/components/ui/del/index.js.map +1 -1
  65. package/lib/components/ui/em/index.d.ts +1 -2
  66. package/lib/components/ui/em/index.d.ts.map +1 -1
  67. package/lib/components/ui/em/index.js.map +1 -1
  68. package/lib/components/ui/heading/index.d.ts +1 -2
  69. package/lib/components/ui/heading/index.d.ts.map +1 -1
  70. package/lib/components/ui/heading/index.js.map +1 -1
  71. package/lib/components/ui/hr/index.d.ts +1 -2
  72. package/lib/components/ui/hr/index.d.ts.map +1 -1
  73. package/lib/components/ui/hr/index.js.map +1 -1
  74. package/lib/components/ui/list/list-item/index.d.ts +1 -2
  75. package/lib/components/ui/list/list-item/index.d.ts.map +1 -1
  76. package/lib/components/ui/list/list-item/index.js.map +1 -1
  77. package/lib/components/ui/list/unordered-list/index.d.ts +1 -2
  78. package/lib/components/ui/list/unordered-list/index.d.ts.map +1 -1
  79. package/lib/components/ui/list/unordered-list/index.js.map +1 -1
  80. package/lib/components/ui/paragraph/index.d.ts +1 -2
  81. package/lib/components/ui/paragraph/index.d.ts.map +1 -1
  82. package/lib/components/ui/paragraph/index.js.map +1 -1
  83. package/lib/components/ui/strong/index.d.ts +1 -2
  84. package/lib/components/ui/strong/index.d.ts.map +1 -1
  85. package/lib/components/ui/strong/index.js.map +1 -1
  86. package/lib/components/ui/table/table/index.d.ts +1 -2
  87. package/lib/components/ui/table/table/index.d.ts.map +1 -1
  88. package/lib/components/ui/table/table/index.js.map +1 -1
  89. package/lib/components/ui/table/tbody/index.d.ts +1 -2
  90. package/lib/components/ui/table/tbody/index.d.ts.map +1 -1
  91. package/lib/components/ui/table/tbody/index.js.map +1 -1
  92. package/lib/components/ui/table/td/index.d.ts +2 -2
  93. package/lib/components/ui/table/td/index.d.ts.map +1 -1
  94. package/lib/components/ui/table/td/index.js +1 -1
  95. package/lib/components/ui/table/td/index.js.map +1 -1
  96. package/lib/components/ui/table/th/index.d.ts +2 -2
  97. package/lib/components/ui/table/th/index.d.ts.map +1 -1
  98. package/lib/components/ui/table/th/index.js +1 -1
  99. package/lib/components/ui/table/th/index.js.map +1 -1
  100. package/lib/components/ui/table/thead/index.d.ts +1 -2
  101. package/lib/components/ui/table/thead/index.d.ts.map +1 -1
  102. package/lib/components/ui/table/thead/index.js.map +1 -1
  103. package/lib/components/ui/table/tr/index.d.ts +1 -2
  104. package/lib/components/ui/table/tr/index.d.ts.map +1 -1
  105. package/lib/components/ui/table/tr/index.js.map +1 -1
  106. package/lib/components/ui/task-list/task-list-item/index.d.ts +1 -2
  107. package/lib/components/ui/task-list/task-list-item/index.d.ts.map +1 -1
  108. package/lib/components/ui/task-list/task-list-item/index.js.map +1 -1
  109. package/lib/components/ui/task-list/task-unordered-list/index.d.ts +1 -2
  110. package/lib/components/ui/task-list/task-unordered-list/index.d.ts.map +1 -1
  111. package/lib/components/ui/task-list/task-unordered-list/index.js.map +1 -1
  112. package/lib/core/helpers/tabs.d.ts +2 -0
  113. package/lib/core/helpers/tabs.d.ts.map +1 -0
  114. package/lib/core/helpers/tabs.js +2 -0
  115. package/lib/core/helpers/tabs.js.map +1 -0
  116. package/lib/core/helpers/theme.d.ts +2 -0
  117. package/lib/core/helpers/theme.d.ts.map +1 -0
  118. package/lib/core/helpers/theme.js +2 -0
  119. package/lib/core/helpers/theme.js.map +1 -0
  120. package/lib/core/types/initialize.d.ts +13 -0
  121. package/lib/core/types/initialize.d.ts.map +1 -1
  122. package/lib/core/utils/initialize-robindoc.d.ts +20 -0
  123. package/lib/core/utils/initialize-robindoc.d.ts.map +1 -1
  124. package/lib/core/utils/initialize-robindoc.js +1 -1
  125. package/lib/core/utils/initialize-robindoc.js.map +1 -1
  126. package/lib/styles.css +328 -304
  127. package/package.json +2 -3
  128. package/lib/components/blocks/theme-detector/index.d.ts +0 -3
  129. package/lib/components/blocks/theme-detector/index.d.ts.map +0 -1
  130. package/lib/components/blocks/theme-detector/index.js +0 -3
  131. package/lib/components/blocks/theme-detector/index.js.map +0 -1
package/lib/client.d.ts CHANGED
@@ -1,2 +1,8 @@
1
+ /**
2
+ * Navigation context for custom navigation implementations.
3
+ * Provides access to pathname hook and Link component.
4
+ *
5
+ * @see {@link https://robindoc.com/docs/customization/elements Elements customization}
6
+ */
1
7
  export { NavigationContext } from "./components/stores/navigation/contexts";
2
8
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import React from "react";
2
2
  import "./anchor-heading.scss";
3
- interface AnchorHeadingProps extends React.PropsWithChildren {
3
+ export interface AnchorHeadingProps extends React.PropsWithChildren {
4
4
  id: string;
5
5
  component: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
6
6
  }
7
7
  export declare const AnchorHeading: React.FC<AnchorHeadingProps>;
8
- export {};
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/anchor-heading/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,uBAAuB,CAAC;AAE/B,UAAU,kBAAmB,SAAQ,KAAK,CAAC,iBAAiB;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CACtD;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAStD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/anchor-heading/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,uBAAuB,CAAC;AAE/B,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,iBAAiB;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CACtD;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAStD,CAAC"}
@@ -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/stores/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":";4JAaO,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
+ {"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/stores/contents/use-heading-register\";\nimport { Heading } from \"@src/components/ui/heading\";\n\nimport \"./anchor-heading.scss\";\n\nexport interface 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":";4JAaO,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"}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare const PreferencesDetector: React.FC;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/preferences-detector/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAkCzC,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAwBvC,CAAC"}
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import s,{useEffect as t}from"react";import{getTheme as e}from"../../../core/helpers/theme.js";import{getTabs as r}from"../../../core/helpers/tabs.js";const a=(s,t)=>{const e=document.querySelector(".r-root");e&&!e.classList.contains("r-ready")&&(e.classList.forEach(s=>{(s.startsWith("r-theme-")||s.startsWith("r-tabs-global"))&&e.classList.remove(s)}),e.classList.add("r-ready"),s&&["light","dark"].includes(s)?e.classList.add(`r-theme-${s}`):(e.classList.add("r-theme-system"),window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?e.classList.add("r-theme-dark"):e.classList.add("r-theme-light")),t.forEach(s=>{const[t,r]=s.split("=");e.classList.add(`r-tabs-global__${t}`,`r-tabs-global__${t}_${r}`)}))},c=()=>(t(()=>{const s=document.querySelector(".r-root");if(s&&!s.classList.contains("r-ready"))return a(e(),r()),()=>{s.classList.forEach(t=>{(t.startsWith("r-theme-")||t.startsWith("r-tabs-global"))&&s.classList.remove(t)})}},[]),s.createElement("script",{id:"detect-preferences",dangerouslySetInnerHTML:{__html:`(${a})((${e})(), (${r})())`},async:!0}));export{c as PreferencesDetector};
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/preferences-detector/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect } from \"react\";\n\nimport { getTheme } from \"@src/core/helpers/theme\";\nimport { getTabs } from \"@src/core/helpers/tabs\";\n\nconst clientLogic = (theme: string, tabs: string[]) => {\n const root = document.querySelector(\".r-root\");\n\n if (!root || root.classList.contains(\"r-ready\")) return;\n\n root.classList.forEach((className) => {\n if (className.startsWith(`r-theme-`) || className.startsWith(`r-tabs-global`)) {\n root.classList.remove(className);\n }\n });\n\n root.classList.add(\"r-ready\");\n if (theme && [\"light\", \"dark\"].includes(theme)) {\n root.classList.add(`r-theme-${theme}`);\n } else {\n root.classList.add(`r-theme-system`);\n if (window.matchMedia && window.matchMedia(\"(prefers-color-scheme: dark)\").matches) {\n root.classList.add(\"r-theme-dark\");\n } else {\n root.classList.add(\"r-theme-light\");\n }\n }\n\n tabs.forEach((item) => {\n const [tabsKey, tab] = item.split(\"=\");\n root.classList.add(`r-tabs-global__${tabsKey}`, `r-tabs-global__${tabsKey}_${tab}`);\n });\n};\n\nexport const PreferencesDetector: React.FC = () => {\n useEffect(() => {\n const root = document.querySelector(\".r-root\");\n if (!root || root.classList.contains(\"r-ready\")) return;\n clientLogic(getTheme(), getTabs());\n\n return () => {\n root.classList.forEach((className) => {\n if (className.startsWith(\"r-theme-\") || className.startsWith(\"r-tabs-global\")) {\n root.classList.remove(className);\n }\n });\n };\n }, []);\n\n return (\n <script\n id=\"detect-preferences\"\n dangerouslySetInnerHTML={{\n __html: `(${clientLogic})((${getTheme})(), (${getTabs})())`,\n }}\n async\n />\n );\n};\n"],"names":["clientLogic","theme","tabs","root","document","querySelector","classList","contains","forEach","className","startsWith","remove","add","includes","window","matchMedia","matches","item","tabsKey","tab","split","PreferencesDetector","useEffect","getTheme","getTabs","React","createElement","id","dangerouslySetInnerHTML","__html","async"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import e from"react";const t=({translations:t})=>{const{dark:r="Dark Theme",system:o="System Theme",light:n="Light Theme"}=t||{},s=e=>{const t=document.querySelector(".r-root");t&&(localStorage.setItem("theme",e),t.classList.remove("r-theme-light","r-theme-dark","r-theme-system"),"system"===e?(t.classList.add("r-theme-system"),window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?t.classList.add("r-theme-dark"):t.classList.add("r-theme-light")):t.classList.add(`r-theme-${e}`))};return e.createElement("div",{className:"r-theme-switcher"},e.createElement("button",{className:"r-theme-switcher-btn r-theme-switcher-btn__dark r-no-js",type:"button",onClick:()=>s("dark"),title:r},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 20 20",className:"r-theme-switcher-svg"},e.createElement("path",{d:"M9.5 2C8.50544 2.99456 7.9467 4.34348 7.9467 5.75C7.9467 7.15652 8.50544 8.50544 9.5 9.5C10.4946 10.4946 11.8435 11.0533 13.25 11.0533C14.6565 11.0533 16.0054 10.4946 17 9.5C17 10.9834 16.5601 12.4334 15.736 13.6668C14.9119 14.9001 13.7406 15.8614 12.3701 16.4291C10.9997 16.9968 9.49168 17.1453 8.03683 16.8559C6.58197 16.5665 5.2456 15.8522 4.1967 14.8033C3.14781 13.7544 2.4335 12.418 2.14411 10.9632C1.85472 9.50832 2.00325 8.00032 2.57091 6.62987C3.13856 5.25943 4.09986 4.08809 5.33323 3.26398C6.5666 2.43987 8.01664 2 9.5 2Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}))),e.createElement("button",{className:"r-theme-switcher-btn r-theme-switcher-btn__system r-no-js",type:"button",onClick:()=>s("system"),title:o},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 20 20",className:"r-theme-switcher-svg"},e.createElement("path",{d:"M15.0003 6.66683V5.00016C15.0003 4.55814 14.8247 4.13421 14.5122 3.82165C14.1996 3.50909 13.7757 3.3335 13.3337 3.3335H3.33366C2.89163 3.3335 2.46771 3.50909 2.15515 3.82165C1.84259 4.13421 1.66699 4.55814 1.66699 5.00016V10.8335C1.66699 11.2755 1.84259 11.6994 2.15515 12.012C2.46771 12.3246 2.89163 12.5002 3.33366 12.5002H10.0003",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M8.33301 15.8332V12.5332V15.1582",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M5.83301 15.8335H9.99967",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M16.6663 10H14.9997C14.0792 10 13.333 10.7462 13.333 11.6667V16.6667C13.333 17.5871 14.0792 18.3333 14.9997 18.3333H16.6663C17.5868 18.3333 18.333 17.5871 18.333 16.6667V11.6667C18.333 10.7462 17.5868 10 16.6663 10Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}))),e.createElement("button",{className:"r-theme-switcher-btn r-theme-switcher-btn__light r-no-js",type:"button",onClick:()=>s("light"),title:n},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 20 20",className:"r-theme-switcher-svg"},e.createElement("path",{d:"M10.0003 13.3332C11.8413 13.3332 13.3337 11.8408 13.3337 9.99984C13.3337 8.15889 11.8413 6.6665 10.0003 6.6665C8.15938 6.6665 6.66699 8.15889 6.66699 9.99984C6.66699 11.8408 8.15938 13.3332 10.0003 13.3332Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M10 1.6665V3.33317",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M10 16.6665V18.3332",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M4.1084 4.1084L5.2834 5.2834",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M14.7168 14.7168L15.8918 15.8918",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M1.66699 10H3.33366",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M16.667 10H18.3337",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M5.2834 14.7168L4.1084 15.8918",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M15.8918 4.1084L14.7168 5.2834",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}))))};export{t as ThemeSwitcher};
2
+ import e from"react";const t=({translations:t})=>{const{dark:r="Dark Theme",system:o="System Theme",light:n="Light Theme"}=t||{},s=e=>{const t=document.querySelector(".r-root");t&&(localStorage.setItem("r-theme",e),t.classList.remove("r-theme-light","r-theme-dark","r-theme-system"),"system"===e?(t.classList.add("r-theme-system"),window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?t.classList.add("r-theme-dark"):t.classList.add("r-theme-light")):t.classList.add(`r-theme-${e}`))};return e.createElement("div",{className:"r-theme-switcher"},e.createElement("button",{className:"r-theme-switcher-btn r-theme-switcher-btn__dark r-no-js",type:"button",onClick:()=>s("dark"),title:r},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 20 20",className:"r-theme-switcher-svg"},e.createElement("path",{d:"M9.5 2C8.50544 2.99456 7.9467 4.34348 7.9467 5.75C7.9467 7.15652 8.50544 8.50544 9.5 9.5C10.4946 10.4946 11.8435 11.0533 13.25 11.0533C14.6565 11.0533 16.0054 10.4946 17 9.5C17 10.9834 16.5601 12.4334 15.736 13.6668C14.9119 14.9001 13.7406 15.8614 12.3701 16.4291C10.9997 16.9968 9.49168 17.1453 8.03683 16.8559C6.58197 16.5665 5.2456 15.8522 4.1967 14.8033C3.14781 13.7544 2.4335 12.418 2.14411 10.9632C1.85472 9.50832 2.00325 8.00032 2.57091 6.62987C3.13856 5.25943 4.09986 4.08809 5.33323 3.26398C6.5666 2.43987 8.01664 2 9.5 2Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}))),e.createElement("button",{className:"r-theme-switcher-btn r-theme-switcher-btn__system r-no-js",type:"button",onClick:()=>s("system"),title:o},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 20 20",className:"r-theme-switcher-svg"},e.createElement("path",{d:"M15.0003 6.66683V5.00016C15.0003 4.55814 14.8247 4.13421 14.5122 3.82165C14.1996 3.50909 13.7757 3.3335 13.3337 3.3335H3.33366C2.89163 3.3335 2.46771 3.50909 2.15515 3.82165C1.84259 4.13421 1.66699 4.55814 1.66699 5.00016V10.8335C1.66699 11.2755 1.84259 11.6994 2.15515 12.012C2.46771 12.3246 2.89163 12.5002 3.33366 12.5002H10.0003",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M8.33301 15.8332V12.5332V15.1582",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M5.83301 15.8335H9.99967",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M16.6663 10H14.9997C14.0792 10 13.333 10.7462 13.333 11.6667V16.6667C13.333 17.5871 14.0792 18.3333 14.9997 18.3333H16.6663C17.5868 18.3333 18.333 17.5871 18.333 16.6667V11.6667C18.333 10.7462 17.5868 10 16.6663 10Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}))),e.createElement("button",{className:"r-theme-switcher-btn r-theme-switcher-btn__light r-no-js",type:"button",onClick:()=>s("light"),title:n},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 20 20",className:"r-theme-switcher-svg"},e.createElement("path",{d:"M10.0003 13.3332C11.8413 13.3332 13.3337 11.8408 13.3337 9.99984C13.3337 8.15889 11.8413 6.6665 10.0003 6.6665C8.15938 6.6665 6.66699 8.15889 6.66699 9.99984C6.66699 11.8408 8.15938 13.3332 10.0003 13.3332Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M10 1.6665V3.33317",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M10 16.6665V18.3332",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M4.1084 4.1084L5.2834 5.2834",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M14.7168 14.7168L15.8918 15.8918",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M1.66699 10H3.33366",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M16.667 10H18.3337",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M5.2834 14.7168L4.1084 15.8918",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M15.8918 4.1084L14.7168 5.2834",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}))))};export{t as ThemeSwitcher};
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/theme-switcher/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\n\nimport \"./theme-switcher.scss\";\n\nexport type ThemeSwitcherProps = {\n translations?: {\n /** Dark Theme */\n dark?: string;\n /** System Theme */\n system?: string;\n /** Light Theme */\n light?: string;\n };\n};\n\nexport const ThemeSwitcher: React.FC<ThemeSwitcherProps> = ({ translations }) => {\n const { dark = \"Dark Theme\", system = \"System Theme\", light = \"Light Theme\" } = translations || {};\n const changeTheme = (theme: string) => {\n const root = document.querySelector(\".r-root\");\n\n if (!root) return;\n\n localStorage.setItem(\"theme\", theme);\n root.classList.remove(\"r-theme-light\", \"r-theme-dark\", \"r-theme-system\");\n if (theme === \"system\") {\n root.classList.add(`r-theme-system`);\n if (window.matchMedia && window.matchMedia(\"(prefers-color-scheme: dark)\").matches) {\n root.classList.add(\"r-theme-dark\");\n } else {\n root.classList.add(\"r-theme-light\");\n }\n } else {\n root.classList.add(`r-theme-${theme}`);\n }\n };\n\n return (\n <div className=\"r-theme-switcher\">\n <button\n className=\"r-theme-switcher-btn r-theme-switcher-btn__dark r-no-js\"\n type=\"button\"\n onClick={() => changeTheme(\"dark\")}\n title={dark}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" className=\"r-theme-switcher-svg\">\n <path\n d=\"M9.5 2C8.50544 2.99456 7.9467 4.34348 7.9467 5.75C7.9467 7.15652 8.50544 8.50544 9.5 9.5C10.4946 10.4946 11.8435 11.0533 13.25 11.0533C14.6565 11.0533 16.0054 10.4946 17 9.5C17 10.9834 16.5601 12.4334 15.736 13.6668C14.9119 14.9001 13.7406 15.8614 12.3701 16.4291C10.9997 16.9968 9.49168 17.1453 8.03683 16.8559C6.58197 16.5665 5.2456 15.8522 4.1967 14.8033C3.14781 13.7544 2.4335 12.418 2.14411 10.9632C1.85472 9.50832 2.00325 8.00032 2.57091 6.62987C3.13856 5.25943 4.09986 4.08809 5.33323 3.26398C6.5666 2.43987 8.01664 2 9.5 2Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n <button\n className=\"r-theme-switcher-btn r-theme-switcher-btn__system r-no-js\"\n type=\"button\"\n onClick={() => changeTheme(\"system\")}\n title={system}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" className=\"r-theme-switcher-svg\">\n <path\n d=\"M15.0003 6.66683V5.00016C15.0003 4.55814 14.8247 4.13421 14.5122 3.82165C14.1996 3.50909 13.7757 3.3335 13.3337 3.3335H3.33366C2.89163 3.3335 2.46771 3.50909 2.15515 3.82165C1.84259 4.13421 1.66699 4.55814 1.66699 5.00016V10.8335C1.66699 11.2755 1.84259 11.6994 2.15515 12.012C2.46771 12.3246 2.89163 12.5002 3.33366 12.5002H10.0003\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M8.33301 15.8332V12.5332V15.1582\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M5.83301 15.8335H9.99967\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.6663 10H14.9997C14.0792 10 13.333 10.7462 13.333 11.6667V16.6667C13.333 17.5871 14.0792 18.3333 14.9997 18.3333H16.6663C17.5868 18.3333 18.333 17.5871 18.333 16.6667V11.6667C18.333 10.7462 17.5868 10 16.6663 10Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n <button\n className=\"r-theme-switcher-btn r-theme-switcher-btn__light r-no-js\"\n type=\"button\"\n onClick={() => changeTheme(\"light\")}\n title={light}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" className=\"r-theme-switcher-svg\">\n <path\n d=\"M10.0003 13.3332C11.8413 13.3332 13.3337 11.8408 13.3337 9.99984C13.3337 8.15889 11.8413 6.6665 10.0003 6.6665C8.15938 6.6665 6.66699 8.15889 6.66699 9.99984C6.66699 11.8408 8.15938 13.3332 10.0003 13.3332Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path d=\"M10 1.6665V3.33317\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M10 16.6665V18.3332\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path\n d=\"M4.1084 4.1084L5.2834 5.2834\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M14.7168 14.7168L15.8918 15.8918\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path d=\"M1.66699 10H3.33366\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M16.667 10H18.3337\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path\n d=\"M5.2834 14.7168L4.1084 15.8918\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M15.8918 4.1084L14.7168 5.2834\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n );\n};\n"],"names":["ThemeSwitcher","translations","dark","system","light","changeTheme","theme","root","document","querySelector","localStorage","setItem","classList","remove","add","window","matchMedia","matches","React","createElement","className","type","onClick","title","width","height","viewBox","d","stroke","strokeLinecap","strokeLinejoin"],"mappings":";2BAiBaA,CAAAA,CAA8C,CAAA,CAAGC,mBAC1D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAYC,OAAEA,CAAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,CAAAA,CAAQ,eAAkBH,CAAAA,CAAAA,CAAgB,CAAA,CAAA,CAC1FI,CAAAA,CAAeC,IACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,CAAAA,CAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,WAE/BF,CAAAA,CAAAA,CAAAA,CAELG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAaC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASL,GAC9BC,CAAAA,CAAKK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,eAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAVP,CAAAA,CAAAA,CACAC,CAAAA,CAAKK,UAAUE,CAAAA,CAAAA,CAAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACfC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcD,OAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,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,CAAgCC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACvEV,CAAAA,CAAKK,UAAUE,CAAAA,CAAAA,CAAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEnBP,CAAAA,CAAKK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGvBP,CAAAA,CAAKK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUE,CAAAA,CAAAA,CAAAA,CAAI,WAAWR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAItC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIY,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,MAAA,CAAKC,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,CACXF,CAAAA,CAAAC,cAAA,CAAA,CAAA,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,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,CAAA,CAAA,CACVC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACLC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,CAAA,CAAA,CAAMjB,CAAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC3BkB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOrB,CAAAA,CAAAA,CAEPgB,CAAAA,CAAAC,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAKK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAKC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAKC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAYN,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,wBACtDF,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIQ,EAAE,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,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,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,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,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,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,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,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,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,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,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,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,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,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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A,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,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,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,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,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,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,CAAA,CAAA,CACFC,OAAO,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,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,UAEnBZ,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIQ,EAAE,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,CACFC,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,CAAAA,CAAAA,CAAc,QACdC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEnBZ,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIQ,CAAAA,CAAE,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,CACFC,OAAO,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,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,UAEnBZ,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIQ,EAAE,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,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,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,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,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,CAAA,CAAA,CAAA,CAAA,CA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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/theme-switcher/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\n\nimport \"./theme-switcher.scss\";\n\nexport type ThemeSwitcherProps = {\n translations?: {\n /** Dark Theme */\n dark?: string;\n /** System Theme */\n system?: string;\n /** Light Theme */\n light?: string;\n };\n};\n\nexport const ThemeSwitcher: React.FC<ThemeSwitcherProps> = ({ translations }) => {\n const { dark = \"Dark Theme\", system = \"System Theme\", light = \"Light Theme\" } = translations || {};\n const changeTheme = (theme: string) => {\n const root = document.querySelector(\".r-root\");\n\n if (!root) return;\n\n localStorage.setItem(\"r-theme\", theme);\n root.classList.remove(\"r-theme-light\", \"r-theme-dark\", \"r-theme-system\");\n if (theme === \"system\") {\n root.classList.add(`r-theme-system`);\n if (window.matchMedia && window.matchMedia(\"(prefers-color-scheme: dark)\").matches) {\n root.classList.add(\"r-theme-dark\");\n } else {\n root.classList.add(\"r-theme-light\");\n }\n } else {\n root.classList.add(`r-theme-${theme}`);\n }\n };\n\n return (\n <div className=\"r-theme-switcher\">\n <button\n className=\"r-theme-switcher-btn r-theme-switcher-btn__dark r-no-js\"\n type=\"button\"\n onClick={() => changeTheme(\"dark\")}\n title={dark}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" className=\"r-theme-switcher-svg\">\n <path\n d=\"M9.5 2C8.50544 2.99456 7.9467 4.34348 7.9467 5.75C7.9467 7.15652 8.50544 8.50544 9.5 9.5C10.4946 10.4946 11.8435 11.0533 13.25 11.0533C14.6565 11.0533 16.0054 10.4946 17 9.5C17 10.9834 16.5601 12.4334 15.736 13.6668C14.9119 14.9001 13.7406 15.8614 12.3701 16.4291C10.9997 16.9968 9.49168 17.1453 8.03683 16.8559C6.58197 16.5665 5.2456 15.8522 4.1967 14.8033C3.14781 13.7544 2.4335 12.418 2.14411 10.9632C1.85472 9.50832 2.00325 8.00032 2.57091 6.62987C3.13856 5.25943 4.09986 4.08809 5.33323 3.26398C6.5666 2.43987 8.01664 2 9.5 2Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n <button\n className=\"r-theme-switcher-btn r-theme-switcher-btn__system r-no-js\"\n type=\"button\"\n onClick={() => changeTheme(\"system\")}\n title={system}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" className=\"r-theme-switcher-svg\">\n <path\n d=\"M15.0003 6.66683V5.00016C15.0003 4.55814 14.8247 4.13421 14.5122 3.82165C14.1996 3.50909 13.7757 3.3335 13.3337 3.3335H3.33366C2.89163 3.3335 2.46771 3.50909 2.15515 3.82165C1.84259 4.13421 1.66699 4.55814 1.66699 5.00016V10.8335C1.66699 11.2755 1.84259 11.6994 2.15515 12.012C2.46771 12.3246 2.89163 12.5002 3.33366 12.5002H10.0003\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M8.33301 15.8332V12.5332V15.1582\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M5.83301 15.8335H9.99967\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.6663 10H14.9997C14.0792 10 13.333 10.7462 13.333 11.6667V16.6667C13.333 17.5871 14.0792 18.3333 14.9997 18.3333H16.6663C17.5868 18.3333 18.333 17.5871 18.333 16.6667V11.6667C18.333 10.7462 17.5868 10 16.6663 10Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n <button\n className=\"r-theme-switcher-btn r-theme-switcher-btn__light r-no-js\"\n type=\"button\"\n onClick={() => changeTheme(\"light\")}\n title={light}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" className=\"r-theme-switcher-svg\">\n <path\n d=\"M10.0003 13.3332C11.8413 13.3332 13.3337 11.8408 13.3337 9.99984C13.3337 8.15889 11.8413 6.6665 10.0003 6.6665C8.15938 6.6665 6.66699 8.15889 6.66699 9.99984C6.66699 11.8408 8.15938 13.3332 10.0003 13.3332Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path d=\"M10 1.6665V3.33317\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M10 16.6665V18.3332\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path\n d=\"M4.1084 4.1084L5.2834 5.2834\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M14.7168 14.7168L15.8918 15.8918\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path d=\"M1.66699 10H3.33366\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M16.667 10H18.3337\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path\n d=\"M5.2834 14.7168L4.1084 15.8918\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M15.8918 4.1084L14.7168 5.2834\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n );\n};\n"],"names":["ThemeSwitcher","translations","dark","system","light","changeTheme","theme","root","document","querySelector","localStorage","setItem","classList","remove","add","window","matchMedia","matches","React","createElement","className","type","onClick","title","width","height","viewBox","d","stroke","strokeLinecap","strokeLinejoin"],"mappings":";2BAiBaA,CAAAA,CAA8C,CAAA,CAAGC,mBAC1D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAYC,OAAEA,CAAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,CAAAA,CAAQ,eAAkBH,CAAAA,CAAAA,CAAgB,CAAA,CAAA,CAC1FI,CAAAA,CAAeC,IACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,CAAAA,CAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,WAE/BF,CAAAA,CAAAA,CAAAA,CAELG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAaC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAWL,GAChCC,CAAAA,CAAKK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,eAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAVP,CAAAA,CAAAA,CACAC,CAAAA,CAAKK,UAAUE,CAAAA,CAAAA,CAAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACfC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcD,OAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,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,CAAgCC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACvEV,CAAAA,CAAKK,UAAUE,CAAAA,CAAAA,CAAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEnBP,CAAAA,CAAKK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGvBP,CAAAA,CAAKK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUE,CAAAA,CAAAA,CAAAA,CAAI,WAAWR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAItC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIY,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,MAAA,CAAKC,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,CACXF,CAAAA,CAAAC,cAAA,CAAA,CAAA,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,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,CAAA,CAAA,CACVC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACLC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,CAAA,CAAA,CAAMjB,CAAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC3BkB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOrB,CAAAA,CAAAA,CAEPgB,CAAAA,CAAAC,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAKK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAKC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAKC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAYN,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,wBACtDF,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIQ,EAAE,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,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,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,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,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,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,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,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,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,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,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,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,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,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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A,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,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,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,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,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,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,CAAA,CAAA,CAAA,CAAA,CACFC,OAAO,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,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,UAEnBZ,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIQ,EAAE,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,CACFC,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,CAAAA,CAAAA,CAAc,QACdC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEnBZ,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIQ,CAAAA,CAAE,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,CACFC,OAAO,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,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,UAEnBZ,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIQ,EAAE,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,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,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,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,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,CAAA,CAAA,CA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"}
@@ -1,15 +1,11 @@
1
- import { type BaseProvider } from "../../../core/providers/base";
2
- import { type Components } from "../../../core/types/content";
3
1
  import { type TokensList } from "marked";
4
2
  import React from "react";
3
+ import { type BaseProvider } from "../../../core/providers/base";
4
+ import { type Components } from "../../../core/types/content";
5
5
  import { type PagesType } from "./types";
6
6
  import { type AnchorData } from "./utils";
7
- interface DocumentJSXProps extends Omit<ContentProps, "tokens" | "headings"> {
8
- raw: string;
9
- pages?: PagesType;
10
- }
11
- export declare const DocumentJSX: React.FC<DocumentJSXProps>;
12
- export type ContentProps = {
7
+ import { DEFAULT_TAGS } from "./tags";
8
+ export type DocumentProps = {
13
9
  pathname: string;
14
10
  components?: Components;
15
11
  config?: {
@@ -21,7 +17,7 @@ export type ContentProps = {
21
17
  headings: AnchorData[];
22
18
  subtree?: boolean;
23
19
  pages?: PagesType;
20
+ tags?: Partial<typeof DEFAULT_TAGS>;
24
21
  };
25
- export declare const Document: React.FC<ContentProps>;
26
- export {};
22
+ export declare const Document: React.FC<DocumentProps>;
27
23
  //# sourceMappingURL=document.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/article/document.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,YAAY,EAAE,qCAAiC;AAC7D,OAAO,EAAE,KAAK,UAAU,EAAmB,oCAAgC;AAE3E,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAQH,KAAK,UAAU,EAClB,MAAM,SAAS,CAAC;AAEjB,UAAU,gBAAiB,SAAQ,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,UAAU,CAAC;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA4ClD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE;QACL,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA2T3C,CAAC"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/article/document.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAElE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,KAAK,YAAY,EAAE,qCAAiC;AAC7D,OAAO,EAAE,KAAK,UAAU,EAAmB,oCAAgC;AAE3E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAQH,KAAK,UAAU,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AA+DtC,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE;QACL,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAmU5C,CAAC"}
@@ -1,2 +1,2 @@
1
- import{AnchorHeading as e}from"../../blocks/anchor-heading/index.js";import{CodeSection as t}from"../../blocks/code-section/index.js";import{NavContentLink as n}from"../../blocks/nav-content-link/index.js";import{Block as r}from"../../ui/block/index.js";import{Blockquote as o}from"../../ui/blockquote/index.js";import{CodeBlock as a}from"../../ui/code-block/index.js";import{CodeSpan as s}from"../../ui/code-span/index.js";import{Del as i}from"../../ui/del/index.js";import{Em as l}from"../../ui/em/index.js";import{Heading as m}from"../../ui/heading/index.js";import{Hr as c}from"../../ui/hr/index.js";import{Img as u}from"../../ui/img/index.js";import{ListItem as p}from"../../ui/list/list-item/index.js";import{OrderedList as d}from"../../ui/list/ordered-list/index.js";import{UnorderedList as k}from"../../ui/list/unordered-list/index.js";import{Paragraph as f}from"../../ui/paragraph/index.js";import{Strong as E}from"../../ui/strong/index.js";import{Table as h}from"../../ui/table/table/index.js";import{Tbody as x}from"../../ui/table/tbody/index.js";import{Td as y}from"../../ui/table/td/index.js";import{Th as b}from"../../ui/table/th/index.js";import{Thead as w}from"../../ui/table/thead/index.js";import{Tr as g}from"../../ui/table/tr/index.js";import{Tabs as j}from"../../ui/tabs/index.js";import{TaskListItem as $}from"../../ui/task-list/task-list-item/index.js";import{TaskOrderedList as v}from"../../ui/task-list/task-ordered-list/index.js";import{TaskUnorderedList as A}from"../../ui/task-list/task-unordered-list/index.js";import N,{Text as T,domToReact as C,attributesToProps as U}from"html-react-parser";import D from"react";import{isNewCodeToken as F,validateComponentName as P,parseCodeLang as S,formatId as W,parseBlockqoute as q,formatLinkHref as z,parseMarkdown as I}from"./utils.js";const K=({raw:e,components:t,...r})=>{const o={replace(e){if(e instanceof T&&e.data){const{headings:n,tokens:o}=I(e.data);return D.createElement(O,{headings:n,tokens:o,components:t,subtree:!0,...r})}if(!("name"in e))return D.createElement(D.Fragment,null);if("a"===e.name&&"attribs"in e){const{href:t,external:a}=z(e.attribs.href,r.pathname,r.pages);return""===t?C(e.children,o):D.createElement(n,{...U(e.attribs),href:t,external:a},C(e.children,o))}if(!P(e.name))return e;if(!t||!(e.name in t))return console.warn(`Unknown component: "${e.name}"`),D.createElement(D.Fragment,null);const a="attribs"in e?U(e.attribs):{},s=t[e.name],i="children"in e?e.children:null;return D.createElement(s,{...a},i?C(i,o):null)},htmlparser2:{lowerCaseTags:!1,lowerCaseAttributeNames:!1}};return N(e,o)},O=({pathname:N,components:T,uri:C,targetProvider:U,tokens:I,headings:O,config:R={},subtree:Z,pages:B})=>{const{publicDirs:G}=R;let H=null,J={};const L=[],M=({token:I})=>{if(!I)return null;if(F(I,J)){const e=J;J={};const t=Object.keys(e).sort().join("-"),n=L.includes(t);return n||L.push(t),D.createElement(D.Fragment,null,D.createElement(j,{type:"code",tabsData:e,insertStyles:!n,blockKey:t}),D.createElement(M,{token:I}))}if(H){if(Array.isArray(I)||"html"!==I.type||"\x3c!---/robin--\x3e"!==I.raw.trim())return"dummy"===H.type||(Array.isArray(I)?H.childTokens.push(...I):H.childTokens.push(I)),null;{if("dummy"===H.type)return H=null,null;const{componentName:e,childTokens:t,props:n}=H,r=T[e];return H=null,D.createElement(r,{...n},D.createElement(M,{token:t}))}}if(Array.isArray(I))return I.map((e,t)=>D.createElement(M,{token:e,key:e.raw+t}));switch(I.type){case"heading":const j=`h${I.depth}`,F=O.find(e=>e.token===I);return F?.id?D.createElement(e,{component:j,id:F.id},I.tokens?D.createElement(M,{token:I.tokens}):I.raw):D.createElement(m,{component:j,id:1===I.depth?"main-content":void 0},I.tokens?D.createElement(M,{token:I.tokens}):I.raw);case"table":return D.createElement(r,null,D.createElement(h,null,D.createElement(w,null,D.createElement(g,null,I.header.map((e,t)=>D.createElement(b,{key:e.text+t},e.tokens?D.createElement(M,{token:e.tokens}):e.text)))),D.createElement(x,null,I.rows.map((e,t)=>D.createElement(g,{key:t},e.map((e,t)=>D.createElement(y,{key:e.text+t},e.tokens?D.createElement(M,{token:e.tokens}):e.text)))))));case"link":const{href:L,external:Q}=z(I.href,N,B);return""===L?I.tokens?D.createElement(M,{token:I.tokens}):I.raw:D.createElement(n,{href:L,external:Q},I.tokens?D.createElement(M,{token:I.tokens}):I.raw);case"space":case"def":case"br":return null;case"hr":return D.createElement(c,null);case"image":return D.createElement(u,{src:I.href,publicDirs:G,provider:U,uri:C,alt:I.title||""});case"paragraph":return Z?I.tokens?D.createElement(M,{token:I.tokens}):I.raw:I.tokens?.some(e=>"html"===e.type)&&I.tokens?.every(e=>"html"===e.type||"text"===e.type||"\n"===e.raw)?D.createElement(M,{token:{...I,type:"html"}}):D.createElement(f,null,I.tokens?D.createElement(M,{token:I.tokens}):I.raw);case"strong":return D.createElement(E,null,I.tokens?D.createElement(M,{token:I.tokens}):I.raw);case"del":return D.createElement(i,null,I.tokens?D.createElement(M,{token:I.tokens}):I.raw);case"em":return D.createElement(l,null,I.tokens?D.createElement(M,{token:I.tokens}):I.raw);case"blockquote":const{token:V,type:X}=q(I);return D.createElement(o,{type:X},V.tokens?D.createElement(M,{token:V.tokens}):V.raw);case"codespan":const Y=I.raw.replace(/^`|`$/g,""),_=Y.match(/(.+){:([a-zA-Z]+)}$/);if(_){const[,e,t]=_;return D.createElement(a,{code:e,lang:t,inline:!0})}return D.createElement(s,{code:Y});case"code":const{lang:ee,configuration:te}=S(I.lang);if(te.switcher&&ee){const e="string"==typeof te.tab?W(te.tab):ee;if(J[e]={tabName:(te.tab||ee).toString(),element:D.createElement(t,{lang:ee,code:I.text,...te})},"string"==typeof te.clone){te.clone.split(",").forEach(e=>{const[n,r,o]=e.split("|"),a="string"==typeof r?W(r):n;J[a]={tabName:(r||n).toString(),element:D.createElement(t,{lang:n,code:I.text,...te,filename:o||te.filename})}})}return null}return D.createElement(t,{lang:ee,code:I.text,...te});case"escape":return I.text;case"list":if(I.items.every(e=>e.task)){const e=I.ordered?v:A;return D.createElement(e,{start:I.start},I.items.map((e,t)=>D.createElement($,{key:e.raw+t,defaultChecked:e.checked},e.tokens?D.createElement(M,{token:e.tokens}):e.raw)))}const ne=I.ordered?d:k;return D.createElement(ne,{start:I.start},I.items.map((e,t)=>D.createElement(p,{key:e.raw+t},e.tokens?D.createElement(M,{token:e.tokens}):e.raw)));case"html":const re=I.raw.trim();if(re.startsWith("\x3c!---robin")&&re.endsWith("--\x3e")){const e=re.endsWith("/--\x3e"),t=re.match(/<!---robin ([\w]+)/)?.[1];if(!t)return e||(H={type:"dummy"}),null;if(!P(t))return console.warn(`"${t}" is using incorrect casing. Use PascalCase for Robin components`),e||(H={type:"dummy"}),null;if(!T||!(t in T))return console.warn(`Unknown component: "${t}"`),e||(H={type:"dummy"}),null;const n=re.split(/\r?\n/).slice(1,-1).reduce((e,t)=>{const[n,r,o]=t.match(/^([\w]+)(?:="(.+)")?$/)||[];return n?(e[r]=o??!0,e):(console.warn(`Invalid component attribute: "${t}"`),e)},{});if(e){const e=T[t];return D.createElement(e,{...n})}return H={props:n,componentName:t,childTokens:[],type:"base"},null}return D.createElement(K,{raw:I.raw,components:T,config:R,targetProvider:U,pathname:N,uri:C,pages:B});case"text":return"tokens"in I?D.createElement(M,{token:I.tokens||[]}):I.raw;default:return!I.type&&"raw"in I?I.raw:(console.warn(`Unknown token ${I.type}`,I),null)}};return I.push({type:"text",raw:""}),D.createElement(M,{token:I})};export{O as Document,K as DocumentJSX};
1
+ import e from"react";import t,{Text as n,domToReact as r,attributesToProps as a}from"html-react-parser";import{isNewCodeToken as o,validateComponentName as l,parseCodeLang as s,formatId as c,parseBlockqoute as m,formatLinkHref as i,parseMarkdown as u}from"./utils.js";import{DEFAULT_TAGS as k}from"./tags.js";const p=({raw:o,components:s,tags:c,...m})=>{const k={replace(t){if(t instanceof n&&t.data){const{headings:n,tokens:r}=u(t.data);return e.createElement(d,{headings:n,tokens:r,components:s,tags:c,subtree:!0,...m})}if(!("name"in t))return e.createElement(e.Fragment,null);if("a"===t.name&&"attribs"in t){const{href:n,external:o}=i(t.attribs.href,m.pathname,m.pages);return""===n?r(t.children,k):e.createElement(c.ContentLink,{...a(t.attribs),href:n,external:o},r(t.children,k))}if(!l(t.name))return t;if(!s||!(t.name in s))return console.warn(`Unknown component: "${t.name}"`),e.createElement(e.Fragment,null);const o="attribs"in t?a(t.attribs):{},p=s[t.name],E="children"in t?t.children:null;return e.createElement(p,{...o},E?r(E,k):null)},htmlparser2:{lowerCaseTags:!1,lowerCaseAttributeNames:!1}};return t(o,k)},d=({pathname:t,components:n,tags:r={},uri:a,targetProvider:u,tokens:d,headings:E,config:h={},subtree:g,pages:f})=>{const{publicDirs:y}=h,w={...k,...r};let b=null,x={};const T=[],C=({token:r})=>{if(!r)return null;if(o(r,x)){const t=x;x={};const n=Object.keys(t).sort().join("-"),a=T.includes(n);return a||T.push(n),e.createElement(e.Fragment,null,e.createElement(w.Tabs,{type:"code",tabsData:t,insertStyles:!a,blockKey:n}),e.createElement(C,{token:r}))}if(b){if(Array.isArray(r)||"html"!==r.type||"\x3c!---/robin--\x3e"!==r.raw.trim())return"dummy"===b.type||(Array.isArray(r)?b.childTokens.push(...r):b.childTokens.push(r)),null;{if("dummy"===b.type)return b=null,null;const{componentName:t,childTokens:r,props:a}=b,o=n[t];return b=null,e.createElement(o,{...a},e.createElement(C,{token:r}))}}if(Array.isArray(r))return r.map((t,n)=>e.createElement(C,{token:t,key:t.raw+n}));switch(r.type){case"heading":const o=`h${r.depth}`,k=E.find(e=>e.token===r);return k?.id?e.createElement(w.AnchorHeading,{component:o,id:k.id},r.tokens?e.createElement(C,{token:r.tokens}):r.raw):e.createElement(w.Heading,{component:o,id:1===r.depth?"main-content":void 0},r.tokens?e.createElement(C,{token:r.tokens}):r.raw);case"table":return e.createElement(w.Block,null,e.createElement(w.Table,null,e.createElement(w.Thead,null,e.createElement(w.Tr,null,r.header.map((t,n)=>e.createElement(w.Th,{key:t.text+n,align:t.align},t.tokens?e.createElement(C,{token:t.tokens}):t.text)))),e.createElement(w.Tbody,null,r.rows.map((t,n)=>e.createElement(w.Tr,{key:n},t.map((t,n)=>e.createElement(w.Td,{key:t.text+n,align:t.align},t.tokens?e.createElement(C,{token:t.tokens}):t.text)))))));case"link":const{href:d,external:T}=i(r.href,t,f);return""===d?r.tokens?e.createElement(C,{token:r.tokens}):r.raw:e.createElement(w.ContentLink,{href:d,external:T},r.tokens?e.createElement(C,{token:r.tokens}):r.raw);case"hr":return e.createElement(w.Hr,null);case"image":return e.createElement(w.Img,{src:r.href,publicDirs:y,provider:u,uri:a,alt:r.title||""});case"paragraph":return g?r.tokens?e.createElement(C,{token:r.tokens}):r.raw:r.tokens?.some(e=>"html"===e.type)&&r.tokens?.every(e=>"html"===e.type||"text"===e.type||"\n"===e.raw)?e.createElement(C,{token:{...r,type:"html"}}):e.createElement(w.Paragraph,null,r.tokens?e.createElement(C,{token:r.tokens}):r.raw);case"strong":return e.createElement(w.Strong,null,r.tokens?e.createElement(C,{token:r.tokens}):r.raw);case"del":return e.createElement(w.Del,null,r.tokens?e.createElement(C,{token:r.tokens}):r.raw);case"em":return e.createElement(w.Em,null,r.tokens?e.createElement(C,{token:r.tokens}):r.raw);case"blockquote":const{token:A,type:$}=m(r);return e.createElement(w.Blockquote,{type:$},A.tokens?e.createElement(C,{token:A.tokens}):A.raw);case"codespan":const L=r.raw.replace(/^`|`$/g,""),S=L.match(/(.+){:([a-zA-Z]+)}$/);if(S){const[,t,n]=S;return e.createElement(w.CodeBlock,{code:t,lang:n,inline:!0})}return e.createElement(w.CodeSpan,{code:L});case"code":const{lang:v,configuration:U}=s(r.lang);if(U.switcher&&v){const t="string"==typeof U.tab?c(U.tab):v;if(x[t]={tabName:(U.tab||v).toString(),element:e.createElement(w.CodeSection,{lang:v,code:r.text,...U})},"string"==typeof U.clone){U.clone.split(",").forEach(t=>{const[n,a,o]=t.split("|"),l="string"==typeof a?c(a):n;x[l]={tabName:(a||n).toString(),element:e.createElement(w.CodeSection,{lang:n,code:r.text,...U,filename:o||U.filename})}})}return null}return e.createElement(w.CodeSection,{lang:v,code:r.text,...U});case"escape":return r.text;case"list":if(r.items.every(e=>e.task)){const t=r.ordered?w.TaskOrderedList:w.TaskUnorderedList;return e.createElement(t,{start:r.start},r.items.map((t,n)=>e.createElement(w.TaskListItem,{key:t.raw+n,defaultChecked:t.checked},t.tokens?e.createElement(C,{token:t.tokens}):t.raw)))}const N=r.ordered?w.OrderedList:w.UnorderedList;return e.createElement(N,{start:r.start},r.items.map((t,n)=>e.createElement(w.ListItem,{key:t.raw+n},t.tokens?e.createElement(C,{token:t.tokens}):t.raw)));case"html":const j=r.raw.trim();if(j.startsWith("\x3c!---robin")&&j.endsWith("--\x3e")){const t=j.endsWith("/--\x3e"),r=j.match(/<!---robin ([\w]+)/)?.[1];if(!r)return t||(b={type:"dummy"}),null;if(!l(r))return console.warn(`"${r}" is using incorrect casing. Use PascalCase for Robin components`),t||(b={type:"dummy"}),null;if(!n||!(r in n))return console.warn(`Unknown component: "${r}"`),t||(b={type:"dummy"}),null;const a=j.split(/\r?\n/).slice(1,-1).reduce((e,t)=>{const[n,r,a]=t.match(/^([\w]+)(?:="(.+)")?$/)||[];return n?(e[r]=a??!0,e):(console.warn(`Invalid component attribute: "${t}"`),e)},{});if(t){const t=n[r];return e.createElement(t,{...a})}return b={props:a,componentName:r,childTokens:[],type:"base"},null}return e.createElement(p,{raw:r.raw,components:n,config:h,targetProvider:u,pathname:t,uri:a,pages:f,tags:w});case"text":return"tokens"in r?e.createElement(C,{token:r.tokens||[]}):r.raw;case"space":case"def":case"br":case"checkbox":return null;default:return!r.type&&"raw"in r?r.raw:(console.warn(`Unknown token ${r.type}`,r),null)}};return d.push({type:"text",raw:""}),e.createElement(C,{token:d})};export{d as Document};
2
2
  //# sourceMappingURL=document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sources":["../../../../src/components/elements/article/document.tsx"],"sourcesContent":["import { AnchorHeading } from \"@src/components/blocks/anchor-heading\";\nimport { CodeSection } from \"@src/components/blocks/code-section\";\nimport { NavContentLink } from \"@src/components/blocks/nav-content-link\";\nimport { Block } from \"@src/components/ui/block\";\nimport { Blockquote } from \"@src/components/ui/blockquote\";\nimport { CodeBlock } from \"@src/components/ui/code-block\";\nimport { CodeSpan } from \"@src/components/ui/code-span\";\nimport { Del } from \"@src/components/ui/del\";\nimport { Em } from \"@src/components/ui/em\";\nimport { Heading } from \"@src/components/ui/heading\";\nimport { Hr } from \"@src/components/ui/hr\";\nimport { Img } from \"@src/components/ui/img\";\nimport { ListItem, OrderedList, UnorderedList } from \"@src/components/ui/list\";\nimport { Paragraph } from \"@src/components/ui/paragraph\";\nimport { Strong } from \"@src/components/ui/strong\";\nimport { Table, Tbody, Td, Th, Thead, Tr } from \"@src/components/ui/table\";\nimport { Tabs } from \"@src/components/ui/tabs\";\nimport { TaskListItem, TaskOrderedList, TaskUnorderedList } from \"@src/components/ui/task-list\";\nimport { type BaseProvider } from \"@src/core/providers/base\";\nimport { type Components, type RobinProps } from \"@src/core/types/content\";\nimport parse, { attributesToProps, DOMNode, domToReact, HTMLReactParserOptions, Text } from \"html-react-parser\";\nimport { type Token, type Tokens, type TokensList } from \"marked\";\nimport React from \"react\";\nimport { type BundledLanguage } from \"shiki\";\n\nimport { type PagesType } from \"./types\";\nimport {\n formatId,\n formatLinkHref,\n isNewCodeToken,\n parseBlockqoute,\n parseCodeLang,\n parseMarkdown,\n validateComponentName,\n type AnchorData,\n} from \"./utils\";\n\ninterface DocumentJSXProps extends Omit<ContentProps, \"tokens\" | \"headings\"> {\n raw: string;\n pages?: PagesType;\n}\n\nexport const DocumentJSX: React.FC<DocumentJSXProps> = ({ raw, components, ...baseProps }) => {\n const parseOptions: HTMLReactParserOptions = {\n replace(domNode) {\n if (domNode instanceof Text && domNode.data) {\n const { headings, tokens } = parseMarkdown(domNode.data);\n\n return <Document headings={headings} tokens={tokens} components={components} subtree {...baseProps} />;\n }\n\n if (!(\"name\" in domNode)) return <></>;\n\n if (domNode.name === \"a\" && \"attribs\" in domNode) {\n const { href, external } = formatLinkHref(domNode.attribs.href, baseProps.pathname, baseProps.pages);\n\n if (href === \"\") return domToReact(domNode.children as DOMNode[], parseOptions);\n\n return (\n <NavContentLink {...attributesToProps(domNode.attribs)} href={href} external={external}>\n {domToReact(domNode.children as DOMNode[], parseOptions)}\n </NavContentLink>\n );\n }\n\n if (!validateComponentName(domNode.name)) return domNode;\n\n if (!components || !(domNode.name in components)) {\n console.warn(`Unknown component: \"${domNode.name}\"`);\n return <></>;\n }\n\n const props = \"attribs\" in domNode ? attributesToProps(domNode.attribs) : {};\n const Component = components[domNode.name];\n const children = \"children\" in domNode ? domNode.children : null;\n\n return (\n <Component {...props}>{children ? domToReact(children as DOMNode[], parseOptions) : null}</Component>\n );\n },\n htmlparser2: {\n lowerCaseTags: false,\n lowerCaseAttributeNames: false,\n },\n };\n return parse(raw, parseOptions);\n};\n\nexport type ContentProps = {\n pathname: string;\n components?: Components;\n config?: {\n publicDirs?: string[];\n };\n uri?: string;\n targetProvider?: BaseProvider | null;\n tokens: TokensList;\n headings: AnchorData[];\n subtree?: boolean;\n pages?: PagesType;\n};\n\nexport const Document: React.FC<ContentProps> = ({\n pathname,\n components,\n uri,\n targetProvider,\n tokens,\n headings,\n config = {},\n subtree,\n pages,\n}) => {\n const { publicDirs } = config;\n\n let robin:\n | null\n | { props: RobinProps; childTokens: Token[]; componentName: string; type: \"base\" }\n | { type: \"dummy\" } = null;\n let codeQueue: { [lang: string]: { element: React.ReactNode; tabName: string } } = {};\n const insertedCodeKeys: string[] = [];\n const DocumentToken: React.FC<{ token: Token | Token[] }> = ({ token }) => {\n if (!token) return null;\n\n if (isNewCodeToken(token, codeQueue)) {\n const tabsData = codeQueue;\n codeQueue = {};\n const tabsKey = Object.keys(tabsData).sort().join(\"-\");\n const isInsertedKey = insertedCodeKeys.includes(tabsKey);\n if (!isInsertedKey) insertedCodeKeys.push(tabsKey);\n\n return (\n <>\n <Tabs type=\"code\" tabsData={tabsData} insertStyles={!isInsertedKey} blockKey={tabsKey} />\n <DocumentToken token={token} />\n </>\n );\n }\n\n if (robin) {\n if (!Array.isArray(token) && token.type === \"html\" && token.raw.trim() === \"<!---/robin-->\") {\n if (robin.type === \"dummy\") {\n robin = null;\n return null;\n }\n\n const { componentName, childTokens, props } = robin;\n const RobinComponent = components![componentName];\n robin = null;\n return (\n <RobinComponent {...props}>\n <DocumentToken token={childTokens} />\n </RobinComponent>\n );\n } else {\n if (robin.type === \"dummy\") return null;\n\n if (Array.isArray(token)) {\n robin.childTokens.push(...token);\n } else {\n robin.childTokens.push(token);\n }\n return null;\n }\n }\n\n if (Array.isArray(token)) {\n return token.map((t, index) => <DocumentToken token={t} key={(t as Tokens.Text).raw + index} />);\n }\n\n switch (token.type) {\n case \"heading\":\n const Component = `h${token.depth}` as \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n const predefinedData = headings.find((heading) => heading.token === token);\n if (predefinedData?.id) {\n return (\n <AnchorHeading component={Component} id={predefinedData.id}>\n {token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}\n </AnchorHeading>\n );\n } else {\n return (\n <Heading component={Component} id={token.depth === 1 ? \"main-content\" : undefined}>\n {token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}\n </Heading>\n );\n }\n case \"table\":\n return (\n <Block>\n <Table>\n <Thead>\n <Tr>\n {token.header.map((t: Tokens.Text, index: number) => (\n <Th key={t.text + index}>\n {t.tokens ? <DocumentToken token={t.tokens} /> : t.text}\n </Th>\n ))}\n </Tr>\n </Thead>\n <Tbody>\n {token.rows.map((row: Tokens.Text[], rowIndex: number) => (\n <Tr key={rowIndex}>\n {row.map((elem, elemIndex) => (\n <Td key={elem.text + elemIndex}>\n {elem.tokens ? <DocumentToken token={elem.tokens} /> : elem.text}\n </Td>\n ))}\n </Tr>\n ))}\n </Tbody>\n </Table>\n </Block>\n );\n case \"link\":\n const { href, external } = formatLinkHref(token.href, pathname, pages);\n\n if (href === \"\") return token.tokens ? <DocumentToken token={token.tokens} /> : token.raw;\n\n return (\n <NavContentLink href={href} external={external}>\n {token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}\n </NavContentLink>\n );\n case \"space\":\n return null;\n case \"hr\":\n return <Hr />;\n case \"image\":\n return (\n <Img\n src={token.href}\n publicDirs={publicDirs}\n provider={targetProvider}\n uri={uri}\n alt={token.title || \"\"}\n />\n );\n case \"paragraph\":\n if (subtree) return token.tokens ? <DocumentToken token={token.tokens} /> : token.raw;\n if (\n token.tokens?.some((t) => t.type === \"html\") &&\n token.tokens?.every((t) => t.type === \"html\" || t.type === \"text\" || t.raw === \"\\n\")\n ) {\n return <DocumentToken token={{ ...token, type: \"html\" }} />;\n }\n\n return <Paragraph>{token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}</Paragraph>;\n case \"strong\":\n return <Strong>{token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}</Strong>;\n case \"del\":\n return <Del>{token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}</Del>;\n case \"em\":\n return <Em>{token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}</Em>;\n case \"blockquote\":\n const { token: blockquoteToken, type } = parseBlockqoute(token);\n\n return (\n <Blockquote type={type}>\n {blockquoteToken.tokens ? (\n <DocumentToken token={blockquoteToken.tokens} />\n ) : (\n blockquoteToken.raw\n )}\n </Blockquote>\n );\n case \"codespan\":\n const inlineCode = token.raw.replace(/^`|`$/g, \"\");\n const hightlightMatch = inlineCode.match(/(.+){:([a-zA-Z]+)}$/);\n if (hightlightMatch) {\n const [, raw, lang] = hightlightMatch;\n return <CodeBlock code={raw} lang={lang as BundledLanguage} inline />;\n }\n\n return <CodeSpan code={inlineCode} />;\n case \"code\":\n const { lang, configuration } = parseCodeLang(token.lang);\n if (configuration.switcher && lang) {\n const tabKey = typeof configuration.tab === \"string\" ? formatId(configuration.tab) : lang;\n codeQueue[tabKey] = {\n tabName: (configuration.tab || lang).toString(),\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n element: <CodeSection lang={lang as any} code={token.text} {...configuration} />,\n };\n\n if (typeof configuration.clone === \"string\") {\n const copies = configuration.clone.split(\",\");\n\n copies.forEach((copy) => {\n const [copyLang, copyTab, copyFileName] = copy.split(\"|\");\n const copyTabKey = typeof copyTab === \"string\" ? formatId(copyTab) : copyLang;\n\n codeQueue[copyTabKey] = {\n tabName: (copyTab || copyLang).toString(),\n element: (\n <CodeSection\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n lang={copyLang as any}\n code={token.text}\n {...configuration}\n filename={copyFileName || (configuration.filename as string)}\n />\n ),\n };\n });\n }\n return null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return <CodeSection lang={lang as any} code={token.text} {...configuration} />;\n case \"escape\":\n return token.text;\n case \"list\":\n const isTaskList = token.items.every((i: Tokens.ListItem) => i.task);\n if (isTaskList) {\n const ListComponent = token.ordered ? TaskOrderedList : TaskUnorderedList;\n return (\n <ListComponent start={token.start}>\n {token.items.map((elem: Tokens.ListItem, index: number) => (\n <TaskListItem key={elem.raw + index} defaultChecked={elem.checked}>\n {elem.tokens ? <DocumentToken token={elem.tokens} /> : elem.raw}\n </TaskListItem>\n ))}\n </ListComponent>\n );\n }\n\n const ListComponent = token.ordered ? OrderedList : UnorderedList;\n return (\n <ListComponent start={token.start}>\n {token.items.map((elem: Tokens.ListItem, index: number) => (\n <ListItem key={elem.raw + index}>\n {elem.tokens ? <DocumentToken token={elem.tokens} /> : elem.raw}\n </ListItem>\n ))}\n </ListComponent>\n );\n case \"html\":\n const text = token.raw.trim();\n\n if (text.startsWith(\"<!---robin\") && text.endsWith(\"-->\")) {\n const selfClosed = text.endsWith(\"/-->\");\n const componentName = text.match(/<!---robin ([\\w]+)/)?.[1];\n\n if (!componentName) {\n if (!selfClosed) robin = { type: \"dummy\" };\n return null;\n }\n\n if (!validateComponentName(componentName)) {\n console.warn(\n `\"${componentName}\" is using incorrect casing. Use PascalCase for Robin components`,\n );\n if (!selfClosed) robin = { type: \"dummy\" };\n return null;\n }\n\n if (!components || !(componentName in components)) {\n console.warn(`Unknown component: \"${componentName}\"`);\n if (!selfClosed) robin = { type: \"dummy\" };\n return null;\n }\n const propRows = text.split(/\\r?\\n/).slice(1, -1);\n const props = propRows.reduce<{ [key: string]: string | true }>((acc, cur) => {\n const [_match, key, value] = cur.match(/^([\\w]+)(?:=\"(.+)\")?$/) || [];\n\n if (!_match) {\n console.warn(`Invalid component attribute: \"${cur}\"`);\n return acc;\n }\n\n acc[key] = value ?? true;\n return acc;\n }, {});\n\n if (selfClosed) {\n const Component = components[componentName as keyof typeof components];\n return <Component {...props} />;\n }\n\n robin = { props, componentName, childTokens: [], type: \"base\" };\n return null;\n }\n\n return (\n <DocumentJSX\n raw={token.raw}\n components={components}\n config={config}\n targetProvider={targetProvider}\n pathname={pathname}\n uri={uri}\n pages={pages}\n />\n );\n case \"text\":\n if (\"tokens\" in token) {\n return <DocumentToken token={token.tokens || []} />;\n }\n return token.raw;\n // Definitions should not be rendered, they are used only as comments or meta data\n case \"def\":\n return null;\n // br are inserted between elements. In our case, sufficient indentation is set everywhere, so we ignore them\n case \"br\":\n return null;\n default:\n if (!token.type && \"raw\" in token) return token.raw;\n\n console.warn(`Unknown token ${token.type}`, token);\n return null;\n }\n };\n\n tokens.push({ type: \"text\", raw: \"\" });\n return <DocumentToken token={tokens} />;\n};\n"],"names":["DocumentJSX","raw","components","baseProps","parseOptions","replace","domNode","Text","data","headings","tokens","parseMarkdown","React","Document","subtree","name","href","external","formatLinkHref","attribs","pathname","pages","domToReact","children","createElement","NavContentLink","attributesToProps","validateComponentName","console","warn","props","Component","htmlparser2","lowerCaseTags","lowerCaseAttributeNames","parse","uri","targetProvider","config","publicDirs","robin","codeQueue","insertedCodeKeys","DocumentToken","token","isNewCodeToken","tabsData","tabsKey","Object","keys","sort","join","isInsertedKey","includes","push","Fragment","Tabs","type","insertStyles","blockKey","Array","isArray","trim","childTokens","componentName","RobinComponent","map","t","index","key","depth","predefinedData","find","heading","id","AnchorHeading","component","Heading","undefined","Block","Table","Thead","Tr","header","Th","text","Tbody","rows","row","rowIndex","elem","elemIndex","Td","Hr","Img","src","provider","alt","title","some","every","Paragraph","Strong","Del","Em","blockquoteToken","parseBlockqoute","Blockquote","inlineCode","hightlightMatch","match","lang","CodeBlock","code","inline","CodeSpan","configuration","parseCodeLang","switcher","tabKey","tab","formatId","tabName","toString","element","CodeSection","clone","split","forEach","copy","copyLang","copyTab","copyFileName","copyTabKey","filename","items","i","task","ListComponent","ordered","TaskOrderedList","TaskUnorderedList","start","TaskListItem","defaultChecked","checked","OrderedList","UnorderedList","ListItem","startsWith","endsWith","selfClosed","slice","reduce","acc","cur","_match","value"],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sources":["../../../../src/components/elements/article/document.tsx"],"sourcesContent":["import { type Token, type Tokens, type TokensList } from \"marked\";\nimport { type BundledLanguage } from \"shiki\";\nimport React from \"react\";\nimport parse, { attributesToProps, DOMNode, domToReact, HTMLReactParserOptions, Text } from \"html-react-parser\";\n\nimport { type BaseProvider } from \"@src/core/providers/base\";\nimport { type Components, type RobinProps } from \"@src/core/types/content\";\n\nimport { type PagesType } from \"./types\";\nimport {\n formatId,\n formatLinkHref,\n isNewCodeToken,\n parseBlockqoute,\n parseCodeLang,\n parseMarkdown,\n validateComponentName,\n type AnchorData,\n} from \"./utils\";\nimport { DEFAULT_TAGS } from \"./tags\";\n\ninterface DocumentJSXProps extends Omit<DocumentProps, \"tokens\" | \"headings\"> {\n raw: string;\n pages?: PagesType;\n tags: typeof DEFAULT_TAGS;\n}\n\nconst DocumentJSX: React.FC<DocumentJSXProps> = ({ raw, components, tags: Tags, ...baseProps }) => {\n const parseOptions: HTMLReactParserOptions = {\n replace(domNode) {\n if (domNode instanceof Text && domNode.data) {\n const { headings, tokens } = parseMarkdown(domNode.data);\n\n return (\n <Document\n headings={headings}\n tokens={tokens}\n components={components}\n tags={Tags}\n subtree\n {...baseProps}\n />\n );\n }\n\n if (!(\"name\" in domNode)) return <></>;\n\n if (domNode.name === \"a\" && \"attribs\" in domNode) {\n const { href, external } = formatLinkHref(domNode.attribs.href, baseProps.pathname, baseProps.pages);\n\n if (href === \"\") return domToReact(domNode.children as DOMNode[], parseOptions);\n\n return (\n <Tags.ContentLink {...attributesToProps(domNode.attribs)} href={href} external={external}>\n {domToReact(domNode.children as DOMNode[], parseOptions)}\n </Tags.ContentLink>\n );\n }\n\n if (!validateComponentName(domNode.name)) return domNode;\n\n if (!components || !(domNode.name in components)) {\n console.warn(`Unknown component: \"${domNode.name}\"`);\n return <></>;\n }\n\n const props = \"attribs\" in domNode ? attributesToProps(domNode.attribs) : {};\n const Component = components[domNode.name];\n const children = \"children\" in domNode ? domNode.children : null;\n\n return (\n <Component {...props}>{children ? domToReact(children as DOMNode[], parseOptions) : null}</Component>\n );\n },\n htmlparser2: {\n lowerCaseTags: false,\n lowerCaseAttributeNames: false,\n },\n };\n return parse(raw, parseOptions);\n};\n\nexport type DocumentProps = {\n pathname: string;\n components?: Components;\n config?: {\n publicDirs?: string[];\n };\n uri?: string;\n targetProvider?: BaseProvider | null;\n tokens: TokensList;\n headings: AnchorData[];\n subtree?: boolean;\n pages?: PagesType;\n tags?: Partial<typeof DEFAULT_TAGS>;\n};\n\nexport const Document: React.FC<DocumentProps> = ({\n pathname,\n components,\n tags: userTags = {},\n uri,\n targetProvider,\n tokens,\n headings,\n config = {},\n subtree,\n pages,\n}) => {\n const { publicDirs } = config;\n const Tags = { ...DEFAULT_TAGS, ...userTags };\n\n let robin:\n | null\n | { props: RobinProps; childTokens: Token[]; componentName: string; type: \"base\" }\n | { type: \"dummy\" } = null;\n let codeQueue: { [lang: string]: { element: React.ReactNode; tabName: string } } = {};\n const insertedCodeKeys: string[] = [];\n const DocumentToken: React.FC<{ token: Token | Token[] }> = ({ token }) => {\n if (!token) return null;\n\n if (isNewCodeToken(token, codeQueue)) {\n const tabsData = codeQueue;\n codeQueue = {};\n const tabsKey = Object.keys(tabsData).sort().join(\"-\");\n const isInsertedKey = insertedCodeKeys.includes(tabsKey);\n if (!isInsertedKey) insertedCodeKeys.push(tabsKey);\n\n return (\n <>\n <Tags.Tabs type=\"code\" tabsData={tabsData} insertStyles={!isInsertedKey} blockKey={tabsKey} />\n <DocumentToken token={token} />\n </>\n );\n }\n\n if (robin) {\n if (!Array.isArray(token) && token.type === \"html\" && token.raw.trim() === \"<!---/robin-->\") {\n if (robin.type === \"dummy\") {\n robin = null;\n return null;\n }\n\n const { componentName, childTokens, props } = robin;\n const RobinComponent = components![componentName];\n robin = null;\n return (\n <RobinComponent {...props}>\n <DocumentToken token={childTokens} />\n </RobinComponent>\n );\n } else {\n if (robin.type === \"dummy\") return null;\n\n if (Array.isArray(token)) {\n robin.childTokens.push(...token);\n } else {\n robin.childTokens.push(token);\n }\n return null;\n }\n }\n\n if (Array.isArray(token)) {\n return token.map((t, index) => <DocumentToken token={t} key={(t as Tokens.Text).raw + index} />);\n }\n\n switch (token.type) {\n case \"heading\":\n const Component = `h${token.depth}` as \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n const predefinedData = headings.find((heading) => heading.token === token);\n if (predefinedData?.id) {\n return (\n <Tags.AnchorHeading component={Component} id={predefinedData.id}>\n {token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}\n </Tags.AnchorHeading>\n );\n }\n\n return (\n <Tags.Heading component={Component} id={token.depth === 1 ? \"main-content\" : undefined}>\n {token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}\n </Tags.Heading>\n );\n case \"table\":\n return (\n <Tags.Block>\n <Tags.Table>\n <Tags.Thead>\n <Tags.Tr>\n {token.header.map((t: Tokens.TableCell, index: number) => (\n <Tags.Th key={t.text + index} align={t.align}>\n {t.tokens ? <DocumentToken token={t.tokens} /> : t.text}\n </Tags.Th>\n ))}\n </Tags.Tr>\n </Tags.Thead>\n <Tags.Tbody>\n {token.rows.map((row: Tokens.TableCell[], rowIndex: number) => (\n <Tags.Tr key={rowIndex}>\n {row.map((elem, elemIndex) => (\n <Tags.Td key={elem.text + elemIndex} align={elem.align}>\n {elem.tokens ? <DocumentToken token={elem.tokens} /> : elem.text}\n </Tags.Td>\n ))}\n </Tags.Tr>\n ))}\n </Tags.Tbody>\n </Tags.Table>\n </Tags.Block>\n );\n case \"link\":\n const { href, external } = formatLinkHref(token.href, pathname, pages);\n\n if (href === \"\") return token.tokens ? <DocumentToken token={token.tokens} /> : token.raw;\n\n return (\n <Tags.ContentLink href={href} external={external}>\n {token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}\n </Tags.ContentLink>\n );\n case \"hr\":\n return <Tags.Hr />;\n case \"image\":\n return (\n <Tags.Img\n src={token.href}\n publicDirs={publicDirs}\n provider={targetProvider}\n uri={uri}\n alt={token.title || \"\"}\n />\n );\n case \"paragraph\":\n if (subtree) return token.tokens ? <DocumentToken token={token.tokens} /> : token.raw;\n if (\n token.tokens?.some((t) => t.type === \"html\") &&\n token.tokens?.every((t) => t.type === \"html\" || t.type === \"text\" || t.raw === \"\\n\")\n ) {\n return <DocumentToken token={{ ...token, type: \"html\" }} />;\n }\n\n return (\n <Tags.Paragraph>{token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}</Tags.Paragraph>\n );\n case \"strong\":\n return <Tags.Strong>{token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}</Tags.Strong>;\n case \"del\":\n return <Tags.Del>{token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}</Tags.Del>;\n case \"em\":\n return <Tags.Em>{token.tokens ? <DocumentToken token={token.tokens} /> : token.raw}</Tags.Em>;\n case \"blockquote\":\n const { token: blockquoteToken, type } = parseBlockqoute(token);\n\n return (\n <Tags.Blockquote type={type}>\n {blockquoteToken.tokens ? (\n <DocumentToken token={blockquoteToken.tokens} />\n ) : (\n blockquoteToken.raw\n )}\n </Tags.Blockquote>\n );\n case \"codespan\":\n const inlineCode = token.raw.replace(/^`|`$/g, \"\");\n const hightlightMatch = inlineCode.match(/(.+){:([a-zA-Z]+)}$/);\n if (hightlightMatch) {\n const [, raw, lang] = hightlightMatch;\n return <Tags.CodeBlock code={raw} lang={lang as BundledLanguage} inline />;\n }\n\n return <Tags.CodeSpan code={inlineCode} />;\n case \"code\":\n const { lang, configuration } = parseCodeLang(token.lang);\n if (configuration.switcher && lang) {\n const tabKey = typeof configuration.tab === \"string\" ? formatId(configuration.tab) : lang;\n codeQueue[tabKey] = {\n tabName: (configuration.tab || lang).toString(),\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n element: <Tags.CodeSection lang={lang as any} code={token.text} {...configuration} />,\n };\n\n if (typeof configuration.clone === \"string\") {\n const copies = configuration.clone.split(\",\");\n\n copies.forEach((copy) => {\n const [copyLang, copyTab, copyFileName] = copy.split(\"|\");\n const copyTabKey = typeof copyTab === \"string\" ? formatId(copyTab) : copyLang;\n\n codeQueue[copyTabKey] = {\n tabName: (copyTab || copyLang).toString(),\n element: (\n <Tags.CodeSection\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n lang={copyLang as any}\n code={token.text}\n {...configuration}\n filename={copyFileName || (configuration.filename as string)}\n />\n ),\n };\n });\n }\n return null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return <Tags.CodeSection lang={lang as any} code={token.text} {...configuration} />;\n case \"escape\":\n return token.text;\n case \"list\":\n const isTaskList = token.items.every((i: Tokens.ListItem) => i.task);\n if (isTaskList) {\n const ListComponent = token.ordered ? Tags.TaskOrderedList : Tags.TaskUnorderedList;\n return (\n <ListComponent start={token.start}>\n {token.items.map((elem: Tokens.ListItem, index: number) => (\n <Tags.TaskListItem key={elem.raw + index} defaultChecked={elem.checked}>\n {elem.tokens ? <DocumentToken token={elem.tokens} /> : elem.raw}\n </Tags.TaskListItem>\n ))}\n </ListComponent>\n );\n }\n\n const ListComponent = token.ordered ? Tags.OrderedList : Tags.UnorderedList;\n return (\n <ListComponent start={token.start}>\n {token.items.map((elem: Tokens.ListItem, index: number) => (\n <Tags.ListItem key={elem.raw + index}>\n {elem.tokens ? <DocumentToken token={elem.tokens} /> : elem.raw}\n </Tags.ListItem>\n ))}\n </ListComponent>\n );\n case \"html\":\n const text = token.raw.trim();\n\n if (text.startsWith(\"<!---robin\") && text.endsWith(\"-->\")) {\n const selfClosed = text.endsWith(\"/-->\");\n const componentName = text.match(/<!---robin ([\\w]+)/)?.[1];\n\n if (!componentName) {\n if (!selfClosed) robin = { type: \"dummy\" };\n return null;\n }\n\n if (!validateComponentName(componentName)) {\n console.warn(\n `\"${componentName}\" is using incorrect casing. Use PascalCase for Robin components`,\n );\n if (!selfClosed) robin = { type: \"dummy\" };\n return null;\n }\n\n if (!components || !(componentName in components)) {\n console.warn(`Unknown component: \"${componentName}\"`);\n if (!selfClosed) robin = { type: \"dummy\" };\n return null;\n }\n const propRows = text.split(/\\r?\\n/).slice(1, -1);\n const props = propRows.reduce<{ [key: string]: string | true }>((acc, cur) => {\n const [_match, key, value] = cur.match(/^([\\w]+)(?:=\"(.+)\")?$/) || [];\n\n if (!_match) {\n console.warn(`Invalid component attribute: \"${cur}\"`);\n return acc;\n }\n\n acc[key] = value ?? true;\n return acc;\n }, {});\n\n if (selfClosed) {\n const Component = components[componentName as keyof typeof components];\n return <Component {...props} />;\n }\n\n robin = { props, componentName, childTokens: [], type: \"base\" };\n return null;\n }\n\n return (\n <DocumentJSX\n raw={token.raw}\n components={components}\n config={config}\n targetProvider={targetProvider}\n pathname={pathname}\n uri={uri}\n pages={pages}\n tags={Tags}\n />\n );\n case \"text\":\n if (\"tokens\" in token) {\n return <DocumentToken token={token.tokens || []} />;\n }\n return token.raw;\n case \"space\":\n return null;\n // Definitions should not be rendered, they are used only as comments or meta data\n case \"def\":\n return null;\n // br are inserted between elements. In our case, sufficient indentation is set everywhere, so we ignore them\n case \"br\":\n return null;\n // checkbox are rendered as part of the task list item, so we ignore them\n case \"checkbox\":\n return null;\n default:\n if (!token.type && \"raw\" in token) return token.raw;\n\n console.warn(`Unknown token ${token.type}`, token);\n return null;\n }\n };\n\n tokens.push({ type: \"text\", raw: \"\" });\n return <DocumentToken token={tokens} />;\n};\n"],"names":["DocumentJSX","raw","components","tags","Tags","baseProps","parseOptions","replace","domNode","Text","data","headings","tokens","parseMarkdown","React","createElement","Document","subtree","name","href","external","formatLinkHref","attribs","pathname","pages","domToReact","children","ContentLink","attributesToProps","validateComponentName","console","warn","props","Component","htmlparser2","lowerCaseTags","lowerCaseAttributeNames","parse","userTags","uri","targetProvider","config","publicDirs","DEFAULT_TAGS","robin","codeQueue","insertedCodeKeys","DocumentToken","token","isNewCodeToken","tabsData","tabsKey","Object","keys","sort","join","isInsertedKey","includes","push","Fragment","Tabs","type","insertStyles","blockKey","Array","isArray","trim","childTokens","componentName","RobinComponent","map","t","index","key","depth","predefinedData","find","heading","id","AnchorHeading","component","Heading","undefined","Block","Table","Thead","Tr","header","Th","text","align","Tbody","rows","row","rowIndex","elem","elemIndex","Td","Hr","Img","src","provider","alt","title","some","every","Paragraph","Strong","Del","Em","blockquoteToken","parseBlockqoute","Blockquote","inlineCode","hightlightMatch","match","lang","CodeBlock","code","inline","CodeSpan","configuration","parseCodeLang","switcher","tabKey","tab","formatId","tabName","toString","element","CodeSection","clone","split","forEach","copy","copyLang","copyTab","copyFileName","copyTabKey","filename","items","i","task","ListComponent","ordered","TaskOrderedList","TaskUnorderedList","start","TaskListItem","defaultChecked","checked","OrderedList","UnorderedList","ListItem","startsWith","endsWith","selfClosed","slice","reduce","acc","cur","_match","value"],"mappings":"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"}
@@ -1,22 +1,13 @@
1
- import "./article.scss";
2
1
  import React from "react";
3
- import { type Components } from "../../../core/types/content";
4
2
  import { type BaseProvider } from "../../../core/providers/base";
5
3
  import { type ContentsProps } from "../../blocks/contents";
6
4
  import { type BreadcrumbsProps } from "../../blocks/breadcrumbs";
7
5
  import { type PaginationProps } from "../../blocks/pagination";
8
- export type ContentProps = {
6
+ import { type DocumentProps } from "./document";
7
+ import "./article.scss";
8
+ type ArticleContentProps = Pick<DocumentProps, "pathname" | "components" | "config" | "pages" | "tags"> & {
9
9
  title: string;
10
- components?: Components;
11
- config?: {
12
- publicDirs?: string[];
13
- };
14
10
  provider?: BaseProvider;
15
- pathname: string;
16
- pages?: {
17
- clientPath: string;
18
- origPath: string;
19
- }[];
20
11
  translations?: {
21
12
  /** Last modified on */
22
13
  lastModifiedOn?: string;
@@ -28,6 +19,15 @@ export type ContentProps = {
28
19
  uri: string;
29
20
  content?: undefined;
30
21
  });
31
- export type ArticleProps = Partial<PaginationProps> & Partial<BreadcrumbsProps> & Omit<ContentsProps, "headings"> & ContentProps;
22
+ export type ArticleProps = Partial<PaginationProps> & Partial<BreadcrumbsProps> & Omit<ContentsProps, "headings"> & ArticleContentProps;
23
+ /**
24
+ * Article component for rendering markdown content.
25
+ * Handles parsing, rendering, and all page features (breadcrumbs, TOC, pagination).
26
+ *
27
+ * @see {@link https://robindoc.com/docs/customization/elements/page Page customization}
28
+ * @see {@link https://robindoc.com/docs/customization/tags Tags customization}
29
+ * @see {@link https://robindoc.com/docs/structure/data-source Data sources}
30
+ */
32
31
  export declare const Article: React.FC<ArticleProps>;
32
+ export {};
33
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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,CAqD1C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/article/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,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;AAErF,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,gBAAgB,CAAC;AAExB,KAAK,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC,GAAG;IACtG,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,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,mBAAmB,CAAC;AAExB;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAuD1C,CAAC"}
@@ -1,2 +1,2 @@
1
- import e from"react";import{loadContent as t}from"../../../core/utils/load-content.js";import{ContentsProvider as r}from"../../stores/contents/provider.js";import{Contents as o}from"../../blocks/contents/index.js";import{Breadcrumbs as i}from"../../blocks/breadcrumbs/index.js";import{Pagination as n}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 m=async({components:m,content:c,uri:l,config:p={},provider:f,hideContents:g,editUri:u,pathname:v,title:b,breadcrumbs:h,prev:E,next:j,pages:x=[],translations:k})=>{const{lastModifiedOn:w="Last modified on",editOnService:P,onThisPage:O}=k||{},{data:U,provider:C}=c||!l?{data:c,provider:null}:await t(l,f);if(!U)throw new Error("Robindoc: Please provide content or valid uri");const{headings:L,tokens:M}=a(U),S=l&&C&&await C.getEditUri(l),T=l&&C&&await C.getLastModifiedDate(l);return e.createElement(r,null,h&&h.length>0&&e.createElement(i,{breadcrumbs:h,title:b}),e.createElement(o,{editUri:null===u?null:u||S,hideContents:g,headings:L,translations:{editOnService:P,onThisPage:O}}),e.createElement("div",{className:"r-article"},e.createElement(s,{headings:L,tokens:M,pages:x,components:m,config:p,targetProvider:C,pathname:v,uri:l}),T&&e.createElement(d,{date:T},w)),(E||j)&&e.createElement(n,{prev:E,next:j}))};export{m as Article};
1
+ import e from"react";import{loadContent as t}from"../../../core/utils/load-content.js";import{ContentsProvider as r}from"../../stores/contents/provider.js";import{Contents as o}from"../../blocks/contents/index.js";import{Breadcrumbs as i}from"../../blocks/breadcrumbs/index.js";import{Pagination as n}from"../../blocks/pagination/index.js";import{LastModified as a}from"../../blocks/last-modified/index.js";import{Document as s}from"./document.js";import{parseMarkdown as d}from"./utils.js";const m=async({components:m,tags:c,content:l,uri:p,config:f={},provider:g,hideContents:u,editUri:v,pathname:b,title:h,breadcrumbs:E,prev:j,next:x,pages:k=[],translations:w})=>{const{lastModifiedOn:P="Last modified on",editOnService:O,onThisPage:U}=w||{},{data:C,provider:L}=l||!p?{data:l,provider:null}:await t(p,g);if(!C)throw new Error("Robindoc: Please provide content or valid uri");const{headings:M,tokens:S}=d(C),T=p&&L&&await L.getEditUri(p),y=p&&L&&await L.getLastModifiedDate(p);return e.createElement(r,null,E&&E.length>0&&e.createElement(i,{breadcrumbs:E,title:h}),e.createElement(o,{editUri:null===v?null:v||T,hideContents:u,headings:M,translations:{editOnService:O,onThisPage:U}}),e.createElement("div",{className:"r-article"},e.createElement(s,{headings:M,tokens:S,pages:k,components:m,config:f,targetProvider:L,pathname:b,uri:p,tags:c}),y&&e.createElement(a,{date:y},P)),(j||x)&&e.createElement(n,{prev:j,next:x}))};export{m as Article};
2
2
  //# sourceMappingURL=index.js.map