framepexls-ui-lib 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActionIconButton.d.mts +1 -0
- package/dist/ActionIconButton.d.ts +1 -0
- package/dist/ActionIconButton.js +12 -9
- package/dist/ActionIconButton.mjs +13 -10
- package/dist/AppTopbar.js +23 -6
- package/dist/AppTopbar.mjs +13 -6
- package/dist/AvatarGroup.d.mts +14 -0
- package/dist/AvatarGroup.d.ts +14 -0
- package/dist/AvatarGroup.js +77 -0
- package/dist/AvatarGroup.mjs +47 -0
- package/dist/AvatarSquare.d.mts +2 -5
- package/dist/AvatarSquare.d.ts +2 -5
- package/dist/AvatarSquare.js +52 -3
- package/dist/AvatarSquare.mjs +52 -3
- package/dist/Badge.d.mts +2 -1
- package/dist/Badge.d.ts +2 -1
- package/dist/Badge.js +3 -1
- package/dist/Badge.mjs +3 -1
- package/dist/BadgeCluster.js +3 -3
- package/dist/BadgeCluster.mjs +3 -3
- package/dist/Button.d.mts +3 -4
- package/dist/Button.d.ts +3 -4
- package/dist/Button.js +96 -8
- package/dist/Button.mjs +86 -8
- package/dist/CalendarPanel.js +20 -3
- package/dist/CalendarPanel.mjs +10 -3
- package/dist/Card.d.mts +6 -0
- package/dist/Card.d.ts +6 -0
- package/dist/Card.js +52 -0
- package/dist/Card.mjs +22 -0
- package/dist/CheckboxPillsGroup.d.mts +2 -1
- package/dist/CheckboxPillsGroup.d.ts +2 -1
- package/dist/CheckboxPillsGroup.js +8 -4
- package/dist/CheckboxPillsGroup.mjs +8 -4
- package/dist/ColumnSelector.js +16 -2
- package/dist/ColumnSelector.mjs +6 -2
- package/dist/ComboSelect.d.mts +0 -2
- package/dist/ComboSelect.d.ts +0 -2
- package/dist/ComboSelect.js +8 -4
- package/dist/ComboSelect.mjs +8 -4
- package/dist/DateTimeField.d.mts +0 -5
- package/dist/DateTimeField.d.ts +0 -5
- package/dist/DateTimeField.js +17 -8
- package/dist/DateTimeField.mjs +17 -8
- package/dist/Dialog.d.mts +2 -5
- package/dist/Dialog.d.ts +2 -5
- package/dist/Dialog.js +21 -22
- package/dist/Dialog.mjs +21 -22
- package/dist/Drawer.d.mts +38 -0
- package/dist/Drawer.d.ts +38 -0
- package/dist/Drawer.js +139 -0
- package/dist/Drawer.mjs +102 -0
- package/dist/Dropdown.d.mts +0 -3
- package/dist/Dropdown.d.ts +0 -3
- package/dist/Dropdown.js +61 -42
- package/dist/Dropdown.mjs +51 -42
- package/dist/Input.d.mts +2 -0
- package/dist/Input.d.ts +2 -0
- package/dist/Input.js +20 -5
- package/dist/Input.mjs +20 -5
- package/dist/Link.d.mts +15 -0
- package/dist/Link.d.ts +15 -0
- package/dist/Link.js +93 -0
- package/dist/Link.mjs +63 -0
- package/dist/MediaCard.d.mts +15 -0
- package/dist/MediaCard.d.ts +15 -0
- package/dist/MediaCard.js +153 -0
- package/dist/MediaCard.mjs +123 -0
- package/dist/MediaSelector.d.mts +48 -0
- package/dist/MediaSelector.d.ts +48 -0
- package/dist/MediaSelector.js +225 -0
- package/dist/MediaSelector.mjs +195 -0
- package/dist/Money.d.mts +2 -1
- package/dist/Money.d.ts +2 -1
- package/dist/Money.js +26 -2
- package/dist/Money.mjs +26 -2
- package/dist/MultiComboSelect.js +6 -11
- package/dist/MultiComboSelect.mjs +6 -11
- package/dist/OrderButton.js +13 -1
- package/dist/OrderButton.mjs +3 -1
- package/dist/Pagination.d.mts +2 -1
- package/dist/Pagination.d.ts +2 -1
- package/dist/Pagination.js +40 -3
- package/dist/Pagination.mjs +30 -3
- package/dist/ReviewHistory.js +3 -9
- package/dist/ReviewHistory.mjs +3 -9
- package/dist/SearchInput.js +17 -42
- package/dist/SearchInput.mjs +17 -42
- package/dist/Select.js +5 -2
- package/dist/Select.mjs +5 -2
- package/dist/Sidebar.d.mts +2 -3
- package/dist/Sidebar.d.ts +2 -3
- package/dist/Sidebar.js +132 -24
- package/dist/Sidebar.mjs +132 -24
- package/dist/Steps.d.mts +0 -2
- package/dist/Steps.d.ts +0 -2
- package/dist/Steps.js +19 -6
- package/dist/Steps.mjs +9 -6
- package/dist/Table.js +3 -1
- package/dist/Table.mjs +3 -1
- package/dist/TimePanel.js +21 -7
- package/dist/TimePanel.mjs +11 -7
- package/dist/TimePopover.js +32 -15
- package/dist/TimePopover.mjs +32 -15
- package/dist/TimeRangeField.js +13 -6
- package/dist/TimeRangeField.mjs +13 -6
- package/dist/Toast.d.mts +53 -0
- package/dist/Toast.d.ts +53 -0
- package/dist/Toast.js +273 -0
- package/dist/Toast.mjs +238 -0
- package/dist/Tooltip.d.mts +15 -0
- package/dist/Tooltip.d.ts +15 -0
- package/dist/Tooltip.js +135 -0
- package/dist/Tooltip.mjs +105 -0
- package/dist/UploadCard.d.mts +27 -0
- package/dist/UploadCard.d.ts +27 -0
- package/dist/UploadCard.js +143 -0
- package/dist/UploadCard.mjs +113 -0
- package/dist/index.d.mts +10 -1
- package/dist/index.d.ts +10 -1
- package/dist/index.js +30 -1
- package/dist/index.mjs +58 -39
- package/package.json +1 -1
package/dist/Badge.mjs
CHANGED
|
@@ -21,6 +21,7 @@ const sizeClasses = {
|
|
|
21
21
|
};
|
|
22
22
|
function Badge({
|
|
23
23
|
tone = "slate",
|
|
24
|
+
color,
|
|
24
25
|
size = "md",
|
|
25
26
|
children,
|
|
26
27
|
onClick,
|
|
@@ -30,6 +31,7 @@ function Badge({
|
|
|
30
31
|
var _a;
|
|
31
32
|
const clickable = typeof onClick === "function";
|
|
32
33
|
const sz = (_a = sizeClasses[size]) != null ? _a : sizeClasses.md;
|
|
34
|
+
const chosenTone = color != null ? color : tone;
|
|
33
35
|
return /* @__PURE__ */ jsxs(
|
|
34
36
|
"span",
|
|
35
37
|
{
|
|
@@ -37,7 +39,7 @@ function Badge({
|
|
|
37
39
|
onClick,
|
|
38
40
|
className: [
|
|
39
41
|
"inline-flex items-center rounded-full font-semibold truncate",
|
|
40
|
-
tones[
|
|
42
|
+
tones[chosenTone],
|
|
41
43
|
sz.wrap,
|
|
42
44
|
sz.gap,
|
|
43
45
|
clickable ? "cursor-pointer hover:opacity-90 active:scale-[0.98]" : "",
|
package/dist/BadgeCluster.js
CHANGED
|
@@ -37,13 +37,13 @@ var import_react = require("react");
|
|
|
37
37
|
var import_react_dom = require("react-dom");
|
|
38
38
|
var import_react2 = require("motion/react");
|
|
39
39
|
var import_Badge = __toESM(require("./Badge"));
|
|
40
|
+
var import_Button = __toESM(require("./Button"));
|
|
40
41
|
function BadgeCluster({
|
|
41
42
|
items,
|
|
42
43
|
max = 3,
|
|
43
44
|
align = "left",
|
|
44
45
|
className = "",
|
|
45
46
|
usePortal = true
|
|
46
|
-
// 👈 por defecto evita clipping
|
|
47
47
|
}) {
|
|
48
48
|
const show = items.slice(0, max);
|
|
49
49
|
const rest = items.slice(max);
|
|
@@ -95,7 +95,6 @@ function BadgeCluster({
|
|
|
95
95
|
].join(" "),
|
|
96
96
|
style: usePortal && pos ? {
|
|
97
97
|
top: pos.top,
|
|
98
|
-
// si alineas a la derecha, ancla por la derecha del botón
|
|
99
98
|
left: align === "right" ? void 0 : pos.left,
|
|
100
99
|
right: align === "right" ? Math.max(window.innerWidth - pos.left, 0) : void 0
|
|
101
100
|
} : void 0,
|
|
@@ -106,8 +105,9 @@ function BadgeCluster({
|
|
|
106
105
|
show.map((it, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Badge.default, { tone: it.tone, children: it.label }, `${it.label}-${i}`)),
|
|
107
106
|
rest.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
108
107
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
109
|
-
|
|
108
|
+
import_Button.default,
|
|
110
109
|
{
|
|
110
|
+
unstyled: true,
|
|
111
111
|
ref: btnRef,
|
|
112
112
|
type: "button",
|
|
113
113
|
onClick: () => setOpen((v) => !v),
|
package/dist/BadgeCluster.mjs
CHANGED
|
@@ -4,13 +4,13 @@ import { useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
|
4
4
|
import { createPortal } from "react-dom";
|
|
5
5
|
import { AnimatePresence, motion } from "motion/react";
|
|
6
6
|
import Badge from "./Badge";
|
|
7
|
+
import Button from "./Button";
|
|
7
8
|
function BadgeCluster({
|
|
8
9
|
items,
|
|
9
10
|
max = 3,
|
|
10
11
|
align = "left",
|
|
11
12
|
className = "",
|
|
12
13
|
usePortal = true
|
|
13
|
-
// 👈 por defecto evita clipping
|
|
14
14
|
}) {
|
|
15
15
|
const show = items.slice(0, max);
|
|
16
16
|
const rest = items.slice(max);
|
|
@@ -62,7 +62,6 @@ function BadgeCluster({
|
|
|
62
62
|
].join(" "),
|
|
63
63
|
style: usePortal && pos ? {
|
|
64
64
|
top: pos.top,
|
|
65
|
-
// si alineas a la derecha, ancla por la derecha del botón
|
|
66
65
|
left: align === "right" ? void 0 : pos.left,
|
|
67
66
|
right: align === "right" ? Math.max(window.innerWidth - pos.left, 0) : void 0
|
|
68
67
|
} : void 0,
|
|
@@ -73,8 +72,9 @@ function BadgeCluster({
|
|
|
73
72
|
show.map((it, i) => /* @__PURE__ */ jsx(Badge, { tone: it.tone, children: it.label }, `${it.label}-${i}`)),
|
|
74
73
|
rest.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
75
74
|
/* @__PURE__ */ jsxs(
|
|
76
|
-
|
|
75
|
+
Button,
|
|
77
76
|
{
|
|
77
|
+
unstyled: true,
|
|
78
78
|
ref: btnRef,
|
|
79
79
|
type: "button",
|
|
80
80
|
onClick: () => setOpen((v) => !v),
|
package/dist/Button.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
1
|
import React__default from 'react';
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
declare const Button: React__default.ForwardRefExoticComponent<{
|
|
5
4
|
variant?: "primary" | "secondary" | "outline" | "ghost" | "danger";
|
|
5
|
+
color?: "slate" | "gray" | "zinc" | "neutral" | "stone" | "red" | "orange" | "amber" | "yellow" | "lime" | "green" | "emerald" | "teal" | "cyan" | "sky" | "blue" | "indigo" | "violet" | "purple" | "fuchsia" | "pink" | "rose";
|
|
6
6
|
size?: "sm" | "md" | "lg";
|
|
7
7
|
loading?: boolean;
|
|
8
8
|
leftIcon?: React__default.ReactNode;
|
|
@@ -15,7 +15,6 @@ type ButtonProps = {
|
|
|
15
15
|
icon?: React__default.ReactNode;
|
|
16
16
|
noPaddingX?: boolean;
|
|
17
17
|
unstyled?: boolean;
|
|
18
|
-
} & React__default.ButtonHTMLAttributes<HTMLButtonElement
|
|
19
|
-
declare function Button({ children, variant, size, loading, disabled, leftIcon, rightIcon, block, className, type, active, inverted, iconOnly, icon, noPaddingX, unstyled, ...rest }: ButtonProps): react_jsx_runtime.JSX.Element;
|
|
18
|
+
} & React__default.ButtonHTMLAttributes<HTMLButtonElement> & React__default.RefAttributes<HTMLButtonElement>>;
|
|
20
19
|
|
|
21
20
|
export { Button as default };
|
package/dist/Button.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
1
|
import React__default from 'react';
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
declare const Button: React__default.ForwardRefExoticComponent<{
|
|
5
4
|
variant?: "primary" | "secondary" | "outline" | "ghost" | "danger";
|
|
5
|
+
color?: "slate" | "gray" | "zinc" | "neutral" | "stone" | "red" | "orange" | "amber" | "yellow" | "lime" | "green" | "emerald" | "teal" | "cyan" | "sky" | "blue" | "indigo" | "violet" | "purple" | "fuchsia" | "pink" | "rose";
|
|
6
6
|
size?: "sm" | "md" | "lg";
|
|
7
7
|
loading?: boolean;
|
|
8
8
|
leftIcon?: React__default.ReactNode;
|
|
@@ -15,7 +15,6 @@ type ButtonProps = {
|
|
|
15
15
|
icon?: React__default.ReactNode;
|
|
16
16
|
noPaddingX?: boolean;
|
|
17
17
|
unstyled?: boolean;
|
|
18
|
-
} & React__default.ButtonHTMLAttributes<HTMLButtonElement
|
|
19
|
-
declare function Button({ children, variant, size, loading, disabled, leftIcon, rightIcon, block, className, type, active, inverted, iconOnly, icon, noPaddingX, unstyled, ...rest }: ButtonProps): react_jsx_runtime.JSX.Element;
|
|
18
|
+
} & React__default.ButtonHTMLAttributes<HTMLButtonElement> & React__default.RefAttributes<HTMLButtonElement>>;
|
|
20
19
|
|
|
21
20
|
export { Button as default };
|
package/dist/Button.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
"use client";
|
|
3
|
+
var __create = Object.create;
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
4
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
8
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
9
|
var __export = (target, all) => {
|
|
8
10
|
for (var name in all)
|
|
@@ -16,16 +18,26 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
18
|
}
|
|
17
19
|
return to;
|
|
18
20
|
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
19
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
30
|
var Button_exports = {};
|
|
21
31
|
__export(Button_exports, {
|
|
22
|
-
default: () =>
|
|
32
|
+
default: () => Button_default
|
|
23
33
|
});
|
|
24
34
|
module.exports = __toCommonJS(Button_exports);
|
|
25
35
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
26
|
-
|
|
36
|
+
var import_react = __toESM(require("react"));
|
|
37
|
+
const Button = import_react.default.forwardRef(({
|
|
27
38
|
children,
|
|
28
39
|
variant = "primary",
|
|
40
|
+
color,
|
|
29
41
|
size = "md",
|
|
30
42
|
loading = false,
|
|
31
43
|
disabled,
|
|
@@ -41,11 +53,12 @@ function Button({
|
|
|
41
53
|
noPaddingX = false,
|
|
42
54
|
unstyled = false,
|
|
43
55
|
...rest
|
|
44
|
-
}) {
|
|
56
|
+
}, ref) => {
|
|
45
57
|
if (unstyled) {
|
|
46
58
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
47
59
|
"button",
|
|
48
60
|
{
|
|
61
|
+
ref,
|
|
49
62
|
type,
|
|
50
63
|
disabled: disabled || loading,
|
|
51
64
|
"aria-pressed": active ? true : void 0,
|
|
@@ -57,18 +70,90 @@ function Button({
|
|
|
57
70
|
}
|
|
58
71
|
const base = "inline-flex items-center justify-center rounded-xl font-medium transition focus:outline-none focus-visible:ring-2 disabled:opacity-60 disabled:cursor-not-allowed";
|
|
59
72
|
const sizes = size === "sm" ? `h-9 ${noPaddingX ? "" : "px-3"} text-sm` : size === "lg" ? `h-11 ${noPaddingX ? "" : "px-5"} text-base` : `h-10 ${noPaddingX ? "" : "px-4"} text-sm`;
|
|
73
|
+
const SOLID = {
|
|
74
|
+
slate: "bg-slate-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-slate-500",
|
|
75
|
+
gray: "bg-gray-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-gray-500",
|
|
76
|
+
zinc: "bg-zinc-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-zinc-500",
|
|
77
|
+
neutral: "bg-neutral-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-neutral-500",
|
|
78
|
+
stone: "bg-stone-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-stone-500",
|
|
79
|
+
red: "bg-red-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-red-500",
|
|
80
|
+
orange: "bg-orange-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-orange-500",
|
|
81
|
+
amber: "bg-amber-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-amber-500",
|
|
82
|
+
yellow: "bg-yellow-500 text-slate-900 hover:opacity-95 active:scale-[.98] dark:bg-yellow-400",
|
|
83
|
+
lime: "bg-lime-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-lime-500",
|
|
84
|
+
green: "bg-green-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-green-500",
|
|
85
|
+
emerald: "bg-emerald-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-emerald-500",
|
|
86
|
+
teal: "bg-teal-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-teal-500",
|
|
87
|
+
cyan: "bg-cyan-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-cyan-500",
|
|
88
|
+
sky: "bg-sky-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-sky-500",
|
|
89
|
+
blue: "bg-blue-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-blue-500",
|
|
90
|
+
indigo: "bg-indigo-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-indigo-500",
|
|
91
|
+
violet: "bg-violet-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-violet-500",
|
|
92
|
+
purple: "bg-purple-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-purple-500",
|
|
93
|
+
fuchsia: "bg-fuchsia-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-fuchsia-500",
|
|
94
|
+
pink: "bg-pink-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-pink-500",
|
|
95
|
+
rose: "bg-rose-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-rose-500"
|
|
96
|
+
};
|
|
97
|
+
const OUTLINE = {
|
|
98
|
+
slate: "border border-slate-300/80 bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:text-slate-200 dark:hover:bg-white/10",
|
|
99
|
+
gray: "border border-gray-300/80 bg-transparent text-gray-700 hover:bg-gray-50 active:scale-[.98] dark:border-white/10 dark:text-gray-200 dark:hover:bg-white/10",
|
|
100
|
+
zinc: "border border-zinc-300/80 bg-transparent text-zinc-700 hover:bg-zinc-50 active:scale-[.98] dark:border-white/10 dark:text-zinc-200 dark:hover:bg-white/10",
|
|
101
|
+
neutral: "border border-neutral-300/80 bg-transparent text-neutral-700 hover:bg-neutral-50 active:scale-[.98] dark:border-white/10 dark:text-neutral-200 dark:hover:bg-white/10",
|
|
102
|
+
stone: "border border-stone-300/80 bg-transparent text-stone-700 hover:bg-stone-50 active:scale-[.98] dark:border-white/10 dark:text-stone-200 dark:hover:bg-white/10",
|
|
103
|
+
red: "border border-red-300/80 bg-transparent text-red-700 hover:bg-red-50 active:scale-[.98] dark:border-white/10 dark:text-red-300 dark:hover:bg-white/10",
|
|
104
|
+
orange: "border border-orange-300/80 bg-transparent text-orange-700 hover:bg-orange-50 active:scale-[.98] dark:border-white/10 dark:text-orange-300 dark:hover:bg-white/10",
|
|
105
|
+
amber: "border border-amber-300/80 bg-transparent text-amber-700 hover:bg-amber-50 active:scale-[.98] dark:border-white/10 dark:text-amber-300 dark:hover:bg-white/10",
|
|
106
|
+
yellow: "border border-yellow-300/80 bg-transparent text-yellow-700 hover:bg-yellow-50 active:scale-[.98] dark:border-white/10 dark:text-yellow-300 dark:hover:bg-white/10",
|
|
107
|
+
lime: "border border-lime-300/80 bg-transparent text-lime-700 hover:bg-lime-50 active:scale-[.98] dark:border-white/10 dark:text-lime-300 dark:hover:bg-white/10",
|
|
108
|
+
green: "border border-green-300/80 bg-transparent text-green-700 hover:bg-green-50 active:scale-[.98] dark:border-white/10 dark:text-green-300 dark:hover:bg-white/10",
|
|
109
|
+
emerald: "border border-emerald-300/80 bg-transparent text-emerald-700 hover:bg-emerald-50 active:scale-[.98] dark:border-white/10 dark:text-emerald-300 dark:hover:bg-white/10",
|
|
110
|
+
teal: "border border-teal-300/80 bg-transparent text-teal-700 hover:bg-teal-50 active:scale-[.98] dark:border-white/10 dark:text-teal-300 dark:hover:bg-white/10",
|
|
111
|
+
cyan: "border border-cyan-300/80 bg-transparent text-cyan-700 hover:bg-cyan-50 active:scale-[.98] dark:border-white/10 dark:text-cyan-300 dark:hover:bg-white/10",
|
|
112
|
+
sky: "border border-sky-300/80 bg-transparent text-sky-700 hover:bg-sky-50 active:scale-[.98] dark:border-white/10 dark:text-sky-300 dark:hover:bg-white/10",
|
|
113
|
+
blue: "border border-blue-300/80 bg-transparent text-blue-700 hover:bg-blue-50 active:scale-[.98] dark:border-white/10 dark:text-blue-300 dark:hover:bg-white/10",
|
|
114
|
+
indigo: "border border-indigo-300/80 bg-transparent text-indigo-700 hover:bg-indigo-50 active:scale-[.98] dark:border-white/10 dark:text-indigo-300 dark:hover:bg-white/10",
|
|
115
|
+
violet: "border border-violet-300/80 bg-transparent text-violet-700 hover:bg-violet-50 active:scale-[.98] dark:border-white/10 dark:text-violet-300 dark:hover:bg-white/10",
|
|
116
|
+
purple: "border border-purple-300/80 bg-transparent text-purple-700 hover:bg-purple-50 active:scale-[.98] dark:border-white/10 dark:text-purple-300 dark:hover:bg-white/10",
|
|
117
|
+
fuchsia: "border border-fuchsia-300/80 bg-transparent text-fuchsia-700 hover:bg-fuchsia-50 active:scale-[.98] dark:border-white/10 dark:text-fuchsia-300 dark:hover:bg-white/10",
|
|
118
|
+
pink: "border border-pink-300/80 bg-transparent text-pink-700 hover:bg-pink-50 active:scale-[.98] dark:border-white/10 dark:text-pink-300 dark:hover:bg-white/10",
|
|
119
|
+
rose: "border border-rose-300/80 bg-transparent text-rose-700 hover:bg-rose-50 active:scale-[.98] dark:border-white/10 dark:text-rose-300 dark:hover:bg-white/10"
|
|
120
|
+
};
|
|
121
|
+
const GHOST = {
|
|
122
|
+
slate: "bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:text-slate-200 dark:hover:bg-white/10",
|
|
123
|
+
gray: "bg-transparent text-gray-700 hover:bg-gray-50 active:scale-[.98] dark:text-gray-200 dark:hover:bg-white/10",
|
|
124
|
+
zinc: "bg-transparent text-zinc-700 hover:bg-zinc-50 active:scale-[.98] dark:text-zinc-200 dark:hover:bg-white/10",
|
|
125
|
+
neutral: "bg-transparent text-neutral-700 hover:bg-neutral-50 active:scale-[.98] dark:text-neutral-200 dark:hover:bg-white/10",
|
|
126
|
+
stone: "bg-transparent text-stone-700 hover:bg-stone-50 active:scale-[.98] dark:text-stone-200 dark:hover:bg-white/10",
|
|
127
|
+
red: "bg-transparent text-red-700 hover:bg-red-50 active:scale-[.98] dark:text-red-300 dark:hover:bg-white/10",
|
|
128
|
+
orange: "bg-transparent text-orange-700 hover:bg-orange-50 active:scale-[.98] dark:text-orange-300 dark:hover:bg-white/10",
|
|
129
|
+
amber: "bg-transparent text-amber-700 hover:bg-amber-50 active:scale-[.98] dark:text-amber-300 dark:hover:bg-white/10",
|
|
130
|
+
yellow: "bg-transparent text-yellow-700 hover:bg-yellow-50 active:scale-[.98] dark:text-yellow-300 dark:hover:bg-white/10",
|
|
131
|
+
lime: "bg-transparent text-lime-700 hover:bg-lime-50 active:scale-[.98] dark:text-lime-300 dark:hover:bg-white/10",
|
|
132
|
+
green: "bg-transparent text-green-700 hover:bg-green-50 active:scale-[.98] dark:text-green-300 dark:hover:bg-white/10",
|
|
133
|
+
emerald: "bg-transparent text-emerald-700 hover:bg-emerald-50 active:scale-[.98] dark:text-emerald-300 dark:hover:bg-white/10",
|
|
134
|
+
teal: "bg-transparent text-teal-700 hover:bg-teal-50 active:scale-[.98] dark:text-teal-300 dark:hover:bg-white/10",
|
|
135
|
+
cyan: "bg-transparent text-cyan-700 hover:bg-cyan-50 active:scale-[.98] dark:text-cyan-300 dark:hover:bg-white/10",
|
|
136
|
+
sky: "bg-transparent text-sky-700 hover:bg-sky-50 active:scale-[.98] dark:text-sky-300 dark:hover:bg-white/10",
|
|
137
|
+
blue: "bg-transparent text-blue-700 hover:bg-blue-50 active:scale-[.98] dark:text-blue-300 dark:hover:bg-white/10",
|
|
138
|
+
indigo: "bg-transparent text-indigo-700 hover:bg-indigo-50 active:scale-[.98] dark:text-indigo-300 dark:hover:bg-white/10",
|
|
139
|
+
violet: "bg-transparent text-violet-700 hover:bg-violet-50 active:scale-[.98] dark:text-violet-300 dark:hover:bg-white/10",
|
|
140
|
+
purple: "bg-transparent text-purple-700 hover:bg-purple-50 active:scale-[.98] dark:text-purple-300 dark:hover:bg-white/10",
|
|
141
|
+
fuchsia: "bg-transparent text-fuchsia-700 hover:bg-fuchsia-50 active:scale-[.98] dark:text-fuchsia-300 dark:hover:bg-white/10",
|
|
142
|
+
pink: "bg-transparent text-pink-700 hover:bg-pink-50 active:scale-[.98] dark:text-pink-300 dark:hover:bg-white/10",
|
|
143
|
+
rose: "bg-transparent text-rose-700 hover:bg-rose-50 active:scale-[.98] dark:text-rose-300 dark:hover:bg-white/10"
|
|
144
|
+
};
|
|
60
145
|
const variantClass = (() => {
|
|
61
146
|
switch (variant) {
|
|
62
147
|
case "primary":
|
|
63
|
-
return "bg-slate-900 text-white hover:opacity-90 active:scale-[.98] dark:bg-white dark:text-slate-900";
|
|
148
|
+
return color ? SOLID[color] : "bg-slate-900 text-white hover:opacity-90 active:scale-[.98] dark:bg-white dark:text-slate-900";
|
|
64
149
|
case "secondary":
|
|
65
150
|
return inverted ? "border border-white/15 bg-white/10 text-white hover:bg-white/15 active:scale-[.98]" : "border border-slate-300/80 bg-white text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:bg-white/5 dark:text-slate-200 dark:hover:bg-white/10";
|
|
66
151
|
case "outline":
|
|
67
|
-
return inverted ? "border border-white/20 bg-transparent text-white hover:bg-white/10 active:scale-[.98]" : "border border-slate-300/80 bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:text-slate-200 dark:hover:bg-white/10";
|
|
152
|
+
return inverted ? "border border-white/20 bg-transparent text-white hover:bg-white/10 active:scale-[.98]" : color ? OUTLINE[color] : "border border-slate-300/80 bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:text-slate-200 dark:hover:bg-white/10";
|
|
68
153
|
case "ghost":
|
|
69
|
-
return inverted ? "bg-transparent text-white hover:bg-white/10 active:scale-[.98]" : "bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:text-slate-200 dark:hover:bg-white/10";
|
|
154
|
+
return inverted ? "bg-transparent text-white hover:bg-white/10 active:scale-[.98]" : color ? GHOST[color] : "bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:text-slate-200 dark:hover:bg-white/10";
|
|
70
155
|
case "danger":
|
|
71
|
-
return "bg-
|
|
156
|
+
return color ? SOLID[color] : "bg-rose-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-rose-500";
|
|
72
157
|
}
|
|
73
158
|
})();
|
|
74
159
|
const activeClass = active ? variant === "primary" ? "ring-2 ring-slate-300/60 dark:ring-white/20" : variant === "ghost" ? inverted ? "bg-white/15 text-white shadow-sm" : "bg-slate-100 text-slate-900 ring-1 ring-slate-300 dark:ring-white/15 shadow-sm" : variant === "outline" ? inverted ? "bg-white/10 text-white" : "bg-slate-50 ring-1 ring-slate-300 dark:ring-white/15" : variant === "secondary" ? inverted ? "bg-white/15 text-white" : "bg-slate-100 ring-1 ring-slate-300/80 dark:ring-white/15" : "" : "";
|
|
@@ -81,6 +166,7 @@ function Button({
|
|
|
81
166
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
82
167
|
"button",
|
|
83
168
|
{
|
|
169
|
+
ref,
|
|
84
170
|
type,
|
|
85
171
|
disabled: disabled || loading,
|
|
86
172
|
"aria-pressed": active ? true : void 0,
|
|
@@ -105,4 +191,6 @@ function Button({
|
|
|
105
191
|
]
|
|
106
192
|
}
|
|
107
193
|
);
|
|
108
|
-
}
|
|
194
|
+
});
|
|
195
|
+
Button.displayName = "Button";
|
|
196
|
+
var Button_default = Button;
|
package/dist/Button.mjs
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
|
|
3
|
+
import React from "react";
|
|
4
|
+
const Button = React.forwardRef(({
|
|
4
5
|
children,
|
|
5
6
|
variant = "primary",
|
|
7
|
+
color,
|
|
6
8
|
size = "md",
|
|
7
9
|
loading = false,
|
|
8
10
|
disabled,
|
|
@@ -18,11 +20,12 @@ function Button({
|
|
|
18
20
|
noPaddingX = false,
|
|
19
21
|
unstyled = false,
|
|
20
22
|
...rest
|
|
21
|
-
}) {
|
|
23
|
+
}, ref) => {
|
|
22
24
|
if (unstyled) {
|
|
23
25
|
return /* @__PURE__ */ jsx(
|
|
24
26
|
"button",
|
|
25
27
|
{
|
|
28
|
+
ref,
|
|
26
29
|
type,
|
|
27
30
|
disabled: disabled || loading,
|
|
28
31
|
"aria-pressed": active ? true : void 0,
|
|
@@ -34,18 +37,90 @@ function Button({
|
|
|
34
37
|
}
|
|
35
38
|
const base = "inline-flex items-center justify-center rounded-xl font-medium transition focus:outline-none focus-visible:ring-2 disabled:opacity-60 disabled:cursor-not-allowed";
|
|
36
39
|
const sizes = size === "sm" ? `h-9 ${noPaddingX ? "" : "px-3"} text-sm` : size === "lg" ? `h-11 ${noPaddingX ? "" : "px-5"} text-base` : `h-10 ${noPaddingX ? "" : "px-4"} text-sm`;
|
|
40
|
+
const SOLID = {
|
|
41
|
+
slate: "bg-slate-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-slate-500",
|
|
42
|
+
gray: "bg-gray-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-gray-500",
|
|
43
|
+
zinc: "bg-zinc-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-zinc-500",
|
|
44
|
+
neutral: "bg-neutral-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-neutral-500",
|
|
45
|
+
stone: "bg-stone-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-stone-500",
|
|
46
|
+
red: "bg-red-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-red-500",
|
|
47
|
+
orange: "bg-orange-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-orange-500",
|
|
48
|
+
amber: "bg-amber-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-amber-500",
|
|
49
|
+
yellow: "bg-yellow-500 text-slate-900 hover:opacity-95 active:scale-[.98] dark:bg-yellow-400",
|
|
50
|
+
lime: "bg-lime-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-lime-500",
|
|
51
|
+
green: "bg-green-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-green-500",
|
|
52
|
+
emerald: "bg-emerald-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-emerald-500",
|
|
53
|
+
teal: "bg-teal-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-teal-500",
|
|
54
|
+
cyan: "bg-cyan-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-cyan-500",
|
|
55
|
+
sky: "bg-sky-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-sky-500",
|
|
56
|
+
blue: "bg-blue-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-blue-500",
|
|
57
|
+
indigo: "bg-indigo-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-indigo-500",
|
|
58
|
+
violet: "bg-violet-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-violet-500",
|
|
59
|
+
purple: "bg-purple-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-purple-500",
|
|
60
|
+
fuchsia: "bg-fuchsia-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-fuchsia-500",
|
|
61
|
+
pink: "bg-pink-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-pink-500",
|
|
62
|
+
rose: "bg-rose-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-rose-500"
|
|
63
|
+
};
|
|
64
|
+
const OUTLINE = {
|
|
65
|
+
slate: "border border-slate-300/80 bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:text-slate-200 dark:hover:bg-white/10",
|
|
66
|
+
gray: "border border-gray-300/80 bg-transparent text-gray-700 hover:bg-gray-50 active:scale-[.98] dark:border-white/10 dark:text-gray-200 dark:hover:bg-white/10",
|
|
67
|
+
zinc: "border border-zinc-300/80 bg-transparent text-zinc-700 hover:bg-zinc-50 active:scale-[.98] dark:border-white/10 dark:text-zinc-200 dark:hover:bg-white/10",
|
|
68
|
+
neutral: "border border-neutral-300/80 bg-transparent text-neutral-700 hover:bg-neutral-50 active:scale-[.98] dark:border-white/10 dark:text-neutral-200 dark:hover:bg-white/10",
|
|
69
|
+
stone: "border border-stone-300/80 bg-transparent text-stone-700 hover:bg-stone-50 active:scale-[.98] dark:border-white/10 dark:text-stone-200 dark:hover:bg-white/10",
|
|
70
|
+
red: "border border-red-300/80 bg-transparent text-red-700 hover:bg-red-50 active:scale-[.98] dark:border-white/10 dark:text-red-300 dark:hover:bg-white/10",
|
|
71
|
+
orange: "border border-orange-300/80 bg-transparent text-orange-700 hover:bg-orange-50 active:scale-[.98] dark:border-white/10 dark:text-orange-300 dark:hover:bg-white/10",
|
|
72
|
+
amber: "border border-amber-300/80 bg-transparent text-amber-700 hover:bg-amber-50 active:scale-[.98] dark:border-white/10 dark:text-amber-300 dark:hover:bg-white/10",
|
|
73
|
+
yellow: "border border-yellow-300/80 bg-transparent text-yellow-700 hover:bg-yellow-50 active:scale-[.98] dark:border-white/10 dark:text-yellow-300 dark:hover:bg-white/10",
|
|
74
|
+
lime: "border border-lime-300/80 bg-transparent text-lime-700 hover:bg-lime-50 active:scale-[.98] dark:border-white/10 dark:text-lime-300 dark:hover:bg-white/10",
|
|
75
|
+
green: "border border-green-300/80 bg-transparent text-green-700 hover:bg-green-50 active:scale-[.98] dark:border-white/10 dark:text-green-300 dark:hover:bg-white/10",
|
|
76
|
+
emerald: "border border-emerald-300/80 bg-transparent text-emerald-700 hover:bg-emerald-50 active:scale-[.98] dark:border-white/10 dark:text-emerald-300 dark:hover:bg-white/10",
|
|
77
|
+
teal: "border border-teal-300/80 bg-transparent text-teal-700 hover:bg-teal-50 active:scale-[.98] dark:border-white/10 dark:text-teal-300 dark:hover:bg-white/10",
|
|
78
|
+
cyan: "border border-cyan-300/80 bg-transparent text-cyan-700 hover:bg-cyan-50 active:scale-[.98] dark:border-white/10 dark:text-cyan-300 dark:hover:bg-white/10",
|
|
79
|
+
sky: "border border-sky-300/80 bg-transparent text-sky-700 hover:bg-sky-50 active:scale-[.98] dark:border-white/10 dark:text-sky-300 dark:hover:bg-white/10",
|
|
80
|
+
blue: "border border-blue-300/80 bg-transparent text-blue-700 hover:bg-blue-50 active:scale-[.98] dark:border-white/10 dark:text-blue-300 dark:hover:bg-white/10",
|
|
81
|
+
indigo: "border border-indigo-300/80 bg-transparent text-indigo-700 hover:bg-indigo-50 active:scale-[.98] dark:border-white/10 dark:text-indigo-300 dark:hover:bg-white/10",
|
|
82
|
+
violet: "border border-violet-300/80 bg-transparent text-violet-700 hover:bg-violet-50 active:scale-[.98] dark:border-white/10 dark:text-violet-300 dark:hover:bg-white/10",
|
|
83
|
+
purple: "border border-purple-300/80 bg-transparent text-purple-700 hover:bg-purple-50 active:scale-[.98] dark:border-white/10 dark:text-purple-300 dark:hover:bg-white/10",
|
|
84
|
+
fuchsia: "border border-fuchsia-300/80 bg-transparent text-fuchsia-700 hover:bg-fuchsia-50 active:scale-[.98] dark:border-white/10 dark:text-fuchsia-300 dark:hover:bg-white/10",
|
|
85
|
+
pink: "border border-pink-300/80 bg-transparent text-pink-700 hover:bg-pink-50 active:scale-[.98] dark:border-white/10 dark:text-pink-300 dark:hover:bg-white/10",
|
|
86
|
+
rose: "border border-rose-300/80 bg-transparent text-rose-700 hover:bg-rose-50 active:scale-[.98] dark:border-white/10 dark:text-rose-300 dark:hover:bg-white/10"
|
|
87
|
+
};
|
|
88
|
+
const GHOST = {
|
|
89
|
+
slate: "bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:text-slate-200 dark:hover:bg-white/10",
|
|
90
|
+
gray: "bg-transparent text-gray-700 hover:bg-gray-50 active:scale-[.98] dark:text-gray-200 dark:hover:bg-white/10",
|
|
91
|
+
zinc: "bg-transparent text-zinc-700 hover:bg-zinc-50 active:scale-[.98] dark:text-zinc-200 dark:hover:bg-white/10",
|
|
92
|
+
neutral: "bg-transparent text-neutral-700 hover:bg-neutral-50 active:scale-[.98] dark:text-neutral-200 dark:hover:bg-white/10",
|
|
93
|
+
stone: "bg-transparent text-stone-700 hover:bg-stone-50 active:scale-[.98] dark:text-stone-200 dark:hover:bg-white/10",
|
|
94
|
+
red: "bg-transparent text-red-700 hover:bg-red-50 active:scale-[.98] dark:text-red-300 dark:hover:bg-white/10",
|
|
95
|
+
orange: "bg-transparent text-orange-700 hover:bg-orange-50 active:scale-[.98] dark:text-orange-300 dark:hover:bg-white/10",
|
|
96
|
+
amber: "bg-transparent text-amber-700 hover:bg-amber-50 active:scale-[.98] dark:text-amber-300 dark:hover:bg-white/10",
|
|
97
|
+
yellow: "bg-transparent text-yellow-700 hover:bg-yellow-50 active:scale-[.98] dark:text-yellow-300 dark:hover:bg-white/10",
|
|
98
|
+
lime: "bg-transparent text-lime-700 hover:bg-lime-50 active:scale-[.98] dark:text-lime-300 dark:hover:bg-white/10",
|
|
99
|
+
green: "bg-transparent text-green-700 hover:bg-green-50 active:scale-[.98] dark:text-green-300 dark:hover:bg-white/10",
|
|
100
|
+
emerald: "bg-transparent text-emerald-700 hover:bg-emerald-50 active:scale-[.98] dark:text-emerald-300 dark:hover:bg-white/10",
|
|
101
|
+
teal: "bg-transparent text-teal-700 hover:bg-teal-50 active:scale-[.98] dark:text-teal-300 dark:hover:bg-white/10",
|
|
102
|
+
cyan: "bg-transparent text-cyan-700 hover:bg-cyan-50 active:scale-[.98] dark:text-cyan-300 dark:hover:bg-white/10",
|
|
103
|
+
sky: "bg-transparent text-sky-700 hover:bg-sky-50 active:scale-[.98] dark:text-sky-300 dark:hover:bg-white/10",
|
|
104
|
+
blue: "bg-transparent text-blue-700 hover:bg-blue-50 active:scale-[.98] dark:text-blue-300 dark:hover:bg-white/10",
|
|
105
|
+
indigo: "bg-transparent text-indigo-700 hover:bg-indigo-50 active:scale-[.98] dark:text-indigo-300 dark:hover:bg-white/10",
|
|
106
|
+
violet: "bg-transparent text-violet-700 hover:bg-violet-50 active:scale-[.98] dark:text-violet-300 dark:hover:bg-white/10",
|
|
107
|
+
purple: "bg-transparent text-purple-700 hover:bg-purple-50 active:scale-[.98] dark:text-purple-300 dark:hover:bg-white/10",
|
|
108
|
+
fuchsia: "bg-transparent text-fuchsia-700 hover:bg-fuchsia-50 active:scale-[.98] dark:text-fuchsia-300 dark:hover:bg-white/10",
|
|
109
|
+
pink: "bg-transparent text-pink-700 hover:bg-pink-50 active:scale-[.98] dark:text-pink-300 dark:hover:bg-white/10",
|
|
110
|
+
rose: "bg-transparent text-rose-700 hover:bg-rose-50 active:scale-[.98] dark:text-rose-300 dark:hover:bg-white/10"
|
|
111
|
+
};
|
|
37
112
|
const variantClass = (() => {
|
|
38
113
|
switch (variant) {
|
|
39
114
|
case "primary":
|
|
40
|
-
return "bg-slate-900 text-white hover:opacity-90 active:scale-[.98] dark:bg-white dark:text-slate-900";
|
|
115
|
+
return color ? SOLID[color] : "bg-slate-900 text-white hover:opacity-90 active:scale-[.98] dark:bg-white dark:text-slate-900";
|
|
41
116
|
case "secondary":
|
|
42
117
|
return inverted ? "border border-white/15 bg-white/10 text-white hover:bg-white/15 active:scale-[.98]" : "border border-slate-300/80 bg-white text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:bg-white/5 dark:text-slate-200 dark:hover:bg-white/10";
|
|
43
118
|
case "outline":
|
|
44
|
-
return inverted ? "border border-white/20 bg-transparent text-white hover:bg-white/10 active:scale-[.98]" : "border border-slate-300/80 bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:text-slate-200 dark:hover:bg-white/10";
|
|
119
|
+
return inverted ? "border border-white/20 bg-transparent text-white hover:bg-white/10 active:scale-[.98]" : color ? OUTLINE[color] : "border border-slate-300/80 bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:text-slate-200 dark:hover:bg-white/10";
|
|
45
120
|
case "ghost":
|
|
46
|
-
return inverted ? "bg-transparent text-white hover:bg-white/10 active:scale-[.98]" : "bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:text-slate-200 dark:hover:bg-white/10";
|
|
121
|
+
return inverted ? "bg-transparent text-white hover:bg-white/10 active:scale-[.98]" : color ? GHOST[color] : "bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:text-slate-200 dark:hover:bg-white/10";
|
|
47
122
|
case "danger":
|
|
48
|
-
return "bg-
|
|
123
|
+
return color ? SOLID[color] : "bg-rose-600 text-white hover:opacity-90 active:scale-[.98] dark:bg-rose-500";
|
|
49
124
|
}
|
|
50
125
|
})();
|
|
51
126
|
const activeClass = active ? variant === "primary" ? "ring-2 ring-slate-300/60 dark:ring-white/20" : variant === "ghost" ? inverted ? "bg-white/15 text-white shadow-sm" : "bg-slate-100 text-slate-900 ring-1 ring-slate-300 dark:ring-white/15 shadow-sm" : variant === "outline" ? inverted ? "bg-white/10 text-white" : "bg-slate-50 ring-1 ring-slate-300 dark:ring-white/15" : variant === "secondary" ? inverted ? "bg-white/15 text-white" : "bg-slate-100 ring-1 ring-slate-300/80 dark:ring-white/15" : "" : "";
|
|
@@ -58,6 +133,7 @@ function Button({
|
|
|
58
133
|
return /* @__PURE__ */ jsxs(
|
|
59
134
|
"button",
|
|
60
135
|
{
|
|
136
|
+
ref,
|
|
61
137
|
type,
|
|
62
138
|
disabled: disabled || loading,
|
|
63
139
|
"aria-pressed": active ? true : void 0,
|
|
@@ -82,7 +158,9 @@ function Button({
|
|
|
82
158
|
]
|
|
83
159
|
}
|
|
84
160
|
);
|
|
85
|
-
}
|
|
161
|
+
});
|
|
162
|
+
Button.displayName = "Button";
|
|
163
|
+
var Button_default = Button;
|
|
86
164
|
export {
|
|
87
|
-
|
|
165
|
+
Button_default as default
|
|
88
166
|
};
|
package/dist/CalendarPanel.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
"use client";
|
|
3
|
+
var __create = Object.create;
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
4
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
8
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
9
|
var __export = (target, all) => {
|
|
8
10
|
for (var name in all)
|
|
@@ -16,6 +18,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
18
|
}
|
|
17
19
|
return to;
|
|
18
20
|
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
19
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
30
|
var CalendarPanel_exports = {};
|
|
21
31
|
__export(CalendarPanel_exports, {
|
|
@@ -23,6 +33,7 @@ __export(CalendarPanel_exports, {
|
|
|
23
33
|
});
|
|
24
34
|
module.exports = __toCommonJS(CalendarPanel_exports);
|
|
25
35
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_Button = __toESM(require("./Button"));
|
|
26
37
|
const pad2 = (n) => n < 10 ? `0${n}` : String(n);
|
|
27
38
|
const fmtISODate = (d) => `${d.getFullYear()}-${pad2(d.getMonth() + 1)}-${pad2(d.getDate())}`;
|
|
28
39
|
const dow = ["D", "L", "M", "M", "J", "V", "S"];
|
|
@@ -66,16 +77,20 @@ function CalendarPanel({
|
|
|
66
77
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-sm font-semibold", children: cursor.toLocaleDateString("es-MX", { month: "long", year: "numeric" }) }),
|
|
67
78
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
68
79
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
69
|
-
|
|
80
|
+
import_Button.default,
|
|
70
81
|
{
|
|
82
|
+
unstyled: true,
|
|
83
|
+
type: "button",
|
|
71
84
|
className: "rounded-lg border border-slate-200 px-2 py-1 text-sm hover:bg-slate-50 dark:border-white/10 dark:hover:bg-white/10",
|
|
72
85
|
onClick: () => onCursorChange(new Date(year, month - 1, 1)),
|
|
73
86
|
children: "\u25C0"
|
|
74
87
|
}
|
|
75
88
|
),
|
|
76
89
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
77
|
-
|
|
90
|
+
import_Button.default,
|
|
78
91
|
{
|
|
92
|
+
unstyled: true,
|
|
93
|
+
type: "button",
|
|
79
94
|
className: "rounded-lg border border-slate-200 px-2 py-1 text-sm hover:bg-slate-50 dark:border-white/10 dark:hover:bg-white/10",
|
|
80
95
|
onClick: () => onCursorChange(new Date(year, month + 1, 1)),
|
|
81
96
|
children: "\u25B6"
|
|
@@ -91,8 +106,10 @@ function CalendarPanel({
|
|
|
91
106
|
const disabled = !withinBounds(d);
|
|
92
107
|
const key = d.toISOString().slice(0, 10);
|
|
93
108
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
94
|
-
|
|
109
|
+
import_Button.default,
|
|
95
110
|
{
|
|
111
|
+
unstyled: true,
|
|
112
|
+
type: "button",
|
|
96
113
|
disabled,
|
|
97
114
|
onClick: () => !disabled && onPick(d),
|
|
98
115
|
className: [
|
package/dist/CalendarPanel.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import Button from "./Button";
|
|
3
4
|
const pad2 = (n) => n < 10 ? `0${n}` : String(n);
|
|
4
5
|
const fmtISODate = (d) => `${d.getFullYear()}-${pad2(d.getMonth() + 1)}-${pad2(d.getDate())}`;
|
|
5
6
|
const dow = ["D", "L", "M", "M", "J", "V", "S"];
|
|
@@ -43,16 +44,20 @@ function CalendarPanel({
|
|
|
43
44
|
/* @__PURE__ */ jsx("div", { className: "text-sm font-semibold", children: cursor.toLocaleDateString("es-MX", { month: "long", year: "numeric" }) }),
|
|
44
45
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
45
46
|
/* @__PURE__ */ jsx(
|
|
46
|
-
|
|
47
|
+
Button,
|
|
47
48
|
{
|
|
49
|
+
unstyled: true,
|
|
50
|
+
type: "button",
|
|
48
51
|
className: "rounded-lg border border-slate-200 px-2 py-1 text-sm hover:bg-slate-50 dark:border-white/10 dark:hover:bg-white/10",
|
|
49
52
|
onClick: () => onCursorChange(new Date(year, month - 1, 1)),
|
|
50
53
|
children: "\u25C0"
|
|
51
54
|
}
|
|
52
55
|
),
|
|
53
56
|
/* @__PURE__ */ jsx(
|
|
54
|
-
|
|
57
|
+
Button,
|
|
55
58
|
{
|
|
59
|
+
unstyled: true,
|
|
60
|
+
type: "button",
|
|
56
61
|
className: "rounded-lg border border-slate-200 px-2 py-1 text-sm hover:bg-slate-50 dark:border-white/10 dark:hover:bg-white/10",
|
|
57
62
|
onClick: () => onCursorChange(new Date(year, month + 1, 1)),
|
|
58
63
|
children: "\u25B6"
|
|
@@ -68,8 +73,10 @@ function CalendarPanel({
|
|
|
68
73
|
const disabled = !withinBounds(d);
|
|
69
74
|
const key = d.toISOString().slice(0, 10);
|
|
70
75
|
return /* @__PURE__ */ jsx(
|
|
71
|
-
|
|
76
|
+
Button,
|
|
72
77
|
{
|
|
78
|
+
unstyled: true,
|
|
79
|
+
type: "button",
|
|
73
80
|
disabled,
|
|
74
81
|
onClick: () => !disabled && onPick(d),
|
|
75
82
|
className: [
|
package/dist/Card.d.mts
ADDED
package/dist/Card.d.ts
ADDED
package/dist/Card.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var Card_exports = {};
|
|
31
|
+
__export(Card_exports, {
|
|
32
|
+
default: () => Card_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(Card_exports);
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_react = __toESM(require("react"));
|
|
37
|
+
const base = "rounded-2xl border border-slate-200 bg-white p-4 shadow-sm dark:border-white/10 dark:bg-[#0f0d0e]";
|
|
38
|
+
const Card = import_react.default.forwardRef(
|
|
39
|
+
({ className, children, ...rest }, ref) => {
|
|
40
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
41
|
+
"div",
|
|
42
|
+
{
|
|
43
|
+
ref,
|
|
44
|
+
className: [base, className].filter(Boolean).join(" "),
|
|
45
|
+
...rest,
|
|
46
|
+
children
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
Card.displayName = "Card";
|
|
52
|
+
var Card_default = Card;
|