robindoc 3.3.1 → 3.3.3
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.
- package/lib/components/blocks/theme-detector/index.d.ts.map +1 -1
- package/lib/components/blocks/theme-detector/index.js +2 -1
- package/lib/components/blocks/theme-detector/index.js.map +1 -1
- package/lib/components/contexts/contents/provider.js +1 -1
- package/lib/components/contexts/contents/provider.js.map +1 -1
- package/lib/components/elements/article/utils.d.ts +1 -1
- package/lib/components/elements/article/utils.d.ts.map +1 -1
- package/lib/components/elements/article/utils.js +1 -1
- package/lib/components/elements/article/utils.js.map +1 -1
- package/lib/styles.css +171 -171
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/theme-detector/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/theme-detector/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAkCzC,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAoBjC,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
import t,{useEffect as e}from"react";const s=()=>{const t=document.querySelector(".r-root");if(!t)return;const e=localStorage.getItem("theme");e&&["light","dark"].includes(e)?t.classList.add(`r-theme-${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"));const s=localStorage.getItem("r-tabs"),r=s?.split(";").filter(t=>t&&/[\w-]+=[\w]+/.test(t))||[];Array.from(t.classList).forEach(e=>{e.startsWith("r-tabs-global")&&t.classList.remove(e)}),r.forEach(e=>{const[s,r]=e.split("=");t.classList.add(`r-tabs-global__${s}`,`r-tabs-global__${s}_${r}`)}),t.classList.add("r-ready")},r=()=>(e(()=>{const t=document.querySelector(".r-root");if(t&&!t.classList.contains("r-ready"))return s(),()=>{t.classList.remove("r-ready")}},[]),t.createElement("script",{id:"detect-theme",dangerouslySetInnerHTML:{__html:`(${s})()`},async:!0}));export{r as ThemeDetector};
|
|
2
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/blocks/theme-detector/index.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/blocks/theme-detector/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect } from \"react\";\n\nconst clientLogic = () => {\n const root = document.querySelector(\".r-root\");\n\n if (!root) return;\n\n const userTheme = localStorage.getItem(\"theme\");\n if (userTheme && [\"light\", \"dark\"].includes(userTheme)) {\n root.classList.add(`r-theme-${userTheme}`);\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 const store = localStorage.getItem(\"r-tabs\");\n const items = store?.split(\";\").filter((item) => item && /[\\w-]+=[\\w]+/.test(item)) || [];\n const classNames = Array.from(root.classList);\n classNames.forEach((className) => {\n if (className.startsWith(`r-tabs-global`)) {\n root.classList.remove(className);\n }\n });\n items.forEach((item) => {\n const [tabsKey, tab] = item.split(\"=\");\n root.classList.add(`r-tabs-global__${tabsKey}`, `r-tabs-global__${tabsKey}_${tab}`);\n });\n root.classList.add(\"r-ready\");\n};\n\nexport const ThemeDetector: React.FC = () => {\n useEffect(() => {\n const root = document.querySelector(\".r-root\");\n if (!root || root.classList.contains(\"r-ready\")) return;\n clientLogic();\n\n return () => {\n root.classList.remove(\"r-ready\");\n };\n }, []);\n\n return (\n <script\n id=\"detect-theme\"\n dangerouslySetInnerHTML={{\n __html: `(${clientLogic})()`,\n }}\n async\n />\n );\n};\n"],"names":["clientLogic","root","document","querySelector","userTheme","localStorage","getItem","includes","classList","add","window","matchMedia","matches","store","items","split","filter","item","test","Array","from","forEach","className","startsWith","remove","tabsKey","tab","ThemeDetector","useEffect","contains","React","createElement","id","dangerouslySetInnerHTML","__html","async"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import e,{useState as r,useRef as t,useCallback as n,useEffect as o}from"react";import{HeadingsContext as l,CurrentHeadingContext as c}from"./context.js";const i=({children:i})=>{const[s,
|
|
2
|
+
import e,{useState as r,useRef as t,useCallback as n,useEffect as o}from"react";import{HeadingsContext as l,CurrentHeadingContext as c}from"./context.js";const i=({children:i})=>{const[s,u]=r(null),d=t([]),m=n(e=>{if(e.scrollTop+20>e.scrollHeight-window.innerHeight)u(d.current.length-1);else{const r=d.current.findLastIndex(r=>r.offsetTop<e.scrollTop+100);e.scrollTop+100>e.scrollHeight-window.innerHeight&&r<d.current.length-2?u(d.current.length-2):u(r)}},[]);return o(()=>{let e=!1;const r=document.querySelector(".r-root");if(!r)return;const t=r===document.documentElement?window:r,n=()=>{!e&&window.innerWidth>1080&&(e=!0,setTimeout(()=>{m(r),e=!1},100))};return m(r),t.addEventListener("scroll",n),()=>{t.removeEventListener("scroll",n)}},[]),e.createElement(l.Provider,{value:d.current},e.createElement(c.Provider,{value:s},i))};export{i as ContentsProvider};
|
|
3
3
|
//# sourceMappingURL=provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sources":["../../../../src/components/contexts/contents/provider.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { CurrentHeadingContext, HeadingsContext } from \"./context\";\n\nexport const ContentsProvider: React.FC<React.PropsWithChildren> = ({ children }) => {\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const headings = useRef<HTMLHeadingElement[]>([]);\n\n const updateTargetSection = useCallback((rootElement: HTMLElement) => {\n if (rootElement.scrollTop + 20 > rootElement.scrollHeight - window.innerHeight) {\n setActiveIndex(headings.current.length - 1);\n } else {\n const headingIndex = headings.current.findLastIndex((el) => el.offsetTop < rootElement.scrollTop + 100);\n if (\n rootElement.scrollTop + 100 > rootElement.scrollHeight - window.innerHeight &&\n headingIndex < headings.current.length - 2\n ) {\n setActiveIndex(headings.current.length - 2);\n } else {\n setActiveIndex(headingIndex);\n }\n }\n }, []);\n\n useEffect(() => {\n let scheduledAnimationFrame = false;\n const rootElement = document.querySelector<HTMLElement>(\".r-root\");\n\n if (!rootElement) return;\n\n const scrollElement = rootElement
|
|
1
|
+
{"version":3,"file":"provider.js","sources":["../../../../src/components/contexts/contents/provider.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { CurrentHeadingContext, HeadingsContext } from \"./context\";\n\nexport const ContentsProvider: React.FC<React.PropsWithChildren> = ({ children }) => {\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const headings = useRef<HTMLHeadingElement[]>([]);\n\n const updateTargetSection = useCallback((rootElement: HTMLElement) => {\n if (rootElement.scrollTop + 20 > rootElement.scrollHeight - window.innerHeight) {\n setActiveIndex(headings.current.length - 1);\n } else {\n const headingIndex = headings.current.findLastIndex((el) => el.offsetTop < rootElement.scrollTop + 100);\n if (\n rootElement.scrollTop + 100 > rootElement.scrollHeight - window.innerHeight &&\n headingIndex < headings.current.length - 2\n ) {\n setActiveIndex(headings.current.length - 2);\n } else {\n setActiveIndex(headingIndex);\n }\n }\n }, []);\n\n useEffect(() => {\n let scheduledAnimationFrame = false;\n const rootElement = document.querySelector<HTMLElement>(\".r-root\");\n\n if (!rootElement) return;\n\n const scrollElement = rootElement === document.documentElement ? window : rootElement;\n\n const scrollHandler = () => {\n if (!scheduledAnimationFrame && window.innerWidth > 1080) {\n scheduledAnimationFrame = true;\n setTimeout(() => {\n updateTargetSection(rootElement);\n scheduledAnimationFrame = false;\n }, 100);\n }\n };\n\n updateTargetSection(rootElement);\n scrollElement.addEventListener(\"scroll\", scrollHandler);\n\n return () => {\n scrollElement.removeEventListener(\"scroll\", scrollHandler);\n };\n }, []);\n\n return (\n <HeadingsContext.Provider value={headings.current}>\n <CurrentHeadingContext.Provider value={activeIndex}>{children}</CurrentHeadingContext.Provider>\n </HeadingsContext.Provider>\n );\n};\n"],"names":["ContentsProvider","children","activeIndex","setActiveIndex","useState","headings","useRef","updateTargetSection","useCallback","rootElement","scrollTop","scrollHeight","window","innerHeight","current","length","headingIndex","findLastIndex","el","offsetTop","useEffect","scheduledAnimationFrame","document","querySelector","scrollElement","documentElement","scrollHandler","innerWidth","setTimeout","addEventListener","removeEventListener","React","createElement","HeadingsContext","Provider","value","CurrentHeadingContext"],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ export declare const isNewCodeToken: (token: Token | Token[], codeQueue: {
|
|
|
25
25
|
tabName: string;
|
|
26
26
|
};
|
|
27
27
|
}) => boolean;
|
|
28
|
-
export declare const formatLinkHref: (href: string,
|
|
28
|
+
export declare const formatLinkHref: (href: string, currentPathname: string, pages?: PagesType) => {
|
|
29
29
|
href: string;
|
|
30
30
|
external: boolean;
|
|
31
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/article/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGxD,OAAO,EAAE,KAAK,cAAc,EAAE,4BAAsC;AAGpE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM;;;CAmB5C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,WAEnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,YAEjD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM;;;;;CAmBxC,CAAC;AAEF,eAAO,MAAM,cAAc,GACvB,OAAO,KAAK,GAAG,KAAK,EAAE,EACtB,WAAW;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,YAa/E,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/article/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGxD,OAAO,EAAE,KAAK,cAAc,EAAE,4BAAsC;AAGpE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM;;;CAmB5C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,WAEnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,YAEjD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM;;;;;CAmBxC,CAAC;AAEF,eAAO,MAAM,cAAc,GACvB,OAAO,KAAK,GAAG,KAAK,EAAE,EACtB,WAAW;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,YAa/E,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,iBAAiB,MAAM,EAAE,QAAQ,SAAS;;;CAmBtF,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO;;;;;;;;;;;UAoBjC,cAAc;;;;CAKrD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t from"github-slugger";import e from"gray-matter";import{lexer as r}from"marked";import{join as n,dirname as o}from"path";import{parseTokenText as s}from"../../../core/utils/content-tools.js";const
|
|
1
|
+
import t from"github-slugger";import e from"gray-matter";import{lexer as r}from"marked";import{join as n,dirname as o}from"path";import{parseTokenText as s}from"../../../core/utils/content-tools.js";const a=n=>{const{content:o}=e(n),a=r(o.trim()),i=new t,c=a.reduce((t,e)=>{if("heading"===e.type&&(2===e.depth||3===e.depth)){const r=s(e);t.push({title:r,id:i.slug(r),token:e,nested:3===e.depth})}return t},[]);return{tokens:a,headings:c}},i=t=>t.toLowerCase().replace(/\W/g,"_").replace(/_+/g,"_"),c=t=>/^[A-Z][a-zA-Z0-9]+$/.test(t),g=t=>{let e={},r=t;const n=t.match(/[a-z]+=("[^"]+"|'[^']+'|[^ ]+)|[a-z]+/g);if(Array.isArray(n)){const[t,...o]=n;r=t,e=o.reduce((t,e)=>{const[r,...n]=e.split("=");return t[r]=!n||(0===n.length||n.join("=").replace(/(^["']|['"]$)/g,"")),t},{})}return{lang:r,configuration:e}},p=(t,e)=>{if(Array.isArray(t)||!Object.keys(e).length)return!1;if("code"===t.type){const{lang:r,configuration:n}=g(t.lang);if(e["string"==typeof n.tab?i(n.tab):r]||!n.switcher)return!0}return"space"!==t.type&&"code"!==t.type},h=(t,e,r)=>{let s=t;const a=/^(https?:\/\/|\/)/.test(t);if(r&&!a){const a=new URL(t,"http://r"),i=r.find(t=>t.clientPath===e);if(i){const t=n(o(i.origPath),a.pathname).replace(/\\/g,"/"),e=r.find(e=>e.origPath===t);e&&(a.pathname=e.clientPath,s=a.toString().replace("http://r",""))}}return{href:s,external:a}},l=t=>{const e=t.raw.match(/^> \[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\n/);if(e){const[r,n]=e,o={...t,raw:t.raw.substring(r.length)};if(o.tokens){const t={...o.tokens[0]};if(t.raw=t.raw.substring(n.length+4),t.text=t.text.substring(n.length+4),t.tokens[0]){const e={...t.tokens[0]};e.raw=e.raw.substring(n.length+4),e.text=e.text.substring(n.length+4),t.tokens[0]=e}o.tokens[0]=t}return{token:o,type:n.toLowerCase()}}return{token:t,type:null}};export{i as formatId,h as formatLinkHref,p as isNewCodeToken,l as parseBlockqoute,g as parseCodeLang,a as parseMarkdown,c as validateComponentName};
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../src/components/elements/article/utils.ts"],"sourcesContent":["import GithubSlugger from \"github-slugger\";\nimport matter from \"gray-matter\";\nimport { lexer, type Tokens, type Token } from \"marked\";\nimport { dirname, join } from \"path\";\n\nimport { type BlockquoteType } from \"@src/components/ui/blockquote\";\nimport { parseTokenText } from \"@src/core/utils/content-tools\";\n\nimport { type PagesType } from \"./types\";\n\nexport type AnchorData = {\n title: string;\n id: string;\n nested: boolean;\n token: Token;\n};\n\nexport const parseMarkdown = (content: string) => {\n const { content: matterContent } = matter(content);\n const tokens = lexer(matterContent.trim());\n\n const slugger = new GithubSlugger();\n const headings = tokens.reduce<AnchorData[]>((acc, token) => {\n if (token.type === \"heading\" && (token.depth === 2 || token.depth === 3)) {\n const title = parseTokenText(token);\n acc.push({\n title,\n id: slugger.slug(title),\n token,\n nested: token.depth === 3,\n });\n }\n return acc;\n }, []);\n\n return { tokens, headings };\n};\n\nexport const formatId = (raw: string) => {\n return raw.toLowerCase().replace(/\\W/g, \"_\").replace(/_+/g, \"_\");\n};\n\nexport const validateComponentName = (name: string) => {\n return /^[A-Z][a-zA-Z0-9]+$/.test(name);\n};\n\nexport const parseCodeLang = (raw: string) => {\n let configuration: { [key: string]: string | boolean } = {};\n let lang: string = raw;\n\n const match = raw.match(/[a-z]+=(\"[^\"]+\"|'[^']+'|[^ ]+)|[a-z]+/g);\n if (Array.isArray(match)) {\n const [language, ...modifiers] = match as string[];\n lang = language;\n configuration = modifiers.reduce<{ [key: string]: string | boolean }>((acc, cur) => {\n const [key, ...value] = cur.split(\"=\");\n if (value) {\n acc[key] = value.length === 0 ? true : value.join(\"=\").replace(/(^[\"']|['\"]$)/g, \"\");\n } else {\n acc[key] = true;\n }\n return acc;\n }, {});\n }\n return { lang, configuration };\n};\n\nexport const isNewCodeToken = (\n token: Token | Token[],\n codeQueue: { [lang: string]: { element: React.ReactNode; tabName: string } },\n) => {\n if (Array.isArray(token) || !Object.keys(codeQueue).length) return false;\n\n if (token.type === \"code\") {\n const { lang, configuration } = parseCodeLang(token.lang);\n const tabKey = typeof configuration.tab === \"string\" ? formatId(configuration.tab) : lang;\n if (codeQueue[tabKey] || !configuration.switcher) return true;\n }\n\n if (token.type !== \"space\" && token.type !== \"code\") return true;\n\n return false;\n};\n\nexport const formatLinkHref = (href: string,
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/components/elements/article/utils.ts"],"sourcesContent":["import GithubSlugger from \"github-slugger\";\nimport matter from \"gray-matter\";\nimport { lexer, type Tokens, type Token } from \"marked\";\nimport { dirname, join } from \"path\";\n\nimport { type BlockquoteType } from \"@src/components/ui/blockquote\";\nimport { parseTokenText } from \"@src/core/utils/content-tools\";\n\nimport { type PagesType } from \"./types\";\n\nexport type AnchorData = {\n title: string;\n id: string;\n nested: boolean;\n token: Token;\n};\n\nexport const parseMarkdown = (content: string) => {\n const { content: matterContent } = matter(content);\n const tokens = lexer(matterContent.trim());\n\n const slugger = new GithubSlugger();\n const headings = tokens.reduce<AnchorData[]>((acc, token) => {\n if (token.type === \"heading\" && (token.depth === 2 || token.depth === 3)) {\n const title = parseTokenText(token);\n acc.push({\n title,\n id: slugger.slug(title),\n token,\n nested: token.depth === 3,\n });\n }\n return acc;\n }, []);\n\n return { tokens, headings };\n};\n\nexport const formatId = (raw: string) => {\n return raw.toLowerCase().replace(/\\W/g, \"_\").replace(/_+/g, \"_\");\n};\n\nexport const validateComponentName = (name: string) => {\n return /^[A-Z][a-zA-Z0-9]+$/.test(name);\n};\n\nexport const parseCodeLang = (raw: string) => {\n let configuration: { [key: string]: string | boolean } = {};\n let lang: string = raw;\n\n const match = raw.match(/[a-z]+=(\"[^\"]+\"|'[^']+'|[^ ]+)|[a-z]+/g);\n if (Array.isArray(match)) {\n const [language, ...modifiers] = match as string[];\n lang = language;\n configuration = modifiers.reduce<{ [key: string]: string | boolean }>((acc, cur) => {\n const [key, ...value] = cur.split(\"=\");\n if (value) {\n acc[key] = value.length === 0 ? true : value.join(\"=\").replace(/(^[\"']|['\"]$)/g, \"\");\n } else {\n acc[key] = true;\n }\n return acc;\n }, {});\n }\n return { lang, configuration };\n};\n\nexport const isNewCodeToken = (\n token: Token | Token[],\n codeQueue: { [lang: string]: { element: React.ReactNode; tabName: string } },\n) => {\n if (Array.isArray(token) || !Object.keys(codeQueue).length) return false;\n\n if (token.type === \"code\") {\n const { lang, configuration } = parseCodeLang(token.lang);\n const tabKey = typeof configuration.tab === \"string\" ? formatId(configuration.tab) : lang;\n if (codeQueue[tabKey] || !configuration.switcher) return true;\n }\n\n if (token.type !== \"space\" && token.type !== \"code\") return true;\n\n return false;\n};\n\nexport const formatLinkHref = (href: string, currentPathname: string, pages?: PagesType) => {\n let finalHref: string = href;\n const external = /^(https?:\\/\\/|\\/)/.test(href);\n\n if (pages && !external) {\n const pseudoUrl = new URL(href, \"http://r\");\n const currentPageData = pages.find((item) => item.clientPath === currentPathname);\n\n if (currentPageData) {\n const linkOrigPath = join(dirname(currentPageData.origPath), pseudoUrl.pathname).replace(/\\\\/g, \"/\");\n const linkData = pages.find((item) => item.origPath === linkOrigPath);\n\n if (linkData) {\n pseudoUrl.pathname = linkData.clientPath;\n finalHref = pseudoUrl.toString().replace(\"http://r\", \"\");\n }\n }\n }\n return { href: finalHref, external };\n};\n\nexport const parseBlockqoute = (token: Tokens.Blockquote | Tokens.Generic) => {\n const typeMatch = token.raw.match(/^> \\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\\]\\n/);\n if (typeMatch) {\n const [raw, type] = typeMatch;\n const newToken = { ...token, raw: token.raw.substring(raw.length) };\n if (newToken.tokens) {\n const firstToken = { ...newToken.tokens[0] } as Tokens.Paragraph;\n firstToken.raw = firstToken.raw.substring(type.length + 4);\n firstToken.text = firstToken.text.substring(type.length + 4);\n if (firstToken.tokens[0]) {\n const firstSubtoken = { ...firstToken.tokens[0] } as Tokens.Paragraph;\n firstSubtoken.raw = firstSubtoken.raw.substring(type.length + 4);\n firstSubtoken.text = firstSubtoken.text.substring(type.length + 4);\n firstToken.tokens[0] = firstSubtoken;\n }\n newToken.tokens[0] = firstToken;\n }\n\n return {\n token: newToken,\n type: type.toLowerCase() as BlockquoteType,\n };\n }\n\n return { token, type: null };\n};\n"],"names":["parseMarkdown","content","matterContent","matter","tokens","lexer","trim","slugger","GithubSlugger","headings","reduce","acc","token","type","depth","title","parseTokenText","push","id","slug","nested","formatId","raw","toLowerCase","replace","validateComponentName","name","test","parseCodeLang","configuration","lang","match","Array","isArray","language","modifiers","cur","key","value","split","length","join","isNewCodeToken","codeQueue","Object","keys","tab","switcher","formatLinkHref","href","currentPathname","pages","finalHref","external","pseudoUrl","URL","currentPageData","find","item","clientPath","linkOrigPath","dirname","origPath","pathname","linkData","toString","parseBlockqoute","typeMatch","newToken","substring","firstToken","text","firstSubtoken"],"mappings":"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"}
|
package/lib/styles.css
CHANGED
|
@@ -422,6 +422,10 @@
|
|
|
422
422
|
--r-cl-60: #86181d;
|
|
423
423
|
--r-cl-61: #144620;
|
|
424
424
|
--r-cl-62: #c24e00;
|
|
425
|
+
}.r-page-container {
|
|
426
|
+
min-height: calc(100dvh - var(--r-header-height));
|
|
427
|
+
overflow-wrap: break-word;
|
|
428
|
+
box-sizing: border-box;
|
|
425
429
|
}.r-docs-container {
|
|
426
430
|
min-height: calc(100dvh - var(--r-header-height));
|
|
427
431
|
overflow-wrap: break-word;
|
|
@@ -458,10 +462,6 @@
|
|
|
458
462
|
grid-template-columns: 760px 220px;
|
|
459
463
|
grid-template-rows: auto 1fr auto;
|
|
460
464
|
}
|
|
461
|
-
}.r-page-container {
|
|
462
|
-
min-height: calc(100dvh - var(--r-header-height));
|
|
463
|
-
overflow-wrap: break-word;
|
|
464
|
-
box-sizing: border-box;
|
|
465
465
|
}.keylink-to-content {
|
|
466
466
|
position: absolute !important;
|
|
467
467
|
top: 8px;
|
|
@@ -469,55 +469,6 @@
|
|
|
469
469
|
z-index: 1001;
|
|
470
470
|
}.keylink-to-navigation {
|
|
471
471
|
margin-top: -40px;
|
|
472
|
-
}.r-article {
|
|
473
|
-
padding: 20px 0 80px;
|
|
474
|
-
grid-area: content;
|
|
475
|
-
}
|
|
476
|
-
@media screen and (width >= 1180px) {
|
|
477
|
-
.r-article {
|
|
478
|
-
padding: 32px 0 80px;
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
.r-article > *:first-child {
|
|
482
|
-
margin-top: 0;
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
.r-checkbox {
|
|
486
|
-
cursor: pointer;
|
|
487
|
-
width: 20px;
|
|
488
|
-
height: 20px;
|
|
489
|
-
margin: 4px;
|
|
490
|
-
vertical-align: middle;
|
|
491
|
-
box-sizing: border-box;
|
|
492
|
-
}
|
|
493
|
-
|
|
494
|
-
.r-label {
|
|
495
|
-
cursor: pointer;
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
.r-task-ol,
|
|
499
|
-
.r-task-ul {
|
|
500
|
-
list-style: none;
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
.r-task-label {
|
|
504
|
-
display: block;
|
|
505
|
-
width: 100%;
|
|
506
|
-
padding-top: 2px;
|
|
507
|
-
padding-bottom: 2px;
|
|
508
|
-
box-sizing: border-box;
|
|
509
|
-
}
|
|
510
|
-
.r-task-label:hover .r-checkbox {
|
|
511
|
-
filter: brightness(0.8);
|
|
512
|
-
}
|
|
513
|
-
|
|
514
|
-
.r-task-li.r-task-li {
|
|
515
|
-
margin-block-start: 2px;
|
|
516
|
-
margin-block-end: 2px;
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
.r-label-text {
|
|
520
|
-
vertical-align: middle;
|
|
521
472
|
}.r-sidebar {
|
|
522
473
|
grid-area: sidebar;
|
|
523
474
|
box-sizing: border-box;
|
|
@@ -792,6 +743,55 @@
|
|
|
792
743
|
|
|
793
744
|
.r-sidebar-drop[open] > .r-sidebar-drop-btn > .r-sidebar-drop-icon {
|
|
794
745
|
transform: rotate(90deg);
|
|
746
|
+
}.r-article {
|
|
747
|
+
padding: 20px 0 80px;
|
|
748
|
+
grid-area: content;
|
|
749
|
+
}
|
|
750
|
+
@media screen and (width >= 1180px) {
|
|
751
|
+
.r-article {
|
|
752
|
+
padding: 32px 0 80px;
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
.r-article > *:first-child {
|
|
756
|
+
margin-top: 0;
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
.r-checkbox {
|
|
760
|
+
cursor: pointer;
|
|
761
|
+
width: 20px;
|
|
762
|
+
height: 20px;
|
|
763
|
+
margin: 4px;
|
|
764
|
+
vertical-align: middle;
|
|
765
|
+
box-sizing: border-box;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
.r-label {
|
|
769
|
+
cursor: pointer;
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
.r-task-ol,
|
|
773
|
+
.r-task-ul {
|
|
774
|
+
list-style: none;
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
.r-task-label {
|
|
778
|
+
display: block;
|
|
779
|
+
width: 100%;
|
|
780
|
+
padding-top: 2px;
|
|
781
|
+
padding-bottom: 2px;
|
|
782
|
+
box-sizing: border-box;
|
|
783
|
+
}
|
|
784
|
+
.r-task-label:hover .r-checkbox {
|
|
785
|
+
filter: brightness(0.8);
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
.r-task-li.r-task-li {
|
|
789
|
+
margin-block-start: 2px;
|
|
790
|
+
margin-block-end: 2px;
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
.r-label-text {
|
|
794
|
+
vertical-align: middle;
|
|
795
795
|
}.r-header-menu {
|
|
796
796
|
display: flex;
|
|
797
797
|
justify-content: flex-end;
|
|
@@ -996,6 +996,31 @@
|
|
|
996
996
|
font-size: 14px;
|
|
997
997
|
color: var(--r-neutral-600);
|
|
998
998
|
margin: 12px 0 0;
|
|
999
|
+
}.r-header-social {
|
|
1000
|
+
display: flex;
|
|
1001
|
+
flex: 1;
|
|
1002
|
+
justify-content: flex-end;
|
|
1003
|
+
}
|
|
1004
|
+
@media screen and (width >= 1024px) {
|
|
1005
|
+
.r-header-social {
|
|
1006
|
+
flex: none;
|
|
1007
|
+
justify-content: unset;
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
.r-header-social-git {
|
|
1012
|
+
color: var(--r-neutral-700);
|
|
1013
|
+
transition: color 0.2s;
|
|
1014
|
+
}
|
|
1015
|
+
.r-header-social-git:hover, .r-header-social-git:focus {
|
|
1016
|
+
color: var(--r-neutral-950);
|
|
1017
|
+
}.r-container {
|
|
1018
|
+
max-width: 1180px;
|
|
1019
|
+
padding-right: 12px;
|
|
1020
|
+
padding-left: 12px;
|
|
1021
|
+
margin-right: auto;
|
|
1022
|
+
margin-left: auto;
|
|
1023
|
+
box-sizing: border-box;
|
|
999
1024
|
}.r-dropdown {
|
|
1000
1025
|
position: relative;
|
|
1001
1026
|
color: var(--r-neutral-600);
|
|
@@ -1075,31 +1100,6 @@
|
|
|
1075
1100
|
|
|
1076
1101
|
.r-dropdown-link._active {
|
|
1077
1102
|
color: var(--r-primary-700);
|
|
1078
|
-
}.r-header-social {
|
|
1079
|
-
display: flex;
|
|
1080
|
-
flex: 1;
|
|
1081
|
-
justify-content: flex-end;
|
|
1082
|
-
}
|
|
1083
|
-
@media screen and (width >= 1024px) {
|
|
1084
|
-
.r-header-social {
|
|
1085
|
-
flex: none;
|
|
1086
|
-
justify-content: unset;
|
|
1087
|
-
}
|
|
1088
|
-
}
|
|
1089
|
-
|
|
1090
|
-
.r-header-social-git {
|
|
1091
|
-
color: var(--r-neutral-700);
|
|
1092
|
-
transition: color 0.2s;
|
|
1093
|
-
}
|
|
1094
|
-
.r-header-social-git:hover, .r-header-social-git:focus {
|
|
1095
|
-
color: var(--r-neutral-950);
|
|
1096
|
-
}.r-container {
|
|
1097
|
-
max-width: 1180px;
|
|
1098
|
-
padding-right: 12px;
|
|
1099
|
-
padding-left: 12px;
|
|
1100
|
-
margin-right: auto;
|
|
1101
|
-
margin-left: auto;
|
|
1102
|
-
box-sizing: border-box;
|
|
1103
1103
|
}.r-theme-switcher {
|
|
1104
1104
|
position: relative;
|
|
1105
1105
|
display: flex;
|
|
@@ -1191,6 +1191,47 @@
|
|
|
1191
1191
|
user-select: none;
|
|
1192
1192
|
pointer-events: none;
|
|
1193
1193
|
box-sizing: border-box;
|
|
1194
|
+
}.r-breadcrumbs {
|
|
1195
|
+
grid-area: breadcrumbs;
|
|
1196
|
+
list-style: none;
|
|
1197
|
+
margin: 0;
|
|
1198
|
+
padding: 20px 0 0;
|
|
1199
|
+
line-height: 2;
|
|
1200
|
+
}
|
|
1201
|
+
@media screen and (width >= 768px) {
|
|
1202
|
+
.r-breadcrumbs {
|
|
1203
|
+
padding: 32px 0 0;
|
|
1204
|
+
}
|
|
1205
|
+
}
|
|
1206
|
+
|
|
1207
|
+
.r-breadcrumb {
|
|
1208
|
+
display: inline;
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
.r-breadcrumb._previous::after {
|
|
1212
|
+
content: "/";
|
|
1213
|
+
font-weight: 600;
|
|
1214
|
+
margin-inline: 8px;
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
.r-breadcrumb-link {
|
|
1218
|
+
color: var(--r-neutral-700);
|
|
1219
|
+
text-decoration: none;
|
|
1220
|
+
}
|
|
1221
|
+
.r-breadcrumb-link:hover {
|
|
1222
|
+
color: var(--r-primary-800);
|
|
1223
|
+
}
|
|
1224
|
+
|
|
1225
|
+
.r-breadcrumb-link,
|
|
1226
|
+
.r-breadcrumb-title {
|
|
1227
|
+
display: inline;
|
|
1228
|
+
padding: 6px 0;
|
|
1229
|
+
margin: 0;
|
|
1230
|
+
}
|
|
1231
|
+
|
|
1232
|
+
.r-breadcrumb-title {
|
|
1233
|
+
color: var(--r-neutral-950);
|
|
1234
|
+
font-weight: 600;
|
|
1194
1235
|
}.r-contents {
|
|
1195
1236
|
grid-area: contents;
|
|
1196
1237
|
}
|
|
@@ -1424,47 +1465,6 @@
|
|
|
1424
1465
|
}
|
|
1425
1466
|
.r-contents-git:hover {
|
|
1426
1467
|
color: var(--r-neutral-900);
|
|
1427
|
-
}.r-breadcrumbs {
|
|
1428
|
-
grid-area: breadcrumbs;
|
|
1429
|
-
list-style: none;
|
|
1430
|
-
margin: 0;
|
|
1431
|
-
padding: 20px 0 0;
|
|
1432
|
-
line-height: 2;
|
|
1433
|
-
}
|
|
1434
|
-
@media screen and (width >= 768px) {
|
|
1435
|
-
.r-breadcrumbs {
|
|
1436
|
-
padding: 32px 0 0;
|
|
1437
|
-
}
|
|
1438
|
-
}
|
|
1439
|
-
|
|
1440
|
-
.r-breadcrumb {
|
|
1441
|
-
display: inline;
|
|
1442
|
-
}
|
|
1443
|
-
|
|
1444
|
-
.r-breadcrumb._previous::after {
|
|
1445
|
-
content: "/";
|
|
1446
|
-
font-weight: 600;
|
|
1447
|
-
margin-inline: 8px;
|
|
1448
|
-
}
|
|
1449
|
-
|
|
1450
|
-
.r-breadcrumb-link {
|
|
1451
|
-
color: var(--r-neutral-700);
|
|
1452
|
-
text-decoration: none;
|
|
1453
|
-
}
|
|
1454
|
-
.r-breadcrumb-link:hover {
|
|
1455
|
-
color: var(--r-primary-800);
|
|
1456
|
-
}
|
|
1457
|
-
|
|
1458
|
-
.r-breadcrumb-link,
|
|
1459
|
-
.r-breadcrumb-title {
|
|
1460
|
-
display: inline;
|
|
1461
|
-
padding: 6px 0;
|
|
1462
|
-
margin: 0;
|
|
1463
|
-
}
|
|
1464
|
-
|
|
1465
|
-
.r-breadcrumb-title {
|
|
1466
|
-
color: var(--r-neutral-950);
|
|
1467
|
-
font-weight: 600;
|
|
1468
1468
|
}.r-pagination {
|
|
1469
1469
|
grid-area: pagination;
|
|
1470
1470
|
display: grid;
|
|
@@ -1819,6 +1819,22 @@
|
|
|
1819
1819
|
|
|
1820
1820
|
.r-tab-header-code {
|
|
1821
1821
|
font-family: var(--monospace-font, monospace, monospace);
|
|
1822
|
+
}.r-kbd-container {
|
|
1823
|
+
display: flex;
|
|
1824
|
+
gap: 4px;
|
|
1825
|
+
font-size: 14px;
|
|
1826
|
+
cursor: pointer;
|
|
1827
|
+
}
|
|
1828
|
+
.r-kbd-container:hover {
|
|
1829
|
+
color: var(--r-neutral-950);
|
|
1830
|
+
}.r-kbd-key {
|
|
1831
|
+
background-color: var(--r-neutral-200);
|
|
1832
|
+
font-size: 12px;
|
|
1833
|
+
border-radius: 4px;
|
|
1834
|
+
padding: 5px 8px;
|
|
1835
|
+
min-width: 24px;
|
|
1836
|
+
text-align: center;
|
|
1837
|
+
box-sizing: border-box;
|
|
1822
1838
|
}.r-modal {
|
|
1823
1839
|
position: fixed;
|
|
1824
1840
|
left: 0;
|
|
@@ -1854,22 +1870,6 @@
|
|
|
1854
1870
|
.r-modal._visible {
|
|
1855
1871
|
transform: translateX(-50%) scale(1);
|
|
1856
1872
|
}
|
|
1857
|
-
}.r-kbd-container {
|
|
1858
|
-
display: flex;
|
|
1859
|
-
gap: 4px;
|
|
1860
|
-
font-size: 14px;
|
|
1861
|
-
cursor: pointer;
|
|
1862
|
-
}
|
|
1863
|
-
.r-kbd-container:hover {
|
|
1864
|
-
color: var(--r-neutral-950);
|
|
1865
|
-
}.r-kbd-key {
|
|
1866
|
-
background-color: var(--r-neutral-200);
|
|
1867
|
-
font-size: 12px;
|
|
1868
|
-
border-radius: 4px;
|
|
1869
|
-
padding: 5px 8px;
|
|
1870
|
-
min-width: 24px;
|
|
1871
|
-
text-align: center;
|
|
1872
|
-
box-sizing: border-box;
|
|
1873
1873
|
}.r-copy-button {
|
|
1874
1874
|
position: relative;
|
|
1875
1875
|
padding: 8px;
|
|
@@ -1915,32 +1915,6 @@
|
|
|
1915
1915
|
|
|
1916
1916
|
.r-copy-button-svg {
|
|
1917
1917
|
display: block;
|
|
1918
|
-
}.r-copy-text {
|
|
1919
|
-
position: relative;
|
|
1920
|
-
cursor: pointer;
|
|
1921
|
-
background: none;
|
|
1922
|
-
border: 0;
|
|
1923
|
-
padding: 0;
|
|
1924
|
-
font: inherit;
|
|
1925
|
-
}
|
|
1926
|
-
.r-copy-text:hover {
|
|
1927
|
-
color: var(--r-neutral-950);
|
|
1928
|
-
}
|
|
1929
|
-
.r-copy-text::before {
|
|
1930
|
-
content: "";
|
|
1931
|
-
position: absolute;
|
|
1932
|
-
bottom: -2px;
|
|
1933
|
-
left: 0;
|
|
1934
|
-
width: 100%;
|
|
1935
|
-
height: 1px;
|
|
1936
|
-
background: linear-gradient(to right, currentColor 30%, transparent 0%, transparent 80%, currentColor 80%) repeat-x 0px/8px;
|
|
1937
|
-
transition: background 0.2s;
|
|
1938
|
-
box-sizing: border-box;
|
|
1939
|
-
}
|
|
1940
|
-
|
|
1941
|
-
.r-copy-text:active,
|
|
1942
|
-
.r-copy-text._active {
|
|
1943
|
-
color: var(--r-success);
|
|
1944
1918
|
}.r-content-link {
|
|
1945
1919
|
text-decoration: none;
|
|
1946
1920
|
color: var(--r-link);
|
|
@@ -1983,16 +1957,32 @@
|
|
|
1983
1957
|
background-color: currentColor;
|
|
1984
1958
|
border-radius: 0 0 0 4px;
|
|
1985
1959
|
box-sizing: border-box;
|
|
1986
|
-
}.r-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1960
|
+
}.r-copy-text {
|
|
1961
|
+
position: relative;
|
|
1962
|
+
cursor: pointer;
|
|
1963
|
+
background: none;
|
|
1964
|
+
border: 0;
|
|
1965
|
+
padding: 0;
|
|
1966
|
+
font: inherit;
|
|
1967
|
+
}
|
|
1968
|
+
.r-copy-text:hover {
|
|
1969
|
+
color: var(--r-neutral-950);
|
|
1970
|
+
}
|
|
1971
|
+
.r-copy-text::before {
|
|
1972
|
+
content: "";
|
|
1973
|
+
position: absolute;
|
|
1974
|
+
bottom: -2px;
|
|
1975
|
+
left: 0;
|
|
1976
|
+
width: 100%;
|
|
1977
|
+
height: 1px;
|
|
1978
|
+
background: linear-gradient(to right, currentColor 30%, transparent 0%, transparent 80%, currentColor 80%) repeat-x 0px/8px;
|
|
1979
|
+
transition: background 0.2s;
|
|
1980
|
+
box-sizing: border-box;
|
|
1981
|
+
}
|
|
1982
|
+
|
|
1983
|
+
.r-copy-text:active,
|
|
1984
|
+
.r-copy-text._active {
|
|
1985
|
+
color: var(--r-success);
|
|
1996
1986
|
}.r-li {
|
|
1997
1987
|
line-height: 1.8;
|
|
1998
1988
|
margin-block-start: 6px;
|
|
@@ -2004,6 +1994,16 @@
|
|
|
2004
1994
|
padding-inline-start: 20px;
|
|
2005
1995
|
margin-block-start: 6px;
|
|
2006
1996
|
margin-block-end: 6px;
|
|
1997
|
+
}.r-ol {
|
|
1998
|
+
padding-inline-start: 0;
|
|
1999
|
+
list-style-position: inside;
|
|
2000
|
+
margin-block-start: 1em;
|
|
2001
|
+
margin-block-end: 1em;
|
|
2002
|
+
}.r-ul {
|
|
2003
|
+
padding-inline-start: 0;
|
|
2004
|
+
list-style-position: inside;
|
|
2005
|
+
margin-block-start: 1em;
|
|
2006
|
+
margin-block-end: 1em;
|
|
2007
2007
|
}.r-table {
|
|
2008
2008
|
min-width: 100%;
|
|
2009
2009
|
text-align: left;
|
package/package.json
CHANGED