@xyd-js/components 0.1.0-build.168
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/git_toolbox_blame.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/xyd-components.iml +12 -0
- package/CHANGELOG.md +1369 -0
- package/LICENSE +21 -0
- package/README.md +3 -0
- package/TODO.md +1 -0
- package/coder.ts +1 -0
- package/content.ts +1 -0
- package/dist/Button-BLA2ghHZ.js +2 -0
- package/dist/Button-BLA2ghHZ.js.map +1 -0
- package/dist/Button-BTJ2hIal.js +2 -0
- package/dist/Button-BTJ2hIal.js.map +1 -0
- package/dist/Button-r4BCrEjy.js +2 -0
- package/dist/Button-r4BCrEjy.js.map +1 -0
- package/dist/CodeSample-BZ5tvyWY.js +2 -0
- package/dist/CodeSample-BZ5tvyWY.js.map +1 -0
- package/dist/CodeSample-BqXDbWdi.js +2 -0
- package/dist/CodeSample-BqXDbWdi.js.map +1 -0
- package/dist/CodeSample-Cqv86IdN.js +2 -0
- package/dist/CodeSample-Cqv86IdN.js.map +1 -0
- package/dist/Icon--77MqplU.js +2 -0
- package/dist/Icon--77MqplU.js.map +1 -0
- package/dist/Icon-DbNmvK_Q.js +2 -0
- package/dist/Icon-DbNmvK_Q.js.map +1 -0
- package/dist/Icon-uVIU1LW6.js +2 -0
- package/dist/Icon-uVIU1LW6.js.map +1 -0
- package/dist/PageFirstSlide-BDNmCTiJ.js +2 -0
- package/dist/PageFirstSlide-BDNmCTiJ.js.map +1 -0
- package/dist/PageFirstSlide-BpZ42bEU.js +2 -0
- package/dist/PageFirstSlide-BpZ42bEU.js.map +1 -0
- package/dist/PageFirstSlide-CqxiyK57.js +2 -0
- package/dist/PageFirstSlide-CqxiyK57.js.map +1 -0
- package/dist/TabsAnalytics-B_JYpawG.js +2 -0
- package/dist/TabsAnalytics-B_JYpawG.js.map +1 -0
- package/dist/TabsAnalytics-DAOfTZgv.js +2 -0
- package/dist/TabsAnalytics-DAOfTZgv.js.map +1 -0
- package/dist/TabsAnalytics-Dhyadlbu.js +2 -0
- package/dist/TabsAnalytics-Dhyadlbu.js.map +1 -0
- package/dist/Update-53fEhmjh.js +2 -0
- package/dist/Update-53fEhmjh.js.map +1 -0
- package/dist/Update-CFi6uapq.js +2 -0
- package/dist/Update-CFi6uapq.js.map +1 -0
- package/dist/Update-CiMIOgZi.js +2 -0
- package/dist/Update-CiMIOgZi.js.map +1 -0
- package/dist/VideoGuide-C0K9fFar.js +2 -0
- package/dist/VideoGuide-C0K9fFar.js.map +1 -0
- package/dist/VideoGuide-CJYkuLst.js +2 -0
- package/dist/VideoGuide-CJYkuLst.js.map +1 -0
- package/dist/VideoGuide-DBY-EyxG.js +2 -0
- package/dist/VideoGuide-DBY-EyxG.js.map +1 -0
- package/dist/_rollupPluginBabelHelpers-CvhQFv1t.js +4 -0
- package/dist/_rollupPluginBabelHelpers-CvhQFv1t.js.map +1 -0
- package/dist/_rollupPluginBabelHelpers-DSwDY1Dm.js +4 -0
- package/dist/_rollupPluginBabelHelpers-DSwDY1Dm.js.map +1 -0
- package/dist/_rollupPluginBabelHelpers-Dc-ocx4G.js +4 -0
- package/dist/_rollupPluginBabelHelpers-Dc-ocx4G.js.map +1 -0
- package/dist/coder/themes/classic.css +57 -0
- package/dist/coder/themes/classic.d.ts +96 -0
- package/dist/coder/themes/classic.js +2 -0
- package/dist/coder/themes/classic.js.map +1 -0
- package/dist/coder/themes/cosmo.css +64 -0
- package/dist/coder/themes/cosmo.d.ts +96 -0
- package/dist/coder/themes/cosmo.js +2 -0
- package/dist/coder/themes/cosmo.js.map +1 -0
- package/dist/coder.d.ts +94 -0
- package/dist/coder.js +2 -0
- package/dist/coder.js.map +1 -0
- package/dist/content.d.ts +411 -0
- package/dist/content.js +2 -0
- package/dist/content.js.map +1 -0
- package/dist/index.css +282 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/layouts.d.ts +33 -0
- package/dist/layouts.js +2 -0
- package/dist/layouts.js.map +1 -0
- package/dist/pages.d.ts +176 -0
- package/dist/pages.js +2 -0
- package/dist/pages.js.map +1 -0
- package/dist/system.d.ts +45 -0
- package/dist/system.js +2 -0
- package/dist/system.js.map +1 -0
- package/dist/useUXClick-DK3cTAMR.js +2 -0
- package/dist/useUXClick-DK3cTAMR.js.map +1 -0
- package/dist/useUXClick-DO6qBcRy.js +2 -0
- package/dist/useUXClick-DO6qBcRy.js.map +1 -0
- package/dist/useUXClick-NwpsiuK9.js +2 -0
- package/dist/useUXClick-NwpsiuK9.js.map +1 -0
- package/dist/useUXEvents-CJtgGV4R.js +2 -0
- package/dist/useUXEvents-CJtgGV4R.js.map +1 -0
- package/dist/useUXEvents-Cxgl7xb-.js +2 -0
- package/dist/useUXEvents-Cxgl7xb-.js.map +1 -0
- package/dist/useUXEvents-XqAGxoEj.js +2 -0
- package/dist/useUXEvents-XqAGxoEj.js.map +1 -0
- package/dist/useUXScrollDepth-3rk3Z95r.js +2 -0
- package/dist/useUXScrollDepth-3rk3Z95r.js.map +1 -0
- package/dist/useUXScrollDepth-BwK-XOBg.js +2 -0
- package/dist/useUXScrollDepth-BwK-XOBg.js.map +1 -0
- package/dist/useUXScrollDepth-DKre7PBz.js +2 -0
- package/dist/useUXScrollDepth-DKre7PBz.js.map +1 -0
- package/dist/uxsdk.d.ts +53 -0
- package/dist/uxsdk.js +2 -0
- package/dist/uxsdk.js.map +1 -0
- package/dist/views.d.ts +18 -0
- package/dist/views.js +2 -0
- package/dist/views.js.map +1 -0
- package/dist/writer.d.ts +580 -0
- package/dist/writer.js +2 -0
- package/dist/writer.js.map +1 -0
- package/docs/.nojekyll +1 -0
- package/docs/assets/hierarchy.js +1 -0
- package/docs/assets/highlight.css +22 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1640 -0
- package/docs/functions/GuideCard.html +6 -0
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +2 -0
- package/docs/interfaces/GuideCardProps.html +18 -0
- package/docs/modules.html +1 -0
- package/index.ts +0 -0
- package/layouts.ts +1 -0
- package/output.txt +13 -0
- package/package.json +81 -0
- package/pages.ts +1 -0
- package/postcss.config.cjs +5 -0
- package/rollup.config.js +195 -0
- package/src/coder/Code/Code.styles.tsx +151 -0
- package/src/coder/Code/Code.tsx +171 -0
- package/src/coder/Code/CodeLoader.tsx +10 -0
- package/src/coder/Code/annotations.tsx +51 -0
- package/src/coder/Code/highlight.ts +208 -0
- package/src/coder/Code/index.ts +16 -0
- package/src/coder/CodeCopy/CodeCopy.styles.tsx +21 -0
- package/src/coder/CodeCopy/CodeCopy.tsx +36 -0
- package/src/coder/CodeCopy/index.ts +7 -0
- package/src/coder/CodeSample/CodeSample.tsx +118 -0
- package/src/coder/CodeSample/CodeSampleAnalytics.tsx +112 -0
- package/src/coder/CodeSample/index.ts +11 -0
- package/src/coder/CodeSample/withLocalStored.tsx +50 -0
- package/src/coder/CodeTabs/CodeTabs.styles.tsx +126 -0
- package/src/coder/CodeTabs/CodeTabs.tsx +128 -0
- package/src/coder/CodeTabs/index.ts +6 -0
- package/src/coder/CodeTheme/CodeTheme.tsx +126 -0
- package/src/coder/CodeTheme/index.ts +7 -0
- package/src/coder/CoderProvider.tsx +26 -0
- package/src/coder/README.md +1 -0
- package/src/coder/hooks/highlight.ts +182 -0
- package/src/coder/index.ts +37 -0
- package/src/coder/themes/classic.css +57 -0
- package/src/coder/themes/classic.ts +270 -0
- package/src/coder/themes/cosmo.css +64 -0
- package/src/coder/themes/cosmo.ts +264 -0
- package/src/content/AppearanceDecorator.styles.tsx +11 -0
- package/src/content/ContentDecoator.styles.tsx +180 -0
- package/src/content/ContentDecorator.tsx +17 -0
- package/src/content/GridDecorator.styles.tsx +86 -0
- package/src/content/GridDecorator.tsx +23 -0
- package/src/content/ReactContent.tsx +671 -0
- package/src/content/TODO.md +1 -0
- package/src/content/index.ts +13 -0
- package/src/kit/Loader/Loader.styles.tsx +53 -0
- package/src/kit/Loader/Loader.tsx +22 -0
- package/src/kit/TODO.md +2 -0
- package/src/kit/index.ts +1 -0
- package/src/layouts/LayoutPrimary/LayoutPrimary.styles.tsx +325 -0
- package/src/layouts/LayoutPrimary/LayoutPrimary.tsx +252 -0
- package/src/layouts/LayoutPrimary/index.ts +3 -0
- package/src/layouts/index.ts +6 -0
- package/src/pages/PageBlogHome/PageBlogHome.styles.tsx +67 -0
- package/src/pages/PageBlogHome/PageBlogHome.tsx +64 -0
- package/src/pages/PageBlogHome/index.ts +3 -0
- package/src/pages/PageBlogHome/types.ts +35 -0
- package/src/pages/PageBlogPost/PageBlogPost.styles.tsx +4 -0
- package/src/pages/PageBlogPost/PageBlogPost.tsx +9 -0
- package/src/pages/PageBlogPost/index.ts +3 -0
- package/src/pages/PageFirstSlide/PageFirstSlide.styles.tsx +134 -0
- package/src/pages/PageFirstSlide/PageFirstSlide.tsx +56 -0
- package/src/pages/PageFirstSlide/index.ts +1 -0
- package/src/pages/PageFirstSlide/types.ts +67 -0
- package/src/pages/PageHome/PageHome.styles.tsx +51 -0
- package/src/pages/PageHome/PageHome.tsx +62 -0
- package/src/pages/PageHome/index.ts +3 -0
- package/src/pages/PageHome/types.ts +79 -0
- package/src/pages/index.ts +7 -0
- package/src/system/Baseline/Baseline.styles.tsx +128 -0
- package/src/system/Baseline/Baseline.tsx +40 -0
- package/src/system/Baseline/bun.svg +1 -0
- package/src/system/Baseline/check.svg +1 -0
- package/src/system/Baseline/index.ts +1 -0
- package/src/system/Baseline/logo.svg +1 -0
- package/src/system/Baseline/node.svg +7 -0
- package/src/system/Baseline/npm.svg +5 -0
- package/src/system/Baseline/pnpm.svg +1 -0
- package/src/system/Footer/Footer.styles.tsx +213 -0
- package/src/system/Footer/Footer.tsx +105 -0
- package/src/system/Footer/index.ts +1 -0
- package/src/system/SearchButton/SearchButton.styles.tsx +89 -0
- package/src/system/SearchButton/SearchButton.tsx +118 -0
- package/src/system/SearchButton/index.ts +1 -0
- package/src/system/index.ts +3 -0
- package/src/utils/useStyle.ts +19 -0
- package/src/uxsdk/const.ts +1 -0
- package/src/uxsdk/index.ts +21 -0
- package/src/uxsdk/useUXClick.ts +21 -0
- package/src/uxsdk/useUXEvents.ts +105 -0
- package/src/uxsdk/useUXScrollDepth.ts +49 -0
- package/src/uxsdk/useUXUnreachableElementTracker.ts +100 -0
- package/src/views/HomeView/HomeView.styles.tsx +37 -0
- package/src/views/HomeView/HomeView.tsx +34 -0
- package/src/views/HomeView/index.ts +3 -0
- package/src/writer/Anchor/Anchor.styles.tsx +26 -0
- package/src/writer/Anchor/Anchor.tsx +51 -0
- package/src/writer/Anchor/index.tsx +1 -0
- package/src/writer/Badge/Badge.styles.tsx +44 -0
- package/src/writer/Badge/Badge.tsx +47 -0
- package/src/writer/Badge/index.ts +7 -0
- package/src/writer/Banner/Banner.styles.tsx +111 -0
- package/src/writer/Banner/Banner.tsx +151 -0
- package/src/writer/Banner/index.ts +1 -0
- package/src/writer/Blockquote/Blockquote.styles.tsx +20 -0
- package/src/writer/Blockquote/Blockquote.tsx +38 -0
- package/src/writer/Blockquote/index.ts +7 -0
- package/src/writer/BlogCard/BlogCard.styles.tsx +4 -0
- package/src/writer/BlogCard/BlogCard.tsx +9 -0
- package/src/writer/BlogCard/index.ts +3 -0
- package/src/writer/Breadcrumbs/Breadcrumbs.styles.ts +24 -0
- package/src/writer/Breadcrumbs/Breadcrumbs.tsx +57 -0
- package/src/writer/Breadcrumbs/index.ts +7 -0
- package/src/writer/Button/Button.styles.tsx +149 -0
- package/src/writer/Button/Button.tsx +82 -0
- package/src/writer/Button/index.ts +2 -0
- package/src/writer/Callout/Callout.styles.tsx +102 -0
- package/src/writer/Callout/Callout.tsx +166 -0
- package/src/writer/Callout/index.tsx +3 -0
- package/src/writer/Card/Card.styles.tsx +110 -0
- package/src/writer/Card/Card.tsx +94 -0
- package/src/writer/Card/index.ts +1 -0
- package/src/writer/Code/Code.styles.tsx +16 -0
- package/src/writer/Code/Code.tsx +16 -0
- package/src/writer/Code/index.ts +3 -0
- package/src/writer/ColorSchemeButton/ColorSchemeButton.tsx +191 -0
- package/src/writer/ColorSchemeButton/index.ts +1 -0
- package/src/writer/Details/Details.styles.tsx +101 -0
- package/src/writer/Details/Details.tsx +168 -0
- package/src/writer/Details/DetailsProps.tsx +34 -0
- package/src/writer/Details/index.ts +6 -0
- package/src/writer/GuideCard/GuideCard.styles.tsx +129 -0
- package/src/writer/GuideCard/GuideCard.tsx +123 -0
- package/src/writer/GuideCard/index.ts +1 -0
- package/src/writer/Heading/Heading.styles.tsx +93 -0
- package/src/writer/Heading/Heading.tsx +123 -0
- package/src/writer/Heading/index.ts +7 -0
- package/src/writer/Hr/Hr.styles.tsx +7 -0
- package/src/writer/Hr/Hr.tsx +10 -0
- package/src/writer/Hr/index.ts +3 -0
- package/src/writer/Icon/Icon.styles.tsx +15 -0
- package/src/writer/Icon/Icon.tsx +99 -0
- package/src/writer/Icon/index.ts +1 -0
- package/src/writer/IconSocial/IconSocial.tsx +107 -0
- package/src/writer/IconSocial/index.ts +1 -0
- package/src/writer/Image/Image.styles.tsx +9 -0
- package/src/writer/Image/Image.tsx +35 -0
- package/src/writer/Image/index.ts +1 -0
- package/src/writer/List/List.styles.tsx +47 -0
- package/src/writer/List/List.tsx +29 -0
- package/src/writer/List/index.ts +4 -0
- package/src/writer/NavLinks/NavLinks.styles.ts +32 -0
- package/src/writer/NavLinks/NavLinks.tsx +95 -0
- package/src/writer/NavLinks/index.ts +7 -0
- package/src/writer/Pre/Pre.styles.tsx +13 -0
- package/src/writer/Pre/Pre.tsx +14 -0
- package/src/writer/Pre/index.ts +3 -0
- package/src/writer/README.md +1 -0
- package/src/writer/Steps/Steps.styles.tsx +91 -0
- package/src/writer/Steps/Steps.tsx +75 -0
- package/src/writer/Steps/index.ts +5 -0
- package/src/writer/Table/Table.styles.tsx +100 -0
- package/src/writer/Table/Table.tsx +158 -0
- package/src/writer/Table/index.ts +3 -0
- package/src/writer/Tabs/Tabs.tsx +67 -0
- package/src/writer/Tabs/TabsAnalytics.tsx +25 -0
- package/src/writer/Tabs/TabsPrimary.styles.tsx +187 -0
- package/src/writer/Tabs/TabsPrimary.tsx +215 -0
- package/src/writer/Tabs/TabsProps.tsx +13 -0
- package/src/writer/Tabs/TabsSecondary.styles.tsx +78 -0
- package/src/writer/Tabs/TabsSecondary.tsx +176 -0
- package/src/writer/Tabs/index.ts +2 -0
- package/src/writer/Tabs/useValueChange.ts +84 -0
- package/src/writer/Text/Text.styles.tsx +66 -0
- package/src/writer/Text/Text.tsx +79 -0
- package/src/writer/Text/index.ts +3 -0
- package/src/writer/TocCard/TocCard.module.css +44 -0
- package/src/writer/TocCard/TocCard.tsx +42 -0
- package/src/writer/TocCard/index.ts +3 -0
- package/src/writer/Update/Update.styles.tsx +33 -0
- package/src/writer/Update/Update.tsx +37 -0
- package/src/writer/Update/index.ts +1 -0
- package/src/writer/VideoGuide/VideoGuide.module.css +105 -0
- package/src/writer/VideoGuide/VideoGuide.tsx +75 -0
- package/src/writer/VideoGuide/index.ts +1 -0
- package/src/writer/index.ts +53 -0
- package/system.ts +1 -0
- package/tsconfig.json +46 -0
- package/types.d.ts +52 -0
- package/uxsdk.ts +1 -0
- package/views.ts +2 -0
- package/writer.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeSample-Cqv86IdN.js","sources":["../../../node_modules/.pnpm/codehike@1.0.7/node_modules/codehike/dist/code/extract-annotations.js","../../../node_modules/.pnpm/codehike@1.0.7/node_modules/codehike/dist/code/types.js","../../../node_modules/.pnpm/codehike@1.0.7/node_modules/codehike/dist/code/highlight.js","../../../node_modules/.pnpm/react@19.1.1/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/react@19.1.1/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/react@19.1.1/node_modules/react/cjs/react-jsx-runtime.production.js","../../../node_modules/.pnpm/codehike@1.0.7/node_modules/codehike/dist/code/merge-props.js","../../../node_modules/.pnpm/codehike@1.0.7/node_modules/codehike/dist/code/inner.js","../../../node_modules/.pnpm/codehike@1.0.7/node_modules/codehike/dist/code/pre-ref.js","../../../node_modules/.pnpm/codehike@1.0.7/node_modules/codehike/dist/code/tokens.js","../../../node_modules/.pnpm/codehike@1.0.7/node_modules/codehike/dist/code/inline.js","../../../node_modules/.pnpm/codehike@1.0.7/node_modules/codehike/dist/code/lines.js","../../../node_modules/.pnpm/codehike@1.0.7/node_modules/codehike/dist/code/block.js","../../../node_modules/.pnpm/codehike@1.0.7/node_modules/codehike/dist/code/pre.js","../src/kit/Loader/Loader.tsx","../src/kit/Loader/Loader.styles.tsx","../src/coder/CodeTheme/CodeTheme.tsx","../src/coder/Code/Code.styles.tsx","../src/coder/Code/CodeLoader.tsx","../src/coder/CodeSample/CodeSampleAnalytics.tsx","../src/coder/Code/Code.tsx","../src/coder/Code/annotations.tsx","../src/coder/CodeCopy/CodeCopy.tsx","../src/coder/CodeCopy/CodeCopy.styles.tsx","../src/coder/CodeTabs/CodeTabs.tsx","../src/coder/CodeTabs/CodeTabs.styles.tsx","../src/coder/CoderProvider.tsx","../src/coder/CodeSample/CodeSample.tsx"],"sourcesContent":["import { extractAnnotations } from \"@code-hike/lighter\";\nexport async function splitAnnotationsAndCode(code, lang, annotationPrefix) {\n let annotations = [];\n let codeWithoutAnnotations = code;\n const { code: newCode, annotations: newAnnotations } = await extractCommentAnnotations(codeWithoutAnnotations, lang, annotationPrefix);\n annotations = [...annotations, ...newAnnotations];\n codeWithoutAnnotations = newCode;\n return { code: codeWithoutAnnotations, annotations };\n}\nasync function extractCommentAnnotations(code, lang, annotationPrefix = \"!\") {\n const extractor = (comment) => {\n var _a;\n const body = \"(?:\\\\\\\\.|[^\\\\\\\\/])+\";\n const nestedBracketRegex = new RegExp(`\\\\s*(${annotationPrefix}?[\\\\w-]+)?(\\\\[\\\\/${body}\\\\/[a-zA-Z]*\\\\])(.*)$`);\n const nestedParenRegex = new RegExp(`\\\\s*(${annotationPrefix}?[\\\\w-]+)?(\\\\(\\\\/${body}\\\\/[a-zA-Z]*\\\\))(.*)$`);\n const regex = new RegExp(`\\\\s*(${annotationPrefix}?[\\\\w-]+)?(\\\\([^\\\\)]*\\\\)|\\\\[[^\\\\]]*\\\\])?(.*)$`);\n const match = comment.match(nestedBracketRegex) ||\n comment.match(nestedParenRegex) ||\n comment.match(regex);\n if (!match) {\n return null;\n }\n const name = match[1];\n const rangeString = match[2];\n const query = (_a = match[3]) === null || _a === void 0 ? void 0 : _a.trim();\n if (!name || !name.startsWith(annotationPrefix)) {\n return null;\n }\n return {\n name: name.slice(annotationPrefix.length),\n rangeString,\n query,\n };\n };\n const { code: codeWithoutComments, annotations } = await extractAnnotations(code, lang, extractor);\n return { code: codeWithoutComments, annotations };\n}\n","export function isBlockAnnotation(annotation) {\n return !isInlineAnnotation(annotation);\n}\nexport function isInlineAnnotation(annotation) {\n return annotation.hasOwnProperty(\"lineNumber\");\n}\nexport function isWhitespace(token) {\n return typeof token === \"string\";\n}\n","import { splitAnnotationsAndCode } from \"./extract-annotations.js\";\nimport { isWhitespace, } from \"./types.js\";\nimport { highlight as lighter, LANG_NAMES, } from \"@code-hike/lighter\";\nexport async function highlight(data, theme, config = {}) {\n let { value, lang = \"txt\" } = data;\n if (!LANG_NAMES.includes(lang)) {\n console.warn(`Code Hike warning: Unknown language \"${lang}\"`);\n lang = \"txt\";\n }\n const { code, annotations } = await splitAnnotationsAndCode(value, lang, config.annotationPrefix || \"!\");\n const { lines, lang: lighterLang, style, } = await lighter(code, lang, theme, {\n annotations: [],\n scopes: false, // true for better token transitions, but breaks css themes\n });\n const tokens = joinLines(lines);\n // split surrounding whitespace for each token\n const splitTokens = splitWhitespace(tokens);\n // join consecutive whitespace tokens\n const joinedTokens = joinWhitespace(splitTokens);\n return {\n ...data,\n code,\n tokens: joinedTokens,\n lang: lighterLang,\n annotations: compatAnnotations(annotations),\n themeName: typeof theme === \"string\" ? theme : (theme === null || theme === void 0 ? void 0 : theme.name) || \"unknown\",\n style,\n };\n}\nfunction compatAnnotations(annotations) {\n const newAnnotations = [];\n for (const a of annotations) {\n const { name, query, ranges } = a;\n for (const r of ranges) {\n if (r.lineNumber) {\n const { lineNumber, fromColumn, toColumn } = r;\n newAnnotations.push({\n name,\n query,\n lineNumber,\n fromColumn,\n toColumn,\n });\n }\n else {\n const { fromLineNumber, toLineNumber } = r;\n newAnnotations.push({\n name,\n query,\n fromLineNumber,\n toLineNumber,\n });\n }\n }\n }\n return newAnnotations;\n}\n// group the Lines into one array\nfunction joinLines(lines) {\n const joinedTokens = [];\n lines.forEach((lineOrGroup, i) => {\n if (\"lines\" in lineOrGroup) {\n throw new Error(\"Shouldnt be groups\");\n }\n else {\n const tokens = joinTokens(lineOrGroup.tokens);\n joinedTokens.push(...tokens);\n if (i < lines.length - 1) {\n joinedTokens.push(\"\\n\");\n }\n }\n });\n return joinedTokens;\n}\nfunction joinTokens(tokens) {\n return tokens.map((tokenOrGroup) => {\n if (\"tokens\" in tokenOrGroup) {\n throw new Error(\"Shouldnt be groups\");\n }\n else {\n const t = [tokenOrGroup.content];\n const { color, ...rest } = tokenOrGroup.style || {};\n t.push(color);\n if (Object.keys(rest).length) {\n t.push(rest);\n }\n return t;\n }\n });\n}\nfunction splitWhitespace(tokens) {\n const ejected = [];\n tokens.forEach((tokenOrGroup) => {\n if (isWhitespace(tokenOrGroup)) {\n ejected.push(tokenOrGroup);\n }\n else {\n const [before, content, after] = splitSurroundingWhitespace(tokenOrGroup[0]);\n if (before === null || before === void 0 ? void 0 : before.length) {\n ejected.push(before);\n }\n if (content.length) {\n const copy = [...tokenOrGroup];\n copy[0] = content;\n ejected.push(copy);\n }\n if (after === null || after === void 0 ? void 0 : after.length) {\n ejected.push(after);\n }\n }\n });\n return ejected;\n}\nfunction joinWhitespace(tokens) {\n const joinedTokens = [];\n tokens.forEach((tokenOrGroup) => {\n if (isWhitespace(tokenOrGroup)) {\n let last = joinedTokens[joinedTokens.length - 1];\n if (last && isWhitespace(last)) {\n joinedTokens[joinedTokens.length - 1] += tokenOrGroup;\n }\n else if (tokenOrGroup !== \"\") {\n joinedTokens.push(tokenOrGroup);\n }\n }\n else if (tokenOrGroup[0].length > 0) {\n joinedTokens.push(tokenOrGroup);\n }\n });\n return joinedTokens;\n}\n// splits \" \\t foo bar \\n\" into [\" \\t \",\"foo bar\",\" \\n\"]\n// \"foo bar\" -> [\"\",\"foo bar\",\"\"]\nfunction splitSurroundingWhitespace(content) {\n const trimmed = content.trim();\n const before = content.slice(0, content.indexOf(trimmed));\n const after = content.slice(content.indexOf(trimmed) + trimmed.length);\n return [before, trimmed, after];\n}\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","// Based on https://github.com/andrewbranch/merge-props\n// MIT License Andrew Branch\nfunction pushProp(target, key, value) {\n if (key === \"children\") {\n target.children = value || target.children;\n }\n else if (key === \"_ref\") {\n target._ref = value || target._ref;\n }\n else if (key === \"data\") {\n target.data = target.data ? { ...target.data, ...value } : value;\n }\n else if (key === \"className\") {\n target.className = [target.className, value].join(\" \").trim();\n }\n else if (key === \"style\") {\n target.style = { ...target.style, ...value };\n }\n else if (typeof value === \"function\") {\n const oldFn = target[key];\n target[key] = oldFn\n ? (...args) => {\n oldFn(...args);\n value(...args);\n }\n : value;\n }\n else if (\n // skip merging undefined values\n value === undefined ||\n // skip if both value are the same primitive value\n (typeof value !== \"object\" && value === target[key])) {\n return;\n }\n else if (!(key in target)) {\n target[key] = value;\n }\n else {\n throw new Error(`Didn’t know how to merge prop '${key}'. ` +\n `Only 'className', 'style', and event handlers are supported`);\n }\n}\n/**\n * Merges sets of props together:\n * - duplicate `className` props get concatenated\n * - duplicate `style` props get shallow merged (later props have precedence for conflicting rules)\n * - duplicate functions (to be used for event handlers) get called in order from left to right\n * @param props Sets of props to merge together. Later props have precedence.\n */\nexport function mergeProps(...props) {\n if (props.length === 1) {\n return props[0];\n }\n return props.reduce((merged, ps) => {\n for (const key in ps) {\n pushProp(merged, key, ps[key]);\n }\n return merged;\n }, {});\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { mergeProps } from \"./merge-props.js\";\nexport const InnerPre = ({ merge, ...rest }) => {\n const { _stack, ...result } = mergeProps(merge, rest);\n const [Next, ...stack] = _stack;\n if (Next) {\n return _jsx(Next, { _stack: stack, ...result });\n }\n else {\n const { _ref, data, children, ...props } = result;\n return (_jsx(\"pre\", { ...props, ref: _ref, \"data-ch\": true, children: _jsx(\"div\", { style: { minWidth: \"fit-content\" }, children: children }) }));\n }\n};\nexport function getPreRef(props) {\n const p = props;\n if (!(p === null || p === void 0 ? void 0 : p._ref)) {\n throw new Error(\"`getPreRef` can only be used inside `PreWithRef`\");\n }\n return p === null || p === void 0 ? void 0 : p._ref;\n}\nexport const InnerLine = ({ merge, ...rest }) => {\n const { _stack, ...result } = mergeProps(merge, rest);\n const [next, ...stack] = _stack;\n if (next) {\n const { Component, annotation } = next;\n return _jsx(Component, { _stack: stack, ...result, annotation: annotation });\n }\n else {\n const { lineNumber, totalLines, indentation, data, annotation, ...props } = result;\n return _jsx(\"div\", { ...props });\n }\n};\nexport const InnerToken = ({ merge, ...rest }) => {\n const { _stack, ...result } = mergeProps(merge, rest);\n const [next, ...stack] = _stack;\n if (next) {\n const { Component, annotation } = next;\n return _jsx(Component, { _stack: stack, ...result, annotation: annotation });\n }\n else {\n const { value, data, ...props } = result;\n return _jsx(\"span\", { ...props, children: value });\n }\n};\n","\"use client\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useRef } from \"react\";\nimport { InnerPre } from \"./inner.js\";\nexport const AddRefIfNedded = (props) => {\n const innerRef = useRef(null);\n const ref = props._ref || innerRef;\n // @ts-ignore\n return _jsx(InnerPre, { merge: props, _ref: ref });\n};\n","export function toLineContent(tokens, annotations) {\n let content = tokens;\n for (let i = annotations.length - 1; i >= 0; i--) {\n const annotation = annotations[i];\n content = applyInlineAnnotation(content, annotation);\n }\n return content;\n}\nfunction applyInlineAnnotation(lineContent, annotation) {\n const { fromColumn, toColumn } = annotation;\n const range = [fromColumn, toColumn];\n let content = splitContent(lineContent, range[0]);\n content = splitContent(content, range[1] + 1);\n let before = [];\n let inside = [];\n let after = [];\n content.forEach((item) => {\n if (item.range[1] < range[0]) {\n before.push(item);\n }\n else if (item.range[0] > range[1]) {\n after.push(item);\n }\n else {\n inside.push(item);\n }\n });\n return [\n ...before,\n {\n annotation,\n content: inside,\n range: [inside[0].range[0], inside[inside.length - 1].range[1]],\n },\n ...after,\n ];\n}\n// split any group or content that spans across the given column number\nfunction splitContent(lineContent, n) {\n const index = lineContent.findIndex((token) => token.range[0] < n && n <= token.range[1]);\n if (index === -1) {\n return lineContent;\n }\n const item = lineContent[index];\n if (isGroup(item)) {\n const content = splitContent(item.content, n);\n let before = [];\n let after = [];\n for (const token of content) {\n if (token.range[1] < n) {\n before.push(token);\n }\n else {\n after.push(token);\n }\n }\n return [\n ...lineContent.slice(0, index),\n {\n ...item,\n content: before,\n range: [item.range[0], n - 1],\n },\n {\n ...item,\n content: after,\n range: [n, item.range[1]],\n },\n ...lineContent.slice(index + 1),\n ];\n }\n // split token\n return [\n ...lineContent.slice(0, index),\n {\n ...item,\n value: item.value.slice(0, n - item.range[0]),\n range: [item.range[0], n - 1],\n },\n {\n ...item,\n value: item.value.slice(n - item.range[0]),\n range: [n, item.range[1]],\n },\n ...lineContent.slice(index + 1),\n ];\n}\nexport function isGroup(token) {\n return token.content !== undefined;\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { InnerToken } from \"./inner.js\";\nimport { isGroup } from \"./tokens.js\";\nexport function renderLineContent({ content, handlers, annotationStack, }) {\n return content.map((item, i) => isGroup(item) ? (_jsx(InlinedTokens, { annotationStack: annotationStack, handlers: handlers, group: item }, i)) : item.style ? (_jsx(FinalToken, { annotationStack: annotationStack, handlers: handlers, token: item }, i)) : (\n // whitespace\n item.value));\n}\nfunction FinalToken({ handlers, token, annotationStack, }) {\n const stack = buildTokenStack(handlers, annotationStack);\n return (_jsx(InnerToken, { merge: { _stack: stack, style: token.style, value: token.value } }));\n}\nfunction InlinedTokens({ group, handlers, annotationStack, }) {\n var _a;\n const { annotation, content } = group;\n const { name } = annotation;\n const children = renderLineContent({\n content,\n handlers,\n annotationStack: [...annotationStack, annotation],\n });\n const Component = (_a = handlers.find((c) => c.name === name)) === null || _a === void 0 ? void 0 : _a.Inline;\n return Component ? (_jsx(Component, { annotation: annotation, children: children })) : (children);\n}\nfunction buildTokenStack(handlers, annotationStack) {\n const stack = [];\n handlers.forEach(({ name, Token, AnnotatedToken }) => {\n const annotations = annotationStack.filter((a) => a.name === name);\n if (AnnotatedToken) {\n annotations.forEach((annotation) => stack.push({ Component: AnnotatedToken, annotation }));\n }\n if (Token) {\n if (!annotations.length) {\n stack.push({ Component: Token });\n }\n annotations.forEach((annotation) => stack.push({ Component: Token, annotation }));\n }\n });\n return stack;\n}\n","const TAB_TO_SPACES = \" \";\nexport function toLines(tokens) {\n const lines = [[]];\n const tokenStack = tokens.slice();\n let col = 1;\n while (tokenStack.length) {\n const token = tokenStack.shift();\n if (typeof token === \"string\") {\n const [value, ...tail] = token.split(\"\\n\");\n if (value) {\n let start = col;\n col += value.length;\n lines[lines.length - 1].push({\n value,\n range: [start, col],\n });\n }\n if (tail.length) {\n lines[lines.length - 1].push({\n value: \"\\n\",\n range: [col, col + 1],\n });\n lines.push([]);\n col = 1;\n tokenStack.unshift(tail.join(\"\\n\"));\n }\n }\n else {\n const [value, color, rest = {}] = token;\n let start = col;\n col += value.length;\n lines[lines.length - 1].push({\n value,\n style: { color, ...rest },\n range: [start, col],\n });\n }\n }\n const totalLines = lines.length;\n return lines.map((tokens, i) => {\n var _a, _b, _c;\n return ({\n tokens,\n range: [i + 1, i + 1],\n lineNumber: i + 1,\n indentation: ((_c = (_b = (_a = tokens[0]) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.replace(/\\t/g, TAB_TO_SPACES).match(/^\\s*/)) === null || _c === void 0 ? void 0 : _c[0].length) || 0,\n totalLines,\n });\n });\n}\nexport function toLineGroups(lines, annotations) {\n let groups = lines;\n for (let i = annotations.length - 1; i >= 0; i--) {\n const annotation = annotations[i];\n groups = applyBlockAnnotation(groups, annotation);\n }\n return groups;\n}\nfunction applyBlockAnnotation(lines, annotation) {\n const { fromLineNumber, toLineNumber } = annotation;\n const range = [fromLineNumber, toLineNumber];\n let groups = splitGroups(lines, range[0]);\n groups = splitGroups(groups, range[1] + 1);\n let before = [];\n let inside = [];\n let after = [];\n groups.forEach((group) => {\n if (group.range[1] < range[0]) {\n before.push(group);\n }\n else if (group.range[0] > range[1]) {\n after.push(group);\n }\n else {\n inside.push(group);\n }\n });\n return [\n ...before,\n {\n annotation,\n lines: inside,\n range: [inside[0].range[0], inside[inside.length - 1].range[1]],\n },\n ...after,\n ];\n}\nfunction splitGroups(groups, lineNumber) {\n const index = groups.findIndex((group) => {\n return (isGroup(group) &&\n group.range[0] < lineNumber &&\n lineNumber <= group.range[1]);\n });\n if (index === -1) {\n return groups;\n }\n const group = groups[index];\n const lines = splitGroups(group.lines, lineNumber);\n let before = [];\n let after = [];\n lines.forEach((lineOrGroup) => {\n if (lineOrGroup.range[1] < lineNumber) {\n before.push(lineOrGroup);\n }\n else {\n after.push(lineOrGroup);\n }\n });\n return [\n ...groups.slice(0, index),\n { ...group, lines: before, range: [group.range[0], lineNumber - 1] },\n { ...group, lines: after, range: [lineNumber, group.range[1]] },\n ...groups.slice(index + 1),\n ];\n}\nexport function isGroup(item) {\n return item.annotation !== undefined;\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { renderLineContent } from \"./inline.js\";\nimport { isGroup } from \"./lines.js\";\nimport { toLineContent } from \"./tokens.js\";\nimport { InnerLine } from \"./inner.js\";\nexport function renderLines({ linesOrGroups, handlers, inlineAnnotations, annotationStack = [], }) {\n return linesOrGroups.map((group) => isGroup(group) ? (_jsx(LineBlock, { group: group, handlers: handlers, inlineAnnotations: inlineAnnotations, annotationStack: annotationStack }, group.range[0])) : (_jsx(Line, { line: group, handlers: handlers, inlineAnnotations: inlineAnnotations, annotationStack: annotationStack }, group.lineNumber)));\n}\nfunction Line({ line, handlers, inlineAnnotations, annotationStack = [], }) {\n const { lineNumber, totalLines, indentation } = line;\n const lineAnnotations = inlineAnnotations.filter((annotation) => annotation.lineNumber === lineNumber);\n const lineContent = toLineContent(line.tokens, lineAnnotations);\n const stack = buildLineStack(handlers, annotationStack);\n let children = renderLineContent({\n content: lineContent,\n handlers,\n annotationStack,\n });\n const merge = { lineNumber, indentation, totalLines, _stack: stack };\n return (_jsx(InnerLine, { merge: merge, children: children }, lineNumber));\n}\n// A group of lines targeted by a block annotation\nfunction LineBlock({ group, handlers, inlineAnnotations, annotationStack, }) {\n var _a;\n const { annotation, lines } = group;\n const { name } = annotation;\n const Component = (_a = handlers.find((c) => c.name === name)) === null || _a === void 0 ? void 0 : _a.Block;\n const children = renderLines({\n linesOrGroups: lines,\n handlers,\n inlineAnnotations,\n annotationStack: [...annotationStack, annotation],\n });\n return Component ? (_jsx(Component, { annotation: annotation, children: children })) : (children);\n}\nfunction buildLineStack(handlers, annotationStack) {\n const stack = [];\n handlers.forEach(({ name, Line, AnnotatedLine }) => {\n const annotations = annotationStack.filter((a) => a.name === name);\n if (AnnotatedLine) {\n annotations.forEach((annotation) => {\n stack.push({ Component: AnnotatedLine, annotation });\n });\n }\n if (Line) {\n if (!annotations.length) {\n stack.push({ Component: Line });\n }\n annotations.forEach((annotation) => {\n stack.push({ Component: Line, annotation });\n });\n }\n });\n return stack;\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from \"react\";\nimport { isBlockAnnotation, isInlineAnnotation, } from \"./types.js\";\nimport { AddRefIfNedded } from \"./pre-ref.js\";\nimport { renderLines } from \"./block.js\";\nimport { toLineGroups, toLines } from \"./lines.js\";\nimport { InnerPre } from \"./inner.js\";\nexport const Inline = ({ code, ...rest }) => {\n let { tokens } = code;\n if (!tokens) {\n throw new Error(\"Missing tokens in inline code. Use the `highlight` function to generate the tokens.\");\n }\n return (_jsx(\"code\", { ...rest, children: tokens.map((t, i) => {\n if (typeof t === \"string\") {\n return t;\n }\n const [value, color, rest = {}] = t;\n return (_jsx(\"span\", { style: { color, ...rest }, children: value }, i));\n }) }));\n};\nexport const Pre = forwardRef(({ code, handlers = [], ...rest }, ref) => {\n let { tokens, themeName, lang, annotations } = code;\n if (!tokens) {\n throw new Error(\"Missing tokens in code block. Use the `highlight` function to generate the tokens.\");\n }\n handlers\n .filter((c) => c.transform)\n .forEach((c) => {\n annotations = annotations.flatMap((a) => c.name != a.name ? a : c.transform(a) || []);\n });\n const annotationNames = new Set(annotations.map((a) => a.name));\n const hs = handlers.filter((h) => !h.onlyIfAnnotated || annotationNames.has(h.name));\n const stack = buildPreStack(hs);\n const merge = { _stack: stack, _ref: ref };\n return (_jsx(InnerPre, { merge: merge, \"data-theme\": themeName, \"data-lang\": lang, ...rest, children: _jsx(PreContent, { tokens: tokens, handlers: hs, annotations: annotations }) }));\n});\nfunction PreContent({ tokens, handlers, annotations, }) {\n const lines = toLines(tokens);\n const blockAnnotations = annotations.filter(isBlockAnnotation);\n const inlineAnnotations = annotations.filter(isInlineAnnotation);\n const groups = toLineGroups(lines, blockAnnotations);\n return renderLines({\n linesOrGroups: groups,\n handlers,\n inlineAnnotations,\n });\n}\nfunction buildPreStack(handlers) {\n const noRefStack = handlers.map(({ Pre }) => Pre).filter(Boolean);\n const refStack = handlers.map(({ PreWithRef }) => PreWithRef).filter(Boolean);\n if (refStack.length > 0) {\n refStack.unshift(AddRefIfNedded);\n }\n return [...noRefStack, ...refStack];\n}\n","import React from \"react\";\nimport * as cn from \"./Loader.styles\";\n\nexport interface LoaderProps {\n size?: \"small\" | \"medium\" | \"large\";\n className?: string;\n}\n\nexport function Loader({size = \"medium\", className}: LoaderProps) {\n return (\n <xyd-loader\n data-size={size}\n className={` ${cn.LoaderHost} ${className || \"\"} `}\n >\n <div part=\"dots\">\n <div part=\"dot\"/>\n <div part=\"dot\"/>\n <div part=\"dot\"/>\n </div>\n </xyd-loader>\n );\n} ","import { css } from \"@linaria/core\";\n\nexport const LoaderHost = css`\n @keyframes pulse {\n 0%, 80%, 100% { \n transform: scale(0.6);\n opacity: 0.4;\n }\n 40% { \n transform: scale(1);\n opacity: 1;\n }\n }\n\n @layer defaults {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n &[data-size=\"small\"] {\n width: 6px;\n height: 6px;\n }\n &[data-size=\"large\"] {\n width: 12px;\n height: 12px;\n }\n\n [part=\"dots\"] {\n display: flex;\n gap: 4px;\n }\n\n [part=\"dot\"] {\n width: 8px;\n height: 8px;\n background-color: currentColor;\n border-radius: 50%;\n animation: pulse 1.4s infinite ease-in-out;\n opacity: 0.6;\n\n &:nth-of-type(2) {\n animation-delay: 0.2s;\n }\n\n &:nth-of-type(3) {\n animation-delay: 0.4s;\n }\n }\n }\n`;\n\n\n","import React, { createContext, useState, use, useEffect, Suspense } from \"react\";\nimport { Theme } from \"@code-hike/lighter\";\nimport { highlight } from \"codehike/code\";\nimport type { HighlightedCode as CodeHikeHighlightedCode } from \"codehike/code\";\n\nimport defaultTheme from \"../themes/cosmo\"\nimport { Loader } from \"../../kit\";\n\nexport interface CodeThemeProps {\n codeblocks?: CodeThemeBlockProps[];\n theme?: Theme\n children: React.ReactNode;\n}\n\nexport interface SyntaxHighlightedCode extends CodeHikeHighlightedCode {\n title?: string\n}\n\nexport interface CodeThemeBlockProps {\n /** This is the raw code. May include annotation comments. */\n value: string;\n /** The programming language. */\n lang: string;\n /** Metadata string (the content after the language name in a markdown codeblock). */\n meta: string;\n\n title?: string\n\n /** The highlighted code. */\n highlighted?: SyntaxHighlightedCode\n}\n\nconst CodeThemeProvider = createContext<{\n highlighted: SyntaxHighlightedCode[];\n}>({\n highlighted: [],\n});\n\nexport function useCodeTheme() {\n return use(CodeThemeProvider);\n}\n\n// TODO: lazy-loading - some codeblocks on server and another on client\n// TODO: lazdy client loading only on specific codeblock\nexport function CodeTheme(props: CodeThemeProps) {\n // Initialize with server-side highlighted codeblocks\n const [highlighted, setHighlighted] = useState<HighlightedCode[] | undefined>(initializeHighlighted(props.codeblocks));\n const [clientSideFetch, setClientSideFetch] = useState(true)\n\n useEffect(() => {\n setHighlighted(initializeHighlighted(props.codeblocks))\n }, [props.codeblocks])\n\n useEffect(() => {\n if (!props.codeblocks) {\n return;\n }\n\n // Check if we need to highlight any codeblocks\n const needsHighlighting = props.codeblocks.some(\n codeblock => !codeblock.highlighted || !codeblock.highlighted.tokens\n );\n\n if (needsHighlighting) {\n clientSideHighlight();\n }\n }, [props.codeblocks]);\n\n function initializeHighlighted(codeblocks: any) {\n if (!codeblocks) return [];\n\n return codeblocks.map(codeblock => {\n if (codeblock.highlighted && codeblock.highlighted.tokens) {\n return {\n ...codeblock.highlighted,\n meta: codeblock.highlighted?.meta || codeblock.meta,\n title: codeblock.title\n };\n }\n\n return null\n }).filter(Boolean) as SyntaxHighlightedCode[]\n }\n\n async function clientSideHighlight() {\n if (!props.codeblocks) {\n return;\n }\n\n const allHighlighted = props.codeblocks.every(codeblock => codeblock.highlighted)\n if (allHighlighted) {\n return;\n }\n \n const newHighlighted = await fetchHighlight(props.codeblocks, props.theme || defaultTheme);\n setHighlighted(newHighlighted)\n\n setClientSideFetch(false)\n }\n\n const withTheme = <CodeThemeProvider\n value={{\n highlighted: highlighted || [],\n }}\n >\n {props.children}\n </CodeThemeProvider>\n\n const allHighlighted = props.codeblocks?.every(codeblock => codeblock.highlighted)\n if (allHighlighted) {\n return withTheme\n }\n\n if (clientSideFetch) {\n return <Loader />\n }\n\n return withTheme\n}\n\n// TODO: own server with grammars (codehike)\nasync function fetchHighlight(codeblocks: CodeThemeBlockProps[], theme: Theme) {\n return await Promise.all(\n codeblocks?.map((codeblock) => highlight(codeblock, theme))\n );\n}\n","import { css } from \"@linaria/core\";\n\nexport const LineNumberHost = css`\n @layer defaults {\n display: flex;\n position: relative;\n \n [part=\"line-number\"] {\n /* margin: 0 12px 0px 4px; */\n width: 25px;\n left: -15px;\n position: absolute;\n margin: 0;\n text-align: right;\n user-select: none;\n opacity: 0.5;\n }\n }\n`;\n\nexport const MarkHost = css`\n @layer defaults {\n display: flex;\n border-left-width: 4px;\n border-color: transparent;\n margin: 4px 0;\n\n &[data-annotated=\"true\"] {\n border-color: var(--xyd-coder-code-mark-border-color);\n background-color: var(--xyd-coder-code-mark-bgcolor);\n }\n\n &[data-diff=\"true\"] {\n position: relative;\n\n &[data-query=\"-\"] {\n border-color: var(--xyd-text-color--error--active);\n background-color: var(--xyd-text-color--error--muted);\n }\n\n &[data-query=\"+\"] {\n border-color: var(--xyd-text-color--success--active);\n background-color: var(--xyd-text-color--success--muted);\n }\n\n & > :first-child {\n position: absolute;\n left: 5px;\n }\n }\n\n [part=\"line\"] {\n flex: 1 1 0%;\n }\n\n xyd-code-linenumber [part=\"line\"]{\n position: relative;\n left: 25px;\n }\n }\n`;\n\nexport const MarkInlineHost = css`\n @layer defaults {\n display: inline-block;\n\n outline: solid 1px var(--xyd-coder-code-mark-border-color);\n background: var(--xyd-coder-code-mark-bgcolor);\n\n\n &[data-diff=\"true\"] {\n &[data-query=\"-\"] {\n border-color: var(--xyd-text-color--error--active);\n background-color: var(--xyd-text-color--error--muted);\n }\n\n &[data-query=\"+\"] {\n border-color: var(--xyd-text-color--success--active);\n background-color: var(--xyd-text-color--success--muted);\n }\n }\n }\n`\n\nexport const BgHost = css`\n @layer defaults {\n &[data-annotated=\"true\"] {\n border-color: var(--xyd-coder-code-mark-border-color);\n background-color: var(--xyd-coder-code-mark-bgcolor);\n }\n }\n`\n\nexport const CodeHost = css`\n @layer defaults {\n max-height: 400px;\n background: var(--xyd-coder-code-background); // cuz can be overwritten by style - better solution in the future?\n\n margin: 0;\n padding: 8px 16px;\n\n border-top: 1px solid var(--user-coder-code-border-color, --xyd-coder-code-border-color);\n \n &:not(:has(+ [part=\"code-description\"])) {\n border-bottom-left-radius: 10px;\n border-bottom-right-radius: 10px;\n }\n\n /* white-space: pre-wrap; */ // TODO: optional wrap?\n word-break: break-all;\n\n overflow: auto;\n\n &[data-size=\"full\"] {\n max-height: 100%; \n }\n/* \n & > div {\n // TODO: for some reasons we need that - fix in the future\n max-width: max-content !important;\n } */\n }\n`;\n\n\nexport const CodeDescription = css`\n padding: 17px 20px 10px;\n background-color: var(--xyd-coder-code-description-bgcolor);\n border-radius: 0 0 8px 7px;\n display: flex;\n gap: 12px;\n align-items: flex-start;\n color: var(--text-primary);\n\n & > div:first-child {\n display: flex;\n align-items: center;\n padding-top: 5px;\n }\n\n & > div:last-child {\n display: flex;\n flex-direction: column;\n gap: 4px;\n\n > span {\n display: flex;\n align-items: center;\n }\n }\n`","import React from \"react\";\n\nimport * as cn from \"./Code.styles\";\nimport {Loader} from \"../../kit\";\n\nexport function CodeLoader() {\n return <xyd-code-loader className={cn.CodeHost}>\n <Loader/>\n </xyd-code-loader>\n}","import React, { useEffect, useRef, useState } from \"react\";\n\nimport { UXNode } from \"openux-js\";\n\nimport { useTabsAnalytics } from \"../../writer/Tabs/TabsAnalytics\";\nimport { EVENT_COMPONENT_TAB_CHANGE, useUXEvents, useUXScrollDepth } from \"../../uxsdk\";\n\nconst CodeSampleAnalyticsContext = React.createContext<{\n ref: React.RefObject<HTMLPreElement | null>\n\n setActiveTab: (tab: string) => void\n\n setActiveExample: (example: string) => void\n}>({\n ref: {\n current: null\n },\n\n setActiveTab: () => {\n },\n\n setActiveExample: () => {\n }\n})\n\nexport function useCodeSampleAnalytics() {\n return React.useContext(CodeSampleAnalyticsContext)\n}\n\nexport function CodeSampleAnalytics({ children }: { children: React.ReactNode }) {\n const ref = useRef<HTMLPreElement>(null);\n const [activeTab, setActiveTab] = useState(\"\")\n const [activeExample, setActiveExample] = useState(\"\")\n\n const tabs = useTabsAnalytics()\n\n useEffect(() => {\n setActiveExample(tabs.value)\n }, [tabs.value])\n\n return (\n <CodeSampleAnalyticsContext value={{\n ref,\n setActiveTab,\n setActiveExample\n }}>\n <UXNode\n name=\"CodeSample\"\n props={{\n tab: activeTab,\n example: activeExample,\n code: \"\"\n }}\n >\n <CodeSampleAnalyticsHooks>\n {children}\n </CodeSampleAnalyticsHooks>\n </UXNode>\n </CodeSampleAnalyticsContext>\n );\n}\n\nfunction CodeSampleAnalyticsHooks({ children }: { children: React.ReactNode }) {\n useExampleTabChange()\n useCodeSampleScroll()\n\n return children\n}\n\n// TODO: better API\nfunction useExampleTabChange() {\n const tabs = useTabsAnalytics()\n const ux = useUXEvents();\n\n useEffect(() => {\n const tabsElement = tabs.tabsRef.current;\n if (!tabsElement) {\n return\n }\n\n function handleTabChange(event: CustomEvent) {\n const { value } = event.detail;\n ux.docs.code.example_change({\n example: value,\n })\n };\n\n tabsElement.addEventListener(EVENT_COMPONENT_TAB_CHANGE, handleTabChange as EventListener);\n\n return () => {\n tabsElement.removeEventListener(EVENT_COMPONENT_TAB_CHANGE, handleTabChange as EventListener);\n };\n }, [tabs.tabsRef.current]);\n}\n\nfunction useCodeSampleScroll() {\n const codeSampleAnalytics = useCodeSampleAnalytics();\n const ux = useUXEvents();\n \n useUXScrollDepth(codeSampleAnalytics.ref, {\n onDepthReached: (depth) => {\n if (depth === 100) {\n ux.docs.code.scroll_100({});\n }\n\n ux.docs.code.scroll_depth({\n depth: depth,\n });\n },\n });\n}\n\n","import React, { Suspense } from \"react\";\nimport type { HighlightedCode, AnnotationHandler } from \"codehike/code\";\nimport { InnerLine, Pre } from \"codehike/code\";\nimport { Theme } from \"@code-hike/lighter\";\n\nimport { Text } from \"../../writer/Text\"\nimport { CodeTheme, type CodeThemeBlockProps } from \"../CodeTheme\";\nimport * as cn from \"./Code.styles\";\nimport { CodeLoader } from \"./CodeLoader\";\nimport { Icon } from \"src/writer/Icon\";\nimport {useCodeSampleAnalytics} from \"../CodeSample/CodeSampleAnalytics\";\n\nexport interface CodeProps {\n codeblocks?: CodeThemeBlockProps[];\n theme?: Theme\n children: React.ReactNode\n}\n\nexport function Code(props: CodeProps) {\n return <Suspense fallback={<CodeLoader />}>\n <CodeTheme\n codeblocks={props.codeblocks}\n theme={props.theme}\n >\n {props.children}\n </CodeTheme>\n </Suspense>\n}\n\n// TODO: fix any\nCode.LineNumber = function CodeLineNumber(props: any) {\n if (!props.children || !props.children.length) {\n return null\n }\n return (\n <xyd-code-linenumber\n className={cn.LineNumberHost}\n style={{ minWidth: `${props.width}ch` }}\n >\n <span part=\"line-number\">\n {props.lineNumber}\n </span>\n <InnerLine merge={props} />\n </xyd-code-linenumber>\n )\n}\n\n// TODO: fix any\nCode.Mark = function CodeMark(props: any) {\n return <xyd-code-mark\n data-diff={props.annotation?.diff ? \"true\" : undefined}\n data-query={props.annotation?.diff && props.annotation?.query ? props.annotation?.query : undefined}\n data-annotated={String(!!props.annotation)}\n className={`${cn.MarkHost}`}\n >\n <InnerLine\n part=\"line\"\n merge={props}\n />\n </xyd-code-mark>\n}\n\nCode.MarkInline = function CodeMarkInline(props: any) {\n return (\n <xyd-code-mark-inline\n data-diff={props.annotation?.diff ? \"true\" : undefined}\n data-query={props.annotation?.diff && props.annotation?.query ? props.annotation?.query : undefined}\n className={cn.MarkInlineHost}\n >\n {props.children}\n </xyd-code-mark-inline>\n )\n}\n\n// TODO: fix any\nCode.Bg = function CodeLine(props: any) {\n return <xyd-code-bg\n data-annotated={String(!!props.annotation)}\n className={`${cn.BgHost}`}\n >\n {props.children}\n </xyd-code-bg>\n}\n\nCode.Pre = function CodePre(props: {\n codeblock: HighlightedCode,\n size?: \"full\",\n handlers: AnnotationHandler[],\n className?: string,\n descriptionHead?: string | React.ReactNode,\n descriptionContent?: string | React.ReactNode,\n descriptionIcon?: string\n}\n) {\n const codeSampleAnalytics = useCodeSampleAnalytics()\n\n const {\n size,\n className,\n codeblock,\n handlers,\n } = props;\n\n fixLastToken(codeblock)\n\n let description: React.ReactNode | null = null\n \n if (props.descriptionHead || props.descriptionContent) {\n description = <div part=\"code-description\" className={cn.CodeDescription}>\n <div>\n {props.descriptionIcon ? <Icon name={props.descriptionIcon} size={16} /> : <_DefaultDescriptionIcon />}\n </div>\n\n <div>\n <Text weight=\"bold\">\n {props.descriptionHead}\n </Text>\n <span>\n {props.descriptionContent}\n </span>\n </div>\n </div>\n }\n\n return <xyd-code-pre>\n <Pre\n part=\"pre\"\n data-size={size}\n style={codeblock?.style || codeblock?.style}\n className={`${cn.CodeHost} ${className || \"\"}`}\n code={codeblock}\n handlers={handlers}\n ref={codeSampleAnalytics.ref}\n />\n\n {description}\n </xyd-code-pre>\n}\n\n/**\n * FOR SOME REASONS FOR SINGLE CODE BLOCKS LAST TOKEN IS EMPTY STRING\n * \n * @todo: fix this\n */\nfunction fixLastToken(codeblock: HighlightedCode) {\n const lastToken = codeblock.tokens[codeblock.tokens.length - 1]\n if (typeof lastToken === 'string' && (lastToken === ' ' || lastToken === '\\n')) {\n codeblock.tokens.pop()\n }\n}\n\nfunction _DefaultDescriptionIcon() {\n return <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n strokeWidth={3}\n stroke=\"currentColor\"\n fill=\"none\"\n width={16}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M12 12l8 -4.5\" />\n <path d=\"M12 12v9\" />\n <path d=\"M12 12l-8 -4.5\" />\n <path d=\"M12 12l8 4.5\" />\n <path d=\"M12 3v9\" />\n <path d=\"M12 12l-8 4.5\" />\n </svg>\n}","import React from \"react\";\nimport { AnnotationHandler, BlockAnnotation, InnerLine } from \"codehike/code\";\n\nimport { Code } from \"./Code\";\n\nconst markAnnotation: AnnotationHandler = {\n name: \"mark\",\n Line: (props) => {\n return <Code.Mark {...props} />\n },\n Inline: (props) => {\n return <Code.MarkInline {...props} />\n },\n}\n\nconst bgAnnotation: AnnotationHandler = {\n name: \"bg\",\n Inline: (props) => {\n return <Code.Bg {...props} />\n }\n}\n\nconst lineNumberAnnotation: AnnotationHandler = {\n name: \"line-numbers\",\n Line: ({ annotation, ...props }) => {\n return <Code.LineNumber {...props} />\n },\n}\n\nexport const diffAnnotation: AnnotationHandler = {\n name: \"diff\",\n onlyIfAnnotated: true,\n transform: (annotation: BlockAnnotation) => {\n return [annotation, { ...annotation, name: \"mark\", query: annotation.query, diff: true }]\n },\n Line: ({ annotation, ...props }) => (\n <>\n <div>\n {annotation?.query}\n </div>\n <InnerLine merge={props} />\n </>\n ),\n}\n\nexport const annotations = {\n mark: markAnnotation,\n bg: bgAnnotation,\n lineNumbers: lineNumberAnnotation,\n diff: diffAnnotation\n}","import React, { useState } from \"react\"\nimport { Copy, CheckCheck } from \"lucide-react\"\n\nimport { useUXEvents } from \"../../uxsdk\"\n\nimport * as cn from \"./CodeCopy.styles\"\n\nexport interface CodeCopyProps {\n text: string\n}\n\nexport function CodeCopy({ text }: CodeCopyProps) {\n const [copied, setCopied] = useState(false)\n const ux = useUXEvents()\n\n function onClick() {\n navigator.clipboard.writeText(text)\n setCopied(true)\n ux.docs.code.copy({ code: text })\n setTimeout(() => {\n setCopied(false)\n }, 1200)\n }\n\n return <xyd-code-copy>\n <button\n part=\"button\"\n className={cn.CodeCopyHost}\n aria-label=\"Copy to clipboard\"\n onClick={onClick}\n >\n {copied ? <CheckCheck size={16} /> : <Copy size={16} />}\n </button>\n </xyd-code-copy>\n\n}","import {css} from \"@linaria/core\";\n\nexport const CodeCopyHost = css`\n @layer defaults {\n all: unset;\n \n cursor: pointer;\n\n display: flex;\n align-items: center;\n justify-content: center;\n \n border-radius: 6px;\n padding: 6px;\n\n &:hover {\n transition: ease-in 0.1s;\n background: var(--xyd-code-copy-color);\n }\n }\n`; ","import React, { useState, useEffect } from \"react\";\nimport {Tabs as TabsPrimitive} from \"radix-ui\"; // TODO: remove and use separation\nimport {\n HighlightedCode,\n} from \"codehike/code\"\n\nimport {\n CodeCopy,\n} from \"../CodeCopy\";\nimport * as cn from \"./CodeTabs.styles\"; // TODO: style by highlighted?\nimport { SyntaxHighlightedCode } from \"../CodeTheme/CodeTheme\";\nimport { useCodeSampleAnalytics } from \"../CodeSample/CodeSampleAnalytics\";\nimport { useUXEvents } from \"../../uxsdk\";\n\nexport interface CodeTabsProps {\n description: string;\n highlighted: SyntaxHighlightedCode[]\n className?: string\n controlByMeta?: boolean // TODO: BETTER IN THE FUTURE\n}\n\nexport function withCodeTabs(PreComponent) {\n return function CodeTabs(props: CodeTabsProps) {\n const isSingle = props?.highlighted?.length === 1 && !props.description\n const defaultValue = props.highlighted[0]?.meta || props.highlighted[0]?.lang\n const [activeTab, setActiveTab] = useState(defaultValue)\n\n const codeSampleAnalytics = useCodeSampleAnalytics()\n const ux = useUXEvents()\n\n // Reset active tab when highlighted prop changes\n useEffect(() => {\n setActiveTab(defaultValue)\n }, [defaultValue])\n\n useEffect(() => {\n codeSampleAnalytics.setActiveTab(activeTab)\n }, [])\n\n function changeTab(value: string) {\n setActiveTab(value)\n codeSampleAnalytics.setActiveTab(value)\n ux.docs.code.tab_change({tab: value})\n }\n\n if (props?.highlighted?.length === 0) { \n return null\n }\n\n return (\n <xyd-codetabs className={`${cn.CodeTabsHost} ${props.className || \"\"}`}>\n <TabsPrimitive.Root\n part=\"root\"\n data-single={String(isSingle)}\n data-nodescription={!props.description ? \"true\" : undefined}\n className={`${cn.CodeTabsRoot}`}\n style={props.highlighted[0]?.style}\n value={activeTab}\n onValueChange={changeTab}\n >\n <$LanguageTabSwitcher\n description={props.description}\n highlighted={props.highlighted}\n />\n\n {props.highlighted?.map((codeblock, i) => (\n <TabsPrimitive.Content value={codeblock.meta || codeblock.lang} key={i}>\n <PreComponent\n style={codeblock?.style || codeblock?.style}\n codeblock={codeblock}\n />\n </TabsPrimitive.Content>\n ))}\n </TabsPrimitive.Root>\n </xyd-codetabs>\n )\n }\n}\n\ninterface LanguageTabSwitcherProps {\n description: string;\n highlighted: HighlightedCode[]\n}\n\nfunction $LanguageTabSwitcher(props: LanguageTabSwitcherProps) {\n const isSingle = props?.highlighted?.length === 1 && !props.description\n\n const highlighted = props.highlighted.filter((item, index, self) =>\n index === self.findIndex((t) => (t.meta || t.lang) === (item.meta || item.lang))\n );\n return <xyd-codetabs-languages\n data-single={String(isSingle)}\n className={`\n ${cn.CodeTabsLanguagesHost}\n `}>\n\n {\n props.description && <div part=\"description\">\n <div part=\"description-item\">\n {props.description}\n </div>\n </div>\n }\n\n <TabsPrimitive.List part=\"languages-list\">\n {highlighted?.map(({ meta, lang }, i) => {\n if (isSingle) {\n return null\n }\n return <TabsPrimitive.Trigger\n part=\"language-trigger\"\n value={meta || lang}\n key={i}\n >\n {meta || lang}\n </TabsPrimitive.Trigger>\n })}\n </TabsPrimitive.List>\n\n <div part=\"copy\">\n {highlighted?.map((codeblock, i) => (\n <TabsPrimitive.Content value={codeblock.meta || codeblock.lang} asChild key={i}>\n <CodeCopy text={codeblock.value} />\n </TabsPrimitive.Content>\n ))}\n </div>\n </xyd-codetabs-languages>\n}\n","import { css } from \"@linaria/core\";\n\nexport const CodeTabsHost = css`\n display: grid;\n`\n\nexport const CodeTabsRoot = css`\n @layer defaults {\n overflow: hidden;\n min-width: 0;\n\n border: 1px solid var(--xyd-codetabs-border-color);\n border-radius: 16px;\n\n &[data-single=\"true\"] [part=\"pre\"] {\n border: none;\n }\n\n &[data-nodescription=\"true\"] {\n xyd-codetabs-languages [part=\"languages-list\"] {\n justify-content: flex-start;\n }\n }\n }\n`;\n\nexport const CodeTabsLanguagesHost = css`\n @layer defaults {\n --codetabs-color: var(--user-codetabs-color, var(--xyd-codetabs-color));\n --codetabs-color--active: var(--user-codetabs-color--active, var(--xyd-codetabs-color--active));\n --codetabs-color--hover: var(--user-codetabs-color--hover, var(--xyd-codetabs-color--hover));\n\n position: relative;\n display: flex;\n justify-content: space-between;\n flex: 1 1 0%;\n\n background: var(--user-codetabs-bgcolor, var(--xyd-codetabs-bgcolor));\n \n border-top-right-radius: 10px;\n border-top-left-radius: 10px;\n border-bottom: 0px;\n\n min-width: 0;\n\n font-weight: var(--xyd-font-weight-semibold);\n font-size: var(--xyd-font-size-xsmall);\n\n &[data-single=\"true\"] {\n height: 0;\n }\n\n [part=\"description\"] {\n display: flex;\n flex: 1;\n align-items: center;\n gap: 4px;\n\n color: var(--codetabs-color);\n \n margin-left: 4px;\n margin-right: 4px;\n }\n\n [part=\"description-item\"] {\n display: flex;\n padding-left: 16px;\n padding-right: 16px;\n flex: 1 1 0%;\n gap: 16px;\n border-radius: 4px;\n }\n\n [part=\"copy\"] {\n display: none;\n }\n\n [part=\"languages-list\"] {\n display: flex;\n gap: 8px;\n padding: 0 10px;\n overflow: auto;\n }\n\n [part=\"language-trigger\"] {\n all: unset;\n\n cursor: pointer;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n border-radius: 6px;\n padding: 6px;\n\n color: var(--codetabs-color);\n \n &[data-state=\"active\"] {\n color: var(--codetabs-color--active);\n border-bottom: 1px solid var(--codetabs-color--active);\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n }\n \n &:hover {\n transition: ease-in 0.1s;\n background: var(--codetabs-color--hover);\n }\n }\n\n [part=\"copy\"] {\n display: flex;\n padding-left: 8px;\n padding-right: 8px;\n align-items: center;\n }\n &[data-single=\"true\"] [part=\"copy\"] {\n position: absolute;\n right: 0;\n }\n }\n`;\n\n\n\n","import React from \"react\";\nimport { createContext, useContext } from \"react\";\n\nconst CoderContext = createContext<{\n lines?: boolean\n scroll?: boolean\n}>({\n lines: undefined,\n scroll: undefined,\n})\n\n\ninterface CoderProviderProps {\n children: React.ReactNode\n\n lines?: boolean\n\n scroll?: boolean\n}\nexport function CoderProvider({ children, lines, scroll }: CoderProviderProps) {\n return <CoderContext.Provider value={{ lines, scroll }}>{children}</CoderContext.Provider>\n}\n\nexport function useCoder() {\n return useContext(CoderContext)\n}","import React, {useEffect, useState} from \"react\";\nimport {Theme} from \"@code-hike/lighter\";\n\nimport type {CodeThemeBlockProps} from \"../CodeTheme\";\n\nimport {\n Code,\n annotations,\n} from \"../Code\"\nimport {\n withCodeTabs\n} from \"../CodeTabs\";\nimport {useCodeTheme} from \"../CodeTheme\";\nimport {useCoder} from \"../CoderProvider\";\nimport {CodeSampleAnalytics} from \"./CodeSampleAnalytics\";\n\nexport interface CodeSampleProps {\n name: string;\n description: string;\n codeblocks?: CodeThemeBlockProps[];\n theme?: Theme\n size?: \"full\"\n lineNumbers?: boolean\n descriptionHead?: string\n descriptionContent?: string | React.ReactNode\n descriptionIcon?: string\n kind?: \"secondary\"\n controlByMeta?: boolean // TODO: BETTER IN THE FUTURE\n}\n\nconst CodeContext = React.createContext<{\n size?: \"full\"\n lineNumbers?: boolean\n descriptionHead?: string\n descriptionContent?: string | React.ReactNode\n descriptionIcon?: string\n}>({})\n\nexport function CodeSample(props: CodeSampleProps) {\n return <CodeSampleAnalytics>\n <Code\n codeblocks={props.codeblocks}\n theme={props.theme}\n >\n <$ThemedCodeSample {...props} />\n </Code>\n </CodeSampleAnalytics>\n}\n\nfunction $ThemedCodeSample(props: CodeSampleProps) {\n const {highlighted} = useCodeTheme()\n const coder = useCoder()\n\n if (props.kind === \"secondary\") {\n return <CodeContext value={{\n size: props.size,\n lineNumbers: props.lineNumbers,\n descriptionHead: props.descriptionHead,\n descriptionContent: props.descriptionContent,\n descriptionIcon: props.descriptionIcon,\n }}>\n <Code.Pre\n codeblock={highlighted[0]}\n handlers={[\n annotations.mark,\n annotations.bg,\n annotations.lineNumbers\n ]}\n />\n </CodeContext>\n }\n\n let size: \"full\" | undefined = undefined\n if (typeof props.size === \"string\") {\n size = props.size\n } else if (typeof coder.scroll === \"boolean\" && !coder.scroll) {\n size = \"full\"\n }\n\n const lineNumbers = props.lineNumbers ?? coder.lines\n\n return <CodeContext value={{\n size,\n lineNumbers,\n descriptionHead: props.descriptionHead,\n descriptionContent: props.descriptionContent,\n descriptionIcon: props.descriptionIcon,\n }}>\n <$CodeSampleTabs\n description={props.description}\n highlighted={highlighted}\n controlByMeta={props.controlByMeta}\n />\n </CodeContext>\n}\n\nconst $CodeSampleTabs = withCodeTabs((props) => {\n const {lineNumbers, size, descriptionHead, descriptionContent, descriptionIcon} = React.useContext(CodeContext)\n const handlers = [\n annotations.mark,\n annotations.bg,\n annotations.diff\n ]\n\n if (lineNumbers) {\n handlers.push(annotations.lineNumbers)\n }\n\n return <Code.Pre\n {...props}\n descriptionHead={descriptionHead}\n descriptionContent={descriptionContent}\n descriptionIcon={descriptionIcon}\n size={size}\n handlers={handlers}\n />\n})\n\n"],"names":["splitAnnotationsAndCode","_x","_x2","_x3","_splitAnnotationsAndCode","apply","this","arguments","_asyncToGenerator","_regenerator","m","_callee","code","lang","annotationPrefix","annotations","codeWithoutAnnotations","_yield$extractComment","newCode","newAnnotations","w","_context","n","extractCommentAnnotations","v","concat","_toConsumableArray","a","_x4","_x5","_extractCommentAnnotations","_callee2","extractor","_yield$extractAnnotat","codeWithoutComments","_args2","_context2","length","undefined","comment","_a","body","nestedBracketRegex","RegExp","nestedParenRegex","regex","match","name","rangeString","query","trim","startsWith","slice","extractAnnotations","isBlockAnnotation","annotation","isInlineAnnotation","hasOwnProperty","isWhitespace","token","highlight","_highlight","data","theme","config","value","_data$lang","_yield$splitAnnotatio","_yield$lighter","lines","lighterLang","style","tokens","splitTokens","joinedTokens","_args","LANG_NAMES","includes","console","warn","lighter","scopes","joinLines","splitWhitespace","joinWhitespace","_objectSpread","compatAnnotations","themeName","_step","_iterator","_createForOfIteratorHelper","s","done","_step2","ranges","_iterator2","r","lineNumber","fromColumn","toColumn","push","fromLineNumber","toLineNumber","err","e","f","forEach","lineOrGroup","i","Error","map","tokenOrGroup","t","content","_ref","color","rest","_objectWithoutProperties","_excluded","Object","keys","joinTokens","ejected","_splitSurroundingWhit","trimmed","before","indexOf","after","splitSurroundingWhitespace","_splitSurroundingWhit2","_slicedToArray","copy","last","process","env","NODE_ENV","getComponentNameFromType","type","$$typeof","REACT_CLIENT_REFERENCE","displayName","REACT_FRAGMENT_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","_typeof","tag","error","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","render","REACT_MEMO_TYPE","REACT_LAZY_TYPE","_payload","_init","x","testStringCoercion","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","Symbol","toStringTag","constructor","call","getTaskName","UnknownOwner","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","props","ref","jsxDEVImpl","maybeKey","isStaticChildren","source","self","debugStack","debugTask","dispatcher","children","isArrayImpl","validateChildKeys","freeze","filter","k","join","didWarnAboutKeySpread","getter","getOwnPropertyDescriptor","get","isReactWarning","key","hasValidKey","propName","warnAboutAccessingKey","specialPropKeyWarningShown","defineProperty","configurable","defineKeyPropWarningGetter","owner","REACT_ELEMENT_TYPE","_owner","enumerable","_store","writable","ReactElement","ReactSharedInternals","A","getOwner","node","validated","React","require$$0","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","prototype","Array","isArray","createTask","unknownOwnerDebugStack","react_stack_bottom_frame","callStackForError","bind","unknownOwnerDebugTask","reactJsxRuntime_development","Fragment","jsx","trackActualOwner","recentlyCreatedOwnerStacks","jsxs","jsxRuntimeModule","exports","jsxProd","reactJsxRuntime_production","require$$1","pushProp","target","className","oldFn","mergeProps","_len","_key","reduce","merged","ps","InnerPre","_ref2","_mergeProps","merge","_stack","result","_excluded2","_stack2","_toArray","Next","stack","_jsx","_excluded3","minWidth","InnerLine","_ref3","_mergeProps2","_excluded4","_excluded5","_stack3","next","Component","totalLines","indentation","_excluded6","InnerToken","_ref4","_mergeProps3","_excluded7","_excluded8","_stack4","_excluded9","AddRefIfNedded","innerRef","useRef","applyInlineAnnotation","lineContent","range","splitContent","inside","item","index","findIndex","isGroup","renderLineContent","handlers","annotationStack","InlinedTokens","group","FinalToken","Token","AnnotatedToken","buildTokenStack","find","c","Inline","applyBlockAnnotation","groups","splitGroups","renderLines","linesOrGroups","inlineAnnotations","_ref$annotationStack","LineBlock","Line","line","_ref2$annotationStack","lineAnnotations","toLineContent","AnnotatedLine","buildLineStack","Block","Pre","forwardRef","_ref2$handlers","transform","flatMap","annotationNames","Set","hs","h","onlyIfAnnotated","has","noRefStack","Boolean","refStack","_ref5","PreWithRef","unshift","buildPreStack","PreContent","tokenStack","col","shift","_token$split","split","_token$split2","tail","start","_token","_token$","_b","_c","replace","toLines","blockAnnotations","toLineGroups","Loader","_ref$size","size","createElement","part","CodeThemeProvider","createContext","highlighted","useCodeTheme","use","CodeTheme","_useState","useState","initializeHighlighted","codeblocks","_useState2","setHighlighted","_useState3","_useState4","clientSideFetch","setClientSideFetch","codeblock","assign","meta","title","useEffect","some","every","fetchHighlight","defaultTheme","newHighlighted","clientSideHighlight","withTheme","Promise","all","CodeHost","CodeLoader","cn","CodeSampleAnalyticsContext","current","setActiveTab","setActiveExample","useCodeSampleAnalytics","useContext","CodeSampleAnalytics","activeTab","activeExample","tabs","useTabsAnalytics","UXNode","tab","example","CodeSampleAnalyticsHooks","ux","useUXEvents","tabsElement","tabsRef","addEventListener","EVENT_COMPONENT_TAB_CHANGE","handleTabChange","removeEventListener","event","detail","docs","example_change","codeSampleAnalytics","useUXScrollDepth","onDepthReached","depth","scroll_100","scroll_depth","useCodeSampleScroll","Code","Suspense","fallback","_DefaultDescriptionIcon","xmlns","viewBox","strokeWidth","stroke","fill","width","strokeLinecap","strokeLinejoin","d","LineNumber","Mark","diff","_d","String","MarkInline","Bg","lastToken","pop","fixLastToken","description","descriptionHead","descriptionContent","descriptionIcon","Icon","Text","weight","mark","bg","lineNumbers","__rest","CodeCopy","text","copied","setCopied","onClick","navigator","clipboard","writeText","setTimeout","CheckCheck","Copy","withCodeTabs","PreComponent","isSingle","defaultValue","TabsPrimitive","Root","_e","onValueChange","tab_change","$LanguageTabSwitcher","_f","Content","List","Trigger","asChild","CoderContext","scroll","CoderProvider","Provider","CodeContext","CodeSample","$ThemedCodeSample","coder","kind","$CodeSampleTabs","controlByMeta","_React$useContext"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]}
|