@san-siva/blogkit 1.1.42 → 1.1.44
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/dist/cjs/components/Blog.js +2 -2
- package/dist/cjs/components/Blog.js.map +1 -1
- package/dist/cjs/components/Checkbox.js +14 -0
- package/dist/cjs/components/Checkbox.js.map +1 -0
- package/dist/cjs/components/WidthModeToggle.js +18 -0
- package/dist/cjs/components/WidthModeToggle.js.map +1 -0
- package/dist/cjs/context/WidthModeContext.js +23 -0
- package/dist/cjs/context/WidthModeContext.js.map +1 -0
- package/dist/cjs/dynamicComponents/BlogDynamic.js +2 -2
- package/dist/cjs/dynamicComponents/BlogDynamic.js.map +1 -1
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/index.css.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/staticComponents/BlogStatic.js +2 -2
- package/dist/cjs/staticComponents/BlogStatic.js.map +1 -1
- package/dist/cjs/staticComponents/CheckListStatic.js +2 -1
- package/dist/cjs/staticComponents/CheckListStatic.js.map +1 -1
- package/dist/cjs/styles/Blog.module.scss.js +1 -1
- package/dist/esm/components/Blog.js +2 -2
- package/dist/esm/components/Blog.js.map +1 -1
- package/dist/esm/components/Checkbox.js +10 -0
- package/dist/esm/components/Checkbox.js.map +1 -0
- package/dist/esm/components/WidthModeToggle.js +14 -0
- package/dist/esm/components/WidthModeToggle.js.map +1 -0
- package/dist/esm/context/WidthModeContext.js +20 -0
- package/dist/esm/context/WidthModeContext.js.map +1 -0
- package/dist/esm/dynamicComponents/BlogDynamic.js +2 -2
- package/dist/esm/dynamicComponents/BlogDynamic.js.map +1 -1
- package/dist/esm/index.css +1 -1
- package/dist/esm/index.css.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/staticComponents/BlogStatic.js +2 -2
- package/dist/esm/staticComponents/BlogStatic.js.map +1 -1
- package/dist/esm/staticComponents/CheckListStatic.js +2 -1
- package/dist/esm/staticComponents/CheckListStatic.js.map +1 -1
- package/dist/esm/styles/Blog.module.scss.js +1 -1
- package/dist/types/components/Blog.d.ts +2 -1
- package/dist/types/components/Blog.d.ts.map +1 -1
- package/dist/types/components/Checkbox.d.ts +7 -0
- package/dist/types/components/Checkbox.d.ts.map +1 -0
- package/dist/types/components/Checkbox.test.d.ts +2 -0
- package/dist/types/components/Checkbox.test.d.ts.map +1 -0
- package/dist/types/components/WidthModeToggle.d.ts +3 -0
- package/dist/types/components/WidthModeToggle.d.ts.map +1 -0
- package/dist/types/context/WidthModeContext.d.ts +12 -0
- package/dist/types/context/WidthModeContext.d.ts.map +1 -0
- package/dist/types/dynamicComponents/BlogDynamic.d.ts +2 -1
- package/dist/types/dynamicComponents/BlogDynamic.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/staticComponents/BlogStatic.d.ts +2 -1
- package/dist/types/staticComponents/BlogStatic.d.ts.map +1 -1
- package/dist/types/staticComponents/CheckListStatic.d.ts +1 -0
- package/dist/types/staticComponents/CheckListStatic.d.ts.map +1 -1
- package/dist/types/staticComponents/CheckListStatic.test.d.ts +2 -0
- package/dist/types/staticComponents/CheckListStatic.test.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/components/Blog.tsx +4 -3
- package/src/components/Checkbox.test.tsx +32 -0
- package/src/components/Checkbox.tsx +24 -0
- package/src/dynamicComponents/BlogDynamic.tsx +3 -1
- package/src/index.ts +1 -0
- package/src/staticComponents/BlogStatic.tsx +4 -2
- package/src/staticComponents/CheckListStatic.test.tsx +29 -0
- package/src/staticComponents/CheckListStatic.tsx +3 -5
- package/src/styles/Blog.module.scss +22 -4
- package/src/styles/Blog.module.scss.d.ts +1 -0
package/dist/cjs/index.js
CHANGED
|
@@ -9,6 +9,7 @@ var Mermaid = require('./components/Mermaid.js');
|
|
|
9
9
|
var BlogLink = require('./components/BlogLink.js');
|
|
10
10
|
var Table = require('./components/Table.js');
|
|
11
11
|
var CheckList = require('./components/CheckList.js');
|
|
12
|
+
var Checkbox = require('./components/Checkbox.js');
|
|
12
13
|
var index = require('./utils/index.js');
|
|
13
14
|
|
|
14
15
|
|
|
@@ -22,6 +23,7 @@ exports.Mermaid = Mermaid.default;
|
|
|
22
23
|
exports.BlogLink = BlogLink.default;
|
|
23
24
|
exports.Table = Table.default;
|
|
24
25
|
exports.CheckList = CheckList.default;
|
|
26
|
+
exports.Checkbox = Checkbox.default;
|
|
25
27
|
exports.generateIdForBlogTitle = index.generateIdForBlogTitle;
|
|
26
28
|
exports.generateUrlForBlogTitle = index.generateUrlForBlogTitle;
|
|
27
29
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var Blog_module = require('../styles/Blog.module.scss.js');
|
|
7
7
|
|
|
8
|
-
const BlogStatic = ({ children, jsonLd }) => {
|
|
9
|
-
return (jsxRuntime.jsxs("div", { className: Blog_module.default.blog
|
|
8
|
+
const BlogStatic = ({ children, jsonLd, increasedWidthMode = false }) => {
|
|
9
|
+
return (jsxRuntime.jsxs("div", { className: `${Blog_module.default.blog} ${increasedWidthMode ? Blog_module.default['blog--increased-width'] : ''}`, children: [jsonLd && (jsxRuntime.jsx("script", { type: "application/ld+json", dangerouslySetInnerHTML: { __html: JSON.stringify(jsonLd) } })), jsxRuntime.jsx("div", { className: Blog_module.default['blog__content'], children: children })] }));
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
exports.default = BlogStatic;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlogStatic.js","sources":["../../../src/staticComponents/BlogStatic.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { Thing, WithContext } from 'schema-dts';\nimport styles from '../styles/Blog.module.scss';\n\ninterface BlogStaticProperties {\n\tchildren: ReactNode;\n\tjsonLd?: WithContext<Thing>;\n}\n\nconst BlogStatic = ({ children, jsonLd }: BlogStaticProperties) => {\n\treturn (\n\t\t<div className={styles.blog}>\n\t\t\t{jsonLd && (\n\t\t\t\t<script\n\t\t\t\t\ttype=\"application/ld+json\"\n\t\t\t\t\tdangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<div className={styles['blog__content']}>{children}</div>\n\t\t</div>\n\t);\n};\n\nexport default BlogStatic;\n"],"names":["_jsxs","styles","_jsx"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"BlogStatic.js","sources":["../../../src/staticComponents/BlogStatic.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { Thing, WithContext } from 'schema-dts';\nimport styles from '../styles/Blog.module.scss';\n\ninterface BlogStaticProperties {\n\tchildren: ReactNode;\n\tjsonLd?: WithContext<Thing>;\n\tincreasedWidthMode?: boolean;\n}\n\nconst BlogStatic = ({ children, jsonLd, increasedWidthMode = false }: BlogStaticProperties) => {\n\treturn (\n\t\t<div className={`${styles.blog} ${increasedWidthMode ? styles['blog--increased-width'] : ''}`}>\n\n\t\t\t{jsonLd && (\n\t\t\t\t<script\n\t\t\t\t\ttype=\"application/ld+json\"\n\t\t\t\t\tdangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<div className={styles['blog__content']}>{children}</div>\n\t\t</div>\n\t);\n};\n\nexport default BlogStatic;\n"],"names":["_jsxs","styles","_jsx"],"mappings":";;;;;;;AAUA,MAAM,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,GAAG,KAAK,EAAwB,KAAI;IAC7F,QACCA,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAA,EAAGC,mBAAM,CAAC,IAAI,CAAA,CAAA,EAAI,kBAAkB,GAAGA,mBAAM,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAA,CAAE,EAAA,QAAA,EAAA,CAE3F,MAAM,KACNC,cAAA,CAAA,QAAA,EAAA,EACC,IAAI,EAAC,qBAAqB,EAC1B,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAA,CAC1D,CACF,EACDA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,mBAAM,CAAC,eAAe,CAAC,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAO,CAAA,EAAA,CACpD;AAER;;;;"}
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var Checkbox = require('../components/Checkbox.js');
|
|
6
7
|
var CheckList_module = require('../styles/CheckList.module.scss.js');
|
|
7
8
|
|
|
8
9
|
const CheckListStatic = ({ items, hasMarginUp = false, hasMarginDown = false, }) => {
|
|
9
|
-
return (jsxRuntime.jsx("div", { className: `${CheckList_module.default['check-list']} ${hasMarginUp ? CheckList_module.default['margin-top--1'] : ''} ${hasMarginDown ? CheckList_module.default['margin-bottom--2'] : ''}`, children: items.map((item) => (jsxRuntime.jsxs("div", { className: CheckList_module.default['check-list__item'], "data-id": item.id, children: [jsxRuntime.jsx(
|
|
10
|
+
return (jsxRuntime.jsx("div", { className: `${CheckList_module.default['check-list']} ${hasMarginUp ? CheckList_module.default['margin-top--1'] : ''} ${hasMarginDown ? CheckList_module.default['margin-bottom--2'] : ''}`, children: items.map((item) => (jsxRuntime.jsxs("div", { className: CheckList_module.default['check-list__item'], "data-id": item.id, children: [jsxRuntime.jsx(Checkbox.default, { isChecked: item.isChecked, onClick: item.onClick }), item.children] }, item.id))) }));
|
|
10
11
|
};
|
|
11
12
|
|
|
12
13
|
exports.default = CheckListStatic;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckListStatic.js","sources":["../../../src/staticComponents/CheckListStatic.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactElement } from 'react';\n\nimport styles from '../styles/CheckList.module.scss';\n\nexport interface CheckListItem {\n\tid: string;\n\tchildren: ReactElement<HTMLAttributes<HTMLParagraphElement>, 'p'>;\n\tisChecked?: boolean;\n}\n\ninterface CheckListProperties {\n\titems: CheckListItem[];\n\thasMarginUp?: boolean;\n\thasMarginDown?: boolean;\n}\n\nconst CheckListStatic = ({\n\titems,\n\thasMarginUp = false,\n\thasMarginDown = false,\n}: CheckListProperties) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={`${styles['check-list']} ${hasMarginUp ? styles['margin-top--1'] : ''} ${\n\t\t\t\thasMarginDown ? styles['margin-bottom--2'] : ''\n\t\t\t}`}\n\t\t>\n\t\t\t{items.map((item) => (\n\t\t\t\t<div key={item.id} className={styles['check-list__item']} data-id={item.id}>\n\t\t\t\t\t<
|
|
1
|
+
{"version":3,"file":"CheckListStatic.js","sources":["../../../src/staticComponents/CheckListStatic.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactElement } from 'react';\n\nimport Checkbox from '../components/Checkbox';\nimport styles from '../styles/CheckList.module.scss';\n\nexport interface CheckListItem {\n\tid: string;\n\tchildren: ReactElement<HTMLAttributes<HTMLParagraphElement>, 'p'>;\n\tisChecked?: boolean;\n\tonClick?: () => void;\n}\n\ninterface CheckListProperties {\n\titems: CheckListItem[];\n\thasMarginUp?: boolean;\n\thasMarginDown?: boolean;\n}\n\nconst CheckListStatic = ({\n\titems,\n\thasMarginUp = false,\n\thasMarginDown = false,\n}: CheckListProperties) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={`${styles['check-list']} ${hasMarginUp ? styles['margin-top--1'] : ''} ${\n\t\t\t\thasMarginDown ? styles['margin-bottom--2'] : ''\n\t\t\t}`}\n\t\t>\n\t\t\t{items.map((item) => (\n\t\t\t\t<div key={item.id} className={styles['check-list__item']} data-id={item.id}>\n\t\t\t\t\t<Checkbox isChecked={item.isChecked} onClick={item.onClick} />\n\t\t\t\t\t{item.children}\n\t\t\t\t</div>\n\t\t\t))}\n\t\t</div>\n\t);\n};\n\nexport default CheckListStatic;\n"],"names":["_jsx","styles","_jsxs","Checkbox"],"mappings":";;;;;;;;AAkBA,MAAM,eAAe,GAAG,CAAC,EACxB,KAAK,EACL,WAAW,GAAG,KAAK,EACnB,aAAa,GAAG,KAAK,GACA,KAAI;AACzB,IAAA,QACCA,cAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAE,CAAA,EAAGC,wBAAM,CAAC,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,GAAGA,wBAAM,CAAC,eAAe,CAAC,GAAG,EAAE,IAC/E,aAAa,GAAGA,wBAAM,CAAC,kBAAkB,CAAC,GAAG,EAC9C,CAAA,CAAE,EAAA,QAAA,EAED,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MACfC,eAAA,CAAA,KAAA,EAAA,EAAmB,SAAS,EAAED,wBAAM,CAAC,kBAAkB,CAAC,aAAW,IAAI,CAAC,EAAE,EAAA,QAAA,EAAA,CACzED,cAAA,CAACG,gBAAQ,EAAA,EAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAA,CAAI,EAC7D,IAAI,CAAC,QAAQ,CAAA,EAAA,EAFL,IAAI,CAAC,EAAE,CAGX,CACN,CAAC,EAAA,CACG;AAER;;;;"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var styles = {"margin-bottom--3":"Blog-module_margin-bottom--3__ir35O","category__header":"Blog-module_category__header__F1K0V","blog":"Blog-module_blog__Lpv6Z","blog__content":"Blog-module_blog__content__RMDiY","blog__sidebar":"Blog-module_blog__sidebar__uSu3l"};
|
|
5
|
+
var styles = {"margin-bottom--3":"Blog-module_margin-bottom--3__ir35O","category__header":"Blog-module_category__header__F1K0V","blog":"Blog-module_blog__Lpv6Z","blog__content":"Blog-module_blog__content__RMDiY","blog__sidebar":"Blog-module_blog__sidebar__uSu3l","blog--increased-width":"Blog-module_blog--increased-width__QxyOD"};
|
|
6
6
|
|
|
7
7
|
exports.default = styles;
|
|
8
8
|
//# sourceMappingURL=Blog.module.scss.js.map
|
|
@@ -4,8 +4,8 @@ import { lazy, Suspense } from 'react';
|
|
|
4
4
|
import BlogStatic from '../staticComponents/BlogStatic.js';
|
|
5
5
|
|
|
6
6
|
const BlogDynamic = lazy(() => import('../dynamicComponents/BlogDynamic.js'));
|
|
7
|
-
const Blog = ({ children, title = 'In this article', jsonLd }) => {
|
|
8
|
-
return (jsx(Suspense, { fallback: jsx(BlogStatic, { jsonLd: jsonLd, children: children }), children: jsx(BlogDynamic, { title: title, jsonLd: jsonLd, children: children }) }));
|
|
7
|
+
const Blog = ({ children, title = 'In this article', jsonLd, increasedWidthMode = false }) => {
|
|
8
|
+
return (jsx(Suspense, { fallback: jsx(BlogStatic, { jsonLd: jsonLd, increasedWidthMode: increasedWidthMode, children: children }), children: jsx(BlogDynamic, { title: title, jsonLd: jsonLd, increasedWidthMode: increasedWidthMode, children: children }) }));
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
export { Blog as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blog.js","sources":["../../../src/components/Blog.tsx"],"sourcesContent":["'use client';\n\nimport { lazy, Suspense } from 'react';\nimport type { ReactNode } from 'react';\nimport type { Thing, WithContext } from 'schema-dts';\nimport BlogStatic from '../staticComponents/BlogStatic';\n\nconst BlogDynamic = lazy(() => import('../dynamicComponents/BlogDynamic'));\n\ninterface BlogProperties {\n\tchildren: ReactNode;\n\ttitle?: string;\n\tjsonLd?: WithContext<Thing>;\n}\n\nconst Blog = ({ children, title = 'In this article', jsonLd }: BlogProperties) => {\n\treturn (\n\t\t<Suspense fallback={<BlogStatic jsonLd={jsonLd}>{children}</BlogStatic>}>\n\t\t\t<BlogDynamic title={title} jsonLd={jsonLd}>{children}</BlogDynamic>\n\t\t</Suspense>\n\t);\n};\n\nexport default Blog;\n"],"names":["_jsx"],"mappings":";;;;AAOA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,OAAO,qCAAkC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Blog.js","sources":["../../../src/components/Blog.tsx"],"sourcesContent":["'use client';\n\nimport { lazy, Suspense } from 'react';\nimport type { ReactNode } from 'react';\nimport type { Thing, WithContext } from 'schema-dts';\nimport BlogStatic from '../staticComponents/BlogStatic';\n\nconst BlogDynamic = lazy(() => import('../dynamicComponents/BlogDynamic'));\n\ninterface BlogProperties {\n\tchildren: ReactNode;\n\ttitle?: string;\n\tjsonLd?: WithContext<Thing>;\n\tincreasedWidthMode?: boolean;\n}\n\nconst Blog = ({ children, title = 'In this article', jsonLd, increasedWidthMode = false }: BlogProperties) => {\n\treturn (\n\t\t<Suspense fallback={<BlogStatic jsonLd={jsonLd} increasedWidthMode={increasedWidthMode}>{children}</BlogStatic>}>\n\t\t\t<BlogDynamic title={title} jsonLd={jsonLd} increasedWidthMode={increasedWidthMode}>{children}</BlogDynamic>\n\t\t</Suspense>\n\t);\n};\n\nexport default Blog;\n"],"names":["_jsx"],"mappings":";;;;AAOA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,OAAO,qCAAkC,CAAC,CAAC;AAS1E,MAAM,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAG,iBAAiB,EAAE,MAAM,EAAE,kBAAkB,GAAG,KAAK,EAAkB,KAAI;AAC5G,IAAA,QACCA,GAAA,CAAC,QAAQ,EAAA,EAAC,QAAQ,EAAEA,GAAA,CAAC,UAAU,EAAA,EAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,YAAG,QAAQ,EAAA,CAAc,EAAA,QAAA,EAC9GA,GAAA,CAAC,WAAW,EAAA,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAe,EAAA,CACjG;AAEb;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import styles from '../styles/CheckList.module.scss.js';
|
|
4
|
+
|
|
5
|
+
const Checkbox = ({ isChecked = false, onClick }) => {
|
|
6
|
+
return (jsx("div", { className: `${styles['check-list__item__input']} ${isChecked ? styles['check-list__item__input--checked'] : ''}`, onClick: onClick, role: onClick ? 'checkbox' : undefined, "aria-checked": onClick ? isChecked : undefined, tabIndex: onClick ? 0 : undefined }));
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export { Checkbox as default };
|
|
10
|
+
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../../src/components/Checkbox.tsx"],"sourcesContent":["'use client';\n\nimport styles from '../styles/CheckList.module.scss';\n\ninterface CheckboxProperties {\n\tisChecked?: boolean;\n\tonClick?: () => void;\n}\n\nconst Checkbox = ({ isChecked = false, onClick }: CheckboxProperties) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={`${styles['check-list__item__input']} ${\n\t\t\t\tisChecked ? styles['check-list__item__input--checked'] : ''\n\t\t\t}`}\n\t\t\tonClick={onClick}\n\t\t\trole={onClick ? 'checkbox' : undefined}\n\t\t\taria-checked={onClick ? isChecked : undefined}\n\t\t\ttabIndex={onClick ? 0 : undefined}\n\t\t/>\n\t);\n};\n\nexport default Checkbox;\n"],"names":["_jsx"],"mappings":";;;AASA,MAAM,QAAQ,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,EAAE,OAAO,EAAsB,KAAI;AACvE,IAAA,QACCA,GAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAE,CAAA,EAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA,CAAA,EAC9C,SAAS,GAAG,MAAM,CAAC,kCAAkC,CAAC,GAAG,EAC1D,CAAA,CAAE,EACF,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,EAAA,cAAA,EACxB,OAAO,GAAG,SAAS,GAAG,SAAS,EAC7C,QAAQ,EAAE,OAAO,GAAG,CAAC,GAAG,SAAS,EAAA,CAChC;AAEJ;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useWidthMode } from '../context/WidthModeContext.js';
|
|
4
|
+
|
|
5
|
+
const WidthModeToggle = () => {
|
|
6
|
+
const widthMode = useWidthMode();
|
|
7
|
+
if (!widthMode)
|
|
8
|
+
return null;
|
|
9
|
+
const { increasedWidthMode, setIncreasedWidthMode } = widthMode;
|
|
10
|
+
return (jsxs("label", { style: { display: 'flex', alignItems: 'center', gap: '0.5rem' }, children: [jsx("input", { type: "checkbox", checked: increasedWidthMode, onChange: event => setIncreasedWidthMode(event.target.checked) }), "Increased width mode"] }));
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { WidthModeToggle as default };
|
|
14
|
+
//# sourceMappingURL=WidthModeToggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidthModeToggle.js","sources":["../../../src/components/WidthModeToggle.tsx"],"sourcesContent":["'use client';\n\nimport { useWidthMode } from '../context/WidthModeContext';\n\nconst WidthModeToggle = () => {\n\tconst widthMode = useWidthMode();\n\tif (!widthMode) return null;\n\n\tconst { increasedWidthMode, setIncreasedWidthMode } = widthMode;\n\n\treturn (\n\t\t<label style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}>\n\t\t\t<input\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tchecked={increasedWidthMode}\n\t\t\t\tonChange={event => setIncreasedWidthMode(event.target.checked)}\n\t\t\t/>\n\t\t\tIncreased width mode\n\t\t</label>\n\t);\n};\n\nexport default WidthModeToggle;\n"],"names":["_jsxs","_jsx"],"mappings":";;;AAIA,MAAM,eAAe,GAAG,MAAK;AAC5B,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,IAAA,IAAI,CAAC,SAAS;AAAE,QAAA,OAAO,IAAI;AAE3B,IAAA,MAAM,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,SAAS;IAE/D,QACCA,gBAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CACrEC,GAAA,CAAA,OAAA,EAAA,EACC,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,KAAK,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAA,CAC7D,EAAA,sBAAA,CAAA,EAAA,CAEK;AAEV;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { createContext, useContext, useState, useEffect } from 'react';
|
|
4
|
+
|
|
5
|
+
const STORAGE_KEY = 'blogkit:increased-width-mode';
|
|
6
|
+
const WidthModeContext = createContext(null);
|
|
7
|
+
const WidthModeProvider = ({ children }) => {
|
|
8
|
+
const [increasedWidthMode, setIncreasedWidthMode] = useState(false);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
setIncreasedWidthMode(localStorage.getItem(STORAGE_KEY) === 'true');
|
|
11
|
+
}, []);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
localStorage.setItem(STORAGE_KEY, String(increasedWidthMode));
|
|
14
|
+
}, [increasedWidthMode]);
|
|
15
|
+
return (jsx(WidthModeContext.Provider, { value: { increasedWidthMode, setIncreasedWidthMode }, children: children }));
|
|
16
|
+
};
|
|
17
|
+
const useWidthMode = () => useContext(WidthModeContext);
|
|
18
|
+
|
|
19
|
+
export { WidthModeProvider, useWidthMode };
|
|
20
|
+
//# sourceMappingURL=WidthModeContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidthModeContext.js","sources":["../../../src/context/WidthModeContext.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, useContext, useEffect, useState } from 'react';\nimport type { ReactNode } from 'react';\n\nconst STORAGE_KEY = 'blogkit:increased-width-mode';\n\ninterface WidthModeContextValue {\n\tincreasedWidthMode: boolean;\n\tsetIncreasedWidthMode: (value: boolean) => void;\n}\n\nconst WidthModeContext = createContext<WidthModeContextValue | null>(null);\n\ninterface WidthModeProviderProperties {\n\tchildren: ReactNode;\n}\n\nexport const WidthModeProvider = ({ children }: WidthModeProviderProperties) => {\n\tconst [increasedWidthMode, setIncreasedWidthMode] = useState(false);\n\n\tuseEffect(() => {\n\t\tsetIncreasedWidthMode(localStorage.getItem(STORAGE_KEY) === 'true');\n\t}, []);\n\n\tuseEffect(() => {\n\t\tlocalStorage.setItem(STORAGE_KEY, String(increasedWidthMode));\n\t}, [increasedWidthMode]);\n\n\treturn (\n\t\t<WidthModeContext.Provider\n\t\t\tvalue={{ increasedWidthMode, setIncreasedWidthMode }}\n\t\t>\n\t\t\t{children}\n\t\t</WidthModeContext.Provider>\n\t);\n};\n\nexport const useWidthMode = () => useContext(WidthModeContext);\n"],"names":["_jsx"],"mappings":";;;AAKA,MAAM,WAAW,GAAG,8BAA8B;AAOlD,MAAM,gBAAgB,GAAG,aAAa,CAA+B,IAAI,CAAC;MAM7D,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAA+B,KAAI;IAC9E,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAEnE,SAAS,CAAC,MAAK;QACd,qBAAqB,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC;IACpE,CAAC,EAAE,EAAE,CAAC;IAEN,SAAS,CAAC,MAAK;QACd,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC9D,IAAA,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;AAExB,IAAA,QACCA,GAAA,CAAC,gBAAgB,CAAC,QAAQ,IACzB,KAAK,EAAE,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,YAEnD,QAAQ,EAAA,CACkB;AAE9B;AAEO,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,gBAAgB;;;;"}
|
|
@@ -26,7 +26,7 @@ const buildTocTree = (entries) => {
|
|
|
26
26
|
}
|
|
27
27
|
return roots;
|
|
28
28
|
};
|
|
29
|
-
const Blog = ({ children, title = 'In this article', jsonLd, }) => {
|
|
29
|
+
const Blog = ({ children, title = 'In this article', jsonLd, increasedWidthMode = false, }) => {
|
|
30
30
|
const [visibleTitle, setVisibleTitle] = useState(null);
|
|
31
31
|
const [showTOC, setShowTOC] = useState(false);
|
|
32
32
|
const { categoryTitles, handleSectionReference } = useCategoryTitles({
|
|
@@ -43,7 +43,7 @@ const Blog = ({ children, title = 'In this article', jsonLd, }) => {
|
|
|
43
43
|
transform: showTOC ? 'translateX(0)' : 'translateX(40px)',
|
|
44
44
|
config: config.gentle,
|
|
45
45
|
});
|
|
46
|
-
return (jsxs("div", { className: styles.blog
|
|
46
|
+
return (jsxs("div", { className: `${styles.blog} ${increasedWidthMode ? styles['blog--increased-width'] : ''}`, children: [jsonLd && (jsx("script", { type: "application/ld+json", dangerouslySetInnerHTML: { __html: JSON.stringify(jsonLd) } })), jsx("div", { className: styles['blog__content'], children: Children.map(children, child => {
|
|
47
47
|
if (!isValidElement(child))
|
|
48
48
|
return child;
|
|
49
49
|
return cloneElement(child, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlogDynamic.js","sources":["../../../src/dynamicComponents/BlogDynamic.tsx"],"sourcesContent":["'use client';\n\nimport {\n\tChildren,\n\tcloneElement,\n\tisValidElement,\n\tuseState,\n} from 'react';\nimport { useSpring, animated, config } from '@react-spring/web';\n\nimport type { ReactNode, RefAttributes } from 'react';\nimport type { Thing, WithContext } from 'schema-dts';\n\nimport styles from '../styles/Blog.module.scss';\nimport { useCategoryTitles } from '../hooks/useCategoryTitles';\nimport { useSectionObserver } from '../hooks/useSectionObserver';\nimport type { CategoryTitleValue } from '../hooks/useCategoryTitles';\nimport TocNodeStatic from '../staticComponents/TocNodeStatic';\nimport type { TocNode } from '../staticComponents/TocNodeStatic';\n\ninterface BlogProperties {\n\tchildren: ReactNode;\n\ttitle?: string;\n\tjsonLd?: WithContext<Thing>;\n}\n\nexport interface ForwardedReference {\n\tparentRef: HTMLDivElement;\n\tchildRefs: ForwardedReference[];\n}\n\nconst MAX_TOC_DEPTH = 2;\n\nconst buildTocTree = (entries: [string, CategoryTitleValue][]): TocNode[] => {\n\tconst roots: TocNode[] = [];\n\tconst stack: TocNode[] = [];\n\tfor (const [id, { title, depth }] of entries.filter(([, { depth }]) => depth <= MAX_TOC_DEPTH)) {\n\t\tconst node: TocNode = { id, title, depth, children: [] };\n\t\twhile (stack.length > 0 && stack[stack.length - 1].depth >= depth) {\n\t\t\tstack.pop();\n\t\t}\n\t\tif (stack.length === 0) {\n\t\t\troots.push(node);\n\t\t} else {\n\t\t\tstack[stack.length - 1].children.push(node);\n\t\t}\n\t\tstack.push(node);\n\t}\n\treturn roots;\n};\n\nconst Blog = ({\n\tchildren,\n\ttitle = 'In this article',\n\tjsonLd,\n}: BlogProperties) => {\n\tconst [visibleTitle, setVisibleTitle] = useState<string | null>(null);\n\tconst [showTOC, setShowTOC] = useState(false);\n\n\tconst { categoryTitles, handleSectionReference } = useCategoryTitles({\n\t\tvisibleTitle,\n\t\tsetVisibleTitle,\n\t\tsetShowTOC,\n\t});\n\n\tconst { handleClickCategoryTitle } = useSectionObserver({\n\t\tcategoryTitles,\n\t\tsetVisibleTitle,\n\t});\n\n\tconst sidebarStyle = useSpring({\n\t\topacity: showTOC ? 1 : 0,\n\t\ttransform: showTOC ? 'translateX(0)' : 'translateX(40px)',\n\t\tconfig: config.gentle,\n\t});\n\n\treturn (\n\t\t<div className={styles.blog}>\n\t\t\t{jsonLd && (\n\t\t\t\t<script\n\t\t\t\t\ttype=\"application/ld+json\"\n\t\t\t\t\tdangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<div className={styles['blog__content']}>\n\t\t\t\t{Children.map(children, child => {\n\t\t\t\t\tif (!isValidElement(child)) return child;\n\t\t\t\t\treturn cloneElement(child, {\n\t\t\t\t\t\tref: handleSectionReference,\n\t\t\t\t\t} as RefAttributes<ForwardedReference>);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t\t<animated.div className={styles['blog__sidebar']} style={sidebarStyle}>\n\t\t\t\t<p\n\t\t\t\t\tclassName={`${styles['margin-bottom--3']} ${styles['category__header']}`}\n\t\t\t\t>\n\t\t\t\t\t{title}\n\t\t\t\t</p>\n\t\t\t\t{buildTocTree([...categoryTitles]).map((node, i) => (\n\t\t\t\t\t<TocNodeStatic\n\t\t\t\t\t\tkey={node.id}\n\t\t\t\t\t\tnode={node}\n\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\tvisibleTitle={visibleTitle}\n\t\t\t\t\t\tonClick={handleClickCategoryTitle}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</animated.div>\n\t\t</div>\n\t);\n};\n\nexport default Blog;\n"],"names":["_jsxs","_jsx","TocNodeStatic"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"BlogDynamic.js","sources":["../../../src/dynamicComponents/BlogDynamic.tsx"],"sourcesContent":["'use client';\n\nimport {\n\tChildren,\n\tcloneElement,\n\tisValidElement,\n\tuseState,\n} from 'react';\nimport { useSpring, animated, config } from '@react-spring/web';\n\nimport type { ReactNode, RefAttributes } from 'react';\nimport type { Thing, WithContext } from 'schema-dts';\n\nimport styles from '../styles/Blog.module.scss';\nimport { useCategoryTitles } from '../hooks/useCategoryTitles';\nimport { useSectionObserver } from '../hooks/useSectionObserver';\nimport type { CategoryTitleValue } from '../hooks/useCategoryTitles';\nimport TocNodeStatic from '../staticComponents/TocNodeStatic';\nimport type { TocNode } from '../staticComponents/TocNodeStatic';\n\ninterface BlogProperties {\n\tchildren: ReactNode;\n\ttitle?: string;\n\tjsonLd?: WithContext<Thing>;\n\tincreasedWidthMode?: boolean;\n}\n\nexport interface ForwardedReference {\n\tparentRef: HTMLDivElement;\n\tchildRefs: ForwardedReference[];\n}\n\nconst MAX_TOC_DEPTH = 2;\n\nconst buildTocTree = (entries: [string, CategoryTitleValue][]): TocNode[] => {\n\tconst roots: TocNode[] = [];\n\tconst stack: TocNode[] = [];\n\tfor (const [id, { title, depth }] of entries.filter(([, { depth }]) => depth <= MAX_TOC_DEPTH)) {\n\t\tconst node: TocNode = { id, title, depth, children: [] };\n\t\twhile (stack.length > 0 && stack[stack.length - 1].depth >= depth) {\n\t\t\tstack.pop();\n\t\t}\n\t\tif (stack.length === 0) {\n\t\t\troots.push(node);\n\t\t} else {\n\t\t\tstack[stack.length - 1].children.push(node);\n\t\t}\n\t\tstack.push(node);\n\t}\n\treturn roots;\n};\n\nconst Blog = ({\n\tchildren,\n\ttitle = 'In this article',\n\tjsonLd,\n\tincreasedWidthMode = false,\n}: BlogProperties) => {\n\tconst [visibleTitle, setVisibleTitle] = useState<string | null>(null);\n\tconst [showTOC, setShowTOC] = useState(false);\n\n\tconst { categoryTitles, handleSectionReference } = useCategoryTitles({\n\t\tvisibleTitle,\n\t\tsetVisibleTitle,\n\t\tsetShowTOC,\n\t});\n\n\tconst { handleClickCategoryTitle } = useSectionObserver({\n\t\tcategoryTitles,\n\t\tsetVisibleTitle,\n\t});\n\n\tconst sidebarStyle = useSpring({\n\t\topacity: showTOC ? 1 : 0,\n\t\ttransform: showTOC ? 'translateX(0)' : 'translateX(40px)',\n\t\tconfig: config.gentle,\n\t});\n\n\treturn (\n\t\t<div className={`${styles.blog} ${increasedWidthMode ? styles['blog--increased-width'] : ''}`}>\n\t\t\t{jsonLd && (\n\t\t\t\t<script\n\t\t\t\t\ttype=\"application/ld+json\"\n\t\t\t\t\tdangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<div className={styles['blog__content']}>\n\t\t\t\t{Children.map(children, child => {\n\t\t\t\t\tif (!isValidElement(child)) return child;\n\t\t\t\t\treturn cloneElement(child, {\n\t\t\t\t\t\tref: handleSectionReference,\n\t\t\t\t\t} as RefAttributes<ForwardedReference>);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t\t<animated.div className={styles['blog__sidebar']} style={sidebarStyle}>\n\t\t\t\t<p\n\t\t\t\t\tclassName={`${styles['margin-bottom--3']} ${styles['category__header']}`}\n\t\t\t\t>\n\t\t\t\t\t{title}\n\t\t\t\t</p>\n\t\t\t\t{buildTocTree([...categoryTitles]).map((node, i) => (\n\t\t\t\t\t<TocNodeStatic\n\t\t\t\t\t\tkey={node.id}\n\t\t\t\t\t\tnode={node}\n\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\tvisibleTitle={visibleTitle}\n\t\t\t\t\t\tonClick={handleClickCategoryTitle}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</animated.div>\n\t\t</div>\n\t);\n};\n\nexport default Blog;\n"],"names":["_jsxs","_jsx","TocNodeStatic"],"mappings":"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"}
|