@sleetch/react 1.0.6 → 1.0.7

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 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../header-D6vF0VLY.cjs");exports.DocumentationHeader=e.t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("../../contexts/documentation.cjs.js");const e=require("../../header-CmQhY5Pa.cjs");exports.DocumentationHeader=e.t;
@@ -1,5 +1,4 @@
1
1
  import { BaseHTMLAttributes } from 'react';
2
2
  export interface DocumentationHeaderProps extends BaseHTMLAttributes<HTMLDivElement> {
3
- onMenuToggle?: () => void;
4
3
  }
5
- export declare function DocumentationHeader({ className, children, onMenuToggle, ...props }: DocumentationHeaderProps): import("react").JSX.Element;
4
+ export declare function DocumentationHeader({ className, children, ...props }: DocumentationHeaderProps): import("react").JSX.Element;
@@ -1,2 +1,3 @@
1
- import { t as e } from "../../header-aBbFHuW8.js";
1
+ import "../../contexts/documentation.es.js";
2
+ import { t as e } from "../../header-DDS6Ak-Z.js";
2
3
  export { e as DocumentationHeader };
@@ -1,7 +1,7 @@
1
1
  import { MDXComponents } from 'mdx/types';
2
- import { markdown_module } from '@sleetch/core/compiler';
2
+ import { page_module } from '@sleetch/core/compiler';
3
3
  import * as runtime from 'react/jsx-runtime';
4
4
  export declare function PageContent({ page, components }: {
5
- page: Promise<markdown_module>;
5
+ page: Promise<page_module>;
6
6
  components?: MDXComponents;
7
7
  }): runtime.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"header.cjs.js","names":[],"sources":["../../../../src/components/documentation/page/header.tsx"],"sourcesContent":["import { use, type BaseHTMLAttributes } from 'react';\n//import styles from '@sleetch/styles/components/Page/header.module.css';\nimport clsx from 'clsx';\nimport { Button } from '../../button';\nimport type { markdown_module } from '@sleetch/core/compiler';\n\nexport interface PageHeaderProps extends BaseHTMLAttributes<HTMLDivElement> {\n page: Promise<markdown_module>;\n}\n\nexport function PageHeader({ page, className, children, ...props }: PageHeaderProps) {\n const value = use(page);\n return (\n <div className={clsx(/*styles['default'],*/ className, 'sleetch-markdown')} {...props}>\n <h1>{value.default.frontmatter.title}</h1>\n <p>{value.default.frontmatter.description}</p>\n <div style={{ gap: '15px', display: 'flex' }}>\n <Button variant=\"secondary\">View as markdown</Button>\n <Button>Copy for LLM</Button>\n </div>\n <hr />\n </div>\n );\n}\n"],"mappings":"iNAUA,SAAgB,EAAW,CAAE,OAAM,YAAW,WAAU,GAAG,GAA0B,CACnF,IAAM,GAAA,EAAQ,EAAA,IAAA,CAAI,CAAI,EACtB,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAW,EAAA,EAA4B,EAAW,kBAAkB,EAAG,GAAI,EAAhF,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAM,QAAQ,YAAY,KAAU,CAAA,GACzC,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SAAI,EAAM,QAAQ,YAAY,WAAe,CAAA,GAC7C,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,MAAO,CAAE,IAAK,OAAQ,QAAS,MAAO,EAA3C,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAA,EAAD,CAAQ,QAAQ,YAAY,SAAA,kBAAwB,CAAA,GACpD,EAAA,EAAA,IAAA,CAAC,EAAA,EAAD,CAAA,SAAQ,cAAoB,CAAA,CACzB,KACL,EAAA,EAAA,IAAA,CAAC,KAAD,CAAK,CAAA,CACF,GAET"}
1
+ {"version":3,"file":"header.cjs.js","names":[],"sources":["../../../../src/components/documentation/page/header.tsx"],"sourcesContent":["import { use, type BaseHTMLAttributes } from 'react';\n//import styles from '@sleetch/styles/components/Page/header.module.css';\nimport clsx from 'clsx';\nimport { Button } from '../../button';\nimport type { page_module } from '@sleetch/core/compiler';\n\nexport interface PageHeaderProps extends BaseHTMLAttributes<HTMLDivElement> {\n page: Promise<page_module>;\n}\n\nexport function PageHeader({ page, className, children, ...props }: PageHeaderProps) {\n const value = use(page);\n return (\n <div className={clsx(/*styles['default'],*/ className, 'sleetch-markdown')} {...props}>\n <h1>{value.default.frontmatter.title}</h1>\n <p>{value.default.frontmatter.description}</p>\n <div style={{ gap: '15px', display: 'flex' }}>\n <Button variant=\"secondary\">View as markdown</Button>\n <Button>Copy for LLM</Button>\n </div>\n <hr />\n </div>\n );\n}\n"],"mappings":"iNAUA,SAAgB,EAAW,CAAE,OAAM,YAAW,WAAU,GAAG,GAA0B,CACnF,IAAM,GAAA,EAAQ,EAAA,IAAA,CAAI,CAAI,EACtB,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAW,EAAA,EAA4B,EAAW,kBAAkB,EAAG,GAAI,EAAhF,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAM,QAAQ,YAAY,KAAU,CAAA,GACzC,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SAAI,EAAM,QAAQ,YAAY,WAAe,CAAA,GAC7C,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,MAAO,CAAE,IAAK,OAAQ,QAAS,MAAO,EAA3C,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAA,EAAD,CAAQ,QAAQ,YAAY,SAAA,kBAAwB,CAAA,GACpD,EAAA,EAAA,IAAA,CAAC,EAAA,EAAD,CAAA,SAAQ,cAAoB,CAAA,CACzB,KACL,EAAA,EAAA,IAAA,CAAC,KAAD,CAAK,CAAA,CACF,GAET"}
@@ -1,6 +1,6 @@
1
1
  import { BaseHTMLAttributes } from 'react';
2
- import { markdown_module } from '@sleetch/core/compiler';
2
+ import { page_module } from '@sleetch/core/compiler';
3
3
  export interface PageHeaderProps extends BaseHTMLAttributes<HTMLDivElement> {
4
- page: Promise<markdown_module>;
4
+ page: Promise<page_module>;
5
5
  }
6
6
  export declare function PageHeader({ page, className, children, ...props }: PageHeaderProps): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"header.es.js","names":[],"sources":["../../../../src/components/documentation/page/header.tsx"],"sourcesContent":["import { use, type BaseHTMLAttributes } from 'react';\n//import styles from '@sleetch/styles/components/Page/header.module.css';\nimport clsx from 'clsx';\nimport { Button } from '../../button';\nimport type { markdown_module } from '@sleetch/core/compiler';\n\nexport interface PageHeaderProps extends BaseHTMLAttributes<HTMLDivElement> {\n page: Promise<markdown_module>;\n}\n\nexport function PageHeader({ page, className, children, ...props }: PageHeaderProps) {\n const value = use(page);\n return (\n <div className={clsx(/*styles['default'],*/ className, 'sleetch-markdown')} {...props}>\n <h1>{value.default.frontmatter.title}</h1>\n <p>{value.default.frontmatter.description}</p>\n <div style={{ gap: '15px', display: 'flex' }}>\n <Button variant=\"secondary\">View as markdown</Button>\n <Button>Copy for LLM</Button>\n </div>\n <hr />\n </div>\n );\n}\n"],"mappings":";;;;;AAUA,SAAgB,EAAW,EAAE,SAAM,cAAW,aAAU,GAAG,KAA0B;CACnF,IAAM,IAAQ,EAAI,CAAI;CACtB,OACE,kBAAC,OAAD;EAAK,WAAW,EAA4B,GAAW,kBAAkB;EAAG,GAAI;EAAhF,UAAA;GACE,kBAAC,MAAD,EAAA,UAAK,EAAM,QAAQ,YAAY,MAAU,CAAA;GACzC,kBAAC,KAAD,EAAA,UAAI,EAAM,QAAQ,YAAY,YAAe,CAAA;GAC7C,kBAAC,OAAD;IAAK,OAAO;KAAE,KAAK;KAAQ,SAAS;IAAO;IAA3C,UAAA,CACE,kBAAC,GAAD;KAAQ,SAAQ;KAAY,UAAA;IAAwB,CAAA,GACpD,kBAAC,GAAD,EAAA,UAAQ,eAAoB,CAAA,CACzB;;GACL,kBAAC,MAAD,CAAK,CAAA;EACF;;AAET"}
1
+ {"version":3,"file":"header.es.js","names":[],"sources":["../../../../src/components/documentation/page/header.tsx"],"sourcesContent":["import { use, type BaseHTMLAttributes } from 'react';\n//import styles from '@sleetch/styles/components/Page/header.module.css';\nimport clsx from 'clsx';\nimport { Button } from '../../button';\nimport type { page_module } from '@sleetch/core/compiler';\n\nexport interface PageHeaderProps extends BaseHTMLAttributes<HTMLDivElement> {\n page: Promise<page_module>;\n}\n\nexport function PageHeader({ page, className, children, ...props }: PageHeaderProps) {\n const value = use(page);\n return (\n <div className={clsx(/*styles['default'],*/ className, 'sleetch-markdown')} {...props}>\n <h1>{value.default.frontmatter.title}</h1>\n <p>{value.default.frontmatter.description}</p>\n <div style={{ gap: '15px', display: 'flex' }}>\n <Button variant=\"secondary\">View as markdown</Button>\n <Button>Copy for LLM</Button>\n </div>\n <hr />\n </div>\n );\n}\n"],"mappings":";;;;;AAUA,SAAgB,EAAW,EAAE,SAAM,cAAW,aAAU,GAAG,KAA0B;CACnF,IAAM,IAAQ,EAAI,CAAI;CACtB,OACE,kBAAC,OAAD;EAAK,WAAW,EAA4B,GAAW,kBAAkB;EAAG,GAAI;EAAhF,UAAA;GACE,kBAAC,MAAD,EAAA,UAAK,EAAM,QAAQ,YAAY,MAAU,CAAA;GACzC,kBAAC,KAAD,EAAA,UAAI,EAAM,QAAQ,YAAY,YAAe,CAAA;GAC7C,kBAAC,OAAD;IAAK,OAAO;KAAE,KAAK;KAAQ,SAAS;IAAO;IAA3C,UAAA,CACE,kBAAC,GAAD;KAAQ,SAAQ;KAAY,UAAA;IAAwB,CAAA,GACpD,kBAAC,GAAD,EAAA,UAAQ,eAAoB,CAAA,CACzB;;GACL,kBAAC,MAAD,CAAK,CAAA;EACF;;AAET"}
@@ -1,6 +1,6 @@
1
1
  import { BaseHTMLAttributes } from 'react';
2
- import { markdown_module } from '@sleetch/core/compiler';
2
+ import { page_module } from '@sleetch/core/compiler';
3
3
  export interface DocumentationTocProps extends BaseHTMLAttributes<HTMLBaseElement> {
4
- page: Promise<markdown_module>;
4
+ page: Promise<page_module>;
5
5
  }
6
6
  export declare function DocumentationToc({ className, children, page, ...props }: DocumentationTocProps): import("react").JSX.Element | null;
@@ -1 +1 @@
1
- {"version":3,"file":"content-KDKeEwv-.cjs","names":[],"sources":["../../../node_modules/.bun/@mdx-js+mdx@3.1.1/node_modules/@mdx-js/mdx/lib/run.js","../src/components/documentation/page/content.tsx"],"sourcesContent":["/**\n * @import {MDXModule} from 'mdx/types.js'\n * @import {RunOptions} from './util/resolve-evaluate-options.js'\n */\n\n/** @type {new (code: string, ...args: Array<unknown>) => Function} **/\nconst AsyncFunction = Object.getPrototypeOf(run).constructor\n\n/**\n * Run code compiled with `outputFormat: 'function-body'`.\n *\n * > ☢️ **Danger**: this `eval`s JavaScript.\n *\n * @param {{toString(): string}} code\n * JavaScript function body to run.\n * @param {RunOptions} options\n * Configuration (**required**).\n * @return {Promise<MDXModule>}\n * Promise to a module;\n * the result is an object with a `default` field set to the component;\n * anything else that was exported is available too.\n */\nexport async function run(code, options) {\n return new AsyncFunction(String(code))(options)\n}\n\n/**\n * Run code, synchronously.\n *\n * When possible please use the async `run`.\n *\n * > ☢️ **Danger**: this `eval`s JavaScript.\n *\n * @param {{toString(): string}} code\n * JavaScript function body to run.\n * @param {RunOptions} options\n * Configuration (**required**).\n * @return {MDXModule}\n * Module.\n */\nexport function runSync(code, options) {\n // eslint-disable-next-line no-new-func\n return new Function(String(code))(options)\n}\n","import { use } from 'react';\nimport '@sleetch/styles/markdown.css';\nimport '@sleetch/styles/katex.css';\nimport { run } from '@mdx-js/mdx';\nimport * as runtime from 'react/jsx-runtime';\nimport type { MDXComponents } from 'mdx/types';\nimport type { markdown_module } from '@sleetch/core/compiler';\n\nconst mdxCache = new Map<string, ReturnType<typeof compileMDX>>();\n\nfunction compileMDX(code: string) {\n return run(code, {\n ...runtime,\n baseUrl: import.meta.url,\n });\n}\n\nfunction getCompiledMDX(code: string) {\n let promise = mdxCache.get(code);\n\n if (!promise) {\n promise = compileMDX(code);\n mdxCache.set(code, promise);\n }\n\n return promise;\n}\nexport function PageContent({ page, components }: { page: Promise<markdown_module>; components?: MDXComponents }) {\n const value = use(page);\n\n if (value.default.parsed.type == 'html') {\n return (\n <div className=\"sleetch-markdown\">\n <div dangerouslySetInnerHTML={{ __html: value.default.parsed.html }} />\n </div>\n );\n }\n\n const { default: Content } = use(getCompiledMDX(value.default.parsed.code));\n\n return (\n <div className=\"sleetch-markdown\">\n <Content components={components} />\n </div>\n );\n}\n"],"x_google_ignoreList":[0],"mappings":"mjBAMA,IAAM,EAAgB,OAAO,eAAe,CAAG,CAAC,CAAC,YAgBjD,eAAsB,EAAI,EAAM,EAAS,CACvC,OAAO,IAAI,EAAc,OAAO,CAAI,CAAC,CAAC,CAAC,CAAO,CAChD,CChBA,IAAM,EAAW,IAAI,IAErB,SAAS,EAAW,EAAc,CAChC,OAAO,EAAI,EAAM,CACf,GAAG,EACH,QAAA,CAAA,EAAqB,GACvB,CAAC,CACH,CAEA,SAAS,EAAe,EAAc,CACpC,IAAI,EAAU,EAAS,IAAI,CAAI,EAO/B,OALK,IACH,EAAU,EAAW,CAAI,EACzB,EAAS,IAAI,EAAM,CAAO,GAGrB,CACT,CACA,SAAgB,EAAY,CAAE,OAAM,cAA8E,CAChH,IAAM,GAAA,EAAQ,EAAA,IAAA,CAAI,CAAI,EAEtB,GAAI,EAAM,QAAQ,OAAO,MAAQ,OAC/B,OACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,mBACb,UAAA,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,wBAAyB,CAAE,OAAQ,EAAM,QAAQ,OAAO,IAAK,CAAI,CAAA,CACnE,CAAA,EAIT,GAAM,CAAE,QAAS,IAAA,EAAY,EAAA,IAAA,CAAI,EAAe,EAAM,QAAQ,OAAO,IAAI,CAAC,EAE1E,OACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,mBACb,UAAA,EAAA,EAAA,IAAA,CAAC,EAAD,CAAqB,YAAa,CAAA,CAC/B,CAAA,CAET"}
1
+ {"version":3,"file":"content-KDKeEwv-.cjs","names":[],"sources":["../../../node_modules/.bun/@mdx-js+mdx@3.1.1/node_modules/@mdx-js/mdx/lib/run.js","../src/components/documentation/page/content.tsx"],"sourcesContent":["/**\n * @import {MDXModule} from 'mdx/types.js'\n * @import {RunOptions} from './util/resolve-evaluate-options.js'\n */\n\n/** @type {new (code: string, ...args: Array<unknown>) => Function} **/\nconst AsyncFunction = Object.getPrototypeOf(run).constructor\n\n/**\n * Run code compiled with `outputFormat: 'function-body'`.\n *\n * > ☢️ **Danger**: this `eval`s JavaScript.\n *\n * @param {{toString(): string}} code\n * JavaScript function body to run.\n * @param {RunOptions} options\n * Configuration (**required**).\n * @return {Promise<MDXModule>}\n * Promise to a module;\n * the result is an object with a `default` field set to the component;\n * anything else that was exported is available too.\n */\nexport async function run(code, options) {\n return new AsyncFunction(String(code))(options)\n}\n\n/**\n * Run code, synchronously.\n *\n * When possible please use the async `run`.\n *\n * > ☢️ **Danger**: this `eval`s JavaScript.\n *\n * @param {{toString(): string}} code\n * JavaScript function body to run.\n * @param {RunOptions} options\n * Configuration (**required**).\n * @return {MDXModule}\n * Module.\n */\nexport function runSync(code, options) {\n // eslint-disable-next-line no-new-func\n return new Function(String(code))(options)\n}\n","import { use } from 'react';\nimport '@sleetch/styles/markdown.css';\nimport '@sleetch/styles/katex.css';\nimport { run } from '@mdx-js/mdx';\nimport * as runtime from 'react/jsx-runtime';\nimport type { MDXComponents } from 'mdx/types';\nimport type { page_module } from '@sleetch/core/compiler';\n\nconst mdxCache = new Map<string, ReturnType<typeof compileMDX>>();\n\nfunction compileMDX(code: string) {\n return run(code, {\n ...runtime,\n baseUrl: import.meta.url,\n });\n}\n\nfunction getCompiledMDX(code: string) {\n let promise = mdxCache.get(code);\n\n if (!promise) {\n promise = compileMDX(code);\n mdxCache.set(code, promise);\n }\n\n return promise;\n}\nexport function PageContent({ page, components }: { page: Promise<page_module>; components?: MDXComponents }) {\n const value = use(page);\n\n if (value.default.parsed.type == 'html') {\n return (\n <div className=\"sleetch-markdown\">\n <div dangerouslySetInnerHTML={{ __html: value.default.parsed.html }} />\n </div>\n );\n }\n\n const { default: Content } = use(getCompiledMDX(value.default.parsed.code));\n\n return (\n <div className=\"sleetch-markdown\">\n <Content components={components} />\n </div>\n );\n}\n"],"x_google_ignoreList":[0],"mappings":"mjBAMA,IAAM,EAAgB,OAAO,eAAe,CAAG,CAAC,CAAC,YAgBjD,eAAsB,EAAI,EAAM,EAAS,CACvC,OAAO,IAAI,EAAc,OAAO,CAAI,CAAC,CAAC,CAAC,CAAO,CAChD,CChBA,IAAM,EAAW,IAAI,IAErB,SAAS,EAAW,EAAc,CAChC,OAAO,EAAI,EAAM,CACf,GAAG,EACH,QAAA,CAAA,EAAqB,GACvB,CAAC,CACH,CAEA,SAAS,EAAe,EAAc,CACpC,IAAI,EAAU,EAAS,IAAI,CAAI,EAO/B,OALK,IACH,EAAU,EAAW,CAAI,EACzB,EAAS,IAAI,EAAM,CAAO,GAGrB,CACT,CACA,SAAgB,EAAY,CAAE,OAAM,cAA0E,CAC5G,IAAM,GAAA,EAAQ,EAAA,IAAA,CAAI,CAAI,EAEtB,GAAI,EAAM,QAAQ,OAAO,MAAQ,OAC/B,OACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,mBACb,UAAA,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,wBAAyB,CAAE,OAAQ,EAAM,QAAQ,OAAO,IAAK,CAAI,CAAA,CACnE,CAAA,EAIT,GAAM,CAAE,QAAS,IAAA,EAAY,EAAA,IAAA,CAAI,EAAe,EAAM,QAAQ,OAAO,IAAI,CAAC,EAE1E,OACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,mBACb,UAAA,EAAA,EAAA,IAAA,CAAC,EAAD,CAAqB,YAAa,CAAA,CAC/B,CAAA,CAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"content-xKdbA544.js","names":[],"sources":["../../../node_modules/.bun/@mdx-js+mdx@3.1.1/node_modules/@mdx-js/mdx/lib/run.js","../src/components/documentation/page/content.tsx"],"sourcesContent":["/**\n * @import {MDXModule} from 'mdx/types.js'\n * @import {RunOptions} from './util/resolve-evaluate-options.js'\n */\n\n/** @type {new (code: string, ...args: Array<unknown>) => Function} **/\nconst AsyncFunction = Object.getPrototypeOf(run).constructor\n\n/**\n * Run code compiled with `outputFormat: 'function-body'`.\n *\n * > ☢️ **Danger**: this `eval`s JavaScript.\n *\n * @param {{toString(): string}} code\n * JavaScript function body to run.\n * @param {RunOptions} options\n * Configuration (**required**).\n * @return {Promise<MDXModule>}\n * Promise to a module;\n * the result is an object with a `default` field set to the component;\n * anything else that was exported is available too.\n */\nexport async function run(code, options) {\n return new AsyncFunction(String(code))(options)\n}\n\n/**\n * Run code, synchronously.\n *\n * When possible please use the async `run`.\n *\n * > ☢️ **Danger**: this `eval`s JavaScript.\n *\n * @param {{toString(): string}} code\n * JavaScript function body to run.\n * @param {RunOptions} options\n * Configuration (**required**).\n * @return {MDXModule}\n * Module.\n */\nexport function runSync(code, options) {\n // eslint-disable-next-line no-new-func\n return new Function(String(code))(options)\n}\n","import { use } from 'react';\nimport '@sleetch/styles/markdown.css';\nimport '@sleetch/styles/katex.css';\nimport { run } from '@mdx-js/mdx';\nimport * as runtime from 'react/jsx-runtime';\nimport type { MDXComponents } from 'mdx/types';\nimport type { markdown_module } from '@sleetch/core/compiler';\n\nconst mdxCache = new Map<string, ReturnType<typeof compileMDX>>();\n\nfunction compileMDX(code: string) {\n return run(code, {\n ...runtime,\n baseUrl: import.meta.url,\n });\n}\n\nfunction getCompiledMDX(code: string) {\n let promise = mdxCache.get(code);\n\n if (!promise) {\n promise = compileMDX(code);\n mdxCache.set(code, promise);\n }\n\n return promise;\n}\nexport function PageContent({ page, components }: { page: Promise<markdown_module>; components?: MDXComponents }) {\n const value = use(page);\n\n if (value.default.parsed.type == 'html') {\n return (\n <div className=\"sleetch-markdown\">\n <div dangerouslySetInnerHTML={{ __html: value.default.parsed.html }} />\n </div>\n );\n }\n\n const { default: Content } = use(getCompiledMDX(value.default.parsed.code));\n\n return (\n <div className=\"sleetch-markdown\">\n <Content components={components} />\n </div>\n );\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;AAMA,IAAM,IAAgB,OAAO,eAAe,CAAG,CAAC,CAAC;AAgBjD,eAAsB,EAAI,GAAM,GAAS;CACvC,OAAO,IAAI,EAAc,OAAO,CAAI,CAAC,CAAC,CAAC,CAAO;AAChD;;;AChBA,IAAM,oBAAW,IAAI,IAA2C;AAEhE,SAAS,EAAW,GAAc;CAChC,OAAO,EAAI,GAAM;EACf,GAAG;EACH,SAAS,YAAY;CACvB,CAAC;AACH;AAEA,SAAS,EAAe,GAAc;CACpC,IAAI,IAAU,EAAS,IAAI,CAAI;CAO/B,OALK,MACH,IAAU,EAAW,CAAI,GACzB,EAAS,IAAI,GAAM,CAAO,IAGrB;AACT;AACA,SAAgB,EAAY,EAAE,SAAM,iBAA8E;CAChH,IAAM,IAAQ,EAAI,CAAI;CAEtB,IAAI,EAAM,QAAQ,OAAO,QAAQ,QAC/B,OACE,kBAAC,OAAD;EAAK,WAAU;EACb,UAAA,kBAAC,OAAD,EAAK,yBAAyB,EAAE,QAAQ,EAAM,QAAQ,OAAO,KAAK,EAAI,CAAA;CACnE,CAAA;CAIT,IAAM,EAAE,SAAS,MAAY,EAAI,EAAe,EAAM,QAAQ,OAAO,IAAI,CAAC;CAE1E,OACE,kBAAC,OAAD;EAAK,WAAU;EACb,UAAA,kBAAC,GAAD,EAAqB,cAAa,CAAA;CAC/B,CAAA;AAET"}
1
+ {"version":3,"file":"content-xKdbA544.js","names":[],"sources":["../../../node_modules/.bun/@mdx-js+mdx@3.1.1/node_modules/@mdx-js/mdx/lib/run.js","../src/components/documentation/page/content.tsx"],"sourcesContent":["/**\n * @import {MDXModule} from 'mdx/types.js'\n * @import {RunOptions} from './util/resolve-evaluate-options.js'\n */\n\n/** @type {new (code: string, ...args: Array<unknown>) => Function} **/\nconst AsyncFunction = Object.getPrototypeOf(run).constructor\n\n/**\n * Run code compiled with `outputFormat: 'function-body'`.\n *\n * > ☢️ **Danger**: this `eval`s JavaScript.\n *\n * @param {{toString(): string}} code\n * JavaScript function body to run.\n * @param {RunOptions} options\n * Configuration (**required**).\n * @return {Promise<MDXModule>}\n * Promise to a module;\n * the result is an object with a `default` field set to the component;\n * anything else that was exported is available too.\n */\nexport async function run(code, options) {\n return new AsyncFunction(String(code))(options)\n}\n\n/**\n * Run code, synchronously.\n *\n * When possible please use the async `run`.\n *\n * > ☢️ **Danger**: this `eval`s JavaScript.\n *\n * @param {{toString(): string}} code\n * JavaScript function body to run.\n * @param {RunOptions} options\n * Configuration (**required**).\n * @return {MDXModule}\n * Module.\n */\nexport function runSync(code, options) {\n // eslint-disable-next-line no-new-func\n return new Function(String(code))(options)\n}\n","import { use } from 'react';\nimport '@sleetch/styles/markdown.css';\nimport '@sleetch/styles/katex.css';\nimport { run } from '@mdx-js/mdx';\nimport * as runtime from 'react/jsx-runtime';\nimport type { MDXComponents } from 'mdx/types';\nimport type { page_module } from '@sleetch/core/compiler';\n\nconst mdxCache = new Map<string, ReturnType<typeof compileMDX>>();\n\nfunction compileMDX(code: string) {\n return run(code, {\n ...runtime,\n baseUrl: import.meta.url,\n });\n}\n\nfunction getCompiledMDX(code: string) {\n let promise = mdxCache.get(code);\n\n if (!promise) {\n promise = compileMDX(code);\n mdxCache.set(code, promise);\n }\n\n return promise;\n}\nexport function PageContent({ page, components }: { page: Promise<page_module>; components?: MDXComponents }) {\n const value = use(page);\n\n if (value.default.parsed.type == 'html') {\n return (\n <div className=\"sleetch-markdown\">\n <div dangerouslySetInnerHTML={{ __html: value.default.parsed.html }} />\n </div>\n );\n }\n\n const { default: Content } = use(getCompiledMDX(value.default.parsed.code));\n\n return (\n <div className=\"sleetch-markdown\">\n <Content components={components} />\n </div>\n );\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;AAMA,IAAM,IAAgB,OAAO,eAAe,CAAG,CAAC,CAAC;AAgBjD,eAAsB,EAAI,GAAM,GAAS;CACvC,OAAO,IAAI,EAAc,OAAO,CAAI,CAAC,CAAC,CAAC,CAAO;AAChD;;;AChBA,IAAM,oBAAW,IAAI,IAA2C;AAEhE,SAAS,EAAW,GAAc;CAChC,OAAO,EAAI,GAAM;EACf,GAAG;EACH,SAAS,YAAY;CACvB,CAAC;AACH;AAEA,SAAS,EAAe,GAAc;CACpC,IAAI,IAAU,EAAS,IAAI,CAAI;CAO/B,OALK,MACH,IAAU,EAAW,CAAI,GACzB,EAAS,IAAI,GAAM,CAAO,IAGrB;AACT;AACA,SAAgB,EAAY,EAAE,SAAM,iBAA0E;CAC5G,IAAM,IAAQ,EAAI,CAAI;CAEtB,IAAI,EAAM,QAAQ,OAAO,QAAQ,QAC/B,OACE,kBAAC,OAAD;EAAK,WAAU;EACb,UAAA,kBAAC,OAAD,EAAK,yBAAyB,EAAE,QAAQ,EAAM,QAAQ,OAAO,KAAK,EAAI,CAAA;CACnE,CAAA;CAIT,IAAM,EAAE,SAAS,MAAY,EAAI,EAAe,EAAM,QAAQ,OAAO,IAAI,CAAC;CAE1E,OACE,kBAAC,OAAD;EAAK,WAAU;EACb,UAAA,kBAAC,GAAD,EAAqB,cAAa,CAAA;CAC/B,CAAA;AAET"}
@@ -0,0 +1,2 @@
1
+ require('./assets/header.css');const e=require("./contexts/documentation.cjs.js"),t=require("./clsx-GLXUd3yb.cjs");let n=require("react/jsx-runtime");var r={default:`_default_p2hb0_1`,"menu-toggle":`_menu-toggle_p2hb0_16`};function i({className:i,children:a,...o}){let{toggle_sidebar:s}=e.useDocumentationContext();return(0,n.jsxs)(`div`,{className:t.t(r.default,i),...o,children:[(0,n.jsx)(`button`,{className:r[`menu-toggle`],onClick:s,"aria-label":`Toggle sidebar`,type:`button`,children:(0,n.jsxs)(`svg`,{viewBox:`0 0 24 24`,width:`24`,height:`24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`line`,{x1:`3`,y1:`12`,x2:`21`,y2:`12`}),(0,n.jsx)(`line`,{x1:`3`,y1:`6`,x2:`21`,y2:`6`}),(0,n.jsx)(`line`,{x1:`3`,y1:`18`,x2:`21`,y2:`18`})]})}),a]})}Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i}});
2
+ //# sourceMappingURL=header-CmQhY5Pa.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-CmQhY5Pa.cjs","names":[],"sources":["../../styles/src/components/documentation/header.module.css","../src/components/documentation/header.tsx"],"sourcesContent":[".default {\n color: var(--_sleetch-color-text);\n height: var(--_sleetch-header-height);\n background-color: color-mix(in srgb, var(--_sleetch-color-card) 30%, transparent);\n backdrop-filter: blur(15px);\n border-bottom: 1px solid var(--_sleetch-color-border);\n position: sticky;\n top: 0;\n display: flex;\n align-items: center;\n padding: 0 2em;\n gap: 1em;\n z-index: 100;\n}\n\n.menu-toggle {\n display: none;\n background: none;\n border: none;\n color: var(--_sleetch-color-text);\n cursor: pointer;\n padding: 0.5em;\n border-radius: var(--_sleetch-radius);\n transition: background-color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing);\n}\n\n.menu-toggle:hover {\n background-color: var(--_sleetch-color-muted);\n}\n\n.menu-toggle:active {\n transform: scale(0.95);\n}\n\n@media (max-width: 768px) {\n .default {\n padding: 0 1em;\n }\n\n .menu-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n}\n","import type { BaseHTMLAttributes } from 'react';\nimport styles from '@sleetch/styles/components/documentation/header.module.css';\nimport clsx from 'clsx';\nimport { useDocumentationContext } from '../../contexts/documentation';\n\nexport interface DocumentationHeaderProps extends BaseHTMLAttributes<HTMLDivElement> {}\n\nexport function DocumentationHeader({ className, children, ...props }: DocumentationHeaderProps) {\n const { toggle_sidebar } = useDocumentationContext();\n return (\n <div className={clsx(styles['default'], className)} {...props}>\n <button className={styles['menu-toggle']} onClick={toggle_sidebar} aria-label=\"Toggle sidebar\" type=\"button\">\n <svg\n viewBox=\"0 0 24 24\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\" />\n <line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\" />\n <line x1=\"3\" y1=\"18\" x2=\"21\" y2=\"18\" />\n </svg>\n </button>\n {children}\n </div>\n );\n}\n"],"mappings":"gMCOA,SAAgB,EAAoB,CAAE,YAAW,WAAU,GAAG,GAAmC,CAC/F,GAAM,CAAE,kBAAmB,EAAA,wBAAwB,EACnD,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAW,EAAA,EAAK,EAAO,QAAY,CAAS,EAAG,GAAI,EAAxD,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,SAAD,CAAQ,UAAW,EAAO,eAAgB,QAAS,EAAgB,aAAW,iBAAiB,KAAK,SAClG,UAAA,EAAA,EAAA,KAAA,CAAC,MAAD,CACE,QAAQ,YACR,MAAM,KACN,OAAO,KACP,KAAK,OACL,OAAO,eACP,YAAY,IACZ,cAAc,QACd,eAAe,QARjB,SAAA,EAUE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAM,CAAA,GACtC,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,GAAK,CAAA,GACpC,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAM,CAAA,CACnC,GACC,CAAA,EACP,CACE,GAET"}
@@ -1,22 +1,24 @@
1
- import { t as e } from "./clsx-CaAiuA5w.js";
2
- import { jsx as t, jsxs as n } from "react/jsx-runtime";
1
+ import { useDocumentationContext as e } from "./contexts/documentation.es.js";
2
+ import { t } from "./clsx-CaAiuA5w.js";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
3
4
  import './assets/header.css';//#region ../styles/src/components/documentation/header.module.css
4
- var r = {
5
+ var i = {
5
6
  default: "_default_p2hb0_1",
6
7
  "menu-toggle": "_menu-toggle_p2hb0_16"
7
8
  };
8
9
  //#endregion
9
10
  //#region src/components/documentation/header.tsx
10
- function i({ className: i, children: a, onMenuToggle: o, ...s }) {
11
- return /* @__PURE__ */ n("div", {
12
- className: e(r.default, i),
11
+ function a({ className: a, children: o, ...s }) {
12
+ let { toggle_sidebar: c } = e();
13
+ return /* @__PURE__ */ r("div", {
14
+ className: t(i.default, a),
13
15
  ...s,
14
- children: [o && /* @__PURE__ */ t("button", {
15
- className: r["menu-toggle"],
16
- onClick: o,
16
+ children: [/* @__PURE__ */ n("button", {
17
+ className: i["menu-toggle"],
18
+ onClick: c,
17
19
  "aria-label": "Toggle sidebar",
18
20
  type: "button",
19
- children: /* @__PURE__ */ n("svg", {
21
+ children: /* @__PURE__ */ r("svg", {
20
22
  viewBox: "0 0 24 24",
21
23
  width: "24",
22
24
  height: "24",
@@ -26,19 +28,19 @@ function i({ className: i, children: a, onMenuToggle: o, ...s }) {
26
28
  strokeLinecap: "round",
27
29
  strokeLinejoin: "round",
28
30
  children: [
29
- /* @__PURE__ */ t("line", {
31
+ /* @__PURE__ */ n("line", {
30
32
  x1: "3",
31
33
  y1: "12",
32
34
  x2: "21",
33
35
  y2: "12"
34
36
  }),
35
- /* @__PURE__ */ t("line", {
37
+ /* @__PURE__ */ n("line", {
36
38
  x1: "3",
37
39
  y1: "6",
38
40
  x2: "21",
39
41
  y2: "6"
40
42
  }),
41
- /* @__PURE__ */ t("line", {
43
+ /* @__PURE__ */ n("line", {
42
44
  x1: "3",
43
45
  y1: "18",
44
46
  x2: "21",
@@ -46,10 +48,10 @@ function i({ className: i, children: a, onMenuToggle: o, ...s }) {
46
48
  })
47
49
  ]
48
50
  })
49
- }), a]
51
+ }), o]
50
52
  });
51
53
  }
52
54
  //#endregion
53
- export { i as t };
55
+ export { a as t };
54
56
 
55
- //# sourceMappingURL=header-aBbFHuW8.js.map
57
+ //# sourceMappingURL=header-DDS6Ak-Z.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-DDS6Ak-Z.js","names":[],"sources":["../../styles/src/components/documentation/header.module.css","../src/components/documentation/header.tsx"],"sourcesContent":[".default {\n color: var(--_sleetch-color-text);\n height: var(--_sleetch-header-height);\n background-color: color-mix(in srgb, var(--_sleetch-color-card) 30%, transparent);\n backdrop-filter: blur(15px);\n border-bottom: 1px solid var(--_sleetch-color-border);\n position: sticky;\n top: 0;\n display: flex;\n align-items: center;\n padding: 0 2em;\n gap: 1em;\n z-index: 100;\n}\n\n.menu-toggle {\n display: none;\n background: none;\n border: none;\n color: var(--_sleetch-color-text);\n cursor: pointer;\n padding: 0.5em;\n border-radius: var(--_sleetch-radius);\n transition: background-color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing);\n}\n\n.menu-toggle:hover {\n background-color: var(--_sleetch-color-muted);\n}\n\n.menu-toggle:active {\n transform: scale(0.95);\n}\n\n@media (max-width: 768px) {\n .default {\n padding: 0 1em;\n }\n\n .menu-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n}\n","import type { BaseHTMLAttributes } from 'react';\nimport styles from '@sleetch/styles/components/documentation/header.module.css';\nimport clsx from 'clsx';\nimport { useDocumentationContext } from '../../contexts/documentation';\n\nexport interface DocumentationHeaderProps extends BaseHTMLAttributes<HTMLDivElement> {}\n\nexport function DocumentationHeader({ className, children, ...props }: DocumentationHeaderProps) {\n const { toggle_sidebar } = useDocumentationContext();\n return (\n <div className={clsx(styles['default'], className)} {...props}>\n <button className={styles['menu-toggle']} onClick={toggle_sidebar} aria-label=\"Toggle sidebar\" type=\"button\">\n <svg\n viewBox=\"0 0 24 24\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\" />\n <line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\" />\n <line x1=\"3\" y1=\"18\" x2=\"21\" y2=\"18\" />\n </svg>\n </button>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;ACOA,SAAgB,EAAoB,EAAE,cAAW,aAAU,GAAG,KAAmC;CAC/F,IAAM,EAAE,sBAAmB,EAAwB;CACnD,OACE,kBAAC,OAAD;EAAK,WAAW,EAAK,EAAO,SAAY,CAAS;EAAG,GAAI;EAAxD,UAAA,CACE,kBAAC,UAAD;GAAQ,WAAW,EAAO;GAAgB,SAAS;GAAgB,cAAW;GAAiB,MAAK;GAClG,UAAA,kBAAC,OAAD;IACE,SAAQ;IACR,OAAM;IACN,QAAO;IACP,MAAK;IACL,QAAO;IACP,aAAY;IACZ,eAAc;IACd,gBAAe;IARjB,UAAA;KAUE,kBAAC,QAAD;MAAM,IAAG;MAAI,IAAG;MAAK,IAAG;MAAK,IAAG;KAAM,CAAA;KACtC,kBAAC,QAAD;MAAM,IAAG;MAAI,IAAG;MAAI,IAAG;MAAK,IAAG;KAAK,CAAA;KACpC,kBAAC,QAAD;MAAM,IAAG;MAAI,IAAG;MAAK,IAAG;MAAK,IAAG;KAAM,CAAA;IACnC;;EACC,CAAA,GACP,CACE;;AAET"}
package/dist/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./content-KDKeEwv-.cjs"),t=require("./contexts/documentation.cjs.js"),n=require("./sidebar-CiheJpEa.cjs"),r=require("./content-CQ5PQ1-Z.cjs"),i=require("./layout-B9nkyVRH.cjs"),a=require("./header-D6vF0VLY.cjs"),o=require("./content-DsE39ENV.cjs"),s=require("./toc-CI_8-KFH.cjs"),c=require("./content-DOo3vcgG.cjs"),l=require("./button-rojnIyoM.cjs"),u=require("./components/documentation/page/header.cjs.js"),d=require("./navigation-BCpfEaXG.cjs"),f=require("./file-system-Ca6fqwTn.cjs");exports.Button=l.t,exports.DocumentationContent=o.t,exports.DocumentationHeader=a.t,exports.DocumentationLayout=i.t,exports.DocumentationProvider=t.DocumentationProvider,exports.DocumentationSidebar=n.t,exports.DocumentationSidebarContent=r.t,exports.DocumentationToc=s.t,exports.DocumentationTocContent=c.t,exports.File=f.t,exports.FileSystem=f.n,exports.Folder=f.r,exports.PageContent=e.t,exports.PageHeader=u.PageHeader,exports.PageNavigation=d.t,exports.useDocumentationContext=t.useDocumentationContext;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./content-KDKeEwv-.cjs"),t=require("./contexts/documentation.cjs.js"),n=require("./sidebar-CiheJpEa.cjs"),r=require("./content-CQ5PQ1-Z.cjs"),i=require("./layout-B9nkyVRH.cjs"),a=require("./header-CmQhY5Pa.cjs"),o=require("./content-DsE39ENV.cjs"),s=require("./toc-CI_8-KFH.cjs"),c=require("./content-DOo3vcgG.cjs"),l=require("./button-rojnIyoM.cjs"),u=require("./components/documentation/page/header.cjs.js"),d=require("./navigation-BCpfEaXG.cjs"),f=require("./file-system-Ca6fqwTn.cjs");exports.Button=l.t,exports.DocumentationContent=o.t,exports.DocumentationHeader=a.t,exports.DocumentationLayout=i.t,exports.DocumentationProvider=t.DocumentationProvider,exports.DocumentationSidebar=n.t,exports.DocumentationSidebarContent=r.t,exports.DocumentationToc=s.t,exports.DocumentationTocContent=c.t,exports.File=f.t,exports.FileSystem=f.n,exports.Folder=f.r,exports.PageContent=e.t,exports.PageHeader=u.PageHeader,exports.PageNavigation=d.t,exports.useDocumentationContext=t.useDocumentationContext;
package/dist/index.es.js CHANGED
@@ -3,7 +3,7 @@ import { DocumentationProvider as e, useDocumentationContext as t } from "./cont
3
3
  import { t as n } from "./sidebar-aXd_UA6s.js";
4
4
  import { t as r } from "./content-DvLxAJYd.js";
5
5
  import { t as i } from "./layout-C_NguCrO.js";
6
- import { t as a } from "./header-aBbFHuW8.js";
6
+ import { t as a } from "./header-DDS6Ak-Z.js";
7
7
  import { t as o } from "./content-CoLxuTJs.js";
8
8
  import { t as s } from "./toc-Dvn-UEjm.js";
9
9
  import { t as c } from "./content-Wo136UBd.js";
@@ -1 +1 @@
1
- {"version":3,"file":"toc-CI_8-KFH.cjs","names":[],"sources":["../../styles/src/components/documentation/toc/index.module.css","../src/components/documentation/toc/index.tsx"],"sourcesContent":[".default {\n min-width: var(--_sleetch-toc-width);\n height: calc(100vh - var(--_sleetch-header-height));\n position: sticky;\n top: var(--_sleetch-header-height);\n color: var(--_sleetch-color-text);\n padding: 4em 2em;\n border-left: 1px dashed var(--_sleetch-color-border);\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n}\n\n@media (max-width: 1024px) {\n .default {\n display: none;\n }\n}\n\n@media (min-width: 1025px) and (max-width: 1280px) {\n .default {\n min-width: 220px;\n padding: 3em 1.5em;\n }\n}\n\n.title {\n margin: 0 0 0.5em;\n font-size: 0.9em;\n font-weight: var(--_sleetch-font-weight-heading);\n color: var(--_sleetch-color-text);\n}\n\n.track {\n position: relative;\n}\n\n.line {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 1px;\n background: var(--_sleetch-color-muted);\n z-index: 0;\n}\n\n.gapDot {\n position: absolute;\n left: 0;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: var(--_sleetch-color-muted-foreground);\n transform: translate(-50%, -50%);\n z-index: 1;\n pointer-events: none;\n transition: top var(--_sleetch-transition-duration) var(--_sleetch-transition-timing);\n}\n\n.list {\n position: relative; /* nécessaire pour que le z-index prenne le dessus sur .line */\n z-index: 1;\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.item {\n min-width: 0; /* requis pour que l'ellipsis fonctionne dans un flex/grid parent */\n}\n\n.link {\n --depth: 1;\n\n display: block;\n width: 100%;\n margin-left: -1px; /* centre la bordure de 3px sur la ligne de 1px */\n padding-block: 0.4em;\n padding-left: calc(1em + (var(--depth) - 1) * 0.85em);\n padding-right: 0.5em;\n\n border-left: 3px solid transparent;\n\n font-family: var(--_sleetch-font-base);\n font-size: calc(0.85em - (var(--depth) - 1) * 0.03em);\n line-height: 1.3;\n color: var(--_sleetch-color-muted-foreground);\n text-decoration: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n transition:\n color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing),\n border-color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing),\n background-color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing),\n transform var(--_sleetch-transition-duration) var(--_sleetch-transition-timing);\n}\n\n.link:hover {\n color: var(--_sleetch-color-text);\n}\n\n.active {\n border-left-color: var(--_sleetch-color-text-primary);\n background: color-mix(in srgb, var(--_sleetch-color-text-underline) 35%, transparent);\n color: var(--_sleetch-color-text);\n transform: translateX(4px);\n}\n","/*\nAI Generated :(\nNeeds more testing\n*/\n\nimport { use, useEffect, useRef, useState, type BaseHTMLAttributes, type CSSProperties } from 'react';\nimport styles from '@sleetch/styles/components/documentation/toc/index.module.css';\nimport clsx from 'clsx';\nimport type { markdown_module } from '@sleetch/core/compiler';\n\nexport interface DocumentationTocProps extends BaseHTMLAttributes<HTMLBaseElement> {\n page: Promise<markdown_module>;\n}\n\ninterface TocLinkStyle extends CSSProperties {\n '--depth'?: number;\n}\n\nexport function DocumentationToc({ className, children, page, ...props }: DocumentationTocProps) {\n const value = use(page);\n const toc = value.default.toc;\n if (toc.length == 0) return null;\n\n const [activeIds, setActiveIds] = useState<Set<string>>(new Set());\n const [gapY, setGapY] = useState<number | null>(null);\n\n const trackRef = useRef<HTMLDivElement>(null);\n const itemRefs = useRef<Map<string, HTMLLIElement>>(new Map());\n const lastActiveIndexRef = useRef<number | null>(null);\n\n useEffect(() => {\n if (toc.length === 0) return;\n\n const elements = toc.map((item) => document.getElementById(item.id)).filter((el): el is HTMLElement => el !== null);\n\n if (elements.length === 0) return;\n\n const observer = new IntersectionObserver(\n (entries) => {\n setActiveIds((prev) => {\n const next = new Set(prev);\n for (const entry of entries) {\n if (entry.isIntersecting) {\n next.add(entry.target.id);\n } else {\n next.delete(entry.target.id);\n }\n }\n return next;\n });\n },\n {\n rootMargin: '0px 0px -70% 0px',\n threshold: 0,\n }\n );\n\n for (const el of elements) observer.observe(el);\n\n return () => observer.disconnect();\n }, [toc]);\n\n useEffect(() => {\n if (activeIds.size > 0) {\n let maxIndex = -1;\n toc.forEach((item, i) => {\n if (activeIds.has(item.id)) maxIndex = i;\n });\n lastActiveIndexRef.current = maxIndex;\n setGapY(null);\n return;\n }\n\n const track = trackRef.current;\n const lastIndex = lastActiveIndexRef.current;\n\n if (!track || lastIndex === null || lastIndex >= toc.length - 1) {\n setGapY(null);\n return;\n }\n\n const currentLi = itemRefs.current.get(toc[lastIndex].id);\n const nextLi = itemRefs.current.get(toc[lastIndex + 1].id);\n\n if (!currentLi || !nextLi) {\n setGapY(null);\n return;\n }\n\n const trackRect = track.getBoundingClientRect();\n const currentRect = currentLi.getBoundingClientRect();\n const nextRect = nextLi.getBoundingClientRect();\n\n const y = (currentRect.bottom - trackRect.top + (nextRect.top - trackRect.top)) / 2;\n\n setGapY(y);\n }, [activeIds, toc]);\n\n return (\n <aside className={clsx(styles['default'], className)} {...props}>\n <h3 className={styles['title']}>On this page</h3>\n <div className={styles['track']} ref={trackRef}>\n <span className={styles['line']} aria-hidden=\"true\" />\n {gapY !== null && <span className={styles['gapDot']} style={{ top: gapY }} aria-hidden=\"true\" />}\n <ul className={styles['list']}>\n {toc.map((item) => {\n const focused = activeIds.has(item.id);\n const linkStyle: TocLinkStyle = { '--depth': item.level };\n\n return (\n <li\n key={item.id}\n className={styles['item']}\n ref={(el) => {\n if (el) itemRefs.current.set(item.id, el);\n else itemRefs.current.delete(item.id);\n }}\n >\n <a\n href={`#${item.id}`}\n title={item.title}\n aria-current={focused ? 'location' : undefined}\n className={clsx(styles['link'], focused && styles['active'])}\n style={linkStyle}\n >\n {item.title}\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n </aside>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"toc-CI_8-KFH.cjs","names":[],"sources":["../../styles/src/components/documentation/toc/index.module.css","../src/components/documentation/toc/index.tsx"],"sourcesContent":[".default {\n min-width: var(--_sleetch-toc-width);\n height: calc(100vh - var(--_sleetch-header-height));\n position: sticky;\n top: var(--_sleetch-header-height);\n color: var(--_sleetch-color-text);\n padding: 4em 2em;\n border-left: 1px dashed var(--_sleetch-color-border);\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n}\n\n@media (max-width: 1024px) {\n .default {\n display: none;\n }\n}\n\n@media (min-width: 1025px) and (max-width: 1280px) {\n .default {\n min-width: 220px;\n padding: 3em 1.5em;\n }\n}\n\n.title {\n margin: 0 0 0.5em;\n font-size: 0.9em;\n font-weight: var(--_sleetch-font-weight-heading);\n color: var(--_sleetch-color-text);\n}\n\n.track {\n position: relative;\n}\n\n.line {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 1px;\n background: var(--_sleetch-color-muted);\n z-index: 0;\n}\n\n.gapDot {\n position: absolute;\n left: 0;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: var(--_sleetch-color-muted-foreground);\n transform: translate(-50%, -50%);\n z-index: 1;\n pointer-events: none;\n transition: top var(--_sleetch-transition-duration) var(--_sleetch-transition-timing);\n}\n\n.list {\n position: relative; /* nécessaire pour que le z-index prenne le dessus sur .line */\n z-index: 1;\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.item {\n min-width: 0; /* requis pour que l'ellipsis fonctionne dans un flex/grid parent */\n}\n\n.link {\n --depth: 1;\n\n display: block;\n width: 100%;\n margin-left: -1px; /* centre la bordure de 3px sur la ligne de 1px */\n padding-block: 0.4em;\n padding-left: calc(1em + (var(--depth) - 1) * 0.85em);\n padding-right: 0.5em;\n\n border-left: 3px solid transparent;\n\n font-family: var(--_sleetch-font-base);\n font-size: calc(0.85em - (var(--depth) - 1) * 0.03em);\n line-height: 1.3;\n color: var(--_sleetch-color-muted-foreground);\n text-decoration: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n transition:\n color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing),\n border-color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing),\n background-color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing),\n transform var(--_sleetch-transition-duration) var(--_sleetch-transition-timing);\n}\n\n.link:hover {\n color: var(--_sleetch-color-text);\n}\n\n.active {\n border-left-color: var(--_sleetch-color-text-primary);\n background: color-mix(in srgb, var(--_sleetch-color-text-underline) 35%, transparent);\n color: var(--_sleetch-color-text);\n transform: translateX(4px);\n}\n","/*\nAI Generated :(\nNeeds more testing\n*/\n\nimport { use, useEffect, useRef, useState, type BaseHTMLAttributes, type CSSProperties } from 'react';\nimport styles from '@sleetch/styles/components/documentation/toc/index.module.css';\nimport clsx from 'clsx';\nimport type { page_module } from '@sleetch/core/compiler';\n\nexport interface DocumentationTocProps extends BaseHTMLAttributes<HTMLBaseElement> {\n page: Promise<page_module>;\n}\n\ninterface TocLinkStyle extends CSSProperties {\n '--depth'?: number;\n}\n\nexport function DocumentationToc({ className, children, page, ...props }: DocumentationTocProps) {\n const value = use(page);\n const toc = value.default.toc;\n if (toc.length == 0) return null;\n\n const [activeIds, setActiveIds] = useState<Set<string>>(new Set());\n const [gapY, setGapY] = useState<number | null>(null);\n\n const trackRef = useRef<HTMLDivElement>(null);\n const itemRefs = useRef<Map<string, HTMLLIElement>>(new Map());\n const lastActiveIndexRef = useRef<number | null>(null);\n\n useEffect(() => {\n if (toc.length === 0) return;\n\n const elements = toc.map((item) => document.getElementById(item.id)).filter((el): el is HTMLElement => el !== null);\n\n if (elements.length === 0) return;\n\n const observer = new IntersectionObserver(\n (entries) => {\n setActiveIds((prev) => {\n const next = new Set(prev);\n for (const entry of entries) {\n if (entry.isIntersecting) {\n next.add(entry.target.id);\n } else {\n next.delete(entry.target.id);\n }\n }\n return next;\n });\n },\n {\n rootMargin: '0px 0px -70% 0px',\n threshold: 0,\n }\n );\n\n for (const el of elements) observer.observe(el);\n\n return () => observer.disconnect();\n }, [toc]);\n\n useEffect(() => {\n if (activeIds.size > 0) {\n let maxIndex = -1;\n toc.forEach((item, i) => {\n if (activeIds.has(item.id)) maxIndex = i;\n });\n lastActiveIndexRef.current = maxIndex;\n setGapY(null);\n return;\n }\n\n const track = trackRef.current;\n const lastIndex = lastActiveIndexRef.current;\n\n if (!track || lastIndex === null || lastIndex >= toc.length - 1) {\n setGapY(null);\n return;\n }\n\n const currentLi = itemRefs.current.get(toc[lastIndex].id);\n const nextLi = itemRefs.current.get(toc[lastIndex + 1].id);\n\n if (!currentLi || !nextLi) {\n setGapY(null);\n return;\n }\n\n const trackRect = track.getBoundingClientRect();\n const currentRect = currentLi.getBoundingClientRect();\n const nextRect = nextLi.getBoundingClientRect();\n\n const y = (currentRect.bottom - trackRect.top + (nextRect.top - trackRect.top)) / 2;\n\n setGapY(y);\n }, [activeIds, toc]);\n\n return (\n <aside className={clsx(styles['default'], className)} {...props}>\n <h3 className={styles['title']}>On this page</h3>\n <div className={styles['track']} ref={trackRef}>\n <span className={styles['line']} aria-hidden=\"true\" />\n {gapY !== null && <span className={styles['gapDot']} style={{ top: gapY }} aria-hidden=\"true\" />}\n <ul className={styles['list']}>\n {toc.map((item) => {\n const focused = activeIds.has(item.id);\n const linkStyle: TocLinkStyle = { '--depth': item.level };\n\n return (\n <li\n key={item.id}\n className={styles['item']}\n ref={(el) => {\n if (el) itemRefs.current.set(item.id, el);\n else itemRefs.current.delete(item.id);\n }}\n >\n <a\n href={`#${item.id}`}\n title={item.title}\n aria-current={focused ? 'location' : undefined}\n className={clsx(styles['link'], focused && styles['active'])}\n style={linkStyle}\n >\n {item.title}\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n </aside>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"toc-Dvn-UEjm.js","names":[],"sources":["../../styles/src/components/documentation/toc/index.module.css","../src/components/documentation/toc/index.tsx"],"sourcesContent":[".default {\n min-width: var(--_sleetch-toc-width);\n height: calc(100vh - var(--_sleetch-header-height));\n position: sticky;\n top: var(--_sleetch-header-height);\n color: var(--_sleetch-color-text);\n padding: 4em 2em;\n border-left: 1px dashed var(--_sleetch-color-border);\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n}\n\n@media (max-width: 1024px) {\n .default {\n display: none;\n }\n}\n\n@media (min-width: 1025px) and (max-width: 1280px) {\n .default {\n min-width: 220px;\n padding: 3em 1.5em;\n }\n}\n\n.title {\n margin: 0 0 0.5em;\n font-size: 0.9em;\n font-weight: var(--_sleetch-font-weight-heading);\n color: var(--_sleetch-color-text);\n}\n\n.track {\n position: relative;\n}\n\n.line {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 1px;\n background: var(--_sleetch-color-muted);\n z-index: 0;\n}\n\n.gapDot {\n position: absolute;\n left: 0;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: var(--_sleetch-color-muted-foreground);\n transform: translate(-50%, -50%);\n z-index: 1;\n pointer-events: none;\n transition: top var(--_sleetch-transition-duration) var(--_sleetch-transition-timing);\n}\n\n.list {\n position: relative; /* nécessaire pour que le z-index prenne le dessus sur .line */\n z-index: 1;\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.item {\n min-width: 0; /* requis pour que l'ellipsis fonctionne dans un flex/grid parent */\n}\n\n.link {\n --depth: 1;\n\n display: block;\n width: 100%;\n margin-left: -1px; /* centre la bordure de 3px sur la ligne de 1px */\n padding-block: 0.4em;\n padding-left: calc(1em + (var(--depth) - 1) * 0.85em);\n padding-right: 0.5em;\n\n border-left: 3px solid transparent;\n\n font-family: var(--_sleetch-font-base);\n font-size: calc(0.85em - (var(--depth) - 1) * 0.03em);\n line-height: 1.3;\n color: var(--_sleetch-color-muted-foreground);\n text-decoration: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n transition:\n color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing),\n border-color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing),\n background-color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing),\n transform var(--_sleetch-transition-duration) var(--_sleetch-transition-timing);\n}\n\n.link:hover {\n color: var(--_sleetch-color-text);\n}\n\n.active {\n border-left-color: var(--_sleetch-color-text-primary);\n background: color-mix(in srgb, var(--_sleetch-color-text-underline) 35%, transparent);\n color: var(--_sleetch-color-text);\n transform: translateX(4px);\n}\n","/*\nAI Generated :(\nNeeds more testing\n*/\n\nimport { use, useEffect, useRef, useState, type BaseHTMLAttributes, type CSSProperties } from 'react';\nimport styles from '@sleetch/styles/components/documentation/toc/index.module.css';\nimport clsx from 'clsx';\nimport type { markdown_module } from '@sleetch/core/compiler';\n\nexport interface DocumentationTocProps extends BaseHTMLAttributes<HTMLBaseElement> {\n page: Promise<markdown_module>;\n}\n\ninterface TocLinkStyle extends CSSProperties {\n '--depth'?: number;\n}\n\nexport function DocumentationToc({ className, children, page, ...props }: DocumentationTocProps) {\n const value = use(page);\n const toc = value.default.toc;\n if (toc.length == 0) return null;\n\n const [activeIds, setActiveIds] = useState<Set<string>>(new Set());\n const [gapY, setGapY] = useState<number | null>(null);\n\n const trackRef = useRef<HTMLDivElement>(null);\n const itemRefs = useRef<Map<string, HTMLLIElement>>(new Map());\n const lastActiveIndexRef = useRef<number | null>(null);\n\n useEffect(() => {\n if (toc.length === 0) return;\n\n const elements = toc.map((item) => document.getElementById(item.id)).filter((el): el is HTMLElement => el !== null);\n\n if (elements.length === 0) return;\n\n const observer = new IntersectionObserver(\n (entries) => {\n setActiveIds((prev) => {\n const next = new Set(prev);\n for (const entry of entries) {\n if (entry.isIntersecting) {\n next.add(entry.target.id);\n } else {\n next.delete(entry.target.id);\n }\n }\n return next;\n });\n },\n {\n rootMargin: '0px 0px -70% 0px',\n threshold: 0,\n }\n );\n\n for (const el of elements) observer.observe(el);\n\n return () => observer.disconnect();\n }, [toc]);\n\n useEffect(() => {\n if (activeIds.size > 0) {\n let maxIndex = -1;\n toc.forEach((item, i) => {\n if (activeIds.has(item.id)) maxIndex = i;\n });\n lastActiveIndexRef.current = maxIndex;\n setGapY(null);\n return;\n }\n\n const track = trackRef.current;\n const lastIndex = lastActiveIndexRef.current;\n\n if (!track || lastIndex === null || lastIndex >= toc.length - 1) {\n setGapY(null);\n return;\n }\n\n const currentLi = itemRefs.current.get(toc[lastIndex].id);\n const nextLi = itemRefs.current.get(toc[lastIndex + 1].id);\n\n if (!currentLi || !nextLi) {\n setGapY(null);\n return;\n }\n\n const trackRect = track.getBoundingClientRect();\n const currentRect = currentLi.getBoundingClientRect();\n const nextRect = nextLi.getBoundingClientRect();\n\n const y = (currentRect.bottom - trackRect.top + (nextRect.top - trackRect.top)) / 2;\n\n setGapY(y);\n }, [activeIds, toc]);\n\n return (\n <aside className={clsx(styles['default'], className)} {...props}>\n <h3 className={styles['title']}>On this page</h3>\n <div className={styles['track']} ref={trackRef}>\n <span className={styles['line']} aria-hidden=\"true\" />\n {gapY !== null && <span className={styles['gapDot']} style={{ top: gapY }} aria-hidden=\"true\" />}\n <ul className={styles['list']}>\n {toc.map((item) => {\n const focused = activeIds.has(item.id);\n const linkStyle: TocLinkStyle = { '--depth': item.level };\n\n return (\n <li\n key={item.id}\n className={styles['item']}\n ref={(el) => {\n if (el) itemRefs.current.set(item.id, el);\n else itemRefs.current.delete(item.id);\n }}\n >\n <a\n href={`#${item.id}`}\n title={item.title}\n aria-current={focused ? 'location' : undefined}\n className={clsx(styles['link'], focused && styles['active'])}\n style={linkStyle}\n >\n {item.title}\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n </aside>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"toc-Dvn-UEjm.js","names":[],"sources":["../../styles/src/components/documentation/toc/index.module.css","../src/components/documentation/toc/index.tsx"],"sourcesContent":[".default {\n min-width: var(--_sleetch-toc-width);\n height: calc(100vh - var(--_sleetch-header-height));\n position: sticky;\n top: var(--_sleetch-header-height);\n color: var(--_sleetch-color-text);\n padding: 4em 2em;\n border-left: 1px dashed var(--_sleetch-color-border);\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n}\n\n@media (max-width: 1024px) {\n .default {\n display: none;\n }\n}\n\n@media (min-width: 1025px) and (max-width: 1280px) {\n .default {\n min-width: 220px;\n padding: 3em 1.5em;\n }\n}\n\n.title {\n margin: 0 0 0.5em;\n font-size: 0.9em;\n font-weight: var(--_sleetch-font-weight-heading);\n color: var(--_sleetch-color-text);\n}\n\n.track {\n position: relative;\n}\n\n.line {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 1px;\n background: var(--_sleetch-color-muted);\n z-index: 0;\n}\n\n.gapDot {\n position: absolute;\n left: 0;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: var(--_sleetch-color-muted-foreground);\n transform: translate(-50%, -50%);\n z-index: 1;\n pointer-events: none;\n transition: top var(--_sleetch-transition-duration) var(--_sleetch-transition-timing);\n}\n\n.list {\n position: relative; /* nécessaire pour que le z-index prenne le dessus sur .line */\n z-index: 1;\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.item {\n min-width: 0; /* requis pour que l'ellipsis fonctionne dans un flex/grid parent */\n}\n\n.link {\n --depth: 1;\n\n display: block;\n width: 100%;\n margin-left: -1px; /* centre la bordure de 3px sur la ligne de 1px */\n padding-block: 0.4em;\n padding-left: calc(1em + (var(--depth) - 1) * 0.85em);\n padding-right: 0.5em;\n\n border-left: 3px solid transparent;\n\n font-family: var(--_sleetch-font-base);\n font-size: calc(0.85em - (var(--depth) - 1) * 0.03em);\n line-height: 1.3;\n color: var(--_sleetch-color-muted-foreground);\n text-decoration: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n transition:\n color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing),\n border-color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing),\n background-color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing),\n transform var(--_sleetch-transition-duration) var(--_sleetch-transition-timing);\n}\n\n.link:hover {\n color: var(--_sleetch-color-text);\n}\n\n.active {\n border-left-color: var(--_sleetch-color-text-primary);\n background: color-mix(in srgb, var(--_sleetch-color-text-underline) 35%, transparent);\n color: var(--_sleetch-color-text);\n transform: translateX(4px);\n}\n","/*\nAI Generated :(\nNeeds more testing\n*/\n\nimport { use, useEffect, useRef, useState, type BaseHTMLAttributes, type CSSProperties } from 'react';\nimport styles from '@sleetch/styles/components/documentation/toc/index.module.css';\nimport clsx from 'clsx';\nimport type { page_module } from '@sleetch/core/compiler';\n\nexport interface DocumentationTocProps extends BaseHTMLAttributes<HTMLBaseElement> {\n page: Promise<page_module>;\n}\n\ninterface TocLinkStyle extends CSSProperties {\n '--depth'?: number;\n}\n\nexport function DocumentationToc({ className, children, page, ...props }: DocumentationTocProps) {\n const value = use(page);\n const toc = value.default.toc;\n if (toc.length == 0) return null;\n\n const [activeIds, setActiveIds] = useState<Set<string>>(new Set());\n const [gapY, setGapY] = useState<number | null>(null);\n\n const trackRef = useRef<HTMLDivElement>(null);\n const itemRefs = useRef<Map<string, HTMLLIElement>>(new Map());\n const lastActiveIndexRef = useRef<number | null>(null);\n\n useEffect(() => {\n if (toc.length === 0) return;\n\n const elements = toc.map((item) => document.getElementById(item.id)).filter((el): el is HTMLElement => el !== null);\n\n if (elements.length === 0) return;\n\n const observer = new IntersectionObserver(\n (entries) => {\n setActiveIds((prev) => {\n const next = new Set(prev);\n for (const entry of entries) {\n if (entry.isIntersecting) {\n next.add(entry.target.id);\n } else {\n next.delete(entry.target.id);\n }\n }\n return next;\n });\n },\n {\n rootMargin: '0px 0px -70% 0px',\n threshold: 0,\n }\n );\n\n for (const el of elements) observer.observe(el);\n\n return () => observer.disconnect();\n }, [toc]);\n\n useEffect(() => {\n if (activeIds.size > 0) {\n let maxIndex = -1;\n toc.forEach((item, i) => {\n if (activeIds.has(item.id)) maxIndex = i;\n });\n lastActiveIndexRef.current = maxIndex;\n setGapY(null);\n return;\n }\n\n const track = trackRef.current;\n const lastIndex = lastActiveIndexRef.current;\n\n if (!track || lastIndex === null || lastIndex >= toc.length - 1) {\n setGapY(null);\n return;\n }\n\n const currentLi = itemRefs.current.get(toc[lastIndex].id);\n const nextLi = itemRefs.current.get(toc[lastIndex + 1].id);\n\n if (!currentLi || !nextLi) {\n setGapY(null);\n return;\n }\n\n const trackRect = track.getBoundingClientRect();\n const currentRect = currentLi.getBoundingClientRect();\n const nextRect = nextLi.getBoundingClientRect();\n\n const y = (currentRect.bottom - trackRect.top + (nextRect.top - trackRect.top)) / 2;\n\n setGapY(y);\n }, [activeIds, toc]);\n\n return (\n <aside className={clsx(styles['default'], className)} {...props}>\n <h3 className={styles['title']}>On this page</h3>\n <div className={styles['track']} ref={trackRef}>\n <span className={styles['line']} aria-hidden=\"true\" />\n {gapY !== null && <span className={styles['gapDot']} style={{ top: gapY }} aria-hidden=\"true\" />}\n <ul className={styles['list']}>\n {toc.map((item) => {\n const focused = activeIds.has(item.id);\n const linkStyle: TocLinkStyle = { '--depth': item.level };\n\n return (\n <li\n key={item.id}\n className={styles['item']}\n ref={(el) => {\n if (el) itemRefs.current.set(item.id, el);\n else itemRefs.current.delete(item.id);\n }}\n >\n <a\n href={`#${item.id}`}\n title={item.title}\n aria-current={focused ? 'location' : undefined}\n className={clsx(styles['link'], focused && styles['active'])}\n style={linkStyle}\n >\n {item.title}\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n </aside>\n );\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleetch/react",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -29,9 +29,9 @@
29
29
  "react-dom": "^18.0.0 || ^19.0.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@sleetch/core": "1.0.6",
33
- "@sleetch/styles": "1.0.6",
34
- "@sleetch/vite": "1.0.6",
32
+ "@sleetch/core": "1.0.7",
33
+ "@sleetch/styles": "1.0.7",
34
+ "@sleetch/vite": "1.0.7",
35
35
  "@types/mdx": "^2.0.14",
36
36
  "@types/react": "^19",
37
37
  "@types/react-dom": "^19",
@@ -1,2 +0,0 @@
1
- require('./assets/header.css');const e=require("./clsx-GLXUd3yb.cjs");let t=require("react/jsx-runtime");var n={default:`_default_p2hb0_1`,"menu-toggle":`_menu-toggle_p2hb0_16`};function r({className:r,children:i,onMenuToggle:a,...o}){return(0,t.jsxs)(`div`,{className:e.t(n.default,r),...o,children:[a&&(0,t.jsx)(`button`,{className:n[`menu-toggle`],onClick:a,"aria-label":`Toggle sidebar`,type:`button`,children:(0,t.jsxs)(`svg`,{viewBox:`0 0 24 24`,width:`24`,height:`24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,t.jsx)(`line`,{x1:`3`,y1:`12`,x2:`21`,y2:`12`}),(0,t.jsx)(`line`,{x1:`3`,y1:`6`,x2:`21`,y2:`6`}),(0,t.jsx)(`line`,{x1:`3`,y1:`18`,x2:`21`,y2:`18`})]})}),i]})}Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}});
2
- //# sourceMappingURL=header-D6vF0VLY.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"header-D6vF0VLY.cjs","names":[],"sources":["../../styles/src/components/documentation/header.module.css","../src/components/documentation/header.tsx"],"sourcesContent":[".default {\n color: var(--_sleetch-color-text);\n height: var(--_sleetch-header-height);\n background-color: color-mix(in srgb, var(--_sleetch-color-card) 30%, transparent);\n backdrop-filter: blur(15px);\n border-bottom: 1px solid var(--_sleetch-color-border);\n position: sticky;\n top: 0;\n display: flex;\n align-items: center;\n padding: 0 2em;\n gap: 1em;\n z-index: 100;\n}\n\n.menu-toggle {\n display: none;\n background: none;\n border: none;\n color: var(--_sleetch-color-text);\n cursor: pointer;\n padding: 0.5em;\n border-radius: var(--_sleetch-radius);\n transition: background-color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing);\n}\n\n.menu-toggle:hover {\n background-color: var(--_sleetch-color-muted);\n}\n\n.menu-toggle:active {\n transform: scale(0.95);\n}\n\n@media (max-width: 768px) {\n .default {\n padding: 0 1em;\n }\n\n .menu-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n}\n","import type { BaseHTMLAttributes } from 'react';\nimport styles from '@sleetch/styles/components/documentation/header.module.css';\nimport clsx from 'clsx';\n\nexport interface DocumentationHeaderProps extends BaseHTMLAttributes<HTMLDivElement> {\n onMenuToggle?: () => void;\n}\n\nexport function DocumentationHeader({ className, children, onMenuToggle, ...props }: DocumentationHeaderProps) {\n return (\n <div className={clsx(styles['default'], className)} {...props}>\n {onMenuToggle && (\n <button className={styles['menu-toggle']} onClick={onMenuToggle} aria-label=\"Toggle sidebar\" type=\"button\">\n <svg\n viewBox=\"0 0 24 24\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\" />\n <line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\" />\n <line x1=\"3\" y1=\"18\" x2=\"21\" y2=\"18\" />\n </svg>\n </button>\n )}\n {children}\n </div>\n );\n}\n"],"mappings":"mJCQA,SAAgB,EAAoB,CAAE,YAAW,WAAU,eAAc,GAAG,GAAmC,CAC7G,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAW,EAAA,EAAK,EAAO,QAAY,CAAS,EAAG,GAAI,EAAxD,SAAA,CACG,IACC,EAAA,EAAA,IAAA,CAAC,SAAD,CAAQ,UAAW,EAAO,eAAgB,QAAS,EAAc,aAAW,iBAAiB,KAAK,SAChG,UAAA,EAAA,EAAA,KAAA,CAAC,MAAD,CACE,QAAQ,YACR,MAAM,KACN,OAAO,KACP,KAAK,OACL,OAAO,eACP,YAAY,IACZ,cAAc,QACd,eAAe,QARjB,SAAA,EAUE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAM,CAAA,GACtC,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,GAAK,CAAA,GACpC,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAM,CAAA,CACnC,GACC,CAAA,EAET,CACE,GAET"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"header-aBbFHuW8.js","names":[],"sources":["../../styles/src/components/documentation/header.module.css","../src/components/documentation/header.tsx"],"sourcesContent":[".default {\n color: var(--_sleetch-color-text);\n height: var(--_sleetch-header-height);\n background-color: color-mix(in srgb, var(--_sleetch-color-card) 30%, transparent);\n backdrop-filter: blur(15px);\n border-bottom: 1px solid var(--_sleetch-color-border);\n position: sticky;\n top: 0;\n display: flex;\n align-items: center;\n padding: 0 2em;\n gap: 1em;\n z-index: 100;\n}\n\n.menu-toggle {\n display: none;\n background: none;\n border: none;\n color: var(--_sleetch-color-text);\n cursor: pointer;\n padding: 0.5em;\n border-radius: var(--_sleetch-radius);\n transition: background-color var(--_sleetch-transition-duration) var(--_sleetch-transition-timing);\n}\n\n.menu-toggle:hover {\n background-color: var(--_sleetch-color-muted);\n}\n\n.menu-toggle:active {\n transform: scale(0.95);\n}\n\n@media (max-width: 768px) {\n .default {\n padding: 0 1em;\n }\n\n .menu-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n}\n","import type { BaseHTMLAttributes } from 'react';\nimport styles from '@sleetch/styles/components/documentation/header.module.css';\nimport clsx from 'clsx';\n\nexport interface DocumentationHeaderProps extends BaseHTMLAttributes<HTMLDivElement> {\n onMenuToggle?: () => void;\n}\n\nexport function DocumentationHeader({ className, children, onMenuToggle, ...props }: DocumentationHeaderProps) {\n return (\n <div className={clsx(styles['default'], className)} {...props}>\n {onMenuToggle && (\n <button className={styles['menu-toggle']} onClick={onMenuToggle} aria-label=\"Toggle sidebar\" type=\"button\">\n <svg\n viewBox=\"0 0 24 24\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\" />\n <line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\" />\n <line x1=\"3\" y1=\"18\" x2=\"21\" y2=\"18\" />\n </svg>\n </button>\n )}\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;ACQA,SAAgB,EAAoB,EAAE,cAAW,aAAU,iBAAc,GAAG,KAAmC;CAC7G,OACE,kBAAC,OAAD;EAAK,WAAW,EAAK,EAAO,SAAY,CAAS;EAAG,GAAI;EAAxD,UAAA,CACG,KACC,kBAAC,UAAD;GAAQ,WAAW,EAAO;GAAgB,SAAS;GAAc,cAAW;GAAiB,MAAK;GAChG,UAAA,kBAAC,OAAD;IACE,SAAQ;IACR,OAAM;IACN,QAAO;IACP,MAAK;IACL,QAAO;IACP,aAAY;IACZ,eAAc;IACd,gBAAe;IARjB,UAAA;KAUE,kBAAC,QAAD;MAAM,IAAG;MAAI,IAAG;MAAK,IAAG;MAAK,IAAG;KAAM,CAAA;KACtC,kBAAC,QAAD;MAAM,IAAG;MAAI,IAAG;MAAI,IAAG;MAAK,IAAG;KAAK,CAAA;KACpC,kBAAC,QAAD;MAAM,IAAG;MAAI,IAAG;MAAK,IAAG;MAAK,IAAG;KAAM,CAAA;IACnC;;EACC,CAAA,GAET,CACE;;AAET"}