Skip to content

Commit 9dd80e7

Browse files
committed
feat(lynx-playground): add docs example catalog
1 parent d5b0eb5 commit 9dd80e7

281 files changed

Lines changed: 1946 additions & 2088 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

bun.lock

Lines changed: 17 additions & 331 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/examples/lynx/AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ Lynx 컴포넌트 문서에서 실행하는 ReactLynx 예제를 둡니다. Rspee
1212

1313
## 코드 작성 컨벤션
1414

15-
- entry는 필요한 스타일을 import하고 `<page>`를 렌더한 뒤 `root.render()`직접 호출합니다.
15+
- entry는 default export하는 하나의 예제 컴포넌트다. 독립 실행은 상위 `standalone.tsx`의 bootstrap이 맡으며, 예제 내부에서 `root.render()`호출하지 않는다.
1616
- 새로 작성하거나 대상 컴포넌트 import를 수정하는 예제는 Lynx registry 항목이 있으면 `@/components/ui/<name>`의 registry 모듈을 사용합니다. registry가 없는 package-only 컴포넌트만 `@seed-design/lynx-react`의 공개 export를 직접 사용합니다. 기존 예제의 일괄 변경은 별도 작업으로 다룹니다.
1717
- 사용자 이벤트는 Lynx 이벤트 prop을 사용합니다. background thread에서 실행해야 하는 handler에는 `"background only"` 지시문을 둡니다.

docs/examples/lynx/accordion/controlled-required-open.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import "./styles";
22

3-
import { root, useState } from "@lynx-js/react";
3+
import { useState } from "@lynx-js/react";
44
import { Box, Text, useSeedClassName } from "@seed-design/lynx-react";
55
import {
66
Accordion,
@@ -9,7 +9,7 @@ import {
99
AccordionTrigger,
1010
} from "@/components/ui/accordion";
1111

12-
function Root() {
12+
export default function Example() {
1313
const seedClassName = useSeedClassName({ colorMode: "system" });
1414
const [values, setValues] = useState<string[]>(["item-1"]);
1515

@@ -21,7 +21,7 @@ function Root() {
2121
}
2222

2323
return (
24-
<page className={seedClassName}>
24+
<view className={`${seedClassName} docs-lynx-accordion-root`}>
2525
<Accordion values={values} onValuesChange={handleValuesChange}>
2626
<AccordionItem value="item-1">
2727
<AccordionTrigger title="주문 전 확인 사항" />
@@ -54,8 +54,6 @@ function Root() {
5454
</AccordionContent>
5555
</AccordionItem>
5656
</Accordion>
57-
</page>
57+
</view>
5858
);
5959
}
60-
61-
root.render(<Root />);

docs/examples/lynx/accordion/controlled.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import "./styles";
22

3-
import { root, useState } from "@lynx-js/react";
3+
import { useState } from "@lynx-js/react";
44
import { Box, Text, useSeedClassName } from "@seed-design/lynx-react";
55
import {
66
Accordion,
@@ -9,7 +9,7 @@ import {
99
AccordionTrigger,
1010
} from "@/components/ui/accordion";
1111

12-
function Root() {
12+
export default function Example() {
1313
const seedClassName = useSeedClassName({ colorMode: "system" });
1414
const [values, setValues] = useState<string[]>(["item-1"]);
1515

@@ -20,7 +20,7 @@ function Root() {
2020
}
2121

2222
return (
23-
<page className={seedClassName}>
23+
<view className={`${seedClassName} docs-lynx-accordion-root`}>
2424
<Accordion values={values} onValuesChange={handleValuesChange}>
2525
<AccordionItem value="item-1">
2626
<AccordionTrigger title="아코디언 항목 1" />
@@ -47,8 +47,6 @@ function Root() {
4747
</AccordionContent>
4848
</AccordionItem>
4949
</Accordion>
50-
</page>
50+
</view>
5151
);
5252
}
53-
54-
root.render(<Root />);

docs/examples/lynx/accordion/custom-content.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import "./styles";
22

3-
import { root } from "@lynx-js/react";
43
import { Box, Text, VStack, useSeedClassName } from "@seed-design/lynx-react";
54
import {
65
Accordion,
@@ -9,11 +8,11 @@ import {
98
AccordionTrigger,
109
} from "@/components/ui/accordion";
1110

12-
function Root() {
11+
export default function Example() {
1312
const seedClassName = useSeedClassName({ colorMode: "system" });
1413

1514
return (
16-
<page className={seedClassName}>
15+
<view className={`${seedClassName} docs-lynx-accordion-root`}>
1716
<Accordion>
1817
<AccordionItem value="item-1">
1918
<AccordionTrigger title="배송 안내" description="배송 정책 및 예상 소요 시간" />
@@ -50,8 +49,6 @@ function Root() {
5049
</AccordionContent>
5150
</AccordionItem>
5251
</Accordion>
53-
</page>
52+
</view>
5453
);
5554
}
56-
57-
root.render(<Root />);

docs/examples/lynx/accordion/default-expanded.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import "./styles";
22

3-
import { root } from "@lynx-js/react";
43
import { Box, Text, useSeedClassName } from "@seed-design/lynx-react";
54
import {
65
Accordion,
@@ -9,11 +8,11 @@ import {
98
AccordionTrigger,
109
} from "@/components/ui/accordion";
1110

12-
function Root() {
11+
export default function Example() {
1312
const seedClassName = useSeedClassName({ colorMode: "system" });
1413

1514
return (
16-
<page className={seedClassName}>
15+
<view className={`${seedClassName} docs-lynx-accordion-root`}>
1716
<Accordion multiple defaultValues={["item-1"]}>
1817
<AccordionItem value="item-1">
1918
<AccordionTrigger title="아코디언 항목 1" />
@@ -40,8 +39,6 @@ function Root() {
4039
</AccordionContent>
4140
</AccordionItem>
4241
</Accordion>
43-
</page>
42+
</view>
4443
);
4544
}
46-
47-
root.render(<Root />);

docs/examples/lynx/accordion/disabled.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import "./styles";
22

3-
import { root } from "@lynx-js/react";
43
import { Box, Text, useSeedClassName } from "@seed-design/lynx-react";
54
import {
65
Accordion,
@@ -9,11 +8,11 @@ import {
98
AccordionTrigger,
109
} from "@/components/ui/accordion";
1110

12-
function Root() {
11+
export default function Example() {
1312
const seedClassName = useSeedClassName({ colorMode: "system" });
1413

1514
return (
16-
<page className={seedClassName}>
15+
<view className={`${seedClassName} docs-lynx-accordion-root`}>
1716
<Accordion>
1817
<AccordionItem value="item-1">
1918
<AccordionTrigger title="활성화된 항목" />
@@ -40,8 +39,6 @@ function Root() {
4039
</AccordionContent>
4140
</AccordionItem>
4241
</Accordion>
43-
</page>
42+
</view>
4443
);
4544
}
46-
47-
root.render(<Root />);

docs/examples/lynx/accordion/inline.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import "./styles";
22

3-
import { root } from "@lynx-js/react";
43
import { Box, Text, useSeedClassName } from "@seed-design/lynx-react";
54
import {
65
Accordion,
@@ -9,11 +8,11 @@ import {
98
AccordionTrigger,
109
} from "@/components/ui/accordion";
1110

12-
function Root() {
11+
export default function Example() {
1312
const seedClassName = useSeedClassName({ colorMode: "system" });
1413

1514
return (
16-
<page className={seedClassName}>
15+
<view className={`${seedClassName} docs-lynx-accordion-root`}>
1716
<Accordion variant="inline">
1817
<AccordionItem value="item-1">
1918
<AccordionTrigger title="아코디언 항목 1" />
@@ -40,8 +39,6 @@ function Root() {
4039
</AccordionContent>
4140
</AccordionItem>
4241
</Accordion>
43-
</page>
42+
</view>
4443
);
4544
}
46-
47-
root.render(<Root />);

docs/examples/lynx/accordion/multiple.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import "./styles";
22

3-
import { root } from "@lynx-js/react";
43
import { Box, Text, useSeedClassName } from "@seed-design/lynx-react";
54
import {
65
Accordion,
@@ -9,11 +8,11 @@ import {
98
AccordionTrigger,
109
} from "@/components/ui/accordion";
1110

12-
function Root() {
11+
export default function Example() {
1312
const seedClassName = useSeedClassName({ colorMode: "system" });
1413

1514
return (
16-
<page className={seedClassName}>
15+
<view className={`${seedClassName} docs-lynx-accordion-root`}>
1716
<Accordion multiple defaultValues={["item-1", "item-2"]}>
1817
<AccordionItem value="item-1">
1918
<AccordionTrigger title="아코디언 항목 1" />
@@ -40,8 +39,6 @@ function Root() {
4039
</AccordionContent>
4140
</AccordionItem>
4241
</Accordion>
43-
</page>
42+
</view>
4443
);
4544
}
46-
47-
root.render(<Root />);

docs/examples/lynx/accordion/preview.css

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
/* biome-ignore lint/correctness/noUnknownTypeSelector: Lynx의 page 요소입니다. */
2-
page {
1+
.docs-lynx-accordion-root {
32
min-height: 100%;
43
padding: 24px;
54
background-color: var(--seed-color-bg-layer-default);

0 commit comments

Comments
 (0)