acemyjob-ui 0.17.0 → 0.17.2

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.
@@ -1,10 +1,8 @@
1
- import * as _ from "react";
2
- import z, { useState as $, useCallback as O, createContext as Ce, useEffect as J, useContext as ke, useRef as Ve } from "react";
3
- import { Dialog as $e, DialogBackdrop as Te, DialogPanel as Ee, TransitionChild as Re } from "@headlessui/react";
4
- import { XMarkIcon as Ae, Bars3Icon as _e, ChevronDownIcon as re, InformationCircleIcon as ve, ExclamationCircleIcon as ge, XCircleIcon as be, CheckCircleIcon as pe } from "@heroicons/react/24/outline";
5
- import { useSortable as Be } from "@dnd-kit/sortable";
6
- import { CSS as Oe } from "@dnd-kit/utilities";
7
- const fr = {
1
+ import * as G from "react";
2
+ import P, { useState as T, useCallback as B, createContext as we, useEffect as J, useContext as Ne, useRef as ye } from "react";
3
+ import { ChevronDownIcon as ee, InformationCircleIcon as xe, ExclamationCircleIcon as fe, XCircleIcon as he, CheckCircleIcon as ve, XMarkIcon as ke, Bars3Icon as Ce } from "@heroicons/react/24/outline";
4
+ import { Dialog as Ve, DialogBackdrop as $e, DialogPanel as Te, TransitionChild as Ee } from "@headlessui/react";
5
+ const nr = {
8
6
  required: (r = "This field is required") => ({
9
7
  validate: (s) => typeof s == "string" ? s.trim().length > 0 : Array.isArray(s) ? s.length > 0 : s != null,
10
8
  message: r
@@ -59,7 +57,7 @@ const fr = {
59
57
  message: s
60
58
  })
61
59
  };
62
- function Se(r, s) {
60
+ function Re(r, s) {
63
61
  for (const t of s)
64
62
  if (!t.validate(r))
65
63
  return t.message;
@@ -68,87 +66,87 @@ function Se(r, s) {
68
66
  function Q(r, s) {
69
67
  const t = {};
70
68
  for (const [a, l] of Object.entries(s)) {
71
- const n = r[a], i = Se(n, l);
69
+ const n = r[a], i = Re(n, l);
72
70
  t[a] = i;
73
71
  }
74
72
  return t;
75
73
  }
76
- function De(r) {
74
+ function Ae(r) {
77
75
  return Object.values(r).some((s) => s !== null);
78
76
  }
79
- function hr(r) {
77
+ function lr(r) {
80
78
  for (const s of Object.values(r))
81
79
  if (s !== null)
82
80
  return s;
83
81
  return null;
84
82
  }
85
- function vr(r, s) {
83
+ function or(r, s) {
86
84
  return {
87
85
  ...r,
88
86
  [s]: null
89
87
  };
90
88
  }
91
- function gr(r) {
89
+ function cr(r) {
92
90
  const s = {};
93
91
  for (const t of Object.keys(r))
94
92
  s[t] = null;
95
93
  return s;
96
94
  }
97
- function br({
95
+ function ir({
98
96
  initialValues: r,
99
97
  validationRules: s = {},
100
98
  onSubmit: t
101
99
  }) {
102
- const [a, l] = $(r), [n, i] = $({}), [c, u] = $({}), [x, d] = $(!1), m = JSON.stringify(a) !== JSON.stringify(r), f = O(
100
+ const [a, l] = T(r), [n, i] = T({}), [c, u] = T({}), [f, d] = T(!1), m = JSON.stringify(a) !== JSON.stringify(r), x = B(
103
101
  (p) => {
104
- const { name: b, value: w, type: A } = p.target;
105
- let L = w;
106
- if (A === "checkbox" ? L = p.target.checked : A === "number" && (L = w ? Number(w) : ""), l((M) => ({
107
- ...M,
108
- [b]: L
109
- })), s[b]) {
110
- const M = Q({ [b]: L }, { [b]: s[b] });
111
- i((W) => ({
112
- ...W,
113
- [b]: M[b]
102
+ const { name: v, value: w, type: A } = p.target;
103
+ let M = w;
104
+ if (A === "checkbox" ? M = p.target.checked : A === "number" && (M = w ? Number(w) : ""), l((S) => ({
105
+ ...S,
106
+ [v]: M
107
+ })), s[v]) {
108
+ const S = Q({ [v]: M }, { [v]: s[v] });
109
+ i((Y) => ({
110
+ ...Y,
111
+ [v]: S[v]
114
112
  }));
115
113
  }
116
114
  },
117
115
  [s]
118
- ), v = O(
116
+ ), g = B(
119
117
  (p) => {
120
- const { name: b } = p.target;
118
+ const { name: v } = p.target;
121
119
  u((w) => ({
122
120
  ...w,
123
- [b]: !0
121
+ [v]: !0
124
122
  }));
125
123
  },
126
124
  []
127
- ), g = O((p, b) => {
125
+ ), b = B((p, v) => {
128
126
  if (l((w) => ({
129
127
  ...w,
130
- [p]: b
128
+ [p]: v
131
129
  })), s[p]) {
132
- const w = Q({ [p]: b }, { [p]: s[p] });
130
+ const w = Q({ [p]: v }, { [p]: s[p] });
133
131
  i((A) => ({
134
132
  ...A,
135
133
  [p]: w[p]
136
134
  }));
137
135
  }
138
- }, [s]), y = O((p, b) => {
136
+ }, [s]), y = B((p, v) => {
139
137
  i((w) => ({
140
138
  ...w,
141
- [p]: b
139
+ [p]: v
142
140
  }));
143
- }, []), V = O(
141
+ }, []), E = B(
144
142
  async (p) => {
145
143
  p.preventDefault();
146
- const b = Q(a, s);
147
- i(b);
144
+ const v = Q(a, s);
145
+ i(v);
148
146
  const w = {};
149
147
  for (const A of Object.keys(a))
150
148
  w[A] = !0;
151
- if (u(w), !De(b) && t) {
149
+ if (u(w), !Ae(v) && t) {
152
150
  d(!0);
153
151
  try {
154
152
  await t(a);
@@ -160,23 +158,23 @@ function br({
160
158
  }
161
159
  },
162
160
  [a, s, t]
163
- ), T = O(() => {
161
+ ), V = B(() => {
164
162
  l(r), i({}), u({}), d(!1);
165
- }, [r]), R = O(
163
+ }, [r]), R = B(
166
164
  (p) => ({
167
165
  name: p,
168
166
  value: a[p] || "",
169
- onChange: f,
170
- onBlur: v
167
+ onChange: x,
168
+ onBlur: g
171
169
  }),
172
- [a, f, v]
173
- ), N = O(
170
+ [a, x, g]
171
+ ), N = B(
174
172
  (p) => n[p] || null,
175
173
  [n]
176
- ), D = O(
174
+ ), O = B(
177
175
  (p) => c[p] || !1,
178
176
  [c]
179
- ), I = O(
177
+ ), L = B(
180
178
  (p) => a[p] !== r[p],
181
179
  [a, r]
182
180
  );
@@ -184,21 +182,21 @@ function br({
184
182
  values: a,
185
183
  errors: n,
186
184
  touched: c,
187
- isSubmitting: x,
185
+ isSubmitting: f,
188
186
  isDirty: m,
189
- handleChange: f,
190
- handleBlur: v,
191
- setFieldValue: g,
187
+ handleChange: x,
188
+ handleBlur: g,
189
+ setFieldValue: b,
192
190
  setFieldError: y,
193
- handleSubmit: V,
194
- resetForm: T,
191
+ handleSubmit: E,
192
+ resetForm: V,
195
193
  getFieldProps: R,
196
194
  getFieldError: N,
197
- isFieldTouched: D,
198
- isFieldDirty: I
195
+ isFieldTouched: O,
196
+ isFieldDirty: L
199
197
  };
200
198
  }
201
- var H = { exports: {} }, U = {};
199
+ var W = { exports: {} }, I = {};
202
200
  /**
203
201
  * @license React
204
202
  * react-jsx-runtime.production.js
@@ -208,10 +206,10 @@ var H = { exports: {} }, U = {};
208
206
  * This source code is licensed under the MIT license found in the
209
207
  * LICENSE file in the root directory of this source tree.
210
208
  */
211
- var oe;
212
- function Pe() {
213
- if (oe) return U;
214
- oe = 1;
209
+ var le;
210
+ function _e() {
211
+ if (le) return I;
212
+ le = 1;
215
213
  var r = Symbol.for("react.transitional.element"), s = Symbol.for("react.fragment");
216
214
  function t(a, l, n) {
217
215
  var i = null;
@@ -228,9 +226,9 @@ function Pe() {
228
226
  props: n
229
227
  };
230
228
  }
231
- return U.Fragment = s, U.jsx = t, U.jsxs = t, U;
229
+ return I.Fragment = s, I.jsx = t, I.jsxs = t, I;
232
230
  }
233
- var Y = {};
231
+ var U = {};
234
232
  /**
235
233
  * @license React
236
234
  * react-jsx-runtime.development.js
@@ -240,22 +238,22 @@ var Y = {};
240
238
  * This source code is licensed under the MIT license found in the
241
239
  * LICENSE file in the root directory of this source tree.
242
240
  */
243
- var ce;
244
- function ze() {
245
- return ce || (ce = 1, process.env.NODE_ENV !== "production" && function() {
241
+ var oe;
242
+ function Be() {
243
+ return oe || (oe = 1, process.env.NODE_ENV !== "production" && function() {
246
244
  function r(o) {
247
245
  if (o == null) return null;
248
246
  if (typeof o == "function")
249
- return o.$$typeof === L ? null : o.displayName || o.name || null;
247
+ return o.$$typeof === M ? null : o.displayName || o.name || null;
250
248
  if (typeof o == "string") return o;
251
249
  switch (o) {
252
250
  case y:
253
251
  return "Fragment";
254
- case T:
255
- return "Profiler";
256
252
  case V:
253
+ return "Profiler";
254
+ case E:
257
255
  return "StrictMode";
258
- case I:
256
+ case L:
259
257
  return "Suspense";
260
258
  case p:
261
259
  return "SuspenseList";
@@ -266,16 +264,16 @@ function ze() {
266
264
  switch (typeof o.tag == "number" && console.error(
267
265
  "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
268
266
  ), o.$$typeof) {
269
- case g:
267
+ case b:
270
268
  return "Portal";
271
269
  case N:
272
270
  return (o.displayName || "Context") + ".Provider";
273
271
  case R:
274
272
  return (o._context.displayName || "Context") + ".Consumer";
275
- case D:
273
+ case O:
276
274
  var h = o.render;
277
275
  return o = o.displayName, o || (o = h.displayName || h.name || "", o = o !== "" ? "ForwardRef(" + o + ")" : "ForwardRef"), o;
278
- case b:
276
+ case v:
279
277
  return h = o.displayName || null, h !== null ? h : r(o.type) || "Memo";
280
278
  case w:
281
279
  h = o._payload, o = o._init;
@@ -298,11 +296,11 @@ function ze() {
298
296
  }
299
297
  if (h) {
300
298
  h = console;
301
- var j = h.error, C = typeof Symbol == "function" && Symbol.toStringTag && o[Symbol.toStringTag] || o.constructor.name || "Object";
299
+ var j = h.error, k = typeof Symbol == "function" && Symbol.toStringTag && o[Symbol.toStringTag] || o.constructor.name || "Object";
302
300
  return j.call(
303
301
  h,
304
302
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
305
- C
303
+ k
306
304
  ), s(o);
307
305
  }
308
306
  }
@@ -318,14 +316,14 @@ function ze() {
318
316
  }
319
317
  }
320
318
  function l() {
321
- var o = M.A;
319
+ var o = S.A;
322
320
  return o === null ? null : o.getOwner();
323
321
  }
324
322
  function n() {
325
323
  return Error("react-stack-top-frame");
326
324
  }
327
325
  function i(o) {
328
- if (W.call(o, "key")) {
326
+ if (Y.call(o, "key")) {
329
327
  var h = Object.getOwnPropertyDescriptor(o, "key").get;
330
328
  if (h && h.isReactWarning) return !1;
331
329
  }
@@ -333,7 +331,7 @@ function ze() {
333
331
  }
334
332
  function c(o, h) {
335
333
  function j() {
336
- se || (se = !0, console.error(
334
+ re || (re = !0, console.error(
337
335
  "%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)",
338
336
  h
339
337
  ));
@@ -345,17 +343,17 @@ function ze() {
345
343
  }
346
344
  function u() {
347
345
  var o = r(this.type);
348
- return ae[o] || (ae[o] = !0, console.error(
346
+ return se[o] || (se[o] = !0, console.error(
349
347
  "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."
350
348
  )), o = this.props.ref, o !== void 0 ? o : null;
351
349
  }
352
- function x(o, h, j, C, P, B, q, Z) {
353
- return j = B.ref, o = {
354
- $$typeof: v,
350
+ function f(o, h, j, k, D, _, q, Z) {
351
+ return j = _.ref, o = {
352
+ $$typeof: g,
355
353
  type: o,
356
354
  key: h,
357
- props: B,
358
- _owner: P
355
+ props: _,
356
+ _owner: D
359
357
  }, (j !== void 0 ? j : null) !== null ? Object.defineProperty(o, "ref", {
360
358
  enumerable: !1,
361
359
  get: u
@@ -381,50 +379,50 @@ function ze() {
381
379
  value: Z
382
380
  }), Object.freeze && (Object.freeze(o.props), Object.freeze(o)), o;
383
381
  }
384
- function d(o, h, j, C, P, B, q, Z) {
385
- var k = h.children;
386
- if (k !== void 0)
387
- if (C)
388
- if (Ne(k)) {
389
- for (C = 0; C < k.length; C++)
390
- m(k[C]);
391
- Object.freeze && Object.freeze(k);
382
+ function d(o, h, j, k, D, _, q, Z) {
383
+ var C = h.children;
384
+ if (C !== void 0)
385
+ if (k)
386
+ if (pe(C)) {
387
+ for (k = 0; k < C.length; k++)
388
+ m(C[k]);
389
+ Object.freeze && Object.freeze(C);
392
390
  } else
393
391
  console.error(
394
392
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
395
393
  );
396
- else m(k);
397
- if (W.call(h, "key")) {
398
- k = r(o);
399
- var F = Object.keys(h).filter(function(ye) {
400
- return ye !== "key";
394
+ else m(C);
395
+ if (Y.call(h, "key")) {
396
+ C = r(o);
397
+ var z = Object.keys(h).filter(function(je) {
398
+ return je !== "key";
401
399
  });
402
- C = 0 < F.length ? "{key: someKey, " + F.join(": ..., ") + ": ...}" : "{key: someKey}", le[k + C] || (F = 0 < F.length ? "{" + F.join(": ..., ") + ": ...}" : "{}", console.error(
400
+ k = 0 < z.length ? "{key: someKey, " + z.join(": ..., ") + ": ...}" : "{key: someKey}", ne[C + k] || (z = 0 < z.length ? "{" + z.join(": ..., ") + ": ...}" : "{}", console.error(
403
401
  `A props object containing a "key" prop is being spread into JSX:
404
402
  let props = %s;
405
403
  <%s {...props} />
406
404
  React keys must be passed directly to JSX without using spread:
407
405
  let props = %s;
408
406
  <%s key={someKey} {...props} />`,
409
- C,
410
407
  k,
411
- F,
412
- k
413
- ), le[k + C] = !0);
408
+ C,
409
+ z,
410
+ C
411
+ ), ne[C + k] = !0);
414
412
  }
415
- if (k = null, j !== void 0 && (t(j), k = "" + j), i(h) && (t(h.key), k = "" + h.key), "key" in h) {
413
+ if (C = null, j !== void 0 && (t(j), C = "" + j), i(h) && (t(h.key), C = "" + h.key), "key" in h) {
416
414
  j = {};
417
415
  for (var K in h)
418
416
  K !== "key" && (j[K] = h[K]);
419
417
  } else j = h;
420
- return k && c(
418
+ return C && c(
421
419
  j,
422
420
  typeof o == "function" ? o.displayName || o.name || "Unknown" : o
423
- ), x(
421
+ ), f(
424
422
  o,
425
- k,
426
- B,
427
- P,
423
+ C,
424
+ _,
425
+ D,
428
426
  l(),
429
427
  j,
430
428
  q,
@@ -432,229 +430,59 @@ React keys must be passed directly to JSX without using spread:
432
430
  );
433
431
  }
434
432
  function m(o) {
435
- typeof o == "object" && o !== null && o.$$typeof === v && o._store && (o._store.validated = 1);
433
+ typeof o == "object" && o !== null && o.$$typeof === g && o._store && (o._store.validated = 1);
436
434
  }
437
- var f = z, v = Symbol.for("react.transitional.element"), g = Symbol.for("react.portal"), y = Symbol.for("react.fragment"), V = Symbol.for("react.strict_mode"), T = Symbol.for("react.profiler"), R = Symbol.for("react.consumer"), N = Symbol.for("react.context"), D = Symbol.for("react.forward_ref"), I = Symbol.for("react.suspense"), p = Symbol.for("react.suspense_list"), b = Symbol.for("react.memo"), w = Symbol.for("react.lazy"), A = Symbol.for("react.activity"), L = Symbol.for("react.client.reference"), M = f.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, W = Object.prototype.hasOwnProperty, Ne = Array.isArray, X = console.createTask ? console.createTask : function() {
435
+ var x = P, g = Symbol.for("react.transitional.element"), b = Symbol.for("react.portal"), y = Symbol.for("react.fragment"), E = Symbol.for("react.strict_mode"), V = Symbol.for("react.profiler"), R = Symbol.for("react.consumer"), N = Symbol.for("react.context"), O = Symbol.for("react.forward_ref"), L = Symbol.for("react.suspense"), p = Symbol.for("react.suspense_list"), v = Symbol.for("react.memo"), w = Symbol.for("react.lazy"), A = Symbol.for("react.activity"), M = Symbol.for("react.client.reference"), S = x.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, Y = Object.prototype.hasOwnProperty, pe = Array.isArray, X = console.createTask ? console.createTask : function() {
438
436
  return null;
439
437
  };
440
- f = {
438
+ x = {
441
439
  "react-stack-bottom-frame": function(o) {
442
440
  return o();
443
441
  }
444
442
  };
445
- var se, ae = {}, te = f["react-stack-bottom-frame"].bind(
446
- f,
443
+ var re, se = {}, ae = x["react-stack-bottom-frame"].bind(
444
+ x,
447
445
  n
448
- )(), ne = X(a(n)), le = {};
449
- Y.Fragment = y, Y.jsx = function(o, h, j, C, P) {
450
- var B = 1e4 > M.recentlyCreatedOwnerStacks++;
446
+ )(), te = X(a(n)), ne = {};
447
+ U.Fragment = y, U.jsx = function(o, h, j, k, D) {
448
+ var _ = 1e4 > S.recentlyCreatedOwnerStacks++;
451
449
  return d(
452
450
  o,
453
451
  h,
454
452
  j,
455
453
  !1,
456
- C,
457
- P,
458
- B ? Error("react-stack-top-frame") : te,
459
- B ? X(a(o)) : ne
454
+ k,
455
+ D,
456
+ _ ? Error("react-stack-top-frame") : ae,
457
+ _ ? X(a(o)) : te
460
458
  );
461
- }, Y.jsxs = function(o, h, j, C, P) {
462
- var B = 1e4 > M.recentlyCreatedOwnerStacks++;
459
+ }, U.jsxs = function(o, h, j, k, D) {
460
+ var _ = 1e4 > S.recentlyCreatedOwnerStacks++;
463
461
  return d(
464
462
  o,
465
463
  h,
466
464
  j,
467
465
  !0,
468
- C,
469
- P,
470
- B ? Error("react-stack-top-frame") : te,
471
- B ? X(a(o)) : ne
466
+ k,
467
+ D,
468
+ _ ? Error("react-stack-top-frame") : ae,
469
+ _ ? X(a(o)) : te
472
470
  );
473
471
  };
474
- }()), Y;
475
- }
476
- var ie;
477
- function Me() {
478
- return ie || (ie = 1, process.env.NODE_ENV === "production" ? H.exports = Pe() : H.exports = ze()), H.exports;
479
- }
480
- var e = Me();
481
- const Ie = {
482
- bg: "bg-indigo-600",
483
- activeBg: "bg-indigo-700",
484
- text: "text-indigo-200",
485
- activeText: "text-white",
486
- hoverBg: "hover:bg-indigo-700",
487
- hoverText: "hover:text-white"
488
- };
489
- function E(...r) {
490
- return r.filter(Boolean).join(" ");
491
- }
492
- function de({ item: r, colorScheme: s }) {
493
- const [t, a] = $(r.current || r.children?.some((n) => n.current)), l = r.children && r.children.length > 0;
494
- return /* @__PURE__ */ e.jsxs("li", { children: [
495
- /* @__PURE__ */ e.jsx("div", { children: /* @__PURE__ */ e.jsxs(
496
- "a",
497
- {
498
- href: l ? void 0 : r.href,
499
- onClick: (n) => {
500
- l && (n.preventDefault(), a(!t));
501
- },
502
- className: E(
503
- r.current ? `${s.activeBg} ${s.activeText}` : `${s.text} ${s.hoverBg} ${s.hoverText}`,
504
- "group flex items-center justify-between gap-x-3 rounded-md p-2 text-sm/6 font-semibold",
505
- l ? "cursor-pointer" : ""
506
- ),
507
- children: [
508
- /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-x-3", children: [
509
- /* @__PURE__ */ e.jsx(
510
- r.icon,
511
- {
512
- "aria-hidden": "true",
513
- className: E(
514
- r.current ? s.activeText : `${s.text} group-${s.hoverText}`,
515
- "size-6 shrink-0"
516
- )
517
- }
518
- ),
519
- r.name
520
- ] }),
521
- l && /* @__PURE__ */ e.jsx(
522
- re,
523
- {
524
- className: E(
525
- "size-5 shrink-0 transition-transform",
526
- t ? "rotate-180" : "",
527
- r.current ? s.activeText : s.text
528
- )
529
- }
530
- )
531
- ]
532
- }
533
- ) }),
534
- l && t && /* @__PURE__ */ e.jsx("ul", { className: "mt-1 ml-9 space-y-1", children: r.children.map((n) => /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsxs(
535
- "a",
536
- {
537
- href: n.href,
538
- className: E(
539
- n.current ? `${s.activeBg} ${s.activeText}` : `${s.text} ${s.hoverBg} ${s.hoverText}`,
540
- "group flex gap-x-3 rounded-md p-2 text-sm/6 font-semibold"
541
- ),
542
- children: [
543
- /* @__PURE__ */ e.jsx(
544
- n.icon,
545
- {
546
- "aria-hidden": "true",
547
- className: E(
548
- n.current ? s.activeText : `${s.text} group-${s.hoverText}`,
549
- "size-5 shrink-0"
550
- )
551
- }
552
- ),
553
- n.name
554
- ]
555
- }
556
- ) }, n.name)) })
557
- ] });
472
+ }()), U;
558
473
  }
559
- function pr({ company: r, profile: s, navigation: t, colorScheme: a = Ie }) {
560
- const [l, n] = $(!1);
561
- return /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsxs("div", { children: [
562
- /* @__PURE__ */ e.jsxs($e, { open: l, onClose: n, className: "relative z-50 lg:hidden", children: [
563
- /* @__PURE__ */ e.jsx(
564
- Te,
565
- {
566
- transition: !0,
567
- className: "fixed inset-0 bg-gray-900/80 transition-opacity duration-300 ease-linear data-closed:opacity-0"
568
- }
569
- ),
570
- /* @__PURE__ */ e.jsx("div", { className: "fixed inset-0 flex", children: /* @__PURE__ */ e.jsxs(
571
- Ee,
572
- {
573
- transition: !0,
574
- className: "relative mr-16 flex w-full max-w-xs flex-1 transform transition duration-300 ease-in-out data-closed:-translate-x-full",
575
- children: [
576
- /* @__PURE__ */ e.jsx(Re, { children: /* @__PURE__ */ e.jsx("div", { className: "absolute top-0 left-full flex w-16 justify-center pt-5 duration-300 ease-in-out data-closed:opacity-0", children: /* @__PURE__ */ e.jsxs("button", { type: "button", onClick: () => n(!1), className: "-m-2.5 p-2.5", children: [
577
- /* @__PURE__ */ e.jsx("span", { className: "sr-only", children: "Close sidebar" }),
578
- /* @__PURE__ */ e.jsx(Ae, { "aria-hidden": "true", className: "size-6 text-white" })
579
- ] }) }) }),
580
- /* @__PURE__ */ e.jsxs("div", { className: E("flex grow flex-col gap-y-5 overflow-y-auto px-6 pb-2", a.bg), children: [
581
- /* @__PURE__ */ e.jsx("div", { className: "flex h-16 shrink-0 items-center", children: /* @__PURE__ */ e.jsx(
582
- "img",
583
- {
584
- alt: r.name,
585
- src: r.logo,
586
- className: "h-8 w-auto"
587
- }
588
- ) }),
589
- /* @__PURE__ */ e.jsx("nav", { className: "flex flex-1 flex-col", children: /* @__PURE__ */ e.jsx("ul", { role: "list", className: "flex flex-1 flex-col gap-y-7", children: /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("ul", { role: "list", className: "-mx-2 space-y-1", children: t.map((i) => /* @__PURE__ */ e.jsx(de, { item: i, colorScheme: a }, i.name)) }) }) }) })
590
- ] })
591
- ]
592
- }
593
- ) })
594
- ] }),
595
- /* @__PURE__ */ e.jsx("div", { className: "hidden lg:fixed lg:inset-y-0 lg:z-50 lg:flex lg:w-72 lg:flex-col", children: /* @__PURE__ */ e.jsxs("div", { className: E("flex grow flex-col gap-y-5 overflow-y-auto px-6", a.bg), children: [
596
- /* @__PURE__ */ e.jsx("div", { className: "flex h-16 shrink-0 items-center", children: /* @__PURE__ */ e.jsx(
597
- "img",
598
- {
599
- alt: r.name,
600
- src: r.logo,
601
- className: "h-8 w-auto"
602
- }
603
- ) }),
604
- /* @__PURE__ */ e.jsx("nav", { className: "flex flex-1 flex-col", children: /* @__PURE__ */ e.jsxs("ul", { role: "list", className: "flex flex-1 flex-col gap-y-7", children: [
605
- /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("ul", { role: "list", className: "-mx-2 space-y-1", children: t.map((i) => /* @__PURE__ */ e.jsx(de, { item: i, colorScheme: a }, i.name)) }) }),
606
- /* @__PURE__ */ e.jsx("li", { className: "-mx-6 mt-auto", children: /* @__PURE__ */ e.jsxs(
607
- "a",
608
- {
609
- href: "#",
610
- className: E(
611
- "flex items-center gap-x-4 px-6 py-3 text-sm/6 font-semibold",
612
- a.activeText,
613
- a.hoverBg
614
- ),
615
- children: [
616
- /* @__PURE__ */ e.jsx(
617
- "img",
618
- {
619
- alt: s.name,
620
- src: s.image,
621
- className: E("size-8 rounded-full", a.activeBg)
622
- }
623
- ),
624
- /* @__PURE__ */ e.jsx("span", { className: "sr-only", children: "Your profile" }),
625
- /* @__PURE__ */ e.jsx("span", { "aria-hidden": "true", children: s.name })
626
- ]
627
- }
628
- ) })
629
- ] }) })
630
- ] }) }),
631
- /* @__PURE__ */ e.jsxs("div", { className: E("sticky top-0 z-40 flex items-center gap-x-6 px-4 py-4 shadow-xs sm:px-6 lg:hidden", a.bg), children: [
632
- /* @__PURE__ */ e.jsxs("button", { type: "button", onClick: () => n(!0), className: E("-m-2.5 p-2.5 lg:hidden", a.text), children: [
633
- /* @__PURE__ */ e.jsx("span", { className: "sr-only", children: "Open sidebar" }),
634
- /* @__PURE__ */ e.jsx(_e, { "aria-hidden": "true", className: "size-6" })
635
- ] }),
636
- /* @__PURE__ */ e.jsx("div", { className: E("flex-1 text-sm/6 font-semibold", a.activeText), children: "Dashboard" }),
637
- /* @__PURE__ */ e.jsxs("a", { href: "#", children: [
638
- /* @__PURE__ */ e.jsx("span", { className: "sr-only", children: "Your profile" }),
639
- /* @__PURE__ */ e.jsx(
640
- "img",
641
- {
642
- alt: s.name,
643
- src: s.image,
644
- className: E("size-8 rounded-full", a.activeBg)
645
- }
646
- )
647
- ] })
648
- ] })
649
- ] }) });
474
+ var ce;
475
+ function Oe() {
476
+ return ce || (ce = 1, process.env.NODE_ENV === "production" ? W.exports = _e() : W.exports = Be()), W.exports;
650
477
  }
651
- const je = (r) => r.replace("--color-", "bg-"), Le = ({ name: r, cssVar: s, value: t }) => {
478
+ var e = Oe();
479
+ const ge = (r) => r.replace("--color-", "bg-"), De = ({ name: r, cssVar: s, value: t }) => {
652
480
  const a = `rgb(${t})`;
653
481
  return /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col items-center space-y-2 p-3 rounded-lg border border-border-subtle bg-surface hover:bg-surface-variant transition-colors", children: [
654
482
  /* @__PURE__ */ e.jsx(
655
483
  "div",
656
484
  {
657
- className: `w-16 h-16 rounded-lg border border-border shadow-sm ${je(s)}`
485
+ className: `w-16 h-16 rounded-lg border border-border shadow-sm ${ge(s)}`
658
486
  }
659
487
  ),
660
488
  /* @__PURE__ */ e.jsxs("div", { className: "text-center", children: [
@@ -663,10 +491,10 @@ const je = (r) => r.replace("--color-", "bg-"), Le = ({ name: r, cssVar: s, valu
663
491
  /* @__PURE__ */ e.jsx("div", { className: "text-xs text-text-secondary", children: a })
664
492
  ] })
665
493
  ] });
666
- }, ue = ({ title: r, colors: s }) => /* @__PURE__ */ e.jsxs("div", { className: "space-y-4", children: [
494
+ }, ie = ({ title: r, colors: s }) => /* @__PURE__ */ e.jsxs("div", { className: "space-y-4", children: [
667
495
  /* @__PURE__ */ e.jsx("h3", { className: "text-lg font-semibold text-text-primary border-b border-border-subtle pb-2", children: r }),
668
- /* @__PURE__ */ e.jsx("div", { className: "grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 xl:grid-cols-11 gap-4", children: s.map((t) => /* @__PURE__ */ e.jsx(Le, { ...t }, t.name)) })
669
- ] }), Fe = () => {
496
+ /* @__PURE__ */ e.jsx("div", { className: "grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 xl:grid-cols-11 gap-4", children: s.map((t) => /* @__PURE__ */ e.jsx(De, { ...t }, t.name)) })
497
+ ] }), Pe = () => {
670
498
  const r = [
671
499
  {
672
500
  title: "Success Colors (Green)",
@@ -882,15 +710,15 @@ const je = (r) => r.replace("--color-", "bg-"), Le = ({ name: r, cssVar: s, valu
882
710
  /* @__PURE__ */ e.jsx("h1", { className: "text-3xl font-bold text-text-primary", children: "AceMyJob Color Palette" }),
883
711
  /* @__PURE__ */ e.jsx("p", { className: "text-text-secondary", children: "Your complete design system color reference" })
884
712
  ] }),
885
- s.map((a) => /* @__PURE__ */ e.jsx(ue, { ...a }, a.title)),
886
- r.map((a) => /* @__PURE__ */ e.jsx(ue, { ...a }, a.title)),
713
+ s.map((a) => /* @__PURE__ */ e.jsx(ie, { ...a }, a.title)),
714
+ r.map((a) => /* @__PURE__ */ e.jsx(ie, { ...a }, a.title)),
887
715
  /* @__PURE__ */ e.jsxs("div", { className: "space-y-4", children: [
888
716
  /* @__PURE__ */ e.jsx("h3", { className: "text-lg font-semibold text-text-primary border-b border-border-subtle pb-2", children: "Semantic Colors (Theme-aware)" }),
889
717
  /* @__PURE__ */ e.jsx("div", { className: "grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-4", children: t.map((a) => /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col items-center space-y-2 p-3 rounded-lg border border-border-subtle bg-surface hover:bg-surface-variant transition-colors", children: [
890
718
  /* @__PURE__ */ e.jsx(
891
719
  "div",
892
720
  {
893
- className: `w-16 h-16 rounded-lg border border-border shadow-sm ${je(a.cssVar)}`
721
+ className: `w-16 h-16 rounded-lg border border-border shadow-sm ${ge(a.cssVar)}`
894
722
  }
895
723
  ),
896
724
  /* @__PURE__ */ e.jsxs("div", { className: "text-center", children: [
@@ -901,41 +729,41 @@ const je = (r) => r.replace("--color-", "bg-"), Le = ({ name: r, cssVar: s, valu
901
729
  ] }),
902
730
  /* @__PURE__ */ e.jsx("div", { className: "text-center pt-8 border-t border-border-subtle", children: /* @__PURE__ */ e.jsx("p", { className: "text-text-muted text-sm", children: "Toggle between light and dark themes to see how semantic colors adapt" }) })
903
731
  ] });
904
- }, we = Ce(void 0), Ue = ({
732
+ }, be = we(void 0), Se = ({
905
733
  children: r,
906
734
  defaultTheme: s = "system",
907
735
  storageKey: t = "acemyjob-ui-theme"
908
736
  }) => {
909
- const [a, l] = $(s), [n, i] = $("light"), [c, u] = $(!1);
737
+ const [a, l] = T(s), [n, i] = T("light"), [c, u] = T(!1);
910
738
  J(() => {
911
739
  const d = localStorage.getItem(t);
912
740
  d && l(d), u(!0);
913
741
  }, [t]), J(() => {
914
742
  if (!c) return;
915
743
  const d = window.document.documentElement, m = () => {
916
- let f;
917
- a === "system" ? f = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : f = a, i(f), d.classList.remove("light", "dark"), d.classList.add(f);
744
+ let x;
745
+ a === "system" ? x = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : x = a, i(x), d.classList.remove("light", "dark"), d.classList.add(x);
918
746
  };
919
747
  if (m(), a === "system") {
920
- const f = window.matchMedia("(prefers-color-scheme: dark)"), v = () => m();
921
- return f.addEventListener("change", v), () => f.removeEventListener("change", v);
748
+ const x = window.matchMedia("(prefers-color-scheme: dark)"), g = () => m();
749
+ return x.addEventListener("change", g), () => x.removeEventListener("change", g);
922
750
  }
923
751
  }, [a, c]);
924
- const x = {
752
+ const f = {
925
753
  theme: a,
926
754
  setTheme: (d) => {
927
755
  localStorage.setItem(t, d), l(d);
928
756
  },
929
757
  resolvedTheme: n
930
758
  };
931
- return /* @__PURE__ */ e.jsx(we.Provider, { value: x, children: r });
932
- }, Ye = () => {
933
- const r = ke(we);
759
+ return /* @__PURE__ */ e.jsx(be.Provider, { value: f, children: r });
760
+ }, Le = () => {
761
+ const r = Ne(be);
934
762
  if (r === void 0)
935
763
  throw new Error("useTheme must be used within a ThemeProvider");
936
764
  return r;
937
- }, We = () => {
938
- const { theme: r, setTheme: s } = Ye(), [t, a] = $(!1);
765
+ }, Me = () => {
766
+ const { theme: r, setTheme: s } = Le(), [t, a] = T(!1);
939
767
  if (J(() => {
940
768
  a(!0);
941
769
  }, []), !t)
@@ -983,72 +811,269 @@ const je = (r) => r.replace("--color-", "bg-"), Le = ({ name: r, cssVar: s, valu
983
811
  ]
984
812
  }
985
813
  );
986
- }, He = () => /* @__PURE__ */ e.jsxs("div", { className: "relative", children: [
987
- /* @__PURE__ */ e.jsx("div", { className: "fixed top-4 right-4 z-10", children: /* @__PURE__ */ e.jsx(We, {}) }),
988
- /* @__PURE__ */ e.jsx(Fe, {})
989
- ] }), jr = () => /* @__PURE__ */ e.jsx(Ue, { defaultTheme: "system", storageKey: "acemyjob-demo-theme", children: /* @__PURE__ */ e.jsx(He, {}) }), me = {
990
- variant: {
991
- default: "bg-reseda-green-500 text-white hover:bg-reseda-green-600 focus-visible:ring-reseda-green-500",
992
- destructive: "bg-error-500 text-white hover:bg-error-600 focus-visible:ring-error-500",
993
- outline: "border border-border bg-background hover:bg-surface-variant hover:text-text-primary focus-visible:ring-reseda-green-500",
994
- secondary: "bg-khaki-500 text-white hover:bg-khaki-600 focus-visible:ring-khaki-500",
995
- ghost: "hover:bg-surface-variant hover:text-text-primary focus-visible:ring-reseda-green-500",
996
- link: "text-reseda-green-500 underline-offset-4 hover:underline focus-visible:ring-reseda-green-500",
997
- none: ""
998
- // No default styles, allows full customization
999
- },
1000
- size: {
1001
- default: "h-10 px-4 py-2",
1002
- sm: "h-9 rounded-md px-3",
1003
- lg: "h-11 rounded-md px-8",
1004
- xl: "h-12 rounded-md px-10 text-base",
1005
- icon: "h-10 w-10"
814
+ }, ze = () => /* @__PURE__ */ e.jsxs("div", { className: "relative", children: [
815
+ /* @__PURE__ */ e.jsx("div", { className: "fixed top-4 right-4 z-10", children: /* @__PURE__ */ e.jsx(Me, {}) }),
816
+ /* @__PURE__ */ e.jsx(Pe, {})
817
+ ] }), dr = () => /* @__PURE__ */ e.jsx(Se, { defaultTheme: "system", storageKey: "acemyjob-demo-theme", children: /* @__PURE__ */ e.jsx(ze, {}) });
818
+ function ur({
819
+ label: r,
820
+ children: s,
821
+ helperText: t,
822
+ errorText: a,
823
+ required: l = !1,
824
+ className: n = ""
825
+ }) {
826
+ return /* @__PURE__ */ e.jsxs("div", { className: `space-y-2 ${n}`, children: [
827
+ /* @__PURE__ */ e.jsxs("label", { className: "block text-sm font-medium text-text-primary", children: [
828
+ r,
829
+ l && /* @__PURE__ */ e.jsx("span", { className: "text-error-500 ml-1", children: "*" })
830
+ ] }),
831
+ s,
832
+ a && /* @__PURE__ */ e.jsx("p", { className: "text-xs text-error-600", children: a }),
833
+ t && !a && /* @__PURE__ */ e.jsx("p", { className: "text-xs text-text-muted", children: t })
834
+ ] });
835
+ }
836
+ const Fe = P.forwardRef(
837
+ ({
838
+ className: r = "",
839
+ leftIcon: s,
840
+ rightIcon: t,
841
+ error: a = !1,
842
+ fullWidth: l = !0,
843
+ disabled: n,
844
+ ...i
845
+ }, c) => {
846
+ const u = "px-3 py-2 border rounded-lg transition-colors text-sm", f = a ? "border-error-300 focus:ring-2 focus:ring-error-500 focus:border-transparent" : "border-border focus:ring-2 focus:ring-reseda-green-500 focus:border-transparent", d = n ? "bg-surface-variant text-text-muted cursor-not-allowed" : "bg-surface text-text-primary", m = l ? "w-full" : "", x = s || t ? "relative flex items-center" : "", g = `${u} ${f} ${d} ${m} ${s ? "pl-10" : ""} ${t ? "pr-10" : ""} ${r}`;
847
+ return /* @__PURE__ */ e.jsxs("div", { className: x, children: [
848
+ s && /* @__PURE__ */ e.jsx("div", { className: "absolute left-3 flex items-center pointer-events-none text-text-muted", children: s }),
849
+ /* @__PURE__ */ e.jsx(
850
+ "input",
851
+ {
852
+ ref: c,
853
+ className: g,
854
+ disabled: n,
855
+ ...i
856
+ }
857
+ ),
858
+ t && /* @__PURE__ */ e.jsx("div", { className: "absolute right-3 flex items-center pointer-events-none text-text-muted", children: t })
859
+ ] });
1006
860
  }
1007
- }, Ge = "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", Je = (...r) => r.filter(Boolean).join(" "), S = z.forwardRef(
861
+ );
862
+ Fe.displayName = "Input";
863
+ const Ie = P.forwardRef(
1008
864
  ({
1009
- className: r,
1010
- variant: s = "default",
1011
- size: t = "default",
1012
- fullWidth: a = !1,
1013
- loading: l = !1,
1014
- leftIcon: n,
1015
- rightIcon: i,
1016
- children: c,
1017
- disabled: u,
1018
- ...x
1019
- }, d) => {
1020
- const m = u || l, f = Je(
1021
- Ge,
1022
- me.variant[s],
1023
- me.size[t],
1024
- a ? "w-full" : "",
1025
- r
1026
- );
1027
- return /* @__PURE__ */ e.jsxs(
1028
- "button",
1029
- {
1030
- className: f,
1031
- ref: d,
1032
- disabled: m,
1033
- ...x,
1034
- children: [
1035
- l && /* @__PURE__ */ e.jsxs(
1036
- "svg",
1037
- {
1038
- className: "mr-2 h-4 w-4 animate-spin",
1039
- xmlns: "http://www.w3.org/2000/svg",
1040
- fill: "none",
1041
- viewBox: "0 0 24 24",
1042
- children: [
1043
- /* @__PURE__ */ e.jsx(
1044
- "circle",
1045
- {
1046
- className: "opacity-25",
1047
- cx: "12",
1048
- cy: "12",
1049
- r: "10",
1050
- stroke: "currentColor",
1051
- strokeWidth: "4"
865
+ options: r,
866
+ placeholder: s,
867
+ className: t = "",
868
+ error: a = !1,
869
+ fullWidth: l = !0,
870
+ disabled: n,
871
+ ...i
872
+ }, c) => {
873
+ const x = `px-3 py-2 border rounded-lg transition-colors text-sm appearance-none ${a ? "border-error-300 focus:ring-2 focus:ring-error-500 focus:border-transparent" : "border-border focus:ring-2 focus:ring-reseda-green-500 focus:border-transparent"} ${n ? "bg-surface-variant text-text-muted cursor-not-allowed" : "bg-surface text-text-primary"} ${l ? "w-full" : ""} pr-10 ${t}`;
874
+ return /* @__PURE__ */ e.jsxs("div", { className: "relative flex items-center", children: [
875
+ /* @__PURE__ */ e.jsxs(
876
+ "select",
877
+ {
878
+ ref: c,
879
+ className: x,
880
+ disabled: n,
881
+ ...i,
882
+ children: [
883
+ s && /* @__PURE__ */ e.jsx("option", { value: "", disabled: !0, children: s }),
884
+ r.map((g) => /* @__PURE__ */ e.jsx("option", { value: g.value, children: g.label }, g.value))
885
+ ]
886
+ }
887
+ ),
888
+ /* @__PURE__ */ e.jsx(ee, { className: "absolute right-3 w-4 h-4 text-text-muted pointer-events-none" })
889
+ ] });
890
+ }
891
+ );
892
+ Ie.displayName = "Select";
893
+ function Ue({
894
+ title: r,
895
+ titleId: s,
896
+ ...t
897
+ }, a) {
898
+ return /* @__PURE__ */ G.createElement("svg", Object.assign({
899
+ xmlns: "http://www.w3.org/2000/svg",
900
+ viewBox: "0 0 20 20",
901
+ fill: "currentColor",
902
+ "aria-hidden": "true",
903
+ "data-slot": "icon",
904
+ ref: a,
905
+ "aria-labelledby": s
906
+ }, t), r ? /* @__PURE__ */ G.createElement("title", {
907
+ id: s
908
+ }, r) : null, /* @__PURE__ */ G.createElement("path", {
909
+ d: "M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z"
910
+ }));
911
+ }
912
+ const Ye = /* @__PURE__ */ G.forwardRef(Ue);
913
+ function We({
914
+ children: r,
915
+ variant: s = "default",
916
+ size: t = "md",
917
+ removable: a = !1,
918
+ onRemove: l,
919
+ className: n = "",
920
+ style: i,
921
+ colorClass: c
922
+ }) {
923
+ const u = {
924
+ default: "bg-surface-variant text-text-secondary",
925
+ success: "bg-success-50 text-success-700",
926
+ error: "bg-error-50 text-error-700",
927
+ warning: "bg-warning-50 text-warning-700",
928
+ info: "bg-info-50 text-info-700"
929
+ }, f = {
930
+ sm: "px-2 py-0.5 text-xs",
931
+ md: "px-3 py-1 text-sm",
932
+ lg: "px-4 py-1.5 text-base"
933
+ }, d = c || u[s];
934
+ return /* @__PURE__ */ e.jsxs(
935
+ "span",
936
+ {
937
+ className: `inline-flex items-center gap-1 rounded-full ${d} ${f[t]} ${n}`,
938
+ style: i,
939
+ children: [
940
+ r,
941
+ a && l && /* @__PURE__ */ e.jsx(
942
+ "button",
943
+ {
944
+ onClick: l,
945
+ className: "ml-1 hover:opacity-70",
946
+ "aria-label": "Remove badge",
947
+ children: /* @__PURE__ */ e.jsx(Ye, { className: "w-3 h-3" })
948
+ }
949
+ )
950
+ ]
951
+ }
952
+ );
953
+ }
954
+ const He = P.forwardRef(
955
+ ({
956
+ tags: r,
957
+ onTagsChange: s,
958
+ onAddTag: t,
959
+ onRemoveTag: a,
960
+ placeholder: l = "Add a tag and press Enter",
961
+ error: n = !1,
962
+ fullWidth: i = !0,
963
+ maxTags: c,
964
+ duplicateCheck: u = !0,
965
+ disabled: f,
966
+ className: d = "",
967
+ ...m
968
+ }, x) => {
969
+ const [g, b] = T(""), y = (v) => {
970
+ v.key === "Enter" && g.trim() ? (v.preventDefault(), E(g.trim())) : v.key === "Backspace" && !g && r.length > 0 && V(r[r.length - 1]);
971
+ }, E = (v) => {
972
+ if (c && r.length >= c || u && r.includes(v))
973
+ return;
974
+ const w = [...r, v];
975
+ s(w), t?.(v), b("");
976
+ }, V = (v) => {
977
+ const w = r.filter((A) => A !== v);
978
+ s(w), a?.(v);
979
+ }, p = `w-full px-3 py-2 border rounded-lg transition-colors text-sm ${n ? "border-error-300 focus:ring-2 focus:ring-error-500 focus:border-transparent" : "border-border focus:ring-2 focus:ring-reseda-green-500 focus:border-transparent"} ${f ? "bg-surface-variant text-text-muted cursor-not-allowed" : "bg-surface text-text-primary"} ${i ? "w-full" : ""} ${d}`;
980
+ return /* @__PURE__ */ e.jsxs("div", { className: "space-y-2", children: [
981
+ /* @__PURE__ */ e.jsx("div", { className: "flex flex-wrap gap-2 mb-2", children: r.map((v) => /* @__PURE__ */ e.jsx(
982
+ We,
983
+ {
984
+ removable: !0,
985
+ onRemove: () => V(v),
986
+ variant: "default",
987
+ children: v
988
+ },
989
+ v
990
+ )) }),
991
+ /* @__PURE__ */ e.jsx(
992
+ "input",
993
+ {
994
+ ref: x,
995
+ type: "text",
996
+ className: p,
997
+ placeholder: l,
998
+ value: g,
999
+ onChange: (v) => b(v.target.value),
1000
+ onKeyDown: y,
1001
+ disabled: f || (c ? r.length >= c : !1),
1002
+ ...m
1003
+ }
1004
+ ),
1005
+ c && /* @__PURE__ */ e.jsxs("p", { className: "text-xs text-text-muted", children: [
1006
+ r.length,
1007
+ " / ",
1008
+ c
1009
+ ] })
1010
+ ] });
1011
+ }
1012
+ );
1013
+ He.displayName = "TagInput";
1014
+ const de = {
1015
+ variant: {
1016
+ default: "bg-reseda-green-500 text-white hover:bg-reseda-green-600 focus-visible:ring-reseda-green-500",
1017
+ destructive: "bg-error-500 text-white hover:bg-error-600 focus-visible:ring-error-500",
1018
+ outline: "border border-border bg-background hover:bg-surface-variant hover:text-text-primary focus-visible:ring-reseda-green-500",
1019
+ secondary: "bg-khaki-500 text-white hover:bg-khaki-600 focus-visible:ring-khaki-500",
1020
+ ghost: "hover:bg-surface-variant hover:text-text-primary focus-visible:ring-reseda-green-500",
1021
+ link: "text-reseda-green-500 underline-offset-4 hover:underline focus-visible:ring-reseda-green-500",
1022
+ none: ""
1023
+ // No default styles, allows full customization
1024
+ },
1025
+ size: {
1026
+ default: "h-10 px-4 py-2",
1027
+ sm: "h-9 rounded-md px-3",
1028
+ lg: "h-11 rounded-md px-8",
1029
+ xl: "h-12 rounded-md px-10 text-base",
1030
+ icon: "h-10 w-10"
1031
+ }
1032
+ }, Ge = "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", Je = (...r) => r.filter(Boolean).join(" "), F = P.forwardRef(
1033
+ ({
1034
+ className: r,
1035
+ variant: s = "default",
1036
+ size: t = "default",
1037
+ fullWidth: a = !1,
1038
+ loading: l = !1,
1039
+ leftIcon: n,
1040
+ rightIcon: i,
1041
+ children: c,
1042
+ disabled: u,
1043
+ ...f
1044
+ }, d) => {
1045
+ const m = u || l, x = Je(
1046
+ Ge,
1047
+ de.variant[s],
1048
+ de.size[t],
1049
+ a ? "w-full" : "",
1050
+ r
1051
+ );
1052
+ return /* @__PURE__ */ e.jsxs(
1053
+ "button",
1054
+ {
1055
+ className: x,
1056
+ ref: d,
1057
+ disabled: m,
1058
+ ...f,
1059
+ children: [
1060
+ l && /* @__PURE__ */ e.jsxs(
1061
+ "svg",
1062
+ {
1063
+ className: "mr-2 h-4 w-4 animate-spin",
1064
+ xmlns: "http://www.w3.org/2000/svg",
1065
+ fill: "none",
1066
+ viewBox: "0 0 24 24",
1067
+ children: [
1068
+ /* @__PURE__ */ e.jsx(
1069
+ "circle",
1070
+ {
1071
+ className: "opacity-25",
1072
+ cx: "12",
1073
+ cy: "12",
1074
+ r: "10",
1075
+ stroke: "currentColor",
1076
+ strokeWidth: "4"
1052
1077
  }
1053
1078
  ),
1054
1079
  /* @__PURE__ */ e.jsx(
@@ -1070,8 +1095,8 @@ const je = (r) => r.replace("--color-", "bg-"), Le = ({ name: r, cssVar: s, valu
1070
1095
  );
1071
1096
  }
1072
1097
  );
1073
- S.displayName = "Button";
1074
- const xe = {
1098
+ F.displayName = "Button";
1099
+ const ue = {
1075
1100
  provider: {
1076
1101
  linkedin: "bg-[#0077B5] hover:bg-[#005885] text-white focus-visible:ring-[#0077B5]"
1077
1102
  },
@@ -1080,7 +1105,7 @@ const xe = {
1080
1105
  right: "flex-row-reverse",
1081
1106
  only: "justify-center"
1082
1107
  }
1083
- }, Xe = (...r) => r.filter(Boolean).join(" "), qe = z.forwardRef(
1108
+ }, Xe = (...r) => r.filter(Boolean).join(" "), qe = P.forwardRef(
1084
1109
  ({
1085
1110
  className: r,
1086
1111
  provider: s,
@@ -1091,23 +1116,23 @@ const xe = {
1091
1116
  size: i = "default",
1092
1117
  fullWidth: c = !0,
1093
1118
  ...u
1094
- }, x) => {
1119
+ }, f) => {
1095
1120
  const m = a || {
1096
1121
  linkedin: /* @__PURE__ */ e.jsx("svg", { className: "w-5 h-5", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ e.jsx("path", { d: "M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" }) })
1097
- }[s], v = n || (l ? {
1122
+ }[s], g = n || (l ? {
1098
1123
  linkedin: "Continue with LinkedIn"
1099
- }[s] : ""), g = Xe(
1124
+ }[s] : ""), b = Xe(
1100
1125
  "relative overflow-hidden transition-all duration-200",
1101
- xe.provider[s],
1102
- xe.iconPosition[t],
1126
+ ue.provider[s],
1127
+ ue.iconPosition[t],
1103
1128
  r
1104
1129
  );
1105
1130
  return /* @__PURE__ */ e.jsxs(
1106
- S,
1131
+ F,
1107
1132
  {
1108
- ref: x,
1133
+ ref: f,
1109
1134
  variant: "none",
1110
- className: g,
1135
+ className: b,
1111
1136
  size: i,
1112
1137
  fullWidth: c,
1113
1138
  leftIcon: t === "left" ? m : void 0,
@@ -1115,61 +1140,14 @@ const xe = {
1115
1140
  ...u,
1116
1141
  children: [
1117
1142
  t === "only" && m,
1118
- t !== "only" && v
1143
+ t !== "only" && g
1119
1144
  ]
1120
1145
  }
1121
1146
  );
1122
1147
  }
1123
1148
  );
1124
1149
  qe.displayName = "SocialButton";
1125
- function wr({
1126
- children: r,
1127
- variant: s = "default",
1128
- isActive: t = !1,
1129
- onClick: a,
1130
- className: l = ""
1131
- }) {
1132
- const n = "rounded-lg transition-all", i = {
1133
- default: "border border-border p-4",
1134
- surface: "bg-surface-variant p-4",
1135
- elevated: "bg-surface shadow-md p-6",
1136
- interactive: `border-2 p-4 cursor-pointer ${t ? "border-success-500 bg-success-50" : "border-border bg-surface hover:border-border-subtle"}`
1137
- };
1138
- return /* @__PURE__ */ e.jsx(
1139
- "div",
1140
- {
1141
- className: `${n} ${i[s]} ${l}`,
1142
- onClick: a,
1143
- role: a ? "button" : void 0,
1144
- tabIndex: a ? 0 : void 0,
1145
- onKeyDown: a ? (c) => {
1146
- (c.key === "Enter" || c.key === " ") && a();
1147
- } : void 0,
1148
- children: r
1149
- }
1150
- );
1151
- }
1152
- function Nr({
1153
- title: r,
1154
- children: s,
1155
- subtitle: t,
1156
- spacing: a = "normal",
1157
- className: l = ""
1158
- }) {
1159
- const n = {
1160
- compact: "space-y-3",
1161
- normal: "space-y-6",
1162
- spacious: "space-y-8"
1163
- };
1164
- return /* @__PURE__ */ e.jsxs("div", { className: `${n[a]} ${l}`, children: [
1165
- /* @__PURE__ */ e.jsxs("div", { children: [
1166
- /* @__PURE__ */ e.jsx("h3", { className: "text-lg font-semibold text-text-primary", children: r }),
1167
- t && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-text-secondary mt-1", children: t })
1168
- ] }),
1169
- s
1170
- ] });
1171
- }
1172
- function G({
1150
+ function H({
1173
1151
  variant: r,
1174
1152
  title: s,
1175
1153
  message: t,
@@ -1182,25 +1160,25 @@ function G({
1182
1160
  bg: "bg-success-50",
1183
1161
  border: "border-success-200",
1184
1162
  text: "text-success-700",
1185
- icon: /* @__PURE__ */ e.jsx(pe, { className: "h-5 w-5" })
1163
+ icon: /* @__PURE__ */ e.jsx(ve, { className: "h-5 w-5" })
1186
1164
  },
1187
1165
  error: {
1188
1166
  bg: "bg-error-50",
1189
1167
  border: "border-error-200",
1190
1168
  text: "text-error-700",
1191
- icon: /* @__PURE__ */ e.jsx(be, { className: "h-5 w-5" })
1169
+ icon: /* @__PURE__ */ e.jsx(he, { className: "h-5 w-5" })
1192
1170
  },
1193
1171
  warning: {
1194
1172
  bg: "bg-warning-50",
1195
1173
  border: "border-warning-200",
1196
1174
  text: "text-warning-700",
1197
- icon: /* @__PURE__ */ e.jsx(ge, { className: "h-5 w-5" })
1175
+ icon: /* @__PURE__ */ e.jsx(fe, { className: "h-5 w-5" })
1198
1176
  },
1199
1177
  info: {
1200
1178
  bg: "bg-info-50",
1201
1179
  border: "border-info-200",
1202
1180
  text: "text-info-700",
1203
- icon: /* @__PURE__ */ e.jsx(ve, { className: "h-5 w-5" })
1181
+ icon: /* @__PURE__ */ e.jsx(xe, { className: "h-5 w-5" })
1204
1182
  }
1205
1183
  }[r];
1206
1184
  return /* @__PURE__ */ e.jsx(
@@ -1227,351 +1205,181 @@ function G({
1227
1205
  }
1228
1206
  );
1229
1207
  }
1230
- function Ze({
1231
- title: r,
1232
- titleId: s,
1233
- ...t
1234
- }, a) {
1235
- return /* @__PURE__ */ _.createElement("svg", Object.assign({
1236
- xmlns: "http://www.w3.org/2000/svg",
1237
- viewBox: "0 0 20 20",
1238
- fill: "currentColor",
1239
- "aria-hidden": "true",
1240
- "data-slot": "icon",
1241
- ref: a,
1242
- "aria-labelledby": s
1243
- }, t), r ? /* @__PURE__ */ _.createElement("title", {
1244
- id: s
1245
- }, r) : null, /* @__PURE__ */ _.createElement("path", {
1246
- fillRule: "evenodd",
1247
- d: "M2 6.75A.75.75 0 0 1 2.75 6h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 6.75Zm0 6.5a.75.75 0 0 1 .75-.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75Z",
1248
- clipRule: "evenodd"
1249
- }));
1250
- }
1251
- const fe = /* @__PURE__ */ _.forwardRef(Ze);
1252
- function Ke({
1253
- title: r,
1254
- titleId: s,
1255
- ...t
1256
- }, a) {
1257
- return /* @__PURE__ */ _.createElement("svg", Object.assign({
1258
- xmlns: "http://www.w3.org/2000/svg",
1259
- viewBox: "0 0 20 20",
1260
- fill: "currentColor",
1261
- "aria-hidden": "true",
1262
- "data-slot": "icon",
1263
- ref: a,
1264
- "aria-labelledby": s
1265
- }, t), r ? /* @__PURE__ */ _.createElement("title", {
1266
- id: s
1267
- }, r) : null, /* @__PURE__ */ _.createElement("path", {
1268
- fillRule: "evenodd",
1269
- d: "M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",
1270
- clipRule: "evenodd"
1271
- }));
1272
- }
1273
- const he = /* @__PURE__ */ _.forwardRef(Ke);
1274
- function Qe({
1275
- title: r,
1276
- titleId: s,
1277
- ...t
1278
- }, a) {
1279
- return /* @__PURE__ */ _.createElement("svg", Object.assign({
1280
- xmlns: "http://www.w3.org/2000/svg",
1281
- viewBox: "0 0 20 20",
1282
- fill: "currentColor",
1283
- "aria-hidden": "true",
1284
- "data-slot": "icon",
1285
- ref: a,
1286
- "aria-labelledby": s
1287
- }, t), r ? /* @__PURE__ */ _.createElement("title", {
1288
- id: s
1289
- }, r) : null, /* @__PURE__ */ _.createElement("path", {
1290
- d: "M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z"
1291
- }));
1292
- }
1293
- const ee = /* @__PURE__ */ _.forwardRef(Qe);
1294
- function er({
1295
- children: r,
1296
- variant: s = "default",
1297
- size: t = "md",
1298
- removable: a = !1,
1299
- onRemove: l,
1300
- className: n = "",
1301
- style: i,
1302
- colorClass: c
1303
- }) {
1304
- const u = {
1305
- default: "bg-surface-variant text-text-secondary",
1306
- success: "bg-success-50 text-success-700",
1307
- error: "bg-error-50 text-error-700",
1308
- warning: "bg-warning-50 text-warning-700",
1309
- info: "bg-info-50 text-info-700"
1310
- }, x = {
1311
- sm: "px-2 py-0.5 text-xs",
1312
- md: "px-3 py-1 text-sm",
1313
- lg: "px-4 py-1.5 text-base"
1314
- }, d = c || u[s];
1315
- return /* @__PURE__ */ e.jsxs(
1316
- "span",
1317
- {
1318
- className: `inline-flex items-center gap-1 rounded-full ${d} ${x[t]} ${n}`,
1319
- style: i,
1320
- children: [
1321
- r,
1322
- a && l && /* @__PURE__ */ e.jsx(
1323
- "button",
1324
- {
1325
- onClick: l,
1326
- className: "ml-1 hover:opacity-70",
1327
- "aria-label": "Remove badge",
1328
- children: /* @__PURE__ */ e.jsx(ee, { className: "w-3 h-3" })
1329
- }
1330
- )
1331
- ]
1332
- }
1333
- );
1334
- }
1335
- function yr({
1336
- status: r,
1337
- title: s,
1338
- message: t,
1339
- action: a,
1340
- progress: l,
1341
- className: n = ""
1208
+ function mr({
1209
+ onFileChange: r,
1210
+ onAnalyze: s,
1211
+ uploadedFile: t,
1212
+ fileError: a,
1213
+ onCancelUpload: l,
1214
+ isAnalyzing: n = !1,
1215
+ analyzeError: i,
1216
+ analyzeSuccess: c,
1217
+ accept: u = ".pdf,.docx",
1218
+ label: f = "Upload File",
1219
+ description: d = "PDF, DOCX up to 5MB",
1220
+ analyzeButtonLabel: m = "Analyze",
1221
+ disabled: x = !1,
1222
+ showAnalyzeButton: g = !0
1342
1223
  }) {
1343
- const c = {
1344
- success: {
1345
- bg: "bg-success-50",
1346
- border: "border-success-200",
1347
- text: "text-success-700",
1348
- icon: /* @__PURE__ */ e.jsx(pe, { className: "h-5 w-5" })
1349
- },
1350
- error: {
1351
- bg: "bg-error-50",
1352
- border: "border-error-200",
1353
- text: "text-error-700",
1354
- icon: /* @__PURE__ */ e.jsx(be, { className: "h-5 w-5" })
1355
- },
1356
- warning: {
1357
- bg: "bg-warning-50",
1358
- border: "border-warning-200",
1359
- text: "text-warning-700",
1360
- icon: /* @__PURE__ */ e.jsx(ge, { className: "h-5 w-5" })
1361
- },
1362
- info: {
1363
- bg: "bg-info-50",
1364
- border: "border-info-200",
1365
- text: "text-info-700",
1366
- icon: /* @__PURE__ */ e.jsx(ve, { className: "h-5 w-5" })
1367
- },
1368
- loading: {
1369
- bg: "bg-blue-50",
1370
- border: "border-blue-200",
1371
- text: "text-blue-700",
1372
- icon: null
1224
+ const b = ye(null), [y, E] = T(!1);
1225
+ J(() => {
1226
+ !t && b.current && (b.current.value = "");
1227
+ }, [t]);
1228
+ const V = (N) => {
1229
+ N.preventDefault(), N.stopPropagation(), N.type === "dragenter" || N.type === "dragover" ? E(!0) : N.type === "dragleave" && E(!1);
1230
+ }, R = (N) => {
1231
+ if (N.preventDefault(), N.stopPropagation(), E(!1), N.dataTransfer.files && N.dataTransfer.files[0]) {
1232
+ const O = {
1233
+ target: {
1234
+ files: N.dataTransfer.files
1235
+ }
1236
+ };
1237
+ r(O);
1373
1238
  }
1374
- }[r];
1375
- return /* @__PURE__ */ e.jsx("div", { className: `${c.bg} border ${c.border} rounded-lg p-4 ${n}`, children: /* @__PURE__ */ e.jsxs("div", { className: "flex items-start gap-3", children: [
1376
- r === "loading" ? /* @__PURE__ */ e.jsxs("svg", { className: "animate-spin h-5 w-5 flex-shrink-0", viewBox: "0 0 24 24", children: [
1377
- /* @__PURE__ */ e.jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", fill: "none", stroke: "currentColor", strokeWidth: "4" }),
1378
- /* @__PURE__ */ e.jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })
1379
- ] }) : /* @__PURE__ */ e.jsx("div", { className: `flex-shrink-0 ${c.text}`, children: c.icon }),
1380
- /* @__PURE__ */ e.jsxs("div", { className: "flex-1", children: [
1381
- /* @__PURE__ */ e.jsx("p", { className: `text-sm font-medium ${c.text}`, children: s }),
1382
- t && /* @__PURE__ */ e.jsx("p", { className: `text-xs ${c.text} mt-1`, children: t }),
1383
- l !== void 0 && /* @__PURE__ */ e.jsx("div", { className: "mt-2 w-full bg-gray-200 rounded-full h-2", children: /* @__PURE__ */ e.jsx(
1239
+ };
1240
+ return /* @__PURE__ */ e.jsxs("div", { className: "mt-6 pt-6 border-t border-border", children: [
1241
+ /* @__PURE__ */ e.jsx("h3", { className: "text-sm font-medium text-text-primary mb-3", children: f }),
1242
+ /* @__PURE__ */ e.jsxs("label", { className: "block", children: [
1243
+ /* @__PURE__ */ e.jsx(
1244
+ "input",
1245
+ {
1246
+ ref: b,
1247
+ type: "file",
1248
+ accept: u,
1249
+ onChange: r,
1250
+ className: "hidden",
1251
+ id: "file-upload",
1252
+ disabled: x
1253
+ }
1254
+ ),
1255
+ /* @__PURE__ */ e.jsx(
1384
1256
  "div",
1385
1257
  {
1386
- className: `h-2 rounded-full transition-all ${c.bg}`,
1387
- style: { width: `${l}%` }
1258
+ onDragEnter: V,
1259
+ onDragLeave: V,
1260
+ onDragOver: V,
1261
+ onDrop: R,
1262
+ className: `border-2 border-dashed rounded-lg p-6 text-center transition cursor-pointer ${y ? "border-reseda-green-700 bg-reseda-green-50" : "border-border hover:border-reseda-green-700"} ${x ? "opacity-50 cursor-not-allowed" : ""}`,
1263
+ children: t && !a ? /* @__PURE__ */ e.jsxs("div", { children: [
1264
+ /* @__PURE__ */ e.jsx(
1265
+ "svg",
1266
+ {
1267
+ className: "mx-auto h-12 w-12 text-success-500",
1268
+ fill: "currentColor",
1269
+ viewBox: "0 0 20 20",
1270
+ children: /* @__PURE__ */ e.jsx(
1271
+ "path",
1272
+ {
1273
+ fillRule: "evenodd",
1274
+ d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",
1275
+ clipRule: "evenodd"
1276
+ }
1277
+ )
1278
+ }
1279
+ ),
1280
+ /* @__PURE__ */ e.jsx("div", { className: "mt-3", children: /* @__PURE__ */ e.jsx(H, { variant: "success", message: "File uploaded successfully" }) }),
1281
+ /* @__PURE__ */ e.jsx("p", { className: "text-sm text-text-secondary mt-2 break-words", children: t.name }),
1282
+ /* @__PURE__ */ e.jsxs("p", { className: "text-xs text-text-muted mt-1", children: [
1283
+ (t.size / (1024 * 1024)).toFixed(2),
1284
+ "MB"
1285
+ ] }),
1286
+ /* @__PURE__ */ e.jsx(
1287
+ F,
1288
+ {
1289
+ variant: "link",
1290
+ type: "button",
1291
+ onClick: (N) => {
1292
+ N.preventDefault(), l?.();
1293
+ },
1294
+ className: "mt-3 text-error-600 hover:text-error-700 h-auto p-0",
1295
+ children: "✕ Cancel"
1296
+ }
1297
+ )
1298
+ ] }) : /* @__PURE__ */ e.jsxs("div", { children: [
1299
+ /* @__PURE__ */ e.jsx(
1300
+ "svg",
1301
+ {
1302
+ className: "mx-auto h-12 w-12 text-text-muted",
1303
+ stroke: "currentColor",
1304
+ fill: "none",
1305
+ viewBox: "0 0 48 48",
1306
+ children: /* @__PURE__ */ e.jsx(
1307
+ "path",
1308
+ {
1309
+ d: "M28 8H12a4 4 0 00-4 4v20m32-12v8m0 0v8a4 4 0 01-4 4H12a4 4 0 01-4-4v-4m32-4l-3.172-3.172a4 4 0 00-5.656 0L28 28M8 32l9.172-9.172a4 4 0 015.656 0L28 28m0 0l4 4m4-24h8m-4-4v8m-12 4h.02",
1310
+ strokeWidth: "2",
1311
+ strokeLinecap: "round",
1312
+ strokeLinejoin: "round"
1313
+ }
1314
+ )
1315
+ }
1316
+ ),
1317
+ /* @__PURE__ */ e.jsxs("p", { className: "mt-2 text-sm text-text-secondary", children: [
1318
+ /* @__PURE__ */ e.jsx("span", { className: "font-medium text-reseda-green-700", children: "Upload a file" }),
1319
+ " ",
1320
+ "or drag and drop"
1321
+ ] }),
1322
+ /* @__PURE__ */ e.jsx("p", { className: "text-xs text-text-muted mt-1", children: d })
1323
+ ] })
1388
1324
  }
1389
- ) })
1325
+ )
1390
1326
  ] }),
1391
- a && /* @__PURE__ */ e.jsx(
1392
- "button",
1327
+ a && /* @__PURE__ */ e.jsx("div", { className: "mt-3", children: /* @__PURE__ */ e.jsx(H, { variant: "error", message: a }) }),
1328
+ i && /* @__PURE__ */ e.jsx("div", { className: "mt-3", children: /* @__PURE__ */ e.jsx(H, { variant: "error", message: i }) }),
1329
+ c && /* @__PURE__ */ e.jsx("div", { className: "mt-3", children: /* @__PURE__ */ e.jsx(H, { variant: "success", message: c }) }),
1330
+ g && /* @__PURE__ */ e.jsx(
1331
+ F,
1393
1332
  {
1394
- onClick: a.onClick,
1395
- className: `text-sm font-medium ${c.text} hover:opacity-70 flex-shrink-0`,
1396
- children: a.label
1333
+ variant: "default",
1334
+ onClick: s,
1335
+ disabled: !t || n || x,
1336
+ loading: n,
1337
+ fullWidth: !0,
1338
+ className: "mt-3",
1339
+ children: m
1397
1340
  }
1398
1341
  )
1399
- ] }) });
1400
- }
1401
- function Cr({
1402
- label: r,
1403
- children: s,
1404
- helperText: t,
1405
- errorText: a,
1406
- required: l = !1,
1407
- className: n = ""
1408
- }) {
1409
- return /* @__PURE__ */ e.jsxs("div", { className: `space-y-2 ${n}`, children: [
1410
- /* @__PURE__ */ e.jsxs("label", { className: "block text-sm font-medium text-text-primary", children: [
1411
- r,
1412
- l && /* @__PURE__ */ e.jsx("span", { className: "text-error-500 ml-1", children: "*" })
1413
- ] }),
1414
- s,
1415
- a && /* @__PURE__ */ e.jsx("p", { className: "text-xs text-error-600", children: a }),
1416
- t && !a && /* @__PURE__ */ e.jsx("p", { className: "text-xs text-text-muted", children: t })
1417
1342
  ] });
1418
1343
  }
1419
- const rr = z.forwardRef(
1344
+ const Ze = P.forwardRef(
1420
1345
  ({
1421
1346
  className: r = "",
1422
- leftIcon: s,
1423
- rightIcon: t,
1424
- error: a = !1,
1425
- fullWidth: l = !0,
1426
- disabled: n,
1427
- ...i
1428
- }, c) => {
1429
- const u = "px-3 py-2 border rounded-lg transition-colors text-sm", x = a ? "border-error-300 focus:ring-2 focus:ring-error-500 focus:border-transparent" : "border-border focus:ring-2 focus:ring-reseda-green-500 focus:border-transparent", d = n ? "bg-surface-variant text-text-muted cursor-not-allowed" : "bg-surface text-text-primary", m = l ? "w-full" : "", f = s || t ? "relative flex items-center" : "", v = `${u} ${x} ${d} ${m} ${s ? "pl-10" : ""} ${t ? "pr-10" : ""} ${r}`;
1430
- return /* @__PURE__ */ e.jsxs("div", { className: f, children: [
1431
- s && /* @__PURE__ */ e.jsx("div", { className: "absolute left-3 flex items-center pointer-events-none text-text-muted", children: s }),
1347
+ error: s = !1,
1348
+ fullWidth: t = !0,
1349
+ autoResize: a = !1,
1350
+ maxLength: l,
1351
+ showCharCount: n = !1,
1352
+ disabled: i,
1353
+ value: c,
1354
+ onChange: u,
1355
+ ...f
1356
+ }, d) => {
1357
+ const y = `px-3 py-2 border rounded-lg transition-colors text-sm font-normal resize-none ${s ? "border-error-300 focus:ring-2 focus:ring-error-500 focus:border-transparent" : "border-border focus:ring-2 focus:ring-reseda-green-500 focus:border-transparent"} ${i ? "bg-surface-variant text-text-muted cursor-not-allowed" : "bg-surface text-text-primary"} ${t ? "w-full" : ""} ${r}`, E = (R) => {
1358
+ a && (R.target.style.height = "auto", R.target.style.height = `${R.target.scrollHeight}px`), u?.(R);
1359
+ }, V = typeof c == "string" ? c.length : 0;
1360
+ return /* @__PURE__ */ e.jsxs("div", { className: "space-y-1", children: [
1432
1361
  /* @__PURE__ */ e.jsx(
1433
- "input",
1362
+ "textarea",
1434
1363
  {
1435
- ref: c,
1436
- className: v,
1437
- disabled: n,
1438
- ...i
1364
+ ref: d,
1365
+ className: y,
1366
+ disabled: i,
1367
+ value: c,
1368
+ onChange: E,
1369
+ maxLength: l,
1370
+ ...f
1439
1371
  }
1440
1372
  ),
1441
- t && /* @__PURE__ */ e.jsx("div", { className: "absolute right-3 flex items-center pointer-events-none text-text-muted", children: t })
1373
+ n && l && /* @__PURE__ */ e.jsxs("p", { className: "text-xs text-text-muted text-right", children: [
1374
+ V,
1375
+ " / ",
1376
+ l
1377
+ ] })
1442
1378
  ] });
1443
1379
  }
1444
1380
  );
1445
- rr.displayName = "Input";
1446
- const sr = z.forwardRef(
1447
- ({
1448
- options: r,
1449
- placeholder: s,
1450
- className: t = "",
1451
- error: a = !1,
1452
- fullWidth: l = !0,
1453
- disabled: n,
1454
- ...i
1455
- }, c) => {
1456
- const f = `px-3 py-2 border rounded-lg transition-colors text-sm appearance-none ${a ? "border-error-300 focus:ring-2 focus:ring-error-500 focus:border-transparent" : "border-border focus:ring-2 focus:ring-reseda-green-500 focus:border-transparent"} ${n ? "bg-surface-variant text-text-muted cursor-not-allowed" : "bg-surface text-text-primary"} ${l ? "w-full" : ""} pr-10 ${t}`;
1457
- return /* @__PURE__ */ e.jsxs("div", { className: "relative flex items-center", children: [
1458
- /* @__PURE__ */ e.jsxs(
1459
- "select",
1460
- {
1461
- ref: c,
1462
- className: f,
1463
- disabled: n,
1464
- ...i,
1465
- children: [
1466
- s && /* @__PURE__ */ e.jsx("option", { value: "", disabled: !0, children: s }),
1467
- r.map((v) => /* @__PURE__ */ e.jsx("option", { value: v.value, children: v.label }, v.value))
1468
- ]
1469
- }
1470
- ),
1471
- /* @__PURE__ */ e.jsx(re, { className: "absolute right-3 w-4 h-4 text-text-muted pointer-events-none" })
1472
- ] });
1473
- }
1474
- );
1475
- sr.displayName = "Select";
1476
- const ar = z.forwardRef(
1477
- ({
1478
- tags: r,
1479
- onTagsChange: s,
1480
- onAddTag: t,
1481
- onRemoveTag: a,
1482
- placeholder: l = "Add a tag and press Enter",
1483
- error: n = !1,
1484
- fullWidth: i = !0,
1485
- maxTags: c,
1486
- duplicateCheck: u = !0,
1487
- disabled: x,
1488
- className: d = "",
1489
- ...m
1490
- }, f) => {
1491
- const [v, g] = $(""), y = (b) => {
1492
- b.key === "Enter" && v.trim() ? (b.preventDefault(), V(v.trim())) : b.key === "Backspace" && !v && r.length > 0 && T(r[r.length - 1]);
1493
- }, V = (b) => {
1494
- if (c && r.length >= c || u && r.includes(b))
1495
- return;
1496
- const w = [...r, b];
1497
- s(w), t?.(b), g("");
1498
- }, T = (b) => {
1499
- const w = r.filter((A) => A !== b);
1500
- s(w), a?.(b);
1501
- }, p = `w-full px-3 py-2 border rounded-lg transition-colors text-sm ${n ? "border-error-300 focus:ring-2 focus:ring-error-500 focus:border-transparent" : "border-border focus:ring-2 focus:ring-reseda-green-500 focus:border-transparent"} ${x ? "bg-surface-variant text-text-muted cursor-not-allowed" : "bg-surface text-text-primary"} ${i ? "w-full" : ""} ${d}`;
1502
- return /* @__PURE__ */ e.jsxs("div", { className: "space-y-2", children: [
1503
- /* @__PURE__ */ e.jsx("div", { className: "flex flex-wrap gap-2 mb-2", children: r.map((b) => /* @__PURE__ */ e.jsx(
1504
- er,
1505
- {
1506
- removable: !0,
1507
- onRemove: () => T(b),
1508
- variant: "default",
1509
- children: b
1510
- },
1511
- b
1512
- )) }),
1513
- /* @__PURE__ */ e.jsx(
1514
- "input",
1515
- {
1516
- ref: f,
1517
- type: "text",
1518
- className: p,
1519
- placeholder: l,
1520
- value: v,
1521
- onChange: (b) => g(b.target.value),
1522
- onKeyDown: y,
1523
- disabled: x || (c ? r.length >= c : !1),
1524
- ...m
1525
- }
1526
- ),
1527
- c && /* @__PURE__ */ e.jsxs("p", { className: "text-xs text-text-muted", children: [
1528
- r.length,
1529
- " / ",
1530
- c
1531
- ] })
1532
- ] });
1533
- }
1534
- );
1535
- ar.displayName = "TagInput";
1536
- const tr = z.forwardRef(
1537
- ({
1538
- className: r = "",
1539
- error: s = !1,
1540
- fullWidth: t = !0,
1541
- autoResize: a = !1,
1542
- maxLength: l,
1543
- showCharCount: n = !1,
1544
- disabled: i,
1545
- value: c,
1546
- onChange: u,
1547
- ...x
1548
- }, d) => {
1549
- const y = `px-3 py-2 border rounded-lg transition-colors text-sm font-normal resize-none ${s ? "border-error-300 focus:ring-2 focus:ring-error-500 focus:border-transparent" : "border-border focus:ring-2 focus:ring-reseda-green-500 focus:border-transparent"} ${i ? "bg-surface-variant text-text-muted cursor-not-allowed" : "bg-surface text-text-primary"} ${t ? "w-full" : ""} ${r}`, V = (R) => {
1550
- a && (R.target.style.height = "auto", R.target.style.height = `${R.target.scrollHeight}px`), u?.(R);
1551
- }, T = typeof c == "string" ? c.length : 0;
1552
- return /* @__PURE__ */ e.jsxs("div", { className: "space-y-1", children: [
1553
- /* @__PURE__ */ e.jsx(
1554
- "textarea",
1555
- {
1556
- ref: d,
1557
- className: y,
1558
- disabled: i,
1559
- value: c,
1560
- onChange: V,
1561
- maxLength: l,
1562
- ...x
1563
- }
1564
- ),
1565
- n && l && /* @__PURE__ */ e.jsxs("p", { className: "text-xs text-text-muted text-right", children: [
1566
- T,
1567
- " / ",
1568
- l
1569
- ] })
1570
- ] });
1571
- }
1572
- );
1573
- tr.displayName = "Textarea";
1574
- function kr({
1381
+ Ze.displayName = "Textarea";
1382
+ function xr({
1575
1383
  options: r,
1576
1384
  selectedValues: s,
1577
1385
  onSelectionChange: t,
@@ -1581,25 +1389,25 @@ function kr({
1581
1389
  error: i = !1
1582
1390
  }) {
1583
1391
  const c = (m) => {
1584
- const f = s.includes(m) ? s.filter((v) => v !== m) : [...s, m];
1585
- t(f);
1392
+ const x = s.includes(m) ? s.filter((g) => g !== m) : [...s, m];
1393
+ t(x);
1586
1394
  }, u = {
1587
1395
  vertical: "space-y-3",
1588
1396
  horizontal: "flex flex-wrap gap-3",
1589
1397
  grid: `grid grid-cols-${l} gap-3`
1590
- }, x = a === "grid" ? "grid gap-3" : u[a], d = a === "grid" ? `md:grid-cols-${l}` : "";
1591
- return /* @__PURE__ */ e.jsx("div", { className: `${x} ${d}`, children: r.map((m) => {
1592
- const f = s.includes(m.value), g = f ? "border-reseda-green-500 bg-reseda-green-50 ring-2 ring-reseda-green-200" : `border-${i ? "border-error-300" : "border-border"} hover:border-border-subtle hover:bg-surface-variant`;
1398
+ }, f = a === "grid" ? "grid gap-3" : u[a], d = a === "grid" ? `md:grid-cols-${l}` : "";
1399
+ return /* @__PURE__ */ e.jsx("div", { className: `${f} ${d}`, children: r.map((m) => {
1400
+ const x = s.includes(m.value), b = x ? "border-reseda-green-500 bg-reseda-green-50 ring-2 ring-reseda-green-200" : `border-${i ? "border-error-300" : "border-border"} hover:border-border-subtle hover:bg-surface-variant`;
1593
1401
  return /* @__PURE__ */ e.jsxs(
1594
1402
  "label",
1595
1403
  {
1596
- className: `relative flex items-start p-3 border rounded-lg cursor-pointer transition-all ${g} ${n ? "opacity-50 cursor-not-allowed" : ""}`,
1404
+ className: `relative flex items-start p-3 border rounded-lg cursor-pointer transition-all ${b} ${n ? "opacity-50 cursor-not-allowed" : ""}`,
1597
1405
  children: [
1598
1406
  /* @__PURE__ */ e.jsx(
1599
1407
  "input",
1600
1408
  {
1601
1409
  type: "checkbox",
1602
- checked: f,
1410
+ checked: x,
1603
1411
  onChange: () => c(m.value),
1604
1412
  disabled: n,
1605
1413
  className: "sr-only"
@@ -1610,14 +1418,14 @@ function kr({
1610
1418
  /* @__PURE__ */ e.jsx("div", { className: "font-medium text-text-primary", children: m.label }),
1611
1419
  m.description && /* @__PURE__ */ e.jsx("div", { className: "text-sm text-text-secondary", children: m.description })
1612
1420
  ] }),
1613
- f && /* @__PURE__ */ e.jsx("div", { className: "text-reseda-green-500 flex-shrink-0", children: /* @__PURE__ */ e.jsx("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ e.jsx("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" }) }) })
1421
+ x && /* @__PURE__ */ e.jsx("div", { className: "text-reseda-green-500 flex-shrink-0", children: /* @__PURE__ */ e.jsx("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ e.jsx("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" }) }) })
1614
1422
  ]
1615
1423
  },
1616
1424
  m.value
1617
1425
  );
1618
1426
  }) });
1619
1427
  }
1620
- function Vr({
1428
+ function fr({
1621
1429
  options: r,
1622
1430
  selectedValue: s,
1623
1431
  onSelectionChange: t,
@@ -1627,17 +1435,17 @@ function Vr({
1627
1435
  error: i = !1,
1628
1436
  name: c = "radio-group"
1629
1437
  }) {
1630
- const x = a === "grid" ? `grid gap-3 md:grid-cols-${l}` : {
1438
+ const f = a === "grid" ? `grid gap-3 md:grid-cols-${l}` : {
1631
1439
  vertical: "space-y-3",
1632
1440
  horizontal: "flex flex-wrap gap-3",
1633
1441
  grid: "grid gap-3"
1634
1442
  }[a];
1635
- return /* @__PURE__ */ e.jsx("div", { className: x, children: r.map((d) => {
1636
- const m = s === d.value, v = m ? "border-reseda-green-500 bg-reseda-green-50 ring-2 ring-reseda-green-200" : `border-${i ? "border-error-300" : "border-border"} hover:border-border-subtle hover:bg-surface-variant`;
1443
+ return /* @__PURE__ */ e.jsx("div", { className: f, children: r.map((d) => {
1444
+ const m = s === d.value, g = m ? "border-reseda-green-500 bg-reseda-green-50 ring-2 ring-reseda-green-200" : `border-${i ? "border-error-300" : "border-border"} hover:border-border-subtle hover:bg-surface-variant`;
1637
1445
  return /* @__PURE__ */ e.jsxs(
1638
1446
  "label",
1639
1447
  {
1640
- className: `relative flex items-start p-3 border rounded-lg cursor-pointer transition-all ${v} ${n ? "opacity-50 cursor-not-allowed" : ""}`,
1448
+ className: `relative flex items-start p-3 border rounded-lg cursor-pointer transition-all ${g} ${n ? "opacity-50 cursor-not-allowed" : ""}`,
1641
1449
  children: [
1642
1450
  /* @__PURE__ */ e.jsx(
1643
1451
  "input",
@@ -1663,19 +1471,39 @@ function Vr({
1663
1471
  );
1664
1472
  }) });
1665
1473
  }
1666
- function $r({
1474
+ function hr({ stats: r, columns: s = 4, className: t = "" }) {
1475
+ const a = {
1476
+ 2: "grid-cols-2",
1477
+ 3: "grid-cols-3",
1478
+ 4: "grid-cols-4"
1479
+ }[s], l = {
1480
+ "moss-green": { bg: "bg-moss-green-50", text: "text-reseda-green-700", value: "text-reseda-green-100" },
1481
+ success: { bg: "bg-khaki-50", text: "text-success-600", value: "text-success-900" },
1482
+ warning: { bg: "bg-peach-yellow-50", text: "text-warning-600", value: "text-warning-900" },
1483
+ "earth-yellow": { bg: "bg-sunglow-50", text: "text-earth-yellow-700", value: "text-earth-yellow-100" }
1484
+ };
1485
+ return /* @__PURE__ */ e.jsx("div", { className: `grid ${a} gap-4 mb-6 bg-surface p-6 rounded-lg ${t}`, children: r.map((n, i) => {
1486
+ const c = l[n.color || "moss-green"];
1487
+ return /* @__PURE__ */ e.jsxs("div", { className: `${c.bg} rounded-lg p-4`, children: [
1488
+ n.icon && /* @__PURE__ */ e.jsx("div", { className: "mb-2", children: n.icon }),
1489
+ /* @__PURE__ */ e.jsx("p", { className: `text-sm ${c.text} font-medium`, children: n.label }),
1490
+ /* @__PURE__ */ e.jsx("p", { className: `text-2xl font-bold ${c.value} mt-1`, children: n.value })
1491
+ ] }, i);
1492
+ }) });
1493
+ }
1494
+ function vr({
1667
1495
  items: r,
1668
1496
  allowMultiple: s = !1,
1669
1497
  defaultOpenId: t,
1670
1498
  onOpenChange: a,
1671
1499
  className: l = ""
1672
1500
  }) {
1673
- const [n, i] = $(() => t ? Array.isArray(t) ? t : [t] : []), c = (u) => {
1674
- let x;
1675
- s ? x = n.includes(u) ? n.filter((d) => d !== u) : [...n, u] : x = n.includes(u) ? [] : [u], i(x), a?.(x);
1501
+ const [n, i] = T(() => t ? Array.isArray(t) ? t : [t] : []), c = (u) => {
1502
+ let f;
1503
+ s ? f = n.includes(u) ? n.filter((d) => d !== u) : [...n, u] : f = n.includes(u) ? [] : [u], i(f), a?.(f);
1676
1504
  };
1677
1505
  return /* @__PURE__ */ e.jsx("div", { className: `space-y-2 ${l}`, children: r.map((u) => {
1678
- const x = n.includes(u.id);
1506
+ const f = n.includes(u.id);
1679
1507
  return /* @__PURE__ */ e.jsxs(
1680
1508
  "div",
1681
1509
  {
@@ -1692,22 +1520,197 @@ function $r({
1692
1520
  /* @__PURE__ */ e.jsx("h3", { className: "font-medium text-text-primary", children: u.title })
1693
1521
  ] }),
1694
1522
  /* @__PURE__ */ e.jsx(
1695
- re,
1523
+ ee,
1696
1524
  {
1697
- className: `w-5 h-5 text-text-secondary transition-transform flex-shrink-0 ${x ? "rotate-180" : ""}`
1525
+ className: `w-5 h-5 text-text-secondary transition-transform flex-shrink-0 ${f ? "rotate-180" : ""}`
1698
1526
  }
1699
1527
  )
1700
1528
  ]
1701
1529
  }
1702
1530
  ),
1703
- x && /* @__PURE__ */ e.jsx("div", { className: "border-t border-border px-4 py-3 bg-surface-variant text-text-primary", children: u.content })
1531
+ f && /* @__PURE__ */ e.jsx("div", { className: "border-t border-border px-4 py-3 bg-surface-variant text-text-primary", children: u.content })
1704
1532
  ]
1705
1533
  },
1706
1534
  u.id
1707
1535
  );
1708
1536
  }) });
1709
1537
  }
1710
- const nr = z.forwardRef(
1538
+ function gr({
1539
+ icon: r,
1540
+ title: s,
1541
+ subtitle: t,
1542
+ metadata: a,
1543
+ isSelected: l = !1,
1544
+ isActive: n = !1,
1545
+ variant: i = "default",
1546
+ actions: c,
1547
+ onClick: u,
1548
+ className: f = ""
1549
+ }) {
1550
+ const d = (b) => {
1551
+ const y = b.target;
1552
+ y.tagName === "BUTTON" || y.closest("button") || u?.(b);
1553
+ }, x = (() => {
1554
+ if (n)
1555
+ switch (i) {
1556
+ case "success":
1557
+ return "border-2 border-reseda-green-700 bg-success-50";
1558
+ case "warning":
1559
+ return "border-2 border-persian-orange-700 bg-warning-50";
1560
+ case "error":
1561
+ return "border-2 border-error-700 bg-error-50";
1562
+ default:
1563
+ return "border-2 border-reseda-green-700 bg-success-50";
1564
+ }
1565
+ return "border border-border hover:border-border-subtle hover:bg-surface-variant";
1566
+ })(), g = l ? "ring-2 ring-reseda-green-700" : "";
1567
+ return /* @__PURE__ */ e.jsx(
1568
+ "div",
1569
+ {
1570
+ onClick: d,
1571
+ className: `rounded-lg p-4 cursor-pointer transition ${x} ${g} ${f}`,
1572
+ children: /* @__PURE__ */ e.jsxs("div", { className: "flex items-start justify-between", children: [
1573
+ /* @__PURE__ */ e.jsxs("div", { className: "flex-1 flex items-start gap-3", children: [
1574
+ r && /* @__PURE__ */ e.jsx("div", { className: "shrink-0", children: r }),
1575
+ /* @__PURE__ */ e.jsxs("div", { className: "flex-1 min-w-0", children: [
1576
+ /* @__PURE__ */ e.jsx("h3", { className: "font-medium text-text-primary", children: s }),
1577
+ t && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-text-secondary mt-1", children: t }),
1578
+ a && /* @__PURE__ */ e.jsx("div", { className: "mt-2", children: a })
1579
+ ] })
1580
+ ] }),
1581
+ /* @__PURE__ */ e.jsx("div", { className: "ml-2 flex items-center gap-1 shrink-0", children: c.map((b, y) => /* @__PURE__ */ e.jsx(
1582
+ F,
1583
+ {
1584
+ variant: b.variant || "ghost",
1585
+ size: b.size || "sm",
1586
+ onClick: b.onClick,
1587
+ disabled: b.disabled,
1588
+ loading: b.loading,
1589
+ title: b.label,
1590
+ className: b.className,
1591
+ leftIcon: b.icon && b.size !== "icon" ? b.icon : void 0,
1592
+ children: b.size === "icon" ? b.icon : b.label
1593
+ },
1594
+ y
1595
+ )) })
1596
+ ] })
1597
+ }
1598
+ );
1599
+ }
1600
+ function br({
1601
+ children: r,
1602
+ variant: s = "default",
1603
+ isActive: t = !1,
1604
+ onClick: a,
1605
+ className: l = ""
1606
+ }) {
1607
+ const n = "rounded-lg transition-all", i = {
1608
+ default: "border border-border p-4",
1609
+ surface: "bg-surface-variant p-4",
1610
+ elevated: "bg-surface shadow-md p-6",
1611
+ interactive: `border-2 p-4 cursor-pointer ${t ? "border-success-500 bg-success-50" : "border-border bg-surface hover:border-border-subtle"}`
1612
+ };
1613
+ return /* @__PURE__ */ e.jsx(
1614
+ "div",
1615
+ {
1616
+ className: `${n} ${i[s]} ${l}`,
1617
+ onClick: a,
1618
+ role: a ? "button" : void 0,
1619
+ tabIndex: a ? 0 : void 0,
1620
+ onKeyDown: a ? (c) => {
1621
+ (c.key === "Enter" || c.key === " ") && a();
1622
+ } : void 0,
1623
+ children: r
1624
+ }
1625
+ );
1626
+ }
1627
+ function pr({
1628
+ title: r,
1629
+ children: s,
1630
+ subtitle: t,
1631
+ spacing: a = "normal",
1632
+ className: l = ""
1633
+ }) {
1634
+ const n = {
1635
+ compact: "space-y-3",
1636
+ normal: "space-y-6",
1637
+ spacious: "space-y-8"
1638
+ };
1639
+ return /* @__PURE__ */ e.jsxs("div", { className: `${n[a]} ${l}`, children: [
1640
+ /* @__PURE__ */ e.jsxs("div", { children: [
1641
+ /* @__PURE__ */ e.jsx("h3", { className: "text-lg font-semibold text-text-primary", children: r }),
1642
+ t && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-text-secondary mt-1", children: t })
1643
+ ] }),
1644
+ s
1645
+ ] });
1646
+ }
1647
+ function jr({
1648
+ title: r,
1649
+ subtitle: s,
1650
+ metadata: t,
1651
+ sections: a,
1652
+ className: l = ""
1653
+ }) {
1654
+ return /* @__PURE__ */ e.jsxs("div", { className: `space-y-6 ${l}`, children: [
1655
+ /* @__PURE__ */ e.jsxs("div", { children: [
1656
+ /* @__PURE__ */ e.jsxs("div", { className: "flex items-start justify-between mb-1", children: [
1657
+ /* @__PURE__ */ e.jsx("h2", { className: "text-xl font-semibold text-text-primary", children: r }),
1658
+ t && /* @__PURE__ */ e.jsx("div", { className: "text-sm text-text-secondary", children: t })
1659
+ ] }),
1660
+ s && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-text-secondary", children: s })
1661
+ ] }),
1662
+ a.map((n, i) => /* @__PURE__ */ e.jsxs("div", { children: [
1663
+ /* @__PURE__ */ e.jsx("h3", { className: "text-lg font-semibold text-text-primary mb-3", children: n.heading }),
1664
+ n.content
1665
+ ] }, i))
1666
+ ] });
1667
+ }
1668
+ function wr({
1669
+ title: r,
1670
+ description: s,
1671
+ centered: t = !1,
1672
+ titleSize: a = "md"
1673
+ }) {
1674
+ const l = {
1675
+ sm: "text-2xl",
1676
+ md: "text-3xl",
1677
+ lg: "text-4xl"
1678
+ }, n = t ? "text-center" : "", i = t ? "max-w-2xl mx-auto" : "";
1679
+ return /* @__PURE__ */ e.jsxs("div", { className: `mb-8 ${n}`, children: [
1680
+ /* @__PURE__ */ e.jsx("h1", { className: `${l[a]} font-bold text-text-primary`, children: r }),
1681
+ /* @__PURE__ */ e.jsx("p", { className: `mt-2 text-text-secondary ${i}`, children: s })
1682
+ ] });
1683
+ }
1684
+ function Nr({
1685
+ icon: r,
1686
+ title: s,
1687
+ description: t,
1688
+ isSelected: a = !1,
1689
+ onClick: l,
1690
+ disabled: n = !1,
1691
+ className: i = ""
1692
+ }) {
1693
+ const c = "p-4 border rounded-lg transition-all text-center cursor-pointer", u = a ? "border-reseda-green-500 bg-reseda-green-50 ring-2 ring-reseda-green-200" : "border-border hover:border-border-subtle hover:bg-surface-variant", f = n ? "opacity-50 cursor-not-allowed" : "";
1694
+ return /* @__PURE__ */ e.jsxs(
1695
+ "div",
1696
+ {
1697
+ className: `${c} ${u} ${f} ${i}`,
1698
+ onClick: () => !n && l?.(),
1699
+ role: "button",
1700
+ tabIndex: n ? -1 : 0,
1701
+ onKeyDown: (d) => {
1702
+ !n && (d.key === "Enter" || d.key === " ") && l?.();
1703
+ },
1704
+ children: [
1705
+ r && /* @__PURE__ */ e.jsx("div", { className: "mb-3 flex justify-center", children: /* @__PURE__ */ e.jsx("div", { className: "text-text-secondary", children: r }) }),
1706
+ /* @__PURE__ */ e.jsx("h3", { className: "font-medium text-text-primary mb-1", children: s }),
1707
+ t && /* @__PURE__ */ e.jsx("p", { className: "text-xs text-text-secondary", children: t }),
1708
+ a && /* @__PURE__ */ e.jsx("div", { className: "mt-3 flex justify-center", children: /* @__PURE__ */ e.jsx("div", { className: "text-reseda-green-500", children: /* @__PURE__ */ e.jsx("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ e.jsx("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" }) }) }) })
1709
+ ]
1710
+ }
1711
+ );
1712
+ }
1713
+ const Ke = P.forwardRef(
1711
1714
  ({
1712
1715
  value: r,
1713
1716
  onChange: s,
@@ -1718,13 +1721,13 @@ const nr = z.forwardRef(
1718
1721
  showLabels: i = !1,
1719
1722
  minLabel: c,
1720
1723
  maxLabel: u,
1721
- error: x = !1,
1724
+ error: f = !1,
1722
1725
  fullWidth: d = !0,
1723
1726
  disabled: m,
1724
- className: f = "",
1725
- ...v
1726
- }, g) => {
1727
- const N = `w-full h-2 rounded-lg appearance-none cursor-pointer ${x ? "bg-error-200 accent-error-500" : "bg-border accent-reseda-green-500"} ${m ? "opacity-50 cursor-not-allowed" : ""} ${d ? "w-full" : ""} ${f}`, D = (r - t) / (a - t) * 100;
1727
+ className: x = "",
1728
+ ...g
1729
+ }, b) => {
1730
+ const N = `w-full h-2 rounded-lg appearance-none cursor-pointer ${f ? "bg-error-200 accent-error-500" : "bg-border accent-reseda-green-500"} ${m ? "opacity-50 cursor-not-allowed" : ""} ${d ? "w-full" : ""} ${x}`, O = (r - t) / (a - t) * 100;
1728
1731
  return /* @__PURE__ */ e.jsxs("div", { className: "space-y-2", children: [
1729
1732
  i && (c || u) && /* @__PURE__ */ e.jsxs("div", { className: "flex justify-between text-xs text-text-muted", children: [
1730
1733
  c && /* @__PURE__ */ e.jsx("span", { children: c }),
@@ -1734,16 +1737,16 @@ const nr = z.forwardRef(
1734
1737
  /* @__PURE__ */ e.jsx(
1735
1738
  "input",
1736
1739
  {
1737
- ref: g,
1740
+ ref: b,
1738
1741
  type: "range",
1739
1742
  min: t,
1740
1743
  max: a,
1741
1744
  step: l,
1742
1745
  value: r,
1743
- onChange: (I) => s(Number(I.target.value)),
1746
+ onChange: (L) => s(Number(L.target.value)),
1744
1747
  disabled: m,
1745
1748
  className: N,
1746
- ...v
1749
+ ...g
1747
1750
  }
1748
1751
  ),
1749
1752
  n && /* @__PURE__ */ e.jsx("span", { className: "text-sm font-medium text-text-primary min-w-[3rem] text-right", children: r })
@@ -1752,67 +1755,184 @@ const nr = z.forwardRef(
1752
1755
  "div",
1753
1756
  {
1754
1757
  className: "h-full bg-reseda-green-500 transition-all",
1755
- style: { width: `${D}%` }
1758
+ style: { width: `${O}%` }
1756
1759
  }
1757
1760
  ) })
1758
1761
  ] });
1759
1762
  }
1760
1763
  );
1761
- nr.displayName = "Slider";
1762
- function Tr({
1763
- icon: r,
1764
- title: s,
1765
- description: t,
1766
- isSelected: a = !1,
1767
- onClick: l,
1768
- disabled: n = !1,
1769
- className: i = ""
1770
- }) {
1771
- const c = "p-4 border rounded-lg transition-all text-center cursor-pointer", u = a ? "border-reseda-green-500 bg-reseda-green-50 ring-2 ring-reseda-green-200" : "border-border hover:border-border-subtle hover:bg-surface-variant", x = n ? "opacity-50 cursor-not-allowed" : "";
1772
- return /* @__PURE__ */ e.jsxs(
1773
- "div",
1774
- {
1775
- className: `${c} ${u} ${x} ${i}`,
1776
- onClick: () => !n && l?.(),
1777
- role: "button",
1778
- tabIndex: n ? -1 : 0,
1779
- onKeyDown: (d) => {
1780
- !n && (d.key === "Enter" || d.key === " ") && l?.();
1781
- },
1782
- children: [
1783
- r && /* @__PURE__ */ e.jsx("div", { className: "mb-3 flex justify-center", children: /* @__PURE__ */ e.jsx("div", { className: "text-text-secondary", children: r }) }),
1784
- /* @__PURE__ */ e.jsx("h3", { className: "font-medium text-text-primary mb-1", children: s }),
1785
- t && /* @__PURE__ */ e.jsx("p", { className: "text-xs text-text-secondary", children: t }),
1786
- a && /* @__PURE__ */ e.jsx("div", { className: "mt-3 flex justify-center", children: /* @__PURE__ */ e.jsx("div", { className: "text-reseda-green-500", children: /* @__PURE__ */ e.jsx("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ e.jsx("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" }) }) }) })
1787
- ]
1788
- }
1789
- );
1790
- }
1791
- const lr = {
1792
- activeText: "text-reseda-green-700",
1793
- activeBorder: "border-reseda-green-700",
1794
- inactiveText: "text-text-secondary",
1795
- inactiveHoverText: "hover:text-text-primary",
1796
- disabledText: "text-text-disabled"
1764
+ Ke.displayName = "Slider";
1765
+ const Qe = {
1766
+ bg: "bg-indigo-600",
1767
+ activeBg: "bg-indigo-700",
1768
+ text: "text-indigo-200",
1769
+ activeText: "text-white",
1770
+ hoverBg: "hover:bg-indigo-700",
1771
+ hoverText: "hover:text-white"
1797
1772
  };
1798
- function Er({ tabs: r, activeTab: s, disabled: t = !1, onChange: a, colorConfig: l }) {
1799
- const n = l || lr;
1800
- return /* @__PURE__ */ e.jsx("div", { className: "flex border-b border-border mb-6", children: r.map((i) => {
1801
- const c = s === i.id;
1802
- return /* @__PURE__ */ e.jsx(
1803
- S,
1773
+ function $(...r) {
1774
+ return r.filter(Boolean).join(" ");
1775
+ }
1776
+ function me({ item: r, colorScheme: s }) {
1777
+ const [t, a] = T(r.current || r.children?.some((n) => n.current)), l = r.children && r.children.length > 0;
1778
+ return /* @__PURE__ */ e.jsxs("li", { children: [
1779
+ /* @__PURE__ */ e.jsx("div", { children: /* @__PURE__ */ e.jsxs(
1780
+ "a",
1804
1781
  {
1805
- variant: "ghost",
1806
- onClick: () => !t && a(i.id),
1807
- disabled: t && !c,
1808
- className: `px-4 py-2.5 text-sm font-medium whitespace-nowrap transition-colors border-b-2 -mb-px ${c ? `${n.activeBorder} ${n.activeText}` : t ? `border-transparent ${n.disabledText} cursor-not-allowed` : `border-transparent ${n.inactiveText} ${n.inactiveHoverText}`}`,
1809
- children: i.label
1810
- },
1811
- i.id
1812
- );
1813
- }) });
1782
+ href: l ? void 0 : r.href,
1783
+ onClick: (n) => {
1784
+ l && (n.preventDefault(), a(!t));
1785
+ },
1786
+ className: $(
1787
+ r.current ? `${s.activeBg} ${s.activeText}` : `${s.text} ${s.hoverBg} ${s.hoverText}`,
1788
+ "group flex items-center justify-between gap-x-3 rounded-md p-2 text-sm/6 font-semibold",
1789
+ l ? "cursor-pointer" : ""
1790
+ ),
1791
+ children: [
1792
+ /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-x-3", children: [
1793
+ /* @__PURE__ */ e.jsx(
1794
+ r.icon,
1795
+ {
1796
+ "aria-hidden": "true",
1797
+ className: $(
1798
+ r.current ? s.activeText : `${s.text} group-${s.hoverText}`,
1799
+ "size-6 shrink-0"
1800
+ )
1801
+ }
1802
+ ),
1803
+ r.name
1804
+ ] }),
1805
+ l && /* @__PURE__ */ e.jsx(
1806
+ ee,
1807
+ {
1808
+ className: $(
1809
+ "size-5 shrink-0 transition-transform",
1810
+ t ? "rotate-180" : "",
1811
+ r.current ? s.activeText : s.text
1812
+ )
1813
+ }
1814
+ )
1815
+ ]
1816
+ }
1817
+ ) }),
1818
+ l && t && /* @__PURE__ */ e.jsx("ul", { className: "mt-1 ml-9 space-y-1", children: r.children.map((n) => /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsxs(
1819
+ "a",
1820
+ {
1821
+ href: n.href,
1822
+ className: $(
1823
+ n.current ? `${s.activeBg} ${s.activeText}` : `${s.text} ${s.hoverBg} ${s.hoverText}`,
1824
+ "group flex gap-x-3 rounded-md p-2 text-sm/6 font-semibold"
1825
+ ),
1826
+ children: [
1827
+ /* @__PURE__ */ e.jsx(
1828
+ n.icon,
1829
+ {
1830
+ "aria-hidden": "true",
1831
+ className: $(
1832
+ n.current ? s.activeText : `${s.text} group-${s.hoverText}`,
1833
+ "size-5 shrink-0"
1834
+ )
1835
+ }
1836
+ ),
1837
+ n.name
1838
+ ]
1839
+ }
1840
+ ) }, n.name)) })
1841
+ ] });
1842
+ }
1843
+ function yr({ company: r, profile: s, navigation: t, colorScheme: a = Qe }) {
1844
+ const [l, n] = T(!1);
1845
+ return /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsxs("div", { children: [
1846
+ /* @__PURE__ */ e.jsxs(Ve, { open: l, onClose: n, className: "relative z-50 lg:hidden", children: [
1847
+ /* @__PURE__ */ e.jsx(
1848
+ $e,
1849
+ {
1850
+ transition: !0,
1851
+ className: "fixed inset-0 bg-gray-900/80 transition-opacity duration-300 ease-linear data-closed:opacity-0"
1852
+ }
1853
+ ),
1854
+ /* @__PURE__ */ e.jsx("div", { className: "fixed inset-0 flex", children: /* @__PURE__ */ e.jsxs(
1855
+ Te,
1856
+ {
1857
+ transition: !0,
1858
+ className: "relative mr-16 flex w-full max-w-xs flex-1 transform transition duration-300 ease-in-out data-closed:-translate-x-full",
1859
+ children: [
1860
+ /* @__PURE__ */ e.jsx(Ee, { children: /* @__PURE__ */ e.jsx("div", { className: "absolute top-0 left-full flex w-16 justify-center pt-5 duration-300 ease-in-out data-closed:opacity-0", children: /* @__PURE__ */ e.jsxs("button", { type: "button", onClick: () => n(!1), className: "-m-2.5 p-2.5", children: [
1861
+ /* @__PURE__ */ e.jsx("span", { className: "sr-only", children: "Close sidebar" }),
1862
+ /* @__PURE__ */ e.jsx(ke, { "aria-hidden": "true", className: "size-6 text-white" })
1863
+ ] }) }) }),
1864
+ /* @__PURE__ */ e.jsxs("div", { className: $("flex grow flex-col gap-y-5 overflow-y-auto px-6 pb-2", a.bg), children: [
1865
+ /* @__PURE__ */ e.jsx("div", { className: "flex h-16 shrink-0 items-center", children: /* @__PURE__ */ e.jsx(
1866
+ "img",
1867
+ {
1868
+ alt: r.name,
1869
+ src: r.logo,
1870
+ className: "h-8 w-auto"
1871
+ }
1872
+ ) }),
1873
+ /* @__PURE__ */ e.jsx("nav", { className: "flex flex-1 flex-col", children: /* @__PURE__ */ e.jsx("ul", { role: "list", className: "flex flex-1 flex-col gap-y-7", children: /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("ul", { role: "list", className: "-mx-2 space-y-1", children: t.map((i) => /* @__PURE__ */ e.jsx(me, { item: i, colorScheme: a }, i.name)) }) }) }) })
1874
+ ] })
1875
+ ]
1876
+ }
1877
+ ) })
1878
+ ] }),
1879
+ /* @__PURE__ */ e.jsx("div", { className: "hidden lg:fixed lg:inset-y-0 lg:z-50 lg:flex lg:w-72 lg:flex-col", children: /* @__PURE__ */ e.jsxs("div", { className: $("flex grow flex-col gap-y-5 overflow-y-auto px-6", a.bg), children: [
1880
+ /* @__PURE__ */ e.jsx("div", { className: "flex h-16 shrink-0 items-center", children: /* @__PURE__ */ e.jsx(
1881
+ "img",
1882
+ {
1883
+ alt: r.name,
1884
+ src: r.logo,
1885
+ className: "h-8 w-auto"
1886
+ }
1887
+ ) }),
1888
+ /* @__PURE__ */ e.jsx("nav", { className: "flex flex-1 flex-col", children: /* @__PURE__ */ e.jsxs("ul", { role: "list", className: "flex flex-1 flex-col gap-y-7", children: [
1889
+ /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("ul", { role: "list", className: "-mx-2 space-y-1", children: t.map((i) => /* @__PURE__ */ e.jsx(me, { item: i, colorScheme: a }, i.name)) }) }),
1890
+ /* @__PURE__ */ e.jsx("li", { className: "-mx-6 mt-auto", children: /* @__PURE__ */ e.jsxs(
1891
+ "a",
1892
+ {
1893
+ href: "#",
1894
+ className: $(
1895
+ "flex items-center gap-x-4 px-6 py-3 text-sm/6 font-semibold",
1896
+ a.activeText,
1897
+ a.hoverBg
1898
+ ),
1899
+ children: [
1900
+ /* @__PURE__ */ e.jsx(
1901
+ "img",
1902
+ {
1903
+ alt: s.name,
1904
+ src: s.image,
1905
+ className: $("size-8 rounded-full", a.activeBg)
1906
+ }
1907
+ ),
1908
+ /* @__PURE__ */ e.jsx("span", { className: "sr-only", children: "Your profile" }),
1909
+ /* @__PURE__ */ e.jsx("span", { "aria-hidden": "true", children: s.name })
1910
+ ]
1911
+ }
1912
+ ) })
1913
+ ] }) })
1914
+ ] }) }),
1915
+ /* @__PURE__ */ e.jsxs("div", { className: $("sticky top-0 z-40 flex items-center gap-x-6 px-4 py-4 shadow-xs sm:px-6 lg:hidden", a.bg), children: [
1916
+ /* @__PURE__ */ e.jsxs("button", { type: "button", onClick: () => n(!0), className: $("-m-2.5 p-2.5 lg:hidden", a.text), children: [
1917
+ /* @__PURE__ */ e.jsx("span", { className: "sr-only", children: "Open sidebar" }),
1918
+ /* @__PURE__ */ e.jsx(Ce, { "aria-hidden": "true", className: "size-6" })
1919
+ ] }),
1920
+ /* @__PURE__ */ e.jsx("div", { className: $("flex-1 text-sm/6 font-semibold", a.activeText), children: "Dashboard" }),
1921
+ /* @__PURE__ */ e.jsxs("a", { href: "#", children: [
1922
+ /* @__PURE__ */ e.jsx("span", { className: "sr-only", children: "Your profile" }),
1923
+ /* @__PURE__ */ e.jsx(
1924
+ "img",
1925
+ {
1926
+ alt: s.name,
1927
+ src: s.image,
1928
+ className: $("size-8 rounded-full", a.activeBg)
1929
+ }
1930
+ )
1931
+ ] })
1932
+ ] })
1933
+ ] }) });
1814
1934
  }
1815
- const or = {
1935
+ const er = {
1816
1936
  activeBg: "bg-reseda-green-700",
1817
1937
  activeText: "text-white",
1818
1938
  completedBg: "bg-success-500",
@@ -1823,8 +1943,8 @@ const or = {
1823
1943
  labelInactiveText: "text-text-muted",
1824
1944
  connectorBg: "bg-border"
1825
1945
  };
1826
- function Rr({ currentStep: r, steps: s, colorConfig: t }) {
1827
- const a = t || or;
1946
+ function kr({ currentStep: r, steps: s, colorConfig: t }) {
1947
+ const a = t || er;
1828
1948
  return /* @__PURE__ */ e.jsx("nav", { className: "mb-10", children: /* @__PURE__ */ e.jsx("ol", { className: "flex items-center w-full", children: s.map((l, n) => /* @__PURE__ */ e.jsxs("li", { className: `flex items-center ${n < s.length - 1 ? "flex-1" : ""}`, children: [
1829
1949
  /* @__PURE__ */ e.jsxs("div", { className: "flex items-center", children: [
1830
1950
  /* @__PURE__ */ e.jsx(
@@ -1845,406 +1965,133 @@ function Rr({ currentStep: r, steps: s, colorConfig: t }) {
1845
1965
  n < s.length - 1 && /* @__PURE__ */ e.jsx("div", { className: `flex-1 h-0.5 mx-4 ${a.connectorBg}` })
1846
1966
  ] }, l.number)) }) });
1847
1967
  }
1848
- function cr({
1849
- id: r,
1850
- index: s,
1851
- previewText: t,
1852
- defaultExpanded: a = !1,
1853
- children: l,
1854
- tooltipContent: n,
1855
- onRemove: i,
1856
- className: c = ""
1857
- }) {
1858
- const [u, x] = $(a), { attributes: d, listeners: m, setNodeRef: f, transform: v, transition: g, isDragging: y } = Be({ id: r }), V = {
1859
- transform: Oe.Transform.toString(v),
1860
- transition: g,
1861
- opacity: y ? 0.5 : 1
1862
- };
1863
- return /* @__PURE__ */ e.jsx(
1864
- "div",
1865
- {
1866
- ref: f,
1867
- style: V,
1868
- className: `border border-border rounded-md bg-surface-variant ${c}`,
1869
- children: u ? (
1870
- // ── Expanded ──────────────────────────────────────────────────────────
1871
- /* @__PURE__ */ e.jsxs("div", { className: "p-3", children: [
1872
- /* @__PURE__ */ e.jsxs("div", { className: "flex justify-between items-center mb-2", children: [
1873
- /* @__PURE__ */ e.jsx(
1874
- "button",
1875
- {
1876
- type: "button",
1877
- ...d,
1878
- ...m,
1879
- className: "h-auto w-auto p-1 cursor-grab active:cursor-grabbing rounded hover:bg-surface-variant inline-flex items-center justify-center",
1880
- "aria-label": "Drag to reorder",
1881
- children: /* @__PURE__ */ e.jsx(fe, { className: "w-4 h-4" })
1882
- }
1883
- ),
1884
- /* @__PURE__ */ e.jsxs(
1885
- "span",
1886
- {
1887
- className: "text-sm font-medium text-text-secondary flex-1 cursor-pointer select-none",
1888
- onClick: () => x(!1),
1889
- children: [
1890
- "Item ",
1891
- s + 1
1892
- ]
1893
- }
1894
- ),
1895
- /* @__PURE__ */ e.jsx(
1896
- S,
1897
- {
1898
- type: "button",
1899
- variant: "ghost",
1900
- size: "icon",
1901
- onClick: () => x(!1),
1902
- className: "h-auto w-auto p-1",
1903
- "aria-label": "Collapse",
1904
- leftIcon: /* @__PURE__ */ e.jsx(he, { className: "w-4 h-4 transition-transform rotate-90" })
1905
- }
1906
- ),
1907
- /* @__PURE__ */ e.jsx(
1908
- S,
1909
- {
1910
- type: "button",
1911
- variant: "ghost",
1912
- size: "icon",
1913
- onClick: i,
1914
- className: "h-auto w-auto p-1 text-error-600 hover:text-error-800",
1915
- "aria-label": "Remove",
1916
- leftIcon: /* @__PURE__ */ e.jsx(ee, { className: "w-4 h-4" })
1917
- }
1918
- )
1919
- ] }),
1920
- l
1921
- ] })
1922
- ) : (
1923
- // ── Collapsed ─────────────────────────────────────────────────────────
1924
- /* @__PURE__ */ e.jsxs("div", { className: "relative group", children: [
1925
- /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2 px-3 py-2", children: [
1926
- /* @__PURE__ */ e.jsx(
1927
- "button",
1928
- {
1929
- type: "button",
1930
- ...d,
1931
- ...m,
1932
- className: "h-auto w-auto p-1 cursor-grab active:cursor-grabbing flex-shrink-0 rounded hover:bg-surface-variant inline-flex items-center justify-center",
1933
- "aria-label": "Drag to reorder",
1934
- children: /* @__PURE__ */ e.jsx(fe, { className: "w-4 h-4" })
1935
- }
1936
- ),
1937
- /* @__PURE__ */ e.jsx(
1938
- "span",
1939
- {
1940
- className: "flex-1 text-sm text-text-secondary truncate cursor-pointer select-none",
1941
- onClick: () => x(!0),
1942
- children: t
1943
- }
1944
- ),
1945
- /* @__PURE__ */ e.jsx(
1946
- S,
1947
- {
1948
- type: "button",
1949
- variant: "ghost",
1950
- size: "icon",
1951
- onClick: () => x(!0),
1952
- className: "h-auto w-auto p-1 flex-shrink-0",
1953
- "aria-label": "Expand",
1954
- leftIcon: /* @__PURE__ */ e.jsx(he, { className: "w-4 h-4 transition-transform" })
1955
- }
1956
- ),
1957
- /* @__PURE__ */ e.jsx(
1958
- S,
1959
- {
1960
- type: "button",
1961
- variant: "ghost",
1962
- size: "icon",
1963
- onClick: i,
1964
- className: "h-auto w-auto p-1 text-error-600 hover:text-error-800 flex-shrink-0",
1965
- "aria-label": "Remove",
1966
- leftIcon: /* @__PURE__ */ e.jsx(ee, { className: "w-4 h-4" })
1967
- }
1968
- )
1969
- ] }),
1970
- n && /* @__PURE__ */ e.jsx("div", { className: "absolute left-0 top-full mt-1 z-10 w-80 bg-gray-900 text-white text-xs rounded-md p-3 shadow-lg opacity-0 group-hover:opacity-100 pointer-events-none transition-opacity duration-150", children: n })
1971
- ] })
1972
- )
1973
- }
1974
- );
1968
+ const rr = {
1969
+ activeText: "text-reseda-green-700",
1970
+ activeBorder: "border-reseda-green-700",
1971
+ inactiveText: "text-text-secondary",
1972
+ inactiveHoverText: "hover:text-text-primary",
1973
+ disabledText: "text-text-disabled"
1974
+ };
1975
+ function Cr({ tabs: r, activeTab: s, disabled: t = !1, onChange: a, colorConfig: l }) {
1976
+ const n = l || rr;
1977
+ return /* @__PURE__ */ e.jsx("div", { className: "flex border-b border-border mb-6", children: r.map((i) => {
1978
+ const c = s === i.id;
1979
+ return /* @__PURE__ */ e.jsx(
1980
+ F,
1981
+ {
1982
+ variant: "ghost",
1983
+ onClick: () => !t && a(i.id),
1984
+ disabled: t && !c,
1985
+ className: `px-4 py-2.5 text-sm font-medium whitespace-nowrap transition-colors border-b-2 -mb-px ${c ? `${n.activeBorder} ${n.activeText}` : t ? `border-transparent ${n.disabledText} cursor-not-allowed` : `border-transparent ${n.inactiveText} ${n.inactiveHoverText}`}`,
1986
+ children: i.label
1987
+ },
1988
+ i.id
1989
+ );
1990
+ }) });
1975
1991
  }
1976
- cr.displayName = "SortableItem";
1977
- function Ar({
1978
- onFileChange: r,
1979
- onAnalyze: s,
1980
- uploadedFile: t,
1981
- fileError: a,
1982
- onCancelUpload: l,
1983
- isAnalyzing: n = !1,
1984
- analyzeError: i,
1985
- analyzeSuccess: c,
1986
- accept: u = ".pdf,.docx",
1987
- label: x = "Upload File",
1988
- description: d = "PDF, DOCX up to 5MB",
1989
- analyzeButtonLabel: m = "Analyze",
1990
- disabled: f = !1,
1991
- showAnalyzeButton: v = !0
1992
+ function Vr({
1993
+ status: r,
1994
+ title: s,
1995
+ message: t,
1996
+ action: a,
1997
+ progress: l,
1998
+ className: n = ""
1992
1999
  }) {
1993
- const g = Ve(null), [y, V] = $(!1);
1994
- J(() => {
1995
- !t && g.current && (g.current.value = "");
1996
- }, [t]);
1997
- const T = (N) => {
1998
- N.preventDefault(), N.stopPropagation(), N.type === "dragenter" || N.type === "dragover" ? V(!0) : N.type === "dragleave" && V(!1);
1999
- }, R = (N) => {
2000
- if (N.preventDefault(), N.stopPropagation(), V(!1), N.dataTransfer.files && N.dataTransfer.files[0]) {
2001
- const D = {
2002
- target: {
2003
- files: N.dataTransfer.files
2004
- }
2005
- };
2006
- r(D);
2000
+ const c = {
2001
+ success: {
2002
+ bg: "bg-success-50",
2003
+ border: "border-success-200",
2004
+ text: "text-success-700",
2005
+ icon: /* @__PURE__ */ e.jsx(ve, { className: "h-5 w-5" })
2006
+ },
2007
+ error: {
2008
+ bg: "bg-error-50",
2009
+ border: "border-error-200",
2010
+ text: "text-error-700",
2011
+ icon: /* @__PURE__ */ e.jsx(he, { className: "h-5 w-5" })
2012
+ },
2013
+ warning: {
2014
+ bg: "bg-warning-50",
2015
+ border: "border-warning-200",
2016
+ text: "text-warning-700",
2017
+ icon: /* @__PURE__ */ e.jsx(fe, { className: "h-5 w-5" })
2018
+ },
2019
+ info: {
2020
+ bg: "bg-info-50",
2021
+ border: "border-info-200",
2022
+ text: "text-info-700",
2023
+ icon: /* @__PURE__ */ e.jsx(xe, { className: "h-5 w-5" })
2024
+ },
2025
+ loading: {
2026
+ bg: "bg-blue-50",
2027
+ border: "border-blue-200",
2028
+ text: "text-blue-700",
2029
+ icon: null
2007
2030
  }
2008
- };
2009
- return /* @__PURE__ */ e.jsxs("div", { className: "mt-6 pt-6 border-t border-border", children: [
2010
- /* @__PURE__ */ e.jsx("h3", { className: "text-sm font-medium text-text-primary mb-3", children: x }),
2011
- /* @__PURE__ */ e.jsxs("label", { className: "block", children: [
2012
- /* @__PURE__ */ e.jsx(
2013
- "input",
2014
- {
2015
- ref: g,
2016
- type: "file",
2017
- accept: u,
2018
- onChange: r,
2019
- className: "hidden",
2020
- id: "file-upload",
2021
- disabled: f
2022
- }
2023
- ),
2024
- /* @__PURE__ */ e.jsx(
2031
+ }[r];
2032
+ return /* @__PURE__ */ e.jsx("div", { className: `${c.bg} border ${c.border} rounded-lg p-4 ${n}`, children: /* @__PURE__ */ e.jsxs("div", { className: "flex items-start gap-3", children: [
2033
+ r === "loading" ? /* @__PURE__ */ e.jsxs("svg", { className: "animate-spin h-5 w-5 flex-shrink-0", viewBox: "0 0 24 24", children: [
2034
+ /* @__PURE__ */ e.jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", fill: "none", stroke: "currentColor", strokeWidth: "4" }),
2035
+ /* @__PURE__ */ e.jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })
2036
+ ] }) : /* @__PURE__ */ e.jsx("div", { className: `flex-shrink-0 ${c.text}`, children: c.icon }),
2037
+ /* @__PURE__ */ e.jsxs("div", { className: "flex-1", children: [
2038
+ /* @__PURE__ */ e.jsx("p", { className: `text-sm font-medium ${c.text}`, children: s }),
2039
+ t && /* @__PURE__ */ e.jsx("p", { className: `text-xs ${c.text} mt-1`, children: t }),
2040
+ l !== void 0 && /* @__PURE__ */ e.jsx("div", { className: "mt-2 w-full bg-gray-200 rounded-full h-2", children: /* @__PURE__ */ e.jsx(
2025
2041
  "div",
2026
2042
  {
2027
- onDragEnter: T,
2028
- onDragLeave: T,
2029
- onDragOver: T,
2030
- onDrop: R,
2031
- className: `border-2 border-dashed rounded-lg p-6 text-center transition cursor-pointer ${y ? "border-reseda-green-700 bg-reseda-green-50" : "border-border hover:border-reseda-green-700"} ${f ? "opacity-50 cursor-not-allowed" : ""}`,
2032
- children: t && !a ? /* @__PURE__ */ e.jsxs("div", { children: [
2033
- /* @__PURE__ */ e.jsx(
2034
- "svg",
2035
- {
2036
- className: "mx-auto h-12 w-12 text-success-500",
2037
- fill: "currentColor",
2038
- viewBox: "0 0 20 20",
2039
- children: /* @__PURE__ */ e.jsx(
2040
- "path",
2041
- {
2042
- fillRule: "evenodd",
2043
- d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",
2044
- clipRule: "evenodd"
2045
- }
2046
- )
2047
- }
2048
- ),
2049
- /* @__PURE__ */ e.jsx("div", { className: "mt-3", children: /* @__PURE__ */ e.jsx(G, { variant: "success", message: "File uploaded successfully" }) }),
2050
- /* @__PURE__ */ e.jsx("p", { className: "text-sm text-text-secondary mt-2 break-words", children: t.name }),
2051
- /* @__PURE__ */ e.jsxs("p", { className: "text-xs text-text-muted mt-1", children: [
2052
- (t.size / (1024 * 1024)).toFixed(2),
2053
- "MB"
2054
- ] }),
2055
- /* @__PURE__ */ e.jsx(
2056
- S,
2057
- {
2058
- variant: "link",
2059
- type: "button",
2060
- onClick: (N) => {
2061
- N.preventDefault(), l?.();
2062
- },
2063
- className: "mt-3 text-error-600 hover:text-error-700 h-auto p-0",
2064
- children: "✕ Cancel"
2065
- }
2066
- )
2067
- ] }) : /* @__PURE__ */ e.jsxs("div", { children: [
2068
- /* @__PURE__ */ e.jsx(
2069
- "svg",
2070
- {
2071
- className: "mx-auto h-12 w-12 text-text-muted",
2072
- stroke: "currentColor",
2073
- fill: "none",
2074
- viewBox: "0 0 48 48",
2075
- children: /* @__PURE__ */ e.jsx(
2076
- "path",
2077
- {
2078
- d: "M28 8H12a4 4 0 00-4 4v20m32-12v8m0 0v8a4 4 0 01-4 4H12a4 4 0 01-4-4v-4m32-4l-3.172-3.172a4 4 0 00-5.656 0L28 28M8 32l9.172-9.172a4 4 0 015.656 0L28 28m0 0l4 4m4-24h8m-4-4v8m-12 4h.02",
2079
- strokeWidth: "2",
2080
- strokeLinecap: "round",
2081
- strokeLinejoin: "round"
2082
- }
2083
- )
2084
- }
2085
- ),
2086
- /* @__PURE__ */ e.jsxs("p", { className: "mt-2 text-sm text-text-secondary", children: [
2087
- /* @__PURE__ */ e.jsx("span", { className: "font-medium text-reseda-green-700", children: "Upload a file" }),
2088
- " ",
2089
- "or drag and drop"
2090
- ] }),
2091
- /* @__PURE__ */ e.jsx("p", { className: "text-xs text-text-muted mt-1", children: d })
2092
- ] })
2043
+ className: `h-2 rounded-full transition-all ${c.bg}`,
2044
+ style: { width: `${l}%` }
2093
2045
  }
2094
- )
2046
+ ) })
2095
2047
  ] }),
2096
- a && /* @__PURE__ */ e.jsx("div", { className: "mt-3", children: /* @__PURE__ */ e.jsx(G, { variant: "error", message: a }) }),
2097
- i && /* @__PURE__ */ e.jsx("div", { className: "mt-3", children: /* @__PURE__ */ e.jsx(G, { variant: "error", message: i }) }),
2098
- c && /* @__PURE__ */ e.jsx("div", { className: "mt-3", children: /* @__PURE__ */ e.jsx(G, { variant: "success", message: c }) }),
2099
- v && /* @__PURE__ */ e.jsx(
2100
- S,
2048
+ a && /* @__PURE__ */ e.jsx(
2049
+ "button",
2101
2050
  {
2102
- variant: "default",
2103
- onClick: s,
2104
- disabled: !t || n || f,
2105
- loading: n,
2106
- fullWidth: !0,
2107
- className: "mt-3",
2108
- children: m
2051
+ onClick: a.onClick,
2052
+ className: `text-sm font-medium ${c.text} hover:opacity-70 flex-shrink-0`,
2053
+ children: a.label
2109
2054
  }
2110
2055
  )
2111
- ] });
2112
- }
2113
- function _r({ stats: r, columns: s = 4, className: t = "" }) {
2114
- const a = {
2115
- 2: "grid-cols-2",
2116
- 3: "grid-cols-3",
2117
- 4: "grid-cols-4"
2118
- }[s], l = {
2119
- "moss-green": { bg: "bg-moss-green-50", text: "text-reseda-green-700", value: "text-reseda-green-100" },
2120
- success: { bg: "bg-khaki-50", text: "text-success-600", value: "text-success-900" },
2121
- warning: { bg: "bg-peach-yellow-50", text: "text-warning-600", value: "text-warning-900" },
2122
- "earth-yellow": { bg: "bg-sunglow-50", text: "text-earth-yellow-700", value: "text-earth-yellow-100" }
2123
- };
2124
- return /* @__PURE__ */ e.jsx("div", { className: `grid ${a} gap-4 mb-6 bg-surface p-6 rounded-lg ${t}`, children: r.map((n, i) => {
2125
- const c = l[n.color || "moss-green"];
2126
- return /* @__PURE__ */ e.jsxs("div", { className: `${c.bg} rounded-lg p-4`, children: [
2127
- n.icon && /* @__PURE__ */ e.jsx("div", { className: "mb-2", children: n.icon }),
2128
- /* @__PURE__ */ e.jsx("p", { className: `text-sm ${c.text} font-medium`, children: n.label }),
2129
- /* @__PURE__ */ e.jsx("p", { className: `text-2xl font-bold ${c.value} mt-1`, children: n.value })
2130
- ] }, i);
2131
- }) });
2132
- }
2133
- function Br({
2134
- title: r,
2135
- description: s,
2136
- centered: t = !1,
2137
- titleSize: a = "md"
2138
- }) {
2139
- const l = {
2140
- sm: "text-2xl",
2141
- md: "text-3xl",
2142
- lg: "text-4xl"
2143
- }, n = t ? "text-center" : "", i = t ? "max-w-2xl mx-auto" : "";
2144
- return /* @__PURE__ */ e.jsxs("div", { className: `mb-8 ${n}`, children: [
2145
- /* @__PURE__ */ e.jsx("h1", { className: `${l[a]} font-bold text-text-primary`, children: r }),
2146
- /* @__PURE__ */ e.jsx("p", { className: `mt-2 text-text-secondary ${i}`, children: s })
2147
- ] });
2148
- }
2149
- function Or({
2150
- icon: r,
2151
- title: s,
2152
- subtitle: t,
2153
- metadata: a,
2154
- isSelected: l = !1,
2155
- isActive: n = !1,
2156
- variant: i = "default",
2157
- actions: c,
2158
- onClick: u,
2159
- className: x = ""
2160
- }) {
2161
- const d = (g) => {
2162
- const y = g.target;
2163
- y.tagName === "BUTTON" || y.closest("button") || u?.(g);
2164
- }, f = (() => {
2165
- if (n)
2166
- switch (i) {
2167
- case "success":
2168
- return "border-2 border-reseda-green-700 bg-success-50";
2169
- case "warning":
2170
- return "border-2 border-persian-orange-700 bg-warning-50";
2171
- case "error":
2172
- return "border-2 border-error-700 bg-error-50";
2173
- default:
2174
- return "border-2 border-reseda-green-700 bg-success-50";
2175
- }
2176
- return "border border-border hover:border-border-subtle hover:bg-surface-variant";
2177
- })(), v = l ? "ring-2 ring-reseda-green-700" : "";
2178
- return /* @__PURE__ */ e.jsx(
2179
- "div",
2180
- {
2181
- onClick: d,
2182
- className: `rounded-lg p-4 cursor-pointer transition ${f} ${v} ${x}`,
2183
- children: /* @__PURE__ */ e.jsxs("div", { className: "flex items-start justify-between", children: [
2184
- /* @__PURE__ */ e.jsxs("div", { className: "flex-1 flex items-start gap-3", children: [
2185
- r && /* @__PURE__ */ e.jsx("div", { className: "shrink-0", children: r }),
2186
- /* @__PURE__ */ e.jsxs("div", { className: "flex-1 min-w-0", children: [
2187
- /* @__PURE__ */ e.jsx("h3", { className: "font-medium text-text-primary", children: s }),
2188
- t && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-text-secondary mt-1", children: t }),
2189
- a && /* @__PURE__ */ e.jsx("div", { className: "mt-2", children: a })
2190
- ] })
2191
- ] }),
2192
- /* @__PURE__ */ e.jsx("div", { className: "ml-2 flex items-center gap-1 shrink-0", children: c.map((g, y) => /* @__PURE__ */ e.jsx(
2193
- S,
2194
- {
2195
- variant: g.variant || "ghost",
2196
- size: g.size || "sm",
2197
- onClick: g.onClick,
2198
- disabled: g.disabled,
2199
- loading: g.loading,
2200
- title: g.label,
2201
- className: g.className,
2202
- leftIcon: g.icon && g.size !== "icon" ? g.icon : void 0,
2203
- children: g.size === "icon" ? g.icon : g.label
2204
- },
2205
- y
2206
- )) })
2207
- ] })
2208
- }
2209
- );
2056
+ ] }) });
2210
2057
  }
2211
2058
  export {
2212
- $r as Accordion,
2213
- Or as ActionCard,
2214
- G as Alert,
2215
- er as Badge,
2216
- S as Button,
2217
- wr as Card,
2218
- kr as CheckboxGroup,
2219
- Fe as ColorPalette,
2220
- jr as Demo,
2221
- Ar as FileUpload,
2222
- Cr as FormField,
2223
- rr as Input,
2224
- Tr as OptionCard,
2225
- Br as PageHeader,
2226
- Vr as RadioGroup,
2227
- Nr as Section,
2228
- sr as Select,
2229
- pr as Sidebar,
2230
- nr as Slider,
2059
+ vr as Accordion,
2060
+ gr as ActionCard,
2061
+ H as Alert,
2062
+ We as Badge,
2063
+ F as Button,
2064
+ br as Card,
2065
+ xr as CheckboxGroup,
2066
+ Pe as ColorPalette,
2067
+ dr as Demo,
2068
+ jr as DetailPanel,
2069
+ mr as FileUpload,
2070
+ ur as FormField,
2071
+ Fe as Input,
2072
+ Nr as OptionCard,
2073
+ wr as PageHeader,
2074
+ fr as RadioGroup,
2075
+ pr as Section,
2076
+ Ie as Select,
2077
+ yr as Sidebar,
2078
+ Ke as Slider,
2231
2079
  qe as SocialButton,
2232
- cr as SortableItem,
2233
- _r as StatsGrid,
2234
- yr as StatusBanner,
2235
- Rr as Stepper,
2236
- Er as TabBar,
2237
- ar as TagInput,
2238
- tr as Textarea,
2239
- Ue as ThemeProvider,
2240
- We as ThemeToggle,
2241
- gr as clearAllErrors,
2242
- vr as clearFieldError,
2243
- hr as getFirstError,
2244
- De as hasErrors,
2245
- br as useForm,
2246
- Ye as useTheme,
2247
- Se as validateField,
2080
+ hr as StatsGrid,
2081
+ Vr as StatusBanner,
2082
+ kr as Stepper,
2083
+ Cr as TabBar,
2084
+ He as TagInput,
2085
+ Ze as Textarea,
2086
+ Se as ThemeProvider,
2087
+ Me as ThemeToggle,
2088
+ cr as clearAllErrors,
2089
+ or as clearFieldError,
2090
+ lr as getFirstError,
2091
+ Ae as hasErrors,
2092
+ ir as useForm,
2093
+ Le as useTheme,
2094
+ Re as validateField,
2248
2095
  Q as validateForm,
2249
- fr as validators
2096
+ nr as validators
2250
2097
  };