@brillout/docpress 0.1.20 → 0.2.1
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/bin.js +1 -1
- package/{src/css/Inter-Var.ttf → dist/Inter-Var-IOAEQULN.ttf} +0 -0
- package/{src/components/Sponsors/companyLogos/ccoli.svg → dist/ccoli-CHW3TQKS.svg} +0 -0
- package/{src/icons/changelog.svg → dist/changelog-IPI5F42D.svg} +0 -0
- package/{src/navigation/navigation-fullscreen/chevron.svg → dist/chevron-K3WPYLOP.svg} +0 -0
- package/{src/components/features/chevron.svg → dist/chevron-R2IYJD62.svg} +0 -0
- package/dist/chunk-7HKDCMSZ.js +154 -0
- package/dist/chunk-7HKDCMSZ.js.map +1 -0
- package/dist/chunk-C3OIVLKV.js +75 -0
- package/dist/chunk-C3OIVLKV.js.map +1 -0
- package/dist/chunk-G2A5MZJA.js +48 -0
- package/dist/chunk-G2A5MZJA.js.map +1 -0
- package/dist/chunk-H5CO4N2X.js +174 -0
- package/dist/chunk-H5CO4N2X.js.map +1 -0
- package/dist/chunk-TTLAZ2T2.js +8 -0
- package/dist/chunk-TTLAZ2T2.js.map +1 -0
- package/dist/{chunk-ZYYJWJMY.js → chunk-XUTBTIEE.js} +15 -42
- package/dist/chunk-XUTBTIEE.js.map +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +35 -0
- package/dist/cli/index.js.map +1 -0
- package/{src/navigation/navigation-fullscreen/close.svg → dist/close-IQXTDOHV.svg} +0 -0
- package/{src/utils/Emoji/compass.svg → dist/compass-2RWQU3E4.svg} +0 -0
- package/{src → dist}/components/features/FeatureList.css +2 -7
- package/dist/components/features/FeatureList.css.map +1 -0
- package/dist/components/features/FeatureList.d.ts +13 -0
- package/dist/components/features/FeatureList.js +8 -0
- package/dist/components/features/FeatureList.js.map +1 -0
- package/dist/components/features/initFeatureList.d.ts +3 -0
- package/dist/components/features/initFeatureList.js +60 -0
- package/dist/components/features/initFeatureList.js.map +1 -0
- package/{src/components/Sponsors/companyLogos/contra.svg → dist/contra-WLZBOPBV.svg} +0 -0
- package/dist/{devServer-J2XJQJGT.js → devServer-534L4U45.js} +5 -2
- package/dist/{devServer-J2XJQJGT.js.map → devServer-534L4U45.js.map} +1 -1
- package/{src/icons/discord.svg → dist/discord-JD33TUSF.svg} +0 -0
- package/{src/utils/Emoji/engine.png → dist/engine-6Q6VSCVA.png} +0 -0
- package/{src/icons/github.svg → dist/github-P5ZSKN2N.svg} +0 -0
- package/{src/icons/heart.svg → dist/heart-OINVKOXO.svg} +0 -0
- package/dist/index.css +121 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +136 -0
- package/dist/index.js +459 -26
- package/dist/index.js.map +1 -1
- package/{src/components/Sponsors/label.svg → dist/label-MP75CTIA.svg} +0 -0
- package/{src/utils/Emoji/mechanical-arm.svg → dist/mechanical-arm-TR7IQQMG.svg} +0 -0
- package/{src/components/Sponsors/medalBronze.svg → dist/medalBronze-CO4CTUR4.svg} +0 -0
- package/{src/components/Sponsors/medalGold.svg → dist/medalGold-UP6A73FL.svg} +0 -0
- package/{src/components/Sponsors/medalSilver.svg → dist/medalSilver-FAPGGOBN.svg} +0 -0
- package/{src/components/Sponsors/companyLogos/mfqs.svg → dist/mfqs-2EAEE7N6.svg} +0 -0
- package/dist/renderer/_default.page.client.css +264 -0
- package/dist/renderer/_default.page.client.css.map +1 -0
- package/dist/renderer/_default.page.client.d.ts +1 -0
- package/dist/renderer/_default.page.client.js +180 -0
- package/dist/renderer/_default.page.client.js.map +1 -0
- package/dist/renderer/_default.page.server.css +312 -0
- package/dist/renderer/_default.page.server.css.map +1 -0
- package/dist/renderer/_default.page.server.d.ts +22 -0
- package/dist/renderer/_default.page.server.js +591 -0
- package/dist/renderer/_default.page.server.js.map +1 -0
- package/{src/utils/Emoji/road-fork.svg → dist/road-fork-3WZLW3HB.svg} +0 -0
- package/{src/utils/Emoji/shield.svg → dist/shield-CU45RG5C.svg} +0 -0
- package/{src/icons/twitter.svg → dist/twitter-I7DXDN3J.svg} +0 -0
- package/{src/utils/Emoji/typescript.svg → dist/typescript-ALIPKLRM.svg} +0 -0
- package/package.json +12 -9
- package/dist/chunk-ZYYJWJMY.js.map +0 -1
- package/src/MobileHeader.tsx +0 -68
- package/src/PageLayout.css +0 -41
- package/src/PageLayout.tsx +0 -37
- package/src/algolia/DocSearch.css +0 -29
- package/src/algolia/DocSearch.ts +0 -37
- package/src/autoScrollNav.ts +0 -22
- package/src/cli/devServer.ts +0 -31
- package/src/cli/index.ts +0 -29
- package/src/components/CodeBlock.tsx +0 -22
- package/src/components/DocLink.tsx +0 -108
- package/src/components/EditPageNote.tsx +0 -18
- package/src/components/HorizontalLine.tsx +0 -20
- package/src/components/ImportMeta.tsx +0 -11
- package/src/components/Info.tsx +0 -12
- package/src/components/Link.tsx +0 -18
- package/src/components/Note.tsx +0 -31
- package/src/components/P.css +0 -8
- package/src/components/P.tsx +0 -8
- package/src/components/ReadingRecommendation.tsx +0 -53
- package/src/components/RepoLink.tsx +0 -24
- package/src/components/Sponsors/companyLogos/ccoli-logo.svg +0 -1
- package/src/components/Sponsors/companyLogos/ccoli-text.svg +0 -1
- package/src/components/Sponsors/label.draft.svg +0 -108
- package/src/components/Sponsors.tsx +0 -242
- package/src/components/features/FeatureList.tsx +0 -114
- package/src/components/features/initFeatureList.ts +0 -66
- package/src/components/index.ts +0 -13
- package/src/config/Config.ts +0 -30
- package/src/config/getConfig.ts +0 -18
- package/src/config/resolveConfig/resolveHeading.ts +0 -0
- package/src/config/resolvePageContext.ts +0 -157
- package/src/css/button.css +0 -7
- package/src/css/code/block.css +0 -36
- package/src/css/code/inline.css +0 -27
- package/src/css/code.css +0 -20
- package/src/css/colorize-on-hover.css +0 -29
- package/src/css/font.css +0 -19
- package/src/css/heading.css +0 -25
- package/src/css/index.css +0 -11
- package/src/css/link.css +0 -17
- package/src/css/note.css +0 -26
- package/src/css/reset.css +0 -12
- package/src/css/table.css +0 -14
- package/src/css/tooltip.css +0 -11
- package/src/headings.ts +0 -200
- package/src/index.ts +0 -3
- package/src/installSectionUrlHashs.ts +0 -50
- package/src/markdownHeadingsVitePlugin.ts +0 -128
- package/src/navigation/Navigation-highlight.css +0 -41
- package/src/navigation/Navigation-items.css +0 -122
- package/src/navigation/Navigation-layout.css +0 -118
- package/src/navigation/Navigation.client.old.ts +0 -303
- package/src/navigation/Navigation.client.ts +0 -19
- package/src/navigation/Navigation.css +0 -12
- package/src/navigation/Navigation.tsx +0 -228
- package/src/navigation/NavigationHeader.tsx +0 -97
- package/src/navigation/navigation-fullscreen/NavigationFullscreenButton.css +0 -32
- package/src/navigation/navigation-fullscreen/NavigationFullscreenButton.tsx +0 -44
- package/src/navigation/navigation-fullscreen/initNavigationFullscreen.ts +0 -115
- package/src/parseEmojis.ts +0 -33
- package/src/renderer/_default.page.client.ts +0 -4
- package/src/renderer/_default.page.server.tsx +0 -69
- package/src/renderer/usePageContext.tsx +0 -25
- package/src/types.ts +0 -2
- package/src/utils/Emoji/Emoji.ts +0 -216
- package/src/utils/Emoji/assets.ts +0 -9
- package/src/utils/Emoji/index.ts +0 -1
- package/src/utils/Emoji/mountain.svg +0 -1
- package/src/utils/assert.ts +0 -39
- package/src/utils/client.ts +0 -2
- package/src/utils/crawlAllFiles.ts +0 -17
- package/src/utils/determineSectionUrlHash.ts +0 -35
- package/src/utils/filesystemPathHandling.ts +0 -42
- package/src/utils/filter.ts +0 -12
- package/src/utils/isBrowser.ts +0 -5
- package/src/utils/jsxToTextContent.ts +0 -11
- package/src/utils/objectAssign.ts +0 -9
- package/src/utils/server.ts +0 -8
- package/src/vite.config.ts +0 -44
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/vite.config.ts","../src/markdownHeadingsVitePlugin.ts"],"sourcesContent":["import mdx from '@mdx-js/rollup'\nimport react from '@vitejs/plugin-react-swc'\nimport ssr from 'vite-plugin-ssr/plugin'\nimport { UserConfig } from 'vite'\nimport { markdownHeadingsVitePlugin } from './markdownHeadingsVitePlugin'\nimport rehypePrettyCode from 'rehype-pretty-code'\nimport remarkGfm from 'remark-gfm'\n\nconst root = process.cwd()\nconst prettyCode = [rehypePrettyCode, { theme: 'github-light' }]\nconst rehypePlugins: any = [prettyCode]\nconst remarkPlugins = [remarkGfm]\n\nconst config: UserConfig = {\n root,\n plugins: [\n react(),\n markdownHeadingsVitePlugin(),\n mdx({ rehypePlugins, remarkPlugins }),\n ssr({\n prerender: {\n noExtraDir: true\n },\n // @ts-ignore until new version is released TODO\n extensions: [{\n npmPackageName: '@brillout/docpress',\n pageFilesDist: [\n '@brillout/docpress/renderer/_default.page.server.js',\n '@brillout/docpress/renderer/_default.page.client.js'\n ],\n assetsDir: '/dist/'\n }],\n includeAssetsImportedByServer: true,\n disableAutoFullBuild: true\n })\n ],\n // TODO: remove `react`?\n optimizeDeps: { include: ['@mdx-js/react', 'react', 'react-dom'] },\n // @ts-ignore\n ssr: {\n noExternal: ['@brillout/docpress']\n },\n clearScreen: false\n}\n\nexport default config\n","import { assert, determineSectionUrlHash } from '../src/utils/server'\n\nexport { markdownHeadingsVitePlugin }\nexport type { MarkdownHeading }\n\ntype MarkdownHeading = {\n title: string\n id: string\n headingLevel: number\n titleAddendum?: string\n}\n\nfunction markdownHeadingsVitePlugin() {\n return {\n name: 'mdx-headings',\n enforce: 'pre',\n transform: async (code: string, id: string) => {\n if (!id.includes('.page.') || !id.endsWith('.mdx')) {\n return\n }\n const codeNew = transform(code)\n return codeNew\n }\n }\n}\n\nfunction transform(code: string) {\n const headings: MarkdownHeading[] = []\n let isCodeBlock = false\n let codeNew = code\n .split('\\n')\n .map((line) => {\n // Skip code blocks, e.g.\n // ~~~md\n // # Markdown Example\n // Bla\n // ~~~\n if (line.startsWith('~~~') || line.startsWith('```')) {\n isCodeBlock = !isCodeBlock\n return line\n }\n if (isCodeBlock) {\n return line\n }\n\n if (line.startsWith('#')) {\n const { id, headingLevel, title, headingHtml } = parseMarkdownHeading(line)\n headings.push({ id, headingLevel, title })\n return headingHtml\n }\n if (line.startsWith('<h')) {\n assert(false, { line })\n }\n\n return line\n })\n .join('\\n')\n const headingsExportCode = `export const headings = [${headings\n .map((heading) => JSON.stringify(heading))\n .join(', ')}];`\n codeNew += `\\n\\n${headingsExportCode}\\n`\n return codeNew\n}\n\nfunction parseMarkdownHeading(line: string): MarkdownHeading & { headingHtml: string } {\n const [lineBegin, ...lineWords] = line.split(' ')\n assert(lineBegin.split('#').join('') === '', { line, lineWords })\n const headingLevel = lineBegin.length\n\n const titleMdx = lineWords.join(' ')\n assert(!titleMdx.startsWith(' '), { line, lineWords })\n assert(titleMdx, { line, lineWords })\n\n const id = determineSectionUrlHash(titleMdx)\n const title = titleMdx\n\n const headingHtml = `<h${headingLevel} id=\"${id}\">${parseTitle(title)}</h${headingLevel}>`\n\n const heading = { headingLevel, title, id, headingHtml }\n return heading\n}\n\nfunction parseTitle(titleMarkdown: string): string {\n type Part = { nodeType: 'text' | 'code'; content: string }\n const parts: Part[] = []\n let current: Part | undefined\n titleMarkdown.split('').forEach((letter) => {\n if (letter === '`') {\n if (current?.nodeType === 'code') {\n // </code>\n parts.push(current)\n current = undefined\n } else {\n // <code>\n if (current) {\n parts.push(current)\n }\n current = { nodeType: 'code', content: '' }\n }\n } else {\n if (!current) {\n current = { nodeType: 'text', content: '' }\n }\n current.content += letter\n }\n })\n if (current) {\n parts.push(current)\n }\n\n const titleHtml = parts\n .map((part) => {\n if (part.nodeType === 'code') {\n return `<code>${serializeText(part.content)}</code>`\n } else {\n assert(part.nodeType === 'text', { parts })\n return serializeText(part.content)\n }\n })\n .join('')\n\n return titleHtml\n\n function serializeText(text: string) {\n const textEscaped = text.split(\"'\").join(\"\\\\'\")\n return `{'${textEscaped}'}`\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
vite_config_default
|
|
3
|
+
} from "../chunk-XUTBTIEE.js";
|
|
4
|
+
import "../chunk-7HKDCMSZ.js";
|
|
5
|
+
import "../chunk-G2A5MZJA.js";
|
|
6
|
+
import "../chunk-TTLAZ2T2.js";
|
|
7
|
+
|
|
8
|
+
// src/cli/index.ts
|
|
9
|
+
import { build, preview } from "vite";
|
|
10
|
+
import { prerender } from "vite-plugin-ssr/prerender";
|
|
11
|
+
var args = process.argv.filter(Boolean).slice(2);
|
|
12
|
+
var isDev = args.includes("dev");
|
|
13
|
+
var isPreview = args.includes("preview");
|
|
14
|
+
var isBuild = args.includes("build");
|
|
15
|
+
Error.stackTraceLimit = Infinity;
|
|
16
|
+
cli();
|
|
17
|
+
async function cli() {
|
|
18
|
+
if (isDev) {
|
|
19
|
+
await import("../devServer-534L4U45.js");
|
|
20
|
+
} else if (isBuild) {
|
|
21
|
+
await build(vite_config_default);
|
|
22
|
+
await build({ ...vite_config_default, build: { ssr: true } });
|
|
23
|
+
await prerender({ viteConfig: vite_config_default });
|
|
24
|
+
} else if (isPreview) {
|
|
25
|
+
const server = await preview({ ...vite_config_default, preview: { host: true } });
|
|
26
|
+
server.printUrls();
|
|
27
|
+
} else {
|
|
28
|
+
throw new Error(
|
|
29
|
+
`DocPress: unknown command \`$ docpress ${args.join(
|
|
30
|
+
" "
|
|
31
|
+
)}\`. Known commands: \`$ docpress dev\` and \`$ docpress preview\`.`
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/cli/index.ts"],"sourcesContent":["import { build, preview } from 'vite'\nimport config from '../vite.config'\nimport { prerender } from 'vite-plugin-ssr/prerender'\nconst args = process.argv.filter(Boolean).slice(2)\nconst isDev = args.includes('dev')\nconst isPreview = args.includes('preview')\nconst isBuild = args.includes('build')\nError.stackTraceLimit = Infinity\n\ncli()\n\nasync function cli() {\n if (isDev) {\n await import('./devServer')\n } else if (isBuild) {\n await build(config)\n await build({ ...config, build: { ssr: true } })\n await prerender({ viteConfig: (config as any) })\n } else if (isPreview) {\n const server = await preview({ ...config, preview: { host: true } })\n server.printUrls()\n } else {\n throw new Error(\n `DocPress: unknown command \\`$ docpress ${args.join(\n ' '\n )}\\`. Known commands: \\`$ docpress dev\\` and \\`$ docpress preview\\`.`\n )\n }\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,OAAO,eAAe;AAE/B,SAAS,iBAAiB;AAC1B,IAAM,OAAO,QAAQ,KAAK,OAAO,OAAO,EAAE,MAAM,CAAC;AACjD,IAAM,QAAQ,KAAK,SAAS,KAAK;AACjC,IAAM,YAAY,KAAK,SAAS,SAAS;AACzC,IAAM,UAAU,KAAK,SAAS,OAAO;AACrC,MAAM,kBAAkB;AAExB,IAAI;AAEJ,eAAe,MAAM;AACnB,MAAI,OAAO;AACT,UAAM,OAAO;AAAA,EACf,WAAW,SAAS;AAClB,UAAM,MAAM,mBAAM;AAClB,UAAM,MAAM,EAAE,GAAG,qBAAQ,OAAO,EAAE,KAAK,KAAK,EAAE,CAAC;AAC/C,UAAM,UAAU,EAAE,YAAa,oBAAe,CAAC;AAAA,EACjD,WAAW,WAAW;AACpB,UAAM,SAAS,MAAM,QAAQ,EAAE,GAAG,qBAAQ,SAAS,EAAE,MAAM,KAAK,EAAE,CAAC;AACnE,WAAO,UAAU;AAAA,EACnB,OAAO;AACL,UAAM,IAAI;AAAA,MACR,0CAA0C,KAAK;AAAA,QAC7C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
File without changes
|
|
File without changes
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* src/components/features/FeatureList.css */
|
|
1
2
|
@media screen and (min-width: 840px) {
|
|
2
3
|
.features-row {
|
|
3
4
|
display: grid;
|
|
@@ -16,7 +17,6 @@
|
|
|
16
17
|
grid-column: 1 / 3;
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
|
-
|
|
20
20
|
@media screen and (min-width: 840px) {
|
|
21
21
|
.features-row.single-column .feature {
|
|
22
22
|
grid-column: 1 / span 2 !important;
|
|
@@ -25,13 +25,11 @@
|
|
|
25
25
|
margin: auto !important;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
|
|
29
28
|
#features {
|
|
30
29
|
margin: auto;
|
|
31
30
|
margin-top: 0;
|
|
32
31
|
max-width: 1080px;
|
|
33
32
|
}
|
|
34
|
-
|
|
35
33
|
#features summary p {
|
|
36
34
|
margin: 10px 0;
|
|
37
35
|
}
|
|
@@ -46,7 +44,6 @@
|
|
|
46
44
|
.learn-more h3:first-of-type {
|
|
47
45
|
margin-top: 15px;
|
|
48
46
|
}
|
|
49
|
-
|
|
50
47
|
.learn-more {
|
|
51
48
|
border: var(--border-width) solid var(--border-color);
|
|
52
49
|
padding: 10px 8px;
|
|
@@ -98,8 +95,6 @@ aside.learn-more.right-side {
|
|
|
98
95
|
border-bottom: 0 !important;
|
|
99
96
|
z-index: 1;
|
|
100
97
|
}
|
|
101
|
-
|
|
102
|
-
/* Hide top border of .learn-more */
|
|
103
98
|
.learn-more {
|
|
104
99
|
position: relative;
|
|
105
100
|
top: calc(-1 * var(--border-width));
|
|
@@ -108,10 +103,10 @@ aside.learn-more.right-side {
|
|
|
108
103
|
position: relative;
|
|
109
104
|
z-index: 1;
|
|
110
105
|
}
|
|
111
|
-
|
|
112
106
|
.feature .chevron {
|
|
113
107
|
transition: filter 0.3s ease-in-out, transform 0.3s ease-in-out !important;
|
|
114
108
|
}
|
|
115
109
|
.feature.selected .chevron {
|
|
116
110
|
transform: rotate(180deg);
|
|
117
111
|
}
|
|
112
|
+
/*# sourceMappingURL=FeatureList.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/features/FeatureList.css"],"sourcesContent":["@media screen and (min-width: 840px) {\n .features-row {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n }\n .features-row summary:nth-of-type(1) {\n grid-row: 1;\n grid-column: 1 / 2;\n }\n .features-row summary:nth-of-type(2) {\n grid-row: 1;\n grid-column: 2 / 3;\n }\n .features-row aside {\n grid-row: 2;\n grid-column: 1 / 3;\n }\n}\n\n@media screen and (min-width: 840px) {\n .features-row.single-column .feature {\n grid-column: 1 / span 2 !important;\n width: 100% !important;\n max-width: calc(1010px / 2) !important;\n margin: auto !important;\n }\n}\n\n#features {\n margin: auto;\n margin-top: 0;\n max-width: 1080px;\n}\n\n#features summary p {\n margin: 10px 0;\n}\n#features h2 {\n margin-bottom: 0.7em;\n margin-top: 0.5em;\n}\n#features .secondary-feature h2 {\n font-size: 1.1em;\n margin-bottom: 0.7em;\n}\n.learn-more h3:first-of-type {\n margin-top: 15px;\n}\n\n.learn-more {\n border: var(--border-width) solid var(--border-color);\n padding: 10px 8px;\n}\n@media screen and (min-width: 840px) {\n .learn-more {\n max-width: 886px;\n border-radius: var(--border-radius);\n }\n}\naside.learn-more:not(.right-side) {\n border-top-left-radius: 0;\n}\naside.learn-more.right-side {\n border-top-right-radius: 0;\n justify-self: end;\n width: 100%;\n}\n@media screen and (max-width: 340px) {\n .learn-more {\n padding-right: 5px;\n padding-left: 5px;\n }\n}\n.learn-more {\n display: none;\n}\n.learn-more.selected {\n display: block;\n}\n#features {\n --border-radius: 20px;\n --border-width: 10px;\n --border-color: #f6f6f6;\n}\n.feature {\n padding: 8px;\n border-width: var(--border-width);\n border-style: solid;\n border-color: transparent;\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: var(--border-radius);\n}\n.selected {\n border-color: var(--border-color);\n background-color: #fcfcfc;\n}\n.feature.selected {\n border-bottom: 0 !important;\n z-index: 1;\n}\n\n/* Hide top border of .learn-more */\n.learn-more {\n position: relative;\n top: calc(-1 * var(--border-width));\n}\n.feature {\n position: relative;\n z-index: 1;\n}\n\n.feature .chevron {\n transition: filter 0.3s ease-in-out, transform 0.3s ease-in-out !important;\n}\n.feature.selected .chevron {\n transform: rotate(180deg);\n}\n"],"mappings":";AAAA;AACE;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAAA;AAIJ;AACE;AACE;AACA;AACA;AACA;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAEF;AACE;AACE;AACA;AAAA;AAAA;AAGJ;AACE;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAEF;AACE;AACE;AACA;AAAA;AAAA;AAGJ;AACE;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAIF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
type FeatureProps = {
|
|
4
|
+
title: React.ReactNode;
|
|
5
|
+
desc: React.ReactNode;
|
|
6
|
+
learnMore?: React.ReactNode;
|
|
7
|
+
isSecondaryFeature?: true;
|
|
8
|
+
};
|
|
9
|
+
declare function FeatureList({ features }: {
|
|
10
|
+
features: FeatureProps[];
|
|
11
|
+
}): JSX.Element;
|
|
12
|
+
|
|
13
|
+
export { FeatureList };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import {
|
|
2
|
+
assert
|
|
3
|
+
} from "../../chunk-G2A5MZJA.js";
|
|
4
|
+
import "../../chunk-TTLAZ2T2.js";
|
|
5
|
+
|
|
6
|
+
// src/components/features/initFeatureList.ts
|
|
7
|
+
addTwitterWidgets();
|
|
8
|
+
addFeatureClickHandlers();
|
|
9
|
+
window.__docpress_hydrationFinished = true;
|
|
10
|
+
function addTwitterWidgets() {
|
|
11
|
+
loadScript("https://platform.twitter.com/widgets.js");
|
|
12
|
+
}
|
|
13
|
+
function addFeatureClickHandlers() {
|
|
14
|
+
const featureEls = Array.from(
|
|
15
|
+
document.getElementById("features").querySelectorAll(".feature.has-learn-more")
|
|
16
|
+
);
|
|
17
|
+
featureEls.forEach((featureEl) => {
|
|
18
|
+
featureEl.onclick = () => {
|
|
19
|
+
expandLearnMore(featureEl);
|
|
20
|
+
};
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function expandLearnMore(featureEl) {
|
|
24
|
+
const featureId = featureEl.id;
|
|
25
|
+
assert(featureId.startsWith("feature-"), { featureId });
|
|
26
|
+
const featureName = featureId.slice("feature-".length);
|
|
27
|
+
const selectedClass = "selected";
|
|
28
|
+
const learnId = "learn-more-" + featureName;
|
|
29
|
+
const learnEl = document.getElementById(learnId);
|
|
30
|
+
assert(learnEl, { learnId });
|
|
31
|
+
const isExpanded = featureEl.classList.contains(selectedClass);
|
|
32
|
+
if (!isExpanded) {
|
|
33
|
+
const rowEl = featureEl.parentNode;
|
|
34
|
+
if (getComputedStyle(rowEl, "display") === "grid") {
|
|
35
|
+
;
|
|
36
|
+
[
|
|
37
|
+
...rowEl.querySelectorAll(".learn-more"),
|
|
38
|
+
...rowEl.querySelectorAll(".feature")
|
|
39
|
+
].forEach((el) => {
|
|
40
|
+
el.classList.remove(selectedClass);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
;
|
|
45
|
+
[featureEl, learnEl].forEach((el) => {
|
|
46
|
+
el.classList.toggle(selectedClass);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function loadScript(scriptUrl) {
|
|
50
|
+
assert(scriptUrl.startsWith("https://"));
|
|
51
|
+
const scriptEl = document.createElement("script");
|
|
52
|
+
scriptEl.src = scriptUrl;
|
|
53
|
+
scriptEl.async = true;
|
|
54
|
+
scriptEl.setAttribute("charset", "utf-8");
|
|
55
|
+
document.getElementsByTagName("head")[0].appendChild(scriptEl);
|
|
56
|
+
}
|
|
57
|
+
function getComputedStyle(el, styleProp) {
|
|
58
|
+
return window.document.defaultView.getComputedStyle(el).getPropertyValue(styleProp);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=initFeatureList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/features/initFeatureList.ts"],"sourcesContent":["import { assert } from '../../utils/client'\n\naddTwitterWidgets()\naddFeatureClickHandlers()\nwindow.__docpress_hydrationFinished = true\n\nfunction addTwitterWidgets() {\n loadScript('https://platform.twitter.com/widgets.js')\n}\n\nfunction addFeatureClickHandlers() {\n const featureEls: HTMLElement[] = Array.from(\n document.getElementById('features')!.querySelectorAll('.feature.has-learn-more')\n )\n featureEls.forEach((featureEl) => {\n featureEl.onclick = () => {\n expandLearnMore(featureEl)\n }\n })\n}\n\nfunction expandLearnMore(featureEl: HTMLElement) {\n const featureId = featureEl.id\n assert(featureId.startsWith('feature-'), { featureId })\n const featureName = featureId.slice('feature-'.length)\n\n const selectedClass = 'selected'\n const learnId = 'learn-more-' + featureName\n const learnEl = document.getElementById(learnId)\n assert(learnEl, { learnId })\n\n const isExpanded = featureEl.classList.contains(selectedClass)\n\n if (!isExpanded) {\n const rowEl = featureEl.parentNode as HTMLElement\n if (getComputedStyle(rowEl, 'display') === 'grid') {\n ;[\n ...(rowEl.querySelectorAll('.learn-more') as any as HTMLElement[]),\n ...(rowEl.querySelectorAll('.feature') as any as HTMLElement[])\n ].forEach((el) => {\n el.classList.remove(selectedClass)\n })\n }\n }\n\n ;[featureEl, learnEl].forEach((el) => {\n el.classList.toggle(selectedClass)\n })\n}\n\nfunction loadScript(scriptUrl: string): void {\n assert(scriptUrl.startsWith('https://'))\n const scriptEl = document.createElement('script')\n scriptEl.src = scriptUrl\n scriptEl.async = true\n scriptEl.setAttribute('charset', 'utf-8')\n document.getElementsByTagName('head')[0].appendChild(scriptEl)\n}\n\nfunction getComputedStyle(el: HTMLElement, styleProp: string) {\n return window.document.defaultView!.getComputedStyle(el).getPropertyValue(styleProp)\n}\n\ndeclare global {\n var __docpress_hydrationFinished: undefined | true\n}\n"],"mappings":";;;;;;AAEA,kBAAkB;AAClB,wBAAwB;AACxB,OAAO,+BAA+B;AAEtC,SAAS,oBAAoB;AAC3B,aAAW,yCAAyC;AACtD;AAEA,SAAS,0BAA0B;AACjC,QAAM,aAA4B,MAAM;AAAA,IACtC,SAAS,eAAe,UAAU,EAAG,iBAAiB,yBAAyB;AAAA,EACjF;AACA,aAAW,QAAQ,CAAC,cAAc;AAChC,cAAU,UAAU,MAAM;AACxB,sBAAgB,SAAS;AAAA,IAC3B;AAAA,EACF,CAAC;AACH;AAEA,SAAS,gBAAgB,WAAwB;AAC/C,QAAM,YAAY,UAAU;AAC5B,SAAO,UAAU,WAAW,UAAU,GAAG,EAAE,UAAU,CAAC;AACtD,QAAM,cAAc,UAAU,MAAM,WAAW,MAAM;AAErD,QAAM,gBAAgB;AACtB,QAAM,UAAU,gBAAgB;AAChC,QAAM,UAAU,SAAS,eAAe,OAAO;AAC/C,SAAO,SAAS,EAAE,QAAQ,CAAC;AAE3B,QAAM,aAAa,UAAU,UAAU,SAAS,aAAa;AAE7D,MAAI,CAAC,YAAY;AACf,UAAM,QAAQ,UAAU;AACxB,QAAI,iBAAiB,OAAO,SAAS,MAAM,QAAQ;AACjD;AAAC;AAAA,QACC,GAAI,MAAM,iBAAiB,aAAa;AAAA,QACxC,GAAI,MAAM,iBAAiB,UAAU;AAAA,MACvC,EAAE,QAAQ,CAAC,OAAO;AAChB,WAAG,UAAU,OAAO,aAAa;AAAA,MACnC,CAAC;AAAA,IACH;AAAA,EACF;AAEA;AAAC,GAAC,WAAW,OAAO,EAAE,QAAQ,CAAC,OAAO;AACpC,OAAG,UAAU,OAAO,aAAa;AAAA,EACnC,CAAC;AACH;AAEA,SAAS,WAAW,WAAyB;AAC3C,SAAO,UAAU,WAAW,UAAU,CAAC;AACvC,QAAM,WAAW,SAAS,cAAc,QAAQ;AAChD,WAAS,MAAM;AACf,WAAS,QAAQ;AACjB,WAAS,aAAa,WAAW,OAAO;AACxC,WAAS,qBAAqB,MAAM,EAAE,GAAG,YAAY,QAAQ;AAC/D;AAEA,SAAS,iBAAiB,IAAiB,WAAmB;AAC5D,SAAO,OAAO,SAAS,YAAa,iBAAiB,EAAE,EAAE,iBAAiB,SAAS;AACrF;","names":[]}
|
|
File without changes
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
vite_config_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XUTBTIEE.js";
|
|
4
|
+
import "./chunk-7HKDCMSZ.js";
|
|
5
|
+
import "./chunk-G2A5MZJA.js";
|
|
6
|
+
import "./chunk-TTLAZ2T2.js";
|
|
4
7
|
|
|
5
8
|
// src/cli/devServer.ts
|
|
6
9
|
import express from "express";
|
|
@@ -29,4 +32,4 @@ async function startServer() {
|
|
|
29
32
|
app.listen(port);
|
|
30
33
|
console.log(`Server running at http://localhost:${port}`);
|
|
31
34
|
}
|
|
32
|
-
//# sourceMappingURL=devServer-
|
|
35
|
+
//# sourceMappingURL=devServer-534L4U45.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/devServer.ts"],"sourcesContent":["import express from 'express'\nimport * as vite from 'vite'\nimport { renderPage } from 'vite-plugin-ssr'\nimport config from '../vite.config'\nconst viteVersion = (vite as { version?: string }).version || '2.?.?'\n\nstartServer()\n\nasync function startServer() {\n const app = express()\n\n const viteDevServer = await vite.createServer({\n ...config,\n server: { middlewareMode: viteVersion.startsWith('2') ? 'ssr' : true }\n })\n app.use(viteDevServer.middlewares)\n\n app.get('*', async (req, res, next) => {\n const pageContextInit = {\n urlOriginal: req.originalUrl\n }\n const pageContext = await renderPage(pageContextInit)\n if (!pageContext.httpResponse) return next()\n const { body, statusCode, contentType } = pageContext.httpResponse\n res.status(statusCode).type(contentType).send(body)\n })\n\n const port = 3000\n app.listen(port)\n console.log(`Server running at http://localhost:${port}`)\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/cli/devServer.ts"],"sourcesContent":["import express from 'express'\nimport * as vite from 'vite'\nimport { renderPage } from 'vite-plugin-ssr'\nimport config from '../vite.config'\nconst viteVersion = (vite as { version?: string }).version || '2.?.?'\n\nstartServer()\n\nasync function startServer() {\n const app = express()\n\n const viteDevServer = await vite.createServer({\n ...config,\n server: { middlewareMode: viteVersion.startsWith('2') ? 'ssr' : true }\n })\n app.use(viteDevServer.middlewares)\n\n app.get('*', async (req, res, next) => {\n const pageContextInit = {\n urlOriginal: req.originalUrl\n }\n const pageContext = await renderPage(pageContextInit)\n if (!pageContext.httpResponse) return next()\n const { body, statusCode, contentType } = pageContext.httpResponse\n res.status(statusCode).type(contentType).send(body)\n })\n\n const port = 3000\n app.listen(port)\n console.log(`Server running at http://localhost:${port}`)\n}\n"],"mappings":";;;;;;;;AAAA,OAAO,aAAa;AACpB,YAAY,UAAU;AACtB,SAAS,kBAAkB;AAE3B,IAAM,cAA6C,gBAAW;AAE9D,YAAY;AAEZ,eAAe,cAAc;AAC3B,QAAM,MAAM,QAAQ;AAEpB,QAAM,gBAAgB,MAAW,kBAAa;AAAA,IAC5C,GAAG;AAAA,IACH,QAAQ,EAAE,gBAAgB,YAAY,WAAW,GAAG,IAAI,QAAQ,KAAK;AAAA,EACvE,CAAC;AACD,MAAI,IAAI,cAAc,WAAW;AAEjC,MAAI,IAAI,KAAK,OAAO,KAAK,KAAK,SAAS;AACrC,UAAM,kBAAkB;AAAA,MACtB,aAAa,IAAI;AAAA,IACnB;AACA,UAAM,cAAc,MAAM,WAAW,eAAe;AACpD,QAAI,CAAC,YAAY;AAAc,aAAO,KAAK;AAC3C,UAAM,EAAE,MAAM,YAAY,YAAY,IAAI,YAAY;AACtD,QAAI,OAAO,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,IAAI;AAAA,EACpD,CAAC;AAED,QAAM,OAAO;AACb,MAAI,OAAO,IAAI;AACf,UAAQ,IAAI,sCAAsC,MAAM;AAC1D;","names":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/index.css
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/* src/components/P.css */
|
|
2
|
+
div.paragraph {
|
|
3
|
+
display: block;
|
|
4
|
+
margin-block-start: 1em;
|
|
5
|
+
margin-block-end: 1em;
|
|
6
|
+
margin-inline-start: 0px;
|
|
7
|
+
margin-inline-end: 0px;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* src/components/features/FeatureList.css */
|
|
11
|
+
@media screen and (min-width: 840px) {
|
|
12
|
+
.features-row {
|
|
13
|
+
display: grid;
|
|
14
|
+
grid-template-columns: repeat(2, 1fr);
|
|
15
|
+
}
|
|
16
|
+
.features-row summary:nth-of-type(1) {
|
|
17
|
+
grid-row: 1;
|
|
18
|
+
grid-column: 1 / 2;
|
|
19
|
+
}
|
|
20
|
+
.features-row summary:nth-of-type(2) {
|
|
21
|
+
grid-row: 1;
|
|
22
|
+
grid-column: 2 / 3;
|
|
23
|
+
}
|
|
24
|
+
.features-row aside {
|
|
25
|
+
grid-row: 2;
|
|
26
|
+
grid-column: 1 / 3;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
@media screen and (min-width: 840px) {
|
|
30
|
+
.features-row.single-column .feature {
|
|
31
|
+
grid-column: 1 / span 2 !important;
|
|
32
|
+
width: 100% !important;
|
|
33
|
+
max-width: calc(1010px / 2) !important;
|
|
34
|
+
margin: auto !important;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
#features {
|
|
38
|
+
margin: auto;
|
|
39
|
+
margin-top: 0;
|
|
40
|
+
max-width: 1080px;
|
|
41
|
+
}
|
|
42
|
+
#features summary p {
|
|
43
|
+
margin: 10px 0;
|
|
44
|
+
}
|
|
45
|
+
#features h2 {
|
|
46
|
+
margin-bottom: 0.7em;
|
|
47
|
+
margin-top: 0.5em;
|
|
48
|
+
}
|
|
49
|
+
#features .secondary-feature h2 {
|
|
50
|
+
font-size: 1.1em;
|
|
51
|
+
margin-bottom: 0.7em;
|
|
52
|
+
}
|
|
53
|
+
.learn-more h3:first-of-type {
|
|
54
|
+
margin-top: 15px;
|
|
55
|
+
}
|
|
56
|
+
.learn-more {
|
|
57
|
+
border: var(--border-width) solid var(--border-color);
|
|
58
|
+
padding: 10px 8px;
|
|
59
|
+
}
|
|
60
|
+
@media screen and (min-width: 840px) {
|
|
61
|
+
.learn-more {
|
|
62
|
+
max-width: 886px;
|
|
63
|
+
border-radius: var(--border-radius);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
aside.learn-more:not(.right-side) {
|
|
67
|
+
border-top-left-radius: 0;
|
|
68
|
+
}
|
|
69
|
+
aside.learn-more.right-side {
|
|
70
|
+
border-top-right-radius: 0;
|
|
71
|
+
justify-self: end;
|
|
72
|
+
width: 100%;
|
|
73
|
+
}
|
|
74
|
+
@media screen and (max-width: 340px) {
|
|
75
|
+
.learn-more {
|
|
76
|
+
padding-right: 5px;
|
|
77
|
+
padding-left: 5px;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
.learn-more {
|
|
81
|
+
display: none;
|
|
82
|
+
}
|
|
83
|
+
.learn-more.selected {
|
|
84
|
+
display: block;
|
|
85
|
+
}
|
|
86
|
+
#features {
|
|
87
|
+
--border-radius: 20px;
|
|
88
|
+
--border-width: 10px;
|
|
89
|
+
--border-color: #f6f6f6;
|
|
90
|
+
}
|
|
91
|
+
.feature {
|
|
92
|
+
padding: 8px;
|
|
93
|
+
border-width: var(--border-width);
|
|
94
|
+
border-style: solid;
|
|
95
|
+
border-color: transparent;
|
|
96
|
+
border-top-left-radius: var(--border-radius);
|
|
97
|
+
border-top-right-radius: var(--border-radius);
|
|
98
|
+
}
|
|
99
|
+
.selected {
|
|
100
|
+
border-color: var(--border-color);
|
|
101
|
+
background-color: #fcfcfc;
|
|
102
|
+
}
|
|
103
|
+
.feature.selected {
|
|
104
|
+
border-bottom: 0 !important;
|
|
105
|
+
z-index: 1;
|
|
106
|
+
}
|
|
107
|
+
.learn-more {
|
|
108
|
+
position: relative;
|
|
109
|
+
top: calc(-1 * var(--border-width));
|
|
110
|
+
}
|
|
111
|
+
.feature {
|
|
112
|
+
position: relative;
|
|
113
|
+
z-index: 1;
|
|
114
|
+
}
|
|
115
|
+
.feature .chevron {
|
|
116
|
+
transition: filter 0.3s ease-in-out, transform 0.3s ease-in-out !important;
|
|
117
|
+
}
|
|
118
|
+
.feature.selected .chevron {
|
|
119
|
+
transform: rotate(180deg);
|
|
120
|
+
}
|
|
121
|
+
/*# sourceMappingURL=index.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/P.css","../src/components/features/FeatureList.css"],"sourcesContent":["/* Copied from Chrome's user agent stylesheet */\ndiv.paragraph {\n display: block;\n margin-block-start: 1em;\n margin-block-end: 1em;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n}\n","@media screen and (min-width: 840px) {\n .features-row {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n }\n .features-row summary:nth-of-type(1) {\n grid-row: 1;\n grid-column: 1 / 2;\n }\n .features-row summary:nth-of-type(2) {\n grid-row: 1;\n grid-column: 2 / 3;\n }\n .features-row aside {\n grid-row: 2;\n grid-column: 1 / 3;\n }\n}\n\n@media screen and (min-width: 840px) {\n .features-row.single-column .feature {\n grid-column: 1 / span 2 !important;\n width: 100% !important;\n max-width: calc(1010px / 2) !important;\n margin: auto !important;\n }\n}\n\n#features {\n margin: auto;\n margin-top: 0;\n max-width: 1080px;\n}\n\n#features summary p {\n margin: 10px 0;\n}\n#features h2 {\n margin-bottom: 0.7em;\n margin-top: 0.5em;\n}\n#features .secondary-feature h2 {\n font-size: 1.1em;\n margin-bottom: 0.7em;\n}\n.learn-more h3:first-of-type {\n margin-top: 15px;\n}\n\n.learn-more {\n border: var(--border-width) solid var(--border-color);\n padding: 10px 8px;\n}\n@media screen and (min-width: 840px) {\n .learn-more {\n max-width: 886px;\n border-radius: var(--border-radius);\n }\n}\naside.learn-more:not(.right-side) {\n border-top-left-radius: 0;\n}\naside.learn-more.right-side {\n border-top-right-radius: 0;\n justify-self: end;\n width: 100%;\n}\n@media screen and (max-width: 340px) {\n .learn-more {\n padding-right: 5px;\n padding-left: 5px;\n }\n}\n.learn-more {\n display: none;\n}\n.learn-more.selected {\n display: block;\n}\n#features {\n --border-radius: 20px;\n --border-width: 10px;\n --border-color: #f6f6f6;\n}\n.feature {\n padding: 8px;\n border-width: var(--border-width);\n border-style: solid;\n border-color: transparent;\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: var(--border-radius);\n}\n.selected {\n border-color: var(--border-color);\n background-color: #fcfcfc;\n}\n.feature.selected {\n border-bottom: 0 !important;\n z-index: 1;\n}\n\n/* Hide top border of .learn-more */\n.learn-more {\n position: relative;\n top: calc(-1 * var(--border-width));\n}\n.feature {\n position: relative;\n z-index: 1;\n}\n\n.feature .chevron {\n transition: filter 0.3s ease-in-out, transform 0.3s ease-in-out !important;\n}\n.feature.selected .chevron {\n transform: rotate(180deg);\n}\n"],"mappings":";AACA;AACE;AACA;AACA;AACA;AACA;AAAA;;;ACNF;AACE;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAAA;AAIJ;AACE;AACE;AACA;AACA;AACA;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAEF;AACE;AACE;AACA;AAAA;AAAA;AAGJ;AACE;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAEF;AACE;AACE;AACA;AAAA;AAAA;AAGJ;AACE;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAIF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;","names":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1 +1,137 @@
|
|
|
1
|
+
import React$1 from 'react';
|
|
2
|
+
export { FeatureList } from './components/features/FeatureList.js';
|
|
1
3
|
|
|
4
|
+
declare function assert(condition: unknown, debugInfo?: unknown): asserts condition;
|
|
5
|
+
declare function assertUsage(condition: unknown, msg: string): asserts condition;
|
|
6
|
+
|
|
7
|
+
declare function isBrowser(): boolean;
|
|
8
|
+
|
|
9
|
+
declare function filter<T extends object>(obj: T, predicate: <K extends keyof T>(value: T[K], key: K) => boolean): T;
|
|
10
|
+
|
|
11
|
+
declare function determineSectionUrlHash(title: string): string;
|
|
12
|
+
declare function determineSectionTitle(urlWithHash: string, titleNormalCase: boolean): string;
|
|
13
|
+
|
|
14
|
+
declare function jsxToTextContent(node: JSX.Element | string): string;
|
|
15
|
+
|
|
16
|
+
declare function objectAssign<Obj extends Object, ObjAddendum>(obj: Obj, objAddendum: ObjAddendum): asserts obj is Obj & ObjAddendum;
|
|
17
|
+
|
|
18
|
+
declare function crawlAllFiles(dir: string): Promise<string[]>;
|
|
19
|
+
|
|
20
|
+
type EmojiName = 'warning' | 'typescript' | 'shield' | 'mechanical-arm' | 'mountain' | 'rocket' | 'wrench' | 'compass' | 'seedling' | 'books' | 'plug' | 'earth' | 'gear' | 'red-heart' | 'high-voltage' | 'gem-stone' | 'dizzy' | 'sparkles' | 'writing-hang' | 'road-fork' | 'engine' | 'red-circle' | 'sparkling-heart' | 'gift' | 'package' | 'info' | 'lab' | 'trophy';
|
|
21
|
+
declare function Emoji({ name, style }: {
|
|
22
|
+
name: EmojiName;
|
|
23
|
+
style?: React$1.CSSProperties;
|
|
24
|
+
}): JSX.Element;
|
|
25
|
+
|
|
26
|
+
type HeadingWithoutLink = {
|
|
27
|
+
url: string;
|
|
28
|
+
title: string | JSX.Element;
|
|
29
|
+
};
|
|
30
|
+
type HeadingDefinition = HeadingBase & (({
|
|
31
|
+
level: 1;
|
|
32
|
+
titleEmoji: EmojiName;
|
|
33
|
+
} & HeadingAbstract) | ({
|
|
34
|
+
level: 4;
|
|
35
|
+
} & HeadingAbstract) | {
|
|
36
|
+
level: 2;
|
|
37
|
+
isListTitle?: true;
|
|
38
|
+
sectionTitles?: string[];
|
|
39
|
+
url: string;
|
|
40
|
+
} | {
|
|
41
|
+
level: 3;
|
|
42
|
+
url: string;
|
|
43
|
+
});
|
|
44
|
+
type HeadingBase = {
|
|
45
|
+
title: string;
|
|
46
|
+
level: number;
|
|
47
|
+
url?: string;
|
|
48
|
+
titleDocument?: string;
|
|
49
|
+
titleInNav?: string;
|
|
50
|
+
};
|
|
51
|
+
type HeadingAbstract = {
|
|
52
|
+
url?: undefined;
|
|
53
|
+
titleDocument?: undefined;
|
|
54
|
+
titleInNav?: undefined;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
type Config = {
|
|
58
|
+
projectInfo: {
|
|
59
|
+
githubRepository: string;
|
|
60
|
+
githubIssues: string;
|
|
61
|
+
projectName: string;
|
|
62
|
+
projectNameJsx?: JSX.Element;
|
|
63
|
+
projectVersion: string;
|
|
64
|
+
discordInvite: string;
|
|
65
|
+
twitterProfile: string;
|
|
66
|
+
};
|
|
67
|
+
faviconUrl: string;
|
|
68
|
+
algolia: null | {
|
|
69
|
+
appId: string;
|
|
70
|
+
apiKey: string;
|
|
71
|
+
indexName: string;
|
|
72
|
+
};
|
|
73
|
+
headings: HeadingDefinition[];
|
|
74
|
+
headingsWithoutLink: HeadingWithoutLink[];
|
|
75
|
+
navHeaderMobile: React.ReactNode;
|
|
76
|
+
navHeader: React.ReactNode;
|
|
77
|
+
titleNormalCase: boolean;
|
|
78
|
+
tagline: string;
|
|
79
|
+
websiteUrl: string;
|
|
80
|
+
bannerUrl?: string;
|
|
81
|
+
twitterHandle: string;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
declare function Link(props: {
|
|
85
|
+
href: string;
|
|
86
|
+
text?: string | JSX.Element;
|
|
87
|
+
noBreadcrumb?: true;
|
|
88
|
+
doNotInferSectionTitle?: true;
|
|
89
|
+
}): JSX.Element;
|
|
90
|
+
|
|
91
|
+
declare function DocLink({ href, text, noBreadcrumb, doNotInferSectionTitle }: {
|
|
92
|
+
href: string;
|
|
93
|
+
text?: string | JSX.Element;
|
|
94
|
+
noBreadcrumb?: true;
|
|
95
|
+
doNotInferSectionTitle?: true;
|
|
96
|
+
}): JSX.Element;
|
|
97
|
+
|
|
98
|
+
declare function isRepoLink(href: string): boolean;
|
|
99
|
+
declare function RepoLink({ path, text, editMode }: {
|
|
100
|
+
path: string;
|
|
101
|
+
text?: string | JSX.Element;
|
|
102
|
+
editMode?: true;
|
|
103
|
+
}): JSX.Element;
|
|
104
|
+
|
|
105
|
+
declare function P(props: React$1.HTMLProps<HTMLDivElement>): JSX.Element;
|
|
106
|
+
|
|
107
|
+
declare function Info({ children }: {
|
|
108
|
+
children: React$1.ReactNode;
|
|
109
|
+
}): JSX.Element;
|
|
110
|
+
|
|
111
|
+
declare function ReadingRecommendation({ tour, links }: {
|
|
112
|
+
tour?: true;
|
|
113
|
+
links: string[];
|
|
114
|
+
}): JSX.Element;
|
|
115
|
+
|
|
116
|
+
declare function Note({ type, icon, children }: {
|
|
117
|
+
icon: JSX.Element | string;
|
|
118
|
+
type?: 'error' | 'warning';
|
|
119
|
+
children: JSX.Element;
|
|
120
|
+
}): JSX.Element;
|
|
121
|
+
|
|
122
|
+
declare function ImportMeta({ prop }: {
|
|
123
|
+
prop: string;
|
|
124
|
+
}): JSX.Element;
|
|
125
|
+
|
|
126
|
+
declare function HorizontalLine({ primary }: {
|
|
127
|
+
primary?: true;
|
|
128
|
+
}): JSX.Element;
|
|
129
|
+
|
|
130
|
+
declare function Sponsors(): JSX.Element;
|
|
131
|
+
|
|
132
|
+
declare function CodeBlock({ children, lineBreak }: {
|
|
133
|
+
children: any;
|
|
134
|
+
lineBreak?: true;
|
|
135
|
+
}): JSX.Element;
|
|
136
|
+
|
|
137
|
+
export { CodeBlock, Config, DocLink, Emoji, EmojiName, HeadingDefinition, HeadingWithoutLink, HorizontalLine, ImportMeta, Info, Link, Note, P, ReadingRecommendation, RepoLink, Sponsors, assert, assertUsage, crawlAllFiles, determineSectionTitle, determineSectionUrlHash, filter, isBrowser, isRepoLink, jsxToTextContent, objectAssign };
|