@iniguezmarc/design-system 0.0.5 → 0.0.7

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.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import se, { forwardRef as ne, useState as I, useEffect as Q } from "react";
1
+ import se, { forwardRef as ne, useState as z, useEffect as Q } from "react";
2
2
  var W = { exports: {} }, A = {};
3
3
  /**
4
4
  * @license React
@@ -13,23 +13,23 @@ var X;
13
13
  function oe() {
14
14
  if (X) return A;
15
15
  X = 1;
16
- var o = Symbol.for("react.transitional.element"), c = Symbol.for("react.fragment");
17
- function i(n, a, t) {
18
- var u = null;
19
- if (t !== void 0 && (u = "" + t), a.key !== void 0 && (u = "" + a.key), "key" in a) {
20
- t = {};
21
- for (var s in a)
22
- s !== "key" && (t[s] = a[s]);
23
- } else t = a;
24
- return a = t.ref, {
16
+ var o = Symbol.for("react.transitional.element"), x = Symbol.for("react.fragment");
17
+ function d(s, t, a) {
18
+ var f = null;
19
+ if (a !== void 0 && (f = "" + a), t.key !== void 0 && (f = "" + t.key), "key" in t) {
20
+ a = {};
21
+ for (var i in t)
22
+ i !== "key" && (a[i] = t[i]);
23
+ } else a = t;
24
+ return t = a.ref, {
25
25
  $$typeof: o,
26
- type: n,
27
- key: u,
28
- ref: a !== void 0 ? a : null,
29
- props: t
26
+ type: s,
27
+ key: f,
28
+ ref: t !== void 0 ? t : null,
29
+ props: a
30
30
  };
31
31
  }
32
- return A.Fragment = c, A.jsx = i, A.jsxs = i, A;
32
+ return A.Fragment = x, A.jsx = d, A.jsxs = d, A;
33
33
  }
34
34
  var O = {};
35
35
  /**
@@ -52,9 +52,9 @@ function le() {
52
52
  switch (r) {
53
53
  case w:
54
54
  return "Fragment";
55
- case N:
55
+ case k:
56
56
  return "Profiler";
57
- case $:
57
+ case y:
58
58
  return "StrictMode";
59
59
  case R:
60
60
  return "Suspense";
@@ -67,100 +67,100 @@ function le() {
67
67
  switch (typeof r.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
  ), r.$$typeof) {
70
- case y:
70
+ case j:
71
71
  return "Portal";
72
72
  case _:
73
73
  return r.displayName || "Context";
74
74
  case E:
75
75
  return (r._context.displayName || "Context") + ".Consumer";
76
76
  case T:
77
- var l = r.render;
78
- return r = r.displayName, r || (r = l.displayName || l.name || "", r = r !== "" ? "ForwardRef(" + r + ")" : "ForwardRef"), r;
77
+ var c = r.render;
78
+ return r = r.displayName, r || (r = c.displayName || c.name || "", r = r !== "" ? "ForwardRef(" + r + ")" : "ForwardRef"), r;
79
79
  case C:
80
- return l = r.displayName || null, l !== null ? l : o(r.type) || "Memo";
80
+ return c = r.displayName || null, c !== null ? c : o(r.type) || "Memo";
81
81
  case D:
82
- l = r._payload, r = r._init;
82
+ c = r._payload, r = r._init;
83
83
  try {
84
- return o(r(l));
84
+ return o(r(c));
85
85
  } catch {
86
86
  }
87
87
  }
88
88
  return null;
89
89
  }
90
- function c(r) {
90
+ function x(r) {
91
91
  return "" + r;
92
92
  }
93
- function i(r) {
93
+ function d(r) {
94
94
  try {
95
- c(r);
96
- var l = !1;
95
+ x(r);
96
+ var c = !1;
97
97
  } catch {
98
- l = !0;
98
+ c = !0;
99
99
  }
100
- if (l) {
101
- l = console;
102
- var g = l.error, b = typeof Symbol == "function" && Symbol.toStringTag && r[Symbol.toStringTag] || r.constructor.name || "Object";
103
- return g.call(
104
- l,
100
+ if (c) {
101
+ c = console;
102
+ var h = c.error, p = typeof Symbol == "function" && Symbol.toStringTag && r[Symbol.toStringTag] || r.constructor.name || "Object";
103
+ return h.call(
104
+ c,
105
105
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
106
- b
107
- ), c(r);
106
+ p
107
+ ), x(r);
108
108
  }
109
109
  }
110
- function n(r) {
110
+ function s(r) {
111
111
  if (r === w) return "<>";
112
112
  if (typeof r == "object" && r !== null && r.$$typeof === D)
113
113
  return "<...>";
114
114
  try {
115
- var l = o(r);
116
- return l ? "<" + l + ">" : "<...>";
115
+ var c = o(r);
116
+ return c ? "<" + c + ">" : "<...>";
117
117
  } catch {
118
118
  return "<...>";
119
119
  }
120
120
  }
121
- function a() {
121
+ function t() {
122
122
  var r = L.A;
123
123
  return r === null ? null : r.getOwner();
124
124
  }
125
- function t() {
125
+ function a() {
126
126
  return Error("react-stack-top-frame");
127
127
  }
128
- function u(r) {
128
+ function f(r) {
129
129
  if (F.call(r, "key")) {
130
- var l = Object.getOwnPropertyDescriptor(r, "key").get;
131
- if (l && l.isReactWarning) return !1;
130
+ var c = Object.getOwnPropertyDescriptor(r, "key").get;
131
+ if (c && c.isReactWarning) return !1;
132
132
  }
133
133
  return r.key !== void 0;
134
134
  }
135
- function s(r, l) {
136
- function g() {
135
+ function i(r, c) {
136
+ function h() {
137
137
  V || (V = !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
- l
139
+ c
140
140
  ));
141
141
  }
142
- g.isReactWarning = !0, Object.defineProperty(r, "key", {
143
- get: g,
142
+ h.isReactWarning = !0, Object.defineProperty(r, "key", {
143
+ get: h,
144
144
  configurable: !0
145
145
  });
146
146
  }
147
- function x() {
147
+ function u() {
148
148
  var r = o(this.type);
149
149
  return H[r] || (H[r] = !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
  )), r = this.props.ref, r !== void 0 ? r : null;
152
152
  }
153
- function f(r, l, g, b, S, Y) {
154
- var h = g.ref;
153
+ function m(r, c, h, p, S, Y) {
154
+ var v = h.ref;
155
155
  return r = {
156
- $$typeof: j,
156
+ $$typeof: $,
157
157
  type: r,
158
- key: l,
159
- props: g,
160
- _owner: b
161
- }, (h !== void 0 ? h : null) !== null ? Object.defineProperty(r, "ref", {
158
+ key: c,
159
+ props: h,
160
+ _owner: p
161
+ }, (v !== void 0 ? v : null) !== null ? Object.defineProperty(r, "ref", {
162
162
  enumerable: !1,
163
- get: x
163
+ get: u
164
164
  }) : Object.defineProperty(r, "ref", { enumerable: !1, value: null }), r._store = {}, Object.defineProperty(r._store, "validated", {
165
165
  configurable: !1,
166
166
  enumerable: !1,
@@ -183,91 +183,91 @@ function le() {
183
183
  value: Y
184
184
  }), Object.freeze && (Object.freeze(r.props), Object.freeze(r)), r;
185
185
  }
186
- function d(r, l, g, b, S, Y) {
187
- var h = l.children;
188
- if (h !== void 0)
189
- if (b)
190
- if (te(h)) {
191
- for (b = 0; b < h.length; b++)
192
- m(h[b]);
193
- Object.freeze && Object.freeze(h);
186
+ function l(r, c, h, p, S, Y) {
187
+ var v = c.children;
188
+ if (v !== void 0)
189
+ if (p)
190
+ if (te(v)) {
191
+ for (p = 0; p < v.length; p++)
192
+ n(v[p]);
193
+ Object.freeze && Object.freeze(v);
194
194
  } else
195
195
  console.error(
196
196
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
197
197
  );
198
- else m(h);
199
- if (F.call(l, "key")) {
200
- h = o(r);
201
- var k = Object.keys(l).filter(function(ae) {
198
+ else n(v);
199
+ if (F.call(c, "key")) {
200
+ v = o(r);
201
+ var N = Object.keys(c).filter(function(ae) {
202
202
  return ae !== "key";
203
203
  });
204
- b = 0 < k.length ? "{key: someKey, " + k.join(": ..., ") + ": ...}" : "{key: someKey}", q[h + b] || (k = 0 < k.length ? "{" + k.join(": ..., ") + ": ...}" : "{}", console.error(
204
+ p = 0 < N.length ? "{key: someKey, " + N.join(": ..., ") + ": ...}" : "{key: someKey}", q[v + p] || (N = 0 < N.length ? "{" + N.join(": ..., ") + ": ...}" : "{}", console.error(
205
205
  `A props object containing a "key" prop is being spread into JSX:
206
206
  let props = %s;
207
207
  <%s {...props} />
208
208
  React keys must be passed directly to JSX without using spread:
209
209
  let props = %s;
210
210
  <%s key={someKey} {...props} />`,
211
- b,
212
- h,
213
- k,
214
- h
215
- ), q[h + b] = !0);
211
+ p,
212
+ v,
213
+ N,
214
+ v
215
+ ), q[v + p] = !0);
216
216
  }
217
- if (h = null, g !== void 0 && (i(g), h = "" + g), u(l) && (i(l.key), h = "" + l.key), "key" in l) {
218
- g = {};
219
- for (var z in l)
220
- z !== "key" && (g[z] = l[z]);
221
- } else g = l;
222
- return h && s(
223
- g,
217
+ if (v = null, h !== void 0 && (d(h), v = "" + h), f(c) && (d(c.key), v = "" + c.key), "key" in c) {
218
+ h = {};
219
+ for (var I in c)
220
+ I !== "key" && (h[I] = c[I]);
221
+ } else h = c;
222
+ return v && i(
223
+ h,
224
224
  typeof r == "function" ? r.displayName || r.name || "Unknown" : r
225
- ), f(
225
+ ), m(
226
226
  r,
227
+ v,
227
228
  h,
228
- g,
229
- a(),
229
+ t(),
230
230
  S,
231
231
  Y
232
232
  );
233
233
  }
234
- function m(r) {
235
- p(r) ? r._store && (r._store.validated = 1) : typeof r == "object" && r !== null && r.$$typeof === D && (r._payload.status === "fulfilled" ? p(r._payload.value) && r._payload.value._store && (r._payload.value._store.validated = 1) : r._store && (r._store.validated = 1));
234
+ function n(r) {
235
+ g(r) ? r._store && (r._store.validated = 1) : typeof r == "object" && r !== null && r.$$typeof === D && (r._payload.status === "fulfilled" ? g(r._payload.value) && r._payload.value._store && (r._payload.value._store.validated = 1) : r._store && (r._store.validated = 1));
236
236
  }
237
- function p(r) {
238
- return typeof r == "object" && r !== null && r.$$typeof === j;
237
+ function g(r) {
238
+ return typeof r == "object" && r !== null && r.$$typeof === $;
239
239
  }
240
- var v = se, j = Symbol.for("react.transitional.element"), y = Symbol.for("react.portal"), w = Symbol.for("react.fragment"), $ = Symbol.for("react.strict_mode"), N = Symbol.for("react.profiler"), E = Symbol.for("react.consumer"), _ = Symbol.for("react.context"), T = Symbol.for("react.forward_ref"), R = Symbol.for("react.suspense"), P = Symbol.for("react.suspense_list"), C = Symbol.for("react.memo"), D = Symbol.for("react.lazy"), ee = Symbol.for("react.activity"), re = Symbol.for("react.client.reference"), L = v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, F = Object.prototype.hasOwnProperty, te = Array.isArray, B = console.createTask ? console.createTask : function() {
240
+ var b = se, $ = Symbol.for("react.transitional.element"), j = Symbol.for("react.portal"), w = Symbol.for("react.fragment"), y = Symbol.for("react.strict_mode"), k = Symbol.for("react.profiler"), E = Symbol.for("react.consumer"), _ = Symbol.for("react.context"), T = Symbol.for("react.forward_ref"), R = Symbol.for("react.suspense"), P = Symbol.for("react.suspense_list"), C = Symbol.for("react.memo"), D = Symbol.for("react.lazy"), ee = Symbol.for("react.activity"), re = Symbol.for("react.client.reference"), L = b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, F = Object.prototype.hasOwnProperty, te = Array.isArray, B = console.createTask ? console.createTask : function() {
241
241
  return null;
242
242
  };
243
- v = {
243
+ b = {
244
244
  react_stack_bottom_frame: function(r) {
245
245
  return r();
246
246
  }
247
247
  };
248
- var V, H = {}, G = v.react_stack_bottom_frame.bind(
249
- v,
250
- t
251
- )(), U = B(n(t)), q = {};
252
- O.Fragment = w, O.jsx = function(r, l, g) {
253
- var b = 1e4 > L.recentlyCreatedOwnerStacks++;
254
- return d(
248
+ var V, H = {}, G = b.react_stack_bottom_frame.bind(
249
+ b,
250
+ a
251
+ )(), U = B(s(a)), q = {};
252
+ O.Fragment = w, O.jsx = function(r, c, h) {
253
+ var p = 1e4 > L.recentlyCreatedOwnerStacks++;
254
+ return l(
255
255
  r,
256
- l,
257
- g,
256
+ c,
257
+ h,
258
258
  !1,
259
- b ? Error("react-stack-top-frame") : G,
260
- b ? B(n(r)) : U
259
+ p ? Error("react-stack-top-frame") : G,
260
+ p ? B(s(r)) : U
261
261
  );
262
- }, O.jsxs = function(r, l, g) {
263
- var b = 1e4 > L.recentlyCreatedOwnerStacks++;
264
- return d(
262
+ }, O.jsxs = function(r, c, h) {
263
+ var p = 1e4 > L.recentlyCreatedOwnerStacks++;
264
+ return l(
265
265
  r,
266
- l,
267
- g,
266
+ c,
267
+ h,
268
268
  !0,
269
- b ? Error("react-stack-top-frame") : G,
270
- b ? B(n(r)) : U
269
+ p ? Error("react-stack-top-frame") : G,
270
+ p ? B(s(r)) : U
271
271
  );
272
272
  };
273
273
  }()), O;
@@ -276,116 +276,116 @@ process.env.NODE_ENV === "production" ? W.exports = oe() : W.exports = le();
276
276
  var e = W.exports;
277
277
  const ie = ({
278
278
  src: o,
279
- alt: c = "Avatar",
280
- size: i = "md",
281
- imageFit: n = "cover",
282
- customStyles: a = {},
283
- className: t = "",
284
- borderColor: u = "border-gray-200",
285
- darkBorderColor: s = "dark:border-gray-700",
286
- backgroundColor: x = "bg-gray-100",
287
- darkBackgroundColor: f = "dark:bg-gray-800",
288
- loading: d = "lazy"
279
+ alt: x = "Avatar",
280
+ size: d = "md",
281
+ imageFit: s = "cover",
282
+ customStyles: t = {},
283
+ className: a = "",
284
+ borderColor: f = "border-gray-200",
285
+ darkBorderColor: i = "dark:border-gray-700",
286
+ backgroundColor: u = "bg-gray-100",
287
+ darkBackgroundColor: m = "dark:bg-gray-800",
288
+ loading: l = "lazy"
289
289
  }) => {
290
- const m = {
290
+ const n = {
291
291
  sm: "h-8 w-8",
292
292
  md: "h-12 w-12",
293
293
  lg: "h-16 w-16",
294
294
  xl: "h-32 w-32"
295
- }, p = n === "contain" ? "object-contain" : "object-cover", v = `border ${u} ${s}`, j = `${x} ${f}`;
295
+ }, g = s === "contain" ? "object-contain" : "object-cover", b = `border ${f} ${i}`, $ = `${u} ${m}`;
296
296
  return /* @__PURE__ */ e.jsx("div", { className: `
297
297
  ds-avatar relative rounded-full overflow-hidden flex-shrink-0
298
- ${m[i]}
299
- ${j}
300
- ${v}
301
- ${a.container || ""}
302
- ${t}
298
+ ${n[d]}
299
+ ${$}
300
+ ${b}
301
+ ${t.container || ""}
302
+ ${a}
303
303
  `, children: /* @__PURE__ */ e.jsx(
304
304
  "img",
305
305
  {
306
306
  src: o,
307
- alt: c,
308
- loading: d,
307
+ alt: x,
308
+ loading: l,
309
309
  decoding: "async",
310
310
  className: `
311
311
  w-full h-full
312
- ${p}
313
- ${a.image || ""}
312
+ ${g}
313
+ ${t.image || ""}
314
314
  `
315
315
  }
316
316
  ) });
317
317
  }, K = ({
318
318
  label: o,
319
- variant: c = "primary",
320
- customStyles: i = {},
321
- className: n = "",
322
- endIcon: a,
319
+ variant: x = "primary",
320
+ customStyles: d = {},
321
+ className: s = "",
322
+ endIcon: t,
323
323
  // Default Colors
324
- primaryColor: t = "bg-blue-100 text-blue-800",
325
- darkPrimaryColor: u = "dark:bg-blue-900/50 dark:text-blue-200",
326
- secondaryColor: s = "bg-gray-100 text-gray-800",
327
- darkSecondaryColor: x = "dark:bg-gray-700 dark:text-gray-300",
328
- outlineColor: f = "border border-gray-300 text-gray-600 bg-transparent",
329
- darkOutlineColor: d = "dark:border-gray-600 dark:text-gray-400",
330
- successColor: m = "bg-green-100 text-green-800",
331
- darkSuccessColor: p = "dark:bg-green-900/50 dark:text-green-200"
324
+ primaryColor: a = "bg-blue-100 text-blue-800",
325
+ darkPrimaryColor: f = "dark:bg-blue-900/50 dark:text-blue-200",
326
+ secondaryColor: i = "bg-gray-100 text-gray-800",
327
+ darkSecondaryColor: u = "dark:bg-gray-700 dark:text-gray-300",
328
+ outlineColor: m = "border border-gray-300 text-gray-600 bg-transparent",
329
+ darkOutlineColor: l = "dark:border-gray-600 dark:text-gray-400",
330
+ successColor: n = "bg-green-100 text-green-800",
331
+ darkSuccessColor: g = "dark:bg-green-900/50 dark:text-green-200"
332
332
  }) => {
333
- const v = "inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium transition-colors gap-1", j = {
334
- primary: `${t} ${u}`,
335
- secondary: `${s} ${x}`,
336
- outline: `${f} ${d}`,
337
- success: `${m} ${p}`
333
+ const b = "inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium transition-colors gap-1", $ = {
334
+ primary: `${a} ${f}`,
335
+ secondary: `${i} ${u}`,
336
+ outline: `${m} ${l}`,
337
+ success: `${n} ${g}`
338
338
  };
339
339
  return /* @__PURE__ */ e.jsxs("span", { className: `
340
340
  ds-badge
341
- ${v}
342
- ${j[c]}
343
- ${i.container || ""}
344
- ${n}
341
+ ${b}
342
+ ${$[x]}
343
+ ${d.container || ""}
344
+ ${s}
345
345
  `, children: [
346
- /* @__PURE__ */ e.jsx("span", { className: i.label || "", children: o }),
347
- a && /* @__PURE__ */ e.jsx("span", { className: "flex items-center", children: a })
346
+ /* @__PURE__ */ e.jsx("span", { className: d.label || "", children: o }),
347
+ t && /* @__PURE__ */ e.jsx("span", { className: "flex items-center", children: t })
348
348
  ] });
349
349
  }, M = ({
350
350
  label: o,
351
- variant: c = "primary",
352
- size: i = "medium",
353
- onClick: n,
354
- className: a = "",
355
- customStyles: t = {},
356
- href: u,
357
- target: s,
351
+ variant: x = "primary",
352
+ size: d = "medium",
353
+ onClick: s,
354
+ className: t = "",
355
+ customStyles: a = {},
356
+ href: f,
357
+ target: i,
358
358
  // Default Colors
359
- primaryColor: x = "bg-blue-600",
360
- primaryHoverColor: f = "hover:bg-blue-700",
361
- darkPrimaryColor: d = "dark:bg-blue-600",
362
- darkPrimaryHoverColor: m = "dark:hover:bg-blue-500",
363
- secondaryColor: p = "bg-gray-100",
364
- secondaryHoverColor: v = "hover:bg-gray-200",
365
- darkSecondaryColor: j = "dark:bg-gray-800",
366
- darkSecondaryHoverColor: y = "dark:hover:bg-gray-700",
359
+ primaryColor: u = "bg-blue-600",
360
+ primaryHoverColor: m = "hover:bg-blue-700",
361
+ darkPrimaryColor: l = "dark:bg-blue-600",
362
+ darkPrimaryHoverColor: n = "dark:hover:bg-blue-500",
363
+ secondaryColor: g = "bg-gray-100",
364
+ secondaryHoverColor: b = "hover:bg-gray-200",
365
+ darkSecondaryColor: $ = "dark:bg-gray-800",
366
+ darkSecondaryHoverColor: j = "dark:hover:bg-gray-700",
367
367
  outlineColor: w = "text-blue-600 border-blue-600",
368
- outlineHoverColor: $ = "hover:bg-blue-50",
369
- darkOutlineColor: N = "dark:text-blue-400 dark:border-blue-400",
368
+ outlineHoverColor: y = "hover:bg-blue-50",
369
+ darkOutlineColor: k = "dark:text-blue-400 dark:border-blue-400",
370
370
  darkOutlineHoverColor: E = "dark:hover:bg-blue-950"
371
371
  }) => {
372
372
  const _ = "relative group inline-flex justify-center items-center font-bold rounded-lg cursor-pointer transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 no-underline", T = {
373
- primary: `${x} text-white ${f} focus:ring-blue-500 border-2 border-transparent ${d} ${m}`,
374
- secondary: `${p} text-gray-800 ${v} focus:ring-gray-500 border-2 border-transparent ${j} dark:text-gray-100 ${y}`,
375
- outline: `bg-transparent ${w} border-2 ${$} focus:ring-blue-500 ${N} ${E}`
373
+ primary: `${u} text-white ${m} focus:ring-blue-500 border-2 border-transparent ${l} ${n}`,
374
+ secondary: `${g} text-gray-800 ${b} focus:ring-gray-500 border-2 border-transparent ${$} dark:text-gray-100 ${j}`,
375
+ outline: `bg-transparent ${w} border-2 ${y} focus:ring-blue-500 ${k} ${E}`
376
376
  }, R = {
377
377
  small: "px-3 py-1.5 text-sm",
378
378
  medium: "px-5 py-2.5 text-base",
379
379
  large: "px-8 py-3.5 text-lg"
380
- }, P = `${_} ${T[c]} ${R[i]} ${t.container || ""} ${a}`, C = /* @__PURE__ */ e.jsx("span", { className: `relative z-10 flex items-center justify-center gap-2 ${t.label || ""}`, children: o });
381
- return u ? /* @__PURE__ */ e.jsx(
380
+ }, P = `${_} ${T[x]} ${R[d]} ${a.container || ""} ${t}`, C = /* @__PURE__ */ e.jsx("span", { className: `relative z-10 flex items-center justify-center gap-2 ${a.label || ""}`, children: o });
381
+ return f ? /* @__PURE__ */ e.jsx(
382
382
  "a",
383
383
  {
384
- href: u,
384
+ href: f,
385
385
  className: P,
386
- target: s,
387
- rel: s === "_blank" ? "noopener noreferrer" : void 0,
388
- onClick: n,
386
+ target: i,
387
+ rel: i === "_blank" ? "noopener noreferrer" : void 0,
388
+ onClick: s,
389
389
  children: C
390
390
  }
391
391
  ) : /* @__PURE__ */ e.jsx(
@@ -393,45 +393,45 @@ const ie = ({
393
393
  {
394
394
  type: "button",
395
395
  className: P,
396
- onClick: n,
396
+ onClick: s,
397
397
  children: C
398
398
  }
399
399
  );
400
400
  }, ce = ne(({
401
401
  label: o,
402
- error: c,
403
- className: i,
404
- customStyles: n = {},
405
- startIcon: a,
406
- endIcon: t,
402
+ error: x,
403
+ className: d,
404
+ customStyles: s = {},
405
+ startIcon: t,
406
+ endIcon: a,
407
407
  // Default Colors
408
- labelColor: u = "text-gray-700",
409
- darkLabelColor: s = "dark:text-gray-200",
410
- inputBgColor: x = "bg-white",
411
- darkInputBgColor: f = "dark:bg-gray-800",
412
- inputBorderColor: d = "border-gray-300",
413
- darkInputBorderColor: m = "dark:border-gray-600",
414
- inputTextColor: p = "text-gray-900",
415
- darkInputTextColor: v = "dark:text-white",
416
- focusRingColor: j = "focus:ring-blue-500",
417
- errorBorderColor: y = "border-red-500",
408
+ labelColor: f = "text-gray-700",
409
+ darkLabelColor: i = "dark:text-gray-200",
410
+ inputBgColor: u = "bg-white",
411
+ darkInputBgColor: m = "dark:bg-gray-800",
412
+ inputBorderColor: l = "border-gray-300",
413
+ darkInputBorderColor: n = "dark:border-gray-600",
414
+ inputTextColor: g = "text-gray-900",
415
+ darkInputTextColor: b = "dark:text-white",
416
+ focusRingColor: $ = "focus:ring-blue-500",
417
+ errorBorderColor: j = "border-red-500",
418
418
  darkErrorBorderColor: w = "dark:border-red-500",
419
- errorTextColor: $ = "text-red-500",
420
- darkErrorTextColor: N = "dark:text-red-400",
419
+ errorTextColor: y = "text-red-500",
420
+ darkErrorTextColor: k = "dark:text-red-400",
421
421
  ...E
422
422
  }, _) => {
423
423
  const T = `
424
424
  w-full py-2 border rounded-lg shadow-sm focus:outline-none focus:ring-2 transition-all
425
- ${a ? "pl-10" : "px-3"}
426
- ${t ? "pr-10" : "px-3"}
427
- ${x} ${f}
428
- ${p} ${v}
429
- ${j}
430
- `, R = c ? `${y} focus:ring-red-500 ${w}` : `${d} ${m}`;
431
- return /* @__PURE__ */ e.jsxs("div", { className: `w-full ${n.container || ""} ${i}`, children: [
432
- o && /* @__PURE__ */ e.jsx("label", { className: `block text-sm font-medium ${u} ${s} mb-1 ${n.label || ""}`, children: o }),
425
+ ${t ? "pl-10" : "px-3"}
426
+ ${a ? "pr-10" : "px-3"}
427
+ ${u} ${m}
428
+ ${g} ${b}
429
+ ${$}
430
+ `, R = x ? `${j} focus:ring-red-500 ${w}` : `${l} ${n}`;
431
+ return /* @__PURE__ */ e.jsxs("div", { className: `w-full ${s.container || ""} ${d}`, children: [
432
+ o && /* @__PURE__ */ e.jsx("label", { className: `block text-sm font-medium ${f} ${i} mb-1 ${s.label || ""}`, children: o }),
433
433
  /* @__PURE__ */ e.jsxs("div", { className: "relative", children: [
434
- a && /* @__PURE__ */ e.jsx("div", { className: `absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none ${n.iconContainer || ""}`, children: a }),
434
+ t && /* @__PURE__ */ e.jsx("div", { className: `absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none ${s.iconContainer || ""}`, children: t }),
435
435
  /* @__PURE__ */ e.jsx(
436
436
  "input",
437
437
  {
@@ -439,89 +439,100 @@ const ie = ({
439
439
  className: `
440
440
  ${T}
441
441
  ${R}
442
- ${n.input || ""}
442
+ ${s.input || ""}
443
443
  `,
444
444
  ...E
445
445
  }
446
446
  ),
447
- t && /* @__PURE__ */ e.jsx("div", { className: `absolute inset-y-0 right-0 pr-3 flex items-center ${n.iconContainer || ""}`, children: t })
447
+ a && /* @__PURE__ */ e.jsx("div", { className: `absolute inset-y-0 right-0 pr-3 flex items-center ${s.iconContainer || ""}`, children: a })
448
448
  ] }),
449
- c && /* @__PURE__ */ e.jsx("p", { className: `mt-1 text-xs ${$} ${N} ${n.error || ""}`, children: c })
449
+ x && /* @__PURE__ */ e.jsx("p", { className: `mt-1 text-xs ${y} ${k} ${s.error || ""}`, children: x })
450
450
  ] });
451
451
  });
452
452
  ce.displayName = "BasicInput";
453
453
  const de = ({
454
- isDark: o,
455
- onToggle: c,
456
- iconSun: i,
457
- iconMoon: n,
458
- sunImage: a,
459
- moonImage: t,
460
- imageFit: u = "contain",
461
- customStyles: s = {},
462
- className: x = "",
463
- title: f
454
+ isToggled: o,
455
+ onToggle: x,
456
+ iconOn: d,
457
+ iconOff: s,
458
+ imageOn: t,
459
+ imageOff: a,
460
+ imageFit: f = "contain",
461
+ customStyles: i = {},
462
+ className: u = "",
463
+ title: m
464
464
  }) => {
465
- const d = `w-6 h-6 ${s.icon || ""}`, m = /* @__PURE__ */ e.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: d, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z" }) }), p = /* @__PURE__ */ e.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: d, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z" }) }), v = () => {
466
- const j = u === "contain" ? "object-contain" : "object-cover";
467
- return o ? a ? /* @__PURE__ */ e.jsx("img", { src: a, alt: "Light Mode", className: `${d} ${j}` }) : i || m : t ? /* @__PURE__ */ e.jsx("img", { src: t, alt: "Dark Mode", className: `${d} ${j}` }) : n || p;
465
+ const l = `w-6 h-6 ${i.icon || ""}`, n = () => {
466
+ const g = f === "contain" ? "object-contain" : "object-cover";
467
+ return o ? t ? /* @__PURE__ */ e.jsx("img", { src: t, alt: "Toggled On", className: `${l} ${g}` }) : d : a ? /* @__PURE__ */ e.jsx("img", { src: a, alt: "Toggled Off", className: `${l} ${g}` }) : s;
468
468
  };
469
469
  return /* @__PURE__ */ e.jsx(
470
470
  "button",
471
471
  {
472
- onClick: c,
473
- title: f || (o ? "Switch to light mode" : "Switch to dark mode"),
472
+ onClick: x,
473
+ title: m,
474
474
  className: `
475
475
  p-2 rounded-full transition-all duration-300 ease-in-out
476
476
  focus:outline-none focus:ring-2 focus:ring-blue-500 hover:rotate-12 hover:scale-110 overflow-hidden
477
- ${o ? "bg-gray-700 text-yellow-300 hover:bg-gray-600" : "bg-gray-200 text-gray-600 hover:bg-gray-300"}
478
- ${s.container || ""}
479
- ${x}
477
+ ${o ? "bg-gray-800 text-white hover:bg-gray-700" : "bg-gray-200 text-gray-800 hover:bg-gray-300"}
478
+ ${i.container || ""}
479
+ ${u}
480
480
  `,
481
- children: v()
481
+ children: n()
482
482
  }
483
483
  );
484
484
  }, Z = ({
485
485
  isDark: o,
486
- onToggle: c,
486
+ onToggle: x,
487
+ iconSun: d,
488
+ iconMoon: s,
489
+ sunImage: t,
490
+ moonImage: a,
491
+ customStyles: f = {},
487
492
  ...i
488
493
  }) => {
489
- const [n, a] = I(!1);
494
+ const [u, m] = z(!1);
490
495
  Q(() => {
491
- const s = () => {
492
- const f = document.documentElement.classList.contains("dark");
493
- a(f);
496
+ const j = () => {
497
+ const y = document.documentElement.classList.contains("dark");
498
+ m(y);
494
499
  };
495
- s();
496
- const x = new MutationObserver(s);
497
- return x.observe(document.documentElement, { attributes: !0, attributeFilter: ["class"] }), () => x.disconnect();
500
+ j();
501
+ const w = new MutationObserver(j);
502
+ return w.observe(document.documentElement, { attributes: !0, attributeFilter: ["class"] }), () => w.disconnect();
498
503
  }, []);
499
- const t = () => {
500
- const s = document.documentElement;
501
- s.classList.contains("dark") ? (s.classList.remove("dark"), localStorage.setItem("theme", "light")) : (s.classList.add("dark"), localStorage.setItem("theme", "dark")), c && c();
502
- }, u = o !== void 0 ? o : n;
504
+ const l = () => {
505
+ const j = document.documentElement;
506
+ j.classList.contains("dark") ? (j.classList.remove("dark"), localStorage.setItem("theme", "light")) : (j.classList.add("dark"), localStorage.setItem("theme", "dark")), x && x();
507
+ }, n = o !== void 0 ? o : u, g = `w-6 h-6 ${f.icon || ""}`, b = /* @__PURE__ */ e.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: g, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z" }) }), $ = /* @__PURE__ */ e.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: g, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z" }) });
503
508
  return /* @__PURE__ */ e.jsx(
504
509
  de,
505
510
  {
506
511
  ...i,
507
- isDark: u,
508
- onToggle: t
512
+ isToggled: n,
513
+ onToggle: l,
514
+ iconOn: d || b,
515
+ iconOff: s || $,
516
+ imageOn: t,
517
+ imageOff: a,
518
+ customStyles: f,
519
+ title: i.title || (n ? "Switch to light mode" : "Switch to dark mode")
509
520
  }
510
521
  );
511
522
  }, ue = ({
512
523
  title: o,
513
- description: c,
514
- image: i,
515
- tags: n = [],
516
- orientation: a = "vertical",
517
- actionLabel: t = "View Project",
518
- projectUrl: u,
519
- linkTarget: s = "_self",
520
- onViewProject: x,
521
- customStyles: f = {},
522
- className: d = ""
524
+ description: x,
525
+ image: d,
526
+ tags: s = [],
527
+ orientation: t = "vertical",
528
+ actionLabel: a = "View Project",
529
+ projectUrl: f,
530
+ linkTarget: i = "_self",
531
+ onViewProject: u,
532
+ customStyles: m = {},
533
+ className: l = ""
523
534
  }) => {
524
- const m = a === "horizontal";
535
+ const n = t === "horizontal";
525
536
  return /* @__PURE__ */ e.jsxs("div", { className: `
526
537
  /* 1. IDENTIFIER CLASS */
527
538
  ds-card
@@ -529,7 +540,7 @@ const de = ({
529
540
  /* 2. BASE STRUCTURE */
530
541
  group w-full rounded-xl overflow-hidden border transition-all duration-300
531
542
  /* Switch layout based on orientation prop */
532
- ${m ? "flex flex-col md:flex-row" : "flex flex-col"}
543
+ ${n ? "flex flex-col md:flex-row" : "flex flex-col"}
533
544
 
534
545
  /* 3. LIGHT MODE (Default) */
535
546
  /* White background, gray border, black shadow on hover */
@@ -553,18 +564,18 @@ const de = ({
553
564
  dark:hover:!shadow-[0_20px_25px_-5px_rgba(255,255,255,0.30)]
554
565
 
555
566
  /* 5. EXTERNAL INJECTIONS */
556
- ${f.container || ""}
557
- ${d}
567
+ ${m.container || ""}
568
+ ${l}
558
569
  `, children: [
559
570
  /* @__PURE__ */ e.jsxs("div", { className: `
560
571
  ds-card-image overflow-hidden relative
561
- ${m ? "w-full h-48 md:w-2/5 md:h-auto" : "w-full h-48"}
562
- ${f.imageWrapper || ""}
572
+ ${n ? "w-full h-48 md:w-2/5 md:h-auto" : "w-full h-48"}
573
+ ${m.imageWrapper || ""}
563
574
  `, children: [
564
575
  /* @__PURE__ */ e.jsx(
565
576
  "img",
566
577
  {
567
- src: i,
578
+ src: d,
568
579
  alt: o,
569
580
  loading: "lazy",
570
581
  decoding: "async",
@@ -573,25 +584,25 @@ const de = ({
573
584
  ),
574
585
  /* @__PURE__ */ e.jsx("div", { className: "absolute inset-0 bg-transparent dark:bg-black/20 transition-colors pointer-events-none" })
575
586
  ] }),
576
- /* @__PURE__ */ e.jsxs("div", { className: `ds-card-content p-6 flex flex-col justify-between flex-1 ${f.content || ""}`, children: [
587
+ /* @__PURE__ */ e.jsxs("div", { className: `ds-card-content p-6 flex flex-col justify-between flex-1 ${m.content || ""}`, children: [
577
588
  /* @__PURE__ */ e.jsxs("div", { children: [
578
589
  /* @__PURE__ */ e.jsx("h3", { className: `
579
590
  ds-card-title text-2xl font-bold mb-3 transition-colors text-gray-900 dark:text-white
580
- ${f.title || ""}
591
+ ${m.title || ""}
581
592
  `, children: o }),
582
593
  /* @__PURE__ */ e.jsx("p", { className: `
583
594
  ds-card-description mb-4 line-clamp-3 leading-relaxed transition-colors text-gray-600 dark:text-gray-300
584
- ${f.description || ""}
585
- `, children: c }),
586
- /* @__PURE__ */ e.jsx("div", { className: `ds-card-tags flex flex-wrap gap-2 mb-6 ${f.tagsContainer || ""}`, children: n.map((p) => /* @__PURE__ */ e.jsx(K, { label: p, variant: "secondary" }, p)) })
595
+ ${m.description || ""}
596
+ `, children: x }),
597
+ /* @__PURE__ */ e.jsx("div", { className: `ds-card-tags flex flex-wrap gap-2 mb-6 ${m.tagsContainer || ""}`, children: s.map((g) => /* @__PURE__ */ e.jsx(K, { label: g, variant: "secondary" }, g)) })
587
598
  ] }),
588
599
  /* @__PURE__ */ e.jsx("div", { className: "ds-card-actions flex justify-start mt-auto", children: /* @__PURE__ */ e.jsx(
589
600
  M,
590
601
  {
591
- label: t,
592
- onClick: x,
593
- href: u,
594
- target: s,
602
+ label: a,
603
+ onClick: u,
604
+ href: f,
605
+ target: i,
595
606
  size: "medium",
596
607
  variant: "primary"
597
608
  }
@@ -600,127 +611,159 @@ const de = ({
600
611
  ] });
601
612
  }, me = ({
602
613
  title: o = "Featured Content",
603
- items: c,
604
- layout: i = "grid",
605
- itemButtonLabel: n = "View Details",
606
- onItemClick: a,
607
- customStyles: t = {}
614
+ items: x,
615
+ layout: d = "grid",
616
+ itemButtonLabel: s = "View Details",
617
+ onItemClick: t,
618
+ customStyles: a = {},
619
+ // Default Colors
620
+ backgroundColor: f = "bg-gray-50",
621
+ darkBackgroundColor: i = "dark:bg-gray-900",
622
+ titleColor: u = "text-gray-900",
623
+ darkTitleColor: m = "dark:text-white"
608
624
  }) => {
609
- const u = i === "grid" ? "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8" : "flex flex-col gap-12 max-w-4xl mx-auto";
625
+ const l = d === "grid" ? "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8" : "flex flex-col gap-12 max-w-4xl mx-auto";
610
626
  return /* @__PURE__ */ e.jsx("section", { className: `
611
627
  py-16 px-4 transition-colors duration-300
612
- bg-gray-50 dark:bg-gray-900
613
- ${t.container || ""}
628
+ ${f} ${i}
629
+ ${a.container || ""}
614
630
  `, children: /* @__PURE__ */ e.jsxs("div", { className: "max-w-7xl mx-auto", children: [
615
631
  o && /* @__PURE__ */ e.jsxs("div", { className: "mb-12 text-start", children: [
616
632
  /* @__PURE__ */ e.jsx("h2", { className: `
617
633
  text-4xl font-extrabold mb-4 tracking-tight transition-colors
618
- text-gray-900 dark:text-white
619
- ${t.title || ""}
634
+ ${u} ${m}
635
+ ${a.title || ""}
620
636
  `, children: o }),
621
637
  /* @__PURE__ */ e.jsx("div", { className: "h-1.5 w-24 bg-blue-600 mx-auto rounded-full" })
622
638
  ] }),
623
- /* @__PURE__ */ e.jsx("div", { className: u, children: c.map((s) => /* @__PURE__ */ e.jsx(
639
+ /* @__PURE__ */ e.jsx("div", { className: l, children: x.map((n) => /* @__PURE__ */ e.jsx(
624
640
  ue,
625
641
  {
626
- title: s.title,
627
- description: s.description,
628
- image: s.image,
629
- tags: s.tags,
630
- projectUrl: s.url,
631
- orientation: i === "list" ? "horizontal" : "vertical",
632
- actionLabel: n,
633
- onViewProject: () => a == null ? void 0 : a(s.id)
642
+ title: n.title,
643
+ description: n.description,
644
+ image: n.image,
645
+ tags: n.tags,
646
+ projectUrl: n.url,
647
+ orientation: d === "list" ? "horizontal" : "vertical",
648
+ actionLabel: s,
649
+ onViewProject: () => t == null ? void 0 : t(n.id)
634
650
  },
635
- s.id
651
+ n.id
636
652
  )) })
637
653
  ] }) });
638
654
  }, ge = ({
639
655
  copyrightOwner: o,
640
- copyrightText: c = `© ${(/* @__PURE__ */ new Date()).getFullYear()} All rights reserved.`,
641
- socialLinks: i,
642
- secondaryLinks: n = [],
643
- customStyles: a = {}
656
+ copyrightText: x = `© ${(/* @__PURE__ */ new Date()).getFullYear()} All rights reserved.`,
657
+ socialLinks: d,
658
+ secondaryLinks: s = [],
659
+ customStyles: t = {},
660
+ // Default Colors
661
+ backgroundColor: a = "bg-gray-900",
662
+ darkBackgroundColor: f = "dark:bg-black",
663
+ borderColor: i = "border-gray-800",
664
+ darkBorderColor: u = "dark:border-gray-800",
665
+ textColor: m = "text-white",
666
+ darkTextColor: l = "dark:text-white",
667
+ linksColor: n = "text-gray-400",
668
+ linksHoverColor: g = "hover:text-white"
644
669
  }) => /* @__PURE__ */ e.jsx("footer", { className: `
645
670
  py-12 border-t transition-colors duration-300
646
- /* Light: Very dark background (almost black) */
647
- bg-gray-900 text-white border-gray-800
648
- /* Dark: Pure black or very dark gray background */
649
- dark:bg-black dark:border-gray-800
650
- ${a.container || ""}
671
+ ${a} ${f}
672
+ ${i} ${u}
673
+ ${t.container || ""}
651
674
  `, children: /* @__PURE__ */ e.jsx("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col md:flex-row justify-between items-center gap-6", children: [
652
- /* @__PURE__ */ e.jsxs("div", { className: `text-center md:text-left ${a.text || ""}`, children: [
653
- /* @__PURE__ */ e.jsx("p", { className: "text-lg font-bold text-white", children: o }),
654
- /* @__PURE__ */ e.jsx("p", { className: "text-gray-400 text-sm mt-1", children: c })
675
+ /* @__PURE__ */ e.jsxs("div", { className: `text-center md:text-left ${t.text || ""}`, children: [
676
+ /* @__PURE__ */ e.jsx("p", { className: `text-lg font-bold ${m} ${l}`, children: o }),
677
+ /* @__PURE__ */ e.jsx("p", { className: `text-sm mt-1 ${n} opacity-80`, children: x })
655
678
  ] }),
656
- n.length > 0 && /* @__PURE__ */ e.jsx("div", { className: "flex gap-6 flex-wrap justify-center", children: n.map((t) => /* @__PURE__ */ e.jsx(
679
+ s.length > 0 && /* @__PURE__ */ e.jsx("div", { className: "flex gap-6 flex-wrap justify-center", children: s.map((b) => /* @__PURE__ */ e.jsx(
657
680
  "a",
658
681
  {
659
- href: t.href,
660
- className: `text-gray-400 hover:text-blue-400 text-sm transition-colors ${a.link || ""}`,
661
- children: t.label
682
+ href: b.href,
683
+ className: `
684
+ text-sm transition-colors
685
+ ${n} ${g}
686
+ ${t.link || ""}
687
+ `,
688
+ children: b.label
662
689
  },
663
- t.label
690
+ b.label
664
691
  )) }),
665
- /* @__PURE__ */ e.jsx("div", { className: "flex space-x-6", children: i.map((t) => /* @__PURE__ */ e.jsx(
692
+ /* @__PURE__ */ e.jsx("div", { className: "flex space-x-6", children: d.map((b) => /* @__PURE__ */ e.jsx(
666
693
  "a",
667
694
  {
668
- href: t.url,
695
+ href: b.url,
669
696
  target: "_blank",
670
697
  rel: "noopener noreferrer",
671
- className: `text-gray-400 hover:text-white transition-colors text-sm font-medium uppercase tracking-wider ${a.link || ""}`,
672
- children: t.platform
698
+ className: `
699
+ transition-colors text-sm font-medium uppercase tracking-wider
700
+ ${n} ${g}
701
+ ${t.link || ""}
702
+ `,
703
+ children: b.platform
673
704
  },
674
- t.platform
705
+ b.platform
675
706
  )) })
676
707
  ] }) }) }), be = ({
677
708
  greeting: o = "Hello",
678
- title: c,
679
- subtitle: i,
680
- imageUrl: n,
681
- actions: a = [],
682
- customStyles: t = {}
709
+ title: x,
710
+ subtitle: d,
711
+ imageUrl: s,
712
+ actions: t = [],
713
+ customStyles: a = {},
714
+ // Default Colors
715
+ backgroundColor: f = "bg-white",
716
+ darkBackgroundColor: i = "dark:bg-gray-900",
717
+ greetingColor: u = "text-blue-600",
718
+ darkGreetingColor: m = "dark:text-blue-400",
719
+ titleColor: l = "text-gray-900",
720
+ darkTitleColor: n = "dark:text-white",
721
+ subtitleColor: g = "text-gray-500",
722
+ darkSubtitleColor: b = "dark:text-gray-400"
683
723
  }) => {
684
- const u = n ? "flex flex-col lg:flex-row items-center gap-12 lg:gap-16" : "flex flex-col items-center text-center max-w-4xl mx-auto", s = n ? "flex-1 text-center lg:text-left" : "w-full", x = n ? "justify-center lg:justify-start" : "justify-center";
724
+ const $ = s ? "flex flex-col lg:flex-row items-center gap-12 lg:gap-16" : "flex flex-col items-center text-center max-w-4xl mx-auto", j = s ? "flex-1 text-center lg:text-left" : "w-full", w = s ? "justify-center lg:justify-start" : "justify-center";
685
725
  return /* @__PURE__ */ e.jsx("section", { className: `
686
726
  relative pt-32 pb-16 lg:pt-40 lg:pb-24 overflow-hidden transition-colors duration-300
687
- bg-white dark:bg-gray-900
688
- ${t.container || ""}
689
- `, children: /* @__PURE__ */ e.jsx("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ e.jsxs("div", { className: u, children: [
690
- /* @__PURE__ */ e.jsxs("div", { className: `${s} ${t.content || ""}`, children: [
691
- o && /* @__PURE__ */ e.jsx("p", { className: "text-blue-600 dark:text-blue-400 font-semibold tracking-wide uppercase text-sm mb-4", children: o }),
727
+ ${f} ${i}
728
+ ${a.container || ""}
729
+ `, children: /* @__PURE__ */ e.jsx("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ e.jsxs("div", { className: $, children: [
730
+ /* @__PURE__ */ e.jsxs("div", { className: `${j} ${a.content || ""}`, children: [
731
+ o && /* @__PURE__ */ e.jsx("p", { className: `
732
+ font-semibold tracking-wide uppercase text-sm mb-4
733
+ ${u} ${m}
734
+ `, children: o }),
692
735
  /* @__PURE__ */ e.jsx("h1", { className: `
693
736
  text-4xl sm:text-5xl lg:text-6xl font-bold leading-tight mb-6 transition-colors
694
- text-gray-900 dark:text-white
695
- ${t.title || ""}
696
- `, children: c }),
737
+ ${l} ${n}
738
+ ${a.title || ""}
739
+ `, children: x }),
697
740
  /* @__PURE__ */ e.jsx("p", { className: `
698
741
  text-lg sm:text-xl mb-8 leading-relaxed transition-colors
699
- text-gray-500 dark:text-gray-400
700
- ${!n && "mx-auto max-w-2xl"}
701
- ${t.subtitle || ""}
702
- `, children: i }),
703
- a.length > 0 && /* @__PURE__ */ e.jsx("div", { className: `flex flex-col sm:flex-row gap-4 ${x}`, children: a.map((f, d) => /* @__PURE__ */ e.jsx(
742
+ ${g} ${b}
743
+ ${!s && "mx-auto max-w-2xl"}
744
+ ${a.subtitle || ""}
745
+ `, children: d }),
746
+ t.length > 0 && /* @__PURE__ */ e.jsx("div", { className: `flex flex-col sm:flex-row gap-4 ${w}`, children: t.map((y, k) => /* @__PURE__ */ e.jsx(
704
747
  M,
705
748
  {
706
- label: f.label,
707
- variant: f.variant || "primary",
749
+ label: y.label,
750
+ variant: y.variant || "primary",
708
751
  size: "large",
709
- onClick: f.onClick,
752
+ onClick: y.onClick,
710
753
  className: "w-full sm:w-auto"
711
754
  },
712
- d
755
+ k
713
756
  )) })
714
757
  ] }),
715
- n && /* @__PURE__ */ e.jsx("div", { className: `
758
+ s && /* @__PURE__ */ e.jsx("div", { className: `
716
759
  flex-1 w-full max-w-md lg:max-w-full relative
717
- ${t.imageWrapper || ""}
760
+ ${a.imageWrapper || ""}
718
761
  `, children: /* @__PURE__ */ e.jsxs("div", { className: "relative rounded-2xl overflow-hidden shadow-2xl dark:shadow-none dark:border dark:border-gray-800 aspect-[4/3] group", children: [
719
762
  /* @__PURE__ */ e.jsx("div", { className: "absolute inset-0 bg-gray-900/5 dark:bg-black/20 group-hover:bg-transparent transition-colors duration-500" }),
720
763
  /* @__PURE__ */ e.jsx(
721
764
  "img",
722
765
  {
723
- src: n,
766
+ src: s,
724
767
  alt: "Hero Visual",
725
768
  decoding: "async",
726
769
  className: "w-full h-full object-cover transform transition-transform duration-700 hover:scale-105"
@@ -730,46 +773,46 @@ const de = ({
730
773
  ] }) }) });
731
774
  }, xe = ({
732
775
  logo: o = "Marc.Dev",
733
- isLogoImage: c = !1,
734
- links: i,
735
- actions: n = [],
736
- customStyles: a = {},
737
- isOpen: t = !1,
738
- isScrolled: u = !1,
739
- onToggleMenu: s,
740
- onLinkClick: x,
741
- onLogoClick: f
776
+ isLogoImage: x = !1,
777
+ links: d,
778
+ actions: s = [],
779
+ customStyles: t = {},
780
+ isOpen: a = !1,
781
+ isScrolled: f = !1,
782
+ onToggleMenu: i,
783
+ onLinkClick: u,
784
+ onLogoClick: m
742
785
  }) => /* @__PURE__ */ e.jsxs(
743
786
  "nav",
744
787
  {
745
788
  className: `
746
789
  fixed top-0 left-0 right-0 z-50 transition-all duration-300
747
790
 
748
- ${u || t ? "bg-white/90 dark:bg-gray-900/90 backdrop-blur-md shadow-sm border-b border-gray-100 dark:border-gray-800" : "bg-transparent"}
749
- ${a.container || ""}
791
+ ${f || a ? "bg-white/90 dark:bg-gray-900/90 backdrop-blur-md shadow-sm border-b border-gray-100 dark:border-gray-800" : "bg-transparent"}
792
+ ${t.container || ""}
750
793
  `,
751
794
  children: [
752
795
  /* @__PURE__ */ e.jsx("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ e.jsxs("div", { className: "flex justify-between items-center h-20", children: [
753
- /* @__PURE__ */ e.jsx("div", { className: `flex-shrink-0 cursor-pointer flex items-center ${a.logo || ""}`, onClick: f, children: c ? /* @__PURE__ */ e.jsx("img", { src: o, alt: "Logo", className: "h-8 w-auto" }) : /* @__PURE__ */ e.jsx("span", { className: "text-2xl font-bold text-gray-900 dark:text-white tracking-tighter hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: o }) }),
796
+ /* @__PURE__ */ e.jsx("div", { className: `flex-shrink-0 cursor-pointer flex items-center ${t.logo || ""}`, onClick: m, children: x ? /* @__PURE__ */ e.jsx("img", { src: o, alt: "Logo", className: "h-8 w-auto" }) : /* @__PURE__ */ e.jsx("span", { className: "text-2xl font-bold text-gray-900 dark:text-white tracking-tighter hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: o }) }),
754
797
  /* @__PURE__ */ e.jsxs("div", { className: "hidden md:flex space-x-8 items-center", children: [
755
- i.map((d) => /* @__PURE__ */ e.jsx(
798
+ d.map((l) => /* @__PURE__ */ e.jsx(
756
799
  "a",
757
800
  {
758
- href: d.href,
759
- onClick: (m) => x == null ? void 0 : x(m, d.href),
801
+ href: l.href,
802
+ onClick: (n) => u == null ? void 0 : u(n, l.href),
760
803
  className: `
761
804
  text-sm font-medium transition-colors
762
805
  hover:text-blue-600 dark:hover:text-blue-400
763
- ${d.active ? "text-blue-600 dark:text-blue-400" : "text-gray-600 dark:text-gray-300"}
764
- ${a.link || ""}
806
+ ${l.active ? "text-blue-600 dark:text-blue-400" : "text-gray-600 dark:text-gray-300"}
807
+ ${t.link || ""}
765
808
  `,
766
- children: d.label
809
+ children: l.label
767
810
  },
768
- d.label
811
+ l.label
769
812
  )),
770
813
  /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-4 pl-6 border-l border-gray-200 dark:border-gray-700", children: [
771
814
  /* @__PURE__ */ e.jsx(Z, {}),
772
- n.map((d, m) => /* @__PURE__ */ e.jsx(M, { ...d, size: "small" }, m))
815
+ s.map((l, n) => /* @__PURE__ */ e.jsx(M, { ...l, size: "small" }, n))
773
816
  ] })
774
817
  ] }),
775
818
  /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-4 md:hidden", children: [
@@ -777,9 +820,9 @@ const de = ({
777
820
  /* @__PURE__ */ e.jsx(
778
821
  "button",
779
822
  {
780
- onClick: s,
823
+ onClick: i,
781
824
  className: "p-2 rounded-md text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors focus:outline-none",
782
- children: /* @__PURE__ */ e.jsx("svg", { className: "h-6 w-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: t ? /* @__PURE__ */ e.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) : /* @__PURE__ */ e.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 6h16M4 12h16M4 18h16" }) })
825
+ children: /* @__PURE__ */ e.jsx("svg", { className: "h-6 w-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: a ? /* @__PURE__ */ e.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) : /* @__PURE__ */ e.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 6h16M4 12h16M4 18h16" }) })
783
826
  }
784
827
  )
785
828
  ] })
@@ -791,90 +834,103 @@ const de = ({
791
834
  md:hidden absolute top-20 left-0 w-full
792
835
  bg-white dark:bg-gray-900 border-b border-gray-100 dark:border-gray-800
793
836
  shadow-xl transition-all duration-300 ease-in-out origin-top
794
- ${t ? "opacity-100 scale-y-100" : "opacity-0 scale-y-0 h-0 overflow-hidden"}
795
- ${a.mobileMenu || ""}
837
+ ${a ? "opacity-100 scale-y-100" : "opacity-0 scale-y-0 h-0 overflow-hidden"}
838
+ ${t.mobileMenu || ""}
796
839
  `,
797
840
  children: /* @__PURE__ */ e.jsxs("div", { className: "px-6 py-6 space-y-4 flex flex-col items-center", children: [
798
- i.map((d) => /* @__PURE__ */ e.jsx(
841
+ d.map((l) => /* @__PURE__ */ e.jsx(
799
842
  "a",
800
843
  {
801
- href: d.href,
802
- onClick: (m) => x == null ? void 0 : x(m, d.href),
844
+ href: l.href,
845
+ onClick: (n) => u == null ? void 0 : u(n, l.href),
803
846
  className: "block text-lg font-medium text-gray-800 dark:text-gray-200 hover:text-blue-600 dark:hover:text-blue-400 transition-colors",
804
- children: d.label
847
+ children: l.label
805
848
  },
806
- d.label
849
+ l.label
807
850
  )),
808
- n.length > 0 && /* @__PURE__ */ e.jsx("div", { className: "pt-4 w-full flex flex-col gap-3", children: n.map((d, m) => /* @__PURE__ */ e.jsx(M, { ...d, size: "medium", className: "w-full" }, m)) })
851
+ s.length > 0 && /* @__PURE__ */ e.jsx("div", { className: "pt-4 w-full flex flex-col gap-3", children: s.map((l, n) => /* @__PURE__ */ e.jsx(M, { ...l, size: "medium", className: "w-full" }, n)) })
809
852
  ] })
810
853
  }
811
854
  )
812
855
  ]
813
856
  }
814
857
  ), he = (o) => {
815
- const [c, i] = I(!1), [n, a] = I(!1);
858
+ const [x, d] = z(!1), [s, t] = z(!1);
816
859
  Q(() => {
817
- let s = !1;
818
- const x = () => {
819
- s || (window.requestAnimationFrame(() => {
820
- a(window.scrollY > 20), s = !1;
821
- }), s = !0);
860
+ let i = !1;
861
+ const u = () => {
862
+ i || (window.requestAnimationFrame(() => {
863
+ t(window.scrollY > 20), i = !1;
864
+ }), i = !0);
822
865
  };
823
- return window.addEventListener("scroll", x), () => window.removeEventListener("scroll", x);
866
+ return window.addEventListener("scroll", u), () => window.removeEventListener("scroll", u);
824
867
  }, []);
825
- const t = (s, x) => {
826
- s.preventDefault();
827
- const f = document.querySelector(x);
828
- f && (f.scrollIntoView({ behavior: "smooth" }), i(!1));
829
- }, u = () => {
868
+ const a = (i, u) => {
869
+ i.preventDefault();
870
+ const m = document.querySelector(u);
871
+ m && (m.scrollIntoView({ behavior: "smooth" }), d(!1));
872
+ }, f = () => {
830
873
  window.scrollTo({ top: 0, behavior: "smooth" });
831
874
  };
832
875
  return /* @__PURE__ */ e.jsx(
833
876
  xe,
834
877
  {
835
878
  ...o,
836
- isOpen: c,
837
- isScrolled: n,
838
- onToggleMenu: () => i(!c),
839
- onLinkClick: t,
840
- onLogoClick: u
879
+ isOpen: x,
880
+ isScrolled: s,
881
+ onToggleMenu: () => d(!x),
882
+ onLinkClick: a,
883
+ onLogoClick: f
841
884
  }
842
885
  );
843
886
  }, pe = ({
844
887
  title: o = "About Me",
845
- avatarUrl: c,
846
- bio: i,
847
- skillsTitle: n = "Tech Stack",
848
- skills: a = [],
849
- customStyles: t = {},
850
- id: u
888
+ avatarUrl: x,
889
+ bio: d,
890
+ skillsTitle: s = "Tech Stack",
891
+ skills: t = [],
892
+ customStyles: a = {},
893
+ id: f,
894
+ // Default Colors
895
+ backgroundColor: i = "bg-white",
896
+ darkBackgroundColor: u = "dark:bg-gray-900",
897
+ borderColor: m = "border-gray-100",
898
+ darkBorderColor: l = "dark:border-gray-800",
899
+ titleColor: n = "text-gray-900",
900
+ darkTitleColor: g = "dark:text-white",
901
+ textColor: b = "text-gray-600",
902
+ darkTextColor: $ = "dark:text-gray-300"
851
903
  }) => /* @__PURE__ */ e.jsx(
852
904
  "section",
853
905
  {
854
- id: u,
906
+ id: f,
855
907
  className: `
856
908
  py-20 transition-colors duration-300
857
- bg-white dark:bg-gray-900 border-y border-gray-100 dark:border-gray-800
858
- ${t.container || ""}
909
+ border-y
910
+ ${i} ${u}
911
+ ${m} ${l}
912
+ ${a.container || ""}
859
913
  `,
860
- children: /* @__PURE__ */ e.jsxs("div", { className: `max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 ${t.contentWrapper || ""}`, children: [
914
+ children: /* @__PURE__ */ e.jsxs("div", { className: `max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 ${a.contentWrapper || ""}`, children: [
861
915
  o && /* @__PURE__ */ e.jsxs("div", { className: "text-center mb-12", children: [
862
916
  /* @__PURE__ */ e.jsx("h2", { className: `
863
- text-3xl font-bold text-gray-900 dark:text-white transition-colors
864
- ${t.title || ""}
917
+ text-3xl font-bold transition-colors
918
+ ${n} ${g}
919
+ ${a.title || ""}
865
920
  `, children: o }),
866
921
  /* @__PURE__ */ e.jsx("div", { className: "mt-2 h-1 w-20 bg-blue-600 mx-auto rounded" })
867
922
  ] }),
868
923
  /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col md:flex-row items-center gap-12", children: [
869
- /* @__PURE__ */ e.jsx("div", { className: "flex-shrink-0", children: /* @__PURE__ */ e.jsx(ie, { src: c, size: "xl" }) }),
870
- /* @__PURE__ */ e.jsxs("div", { className: `text-lg text-gray-600 dark:text-gray-300 leading-relaxed ${t.textWrapper || ""}`, children: [
871
- /* @__PURE__ */ e.jsx("p", { className: `mb-8 whitespace-pre-line ${t.bio || ""}`, children: i }),
872
- a.length > 0 && /* @__PURE__ */ e.jsxs("div", { children: [
873
- n && /* @__PURE__ */ e.jsx("h3", { className: `
874
- text-sm font-bold text-gray-900 dark:text-white uppercase tracking-wide mb-3
875
- ${t.skillsTitle || ""}
876
- `, children: n }),
877
- /* @__PURE__ */ e.jsx("div", { className: "flex flex-wrap gap-2", children: a.map((s) => /* @__PURE__ */ e.jsx(K, { label: s, variant: "secondary" }, s)) })
924
+ /* @__PURE__ */ e.jsx("div", { className: "flex-shrink-0", children: /* @__PURE__ */ e.jsx(ie, { src: x, size: "xl" }) }),
925
+ /* @__PURE__ */ e.jsxs("div", { className: `text-lg leading-relaxed ${b} ${$} ${a.textWrapper || ""}`, children: [
926
+ /* @__PURE__ */ e.jsx("p", { className: `mb-8 whitespace-pre-line ${a.bio || ""}`, children: d }),
927
+ t.length > 0 && /* @__PURE__ */ e.jsxs("div", { children: [
928
+ s && /* @__PURE__ */ e.jsx("h3", { className: `
929
+ text-sm font-bold uppercase tracking-wide mb-3
930
+ ${n} ${g}
931
+ ${a.skillsTitle || ""}
932
+ `, children: s }),
933
+ /* @__PURE__ */ e.jsx("div", { className: "flex flex-wrap gap-2", children: t.map((j) => /* @__PURE__ */ e.jsx(K, { label: j, variant: "secondary" }, j)) })
878
934
  ] })
879
935
  ] })
880
936
  ] })