robindoc 0.0.0-experimental-a217ca0 → 0.0.0-experimental-b4f8a34

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.
@@ -1,5 +1,4 @@
1
1
  import React from "react";
2
- import "./thead.scss";
3
2
  export interface TheadProps {
4
3
  className?: string;
5
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/table/thead/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,UAAU;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAE/D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/table/thead/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,UAAU;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAE/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/ui/table/thead/index.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\n\nimport \"./thead.scss\";\n\nexport interface TheadProps {\n className?: string;\n}\n\nexport const Thead: React.FC<React.PropsWithChildren<TheadProps>> = ({ className, children }) => {\n return <thead className={clsx(\"r-thead\", className)}>{children}</thead>;\n};\n"],"names":["Thead","className","children","React","createElement","clsx"],"mappings":"yCASO,MAAMA,EAAuD,EAAGC,YAAWC,cACvEC,EAAAC,cAAA,QAAA,CAAOH,UAAWI,EAAK,UAAWJ,IAAaC"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/ui/table/thead/index.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\n\nexport interface TheadProps {\n className?: string;\n}\n\nexport const Thead: React.FC<React.PropsWithChildren<TheadProps>> = ({ className, children }) => {\n return <thead className={clsx(\"r-thead\", className)}>{children}</thead>;\n};\n"],"names":["Thead","className","children","React","createElement","clsx"],"mappings":"yCAOO,MAAMA,EAAuD,EAAGC,YAAWC,cACvEC,EAAAC,cAAA,QAAA,CAAOH,UAAWI,EAAK,UAAWJ,IAAaC"}
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import "./tr.scss";
2
3
  export interface TrProps {
3
4
  className?: string;
4
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/table/tr/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,OAAO;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAEzD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/table/tr/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,WAAW,CAAC;AAEnB,MAAM,WAAW,OAAO;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAEzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/ui/table/tr/index.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\n\nexport interface TrProps {\n className?: string;\n}\n\nexport const Tr: React.FC<React.PropsWithChildren<TrProps>> = ({ className, children }) => {\n return <tr className={clsx(\"r-tr\", className)}>{children}</tr>;\n};\n"],"names":["Tr","className","children","React","createElement","clsx"],"mappings":"yCAOO,MAAMA,EAAiD,EAAGC,YAAWC,cACjEC,EAAAC,cAAA,KAAA,CAAIH,UAAWI,EAAK,OAAQJ,IAAaC"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/ui/table/tr/index.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\n\nimport \"./tr.scss\";\n\nexport interface TrProps {\n className?: string;\n}\n\nexport const Tr: React.FC<React.PropsWithChildren<TrProps>> = ({ className, children }) => {\n return <tr className={clsx(\"r-tr\", className)}>{children}</tr>;\n};\n"],"names":["Tr","className","children","React","createElement","clsx"],"mappings":"yCASO,MAAMA,EAAiD,EAAGC,YAAWC,cACjEC,EAAAC,cAAA,KAAA,CAAIH,UAAWI,EAAK,OAAQJ,IAAaC"}
@@ -1,2 +1,2 @@
1
- import{readFile as t}from"fs/promises";import{glob as e}from"glob";import s from"path";import{BaseProvider as o}from"./base.js";import{extensionsMap as r}from"../data/contents.js";import{getFileUrl as i,normalizePathname as a}from"../utils/path-tools.js";class c extends o{type="local";sourceRoot;constructor(t=process.cwd()){super(t),this.sourceRoot=t.replaceAll("\\","/"),this.filesPromise=this.loadFiles("")}async getPageSourcePathname(t){if(this.sourceRoot.endsWith(".md")||this.sourceRoot.endsWith(".mdx"))return this.sourceRoot;const e=s.posix.join(this.sourceRoot,t).replaceAll("\\","/").replace(/\/$/,"");return super.getPageSourcePathname(t,e)}async load(e){const s=await this.getPageSourcePathname(e);if(!s)throw new Error(`Can not find file for "${e}"`);return await t(s,"utf-8")}async getFileSrc(e,o,i){if(o.match(/https?:\/\//))return o;const a=s.posix.join(process.cwd(),e?.replace(/^\//,"./")||"",o.replace(/^\//,"./")),c=s.posix.relative(process.cwd(),a),{dir:n,ext:l}=s.parse(c),p=i&&new RegExp(`^(${i?.join("|")})(/|$)`),u=p&&n.match(p);let h=o;if(u)h=`${c.replace(u[1],"")}`;else if(l in r){const e=await t(c,"base64");h=`data:${r[l]};base64,${e}`}return h}async loadFiles(t){const o=t?.replace(/^\//,""),r=(await e(["**/*.{md,mdx}","**/structure.json"],{cwd:this.sourceRoot,posix:!0})).reduce((t,e)=>{if(!o||o&&e.startsWith(o)){const r=s.relative(process.cwd(),(this.sourceRoot||".")+"/"+e).replace(/\\/g,"/");if(e.match(/\.mdx?$/)){const s=i("/"+e),c=a(s.substring(o?.length||0)),n=c.replace(/\/[0-9]+[-_](.)/g,"/$1");t.docs.push({origPath:r,clientPath:n,origClientPath:c})}else t.structures.push(r)}return t},{docs:[],structures:[]});return r.docs.sort((t,e)=>t.origClientPath.localeCompare(e.origClientPath)),this.filesPromise=r,r}}export{c as FileSystemProvider};
1
+ import{readFile as t}from"fs/promises";import{glob as e}from"tinyglobby";import s from"path";import{BaseProvider as o}from"./base.js";import{extensionsMap as r}from"../data/contents.js";import{getFileUrl as i,normalizePathname as a}from"../utils/path-tools.js";class c extends o{type="local";sourceRoot;constructor(t=process.cwd()){super(t),this.sourceRoot=t.replaceAll("\\","/"),this.filesPromise=this.loadFiles("")}async getPageSourcePathname(t){if(this.sourceRoot.endsWith(".md")||this.sourceRoot.endsWith(".mdx"))return this.sourceRoot;const e=s.posix.join(this.sourceRoot,t).replaceAll("\\","/").replace(/\/$/,"");return super.getPageSourcePathname(t,e)}async load(e){const s=await this.getPageSourcePathname(e);if(!s)throw new Error(`Can not find file for "${e}"`);return await t(s,"utf-8")}async getFileSrc(e,o,i){if(o.match(/https?:\/\//))return o;const a=s.posix.join(process.cwd(),e?.replace(/^\//,"./")||"",o.replace(/^\//,"./")),c=s.posix.relative(process.cwd(),a),{dir:n,ext:l}=s.parse(c),p=i&&new RegExp(`^(${i?.join("|")})(/|$)`),u=p&&n.match(p);let h=o;if(u)h=`${c.replace(u[1],"")}`;else if(l in r){const e=await t(c,"base64");h=`data:${r[l]};base64,${e}`}return h}async loadFiles(t){const o=t?.replace(/^\//,""),r=(await e(["**/*.{md,mdx}","**/structure.json"],{cwd:this.sourceRoot})).reduce((t,e)=>{if(!o||o&&e.startsWith(o)){const r=s.relative(process.cwd(),(this.sourceRoot||".")+"/"+e).replace(/\\/g,"/");if(e.match(/\.mdx?$/)){const s=i("/"+e),c=a(s.substring(o?.length||0)),n=c.replace(/\/[0-9]+[-_](.)/g,"/$1");t.docs.push({origPath:r,clientPath:n,origClientPath:c})}else t.structures.push(r)}return t},{docs:[],structures:[]});return r.docs.sort((t,e)=>t.origClientPath.localeCompare(e.origClientPath)),this.filesPromise=r,r}}export{c as FileSystemProvider};
2
2
  //# sourceMappingURL=file-system.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-system.js","sources":["../../../src/core/providers/file-system.ts"],"sourcesContent":["import { readFile } from \"fs/promises\";\nimport { glob } from \"glob\";\nimport path from \"path\";\n\nimport { type BranchFiles } from \"../types/content\";\nimport { BaseProvider } from \"./base\";\nimport { extensionsMap } from \"../data/contents\";\nimport { getFileUrl, normalizePathname } from \"../utils/path-tools\";\n\nexport class FileSystemProvider extends BaseProvider {\n readonly type = \"local\";\n\n sourceRoot: string;\n\n constructor(sourceRoot: string = process.cwd()) {\n super(sourceRoot);\n this.sourceRoot = sourceRoot.replaceAll(\"\\\\\", \"/\");\n this.filesPromise = this.loadFiles(\"\");\n }\n\n async getPageSourcePathname(uri: string) {\n if (this.sourceRoot.endsWith(\".md\") || this.sourceRoot.endsWith(\".mdx\")) {\n return this.sourceRoot;\n }\n const fullUri = path.posix.join(this.sourceRoot, uri).replaceAll(\"\\\\\", \"/\").replace(/\\/$/, \"\");\n return super.getPageSourcePathname(uri, fullUri);\n }\n\n async load(uri: string) {\n const filePath = await this.getPageSourcePathname(uri);\n if (!filePath) {\n throw new Error(`Can not find file for \"${uri}\"`);\n }\n const content = await readFile(filePath, \"utf-8\");\n return content;\n }\n\n async getFileSrc(uri: string, href: string, publicDirs?: string[]) {\n if (href.match(/https?:\\/\\//)) return href;\n\n const assetPath = path.posix.join(process.cwd(), uri?.replace(/^\\//, \"./\") || \"\", href.replace(/^\\//, \"./\"));\n const relativePath = path.posix.relative(process.cwd(), assetPath);\n const { dir, ext } = path.parse(relativePath);\n const publicDirsRule = publicDirs && new RegExp(`^(${publicDirs?.join(\"|\")})(\\/|$)`);\n const publicDirMatch = publicDirsRule && dir.match(publicDirsRule);\n\n let src = href;\n if (publicDirMatch) {\n src = `${relativePath.replace(publicDirMatch[1], \"\")}`;\n } else if (ext in extensionsMap) {\n const base64Image = await readFile(relativePath, \"base64\");\n src = `data:${extensionsMap[ext as keyof typeof extensionsMap]};base64,${base64Image}`;\n }\n return src;\n }\n\n private async loadFiles(pathname?: string) {\n const pathnameClean = pathname?.replace(/^\\//, \"\");\n const files = await glob([\"**/*.{md,mdx}\", \"**/structure.json\"], { cwd: this.sourceRoot, posix: true });\n\n const fileTree = files.reduce<BranchFiles>(\n (acc, item) => {\n if (!pathnameClean || (pathnameClean && item.startsWith(pathnameClean))) {\n const origPath = path\n .relative(process.cwd(), (this.sourceRoot || \".\") + \"/\" + item)\n .replace(/\\\\/g, \"/\");\n\n if (item.match(/\\.mdx?$/)) {\n const clientUrl = getFileUrl(\"/\" + item);\n const origClientPath = normalizePathname(clientUrl.substring(pathnameClean?.length || 0));\n const clientPath = origClientPath.replace(/\\/[0-9]+[-_](.)/g, \"/$1\");\n\n acc.docs.push({\n origPath,\n clientPath,\n origClientPath,\n });\n } else {\n acc.structures.push(origPath);\n }\n }\n return acc;\n },\n { docs: [], structures: [] },\n );\n fileTree.docs.sort((a, b) => a.origClientPath.localeCompare(b.origClientPath));\n this.filesPromise = fileTree;\n return fileTree;\n }\n}\n"],"names":["FileSystemProvider","BaseProvider","type","sourceRoot","constructor","process","cwd","super","this","replaceAll","filesPromise","loadFiles","getPageSourcePathname","uri","endsWith","fullUri","path","posix","join","replace","load","filePath","Error","readFile","getFileSrc","href","publicDirs","match","assetPath","relativePath","relative","dir","ext","parse","publicDirsRule","RegExp","publicDirMatch","src","extensionsMap","base64Image","pathname","pathnameClean","fileTree","glob","reduce","acc","item","startsWith","origPath","clientUrl","getFileUrl","origClientPath","normalizePathname","substring","length","clientPath","docs","push","structures","sort","a","b","localeCompare"],"mappings":"+PASM,MAAOA,UAA2BC,EAC3BC,KAAO,QAEhBC,WAEA,WAAAC,CAAYD,EAAqBE,QAAQC,OACrCC,MAAMJ,GACNK,KAAKL,WAAaA,EAAWM,WAAW,KAAM,KAC9CD,KAAKE,aAAeF,KAAKG,UAAU,GACvC,CAEA,2BAAMC,CAAsBC,GACxB,GAAIL,KAAKL,WAAWW,SAAS,QAAUN,KAAKL,WAAWW,SAAS,QAC5D,OAAON,KAAKL,WAEhB,MAAMY,EAAUC,EAAKC,MAAMC,KAAKV,KAAKL,WAAYU,GAAKJ,WAAW,KAAM,KAAKU,QAAQ,MAAO,IAC3F,OAAOZ,MAAMK,sBAAsBC,EAAKE,EAC5C,CAEA,UAAMK,CAAKP,GACP,MAAMQ,QAAiBb,KAAKI,sBAAsBC,GAClD,IAAKQ,EACD,MAAM,IAAIC,MAAM,0BAA0BT,MAG9C,aADsBU,EAASF,EAAU,QAE7C,CAEA,gBAAMG,CAAWX,EAAaY,EAAcC,GACxC,GAAID,EAAKE,MAAM,eAAgB,OAAOF,EAEtC,MAAMG,EAAYZ,EAAKC,MAAMC,KAAKb,QAAQC,MAAOO,GAAKM,QAAQ,MAAO,OAAS,GAAIM,EAAKN,QAAQ,MAAO,OAChGU,EAAeb,EAAKC,MAAMa,SAASzB,QAAQC,MAAOsB,IAClDG,IAAEA,EAAGC,IAAEA,GAAQhB,EAAKiB,MAAMJ,GAC1BK,EAAiBR,GAAc,IAAIS,OAAO,KAAKT,GAAYR,KAAK,cAChEkB,EAAiBF,GAAkBH,EAAIJ,MAAMO,GAEnD,IAAIG,EAAMZ,EACV,GAAIW,EACAC,EAAM,GAAGR,EAAaV,QAAQiB,EAAe,GAAI,WAC9C,GAAIJ,KAAOM,EAAe,CAC7B,MAAMC,QAAoBhB,EAASM,EAAc,UACjDQ,EAAM,QAAQC,EAAcN,aAA6CO,GAC7E,CACA,OAAOF,CACX,CAEQ,eAAM1B,CAAU6B,GACpB,MAAMC,EAAgBD,GAAUrB,QAAQ,MAAO,IAGzCuB,SAFcC,EAAK,CAAC,gBAAiB,qBAAsB,CAAErC,IAAKE,KAAKL,WAAYc,OAAO,KAEzE2B,OACnB,CAACC,EAAKC,KACF,IAAKL,GAAkBA,GAAiBK,EAAKC,WAAWN,GAAiB,CACrE,MAAMO,EAAWhC,EACZc,SAASzB,QAAQC,OAAQE,KAAKL,YAAc,KAAO,IAAM2C,GACzD3B,QAAQ,MAAO,KAEpB,GAAI2B,EAAKnB,MAAM,WAAY,CACvB,MAAMsB,EAAYC,EAAW,IAAMJ,GAC7BK,EAAiBC,EAAkBH,EAAUI,UAAUZ,GAAea,QAAU,IAChFC,EAAaJ,EAAehC,QAAQ,mBAAoB,OAE9D0B,EAAIW,KAAKC,KAAK,CACVT,WACAO,aACAJ,kBAER,MACIN,EAAIa,WAAWD,KAAKT,EAE5B,CACA,OAAOH,GAEX,CAAEW,KAAM,GAAIE,WAAY,KAI5B,OAFAhB,EAASc,KAAKG,KAAK,CAACC,EAAGC,IAAMD,EAAET,eAAeW,cAAcD,EAAEV,iBAC9D3C,KAAKE,aAAegC,EACbA,CACX"}
1
+ {"version":3,"file":"file-system.js","sources":["../../../src/core/providers/file-system.ts"],"sourcesContent":["import { readFile } from \"fs/promises\";\nimport { glob } from \"tinyglobby\";\nimport path from \"path\";\n\nimport { type BranchFiles } from \"../types/content\";\nimport { BaseProvider } from \"./base\";\nimport { extensionsMap } from \"../data/contents\";\nimport { getFileUrl, normalizePathname } from \"../utils/path-tools\";\n\nexport class FileSystemProvider extends BaseProvider {\n readonly type = \"local\";\n\n sourceRoot: string;\n\n constructor(sourceRoot: string = process.cwd()) {\n super(sourceRoot);\n this.sourceRoot = sourceRoot.replaceAll(\"\\\\\", \"/\");\n this.filesPromise = this.loadFiles(\"\");\n }\n\n async getPageSourcePathname(uri: string) {\n if (this.sourceRoot.endsWith(\".md\") || this.sourceRoot.endsWith(\".mdx\")) {\n return this.sourceRoot;\n }\n const fullUri = path.posix.join(this.sourceRoot, uri).replaceAll(\"\\\\\", \"/\").replace(/\\/$/, \"\");\n return super.getPageSourcePathname(uri, fullUri);\n }\n\n async load(uri: string) {\n const filePath = await this.getPageSourcePathname(uri);\n if (!filePath) {\n throw new Error(`Can not find file for \"${uri}\"`);\n }\n const content = await readFile(filePath, \"utf-8\");\n return content;\n }\n\n async getFileSrc(uri: string, href: string, publicDirs?: string[]) {\n if (href.match(/https?:\\/\\//)) return href;\n\n const assetPath = path.posix.join(process.cwd(), uri?.replace(/^\\//, \"./\") || \"\", href.replace(/^\\//, \"./\"));\n const relativePath = path.posix.relative(process.cwd(), assetPath);\n const { dir, ext } = path.parse(relativePath);\n const publicDirsRule = publicDirs && new RegExp(`^(${publicDirs?.join(\"|\")})(\\/|$)`);\n const publicDirMatch = publicDirsRule && dir.match(publicDirsRule);\n\n let src = href;\n if (publicDirMatch) {\n src = `${relativePath.replace(publicDirMatch[1], \"\")}`;\n } else if (ext in extensionsMap) {\n const base64Image = await readFile(relativePath, \"base64\");\n src = `data:${extensionsMap[ext as keyof typeof extensionsMap]};base64,${base64Image}`;\n }\n return src;\n }\n\n private async loadFiles(pathname?: string) {\n const pathnameClean = pathname?.replace(/^\\//, \"\");\n const files = await glob([\"**/*.{md,mdx}\", \"**/structure.json\"], { cwd: this.sourceRoot });\n\n const fileTree = files.reduce<BranchFiles>(\n (acc, item) => {\n if (!pathnameClean || (pathnameClean && item.startsWith(pathnameClean))) {\n const origPath = path\n .relative(process.cwd(), (this.sourceRoot || \".\") + \"/\" + item)\n .replace(/\\\\/g, \"/\");\n\n if (item.match(/\\.mdx?$/)) {\n const clientUrl = getFileUrl(\"/\" + item);\n const origClientPath = normalizePathname(clientUrl.substring(pathnameClean?.length || 0));\n const clientPath = origClientPath.replace(/\\/[0-9]+[-_](.)/g, \"/$1\");\n\n acc.docs.push({\n origPath,\n clientPath,\n origClientPath,\n });\n } else {\n acc.structures.push(origPath);\n }\n }\n return acc;\n },\n { docs: [], structures: [] },\n );\n fileTree.docs.sort((a, b) => a.origClientPath.localeCompare(b.origClientPath));\n this.filesPromise = fileTree;\n return fileTree;\n }\n}\n"],"names":["FileSystemProvider","BaseProvider","type","sourceRoot","constructor","process","cwd","super","this","replaceAll","filesPromise","loadFiles","getPageSourcePathname","uri","endsWith","fullUri","path","posix","join","replace","load","filePath","Error","readFile","getFileSrc","href","publicDirs","match","assetPath","relativePath","relative","dir","ext","parse","publicDirsRule","RegExp","publicDirMatch","src","extensionsMap","base64Image","pathname","pathnameClean","fileTree","glob","reduce","acc","item","startsWith","origPath","clientUrl","getFileUrl","origClientPath","normalizePathname","substring","length","clientPath","docs","push","structures","sort","a","b","localeCompare"],"mappings":"qQASM,MAAOA,UAA2BC,EAC3BC,KAAO,QAEhBC,WAEA,WAAAC,CAAYD,EAAqBE,QAAQC,OACrCC,MAAMJ,GACNK,KAAKL,WAAaA,EAAWM,WAAW,KAAM,KAC9CD,KAAKE,aAAeF,KAAKG,UAAU,GACvC,CAEA,2BAAMC,CAAsBC,GACxB,GAAIL,KAAKL,WAAWW,SAAS,QAAUN,KAAKL,WAAWW,SAAS,QAC5D,OAAON,KAAKL,WAEhB,MAAMY,EAAUC,EAAKC,MAAMC,KAAKV,KAAKL,WAAYU,GAAKJ,WAAW,KAAM,KAAKU,QAAQ,MAAO,IAC3F,OAAOZ,MAAMK,sBAAsBC,EAAKE,EAC5C,CAEA,UAAMK,CAAKP,GACP,MAAMQ,QAAiBb,KAAKI,sBAAsBC,GAClD,IAAKQ,EACD,MAAM,IAAIC,MAAM,0BAA0BT,MAG9C,aADsBU,EAASF,EAAU,QAE7C,CAEA,gBAAMG,CAAWX,EAAaY,EAAcC,GACxC,GAAID,EAAKE,MAAM,eAAgB,OAAOF,EAEtC,MAAMG,EAAYZ,EAAKC,MAAMC,KAAKb,QAAQC,MAAOO,GAAKM,QAAQ,MAAO,OAAS,GAAIM,EAAKN,QAAQ,MAAO,OAChGU,EAAeb,EAAKC,MAAMa,SAASzB,QAAQC,MAAOsB,IAClDG,IAAEA,EAAGC,IAAEA,GAAQhB,EAAKiB,MAAMJ,GAC1BK,EAAiBR,GAAc,IAAIS,OAAO,KAAKT,GAAYR,KAAK,cAChEkB,EAAiBF,GAAkBH,EAAIJ,MAAMO,GAEnD,IAAIG,EAAMZ,EACV,GAAIW,EACAC,EAAM,GAAGR,EAAaV,QAAQiB,EAAe,GAAI,WAC9C,GAAIJ,KAAOM,EAAe,CAC7B,MAAMC,QAAoBhB,EAASM,EAAc,UACjDQ,EAAM,QAAQC,EAAcN,aAA6CO,GAC7E,CACA,OAAOF,CACX,CAEQ,eAAM1B,CAAU6B,GACpB,MAAMC,EAAgBD,GAAUrB,QAAQ,MAAO,IAGzCuB,SAFcC,EAAK,CAAC,gBAAiB,qBAAsB,CAAErC,IAAKE,KAAKL,cAEtDyC,OACnB,CAACC,EAAKC,KACF,IAAKL,GAAkBA,GAAiBK,EAAKC,WAAWN,GAAiB,CACrE,MAAMO,EAAWhC,EACZc,SAASzB,QAAQC,OAAQE,KAAKL,YAAc,KAAO,IAAM2C,GACzD3B,QAAQ,MAAO,KAEpB,GAAI2B,EAAKnB,MAAM,WAAY,CACvB,MAAMsB,EAAYC,EAAW,IAAMJ,GAC7BK,EAAiBC,EAAkBH,EAAUI,UAAUZ,GAAea,QAAU,IAChFC,EAAaJ,EAAehC,QAAQ,mBAAoB,OAE9D0B,EAAIW,KAAKC,KAAK,CACVT,WACAO,aACAJ,kBAER,MACIN,EAAIa,WAAWD,KAAKT,EAE5B,CACA,OAAOH,GAEX,CAAEW,KAAM,GAAIE,WAAY,KAI5B,OAFAhB,EAASc,KAAKG,KAAK,CAACC,EAAGC,IAAMD,EAAET,eAAeW,cAAcD,EAAEV,iBAC9D3C,KAAKE,aAAegC,EACbA,CACX"}
package/lib/styles.css CHANGED
@@ -1,98 +1,4 @@
1
- .r-header {
2
- position: sticky;
3
- background-color: var(--r-main-50);
4
- top: 0;
5
- border-bottom: 1px solid var(--r-main-300);
6
- height: 60px;
7
- z-index: 1000;
8
- box-sizing: border-box;
9
- }
10
-
11
- .r-header-body.r-header-body {
12
- height: 100%;
13
- display: flex;
14
- justify-content: space-between;
15
- align-items: center;
16
- gap: 24px;
17
- box-sizing: border-box;
18
- padding-left: 24px;
19
- padding-right: 24px;
20
- }
21
-
22
- .r-header-logo {
23
- display: block;
24
- margin-right: 24px;
25
- color: var(--r-main-700);
26
- transition: color 0.2s;
27
- box-sizing: border-box;
28
- font-size: 1.25rem;
29
- font-weight: 600;
30
- text-decoration: none;
31
- }
32
- .r-header-logo:hover, .r-header-logo:focus {
33
- color: var(--r-main-950);
34
- }
35
-
36
- .r-header-nav {
37
- display: flex;
38
- flex-direction: column;
39
- gap: 12px 16px;
40
- }
41
- @media screen and (width >= 1024px) {
42
- .r-header-nav {
43
- flex-direction: row;
44
- }
45
- }
46
-
47
- .r-header-link {
48
- color: var(--r-main-600);
49
- text-decoration: none;
50
- padding: 4px 0;
51
- transition: color 0.2s;
52
- box-sizing: border-box;
53
- }
54
- .r-header-link:hover, .r-header-link:focus-visible {
55
- color: var(--r-main-950);
56
- }
57
-
58
- .r-header-link._target {
59
- color: var(--r-primary-800);
60
- }
61
- .r-header-link._target:hover, .r-header-link._target:focus-visible {
62
- color: var(--r-primary-700);
63
- }
64
-
65
- .r-header-actions {
66
- display: flex;
67
- flex-direction: column-reverse;
68
- gap: 16px;
69
- align-items: stretch;
70
- }
71
- @media screen and (width >= 1024px) {
72
- .r-header-actions {
73
- flex-direction: row;
74
- align-items: center;
75
- gap: 28px;
76
- }
77
- }
78
-
79
- .r-header-sections {
80
- display: flex;
81
- align-items: center;
82
- gap: 12px;
83
- }
84
- @media screen and (width < 768px) {
85
- .r-header-sections .r-dropdown {
86
- flex: 1;
87
- }
88
- }
89
- @media screen and (width < 768px) {
90
- .r-header-sections .r-dropdown-drop {
91
- max-width: none;
92
- width: 100%;
93
- left: 0;
94
- }
95
- }.r-footer {
1
+ .r-footer {
96
2
  border-top: 1px solid var(--r-main-300);
97
3
  }
98
4
 
@@ -398,17 +304,184 @@
398
304
  grid-template-columns: 760px 220px;
399
305
  grid-template-rows: auto 1fr auto;
400
306
  }
307
+ }.r-header {
308
+ position: sticky;
309
+ background-color: var(--r-main-50);
310
+ top: 0;
311
+ border-bottom: 1px solid var(--r-main-300);
312
+ height: 60px;
313
+ z-index: 1000;
314
+ box-sizing: border-box;
315
+ }
316
+
317
+ .r-header-body.r-header-body {
318
+ height: 100%;
319
+ display: flex;
320
+ justify-content: space-between;
321
+ align-items: center;
322
+ gap: 24px;
323
+ box-sizing: border-box;
324
+ padding-left: 24px;
325
+ padding-right: 24px;
326
+ }
327
+
328
+ .r-header-logo {
329
+ display: block;
330
+ margin-right: 24px;
331
+ color: var(--r-main-700);
332
+ transition: color 0.2s;
333
+ box-sizing: border-box;
334
+ font-size: 1.25rem;
335
+ font-weight: 600;
336
+ text-decoration: none;
337
+ }
338
+ .r-header-logo:hover, .r-header-logo:focus {
339
+ color: var(--r-main-950);
340
+ }
341
+
342
+ .r-header-nav {
343
+ display: flex;
344
+ flex-direction: column;
345
+ gap: 12px 16px;
346
+ }
347
+ @media screen and (width >= 1024px) {
348
+ .r-header-nav {
349
+ flex-direction: row;
350
+ }
351
+ }
352
+
353
+ .r-header-link {
354
+ color: var(--r-main-600);
355
+ text-decoration: none;
356
+ padding: 4px 0;
357
+ transition: color 0.2s;
358
+ box-sizing: border-box;
359
+ }
360
+ .r-header-link:hover, .r-header-link:focus-visible {
361
+ color: var(--r-main-950);
362
+ }
363
+
364
+ .r-header-link._target {
365
+ color: var(--r-primary-800);
366
+ }
367
+ .r-header-link._target:hover, .r-header-link._target:focus-visible {
368
+ color: var(--r-primary-700);
369
+ }
370
+
371
+ .r-header-actions {
372
+ display: flex;
373
+ flex-direction: column-reverse;
374
+ gap: 16px;
375
+ align-items: stretch;
376
+ }
377
+ @media screen and (width >= 1024px) {
378
+ .r-header-actions {
379
+ flex-direction: row;
380
+ align-items: center;
381
+ gap: 28px;
382
+ }
383
+ }
384
+
385
+ .r-header-sections {
386
+ display: flex;
387
+ align-items: center;
388
+ gap: 12px;
389
+ }
390
+ @media screen and (width < 768px) {
391
+ .r-header-sections .r-dropdown {
392
+ flex: 1;
393
+ }
394
+ }
395
+ @media screen and (width < 768px) {
396
+ .r-header-sections .r-dropdown-drop {
397
+ max-width: none;
398
+ width: 100%;
399
+ left: 0;
400
+ }
401
401
  }.r-page-container {
402
402
  min-height: calc(100dvh - var(--r-header-height));
403
403
  overflow-wrap: break-word;
404
404
  box-sizing: border-box;
405
- }.r-keylink.keylink-to-navigation:focus {
406
- margin-top: -40px;
407
405
  }.keylink-to-content {
408
406
  position: absolute !important;
409
407
  top: 8px;
410
408
  left: 12px;
411
409
  z-index: 1001;
410
+ }.r-keylink.keylink-to-navigation:focus {
411
+ margin-top: -40px;
412
+ }.r-container {
413
+ max-width: 1180px;
414
+ padding-right: 12px;
415
+ padding-left: 12px;
416
+ margin-right: auto;
417
+ margin-left: auto;
418
+ box-sizing: border-box;
419
+ }.r-theme-switcher {
420
+ position: relative;
421
+ display: flex;
422
+ gap: 4px;
423
+ width: 109px;
424
+ height: 37px;
425
+ padding: 2px;
426
+ background-color: var(--r-main-100);
427
+ border: 1px solid var(--r-main-200);
428
+ border-radius: 100px;
429
+ box-sizing: border-box;
430
+ }
431
+ .r-theme-switcher::before {
432
+ content: "";
433
+ position: absolute;
434
+ display: block;
435
+ height: 32px;
436
+ width: 32px;
437
+ top: 2px;
438
+ left: 2px;
439
+ background-color: var(--r-main-50);
440
+ border: 1px solid var(--r-main-200);
441
+ border-radius: 100px;
442
+ transition: left 0.2s;
443
+ box-sizing: border-box;
444
+ }
445
+
446
+ .r-theme-switcher-btn {
447
+ padding: 8px;
448
+ background: none;
449
+ border: 0;
450
+ border-radius: 100px;
451
+ cursor: pointer;
452
+ color: var(--r-main-700);
453
+ fill: transparent;
454
+ z-index: 1;
455
+ transition: color 0.2s 0.1s, fill 0.2s;
456
+ }
457
+ .r-theme-switcher-btn:hover {
458
+ color: var(--r-main-950);
459
+ fill: var(--r-main-600);
460
+ }
461
+
462
+ .r-theme-dark:not(.r-theme-system) .r-theme-switcher::before {
463
+ left: 2px;
464
+ }
465
+
466
+ .r-theme-dark:not(.r-theme-system) .r-theme-switcher-btn__dark,
467
+ .r-theme-system .r-theme-switcher-btn__system,
468
+ .r-theme-light:not(.r-theme-system) .r-theme-switcher-btn__light {
469
+ color: var(--r-main-950);
470
+ fill: var(--r-main-950);
471
+ pointer-events: none;
472
+ }
473
+
474
+ .r-theme-switcher::before,
475
+ .r-theme-system .r-theme-switcher::before {
476
+ left: 38px;
477
+ }
478
+
479
+ .r-theme-light:not(.r-theme-system) .r-theme-switcher::before {
480
+ left: 74px;
481
+ }
482
+
483
+ .r-theme-switcher-svg {
484
+ display: block;
412
485
  }.r-header-menu {
413
486
  display: flex;
414
487
  justify-content: flex-end;
@@ -759,13 +832,6 @@
759
832
  font-size: 14px;
760
833
  color: var(--r-main-600);
761
834
  margin: 12px 0 0;
762
- }.r-container {
763
- max-width: 1180px;
764
- padding-right: 12px;
765
- padding-left: 12px;
766
- margin-right: auto;
767
- margin-left: auto;
768
- box-sizing: border-box;
769
835
  }.r-header-social {
770
836
  display: flex;
771
837
  flex: 1;
@@ -784,72 +850,6 @@
784
850
  }
785
851
  .r-header-social-git:hover, .r-header-social-git:focus {
786
852
  color: var(--r-main-950);
787
- }.r-theme-switcher {
788
- position: relative;
789
- display: flex;
790
- gap: 4px;
791
- width: 109px;
792
- height: 37px;
793
- padding: 2px;
794
- background-color: var(--r-main-100);
795
- border: 1px solid var(--r-main-200);
796
- border-radius: 100px;
797
- box-sizing: border-box;
798
- }
799
- .r-theme-switcher::before {
800
- content: "";
801
- position: absolute;
802
- display: block;
803
- height: 32px;
804
- width: 32px;
805
- top: 2px;
806
- left: 2px;
807
- background-color: var(--r-main-50);
808
- border: 1px solid var(--r-main-200);
809
- border-radius: 100px;
810
- transition: left 0.2s;
811
- box-sizing: border-box;
812
- }
813
-
814
- .r-theme-switcher-btn {
815
- padding: 8px;
816
- background: none;
817
- border: 0;
818
- border-radius: 100px;
819
- cursor: pointer;
820
- color: var(--r-main-700);
821
- fill: transparent;
822
- z-index: 1;
823
- transition: color 0.2s 0.1s, fill 0.2s;
824
- }
825
- .r-theme-switcher-btn:hover {
826
- color: var(--r-main-950);
827
- fill: var(--r-main-600);
828
- }
829
-
830
- .r-theme-dark:not(.r-theme-system) .r-theme-switcher::before {
831
- left: 2px;
832
- }
833
-
834
- .r-theme-dark:not(.r-theme-system) .r-theme-switcher-btn__dark,
835
- .r-theme-system .r-theme-switcher-btn__system,
836
- .r-theme-light:not(.r-theme-system) .r-theme-switcher-btn__light {
837
- color: var(--r-main-950);
838
- fill: var(--r-main-950);
839
- pointer-events: none;
840
- }
841
-
842
- .r-theme-switcher::before,
843
- .r-theme-system .r-theme-switcher::before {
844
- left: 38px;
845
- }
846
-
847
- .r-theme-light:not(.r-theme-system) .r-theme-switcher::before {
848
- left: 74px;
849
- }
850
-
851
- .r-theme-switcher-svg {
852
- display: block;
853
853
  }.r-article {
854
854
  padding: 20px 0 40px;
855
855
  grid-area: content;
@@ -1229,6 +1229,8 @@
1229
1229
  opacity: 1;
1230
1230
  visibility: visible;
1231
1231
  pointer-events: all;
1232
+ }.r-git-logo {
1233
+ display: block;
1232
1234
  }.r-external-mark {
1233
1235
  position: relative;
1234
1236
  vertical-align: text-top;
@@ -1260,8 +1262,6 @@
1260
1262
  background-color: currentColor;
1261
1263
  border-radius: 0 0 0 4px;
1262
1264
  box-sizing: border-box;
1263
- }.r-git-logo {
1264
- display: block;
1265
1265
  }.r-contents {
1266
1266
  grid-area: contents;
1267
1267
  }
@@ -1712,15 +1712,16 @@
1712
1712
  scrollbar-color: var(--r-main-200) transparent;
1713
1713
  box-sizing: border-box;
1714
1714
  }.r-blockquote {
1715
- background-color: var(--r-main-100);
1716
- padding: 8px 12px 8px 20px;
1717
- border-left: 6px solid var(--r-main-600);
1715
+ padding: 4px 12px 4px 20px;
1716
+ border: 4px solid var(--r-main-100);
1717
+ border-left: 4px solid var(--r-main-600);
1718
1718
  border-top-right-radius: 2px;
1719
1719
  border-bottom-right-radius: 2px;
1720
1720
  font: inherit;
1721
1721
  margin-inline: 0;
1722
1722
  margin-block-start: 1em;
1723
1723
  margin-block-end: 1em;
1724
+ border-radius: 8px;
1724
1725
  }
1725
1726
 
1726
1727
  .r-blockquote-title {
@@ -1767,19 +1768,6 @@
1767
1768
  }
1768
1769
  .r-blockquote-caution .r-blockquote-title {
1769
1770
  color: var(--r-caution);
1770
- }.r-code-block {
1771
- font-family: var(--monospace-font, monospace, monospace);
1772
- font-size: 16px;
1773
- line-height: 1.33;
1774
- border-radius: 6px;
1775
- padding: 16px 20px;
1776
- margin: 0;
1777
- color: var(--r-primary-800);
1778
- background-color: var(--r-main-50);
1779
- overflow-x: auto;
1780
- scrollbar-width: thin;
1781
- scrollbar-color: var(--r-main-200) transparent;
1782
- box-sizing: border-box;
1783
1771
  }.r-code-span {
1784
1772
  font-family: var(--monospace-font, monospace, monospace);
1785
1773
  background-color: var(--r-main-100);
@@ -1794,6 +1782,19 @@
1794
1782
 
1795
1783
  .r-code-span + .r-content-link-external {
1796
1784
  margin-left: -12px;
1785
+ }.r-code-block {
1786
+ font-family: var(--monospace-font, monospace, monospace);
1787
+ font-size: 16px;
1788
+ line-height: 1.33;
1789
+ border-radius: 6px;
1790
+ padding: 16px 20px;
1791
+ margin: 0;
1792
+ color: var(--r-primary-800);
1793
+ background-color: var(--r-main-50);
1794
+ overflow-x: auto;
1795
+ scrollbar-width: thin;
1796
+ scrollbar-color: var(--r-main-200) transparent;
1797
+ box-sizing: border-box;
1797
1798
  }.r-h1 {
1798
1799
  font-size: 32px;
1799
1800
  line-height: 1.4;
@@ -2017,20 +2018,35 @@
2017
2018
  padding-inline-start: 2rem;
2018
2019
  margin-block-start: 1em;
2019
2020
  margin-block-end: 1em;
2021
+ }.r-ul {
2022
+ padding-inline-start: 2rem;
2023
+ margin-block-start: 1em;
2024
+ margin-block-end: 1em;
2020
2025
  }.r-table {
2026
+ position: relative;
2021
2027
  min-width: 100%;
2022
2028
  text-align: left;
2023
2029
  border-collapse: collapse;
2024
2030
  box-sizing: border-box;
2025
- }.r-ul {
2026
- padding-inline-start: 2rem;
2027
- margin-block-start: 1em;
2028
- margin-block-end: 1em;
2031
+ background-color: var(--r-main-50);
2032
+ margin: 4px;
2033
+ border-radius: 6px;
2034
+ }
2035
+ .r-table::before {
2036
+ content: "";
2037
+ inset: -4px;
2038
+ position: absolute;
2039
+ background-color: var(--r-main-100);
2040
+ z-index: -1;
2041
+ border-radius: 8px;
2042
+ border: 1px solid var(--r-main-200);
2029
2043
  }.r-td {
2030
- padding: 6px 12px;
2031
- border-bottom: 1px solid var(--r-main-400);
2044
+ padding: 8px 12px;
2032
2045
  border-collapse: collapse;
2033
2046
  }
2047
+ .r-td:not(:last-child) {
2048
+ border-right: 1px solid var(--r-main-200);
2049
+ }
2034
2050
 
2035
2051
  .r-td_left {
2036
2052
  text-align: left;
@@ -2043,10 +2059,19 @@
2043
2059
  .r-td_right {
2044
2060
  text-align: right;
2045
2061
  }.r-th {
2046
- padding: 6px 12px;
2047
- border-top: 1px solid var(--r-main-500);
2048
- border-bottom: 1px solid var(--r-main-500);
2062
+ padding: 8px 12px;
2049
2063
  border-collapse: collapse;
2064
+ background-color: var(--r-main-100);
2065
+ border-bottom: 1px solid var(--r-main-200);
2066
+ }
2067
+ .r-thead .r-th:first-child {
2068
+ border-top-left-radius: 6px;
2069
+ }
2070
+ .r-thead .r-th:last-child {
2071
+ border-top-right-radius: 6px;
2072
+ }
2073
+ .r-th:not(:last-child) {
2074
+ border-right: 1px solid var(--r-main-200);
2050
2075
  }
2051
2076
 
2052
2077
  .r-th_left {
@@ -2059,8 +2084,15 @@
2059
2084
 
2060
2085
  .r-th_right {
2061
2086
  text-align: right;
2062
- }.r-thead {
2063
- background-color: var(--r-main-100);
2087
+ }.r-tr {
2088
+ border-collapse: collapse;
2089
+ }
2090
+ .r-tr:not(:first-child) {
2091
+ border-top: 1px solid var(--r-main-200);
2092
+ }.r-task-ol {
2093
+ list-style: none;
2094
+ }.r-task-ul {
2095
+ list-style: none;
2064
2096
  }.r-task-li.r-task-li {
2065
2097
  margin-block-start: 2px;
2066
2098
  margin-block-end: 2px;
@@ -2090,10 +2122,6 @@
2090
2122
 
2091
2123
  .r-task-label-text {
2092
2124
  vertical-align: middle;
2093
- }.r-task-ol {
2094
- list-style: none;
2095
- }.r-task-ul {
2096
- list-style: none;
2097
2125
  }.r-tooltip {
2098
2126
  font-family: var(--monospace-font, monospace, monospace);
2099
2127
  display: none;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "robindoc",
3
- "version": "0.0.0-experimental-a217ca0",
3
+ "version": "0.0.0-experimental-b4f8a34",
4
4
  "description": "Robindoc is a framework for automatically creating documentation websites based on markdown files, built on React.js Server Components",
5
5
  "main": "./lib/index.js",
6
6
  "scripts": {
@@ -36,7 +36,7 @@
36
36
  "clsx": "2.1.1",
37
37
  "dot-prop": "10.1.0",
38
38
  "github-slugger": "2.0.0",
39
- "glob": "13.0.0",
39
+ "tinyglobby": "0.2.15",
40
40
  "gray-matter": "4.0.3",
41
41
  "html-react-parser": "5.2.11",
42
42
  "marked": "17.0.1",