UNPKG

@anyreach/component-library-ui

Version:

React component library built on shadcn/ui foundation following atomic design principles

1,556 lines (1,554 loc) 98.8 kB
import { clsx as vr } from "clsx"; import { twMerge as br } from "tailwind-merge"; import * as l from "react"; import ht from "react"; import { Slot as jr } from "@radix-ui/react-slot"; import { cva as o } from "class-variance-authority"; import { Loader2 as gt, Search as vt, Minus as yr, Check as bt, Circle as Nr, ChevronRight as Ee, MoreHorizontal as _e, ChevronLeft as Ue, ChevronDown as Pe, ChevronUp as jt, Upload as wr, Image as Rr, File as kr, X as De, CheckCircle as Cr, AlertCircle as Vr, Info as Tr, Sun as Sr, Moon as Er, Settings as _r, Filter as Pr, List as Dr, Grid as ot, Plus as Le, Edit as Or, Trash2 as Ir } from "lucide-react"; import * as yt from "@radix-ui/react-label"; import * as Be from "@radix-ui/react-checkbox"; import * as ye from "@radix-ui/react-radio-group"; import * as F from "@radix-ui/react-select"; import { startOfMonth as zr, endOfMonth as Fr, startOfWeek as Mr, endOfWeek as Ar, getYear as lt, format as ct, isSameMonth as dt, addDays as Lr, subMonths as Br, getMonth as $r, addMonths as Yr, isToday as Ur, setMonth as Gr, setYear as Hr, isSameDay as Ve } from "date-fns"; import * as O from "@radix-ui/react-dialog"; import * as re from "@radix-ui/react-toast"; function n(...s) { return br(vr(s)); } var $e = { exports: {} }, ve = {}; /** * @license React * react-jsx-runtime.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ut; function Wr() { if (ut) return ve; ut = 1; var s = ht, a = Symbol.for("react.element"), r = Symbol.for("react.fragment"), c = Object.prototype.hasOwnProperty, u = s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, f = { key: !0, ref: !0, __self: !0, __source: !0 }; function R(N, v, C) { var g, y = {}, b = null, P = null; C !== void 0 && (b = "" + C), v.key !== void 0 && (b = "" + v.key), v.ref !== void 0 && (P = v.ref); for (g in v) c.call(v, g) && !f.hasOwnProperty(g) && (y[g] = v[g]); if (N && N.defaultProps) for (g in v = N.defaultProps, v) y[g] === void 0 && (y[g] = v[g]); return { $$typeof: a, type: N, key: b, ref: P, props: y, _owner: u.current }; } return ve.Fragment = r, ve.jsx = R, ve.jsxs = R, ve; } var be = {}; /** * @license React * react-jsx-runtime.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ft; function Jr() { return ft || (ft = 1, process.env.NODE_ENV !== "production" && function() { var s = ht, a = Symbol.for("react.element"), r = Symbol.for("react.portal"), c = Symbol.for("react.fragment"), u = Symbol.for("react.strict_mode"), f = Symbol.for("react.profiler"), R = Symbol.for("react.provider"), N = Symbol.for("react.context"), v = Symbol.for("react.forward_ref"), C = Symbol.for("react.suspense"), g = Symbol.for("react.suspense_list"), y = Symbol.for("react.memo"), b = Symbol.for("react.lazy"), P = Symbol.for("react.offscreen"), U = Symbol.iterator, ae = "@@iterator"; function W(t) { if (t === null || typeof t != "object") return null; var i = U && t[U] || t[ae]; return typeof i == "function" ? i : null; } var Y = s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; function _(t) { { for (var i = arguments.length, d = new Array(i > 1 ? i - 1 : 0), x = 1; x < i; x++) d[x - 1] = arguments[x]; H("error", t, d); } } function H(t, i, d) { { var x = Y.ReactDebugCurrentFrame, E = x.getStackAddendum(); E !== "" && (i += "%s", d = d.concat([E])); var D = d.map(function(V) { return String(V); }); D.unshift("Warning: " + i), Function.prototype.apply.call(console[t], console, D); } } var M = !1, Z = !1, se = !1, oe = !1, A = !1, h; h = Symbol.for("react.module.reference"); function ue(t) { return !!(typeof t == "string" || typeof t == "function" || t === c || t === f || A || t === u || t === C || t === g || oe || t === P || M || Z || se || typeof t == "object" && t !== null && (t.$$typeof === b || t.$$typeof === y || t.$$typeof === R || t.$$typeof === N || t.$$typeof === v || // This needs to include all possible module reference object // types supported by any Flight configuration anywhere since // we don't know which Flight build this will end up being used // with. t.$$typeof === h || t.getModuleId !== void 0)); } function le(t, i, d) { var x = t.displayName; if (x) return x; var E = i.displayName || i.name || ""; return E !== "" ? d + "(" + E + ")" : d; } function G(t) { return t.displayName || "Context"; } function q(t) { if (t == null) return null; if (typeof t.tag == "number" && _("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof t == "function") return t.displayName || t.name || null; if (typeof t == "string") return t; switch (t) { case c: return "Fragment"; case r: return "Portal"; case f: return "Profiler"; case u: return "StrictMode"; case C: return "Suspense"; case g: return "SuspenseList"; } if (typeof t == "object") switch (t.$$typeof) { case N: var i = t; return G(i) + ".Consumer"; case R: var d = t; return G(d._context) + ".Provider"; case v: return le(t, t.render, "ForwardRef"); case y: var x = t.displayName || null; return x !== null ? x : q(t.type) || "Memo"; case b: { var E = t, D = E._payload, V = E._init; try { return q(V(D)); } catch { return null; } } } return null; } var Q = Object.assign, ne = 0, j, B, ee, K, p, w, z; function I() { } I.__reactDisabledLog = !0; function m() { { if (ne === 0) { j = console.log, B = console.info, ee = console.warn, K = console.error, p = console.group, w = console.groupCollapsed, z = console.groupEnd; var t = { configurable: !0, enumerable: !0, value: I, writable: !0 }; Object.defineProperties(console, { info: t, log: t, warn: t, error: t, group: t, groupCollapsed: t, groupEnd: t }); } ne++; } } function S() { { if (ne--, ne === 0) { var t = { configurable: !0, enumerable: !0, writable: !0 }; Object.defineProperties(console, { log: Q({}, t, { value: j }), info: Q({}, t, { value: B }), warn: Q({}, t, { value: ee }), error: Q({}, t, { value: K }), group: Q({}, t, { value: p }), groupCollapsed: Q({}, t, { value: w }), groupEnd: Q({}, t, { value: z }) }); } ne < 0 && _("disabledDepth fell below zero. This is a bug in React. Please file an issue."); } } var T = Y.ReactCurrentDispatcher, ce; function me(t, i, d) { { if (ce === void 0) try { throw Error(); } catch (E) { var x = E.stack.trim().match(/\n( *(at )?)/); ce = x && x[1] || ""; } return ` ` + ce + t; } } var de = !1, Re; { var Wt = typeof WeakMap == "function" ? WeakMap : Map; Re = new Wt(); } function He(t, i) { if (!t || de) return ""; { var d = Re.get(t); if (d !== void 0) return d; } var x; de = !0; var E = Error.prepareStackTrace; Error.prepareStackTrace = void 0; var D; D = T.current, T.current = null, m(); try { if (i) { var V = function() { throw Error(); }; if (Object.defineProperty(V.prototype, "props", { set: function() { throw Error(); } }), typeof Reflect == "object" && Reflect.construct) { try { Reflect.construct(V, []); } catch (X) { x = X; } Reflect.construct(t, [], V); } else { try { V.call(); } catch (X) { x = X; } t.call(V.prototype); } } else { try { throw Error(); } catch (X) { x = X; } t(); } } catch (X) { if (X && x && typeof X.stack == "string") { for (var k = X.stack.split(` `), J = x.stack.split(` `), L = k.length - 1, $ = J.length - 1; L >= 1 && $ >= 0 && k[L] !== J[$]; ) $--; for (; L >= 1 && $ >= 0; L--, $--) if (k[L] !== J[$]) { if (L !== 1 || $ !== 1) do if (L--, $--, $ < 0 || k[L] !== J[$]) { var ie = ` ` + k[L].replace(" at new ", " at "); return t.displayName && ie.includes("<anonymous>") && (ie = ie.replace("<anonymous>", t.displayName)), typeof t == "function" && Re.set(t, ie), ie; } while (L >= 1 && $ >= 0); break; } } } finally { de = !1, T.current = D, S(), Error.prepareStackTrace = E; } var xe = t ? t.displayName || t.name : "", fe = xe ? me(xe) : ""; return typeof t == "function" && Re.set(t, fe), fe; } function Jt(t, i, d) { return He(t, !1); } function qt(t) { var i = t.prototype; return !!(i && i.isReactComponent); } function ke(t, i, d) { if (t == null) return ""; if (typeof t == "function") return He(t, qt(t)); if (typeof t == "string") return me(t); switch (t) { case C: return me("Suspense"); case g: return me("SuspenseList"); } if (typeof t == "object") switch (t.$$typeof) { case v: return Jt(t.render); case y: return ke(t.type, i, d); case b: { var x = t, E = x._payload, D = x._init; try { return ke(D(E), i, d); } catch { } } } return ""; } var ge = Object.prototype.hasOwnProperty, We = {}, Je = Y.ReactDebugCurrentFrame; function Ce(t) { if (t) { var i = t._owner, d = ke(t.type, t._source, i ? i.type : null); Je.setExtraStackFrame(d); } else Je.setExtraStackFrame(null); } function Kt(t, i, d, x, E) { { var D = Function.call.bind(ge); for (var V in t) if (D(t, V)) { var k = void 0; try { if (typeof t[V] != "function") { var J = Error((x || "React class") + ": " + d + " type `" + V + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof t[V] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."); throw J.name = "Invariant Violation", J; } k = t[V](i, V, x, d, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); } catch (L) { k = L; } k && !(k instanceof Error) && (Ce(E), _("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", x || "React class", d, V, typeof k), Ce(null)), k instanceof Error && !(k.message in We) && (We[k.message] = !0, Ce(E), _("Failed %s type: %s", d, k.message), Ce(null)); } } } var Xt = Array.isArray; function Ie(t) { return Xt(t); } function Zt(t) { { var i = typeof Symbol == "function" && Symbol.toStringTag, d = i && t[Symbol.toStringTag] || t.constructor.name || "Object"; return d; } } function Qt(t) { try { return qe(t), !1; } catch { return !0; } } function qe(t) { return "" + t; } function Ke(t) { if (Qt(t)) return _("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Zt(t)), qe(t); } var Xe = Y.ReactCurrentOwner, er = { key: !0, ref: !0, __self: !0, __source: !0 }, Ze, Qe; function tr(t) { if (ge.call(t, "ref")) { var i = Object.getOwnPropertyDescriptor(t, "ref").get; if (i && i.isReactWarning) return !1; } return t.ref !== void 0; } function rr(t) { if (ge.call(t, "key")) { var i = Object.getOwnPropertyDescriptor(t, "key").get; if (i && i.isReactWarning) return !1; } return t.key !== void 0; } function ar(t, i) { typeof t.ref == "string" && Xe.current; } function sr(t, i) { { var d = function() { Ze || (Ze = !0, _("%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://reactjs.org/link/special-props)", i)); }; d.isReactWarning = !0, Object.defineProperty(t, "key", { get: d, configurable: !0 }); } } function nr(t, i) { { var d = function() { Qe || (Qe = !0, _("%s: `ref` 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://reactjs.org/link/special-props)", i)); }; d.isReactWarning = !0, Object.defineProperty(t, "ref", { get: d, configurable: !0 }); } } var ir = function(t, i, d, x, E, D, V) { var k = { // This tag allows us to uniquely identify this as a React Element $$typeof: a, // Built-in properties that belong on the element type: t, key: i, ref: d, props: V, // Record the component responsible for creating this element. _owner: D }; return k._store = {}, Object.defineProperty(k._store, "validated", { configurable: !1, enumerable: !1, writable: !0, value: !1 }), Object.defineProperty(k, "_self", { configurable: !1, enumerable: !1, writable: !1, value: x }), Object.defineProperty(k, "_source", { configurable: !1, enumerable: !1, writable: !1, value: E }), Object.freeze && (Object.freeze(k.props), Object.freeze(k)), k; }; function or(t, i, d, x, E) { { var D, V = {}, k = null, J = null; d !== void 0 && (Ke(d), k = "" + d), rr(i) && (Ke(i.key), k = "" + i.key), tr(i) && (J = i.ref, ar(i, E)); for (D in i) ge.call(i, D) && !er.hasOwnProperty(D) && (V[D] = i[D]); if (t && t.defaultProps) { var L = t.defaultProps; for (D in L) V[D] === void 0 && (V[D] = L[D]); } if (k || J) { var $ = typeof t == "function" ? t.displayName || t.name || "Unknown" : t; k && sr(V, $), J && nr(V, $); } return ir(t, k, J, E, x, Xe.current, V); } } var ze = Y.ReactCurrentOwner, et = Y.ReactDebugCurrentFrame; function pe(t) { if (t) { var i = t._owner, d = ke(t.type, t._source, i ? i.type : null); et.setExtraStackFrame(d); } else et.setExtraStackFrame(null); } var Fe; Fe = !1; function Me(t) { return typeof t == "object" && t !== null && t.$$typeof === a; } function tt() { { if (ze.current) { var t = q(ze.current.type); if (t) return ` Check the render method of \`` + t + "`."; } return ""; } } function lr(t) { return ""; } var rt = {}; function cr(t) { { var i = tt(); if (!i) { var d = typeof t == "string" ? t : t.displayName || t.name; d && (i = ` Check the top-level render call using <` + d + ">."); } return i; } } function at(t, i) { { if (!t._store || t._store.validated || t.key != null) return; t._store.validated = !0; var d = cr(i); if (rt[d]) return; rt[d] = !0; var x = ""; t && t._owner && t._owner !== ze.current && (x = " It was passed a child from " + q(t._owner.type) + "."), pe(t), _('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', d, x), pe(null); } } function st(t, i) { { if (typeof t != "object") return; if (Ie(t)) for (var d = 0; d < t.length; d++) { var x = t[d]; Me(x) && at(x, i); } else if (Me(t)) t._store && (t._store.validated = !0); else if (t) { var E = W(t); if (typeof E == "function" && E !== t.entries) for (var D = E.call(t), V; !(V = D.next()).done; ) Me(V.value) && at(V.value, i); } } } function dr(t) { { var i = t.type; if (i == null || typeof i == "string") return; var d; if (typeof i == "function") d = i.propTypes; else if (typeof i == "object" && (i.$$typeof === v || // Note: Memo only checks outer props here. // Inner props are checked in the reconciler. i.$$typeof === y)) d = i.propTypes; else return; if (d) { var x = q(i); Kt(d, t.props, "prop", x, t); } else if (i.PropTypes !== void 0 && !Fe) { Fe = !0; var E = q(i); _("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", E || "Unknown"); } typeof i.getDefaultProps == "function" && !i.getDefaultProps.isReactClassApproved && _("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."); } } function ur(t) { { for (var i = Object.keys(t.props), d = 0; d < i.length; d++) { var x = i[d]; if (x !== "children" && x !== "key") { pe(t), _("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", x), pe(null); break; } } t.ref !== null && (pe(t), _("Invalid attribute `ref` supplied to `React.Fragment`."), pe(null)); } } var nt = {}; function it(t, i, d, x, E, D) { { var V = ue(t); if (!V) { var k = ""; (t === void 0 || typeof t == "object" && t !== null && Object.keys(t).length === 0) && (k += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."); var J = lr(); J ? k += J : k += tt(); var L; t === null ? L = "null" : Ie(t) ? L = "array" : t !== void 0 && t.$$typeof === a ? (L = "<" + (q(t.type) || "Unknown") + " />", k = " Did you accidentally export a JSX literal instead of a component?") : L = typeof t, _("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", L, k); } var $ = or(t, i, d, E, D); if ($ == null) return $; if (V) { var ie = i.children; if (ie !== void 0) if (x) if (Ie(ie)) { for (var xe = 0; xe < ie.length; xe++) st(ie[xe], t); Object.freeze && Object.freeze(ie); } else _("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."); else st(ie, t); } if (ge.call(i, "key")) { var fe = q(t), X = Object.keys(i).filter(function(gr) { return gr !== "key"; }), Ae = X.length > 0 ? "{key: someKey, " + X.join(": ..., ") + ": ...}" : "{key: someKey}"; if (!nt[fe + Ae]) { var hr = X.length > 0 ? "{" + X.join(": ..., ") + ": ...}" : "{}"; _(`A props object containing a "key" prop is being spread into JSX: let props = %s; <%s {...props} /> React keys must be passed directly to JSX without using spread: let props = %s; <%s key={someKey} {...props} />`, Ae, fe, hr, fe), nt[fe + Ae] = !0; } } return t === c ? ur($) : dr($), $; } } function fr(t, i, d) { return it(t, i, d, !0); } function mr(t, i, d) { return it(t, i, d, !1); } var pr = mr, xr = fr; be.Fragment = c, be.jsx = pr, be.jsxs = xr; }()), be; } process.env.NODE_ENV === "production" ? $e.exports = Wr() : $e.exports = Jr(); var e = $e.exports; const qr = o( "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", { variants: { variant: { default: "bg-primary text-primary-foreground shadow hover:bg-primary/90", destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", ghost: "hover:bg-accent hover:text-accent-foreground" }, size: { default: "h-9 px-4 py-2", icon: "h-9 w-9" } }, defaultVariants: { variant: "default", size: "default" } } ), te = l.forwardRef( ({ className: s, variant: a, size: r, asChild: c = !1, icon: u, loading: f = !1, children: R, disabled: N, ...v }, C) => { const g = c ? jr : "button", y = u ? l.cloneElement(u, { className: n("h-4 w-4", u.props.className) }) : null, b = r === "icon" || !R && (y || f) ? "icon" : r, P = N || f; return /* @__PURE__ */ e.jsxs( g, { className: n(qr({ variant: a, size: b, className: s })), ref: C, disabled: P, ...v, children: [ f ? /* @__PURE__ */ e.jsx(gt, { className: "h-4 w-4 animate-spin" }) : y, R ] } ); } ); te.displayName = "Button"; const mt = o( "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", { variants: { variant: { default: "", search: "" } }, defaultVariants: { variant: "default" } } ), Ge = l.forwardRef( ({ className: s, type: a, variant: r, icon: c, ...u }, f) => { const R = c ? l.cloneElement(c, { className: n("h-4 w-4 text-muted-foreground", c.props.className) }) : null, v = R || (r === "search" && !R ? /* @__PURE__ */ e.jsx(vt, { className: "h-4 w-4 text-muted-foreground" }) : null); return v ? /* @__PURE__ */ e.jsxs("div", { className: "relative", children: [ /* @__PURE__ */ e.jsx( "input", { type: r === "search" ? "search" : a, className: n(mt({ variant: r, className: s }), "pr-10"), ref: f, ...u } ), /* @__PURE__ */ e.jsx("div", { className: "absolute right-3 top-1/2 transform -translate-y-1/2 pointer-events-none", children: v }) ] }) : /* @__PURE__ */ e.jsx( "input", { type: r === "search" ? "search" : a, className: n(mt({ variant: r, className: s })), ref: f, ...u } ); } ); Ge.displayName = "Input"; const Kr = o( "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" ), Xr = l.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx( yt.Root, { ref: r, className: n(Kr(), s), ...a } )); Xr.displayName = yt.Root.displayName; const Zr = l.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx( Be.Root, { ref: r, className: n( "peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground", s ), ...a, children: /* @__PURE__ */ e.jsx( Be.Indicator, { className: n("flex items-center justify-center text-current"), children: a.checked === "indeterminate" ? /* @__PURE__ */ e.jsx(yr, { className: "h-4 w-4" }) : /* @__PURE__ */ e.jsx(bt, { className: "h-4 w-4" }) } ) } )); Zr.displayName = Be.Root.displayName; const Qr = l.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx( ye.Root, { className: n("grid gap-2", s), ...a, ref: r } )); Qr.displayName = ye.Root.displayName; const ea = l.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx( ye.Item, { ref: r, className: n( "aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", s ), ...a, children: /* @__PURE__ */ e.jsx(ye.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ e.jsx(Nr, { className: "h-2.5 w-2.5 fill-current text-current" }) }) } )); ea.displayName = ye.Item.displayName; const ta = o( "flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", { variants: { state: { default: "", required: "border-destructive focus-visible:ring-destructive", disabled: "cursor-not-allowed opacity-50" } }, defaultVariants: { state: "default" } } ), ra = l.forwardRef( ({ className: s, state: a, required: r, disabled: c, ...u }, f) => { const R = c ? "disabled" : r ? "required" : "default"; return /* @__PURE__ */ e.jsx( "textarea", { className: n(ta({ state: R, className: s })), ref: f, required: r, disabled: c, ...u } ); } ); ra.displayName = "Textarea"; const aa = o( "relative flex w-full touch-none select-none items-center", { variants: { state: { default: "", disabled: "cursor-not-allowed opacity-50" } }, defaultVariants: { state: "default" } } ), sa = o( "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", { variants: { state: { default: "", disabled: "opacity-50" } }, defaultVariants: { state: "default" } } ), na = o("absolute h-full bg-primary", { variants: { state: { default: "", disabled: "opacity-50" } }, defaultVariants: { state: "default" } }), ia = o( "block h-5 w-5 rounded-full border-2 border-primary bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", { variants: { state: { default: "", disabled: "cursor-not-allowed opacity-50" } }, defaultVariants: { state: "default" } } ), oa = l.forwardRef( ({ className: s, state: a, value: r = 0, onValueChange: c, min: u = 0, max: f = 100, step: R = 1, disabled: N, ...v }, C) => { const [g, y] = l.useState(r), b = N ? "disabled" : "default", P = (g - u) / (f - u) * 100, U = (ae) => { const W = Number(ae.target.value); y(W), c == null || c(W); }; return l.useEffect(() => { y(r); }, [r]), /* @__PURE__ */ e.jsxs("div", { className: n(aa({ state: b, className: s })), children: [ /* @__PURE__ */ e.jsx("div", { className: n(sa({ state: b })), children: /* @__PURE__ */ e.jsx( "div", { className: n(na({ state: b })), style: { width: `${P}%` } } ) }), /* @__PURE__ */ e.jsx( "input", { ref: C, type: "range", value: g, onChange: U, min: u, max: f, step: R, disabled: N, className: "absolute inset-0 w-full h-full opacity-0 cursor-pointer disabled:cursor-not-allowed", ...v } ), /* @__PURE__ */ e.jsx( "div", { className: n(ia({ state: b })), style: { left: `calc(${P}% - 10px)`, // Adjust for thumb width position: "absolute", top: "50%", transform: "translateY(-50%)" } } ) ] }); } ); oa.displayName = "Slider"; const la = o( "relative flex shrink-0 overflow-hidden rounded-full", { variants: { size: { sm: "h-8 w-8", md: "h-10 w-10", lg: "h-12 w-12" } }, defaultVariants: { size: "md" } } ), ca = o( "aspect-square h-full w-full object-cover" ), da = o( "flex h-full w-full items-center justify-center rounded-full bg-muted text-muted-foreground font-medium", { variants: { size: { sm: "text-xs", md: "text-sm", lg: "text-base" } }, defaultVariants: { size: "md" } } ), ua = o( "absolute bottom-0 right-0 h-3 w-3 rounded-full border-2 border-background", { variants: { status: { online: "bg-green-500", offline: "bg-gray-500", away: "bg-yellow-500", busy: "bg-red-500" } } } ), Nt = l.forwardRef( ({ className: s, size: a, src: r, alt: c, fallback: u, status: f, ...R }, N) => { const [v, C] = l.useState(!1), g = (b) => b.split(" ").map((P) => P.charAt(0).toUpperCase()).slice(0, 2).join(""), y = () => { C(!0); }; return /* @__PURE__ */ e.jsxs( "div", { ref: N, className: n(la({ size: a, className: s })), ...R, children: [ r && !v ? /* @__PURE__ */ e.jsx( "img", { src: r, alt: c || "Avatar", className: n(ca()), onError: y } ) : /* @__PURE__ */ e.jsx("div", { className: n(da({ size: a })), children: u ? g(u) : "?" }), f && /* @__PURE__ */ e.jsx("div", { className: n(ua({ status: f })) }) ] } ); } ); Nt.displayName = "Avatar"; const fa = o( "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", { variants: { variant: { default: "border-transparent bg-zinc-50 text-zinc-900 shadow hover:bg-zinc-100 dark:bg-zinc-800 dark:text-zinc-100 dark:hover:bg-zinc-700", info: "border-transparent bg-blue-50 text-blue-900 shadow hover:bg-blue-100 dark:bg-blue-900/20 dark:text-blue-100 dark:hover:bg-blue-900/30", success: "border-transparent bg-green-50 text-green-900 shadow hover:bg-green-100 dark:bg-green-900/20 dark:text-green-100 dark:hover:bg-green-900/30", warning: "border-transparent bg-amber-50 text-amber-900 shadow hover:bg-amber-100 dark:bg-amber-900/20 dark:text-amber-100 dark:hover:bg-amber-900/30", danger: "border-transparent bg-red-50 text-red-900 shadow hover:bg-red-100 dark:bg-red-900/20 dark:text-red-100 dark:hover:bg-red-900/30" } }, defaultVariants: { variant: "default" } } ); function gn({ className: s, variant: a, ...r }) { return /* @__PURE__ */ e.jsx("div", { className: n(fa({ variant: a }), s), ...r }); } const ma = o( "relative h-2 w-full overflow-hidden rounded-full bg-secondary", { variants: { size: { sm: "h-1", md: "h-2", lg: "h-3" } }, defaultVariants: { size: "md" } } ), pa = o( "h-full w-full flex-1 bg-primary transition-all duration-300 ease-in-out" ), wt = l.forwardRef( ({ className: s, value: a = 0, max: r = 100, size: c, ...u }, f) => { const R = Math.min(Math.max(a / r * 100, 0), 100); return /* @__PURE__ */ e.jsx( "div", { ref: f, className: n(ma({ size: c, className: s })), ...u, children: /* @__PURE__ */ e.jsx( "div", { className: n(pa()), style: { transform: `translateX(-${100 - R}%)` } } ) } ); } ); wt.displayName = "Progress"; const xa = o( "shrink-0 bg-border", { variants: { orientation: { horizontal: "h-[1px] w-full", vertical: "h-full w-[1px]" } }, defaultVariants: { orientation: "horizontal" } } ), Ye = l.forwardRef( ({ className: s, orientation: a, ...r }, c) => /* @__PURE__ */ e.jsx( "div", { ref: c, className: n(xa({ orientation: a }), s), ...r } ) ); Ye.displayName = "Separator"; const ha = o( "rounded-lg border bg-card text-card-foreground shadow-md", { variants: { variant: { default: "bg-background", active: "bg-zinc-50 dark:bg-zinc-800/50" } }, defaultVariants: { variant: "default" } } ), ga = o( "flex flex-col space-y-1.5 p-6" ), va = o( "text-2xl font-semibold leading-none tracking-tight" ), ba = o( "text-sm text-muted-foreground" ), ja = o( "p-6 pt-0" ), ya = o( "flex items-center p-6 pt-0" ), Rt = l.forwardRef( ({ className: s, variant: a, ...r }, c) => /* @__PURE__ */ e.jsx( "div", { ref: c, className: n(ha({ variant: a, className: s })), ...r } ) ); Rt.displayName = "Card"; const kt = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx("div", { ref: r, className: n(ga(), s), ...a }) ); kt.displayName = "CardHeader"; const Na = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx("h3", { ref: r, className: n(va(), s), ...a }) ); Na.displayName = "CardTitle"; const wa = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx("p", { ref: r, className: n(ba(), s), ...a }) ); wa.displayName = "CardDescription"; const Ct = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx("div", { ref: r, className: n(ja(), s), ...a }) ); Ct.displayName = "CardContent"; const Ra = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx("div", { ref: r, className: n(ya(), s), ...a }) ); Ra.displayName = "CardFooter"; const Vt = o( "flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground" ), ka = o( "inline-flex items-center gap-1.5" ), Ca = o( "transition-colors hover:text-foreground" ), Va = o( "font-normal text-foreground" ), Ta = o( "text-muted-foreground" ), Sa = o( "flex h-9 w-9 items-center justify-center" ), Tt = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx("nav", { ref: r, "aria-label": "breadcrumb", ...a, children: /* @__PURE__ */ e.jsx("ol", { className: n(Vt(), s), ...a }) }) ); Tt.displayName = "Breadcrumb"; const St = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx( "ol", { ref: r, className: n(Vt(), s), ...a } ) ); St.displayName = "BreadcrumbList"; const Et = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx( "li", { ref: r, className: n(ka(), s), ...a } ) ); Et.displayName = "BreadcrumbItem"; const _t = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx( "a", { ref: r, className: n(Ca(), s), ...a } ) ); _t.displayName = "BreadcrumbLink"; const Pt = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx( "span", { ref: r, role: "link", "aria-disabled": "true", "aria-current": "page", className: n(Va(), s), ...a } ) ); Pt.displayName = "BreadcrumbPage"; const Dt = l.forwardRef( ({ className: s, children: a, ...r }, c) => /* @__PURE__ */ e.jsx( "li", { ref: c, role: "presentation", "aria-hidden": "true", className: n(Ta(), s), ...r, children: a ?? /* @__PURE__ */ e.jsx(Ee, { className: "h-4 w-4" }) } ) ); Dt.displayName = "BreadcrumbSeparator"; const Ea = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsxs( "span", { ref: r, role: "presentation", "aria-hidden": "true", className: n(Sa(), s), ...a, children: [ /* @__PURE__ */ e.jsx(_e, { className: "h-4 w-4" }), /* @__PURE__ */ e.jsx("span", { className: "sr-only", children: "More" }) ] } ) ); Ea.displayName = "BreadcrumbEllipsis"; const _a = o( "mx-auto flex w-full justify-center" ), Pa = o( "flex flex-row items-center gap-1" ), Da = o( "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", { variants: { variant: { default: "hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2", ghost: "hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2", outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2", current: "border border-input bg-background text-foreground h-10 px-4 py-2 bg-primary text-primary-foreground hover:bg-primary/90" }, size: { default: "h-10 px-4 py-2", sm: "h-9 rounded-md px-3", lg: "h-11 rounded-md px-8", icon: "h-10 w-10" } }, defaultVariants: { variant: "ghost", size: "default" } } ), Ot = ({ className: s, ...a }) => /* @__PURE__ */ e.jsx( "nav", { role: "navigation", "aria-label": "pagination", className: n(_a(), s), ...a } ); Ot.displayName = "Pagination"; const It = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx("ul", { ref: r, className: n(Pa(), s), ...a }) ); It.displayName = "PaginationContent"; const je = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx("li", { ref: r, className: n("", s), ...a }) ); je.displayName = "PaginationItem"; const Oe = l.forwardRef( ({ className: s, isActive: a, size: r = "icon", variant: c, ...u }, f) => /* @__PURE__ */ e.jsx( "a", { ref: f, "aria-current": a ? "page" : void 0, className: n( Da({ variant: a ? "current" : c || "ghost", size: r }), s ), ...u } ) ); Oe.displayName = "PaginationLink"; const zt = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsxs( Oe, { ref: r, "aria-label": "Go to previous page", size: "default", className: n("gap-1 pl-2.5", s), ...a, children: [ /* @__PURE__ */ e.jsx(Ue, { className: "h-4 w-4" }), /* @__PURE__ */ e.jsx("span", { children: "Previous" }) ] } ) ); zt.displayName = "PaginationPrevious"; const Ft = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsxs( Oe, { ref: r, "aria-label": "Go to next page", size: "default", className: n("gap-1 pr-2.5", s), ...a, children: [ /* @__PURE__ */ e.jsx("span", { children: "Next" }), /* @__PURE__ */ e.jsx(Ee, { className: "h-4 w-4" }) ] } ) ); Ft.displayName = "PaginationNext"; const Mt = l.forwardRef( ({ className: s, ...a }, r) => /* @__PURE__ */ e.jsxs( "span", { ref: r, "aria-hidden": !0, className: n("flex h-9 w-9 items-center justify-center", s), ...a, children: [ /* @__PURE__ */ e.jsx(_e, { className: "h-4 w-4" }), /* @__PURE__ */ e.jsx("span", { className: "sr-only", children: "More pages" }) ] } ) ); Mt.displayName = "PaginationEllipsis"; const Oa = o( "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1", { variants: { variant: { default: "" } }, defaultVariants: { variant: "default" } } ), Ia = o( "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2" ), za = o( "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50" ), Fa = o( "-mx-1 my-1 h-px bg-muted" ), Ma = o( "py-1.5 pl-8 pr-2 text-sm font-semibold" ), Te = F.Root, vn = F.Group, Se = F.Value, Ne = l.forwardRef(({ className: s, variant: a, children: r, ...c }, u) => /* @__PURE__ */ e.jsxs( F.Trigger, { ref: u, className: n(Oa({ variant: a, className: s })), ...c, children: [ r, /* @__PURE__ */ e.jsx(F.Icon, { asChild: !0, children: /* @__PURE__ */ e.jsx(Pe, { className: "h-4 w-4 opacity-50" }) }) ] } )); Ne.displayName = F.Trigger.displayName; const At = l.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx( F.ScrollUpButton, { ref: r, className: n( "flex cursor-default items-center justify-center py-1", s ), ...a, children: /* @__PURE__ */ e.jsx(jt, { className: "h-4 w-4" }) } )); At.displayName = F.ScrollUpButton.displayName; const Lt = l.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx( F.ScrollDownButton, { ref: r, className: n( "flex cursor-default items-center justify-center py-1", s ), ...a, children: /* @__PURE__ */ e.jsx(Pe, { className: "h-4 w-4" }) } )); Lt.displayName = F.ScrollDownButton.displayName; const we = l.forwardRef(({ className: s, children: a, position: r = "popper", ...c }, u) => /* @__PURE__ */ e.jsx(F.Portal, { children: /* @__PURE__ */ e.jsxs( F.Content, { ref: u, className: n(Ia(), s), position: r, ...c, children: [ /* @__PURE__ */ e.jsx(At, {}), /* @__PURE__ */ e.jsx( F.Viewport, { className: n( "p-1", r === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]" ), children: a } ), /* @__PURE__ */ e.jsx(Lt, {}) ] } ) })); we.displayName = F.Content.displayName; const Aa = l.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx( F.Label, { ref: r, className: n(Ma(), s), ...a } )); Aa.displayName = F.Label.displayName; const he = l.forwardRef(({ className: s, children: a, ...r }, c) => /* @__PURE__ */ e.jsxs( F.Item, { ref: c, className: n(za(), s), ...r, children: [ /* @__PURE__ */ e.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ e.jsx(F.ItemIndicator, { children: /* @__PURE__ */ e.jsx(bt, { className: "h-4 w-4" }) }) }), /* @__PURE__ */ e.jsx(F.ItemText, { children: a }) ] } )); he.displayName = F.Item.displayName; const La = l.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx( F.Separator, { ref: r, className: n(Fa(), s), ...a } )); La.displayName = F.Separator.displayName; const Ba = o( "p-3 bg-background border rounded-lg shadow-sm" ), $a = o( "flex items-center justify-between w-full mb-4" ), pt = o( "grid grid-cols-7 gap-1" ), Ya = o( "h-8 w-8 text-center text-sm font-medium text-muted-foreground flex items-center justify-center" ), Ua = o( "h-8 w-8 text-center text-sm p-0 font-normal aria-selected:opacity-100 relative flex items-center justify-center cursor-pointer rounded-sm transition-colors", { variants: { variant: { default: "hover:bg-accent hover:text-accent-foreground", selected: "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground", today: "bg-accent text-accent-foreground", outside: "text-muted-foreground opacity-50", disabled: "text-muted-foreground opacity-50 cursor-not-allowed", range: "bg-accent text-accent-foreground", rangeStart: "bg-primary text-primary-foreground rounded-l-sm rounded-r-none", rangeEnd: "bg-primary text-primary-foreground rounded-r-sm rounded-l-none", rangeMiddle: "bg-accent text-accent-foreground rounded-none" } }, defaultVariants: { variant: "default" } } ), Ga = l.forwardRef( ({ className: s, selected: a, onSelect: r, keepRange: c = !1, disabled: u, showOutsideDays: f = !0, showDropdowns: R = !0, ...N }, v) => { const [C, g] = l.useState(a instanceof Date ? a : /* @__PURE__ */ new Date()), [y, b] = l.useState(null), P = zr(C), U = Fr(P), ae = Mr(P), W = Ar(U), Y = "d", _ = []; let H = [], M = ae, Z = ""; const se = (p) => a ? Array.isArray(a) ? a.some((w) => Ve(w, p)) : Ve(a, p) : !1, oe = (p) => { if (!c || !Array.isArray(a) || a.length !== 2) return !1; const [w, z] = a.sort((I, m) => I.getTime() - m.getTime()); return p >= w && p <= z; }, A = (p) => { if (!c || !Array.isArray(a) || a.length !== 2) return !1; const [w] = a.sort((z, I) => z.getTime() - I.getTime()); return Ve(p, w); }, h = (p) => { if (!c || !Array.isArray(a) || a.length !== 2) return !1; const [, w] = a.sort((z, I) => z.getTime() - I.getTime()); return Ve(p, w); }, ue = (p) => { if (!(u != null && u(p))) { if (!c) { r == null || r(p); return; } if (!y) b(p), r == null || r([p]); else { const w = [y, p].sort((z, I) => z.getTime() - I.getTime()); r == null || r(w), b(null); } } }, le = (p) => { const w = parseInt(p); g(Gr(C, w)); }, G = (p) => { const w = parseInt(p); g(Hr(C, w)); }, q = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], Q = lt(/* @__PURE__ */ new Date()), ne = 1900, j = Q + 10, B = Array.from({ length: j - ne + 1 }, (p, w) => ne + w).reverse(), ee = (p) => { if (u != null && u(p)) return "disabled"; if (!dt(p, P)) return "outside"; if (Ur(p)) return "today"; if (c) { if (A(p)) return "rangeStart"; if (h(p)) return "rangeEnd"; if (oe(p)) return "rangeMiddle"; } return se(p) ? "selected" : "default"; }; for (; M <= W; ) { for (let p = 0; p < 7; p++) { Z = ct(M, Y); const w = new Date(M), z = ee(w), I = f || dt(M, P); H.push( /* @__PURE__ */ e.jsx( "div", { className: n( Ua({ variant: z }), !I && "invisible" ), onClick: () => I && ue(w), children: /* @__PURE__ */ e.jsx("span", { children: Z }) }, M.toString() ) ), M = Lr(M, 1); } _.push( /* @__PURE__ */ e.jsx("div", { className: n(