@nextlevel_korea/design-system 1.1.5 → 2.0.0

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/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import te, { useState as S, useRef as ae, useEffect as J } from "react";
1
+ import te, { useState as C, useRef as ae, useEffect as X } from "react";
2
2
  var W = { exports: {} }, $ = {};
3
3
  /**
4
4
  * @license React
@@ -9,27 +9,27 @@ var W = { exports: {} }, $ = {};
9
9
  * This source code is licensed under the MIT license found in the
10
10
  * LICENSE file in the root directory of this source tree.
11
11
  */
12
- var X;
12
+ var Z;
13
13
  function oe() {
14
- if (X) return $;
15
- X = 1;
16
- var u = Symbol.for("react.transitional.element"), s = Symbol.for("react.fragment");
17
- function f(h, d, n) {
18
- var m = null;
19
- if (n !== void 0 && (m = "" + n), d.key !== void 0 && (m = "" + d.key), "key" in d) {
20
- n = {};
21
- for (var x in d)
22
- x !== "key" && (n[x] = d[x]);
23
- } else n = d;
24
- return d = n.ref, {
25
- $$typeof: u,
26
- type: h,
27
- key: m,
28
- ref: d !== void 0 ? d : null,
29
- props: n
14
+ if (Z) return $;
15
+ Z = 1;
16
+ var m = Symbol.for("react.transitional.element"), s = Symbol.for("react.fragment");
17
+ function i(p, n, u) {
18
+ var h = null;
19
+ if (u !== void 0 && (h = "" + u), n.key !== void 0 && (h = "" + n.key), "key" in n) {
20
+ u = {};
21
+ for (var x in n)
22
+ x !== "key" && (u[x] = n[x]);
23
+ } else u = n;
24
+ return n = u.ref, {
25
+ $$typeof: m,
26
+ type: p,
27
+ key: h,
28
+ ref: n !== void 0 ? n : null,
29
+ props: u
30
30
  };
31
31
  }
32
- return $.Fragment = s, $.jsx = f, $.jsxs = f, $;
32
+ return $.Fragment = s, $.jsx = i, $.jsxs = i, $;
33
33
  }
34
34
  var E = {};
35
35
  /**
@@ -41,24 +41,24 @@ var E = {};
41
41
  * This source code is licensed under the MIT license found in the
42
42
  * LICENSE file in the root directory of this source tree.
43
43
  */
44
- var Z;
44
+ var I;
45
45
  function se() {
46
- return Z || (Z = 1, process.env.NODE_ENV !== "production" && function() {
47
- function u(e) {
46
+ return I || (I = 1, process.env.NODE_ENV !== "production" && function() {
47
+ function m(e) {
48
48
  if (e == null) return null;
49
49
  if (typeof e == "function")
50
50
  return e.$$typeof === K ? null : e.displayName || e.name || null;
51
51
  if (typeof e == "string") return e;
52
52
  switch (e) {
53
- case k:
53
+ case t:
54
54
  return "Fragment";
55
- case P:
56
- return "Profiler";
57
55
  case A:
56
+ return "Profiler";
57
+ case O:
58
58
  return "StrictMode";
59
- case b:
59
+ case o:
60
60
  return "Suspense";
61
- case T:
61
+ case f:
62
62
  return "SuspenseList";
63
63
  case Q:
64
64
  return "Activity";
@@ -67,21 +67,21 @@ function se() {
67
67
  switch (typeof e.tag == "number" && console.error(
68
68
  "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
69
69
  ), e.$$typeof) {
70
- case t:
70
+ case z:
71
71
  return "Portal";
72
72
  case _:
73
73
  return (e.displayName || "Context") + ".Provider";
74
- case R:
74
+ case P:
75
75
  return (e._context.displayName || "Context") + ".Consumer";
76
- case o:
76
+ case S:
77
77
  var a = e.render;
78
78
  return e = e.displayName, e || (e = a.displayName || a.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
79
- case I:
80
- return a = e.displayName || null, a !== null ? a : u(e.type) || "Memo";
81
- case H:
79
+ case T:
80
+ return a = e.displayName || null, a !== null ? a : m(e.type) || "Memo";
81
+ case G:
82
82
  a = e._payload, e = e._init;
83
83
  try {
84
- return u(e(a));
84
+ return m(e(a));
85
85
  } catch {
86
86
  }
87
87
  }
@@ -90,7 +90,7 @@ function se() {
90
90
  function s(e) {
91
91
  return "" + e;
92
92
  }
93
- function f(e) {
93
+ function i(e) {
94
94
  try {
95
95
  s(e);
96
96
  var a = !1;
@@ -99,34 +99,34 @@ function se() {
99
99
  }
100
100
  if (a) {
101
101
  a = console;
102
- var l = a.error, i = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
102
+ var l = a.error, c = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
103
103
  return l.call(
104
104
  a,
105
105
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
106
- i
106
+ c
107
107
  ), s(e);
108
108
  }
109
109
  }
110
- function h(e) {
111
- if (e === k) return "<>";
112
- if (typeof e == "object" && e !== null && e.$$typeof === H)
110
+ function p(e) {
111
+ if (e === t) return "<>";
112
+ if (typeof e == "object" && e !== null && e.$$typeof === G)
113
113
  return "<...>";
114
114
  try {
115
- var a = u(e);
115
+ var a = m(e);
116
116
  return a ? "<" + a + ">" : "<...>";
117
117
  } catch {
118
118
  return "<...>";
119
119
  }
120
120
  }
121
- function d() {
122
- var e = B.A;
121
+ function n() {
122
+ var e = D.A;
123
123
  return e === null ? null : e.getOwner();
124
124
  }
125
- function n() {
125
+ function u() {
126
126
  return Error("react-stack-top-frame");
127
127
  }
128
- function m(e) {
129
- if (G.call(e, "key")) {
128
+ function h(e) {
129
+ if (H.call(e, "key")) {
130
130
  var a = Object.getOwnPropertyDescriptor(e, "key").get;
131
131
  if (a && a.isReactWarning) return !1;
132
132
  }
@@ -134,7 +134,7 @@ function se() {
134
134
  }
135
135
  function x(e, a) {
136
136
  function l() {
137
- z || (z = !0, console.error(
137
+ U || (U = !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
  a
140
140
  ));
@@ -144,22 +144,22 @@ function se() {
144
144
  configurable: !0
145
145
  });
146
146
  }
147
- function j() {
148
- var e = u(this.type);
149
- return U[e] || (U[e] = !0, console.error(
147
+ function y() {
148
+ var e = m(this.type);
149
+ return L[e] || (L[e] = !0, console.error(
150
150
  "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."
151
151
  )), e = this.props.ref, e !== void 0 ? e : null;
152
152
  }
153
- function O(e, a, l, i, v, p, F, M) {
154
- return l = p.ref, e = {
155
- $$typeof: C,
153
+ function k(e, a, l, c, v, b, M, Y) {
154
+ return l = b.ref, e = {
155
+ $$typeof: j,
156
156
  type: e,
157
157
  key: a,
158
- props: p,
158
+ props: b,
159
159
  _owner: v
160
160
  }, (l !== void 0 ? l : null) !== null ? Object.defineProperty(e, "ref", {
161
161
  enumerable: !1,
162
- get: j
162
+ get: y
163
163
  }) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
164
164
  configurable: !1,
165
165
  enumerable: !1,
@@ -174,68 +174,68 @@ function se() {
174
174
  configurable: !1,
175
175
  enumerable: !1,
176
176
  writable: !0,
177
- value: F
177
+ value: M
178
178
  }), Object.defineProperty(e, "_debugTask", {
179
179
  configurable: !1,
180
180
  enumerable: !1,
181
181
  writable: !0,
182
- value: M
182
+ value: Y
183
183
  }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
184
184
  }
185
- function N(e, a, l, i, v, p, F, M) {
186
- var c = a.children;
187
- if (c !== void 0)
188
- if (i)
189
- if (ee(c)) {
190
- for (i = 0; i < c.length; i++)
191
- w(c[i]);
192
- Object.freeze && Object.freeze(c);
185
+ function R(e, a, l, c, v, b, M, Y) {
186
+ var d = a.children;
187
+ if (d !== void 0)
188
+ if (c)
189
+ if (ee(d)) {
190
+ for (c = 0; c < d.length; c++)
191
+ N(d[c]);
192
+ Object.freeze && Object.freeze(d);
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 w(c);
198
- if (G.call(a, "key")) {
199
- c = u(e);
200
- var y = Object.keys(a).filter(function(re) {
197
+ else N(d);
198
+ if (H.call(a, "key")) {
199
+ d = m(e);
200
+ var w = Object.keys(a).filter(function(re) {
201
201
  return re !== "key";
202
202
  });
203
- i = 0 < y.length ? "{key: someKey, " + y.join(": ..., ") + ": ...}" : "{key: someKey}", q[c + i] || (y = 0 < y.length ? "{" + y.join(": ..., ") + ": ...}" : "{}", console.error(
203
+ c = 0 < w.length ? "{key: someKey, " + w.join(": ..., ") + ": ...}" : "{key: someKey}", J[d + c] || (w = 0 < w.length ? "{" + w.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} />
207
207
  React keys must be passed directly to JSX without using spread:
208
208
  let props = %s;
209
209
  <%s key={someKey} {...props} />`,
210
- i,
211
210
  c,
212
- y,
213
- c
214
- ), q[c + i] = !0);
211
+ d,
212
+ w,
213
+ d
214
+ ), J[d + c] = !0);
215
215
  }
216
- if (c = null, l !== void 0 && (f(l), c = "" + l), m(a) && (f(a.key), c = "" + a.key), "key" in a) {
216
+ if (d = null, l !== void 0 && (i(l), d = "" + l), h(a) && (i(a.key), d = "" + a.key), "key" in a) {
217
217
  l = {};
218
- for (var Y in a)
219
- Y !== "key" && (l[Y] = a[Y]);
218
+ for (var B in a)
219
+ B !== "key" && (l[B] = a[B]);
220
220
  } else l = a;
221
- return c && x(
221
+ return d && x(
222
222
  l,
223
223
  typeof e == "function" ? e.displayName || e.name || "Unknown" : e
224
- ), O(
224
+ ), k(
225
225
  e,
226
- c,
227
- p,
226
+ d,
227
+ b,
228
228
  v,
229
- d(),
229
+ n(),
230
230
  l,
231
- F,
232
- M
231
+ M,
232
+ Y
233
233
  );
234
234
  }
235
- function w(e) {
236
- typeof e == "object" && e !== null && e.$$typeof === C && e._store && (e._store.validated = 1);
235
+ function N(e) {
236
+ typeof e == "object" && e !== null && e.$$typeof === j && e._store && (e._store.validated = 1);
237
237
  }
238
- var g = te, C = Symbol.for("react.transitional.element"), t = Symbol.for("react.portal"), k = Symbol.for("react.fragment"), A = Symbol.for("react.strict_mode"), P = Symbol.for("react.profiler"), R = Symbol.for("react.consumer"), _ = Symbol.for("react.context"), o = Symbol.for("react.forward_ref"), b = Symbol.for("react.suspense"), T = Symbol.for("react.suspense_list"), I = Symbol.for("react.memo"), H = Symbol.for("react.lazy"), Q = Symbol.for("react.activity"), K = Symbol.for("react.client.reference"), B = g.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, G = Object.prototype.hasOwnProperty, ee = Array.isArray, D = console.createTask ? console.createTask : function() {
238
+ var g = te, j = Symbol.for("react.transitional.element"), z = Symbol.for("react.portal"), t = Symbol.for("react.fragment"), O = Symbol.for("react.strict_mode"), A = Symbol.for("react.profiler"), P = Symbol.for("react.consumer"), _ = Symbol.for("react.context"), S = Symbol.for("react.forward_ref"), o = Symbol.for("react.suspense"), f = Symbol.for("react.suspense_list"), T = Symbol.for("react.memo"), G = Symbol.for("react.lazy"), Q = Symbol.for("react.activity"), K = Symbol.for("react.client.reference"), D = g.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, H = Object.prototype.hasOwnProperty, ee = Array.isArray, F = console.createTask ? console.createTask : function() {
239
239
  return null;
240
240
  };
241
241
  g = {
@@ -243,33 +243,33 @@ React keys must be passed directly to JSX without using spread:
243
243
  return e();
244
244
  }
245
245
  };
246
- var z, U = {}, L = g["react-stack-bottom-frame"].bind(
246
+ var U, L = {}, V = g["react-stack-bottom-frame"].bind(
247
247
  g,
248
- n
249
- )(), V = D(h(n)), q = {};
250
- E.Fragment = k, E.jsx = function(e, a, l, i, v) {
251
- var p = 1e4 > B.recentlyCreatedOwnerStacks++;
252
- return N(
248
+ u
249
+ )(), q = F(p(u)), J = {};
250
+ E.Fragment = t, E.jsx = function(e, a, l, c, v) {
251
+ var b = 1e4 > D.recentlyCreatedOwnerStacks++;
252
+ return R(
253
253
  e,
254
254
  a,
255
255
  l,
256
256
  !1,
257
- i,
257
+ c,
258
258
  v,
259
- p ? Error("react-stack-top-frame") : L,
260
- p ? D(h(e)) : V
259
+ b ? Error("react-stack-top-frame") : V,
260
+ b ? F(p(e)) : q
261
261
  );
262
- }, E.jsxs = function(e, a, l, i, v) {
263
- var p = 1e4 > B.recentlyCreatedOwnerStacks++;
264
- return N(
262
+ }, E.jsxs = function(e, a, l, c, v) {
263
+ var b = 1e4 > D.recentlyCreatedOwnerStacks++;
264
+ return R(
265
265
  e,
266
266
  a,
267
267
  l,
268
268
  !0,
269
- i,
269
+ c,
270
270
  v,
271
- p ? Error("react-stack-top-frame") : L,
272
- p ? D(h(e)) : V
271
+ b ? Error("react-stack-top-frame") : V,
272
+ b ? F(p(e)) : q
273
273
  );
274
274
  };
275
275
  }()), E;
@@ -277,14 +277,15 @@ React keys must be passed directly to JSX without using spread:
277
277
  process.env.NODE_ENV === "production" ? W.exports = oe() : W.exports = se();
278
278
  var r = W.exports;
279
279
  const le = ({
280
- logo: u,
280
+ logo: m,
281
281
  navList: s,
282
- colors: f,
283
- sidebarPosition: h = "left"
282
+ eventButton: i,
283
+ colors: p,
284
+ sidebarPosition: n = "left"
284
285
  }) => {
285
- const [d, n] = S(null), [m, x] = S(!1), [j, O] = S(
286
+ const [u, h] = C(null), [x, y] = C(!1), [k, R] = C(
286
287
  null
287
- ), [N, w] = S(!1), g = ae(null), t = { ...{
288
+ ), [N, g] = C(!1), j = ae(null), t = { ...{
288
289
  headerBg: "bg-white",
289
290
  sidebarBg: "bg-white",
290
291
  sidebarGradientFrom: "from-white",
@@ -308,89 +309,75 @@ const le = ({
308
309
  sidebarShadow: "shadow-2xl",
309
310
  overlayBg: "bg-black",
310
311
  overlayOpacity: "bg-opacity-50"
311
- }, ...f || {} }, k = (o) => {
312
- n(d === o ? null : o);
312
+ }, ...p || {} }, O = (o) => {
313
+ h(u === o ? null : o);
313
314
  }, A = (o) => {
314
- O(j === o ? null : o);
315
+ R(k === o ? null : o);
315
316
  }, P = () => {
316
- w(!0), x(!m);
317
- }, R = () => {
318
- w(!0), x(!1);
317
+ g(!0), y(!x);
319
318
  }, _ = () => {
320
- w(!1), x(!1);
319
+ g(!0), y(!1);
320
+ }, S = () => {
321
+ g(!1), y(!1);
321
322
  };
322
- return J(() => {
323
- const o = (b) => {
324
- g.current && !g.current.contains(b.target) && n(null);
323
+ return X(() => {
324
+ const o = (f) => {
325
+ j.current && !j.current.contains(f.target) && h(null);
325
326
  };
326
327
  return document.addEventListener("mousedown", o), () => {
327
328
  document.removeEventListener("mousedown", o);
328
329
  };
329
- }, []), J(() => (m ? document.body.style.overflow = "hidden" : document.body.style.overflow = "unset", () => {
330
+ }, []), X(() => (x ? document.body.style.overflow = "hidden" : document.body.style.overflow = "unset", () => {
330
331
  document.body.style.overflow = "unset";
331
- }), [m]), /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
332
+ }), [x]), /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
332
333
  /* @__PURE__ */ r.jsx(
333
334
  "header",
334
335
  {
335
336
  className: `w-full ${t.headerBg} ${t.shadow} border-b ${t.border} sticky top-0 z-99`,
336
337
  children: /* @__PURE__ */ r.jsxs("div", { className: "w-full max-w-[1240px] px-5 mx-auto flex items-center justify-between h-14 md:h-16", children: [
337
- /* @__PURE__ */ r.jsx("div", { className: "flex items-center space-x-4", children: u && /* @__PURE__ */ r.jsx("a", { href: "/", children: /* @__PURE__ */ r.jsx(
338
+ /* @__PURE__ */ r.jsx("div", { className: "flex items-center space-x-4", children: m && /* @__PURE__ */ r.jsx("a", { href: "/", children: /* @__PURE__ */ r.jsx(
338
339
  "img",
339
340
  {
340
- src: u,
341
+ src: m,
341
342
  alt: "Logo",
342
343
  className: "h-7 w-auto object-contain md:h-8 cursor-pointer"
343
344
  }
344
345
  ) }) }),
345
- /* @__PURE__ */ r.jsxs("div", { className: "flex items-center space-x-6", ref: g, children: [
346
+ /* @__PURE__ */ r.jsxs("div", { className: "flex items-center space-x-6", ref: j, children: [
346
347
  /* @__PURE__ */ r.jsx("nav", { className: "hidden md:flex items-center space-x-6", children: s == null ? void 0 : s.map((o) => {
347
- var b;
348
+ var f;
348
349
  return /* @__PURE__ */ r.jsxs("div", { className: "relative", children: [
349
350
  /* @__PURE__ */ r.jsx(
350
351
  "button",
351
352
  {
352
- onClick: () => o.sub ? k(o.idx) : void 0,
353
+ onClick: () => o.sub ? O(o.idx) : void 0,
353
354
  className: `${t.navText} ${t.navTextHover} transition-colors duration-200 font-medium flex items-center`,
354
- children: o.sub ? /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
355
- o.name,
356
- /* @__PURE__ */ r.jsx(
357
- "svg",
358
- {
359
- className: "w-4 h-4 ml-1",
360
- fill: "none",
361
- stroke: "currentColor",
362
- viewBox: "0 0 24 24",
363
- children: /* @__PURE__ */ r.jsx(
364
- "path",
365
- {
366
- strokeLinecap: "round",
367
- strokeLinejoin: "round",
368
- strokeWidth: 2,
369
- d: "M19 9l-7 7-7-7"
370
- }
371
- )
372
- }
373
- )
374
- ] }) : /* @__PURE__ */ r.jsx("a", { href: o.path, children: o.name })
355
+ children: o.sub ? /* @__PURE__ */ r.jsx(r.Fragment, { children: o.name }) : /* @__PURE__ */ r.jsx("a", { href: o.path, children: o.name })
375
356
  }
376
357
  ),
377
358
  /* @__PURE__ */ r.jsxs(
378
359
  "div",
379
360
  {
380
- className: `absolute top-[44px] min-w-[100px] w-auto ${t.dropdownBg} border ${t.dropdownBorder} rounded-lg shadow-lg z-50 transition-all duration-300 ease-in-out transform ${o.idx === (s == null ? void 0 : s.length) ? "right-0" : "left-1/2 transform -translate-x-1/2"} ${d === o.idx ? "opacity-100 translate-y-0 pointer-events-auto" : "opacity-0 -translate-y-2 pointer-events-none"}`,
361
+ className: `absolute top-[44px] min-w-[100px] w-auto ${t.dropdownBg} border ${t.dropdownBorder} rounded-lg shadow-lg z-50 transition-all duration-300 ease-in-out transform ${o.idx === (s == null ? void 0 : s.length) ? "right-0" : "left-1/2 transform -translate-x-1/2"} ${u === o.idx ? "opacity-100 translate-y-0 pointer-events-auto" : "opacity-0 -translate-y-2 pointer-events-none"}`,
381
362
  children: [
382
363
  /* @__PURE__ */ r.jsx(
383
- "div",
364
+ "svg",
384
365
  {
385
- className: `absolute -top-2 w-4 h-4 ${t.dropdownBg} border-l border-t ${t.dropdownBorder} transform rotate-45 ${o.idx === (s == null ? void 0 : s.length) ? "right-4" : "left-1/2 -translate-x-1/2"}`
366
+ className: `absolute -top-2 w-4 h-4 ${o.idx === (s == null ? void 0 : s.length) ? "right-4" : "left-1/2 -translate-x-1/2"}`,
367
+ viewBox: "0 0 24 24",
368
+ style: {
369
+ fill: "white",
370
+ filter: "drop-shadow(0 -1px 0 #e5e7eb)"
371
+ },
372
+ children: /* @__PURE__ */ r.jsx("path", { d: "M12 2L2 12h20L12 2z" })
386
373
  }
387
374
  ),
388
- /* @__PURE__ */ r.jsx("div", { className: "py-2", children: (b = o.sub) == null ? void 0 : b.map((T) => /* @__PURE__ */ r.jsx(
375
+ /* @__PURE__ */ r.jsx("div", { className: "py-2", children: (f = o.sub) == null ? void 0 : f.map((T) => /* @__PURE__ */ r.jsx(
389
376
  "a",
390
377
  {
391
378
  href: T.path,
392
379
  className: `block px-4 py-2 text-sm whitespace-nowrap ${t.submenuText} hover:bg-gray-100 ${t.submenuTextHover} transition-colors duration-200`,
393
- onClick: () => n(null),
380
+ onClick: () => h(null),
394
381
  children: T.name
395
382
  },
396
383
  T.idx
@@ -400,6 +387,14 @@ const le = ({
400
387
  )
401
388
  ] }, o.idx);
402
389
  }) }),
390
+ i && /* @__PURE__ */ r.jsx(
391
+ "button",
392
+ {
393
+ onClick: i.onClick,
394
+ className: `hidden md:block px-4 py-2 rounded font-medium transition-all duration-200 ${i.className || "bg-primary text-white hover:bg-primary-dark"}`,
395
+ children: i.text
396
+ }
397
+ ),
403
398
  /* @__PURE__ */ r.jsx(
404
399
  "button",
405
400
  {
@@ -432,14 +427,14 @@ const le = ({
432
427
  /* @__PURE__ */ r.jsx(
433
428
  "div",
434
429
  {
435
- className: `fixed inset-0 ${t.overlayBg} z-50 md:hidden ${m ? `${t.overlayOpacity} backdrop-blur-sm` : "bg-opacity-0 backdrop-blur-none pointer-events-none"} ${N ? "transition-all duration-300 ease-in-out" : ""}`,
436
- onClick: R
430
+ className: `fixed inset-0 ${t.overlayBg} z-50 md:hidden ${x ? `${t.overlayOpacity} backdrop-blur-sm` : "bg-opacity-0 backdrop-blur-none pointer-events-none"} ${N ? "transition-all duration-300 ease-in-out" : ""}`,
431
+ onClick: _
437
432
  }
438
433
  ),
439
434
  /* @__PURE__ */ r.jsx(
440
435
  "div",
441
436
  {
442
- className: `fixed top-0 ${h === "left" ? "left-0" : "right-0"} h-full w-4/5 xsm:w-80 ${t.sidebarBg} ${t.sidebarShadow} transform z-50 md:hidden ${m ? "translate-x-0" : h === "left" ? "-translate-x-full" : "translate-x-full"} ${N ? "transition-all duration-300 ease-in-out" : ""}`,
437
+ className: `fixed top-0 ${n === "left" ? "left-0" : "right-0"} h-full w-4/5 xsm:w-80 ${t.sidebarBg} ${t.sidebarShadow} transform z-50 md:hidden ${x ? "translate-x-0" : n === "left" ? "-translate-x-full" : "translate-x-full"} ${N ? "transition-all duration-300 ease-in-out" : ""}`,
443
438
  children: /* @__PURE__ */ r.jsxs(
444
439
  "div",
445
440
  {
@@ -468,7 +463,7 @@ const le = ({
468
463
  /* @__PURE__ */ r.jsx(
469
464
  "button",
470
465
  {
471
- onClick: R,
466
+ onClick: _,
472
467
  className: "p-2 rounded-full text-gray-400 hover:text-gray-600 hover:bg-gray-100 transition-all duration-200",
473
468
  children: /* @__PURE__ */ r.jsx(
474
469
  "svg",
@@ -493,7 +488,7 @@ const le = ({
493
488
  ]
494
489
  }
495
490
  ),
496
- /* @__PURE__ */ r.jsx("nav", { className: "flex-1 overflow-y-auto ", children: /* @__PURE__ */ r.jsx("ul", { className: "", children: s == null ? void 0 : s.map((o) => /* @__PURE__ */ r.jsx("li", { children: o.sub ? /* @__PURE__ */ r.jsxs(
491
+ /* @__PURE__ */ r.jsx("nav", { className: "flex-1 overflow-y-auto", children: /* @__PURE__ */ r.jsx("ul", { className: "", children: s == null ? void 0 : s.map((o) => /* @__PURE__ */ r.jsx("li", { children: o.sub ? /* @__PURE__ */ r.jsxs(
497
492
  "div",
498
493
  {
499
494
  className: `${t.dropdownBg} ${t.shadow} border-b ${t.border} overflow-hidden`,
@@ -522,7 +517,7 @@ const le = ({
522
517
  /* @__PURE__ */ r.jsx(
523
518
  "svg",
524
519
  {
525
- className: `shrink-0 w-4 h-4 text-gray-400 transition-all duration-200 ${j === o.idx ? "rotate-180 text-primary" : "group-hover:text-gray-600"}`,
520
+ className: `shrink-0 w-4 h-4 text-gray-400 transition-all duration-200 ${k === o.idx ? "rotate-180 text-primary" : "group-hover:text-gray-600"}`,
526
521
  fill: "none",
527
522
  stroke: "currentColor",
528
523
  viewBox: "0 0 24 24",
@@ -543,23 +538,23 @@ const le = ({
543
538
  /* @__PURE__ */ r.jsx(
544
539
  "div",
545
540
  {
546
- className: `overflow-hidden transition-all duration-300 ease-in-out ${j === o.idx ? "max-h-96 opacity-100" : "max-h-0 opacity-0"}`,
541
+ className: `overflow-hidden transition-all duration-300 ease-in-out ${k === o.idx ? "max-h-96 opacity-100" : "max-h-0 opacity-0"}`,
547
542
  children: /* @__PURE__ */ r.jsx(
548
543
  "div",
549
544
  {
550
545
  className: `${t.submenuBg} border-t ${t.border}`,
551
- children: /* @__PURE__ */ r.jsx("ul", { className: "py-2", children: o.sub.map((b) => /* @__PURE__ */ r.jsx("li", { children: /* @__PURE__ */ r.jsxs(
546
+ children: /* @__PURE__ */ r.jsx("ul", { className: "py-2", children: o.sub.map((f) => /* @__PURE__ */ r.jsx("li", { children: /* @__PURE__ */ r.jsxs(
552
547
  "a",
553
548
  {
554
- href: b.path,
549
+ href: f.path,
555
550
  className: `px-6 py-3 text-sm ${t.submenuText} hover:bg-white ${t.submenuTextHover} transition-all duration-200 flex items-center space-x-2 group`,
556
- onClick: _,
551
+ onClick: S,
557
552
  children: [
558
553
  /* @__PURE__ */ r.jsx("div", { className: "w-1 h-1 bg-gray-300 rounded-full group-hover:bg-primary transition-colors duration-200" }),
559
- /* @__PURE__ */ r.jsx("span", { children: b.name })
554
+ /* @__PURE__ */ r.jsx("span", { children: f.name })
560
555
  ]
561
556
  }
562
- ) }, b.idx)) })
557
+ ) }, f.idx)) })
563
558
  }
564
559
  )
565
560
  }
@@ -571,7 +566,7 @@ const le = ({
571
566
  {
572
567
  href: o.path,
573
568
  className: `block p-4 ${t.sidebarNavText} hover:bg-white ${t.sidebarNavTextHover} transition-all duration-200 font-semibold ${t.dropdownBg} ${t.shadow} border-b ${t.border} group`,
574
- onClick: _,
569
+ onClick: S,
575
570
  children: /* @__PURE__ */ r.jsxs("div", { className: "flex items-center space-x-3", children: [
576
571
  /* @__PURE__ */ r.jsx(
577
572
  "div",
@@ -588,19 +583,22 @@ const le = ({
588
583
  )
589
584
  ] })
590
585
  }
591
- ) }, o.idx)) }) })
586
+ ) }, o.idx)) }) }),
587
+ i && /* @__PURE__ */ r.jsx("div", { className: "absolute bottom-0 left-0 right-0 p-4 border-t border-gray-200 bg-white/95 backdrop-blur-sm", children: /* @__PURE__ */ r.jsx(
588
+ "button",
589
+ {
590
+ onClick: i.onClick,
591
+ className: `w-full px-4 py-3 rounded font-medium transition-all duration-200 ${i.className || "bg-primary text-white hover:bg-primary-dark"}`,
592
+ children: i.text
593
+ }
594
+ ) })
592
595
  ]
593
596
  }
594
597
  )
595
598
  }
596
599
  )
597
600
  ] });
598
- }, ie = ({
599
- logo: u,
600
- companyInfo: s,
601
- socialLinks: f = [],
602
- colors: h
603
- }) => {
601
+ }, ie = ({ logo: m, companyInfo: s, colors: i }) => {
604
602
  const n = { ...{
605
603
  footerBg: "bg-gray-900",
606
604
  footerGradientFrom: "from-gray-900",
@@ -614,7 +612,7 @@ const le = ({
614
612
  accent: "bg-primary",
615
613
  border: "border-gray-700",
616
614
  shadow: "shadow-lg"
617
- }, ...h || {} }, m = () => {
615
+ }, ...i || {} }, u = () => {
618
616
  window.scrollTo({
619
617
  top: 0,
620
618
  behavior: "smooth"
@@ -628,7 +626,7 @@ const le = ({
628
626
  /* @__PURE__ */ r.jsx("div", { className: "max-w-[1240px] mx-auto px-5 relative", children: /* @__PURE__ */ r.jsx("div", { className: "absolute -top-6 right-5 z-20", children: /* @__PURE__ */ r.jsx(
629
627
  "button",
630
628
  {
631
- onClick: m,
629
+ onClick: u,
632
630
  className: `p-3 rounded-full ${n.linkText} ${n.linkTextHover} transition-all duration-300 hover:scale-110 bg-gray-800/80 backdrop-blur-md border border-gray-600/50 shadow-lg`,
633
631
  "aria-label": "맨 위로 이동",
634
632
  children: /* @__PURE__ */ r.jsx(
@@ -668,10 +666,10 @@ const le = ({
668
666
  /* @__PURE__ */ r.jsxs("div", { className: "max-w-[1240px] mx-auto px-5 pt-12 pb-4 relative z-10", children: [
669
667
  /* @__PURE__ */ r.jsxs("div", { className: "flex flex-col lg:flex-row justify-between items-start gap-8 mb-8", children: [
670
668
  /* @__PURE__ */ r.jsxs("div", { className: "flex-1 max-w-md", children: [
671
- u && /* @__PURE__ */ r.jsx("div", { className: "mb-4", children: /* @__PURE__ */ r.jsx(
669
+ m && /* @__PURE__ */ r.jsx("div", { className: "mb-4", children: /* @__PURE__ */ r.jsx(
672
670
  "img",
673
671
  {
674
- src: u,
672
+ src: m,
675
673
  alt: "Logo",
676
674
  className: "h-12 w-auto object-contain"
677
675
  }
@@ -690,25 +688,7 @@ const le = ({
690
688
  "주소: ",
691
689
  s.address
692
690
  ] })
693
- ] }),
694
- f.length > 0 && /* @__PURE__ */ r.jsx("div", { className: "flex space-x-4", children: f.map((x, j) => /* @__PURE__ */ r.jsx(
695
- "a",
696
- {
697
- href: x.url,
698
- target: "_blank",
699
- rel: "noopener noreferrer",
700
- className: `p-2 rounded-full ${n.linkText} ${n.linkTextHover} transition-colors duration-200`,
701
- children: /* @__PURE__ */ r.jsx(
702
- "img",
703
- {
704
- src: x.icon,
705
- alt: x.name,
706
- className: "w-5 h-5"
707
- }
708
- )
709
- },
710
- j
711
- )) })
691
+ ] })
712
692
  ] }),
713
693
  /* @__PURE__ */ r.jsx("div", { className: "flex-1" })
714
694
  ] }),