robindoc 3.3.0 → 3.3.2

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 (49) hide show
  1. package/README.md +1 -0
  2. package/lib/components/blocks/header-menu/index.d.ts.map +1 -1
  3. package/lib/components/blocks/header-menu/index.js +1 -1
  4. package/lib/components/blocks/header-menu/index.js.map +1 -1
  5. package/lib/components/blocks/no-js/index.d.ts.map +1 -1
  6. package/lib/components/blocks/no-js/index.js +1 -1
  7. package/lib/components/blocks/no-js/index.js.map +1 -1
  8. package/lib/components/blocks/pagination/index.d.ts.map +1 -1
  9. package/lib/components/blocks/pagination/index.js +1 -1
  10. package/lib/components/blocks/pagination/index.js.map +1 -1
  11. package/lib/components/blocks/theme-detector/index.d.ts.map +1 -1
  12. package/lib/components/blocks/theme-detector/index.js +1 -1
  13. package/lib/components/blocks/theme-detector/index.js.map +1 -1
  14. package/lib/components/blocks/theme-switcher/index.d.ts.map +1 -1
  15. package/lib/components/blocks/theme-switcher/index.js +1 -1
  16. package/lib/components/blocks/theme-switcher/index.js.map +1 -1
  17. package/lib/components/contexts/contents/provider.d.ts.map +1 -1
  18. package/lib/components/contexts/contents/provider.js +1 -1
  19. package/lib/components/contexts/contents/provider.js.map +1 -1
  20. package/lib/components/elements/article/document.d.ts.map +1 -1
  21. package/lib/components/elements/article/document.js +1 -1
  22. package/lib/components/elements/article/document.js.map +1 -1
  23. package/lib/components/elements/robin-provider/index.d.ts +2 -0
  24. package/lib/components/elements/robin-provider/index.d.ts.map +1 -1
  25. package/lib/components/elements/robin-provider/index.js +1 -1
  26. package/lib/components/elements/robin-provider/index.js.map +1 -1
  27. package/lib/components/elements/sidebar/sidebar-menu/index.d.ts.map +1 -1
  28. package/lib/components/elements/sidebar/sidebar-menu/index.js +1 -1
  29. package/lib/components/elements/sidebar/sidebar-menu/index.js.map +1 -1
  30. package/lib/components/ui/code-block/index.d.ts.map +1 -1
  31. package/lib/components/ui/code-block/index.js.map +1 -1
  32. package/lib/components/ui/copy-button/index.d.ts.map +1 -1
  33. package/lib/components/ui/copy-button/index.js +1 -1
  34. package/lib/components/ui/copy-button/index.js.map +1 -1
  35. package/lib/components/ui/git-logos/index.d.ts +1 -0
  36. package/lib/components/ui/git-logos/index.d.ts.map +1 -1
  37. package/lib/components/ui/git-logos/index.js +1 -1
  38. package/lib/components/ui/git-logos/index.js.map +1 -1
  39. package/lib/components/ui/tabs/tabs-header/index.d.ts.map +1 -1
  40. package/lib/components/ui/tabs/tabs-header/index.js +1 -1
  41. package/lib/components/ui/tabs/tabs-header/index.js.map +1 -1
  42. package/lib/components/ui/tabs/tabs-styles/index.js +1 -1
  43. package/lib/components/ui/tabs/tabs-styles/index.js.map +1 -1
  44. package/lib/styles.css +394 -336
  45. package/package.json +2 -2
  46. package/lib/assets/index.d.ts +0 -2
  47. package/lib/assets/index.d.ts.map +0 -1
  48. package/lib/assets/index.js +0 -2
  49. package/lib/assets/index.js.map +0 -1
@@ -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 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 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 const childTokens =\n elem.tokens?.length === 1 && elem.tokens[0].type === \"paragraph\"\n ? elem.tokens[0].tokens\n : elem.tokens;\n return (\n <TaskListItem key={elem.raw + index} defaultChecked={elem.checked}>\n {childTokens ? <DocumentToken token={childTokens} /> : elem.raw}\n </TaskListItem>\n );\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 case \"def\":\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","createElement","NavContentLink","attributesToProps","domToReact","children","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","length","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 { 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 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 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 const childTokens =\n elem.tokens?.length === 1 && elem.tokens[0].type === \"paragraph\"\n ? elem.tokens[0].tokens\n : elem.tokens;\n\n return (\n <TaskListItem key={elem.raw + index} defaultChecked={elem.checked}>\n {childTokens ? <DocumentToken token={childTokens} /> : elem.raw}\n </TaskListItem>\n );\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 const childTokens =\n elem.tokens?.length === 1 && elem.tokens[0].type === \"paragraph\"\n ? elem.tokens[0].tokens\n : elem.tokens;\n return (\n <ListItem key={elem.raw + index}>\n {childTokens ? <DocumentToken token={childTokens} /> : elem.raw}\n </ListItem>\n );\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 case \"def\":\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","createElement","NavContentLink","attributesToProps","domToReact","children","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","length","TaskListItem","defaultChecked","checked","OrderedList","UnorderedList","ListItem","startsWith","endsWith","selfClosed","slice","reduce","acc","cur","_match","value"],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import React from "react";
2
2
  import { type Theme } from "../../../core/types/theme";
3
+ import "./robin-provider.scss";
3
4
  interface RobinProviderProps {
4
5
  theme?: Theme;
6
+ component?: React.ElementType;
5
7
  }
6
8
  export declare const RobinProvider: React.FC<React.PropsWithChildren<RobinProviderProps>>;
7
9
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/robin-provider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,KAAK,EAAE,kCAA8B;AAMnD,UAAU,kBAAkB;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAO/E,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/elements/robin-provider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,KAAK,EAAE,kCAA8B;AAMnD,OAAO,uBAAuB,CAAC;AAE/B,UAAU,kBAAkB;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;CACjC;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAW/E,CAAC"}
@@ -1,2 +1,2 @@
1
- import e from"react";import{NavigateProvider as t}from"../../contexts/navigate/provider.js";import{ThemeStyles as r}from"../../blocks/theme-styles/index.js";import{ThemeDetector as m}from"../../blocks/theme-detector/index.js";import{NoJs as o}from"../../blocks/no-js/index.js";const l=({children:l,theme:n})=>e.createElement(e.Fragment,null,n&&e.createElement(r,{theme:n}),e.createElement(m,null),e.createElement(t,null,l),e.createElement(o,null));export{l as RobinProvider};
1
+ import e from"react";import{NavigateProvider as t}from"../../contexts/navigate/provider.js";import{ThemeStyles as r}from"../../blocks/theme-styles/index.js";import{ThemeDetector as o}from"../../blocks/theme-detector/index.js";import{NoJs as m}from"../../blocks/no-js/index.js";const n=({children:n,theme:l,component:s="div"})=>e.createElement(s,{suppressHydrationWarning:!0,className:"r-root"},l&&e.createElement(r,{theme:l}),e.createElement(o,null),e.createElement(t,null,n),e.createElement(m,null));export{n as RobinProvider};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/elements/robin-provider/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { type Theme } from \"@src/core/types/theme\";\nimport { NavigateProvider } from \"@src/components/contexts/navigate/provider\";\nimport { ThemeStyles } from \"@src/components/blocks/theme-styles\";\nimport { ThemeDetector } from \"@src/components/blocks/theme-detector\";\nimport { NoJs } from \"@src/components/blocks/no-js\";\n\ninterface RobinProviderProps {\n theme?: Theme;\n}\n\nexport const RobinProvider: React.FC<React.PropsWithChildren<RobinProviderProps>> = ({ children, theme }) => (\n <>\n {theme && <ThemeStyles theme={theme} />}\n <ThemeDetector />\n <NavigateProvider>{children}</NavigateProvider>\n <NoJs />\n </>\n);\n"],"names":["RobinProvider","children","theme","React","createElement","Fragment","ThemeStyles","ThemeDetector","NavigateProvider","NoJs"],"mappings":"qRAYO,MAAMA,EAAuE,EAAGC,WAAUC,WAC7FC,EAAAC,cAAAD,EAAAE,SAAA,KACKH,GAASC,EAAAC,cAACE,GAAYJ,MAAOA,IAC9BC,EAAAC,cAACG,EAAa,MACdJ,EAAAC,cAACI,EAAgB,KAAEP,GACnBE,EAAAC,cAACK,EAAI"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/elements/robin-provider/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { type Theme } from \"@src/core/types/theme\";\nimport { NavigateProvider } from \"@src/components/contexts/navigate/provider\";\nimport { ThemeStyles } from \"@src/components/blocks/theme-styles\";\nimport { ThemeDetector } from \"@src/components/blocks/theme-detector\";\nimport { NoJs } from \"@src/components/blocks/no-js\";\n\nimport \"./robin-provider.scss\";\n\ninterface RobinProviderProps {\n theme?: Theme;\n component?: React.ElementType;\n}\n\nexport const RobinProvider: React.FC<React.PropsWithChildren<RobinProviderProps>> = ({\n children,\n theme,\n component: Component = \"div\",\n}) => (\n <Component suppressHydrationWarning className=\"r-root\">\n {theme && <ThemeStyles theme={theme} />}\n <ThemeDetector />\n <NavigateProvider>{children}</NavigateProvider>\n <NoJs />\n </Component>\n);\n"],"names":["RobinProvider","children","theme","component","Component","React","createElement","suppressHydrationWarning","className","ThemeStyles","ThemeDetector","NavigateProvider","NoJs"],"mappings":"qRAeO,MAAMA,EAAuE,EAChFC,WACAC,QACAC,UAAWC,EAAY,SAEvBC,EAAAC,cAACF,EAAS,CAACG,0BAAwB,EAACC,UAAU,UACzCN,GAASG,EAAAC,cAACG,GAAYP,MAAOA,IAC9BG,EAAAC,cAACI,EAAa,MACdL,EAAAC,cAACK,EAAgB,KAAEV,GACnBI,EAAAC,cAACM,EAAI"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/elements/sidebar/sidebar-menu/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAK3D,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACnD,YAAY,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgElD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/elements/sidebar/sidebar-menu/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAK3D,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACnD,YAAY,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAkElD,CAAC"}
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import e,{useState as t,useRef as r,useEffect as n}from"react";import{useNavigate as a}from"../../../contexts/navigate/use-navigate.js";import{ReferenceProvider as o}from"../../../contexts/reference/provider.js";const s=({children:s,translations:i})=>{const{menu:c="Menu"}=i||{},{addListener:l,removeListener:d}=a(),[m,b]=t(!1),u=r(null),p=()=>{document.body.classList.remove("body-mobile-lock"),b(!1),d("closeSidebarMenu")};return n(()=>()=>{p()},[]),e.createElement("div",{className:"r-sidebar"},e.createElement("input",{type:"checkbox",id:"sidebar-input",className:"r-sidebar-input",hidden:!0,onChange:()=>{m?p():(document.body.classList.add("body-mobile-lock"),b(!0),l("closeSidebarMenu",p))},checked:m}),e.createElement("label",{htmlFor:"sidebar-input",className:"r-sidebar-btn",role:"button",tabIndex:0},e.createElement("svg",{className:"r-sidebar-chevron",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},e.createElement("path",{d:"m9 18 6-6-6-6"})),e.createElement("span",null,c)),e.createElement("nav",{ref:u,className:"r-sidebar-nav",id:"navigation"},e.createElement(o,{reference:u},s)))};export{s as SidebarMenu};
2
+ import e,{useState as r,useRef as t,useEffect as n}from"react";import{useNavigate as o}from"../../../contexts/navigate/use-navigate.js";import{ReferenceProvider as a}from"../../../contexts/reference/provider.js";const s=({children:s,translations:i})=>{const{menu:c="Menu"}=i||{},{addListener:l,removeListener:d}=o(),[m,u]=r(!1),b=t(null),p=()=>{const e=document.querySelector(".r-root");e?.classList.remove("body-mobile-lock"),u(!1),d("closeSidebarMenu")};return n(()=>()=>{p()},[]),e.createElement("div",{className:"r-sidebar"},e.createElement("input",{type:"checkbox",id:"sidebar-input",className:"r-sidebar-input",hidden:!0,onChange:()=>{m?p():(()=>{const e=document.querySelector(".r-root");e?.classList.add("body-mobile-lock"),u(!0),l("closeSidebarMenu",p)})()},checked:m}),e.createElement("label",{htmlFor:"sidebar-input",className:"r-sidebar-btn",role:"button",tabIndex:0},e.createElement("svg",{className:"r-sidebar-chevron",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},e.createElement("path",{d:"m9 18 6-6-6-6"})),e.createElement("span",null,c)),e.createElement("nav",{ref:b,className:"r-sidebar-nav",id:"navigation"},e.createElement(a,{reference:b},s)))};export{s as SidebarMenu};
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/elements/sidebar/sidebar-menu/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useRef, useState } from \"react\";\n\nimport { useNavigate } from \"@src/components/contexts/navigate/use-navigate\";\nimport { ReferenceProvider } from \"@src/components/contexts/reference/provider\";\n\nexport type SidebarMenuProps = React.PropsWithChildren<{\n translations?: {\n menu?: string;\n };\n}>;\n\nexport const SidebarMenu: React.FC<SidebarMenuProps> = ({ children, translations }) => {\n const { menu = \"Menu\" } = translations || {};\n const { addListener, removeListener } = useNavigate();\n const [opened, setOpened] = useState(false);\n const sidebarNavRef = useRef<HTMLElement | null>(null);\n\n const openHandler = () => {\n document.body.classList.add(\"body-mobile-lock\");\n setOpened(true);\n addListener(\"closeSidebarMenu\", closeHandler);\n };\n\n const closeHandler = () => {\n document.body.classList.remove(\"body-mobile-lock\");\n setOpened(false);\n removeListener(\"closeSidebarMenu\");\n };\n\n const toggleHandler = () => {\n if (opened) {\n closeHandler();\n } else {\n openHandler();\n }\n };\n\n useEffect(\n () => () => {\n closeHandler();\n },\n [],\n );\n\n return (\n <div className=\"r-sidebar\">\n <input\n type=\"checkbox\"\n id=\"sidebar-input\"\n className=\"r-sidebar-input\"\n hidden\n onChange={toggleHandler}\n checked={opened}\n />\n <label htmlFor=\"sidebar-input\" className=\"r-sidebar-btn\" role=\"button\" tabIndex={0}>\n <svg\n className=\"r-sidebar-chevron\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n <span>{menu}</span>\n </label>\n <nav ref={sidebarNavRef} className=\"r-sidebar-nav\" id=\"navigation\">\n <ReferenceProvider reference={sidebarNavRef}>{children}</ReferenceProvider>\n </nav>\n </div>\n );\n};\n"],"names":["SidebarMenu","children","translations","menu","addListener","removeListener","useNavigate","opened","setOpened","useState","sidebarNavRef","useRef","closeHandler","document","body","classList","remove","useEffect","React","createElement","className","type","id","hidden","onChange","add","checked","htmlFor","role","tabIndex","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","ref","ReferenceProvider","reference"],"mappings":";oNAaO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMA,CAAAA,CAA0C,CAAA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAChE,MAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAWD,CAAAA,CAAAA,CAAgB,CAAA,CAAA,CAAA,CACpCE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,CAAAA,CAAWC,eAAEA,CAAAA,CAAAA,CAAmBC,CAAAA,CAAAA,CAAAA,CAAAA,CACjCC,CAAAA,CAAQC,CAAAA,CAAAA,CAAaC,GAAS,CAAA,CAAA,CAC/BC,CAAAA,CAAgBC,CAAAA,CAA2B,CAAA,CAAA,CAAA,CAAA,CAAA,CAQ3CC,EAAe,CAAA,CAAA,CAAA,CAAA,CACjBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAKC,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,CAAA,CAAA,CAAA,CAAA,CAC/BR,CAAAA,CAAAA,CAAU,CAAA,CAAA,CACVH,EAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAkBnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAPAY,CAAAA,CACI,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CACFL,CAAAA,CAAAA,CAAAA,CAAAA,CAEJ,CAAA,CAAA,CAAA,CAIAM,CAAAA,CAAAC,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAKC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACXF,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACIE,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACLC,CAAAA,CAAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACHF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,kBACVG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GACAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAtBU,CAAA,CAAA,CAAA,CAAA,CACdjB,EACAK,CAAAA,CAAAA,CAAAA,CAAAA,CAbJC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAKC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUU,CAAAA,CAAAA,CAAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC5BjB,CAAAA,CAAAA,CAAU,CAAA,CAAA,CACVJ,EAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoBQ,CAAAA,CAAAA,CAAAA,CAAAA,CAgCxBc,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASnB,CAAAA,CAAAA,CAAAA,CAEbW,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOQ,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgBP,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,CAAgBQ,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA,CAAA,CAC7EX,CAAAA,CAAAC,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,CACVU,MAAM,CAAA,CAAA,CAAA,CAAA,CACNC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CACPC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,YACRC,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACLC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACPC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,CAAA,CAAA,CAAA,CACZC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACdC,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEfnB,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMmB,CAAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEZpB,CAAAA,CAAAC,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOhB,CAAAA,CAAAA,CAAAA,CAEXe,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAKoB,CAAAA,CAAAA,CAAAA,CAAK7B,EAAeU,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,CAAgBE,CAAAA,CAAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAClDJ,EAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAACqB,CAAAA,CAAiB,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW/B,GAAgBT,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/elements/sidebar/sidebar-menu/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useRef, useState } from \"react\";\n\nimport { useNavigate } from \"@src/components/contexts/navigate/use-navigate\";\nimport { ReferenceProvider } from \"@src/components/contexts/reference/provider\";\n\nexport type SidebarMenuProps = React.PropsWithChildren<{\n translations?: {\n menu?: string;\n };\n}>;\n\nexport const SidebarMenu: React.FC<SidebarMenuProps> = ({ children, translations }) => {\n const { menu = \"Menu\" } = translations || {};\n const { addListener, removeListener } = useNavigate();\n const [opened, setOpened] = useState(false);\n const sidebarNavRef = useRef<HTMLElement | null>(null);\n\n const openHandler = () => {\n const rootElement = document.querySelector<HTMLElement>(\".r-root\");\n rootElement?.classList.add(\"body-mobile-lock\");\n setOpened(true);\n addListener(\"closeSidebarMenu\", closeHandler);\n };\n\n const closeHandler = () => {\n const rootElement = document.querySelector<HTMLElement>(\".r-root\");\n rootElement?.classList.remove(\"body-mobile-lock\");\n setOpened(false);\n removeListener(\"closeSidebarMenu\");\n };\n\n const toggleHandler = () => {\n if (opened) {\n closeHandler();\n } else {\n openHandler();\n }\n };\n\n useEffect(\n () => () => {\n closeHandler();\n },\n [],\n );\n\n return (\n <div className=\"r-sidebar\">\n <input\n type=\"checkbox\"\n id=\"sidebar-input\"\n className=\"r-sidebar-input\"\n hidden\n onChange={toggleHandler}\n checked={opened}\n />\n <label htmlFor=\"sidebar-input\" className=\"r-sidebar-btn\" role=\"button\" tabIndex={0}>\n <svg\n className=\"r-sidebar-chevron\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n <span>{menu}</span>\n </label>\n <nav ref={sidebarNavRef} className=\"r-sidebar-nav\" id=\"navigation\">\n <ReferenceProvider reference={sidebarNavRef}>{children}</ReferenceProvider>\n </nav>\n </div>\n );\n};\n"],"names":["SidebarMenu","children","translations","menu","addListener","removeListener","useNavigate","opened","setOpened","useState","sidebarNavRef","useRef","closeHandler","rootElement","document","querySelector","classList","remove","useEffect","React","createElement","className","type","id","hidden","onChange","add","openHandler","checked","htmlFor","role","tabIndex","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","ref","ReferenceProvider","reference"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/code-block/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgB,MAAM,OAAO,CAAC;AACrC,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,OAAO,CAAC;AAKhE,OAAO,mBAAmB,CAAC;AAG3B,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAqBD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAoB9C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/code-block/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgB,MAAM,OAAO,CAAC;AACrC,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,OAAO,CAAC;AAMhE,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAqBD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAoB9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/ui/code-block/index.tsx"],"sourcesContent":["import React, { cache } from \"react\";\nimport { createHighlighter, type BuiltinLanguage } from \"shiki\";\nimport clsx from \"clsx\";\n\nimport { githubDynamic } from \"./theme\";\n\nimport \"./code-block.scss\";\nimport { CodeSpan } from \"../code-span\";\n\nexport interface CodeBlockProps {\n code: string;\n lang: BuiltinLanguage;\n className?: string;\n inline?: boolean;\n}\n\nconst initBaseHighlighter = async () => {\n const highlighter = await createHighlighter({ langs: [], themes: [] });\n await highlighter.loadTheme(githubDynamic);\n return highlighter;\n};\n\nconst highlighterPromise = initBaseHighlighter();\n\nconst getHighlighter = cache(async (language: BuiltinLanguage) => {\n const highlighter = await highlighterPromise;\n const loadedLanguages = highlighter.getLoadedLanguages();\n\n if (!loadedLanguages.includes(language)) {\n await highlighter.loadLanguage(language);\n }\n\n return highlighter;\n});\n\nexport const CodeBlock: React.FC<CodeBlockProps> = async ({ code, lang, className, inline }) => {\n const highlighter = await getHighlighter(lang);\n await highlighter.loadTheme(githubDynamic);\n\n const html = highlighter.codeToHtml(code, {\n lang,\n theme: \"github-dynamic\",\n structure: \"inline\",\n });\n\n if (inline) return <CodeSpan code={html} />;\n\n const Component = inline ? \"code\" : \"pre\";\n\n return (\n <Component\n className={clsx(inline ? \"r-code-span\" : \"r-code-block\", className)}\n dangerouslySetInnerHTML={{ __html: html }}\n />\n );\n};\n"],"names":["highlighterPromise","async","highlighter","createHighlighter","langs","themes","loadTheme","githubDynamic","initBaseHighlighter","getHighlighter","cache","language","getLoadedLanguages","includes","loadLanguage","CodeBlock","code","lang","className","inline","html","codeToHtml","theme","structure","React","CodeSpan","Component","createElement","clsx","dangerouslySetInnerHTML","__html"],"mappings":"2LAgBA,MAMMA,EANsBC,WACxB,MAAMC,QAAoBC,EAAkB,CAAEC,MAAO,GAAIC,OAAQ,KAEjE,aADMH,EAAYI,UAAUC,GACrBL,GAGgBM,GAErBC,EAAiBC,EAAMT,MAAOU,IAChC,MAAMT,QAAoBF,EAO1B,OANwBE,EAAYU,qBAEfC,SAASF,UACpBT,EAAYY,aAAaH,GAG5BT,IAGEa,EAAsCd,OAASe,OAAMC,OAAMC,YAAWC,aAC/E,MAAMjB,QAAoBO,EAAeQ,SACnCf,EAAYI,UAAUC,GAE5B,MAAMa,EAAOlB,EAAYmB,WAAWL,EAAM,CACtCC,OACAK,MAAO,iBACPC,UAAW,WAGf,GAAIJ,EAAQ,OAAOK,gBAACC,EAAQ,CAACT,KAAMI,IAEnC,MAAMM,EAAYP,EAAS,OAAS,MAEpC,OACIK,EAAAG,cAACD,EAAS,CACNR,UAAWU,EAAKT,EAAS,cAAgB,eAAgBD,GACzDW,wBAAyB,CAAEC,OAAQV"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/ui/code-block/index.tsx"],"sourcesContent":["import React, { cache } from \"react\";\nimport { createHighlighter, type BuiltinLanguage } from \"shiki\";\nimport clsx from \"clsx\";\n\nimport { githubDynamic } from \"./theme\";\nimport { CodeSpan } from \"../code-span\";\n\nimport \"./code-block.scss\";\n\nexport interface CodeBlockProps {\n code: string;\n lang: BuiltinLanguage;\n className?: string;\n inline?: boolean;\n}\n\nconst initBaseHighlighter = async () => {\n const highlighter = await createHighlighter({ langs: [], themes: [] });\n await highlighter.loadTheme(githubDynamic);\n return highlighter;\n};\n\nconst highlighterPromise = initBaseHighlighter();\n\nconst getHighlighter = cache(async (language: BuiltinLanguage) => {\n const highlighter = await highlighterPromise;\n const loadedLanguages = highlighter.getLoadedLanguages();\n\n if (!loadedLanguages.includes(language)) {\n await highlighter.loadLanguage(language);\n }\n\n return highlighter;\n});\n\nexport const CodeBlock: React.FC<CodeBlockProps> = async ({ code, lang, className, inline }) => {\n const highlighter = await getHighlighter(lang);\n await highlighter.loadTheme(githubDynamic);\n\n const html = highlighter.codeToHtml(code, {\n lang,\n theme: \"github-dynamic\",\n structure: \"inline\",\n });\n\n if (inline) return <CodeSpan code={html} />;\n\n const Component = inline ? \"code\" : \"pre\";\n\n return (\n <Component\n className={clsx(inline ? \"r-code-span\" : \"r-code-block\", className)}\n dangerouslySetInnerHTML={{ __html: html }}\n />\n );\n};\n"],"names":["highlighterPromise","async","highlighter","createHighlighter","langs","themes","loadTheme","githubDynamic","initBaseHighlighter","getHighlighter","cache","language","getLoadedLanguages","includes","loadLanguage","CodeBlock","code","lang","className","inline","html","codeToHtml","theme","structure","React","CodeSpan","Component","createElement","clsx","dangerouslySetInnerHTML","__html"],"mappings":"2LAgBA,MAMMA,EANsBC,WACxB,MAAMC,QAAoBC,EAAkB,CAAEC,MAAO,GAAIC,OAAQ,KAEjE,aADMH,EAAYI,UAAUC,GACrBL,GAGgBM,GAErBC,EAAiBC,EAAMT,MAAOU,IAChC,MAAMT,QAAoBF,EAO1B,OANwBE,EAAYU,qBAEfC,SAASF,UACpBT,EAAYY,aAAaH,GAG5BT,IAGEa,EAAsCd,OAASe,OAAMC,OAAMC,YAAWC,aAC/E,MAAMjB,QAAoBO,EAAeQ,SACnCf,EAAYI,UAAUC,GAE5B,MAAMa,EAAOlB,EAAYmB,WAAWL,EAAM,CACtCC,OACAK,MAAO,iBACPC,UAAW,WAGf,GAAIJ,EAAQ,OAAOK,gBAACC,EAAQ,CAACT,KAAMI,IAEnC,MAAMM,EAAYP,EAAS,OAAS,MAEpC,OACIK,EAAAG,cAACD,EAAS,CACNR,UAAWU,EAAKT,EAAS,cAAgB,eAAgBD,GACzDW,wBAAyB,CAAEC,OAAQV"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/copy-button/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,oBAAoB,CAAC;AAE5B,UAAU,eAAe;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE;QACX,WAAW;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,kBAAkB;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACL;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA2ChD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/copy-button/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,oBAAoB,CAAC;AAE5B,UAAU,eAAe;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE;QACX,WAAW;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,kBAAkB;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACL;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4ChD,CAAC"}
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import e,{useState as t}from"react";import o from"clsx";import{Tooltip as r}from"../tooltip/index.js";const n=({translations:n,raw:c,className:a})=>{const{copy:l="Copy",codeCopied:i="Code Copied"}=n||{},[s,m]=t(null);return e.createElement("button",{tabIndex:-1,onClick:()=>{s&&clearTimeout(s),m(setTimeout(()=>{m(null)},1500)),navigator.clipboard.writeText(c)},className:o("r-copy-button r-no-js",s&&"_active",a)},e.createElement("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},e.createElement("title",null,l),e.createElement("g",{className:"r-copy-button-success"},e.createElement("path",{d:"M20 6 9 17l-5-5"})),e.createElement("g",{className:"r-copy-button-base"},e.createElement("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"}),e.createElement("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}))),e.createElement(r,{position:"bottom-end",visible:Boolean(s)},i))};export{n as CopyButton};
2
+ import e,{useState as t}from"react";import o from"clsx";import{Tooltip as r}from"../tooltip/index.js";const n=({translations:n,raw:c,className:a})=>{const{copy:l="Copy",codeCopied:i="Code Copied"}=n||{},[s,m]=t(null);return e.createElement("button",{tabIndex:-1,onClick:()=>{s&&clearTimeout(s),m(setTimeout(()=>{m(null)},1500)),navigator.clipboard.writeText(c)},className:o("r-copy-button r-no-js",s&&"_active",a)},e.createElement("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"r-copy-button-svg"},e.createElement("title",null,l),e.createElement("g",{className:"r-copy-button-success"},e.createElement("path",{d:"M20 6 9 17l-5-5"})),e.createElement("g",{className:"r-copy-button-base"},e.createElement("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"}),e.createElement("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}))),e.createElement(r,{position:"bottom-end",visible:Boolean(s)},i))};export{n as CopyButton};
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/ui/copy-button/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useState } from \"react\";\nimport clsx from \"clsx\";\n\nimport { Tooltip } from \"../tooltip\";\n\nimport \"./copy-button.scss\";\n\ninterface CopyButtonProps {\n raw: string;\n className?: string;\n translations?: {\n /** Copy */\n copy?: string;\n /** Code Copied */\n codeCopied?: string;\n };\n}\n\nexport const CopyButton: React.FC<CopyButtonProps> = ({ translations, raw, className }) => {\n const { copy = \"Copy\", codeCopied = \"Code Copied\" } = translations || {};\n const [copyTimeout, setCopyTimeout] = useState<NodeJS.Timeout | null>(null);\n const clickHandler = () => {\n if (copyTimeout) clearTimeout(copyTimeout);\n setCopyTimeout(\n setTimeout(() => {\n setCopyTimeout(null);\n }, 1500),\n );\n navigator.clipboard.writeText(raw);\n };\n\n return (\n <button\n tabIndex={-1}\n onClick={clickHandler}\n className={clsx(\"r-copy-button r-no-js\", copyTimeout && \"_active\", className)}\n >\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <title>{copy}</title>\n <g className=\"r-copy-button-success\">\n <path d=\"M20 6 9 17l-5-5\" />\n </g>\n <g className=\"r-copy-button-base\">\n <path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\" />\n <rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\" />\n </g>\n </svg>\n <Tooltip position=\"bottom-end\" visible={Boolean(copyTimeout)}>\n {codeCopied}\n </Tooltip>\n </button>\n );\n};\n"],"names":["CopyButton","translations","raw","className","copy","codeCopied","copyTimeout","setCopyTimeout","useState","React","tabIndex","onClick","clearTimeout","setTimeout","navigator","clipboard","writeText","clsx","createElement","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","x","y","rx","ry","Tooltip","position","visible","Boolean"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/ui/copy-button/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useState } from \"react\";\nimport clsx from \"clsx\";\n\nimport { Tooltip } from \"../tooltip\";\n\nimport \"./copy-button.scss\";\n\ninterface CopyButtonProps {\n raw: string;\n className?: string;\n translations?: {\n /** Copy */\n copy?: string;\n /** Code Copied */\n codeCopied?: string;\n };\n}\n\nexport const CopyButton: React.FC<CopyButtonProps> = ({ translations, raw, className }) => {\n const { copy = \"Copy\", codeCopied = \"Code Copied\" } = translations || {};\n const [copyTimeout, setCopyTimeout] = useState<NodeJS.Timeout | null>(null);\n const clickHandler = () => {\n if (copyTimeout) clearTimeout(copyTimeout);\n setCopyTimeout(\n setTimeout(() => {\n setCopyTimeout(null);\n }, 1500),\n );\n navigator.clipboard.writeText(raw);\n };\n\n return (\n <button\n tabIndex={-1}\n onClick={clickHandler}\n className={clsx(\"r-copy-button r-no-js\", copyTimeout && \"_active\", className)}\n >\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"r-copy-button-svg\"\n >\n <title>{copy}</title>\n <g className=\"r-copy-button-success\">\n <path d=\"M20 6 9 17l-5-5\" />\n </g>\n <g className=\"r-copy-button-base\">\n <path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\" />\n <rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\" />\n </g>\n </svg>\n <Tooltip position=\"bottom-end\" visible={Boolean(copyTimeout)}>\n {codeCopied}\n </Tooltip>\n </button>\n );\n};\n"],"names":["CopyButton","translations","raw","className","copy","codeCopied","copyTimeout","setCopyTimeout","useState","React","tabIndex","onClick","clearTimeout","setTimeout","navigator","clipboard","writeText","clsx","createElement","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","x","y","rx","ry","Tooltip","position","visible","Boolean"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import "./git-logos.scss";
2
3
  export declare const GithubLogo: () => React.JSX.Element;
3
4
  export declare const GitlabLogo: () => React.JSX.Element;
4
5
  export declare const GitLogo: () => React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/git-logos/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,UAAU,yBAiBtB,CAAC;AAEF,eAAO,MAAM,UAAU,yBActB,CAAC;AAEF,eAAO,MAAM,OAAO,yBAmBnB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/git-logos/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,kBAAkB,CAAC;AAE1B,eAAO,MAAM,UAAU,yBAiBtB,CAAC;AAEF,eAAO,MAAM,UAAU,yBAetB,CAAC;AAEF,eAAO,MAAM,OAAO,yBAoBnB,CAAC"}
@@ -1,2 +1,2 @@
1
- import e from"react";const t=()=>e.createElement("svg",{width:"32",height:"32",viewBox:"0 0 32 32"},e.createElement("title",null,"GitHub"),e.createElement("g",{clipPath:"url(#mark)"},e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.9523 0C7.1311 0 0 7.18367 0 16.0709C0 23.1749 4.56914 29.1882 10.9078 31.3166C11.7002 31.4766 11.9905 30.9708 11.9905 30.5453C11.9905 30.1727 11.9644 28.8957 11.9644 27.5651C7.52686 28.5231 6.60278 25.6493 6.60278 25.6493C5.88963 23.7868 4.83298 23.3081 4.83298 23.3081C3.38057 22.3236 4.93878 22.3236 4.93878 22.3236C6.54988 22.43 7.39527 23.9732 7.39527 23.9732C8.82123 26.4209 11.119 25.7293 12.0434 25.3035C12.1753 24.2658 12.5982 23.5474 13.0472 23.1484C9.50792 22.7758 5.78416 21.3923 5.78416 15.2193C5.78416 13.4632 6.41763 12.0264 7.42139 10.9091C7.26302 10.51 6.70825 8.86008 7.58008 6.65176C7.58008 6.65176 8.92702 6.22596 11.9641 8.30139C13.2644 7.9496 14.6053 7.77065 15.9523 7.76914C17.2993 7.76914 18.6723 7.95559 19.9402 8.30139C22.9776 6.22596 24.3246 6.65176 24.3246 6.65176C25.1964 8.86008 24.6413 10.51 24.4829 10.9091C25.5131 12.0264 26.1205 13.4632 26.1205 15.2193C26.1205 21.3923 22.3967 22.7491 18.831 23.1484C19.4122 23.6539 19.9138 24.6116 19.9138 26.1283C19.9138 28.2834 19.8877 30.0131 19.8877 30.545C19.8877 30.9708 20.1783 31.4766 20.9705 31.3169C27.3091 29.1879 31.8782 23.1749 31.8782 16.0709C31.9043 7.18367 24.7471 0 15.9523 0Z",fill:"currentColor"})),e.createElement("defs",null,e.createElement("clipPath",{id:"mark"},e.createElement("rect",{width:"32",height:"31.3469",fill:"white"})))),r=()=>e.createElement("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"currentColor",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},e.createElement("title",null,"GitLab"),e.createElement("path",{d:"m22 13.29-3.33-10a.42.42 0 0 0-.14-.18.38.38 0 0 0-.22-.11.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18l-2.26 6.67H8.32L6.1 3.26a.42.42 0 0 0-.1-.18.38.38 0 0 0-.26-.08.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18L2 13.29a.74.74 0 0 0 .27.83L12 21l9.69-6.88a.71.71 0 0 0 .31-.83Z"})),l=()=>e.createElement("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"currentColor",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},e.createElement("title",null,"Git"),e.createElement("circle",{cx:"5",cy:"6",r:"3"}),e.createElement("path",{d:"M5 9v6"}),e.createElement("circle",{cx:"5",cy:"18",r:"3"}),e.createElement("path",{d:"M12 3v18"}),e.createElement("circle",{cx:"19",cy:"6",r:"3"}),e.createElement("path",{d:"M16 15.7A9 9 0 0 0 19 9"}));export{l as GitLogo,t as GithubLogo,r as GitlabLogo};
1
+ import e from"react";const t=()=>e.createElement("svg",{width:"32",height:"32",viewBox:"0 0 32 32",className:"r-git-logo"},e.createElement("title",null,"GitHub"),e.createElement("g",{clipPath:"url(#mark)"},e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.9523 0C7.1311 0 0 7.18367 0 16.0709C0 23.1749 4.56914 29.1882 10.9078 31.3166C11.7002 31.4766 11.9905 30.9708 11.9905 30.5453C11.9905 30.1727 11.9644 28.8957 11.9644 27.5651C7.52686 28.5231 6.60278 25.6493 6.60278 25.6493C5.88963 23.7868 4.83298 23.3081 4.83298 23.3081C3.38057 22.3236 4.93878 22.3236 4.93878 22.3236C6.54988 22.43 7.39527 23.9732 7.39527 23.9732C8.82123 26.4209 11.119 25.7293 12.0434 25.3035C12.1753 24.2658 12.5982 23.5474 13.0472 23.1484C9.50792 22.7758 5.78416 21.3923 5.78416 15.2193C5.78416 13.4632 6.41763 12.0264 7.42139 10.9091C7.26302 10.51 6.70825 8.86008 7.58008 6.65176C7.58008 6.65176 8.92702 6.22596 11.9641 8.30139C13.2644 7.9496 14.6053 7.77065 15.9523 7.76914C17.2993 7.76914 18.6723 7.95559 19.9402 8.30139C22.9776 6.22596 24.3246 6.65176 24.3246 6.65176C25.1964 8.86008 24.6413 10.51 24.4829 10.9091C25.5131 12.0264 26.1205 13.4632 26.1205 15.2193C26.1205 21.3923 22.3967 22.7491 18.831 23.1484C19.4122 23.6539 19.9138 24.6116 19.9138 26.1283C19.9138 28.2834 19.8877 30.0131 19.8877 30.545C19.8877 30.9708 20.1783 31.4766 20.9705 31.3169C27.3091 29.1879 31.8782 23.1749 31.8782 16.0709C31.9043 7.18367 24.7471 0 15.9523 0Z",fill:"currentColor"})),e.createElement("defs",null,e.createElement("clipPath",{id:"mark"},e.createElement("rect",{width:"32",height:"31.3469",fill:"white"})))),r=()=>e.createElement("svg",{width:"32",height:"32",viewBox:"0 0 24 24",className:"r-git-logo",fill:"currentColor",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},e.createElement("title",null,"GitLab"),e.createElement("path",{d:"m22 13.29-3.33-10a.42.42 0 0 0-.14-.18.38.38 0 0 0-.22-.11.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18l-2.26 6.67H8.32L6.1 3.26a.42.42 0 0 0-.1-.18.38.38 0 0 0-.26-.08.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18L2 13.29a.74.74 0 0 0 .27.83L12 21l9.69-6.88a.71.71 0 0 0 .31-.83Z"})),l=()=>e.createElement("svg",{width:"32",height:"32",viewBox:"0 0 24 24",className:"r-git-logo",fill:"currentColor",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},e.createElement("title",null,"Git"),e.createElement("circle",{cx:"5",cy:"6",r:"3"}),e.createElement("path",{d:"M5 9v6"}),e.createElement("circle",{cx:"5",cy:"18",r:"3"}),e.createElement("path",{d:"M12 3v18"}),e.createElement("circle",{cx:"19",cy:"6",r:"3"}),e.createElement("path",{d:"M16 15.7A9 9 0 0 0 19 9"}));export{l as GitLogo,t as GithubLogo,r as GitlabLogo};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/ui/git-logos/index.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const GithubLogo = () => (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <title>GitHub</title>\n <g clipPath=\"url(#mark)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.9523 0C7.1311 0 0 7.18367 0 16.0709C0 23.1749 4.56914 29.1882 10.9078 31.3166C11.7002 31.4766 11.9905 30.9708 11.9905 30.5453C11.9905 30.1727 11.9644 28.8957 11.9644 27.5651C7.52686 28.5231 6.60278 25.6493 6.60278 25.6493C5.88963 23.7868 4.83298 23.3081 4.83298 23.3081C3.38057 22.3236 4.93878 22.3236 4.93878 22.3236C6.54988 22.43 7.39527 23.9732 7.39527 23.9732C8.82123 26.4209 11.119 25.7293 12.0434 25.3035C12.1753 24.2658 12.5982 23.5474 13.0472 23.1484C9.50792 22.7758 5.78416 21.3923 5.78416 15.2193C5.78416 13.4632 6.41763 12.0264 7.42139 10.9091C7.26302 10.51 6.70825 8.86008 7.58008 6.65176C7.58008 6.65176 8.92702 6.22596 11.9641 8.30139C13.2644 7.9496 14.6053 7.77065 15.9523 7.76914C17.2993 7.76914 18.6723 7.95559 19.9402 8.30139C22.9776 6.22596 24.3246 6.65176 24.3246 6.65176C25.1964 8.86008 24.6413 10.51 24.4829 10.9091C25.5131 12.0264 26.1205 13.4632 26.1205 15.2193C26.1205 21.3923 22.3967 22.7491 18.831 23.1484C19.4122 23.6539 19.9138 24.6116 19.9138 26.1283C19.9138 28.2834 19.8877 30.0131 19.8877 30.545C19.8877 30.9708 20.1783 31.4766 20.9705 31.3169C27.3091 29.1879 31.8782 23.1749 31.8782 16.0709C31.9043 7.18367 24.7471 0 15.9523 0Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"mark\">\n <rect width=\"32\" height=\"31.3469\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport const GitlabLogo = () => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <title>GitLab</title>\n <path d=\"m22 13.29-3.33-10a.42.42 0 0 0-.14-.18.38.38 0 0 0-.22-.11.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18l-2.26 6.67H8.32L6.1 3.26a.42.42 0 0 0-.1-.18.38.38 0 0 0-.26-.08.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18L2 13.29a.74.74 0 0 0 .27.83L12 21l9.69-6.88a.71.71 0 0 0 .31-.83Z\" />\n </svg>\n);\n\nexport const GitLogo = () => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <title>Git</title>\n <circle cx=\"5\" cy=\"6\" r=\"3\" />\n <path d=\"M5 9v6\" />\n <circle cx=\"5\" cy=\"18\" r=\"3\" />\n <path d=\"M12 3v18\" />\n <circle cx=\"19\" cy=\"6\" r=\"3\" />\n <path d=\"M16 15.7A9 9 0 0 0 19 9\" />\n </svg>\n);\n"],"names":["GithubLogo","React","createElement","width","height","viewBox","clipPath","fillRule","clipRule","d","fill","id","GitlabLogo","stroke","strokeWidth","strokeLinecap","strokeLinejoin","GitLogo","cx","cy","r"],"mappings":"qBAEO,MAAMA,EAAa,IACtBC,EAAAC,cAAA,MAAA,CAAKC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,aAChCJ,EAAAC,cAAA,QAAA,KAAA,UACAD,EAAAC,cAAA,IAAA,CAAGI,SAAS,cACRL,EAAAC,cAAA,OAAA,CACIK,SAAS,UACTC,SAAS,UACTC,EAAE,+oCACFC,KAAK,kBAGbT,EAAAC,cAAA,OAAA,KACID,EAAAC,cAAA,WAAA,CAAUS,GAAG,QACTV,EAAAC,cAAA,OAAA,CAAMC,MAAM,KAAKC,OAAO,UAAUM,KAAK,aAM1CE,EAAa,IACtBX,EAAAC,cAAA,MAAA,CACIC,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRK,KAAK,eACLG,OAAO,eACPC,YAAY,IACZC,cAAc,QACdC,eAAe,SAEff,EAAAC,cAAA,QAAA,KAAA,UACAD,EAAAC,cAAA,OAAA,CAAMO,EAAE,+QAIHQ,EAAU,IACnBhB,EAAAC,cAAA,MAAA,CACIC,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRK,KAAK,eACLG,OAAO,eACPC,YAAY,IACZC,cAAc,QACdC,eAAe,SAEff,EAAAC,cAAA,QAAA,KAAA,OACAD,EAAAC,cAAA,SAAA,CAAQgB,GAAG,IAAIC,GAAG,IAAIC,EAAE,MACxBnB,EAAAC,cAAA,OAAA,CAAMO,EAAE,WACRR,EAAAC,cAAA,SAAA,CAAQgB,GAAG,IAAIC,GAAG,KAAKC,EAAE,MACzBnB,EAAAC,cAAA,OAAA,CAAMO,EAAE,aACRR,EAAAC,cAAA,SAAA,CAAQgB,GAAG,KAAKC,GAAG,IAAIC,EAAE,MACzBnB,EAAAC,cAAA,OAAA,CAAMO,EAAE"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/ui/git-logos/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport \"./git-logos.scss\";\n\nexport const GithubLogo = () => (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" className=\"r-git-logo\">\n <title>GitHub</title>\n <g clipPath=\"url(#mark)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.9523 0C7.1311 0 0 7.18367 0 16.0709C0 23.1749 4.56914 29.1882 10.9078 31.3166C11.7002 31.4766 11.9905 30.9708 11.9905 30.5453C11.9905 30.1727 11.9644 28.8957 11.9644 27.5651C7.52686 28.5231 6.60278 25.6493 6.60278 25.6493C5.88963 23.7868 4.83298 23.3081 4.83298 23.3081C3.38057 22.3236 4.93878 22.3236 4.93878 22.3236C6.54988 22.43 7.39527 23.9732 7.39527 23.9732C8.82123 26.4209 11.119 25.7293 12.0434 25.3035C12.1753 24.2658 12.5982 23.5474 13.0472 23.1484C9.50792 22.7758 5.78416 21.3923 5.78416 15.2193C5.78416 13.4632 6.41763 12.0264 7.42139 10.9091C7.26302 10.51 6.70825 8.86008 7.58008 6.65176C7.58008 6.65176 8.92702 6.22596 11.9641 8.30139C13.2644 7.9496 14.6053 7.77065 15.9523 7.76914C17.2993 7.76914 18.6723 7.95559 19.9402 8.30139C22.9776 6.22596 24.3246 6.65176 24.3246 6.65176C25.1964 8.86008 24.6413 10.51 24.4829 10.9091C25.5131 12.0264 26.1205 13.4632 26.1205 15.2193C26.1205 21.3923 22.3967 22.7491 18.831 23.1484C19.4122 23.6539 19.9138 24.6116 19.9138 26.1283C19.9138 28.2834 19.8877 30.0131 19.8877 30.545C19.8877 30.9708 20.1783 31.4766 20.9705 31.3169C27.3091 29.1879 31.8782 23.1749 31.8782 16.0709C31.9043 7.18367 24.7471 0 15.9523 0Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"mark\">\n <rect width=\"32\" height=\"31.3469\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport const GitlabLogo = () => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 24 24\"\n className=\"r-git-logo\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <title>GitLab</title>\n <path d=\"m22 13.29-3.33-10a.42.42 0 0 0-.14-.18.38.38 0 0 0-.22-.11.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18l-2.26 6.67H8.32L6.1 3.26a.42.42 0 0 0-.1-.18.38.38 0 0 0-.26-.08.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18L2 13.29a.74.74 0 0 0 .27.83L12 21l9.69-6.88a.71.71 0 0 0 .31-.83Z\" />\n </svg>\n);\n\nexport const GitLogo = () => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 24 24\"\n className=\"r-git-logo\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <title>Git</title>\n <circle cx=\"5\" cy=\"6\" r=\"3\" />\n <path d=\"M5 9v6\" />\n <circle cx=\"5\" cy=\"18\" r=\"3\" />\n <path d=\"M12 3v18\" />\n <circle cx=\"19\" cy=\"6\" r=\"3\" />\n <path d=\"M16 15.7A9 9 0 0 0 19 9\" />\n </svg>\n);\n"],"names":["GithubLogo","React","createElement","width","height","viewBox","className","clipPath","fillRule","clipRule","d","fill","id","GitlabLogo","stroke","strokeWidth","strokeLinecap","strokeLinejoin","GitLogo","cx","cy","r"],"mappings":"2BAIaA,EAAa,IACtBC,EAAAC,cAAA,MAAA,CAAKC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,UAAU,cACtDL,EAAAC,cAAA,QAAA,KAAA,UACAD,EAAAC,cAAA,IAAA,CAAGK,SAAS,cACRN,EAAAC,cAAA,OAAA,CACIM,SAAS,UACTC,SAAS,UACTC,EAAE,+oCACFC,KAAK,kBAGbV,EAAAC,cAAA,OAAA,KACID,EAAAC,cAAA,WAAA,CAAUU,GAAG,QACTX,EAAAC,cAAA,OAAA,CAAMC,MAAM,KAAKC,OAAO,UAAUO,KAAK,aAM1CE,EAAa,IACtBZ,EAAAC,cAAA,MAAA,CACIC,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,UAAU,aACVK,KAAK,eACLG,OAAO,eACPC,YAAY,IACZC,cAAc,QACdC,eAAe,SAEfhB,EAAAC,cAAA,QAAA,KAAA,UACAD,EAAAC,cAAA,OAAA,CAAMQ,EAAE,+QAIHQ,EAAU,IACnBjB,EAAAC,cAAA,MAAA,CACIC,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,UAAU,aACVK,KAAK,eACLG,OAAO,eACPC,YAAY,IACZC,cAAc,QACdC,eAAe,SAEfhB,EAAAC,cAAA,QAAA,KAAA,OACAD,EAAAC,cAAA,SAAA,CAAQiB,GAAG,IAAIC,GAAG,IAAIC,EAAE,MACxBpB,EAAAC,cAAA,OAAA,CAAMQ,EAAE,WACRT,EAAAC,cAAA,SAAA,CAAQiB,GAAG,IAAIC,GAAG,KAAKC,EAAE,MACzBpB,EAAAC,cAAA,OAAA,CAAMQ,EAAE,aACRT,EAAAC,cAAA,SAAA,CAAQiB,GAAG,KAAKC,GAAG,IAAIC,EAAE,MACzBpB,EAAAC,cAAA,OAAA,CAAMQ,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/tabs/tabs-header/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAyBhD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/tabs/tabs-header/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA2BhD,CAAC"}
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import e from"react";import t from"clsx";import{saveTab as a}from"../../../../core/utils/tabs-tools.js";const r={code:"r-tab-header-code"},s=({tabs:s,tabsTypeId:o,type:m})=>e.createElement("div",{className:"r-tabs-header"},s.map(s=>e.createElement("div",{key:s.id,className:t(`r-tab-header r-tab-header_${s.id} r-no-js`,m&&r[m]),onClick:()=>(e=>{Array.from(document.documentElement.classList).forEach(e=>{e.startsWith(`r-tabs-global__${o}`)&&document.documentElement.classList.remove(e)}),document.documentElement.classList.add(`r-tabs-global__${o}`,`r-tabs-global__${o}_${e}`),a(o,e)})(s.id)},s.name)));export{s as TabsHeader};
2
+ import r from"react";import e from"clsx";import{saveTab as t}from"../../../../core/utils/tabs-tools.js";const a={code:"r-tab-header-code"},s=({tabs:s,tabsTypeId:o,type:c})=>r.createElement("div",{className:"r-tabs-header"},s.map(s=>r.createElement("div",{key:s.id,className:e(`r-tab-header r-tab-header_${s.id} r-no-js`,c&&a[c]),onClick:()=>(r=>{const e=document.querySelector(".r-root");if(!e)return;Array.from(e.classList).forEach(r=>{r.startsWith(`r-tabs-global__${o}`)&&e.classList.remove(r)}),e.classList.add(`r-tabs-global__${o}`,`r-tabs-global__${o}_${r}`),t(o,r)})(s.id)},s.name)));export{s as TabsHeader};
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/ui/tabs/tabs-header/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport { saveTab } from \"@src/core/utils/tabs-tools\";\n\nexport interface TabsHeaderProps {\n tabs: { name: string; id: string }[];\n tabsTypeId: string;\n type?: \"code\";\n}\n\nconst typeClassNames = {\n code: \"r-tab-header-code\",\n};\n\nexport const TabsHeader: React.FC<TabsHeaderProps> = ({ tabs, tabsTypeId, type }) => {\n const changeTabHandler = (tab: string) => {\n const classNames = Array.from(document.documentElement.classList);\n classNames.forEach((className) => {\n if (className.startsWith(`r-tabs-global__${tabsTypeId}`)) {\n document.documentElement.classList.remove(className);\n }\n });\n document.documentElement.classList.add(`r-tabs-global__${tabsTypeId}`, `r-tabs-global__${tabsTypeId}_${tab}`);\n saveTab(tabsTypeId, tab);\n };\n\n return (\n <div className=\"r-tabs-header\">\n {tabs.map((tab) => (\n <div\n key={tab.id}\n className={clsx(`r-tab-header r-tab-header_${tab.id} r-no-js`, type && typeClassNames[type])}\n onClick={() => changeTabHandler(tab.id)}\n >\n {tab.name}\n </div>\n ))}\n </div>\n );\n};\n"],"names":["typeClassNames","code","TabsHeader","tabs","tabsTypeId","type","React","createElement","className","map","tab","key","id","clsx","onClick","Array","from","document","documentElement","classList","forEach","startsWith","remove","add","saveTab","changeTabHandler","name"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/ui/tabs/tabs-header/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport { saveTab } from \"@src/core/utils/tabs-tools\";\n\nexport interface TabsHeaderProps {\n tabs: { name: string; id: string }[];\n tabsTypeId: string;\n type?: \"code\";\n}\n\nconst typeClassNames = {\n code: \"r-tab-header-code\",\n};\n\nexport const TabsHeader: React.FC<TabsHeaderProps> = ({ tabs, tabsTypeId, type }) => {\n const changeTabHandler = (tab: string) => {\n const rootElement = document.querySelector<HTMLElement>(\".r-root\");\n if (!rootElement) return;\n const classNames = Array.from(rootElement.classList);\n classNames.forEach((className) => {\n if (className.startsWith(`r-tabs-global__${tabsTypeId}`)) {\n rootElement.classList.remove(className);\n }\n });\n rootElement.classList.add(`r-tabs-global__${tabsTypeId}`, `r-tabs-global__${tabsTypeId}_${tab}`);\n saveTab(tabsTypeId, tab);\n };\n\n return (\n <div className=\"r-tabs-header\">\n {tabs.map((tab) => (\n <div\n key={tab.id}\n className={clsx(`r-tab-header r-tab-header_${tab.id} r-no-js`, type && typeClassNames[type])}\n onClick={() => changeTabHandler(tab.id)}\n >\n {tab.name}\n </div>\n ))}\n </div>\n );\n};\n"],"names":["typeClassNames","code","TabsHeader","tabs","tabsTypeId","type","React","createElement","className","map","tab","key","id","clsx","onClick","rootElement","document","querySelector","Array","from","classList","forEach","startsWith","remove","add","saveTab","changeTabHandler","name"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import r from"react";const a=({tabsTypeId:a,tabsKeys:t})=>r.createElement("style",{dangerouslySetInnerHTML:{__html:`\nhtml:not(.r-tabs-global__${a}) .r-tabs__${a} .r-tab:not(.r-tab_${t[0]}) {display: none}\nhtml:not(.r-tabs-global__${a}) .r-tabs__${a} .r-tab-header_${t[0]} {background: var(--r-neutral-50);z-index: 2;pointer-events: none;color:var(--r-neutral-950)}\n${t.map(r=>`.r-tabs-global__${a}_${r} .r-tabs__${a} .r-tab:not(.r-tab_${r}) {display: none}`).join("")}\n${t.map(r=>`.r-tabs-global__${a}_${r} .r-tabs__${a} .r-tab-header_${r} {background: var(--r-neutral-50);z-index: 2;pointer-events: none;color:var(--r-neutral-950)}`).join("")}\n`}});export{a as TabsStyles};
1
+ import r from"react";const a=({tabsTypeId:a,tabsKeys:t})=>r.createElement("style",{dangerouslySetInnerHTML:{__html:`\n.r-root:not(.r-tabs-global__${a}) .r-tabs__${a} .r-tab:not(.r-tab_${t[0]}) {display: none}\n.r-root:not(.r-tabs-global__${a}) .r-tabs__${a} .r-tab-header_${t[0]} {background: var(--r-neutral-50);z-index: 2;pointer-events: none;color:var(--r-neutral-950)}\n${t.map(r=>`.r-tabs-global__${a}_${r} .r-tabs__${a} .r-tab:not(.r-tab_${r}) {display: none}`).join("")}\n${t.map(r=>`.r-tabs-global__${a}_${r} .r-tabs__${a} .r-tab-header_${r} {background: var(--r-neutral-50);z-index: 2;pointer-events: none;color:var(--r-neutral-950)}`).join("")}\n`}});export{a as TabsStyles};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/ui/tabs/tabs-styles/index.tsx"],"sourcesContent":["import React from \"react\";\n\nexport interface TabsStylesProps {\n tabsTypeId: string;\n tabsKeys: string[];\n}\n\nexport const TabsStyles: React.FC<TabsStylesProps> = ({ tabsTypeId, tabsKeys }) => (\n <style\n dangerouslySetInnerHTML={{\n __html: `\nhtml:not(.r-tabs-global__${tabsTypeId}) .r-tabs__${tabsTypeId} .r-tab:not(.r-tab_${tabsKeys[0]}) {display: none}\nhtml:not(.r-tabs-global__${tabsTypeId}) .r-tabs__${tabsTypeId} .r-tab-header_${tabsKeys[0]} {background: var(--r-neutral-50);z-index: 2;pointer-events: none;color:var(--r-neutral-950)}\n${tabsKeys.map((tabKey) => `.r-tabs-global__${tabsTypeId}_${tabKey} .r-tabs__${tabsTypeId} .r-tab:not(.r-tab_${tabKey}) {display: none}`).join(\"\")}\n${tabsKeys.map((tabKey) => `.r-tabs-global__${tabsTypeId}_${tabKey} .r-tabs__${tabsTypeId} .r-tab-header_${tabKey} {background: var(--r-neutral-50);z-index: 2;pointer-events: none;color:var(--r-neutral-950)}`).join(\"\")}\n`,\n }}\n />\n);\n"],"names":["TabsStyles","tabsTypeId","tabsKeys","React","createElement","dangerouslySetInnerHTML","__html","map","tabKey","join"],"mappings":"qBAOO,MAAMA,EAAwC,EAAGC,aAAYC,cAChEC,EAAAC,cAAA,QAAA,CACIC,wBAAyB,CACrBC,OAAQ,8BACOL,eAAwBA,uBAAgCC,EAAS,iDACjED,eAAwBA,mBAA4BC,EAAS,oGACtFA,EAASK,IAAKC,GAAW,mBAAmBP,KAAcO,cAAmBP,uBAAgCO,sBAA2BC,KAAK,QAC7IP,EAASK,IAAKC,GAAW,mBAAmBP,KAAcO,cAAmBP,mBAA4BO,kGAAuGC,KAAK"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/ui/tabs/tabs-styles/index.tsx"],"sourcesContent":["import React from \"react\";\n\nexport interface TabsStylesProps {\n tabsTypeId: string;\n tabsKeys: string[];\n}\n\nexport const TabsStyles: React.FC<TabsStylesProps> = ({ tabsTypeId, tabsKeys }) => (\n <style\n dangerouslySetInnerHTML={{\n __html: `\n.r-root:not(.r-tabs-global__${tabsTypeId}) .r-tabs__${tabsTypeId} .r-tab:not(.r-tab_${tabsKeys[0]}) {display: none}\n.r-root:not(.r-tabs-global__${tabsTypeId}) .r-tabs__${tabsTypeId} .r-tab-header_${tabsKeys[0]} {background: var(--r-neutral-50);z-index: 2;pointer-events: none;color:var(--r-neutral-950)}\n${tabsKeys.map((tabKey) => `.r-tabs-global__${tabsTypeId}_${tabKey} .r-tabs__${tabsTypeId} .r-tab:not(.r-tab_${tabKey}) {display: none}`).join(\"\")}\n${tabsKeys.map((tabKey) => `.r-tabs-global__${tabsTypeId}_${tabKey} .r-tabs__${tabsTypeId} .r-tab-header_${tabKey} {background: var(--r-neutral-50);z-index: 2;pointer-events: none;color:var(--r-neutral-950)}`).join(\"\")}\n`,\n }}\n />\n);\n"],"names":["TabsStyles","tabsTypeId","tabsKeys","React","createElement","dangerouslySetInnerHTML","__html","map","tabKey","join"],"mappings":"qBAOO,MAAMA,EAAwC,EAAGC,aAAYC,cAChEC,EAAAC,cAAA,QAAA,CACIC,wBAAyB,CACrBC,OAAQ,iCACUL,eAAwBA,uBAAgCC,EAAS,oDACjED,eAAwBA,mBAA4BC,EAAS,oGACzFA,EAASK,IAAKC,GAAW,mBAAmBP,KAAcO,cAAmBP,uBAAgCO,sBAA2BC,KAAK,QAC7IP,EAASK,IAAKC,GAAW,mBAAmBP,KAAcO,cAAmBP,mBAA4BO,kGAAuGC,KAAK"}