Socket
Socket
Sign inDemoInstall

avine-react-components

Package Overview
Dependencies
Maintainers
1
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

avine-react-components - npm Package Compare versions

Comparing version 0.1.33 to 0.1.34

dist/components/dialog/dialog.d.mts

1

dist/components/button/button.d.ts

@@ -14,2 +14,3 @@ import React, { HTMLAttributes, FC } from 'react';

leadingIcon?: React.ReactNode;
trailingIcon?: React.ReactNode;
isDisabled?: boolean;

@@ -16,0 +17,0 @@ isLoading?: boolean;

14

dist/components/button/button.js

@@ -71,2 +71,3 @@ "use strict";

leadingIcon,
trailingIcon,
onClick,

@@ -76,3 +77,3 @@ ...rest

const classes = (0, import_react.useMemo)(() => {
const values = [];
const values = ["flex items-center flex-nowrap whitespace-nowrap focus:outline-none focus:ring-4 font-medium capitalize"];
if (_type === "contained" && emphasis === "high") {

@@ -95,13 +96,16 @@ values.push("text-white bg-green-700 hover:bg-green-800 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800");

values.push(radius[rounded]);
if (className.length > 0)
values.push(className);
return values.join(" ");
}, [_type, size, label, rounded, emphasis]);
const IconContainer = () => /* @__PURE__ */ import_react.default.createElement("div", { className: `${label.length > 0 ? "mr-2" : null}` }, leadingIcon);
}, [className, _type, size, label, rounded, emphasis]);
const LeadingIconContainer = () => /* @__PURE__ */ import_react.default.createElement("div", { className: `${label.length > 0 ? "mr-2" : null}` }, leadingIcon);
const TrailingIconContainer = () => /* @__PURE__ */ import_react.default.createElement("div", { className: `${label.length > 0 ? "ml-2" : null}` }, trailingIcon);
return /* @__PURE__ */ import_react.default.createElement(
"button",
{
className: `flex items-center flex-nowrap whitespace-nowrap focus:outline-none focus:ring-4 font-medium capitalize ${classes}`,
className: classes,
onClick,
...rest
},
/* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, leadingIcon && /* @__PURE__ */ import_react.default.createElement(IconContainer, null), label)
/* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, leadingIcon && /* @__PURE__ */ import_react.default.createElement(LeadingIconContainer, null), label, trailingIcon && /* @__PURE__ */ import_react.default.createElement(TrailingIconContainer, null))
);

@@ -108,0 +112,0 @@ };

@@ -81,2 +81,3 @@ "use strict";

leadingIcon,
trailingIcon,
onClick,

@@ -86,3 +87,3 @@ ...rest

const classes = (0, import_react.useMemo)(() => {
const values = [];
const values = ["flex items-center flex-nowrap whitespace-nowrap focus:outline-none focus:ring-4 font-medium capitalize"];
if (_type === "contained" && emphasis === "high") {

@@ -105,13 +106,16 @@ values.push("text-white bg-green-700 hover:bg-green-800 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800");

values.push(radius[rounded]);
if (className.length > 0)
values.push(className);
return values.join(" ");
}, [_type, size, label, rounded, emphasis]);
const IconContainer = () => /* @__PURE__ */ import_react.default.createElement("div", { className: `${label.length > 0 ? "mr-2" : null}` }, leadingIcon);
}, [className, _type, size, label, rounded, emphasis]);
const LeadingIconContainer = () => /* @__PURE__ */ import_react.default.createElement("div", { className: `${label.length > 0 ? "mr-2" : null}` }, leadingIcon);
const TrailingIconContainer = () => /* @__PURE__ */ import_react.default.createElement("div", { className: `${label.length > 0 ? "ml-2" : null}` }, trailingIcon);
return /* @__PURE__ */ import_react.default.createElement(
"button",
{
className: `flex items-center flex-nowrap whitespace-nowrap focus:outline-none focus:ring-4 font-medium capitalize ${classes}`,
className: classes,
onClick,
...rest
},
/* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, leadingIcon && /* @__PURE__ */ import_react.default.createElement(IconContainer, null), label)
/* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, leadingIcon && /* @__PURE__ */ import_react.default.createElement(LeadingIconContainer, null), label, trailingIcon && /* @__PURE__ */ import_react.default.createElement(TrailingIconContainer, null))
);

@@ -118,0 +122,0 @@ };

@@ -37,3 +37,3 @@ "use strict";

module.exports = __toCommonJS(table_exports);
var import_react21 = __toESM(require("react"));
var import_react5 = __toESM(require("react"));

@@ -56,6 +56,6 @@ // src/hooks/use-pagination.ts

if (maxPages <= 5)
return Array.from({ length: maxPages }).map((_2, i5) => i5 + 1);
return Array.from({ length: maxPages }).map((_, i) => i + 1);
if (currentPage < 5)
return Array.from({ length: MAX_BUTTONS_PER_VIEW }).map((_2, i5) => {
switch (i5) {
return Array.from({ length: MAX_BUTTONS_PER_VIEW }).map((_, i) => {
switch (i) {
case 0:

@@ -78,4 +78,4 @@ return 1;

if (currentPage > maxPages - 4)
return Array.from({ length: MAX_BUTTONS_PER_VIEW }).map((_2, i5) => {
switch (i5) {
return Array.from({ length: MAX_BUTTONS_PER_VIEW }).map((_, i) => {
switch (i) {
case 0:

@@ -98,4 +98,4 @@ return 1;

if (currentPage >= 5 && currentPage <= maxPages - 4)
return Array.from({ length: MAX_BUTTONS_PER_VIEW }).map((_2, i5) => {
switch (i5) {
return Array.from({ length: MAX_BUTTONS_PER_VIEW }).map((_, i) => {
switch (i) {
case 0:

@@ -155,6 +155,6 @@ return 1;

var orderByAsc = (data, key) => {
return data.sort((a4, b3) => COLLATOR.compare(a4[key.toString()], b3[key.toString()]));
return data.sort((a, b) => COLLATOR.compare(a[key.toString()], b[key.toString()]));
};
var orderByDesc = (data, key) => {
return data.sort((a4, b3) => COLLATOR.compare(a4[key.toString()], b3[key.toString()])).reverse();
return data.sort((a, b) => COLLATOR.compare(a[key.toString()], b[key.toString()])).reverse();
};

@@ -186,29 +186,29 @@ var sortData = (key, data, order) => {

var __assign = function() {
__assign = Object.assign || function(t10) {
for (var s7, i5 = 1, n3 = arguments.length; i5 < n3; i5++) {
s7 = arguments[i5];
for (var p3 in s7)
if (Object.prototype.hasOwnProperty.call(s7, p3))
t10[p3] = s7[p3];
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t10;
return t;
};
return __assign.apply(this, arguments);
};
var __rest = function(s7, e2) {
var t10 = {};
for (var p3 in s7)
if (Object.prototype.hasOwnProperty.call(s7, p3) && e2.indexOf(p3) < 0)
t10[p3] = s7[p3];
if (s7 != null && typeof Object.getOwnPropertySymbols === "function")
for (var i5 = 0, p3 = Object.getOwnPropertySymbols(s7); i5 < p3.length; i5++) {
if (e2.indexOf(p3[i5]) < 0 && Object.prototype.propertyIsEnumerable.call(s7, p3[i5]))
t10[p3[i5]] = s7[p3[i5]];
var __rest = function(s, e) {
var t = {};
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t10;
return t;
};
function Tree2Element(tree) {
return tree && tree.map(function(node, i5) {
return tree && tree.map(function(node, i) {
return import_react3.default.createElement(node.tag, __assign({
key: i5
key: i
}, node.attr), Tree2Element(node.child));

@@ -265,2 +265,8 @@ });

}
function LuMoveLeft(props) {
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "strokeWidth": "2", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "path", "attr": { "d": "M6 8L2 12L6 16" } }, { "tag": "path", "attr": { "d": "M2 12H22" } }] })(props);
}
function LuMoveRight(props) {
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "strokeWidth": "2", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "path", "attr": { "d": "M18 8L22 12L18 16" } }, { "tag": "path", "attr": { "d": "M2 12H22" } }] })(props);
}
function LuSearch(props) {

@@ -270,800 +276,81 @@ return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "strokeWidth": "2", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "circle", "attr": { "cx": "11", "cy": "11", "r": "8" } }, { "tag": "path", "attr": { "d": "m21 21-4.3-4.3" } }] })(props);

// node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js
var import_react4 = require("react");
// src/components/table/table.tsx
var import_react6 = require("@headlessui/react");
// node_modules/@headlessui/react/dist/utils/env.js
var i = Object.defineProperty;
var d = (t10, e2, n3) => e2 in t10 ? i(t10, e2, { enumerable: true, configurable: true, writable: true, value: n3 }) : t10[e2] = n3;
var r = (t10, e2, n3) => (d(t10, typeof e2 != "symbol" ? e2 + "" : e2, n3), n3);
var o = class {
constructor() {
r(this, "current", this.detect());
r(this, "handoffState", "pending");
r(this, "currentId", 0);
}
set(e2) {
this.current !== e2 && (this.handoffState = "pending", this.currentId = 0, this.current = e2);
}
reset() {
this.set(this.detect());
}
nextId() {
return ++this.currentId;
}
get isServer() {
return this.current === "server";
}
get isClient() {
return this.current === "client";
}
detect() {
return typeof window == "undefined" || typeof document == "undefined" ? "server" : "client";
}
handoff() {
this.handoffState === "pending" && (this.handoffState = "complete");
}
get isHandoffComplete() {
return this.handoffState === "complete";
}
// src/components/button/button.tsx
var import_react4 = __toESM(require("react"));
var onlyIconSizes = {
xs: "px-1 py-1 text-xs",
sm: "px-2 py-2 text-sm",
md: "px-2.5 py-2.5 text-sm",
lg: "px-3 py-3 text-base",
xl: "px-3.5 py-3.5 text-base"
};
var s = new o();
// node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js
var l = (e2, f4) => {
s.isServer ? (0, import_react4.useEffect)(e2, f4) : (0, import_react4.useLayoutEffect)(e2, f4);
var sizes = {
xs: "px-3 py-2 text-xs",
sm: "px-3 py-2 text-sm",
md: "px-5 py-2.5 text-sm",
lg: "px-5 py-3 text-base",
xl: "px-6 py-3.5 text-base"
};
// node_modules/@headlessui/react/dist/hooks/use-latest-value.js
var import_react5 = require("react");
function s2(e2) {
let r3 = (0, import_react5.useRef)(e2);
return l(() => {
r3.current = e2;
}, [e2]), r3;
}
// node_modules/@headlessui/react/dist/hooks/use-disposables.js
var import_react6 = require("react");
// node_modules/@headlessui/react/dist/utils/micro-task.js
function t3(e2) {
typeof queueMicrotask == "function" ? queueMicrotask(e2) : Promise.resolve().then(e2).catch((o10) => setTimeout(() => {
throw o10;
}));
}
// node_modules/@headlessui/react/dist/utils/disposables.js
function o2() {
let n3 = [], r3 = { addEventListener(e2, t10, s7, a4) {
return e2.addEventListener(t10, s7, a4), r3.add(() => e2.removeEventListener(t10, s7, a4));
}, requestAnimationFrame(...e2) {
let t10 = requestAnimationFrame(...e2);
return r3.add(() => cancelAnimationFrame(t10));
}, nextFrame(...e2) {
return r3.requestAnimationFrame(() => r3.requestAnimationFrame(...e2));
}, setTimeout(...e2) {
let t10 = setTimeout(...e2);
return r3.add(() => clearTimeout(t10));
}, microTask(...e2) {
let t10 = { current: true };
return t3(() => {
t10.current && e2[0]();
}), r3.add(() => {
t10.current = false;
});
}, style(e2, t10, s7) {
let a4 = e2.style.getPropertyValue(t10);
return Object.assign(e2.style, { [t10]: s7 }), this.add(() => {
Object.assign(e2.style, { [t10]: a4 });
});
}, group(e2) {
let t10 = o2();
return e2(t10), this.add(() => t10.dispose());
}, add(e2) {
return n3.push(e2), () => {
let t10 = n3.indexOf(e2);
if (t10 >= 0)
for (let s7 of n3.splice(t10, 1))
s7();
};
}, dispose() {
for (let e2 of n3.splice(0))
e2();
} };
return r3;
}
// node_modules/@headlessui/react/dist/hooks/use-disposables.js
function p() {
let [e2] = (0, import_react6.useState)(o2);
return (0, import_react6.useEffect)(() => () => e2.dispose(), [e2]), e2;
}
// node_modules/@headlessui/react/dist/hooks/use-event.js
var import_react7 = __toESM(require("react"), 1);
var o4 = function(t10) {
let e2 = s2(t10);
return import_react7.default.useCallback((...r3) => e2.current(...r3), [e2]);
var getSizes = (size, hasOnlyIcon) => {
if (hasOnlyIcon)
return onlyIconSizes[size];
return sizes[size];
};
// node_modules/@headlessui/react/dist/hooks/use-id.js
var import_react8 = __toESM(require("react"), 1);
// node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js
var t4 = __toESM(require("react"), 1);
function s4() {
let r3 = typeof document == "undefined";
return "useSyncExternalStore" in t4 ? ((o10) => o10.useSyncExternalStore)(t4)(() => () => {
}, () => false, () => !r3) : false;
}
function l2() {
let r3 = s4(), [e2, n3] = t4.useState(s.isHandoffComplete);
return e2 && s.isHandoffComplete === false && n3(false), t4.useEffect(() => {
e2 !== true && n3(true);
}, [e2]), t4.useEffect(() => s.handoff(), []), r3 ? false : e2;
}
// node_modules/@headlessui/react/dist/hooks/use-id.js
var o5;
var I = (o5 = import_react8.default.useId) != null ? o5 : function() {
let n3 = l2(), [e2, u4] = import_react8.default.useState(n3 ? () => s.nextId() : null);
return l(() => {
e2 === null && u4(s.nextId());
}, [e2]), e2 != null ? "" + e2 : void 0;
var radius = {
sm: "rounded-sm",
md: "rounded-md",
lg: "rounded-lg",
xl: "rounded-xl",
full: "rounded-full"
};
// node_modules/@headlessui/react/dist/hooks/use-outside-click.js
var import_react11 = require("react");
// node_modules/@headlessui/react/dist/utils/match.js
function u(r3, n3, ...a4) {
if (r3 in n3) {
let e2 = n3[r3];
return typeof e2 == "function" ? e2(...a4) : e2;
}
let t10 = new Error(`Tried to handle "${r3}" but there is no handler defined. Only defined handlers are: ${Object.keys(n3).map((e2) => `"${e2}"`).join(", ")}.`);
throw Error.captureStackTrace && Error.captureStackTrace(t10, u), t10;
}
// node_modules/@headlessui/react/dist/utils/owner.js
function e(r3) {
return s.isServer ? null : r3 instanceof Node ? r3.ownerDocument : r3 != null && r3.hasOwnProperty("current") && r3.current instanceof Node ? r3.current.ownerDocument : document;
}
// node_modules/@headlessui/react/dist/utils/focus-management.js
var c2 = ["[contentEditable=true]", "[tabindex]", "a[href]", "area[href]", "button:not([disabled])", "iframe", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])"].map((e2) => `${e2}:not([tabindex='-1'])`).join(",");
var M = ((n3) => (n3[n3.First = 1] = "First", n3[n3.Previous = 2] = "Previous", n3[n3.Next = 4] = "Next", n3[n3.Last = 8] = "Last", n3[n3.WrapAround = 16] = "WrapAround", n3[n3.NoScroll = 32] = "NoScroll", n3))(M || {});
var N = ((o10) => (o10[o10.Error = 0] = "Error", o10[o10.Overflow = 1] = "Overflow", o10[o10.Success = 2] = "Success", o10[o10.Underflow = 3] = "Underflow", o10))(N || {});
var F = ((t10) => (t10[t10.Previous = -1] = "Previous", t10[t10.Next = 1] = "Next", t10))(F || {});
function f(e2 = document.body) {
return e2 == null ? [] : Array.from(e2.querySelectorAll(c2)).sort((r3, t10) => Math.sign((r3.tabIndex || Number.MAX_SAFE_INTEGER) - (t10.tabIndex || Number.MAX_SAFE_INTEGER)));
}
var T = ((t10) => (t10[t10.Strict = 0] = "Strict", t10[t10.Loose = 1] = "Loose", t10))(T || {});
function h(e2, r3 = 0) {
var t10;
return e2 === ((t10 = e(e2)) == null ? void 0 : t10.body) ? false : u(r3, { [0]() {
return e2.matches(c2);
}, [1]() {
let l6 = e2;
for (; l6 !== null; ) {
if (l6.matches(c2))
return true;
l6 = l6.parentElement;
var Button = ({
_type = "contained",
emphasis = "high",
label = "",
size = "md",
className = "",
rounded = "lg",
leadingIcon,
trailingIcon,
onClick,
...rest
}) => {
const classes = (0, import_react4.useMemo)(() => {
const values = ["flex items-center flex-nowrap whitespace-nowrap focus:outline-none focus:ring-4 font-medium capitalize"];
if (_type === "contained" && emphasis === "high") {
values.push("text-white bg-green-700 hover:bg-green-800 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800");
}
return false;
} });
}
function D(e2) {
let r3 = e(e2);
o2().nextFrame(() => {
r3 && !h(r3.activeElement, 0) && y(e2);
});
}
var w = ((t10) => (t10[t10.Keyboard = 0] = "Keyboard", t10[t10.Mouse = 1] = "Mouse", t10))(w || {});
typeof window != "undefined" && typeof document != "undefined" && (document.addEventListener("keydown", (e2) => {
e2.metaKey || e2.altKey || e2.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = "");
}, true), document.addEventListener("click", (e2) => {
e2.detail === 1 ? delete document.documentElement.dataset.headlessuiFocusVisible : e2.detail === 0 && (document.documentElement.dataset.headlessuiFocusVisible = "");
}, true));
function y(e2) {
e2 == null || e2.focus({ preventScroll: true });
}
var S = ["textarea", "input"].join(",");
function H(e2) {
var r3, t10;
return (t10 = (r3 = e2 == null ? void 0 : e2.matches) == null ? void 0 : r3.call(e2, S)) != null ? t10 : false;
}
function I2(e2, r3 = (t10) => t10) {
return e2.slice().sort((t10, l6) => {
let o10 = r3(t10), i5 = r3(l6);
if (o10 === null || i5 === null)
return 0;
let n3 = o10.compareDocumentPosition(i5);
return n3 & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : n3 & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;
});
}
function _(e2, r3) {
return O(f(), r3, { relativeTo: e2 });
}
function O(e2, r3, { sorted: t10 = true, relativeTo: l6 = null, skipElements: o10 = [] } = {}) {
let i5 = Array.isArray(e2) ? e2.length > 0 ? e2[0].ownerDocument : document : e2.ownerDocument, n3 = Array.isArray(e2) ? t10 ? I2(e2) : e2 : f(e2);
o10.length > 0 && n3.length > 1 && (n3 = n3.filter((s7) => !o10.includes(s7))), l6 = l6 != null ? l6 : i5.activeElement;
let E3 = (() => {
if (r3 & 5)
return 1;
if (r3 & 10)
return -1;
throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
})(), x4 = (() => {
if (r3 & 1)
return 0;
if (r3 & 2)
return Math.max(0, n3.indexOf(l6)) - 1;
if (r3 & 4)
return Math.max(0, n3.indexOf(l6)) + 1;
if (r3 & 8)
return n3.length - 1;
throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
})(), p3 = r3 & 32 ? { preventScroll: true } : {}, d6 = 0, a4 = n3.length, u4;
do {
if (d6 >= a4 || d6 + a4 <= 0)
return 0;
let s7 = x4 + d6;
if (r3 & 16)
s7 = (s7 + a4) % a4;
else {
if (s7 < 0)
return 3;
if (s7 >= a4)
return 1;
if (_type === "contained" && emphasis === "medium") {
values.push("text-gray-600 bg-green-100 hover:bg-green-200 focus:ring-green-300 dark:bg-green-300 dark:hover:bg-green-300 dark:focus:ring-green-400");
}
u4 = n3[s7], u4 == null || u4.focus(p3), d6 += E3;
} while (u4 !== i5.activeElement);
return r3 & 6 && H(u4) && u4.select(), 2;
}
// node_modules/@headlessui/react/dist/hooks/use-document-event.js
var import_react9 = require("react");
function d2(e2, r3, n3) {
let o10 = s2(r3);
(0, import_react9.useEffect)(() => {
function t10(u4) {
o10.current(u4);
if (_type === "contained" && emphasis === "low") {
values.push("text-gray-600 bg-transparent hover:bg-green-200 focus:ring-green-300 dark:bg-green-300 dark:hover:bg-green-300 dark:focus:ring-green-400");
}
return document.addEventListener(e2, t10, n3), () => document.removeEventListener(e2, t10, n3);
}, [e2, n3]);
}
// node_modules/@headlessui/react/dist/hooks/use-window-event.js
var import_react10 = require("react");
function s5(e2, r3, n3) {
let o10 = s2(r3);
(0, import_react10.useEffect)(() => {
function t10(i5) {
o10.current(i5);
if (_type === "outlined") {
values.push("text-green-600 hover:text-green-700 border border-gray-200 focus:ring-green-300");
}
return window.addEventListener(e2, t10, n3), () => window.removeEventListener(e2, t10, n3);
}, [e2, n3]);
}
// node_modules/@headlessui/react/dist/hooks/use-outside-click.js
function h2(s7, m3, a4 = true) {
let i5 = (0, import_react11.useRef)(false);
(0, import_react11.useEffect)(() => {
requestAnimationFrame(() => {
i5.current = a4;
});
}, [a4]);
function c5(e2, r3) {
if (!i5.current || e2.defaultPrevented)
return;
let t10 = r3(e2);
if (t10 === null || !t10.getRootNode().contains(t10) || !t10.isConnected)
return;
let E3 = function u4(n3) {
return typeof n3 == "function" ? u4(n3()) : Array.isArray(n3) || n3 instanceof Set ? n3 : [n3];
}(s7);
for (let u4 of E3) {
if (u4 === null)
continue;
let n3 = u4 instanceof HTMLElement ? u4 : u4.current;
if (n3 != null && n3.contains(t10) || e2.composed && e2.composedPath().includes(n3))
return;
if (_type === "text") {
values.push("text-green-600 hover:text-green-700 border border-transparent focus:border-gray-200 focus:ring-green-300");
}
return !h(t10, T.Loose) && t10.tabIndex !== -1 && e2.preventDefault(), m3(e2, t10);
}
let o10 = (0, import_react11.useRef)(null);
d2("pointerdown", (e2) => {
var r3, t10;
i5.current && (o10.current = ((t10 = (r3 = e2.composedPath) == null ? void 0 : r3.call(e2)) == null ? void 0 : t10[0]) || e2.target);
}, true), d2("mousedown", (e2) => {
var r3, t10;
i5.current && (o10.current = ((t10 = (r3 = e2.composedPath) == null ? void 0 : r3.call(e2)) == null ? void 0 : t10[0]) || e2.target);
}, true), d2("click", (e2) => {
o10.current && (c5(e2, () => o10.current), o10.current = null);
}, true), d2("touchend", (e2) => c5(e2, () => e2.target instanceof HTMLElement ? e2.target : null), true), s5("blur", (e2) => c5(e2, () => window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), true);
}
values.push(getSizes(size, label.length === 0));
values.push(radius[rounded]);
if (className.length > 0)
values.push(className);
return values.join(" ");
}, [className, _type, size, label, rounded, emphasis]);
const LeadingIconContainer = () => /* @__PURE__ */ import_react4.default.createElement("div", { className: `${label.length > 0 ? "mr-2" : null}` }, leadingIcon);
const TrailingIconContainer = () => /* @__PURE__ */ import_react4.default.createElement("div", { className: `${label.length > 0 ? "ml-2" : null}` }, trailingIcon);
return /* @__PURE__ */ import_react4.default.createElement(
"button",
{
className: classes,
onClick,
...rest
},
/* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, leadingIcon && /* @__PURE__ */ import_react4.default.createElement(LeadingIconContainer, null), label, trailingIcon && /* @__PURE__ */ import_react4.default.createElement(TrailingIconContainer, null))
);
};
// node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js
var import_react12 = require("react");
function i2(t10) {
var n3;
if (t10.type)
return t10.type;
let e2 = (n3 = t10.as) != null ? n3 : "button";
if (typeof e2 == "string" && e2.toLowerCase() === "button")
return "button";
}
function s6(t10, e2) {
let [n3, u4] = (0, import_react12.useState)(() => i2(t10));
return l(() => {
u4(i2(t10));
}, [t10.type, t10.as]), l(() => {
n3 || e2.current && e2.current instanceof HTMLButtonElement && !e2.current.hasAttribute("type") && u4("button");
}, [n3, e2]), n3;
}
// node_modules/@headlessui/react/dist/hooks/use-sync-refs.js
var import_react13 = require("react");
var u2 = Symbol();
function y2(...t10) {
let n3 = (0, import_react13.useRef)(t10);
(0, import_react13.useEffect)(() => {
n3.current = t10;
}, [t10]);
let c5 = o4((e2) => {
for (let o10 of n3.current)
o10 != null && (typeof o10 == "function" ? o10(e2) : o10.current = e2);
});
return t10.every((e2) => e2 == null || (e2 == null ? void 0 : e2[u2])) ? void 0 : c5;
}
// node_modules/@headlessui/react/dist/hooks/use-tree-walker.js
var import_react14 = require("react");
function F2({ container: e2, accept: t10, walk: r3, enabled: c5 = true }) {
let o10 = (0, import_react14.useRef)(t10), l6 = (0, import_react14.useRef)(r3);
(0, import_react14.useEffect)(() => {
o10.current = t10, l6.current = r3;
}, [t10, r3]), l(() => {
if (!e2 || !c5)
return;
let n3 = e(e2);
if (!n3)
return;
let f4 = o10.current, p3 = l6.current, d6 = Object.assign((i5) => f4(i5), { acceptNode: f4 }), u4 = n3.createTreeWalker(e2, NodeFilter.SHOW_ELEMENT, d6, false);
for (; u4.nextNode(); )
p3(u4.currentNode);
}, [e2, c5, o10, l6]);
}
// node_modules/@headlessui/react/dist/utils/calculate-active-index.js
function f3(r3) {
throw new Error("Unexpected object: " + r3);
}
var a2 = ((e2) => (e2[e2.First = 0] = "First", e2[e2.Previous = 1] = "Previous", e2[e2.Next = 2] = "Next", e2[e2.Last = 3] = "Last", e2[e2.Specific = 4] = "Specific", e2[e2.Nothing = 5] = "Nothing", e2))(a2 || {});
function x(r3, n3) {
let t10 = n3.resolveItems();
if (t10.length <= 0)
return null;
let l6 = n3.resolveActiveIndex(), s7 = l6 != null ? l6 : -1, d6 = (() => {
switch (r3.focus) {
case 0:
return t10.findIndex((e2) => !n3.resolveDisabled(e2));
case 1: {
let e2 = t10.slice().reverse().findIndex((i5, c5, u4) => s7 !== -1 && u4.length - c5 - 1 >= s7 ? false : !n3.resolveDisabled(i5));
return e2 === -1 ? e2 : t10.length - 1 - e2;
}
case 2:
return t10.findIndex((e2, i5) => i5 <= s7 ? false : !n3.resolveDisabled(e2));
case 3: {
let e2 = t10.slice().reverse().findIndex((i5) => !n3.resolveDisabled(i5));
return e2 === -1 ? e2 : t10.length - 1 - e2;
}
case 4:
return t10.findIndex((e2) => n3.resolveId(e2) === r3.id);
case 5:
return null;
default:
f3(r3);
}
})();
return d6 === -1 ? l6 : d6;
}
// node_modules/@headlessui/react/dist/utils/render.js
var import_react15 = require("react");
// node_modules/@headlessui/react/dist/utils/class-names.js
function t6(...r3) {
return Array.from(new Set(r3.flatMap((n3) => typeof n3 == "string" ? n3.split(" ") : []))).filter(Boolean).join(" ");
}
// node_modules/@headlessui/react/dist/utils/render.js
var S2 = ((a4) => (a4[a4.None = 0] = "None", a4[a4.RenderStrategy = 1] = "RenderStrategy", a4[a4.Static = 2] = "Static", a4))(S2 || {});
var j = ((e2) => (e2[e2.Unmount = 0] = "Unmount", e2[e2.Hidden = 1] = "Hidden", e2))(j || {});
function X({ ourProps: r3, theirProps: t10, slot: e2, defaultTag: a4, features: s7, visible: n3 = true, name: f4 }) {
let o10 = N2(t10, r3);
if (n3)
return c3(o10, e2, a4, f4);
let u4 = s7 != null ? s7 : 0;
if (u4 & 2) {
let { static: l6 = false, ...p3 } = o10;
if (l6)
return c3(p3, e2, a4, f4);
}
if (u4 & 1) {
let { unmount: l6 = true, ...p3 } = o10;
return u(l6 ? 0 : 1, { [0]() {
return null;
}, [1]() {
return c3({ ...p3, hidden: true, style: { display: "none" } }, e2, a4, f4);
} });
}
return c3(o10, e2, a4, f4);
}
function c3(r3, t10 = {}, e2, a4) {
let { as: s7 = e2, children: n3, refName: f4 = "ref", ...o10 } = g(r3, ["unmount", "static"]), u4 = r3.ref !== void 0 ? { [f4]: r3.ref } : {}, l6 = typeof n3 == "function" ? n3(t10) : n3;
"className" in o10 && o10.className && typeof o10.className == "function" && (o10.className = o10.className(t10));
let p3 = {};
if (t10) {
let i5 = false, m3 = [];
for (let [y3, d6] of Object.entries(t10))
typeof d6 == "boolean" && (i5 = true), d6 === true && m3.push(y3);
i5 && (p3["data-headlessui-state"] = m3.join(" "));
}
if (s7 === import_react15.Fragment && Object.keys(R(o10)).length > 0) {
if (!(0, import_react15.isValidElement)(l6) || Array.isArray(l6) && l6.length > 1)
throw new Error(['Passing props on "Fragment"!', "", `The current component <${a4} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(o10).map((d6) => ` - ${d6}`).join(`
`), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((d6) => ` - ${d6}`).join(`
`)].join(`
`));
let i5 = l6.props, m3 = typeof (i5 == null ? void 0 : i5.className) == "function" ? (...d6) => t6(i5 == null ? void 0 : i5.className(...d6), o10.className) : t6(i5 == null ? void 0 : i5.className, o10.className), y3 = m3 ? { className: m3 } : {};
return (0, import_react15.cloneElement)(l6, Object.assign({}, N2(l6.props, R(g(o10, ["ref"]))), p3, u4, w2(l6.ref, u4.ref), y3));
}
return (0, import_react15.createElement)(s7, Object.assign({}, g(o10, ["ref"]), s7 !== import_react15.Fragment && u4, s7 !== import_react15.Fragment && p3), l6);
}
function w2(...r3) {
return { ref: r3.every((t10) => t10 == null) ? void 0 : (t10) => {
for (let e2 of r3)
e2 != null && (typeof e2 == "function" ? e2(t10) : e2.current = t10);
} };
}
function N2(...r3) {
var a4;
if (r3.length === 0)
return {};
if (r3.length === 1)
return r3[0];
let t10 = {}, e2 = {};
for (let s7 of r3)
for (let n3 in s7)
n3.startsWith("on") && typeof s7[n3] == "function" ? ((a4 = e2[n3]) != null || (e2[n3] = []), e2[n3].push(s7[n3])) : t10[n3] = s7[n3];
if (t10.disabled || t10["aria-disabled"])
return Object.assign(t10, Object.fromEntries(Object.keys(e2).map((s7) => [s7, void 0])));
for (let s7 in e2)
Object.assign(t10, { [s7](n3, ...f4) {
let o10 = e2[s7];
for (let u4 of o10) {
if ((n3 instanceof Event || (n3 == null ? void 0 : n3.nativeEvent) instanceof Event) && n3.defaultPrevented)
return;
u4(n3, ...f4);
}
} });
return t10;
}
function D2(r3) {
var t10;
return Object.assign((0, import_react15.forwardRef)(r3), { displayName: (t10 = r3.displayName) != null ? t10 : r3.name });
}
function R(r3) {
let t10 = Object.assign({}, r3);
for (let e2 in t10)
t10[e2] === void 0 && delete t10[e2];
return t10;
}
function g(r3, t10 = []) {
let e2 = Object.assign({}, r3);
for (let a4 of t10)
a4 in e2 && delete e2[a4];
return e2;
}
// node_modules/@headlessui/react/dist/utils/bugs.js
function r2(n3) {
let e2 = n3.parentElement, l6 = null;
for (; e2 && !(e2 instanceof HTMLFieldSetElement); )
e2 instanceof HTMLLegendElement && (l6 = e2), e2 = e2.parentElement;
let t10 = (e2 == null ? void 0 : e2.getAttribute("disabled")) === "";
return t10 && i4(l6) ? false : t10;
}
function i4(n3) {
if (!n3)
return false;
let e2 = n3.previousElementSibling;
for (; e2 !== null; ) {
if (e2 instanceof HTMLLegendElement)
return false;
e2 = e2.previousElementSibling;
}
return true;
}
// node_modules/@headlessui/react/dist/internal/open-closed.js
var import_react16 = __toESM(require("react"), 1);
var n = (0, import_react16.createContext)(null);
n.displayName = "OpenClosedContext";
var d5 = ((e2) => (e2[e2.Open = 1] = "Open", e2[e2.Closed = 2] = "Closed", e2[e2.Closing = 4] = "Closing", e2[e2.Opening = 8] = "Opening", e2))(d5 || {});
function C() {
return (0, import_react16.useContext)(n);
}
function c4({ value: o10, children: r3 }) {
return import_react16.default.createElement(n.Provider, { value: o10 }, r3);
}
// node_modules/@headlessui/react/dist/components/keyboard.js
var o7 = ((r3) => (r3.Space = " ", r3.Enter = "Enter", r3.Escape = "Escape", r3.Backspace = "Backspace", r3.Delete = "Delete", r3.ArrowLeft = "ArrowLeft", r3.ArrowUp = "ArrowUp", r3.ArrowRight = "ArrowRight", r3.ArrowDown = "ArrowDown", r3.Home = "Home", r3.End = "End", r3.PageUp = "PageUp", r3.PageDown = "PageDown", r3.Tab = "Tab", r3))(o7 || {});
// node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js
var import_react17 = require("react");
function t8(e2) {
return [e2.screenX, e2.screenY];
}
function u3() {
let e2 = (0, import_react17.useRef)([-1, -1]);
return { wasMoved(r3) {
let n3 = t8(r3);
return e2.current[0] === n3[0] && e2.current[1] === n3[1] ? false : (e2.current = n3, true);
}, update(r3) {
e2.current = t8(r3);
} };
}
// node_modules/@headlessui/react/dist/hooks/use-owner.js
var import_react18 = require("react");
function n2(...e2) {
return (0, import_react18.useMemo)(() => e(...e2), [...e2]);
}
// node_modules/@headlessui/react/dist/hooks/use-text-value.js
var import_react19 = require("react");
// node_modules/@headlessui/react/dist/utils/get-text-value.js
var a3 = /([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;
function o9(e2) {
var r3, i5;
let n3 = (r3 = e2.innerText) != null ? r3 : "", t10 = e2.cloneNode(true);
if (!(t10 instanceof HTMLElement))
return n3;
let u4 = false;
for (let f4 of t10.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))
f4.remove(), u4 = true;
let l6 = u4 ? (i5 = t10.innerText) != null ? i5 : "" : n3;
return a3.test(l6) && (l6 = l6.replace(a3, "")), l6;
}
function g2(e2) {
let n3 = e2.getAttribute("aria-label");
if (typeof n3 == "string")
return n3.trim();
let t10 = e2.getAttribute("aria-labelledby");
if (t10) {
let u4 = t10.split(" ").map((l6) => {
let r3 = document.getElementById(l6);
if (r3) {
let i5 = r3.getAttribute("aria-label");
return typeof i5 == "string" ? i5.trim() : o9(r3).trim();
}
return null;
}).filter(Boolean);
if (u4.length > 0)
return u4.join(", ");
}
return o9(e2).trim();
}
// node_modules/@headlessui/react/dist/hooks/use-text-value.js
function b2(c5) {
let t10 = (0, import_react19.useRef)(""), r3 = (0, import_react19.useRef)("");
return o4(() => {
let e2 = c5.current;
if (!e2)
return "";
let u4 = e2.innerText;
if (t10.current === u4)
return r3.current;
let n3 = g2(e2).trim().toLowerCase();
return t10.current = u4, r3.current = n3, n3;
});
}
// node_modules/@headlessui/react/dist/components/menu/menu.js
var import_react20 = __toESM(require("react"), 1);
var me = ((r3) => (r3[r3.Open = 0] = "Open", r3[r3.Closed = 1] = "Closed", r3))(me || {});
var de = ((r3) => (r3[r3.Pointer = 0] = "Pointer", r3[r3.Other = 1] = "Other", r3))(de || {});
var fe = ((a4) => (a4[a4.OpenMenu = 0] = "OpenMenu", a4[a4.CloseMenu = 1] = "CloseMenu", a4[a4.GoToItem = 2] = "GoToItem", a4[a4.Search = 3] = "Search", a4[a4.ClearSearch = 4] = "ClearSearch", a4[a4.RegisterItem = 5] = "RegisterItem", a4[a4.UnregisterItem = 6] = "UnregisterItem", a4))(fe || {});
function w3(e2, u4 = (r3) => r3) {
let r3 = e2.activeItemIndex !== null ? e2.items[e2.activeItemIndex] : null, i5 = I2(u4(e2.items.slice()), (t10) => t10.dataRef.current.domRef.current), s7 = r3 ? i5.indexOf(r3) : null;
return s7 === -1 && (s7 = null), { items: i5, activeItemIndex: s7 };
}
var Te = { [1](e2) {
return e2.menuState === 1 ? e2 : { ...e2, activeItemIndex: null, menuState: 1 };
}, [0](e2) {
return e2.menuState === 0 ? e2 : { ...e2, __demoMode: false, menuState: 0 };
}, [2]: (e2, u4) => {
var s7;
let r3 = w3(e2), i5 = x(u4, { resolveItems: () => r3.items, resolveActiveIndex: () => r3.activeItemIndex, resolveId: (t10) => t10.id, resolveDisabled: (t10) => t10.dataRef.current.disabled });
return { ...e2, ...r3, searchQuery: "", activeItemIndex: i5, activationTrigger: (s7 = u4.trigger) != null ? s7 : 1 };
}, [3]: (e2, u4) => {
let i5 = e2.searchQuery !== "" ? 0 : 1, s7 = e2.searchQuery + u4.value.toLowerCase(), o10 = (e2.activeItemIndex !== null ? e2.items.slice(e2.activeItemIndex + i5).concat(e2.items.slice(0, e2.activeItemIndex + i5)) : e2.items).find((l6) => {
var m3;
return ((m3 = l6.dataRef.current.textValue) == null ? void 0 : m3.startsWith(s7)) && !l6.dataRef.current.disabled;
}), a4 = o10 ? e2.items.indexOf(o10) : -1;
return a4 === -1 || a4 === e2.activeItemIndex ? { ...e2, searchQuery: s7 } : { ...e2, searchQuery: s7, activeItemIndex: a4, activationTrigger: 1 };
}, [4](e2) {
return e2.searchQuery === "" ? e2 : { ...e2, searchQuery: "", searchActiveItemIndex: null };
}, [5]: (e2, u4) => {
let r3 = w3(e2, (i5) => [...i5, { id: u4.id, dataRef: u4.dataRef }]);
return { ...e2, ...r3 };
}, [6]: (e2, u4) => {
let r3 = w3(e2, (i5) => {
let s7 = i5.findIndex((t10) => t10.id === u4.id);
return s7 !== -1 && i5.splice(s7, 1), i5;
});
return { ...e2, ...r3, activationTrigger: 1 };
} };
var U = (0, import_react20.createContext)(null);
U.displayName = "MenuContext";
function O2(e2) {
let u4 = (0, import_react20.useContext)(U);
if (u4 === null) {
let r3 = new Error(`<${e2} /> is missing a parent <Menu /> component.`);
throw Error.captureStackTrace && Error.captureStackTrace(r3, O2), r3;
}
return u4;
}
function ye(e2, u4) {
return u(u4.type, Te, e2, u4);
}
var Ie = import_react20.Fragment;
function Me(e2, u4) {
let { __demoMode: r3 = false, ...i5 } = e2, s7 = (0, import_react20.useReducer)(ye, { __demoMode: r3, menuState: r3 ? 0 : 1, buttonRef: (0, import_react20.createRef)(), itemsRef: (0, import_react20.createRef)(), items: [], searchQuery: "", activeItemIndex: null, activationTrigger: 1 }), [{ menuState: t10, itemsRef: o10, buttonRef: a4 }, l6] = s7, m3 = y2(u4);
h2([a4, o10], (g3, R2) => {
var p3;
l6({ type: 1 }), h(R2, T.Loose) || (g3.preventDefault(), (p3 = a4.current) == null || p3.focus());
}, t10 === 0);
let I3 = o4(() => {
l6({ type: 1 });
}), A = (0, import_react20.useMemo)(() => ({ open: t10 === 0, close: I3 }), [t10, I3]), f4 = { ref: m3 };
return import_react20.default.createElement(U.Provider, { value: s7 }, import_react20.default.createElement(c4, { value: u(t10, { [0]: d5.Open, [1]: d5.Closed }) }, X({ ourProps: f4, theirProps: i5, slot: A, defaultTag: Ie, name: "Menu" })));
}
var ge = "button";
function Re(e2, u4) {
var R2;
let r3 = I(), { id: i5 = `headlessui-menu-button-${r3}`, ...s7 } = e2, [t10, o10] = O2("Menu.Button"), a4 = y2(t10.buttonRef, u4), l6 = p(), m3 = o4((p3) => {
switch (p3.key) {
case o7.Space:
case o7.Enter:
case o7.ArrowDown:
p3.preventDefault(), p3.stopPropagation(), o10({ type: 0 }), l6.nextFrame(() => o10({ type: 2, focus: a2.First }));
break;
case o7.ArrowUp:
p3.preventDefault(), p3.stopPropagation(), o10({ type: 0 }), l6.nextFrame(() => o10({ type: 2, focus: a2.Last }));
break;
}
}), I3 = o4((p3) => {
switch (p3.key) {
case o7.Space:
p3.preventDefault();
break;
}
}), A = o4((p3) => {
if (r2(p3.currentTarget))
return p3.preventDefault();
e2.disabled || (t10.menuState === 0 ? (o10({ type: 1 }), l6.nextFrame(() => {
var M2;
return (M2 = t10.buttonRef.current) == null ? void 0 : M2.focus({ preventScroll: true });
})) : (p3.preventDefault(), o10({ type: 0 })));
}), f4 = (0, import_react20.useMemo)(() => ({ open: t10.menuState === 0 }), [t10]), g3 = { ref: a4, id: i5, type: s6(e2, t10.buttonRef), "aria-haspopup": "menu", "aria-controls": (R2 = t10.itemsRef.current) == null ? void 0 : R2.id, "aria-expanded": t10.menuState === 0, onKeyDown: m3, onKeyUp: I3, onClick: A };
return X({ ourProps: g3, theirProps: s7, slot: f4, defaultTag: ge, name: "Menu.Button" });
}
var Ae = "div";
var be = S2.RenderStrategy | S2.Static;
function Ee(e2, u4) {
var M2, b3;
let r3 = I(), { id: i5 = `headlessui-menu-items-${r3}`, ...s7 } = e2, [t10, o10] = O2("Menu.Items"), a4 = y2(t10.itemsRef, u4), l6 = n2(t10.itemsRef), m3 = p(), I3 = C(), A = (() => I3 !== null ? (I3 & d5.Open) === d5.Open : t10.menuState === 0)();
(0, import_react20.useEffect)(() => {
let n3 = t10.itemsRef.current;
n3 && t10.menuState === 0 && n3 !== (l6 == null ? void 0 : l6.activeElement) && n3.focus({ preventScroll: true });
}, [t10.menuState, t10.itemsRef, l6]), F2({ container: t10.itemsRef.current, enabled: t10.menuState === 0, accept(n3) {
return n3.getAttribute("role") === "menuitem" ? NodeFilter.FILTER_REJECT : n3.hasAttribute("role") ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;
}, walk(n3) {
n3.setAttribute("role", "none");
} });
let f4 = o4((n3) => {
var E3, P;
switch (m3.dispose(), n3.key) {
case o7.Space:
if (t10.searchQuery !== "")
return n3.preventDefault(), n3.stopPropagation(), o10({ type: 3, value: n3.key });
case o7.Enter:
if (n3.preventDefault(), n3.stopPropagation(), o10({ type: 1 }), t10.activeItemIndex !== null) {
let { dataRef: S3 } = t10.items[t10.activeItemIndex];
(P = (E3 = S3.current) == null ? void 0 : E3.domRef.current) == null || P.click();
}
D(t10.buttonRef.current);
break;
case o7.ArrowDown:
return n3.preventDefault(), n3.stopPropagation(), o10({ type: 2, focus: a2.Next });
case o7.ArrowUp:
return n3.preventDefault(), n3.stopPropagation(), o10({ type: 2, focus: a2.Previous });
case o7.Home:
case o7.PageUp:
return n3.preventDefault(), n3.stopPropagation(), o10({ type: 2, focus: a2.First });
case o7.End:
case o7.PageDown:
return n3.preventDefault(), n3.stopPropagation(), o10({ type: 2, focus: a2.Last });
case o7.Escape:
n3.preventDefault(), n3.stopPropagation(), o10({ type: 1 }), o2().nextFrame(() => {
var S3;
return (S3 = t10.buttonRef.current) == null ? void 0 : S3.focus({ preventScroll: true });
});
break;
case o7.Tab:
n3.preventDefault(), n3.stopPropagation(), o10({ type: 1 }), o2().nextFrame(() => {
_(t10.buttonRef.current, n3.shiftKey ? M.Previous : M.Next);
});
break;
default:
n3.key.length === 1 && (o10({ type: 3, value: n3.key }), m3.setTimeout(() => o10({ type: 4 }), 350));
break;
}
}), g3 = o4((n3) => {
switch (n3.key) {
case o7.Space:
n3.preventDefault();
break;
}
}), R2 = (0, import_react20.useMemo)(() => ({ open: t10.menuState === 0 }), [t10]), p3 = { "aria-activedescendant": t10.activeItemIndex === null || (M2 = t10.items[t10.activeItemIndex]) == null ? void 0 : M2.id, "aria-labelledby": (b3 = t10.buttonRef.current) == null ? void 0 : b3.id, id: i5, onKeyDown: f4, onKeyUp: g3, role: "menu", tabIndex: 0, ref: a4 };
return X({ ourProps: p3, theirProps: s7, slot: R2, defaultTag: Ae, features: be, visible: A, name: "Menu.Items" });
}
var Se = import_react20.Fragment;
function Pe(e2, u4) {
let r3 = I(), { id: i5 = `headlessui-menu-item-${r3}`, disabled: s7 = false, ...t10 } = e2, [o10, a4] = O2("Menu.Item"), l6 = o10.activeItemIndex !== null ? o10.items[o10.activeItemIndex].id === i5 : false, m3 = (0, import_react20.useRef)(null), I3 = y2(u4, m3);
l(() => {
if (o10.__demoMode || o10.menuState !== 0 || !l6 || o10.activationTrigger === 0)
return;
let T3 = o2();
return T3.requestAnimationFrame(() => {
var v, B;
(B = (v = m3.current) == null ? void 0 : v.scrollIntoView) == null || B.call(v, { block: "nearest" });
}), T3.dispose;
}, [o10.__demoMode, m3, l6, o10.menuState, o10.activationTrigger, o10.activeItemIndex]);
let A = b2(m3), f4 = (0, import_react20.useRef)({ disabled: s7, domRef: m3, get textValue() {
return A();
} });
l(() => {
f4.current.disabled = s7;
}, [f4, s7]), l(() => (a4({ type: 5, id: i5, dataRef: f4 }), () => a4({ type: 6, id: i5 })), [f4, i5]);
let g3 = o4(() => {
a4({ type: 1 });
}), R2 = o4((T3) => {
if (s7)
return T3.preventDefault();
a4({ type: 1 }), D(o10.buttonRef.current);
}), p3 = o4(() => {
if (s7)
return a4({ type: 2, focus: a2.Nothing });
a4({ type: 2, focus: a2.Specific, id: i5 });
}), M2 = u3(), b3 = o4((T3) => M2.update(T3)), n3 = o4((T3) => {
M2.wasMoved(T3) && (s7 || l6 || a4({ type: 2, focus: a2.Specific, id: i5, trigger: 0 }));
}), E3 = o4((T3) => {
M2.wasMoved(T3) && (s7 || l6 && a4({ type: 2, focus: a2.Nothing }));
}), P = (0, import_react20.useMemo)(() => ({ active: l6, disabled: s7, close: g3 }), [l6, s7, g3]);
return X({ ourProps: { id: i5, ref: I3, role: "menuitem", tabIndex: s7 === true ? void 0 : -1, "aria-disabled": s7 === true ? true : void 0, disabled: void 0, onClick: R2, onFocus: p3, onPointerEnter: b3, onMouseEnter: b3, onPointerMove: n3, onMouseMove: n3, onPointerLeave: E3, onMouseLeave: E3 }, theirProps: t10, slot: P, defaultTag: Se, name: "Menu.Item" });
}
var ve = D2(Me);
var xe = D2(Re);
var he = D2(Ee);
var De = D2(Pe);
var it = Object.assign(ve, { Button: xe, Items: he, Item: De });
// src/components/table/table.tsx

@@ -1090,5 +377,5 @@ var ETableColumnOrder = /* @__PURE__ */ ((ETableColumnOrder2) => {

}) => {
const [innerColumns, setInnerColumns] = (0, import_react21.useState)(columns);
const [innerData, setInnerData] = (0, import_react21.useState)(data);
const [itemsPerPage, setItemsPerPage] = (0, import_react21.useState)(rowsPerPage);
const [innerColumns, setInnerColumns] = (0, import_react5.useState)(columns);
const [innerData, setInnerData] = (0, import_react5.useState)(data);
const [itemsPerPage, setItemsPerPage] = (0, import_react5.useState)(rowsPerPage);
const {

@@ -1124,8 +411,8 @@ pagination,

search = search.toLowerCase().trim();
for (let i5 = 0; i5 < length; i5++) {
const values = Object.values(data2[i5]).join(" ").toLowerCase();
for (let i = 0; i < length; i++) {
const values = Object.values(data2[i]).join(" ").toLowerCase();
if (values.includes(search))
results.push(data2[i5]);
results.push(data2[i]);
}
const sortedColumn = innerColumns.find((x4) => x4.sortableOrder);
const sortedColumn = innerColumns.find((x) => x.sortableOrder);
if (sortedColumn) {

@@ -1138,6 +425,6 @@ const sortedData = sortData(sortedColumn.key, results, sortedColumn.sortableOrder);

};
const [searchValue, setSearchValue] = (0, import_react21.useState)("");
(0, import_react21.useEffect)(() => setInnerColumns(columns), [columns]);
(0, import_react21.useEffect)(() => handleFilterData(data, searchValue), [data]);
return /* @__PURE__ */ import_react21.default.createElement("div", { className: " w-full bg-white my-4 rounded-lg py-4" }, !viewOnly && /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full flex space-x-4 justify-end mb-4 px-4" }, /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full flex space-x-4 items-center justify-end flex-col md:flex-row" }, /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full flex-1 my-4 md:my-0" }, searchable && !isLoading && /* @__PURE__ */ import_react21.default.createElement("div", { className: "relative flex-1 max-w-md" }, /* @__PURE__ */ import_react21.default.createElement(LuSearch, { className: "absolute top-2.5 left-2 text-gray-300", size: 20 }), /* @__PURE__ */ import_react21.default.createElement(
const [searchValue, setSearchValue] = (0, import_react5.useState)("");
(0, import_react5.useEffect)(() => setInnerColumns(columns), [columns]);
(0, import_react5.useEffect)(() => handleFilterData(data, searchValue), [data]);
return /* @__PURE__ */ import_react5.default.createElement("div", { className: " w-full bg-white my-4 rounded-lg py-4 border" }, !viewOnly && /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full flex space-x-4 justify-end mb-4 px-4" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full flex space-x-4 items-center justify-end flex-col md:flex-row" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full flex-1 my-4 md:my-0" }, searchable && !isLoading && /* @__PURE__ */ import_react5.default.createElement("div", { className: "relative flex-1 max-w-md" }, /* @__PURE__ */ import_react5.default.createElement(LuSearch, { className: "absolute top-2.5 left-2 text-gray-300", size: 20 }), /* @__PURE__ */ import_react5.default.createElement(
"input",

@@ -1150,18 +437,18 @@ {

value: searchValue,
onChange: (e2) => {
setSearchValue(e2.target.value);
handleFilterData(data, e2.target.value);
onChange: (e) => {
setSearchValue(e.target.value);
handleFilterData(data, e.target.value);
}
}
))), !isLoading && innerData.length > 0 && /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full flex items-center space-x-4 justify-between -order-1 md:order-1 md:justify-normal md:w-min" }, /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex flex-nowrap items-center space-x-2 text-sm text-gray-400" }, /* @__PURE__ */ import_react21.default.createElement("span", { className: "whitespace-nowrap" }, "Exibindo"), /* @__PURE__ */ import_react21.default.createElement("select", { value: itemsPerPage, onChange: (e2) => setItemsPerPage(Number(e2.target.value)), className: "bg-green-50 border border-green-300 text-green-700 font-medium text-sm rounded-lg focus:ring-green-500 focus:border-green-500 block p-2 outline-none" }, /* @__PURE__ */ import_react21.default.createElement("option", { value: 10, title: "10 itens por p\xE1gina" }, "10"), /* @__PURE__ */ import_react21.default.createElement("option", { value: 50, title: "50 itens por p\xE1gina" }, "50"), /* @__PURE__ */ import_react21.default.createElement("option", { value: 75, title: "75 itens por p\xE1gina" }, "75"), /* @__PURE__ */ import_react21.default.createElement("option", { value: 100, title: "100 itens por p\xE1gina" }, "100")), /* @__PURE__ */ import_react21.default.createElement("span", { className: "whitespace-nowrap" }, "de ", innerData.length, " resultados")), /* @__PURE__ */ import_react21.default.createElement("div", { className: "relative" }, /* @__PURE__ */ import_react21.default.createElement(it, null, /* @__PURE__ */ import_react21.default.createElement(it.Button, { className: "px-2 py-2 text-sm font-medium text-center flex items-center rounded-lg border border-transparent hover:border-gray-200" }, /* @__PURE__ */ import_react21.default.createElement(LuMoreVertical, null)), /* @__PURE__ */ import_react21.default.createElement(it.Items, { className: "flex flex-col absolute right-0 top-8 bg-white shadow-md border rounded-xl p-4" }, /* @__PURE__ */ import_react21.default.createElement(it.Item, null, /* @__PURE__ */ import_react21.default.createElement("button", { onClick: () => {
}, type: "button", className: "px-3 py-2 text-sm font-medium text-center flex items-center" }, /* @__PURE__ */ import_react21.default.createElement(LuDownload, { className: "mr-2" }), " Exportar")))))))), /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full overflow-x-auto" }, /* @__PURE__ */ import_react21.default.createElement("table", { className: `w-full text-sm text-left text-gray-500 ${fixed ?? "table-fixed"}` }, /* @__PURE__ */ import_react21.default.createElement("thead", { className: "text-green-700 capitalize bg-green-50 whitespace-nowrap" }, /* @__PURE__ */ import_react21.default.createElement("tr", null, innerColumns.map((column, index) => {
))), !isLoading && innerData.length > 0 && /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full flex items-center space-x-4 justify-between -order-1 md:order-1 md:justify-normal md:w-min" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "flex flex-nowrap items-center space-x-2 text-sm text-gray-400" }, /* @__PURE__ */ import_react5.default.createElement("span", { className: "whitespace-nowrap" }, "Exibindo"), /* @__PURE__ */ import_react5.default.createElement("select", { value: itemsPerPage, onChange: (e) => setItemsPerPage(Number(e.target.value)), className: "bg-green-50 border border-green-300 text-green-700 font-medium text-sm rounded-lg focus:ring-green-500 focus:border-green-500 block p-2 outline-none" }, /* @__PURE__ */ import_react5.default.createElement("option", { value: 10, title: "10 itens por p\xE1gina" }, "10"), /* @__PURE__ */ import_react5.default.createElement("option", { value: 50, title: "50 itens por p\xE1gina" }, "50"), /* @__PURE__ */ import_react5.default.createElement("option", { value: 75, title: "75 itens por p\xE1gina" }, "75"), /* @__PURE__ */ import_react5.default.createElement("option", { value: 100, title: "100 itens por p\xE1gina" }, "100")), /* @__PURE__ */ import_react5.default.createElement("span", { className: "whitespace-nowrap" }, "de ", innerData.length, " resultados")), /* @__PURE__ */ import_react5.default.createElement("div", { className: "relative" }, /* @__PURE__ */ import_react5.default.createElement(import_react6.Menu, null, /* @__PURE__ */ import_react5.default.createElement(import_react6.Menu.Button, { className: "px-2 py-2 text-sm font-medium text-center flex items-center rounded-lg border border-transparent hover:border-gray-200" }, /* @__PURE__ */ import_react5.default.createElement(LuMoreVertical, null)), /* @__PURE__ */ import_react5.default.createElement(import_react6.Menu.Items, { className: "flex flex-col absolute right-0 top-8 bg-white shadow-md border rounded-xl p-4" }, /* @__PURE__ */ import_react5.default.createElement(import_react6.Menu.Item, null, /* @__PURE__ */ import_react5.default.createElement("button", { onClick: () => {
}, type: "button", className: "px-3 py-2 text-sm font-medium text-center flex items-center" }, /* @__PURE__ */ import_react5.default.createElement(LuDownload, { className: "mr-2" }), " Exportar")))))))), /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full overflow-x-auto" }, /* @__PURE__ */ import_react5.default.createElement("table", { className: `w-full text-sm text-left text-gray-500 ${fixed ?? "table-fixed"}` }, /* @__PURE__ */ import_react5.default.createElement("thead", { className: "text-green-700 capitalize bg-green-50 whitespace-nowrap" }, /* @__PURE__ */ import_react5.default.createElement("tr", null, innerColumns.map((column, index) => {
if (column.visible !== false) {
return /* @__PURE__ */ import_react21.default.createElement("th", { key: index, scope: "col", className: "py-3 px-6 whitespace-nowrap", onClick: column.sortable ? () => handleSortData(column) : void 0 }, /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex items-center justify-between space-x-4" }, /* @__PURE__ */ import_react21.default.createElement("span", null, column.name), column.sortable && /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex flex-col items-center justify-around" }, /* @__PURE__ */ import_react21.default.createElement(LuChevronUp, { size: 16, className: column.sortableOrder === "asc" ? "text-green-700" : "text-gray-300" }), /* @__PURE__ */ import_react21.default.createElement(LuChevronDown, { size: 16, className: column.sortableOrder === "desc" ? "-mt-1.5 text-green-700" : "-mt-1.5 text-gray-300" }))));
return /* @__PURE__ */ import_react5.default.createElement("th", { key: index, scope: "col", className: "py-3 px-6 whitespace-nowrap", onClick: column.sortable ? () => handleSortData(column) : void 0 }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "flex items-center justify-between space-x-4" }, /* @__PURE__ */ import_react5.default.createElement("span", null, column.name), column.sortable && /* @__PURE__ */ import_react5.default.createElement("div", { className: "flex flex-col items-center justify-around" }, /* @__PURE__ */ import_react5.default.createElement(LuChevronUp, { size: 16, className: column.sortableOrder === "asc" ? "text-green-700" : "text-gray-300" }), /* @__PURE__ */ import_react5.default.createElement(LuChevronDown, { size: 16, className: column.sortableOrder === "desc" ? "-mt-1.5 text-green-700" : "-mt-1.5 text-gray-300" }))));
}
return null;
}))), /* @__PURE__ */ import_react21.default.createElement("tbody", { className: "overflow-y-auto" }, !isLoading && innerData.slice(startIndex, endIndex).map((item, rowIndex) => {
return /* @__PURE__ */ import_react21.default.createElement("tr", { key: rowIndex, className: "hover:bg-green-50 [&:not(:last-child)]:border-b" }, innerColumns.map((column, colIndex) => {
}))), /* @__PURE__ */ import_react5.default.createElement("tbody", { className: "overflow-y-auto" }, !isLoading && innerData.slice(startIndex, endIndex).map((item, rowIndex) => {
return /* @__PURE__ */ import_react5.default.createElement("tr", { key: rowIndex, className: "hover:bg-green-50 [&:not(:last-child)]:border-b" }, innerColumns.map((column, colIndex) => {
if (column.visible !== false) {
if (colIndex === 0) {
return /* @__PURE__ */ import_react21.default.createElement(
return /* @__PURE__ */ import_react5.default.createElement(
"td",

@@ -1173,6 +460,6 @@ {

},
/* @__PURE__ */ import_react21.default.createElement("span", null, getValue(column, item))
/* @__PURE__ */ import_react5.default.createElement("span", null, getValue(column, item))
);
}
return /* @__PURE__ */ import_react21.default.createElement(
return /* @__PURE__ */ import_react5.default.createElement(
"td",

@@ -1183,3 +470,3 @@ {

},
/* @__PURE__ */ import_react21.default.createElement("span", null, getValue(column, item))
/* @__PURE__ */ import_react5.default.createElement("span", null, getValue(column, item))
);

@@ -1189,10 +476,30 @@ }

}));
}))), isLoading && /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full flex justify-center mt-4 text-sm" }, /* @__PURE__ */ import_react21.default.createElement("p", { className: "text-gray-500" }, "Carregando...")), !isLoading && data.length <= 0 && /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full flex justify-center mt-4 text-sm" }, /* @__PURE__ */ import_react21.default.createElement("p", { className: "text-gray-500" }, emptyText))), !isLoading && innerData.length > itemsPerPage && /* @__PURE__ */ import_react21.default.createElement("nav", { className: "w-full flex justify-end mt-6 px-4" }, /* @__PURE__ */ import_react21.default.createElement("ul", { className: "inline-flex -space-x-px" }, /* @__PURE__ */ import_react21.default.createElement("li", null, /* @__PURE__ */ import_react21.default.createElement("a", { onClick: handlePreviousPage, className: "select-none px-3 py-2 ml-0 leading-tight text-gray-500 bg-white border border-gray-300 rounded-l-lg hover:bg-gray-100 hover:text-gray-700 cursor-pointer" }, "Anterior")), pagination.map((page, index) => /* @__PURE__ */ import_react21.default.createElement("li", { key: index }, /* @__PURE__ */ import_react21.default.createElement(
"a",
}))), isLoading && /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full flex justify-center mt-4 text-sm" }, /* @__PURE__ */ import_react5.default.createElement("p", { className: "text-gray-500" }, "Carregando...")), !isLoading && data.length <= 0 && /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full flex justify-center mt-4 text-sm" }, /* @__PURE__ */ import_react5.default.createElement("p", { className: "text-gray-500" }, emptyText))), !isLoading && innerData.length > itemsPerPage && /* @__PURE__ */ import_react5.default.createElement("nav", { className: "w-full flex justify-end mt-6 px-4" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full inline-flex space-x-4 justify-between items-center" }, /* @__PURE__ */ import_react5.default.createElement(
Button,
{
onClick: typeof page === "number" ? () => handlePageChange(page) : void 0,
className: page === currentPage ? "px-3 py-2 text-green-600 border border-gray-300 bg-green-50 hover:bg-green-100 hover:text-green-700 cursor-pointer select-none" : "px-3 py-2 leading-tight text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 cursor-pointer select-none"
},
page
))), /* @__PURE__ */ import_react21.default.createElement("li", null, /* @__PURE__ */ import_react21.default.createElement("a", { onClick: handleNextPage, className: "select-none px-3 py-2 leading-tight text-gray-500 bg-white border border-gray-300 rounded-r-lg hover:bg-gray-100 hover:text-gray-700 cursor-pointer" }, "Pr\xF3ximo")))));
_type: "outlined",
className: "",
leadingIcon: /* @__PURE__ */ import_react5.default.createElement(LuMoveLeft, null),
label: "Anterior",
onClick: handlePreviousPage
}
), /* @__PURE__ */ import_react5.default.createElement("div", { className: "flex items-center space-x-2" }, pagination.map((page, index) => /* @__PURE__ */ import_react5.default.createElement(
Button,
{
key: index,
_type: "text",
label: page.toString(),
className: page === currentPage ? "text-white border-none bg-green-600 hover:bg-green-700 hover:text-white" : "border-none",
onClick: typeof page === "number" ? () => handlePageChange(page) : void 0
}
))), /* @__PURE__ */ import_react5.default.createElement(
Button,
{
_type: "outlined",
className: "",
trailingIcon: /* @__PURE__ */ import_react5.default.createElement(LuMoveRight, null),
label: "Pr\xF3ximo",
onClick: handleNextPage
}
))));
};

@@ -1199,0 +506,0 @@ // Annotate the CommonJS export names for ESM import in node:

@@ -39,3 +39,3 @@ "use strict";

// src/components/table/table.tsx
var import_react2 = __toESM(require("react"));
var import_react3 = __toESM(require("react"));

@@ -45,2 +45,8 @@ // src/hooks/use-pagination.ts

// src/components/table/table.tsx
var import_react4 = require("@headlessui/react");
// src/components/button/button.tsx
var import_react2 = __toESM(require("react"));
// src/components/table/utils.ts

@@ -47,0 +53,0 @@ var COLLATOR = new Intl.Collator(void 0, { numeric: true, sensitivity: "base" });

@@ -45,3 +45,3 @@ "use strict";

// src/components/table/table.tsx
var import_react21 = __toESM(require("react"));
var import_react5 = __toESM(require("react"));

@@ -64,6 +64,6 @@ // src/hooks/use-pagination.ts

if (maxPages <= 5)
return Array.from({ length: maxPages }).map((_2, i5) => i5 + 1);
return Array.from({ length: maxPages }).map((_, i) => i + 1);
if (currentPage < 5)
return Array.from({ length: MAX_BUTTONS_PER_VIEW }).map((_2, i5) => {
switch (i5) {
return Array.from({ length: MAX_BUTTONS_PER_VIEW }).map((_, i) => {
switch (i) {
case 0:

@@ -86,4 +86,4 @@ return 1;

if (currentPage > maxPages - 4)
return Array.from({ length: MAX_BUTTONS_PER_VIEW }).map((_2, i5) => {
switch (i5) {
return Array.from({ length: MAX_BUTTONS_PER_VIEW }).map((_, i) => {
switch (i) {
case 0:

@@ -106,4 +106,4 @@ return 1;

if (currentPage >= 5 && currentPage <= maxPages - 4)
return Array.from({ length: MAX_BUTTONS_PER_VIEW }).map((_2, i5) => {
switch (i5) {
return Array.from({ length: MAX_BUTTONS_PER_VIEW }).map((_, i) => {
switch (i) {
case 0:

@@ -163,6 +163,6 @@ return 1;

var orderByAsc = (data, key) => {
return data.sort((a4, b3) => COLLATOR.compare(a4[key.toString()], b3[key.toString()]));
return data.sort((a, b) => COLLATOR.compare(a[key.toString()], b[key.toString()]));
};
var orderByDesc = (data, key) => {
return data.sort((a4, b3) => COLLATOR.compare(a4[key.toString()], b3[key.toString()])).reverse();
return data.sort((a, b) => COLLATOR.compare(a[key.toString()], b[key.toString()])).reverse();
};

@@ -194,29 +194,29 @@ var sortData = (key, data, order) => {

var __assign = function() {
__assign = Object.assign || function(t10) {
for (var s7, i5 = 1, n3 = arguments.length; i5 < n3; i5++) {
s7 = arguments[i5];
for (var p3 in s7)
if (Object.prototype.hasOwnProperty.call(s7, p3))
t10[p3] = s7[p3];
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t10;
return t;
};
return __assign.apply(this, arguments);
};
var __rest = function(s7, e2) {
var t10 = {};
for (var p3 in s7)
if (Object.prototype.hasOwnProperty.call(s7, p3) && e2.indexOf(p3) < 0)
t10[p3] = s7[p3];
if (s7 != null && typeof Object.getOwnPropertySymbols === "function")
for (var i5 = 0, p3 = Object.getOwnPropertySymbols(s7); i5 < p3.length; i5++) {
if (e2.indexOf(p3[i5]) < 0 && Object.prototype.propertyIsEnumerable.call(s7, p3[i5]))
t10[p3[i5]] = s7[p3[i5]];
var __rest = function(s, e) {
var t = {};
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t10;
return t;
};
function Tree2Element(tree) {
return tree && tree.map(function(node, i5) {
return tree && tree.map(function(node, i) {
return import_react3.default.createElement(node.tag, __assign({
key: i5
key: i
}, node.attr), Tree2Element(node.child));

@@ -273,2 +273,8 @@ });

}
function LuMoveLeft(props) {
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "strokeWidth": "2", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "path", "attr": { "d": "M6 8L2 12L6 16" } }, { "tag": "path", "attr": { "d": "M2 12H22" } }] })(props);
}
function LuMoveRight(props) {
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "strokeWidth": "2", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "path", "attr": { "d": "M18 8L22 12L18 16" } }, { "tag": "path", "attr": { "d": "M2 12H22" } }] })(props);
}
function LuSearch(props) {

@@ -278,800 +284,81 @@ return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "strokeWidth": "2", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "circle", "attr": { "cx": "11", "cy": "11", "r": "8" } }, { "tag": "path", "attr": { "d": "m21 21-4.3-4.3" } }] })(props);

// node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js
var import_react4 = require("react");
// src/components/table/table.tsx
var import_react6 = require("@headlessui/react");
// node_modules/@headlessui/react/dist/utils/env.js
var i = Object.defineProperty;
var d = (t10, e2, n3) => e2 in t10 ? i(t10, e2, { enumerable: true, configurable: true, writable: true, value: n3 }) : t10[e2] = n3;
var r = (t10, e2, n3) => (d(t10, typeof e2 != "symbol" ? e2 + "" : e2, n3), n3);
var o = class {
constructor() {
r(this, "current", this.detect());
r(this, "handoffState", "pending");
r(this, "currentId", 0);
}
set(e2) {
this.current !== e2 && (this.handoffState = "pending", this.currentId = 0, this.current = e2);
}
reset() {
this.set(this.detect());
}
nextId() {
return ++this.currentId;
}
get isServer() {
return this.current === "server";
}
get isClient() {
return this.current === "client";
}
detect() {
return typeof window == "undefined" || typeof document == "undefined" ? "server" : "client";
}
handoff() {
this.handoffState === "pending" && (this.handoffState = "complete");
}
get isHandoffComplete() {
return this.handoffState === "complete";
}
// src/components/button/button.tsx
var import_react4 = __toESM(require("react"));
var onlyIconSizes = {
xs: "px-1 py-1 text-xs",
sm: "px-2 py-2 text-sm",
md: "px-2.5 py-2.5 text-sm",
lg: "px-3 py-3 text-base",
xl: "px-3.5 py-3.5 text-base"
};
var s = new o();
// node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js
var l = (e2, f4) => {
s.isServer ? (0, import_react4.useEffect)(e2, f4) : (0, import_react4.useLayoutEffect)(e2, f4);
var sizes = {
xs: "px-3 py-2 text-xs",
sm: "px-3 py-2 text-sm",
md: "px-5 py-2.5 text-sm",
lg: "px-5 py-3 text-base",
xl: "px-6 py-3.5 text-base"
};
// node_modules/@headlessui/react/dist/hooks/use-latest-value.js
var import_react5 = require("react");
function s2(e2) {
let r3 = (0, import_react5.useRef)(e2);
return l(() => {
r3.current = e2;
}, [e2]), r3;
}
// node_modules/@headlessui/react/dist/hooks/use-disposables.js
var import_react6 = require("react");
// node_modules/@headlessui/react/dist/utils/micro-task.js
function t3(e2) {
typeof queueMicrotask == "function" ? queueMicrotask(e2) : Promise.resolve().then(e2).catch((o10) => setTimeout(() => {
throw o10;
}));
}
// node_modules/@headlessui/react/dist/utils/disposables.js
function o2() {
let n3 = [], r3 = { addEventListener(e2, t10, s7, a4) {
return e2.addEventListener(t10, s7, a4), r3.add(() => e2.removeEventListener(t10, s7, a4));
}, requestAnimationFrame(...e2) {
let t10 = requestAnimationFrame(...e2);
return r3.add(() => cancelAnimationFrame(t10));
}, nextFrame(...e2) {
return r3.requestAnimationFrame(() => r3.requestAnimationFrame(...e2));
}, setTimeout(...e2) {
let t10 = setTimeout(...e2);
return r3.add(() => clearTimeout(t10));
}, microTask(...e2) {
let t10 = { current: true };
return t3(() => {
t10.current && e2[0]();
}), r3.add(() => {
t10.current = false;
});
}, style(e2, t10, s7) {
let a4 = e2.style.getPropertyValue(t10);
return Object.assign(e2.style, { [t10]: s7 }), this.add(() => {
Object.assign(e2.style, { [t10]: a4 });
});
}, group(e2) {
let t10 = o2();
return e2(t10), this.add(() => t10.dispose());
}, add(e2) {
return n3.push(e2), () => {
let t10 = n3.indexOf(e2);
if (t10 >= 0)
for (let s7 of n3.splice(t10, 1))
s7();
};
}, dispose() {
for (let e2 of n3.splice(0))
e2();
} };
return r3;
}
// node_modules/@headlessui/react/dist/hooks/use-disposables.js
function p() {
let [e2] = (0, import_react6.useState)(o2);
return (0, import_react6.useEffect)(() => () => e2.dispose(), [e2]), e2;
}
// node_modules/@headlessui/react/dist/hooks/use-event.js
var import_react7 = __toESM(require("react"), 1);
var o4 = function(t10) {
let e2 = s2(t10);
return import_react7.default.useCallback((...r3) => e2.current(...r3), [e2]);
var getSizes = (size, hasOnlyIcon) => {
if (hasOnlyIcon)
return onlyIconSizes[size];
return sizes[size];
};
// node_modules/@headlessui/react/dist/hooks/use-id.js
var import_react8 = __toESM(require("react"), 1);
// node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js
var t4 = __toESM(require("react"), 1);
function s4() {
let r3 = typeof document == "undefined";
return "useSyncExternalStore" in t4 ? ((o10) => o10.useSyncExternalStore)(t4)(() => () => {
}, () => false, () => !r3) : false;
}
function l2() {
let r3 = s4(), [e2, n3] = t4.useState(s.isHandoffComplete);
return e2 && s.isHandoffComplete === false && n3(false), t4.useEffect(() => {
e2 !== true && n3(true);
}, [e2]), t4.useEffect(() => s.handoff(), []), r3 ? false : e2;
}
// node_modules/@headlessui/react/dist/hooks/use-id.js
var o5;
var I = (o5 = import_react8.default.useId) != null ? o5 : function() {
let n3 = l2(), [e2, u4] = import_react8.default.useState(n3 ? () => s.nextId() : null);
return l(() => {
e2 === null && u4(s.nextId());
}, [e2]), e2 != null ? "" + e2 : void 0;
var radius = {
sm: "rounded-sm",
md: "rounded-md",
lg: "rounded-lg",
xl: "rounded-xl",
full: "rounded-full"
};
// node_modules/@headlessui/react/dist/hooks/use-outside-click.js
var import_react11 = require("react");
// node_modules/@headlessui/react/dist/utils/match.js
function u(r3, n3, ...a4) {
if (r3 in n3) {
let e2 = n3[r3];
return typeof e2 == "function" ? e2(...a4) : e2;
}
let t10 = new Error(`Tried to handle "${r3}" but there is no handler defined. Only defined handlers are: ${Object.keys(n3).map((e2) => `"${e2}"`).join(", ")}.`);
throw Error.captureStackTrace && Error.captureStackTrace(t10, u), t10;
}
// node_modules/@headlessui/react/dist/utils/owner.js
function e(r3) {
return s.isServer ? null : r3 instanceof Node ? r3.ownerDocument : r3 != null && r3.hasOwnProperty("current") && r3.current instanceof Node ? r3.current.ownerDocument : document;
}
// node_modules/@headlessui/react/dist/utils/focus-management.js
var c2 = ["[contentEditable=true]", "[tabindex]", "a[href]", "area[href]", "button:not([disabled])", "iframe", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])"].map((e2) => `${e2}:not([tabindex='-1'])`).join(",");
var M = ((n3) => (n3[n3.First = 1] = "First", n3[n3.Previous = 2] = "Previous", n3[n3.Next = 4] = "Next", n3[n3.Last = 8] = "Last", n3[n3.WrapAround = 16] = "WrapAround", n3[n3.NoScroll = 32] = "NoScroll", n3))(M || {});
var N = ((o10) => (o10[o10.Error = 0] = "Error", o10[o10.Overflow = 1] = "Overflow", o10[o10.Success = 2] = "Success", o10[o10.Underflow = 3] = "Underflow", o10))(N || {});
var F = ((t10) => (t10[t10.Previous = -1] = "Previous", t10[t10.Next = 1] = "Next", t10))(F || {});
function f(e2 = document.body) {
return e2 == null ? [] : Array.from(e2.querySelectorAll(c2)).sort((r3, t10) => Math.sign((r3.tabIndex || Number.MAX_SAFE_INTEGER) - (t10.tabIndex || Number.MAX_SAFE_INTEGER)));
}
var T = ((t10) => (t10[t10.Strict = 0] = "Strict", t10[t10.Loose = 1] = "Loose", t10))(T || {});
function h(e2, r3 = 0) {
var t10;
return e2 === ((t10 = e(e2)) == null ? void 0 : t10.body) ? false : u(r3, { [0]() {
return e2.matches(c2);
}, [1]() {
let l6 = e2;
for (; l6 !== null; ) {
if (l6.matches(c2))
return true;
l6 = l6.parentElement;
var Button = ({
_type = "contained",
emphasis = "high",
label = "",
size = "md",
className = "",
rounded = "lg",
leadingIcon,
trailingIcon,
onClick,
...rest
}) => {
const classes = (0, import_react4.useMemo)(() => {
const values = ["flex items-center flex-nowrap whitespace-nowrap focus:outline-none focus:ring-4 font-medium capitalize"];
if (_type === "contained" && emphasis === "high") {
values.push("text-white bg-green-700 hover:bg-green-800 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800");
}
return false;
} });
}
function D(e2) {
let r3 = e(e2);
o2().nextFrame(() => {
r3 && !h(r3.activeElement, 0) && y(e2);
});
}
var w = ((t10) => (t10[t10.Keyboard = 0] = "Keyboard", t10[t10.Mouse = 1] = "Mouse", t10))(w || {});
typeof window != "undefined" && typeof document != "undefined" && (document.addEventListener("keydown", (e2) => {
e2.metaKey || e2.altKey || e2.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = "");
}, true), document.addEventListener("click", (e2) => {
e2.detail === 1 ? delete document.documentElement.dataset.headlessuiFocusVisible : e2.detail === 0 && (document.documentElement.dataset.headlessuiFocusVisible = "");
}, true));
function y(e2) {
e2 == null || e2.focus({ preventScroll: true });
}
var S = ["textarea", "input"].join(",");
function H(e2) {
var r3, t10;
return (t10 = (r3 = e2 == null ? void 0 : e2.matches) == null ? void 0 : r3.call(e2, S)) != null ? t10 : false;
}
function I2(e2, r3 = (t10) => t10) {
return e2.slice().sort((t10, l6) => {
let o10 = r3(t10), i5 = r3(l6);
if (o10 === null || i5 === null)
return 0;
let n3 = o10.compareDocumentPosition(i5);
return n3 & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : n3 & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;
});
}
function _(e2, r3) {
return O(f(), r3, { relativeTo: e2 });
}
function O(e2, r3, { sorted: t10 = true, relativeTo: l6 = null, skipElements: o10 = [] } = {}) {
let i5 = Array.isArray(e2) ? e2.length > 0 ? e2[0].ownerDocument : document : e2.ownerDocument, n3 = Array.isArray(e2) ? t10 ? I2(e2) : e2 : f(e2);
o10.length > 0 && n3.length > 1 && (n3 = n3.filter((s7) => !o10.includes(s7))), l6 = l6 != null ? l6 : i5.activeElement;
let E3 = (() => {
if (r3 & 5)
return 1;
if (r3 & 10)
return -1;
throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
})(), x4 = (() => {
if (r3 & 1)
return 0;
if (r3 & 2)
return Math.max(0, n3.indexOf(l6)) - 1;
if (r3 & 4)
return Math.max(0, n3.indexOf(l6)) + 1;
if (r3 & 8)
return n3.length - 1;
throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
})(), p3 = r3 & 32 ? { preventScroll: true } : {}, d6 = 0, a4 = n3.length, u4;
do {
if (d6 >= a4 || d6 + a4 <= 0)
return 0;
let s7 = x4 + d6;
if (r3 & 16)
s7 = (s7 + a4) % a4;
else {
if (s7 < 0)
return 3;
if (s7 >= a4)
return 1;
if (_type === "contained" && emphasis === "medium") {
values.push("text-gray-600 bg-green-100 hover:bg-green-200 focus:ring-green-300 dark:bg-green-300 dark:hover:bg-green-300 dark:focus:ring-green-400");
}
u4 = n3[s7], u4 == null || u4.focus(p3), d6 += E3;
} while (u4 !== i5.activeElement);
return r3 & 6 && H(u4) && u4.select(), 2;
}
// node_modules/@headlessui/react/dist/hooks/use-document-event.js
var import_react9 = require("react");
function d2(e2, r3, n3) {
let o10 = s2(r3);
(0, import_react9.useEffect)(() => {
function t10(u4) {
o10.current(u4);
if (_type === "contained" && emphasis === "low") {
values.push("text-gray-600 bg-transparent hover:bg-green-200 focus:ring-green-300 dark:bg-green-300 dark:hover:bg-green-300 dark:focus:ring-green-400");
}
return document.addEventListener(e2, t10, n3), () => document.removeEventListener(e2, t10, n3);
}, [e2, n3]);
}
// node_modules/@headlessui/react/dist/hooks/use-window-event.js
var import_react10 = require("react");
function s5(e2, r3, n3) {
let o10 = s2(r3);
(0, import_react10.useEffect)(() => {
function t10(i5) {
o10.current(i5);
if (_type === "outlined") {
values.push("text-green-600 hover:text-green-700 border border-gray-200 focus:ring-green-300");
}
return window.addEventListener(e2, t10, n3), () => window.removeEventListener(e2, t10, n3);
}, [e2, n3]);
}
// node_modules/@headlessui/react/dist/hooks/use-outside-click.js
function h2(s7, m3, a4 = true) {
let i5 = (0, import_react11.useRef)(false);
(0, import_react11.useEffect)(() => {
requestAnimationFrame(() => {
i5.current = a4;
});
}, [a4]);
function c5(e2, r3) {
if (!i5.current || e2.defaultPrevented)
return;
let t10 = r3(e2);
if (t10 === null || !t10.getRootNode().contains(t10) || !t10.isConnected)
return;
let E3 = function u4(n3) {
return typeof n3 == "function" ? u4(n3()) : Array.isArray(n3) || n3 instanceof Set ? n3 : [n3];
}(s7);
for (let u4 of E3) {
if (u4 === null)
continue;
let n3 = u4 instanceof HTMLElement ? u4 : u4.current;
if (n3 != null && n3.contains(t10) || e2.composed && e2.composedPath().includes(n3))
return;
if (_type === "text") {
values.push("text-green-600 hover:text-green-700 border border-transparent focus:border-gray-200 focus:ring-green-300");
}
return !h(t10, T.Loose) && t10.tabIndex !== -1 && e2.preventDefault(), m3(e2, t10);
}
let o10 = (0, import_react11.useRef)(null);
d2("pointerdown", (e2) => {
var r3, t10;
i5.current && (o10.current = ((t10 = (r3 = e2.composedPath) == null ? void 0 : r3.call(e2)) == null ? void 0 : t10[0]) || e2.target);
}, true), d2("mousedown", (e2) => {
var r3, t10;
i5.current && (o10.current = ((t10 = (r3 = e2.composedPath) == null ? void 0 : r3.call(e2)) == null ? void 0 : t10[0]) || e2.target);
}, true), d2("click", (e2) => {
o10.current && (c5(e2, () => o10.current), o10.current = null);
}, true), d2("touchend", (e2) => c5(e2, () => e2.target instanceof HTMLElement ? e2.target : null), true), s5("blur", (e2) => c5(e2, () => window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), true);
}
values.push(getSizes(size, label.length === 0));
values.push(radius[rounded]);
if (className.length > 0)
values.push(className);
return values.join(" ");
}, [className, _type, size, label, rounded, emphasis]);
const LeadingIconContainer = () => /* @__PURE__ */ import_react4.default.createElement("div", { className: `${label.length > 0 ? "mr-2" : null}` }, leadingIcon);
const TrailingIconContainer = () => /* @__PURE__ */ import_react4.default.createElement("div", { className: `${label.length > 0 ? "ml-2" : null}` }, trailingIcon);
return /* @__PURE__ */ import_react4.default.createElement(
"button",
{
className: classes,
onClick,
...rest
},
/* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, leadingIcon && /* @__PURE__ */ import_react4.default.createElement(LeadingIconContainer, null), label, trailingIcon && /* @__PURE__ */ import_react4.default.createElement(TrailingIconContainer, null))
);
};
// node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js
var import_react12 = require("react");
function i2(t10) {
var n3;
if (t10.type)
return t10.type;
let e2 = (n3 = t10.as) != null ? n3 : "button";
if (typeof e2 == "string" && e2.toLowerCase() === "button")
return "button";
}
function s6(t10, e2) {
let [n3, u4] = (0, import_react12.useState)(() => i2(t10));
return l(() => {
u4(i2(t10));
}, [t10.type, t10.as]), l(() => {
n3 || e2.current && e2.current instanceof HTMLButtonElement && !e2.current.hasAttribute("type") && u4("button");
}, [n3, e2]), n3;
}
// node_modules/@headlessui/react/dist/hooks/use-sync-refs.js
var import_react13 = require("react");
var u2 = Symbol();
function y2(...t10) {
let n3 = (0, import_react13.useRef)(t10);
(0, import_react13.useEffect)(() => {
n3.current = t10;
}, [t10]);
let c5 = o4((e2) => {
for (let o10 of n3.current)
o10 != null && (typeof o10 == "function" ? o10(e2) : o10.current = e2);
});
return t10.every((e2) => e2 == null || (e2 == null ? void 0 : e2[u2])) ? void 0 : c5;
}
// node_modules/@headlessui/react/dist/hooks/use-tree-walker.js
var import_react14 = require("react");
function F2({ container: e2, accept: t10, walk: r3, enabled: c5 = true }) {
let o10 = (0, import_react14.useRef)(t10), l6 = (0, import_react14.useRef)(r3);
(0, import_react14.useEffect)(() => {
o10.current = t10, l6.current = r3;
}, [t10, r3]), l(() => {
if (!e2 || !c5)
return;
let n3 = e(e2);
if (!n3)
return;
let f4 = o10.current, p3 = l6.current, d6 = Object.assign((i5) => f4(i5), { acceptNode: f4 }), u4 = n3.createTreeWalker(e2, NodeFilter.SHOW_ELEMENT, d6, false);
for (; u4.nextNode(); )
p3(u4.currentNode);
}, [e2, c5, o10, l6]);
}
// node_modules/@headlessui/react/dist/utils/calculate-active-index.js
function f3(r3) {
throw new Error("Unexpected object: " + r3);
}
var a2 = ((e2) => (e2[e2.First = 0] = "First", e2[e2.Previous = 1] = "Previous", e2[e2.Next = 2] = "Next", e2[e2.Last = 3] = "Last", e2[e2.Specific = 4] = "Specific", e2[e2.Nothing = 5] = "Nothing", e2))(a2 || {});
function x(r3, n3) {
let t10 = n3.resolveItems();
if (t10.length <= 0)
return null;
let l6 = n3.resolveActiveIndex(), s7 = l6 != null ? l6 : -1, d6 = (() => {
switch (r3.focus) {
case 0:
return t10.findIndex((e2) => !n3.resolveDisabled(e2));
case 1: {
let e2 = t10.slice().reverse().findIndex((i5, c5, u4) => s7 !== -1 && u4.length - c5 - 1 >= s7 ? false : !n3.resolveDisabled(i5));
return e2 === -1 ? e2 : t10.length - 1 - e2;
}
case 2:
return t10.findIndex((e2, i5) => i5 <= s7 ? false : !n3.resolveDisabled(e2));
case 3: {
let e2 = t10.slice().reverse().findIndex((i5) => !n3.resolveDisabled(i5));
return e2 === -1 ? e2 : t10.length - 1 - e2;
}
case 4:
return t10.findIndex((e2) => n3.resolveId(e2) === r3.id);
case 5:
return null;
default:
f3(r3);
}
})();
return d6 === -1 ? l6 : d6;
}
// node_modules/@headlessui/react/dist/utils/render.js
var import_react15 = require("react");
// node_modules/@headlessui/react/dist/utils/class-names.js
function t6(...r3) {
return Array.from(new Set(r3.flatMap((n3) => typeof n3 == "string" ? n3.split(" ") : []))).filter(Boolean).join(" ");
}
// node_modules/@headlessui/react/dist/utils/render.js
var S2 = ((a4) => (a4[a4.None = 0] = "None", a4[a4.RenderStrategy = 1] = "RenderStrategy", a4[a4.Static = 2] = "Static", a4))(S2 || {});
var j = ((e2) => (e2[e2.Unmount = 0] = "Unmount", e2[e2.Hidden = 1] = "Hidden", e2))(j || {});
function X({ ourProps: r3, theirProps: t10, slot: e2, defaultTag: a4, features: s7, visible: n3 = true, name: f4 }) {
let o10 = N2(t10, r3);
if (n3)
return c3(o10, e2, a4, f4);
let u4 = s7 != null ? s7 : 0;
if (u4 & 2) {
let { static: l6 = false, ...p3 } = o10;
if (l6)
return c3(p3, e2, a4, f4);
}
if (u4 & 1) {
let { unmount: l6 = true, ...p3 } = o10;
return u(l6 ? 0 : 1, { [0]() {
return null;
}, [1]() {
return c3({ ...p3, hidden: true, style: { display: "none" } }, e2, a4, f4);
} });
}
return c3(o10, e2, a4, f4);
}
function c3(r3, t10 = {}, e2, a4) {
let { as: s7 = e2, children: n3, refName: f4 = "ref", ...o10 } = g(r3, ["unmount", "static"]), u4 = r3.ref !== void 0 ? { [f4]: r3.ref } : {}, l6 = typeof n3 == "function" ? n3(t10) : n3;
"className" in o10 && o10.className && typeof o10.className == "function" && (o10.className = o10.className(t10));
let p3 = {};
if (t10) {
let i5 = false, m3 = [];
for (let [y3, d6] of Object.entries(t10))
typeof d6 == "boolean" && (i5 = true), d6 === true && m3.push(y3);
i5 && (p3["data-headlessui-state"] = m3.join(" "));
}
if (s7 === import_react15.Fragment && Object.keys(R(o10)).length > 0) {
if (!(0, import_react15.isValidElement)(l6) || Array.isArray(l6) && l6.length > 1)
throw new Error(['Passing props on "Fragment"!', "", `The current component <${a4} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(o10).map((d6) => ` - ${d6}`).join(`
`), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((d6) => ` - ${d6}`).join(`
`)].join(`
`));
let i5 = l6.props, m3 = typeof (i5 == null ? void 0 : i5.className) == "function" ? (...d6) => t6(i5 == null ? void 0 : i5.className(...d6), o10.className) : t6(i5 == null ? void 0 : i5.className, o10.className), y3 = m3 ? { className: m3 } : {};
return (0, import_react15.cloneElement)(l6, Object.assign({}, N2(l6.props, R(g(o10, ["ref"]))), p3, u4, w2(l6.ref, u4.ref), y3));
}
return (0, import_react15.createElement)(s7, Object.assign({}, g(o10, ["ref"]), s7 !== import_react15.Fragment && u4, s7 !== import_react15.Fragment && p3), l6);
}
function w2(...r3) {
return { ref: r3.every((t10) => t10 == null) ? void 0 : (t10) => {
for (let e2 of r3)
e2 != null && (typeof e2 == "function" ? e2(t10) : e2.current = t10);
} };
}
function N2(...r3) {
var a4;
if (r3.length === 0)
return {};
if (r3.length === 1)
return r3[0];
let t10 = {}, e2 = {};
for (let s7 of r3)
for (let n3 in s7)
n3.startsWith("on") && typeof s7[n3] == "function" ? ((a4 = e2[n3]) != null || (e2[n3] = []), e2[n3].push(s7[n3])) : t10[n3] = s7[n3];
if (t10.disabled || t10["aria-disabled"])
return Object.assign(t10, Object.fromEntries(Object.keys(e2).map((s7) => [s7, void 0])));
for (let s7 in e2)
Object.assign(t10, { [s7](n3, ...f4) {
let o10 = e2[s7];
for (let u4 of o10) {
if ((n3 instanceof Event || (n3 == null ? void 0 : n3.nativeEvent) instanceof Event) && n3.defaultPrevented)
return;
u4(n3, ...f4);
}
} });
return t10;
}
function D2(r3) {
var t10;
return Object.assign((0, import_react15.forwardRef)(r3), { displayName: (t10 = r3.displayName) != null ? t10 : r3.name });
}
function R(r3) {
let t10 = Object.assign({}, r3);
for (let e2 in t10)
t10[e2] === void 0 && delete t10[e2];
return t10;
}
function g(r3, t10 = []) {
let e2 = Object.assign({}, r3);
for (let a4 of t10)
a4 in e2 && delete e2[a4];
return e2;
}
// node_modules/@headlessui/react/dist/utils/bugs.js
function r2(n3) {
let e2 = n3.parentElement, l6 = null;
for (; e2 && !(e2 instanceof HTMLFieldSetElement); )
e2 instanceof HTMLLegendElement && (l6 = e2), e2 = e2.parentElement;
let t10 = (e2 == null ? void 0 : e2.getAttribute("disabled")) === "";
return t10 && i4(l6) ? false : t10;
}
function i4(n3) {
if (!n3)
return false;
let e2 = n3.previousElementSibling;
for (; e2 !== null; ) {
if (e2 instanceof HTMLLegendElement)
return false;
e2 = e2.previousElementSibling;
}
return true;
}
// node_modules/@headlessui/react/dist/internal/open-closed.js
var import_react16 = __toESM(require("react"), 1);
var n = (0, import_react16.createContext)(null);
n.displayName = "OpenClosedContext";
var d5 = ((e2) => (e2[e2.Open = 1] = "Open", e2[e2.Closed = 2] = "Closed", e2[e2.Closing = 4] = "Closing", e2[e2.Opening = 8] = "Opening", e2))(d5 || {});
function C() {
return (0, import_react16.useContext)(n);
}
function c4({ value: o10, children: r3 }) {
return import_react16.default.createElement(n.Provider, { value: o10 }, r3);
}
// node_modules/@headlessui/react/dist/components/keyboard.js
var o7 = ((r3) => (r3.Space = " ", r3.Enter = "Enter", r3.Escape = "Escape", r3.Backspace = "Backspace", r3.Delete = "Delete", r3.ArrowLeft = "ArrowLeft", r3.ArrowUp = "ArrowUp", r3.ArrowRight = "ArrowRight", r3.ArrowDown = "ArrowDown", r3.Home = "Home", r3.End = "End", r3.PageUp = "PageUp", r3.PageDown = "PageDown", r3.Tab = "Tab", r3))(o7 || {});
// node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js
var import_react17 = require("react");
function t8(e2) {
return [e2.screenX, e2.screenY];
}
function u3() {
let e2 = (0, import_react17.useRef)([-1, -1]);
return { wasMoved(r3) {
let n3 = t8(r3);
return e2.current[0] === n3[0] && e2.current[1] === n3[1] ? false : (e2.current = n3, true);
}, update(r3) {
e2.current = t8(r3);
} };
}
// node_modules/@headlessui/react/dist/hooks/use-owner.js
var import_react18 = require("react");
function n2(...e2) {
return (0, import_react18.useMemo)(() => e(...e2), [...e2]);
}
// node_modules/@headlessui/react/dist/hooks/use-text-value.js
var import_react19 = require("react");
// node_modules/@headlessui/react/dist/utils/get-text-value.js
var a3 = /([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;
function o9(e2) {
var r3, i5;
let n3 = (r3 = e2.innerText) != null ? r3 : "", t10 = e2.cloneNode(true);
if (!(t10 instanceof HTMLElement))
return n3;
let u4 = false;
for (let f4 of t10.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))
f4.remove(), u4 = true;
let l6 = u4 ? (i5 = t10.innerText) != null ? i5 : "" : n3;
return a3.test(l6) && (l6 = l6.replace(a3, "")), l6;
}
function g2(e2) {
let n3 = e2.getAttribute("aria-label");
if (typeof n3 == "string")
return n3.trim();
let t10 = e2.getAttribute("aria-labelledby");
if (t10) {
let u4 = t10.split(" ").map((l6) => {
let r3 = document.getElementById(l6);
if (r3) {
let i5 = r3.getAttribute("aria-label");
return typeof i5 == "string" ? i5.trim() : o9(r3).trim();
}
return null;
}).filter(Boolean);
if (u4.length > 0)
return u4.join(", ");
}
return o9(e2).trim();
}
// node_modules/@headlessui/react/dist/hooks/use-text-value.js
function b2(c5) {
let t10 = (0, import_react19.useRef)(""), r3 = (0, import_react19.useRef)("");
return o4(() => {
let e2 = c5.current;
if (!e2)
return "";
let u4 = e2.innerText;
if (t10.current === u4)
return r3.current;
let n3 = g2(e2).trim().toLowerCase();
return t10.current = u4, r3.current = n3, n3;
});
}
// node_modules/@headlessui/react/dist/components/menu/menu.js
var import_react20 = __toESM(require("react"), 1);
var me = ((r3) => (r3[r3.Open = 0] = "Open", r3[r3.Closed = 1] = "Closed", r3))(me || {});
var de = ((r3) => (r3[r3.Pointer = 0] = "Pointer", r3[r3.Other = 1] = "Other", r3))(de || {});
var fe = ((a4) => (a4[a4.OpenMenu = 0] = "OpenMenu", a4[a4.CloseMenu = 1] = "CloseMenu", a4[a4.GoToItem = 2] = "GoToItem", a4[a4.Search = 3] = "Search", a4[a4.ClearSearch = 4] = "ClearSearch", a4[a4.RegisterItem = 5] = "RegisterItem", a4[a4.UnregisterItem = 6] = "UnregisterItem", a4))(fe || {});
function w3(e2, u4 = (r3) => r3) {
let r3 = e2.activeItemIndex !== null ? e2.items[e2.activeItemIndex] : null, i5 = I2(u4(e2.items.slice()), (t10) => t10.dataRef.current.domRef.current), s7 = r3 ? i5.indexOf(r3) : null;
return s7 === -1 && (s7 = null), { items: i5, activeItemIndex: s7 };
}
var Te = { [1](e2) {
return e2.menuState === 1 ? e2 : { ...e2, activeItemIndex: null, menuState: 1 };
}, [0](e2) {
return e2.menuState === 0 ? e2 : { ...e2, __demoMode: false, menuState: 0 };
}, [2]: (e2, u4) => {
var s7;
let r3 = w3(e2), i5 = x(u4, { resolveItems: () => r3.items, resolveActiveIndex: () => r3.activeItemIndex, resolveId: (t10) => t10.id, resolveDisabled: (t10) => t10.dataRef.current.disabled });
return { ...e2, ...r3, searchQuery: "", activeItemIndex: i5, activationTrigger: (s7 = u4.trigger) != null ? s7 : 1 };
}, [3]: (e2, u4) => {
let i5 = e2.searchQuery !== "" ? 0 : 1, s7 = e2.searchQuery + u4.value.toLowerCase(), o10 = (e2.activeItemIndex !== null ? e2.items.slice(e2.activeItemIndex + i5).concat(e2.items.slice(0, e2.activeItemIndex + i5)) : e2.items).find((l6) => {
var m3;
return ((m3 = l6.dataRef.current.textValue) == null ? void 0 : m3.startsWith(s7)) && !l6.dataRef.current.disabled;
}), a4 = o10 ? e2.items.indexOf(o10) : -1;
return a4 === -1 || a4 === e2.activeItemIndex ? { ...e2, searchQuery: s7 } : { ...e2, searchQuery: s7, activeItemIndex: a4, activationTrigger: 1 };
}, [4](e2) {
return e2.searchQuery === "" ? e2 : { ...e2, searchQuery: "", searchActiveItemIndex: null };
}, [5]: (e2, u4) => {
let r3 = w3(e2, (i5) => [...i5, { id: u4.id, dataRef: u4.dataRef }]);
return { ...e2, ...r3 };
}, [6]: (e2, u4) => {
let r3 = w3(e2, (i5) => {
let s7 = i5.findIndex((t10) => t10.id === u4.id);
return s7 !== -1 && i5.splice(s7, 1), i5;
});
return { ...e2, ...r3, activationTrigger: 1 };
} };
var U = (0, import_react20.createContext)(null);
U.displayName = "MenuContext";
function O2(e2) {
let u4 = (0, import_react20.useContext)(U);
if (u4 === null) {
let r3 = new Error(`<${e2} /> is missing a parent <Menu /> component.`);
throw Error.captureStackTrace && Error.captureStackTrace(r3, O2), r3;
}
return u4;
}
function ye(e2, u4) {
return u(u4.type, Te, e2, u4);
}
var Ie = import_react20.Fragment;
function Me(e2, u4) {
let { __demoMode: r3 = false, ...i5 } = e2, s7 = (0, import_react20.useReducer)(ye, { __demoMode: r3, menuState: r3 ? 0 : 1, buttonRef: (0, import_react20.createRef)(), itemsRef: (0, import_react20.createRef)(), items: [], searchQuery: "", activeItemIndex: null, activationTrigger: 1 }), [{ menuState: t10, itemsRef: o10, buttonRef: a4 }, l6] = s7, m3 = y2(u4);
h2([a4, o10], (g3, R2) => {
var p3;
l6({ type: 1 }), h(R2, T.Loose) || (g3.preventDefault(), (p3 = a4.current) == null || p3.focus());
}, t10 === 0);
let I3 = o4(() => {
l6({ type: 1 });
}), A = (0, import_react20.useMemo)(() => ({ open: t10 === 0, close: I3 }), [t10, I3]), f4 = { ref: m3 };
return import_react20.default.createElement(U.Provider, { value: s7 }, import_react20.default.createElement(c4, { value: u(t10, { [0]: d5.Open, [1]: d5.Closed }) }, X({ ourProps: f4, theirProps: i5, slot: A, defaultTag: Ie, name: "Menu" })));
}
var ge = "button";
function Re(e2, u4) {
var R2;
let r3 = I(), { id: i5 = `headlessui-menu-button-${r3}`, ...s7 } = e2, [t10, o10] = O2("Menu.Button"), a4 = y2(t10.buttonRef, u4), l6 = p(), m3 = o4((p3) => {
switch (p3.key) {
case o7.Space:
case o7.Enter:
case o7.ArrowDown:
p3.preventDefault(), p3.stopPropagation(), o10({ type: 0 }), l6.nextFrame(() => o10({ type: 2, focus: a2.First }));
break;
case o7.ArrowUp:
p3.preventDefault(), p3.stopPropagation(), o10({ type: 0 }), l6.nextFrame(() => o10({ type: 2, focus: a2.Last }));
break;
}
}), I3 = o4((p3) => {
switch (p3.key) {
case o7.Space:
p3.preventDefault();
break;
}
}), A = o4((p3) => {
if (r2(p3.currentTarget))
return p3.preventDefault();
e2.disabled || (t10.menuState === 0 ? (o10({ type: 1 }), l6.nextFrame(() => {
var M2;
return (M2 = t10.buttonRef.current) == null ? void 0 : M2.focus({ preventScroll: true });
})) : (p3.preventDefault(), o10({ type: 0 })));
}), f4 = (0, import_react20.useMemo)(() => ({ open: t10.menuState === 0 }), [t10]), g3 = { ref: a4, id: i5, type: s6(e2, t10.buttonRef), "aria-haspopup": "menu", "aria-controls": (R2 = t10.itemsRef.current) == null ? void 0 : R2.id, "aria-expanded": t10.menuState === 0, onKeyDown: m3, onKeyUp: I3, onClick: A };
return X({ ourProps: g3, theirProps: s7, slot: f4, defaultTag: ge, name: "Menu.Button" });
}
var Ae = "div";
var be = S2.RenderStrategy | S2.Static;
function Ee(e2, u4) {
var M2, b3;
let r3 = I(), { id: i5 = `headlessui-menu-items-${r3}`, ...s7 } = e2, [t10, o10] = O2("Menu.Items"), a4 = y2(t10.itemsRef, u4), l6 = n2(t10.itemsRef), m3 = p(), I3 = C(), A = (() => I3 !== null ? (I3 & d5.Open) === d5.Open : t10.menuState === 0)();
(0, import_react20.useEffect)(() => {
let n3 = t10.itemsRef.current;
n3 && t10.menuState === 0 && n3 !== (l6 == null ? void 0 : l6.activeElement) && n3.focus({ preventScroll: true });
}, [t10.menuState, t10.itemsRef, l6]), F2({ container: t10.itemsRef.current, enabled: t10.menuState === 0, accept(n3) {
return n3.getAttribute("role") === "menuitem" ? NodeFilter.FILTER_REJECT : n3.hasAttribute("role") ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;
}, walk(n3) {
n3.setAttribute("role", "none");
} });
let f4 = o4((n3) => {
var E3, P;
switch (m3.dispose(), n3.key) {
case o7.Space:
if (t10.searchQuery !== "")
return n3.preventDefault(), n3.stopPropagation(), o10({ type: 3, value: n3.key });
case o7.Enter:
if (n3.preventDefault(), n3.stopPropagation(), o10({ type: 1 }), t10.activeItemIndex !== null) {
let { dataRef: S3 } = t10.items[t10.activeItemIndex];
(P = (E3 = S3.current) == null ? void 0 : E3.domRef.current) == null || P.click();
}
D(t10.buttonRef.current);
break;
case o7.ArrowDown:
return n3.preventDefault(), n3.stopPropagation(), o10({ type: 2, focus: a2.Next });
case o7.ArrowUp:
return n3.preventDefault(), n3.stopPropagation(), o10({ type: 2, focus: a2.Previous });
case o7.Home:
case o7.PageUp:
return n3.preventDefault(), n3.stopPropagation(), o10({ type: 2, focus: a2.First });
case o7.End:
case o7.PageDown:
return n3.preventDefault(), n3.stopPropagation(), o10({ type: 2, focus: a2.Last });
case o7.Escape:
n3.preventDefault(), n3.stopPropagation(), o10({ type: 1 }), o2().nextFrame(() => {
var S3;
return (S3 = t10.buttonRef.current) == null ? void 0 : S3.focus({ preventScroll: true });
});
break;
case o7.Tab:
n3.preventDefault(), n3.stopPropagation(), o10({ type: 1 }), o2().nextFrame(() => {
_(t10.buttonRef.current, n3.shiftKey ? M.Previous : M.Next);
});
break;
default:
n3.key.length === 1 && (o10({ type: 3, value: n3.key }), m3.setTimeout(() => o10({ type: 4 }), 350));
break;
}
}), g3 = o4((n3) => {
switch (n3.key) {
case o7.Space:
n3.preventDefault();
break;
}
}), R2 = (0, import_react20.useMemo)(() => ({ open: t10.menuState === 0 }), [t10]), p3 = { "aria-activedescendant": t10.activeItemIndex === null || (M2 = t10.items[t10.activeItemIndex]) == null ? void 0 : M2.id, "aria-labelledby": (b3 = t10.buttonRef.current) == null ? void 0 : b3.id, id: i5, onKeyDown: f4, onKeyUp: g3, role: "menu", tabIndex: 0, ref: a4 };
return X({ ourProps: p3, theirProps: s7, slot: R2, defaultTag: Ae, features: be, visible: A, name: "Menu.Items" });
}
var Se = import_react20.Fragment;
function Pe(e2, u4) {
let r3 = I(), { id: i5 = `headlessui-menu-item-${r3}`, disabled: s7 = false, ...t10 } = e2, [o10, a4] = O2("Menu.Item"), l6 = o10.activeItemIndex !== null ? o10.items[o10.activeItemIndex].id === i5 : false, m3 = (0, import_react20.useRef)(null), I3 = y2(u4, m3);
l(() => {
if (o10.__demoMode || o10.menuState !== 0 || !l6 || o10.activationTrigger === 0)
return;
let T3 = o2();
return T3.requestAnimationFrame(() => {
var v, B;
(B = (v = m3.current) == null ? void 0 : v.scrollIntoView) == null || B.call(v, { block: "nearest" });
}), T3.dispose;
}, [o10.__demoMode, m3, l6, o10.menuState, o10.activationTrigger, o10.activeItemIndex]);
let A = b2(m3), f4 = (0, import_react20.useRef)({ disabled: s7, domRef: m3, get textValue() {
return A();
} });
l(() => {
f4.current.disabled = s7;
}, [f4, s7]), l(() => (a4({ type: 5, id: i5, dataRef: f4 }), () => a4({ type: 6, id: i5 })), [f4, i5]);
let g3 = o4(() => {
a4({ type: 1 });
}), R2 = o4((T3) => {
if (s7)
return T3.preventDefault();
a4({ type: 1 }), D(o10.buttonRef.current);
}), p3 = o4(() => {
if (s7)
return a4({ type: 2, focus: a2.Nothing });
a4({ type: 2, focus: a2.Specific, id: i5 });
}), M2 = u3(), b3 = o4((T3) => M2.update(T3)), n3 = o4((T3) => {
M2.wasMoved(T3) && (s7 || l6 || a4({ type: 2, focus: a2.Specific, id: i5, trigger: 0 }));
}), E3 = o4((T3) => {
M2.wasMoved(T3) && (s7 || l6 && a4({ type: 2, focus: a2.Nothing }));
}), P = (0, import_react20.useMemo)(() => ({ active: l6, disabled: s7, close: g3 }), [l6, s7, g3]);
return X({ ourProps: { id: i5, ref: I3, role: "menuitem", tabIndex: s7 === true ? void 0 : -1, "aria-disabled": s7 === true ? true : void 0, disabled: void 0, onClick: R2, onFocus: p3, onPointerEnter: b3, onMouseEnter: b3, onPointerMove: n3, onMouseMove: n3, onPointerLeave: E3, onMouseLeave: E3 }, theirProps: t10, slot: P, defaultTag: Se, name: "Menu.Item" });
}
var ve = D2(Me);
var xe = D2(Re);
var he = D2(Ee);
var De = D2(Pe);
var it = Object.assign(ve, { Button: xe, Items: he, Item: De });
// src/components/table/table.tsx

@@ -1098,5 +385,5 @@ var ETableColumnOrder = /* @__PURE__ */ ((ETableColumnOrder2) => {

}) => {
const [innerColumns, setInnerColumns] = (0, import_react21.useState)(columns);
const [innerData, setInnerData] = (0, import_react21.useState)(data);
const [itemsPerPage, setItemsPerPage] = (0, import_react21.useState)(rowsPerPage);
const [innerColumns, setInnerColumns] = (0, import_react5.useState)(columns);
const [innerData, setInnerData] = (0, import_react5.useState)(data);
const [itemsPerPage, setItemsPerPage] = (0, import_react5.useState)(rowsPerPage);
const {

@@ -1132,8 +419,8 @@ pagination,

search = search.toLowerCase().trim();
for (let i5 = 0; i5 < length; i5++) {
const values = Object.values(data2[i5]).join(" ").toLowerCase();
for (let i = 0; i < length; i++) {
const values = Object.values(data2[i]).join(" ").toLowerCase();
if (values.includes(search))
results.push(data2[i5]);
results.push(data2[i]);
}
const sortedColumn = innerColumns.find((x4) => x4.sortableOrder);
const sortedColumn = innerColumns.find((x) => x.sortableOrder);
if (sortedColumn) {

@@ -1146,6 +433,6 @@ const sortedData = sortData(sortedColumn.key, results, sortedColumn.sortableOrder);

};
const [searchValue, setSearchValue] = (0, import_react21.useState)("");
(0, import_react21.useEffect)(() => setInnerColumns(columns), [columns]);
(0, import_react21.useEffect)(() => handleFilterData(data, searchValue), [data]);
return /* @__PURE__ */ import_react21.default.createElement("div", { className: " w-full bg-white my-4 rounded-lg py-4" }, !viewOnly && /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full flex space-x-4 justify-end mb-4 px-4" }, /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full flex space-x-4 items-center justify-end flex-col md:flex-row" }, /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full flex-1 my-4 md:my-0" }, searchable && !isLoading && /* @__PURE__ */ import_react21.default.createElement("div", { className: "relative flex-1 max-w-md" }, /* @__PURE__ */ import_react21.default.createElement(LuSearch, { className: "absolute top-2.5 left-2 text-gray-300", size: 20 }), /* @__PURE__ */ import_react21.default.createElement(
const [searchValue, setSearchValue] = (0, import_react5.useState)("");
(0, import_react5.useEffect)(() => setInnerColumns(columns), [columns]);
(0, import_react5.useEffect)(() => handleFilterData(data, searchValue), [data]);
return /* @__PURE__ */ import_react5.default.createElement("div", { className: " w-full bg-white my-4 rounded-lg py-4 border" }, !viewOnly && /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full flex space-x-4 justify-end mb-4 px-4" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full flex space-x-4 items-center justify-end flex-col md:flex-row" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full flex-1 my-4 md:my-0" }, searchable && !isLoading && /* @__PURE__ */ import_react5.default.createElement("div", { className: "relative flex-1 max-w-md" }, /* @__PURE__ */ import_react5.default.createElement(LuSearch, { className: "absolute top-2.5 left-2 text-gray-300", size: 20 }), /* @__PURE__ */ import_react5.default.createElement(
"input",

@@ -1158,18 +445,18 @@ {

value: searchValue,
onChange: (e2) => {
setSearchValue(e2.target.value);
handleFilterData(data, e2.target.value);
onChange: (e) => {
setSearchValue(e.target.value);
handleFilterData(data, e.target.value);
}
}
))), !isLoading && innerData.length > 0 && /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full flex items-center space-x-4 justify-between -order-1 md:order-1 md:justify-normal md:w-min" }, /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex flex-nowrap items-center space-x-2 text-sm text-gray-400" }, /* @__PURE__ */ import_react21.default.createElement("span", { className: "whitespace-nowrap" }, "Exibindo"), /* @__PURE__ */ import_react21.default.createElement("select", { value: itemsPerPage, onChange: (e2) => setItemsPerPage(Number(e2.target.value)), className: "bg-green-50 border border-green-300 text-green-700 font-medium text-sm rounded-lg focus:ring-green-500 focus:border-green-500 block p-2 outline-none" }, /* @__PURE__ */ import_react21.default.createElement("option", { value: 10, title: "10 itens por p\xE1gina" }, "10"), /* @__PURE__ */ import_react21.default.createElement("option", { value: 50, title: "50 itens por p\xE1gina" }, "50"), /* @__PURE__ */ import_react21.default.createElement("option", { value: 75, title: "75 itens por p\xE1gina" }, "75"), /* @__PURE__ */ import_react21.default.createElement("option", { value: 100, title: "100 itens por p\xE1gina" }, "100")), /* @__PURE__ */ import_react21.default.createElement("span", { className: "whitespace-nowrap" }, "de ", innerData.length, " resultados")), /* @__PURE__ */ import_react21.default.createElement("div", { className: "relative" }, /* @__PURE__ */ import_react21.default.createElement(it, null, /* @__PURE__ */ import_react21.default.createElement(it.Button, { className: "px-2 py-2 text-sm font-medium text-center flex items-center rounded-lg border border-transparent hover:border-gray-200" }, /* @__PURE__ */ import_react21.default.createElement(LuMoreVertical, null)), /* @__PURE__ */ import_react21.default.createElement(it.Items, { className: "flex flex-col absolute right-0 top-8 bg-white shadow-md border rounded-xl p-4" }, /* @__PURE__ */ import_react21.default.createElement(it.Item, null, /* @__PURE__ */ import_react21.default.createElement("button", { onClick: () => {
}, type: "button", className: "px-3 py-2 text-sm font-medium text-center flex items-center" }, /* @__PURE__ */ import_react21.default.createElement(LuDownload, { className: "mr-2" }), " Exportar")))))))), /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full overflow-x-auto" }, /* @__PURE__ */ import_react21.default.createElement("table", { className: `w-full text-sm text-left text-gray-500 ${fixed ?? "table-fixed"}` }, /* @__PURE__ */ import_react21.default.createElement("thead", { className: "text-green-700 capitalize bg-green-50 whitespace-nowrap" }, /* @__PURE__ */ import_react21.default.createElement("tr", null, innerColumns.map((column, index) => {
))), !isLoading && innerData.length > 0 && /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full flex items-center space-x-4 justify-between -order-1 md:order-1 md:justify-normal md:w-min" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "flex flex-nowrap items-center space-x-2 text-sm text-gray-400" }, /* @__PURE__ */ import_react5.default.createElement("span", { className: "whitespace-nowrap" }, "Exibindo"), /* @__PURE__ */ import_react5.default.createElement("select", { value: itemsPerPage, onChange: (e) => setItemsPerPage(Number(e.target.value)), className: "bg-green-50 border border-green-300 text-green-700 font-medium text-sm rounded-lg focus:ring-green-500 focus:border-green-500 block p-2 outline-none" }, /* @__PURE__ */ import_react5.default.createElement("option", { value: 10, title: "10 itens por p\xE1gina" }, "10"), /* @__PURE__ */ import_react5.default.createElement("option", { value: 50, title: "50 itens por p\xE1gina" }, "50"), /* @__PURE__ */ import_react5.default.createElement("option", { value: 75, title: "75 itens por p\xE1gina" }, "75"), /* @__PURE__ */ import_react5.default.createElement("option", { value: 100, title: "100 itens por p\xE1gina" }, "100")), /* @__PURE__ */ import_react5.default.createElement("span", { className: "whitespace-nowrap" }, "de ", innerData.length, " resultados")), /* @__PURE__ */ import_react5.default.createElement("div", { className: "relative" }, /* @__PURE__ */ import_react5.default.createElement(import_react6.Menu, null, /* @__PURE__ */ import_react5.default.createElement(import_react6.Menu.Button, { className: "px-2 py-2 text-sm font-medium text-center flex items-center rounded-lg border border-transparent hover:border-gray-200" }, /* @__PURE__ */ import_react5.default.createElement(LuMoreVertical, null)), /* @__PURE__ */ import_react5.default.createElement(import_react6.Menu.Items, { className: "flex flex-col absolute right-0 top-8 bg-white shadow-md border rounded-xl p-4" }, /* @__PURE__ */ import_react5.default.createElement(import_react6.Menu.Item, null, /* @__PURE__ */ import_react5.default.createElement("button", { onClick: () => {
}, type: "button", className: "px-3 py-2 text-sm font-medium text-center flex items-center" }, /* @__PURE__ */ import_react5.default.createElement(LuDownload, { className: "mr-2" }), " Exportar")))))))), /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full overflow-x-auto" }, /* @__PURE__ */ import_react5.default.createElement("table", { className: `w-full text-sm text-left text-gray-500 ${fixed ?? "table-fixed"}` }, /* @__PURE__ */ import_react5.default.createElement("thead", { className: "text-green-700 capitalize bg-green-50 whitespace-nowrap" }, /* @__PURE__ */ import_react5.default.createElement("tr", null, innerColumns.map((column, index) => {
if (column.visible !== false) {
return /* @__PURE__ */ import_react21.default.createElement("th", { key: index, scope: "col", className: "py-3 px-6 whitespace-nowrap", onClick: column.sortable ? () => handleSortData(column) : void 0 }, /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex items-center justify-between space-x-4" }, /* @__PURE__ */ import_react21.default.createElement("span", null, column.name), column.sortable && /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex flex-col items-center justify-around" }, /* @__PURE__ */ import_react21.default.createElement(LuChevronUp, { size: 16, className: column.sortableOrder === "asc" ? "text-green-700" : "text-gray-300" }), /* @__PURE__ */ import_react21.default.createElement(LuChevronDown, { size: 16, className: column.sortableOrder === "desc" ? "-mt-1.5 text-green-700" : "-mt-1.5 text-gray-300" }))));
return /* @__PURE__ */ import_react5.default.createElement("th", { key: index, scope: "col", className: "py-3 px-6 whitespace-nowrap", onClick: column.sortable ? () => handleSortData(column) : void 0 }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "flex items-center justify-between space-x-4" }, /* @__PURE__ */ import_react5.default.createElement("span", null, column.name), column.sortable && /* @__PURE__ */ import_react5.default.createElement("div", { className: "flex flex-col items-center justify-around" }, /* @__PURE__ */ import_react5.default.createElement(LuChevronUp, { size: 16, className: column.sortableOrder === "asc" ? "text-green-700" : "text-gray-300" }), /* @__PURE__ */ import_react5.default.createElement(LuChevronDown, { size: 16, className: column.sortableOrder === "desc" ? "-mt-1.5 text-green-700" : "-mt-1.5 text-gray-300" }))));
}
return null;
}))), /* @__PURE__ */ import_react21.default.createElement("tbody", { className: "overflow-y-auto" }, !isLoading && innerData.slice(startIndex, endIndex).map((item, rowIndex) => {
return /* @__PURE__ */ import_react21.default.createElement("tr", { key: rowIndex, className: "hover:bg-green-50 [&:not(:last-child)]:border-b" }, innerColumns.map((column, colIndex) => {
}))), /* @__PURE__ */ import_react5.default.createElement("tbody", { className: "overflow-y-auto" }, !isLoading && innerData.slice(startIndex, endIndex).map((item, rowIndex) => {
return /* @__PURE__ */ import_react5.default.createElement("tr", { key: rowIndex, className: "hover:bg-green-50 [&:not(:last-child)]:border-b" }, innerColumns.map((column, colIndex) => {
if (column.visible !== false) {
if (colIndex === 0) {
return /* @__PURE__ */ import_react21.default.createElement(
return /* @__PURE__ */ import_react5.default.createElement(
"td",

@@ -1181,6 +468,6 @@ {

},
/* @__PURE__ */ import_react21.default.createElement("span", null, getValue(column, item))
/* @__PURE__ */ import_react5.default.createElement("span", null, getValue(column, item))
);
}
return /* @__PURE__ */ import_react21.default.createElement(
return /* @__PURE__ */ import_react5.default.createElement(
"td",

@@ -1191,3 +478,3 @@ {

},
/* @__PURE__ */ import_react21.default.createElement("span", null, getValue(column, item))
/* @__PURE__ */ import_react5.default.createElement("span", null, getValue(column, item))
);

@@ -1197,86 +484,34 @@ }

}));
}))), isLoading && /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full flex justify-center mt-4 text-sm" }, /* @__PURE__ */ import_react21.default.createElement("p", { className: "text-gray-500" }, "Carregando...")), !isLoading && data.length <= 0 && /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full flex justify-center mt-4 text-sm" }, /* @__PURE__ */ import_react21.default.createElement("p", { className: "text-gray-500" }, emptyText))), !isLoading && innerData.length > itemsPerPage && /* @__PURE__ */ import_react21.default.createElement("nav", { className: "w-full flex justify-end mt-6 px-4" }, /* @__PURE__ */ import_react21.default.createElement("ul", { className: "inline-flex -space-x-px" }, /* @__PURE__ */ import_react21.default.createElement("li", null, /* @__PURE__ */ import_react21.default.createElement("a", { onClick: handlePreviousPage, className: "select-none px-3 py-2 ml-0 leading-tight text-gray-500 bg-white border border-gray-300 rounded-l-lg hover:bg-gray-100 hover:text-gray-700 cursor-pointer" }, "Anterior")), pagination.map((page, index) => /* @__PURE__ */ import_react21.default.createElement("li", { key: index }, /* @__PURE__ */ import_react21.default.createElement(
"a",
}))), isLoading && /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full flex justify-center mt-4 text-sm" }, /* @__PURE__ */ import_react5.default.createElement("p", { className: "text-gray-500" }, "Carregando...")), !isLoading && data.length <= 0 && /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full flex justify-center mt-4 text-sm" }, /* @__PURE__ */ import_react5.default.createElement("p", { className: "text-gray-500" }, emptyText))), !isLoading && innerData.length > itemsPerPage && /* @__PURE__ */ import_react5.default.createElement("nav", { className: "w-full flex justify-end mt-6 px-4" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full inline-flex space-x-4 justify-between items-center" }, /* @__PURE__ */ import_react5.default.createElement(
Button,
{
onClick: typeof page === "number" ? () => handlePageChange(page) : void 0,
className: page === currentPage ? "px-3 py-2 text-green-600 border border-gray-300 bg-green-50 hover:bg-green-100 hover:text-green-700 cursor-pointer select-none" : "px-3 py-2 leading-tight text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 cursor-pointer select-none"
},
page
))), /* @__PURE__ */ import_react21.default.createElement("li", null, /* @__PURE__ */ import_react21.default.createElement("a", { onClick: handleNextPage, className: "select-none px-3 py-2 leading-tight text-gray-500 bg-white border border-gray-300 rounded-r-lg hover:bg-gray-100 hover:text-gray-700 cursor-pointer" }, "Pr\xF3ximo")))));
};
// src/components/button/button.tsx
var import_react23 = __toESM(require("react"));
var onlyIconSizes = {
xs: "px-1 py-1 text-xs",
sm: "px-2 py-2 text-sm",
md: "px-2.5 py-2.5 text-sm",
lg: "px-3 py-3 text-base",
xl: "px-3.5 py-3.5 text-base"
};
var sizes = {
xs: "px-3 py-2 text-xs",
sm: "px-3 py-2 text-sm",
md: "px-5 py-2.5 text-sm",
lg: "px-5 py-3 text-base",
xl: "px-6 py-3.5 text-base"
};
var getSizes = (size, hasOnlyIcon) => {
if (hasOnlyIcon)
return onlyIconSizes[size];
return sizes[size];
};
var radius = {
sm: "rounded-sm",
md: "rounded-md",
lg: "rounded-lg",
xl: "rounded-xl",
full: "rounded-full"
};
var Button = ({
_type = "contained",
emphasis = "high",
label = "",
size = "md",
className = "",
rounded = "lg",
leadingIcon,
onClick,
...rest
}) => {
const classes = (0, import_react23.useMemo)(() => {
const values = [];
if (_type === "contained" && emphasis === "high") {
values.push("text-white bg-green-700 hover:bg-green-800 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800");
_type: "outlined",
className: "",
leadingIcon: /* @__PURE__ */ import_react5.default.createElement(LuMoveLeft, null),
label: "Anterior",
onClick: handlePreviousPage
}
if (_type === "contained" && emphasis === "medium") {
values.push("text-gray-600 bg-green-100 hover:bg-green-200 focus:ring-green-300 dark:bg-green-300 dark:hover:bg-green-300 dark:focus:ring-green-400");
), /* @__PURE__ */ import_react5.default.createElement("div", { className: "flex items-center space-x-2" }, pagination.map((page, index) => /* @__PURE__ */ import_react5.default.createElement(
Button,
{
key: index,
_type: "text",
label: page.toString(),
className: page === currentPage ? "text-white border-none bg-green-600 hover:bg-green-700 hover:text-white" : "border-none",
onClick: typeof page === "number" ? () => handlePageChange(page) : void 0
}
if (_type === "contained" && emphasis === "low") {
values.push("text-gray-600 bg-transparent hover:bg-green-200 focus:ring-green-300 dark:bg-green-300 dark:hover:bg-green-300 dark:focus:ring-green-400");
))), /* @__PURE__ */ import_react5.default.createElement(
Button,
{
_type: "outlined",
className: "",
trailingIcon: /* @__PURE__ */ import_react5.default.createElement(LuMoveRight, null),
label: "Pr\xF3ximo",
onClick: handleNextPage
}
if (_type === "outlined") {
values.push("text-green-600 hover:text-green-700 border border-gray-200 focus:ring-green-300");
}
if (_type === "text") {
values.push("text-green-600 hover:text-green-700 border border-transparent focus:border-gray-200 focus:ring-green-300");
}
values.push(getSizes(size, label.length === 0));
values.push(radius[rounded]);
return values.join(" ");
}, [_type, size, label, rounded, emphasis]);
const IconContainer = () => /* @__PURE__ */ import_react23.default.createElement("div", { className: `${label.length > 0 ? "mr-2" : null}` }, leadingIcon);
return /* @__PURE__ */ import_react23.default.createElement(
"button",
{
className: `flex items-center flex-nowrap whitespace-nowrap focus:outline-none focus:ring-4 font-medium capitalize ${classes}`,
onClick,
...rest
},
/* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, null, leadingIcon && /* @__PURE__ */ import_react23.default.createElement(IconContainer, null), label)
);
))));
};
// src/components/number-input/number-input.tsx
var import_react24 = __toESM(require("react"));
var import_react7 = __toESM(require("react"));
var isOnlyNumbers = (value) => {

@@ -1295,3 +530,3 @@ if (/^(-)?(\d)*(,)?([0-9]{1})?([0-9]{1})?$/.test(value))

}) => {
const sizeClasses = (0, import_react24.useMemo)(() => {
const sizeClasses = (0, import_react7.useMemo)(() => {
const classes = {

@@ -1308,3 +543,3 @@ sm: "p-2 sm:text-xs",

};
return /* @__PURE__ */ import_react24.default.createElement(
return /* @__PURE__ */ import_react7.default.createElement(
"input",

@@ -1324,3 +559,3 @@ {

// src/components/text-input/text-input.tsx
var import_react25 = __toESM(require("react"));
var import_react8 = __toESM(require("react"));
var TextInput = ({

@@ -1335,3 +570,3 @@ type = "text",

}) => {
const sizeClasses = (0, import_react25.useMemo)(() => {
const sizeClasses = (0, import_react8.useMemo)(() => {
const classes = {

@@ -1344,3 +579,3 @@ sm: "p-2 sm:text-xs",

}, [_size]);
return /* @__PURE__ */ import_react25.default.createElement(
return /* @__PURE__ */ import_react8.default.createElement(
"input",

@@ -1347,0 +582,0 @@ {

{
"name": "avine-react-components",
"version": "0.1.33",
"version": "0.1.34",
"license": "MIT",

@@ -25,6 +25,7 @@ "description": "",

"peerDependencies": {
"react": ">=16"
"@headlessui/react": "^1.7.17",
"react": ">=16",
"tailwindcss": "^3.3.6"
},
"devDependencies": {
"@headlessui/react": "^1.7.17",
"@storybook/addon-essentials": "^7.6.4",

@@ -47,3 +48,2 @@ "@storybook/addon-interactions": "^7.6.4",

"storybook": "^7.6.4",
"tailwindcss": "^3.3.6",
"tsup": "^8.0.1",

@@ -50,0 +50,0 @@ "typescript": "^5.3.3"

@@ -6,2 +6,5 @@ # avine-react-components

Obs.:
- Atualmente o pacote está em versão beta (em desenvolvimento) e pode haver alterações no nome e componentes.
## 💻 Instalação

@@ -8,0 +11,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc