diff --git a/.changeset/silly-lamps-camp.md b/.changeset/silly-lamps-camp.md
new file mode 100644
index 00000000..e3f5e3d5
--- /dev/null
+++ b/.changeset/silly-lamps-camp.md
@@ -0,0 +1,5 @@
+---
+'docs': patch
+---
+
+feat: 문서에서 바로 실행해볼 수 있는 Sandpack MDX 컴포넌트를 구현합니다.
diff --git a/cspell.json b/cspell.json
index 576e697d..cf069aff 100644
--- a/cspell.json
+++ b/cspell.json
@@ -1,3 +1,3 @@
{
- "words": ["choseong", "jongseong", "jungseong", "Nextra"]
+ "words": ["choseong", "jongseong", "jungseong", "josa", "nextra", "sandpack"]
}
diff --git a/docs/next.config.js b/docs/next.config.js
index 24aeb7c5..a4922d5a 100644
--- a/docs/next.config.js
+++ b/docs/next.config.js
@@ -3,6 +3,10 @@ const withNextra = require('nextra')({
theme: 'nextra-theme-docs',
themeConfig: './theme.config.tsx',
defaultShowCopyCode: true,
+ mdxOptions: {
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
+ remarkPlugins: [require('remark-sandpack').remarkSandpack],
+ },
});
/** @type {import('next').NextConfig} */
diff --git a/docs/package.json b/docs/package.json
index b64b32fc..19ac1c09 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -10,12 +10,15 @@
"start": "next start"
},
"dependencies": {
+ "@codesandbox/sandpack-react": "^2.18.0",
+ "@codesandbox/sandpack-themes": "^2.0.21",
"es-hangul": "workspace:*",
"next": "14.1.4",
"nextra": "^2.13.4",
"nextra-theme-docs": "^2.13.4",
"react": "^18",
- "react-dom": "^18"
+ "react-dom": "^18",
+ "remark-sandpack": "^0.0.3"
},
"devDependencies": {
"@types/node": "^20",
diff --git a/docs/src/components/Sandpack/CustomPreset.tsx b/docs/src/components/Sandpack/CustomPreset.tsx
new file mode 100644
index 00000000..d445027b
--- /dev/null
+++ b/docs/src/components/Sandpack/CustomPreset.tsx
@@ -0,0 +1,33 @@
+import {
+ SandpackCodeEditor,
+ SandpackConsole,
+ SandpackLayout,
+ useLoadingOverlayState,
+ useSandpackNavigation,
+} from '@codesandbox/sandpack-react';
+import { RefreshButton } from './RefreshButton';
+import { useRef } from 'react';
+import { Loading } from './Loading';
+
+export function CustomPreset() {
+ const ref = useRef<{ reset: () => void }>(null);
+ const { refresh } = useSandpackNavigation();
+ const state = useLoadingOverlayState();
+
+ const handleRefresh = () => {
+ refresh();
+ ref.current?.reset();
+ };
+
+ return (
+
+
+ : }
+ />
+
+ );
+}
diff --git a/docs/src/components/Sandpack/Loading.tsx b/docs/src/components/Sandpack/Loading.tsx
new file mode 100644
index 00000000..8d535cb1
--- /dev/null
+++ b/docs/src/components/Sandpack/Loading.tsx
@@ -0,0 +1,37 @@
+export function Loading({ className, ...props }: React.HTMLAttributes) {
+ return (
+
+ );
+}
diff --git a/docs/src/components/Sandpack/RefreshButton.tsx b/docs/src/components/Sandpack/RefreshButton.tsx
new file mode 100644
index 00000000..8c5c03e4
--- /dev/null
+++ b/docs/src/components/Sandpack/RefreshButton.tsx
@@ -0,0 +1,9 @@
+import { RefreshIcon, RoundedButton } from '@codesandbox/sandpack-react';
+
+export function RefreshButton({ onRefresh }: { onRefresh: () => void }) {
+ return (
+
+
+
+ );
+}
diff --git a/docs/src/components/Sandpack/Sandpack.tsx b/docs/src/components/Sandpack/Sandpack.tsx
new file mode 100644
index 00000000..55f20d77
--- /dev/null
+++ b/docs/src/components/Sandpack/Sandpack.tsx
@@ -0,0 +1,34 @@
+import { SandpackProps, SandpackProvider } from '@codesandbox/sandpack-react';
+import { atomDark } from '@codesandbox/sandpack-themes';
+import { baseTemplate } from './baseTemplate';
+import { CustomPreset } from './CustomPreset';
+import { useIsDarkMode } from '@/hooks/use-is-dark-mode';
+import { SandpackLogLevel } from '@codesandbox/sandpack-client';
+
+export function Sandpack({ files }: SandpackProps) {
+ const isDarkMode = useIsDarkMode();
+
+ return (
+
+
+
+ );
+}
diff --git a/docs/src/components/Sandpack/baseTemplate.ts b/docs/src/components/Sandpack/baseTemplate.ts
new file mode 100644
index 00000000..a6a90461
--- /dev/null
+++ b/docs/src/components/Sandpack/baseTemplate.ts
@@ -0,0 +1,9 @@
+export const baseTemplate = {
+ files: {
+ 'index.ts': ``,
+ },
+ dependencies: {
+ 'es-hangul': 'latest',
+ },
+ devDependencies: {},
+};
diff --git a/docs/src/components/Sandpack/index.ts b/docs/src/components/Sandpack/index.ts
new file mode 100644
index 00000000..506cdd17
--- /dev/null
+++ b/docs/src/components/Sandpack/index.ts
@@ -0,0 +1 @@
+export { Sandpack } from './Sandpack';
diff --git a/docs/src/pages/_document.tsx b/docs/src/pages/_document.tsx
index 74aa36b4..f464e3e2 100644
--- a/docs/src/pages/_document.tsx
+++ b/docs/src/pages/_document.tsx
@@ -1,3 +1,4 @@
+import { getSandpackCssText } from '@codesandbox/sandpack-react';
import { Html, Head, Main, NextScript } from 'next/document';
export default function Document() {
@@ -6,6 +7,7 @@ export default function Document() {
+
diff --git a/docs/src/pages/docs/api/choseongIncludes.en.mdx b/docs/src/pages/docs/api/choseongIncludes.en.mdx
index df7e90c6..1daf7792 100644
--- a/docs/src/pages/docs/api/choseongIncludes.en.mdx
+++ b/docs/src/pages/docs/api/choseongIncludes.en.mdx
@@ -1,4 +1,4 @@
-import { ChoseongIncludesDemo } from '@/components/demo/choseong-includes-demo';
+import { Sandpack } from '@/components/Sandpack';
# choseongIncludes
@@ -24,4 +24,12 @@ choseongIncludes('프론트엔드', '푸롴트'); // false
-
+
+
+```ts index.ts
+import { choseongIncludes } from 'es-hangul';
+
+console.log(choseongIncludes('프론트엔드', 'ㅍㄹㅌ'));
+```
+
+
diff --git a/docs/src/pages/docs/api/choseongIncludes.ko.mdx b/docs/src/pages/docs/api/choseongIncludes.ko.mdx
index 35c2b702..509e9250 100644
--- a/docs/src/pages/docs/api/choseongIncludes.ko.mdx
+++ b/docs/src/pages/docs/api/choseongIncludes.ko.mdx
@@ -1,4 +1,4 @@
-import { ChoseongIncludesDemo } from '@/components/demo/choseong-includes-demo';
+import { Sandpack } from '@/components/Sandpack';
# choseongIncludes
@@ -24,4 +24,12 @@ choseongIncludes('프론트엔드', '푸롴트'); // false
-
+
+
+```ts index.ts
+import { choseongIncludes } from 'es-hangul';
+
+console.log(choseongIncludes('프론트엔드', 'ㅍㄹㅌ'));
+```
+
+
diff --git a/docs/src/pages/docs/api/chosungIncludes.en.mdx b/docs/src/pages/docs/api/chosungIncludes.en.mdx
index 0f3423e5..a635871b 100644
--- a/docs/src/pages/docs/api/chosungIncludes.en.mdx
+++ b/docs/src/pages/docs/api/chosungIncludes.en.mdx
@@ -1,4 +1,4 @@
-import { ChoseongIncludesDemo } from '@/components/demo/choseong-includes-demo';
+import { Sandpack } from '@/components/Sandpack';
# chosungIncludes (deprecated, Please use choseongIncludes)
@@ -24,4 +24,12 @@ chosungIncludes('프론트엔드', '푸롴트'); // false
-
+
+
+```ts index.ts
+import { choseongIncludes } from 'es-hangul';
+
+console.log(choseongIncludes('프론트엔드', 'ㅍㄹㅌ'));
+```
+
+
diff --git a/docs/src/pages/docs/api/chosungIncludes.ko.mdx b/docs/src/pages/docs/api/chosungIncludes.ko.mdx
index 741a54fd..9211e965 100644
--- a/docs/src/pages/docs/api/chosungIncludes.ko.mdx
+++ b/docs/src/pages/docs/api/chosungIncludes.ko.mdx
@@ -1,4 +1,4 @@
-import { ChoseongIncludesDemo } from '@/components/demo/choseong-includes-demo';
+import { Sandpack } from '@/components/Sandpack';
# chosungIncludes (deprecated, choseongIncludes를 사용해주세요)
@@ -24,4 +24,12 @@ chosungIncludes('프론트엔드', '푸롴트'); // false
-
+
+
+```ts index.ts
+import { choseongIncludes } from 'es-hangul';
+
+console.log(choseongIncludes('프론트엔드', 'ㅍㄹㅌ'));
+```
+
+
diff --git a/docs/tailwind.config.ts b/docs/tailwind.config.ts
index 956a31bf..fdcd0195 100644
--- a/docs/tailwind.config.ts
+++ b/docs/tailwind.config.ts
@@ -13,6 +13,12 @@ const config: Config = {
'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
},
+ keyframes: {
+ 'cube-rotate': {
+ '0%': { transform: 'rotateX(-25.5deg) rotateY(45deg)' },
+ '100%': { transform: 'rotateX(-25.5deg) rotateY(405deg)' },
+ },
+ },
},
},
plugins: [],
diff --git a/yarn.lock b/yarn.lock
index 8fcf8918..36e6621b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -565,6 +565,184 @@ __metadata:
languageName: node
linkType: hard
+"@codemirror/autocomplete@npm:^6.0.0, @codemirror/autocomplete@npm:^6.4.0":
+ version: 6.17.0
+ resolution: "@codemirror/autocomplete@npm:6.17.0"
+ dependencies:
+ "@codemirror/language": "npm:^6.0.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.17.0"
+ "@lezer/common": "npm:^1.0.0"
+ peerDependencies:
+ "@codemirror/language": ^6.0.0
+ "@codemirror/state": ^6.0.0
+ "@codemirror/view": ^6.0.0
+ "@lezer/common": ^1.0.0
+ checksum: 10c0/b3c10985ac9593139f1d044c6d5de4e3369ef133d76680568d8cd9b22777299af0ab376c59fdb505fbd59b0cc4b8f77e6b7b743046be0788297af3a765dcb044
+ languageName: node
+ linkType: hard
+
+"@codemirror/commands@npm:^6.1.3":
+ version: 6.6.0
+ resolution: "@codemirror/commands@npm:6.6.0"
+ dependencies:
+ "@codemirror/language": "npm:^6.0.0"
+ "@codemirror/state": "npm:^6.4.0"
+ "@codemirror/view": "npm:^6.27.0"
+ "@lezer/common": "npm:^1.1.0"
+ checksum: 10c0/72be283779dafb1dc7ec4a7c80a7911b9edc251944f0a2c8112230154e7e84a0b3dedc3f09277935614b92eb3d3194b32fdbc3e167496c2501e8ee2ed4e42909
+ languageName: node
+ linkType: hard
+
+"@codemirror/lang-css@npm:^6.0.0, @codemirror/lang-css@npm:^6.0.1":
+ version: 6.2.1
+ resolution: "@codemirror/lang-css@npm:6.2.1"
+ dependencies:
+ "@codemirror/autocomplete": "npm:^6.0.0"
+ "@codemirror/language": "npm:^6.0.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@lezer/common": "npm:^1.0.2"
+ "@lezer/css": "npm:^1.0.0"
+ checksum: 10c0/1196926c0145156bf96f3c9ae71549fbf0a24aa27cdcdc5a7b11107e7c0dbbb3dfd2e84c552978b6378605e03921b0ddc0bfe0617800f7d15cbd245be2f57e40
+ languageName: node
+ linkType: hard
+
+"@codemirror/lang-html@npm:^6.4.0":
+ version: 6.4.9
+ resolution: "@codemirror/lang-html@npm:6.4.9"
+ dependencies:
+ "@codemirror/autocomplete": "npm:^6.0.0"
+ "@codemirror/lang-css": "npm:^6.0.0"
+ "@codemirror/lang-javascript": "npm:^6.0.0"
+ "@codemirror/language": "npm:^6.4.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.17.0"
+ "@lezer/common": "npm:^1.0.0"
+ "@lezer/css": "npm:^1.1.0"
+ "@lezer/html": "npm:^1.3.0"
+ checksum: 10c0/0d6197aa645cc0a9da33789ea30423d4b8320b8e636c8587c7fcf58bdf90ea6934451d84ccbd9dd60dbc7046428204d7c986bd742c2cc459bee7c9653258db70
+ languageName: node
+ linkType: hard
+
+"@codemirror/lang-javascript@npm:^6.0.0, @codemirror/lang-javascript@npm:^6.1.2":
+ version: 6.2.2
+ resolution: "@codemirror/lang-javascript@npm:6.2.2"
+ dependencies:
+ "@codemirror/autocomplete": "npm:^6.0.0"
+ "@codemirror/language": "npm:^6.6.0"
+ "@codemirror/lint": "npm:^6.0.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.17.0"
+ "@lezer/common": "npm:^1.0.0"
+ "@lezer/javascript": "npm:^1.0.0"
+ checksum: 10c0/348969167fa5f18e8ec7e3614d408a95a54514f5625afcc680377d58a53d0f4ea412dcaeee65f0965e7d96f358d513b5c2744641b21ee5d0d976905b33715e48
+ languageName: node
+ linkType: hard
+
+"@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.3.2, @codemirror/language@npm:^6.4.0, @codemirror/language@npm:^6.6.0":
+ version: 6.10.2
+ resolution: "@codemirror/language@npm:6.10.2"
+ dependencies:
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.23.0"
+ "@lezer/common": "npm:^1.1.0"
+ "@lezer/highlight": "npm:^1.0.0"
+ "@lezer/lr": "npm:^1.0.0"
+ style-mod: "npm:^4.0.0"
+ checksum: 10c0/ac9b24dffb3aa6f502283dfe2bc4b4038f9fecbed9450fc4a72d408b9a09dc254f9af735b98091531829da163eb116e4cfa95aeacacff4fd36ef95cd9a54c4a6
+ languageName: node
+ linkType: hard
+
+"@codemirror/lint@npm:^6.0.0":
+ version: 6.8.1
+ resolution: "@codemirror/lint@npm:6.8.1"
+ dependencies:
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.0.0"
+ crelt: "npm:^1.0.5"
+ checksum: 10c0/3e7ca352fe08dd11cea4f3b5cdccff2fd08afb5393fdaf98ac659ef368d9169b4d42618c4f856168910a5d1bae7aa1ab6c72020be85b56ccdeb7f678ceb65b6d
+ languageName: node
+ linkType: hard
+
+"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.2.0, @codemirror/state@npm:^6.4.0":
+ version: 6.4.1
+ resolution: "@codemirror/state@npm:6.4.1"
+ checksum: 10c0/cdab74d0ca4e262531a257ac419c9c44124f3ace8b0ca1262598a9218fbb6fd8f0afeb4b5ed2f64552a9573a0fc5d55481d4b9b05e9505ef729f9bd0f9469423
+ languageName: node
+ linkType: hard
+
+"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.7.1":
+ version: 6.29.0
+ resolution: "@codemirror/view@npm:6.29.0"
+ dependencies:
+ "@codemirror/state": "npm:^6.4.0"
+ style-mod: "npm:^4.1.0"
+ w3c-keyname: "npm:^2.2.4"
+ checksum: 10c0/155b58bfe7de5c91a4dd3877cc2b23e1e2f796de0bf59d01c46c0797126e70052f819465b2467e1558b2cfaac25c9569b53eef09fcc5a1ae1a432ab8019e364f
+ languageName: node
+ linkType: hard
+
+"@codesandbox/nodebox@npm:0.1.8":
+ version: 0.1.8
+ resolution: "@codesandbox/nodebox@npm:0.1.8"
+ dependencies:
+ outvariant: "npm:^1.4.0"
+ strict-event-emitter: "npm:^0.4.3"
+ checksum: 10c0/f7c3da0d371ea8801aa362259eb8fc5c1a102d9fc49167236fef6a18452fd1dfd60d302b34b5f166aeee336fd9f066d643609beddedcb86451c3a2c290444225
+ languageName: node
+ linkType: hard
+
+"@codesandbox/sandpack-client@npm:^2.18.1":
+ version: 2.18.1
+ resolution: "@codesandbox/sandpack-client@npm:2.18.1"
+ dependencies:
+ "@codesandbox/nodebox": "npm:0.1.8"
+ buffer: "npm:^6.0.3"
+ dequal: "npm:^2.0.2"
+ mime-db: "npm:^1.52.0"
+ outvariant: "npm:1.4.0"
+ static-browser-server: "npm:1.0.3"
+ checksum: 10c0/3efa1964320e798654eb9d51ee6fd801909948bd84b6b498e7b4ac10e50f8aa5fd579efed3a8f643cfc7d1cbcf81787e6048cc56bc10da81ee4b2c6938f7fb0c
+ languageName: node
+ linkType: hard
+
+"@codesandbox/sandpack-react@npm:^2.18.0":
+ version: 2.18.1
+ resolution: "@codesandbox/sandpack-react@npm:2.18.1"
+ dependencies:
+ "@codemirror/autocomplete": "npm:^6.4.0"
+ "@codemirror/commands": "npm:^6.1.3"
+ "@codemirror/lang-css": "npm:^6.0.1"
+ "@codemirror/lang-html": "npm:^6.4.0"
+ "@codemirror/lang-javascript": "npm:^6.1.2"
+ "@codemirror/language": "npm:^6.3.2"
+ "@codemirror/state": "npm:^6.2.0"
+ "@codemirror/view": "npm:^6.7.1"
+ "@codesandbox/sandpack-client": "npm:^2.18.1"
+ "@lezer/highlight": "npm:^1.1.3"
+ "@react-hook/intersection-observer": "npm:^3.1.1"
+ "@stitches/core": "npm:^1.2.6"
+ anser: "npm:^2.1.1"
+ clean-set: "npm:^1.1.2"
+ dequal: "npm:^2.0.2"
+ escape-carriage: "npm:^1.3.1"
+ lz-string: "npm:^1.4.4"
+ react-devtools-inline: "npm:4.4.0"
+ react-is: "npm:^17.0.2"
+ peerDependencies:
+ react: ^16.8.0 || ^17 || ^18
+ react-dom: ^16.8.0 || ^17 || ^18
+ checksum: 10c0/38921a145f7c68813073c15d33de3235254c091470ebc650f81dfcd9d0dd35297b504ddde77874a2500449fc55ad262618e0dfb2fba0679e71ffd8594f3a6bd5
+ languageName: node
+ linkType: hard
+
+"@codesandbox/sandpack-themes@npm:^2.0.21":
+ version: 2.0.21
+ resolution: "@codesandbox/sandpack-themes@npm:2.0.21"
+ checksum: 10c0/929d4488724e38d18a713892f30b6811bc40adbcd49dbc7dc544b3dc4842c1fdb6e280bd61620662a6ce7def88bd664598c2e37791a518b045067774df2a5ced
+ languageName: node
+ linkType: hard
+
"@colors/colors@npm:1.5.0":
version: 1.5.0
resolution: "@colors/colors@npm:1.5.0"
@@ -1553,6 +1731,64 @@ __metadata:
languageName: node
linkType: hard
+"@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.0.2, @lezer/common@npm:^1.1.0, @lezer/common@npm:^1.2.0":
+ version: 1.2.1
+ resolution: "@lezer/common@npm:1.2.1"
+ checksum: 10c0/af61436dc026f8deebaded13d8e1beea2ae307cbbfb270116cdedadb8208f0674da9c3b5963128a2b1cd4072b4e90bc8128133f4feaf31b6e801e4568f1a15a6
+ languageName: node
+ linkType: hard
+
+"@lezer/css@npm:^1.0.0, @lezer/css@npm:^1.1.0":
+ version: 1.1.8
+ resolution: "@lezer/css@npm:1.1.8"
+ dependencies:
+ "@lezer/common": "npm:^1.2.0"
+ "@lezer/highlight": "npm:^1.0.0"
+ "@lezer/lr": "npm:^1.0.0"
+ checksum: 10c0/d28a84c912eedd675b437a7d0b95c72a6c00987da7dc208049889f64ce57250e9ae640856d007a32df6b8f4b0c8986e7751b40e2536b4df26382a78ead362281
+ languageName: node
+ linkType: hard
+
+"@lezer/highlight@npm:^1.0.0, @lezer/highlight@npm:^1.1.3":
+ version: 1.2.0
+ resolution: "@lezer/highlight@npm:1.2.0"
+ dependencies:
+ "@lezer/common": "npm:^1.0.0"
+ checksum: 10c0/d4312f95b78e4b6f10833b1cf99601c6381c22b755bbf60fd61d6fe9b4cf7780650e2e2dadf75beb8d94824dcb5ec81da5cfc9ca54122688a482e488103105aa
+ languageName: node
+ linkType: hard
+
+"@lezer/html@npm:^1.3.0":
+ version: 1.3.10
+ resolution: "@lezer/html@npm:1.3.10"
+ dependencies:
+ "@lezer/common": "npm:^1.2.0"
+ "@lezer/highlight": "npm:^1.0.0"
+ "@lezer/lr": "npm:^1.0.0"
+ checksum: 10c0/a7e782f9e9c5c5ffaa4a6fcf4ea5284e62c8fd3f0d378c86738b57077c002cbb013aeeb8aaae292b9517fea8b959216ce7af053269329962f6df2c7f9c2c8d99
+ languageName: node
+ linkType: hard
+
+"@lezer/javascript@npm:^1.0.0":
+ version: 1.4.17
+ resolution: "@lezer/javascript@npm:1.4.17"
+ dependencies:
+ "@lezer/common": "npm:^1.2.0"
+ "@lezer/highlight": "npm:^1.1.3"
+ "@lezer/lr": "npm:^1.3.0"
+ checksum: 10c0/5e69eabd7b6ea58ff828073324282a38567488bd6da1541023f1a66268a0ac9d01cde924f4fad183fcbf630ac33680e6b859a18f6fbec14ffb76073cdccf7b2b
+ languageName: node
+ linkType: hard
+
+"@lezer/lr@npm:^1.0.0, @lezer/lr@npm:^1.3.0":
+ version: 1.4.1
+ resolution: "@lezer/lr@npm:1.4.1"
+ dependencies:
+ "@lezer/common": "npm:^1.0.0"
+ checksum: 10c0/e24a383c52248321035d8157d3271890a5740e7a324f7026f1cb7556d3bd9883edeb53df194a8a3f7de50ca034112b234e31211a6b235d9d8d7791a0319b1724
+ languageName: node
+ linkType: hard
+
"@manypkg/find-root@npm:^1.1.0":
version: 1.1.0
resolution: "@manypkg/find-root@npm:1.1.0"
@@ -1870,6 +2106,13 @@ __metadata:
languageName: node
linkType: hard
+"@open-draft/deferred-promise@npm:^2.1.0":
+ version: 2.2.0
+ resolution: "@open-draft/deferred-promise@npm:2.2.0"
+ checksum: 10c0/eafc1b1d0fc8edb5e1c753c5e0f3293410b40dde2f92688211a54806d4136887051f39b98c1950370be258483deac9dfd17cf8b96557553765198ef2547e4549
+ languageName: node
+ linkType: hard
+
"@packlint/command@npm:^0.2.0":
version: 0.2.0
resolution: "@packlint/command@npm:0.2.0"
@@ -1935,6 +2178,27 @@ __metadata:
languageName: node
linkType: hard
+"@react-hook/intersection-observer@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "@react-hook/intersection-observer@npm:3.1.1"
+ dependencies:
+ "@react-hook/passive-layout-effect": "npm:^1.2.0"
+ intersection-observer: "npm:^0.10.0"
+ peerDependencies:
+ react: ">=16.8"
+ checksum: 10c0/5332b96fc8b4bd53f51de9cd42e562ec7aa72feca6eb53e7269dab4293aa359353572538091a0fd3b7af6b03f2408e18fcaa2533202447e0a4f3d15f791eca1d
+ languageName: node
+ linkType: hard
+
+"@react-hook/passive-layout-effect@npm:^1.2.0":
+ version: 1.2.1
+ resolution: "@react-hook/passive-layout-effect@npm:1.2.1"
+ peerDependencies:
+ react: ">=16.8"
+ checksum: 10c0/5c9e6b3df1c91fc2b1d4f711ca96b5f8cb3f6a13a2e97dac7cce623e58d7ee57999c45db3778d0af0b2522b3a5b7463232ef21cb3ee9900437172d48f766d933
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-android-arm-eabi@npm:4.14.0":
version: 4.14.0
resolution: "@rollup/rollup-android-arm-eabi@npm:4.14.0"
@@ -2061,6 +2325,13 @@ __metadata:
languageName: node
linkType: hard
+"@stitches/core@npm:^1.2.6":
+ version: 1.2.8
+ resolution: "@stitches/core@npm:1.2.8"
+ checksum: 10c0/f2ddf5aba3f3794529ceda10e573d61d649899c1d6e4f72f0fb77915577bb4e5a1ffc6e0cebd2bc19a1e6f93d5e1e91ff0790c7a8dfb452e90b090b1a5f1c531
+ languageName: node
+ linkType: hard
+
"@swc/helpers@npm:0.5.2":
version: 0.5.2
resolution: "@swc/helpers@npm:0.5.2"
@@ -2697,6 +2968,13 @@ __metadata:
languageName: node
linkType: hard
+"anser@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "anser@npm:2.1.1"
+ checksum: 10c0/47a844fea847ffd580c37587c97c49e505390cb034e397b02c38aafc23d52c64d40fbeefe04a86b83867cfb7093d8884826a0551211b69dda473b1f76ce38e98
+ languageName: node
+ linkType: hard
+
"ansi-colors@npm:^4.1.1, ansi-colors@npm:^4.1.3":
version: 4.1.3
resolution: "ansi-colors@npm:4.1.3"
@@ -3117,6 +3395,13 @@ __metadata:
languageName: node
linkType: hard
+"base64-js@npm:^1.3.1":
+ version: 1.5.1
+ resolution: "base64-js@npm:1.5.1"
+ checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf
+ languageName: node
+ linkType: hard
+
"bcrypt-pbkdf@npm:^1.0.0":
version: 1.0.2
resolution: "bcrypt-pbkdf@npm:1.0.2"
@@ -3271,6 +3556,16 @@ __metadata:
languageName: node
linkType: hard
+"buffer@npm:^6.0.3":
+ version: 6.0.3
+ resolution: "buffer@npm:6.0.3"
+ dependencies:
+ base64-js: "npm:^1.3.1"
+ ieee754: "npm:^1.2.1"
+ checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0
+ languageName: node
+ linkType: hard
+
"bundle-require@npm:^4.0.0":
version: 4.0.2
resolution: "bundle-require@npm:4.0.2"
@@ -3597,6 +3892,13 @@ __metadata:
languageName: node
linkType: hard
+"clean-set@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "clean-set@npm:1.1.2"
+ checksum: 10c0/f77a1204ea1f90d85a21fe434a08f3ec09753eb416544db1f37612653caf40ac52d5941c61f76d367aea5b46a2c29c0b0e7e05029e88c02abb136de5d17283d5
+ languageName: node
+ linkType: hard
+
"clean-stack@npm:^2.0.0":
version: 2.2.0
resolution: "clean-stack@npm:2.2.0"
@@ -3883,6 +4185,13 @@ __metadata:
languageName: node
linkType: hard
+"crelt@npm:^1.0.5":
+ version: 1.0.6
+ resolution: "crelt@npm:1.0.6"
+ checksum: 10c0/e0fb76dff50c5eb47f2ea9b786c17f9425c66276025adee80876bdbf4a84ab72e899e56d3928431ab0cb057a105ef704df80fe5726ef0f7b1658f815521bdf09
+ languageName: node
+ linkType: hard
+
"cross-spawn@npm:^5.0.1, cross-spawn@npm:^5.1.0":
version: 5.1.0
resolution: "cross-spawn@npm:5.1.0"
@@ -4426,6 +4735,16 @@ __metadata:
languageName: node
linkType: hard
+"d@npm:1, d@npm:^1.0.1, d@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "d@npm:1.0.2"
+ dependencies:
+ es5-ext: "npm:^0.10.64"
+ type: "npm:^2.7.2"
+ checksum: 10c0/3e6ede10cd3b77586c47da48423b62bed161bf1a48bdbcc94d87263522e22f5dfb0e678a6dba5323fdc14c5d8612b7f7eb9e7d9e37b2e2d67a7bf9f116dabe5a
+ languageName: node
+ linkType: hard
+
"dagre-d3-es@npm:7.0.10":
version: 7.0.10
resolution: "dagre-d3-es@npm:7.0.10"
@@ -4627,7 +4946,7 @@ __metadata:
languageName: node
linkType: hard
-"dequal@npm:^2.0.0, dequal@npm:^2.0.3":
+"dequal@npm:^2.0.0, dequal@npm:^2.0.2, dequal@npm:^2.0.3":
version: 2.0.3
resolution: "dequal@npm:2.0.3"
checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888
@@ -4698,6 +5017,8 @@ __metadata:
version: 0.0.0-use.local
resolution: "docs@workspace:docs"
dependencies:
+ "@codesandbox/sandpack-react": "npm:^2.18.0"
+ "@codesandbox/sandpack-themes": "npm:^2.0.21"
"@types/node": "npm:^20"
"@types/react": "npm:^18"
"@types/react-dom": "npm:^18"
@@ -4711,6 +5032,7 @@ __metadata:
postcss: "npm:^8"
react: "npm:^18"
react-dom: "npm:^18"
+ remark-sandpack: "npm:^0.0.3"
tailwindcss: "npm:^3.3.0"
typescript: "npm:^5.4.3"
languageName: unknown
@@ -4741,6 +5063,13 @@ __metadata:
languageName: node
linkType: hard
+"dotenv@npm:^16.0.3":
+ version: 16.4.5
+ resolution: "dotenv@npm:16.4.5"
+ checksum: 10c0/48d92870076832af0418b13acd6e5a5a3e83bb00df690d9812e94b24aff62b88ade955ac99a05501305b8dc8f1b0ee7638b18493deb6fe93d680e5220936292f
+ languageName: node
+ linkType: hard
+
"dotenv@npm:^8.1.0":
version: 8.6.0
resolution: "dotenv@npm:8.6.0"
@@ -5057,6 +5386,39 @@ __metadata:
languageName: node
linkType: hard
+"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.62, es5-ext@npm:^0.10.64, es5-ext@npm:~0.10.14":
+ version: 0.10.64
+ resolution: "es5-ext@npm:0.10.64"
+ dependencies:
+ es6-iterator: "npm:^2.0.3"
+ es6-symbol: "npm:^3.1.3"
+ esniff: "npm:^2.0.1"
+ next-tick: "npm:^1.1.0"
+ checksum: 10c0/4459b6ae216f3c615db086e02437bdfde851515a101577fd61b19f9b3c1ad924bab4d197981eb7f0ccb915f643f2fc10ff76b97a680e96cbb572d15a27acd9a3
+ languageName: node
+ linkType: hard
+
+"es6-iterator@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "es6-iterator@npm:2.0.3"
+ dependencies:
+ d: "npm:1"
+ es5-ext: "npm:^0.10.35"
+ es6-symbol: "npm:^3.1.1"
+ checksum: 10c0/91f20b799dba28fb05bf623c31857fc1524a0f1c444903beccaf8929ad196c8c9ded233e5ac7214fc63a92b3f25b64b7f2737fcca8b1f92d2d96cf3ac902f5d8
+ languageName: node
+ linkType: hard
+
+"es6-symbol@npm:^3, es6-symbol@npm:^3.1.1, es6-symbol@npm:^3.1.3":
+ version: 3.1.4
+ resolution: "es6-symbol@npm:3.1.4"
+ dependencies:
+ d: "npm:^1.0.2"
+ ext: "npm:^1.7.0"
+ checksum: 10c0/777bf3388db5d7919e09a0fd175aa5b8a62385b17cb2227b7a137680cba62b4d9f6193319a102642aa23d5840d38a62e4784f19cfa5be4a2210a3f0e9b23d15d
+ languageName: node
+ linkType: hard
+
"esbuild@npm:^0.19.2":
version: 0.19.12
resolution: "esbuild@npm:0.19.12"
@@ -5224,6 +5586,13 @@ __metadata:
languageName: node
linkType: hard
+"escape-carriage@npm:^1.3.1":
+ version: 1.3.1
+ resolution: "escape-carriage@npm:1.3.1"
+ checksum: 10c0/ef82888d664d93a0b7246eecf33859235da4a1059c14ce4102894145bc31f82d095579ffd405c01eb8b77a7ee751d1e29e25df85a4b0769ad1c79afa8e983de5
+ languageName: node
+ linkType: hard
+
"escape-string-regexp@npm:^1.0.0, escape-string-regexp@npm:^1.0.2, escape-string-regexp@npm:^1.0.5":
version: 1.0.5
resolution: "escape-string-regexp@npm:1.0.5"
@@ -5475,6 +5844,18 @@ __metadata:
languageName: node
linkType: hard
+"esniff@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "esniff@npm:2.0.1"
+ dependencies:
+ d: "npm:^1.0.1"
+ es5-ext: "npm:^0.10.62"
+ event-emitter: "npm:^0.3.5"
+ type: "npm:^2.7.2"
+ checksum: 10c0/7efd8d44ac20e5db8cb0ca77eb65eca60628b2d0f3a1030bcb05e71cc40e6e2935c47b87dba3c733db12925aa5b897f8e0e7a567a2c274206f184da676ea2e65
+ languageName: node
+ linkType: hard
+
"espree@npm:^9.6.0, espree@npm:^9.6.1":
version: 9.6.1
resolution: "espree@npm:9.6.1"
@@ -5568,6 +5949,16 @@ __metadata:
languageName: node
linkType: hard
+"estree-util-value-to-estree@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "estree-util-value-to-estree@npm:2.1.0"
+ dependencies:
+ "@types/estree": "npm:^1.0.0"
+ is-plain-obj: "npm:^4.0.0"
+ checksum: 10c0/7d4a22aff7830ded054a2bbc5007ce6ecb949b99a23b727d9575c50f89cb46694e9c1365593dfbcc4b3cd33b68a69d7cfee997928eb81f4daa534b8b2b883acb
+ languageName: node
+ linkType: hard
+
"estree-util-visit@npm:^1.0.0":
version: 1.2.1
resolution: "estree-util-visit@npm:1.2.1"
@@ -5594,6 +5985,16 @@ __metadata:
languageName: node
linkType: hard
+"event-emitter@npm:^0.3.5":
+ version: 0.3.5
+ resolution: "event-emitter@npm:0.3.5"
+ dependencies:
+ d: "npm:1"
+ es5-ext: "npm:~0.10.14"
+ checksum: 10c0/75082fa8ffb3929766d0f0a063bfd6046bd2a80bea2666ebaa0cfd6f4a9116be6647c15667bea77222afc12f5b4071b68d393cf39fdaa0e8e81eda006160aff0
+ languageName: node
+ linkType: hard
+
"execa@npm:^0.8.0":
version: 0.8.0
resolution: "execa@npm:0.8.0"
@@ -5650,6 +6051,15 @@ __metadata:
languageName: node
linkType: hard
+"ext@npm:^1.7.0":
+ version: 1.7.0
+ resolution: "ext@npm:1.7.0"
+ dependencies:
+ type: "npm:^2.7.2"
+ checksum: 10c0/a8e5f34e12214e9eee3a4af3b5c9d05ba048f28996450975b369fc86e5d0ef13b6df0615f892f5396a9c65d616213c25ec5b0ad17ef42eac4a500512a19da6c7
+ languageName: node
+ linkType: hard
+
"extend-shallow@npm:^2.0.1":
version: 2.0.1
resolution: "extend-shallow@npm:2.0.1"
@@ -6722,6 +7132,13 @@ __metadata:
languageName: node
linkType: hard
+"ieee754@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "ieee754@npm:1.2.1"
+ checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb
+ languageName: node
+ linkType: hard
+
"ignore-walk@npm:^5.0.1":
version: 5.0.1
resolution: "ignore-walk@npm:5.0.1"
@@ -6825,6 +7242,13 @@ __metadata:
languageName: node
linkType: hard
+"intersection-observer@npm:^0.10.0":
+ version: 0.10.0
+ resolution: "intersection-observer@npm:0.10.0"
+ checksum: 10c0/af5546a91269b973d785fce1e6e80cd77bece494810fb6b0595bcac8e07b6cee212eeb5242f6a11ee4211729490d814964fb6ed3e3fb7a246f731999bf2a9ecf
+ languageName: node
+ linkType: hard
+
"intersection-observer@npm:^0.12.2":
version: 0.12.2
resolution: "intersection-observer@npm:0.12.2"
@@ -7843,6 +8267,15 @@ __metadata:
languageName: node
linkType: hard
+"lz-string@npm:^1.4.4":
+ version: 1.5.0
+ resolution: "lz-string@npm:1.5.0"
+ bin:
+ lz-string: bin/bin.js
+ checksum: 10c0/36128e4de34791838abe979b19927c26e67201ca5acf00880377af7d765b38d1c60847e01c5ec61b1a260c48029084ab3893a3925fd6e48a04011364b089991b
+ languageName: node
+ linkType: hard
+
"magic-string@npm:^0.30.5":
version: 0.30.9
resolution: "magic-string@npm:0.30.9"
@@ -8794,6 +9227,13 @@ __metadata:
languageName: node
linkType: hard
+"mime-db@npm:^1.52.0":
+ version: 1.53.0
+ resolution: "mime-db@npm:1.53.0"
+ checksum: 10c0/1dcc37ba8ed5d1c179f5c6f0837e8db19371d5f2ea3690c3c2f3fa8c3858f976851d3460b172b4dee78ebd606762cbb407aa398545fbacd539e519f858cd7bf4
+ languageName: node
+ linkType: hard
+
"mime-types@npm:^2.1.12, mime-types@npm:~2.1.19":
version: 2.1.35
resolution: "mime-types@npm:2.1.35"
@@ -9114,6 +9554,13 @@ __metadata:
languageName: node
linkType: hard
+"next-tick@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "next-tick@npm:1.1.0"
+ checksum: 10c0/3ba80dd805fcb336b4f52e010992f3e6175869c8d88bf4ff0a81d5d66e6049f89993463b28211613e58a6b7fe93ff5ccbba0da18d4fa574b96289e8f0b577f28
+ languageName: node
+ linkType: hard
+
"next@npm:14.1.4":
version: 14.1.4
resolution: "next@npm:14.1.4"
@@ -9609,6 +10056,20 @@ __metadata:
languageName: node
linkType: hard
+"outvariant@npm:1.4.0":
+ version: 1.4.0
+ resolution: "outvariant@npm:1.4.0"
+ checksum: 10c0/502d075509fe9709a376cdf9a3eccbd9599fe0c42ed8c723e8c95d4856fa80154e1e957ea0d0d6bb9e0c33352086a6a623803fb5f16775322ede4b9354635bb5
+ languageName: node
+ linkType: hard
+
+"outvariant@npm:^1.3.0, outvariant@npm:^1.4.0":
+ version: 1.4.3
+ resolution: "outvariant@npm:1.4.3"
+ checksum: 10c0/5976ca7740349cb8c71bd3382e2a762b1aeca6f33dc984d9d896acdf3c61f78c3afcf1bfe9cc633a7b3c4b295ec94d292048f83ea2b2594fae4496656eba992c
+ languageName: node
+ linkType: hard
+
"p-filter@npm:^2.1.0":
version: 2.1.0
resolution: "p-filter@npm:2.1.0"
@@ -10238,6 +10699,15 @@ __metadata:
languageName: node
linkType: hard
+"react-devtools-inline@npm:4.4.0":
+ version: 4.4.0
+ resolution: "react-devtools-inline@npm:4.4.0"
+ dependencies:
+ es6-symbol: "npm:^3"
+ checksum: 10c0/7b7924681059d60ea06dca38fd7ec066cc32625bdbf9795d21d9c8c667601997d5061e87d9738dad7fc8ff6e17cf08ebeb9fc4c470f17fc78b9229e3d38f7938
+ languageName: node
+ linkType: hard
+
"react-dom@npm:^18":
version: 18.2.0
resolution: "react-dom@npm:18.2.0"
@@ -10257,6 +10727,13 @@ __metadata:
languageName: node
linkType: hard
+"react-is@npm:^17.0.2":
+ version: 17.0.2
+ resolution: "react-is@npm:17.0.2"
+ checksum: 10c0/2bdb6b93fbb1820b024b496042cce405c57e2f85e777c9aabd55f9b26d145408f9f74f5934676ffdc46f3dcff656d78413a6e43968e7b3f92eea35b3052e9053
+ languageName: node
+ linkType: hard
+
"react-is@npm:^18.0.0":
version: 18.2.0
resolution: "react-is@npm:18.2.0"
@@ -10521,6 +10998,16 @@ __metadata:
languageName: node
linkType: hard
+"remark-sandpack@npm:^0.0.3":
+ version: 0.0.3
+ resolution: "remark-sandpack@npm:0.0.3"
+ dependencies:
+ estree-util-value-to-estree: "npm:^2.0.0"
+ unist-util-visit: "npm:^4.1.1"
+ checksum: 10c0/5a0b3a2a62688d2479e2be13b929beb16e576a1aae53ad4697a317bb7a89d6552bea8a3f2d15b8e544a4ab3e953b3fc18262d7c2303df89c7037ec95b6e3b327
+ languageName: node
+ linkType: hard
+
"remove-accents@npm:0.5.0":
version: 0.5.0
resolution: "remove-accents@npm:0.5.0"
@@ -11246,6 +11733,18 @@ __metadata:
languageName: node
linkType: hard
+"static-browser-server@npm:1.0.3":
+ version: 1.0.3
+ resolution: "static-browser-server@npm:1.0.3"
+ dependencies:
+ "@open-draft/deferred-promise": "npm:^2.1.0"
+ dotenv: "npm:^16.0.3"
+ mime-db: "npm:^1.52.0"
+ outvariant: "npm:^1.3.0"
+ checksum: 10c0/fc82cecdc388c54547ef91ad1a51af8aa71459f905b9496a6588bdfe933ede66c11bb4af3b7f42b9f3f08c28e9f4f07838f94ad384698453a113fc90164f5849
+ languageName: node
+ linkType: hard
+
"std-env@npm:^3.5.0":
version: 3.7.0
resolution: "std-env@npm:3.7.0"
@@ -11288,6 +11787,13 @@ __metadata:
languageName: node
linkType: hard
+"strict-event-emitter@npm:^0.4.3":
+ version: 0.4.6
+ resolution: "strict-event-emitter@npm:0.4.6"
+ checksum: 10c0/d0231ef081cb1937b1445da59a1ec202d1c097d825c504f398600532490a4104e200b0dce4137467a8eaac5f8f9718d01c99869687afad78cad3b14c4b2e6a39
+ languageName: node
+ linkType: hard
+
"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3":
version: 4.2.3
resolution: "string-width@npm:4.2.3"
@@ -11488,6 +11994,13 @@ __metadata:
languageName: node
linkType: hard
+"style-mod@npm:^4.0.0, style-mod@npm:^4.1.0":
+ version: 4.1.2
+ resolution: "style-mod@npm:4.1.2"
+ checksum: 10c0/ad4d870b3642b0e42ecc7be0e106dd14b7af11985e34fee8de34e5e38c3214bfc96fa7055acea86d75a3a59ddea3f6a8c6641001a66494d7df72d09685e3fadb
+ languageName: node
+ linkType: hard
+
"style-to-object@npm:^0.4.1":
version: 0.4.4
resolution: "style-to-object@npm:0.4.4"
@@ -12065,6 +12578,13 @@ __metadata:
languageName: node
linkType: hard
+"type@npm:^2.7.2":
+ version: 2.7.3
+ resolution: "type@npm:2.7.3"
+ checksum: 10c0/dec6902c2c42fcb86e3adf8cdabdf80e5ef9de280872b5fd547351e9cca2fe58dd2aa6d2547626ddff174145db272f62d95c7aa7038e27c11315657d781a688d
+ languageName: node
+ linkType: hard
+
"typed-array-buffer@npm:^1.0.2":
version: 1.0.2
resolution: "typed-array-buffer@npm:1.0.2"
@@ -12382,7 +12902,7 @@ __metadata:
languageName: node
linkType: hard
-"unist-util-visit@npm:^4.0.0":
+"unist-util-visit@npm:^4.0.0, unist-util-visit@npm:^4.1.1":
version: 4.1.2
resolution: "unist-util-visit@npm:4.1.2"
dependencies:
@@ -12742,6 +13262,13 @@ __metadata:
languageName: node
linkType: hard
+"w3c-keyname@npm:^2.2.4":
+ version: 2.2.8
+ resolution: "w3c-keyname@npm:2.2.8"
+ checksum: 10c0/37cf335c90efff31672ebb345577d681e2177f7ff9006a9ad47c68c5a9d265ba4a7b39d6c2599ceea639ca9315584ce4bd9c9fbf7a7217bfb7a599e71943c4c4
+ languageName: node
+ linkType: hard
+
"wcwidth@npm:^1.0.1":
version: 1.0.1
resolution: "wcwidth@npm:1.0.1"