@nextlevel_korea/design-system 1.1.1 → 1.1.3

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/README.md CHANGED
@@ -25,6 +25,185 @@ function App() {
25
25
  }
26
26
  ```
27
27
 
28
+ ## ⚠️ 중요: 스타일 적용 방법
29
+
30
+ 이 라이브러리를 사용할 때 **반드시 스타일을 import**해야 합니다:
31
+
32
+ ### 방법 1: CSS 파일 직접 import (권장)
33
+
34
+ ```tsx
35
+ import { Header } from '@nextlevel_korea/design-system';
36
+ import '@nextlevel_korea/design-system/styles'; // 이 줄이 필수입니다!
37
+
38
+ function App() {
39
+ return <Header logo="https://example.com/logo.png" />;
40
+ }
41
+ ```
42
+
43
+ ### 방법 2: 전역 CSS 파일에서 import
44
+
45
+ ```css
46
+ /* styles.css */
47
+ @import '@nextlevel_korea/design-system/styles';
48
+ ```
49
+
50
+ ### 방법 3: Next.js에서 사용
51
+
52
+ ```tsx
53
+ // pages/_app.tsx 또는 app/layout.tsx
54
+ import '@nextlevel_korea/design-system/styles';
55
+
56
+ export default function App({ Component, pageProps }) {
57
+ return <Component {...pageProps} />;
58
+ }
59
+ ```
60
+
61
+ ### 방법 4: Vite에서 사용
62
+
63
+ ```tsx
64
+ // main.tsx
65
+ import '@nextlevel_korea/design-system/styles';
66
+ import { Header } from '@nextlevel_korea/design-system';
67
+ ```
68
+
69
+ ## 🔧 문제 해결
70
+
71
+ ### 스타일이 적용되지 않는 경우
72
+
73
+ #### 1. 스타일 import 확인
74
+
75
+ 가장 일반적인 문제는 스타일을 import하지 않는 것입니다:
76
+
77
+ ```tsx
78
+ // ❌ 잘못된 사용법
79
+ import { Header } from '@nextlevel_korea/design-system';
80
+ // 스타일 import가 없음!
81
+
82
+ // ✅ 올바른 사용법
83
+ import { Header } from '@nextlevel_korea/design-system';
84
+ import '@nextlevel_korea/design-system/styles'; // 필수!
85
+ ```
86
+
87
+ #### 2. Tailwind CSS 충돌 해결
88
+
89
+ 프로젝트에 Tailwind CSS가 이미 설치되어 있는 경우:
90
+
91
+ ```js
92
+ // tailwind.config.js
93
+ module.exports = {
94
+ content: [
95
+ './src/**/*.{js,ts,jsx,tsx}',
96
+ './node_modules/@nextlevel_korea/design-system/dist/**/*.js', // 이 줄 추가
97
+ ],
98
+ // 라이브러리의 커스텀 색상을 추가
99
+ theme: {
100
+ extend: {
101
+ colors: {
102
+ success: '#22c55e',
103
+ warning: '#eab308',
104
+ danger: '#ef4444',
105
+ info: '#0ea5e9',
106
+ muted: '#6b7280',
107
+ },
108
+ },
109
+ },
110
+ };
111
+ ```
112
+
113
+ #### 3. CSS 우선순위 문제
114
+
115
+ 다른 CSS가 라이브러리 스타일을 덮어쓰는 경우:
116
+
117
+ ```css
118
+ /* styles.css */
119
+ /* 라이브러리 스타일을 먼저 import */
120
+ @import '@nextlevel_korea/design-system/styles';
121
+
122
+ /* 그 다음에 프로젝트 스타일 */
123
+ @import './your-styles.css';
124
+ ```
125
+
126
+ #### 4. 번들러 설정 확인
127
+
128
+ **Vite에서 사용 시:**
129
+
130
+ ```ts
131
+ // vite.config.ts
132
+ export default defineConfig({
133
+ optimizeDeps: {
134
+ include: ['@nextlevel_korea/design-system'],
135
+ },
136
+ });
137
+ ```
138
+
139
+ **Webpack에서 사용 시:**
140
+
141
+ ```js
142
+ // webpack.config.js
143
+ module.exports = {
144
+ resolve: {
145
+ alias: {
146
+ '@nextlevel_korea/design-system': require.resolve(
147
+ '@nextlevel_korea/design-system'
148
+ ),
149
+ },
150
+ },
151
+ };
152
+ ```
153
+
154
+ #### 5. TypeScript 설정 확인
155
+
156
+ ```json
157
+ // tsconfig.json
158
+ {
159
+ "compilerOptions": {
160
+ "moduleResolution": "node",
161
+ "esModuleInterop": true,
162
+ "allowSyntheticDefaultImports": true
163
+ }
164
+ }
165
+ ```
166
+
167
+ ### 일반적인 오류와 해결책
168
+
169
+ #### 오류: "Cannot resolve module '@nextlevel_korea/design-system/styles'"
170
+
171
+ ```bash
172
+ # 패키지 재설치
173
+ npm uninstall @nextlevel_korea/design-system
174
+ npm install @nextlevel_korea/design-system
175
+ ```
176
+
177
+ #### 오류: "Module not found"
178
+
179
+ ```bash
180
+ # node_modules 삭제 후 재설치
181
+ rm -rf node_modules package-lock.json
182
+ npm install
183
+ ```
184
+
185
+ #### 스타일이 일부만 적용되는 경우
186
+
187
+ Tailwind CSS의 purge 설정을 확인하세요:
188
+
189
+ ```js
190
+ // tailwind.config.js
191
+ module.exports = {
192
+ content: [
193
+ './src/**/*.{js,ts,jsx,tsx}',
194
+ './node_modules/@nextlevel_korea/design-system/dist/**/*.js',
195
+ ],
196
+ // safelist 추가 (필요한 경우)
197
+ safelist: [
198
+ 'text-success',
199
+ 'text-warning',
200
+ 'text-danger',
201
+ 'text-info',
202
+ 'text-muted',
203
+ ],
204
+ };
205
+ ```
206
+
28
207
  ## 📖 Storybook 문서
29
208
 
30
209
  우리 디자인 시스템을 탐색하고 이해하는 가장 좋은 방법은 인터랙티브 Storybook 문서를 통하는 것입니다.
@@ -65,15 +244,29 @@ npm run storybook
65
244
  커스터마이징 가능한 로고가 있는 유연한 헤더 컴포넌트입니다.
66
245
 
67
246
  ```tsx
68
- import { Header } from '@nextlevel/design-system';
247
+ import { Header } from '@nextlevel_korea/design-system';
248
+ import '@nextlevel_korea/design-system/styles'; // 필수!
69
249
 
70
250
  // 기본 사용법
71
- <Header logo="https://example.com/logo.png" />;
251
+ <Header logo="https://example.com/logo.png" title="My App" />
252
+
253
+ // 로고만 있는 헤더
254
+ <Header logo="https://example.com/logo.png" />
255
+
256
+ // 제목만 있는 헤더
257
+ <Header title="My Application" />
72
258
  ```
73
259
 
74
260
  **Props:**
75
261
 
76
- - `logo` (string) - 로고 이미지 URL
262
+ - `logo` (string, optional) - 로고 이미지 URL
263
+ - `title` (string, optional) - 헤더 제목
264
+
265
+ **스타일 클래스:**
266
+
267
+ - `flex items-center justify-between` - 기본 레이아웃
268
+ - `h-8` - 로고 높이
269
+ - `text-xl text-success font-bold` - 제목 스타일
77
270
 
78
271
  **Storybook 예제:**
79
272
 
@@ -214,3 +407,85 @@ MIT 라이선스 - 자세한 내용은 [LICENSE](LICENSE) 파일을 참조하세
214
407
  ---
215
408
 
216
409
  NextLevel 팀이 ❤️로 만들었습니다
410
+
411
+ ## 📝 완전한 사용 예제
412
+
413
+ ### React + Vite 프로젝트
414
+
415
+ ```tsx
416
+ // src/App.tsx
417
+ import { Header } from '@nextlevel_korea/design-system';
418
+ import '@nextlevel_korea/design-system/styles';
419
+
420
+ function App() {
421
+ return (
422
+ <div className="min-h-screen bg-gray-50">
423
+ <Header
424
+ logo="https://via.placeholder.com/150x50/2563eb/ffffff?text=LOGO"
425
+ title="My Awesome App"
426
+ />
427
+ <main className="container mx-auto px-4 py-8">
428
+ <h1 className="text-3xl font-bold text-gray-900">Welcome to My App</h1>
429
+ </main>
430
+ </div>
431
+ );
432
+ }
433
+
434
+ export default App;
435
+ ```
436
+
437
+ ### Next.js 프로젝트
438
+
439
+ ```tsx
440
+ // app/layout.tsx
441
+ import '@nextlevel_korea/design-system/styles';
442
+
443
+ export default function RootLayout({
444
+ children,
445
+ }: {
446
+ children: React.ReactNode;
447
+ }) {
448
+ return (
449
+ <html lang="en">
450
+ <body>{children}</body>
451
+ </html>
452
+ );
453
+ }
454
+ ```
455
+
456
+ ```tsx
457
+ // app/page.tsx
458
+ import { Header } from '@nextlevel_korea/design-system';
459
+
460
+ export default function Home() {
461
+ return (
462
+ <div>
463
+ <Header logo="/logo.png" title="Next.js App" />
464
+ <main>
465
+ <h1>Welcome to Next.js!</h1>
466
+ </main>
467
+ </div>
468
+ );
469
+ }
470
+ ```
471
+
472
+ ### Create React App
473
+
474
+ ```tsx
475
+ // src/App.js
476
+ import { Header } from '@nextlevel_korea/design-system';
477
+ import '@nextlevel_korea/design-system/styles';
478
+
479
+ function App() {
480
+ return (
481
+ <div className="App">
482
+ <Header logo="https://example.com/logo.png" title="React App" />
483
+ <header className="App-header">
484
+ <p>Edit src/App.js and save to reload.</p>
485
+ </header>
486
+ </div>
487
+ );
488
+ }
489
+
490
+ export default App;
491
+ ```
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/components/Header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAO5B,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/components/Header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAQ5B,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/index.cjs CHANGED
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var F;function re(){if(F)return R;F=1;var s=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function d(m,a,u){var E=null;if(u!==void 0&&(E=""+u),a.key!==void 0&&(E=""+a.key),"key"in a){u={};for(var b in a)b!=="key"&&(u[b]=a[b])}else u=a;return a=u.ref,{$$typeof:s,type:m,key:E,ref:a!==void 0?a:null,props:u}}return R.Fragment=i,R.jsx=d,R.jsxs=d,R}var _={};/**
9
+ */var F;function re(){if(F)return R;F=1;var s=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function d(m,o,c){var E=null;if(c!==void 0&&(E=""+c),o.key!==void 0&&(E=""+o.key),"key"in o){c={};for(var b in o)b!=="key"&&(c[b]=o[b])}else c=o;return o=c.ref,{$$typeof:s,type:m,key:E,ref:o!==void 0?o:null,props:c}}return R.Fragment=i,R.jsx=d,R.jsxs=d,R}var _={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,9 +14,9 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var D;function te(){return D||(D=1,process.env.NODE_ENV!=="production"&&function(){function s(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Z?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case T:return"Fragment";case q:return"Profiler";case U:return"StrictMode";case J:return"Suspense";case X:return"SuspenseList";case B:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case W:return"Portal";case V:return(e.displayName||"Context")+".Provider";case z:return(e._context.displayName||"Context")+".Consumer";case G:var r=e.render;return e=e.displayName,e||(e=r.displayName||r.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case H:return r=e.displayName||null,r!==null?r:s(e.type)||"Memo";case x:r=e._payload,e=e._init;try{return s(e(r))}catch{}}return null}function i(e){return""+e}function d(e){try{i(e);var r=!1}catch{r=!0}if(r){r=console;var t=r.error,n=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return t.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",n),i(e)}}function m(e){if(e===T)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===x)return"<...>";try{var r=s(e);return r?"<"+r+">":"<...>"}catch{return"<...>"}}function a(){var e=p.A;return e===null?null:e.getOwner()}function u(){return Error("react-stack-top-frame")}function E(e){if(y.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function b(e,r){function t(){N||(N=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",r))}t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}function M(){var e=s(this.type);return C[e]||(C[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function L(e,r,t,n,l,c,O,S){return t=c.ref,e={$$typeof:h,type:e,key:r,props:c,_owner:l},(t!==void 0?t:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:M}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:O}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:S}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function g(e,r,t,n,l,c,O,S){var o=r.children;if(o!==void 0)if(n)if(Q(o)){for(n=0;n<o.length;n++)w(o[n]);Object.freeze&&Object.freeze(o)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else w(o);if(y.call(r,"key")){o=s(e);var f=Object.keys(r).filter(function(K){return K!=="key"});n=0<f.length?"{key: someKey, "+f.join(": ..., ")+": ...}":"{key: someKey}",$[o+n]||(f=0<f.length?"{"+f.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
17
+ */var D;function te(){return D||(D=1,process.env.NODE_ENV!=="production"&&function(){function s(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Z?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case T:return"Fragment";case q:return"Profiler";case U:return"StrictMode";case J:return"Suspense";case X:return"SuspenseList";case B:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case W:return"Portal";case V:return(e.displayName||"Context")+".Provider";case z:return(e._context.displayName||"Context")+".Consumer";case G:var r=e.render;return e=e.displayName,e||(e=r.displayName||r.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case H:return r=e.displayName||null,r!==null?r:s(e.type)||"Memo";case h:r=e._payload,e=e._init;try{return s(e(r))}catch{}}return null}function i(e){return""+e}function d(e){try{i(e);var r=!1}catch{r=!0}if(r){r=console;var t=r.error,n=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return t.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",n),i(e)}}function m(e){if(e===T)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===h)return"<...>";try{var r=s(e);return r?"<"+r+">":"<...>"}catch{return"<...>"}}function o(){var e=p.A;return e===null?null:e.getOwner()}function c(){return Error("react-stack-top-frame")}function E(e){if(y.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function b(e,r){function t(){N||(N=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",r))}t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}function L(){var e=s(this.type);return C[e]||(C[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function M(e,r,t,n,l,u,O,S){return t=u.ref,e={$$typeof:g,type:e,key:r,props:u,_owner:l},(t!==void 0?t:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:L}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:O}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:S}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function x(e,r,t,n,l,u,O,S){var a=r.children;if(a!==void 0)if(n)if(Q(a)){for(n=0;n<a.length;n++)w(a[n]);Object.freeze&&Object.freeze(a)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else w(a);if(y.call(r,"key")){a=s(e);var f=Object.keys(r).filter(function(K){return K!=="key"});n=0<f.length?"{key: someKey, "+f.join(": ..., ")+": ...}":"{key: someKey}",$[a+n]||(f=0<f.length?"{"+f.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
18
18
  let props = %s;
19
19
  <%s {...props} />
20
20
  React keys must be passed directly to JSX without using spread:
21
21
  let props = %s;
22
- <%s key={someKey} {...props} />`,n,o,f,o),$[o+n]=!0)}if(o=null,t!==void 0&&(d(t),o=""+t),E(r)&&(d(r.key),o=""+r.key),"key"in r){t={};for(var A in r)A!=="key"&&(t[A]=r[A])}else t=r;return o&&b(t,typeof e=="function"?e.displayName||e.name||"Unknown":e),L(e,o,c,l,a(),t,O,S)}function w(e){typeof e=="object"&&e!==null&&e.$$typeof===h&&e._store&&(e._store.validated=1)}var v=ee,h=Symbol.for("react.transitional.element"),W=Symbol.for("react.portal"),T=Symbol.for("react.fragment"),U=Symbol.for("react.strict_mode"),q=Symbol.for("react.profiler"),z=Symbol.for("react.consumer"),V=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),X=Symbol.for("react.suspense_list"),H=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),B=Symbol.for("react.activity"),Z=Symbol.for("react.client.reference"),p=v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,y=Object.prototype.hasOwnProperty,Q=Array.isArray,k=console.createTask?console.createTask:function(){return null};v={"react-stack-bottom-frame":function(e){return e()}};var N,C={},Y=v["react-stack-bottom-frame"].bind(v,u)(),I=k(m(u)),$={};_.Fragment=T,_.jsx=function(e,r,t,n,l){var c=1e4>p.recentlyCreatedOwnerStacks++;return g(e,r,t,!1,n,l,c?Error("react-stack-top-frame"):Y,c?k(m(e)):I)},_.jsxs=function(e,r,t,n,l){var c=1e4>p.recentlyCreatedOwnerStacks++;return g(e,r,t,!0,n,l,c?Error("react-stack-top-frame"):Y,c?k(m(e)):I)}}()),_}process.env.NODE_ENV==="production"?P.exports=re():P.exports=te();var j=P.exports;const ne=({logo:s,title:i})=>j.jsxs("header",{children:[s&&j.jsx("img",{src:s,alt:"logo"}),i&&j.jsx("h1",{children:i})]});exports.Header=ne;
22
+ <%s key={someKey} {...props} />`,n,a,f,a),$[a+n]=!0)}if(a=null,t!==void 0&&(d(t),a=""+t),E(r)&&(d(r.key),a=""+r.key),"key"in r){t={};for(var j in r)j!=="key"&&(t[j]=r[j])}else t=r;return a&&b(t,typeof e=="function"?e.displayName||e.name||"Unknown":e),M(e,a,u,l,o(),t,O,S)}function w(e){typeof e=="object"&&e!==null&&e.$$typeof===g&&e._store&&(e._store.validated=1)}var v=ee,g=Symbol.for("react.transitional.element"),W=Symbol.for("react.portal"),T=Symbol.for("react.fragment"),U=Symbol.for("react.strict_mode"),q=Symbol.for("react.profiler"),z=Symbol.for("react.consumer"),V=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),X=Symbol.for("react.suspense_list"),H=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),B=Symbol.for("react.activity"),Z=Symbol.for("react.client.reference"),p=v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,y=Object.prototype.hasOwnProperty,Q=Array.isArray,k=console.createTask?console.createTask:function(){return null};v={"react-stack-bottom-frame":function(e){return e()}};var N,C={},Y=v["react-stack-bottom-frame"].bind(v,c)(),I=k(m(c)),$={};_.Fragment=T,_.jsx=function(e,r,t,n,l){var u=1e4>p.recentlyCreatedOwnerStacks++;return x(e,r,t,!1,n,l,u?Error("react-stack-top-frame"):Y,u?k(m(e)):I)},_.jsxs=function(e,r,t,n,l){var u=1e4>p.recentlyCreatedOwnerStacks++;return x(e,r,t,!0,n,l,u?Error("react-stack-top-frame"):Y,u?k(m(e)):I)}}()),_}process.env.NODE_ENV==="production"?P.exports=re():P.exports=te();var A=P.exports;const ne=({logo:s,title:i})=>A.jsxs("header",{className:"flex items-center justify-between",children:[s&&A.jsx("img",{src:s,alt:"Logo",className:"h-8"}),i&&A.jsx("h1",{className:"text-xl text-success font-bold",children:i}),"배포테스트"]});exports.Header=ne;
@@ -1 +1 @@
1
- *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Pretendard,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Fira Mono,ui-monospace,SFMono-Regular,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}[type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,input:where(:not([type])):focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media (forced-colors: active){[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.text-\[36px\]{font-size:36px}.font-bold{font-weight:700}.text-success{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}
1
+ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Pretendard,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Fira Mono,ui-monospace,SFMono-Regular,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}[type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,input:where(:not([type])):focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media (forced-colors: active){[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.flex{display:flex}.h-8{height:2rem}.items-center{align-items:center}.justify-between{justify-content:space-between}.text-\[36px\]{font-size:36px}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.text-success{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import ee from "react";
2
- var P = { exports: {} }, R = {};
2
+ var S = { exports: {} }, R = {};
3
3
  /**
4
4
  * @license React
5
5
  * react-jsx-runtime.production.js
@@ -14,18 +14,18 @@ function re() {
14
14
  if (F) return R;
15
15
  F = 1;
16
16
  var s = Symbol.for("react.transitional.element"), i = Symbol.for("react.fragment");
17
- function d(m, a, c) {
17
+ function d(m, o, c) {
18
18
  var E = null;
19
- if (c !== void 0 && (E = "" + c), a.key !== void 0 && (E = "" + a.key), "key" in a) {
19
+ if (c !== void 0 && (E = "" + c), o.key !== void 0 && (E = "" + o.key), "key" in o) {
20
20
  c = {};
21
- for (var b in a)
22
- b !== "key" && (c[b] = a[b]);
23
- } else c = a;
24
- return a = c.ref, {
21
+ for (var b in o)
22
+ b !== "key" && (c[b] = o[b]);
23
+ } else c = o;
24
+ return o = c.ref, {
25
25
  $$typeof: s,
26
26
  type: m,
27
27
  key: E,
28
- ref: a !== void 0 ? a : null,
28
+ ref: o !== void 0 ? o : null,
29
29
  props: c
30
30
  };
31
31
  }
@@ -118,7 +118,7 @@ function te() {
118
118
  return "<...>";
119
119
  }
120
120
  }
121
- function a() {
121
+ function o() {
122
122
  var e = p.A;
123
123
  return e === null ? null : e.getOwner();
124
124
  }
@@ -126,7 +126,7 @@ function te() {
126
126
  return Error("react-stack-top-frame");
127
127
  }
128
128
  function E(e) {
129
- if (y.call(e, "key")) {
129
+ if (N.call(e, "key")) {
130
130
  var r = Object.getOwnPropertyDescriptor(e, "key").get;
131
131
  if (r && r.isReactWarning) return !1;
132
132
  }
@@ -134,7 +134,7 @@ function te() {
134
134
  }
135
135
  function b(e, r) {
136
136
  function t() {
137
- N || (N = !0, console.error(
137
+ y || (y = !0, console.error(
138
138
  "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
139
139
  r
140
140
  ));
@@ -152,7 +152,7 @@ function te() {
152
152
  }
153
153
  function M(e, r, t, n, l, u, O, A) {
154
154
  return t = u.ref, e = {
155
- $$typeof: x,
155
+ $$typeof: h,
156
156
  type: e,
157
157
  key: r,
158
158
  props: u,
@@ -182,25 +182,25 @@ function te() {
182
182
  value: A
183
183
  }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
184
184
  }
185
- function w(e, r, t, n, l, u, O, A) {
186
- var o = r.children;
187
- if (o !== void 0)
185
+ function P(e, r, t, n, l, u, O, A) {
186
+ var a = r.children;
187
+ if (a !== void 0)
188
188
  if (n)
189
- if (Q(o)) {
190
- for (n = 0; n < o.length; n++)
191
- h(o[n]);
192
- Object.freeze && Object.freeze(o);
189
+ if (Q(a)) {
190
+ for (n = 0; n < a.length; n++)
191
+ w(a[n]);
192
+ Object.freeze && Object.freeze(a);
193
193
  } else
194
194
  console.error(
195
195
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
196
196
  );
197
- else h(o);
198
- if (y.call(r, "key")) {
199
- o = s(e);
197
+ else w(a);
198
+ if (N.call(r, "key")) {
199
+ a = s(e);
200
200
  var f = Object.keys(r).filter(function(K) {
201
201
  return K !== "key";
202
202
  });
203
- n = 0 < f.length ? "{key: someKey, " + f.join(": ..., ") + ": ...}" : "{key: someKey}", $[o + n] || (f = 0 < f.length ? "{" + f.join(": ..., ") + ": ...}" : "{}", console.error(
203
+ n = 0 < f.length ? "{key: someKey, " + f.join(": ..., ") + ": ...}" : "{key: someKey}", $[a + n] || (f = 0 < f.length ? "{" + f.join(": ..., ") + ": ...}" : "{}", console.error(
204
204
  `A props object containing a "key" prop is being spread into JSX:
205
205
  let props = %s;
206
206
  <%s {...props} />
@@ -208,34 +208,34 @@ React keys must be passed directly to JSX without using spread:
208
208
  let props = %s;
209
209
  <%s key={someKey} {...props} />`,
210
210
  n,
211
- o,
211
+ a,
212
212
  f,
213
- o
214
- ), $[o + n] = !0);
213
+ a
214
+ ), $[a + n] = !0);
215
215
  }
216
- if (o = null, t !== void 0 && (d(t), o = "" + t), E(r) && (d(r.key), o = "" + r.key), "key" in r) {
216
+ if (a = null, t !== void 0 && (d(t), a = "" + t), E(r) && (d(r.key), a = "" + r.key), "key" in r) {
217
217
  t = {};
218
- for (var S in r)
219
- S !== "key" && (t[S] = r[S]);
218
+ for (var j in r)
219
+ j !== "key" && (t[j] = r[j]);
220
220
  } else t = r;
221
- return o && b(
221
+ return a && b(
222
222
  t,
223
223
  typeof e == "function" ? e.displayName || e.name || "Unknown" : e
224
224
  ), M(
225
225
  e,
226
- o,
226
+ a,
227
227
  u,
228
228
  l,
229
- a(),
229
+ o(),
230
230
  t,
231
231
  O,
232
232
  A
233
233
  );
234
234
  }
235
- function h(e) {
236
- typeof e == "object" && e !== null && e.$$typeof === x && e._store && (e._store.validated = 1);
235
+ function w(e) {
236
+ typeof e == "object" && e !== null && e.$$typeof === h && e._store && (e._store.validated = 1);
237
237
  }
238
- var v = ee, x = Symbol.for("react.transitional.element"), W = Symbol.for("react.portal"), T = Symbol.for("react.fragment"), U = Symbol.for("react.strict_mode"), z = Symbol.for("react.profiler"), V = Symbol.for("react.consumer"), q = Symbol.for("react.context"), G = Symbol.for("react.forward_ref"), J = Symbol.for("react.suspense"), X = Symbol.for("react.suspense_list"), H = Symbol.for("react.memo"), g = Symbol.for("react.lazy"), B = Symbol.for("react.activity"), Z = Symbol.for("react.client.reference"), p = v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, y = Object.prototype.hasOwnProperty, Q = Array.isArray, k = console.createTask ? console.createTask : function() {
238
+ var v = ee, h = Symbol.for("react.transitional.element"), W = Symbol.for("react.portal"), T = Symbol.for("react.fragment"), U = Symbol.for("react.strict_mode"), z = Symbol.for("react.profiler"), V = Symbol.for("react.consumer"), q = Symbol.for("react.context"), G = Symbol.for("react.forward_ref"), J = Symbol.for("react.suspense"), X = Symbol.for("react.suspense_list"), H = Symbol.for("react.memo"), g = Symbol.for("react.lazy"), B = Symbol.for("react.activity"), Z = Symbol.for("react.client.reference"), p = v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, N = Object.prototype.hasOwnProperty, Q = Array.isArray, k = console.createTask ? console.createTask : function() {
239
239
  return null;
240
240
  };
241
241
  v = {
@@ -243,13 +243,13 @@ React keys must be passed directly to JSX without using spread:
243
243
  return e();
244
244
  }
245
245
  };
246
- var N, C = {}, Y = v["react-stack-bottom-frame"].bind(
246
+ var y, C = {}, Y = v["react-stack-bottom-frame"].bind(
247
247
  v,
248
248
  c
249
249
  )(), I = k(m(c)), $ = {};
250
250
  _.Fragment = T, _.jsx = function(e, r, t, n, l) {
251
251
  var u = 1e4 > p.recentlyCreatedOwnerStacks++;
252
- return w(
252
+ return P(
253
253
  e,
254
254
  r,
255
255
  t,
@@ -261,7 +261,7 @@ React keys must be passed directly to JSX without using spread:
261
261
  );
262
262
  }, _.jsxs = function(e, r, t, n, l) {
263
263
  var u = 1e4 > p.recentlyCreatedOwnerStacks++;
264
- return w(
264
+ return P(
265
265
  e,
266
266
  r,
267
267
  t,
@@ -274,12 +274,13 @@ React keys must be passed directly to JSX without using spread:
274
274
  };
275
275
  }()), _;
276
276
  }
277
- process.env.NODE_ENV === "production" ? P.exports = re() : P.exports = te();
278
- var j = P.exports;
279
- const oe = ({ logo: s, title: i }) => /* @__PURE__ */ j.jsxs("header", { children: [
280
- s && /* @__PURE__ */ j.jsx("img", { src: s, alt: "logo" }),
281
- i && /* @__PURE__ */ j.jsx("h1", { children: i })
277
+ process.env.NODE_ENV === "production" ? S.exports = re() : S.exports = te();
278
+ var x = S.exports;
279
+ const ae = ({ logo: s, title: i }) => /* @__PURE__ */ x.jsxs("header", { className: "flex items-center justify-between", children: [
280
+ s && /* @__PURE__ */ x.jsx("img", { src: s, alt: "Logo", className: "h-8" }),
281
+ i && /* @__PURE__ */ x.jsx("h1", { className: "text-xl text-success font-bold", children: i }),
282
+ "배포테스트"
282
283
  ] });
283
284
  export {
284
- oe as Header
285
+ ae as Header
285
286
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nextlevel_korea/design-system",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "type": "module",
5
5
  "description": "A modern React design system built with TypeScript and Tailwind CSS - The NextLevel Design System",
6
6
  "keywords": [