@lotte-innovate/ui-component-test 0.0.7 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. package/README.md +163 -163
  2. package/dist/Typography/Header/index.d.ts +1 -1
  3. package/dist/Typography/index.d.ts +2 -2
  4. package/dist/Typography/index.js +3 -3
  5. package/dist/app/layout.d.ts +7 -0
  6. package/dist/app/layout.js +12 -0
  7. package/dist/app/page.d.ts +1 -0
  8. package/dist/app/page.js +25 -0
  9. package/dist/app/template/badgeTemplate.d.ts +11 -0
  10. package/dist/app/template/badgeTemplate.js +11 -0
  11. package/dist/app/template/buttonTemplate.d.ts +11 -0
  12. package/dist/app/template/buttonTemplate.js +11 -0
  13. package/dist/app/template/colorPicker.d.ts +6 -0
  14. package/dist/app/template/colorPicker.js +14 -0
  15. package/dist/app/template/textTemplate.d.ts +10 -0
  16. package/dist/app/template/textTemplate.js +23 -0
  17. package/dist/app/template/theme.d.ts +12 -0
  18. package/dist/app/template/theme.js +12 -0
  19. package/dist/color/alpha.d.ts +784 -0
  20. package/dist/color/alpha.js +784 -0
  21. package/dist/color/constants.d.ts +20 -0
  22. package/dist/color/constants.js +200 -0
  23. package/dist/color/dark.d.ts +392 -0
  24. package/dist/color/dark.js +392 -0
  25. package/dist/color/krdsColors.d.ts +309 -0
  26. package/dist/color/krdsColors.js +309 -0
  27. package/dist/color/light.d.ts +392 -0
  28. package/dist/color/light.js +393 -0
  29. package/dist/components/Tooltip/index.d.ts +1 -1
  30. package/dist/components/index.d.ts +2 -0
  31. package/dist/constants.d.ts +185 -0
  32. package/dist/constants.js +569 -0
  33. package/dist/index.d.ts +5 -0
  34. package/dist/index.js +3 -0
  35. package/dist/stories/Welcome.d.ts +2 -0
  36. package/dist/stories/Welcome.js +30 -0
  37. package/dist/stories/accordion/Accordion.stories.d.ts +71 -0
  38. package/dist/stories/accordion/Accordion.stories.js +61 -0
  39. package/dist/stories/alert-dialog/AlertDialog.stories.d.ts +107 -0
  40. package/dist/stories/alert-dialog/AlertDialog.stories.js +60 -0
  41. package/dist/stories/aspect-ratio/AspectRatio.stories.d.ts +68 -0
  42. package/dist/stories/aspect-ratio/AspectRatio.stories.js +78 -0
  43. package/dist/stories/avatar/Avatar.stories.d.ts +127 -0
  44. package/dist/stories/avatar/Avatar.stories.js +94 -0
  45. package/dist/stories/badge/Badge.stories.d.ts +133 -0
  46. package/dist/stories/badge/Badge.stories.js +86 -0
  47. package/dist/stories/bubble-chart/BubbleChart.stories.d.ts +102 -0
  48. package/dist/stories/bubble-chart/BubbleChart.stories.js +168 -0
  49. package/dist/stories/button/Button.stories.d.ts +148 -0
  50. package/dist/stories/button/Button.stories.js +65 -0
  51. package/dist/stories/button/IconButton.stories.d.ts +125 -0
  52. package/dist/stories/button/IconButton.stories.js +80 -0
  53. package/dist/stories/callout/Callout.stories.d.ts +129 -0
  54. package/dist/stories/callout/Callout.stories.js +104 -0
  55. package/dist/stories/card/Card.stories.d.ts +100 -0
  56. package/dist/stories/card/Card.stories.js +84 -0
  57. package/dist/stories/checkbox/Checkbox.stories.d.ts +147 -0
  58. package/dist/stories/checkbox/Checkbox.stories.js +110 -0
  59. package/dist/stories/checkbox/CheckboxCard.stories.d.ts +129 -0
  60. package/dist/stories/checkbox/CheckboxCard.stories.js +90 -0
  61. package/dist/stories/checkbox/CheckboxGroup.stories.d.ts +91 -0
  62. package/dist/stories/checkbox/CheckboxGroup.stories.js +72 -0
  63. package/dist/stories/context-menu/ContextMenu.stories.d.ts +113 -0
  64. package/dist/stories/context-menu/ContextMenu.stories.js +86 -0
  65. package/dist/stories/data-list/DataList.stories.d.ts +97 -0
  66. package/dist/stories/data-list/DataList.stories.js +87 -0
  67. package/dist/{components/Input/Input.stories.d.ts → stories/dialog/Dialog.stories.d.ts} +39 -28
  68. package/dist/stories/dialog/Dialog.stories.js +59 -0
  69. package/dist/stories/doughnut-chart/DoughnutChart.stories.d.ts +180 -0
  70. package/dist/stories/doughnut-chart/DoughnutChart.stories.js +228 -0
  71. package/dist/stories/dropdown-menu/DropdownMenu.stories.d.ts +112 -0
  72. package/dist/stories/dropdown-menu/DropdownMenu.stories.js +75 -0
  73. package/dist/stories/header/Header.stories.d.ts +112 -0
  74. package/dist/stories/header/Header.stories.js +97 -0
  75. package/dist/stories/hover-card/HoverCard.stories.d.ts +107 -0
  76. package/dist/stories/hover-card/HoverCard.stories.js +71 -0
  77. package/dist/stories/inset/Inset.stories.d.ts +58 -0
  78. package/dist/stories/inset/Inset.stories.js +64 -0
  79. package/dist/stories/label/Label.stories.d.ts +94 -0
  80. package/dist/stories/label/Label.stories.js +91 -0
  81. package/dist/stories/menubar/Menubar.stories.d.ts +119 -0
  82. package/dist/stories/menubar/Menubar.stories.js +98 -0
  83. package/dist/stories/navigation-menu/NavigationMenu.stories.d.ts +385 -0
  84. package/dist/stories/navigation-menu/NavigationMenu.stories.js +79 -0
  85. package/dist/stories/pie-chart/PieChart.stories.d.ts +185 -0
  86. package/dist/stories/pie-chart/PieChart.stories.js +281 -0
  87. package/dist/stories/popover/Popover.stories.d.ts +78 -0
  88. package/dist/stories/popover/Popover.stories.js +74 -0
  89. package/dist/stories/progress/Progress.stories.d.ts +113 -0
  90. package/dist/stories/progress/Progress.stories.js +77 -0
  91. package/dist/stories/radar-chart/RadarChart.stories.d.ts +110 -0
  92. package/dist/stories/radar-chart/RadarChart.stories.js +201 -0
  93. package/dist/stories/radio/Radio.stories.d.ts +108 -0
  94. package/dist/stories/radio/Radio.stories.js +84 -0
  95. package/dist/stories/radio/RadioCards.stories.d.ts +127 -0
  96. package/dist/stories/radio/RadioCards.stories.js +94 -0
  97. package/dist/stories/radio/RadioGroup.stories.d.ts +111 -0
  98. package/dist/stories/radio/RadioGroup.stories.js +88 -0
  99. package/dist/stories/scroll-area/ScrollArea.stories.d.ts +59 -0
  100. package/dist/stories/scroll-area/ScrollArea.stories.js +63 -0
  101. package/dist/stories/segmented-control/SegmentedControl.stories.d.ts +97 -0
  102. package/dist/stories/segmented-control/SegmentedControl.stories.js +80 -0
  103. package/dist/stories/select/Select.stories.d.ts +116 -0
  104. package/dist/stories/select/Select.stories.js +88 -0
  105. package/dist/stories/separator/Separator.stories.d.ts +93 -0
  106. package/dist/stories/separator/Separator.stories.js +82 -0
  107. package/dist/stories/skeleton/Skeleton.stories.d.ts +88 -0
  108. package/dist/stories/skeleton/Skeleton.stories.js +92 -0
  109. package/dist/stories/slider/Slider.stories.d.ts +114 -0
  110. package/dist/stories/slider/Slider.stories.js +83 -0
  111. package/dist/stories/spinner/Spinner.stories.d.ts +83 -0
  112. package/dist/stories/spinner/Spinner.stories.js +87 -0
  113. package/dist/stories/switch/Switch.stories.d.ts +146 -0
  114. package/dist/stories/switch/Switch.stories.js +108 -0
  115. package/dist/stories/tab-nav/TabNav.stories.d.ts +55 -0
  116. package/dist/stories/tab-nav/TabNav.stories.js +59 -0
  117. package/dist/stories/table/Table.stories.d.ts +87 -0
  118. package/dist/stories/table/Table.stories.js +79 -0
  119. package/dist/stories/tabs/Tabs.stories.d.ts +55 -0
  120. package/dist/stories/tabs/Tabs.stories.js +59 -0
  121. package/dist/stories/text/Text.stories.d.ts +74 -0
  122. package/dist/stories/text/Text.stories.js +76 -0
  123. package/dist/stories/textArea/TextArea.stories.d.ts +117 -0
  124. package/dist/stories/textArea/TextArea.stories.js +96 -0
  125. package/dist/stories/textfield/TextField.stories.d.ts +116 -0
  126. package/dist/stories/textfield/TextField.stories.js +88 -0
  127. package/dist/stories/toast/Toast.stories.d.ts +138 -0
  128. package/dist/stories/toast/Toast.stories.js +104 -0
  129. package/dist/stories/toggle/Toggle.stories.d.ts +115 -0
  130. package/dist/stories/toggle/Toggle.stories.js +89 -0
  131. package/dist/stories/toggle/ToggleGroup.stories.d.ts +103 -0
  132. package/dist/stories/toggle/ToggleGroup.stories.js +94 -0
  133. package/dist/stories/tooltip/Tooltip.stories.d.ts +93 -0
  134. package/dist/stories/tooltip/Tooltip.stories.js +78 -0
  135. package/dist/tsconfig.tsbuildinfo +1 -0
  136. package/dist/types.d.ts +11 -0
  137. package/dist/types.js +1 -0
  138. package/dist/utils/utils.d.ts +3 -0
  139. package/dist/utils/utils.js +27 -0
  140. package/package.json +118 -120
  141. package/dist/components/Input/Input.stories.js +0 -74
  142. package/dist/components/Input/index.d.ts +0 -14
  143. package/dist/components/Input/index.js +0 -53
package/README.md CHANGED
@@ -1,163 +1,163 @@
1
- # radix-ui 라이브러리 활용 Storybook UI Component 만들기
2
-
3
- <br />
4
-
5
- ## 사전 설치 라이브러리
6
-
7
- - radix-ui
8
- - 주요 컴포넌트 사용 시 활용할 Headless UI 라이브러리
9
-
10
- ```shell
11
- npm install @radix-ui/react-popover@latest -E
12
- ```
13
-
14
- - storybook
15
- - 컴포넌트 관리를 위해 사용
16
-
17
- ```shell
18
- npx sb init
19
- npx storybook@latest add @storybook/addon-styling-webpack
20
- ```
21
-
22
- - clsx
23
- - 조건부 className 작성을 위해 사용
24
-
25
- ```shell
26
- npm i clsx
27
- ```
28
-
29
- - tailwind-merge
30
- - 스타일 충돌 없이 자바스크립트에서 tailwind CSS 클래스를 효율적으로 병합하는 기능을 가진 라이브러리
31
-
32
- ```shell
33
- npm i tailwind-merge
34
- ```
35
-
36
- - class-variance-authority (CVA)
37
- - 일관성 있는 UI를 정의하고 사용할 수 있도록 도와주는 툴로써 shadcn/ui 컴포넌트의 핵심 도구
38
-
39
- ```shell
40
- npm i class-variance-authority
41
- ```
42
-
43
- <br />
44
-
45
- ## 실행
46
-
47
- - 스토리북 실행
48
-
49
- ```shell
50
- npm run storybook
51
- ```
52
-
53
- > 접속주소(포트 6006 사용 시): `http://localhost:6006`
54
-
55
- - 웹페이지 실행
56
-
57
- ```shell
58
- npm run dev
59
- ```
60
-
61
- > 접속주소(포트 3000 사용 시): `http://localhost:3000`
62
-
63
- ## package publish
64
-
65
- - 타입스크립트 컴파일
66
-
67
- ```shell
68
- npm run publish:npm
69
- ```
70
-
71
- - npm package 배포 시
72
-
73
- - npm 로그인
74
-
75
- ```shell
76
- npm login
77
- ```
78
-
79
- - package.json 버전 수정 후 컴파일 진행
80
-
81
- ```shell
82
- npm run publish:npm
83
- ```
84
-
85
- - 패키지 배포
86
-
87
- ```shell
88
- npm publish
89
- ```
90
-
91
- - npm scope 배포
92
- - npm 로그인 후, 조직 생성 시 @계정명 으로 scope 생성
93
- scope로 생성된 패키지는 npm publish 시, 아래 옵션 추가
94
-
95
- ```shell
96
- npm publish --access=public
97
- ```
98
-
99
-
100
- - npm package 미배포시
101
-
102
- - package.json 버전 수정 후 컴파일 진행
103
-
104
- ```shell
105
- npm run publish:npm
106
- ```
107
-
108
- - dist/ 파일 및 설정파일 추출 후 전달
109
-
110
- ## 사용자 이용 방법
111
-
112
- ### npm 배포 시
113
-
114
- - npm package 설치
115
-
116
- ```sh
117
- npm install <package_name>
118
- ```
119
-
120
- ### npm 미배포시
121
-
122
- - 전달 받은 package 모듈 파일을 node_modules/ 폴더에 추가
123
-
124
- ### tailwind 설정 방법
125
-
126
- - tailwind config 파일 설정
127
-
128
- ```js
129
- // tailwind.config.ts
130
- import type { Config } from 'tailwindcss';
131
- // UI 라이브러리 tailwind config 파일 호출
132
- // >>>>>>>> 추가
133
- const packageTailwindConfig = require('ui-component-test/tailwind.config.js');
134
- // >>>>>>>>
135
-
136
- const config: Config = {
137
- content: [
138
- './src/pages/**/*.{js,ts,jsx,tsx,mdx,zip}',
139
- './src/components/**/*.{js,ts,jsx,tsx,mdx,zip}',
140
- './src/app/**/*.{js,ts,jsx,tsx,mdx,zip}',
141
- // 해당 프로젝트 css 표준 컴포넌트에 적용 가능
142
- // >>>>>>>> 추가
143
- './node_modules/ui-component-test/**/*.{js,ts,jsx,tsx,mdx,zip}',
144
- // >>>>>>>>
145
- ],
146
- theme: {
147
- extend: {
148
- backgroundImage: {
149
- 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
150
- 'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
151
- },
152
- colors: {},
153
- // UI 라이브러리 tailwind config 파일 적용
154
- // >>>>>>>> 추가
155
- ...packageTailwindConfig?.theme?.extend,
156
- // >>>>>>>>
157
- },
158
- },
159
- plugins: [],
160
- };
161
- export default config;
162
-
163
- ```
1
+ # radix-ui 라이브러리 활용 Storybook UI Component 만들기
2
+
3
+ <br />
4
+
5
+ ## 사전 설치 라이브러리
6
+
7
+ - radix-ui
8
+ - 주요 컴포넌트 사용 시 활용할 Headless UI 라이브러리
9
+
10
+ ```shell
11
+ npm install @radix-ui/react-popover@latest -E
12
+ ```
13
+
14
+ - storybook
15
+ - 컴포넌트 관리를 위해 사용
16
+
17
+ ```shell
18
+ npx sb init
19
+ npx storybook@latest add @storybook/addon-styling-webpack
20
+ ```
21
+
22
+ - clsx
23
+ - 조건부 className 작성을 위해 사용
24
+
25
+ ```shell
26
+ npm i clsx
27
+ ```
28
+
29
+ - tailwind-merge
30
+ - 스타일 충돌 없이 자바스크립트에서 tailwind CSS 클래스를 효율적으로 병합하는 기능을 가진 라이브러리
31
+
32
+ ```shell
33
+ npm i tailwind-merge
34
+ ```
35
+
36
+ - class-variance-authority (CVA)
37
+ - 일관성 있는 UI를 정의하고 사용할 수 있도록 도와주는 툴로써 shadcn/ui 컴포넌트의 핵심 도구
38
+
39
+ ```shell
40
+ npm i class-variance-authority
41
+ ```
42
+
43
+ <br />
44
+
45
+ ## 실행
46
+
47
+ - 스토리북 실행
48
+
49
+ ```shell
50
+ npm run storybook
51
+ ```
52
+
53
+ > 접속주소(포트 6006 사용 시): `http://localhost:6006`
54
+
55
+ - 웹페이지 실행
56
+
57
+ ```shell
58
+ npm run dev
59
+ ```
60
+
61
+ > 접속주소(포트 3000 사용 시): `http://localhost:3000`
62
+
63
+ ## package publish
64
+
65
+ - 타입스크립트 컴파일
66
+
67
+ ```shell
68
+ npm run publish:npm
69
+ ```
70
+
71
+ - npm package 배포 시
72
+
73
+ - npm 로그인
74
+
75
+ ```shell
76
+ npm login
77
+ ```
78
+
79
+ - package.json 버전 수정 후 컴파일 진행
80
+
81
+ ```shell
82
+ npm run publish:npm
83
+ ```
84
+
85
+ - 패키지 배포
86
+
87
+ ```shell
88
+ npm publish
89
+ ```
90
+
91
+ - npm scope 배포
92
+ - npm 로그인 후, 조직 생성 시 @계정명 으로 scope 생성
93
+ scope로 생성된 패키지는 npm publish 시, 아래 옵션 추가
94
+
95
+ ```shell
96
+ npm publish --access=public
97
+ ```
98
+
99
+
100
+ - npm package 미배포시
101
+
102
+ - package.json 버전 수정 후 컴파일 진행
103
+
104
+ ```shell
105
+ npm run publish:npm
106
+ ```
107
+
108
+ - dist/ 파일 및 설정파일 추출 후 전달
109
+
110
+ ## 사용자 이용 방법
111
+
112
+ ### npm 배포 시
113
+
114
+ - npm package 설치
115
+
116
+ ```sh
117
+ npm install <package_name>
118
+ ```
119
+
120
+ ### npm 미배포시
121
+
122
+ - 전달 받은 package 모듈 파일을 node_modules/ 폴더에 추가
123
+
124
+ ### tailwind 설정 방법
125
+
126
+ - tailwind config 파일 설정
127
+
128
+ ```js
129
+ // tailwind.config.ts
130
+ import type { Config } from 'tailwindcss';
131
+ // UI 라이브러리 tailwind config 파일 호출
132
+ // >>>>>>>> 추가
133
+ const packageTailwindConfig = require('ui-component-test/tailwind.config.js');
134
+ // >>>>>>>>
135
+
136
+ const config: Config = {
137
+ content: [
138
+ './src/pages/**/*.{js,ts,jsx,tsx,mdx,zip}',
139
+ './src/components/**/*.{js,ts,jsx,tsx,mdx,zip}',
140
+ './src/app/**/*.{js,ts,jsx,tsx,mdx,zip}',
141
+ // 해당 프로젝트 css 표준 컴포넌트에 적용 가능
142
+ // >>>>>>>> 추가
143
+ './node_modules/ui-component-test/**/*.{js,ts,jsx,tsx,mdx,zip}',
144
+ // >>>>>>>>
145
+ ],
146
+ theme: {
147
+ extend: {
148
+ backgroundImage: {
149
+ 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
150
+ 'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
151
+ },
152
+ colors: {},
153
+ // UI 라이브러리 tailwind config 파일 적용
154
+ // >>>>>>>> 추가
155
+ ...packageTailwindConfig?.theme?.extend,
156
+ // >>>>>>>>
157
+ },
158
+ },
159
+ plugins: [],
160
+ };
161
+ export default config;
162
+
163
+ ```
@@ -6,7 +6,7 @@ export interface HeaderProps extends VariantProps<typeof headerVariants> {
6
6
  }
7
7
  declare let headerVariants: (props?: ({
8
8
  weight?: "medium" | "regular" | "semibold" | "bold" | null | undefined;
9
- headers?: "h2" | "h3" | "h1" | "h4" | "h5" | "h6" | null | undefined;
9
+ headers?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | null | undefined;
10
10
  color?: string | null | undefined;
11
11
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
12
12
  export declare const Header: React.ForwardRefExoticComponent<Omit<import("@radix-ui/themes").HeadingProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & HeaderProps & React.RefAttributes<HTMLHeadingElement>>;
@@ -1,2 +1,2 @@
1
- export { default as Header } from './Header';
2
- export { default as Text } from './Text';
1
+ export { default as Header } from './Header';
2
+ export { default as Text } from './Text';
@@ -1,3 +1,3 @@
1
- // Typography
2
- export { default as Header } from './Header';
3
- export { default as Text } from './Text';
1
+ // Typography
2
+ export { default as Header } from '../Typography/Header';
3
+ export { default as Text } from '../Typography/Text';
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { Metadata } from 'next';
3
+ import './globals.css';
4
+ export declare const metadata: Metadata;
5
+ export default function RootLayout({ children, }: Readonly<{
6
+ children: React.ReactNode;
7
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Inter } from 'next/font/google';
3
+ import './globals.css';
4
+ var inter = Inter({ subsets: ['latin'] });
5
+ export var metadata = {
6
+ title: 'Create Next App',
7
+ description: 'Generated by create next app',
8
+ };
9
+ export default function RootLayout(_a) {
10
+ var children = _a.children;
11
+ return (_jsx("html", { lang: "en", children: _jsx("body", { className: inter.className, children: children }) }));
12
+ }
@@ -0,0 +1 @@
1
+ export default function Home(): false | import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,25 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useState } from 'react';
4
+ import Theme from './template/theme';
5
+ import BadgeTemplate from './template/badgeTemplate';
6
+ import ButtonTemplate from './template/buttonTemplate';
7
+ import TextTemplate from './template/textTemplate';
8
+ import Button from 'components/Button';
9
+ import { Toast, ToastActionButton, ToastDescription } from 'components/Toast';
10
+ export default function Home() {
11
+ var _a = useState('full'), radiusTheme = _a[0], setRadiusTheme = _a[1];
12
+ var _b = useState('95%'), scalingTheme = _b[0], setScalingTheme = _b[1];
13
+ var _c = useState('semibold'), fontWeightTheme = _c[0], setFontWeightTheme = _c[1];
14
+ var _d = useState('blue'), colorTheme = _d[0], setColorTheme = _d[1];
15
+ var _e = useState('blue'), fontColorTheme = _e[0], setFontColorTheme = _e[1];
16
+ var _f = useState('light'), mode = _f[0], setMode = _f[1];
17
+ var _g = useState(false), mounted = _g[0], setMounted = _g[1];
18
+ var _h = useState(false), open = _h[0], setOpen = _h[1];
19
+ useEffect(function () {
20
+ setMounted(true);
21
+ }, []);
22
+ return (mounted && (_jsxs("div", { className: "flex flex-col w-full h-auto min-h-screen ".concat(mode == 'light' ? 'bg-white text-black' : 'bg-black text-white', " p-3"), children: [_jsx("div", { onClick: function () {
23
+ setMode(mode === 'light' ? 'dark' : 'light');
24
+ }, children: mode === 'light' ? 'light' : 'dark' }), _jsx(Button, { onClick: function () { return setOpen(true); }, className: "w-[200px]", scaling: '95%', children: "toast" }), _jsxs(Toast, { openToast: open, setOpenToast: setOpen, children: [_jsx(ToastDescription, { children: "There was a problem with your request." }), _jsx(ToastActionButton, { altText: "\uC561\uC158\uBC84\uD2BC", children: "\uBC84\uD2BC" })] }), _jsx(Theme, { setRadiusTheme: setRadiusTheme, setScalingTheme: setScalingTheme, setFontWeightTheme: setFontWeightTheme, setColorTheme: setColorTheme, setFontColorTheme: setFontColorTheme, mode: mode }), _jsx(BadgeTemplate, { radiusTheme: radiusTheme, scalingTheme: scalingTheme, fontWeightTheme: fontWeightTheme, colorTheme: colorTheme, mode: mode }), _jsx(ButtonTemplate, { radiusTheme: radiusTheme, scalingTheme: scalingTheme, fontWeightTheme: fontWeightTheme, colorTheme: colorTheme, mode: mode }), _jsx(TextTemplate, { scalingTheme: scalingTheme, fontWeightTheme: fontWeightTheme, colorTheme: fontColorTheme, mode: mode })] })));
25
+ }
@@ -0,0 +1,11 @@
1
+ import 'react-tabs/style/react-tabs.css';
2
+ import { ITheme, IColor, IRadius, IScaling, IWeight } from 'types';
3
+ type IBadgeTemplate = {
4
+ radiusTheme: IRadius;
5
+ scalingTheme: IScaling;
6
+ fontWeightTheme: IWeight;
7
+ colorTheme: IColor;
8
+ mode: ITheme;
9
+ };
10
+ declare const BadgeTemplate: ({ radiusTheme, scalingTheme, fontWeightTheme, colorTheme, mode, }: IBadgeTemplate) => import("react/jsx-runtime").JSX.Element;
11
+ export default BadgeTemplate;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Tab, Tabs, TabList, TabPanel } from 'react-tabs';
3
+ import 'react-tabs/style/react-tabs.css';
4
+ import { radiusOptions, scalingOptions } from '../../constants';
5
+ import Badge from 'components/Badge';
6
+ import { colorOptions } from 'color/constants';
7
+ var BadgeTemplate = function (_a) {
8
+ var radiusTheme = _a.radiusTheme, scalingTheme = _a.scalingTheme, fontWeightTheme = _a.fontWeightTheme, colorTheme = _a.colorTheme, mode = _a.mode;
9
+ return (_jsxs("div", { className: "m-3", children: [_jsx("div", { className: " font-extrabold", children: "Badge" }), _jsx("div", { className: "", children: _jsx("div", { className: "border p-2 space-x-2", children: _jsxs(Tabs, { className: "", children: [_jsxs(TabList, { children: [_jsx(Tab, { children: "Theme colors" }), _jsx(Tab, { children: "All colors" }), _jsx(Tab, { children: "All sizes" })] }), _jsxs(TabPanel, { children: [_jsx("p", { className: "", children: "Main Color \uC801\uC6A9 \uBC43\uC9C0" }), _jsx(Badge, { radius: radiusTheme, scaling: scalingTheme, color: colorTheme, children: "Badge" }), _jsx(Badge, { radius: radiusTheme, scaling: scalingTheme, color: colorTheme, children: "outline" })] }), _jsx(TabPanel, { children: _jsxs("table", { children: [_jsxs("tr", { children: [_jsx("th", {}), _jsx("th", { children: "default" }), _jsx("th", { children: "outline" })] }), colorOptions === null || colorOptions === void 0 ? void 0 : colorOptions.map(function (color) { return (_jsxs("tr", { children: [_jsx("th", { children: color }), _jsx("td", { children: _jsx(Badge, { radius: radiusTheme, scaling: scalingTheme, color: color, children: "Badge" }) }), _jsx("td", { children: _jsx(Badge, { radius: radiusTheme, scaling: scalingTheme, color: color, children: "outline" }) })] }, color)); })] }) }), _jsxs(TabPanel, { children: [_jsxs("table", { children: [_jsxs("tr", { children: [_jsx("th", {}), radiusOptions.map(function (radius) { return (_jsx("th", { children: radius }, radius)); })] }), scalingOptions.map(function (scale) { return (_jsxs("tr", { children: [_jsx("th", { children: scale }), radiusOptions.map(function (radius) { return (_jsx("td", { children: _jsx(Badge, { scaling: scale, radius: radius, color: colorTheme, children: "Badge" }) }, radius)); })] }, scale)); })] }), _jsx("table", { children: scalingOptions.map(function (scale) { return (_jsxs("tr", { children: [_jsx("th", { children: scale }), radiusOptions.map(function (radius) { return (_jsx("td", { children: _jsx(Badge, { scaling: scale, radius: radius, color: colorTheme, children: "outline" }) }, radius)); })] }, scale)); }) })] })] }) }) })] }));
10
+ };
11
+ export default BadgeTemplate;
@@ -0,0 +1,11 @@
1
+ import { ITheme, IColor, IRadius, IScaling, IWeight } from 'types';
2
+ import 'react-tabs/style/react-tabs.css';
3
+ type IButtonTemplate = {
4
+ radiusTheme: IRadius;
5
+ scalingTheme: IScaling;
6
+ fontWeightTheme: IWeight;
7
+ colorTheme: IColor;
8
+ mode: ITheme;
9
+ };
10
+ declare const ButtonTemplate: ({ radiusTheme, scalingTheme, fontWeightTheme, colorTheme, mode, }: IButtonTemplate) => import("react/jsx-runtime").JSX.Element;
11
+ export default ButtonTemplate;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Tab, Tabs, TabList, TabPanel } from 'react-tabs';
3
+ import 'react-tabs/style/react-tabs.css';
4
+ import { radiusOptions, scalingOptions } from '../../constants';
5
+ import Button from 'components/Button';
6
+ import { colorOptions } from 'color/constants';
7
+ var ButtonTemplate = function (_a) {
8
+ var radiusTheme = _a.radiusTheme, scalingTheme = _a.scalingTheme, fontWeightTheme = _a.fontWeightTheme, colorTheme = _a.colorTheme, mode = _a.mode;
9
+ return (_jsxs("div", { className: "m-3", children: [_jsx("div", { className: " font-extrabold", children: "Button" }), _jsx("div", { className: "", children: _jsx("div", { className: "border p-2 space-x-2", children: _jsxs(Tabs, { className: "", children: [_jsxs(TabList, { children: [_jsx(Tab, { children: "Theme colors" }), _jsx(Tab, { children: "All colors" }), _jsx(Tab, { children: "All sizes" })] }), _jsxs(TabPanel, { children: [_jsx("p", { className: "", children: "Main Color \uC801\uC6A9 Button" }), _jsx(Button, { radius: radiusTheme, scaling: scalingTheme, weight: fontWeightTheme, color: colorTheme, children: "Button" }), _jsx(Button, { radius: radiusTheme, scaling: scalingTheme, weight: fontWeightTheme, color: colorTheme, children: "outline" })] }), _jsx(TabPanel, { children: _jsxs("table", { children: [_jsxs("tr", { children: [_jsx("th", {}), _jsx("th", { children: "default" }), _jsx("th", { children: "outline" })] }), colorOptions === null || colorOptions === void 0 ? void 0 : colorOptions.map(function (color) { return (_jsxs("tr", { children: [_jsx("th", { children: color }), _jsx("td", { children: _jsx(Button, { radius: radiusTheme, scaling: scalingTheme, weight: fontWeightTheme, color: color, children: "Button" }) }), _jsx("td", { children: _jsx(Button, { radius: radiusTheme, scaling: scalingTheme, weight: fontWeightTheme, color: color, children: "outline" }) })] }, color)); })] }) }), _jsxs(TabPanel, { children: [_jsxs("table", { children: [_jsxs("tr", { children: [_jsx("th", {}), radiusOptions.map(function (radius) { return (_jsx("th", { children: radius }, radius)); })] }), scalingOptions.map(function (scale) { return (_jsxs("tr", { children: [_jsx("th", { children: scale }), radiusOptions.map(function (radius) { return (_jsx("td", { children: _jsx(Button, { scaling: scale, radius: radius, weight: fontWeightTheme, color: colorTheme, children: "Button" }) }, radius)); })] }, scale)); })] }), _jsx("table", { children: scalingOptions.map(function (scale) { return (_jsxs("tr", { children: [_jsx("th", { children: scale }), radiusOptions.map(function (radius) { return (_jsx("td", { children: _jsx(Button, { scaling: scale, radius: radius, weight: fontWeightTheme, color: colorTheme, children: "outline" }) }, radius)); })] }, scale)); }) })] })] }) }) })] }));
10
+ };
11
+ export default ButtonTemplate;
@@ -0,0 +1,6 @@
1
+ import { IColor } from 'types';
2
+ declare const ColorPicker: ({ setColorTheme, mode, }: {
3
+ setColorTheme: (color: IColor) => void;
4
+ mode: string;
5
+ }) => import("react/jsx-runtime").JSX.Element;
6
+ export default ColorPicker;
@@ -0,0 +1,14 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { bgColorStyle } from '../../constants';
4
+ var ColorPicker = function (_a) {
5
+ var setColorTheme = _a.setColorTheme, mode = _a.mode;
6
+ var handleColorClick = function (color) {
7
+ setColorTheme(color);
8
+ };
9
+ return (_jsx("div", { children: _jsx("div", { className: "flex flex-row flex-wrap gap-2", children: Object.entries(bgColorStyle).map(function (_a) {
10
+ var key = _a[0], value = _a[1];
11
+ return (_jsx("button", { className: "w-12 p-2 rounded-full text-xs cursor-pointer hover:border-gray-900 ".concat(value, " text-white hover:text-black"), children: key.replace('Dark', '') }, key));
12
+ }) }) }));
13
+ };
14
+ export default ColorPicker;
@@ -0,0 +1,10 @@
1
+ import { ITheme, IScaling, IWeight, IColor } from 'types';
2
+ import 'react-tabs/style/react-tabs.css';
3
+ type ITextTemplate = {
4
+ scalingTheme: IScaling;
5
+ fontWeightTheme: IWeight;
6
+ colorTheme: IColor;
7
+ mode: ITheme;
8
+ };
9
+ declare const TextTemplate: ({ scalingTheme, fontWeightTheme, colorTheme, mode }: ITextTemplate) => import("react/jsx-runtime").JSX.Element;
10
+ export default TextTemplate;
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Tab, Tabs, TabList, TabPanel } from 'react-tabs';
3
+ import 'react-tabs/style/react-tabs.css';
4
+ import { scalingOptions, weightOptions } from '../../constants';
5
+ import { Text } from '../../Typography/Text';
6
+ import { colorOptions } from 'color/constants';
7
+ var TextTemplate = function (_a) {
8
+ var scalingTheme = _a.scalingTheme, fontWeightTheme = _a.fontWeightTheme, colorTheme = _a.colorTheme, mode = _a.mode;
9
+ return (_jsxs("div", { className: "m-3", children: [_jsx("div", { className: " font-extrabold", children: "Text" }), _jsx("div", { className: "", children: _jsx("div", { className: "border p-2 space-x-2", children: _jsxs(Tabs, { className: "", children: [_jsxs(TabList, { children: [_jsx(Tab, { children: "All colors" }), _jsx(Tab, { children: "All sizes" }), _jsx(Tab, { children: "All weights" })] }), _jsx(TabPanel, { children: _jsx("table", { children: _jsx("tbody", { children: colorOptions === null || colorOptions === void 0 ? void 0 : colorOptions.map(function (color) { return (_jsxs("tr", { children: [_jsx("td", { children: color }), _jsx("td", { children: _jsx(Text
10
+ // scaling={scalingTheme}
11
+ , {
12
+ // scaling={scalingTheme}
13
+ weight: fontWeightTheme, color: color, children: "The quick brown fox jumps over the lazy dog." }) })] }, color)); }) }) }) }), _jsx(TabPanel, { children: _jsx("table", { children: _jsx("tbody", { children: scalingOptions === null || scalingOptions === void 0 ? void 0 : scalingOptions.map(function (scale) { return (_jsxs("tr", { children: [_jsx("td", { children: scale }), _jsx("td", { children: _jsx(Text
14
+ // scaling={scale}
15
+ , {
16
+ // scaling={scale}
17
+ weight: fontWeightTheme, color: colorTheme, children: "The quick brown fox jumps over the lazy dog." }) })] }, scale)); }) }) }) }), _jsx(TabPanel, { children: _jsx("table", { children: _jsx("tbody", { children: weightOptions === null || weightOptions === void 0 ? void 0 : weightOptions.map(function (weight) { return (_jsxs("tr", { children: [_jsx("td", { children: weight }), _jsx("td", { children: _jsx(Text
18
+ // scaling={scalingTheme}
19
+ , {
20
+ // scaling={scalingTheme}
21
+ weight: weight, color: colorTheme, children: "The quick brown fox jumps over the lazy dog." }) })] }, weight)); }) }) }) })] }) }) })] }));
22
+ };
23
+ export default TextTemplate;
@@ -0,0 +1,12 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { IColor, IRadius, IScaling, IWeight } from 'types';
3
+ type ITheme = {
4
+ setRadiusTheme: Dispatch<SetStateAction<IRadius>>;
5
+ setScalingTheme: Dispatch<SetStateAction<IScaling>>;
6
+ setFontWeightTheme: Dispatch<SetStateAction<IWeight>>;
7
+ setColorTheme: Dispatch<SetStateAction<IColor>>;
8
+ setFontColorTheme: Dispatch<SetStateAction<IColor>>;
9
+ mode: string;
10
+ };
11
+ declare const Theme: ({ setRadiusTheme, setScalingTheme, setFontWeightTheme, setColorTheme, setFontColorTheme, mode, }: ITheme) => import("react/jsx-runtime").JSX.Element;
12
+ export default Theme;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import ColorPicker from './colorPicker';
3
+ import { radiusOptions, scalingOptions, weightOptions } from '../../constants';
4
+ var Theme = function (_a) {
5
+ var setRadiusTheme = _a.setRadiusTheme, setScalingTheme = _a.setScalingTheme, setFontWeightTheme = _a.setFontWeightTheme, setColorTheme = _a.setColorTheme, setFontColorTheme = _a.setFontColorTheme, mode = _a.mode;
6
+ var setColor = function (color) {
7
+ setColorTheme(color);
8
+ setFontColorTheme(color);
9
+ };
10
+ return (_jsxs("div", { className: "flex flex-col p-3", children: [_jsx("p", { className: "text-2xl font-bold", children: "Themes" }), _jsxs("div", { className: "flex flex-col text-xl gap-2", children: ["Accent Color", _jsx(ColorPicker, { mode: mode, setColorTheme: setColor })] }), _jsxs("div", { className: "flex gap-4", children: [_jsxs("div", { className: "flex gap-2", children: [_jsx("p", { children: "Radius" }), _jsx("select", { className: "border border-gray-900", onChange: function (e) { return setRadiusTheme(e.target.value); }, defaultValue: 'full', children: radiusOptions.map(function (item) { return (_jsx("option", { value: item, children: item }, item)); }) })] }), _jsxs("div", { className: "flex gap-2", children: [_jsx("p", { children: "Scaling" }), _jsx("select", { className: "border border-gray-900", onChange: function (e) { return setScalingTheme(e.target.value); }, children: scalingOptions.map(function (item) { return (_jsx("option", { value: item, children: item }, item)); }) })] }), _jsxs("div", { className: "flex gap-2", children: [_jsx("p", { children: "Font Weight" }), _jsx("select", { className: "border border-gray-900", onChange: function (e) { return setFontWeightTheme(e.target.value); }, defaultValue: 'semibold', children: weightOptions.map(function (item) { return (_jsx("option", { value: item, children: item }, item)); }) })] })] })] }));
11
+ };
12
+ export default Theme;