diff --git a/packages/common/assets/.gitignore b/packages/common/assets/.gitignore
new file mode 100644
index 000000000..f06235c46
--- /dev/null
+++ b/packages/common/assets/.gitignore
@@ -0,0 +1,2 @@
+node_modules
+dist
diff --git a/packages/common/assets/package.json b/packages/common/assets/package.json
new file mode 100644
index 000000000..f2e26698a
--- /dev/null
+++ b/packages/common/assets/package.json
@@ -0,0 +1,32 @@
+{
+ "name": "@common/assets",
+ "version": "0.0.0",
+ "private": true,
+ "main": "./dist/index.js",
+ "module": "./dist/index.mjs",
+ "types": "./dist/index.d.ts",
+ "files": [
+ "dist/**"
+ ],
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "import": "./dist/index.mjs",
+ "require": "./dist/index.js"
+ },
+ "./images": "./src/images",
+ "./icons": "./src/icons",
+ "./fonts": "./src/fonts"
+ },
+ "scripts": {
+ "build": "tsup",
+ "dev": "tsup --watch",
+ "clean": "rm -rf dist",
+ "lint": "eslint src/**/*.ts*"
+ },
+ "devDependencies": {
+ "typescript": "^5.3.3",
+ "tsup": "^8.0.1",
+ "@types/node": "^20.11.0"
+ }
+}
diff --git a/packages/common/assets/src/fonts/index.ts b/packages/common/assets/src/fonts/index.ts
new file mode 100644
index 000000000..fb44d1a76
--- /dev/null
+++ b/packages/common/assets/src/fonts/index.ts
@@ -0,0 +1,5 @@
+export const fonts = {
+ // 예시: pretendard: require('./Pretendard-Regular.woff2'),
+} as const;
+
+export type FontType = keyof typeof fonts;
diff --git a/packages/common/assets/src/icons/index.ts b/packages/common/assets/src/icons/index.ts
new file mode 100644
index 000000000..74f70147d
--- /dev/null
+++ b/packages/common/assets/src/icons/index.ts
@@ -0,0 +1,5 @@
+export const icons = {
+ // 예시: close: require('./close.svg'),
+} as const;
+
+export type IconType = keyof typeof icons;
diff --git a/packages/common/assets/src/images/index.ts b/packages/common/assets/src/images/index.ts
new file mode 100644
index 000000000..dd4ccb0b2
--- /dev/null
+++ b/packages/common/assets/src/images/index.ts
@@ -0,0 +1,6 @@
+export const images = {
+ logo: require("./logo.png"),
+ menuBtn: require("./mob_menuBtn.svg"),
+} as const;
+
+export type ImageType = keyof typeof images;
diff --git a/packages/common/assets/src/images/logo.png b/packages/common/assets/src/images/logo.png
new file mode 100644
index 000000000..6bbe0b4f4
Binary files /dev/null and b/packages/common/assets/src/images/logo.png differ
diff --git a/packages/common/assets/src/images/mob_menuBtn.svg b/packages/common/assets/src/images/mob_menuBtn.svg
new file mode 100644
index 000000000..be4a8ecb9
--- /dev/null
+++ b/packages/common/assets/src/images/mob_menuBtn.svg
@@ -0,0 +1,22 @@
+
+
+
diff --git a/packages/common/assets/src/images/mob_menuBtn_close.svg b/packages/common/assets/src/images/mob_menuBtn_close.svg
new file mode 100644
index 000000000..e4add3f9d
--- /dev/null
+++ b/packages/common/assets/src/images/mob_menuBtn_close.svg
@@ -0,0 +1,20 @@
+
+
+
diff --git a/packages/common/assets/src/index.ts b/packages/common/assets/src/index.ts
new file mode 100644
index 000000000..8958488c3
--- /dev/null
+++ b/packages/common/assets/src/index.ts
@@ -0,0 +1,3 @@
+export * from "./images";
+export * from "./icons";
+export * from "./fonts";
diff --git a/packages/common/assets/tsconfig.json b/packages/common/assets/tsconfig.json
new file mode 100644
index 000000000..bbc7e4840
--- /dev/null
+++ b/packages/common/assets/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "include": ["."],
+ "exclude": ["dist", "build", "node_modules"],
+ "compilerOptions": {
+ "moduleResolution": "node",
+ "baseUrl": ".",
+ "paths": {
+ "@common/assets/*": ["./src/*"]
+ }
+ }
+}
diff --git a/packages/common/assets/tsup.config.ts b/packages/common/assets/tsup.config.ts
new file mode 100644
index 000000000..9381de15e
--- /dev/null
+++ b/packages/common/assets/tsup.config.ts
@@ -0,0 +1,22 @@
+import { defineConfig } from "tsup";
+
+export default defineConfig({
+ entry: ["src/index.ts"],
+ format: ["cjs", "esm"],
+ dts: true,
+ clean: true,
+ external: ["react"],
+ injectStyle: false,
+ loader: {
+ ".png": "dataurl",
+ ".jpg": "dataurl",
+ ".jpeg": "dataurl",
+ ".gif": "dataurl",
+ ".svg": "dataurl",
+ ".webp": "dataurl",
+ ".woff": "dataurl",
+ ".woff2": "dataurl",
+ ".ttf": "dataurl",
+ ".otf": "dataurl",
+ },
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7fe517293..1ee927151 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -56,6 +56,18 @@ importers:
specifier: ^5
version: 5.6.3
+ packages/common/assets:
+ devDependencies:
+ '@types/node':
+ specifier: ^20.11.0
+ version: 20.17.19
+ tsup:
+ specifier: ^8.0.1
+ version: 8.3.6(postcss@8.5.3)(typescript@5.6.3)
+ typescript:
+ specifier: ^5.3.3
+ version: 5.6.3
+
packages/common/components:
dependencies:
'@radix-ui/react-accordion':
@@ -2680,6 +2692,12 @@ packages:
resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
dev: true
+ /@types/node@20.17.19:
+ resolution: {integrity: sha512-LEwC7o1ifqg/6r2gn9Dns0f1rhK+fPFDoMiceTJ6kWmVk6bgXBI/9IOWfVan4WiAavK9pIVWdX0/e3J+eEUh5A==}
+ dependencies:
+ undici-types: 6.19.8
+ dev: true
+
/@types/node@22.13.4:
resolution: {integrity: sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==}
dependencies:
@@ -6238,6 +6256,10 @@ packages:
which-boxed-primitive: 1.1.1
dev: true
+ /undici-types@6.19.8:
+ resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
+ dev: true
+
/undici-types@6.20.0:
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
dev: true