@adminide-stack/yantra-help-browser 12.0.16-alpha.17 → 12.0.16-alpha.19
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/lib/compute.js +1 -1
- package/lib/compute.js.map +1 -1
- package/lib/pages/Markdown/MarkdownPageLayout.d.ts +3 -0
- package/lib/pages/Markdown/MarkdownPageLayout.d.ts.map +1 -0
- package/lib/pages/{ArticlePage/ArticlePageLayout.js → Markdown/MarkdownPageLayout.js} +2 -2
- package/lib/pages/Markdown/MarkdownPageLayout.js.map +1 -0
- package/lib/pages/Markdown/MarkdownPageWithParams.d.ts +9 -0
- package/lib/pages/Markdown/MarkdownPageWithParams.d.ts.map +1 -0
- package/lib/pages/Markdown/MarkdownPageWithParams.js +65 -0
- package/lib/pages/Markdown/MarkdownPageWithParams.js.map +1 -0
- package/lib/pages/Markdown/index.d.ts +3 -0
- package/lib/pages/Markdown/index.d.ts.map +1 -0
- package/lib/pages/Markdown/index.js +5 -0
- package/lib/pages/Markdown/index.js.map +1 -0
- package/lib/routes.json +1 -1
- package/package.json +3 -3
- package/lib/pages/ArticlePage/ArticlePage.d.ts +0 -3
- package/lib/pages/ArticlePage/ArticlePage.d.ts.map +0 -1
- package/lib/pages/ArticlePage/ArticlePage.js +0 -221
- package/lib/pages/ArticlePage/ArticlePage.js.map +0 -1
- package/lib/pages/ArticlePage/ArticlePageLayout.d.ts +0 -3
- package/lib/pages/ArticlePage/ArticlePageLayout.d.ts.map +0 -1
- package/lib/pages/ArticlePage/ArticlePageLayout.js.map +0 -1
- package/lib/pages/ArticlePage/components/ArticleBreadcrumbs.d.ts +0 -10
- package/lib/pages/ArticlePage/components/ArticleBreadcrumbs.d.ts.map +0 -1
- package/lib/pages/ArticlePage/components/ArticleBreadcrumbs.js +0 -31
- package/lib/pages/ArticlePage/components/ArticleBreadcrumbs.js.map +0 -1
- package/lib/pages/ArticlePage/components/ArticleHeader.d.ts +0 -13
- package/lib/pages/ArticlePage/components/ArticleHeader.d.ts.map +0 -1
- package/lib/pages/ArticlePage/components/ArticleNavigation.d.ts +0 -14
- package/lib/pages/ArticlePage/components/ArticleNavigation.d.ts.map +0 -1
- package/lib/pages/ArticlePage/components/ArticleNavigation.js +0 -37
- package/lib/pages/ArticlePage/components/ArticleNavigation.js.map +0 -1
- package/lib/pages/ArticlePage/components/CopyPageButton.d.ts +0 -10
- package/lib/pages/ArticlePage/components/CopyPageButton.d.ts.map +0 -1
- package/lib/pages/ArticlePage/components/CopyPageButton.js +0 -229
- package/lib/pages/ArticlePage/components/CopyPageButton.js.map +0 -1
- package/lib/pages/ArticlePage/components/TableOfContents.d.ts +0 -15
- package/lib/pages/ArticlePage/components/TableOfContents.d.ts.map +0 -1
- package/lib/pages/ArticlePage/components/TableOfContents.js +0 -57
- package/lib/pages/ArticlePage/components/TableOfContents.js.map +0 -1
- package/lib/pages/ArticlePage/index.d.ts +0 -3
- package/lib/pages/ArticlePage/index.d.ts.map +0 -1
- package/lib/pages/ArticlePage/index.js +0 -5
- package/lib/pages/ArticlePage/index.js.map +0 -1
package/lib/compute.js
CHANGED
|
@@ -47,7 +47,7 @@ const MainRoutes = [{
|
|
|
47
47
|
exact: true,
|
|
48
48
|
hideInMenu: true,
|
|
49
49
|
position: IMenuPosition.Middle,
|
|
50
|
-
componentPath: "@adminide-stack/yantra-help-browser/lib/pages/
|
|
50
|
+
componentPath: "@adminide-stack/yantra-help-browser/lib/pages/Markdown/index.js",
|
|
51
51
|
hasComponent: true
|
|
52
52
|
}];
|
|
53
53
|
// Using '*' to select all routes and menus
|
package/lib/compute.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute.js","sources":["../src/compute.ts"],"sourcesContent":[null],"names":[],"mappings":"uJAGA,MAAM,gBAAgB,GAAG,GAAG;AAC5B,MAAM,mBAAmB,GAAG;AACxB,EAAA,OAAA,EAAO,UAAY;AACnB,EAAA,WAAA,EAAW,cAAgB;AAC3B,EAAA,WAAA,EAAW,cAAgB;AAC3B,EAAA,aAAA,EAAa,0BAA4B;AACzC,EAAA,YAAA,EAAY;CACf;AAEY,MAAA,UAAU,GAAQ,CAAA;AAC3B,EAAA,IAAA,EAAA,CAAA,EAAA,gBAAA,CAAA,EAAA,mBAAA,CAAA,OAAA,CAAA,CAAA;AACI,EAAA,GAAA,EAAA,SAAS;AACT,EAAA,KAAA,EAAA,IAAK;AACL,EAAA,UAAA,MAAW;AACX,EAAA,SAAA,EAAA,aAAgB,8BAAA,CAAA;AAChB,EAAA,KAAA,EAAA,IAAA;AACA,EAAA,QAAA,EAAA,aAAW,CAAA;;AAEd,EAAA,IAAA,EAAA,CAAA,EAAA,gBAAA,CAAA,EAAA,mBAAA,CAAA,WAAA,CAAA,CAAA;AACD,EAAA,GAAA,EAAA,aAAA;AACI,EAAA,KAAA,EAAA;AACA,EAAA,YAAkB,IAAA;AAClB,EAAA,SAAA,EAAK,MAAM,OAAA,6BAAA,CAAA;AACX,EAAA,QAAA,EAAA,aAAgB,CAAA;AAChB,CAAA,EAAA;QACA,CAAQ,EAAA,gBAAe,CAAA,EAAA,mBAAO,CAAA,WAAA,CAAA,CAAA;AACjC,EAAA,GAAA,EAAA,aAAA;AACD,EAAA,KAAA,EAAA,IAAA;AACI,EAAA,UAAI,EAAE,IAAG;AACT,EAAA,SAAG,EAAE,MAAa,OAAA,6BAAA,CAAA;AAClB,EAAA,QAAA,EAAA,aAAW,CAAA;AACX,CAAA,EAAA;AACA,EAAA,IAAA,EAAA,CAAA,EAAA,gBAAuB,CAAA,EAAA,iCAAsB,CAAA,CAAA;sBACtB;AAC1B,EAAA,KAAA,EAAA,IAAA;AACD,EAAA,UAAA,EAAA,IAAA;AACI,EAAA,SAAA,QAAS,OAAA,qCAAsC,CAAA;AAC/C,EAAA,QAAA,eAAoB,CAAA;AACpB,CAAA,EAAA;AACA,EAAA,IAAA,EAAA,CAAA,EAAA,gBAAgB,CAAA,EAAA,mBAAA,CAAA,YAAA,CAAA,CAAA;AAChB,EAAA,GAAA,EAAA,cAAc;SACN,IAAA;AACX,EAAA,UAAA,EAAA,IAAA;AACD,EAAA,SAAA,EAAA,MAAA,OAAA,
|
|
1
|
+
{"version":3,"file":"compute.js","sources":["../src/compute.ts"],"sourcesContent":[null],"names":[],"mappings":"uJAGA,MAAM,gBAAgB,GAAG,GAAG;AAC5B,MAAM,mBAAmB,GAAG;AACxB,EAAA,OAAA,EAAO,UAAY;AACnB,EAAA,WAAA,EAAW,cAAgB;AAC3B,EAAA,WAAA,EAAW,cAAgB;AAC3B,EAAA,aAAA,EAAa,0BAA4B;AACzC,EAAA,YAAA,EAAY;CACf;AAEY,MAAA,UAAU,GAAQ,CAAA;AAC3B,EAAA,IAAA,EAAA,CAAA,EAAA,gBAAA,CAAA,EAAA,mBAAA,CAAA,OAAA,CAAA,CAAA;AACI,EAAA,GAAA,EAAA,SAAS;AACT,EAAA,KAAA,EAAA,IAAK;AACL,EAAA,UAAA,MAAW;AACX,EAAA,SAAA,EAAA,aAAgB,8BAAA,CAAA;AAChB,EAAA,KAAA,EAAA,IAAA;AACA,EAAA,QAAA,EAAA,aAAW,CAAA;;AAEd,EAAA,IAAA,EAAA,CAAA,EAAA,gBAAA,CAAA,EAAA,mBAAA,CAAA,WAAA,CAAA,CAAA;AACD,EAAA,GAAA,EAAA,aAAA;AACI,EAAA,KAAA,EAAA;AACA,EAAA,YAAkB,IAAA;AAClB,EAAA,SAAA,EAAK,MAAM,OAAA,6BAAA,CAAA;AACX,EAAA,QAAA,EAAA,aAAgB,CAAA;AAChB,CAAA,EAAA;QACA,CAAQ,EAAA,gBAAe,CAAA,EAAA,mBAAO,CAAA,WAAA,CAAA,CAAA;AACjC,EAAA,GAAA,EAAA,aAAA;AACD,EAAA,KAAA,EAAA,IAAA;AACI,EAAA,UAAI,EAAE,IAAG;AACT,EAAA,SAAG,EAAE,MAAa,OAAA,6BAAA,CAAA;AAClB,EAAA,QAAA,EAAA,aAAW,CAAA;AACX,CAAA,EAAA;AACA,EAAA,IAAA,EAAA,CAAA,EAAA,gBAAuB,CAAA,EAAA,iCAAsB,CAAA,CAAA;sBACtB;AAC1B,EAAA,KAAA,EAAA,IAAA;AACD,EAAA,UAAA,EAAA,IAAA;AACI,EAAA,SAAA,QAAS,OAAA,qCAAsC,CAAA;AAC/C,EAAA,QAAA,eAAoB,CAAA;AACpB,CAAA,EAAA;AACA,EAAA,IAAA,EAAA,CAAA,EAAA,gBAAgB,CAAA,EAAA,mBAAA,CAAA,YAAA,CAAA,CAAA;AAChB,EAAA,GAAA,EAAA,cAAc;SACN,IAAA;AACX,EAAA,UAAA,EAAA,IAAA;AACD,EAAA,SAAA,EAAA,MAAA,OAAA,2BAAA,CAAA;AACI,EAAA,QAAA,EAAI,aAAK,CAAA;AACT,CAAA;AACA;AACA,MAAA,WAAA,GAAY,GAAI;AAChB;AACuB,gBAAO,CAAA,UAAA,EAAA,WAAA;AACjC;AACH,MAAA,cAAA,GAAA,iBAAA,CAAA,UAAA,EAAA,WAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownPageLayout.d.ts","sourceRoot":"","sources":["../../../src/pages/Markdown/MarkdownPageLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAO3D,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAyShE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {jsxs,jsx}from'react/jsx-runtime';import {useState,useRef,useEffect}from'react';import {useLocation,Outlet,Link}from'@remix-run/react';import {SidebarSearch}from'../../components/SidebarSearch.js';import {getDocsNavigation}from'../../utils/docsNavigation.js';import {useTheme}from'@admin-layout/tailwind-ui';import {cn}from'../../utils/index.js';const
|
|
1
|
+
import {jsxs,jsx}from'react/jsx-runtime';import {useState,useRef,useEffect}from'react';import {useLocation,Outlet,Link}from'@remix-run/react';import {SidebarSearch}from'../../components/SidebarSearch.js';import {getDocsNavigation}from'../../utils/docsNavigation.js';import {useTheme}from'@admin-layout/tailwind-ui';import {cn}from'../../utils/index.js';const MarkdownPageLayout = ({
|
|
2
2
|
children
|
|
3
3
|
}) => {
|
|
4
4
|
const location = useLocation();
|
|
@@ -247,4 +247,4 @@ import {jsxs,jsx}from'react/jsx-runtime';import {useState,useRef,useEffect}from'
|
|
|
247
247
|
})
|
|
248
248
|
})]
|
|
249
249
|
});
|
|
250
|
-
};export{
|
|
250
|
+
};export{MarkdownPageLayout};//# sourceMappingURL=MarkdownPageLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownPageLayout.js","sources":["../../../src/pages/Markdown/MarkdownPageLayout.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Wrapper component that uses Remix useParams to automatically load article data.
|
|
4
|
+
* This maintains backward compatibility with the existing routing structure.
|
|
5
|
+
*
|
|
6
|
+
* For a more reusable approach, use ArticlePage directly with props.
|
|
7
|
+
*/
|
|
8
|
+
export declare const MarkdownPageWithParams: React.FC;
|
|
9
|
+
//# sourceMappingURL=MarkdownPageWithParams.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownPageWithParams.d.ts","sourceRoot":"","sources":["../../../src/pages/Markdown/MarkdownPageWithParams.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AASnD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EA+D1C,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import {jsx}from'react/jsx-runtime';import {useState,useEffect}from'react';import {useParams}from'@remix-run/react';import {MarkdownPage}from'@admin-layout/tailwind-ui/components/Markdown/MarkdownPage.js';import {getCategoryById,loadArticleContent}from'../../utils/markdownLoader.js';/**
|
|
2
|
+
* Wrapper component that uses Remix useParams to automatically load article data.
|
|
3
|
+
* This maintains backward compatibility with the existing routing structure.
|
|
4
|
+
*
|
|
5
|
+
* For a more reusable approach, use ArticlePage directly with props.
|
|
6
|
+
*/
|
|
7
|
+
const MarkdownPageWithParams = () => {
|
|
8
|
+
const {
|
|
9
|
+
categoryId,
|
|
10
|
+
articleSlug
|
|
11
|
+
} = useParams();
|
|
12
|
+
const [markdown, setMarkdown] = useState(null);
|
|
13
|
+
const [previousMarkdown, setPreviousMarkdown] = useState(null);
|
|
14
|
+
const [nextMarkdown, setNextMarkdown] = useState(null);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (articleSlug) {
|
|
17
|
+
const loadContent = async () => {
|
|
18
|
+
const articleData = await loadArticleContent(articleSlug);
|
|
19
|
+
setMarkdown(articleData);
|
|
20
|
+
// Calculate previous/next markdown from category
|
|
21
|
+
if (articleData) {
|
|
22
|
+
const category = getCategoryById(articleData.categoryId || categoryId || '');
|
|
23
|
+
const categoryArticles = category?.articles ?? [];
|
|
24
|
+
const currentIndex = categoryArticles.findIndex(a => a.slug === articleData.slug);
|
|
25
|
+
if (currentIndex > 0) {
|
|
26
|
+
const prev = categoryArticles[currentIndex - 1];
|
|
27
|
+
setPreviousMarkdown({
|
|
28
|
+
categoryId: articleData.categoryId || categoryId || '',
|
|
29
|
+
slug: prev.slug,
|
|
30
|
+
title: prev.title
|
|
31
|
+
});
|
|
32
|
+
} else {
|
|
33
|
+
setPreviousMarkdown(null);
|
|
34
|
+
}
|
|
35
|
+
if (currentIndex >= 0 && currentIndex < categoryArticles.length - 1) {
|
|
36
|
+
const next = categoryArticles[currentIndex + 1];
|
|
37
|
+
setNextMarkdown({
|
|
38
|
+
categoryId: articleData.categoryId || categoryId || '',
|
|
39
|
+
slug: next.slug,
|
|
40
|
+
title: next.title
|
|
41
|
+
});
|
|
42
|
+
} else {
|
|
43
|
+
setNextMarkdown(null);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
loadContent();
|
|
48
|
+
}
|
|
49
|
+
}, [articleSlug, categoryId]);
|
|
50
|
+
const category = markdown ? getCategoryById(markdown.categoryId || categoryId || '') : null;
|
|
51
|
+
return jsx(MarkdownPage, {
|
|
52
|
+
article: markdown,
|
|
53
|
+
categoryId: categoryId,
|
|
54
|
+
categoryTitle: category?.title,
|
|
55
|
+
articleSlug: articleSlug,
|
|
56
|
+
loadArticle: loadArticleContent,
|
|
57
|
+
previousMarkdown: previousMarkdown,
|
|
58
|
+
nextMarkdown: nextMarkdown,
|
|
59
|
+
getMarkdownLink: (categoryId, slug) => `/help-center/${categoryId}/${slug}`,
|
|
60
|
+
getCategoryLink: categoryId => `/help-center/${categoryId}`,
|
|
61
|
+
getHelpCenterLink: () => '/help-center',
|
|
62
|
+
helpCenterLabel: "All Collections",
|
|
63
|
+
backToHelpCenterLabel: "\u2190 Back to Help Center"
|
|
64
|
+
});
|
|
65
|
+
};export{MarkdownPageWithParams};//# sourceMappingURL=MarkdownPageWithParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownPageWithParams.js","sources":["../../../src/pages/Markdown/MarkdownPageWithParams.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"4RASA;;;;;AAKG;AACI,MAAM,sBAAsB,GAAa,MAAK;QAC3C;IACN,UAAe;IACf;MACM,SAAa,EAAA;QAEV,CAAA,QAAI,EAAE,WAAA,CAAA,GAAA,QAAA,CAAA,IAAA,CAAA;QACX,CAAI,gBAAa,EAAC,mBAAA,CAAA,GAAA,QAAA,CAAA,IAAA,CAAA;AACd,EAAA,MAAA,CAAA,YAAiB,EAAA,eAAQ,CAAA,GAAM,QAAA,CAAA,IAAA,CAAA;AAC3B,EAAA,SAAA,CAAA,MAAA;mBACW,EAAA;uBAEsC,GAAA,YAAA;yBAC7C,GAAA,MAAc,kBAAA,CAAA,WAAA,CAAA;AACd,QAAA,WAAA,CAAA,WAAc,CAAA;AACd;AACA,QAAA,IAAA,WAAA,EAAA;AAEA,UAAA,MAAA,QAAI,GAAY,eAAM,CAAC,WAAA,CAAA,UAAA,IAAA,UAAA,IAAA,EAAA,CAAA;gCACb,WAAuB,EAAA,QAAA;AAC7B,UAAA,MAAA,YAAA,GAAA,gBAAoB,CAAA,SAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,KAAA,WAAA,CAAA,IAAA,CAAA;AAChB,UAAA,IAAA,YAAA,GAAA,CAAA,EAAA;yCACe,CAAA,YAAA,GAAA,CAAA,CAAA;+BACV,CAAA;AACR,cAAA,UAAA,EAAC,WAAC,CAAA,UAAA,IAAA,UAAA,IAAA,EAAA;oBACP,IAAC,CAAA,IAAA;yBAAM,CAAC;;;AAIR,YAAA,mBAAgB,CAAA,IAAA,CAAA;;AAEZ,UAAA,IAAA,YAAA,IAAA,CAAA,IAAA,YAAgB,GAAA,gBAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AACZ,YAAA,MAAA,IAAA,GAAA,gBAAuB,CAAA;4BACvB;qCACW,CAAA,UAAM,IAAA,UAAA,IAAA,EAAA;AACpB,cAAA,IAAA,EAAA,IAAA,CAAA,IAAE;qBACN,IAAA,CAAA;;;2BAEA,CAAA,IAAA,CAAA;;AAET;AACA,OAAA;iBACH,EAAA;AACL;KAEM,CAAA,WAAA,YAAmB,CAAC,CAAC;AAE3B,EAAA,MAAA,QACK,GAAA,QAAA,GACG,eAAiB,CAAA,QACP,CAAA,wBACV,IAAA,EAAA,CAAA,GAAa,IAAE;AAY3B,EAAE,OAAAA,GAAA,CAAA,YAAA,EAAA;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pages/Markdown/index.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,iBAAiB,+CAMtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import {jsx}from'react/jsx-runtime';import {MarkdownPageWithParams}from'./MarkdownPageWithParams.js';import {MarkdownPageLayout}from'./MarkdownPageLayout.js';const MarkdownPageIndex = () => {
|
|
2
|
+
return jsx(MarkdownPageLayout, {
|
|
3
|
+
children: jsx(MarkdownPageWithParams, {})
|
|
4
|
+
});
|
|
5
|
+
};export{MarkdownPageIndex as default};//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/pages/Markdown/index.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"8JAGM,MAAA,iBAAiB,GAAG,MAAK;SACpBA,sBACgB,EAAA;AAI3B,IAAE,QAAA,EAAAA,GAAA,CAAA,sBAAA,EAAA,EAAA;AAEF,GAAA,CAAA;"}
|
package/lib/routes.json
CHANGED
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"exact": true,
|
|
52
52
|
"hideInMenu": true,
|
|
53
53
|
"position": "MIDDLE",
|
|
54
|
-
"componentPath": "@adminide-stack/yantra-help-browser/lib/pages/
|
|
54
|
+
"componentPath": "@adminide-stack/yantra-help-browser/lib/pages/Markdown/index.js",
|
|
55
55
|
"hasComponent": true
|
|
56
56
|
}
|
|
57
57
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adminide-stack/yantra-help-browser",
|
|
3
|
-
"version": "12.0.16-alpha.
|
|
3
|
+
"version": "12.0.16-alpha.19",
|
|
4
4
|
"description": "Sample core for higher packages to depend on",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "Yantra App",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"watch": "yarn build:lib:watch"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@admin-layout/tailwind-ui": "12.2.4-alpha.
|
|
24
|
+
"@admin-layout/tailwind-ui": "12.2.4-alpha.17",
|
|
25
25
|
"@pubngo-stack/icons": "8.0.7",
|
|
26
26
|
"@react-icons/all-files": "^4.1.0",
|
|
27
27
|
"marked": "7.0.5",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"typescript": {
|
|
71
71
|
"definition": "lib/index.d.ts"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "dbb5bb83ac287af095083711fca9a09bf1d7fd02"
|
|
74
74
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArticlePage.d.ts","sourceRoot":"","sources":["../../../src/pages/ArticlePage/ArticlePage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAU3D,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAkP/B,CAAC"}
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
import {jsx,jsxs}from'react/jsx-runtime';import {useState,useRef,useEffect}from'react';import {useParams,Link}from'@remix-run/react';import {cn}from'../../utils/index.js';import {getCategoryById,loadArticleContent}from'../../utils/markdownLoader.js';import {TableOfContents}from'./components/TableOfContents.js';import {ArticleNavigation}from'./components/ArticleNavigation.js';import {ArticleBreadcrumbs}from'./components/ArticleBreadcrumbs.js';import {CopyPageButton}from'./components/CopyPageButton.js';const ArticlePage = () => {
|
|
2
|
-
const {
|
|
3
|
-
categoryId,
|
|
4
|
-
articleSlug
|
|
5
|
-
} = useParams();
|
|
6
|
-
const [article, setArticle] = useState(null);
|
|
7
|
-
const [loading, setLoading] = useState(true);
|
|
8
|
-
const [activeHeadingId, setActiveHeadingId] = useState('');
|
|
9
|
-
const observerRef = useRef(null);
|
|
10
|
-
const isScrollingRef = useRef(false);
|
|
11
|
-
const scrollTimeoutRef = useRef(null);
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
if (articleSlug) {
|
|
14
|
-
const loadContent = async () => {
|
|
15
|
-
const articleData = await loadArticleContent(articleSlug);
|
|
16
|
-
setArticle(articleData);
|
|
17
|
-
setLoading(false);
|
|
18
|
-
};
|
|
19
|
-
loadContent();
|
|
20
|
-
}
|
|
21
|
-
}, [articleSlug]);
|
|
22
|
-
// Scroll spy functionality
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
if (!article?.headings || article.headings.length === 0) return;
|
|
25
|
-
// Clean up previous observer
|
|
26
|
-
if (observerRef.current) {
|
|
27
|
-
observerRef.current.disconnect();
|
|
28
|
-
}
|
|
29
|
-
// Create new intersection observer
|
|
30
|
-
observerRef.current = new IntersectionObserver(entries => {
|
|
31
|
-
// Don't update if we're programmatically scrolling
|
|
32
|
-
if (isScrollingRef.current) return;
|
|
33
|
-
// Find the heading that's most visible in the viewport
|
|
34
|
-
const visibleEntries = entries.filter(entry => entry.isIntersecting);
|
|
35
|
-
if (visibleEntries.length === 0) return;
|
|
36
|
-
// Find the heading that's closest to the top of the viewport (within the top 30%)
|
|
37
|
-
// Prioritize headings that are in the upper portion of the viewport
|
|
38
|
-
let bestEntry = visibleEntries[0];
|
|
39
|
-
let bestScore = Infinity;
|
|
40
|
-
visibleEntries.forEach(entry => {
|
|
41
|
-
const rect = entry.boundingClientRect;
|
|
42
|
-
const viewportHeight = window.innerHeight;
|
|
43
|
-
const top30Percent = viewportHeight * 0.3;
|
|
44
|
-
// Calculate a score: lower is better
|
|
45
|
-
// Headings in the top 30% of viewport get priority
|
|
46
|
-
let score;
|
|
47
|
-
if (rect.top >= 0 && rect.top <= top30Percent) {
|
|
48
|
-
// Heading is in the top 30% - prioritize by distance from top
|
|
49
|
-
score = rect.top;
|
|
50
|
-
} else if (rect.top >= 0) {
|
|
51
|
-
// Heading is below top 30% but visible - lower priority
|
|
52
|
-
score = 1000 + rect.top;
|
|
53
|
-
} else {
|
|
54
|
-
// Heading is above viewport - lowest priority unless it's the only one
|
|
55
|
-
score = 2000 + Math.abs(rect.top);
|
|
56
|
-
}
|
|
57
|
-
if (score < bestScore) {
|
|
58
|
-
bestScore = score;
|
|
59
|
-
bestEntry = entry;
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
setActiveHeadingId(bestEntry.target.id);
|
|
63
|
-
}, {
|
|
64
|
-
rootMargin: '-10% 0px -70% 0px',
|
|
65
|
-
threshold: [0, 0.1, 0.5, 1]
|
|
66
|
-
});
|
|
67
|
-
// Observe all headings
|
|
68
|
-
article.headings.forEach(heading => {
|
|
69
|
-
const element = document.getElementById(heading.id);
|
|
70
|
-
if (element && observerRef.current) {
|
|
71
|
-
observerRef.current.observe(element);
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
// Cleanup function
|
|
75
|
-
return () => {
|
|
76
|
-
if (observerRef.current) {
|
|
77
|
-
observerRef.current.disconnect();
|
|
78
|
-
}
|
|
79
|
-
if (scrollTimeoutRef.current) {
|
|
80
|
-
clearTimeout(scrollTimeoutRef.current);
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
}, [article]);
|
|
84
|
-
if (loading) {
|
|
85
|
-
return jsx("div", {
|
|
86
|
-
className: "min-h-screen bg-background text-foreground overflow-x-hidden",
|
|
87
|
-
children: jsx("div", {
|
|
88
|
-
className: "w-full max-w-[90rem] mx-auto px-4 sm:px-6 lg:px-8 xl:px-16 py-16",
|
|
89
|
-
children: jsxs("div", {
|
|
90
|
-
className: "animate-pulse",
|
|
91
|
-
children: [jsx("div", {
|
|
92
|
-
className: "h-8 bg-muted rounded w-1/3 mb-4"
|
|
93
|
-
}), jsx("div", {
|
|
94
|
-
className: "h-4 bg-muted rounded w-1/2 mb-8"
|
|
95
|
-
}), jsxs("div", {
|
|
96
|
-
className: "space-y-4",
|
|
97
|
-
children: [jsx("div", {
|
|
98
|
-
className: "h-4 bg-muted rounded"
|
|
99
|
-
}), jsx("div", {
|
|
100
|
-
className: "h-4 bg-muted rounded w-5/6"
|
|
101
|
-
}), jsx("div", {
|
|
102
|
-
className: "h-4 bg-muted rounded w-4/6"
|
|
103
|
-
})]
|
|
104
|
-
})]
|
|
105
|
-
})
|
|
106
|
-
})
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
if (!article) {
|
|
110
|
-
return jsx("div", {
|
|
111
|
-
className: "min-h-screen bg-background text-foreground mt-20 overflow-x-hidden",
|
|
112
|
-
children: jsxs("div", {
|
|
113
|
-
className: "w-full max-w-[90rem] mx-auto px-4 sm:px-6 lg:px-8 xl:px-16 py-16",
|
|
114
|
-
children: [jsx("h1", {
|
|
115
|
-
className: "text-2xl font-bold",
|
|
116
|
-
children: "Article not found"
|
|
117
|
-
}), jsx(Link, {
|
|
118
|
-
to: "/help-center",
|
|
119
|
-
className: "mt-4 text-primary hover:text-primary/80",
|
|
120
|
-
children: "\u2190 Back to Help Center"
|
|
121
|
-
})]
|
|
122
|
-
})
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
const category = getCategoryById(article.categoryId || categoryId || '');
|
|
126
|
-
const categoryArticles = category?.articles ?? [];
|
|
127
|
-
const currentIndex = categoryArticles.findIndex(a => a.slug === article.slug);
|
|
128
|
-
const previousArticle = currentIndex > 0 ? categoryArticles[currentIndex - 1] : null;
|
|
129
|
-
const nextArticle = currentIndex >= 0 && currentIndex < categoryArticles.length - 1 ? categoryArticles[currentIndex + 1] : null;
|
|
130
|
-
return jsx("div", {
|
|
131
|
-
className: "min-h-screen bg-background text-foreground scroll-smooth overflow-x-hidden",
|
|
132
|
-
children: jsxs("div", {
|
|
133
|
-
className: "flex w-full justify-center gap-10",
|
|
134
|
-
children: [jsxs("div", {
|
|
135
|
-
className: "flex-1 max-w-3xl w-full",
|
|
136
|
-
children: [jsxs("div", {
|
|
137
|
-
className: "flex items-center justify-between",
|
|
138
|
-
children: [jsx(ArticleBreadcrumbs, {
|
|
139
|
-
categoryId: article.categoryId,
|
|
140
|
-
categoryTitle: getCategoryById(article.categoryId)?.title,
|
|
141
|
-
articleTitle: article.title,
|
|
142
|
-
className: "pb-4"
|
|
143
|
-
}), jsx(CopyPageButton, {
|
|
144
|
-
articleTitle: article.title,
|
|
145
|
-
articleContent: article.htmlContent,
|
|
146
|
-
className: "flex-shrink-0"
|
|
147
|
-
})]
|
|
148
|
-
}), jsx("main", {
|
|
149
|
-
className: "w-full py-2",
|
|
150
|
-
children: jsx("div", {
|
|
151
|
-
className: "max-w-[90rem] mx-auto px-4 sm:px-6 lg:px-8 xl:px-16 relative",
|
|
152
|
-
children: jsx("div", {
|
|
153
|
-
className: "flex flex-col xl:flex-row gap-12 xl:gap-16 align-start",
|
|
154
|
-
children: jsxs("div", {
|
|
155
|
-
className: "flex-1 min-w-0 max-w-5xl",
|
|
156
|
-
children: [jsx("div", {
|
|
157
|
-
className: "prose prose-lg max-w-none w-full overflow-x-hidden",
|
|
158
|
-
children: jsx("div", {
|
|
159
|
-
className: cn(
|
|
160
|
-
// Base prose styles
|
|
161
|
-
'prose-headings:font-semibold prose-headings:text-foreground prose-headings:tracking-tight',
|
|
162
|
-
// Body H1 styles (within article) - slightly smaller than page title
|
|
163
|
-
'prose-h1:text-[1.5rem] prose-h1:md:text-[1.75rem] prose-h1:mb-4 prose-h1:mt-5 prose-h1:leading-tight',
|
|
164
|
-
// H2 styles - strong section headings
|
|
165
|
-
'prose-h2:text-[1.2rem] prose-h2:md:text-[1.5rem] prose-h2:mb-4 prose-h2:mt-5 prose-h2:leading-tight',
|
|
166
|
-
// H3 styles - sub section headings
|
|
167
|
-
'prose-h3:text-[1.05rem] prose-h3:md:text-[1.25rem] prose-h3:mb-3 prose-h3:mt-4 prose-h3:leading-snug',
|
|
168
|
-
// H4 styles
|
|
169
|
-
'prose-h4:text-lg prose-h4:md:text-xl prose-h4:mb-3 prose-h4:mt-4',
|
|
170
|
-
// Paragraph styles
|
|
171
|
-
'prose-p:text-[0.85rem] prose-p:md:text-[0.95rem] prose-p:text-muted-foreground prose-p:leading-relaxed prose-p:mb-5',
|
|
172
|
-
// Strong text
|
|
173
|
-
'prose-strong:text-foreground prose-strong:font-semibold',
|
|
174
|
-
// Links
|
|
175
|
-
'prose-a:text-primary prose-a:no-underline hover:prose-a:underline prose-a:font-medium',
|
|
176
|
-
// Lists
|
|
177
|
-
'prose-ul:text-muted-foreground prose-ol:text-muted-foreground prose-li:text-muted-foreground prose-li:mb-2 prose-li:text-base prose-li:md:text-lg',
|
|
178
|
-
// Blockquotes
|
|
179
|
-
'prose-blockquote:text-muted-foreground prose-blockquote:border-l-primary prose-blockquote:pl-4 prose-blockquote:my-6',
|
|
180
|
-
// Code
|
|
181
|
-
'prose-code:text-foreground prose-code:bg-muted prose-code:px-1.5 prose-code:py-0.5 prose-code:rounded prose-code:text-sm prose-code:font-mono',
|
|
182
|
-
// Pre blocks
|
|
183
|
-
'prose-pre:bg-muted prose-pre:text-foreground prose-pre:overflow-x-auto prose-pre:rounded-lg prose-pre:p-4 prose-pre:my-6',
|
|
184
|
-
// Images
|
|
185
|
-
'prose-img:rounded-lg prose-img:my-8',
|
|
186
|
-
// Tables
|
|
187
|
-
'prose-table:text-muted-foreground prose-th:text-foreground prose-th:font-semibold',
|
|
188
|
-
// Horizontal rules
|
|
189
|
-
'prose-hr:border-border prose-hr:my-8'),
|
|
190
|
-
dangerouslySetInnerHTML: {
|
|
191
|
-
__html: article.htmlContent
|
|
192
|
-
}
|
|
193
|
-
})
|
|
194
|
-
}), jsx(ArticleNavigation, {
|
|
195
|
-
previousArticle: previousArticle,
|
|
196
|
-
nextArticle: nextArticle
|
|
197
|
-
})]
|
|
198
|
-
})
|
|
199
|
-
})
|
|
200
|
-
})
|
|
201
|
-
})]
|
|
202
|
-
}), jsx(TableOfContents, {
|
|
203
|
-
headings: article.headings || [],
|
|
204
|
-
activeHeadingId: activeHeadingId,
|
|
205
|
-
onHeadingClick: headingId => {
|
|
206
|
-
// Set scrolling flag to prevent observer from overriding
|
|
207
|
-
isScrollingRef.current = true;
|
|
208
|
-
setActiveHeadingId(headingId);
|
|
209
|
-
// Clear any existing timeout
|
|
210
|
-
if (scrollTimeoutRef.current) {
|
|
211
|
-
clearTimeout(scrollTimeoutRef.current);
|
|
212
|
-
}
|
|
213
|
-
// Re-enable observer after scroll completes (smooth scroll takes ~500ms)
|
|
214
|
-
scrollTimeoutRef.current = setTimeout(() => {
|
|
215
|
-
isScrollingRef.current = false;
|
|
216
|
-
}, 800);
|
|
217
|
-
}
|
|
218
|
-
})]
|
|
219
|
-
})
|
|
220
|
-
});
|
|
221
|
-
};export{ArticlePage};//# sourceMappingURL=ArticlePage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArticlePage.js","sources":["../../../src/pages/ArticlePage/ArticlePage.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArticlePageLayout.d.ts","sourceRoot":"","sources":["../../../src/pages/ArticlePage/ArticlePageLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAO3D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAyS/D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArticlePageLayout.js","sources":["../../../src/pages/ArticlePage/ArticlePageLayout.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface ArticleBreadcrumbsProps {
|
|
3
|
-
categoryId: string;
|
|
4
|
-
categoryTitle?: string;
|
|
5
|
-
articleTitle: string;
|
|
6
|
-
className?: string;
|
|
7
|
-
}
|
|
8
|
-
export declare const ArticleBreadcrumbs: React.FC<ArticleBreadcrumbsProps>;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=ArticleBreadcrumbs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArticleBreadcrumbs.d.ts","sourceRoot":"","sources":["../../../../src/pages/ArticlePage/components/ArticleBreadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,uBAAuB;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqBhE,CAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import {jsx,jsxs}from'react/jsx-runtime';import {Link}from'@remix-run/react';import {cn}from'../../../utils/index.js';const ArticleBreadcrumbs = ({
|
|
2
|
-
categoryId,
|
|
3
|
-
categoryTitle,
|
|
4
|
-
articleTitle,
|
|
5
|
-
className
|
|
6
|
-
}) => {
|
|
7
|
-
return jsx("div", {
|
|
8
|
-
className: cn('w-full max-w-[90rem] mx-auto px-4 sm:px-6 lg:px-8 xl:px-16', className),
|
|
9
|
-
children: jsxs("nav", {
|
|
10
|
-
className: "flex items-center space-x-2 text-sm text-muted-foreground",
|
|
11
|
-
children: [jsx(Link, {
|
|
12
|
-
to: "/help-center",
|
|
13
|
-
className: "hover:text-foreground transition-colors",
|
|
14
|
-
children: "All Collections"
|
|
15
|
-
}), jsx("span", {
|
|
16
|
-
className: "text-muted-foreground/60",
|
|
17
|
-
children: "\u203A"
|
|
18
|
-
}), jsx(Link, {
|
|
19
|
-
to: `/help-center/${categoryId}`,
|
|
20
|
-
className: "hover:text-foreground transition-colors",
|
|
21
|
-
children: categoryTitle || categoryId
|
|
22
|
-
}), jsx("span", {
|
|
23
|
-
className: "text-muted-foreground/60",
|
|
24
|
-
children: "\u203A"
|
|
25
|
-
}), jsx("span", {
|
|
26
|
-
className: "text-primary",
|
|
27
|
-
children: articleTitle
|
|
28
|
-
})]
|
|
29
|
-
})
|
|
30
|
-
});
|
|
31
|
-
};export{ArticleBreadcrumbs};//# sourceMappingURL=ArticleBreadcrumbs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArticleBreadcrumbs.js","sources":["../../../../src/pages/ArticlePage/components/ArticleBreadcrumbs.tsx"],"sourcesContent":[null],"names":[],"mappings":"sHAWO,MAAM,kBAAkB,GAAsC,CAAC;AAMlE,EAAA,UACI;AAcR,EAAE,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface ArticleHeaderProps {
|
|
3
|
-
categoryTitle?: string;
|
|
4
|
-
title: string;
|
|
5
|
-
description?: string;
|
|
6
|
-
author?: string;
|
|
7
|
-
updatedAt?: string;
|
|
8
|
-
articleContent: string;
|
|
9
|
-
className?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare const ArticleHeader: React.FC<ArticleHeaderProps>;
|
|
12
|
-
export {};
|
|
13
|
-
//# sourceMappingURL=ArticleHeader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArticleHeader.d.ts","sourceRoot":"","sources":["../../../../src/pages/ArticlePage/components/ArticleHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,kBAAkB;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAmDtD,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface Article {
|
|
3
|
-
categoryId: string;
|
|
4
|
-
slug: string;
|
|
5
|
-
title: string;
|
|
6
|
-
}
|
|
7
|
-
interface ArticleNavigationProps {
|
|
8
|
-
previousArticle?: Article | null;
|
|
9
|
-
nextArticle?: Article | null;
|
|
10
|
-
className?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare const ArticleNavigation: React.FC<ArticleNavigationProps>;
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=ArticleNavigation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArticleNavigation.d.ts","sourceRoot":"","sources":["../../../../src/pages/ArticlePage/components/ArticleNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,OAAO;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,sBAAsB;IAC5B,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA0C9D,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import {jsxs,jsx}from'react/jsx-runtime';import {Link}from'@remix-run/react';import {cn}from'../../../utils/index.js';const ArticleNavigation = ({
|
|
2
|
-
previousArticle,
|
|
3
|
-
nextArticle,
|
|
4
|
-
className
|
|
5
|
-
}) => {
|
|
6
|
-
if (!previousArticle && !nextArticle) {
|
|
7
|
-
return null;
|
|
8
|
-
}
|
|
9
|
-
return jsxs("div", {
|
|
10
|
-
className: cn('mt-16 pt-8 border-t border-border grid grid-cols-1 md:grid-cols-2 gap-6', className),
|
|
11
|
-
children: [previousArticle ? jsxs(Link, {
|
|
12
|
-
to: `/help-center/${previousArticle.categoryId}/${previousArticle.slug}`,
|
|
13
|
-
className: cn('group rounded-lg border border-border bg-background px-6 py-5', 'hover:bg-muted/30 transition-colors'),
|
|
14
|
-
children: [jsx("div", {
|
|
15
|
-
className: "text-sm text-muted-foreground mb-1",
|
|
16
|
-
children: "Previous"
|
|
17
|
-
}), jsxs("div", {
|
|
18
|
-
className: "text-primary font-semibold group-hover:underline text-base",
|
|
19
|
-
children: ["\u00AB ", previousArticle.title]
|
|
20
|
-
})]
|
|
21
|
-
}) : jsx("div", {
|
|
22
|
-
className: "hidden md:block"
|
|
23
|
-
}), nextArticle ? jsxs(Link, {
|
|
24
|
-
to: `/help-center/${nextArticle.categoryId}/${nextArticle.slug}`,
|
|
25
|
-
className: cn('group rounded-lg border border-border bg-background px-6 py-5', 'hover:bg-muted/30 transition-colors md:text-right'),
|
|
26
|
-
children: [jsx("div", {
|
|
27
|
-
className: "text-sm text-muted-foreground mb-1",
|
|
28
|
-
children: "Next"
|
|
29
|
-
}), jsxs("div", {
|
|
30
|
-
className: "text-primary font-semibold group-hover:underline text-base",
|
|
31
|
-
children: [nextArticle.title, " \u00BB"]
|
|
32
|
-
})]
|
|
33
|
-
}) : jsx("div", {
|
|
34
|
-
className: "hidden md:block"
|
|
35
|
-
})]
|
|
36
|
-
});
|
|
37
|
-
};export{ArticleNavigation};//# sourceMappingURL=ArticleNavigation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArticleNavigation.js","sources":["../../../../src/pages/ArticlePage/components/ArticleNavigation.tsx"],"sourcesContent":[null],"names":[],"mappings":"sHAgBO,MAAM,iBAAiB,GAAqC,CAAC;AAChE,EAAA,eAAoB;AAChB,EAAA,WAAA;;AAGJ,CAAA,KAAA;AAqCJ,EAAE,IAAA,CAAA,eAAA,IAAA,CAAA,WAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface CopyPageButtonProps {
|
|
3
|
-
articleTitle: string;
|
|
4
|
-
articleContent: string;
|
|
5
|
-
articleUrl?: string;
|
|
6
|
-
className?: string;
|
|
7
|
-
}
|
|
8
|
-
export declare const CopyPageButton: React.FC<CopyPageButtonProps>;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=CopyPageButton.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CopyPageButton.d.ts","sourceRoot":"","sources":["../../../../src/pages/ArticlePage/components/CopyPageButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,UAAU,mBAAmB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAsQxD,CAAC"}
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
import {jsxs,jsx}from'react/jsx-runtime';import {useState,useRef,useEffect}from'react';import {cn}from'../../../utils/index.js';const CopyPageButton = ({
|
|
2
|
-
articleTitle,
|
|
3
|
-
articleContent,
|
|
4
|
-
articleUrl,
|
|
5
|
-
className
|
|
6
|
-
}) => {
|
|
7
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
8
|
-
const [copySuccess, setCopySuccess] = useState(false);
|
|
9
|
-
const dropdownRef = useRef(null);
|
|
10
|
-
// Close dropdown when clicking outside
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
const handleClickOutside = event => {
|
|
13
|
-
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
14
|
-
setIsOpen(false);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
if (isOpen) {
|
|
18
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
19
|
-
}
|
|
20
|
-
return () => {
|
|
21
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
22
|
-
};
|
|
23
|
-
}, [isOpen]);
|
|
24
|
-
// Convert HTML to Markdown (simplified version)
|
|
25
|
-
const htmlToMarkdown = html => {
|
|
26
|
-
// Remove script and style tags
|
|
27
|
-
let text = html.replace(/<script[^>]*>[\s\S]*?<\/script>/gi, '');
|
|
28
|
-
text = text.replace(/<style[^>]*>[\s\S]*?<\/style>/gi, '');
|
|
29
|
-
// Convert headings
|
|
30
|
-
text = text.replace(/<h([1-6])[^>]*>(.*?)<\/h\1>/gi, (match, level, content) => {
|
|
31
|
-
const hashes = '#'.repeat(parseInt(level));
|
|
32
|
-
return `\n${hashes} ${content.trim()}\n`;
|
|
33
|
-
});
|
|
34
|
-
// Convert bold
|
|
35
|
-
text = text.replace(/<strong[^>]*>(.*?)<\/strong>/gi, '**$1**');
|
|
36
|
-
text = text.replace(/<b[^>]*>(.*?)<\/b>/gi, '**$1**');
|
|
37
|
-
// Convert italic
|
|
38
|
-
text = text.replace(/<em[^>]*>(.*?)<\/em>/gi, '*$1*');
|
|
39
|
-
text = text.replace(/<i[^>]*>(.*?)<\/i>/gi, '*$1*');
|
|
40
|
-
// Convert links
|
|
41
|
-
text = text.replace(/<a[^>]*href=["']([^"']*)["'][^>]*>(.*?)<\/a>/gi, '[$2]($1)');
|
|
42
|
-
// Convert code blocks
|
|
43
|
-
text = text.replace(/<pre[^>]*><code[^>]*>(.*?)<\/code><\/pre>/gis, '```\n$1\n```');
|
|
44
|
-
text = text.replace(/<code[^>]*>(.*?)<\/code>/gi, '`$1`');
|
|
45
|
-
// Convert lists
|
|
46
|
-
text = text.replace(/<ul[^>]*>(.*?)<\/ul>/gis, (match, content) => {
|
|
47
|
-
const items = content.match(/<li[^>]*>(.*?)<\/li>/gis) || [];
|
|
48
|
-
return '\n' + items.map(item => {
|
|
49
|
-
const cleanItem = item.replace(/<li[^>]*>|<\/li>/gi, '').trim();
|
|
50
|
-
return `- ${cleanItem}`;
|
|
51
|
-
}).join('\n') + '\n';
|
|
52
|
-
});
|
|
53
|
-
text = text.replace(/<ol[^>]*>(.*?)<\/ol>/gis, (match, content) => {
|
|
54
|
-
const items = content.match(/<li[^>]*>(.*?)<\/li>/gis) || [];
|
|
55
|
-
return '\n' + items.map((item, index) => {
|
|
56
|
-
const cleanItem = item.replace(/<li[^>]*>|<\/li>/gi, '').trim();
|
|
57
|
-
return `${index + 1}. ${cleanItem}`;
|
|
58
|
-
}).join('\n') + '\n';
|
|
59
|
-
});
|
|
60
|
-
// Convert paragraphs
|
|
61
|
-
text = text.replace(/<p[^>]*>(.*?)<\/p>/gi, '$1\n\n');
|
|
62
|
-
// Remove remaining HTML tags
|
|
63
|
-
text = text.replace(/<[^>]+>/g, '');
|
|
64
|
-
// Decode HTML entities
|
|
65
|
-
const textarea = document.createElement('textarea');
|
|
66
|
-
textarea.innerHTML = text;
|
|
67
|
-
text = textarea.value;
|
|
68
|
-
// Clean up extra whitespace
|
|
69
|
-
text = text.replace(/\n{3,}/g, '\n\n').trim();
|
|
70
|
-
return `# ${articleTitle}\n\n${text}`;
|
|
71
|
-
};
|
|
72
|
-
const handleCopyMarkdown = async () => {
|
|
73
|
-
try {
|
|
74
|
-
const markdown = htmlToMarkdown(articleContent);
|
|
75
|
-
await navigator.clipboard.writeText(markdown);
|
|
76
|
-
setCopySuccess(true);
|
|
77
|
-
setIsOpen(false);
|
|
78
|
-
setTimeout(() => setCopySuccess(false), 2000);
|
|
79
|
-
} catch (err) {
|
|
80
|
-
console.error('Failed to copy:', err);
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
const handleOpenChatGPT = () => {
|
|
84
|
-
const url = `https://chat.openai.com/?q=${encodeURIComponent(articleTitle)}`;
|
|
85
|
-
window.open(url, '_blank');
|
|
86
|
-
setIsOpen(false);
|
|
87
|
-
};
|
|
88
|
-
const handleOpenClaude = () => {
|
|
89
|
-
const url = `https://claude.ai/?q=${encodeURIComponent(articleTitle)}`;
|
|
90
|
-
window.open(url, '_blank');
|
|
91
|
-
setIsOpen(false);
|
|
92
|
-
};
|
|
93
|
-
return jsxs("div", {
|
|
94
|
-
className: cn('relative inline-flex items-center rounded-md border border-border bg-background', className),
|
|
95
|
-
ref: dropdownRef,
|
|
96
|
-
children: [jsxs("div", {
|
|
97
|
-
className: "flex items-center overflow-hidden rounded-md",
|
|
98
|
-
children: [jsxs("button", {
|
|
99
|
-
onClick: handleCopyMarkdown,
|
|
100
|
-
className: cn('flex items-center gap-2 px-3 py-1.5', 'bg-background hover:bg-muted/50 transition-colors', 'text-sm text-foreground', 'border-0'),
|
|
101
|
-
children: [jsx("svg", {
|
|
102
|
-
className: "w-4 h-4",
|
|
103
|
-
fill: "none",
|
|
104
|
-
stroke: "currentColor",
|
|
105
|
-
viewBox: "0 0 24 24",
|
|
106
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
107
|
-
children: jsx("path", {
|
|
108
|
-
strokeLinecap: "round",
|
|
109
|
-
strokeLinejoin: "round",
|
|
110
|
-
strokeWidth: 2,
|
|
111
|
-
d: "M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"
|
|
112
|
-
})
|
|
113
|
-
}), jsx("span", {
|
|
114
|
-
children: copySuccess ? 'Copied' : 'Copy page'
|
|
115
|
-
})]
|
|
116
|
-
}), jsx("div", {
|
|
117
|
-
className: "h-5 w-px bg-border"
|
|
118
|
-
}), jsx("button", {
|
|
119
|
-
onClick: e => {
|
|
120
|
-
e.stopPropagation();
|
|
121
|
-
setIsOpen(!isOpen);
|
|
122
|
-
},
|
|
123
|
-
className: cn('flex items-center justify-center px-2 py-1.5', 'bg-background hover:bg-muted/50 transition-colors', 'text-sm text-foreground', 'border-0'),
|
|
124
|
-
children: jsx("svg", {
|
|
125
|
-
className: cn('w-3 h-3 transition-transform', isOpen && 'rotate-180'),
|
|
126
|
-
fill: "none",
|
|
127
|
-
stroke: "currentColor",
|
|
128
|
-
viewBox: "0 0 24 24",
|
|
129
|
-
children: jsx("path", {
|
|
130
|
-
strokeLinecap: "round",
|
|
131
|
-
strokeLinejoin: "round",
|
|
132
|
-
strokeWidth: 2,
|
|
133
|
-
d: "M19 9l-7 7-7-7"
|
|
134
|
-
})
|
|
135
|
-
})
|
|
136
|
-
})]
|
|
137
|
-
}), isOpen && jsx("div", {
|
|
138
|
-
className: "absolute right-0 top-full mt-2 w-64 bg-background border border-border rounded-lg shadow-lg z-[100] overflow-hidden",
|
|
139
|
-
children: jsxs("div", {
|
|
140
|
-
className: "py-1",
|
|
141
|
-
children: [jsxs("button", {
|
|
142
|
-
onClick: handleCopyMarkdown,
|
|
143
|
-
className: "w-full px-4 py-3 text-left hover:bg-muted/50 transition-colors flex items-start gap-3 group",
|
|
144
|
-
children: [jsx("svg", {
|
|
145
|
-
className: "w-5 h-5 text-muted-foreground group-hover:text-foreground mt-0.5 flex-shrink-0",
|
|
146
|
-
fill: "none",
|
|
147
|
-
stroke: "currentColor",
|
|
148
|
-
viewBox: "0 0 24 24",
|
|
149
|
-
children: jsx("path", {
|
|
150
|
-
strokeLinecap: "round",
|
|
151
|
-
strokeLinejoin: "round",
|
|
152
|
-
strokeWidth: 2,
|
|
153
|
-
d: "M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"
|
|
154
|
-
})
|
|
155
|
-
}), jsxs("div", {
|
|
156
|
-
className: "flex-1 min-w-0",
|
|
157
|
-
children: [jsx("div", {
|
|
158
|
-
className: "text-sm font-medium text-foreground",
|
|
159
|
-
children: "Copy page"
|
|
160
|
-
}), jsx("div", {
|
|
161
|
-
className: "text-xs text-muted-foreground mt-0.5",
|
|
162
|
-
children: "Copy page as Markdown for LLMs"
|
|
163
|
-
})]
|
|
164
|
-
})]
|
|
165
|
-
}), jsxs("button", {
|
|
166
|
-
onClick: handleOpenChatGPT,
|
|
167
|
-
className: "w-full px-4 py-3 text-left hover:bg-muted/50 transition-colors flex items-start gap-3 group",
|
|
168
|
-
children: [jsx("div", {
|
|
169
|
-
className: "w-5 h-5 mt-0.5 flex-shrink-0 flex items-center justify-center",
|
|
170
|
-
children: jsx("span", {
|
|
171
|
-
className: "text-lg",
|
|
172
|
-
children: "\uD83E\uDD16"
|
|
173
|
-
})
|
|
174
|
-
}), jsxs("div", {
|
|
175
|
-
className: "flex-1 min-w-0",
|
|
176
|
-
children: [jsx("div", {
|
|
177
|
-
className: "text-sm font-medium text-foreground",
|
|
178
|
-
children: "Open in ChatGPT"
|
|
179
|
-
}), jsx("div", {
|
|
180
|
-
className: "text-xs text-muted-foreground mt-0.5",
|
|
181
|
-
children: "Ask questions about this page"
|
|
182
|
-
})]
|
|
183
|
-
}), jsx("svg", {
|
|
184
|
-
className: "w-4 h-4 text-muted-foreground group-hover:text-foreground mt-1 flex-shrink-0",
|
|
185
|
-
fill: "none",
|
|
186
|
-
stroke: "currentColor",
|
|
187
|
-
viewBox: "0 0 24 24",
|
|
188
|
-
children: jsx("path", {
|
|
189
|
-
strokeLinecap: "round",
|
|
190
|
-
strokeLinejoin: "round",
|
|
191
|
-
strokeWidth: 2,
|
|
192
|
-
d: "M9 5l7 7-7 7"
|
|
193
|
-
})
|
|
194
|
-
})]
|
|
195
|
-
}), jsxs("button", {
|
|
196
|
-
onClick: handleOpenClaude,
|
|
197
|
-
className: "w-full px-4 py-3 text-left hover:bg-muted/50 transition-colors flex items-start gap-3 group",
|
|
198
|
-
children: [jsx("div", {
|
|
199
|
-
className: "w-5 h-5 mt-0.5 flex-shrink-0 flex items-center justify-center",
|
|
200
|
-
children: jsx("span", {
|
|
201
|
-
className: "text-lg",
|
|
202
|
-
children: "\u2744\uFE0F"
|
|
203
|
-
})
|
|
204
|
-
}), jsxs("div", {
|
|
205
|
-
className: "flex-1 min-w-0",
|
|
206
|
-
children: [jsx("div", {
|
|
207
|
-
className: "text-sm font-medium text-foreground",
|
|
208
|
-
children: "Open in Claude"
|
|
209
|
-
}), jsx("div", {
|
|
210
|
-
className: "text-xs text-muted-foreground mt-0.5",
|
|
211
|
-
children: "Ask questions about this page"
|
|
212
|
-
})]
|
|
213
|
-
}), jsx("svg", {
|
|
214
|
-
className: "w-4 h-4 text-muted-foreground group-hover:text-foreground mt-1 flex-shrink-0",
|
|
215
|
-
fill: "none",
|
|
216
|
-
stroke: "currentColor",
|
|
217
|
-
viewBox: "0 0 24 24",
|
|
218
|
-
children: jsx("path", {
|
|
219
|
-
strokeLinecap: "round",
|
|
220
|
-
strokeLinejoin: "round",
|
|
221
|
-
strokeWidth: 2,
|
|
222
|
-
d: "M9 5l7 7-7 7"
|
|
223
|
-
})
|
|
224
|
-
})]
|
|
225
|
-
})]
|
|
226
|
-
})
|
|
227
|
-
})]
|
|
228
|
-
});
|
|
229
|
-
};export{CopyPageButton};//# sourceMappingURL=CopyPageButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CopyPageButton.js","sources":["../../../../src/pages/ArticlePage/components/CopyPageButton.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface Heading {
|
|
3
|
-
id: string;
|
|
4
|
-
text: string;
|
|
5
|
-
level: number;
|
|
6
|
-
}
|
|
7
|
-
interface TableOfContentsProps {
|
|
8
|
-
headings: Heading[];
|
|
9
|
-
activeHeadingId: string;
|
|
10
|
-
onHeadingClick?: (headingId: string) => void;
|
|
11
|
-
className?: string;
|
|
12
|
-
}
|
|
13
|
-
export declare const TableOfContents: React.FC<TableOfContentsProps>;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=TableOfContents.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableOfContents.d.ts","sourceRoot":"","sources":["../../../../src/pages/ArticlePage/components/TableOfContents.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,OAAO;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,oBAAoB;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA6E1D,CAAC"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import {jsx,jsxs}from'react/jsx-runtime';import {Link}from'@remix-run/react';import {cn}from'../../../utils/index.js';const TableOfContents = ({
|
|
2
|
-
headings,
|
|
3
|
-
activeHeadingId,
|
|
4
|
-
onHeadingClick,
|
|
5
|
-
className
|
|
6
|
-
}) => {
|
|
7
|
-
if (!headings || headings.length === 0) {
|
|
8
|
-
return null;
|
|
9
|
-
}
|
|
10
|
-
const handleClick = headingId => {
|
|
11
|
-
// Immediately set the active heading when clicked
|
|
12
|
-
if (onHeadingClick) {
|
|
13
|
-
onHeadingClick(headingId);
|
|
14
|
-
}
|
|
15
|
-
// Smooth scroll to the heading with proper offset
|
|
16
|
-
const element = document.getElementById(headingId);
|
|
17
|
-
if (element) {
|
|
18
|
-
// Calculate the position with offset for header
|
|
19
|
-
const elementPosition = element.getBoundingClientRect().top + window.pageYOffset;
|
|
20
|
-
const offsetPosition = elementPosition - 100; // 100px offset from top
|
|
21
|
-
window.scrollTo({
|
|
22
|
-
top: offsetPosition,
|
|
23
|
-
behavior: 'smooth'
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
return jsx("aside", {
|
|
28
|
-
className: "hidden xl:block xl:w-80 xl:flex-shrink-0 max-w-[28rem]",
|
|
29
|
-
children: jsxs("div", {
|
|
30
|
-
className: "fixed flex flex-col h-[calc(100vh-3rem)] w-[19rem]",
|
|
31
|
-
children: [jsx("div", {
|
|
32
|
-
className: "mb-4 flex-shrink-0",
|
|
33
|
-
children: jsxs("h2", {
|
|
34
|
-
className: "text-sm font-semibold text-primary flex items-center",
|
|
35
|
-
children: [jsx("span", {
|
|
36
|
-
className: "mr-2",
|
|
37
|
-
children: "\u2630"
|
|
38
|
-
}), "On this page"]
|
|
39
|
-
})
|
|
40
|
-
}), jsx("nav", {
|
|
41
|
-
className: "space-y-1 flex-1 overflow-y-auto overflow-x-hidden min-h-0",
|
|
42
|
-
children: headings.map((heading, index) => {
|
|
43
|
-
const isActive = activeHeadingId === heading.id;
|
|
44
|
-
return jsx(Link, {
|
|
45
|
-
to: `#${heading.id}`,
|
|
46
|
-
onClick: e => {
|
|
47
|
-
e.preventDefault();
|
|
48
|
-
handleClick(heading.id);
|
|
49
|
-
},
|
|
50
|
-
className: cn('relative block text-sm transition-colors py-1 pl-4', 'border-l-2 border-transparent', isActive ? 'text-primary border-l-primary bg-muted/20' : 'text-muted-foreground hover:text-primary hover:border-l-primary', heading.level === 1 ? 'font-semibold' : heading.level === 2 ? 'ml-2' : heading.level === 3 ? 'ml-4' : heading.level === 4 ? 'ml-6' : heading.level === 5 ? 'ml-8' : 'ml-10'),
|
|
51
|
-
children: heading.text
|
|
52
|
-
}, index);
|
|
53
|
-
})
|
|
54
|
-
})]
|
|
55
|
-
})
|
|
56
|
-
});
|
|
57
|
-
};export{TableOfContents};//# sourceMappingURL=TableOfContents.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableOfContents.js","sources":["../../../../src/pages/ArticlePage/components/TableOfContents.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"sHAiBO,MAAM,eAAe,GAAmC,CAAC;;AAOxD,EAAA;gBACH;AAED,EAAA;;eAEQ,IAAA,SAAgB,MAAC,KAAA,CAAA,EAAA;eACH;;QAGlB,WAAkD,GAAA,SAAA,IAAA;;QAElD,cAAc,EAAA;oBACsC,CAAA,SAAA,CAAA;AAChD;AACA;iBAEM,WAAU,CAAA,cAAA,CAAA,SAAA,CAAA;AACZ,IAAA,IAAA,OAAA,EAAA;AACA;AACH,MAAA,MAAA,eAAE,GAAA,OAAA,CAAA,qBAAA,EAAA,CAAA,GAAA,GAAA,MAAA,CAAA,WAAA;YACN,cAAA,GAAA,eAAA,GAAA,GAAA,CAAA;AACL,MAAE,MAAA,CAAA,QAAA,CAAA;AAEF,QAAA,GAAO,EACI,cAAA;AAUS,QAAA,QAAA,EAAA;AACA,OAAA,CAAA;;AAMY,GAAA;;AAMI,IAAA,SAAA,EAAA,wDAA6C;AAC7C,IAAA,QAAA,EAAAA,IAAA,CAAA,KAAA,EAAA;AAEA,MAAA,SAAA,EAAA,oDAAiB;AACjB,MAAA,QAAA,EAAA,CAAAC,GAAA,CAAA,KAAA,EAAA;AACE,QAAA,SAAA,EAAA,oBAAQ;AACR,QAAA,QAAA,EAAAD,IAAA,CAAA,IAAA,EAAA;AACE,UAAA,SAAA,EAAA,sDAAQ;AACR,UAAA,QAAA,EAAA,CAAAC,GAAA,CAAA,MAAA,EAAA;AACE,YAAA,SAAA,EAAA,MAAA;AACA,YAAA,QAAA,EAAA;AACE,WAAA,CAAA,EAAA,cAAA;;AAO5B,OAAA,CAAA,EAAAA,GAAA,CAAA,KAAA,EAAE;AAKtB,QAAE,SAAA,EAAA,4DAAA;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pages/ArticlePage/index.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,gBAAgB,+CAMrB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import {jsx}from'react/jsx-runtime';import {ArticlePage}from'./ArticlePage.js';import {ArticlePageLayout}from'./ArticlePageLayout.js';const ArticlePageIndex = () => {
|
|
2
|
-
return jsx(ArticlePageLayout, {
|
|
3
|
-
children: jsx(ArticlePage, {})
|
|
4
|
-
});
|
|
5
|
-
};export{ArticlePageIndex as default};//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/pages/ArticlePage/index.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"sIAGM,MAAA,gBAAgB,GAAG,MAAK;SACnBA,qBACe,EAAA;AAI1B,IAAE,QAAA,EAAAA,GAAA,CAAA,WAAA,EAAA,EAAA;AAEF,GAAA,CAAA;"}
|