framepexls-ui-lib 0.1.13 → 0.1.15
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 +16 -12
- package/dist/CheckboxPillsGroup.mjs +16 -12
- 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/FiltersMultiSelect.d.mts +28 -0
- package/dist/FiltersMultiSelect.d.ts +28 -0
- package/dist/FiltersMultiSelect.js +136 -0
- package/dist/FiltersMultiSelect.mjs +106 -0
- 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 +11 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.js +33 -1
- package/dist/index.mjs +78 -57
- package/package.json +1 -1
package/dist/Steps.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 Steps_exports = {};
|
|
21
31
|
__export(Steps_exports, {
|
|
@@ -24,6 +34,7 @@ __export(Steps_exports, {
|
|
|
24
34
|
});
|
|
25
35
|
module.exports = __toCommonJS(Steps_exports);
|
|
26
36
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
37
|
+
var import_Button = __toESM(require("./Button"));
|
|
27
38
|
const cx = (...a) => a.filter(Boolean).join(" ");
|
|
28
39
|
function Steps({
|
|
29
40
|
steps,
|
|
@@ -45,8 +56,9 @@ function Steps({
|
|
|
45
56
|
const state = i < current ? "done" : i === current ? "current" : "upcoming";
|
|
46
57
|
const canClick = clickable && i <= current && !s.disabled && onChange;
|
|
47
58
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("li", { className: "min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
48
|
-
|
|
59
|
+
import_Button.default,
|
|
49
60
|
{
|
|
61
|
+
unstyled: true,
|
|
50
62
|
type: "button",
|
|
51
63
|
disabled: !canClick,
|
|
52
64
|
onClick: () => canClick && (onChange == null ? void 0 : onChange(i)),
|
|
@@ -90,28 +102,29 @@ function StepsNav({
|
|
|
90
102
|
finishLabel = "Finalizar",
|
|
91
103
|
disableNext,
|
|
92
104
|
formId
|
|
93
|
-
// <- NUEVO
|
|
94
105
|
}) {
|
|
95
106
|
const last = current === total - 1;
|
|
96
107
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
97
108
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
98
|
-
|
|
109
|
+
import_Button.default,
|
|
99
110
|
{
|
|
100
111
|
type: "button",
|
|
101
112
|
disabled: current === 0,
|
|
102
113
|
onClick: onPrev,
|
|
103
|
-
|
|
114
|
+
variant: "secondary",
|
|
115
|
+
size: "sm",
|
|
104
116
|
children: "Atr\xE1s"
|
|
105
117
|
}
|
|
106
118
|
),
|
|
107
119
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
108
|
-
|
|
120
|
+
import_Button.default,
|
|
109
121
|
{
|
|
110
122
|
type: "submit",
|
|
111
123
|
form: formId,
|
|
112
124
|
disabled: disableNext,
|
|
113
|
-
className: "inline-flex h-9 items-center rounded-xl bg-blue-600 px-3 text-sm font-semibold text-white hover:bg-blue-700 disabled:opacity-50",
|
|
114
125
|
onClick: onNext,
|
|
126
|
+
variant: "danger",
|
|
127
|
+
size: "sm",
|
|
115
128
|
children: last ? finishLabel : nextLabel
|
|
116
129
|
}
|
|
117
130
|
)
|
package/dist/Steps.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 cx = (...a) => a.filter(Boolean).join(" ");
|
|
4
5
|
function Steps({
|
|
5
6
|
steps,
|
|
@@ -21,8 +22,9 @@ function Steps({
|
|
|
21
22
|
const state = i < current ? "done" : i === current ? "current" : "upcoming";
|
|
22
23
|
const canClick = clickable && i <= current && !s.disabled && onChange;
|
|
23
24
|
return /* @__PURE__ */ jsx("li", { className: "min-w-0", children: /* @__PURE__ */ jsxs(
|
|
24
|
-
|
|
25
|
+
Button,
|
|
25
26
|
{
|
|
27
|
+
unstyled: true,
|
|
26
28
|
type: "button",
|
|
27
29
|
disabled: !canClick,
|
|
28
30
|
onClick: () => canClick && (onChange == null ? void 0 : onChange(i)),
|
|
@@ -66,28 +68,29 @@ function StepsNav({
|
|
|
66
68
|
finishLabel = "Finalizar",
|
|
67
69
|
disableNext,
|
|
68
70
|
formId
|
|
69
|
-
// <- NUEVO
|
|
70
71
|
}) {
|
|
71
72
|
const last = current === total - 1;
|
|
72
73
|
return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-3", children: [
|
|
73
74
|
/* @__PURE__ */ jsx(
|
|
74
|
-
|
|
75
|
+
Button,
|
|
75
76
|
{
|
|
76
77
|
type: "button",
|
|
77
78
|
disabled: current === 0,
|
|
78
79
|
onClick: onPrev,
|
|
79
|
-
|
|
80
|
+
variant: "secondary",
|
|
81
|
+
size: "sm",
|
|
80
82
|
children: "Atr\xE1s"
|
|
81
83
|
}
|
|
82
84
|
),
|
|
83
85
|
/* @__PURE__ */ jsx(
|
|
84
|
-
|
|
86
|
+
Button,
|
|
85
87
|
{
|
|
86
88
|
type: "submit",
|
|
87
89
|
form: formId,
|
|
88
90
|
disabled: disableNext,
|
|
89
|
-
className: "inline-flex h-9 items-center rounded-xl bg-blue-600 px-3 text-sm font-semibold text-white hover:bg-blue-700 disabled:opacity-50",
|
|
90
91
|
onClick: onNext,
|
|
92
|
+
variant: "danger",
|
|
93
|
+
size: "sm",
|
|
91
94
|
children: last ? finishLabel : nextLabel
|
|
92
95
|
}
|
|
93
96
|
)
|
package/dist/Table.js
CHANGED
|
@@ -36,6 +36,7 @@ __export(Table_exports, {
|
|
|
36
36
|
module.exports = __toCommonJS(Table_exports);
|
|
37
37
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
38
38
|
var import_react = __toESM(require("react"));
|
|
39
|
+
var import_Button = __toESM(require("./Button"));
|
|
39
40
|
function useMounted() {
|
|
40
41
|
const [mounted, setMounted] = import_react.default.useState(false);
|
|
41
42
|
import_react.default.useEffect(() => setMounted(true), []);
|
|
@@ -91,8 +92,9 @@ function SortTh({
|
|
|
91
92
|
"data-asc": asc ? "1" : "0",
|
|
92
93
|
children: [
|
|
93
94
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
94
|
-
|
|
95
|
+
import_Button.default,
|
|
95
96
|
{
|
|
97
|
+
unstyled: true,
|
|
96
98
|
type: "button",
|
|
97
99
|
onClick,
|
|
98
100
|
className: "group inline-flex items-center gap-1.5 rounded-lg px-2 py-1 transition hover:bg-slate-100/60 focus:outline-none focus:ring-2 focus:ring-blue-200 dark:hover:bg-white/5",
|
package/dist/Table.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import React from "react";
|
|
4
|
+
import Button from "./Button";
|
|
4
5
|
function useMounted() {
|
|
5
6
|
const [mounted, setMounted] = React.useState(false);
|
|
6
7
|
React.useEffect(() => setMounted(true), []);
|
|
@@ -56,8 +57,9 @@ function SortTh({
|
|
|
56
57
|
"data-asc": asc ? "1" : "0",
|
|
57
58
|
children: [
|
|
58
59
|
/* @__PURE__ */ jsxs(
|
|
59
|
-
|
|
60
|
+
Button,
|
|
60
61
|
{
|
|
62
|
+
unstyled: true,
|
|
61
63
|
type: "button",
|
|
62
64
|
onClick,
|
|
63
65
|
className: "group inline-flex items-center gap-1.5 rounded-lg px-2 py-1 transition hover:bg-slate-100/60 focus:outline-none focus:ring-2 focus:ring-blue-200 dark:hover:bg-white/5",
|
package/dist/TimePanel.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 TimePanel_exports = {};
|
|
21
31
|
__export(TimePanel_exports, {
|
|
@@ -24,6 +34,7 @@ __export(TimePanel_exports, {
|
|
|
24
34
|
module.exports = __toCommonJS(TimePanel_exports);
|
|
25
35
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
26
36
|
var import_react = require("react");
|
|
37
|
+
var import_Button = __toESM(require("./Button"));
|
|
27
38
|
const pad2 = (n) => n < 10 ? `0${n}` : String(n);
|
|
28
39
|
function TimePopover({
|
|
29
40
|
anchorRef,
|
|
@@ -89,21 +100,22 @@ function TimePopover({
|
|
|
89
100
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "rounded-2xl border border-slate-100 p-2 dark:border-white/10", children: [
|
|
90
101
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "mb-2 text-xs font-semibold text-slate-500 dark:text-slate-400", children: "Hora" }),
|
|
91
102
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
|
|
92
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
103
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.default, { unstyled: true, className: btn, onPointerDown: (e) => e.preventDefault(), onClick: incH, "aria-label": "Aumentar hora", children: "+" }),
|
|
93
104
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: chip, onWheel: onWheelH, children: pad2(hh) }),
|
|
94
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
105
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.default, { unstyled: true, className: btn, onPointerDown: (e) => e.preventDefault(), onClick: decH, "aria-label": "Disminuir hora", children: "\u2212" })
|
|
95
106
|
] })
|
|
96
107
|
] }),
|
|
97
108
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "rounded-2xl border border-slate-100 p-2 dark:border-white/10", children: [
|
|
98
109
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "mb-2 text-xs font-semibold text-slate-500 dark:text-slate-400", children: "Minutos" }),
|
|
99
110
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
|
|
100
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
111
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.default, { unstyled: true, className: btn, onPointerDown: (e) => e.preventDefault(), onClick: incM, "aria-label": "Aumentar minutos", children: "+" }),
|
|
101
112
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: chip, onWheel: onWheelM, children: pad2(mm) }),
|
|
102
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
113
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.default, { unstyled: true, className: btn, onPointerDown: (e) => e.preventDefault(), onClick: decM, "aria-label": "Disminuir minutos", children: "\u2212" })
|
|
103
114
|
] }),
|
|
104
115
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "mt-3 flex flex-wrap gap-1.5", children: [0, 15, 30, 45].map((v) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
105
|
-
|
|
116
|
+
import_Button.default,
|
|
106
117
|
{
|
|
118
|
+
unstyled: true,
|
|
107
119
|
className: "rounded-xl px-2 py-1 text-sm ring-1 ring-slate-200 hover:bg-slate-50 active:scale-95 dark:ring-white/10 dark:bg-white/5",
|
|
108
120
|
onPointerDown: (e) => e.preventDefault(),
|
|
109
121
|
onClick: () => onChange(hh, v),
|
|
@@ -118,8 +130,9 @@ function TimePopover({
|
|
|
118
130
|
] }),
|
|
119
131
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mt-3 flex items-center justify-between", children: [
|
|
120
132
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
121
|
-
|
|
133
|
+
import_Button.default,
|
|
122
134
|
{
|
|
135
|
+
unstyled: true,
|
|
123
136
|
className: "rounded-xl px-2.5 py-1.5 text-sm ring-1 ring-slate-200 hover:bg-slate-50 active:scale-95 dark:ring-white/10 dark:bg-white/5",
|
|
124
137
|
onPointerDown: (e) => e.preventDefault(),
|
|
125
138
|
onClick: () => {
|
|
@@ -130,8 +143,9 @@ function TimePopover({
|
|
|
130
143
|
}
|
|
131
144
|
),
|
|
132
145
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
133
|
-
|
|
146
|
+
import_Button.default,
|
|
134
147
|
{
|
|
148
|
+
unstyled: true,
|
|
135
149
|
className: "rounded-xl bg-slate-900 px-3 py-1.5 text-sm text-white hover:opacity-95 active:scale-95 dark:bg-white dark:text-slate-900",
|
|
136
150
|
onPointerDown: (e) => e.preventDefault(),
|
|
137
151
|
onClick: onClose,
|
package/dist/TimePanel.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useEffect, useMemo, useRef } from "react";
|
|
4
|
+
import Button from "./Button";
|
|
4
5
|
const pad2 = (n) => n < 10 ? `0${n}` : String(n);
|
|
5
6
|
function TimePopover({
|
|
6
7
|
anchorRef,
|
|
@@ -66,21 +67,22 @@ function TimePopover({
|
|
|
66
67
|
/* @__PURE__ */ jsxs("div", { className: "rounded-2xl border border-slate-100 p-2 dark:border-white/10", children: [
|
|
67
68
|
/* @__PURE__ */ jsx("div", { className: "mb-2 text-xs font-semibold text-slate-500 dark:text-slate-400", children: "Hora" }),
|
|
68
69
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center gap-2", children: [
|
|
69
|
-
/* @__PURE__ */ jsx(
|
|
70
|
+
/* @__PURE__ */ jsx(Button, { unstyled: true, className: btn, onPointerDown: (e) => e.preventDefault(), onClick: incH, "aria-label": "Aumentar hora", children: "+" }),
|
|
70
71
|
/* @__PURE__ */ jsx("div", { className: chip, onWheel: onWheelH, children: pad2(hh) }),
|
|
71
|
-
/* @__PURE__ */ jsx(
|
|
72
|
+
/* @__PURE__ */ jsx(Button, { unstyled: true, className: btn, onPointerDown: (e) => e.preventDefault(), onClick: decH, "aria-label": "Disminuir hora", children: "\u2212" })
|
|
72
73
|
] })
|
|
73
74
|
] }),
|
|
74
75
|
/* @__PURE__ */ jsxs("div", { className: "rounded-2xl border border-slate-100 p-2 dark:border-white/10", children: [
|
|
75
76
|
/* @__PURE__ */ jsx("div", { className: "mb-2 text-xs font-semibold text-slate-500 dark:text-slate-400", children: "Minutos" }),
|
|
76
77
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center gap-2", children: [
|
|
77
|
-
/* @__PURE__ */ jsx(
|
|
78
|
+
/* @__PURE__ */ jsx(Button, { unstyled: true, className: btn, onPointerDown: (e) => e.preventDefault(), onClick: incM, "aria-label": "Aumentar minutos", children: "+" }),
|
|
78
79
|
/* @__PURE__ */ jsx("div", { className: chip, onWheel: onWheelM, children: pad2(mm) }),
|
|
79
|
-
/* @__PURE__ */ jsx(
|
|
80
|
+
/* @__PURE__ */ jsx(Button, { unstyled: true, className: btn, onPointerDown: (e) => e.preventDefault(), onClick: decM, "aria-label": "Disminuir minutos", children: "\u2212" })
|
|
80
81
|
] }),
|
|
81
82
|
/* @__PURE__ */ jsx("div", { className: "mt-3 flex flex-wrap gap-1.5", children: [0, 15, 30, 45].map((v) => /* @__PURE__ */ jsxs(
|
|
82
|
-
|
|
83
|
+
Button,
|
|
83
84
|
{
|
|
85
|
+
unstyled: true,
|
|
84
86
|
className: "rounded-xl px-2 py-1 text-sm ring-1 ring-slate-200 hover:bg-slate-50 active:scale-95 dark:ring-white/10 dark:bg-white/5",
|
|
85
87
|
onPointerDown: (e) => e.preventDefault(),
|
|
86
88
|
onClick: () => onChange(hh, v),
|
|
@@ -95,8 +97,9 @@ function TimePopover({
|
|
|
95
97
|
] }),
|
|
96
98
|
/* @__PURE__ */ jsxs("div", { className: "mt-3 flex items-center justify-between", children: [
|
|
97
99
|
/* @__PURE__ */ jsx(
|
|
98
|
-
|
|
100
|
+
Button,
|
|
99
101
|
{
|
|
102
|
+
unstyled: true,
|
|
100
103
|
className: "rounded-xl px-2.5 py-1.5 text-sm ring-1 ring-slate-200 hover:bg-slate-50 active:scale-95 dark:ring-white/10 dark:bg-white/5",
|
|
101
104
|
onPointerDown: (e) => e.preventDefault(),
|
|
102
105
|
onClick: () => {
|
|
@@ -107,8 +110,9 @@ function TimePopover({
|
|
|
107
110
|
}
|
|
108
111
|
),
|
|
109
112
|
/* @__PURE__ */ jsx(
|
|
110
|
-
|
|
113
|
+
Button,
|
|
111
114
|
{
|
|
115
|
+
unstyled: true,
|
|
112
116
|
className: "rounded-xl bg-slate-900 px-3 py-1.5 text-sm text-white hover:opacity-95 active:scale-95 dark:bg-white dark:text-slate-900",
|
|
113
117
|
onPointerDown: (e) => e.preventDefault(),
|
|
114
118
|
onClick: onClose,
|
package/dist/TimePopover.js
CHANGED
|
@@ -37,6 +37,8 @@ module.exports = __toCommonJS(TimePopover_exports);
|
|
|
37
37
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
38
38
|
var React = __toESM(require("react"));
|
|
39
39
|
var import_react_dom = require("react-dom");
|
|
40
|
+
var import_Button = __toESM(require("./Button"));
|
|
41
|
+
var import_Input = __toESM(require("./Input"));
|
|
40
42
|
const pad2 = (n) => n < 10 ? `0${n}` : String(n);
|
|
41
43
|
function TimePopover({
|
|
42
44
|
anchorEl,
|
|
@@ -148,8 +150,9 @@ function TimePopover({
|
|
|
148
150
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-2 gap-2", children: [
|
|
149
151
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-col items-stretch gap-2", children: [
|
|
150
152
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
151
|
-
|
|
153
|
+
import_Button.default,
|
|
152
154
|
{
|
|
155
|
+
unstyled: true,
|
|
153
156
|
type: "button",
|
|
154
157
|
className: "h-8 rounded-lg ring-1 ring-slate-200 hover:bg-slate-50 active:scale-95 dark:ring-white/10 dark:hover:bg-white/10",
|
|
155
158
|
onClick: () => incH(1),
|
|
@@ -158,8 +161,9 @@ function TimePopover({
|
|
|
158
161
|
}
|
|
159
162
|
),
|
|
160
163
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
161
|
-
|
|
164
|
+
import_Input.default,
|
|
162
165
|
{
|
|
166
|
+
unstyled: true,
|
|
163
167
|
inputMode: "numeric",
|
|
164
168
|
"aria-label": "Hora",
|
|
165
169
|
value: pad2(is12h ? hour12 : H),
|
|
@@ -184,8 +188,9 @@ function TimePopover({
|
|
|
184
188
|
}
|
|
185
189
|
),
|
|
186
190
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
187
|
-
|
|
191
|
+
import_Button.default,
|
|
188
192
|
{
|
|
193
|
+
unstyled: true,
|
|
189
194
|
type: "button",
|
|
190
195
|
className: "h-8 rounded-lg ring-1 ring-slate-200 hover:bg-slate-50 active:scale-95 dark:ring-white/10 dark:hover:bg-white/10",
|
|
191
196
|
onClick: () => incH(-1),
|
|
@@ -196,8 +201,9 @@ function TimePopover({
|
|
|
196
201
|
] }),
|
|
197
202
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-col items-stretch gap-2", children: [
|
|
198
203
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
199
|
-
|
|
204
|
+
import_Button.default,
|
|
200
205
|
{
|
|
206
|
+
unstyled: true,
|
|
201
207
|
type: "button",
|
|
202
208
|
className: "h-8 rounded-lg ring-1 ring-slate-200 hover:bg-slate-50 active:scale-95 dark:ring-white/10 dark:hover:bg-white/10",
|
|
203
209
|
onClick: () => incM(+step),
|
|
@@ -206,8 +212,9 @@ function TimePopover({
|
|
|
206
212
|
}
|
|
207
213
|
),
|
|
208
214
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
209
|
-
|
|
215
|
+
import_Input.default,
|
|
210
216
|
{
|
|
217
|
+
unstyled: true,
|
|
211
218
|
inputMode: "numeric",
|
|
212
219
|
"aria-label": "Minutos",
|
|
213
220
|
value: pad2(M),
|
|
@@ -223,8 +230,9 @@ function TimePopover({
|
|
|
223
230
|
}
|
|
224
231
|
),
|
|
225
232
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
226
|
-
|
|
233
|
+
import_Button.default,
|
|
227
234
|
{
|
|
235
|
+
unstyled: true,
|
|
228
236
|
type: "button",
|
|
229
237
|
className: "h-8 rounded-lg ring-1 ring-slate-200 hover:bg-slate-50 active:scale-95 dark:ring-white/10 dark:hover:bg-white/10",
|
|
230
238
|
onClick: () => incM(-step),
|
|
@@ -240,8 +248,9 @@ function TimePopover({
|
|
|
240
248
|
const light = active ? "bg-slate-900 text-white ring-slate-900" : "ring-slate-200 hover:bg-slate-50";
|
|
241
249
|
const dark = active ? "dark:bg-white dark:text-slate-900 dark:ring-white" : "dark:ring-white/10 dark:hover:bg-white/10";
|
|
242
250
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
243
|
-
|
|
251
|
+
import_Button.default,
|
|
244
252
|
{
|
|
253
|
+
unstyled: true,
|
|
245
254
|
type: "button",
|
|
246
255
|
className: `${base} ${light} ${dark}`,
|
|
247
256
|
"aria-pressed": active,
|
|
@@ -257,8 +266,9 @@ function TimePopover({
|
|
|
257
266
|
}) }),
|
|
258
267
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mt-3 flex items-center justify-between", children: [
|
|
259
268
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
260
|
-
|
|
269
|
+
import_Button.default,
|
|
261
270
|
{
|
|
271
|
+
unstyled: true,
|
|
262
272
|
type: "button",
|
|
263
273
|
className: "rounded-xl px-2.5 py-1.5 text-sm ring-1 ring-slate-200 hover:bg-slate-50 active:scale-[0.98] dark:ring-white/10 dark:hover:bg-white/10",
|
|
264
274
|
onClick: () => {
|
|
@@ -270,8 +280,9 @@ function TimePopover({
|
|
|
270
280
|
}
|
|
271
281
|
),
|
|
272
282
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
273
|
-
|
|
283
|
+
import_Button.default,
|
|
274
284
|
{
|
|
285
|
+
unstyled: true,
|
|
275
286
|
type: "button",
|
|
276
287
|
className: "rounded-xl bg-slate-900 px-3 py-1.5 text-sm text-white hover:opacity-95 active:scale-[0.98] dark:bg-white dark:text-slate-900",
|
|
277
288
|
onClick: onClose,
|
|
@@ -342,8 +353,9 @@ function WeekPopover({ anchorEl, cursor, value, onCursorChange, onPick, onClose
|
|
|
342
353
|
const body = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { ref: popRef, style: { position: "fixed", top: pos.top, left: pos.left, zIndex: 1e5 }, className: "w-[340px] rounded-2xl border border-slate-200 bg-white p-3 shadow-xl dark:border-white/10 dark:bg-[#0e0d0e]", children: [
|
|
343
354
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mb-2 flex items-center justify-between", children: [
|
|
344
355
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
345
|
-
|
|
356
|
+
import_Button.default,
|
|
346
357
|
{
|
|
358
|
+
unstyled: true,
|
|
347
359
|
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",
|
|
348
360
|
onClick: () => onCursorChange(new Date(year, month - 1, 1)),
|
|
349
361
|
children: "\u25C0"
|
|
@@ -351,8 +363,9 @@ function WeekPopover({ anchorEl, cursor, value, onCursorChange, onPick, onClose
|
|
|
351
363
|
),
|
|
352
364
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-sm font-semibold", children: cursor.toLocaleDateString("es-MX", { month: "long", year: "numeric" }) }),
|
|
353
365
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
354
|
-
|
|
366
|
+
import_Button.default,
|
|
355
367
|
{
|
|
368
|
+
unstyled: true,
|
|
356
369
|
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",
|
|
357
370
|
onClick: () => onCursorChange(new Date(year, month + 1, 1)),
|
|
358
371
|
children: "\u25B6"
|
|
@@ -362,8 +375,9 @@ function WeekPopover({ anchorEl, cursor, value, onCursorChange, onPick, onClose
|
|
|
362
375
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "grid gap-2", children: weeks.map((w, idx) => {
|
|
363
376
|
const isSel = selFrom && selTo && sameDay(selFrom, w.from) && sameDay(selTo, w.to);
|
|
364
377
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
365
|
-
|
|
378
|
+
import_Button.default,
|
|
366
379
|
{
|
|
380
|
+
unstyled: true,
|
|
367
381
|
className: `flex items-center justify-between rounded-xl border px-3 py-2 text-sm ${isSel ? "bg-slate-900 text-white border-slate-900 dark:bg-white dark:text-slate-900 dark:border-white" : "border-slate-200 hover:bg-slate-100 dark:border-white/10 dark:hover:bg-white/10"}`,
|
|
368
382
|
onClick: () => onPick(w.from, w.to),
|
|
369
383
|
children: [
|
|
@@ -445,8 +459,9 @@ function MonthPopover({ anchorEl, cursor, value, onCursorChange, onPick, onClose
|
|
|
445
459
|
const body = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { ref: popRef, style: { position: "fixed", top: pos.top, left: pos.left, zIndex: 1e5 }, className: "w-[300px] rounded-2xl border border-slate-200 bg-white p-3 shadow-xl dark:border-white/10 dark:bg-[#0e0d0e]", children: [
|
|
446
460
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mb-2 flex items-center justify-between", children: [
|
|
447
461
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
448
|
-
|
|
462
|
+
import_Button.default,
|
|
449
463
|
{
|
|
464
|
+
unstyled: true,
|
|
450
465
|
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",
|
|
451
466
|
onClick: () => onCursorChange(new Date(year - 1, 0, 1)),
|
|
452
467
|
children: "\u25C0"
|
|
@@ -454,8 +469,9 @@ function MonthPopover({ anchorEl, cursor, value, onCursorChange, onPick, onClose
|
|
|
454
469
|
),
|
|
455
470
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-sm font-semibold", children: year }),
|
|
456
471
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
457
|
-
|
|
472
|
+
import_Button.default,
|
|
458
473
|
{
|
|
474
|
+
unstyled: true,
|
|
459
475
|
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",
|
|
460
476
|
onClick: () => onCursorChange(new Date(year + 1, 0, 1)),
|
|
461
477
|
children: "\u25B6"
|
|
@@ -468,8 +484,9 @@ function MonthPopover({ anchorEl, cursor, value, onCursorChange, onPick, onClose
|
|
|
468
484
|
const light = isSel ? "bg-slate-900 text-white border-slate-900" : "border-slate-200 hover:bg-slate-100";
|
|
469
485
|
const dark = isSel ? "dark:bg-white dark:text-slate-900 dark:border-white" : "dark:border-white/10 dark:hover:bg-white/10";
|
|
470
486
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
471
|
-
|
|
487
|
+
import_Button.default,
|
|
472
488
|
{
|
|
489
|
+
unstyled: true,
|
|
473
490
|
className: `${base} ${light} ${dark}`,
|
|
474
491
|
onClick: () => onPick(new Date(year, idx, 1)),
|
|
475
492
|
children: m
|
package/dist/TimePopover.mjs
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { createPortal } from "react-dom";
|
|
5
|
+
import Button from "./Button";
|
|
6
|
+
import Input from "./Input";
|
|
5
7
|
const pad2 = (n) => n < 10 ? `0${n}` : String(n);
|
|
6
8
|
function TimePopover({
|
|
7
9
|
anchorEl,
|
|
@@ -113,8 +115,9 @@ function TimePopover({
|
|
|
113
115
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-2", children: [
|
|
114
116
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-stretch gap-2", children: [
|
|
115
117
|
/* @__PURE__ */ jsx(
|
|
116
|
-
|
|
118
|
+
Button,
|
|
117
119
|
{
|
|
120
|
+
unstyled: true,
|
|
118
121
|
type: "button",
|
|
119
122
|
className: "h-8 rounded-lg ring-1 ring-slate-200 hover:bg-slate-50 active:scale-95 dark:ring-white/10 dark:hover:bg-white/10",
|
|
120
123
|
onClick: () => incH(1),
|
|
@@ -123,8 +126,9 @@ function TimePopover({
|
|
|
123
126
|
}
|
|
124
127
|
),
|
|
125
128
|
/* @__PURE__ */ jsx(
|
|
126
|
-
|
|
129
|
+
Input,
|
|
127
130
|
{
|
|
131
|
+
unstyled: true,
|
|
128
132
|
inputMode: "numeric",
|
|
129
133
|
"aria-label": "Hora",
|
|
130
134
|
value: pad2(is12h ? hour12 : H),
|
|
@@ -149,8 +153,9 @@ function TimePopover({
|
|
|
149
153
|
}
|
|
150
154
|
),
|
|
151
155
|
/* @__PURE__ */ jsx(
|
|
152
|
-
|
|
156
|
+
Button,
|
|
153
157
|
{
|
|
158
|
+
unstyled: true,
|
|
154
159
|
type: "button",
|
|
155
160
|
className: "h-8 rounded-lg ring-1 ring-slate-200 hover:bg-slate-50 active:scale-95 dark:ring-white/10 dark:hover:bg-white/10",
|
|
156
161
|
onClick: () => incH(-1),
|
|
@@ -161,8 +166,9 @@ function TimePopover({
|
|
|
161
166
|
] }),
|
|
162
167
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-stretch gap-2", children: [
|
|
163
168
|
/* @__PURE__ */ jsx(
|
|
164
|
-
|
|
169
|
+
Button,
|
|
165
170
|
{
|
|
171
|
+
unstyled: true,
|
|
166
172
|
type: "button",
|
|
167
173
|
className: "h-8 rounded-lg ring-1 ring-slate-200 hover:bg-slate-50 active:scale-95 dark:ring-white/10 dark:hover:bg-white/10",
|
|
168
174
|
onClick: () => incM(+step),
|
|
@@ -171,8 +177,9 @@ function TimePopover({
|
|
|
171
177
|
}
|
|
172
178
|
),
|
|
173
179
|
/* @__PURE__ */ jsx(
|
|
174
|
-
|
|
180
|
+
Input,
|
|
175
181
|
{
|
|
182
|
+
unstyled: true,
|
|
176
183
|
inputMode: "numeric",
|
|
177
184
|
"aria-label": "Minutos",
|
|
178
185
|
value: pad2(M),
|
|
@@ -188,8 +195,9 @@ function TimePopover({
|
|
|
188
195
|
}
|
|
189
196
|
),
|
|
190
197
|
/* @__PURE__ */ jsx(
|
|
191
|
-
|
|
198
|
+
Button,
|
|
192
199
|
{
|
|
200
|
+
unstyled: true,
|
|
193
201
|
type: "button",
|
|
194
202
|
className: "h-8 rounded-lg ring-1 ring-slate-200 hover:bg-slate-50 active:scale-95 dark:ring-white/10 dark:hover:bg-white/10",
|
|
195
203
|
onClick: () => incM(-step),
|
|
@@ -205,8 +213,9 @@ function TimePopover({
|
|
|
205
213
|
const light = active ? "bg-slate-900 text-white ring-slate-900" : "ring-slate-200 hover:bg-slate-50";
|
|
206
214
|
const dark = active ? "dark:bg-white dark:text-slate-900 dark:ring-white" : "dark:ring-white/10 dark:hover:bg-white/10";
|
|
207
215
|
return /* @__PURE__ */ jsx(
|
|
208
|
-
|
|
216
|
+
Button,
|
|
209
217
|
{
|
|
218
|
+
unstyled: true,
|
|
210
219
|
type: "button",
|
|
211
220
|
className: `${base} ${light} ${dark}`,
|
|
212
221
|
"aria-pressed": active,
|
|
@@ -222,8 +231,9 @@ function TimePopover({
|
|
|
222
231
|
}) }),
|
|
223
232
|
/* @__PURE__ */ jsxs("div", { className: "mt-3 flex items-center justify-between", children: [
|
|
224
233
|
/* @__PURE__ */ jsx(
|
|
225
|
-
|
|
234
|
+
Button,
|
|
226
235
|
{
|
|
236
|
+
unstyled: true,
|
|
227
237
|
type: "button",
|
|
228
238
|
className: "rounded-xl px-2.5 py-1.5 text-sm ring-1 ring-slate-200 hover:bg-slate-50 active:scale-[0.98] dark:ring-white/10 dark:hover:bg-white/10",
|
|
229
239
|
onClick: () => {
|
|
@@ -235,8 +245,9 @@ function TimePopover({
|
|
|
235
245
|
}
|
|
236
246
|
),
|
|
237
247
|
/* @__PURE__ */ jsx(
|
|
238
|
-
|
|
248
|
+
Button,
|
|
239
249
|
{
|
|
250
|
+
unstyled: true,
|
|
240
251
|
type: "button",
|
|
241
252
|
className: "rounded-xl bg-slate-900 px-3 py-1.5 text-sm text-white hover:opacity-95 active:scale-[0.98] dark:bg-white dark:text-slate-900",
|
|
242
253
|
onClick: onClose,
|
|
@@ -307,8 +318,9 @@ function WeekPopover({ anchorEl, cursor, value, onCursorChange, onPick, onClose
|
|
|
307
318
|
const body = /* @__PURE__ */ jsxs("div", { ref: popRef, style: { position: "fixed", top: pos.top, left: pos.left, zIndex: 1e5 }, className: "w-[340px] rounded-2xl border border-slate-200 bg-white p-3 shadow-xl dark:border-white/10 dark:bg-[#0e0d0e]", children: [
|
|
308
319
|
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
|
|
309
320
|
/* @__PURE__ */ jsx(
|
|
310
|
-
|
|
321
|
+
Button,
|
|
311
322
|
{
|
|
323
|
+
unstyled: true,
|
|
312
324
|
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",
|
|
313
325
|
onClick: () => onCursorChange(new Date(year, month - 1, 1)),
|
|
314
326
|
children: "\u25C0"
|
|
@@ -316,8 +328,9 @@ function WeekPopover({ anchorEl, cursor, value, onCursorChange, onPick, onClose
|
|
|
316
328
|
),
|
|
317
329
|
/* @__PURE__ */ jsx("div", { className: "text-sm font-semibold", children: cursor.toLocaleDateString("es-MX", { month: "long", year: "numeric" }) }),
|
|
318
330
|
/* @__PURE__ */ jsx(
|
|
319
|
-
|
|
331
|
+
Button,
|
|
320
332
|
{
|
|
333
|
+
unstyled: true,
|
|
321
334
|
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",
|
|
322
335
|
onClick: () => onCursorChange(new Date(year, month + 1, 1)),
|
|
323
336
|
children: "\u25B6"
|
|
@@ -327,8 +340,9 @@ function WeekPopover({ anchorEl, cursor, value, onCursorChange, onPick, onClose
|
|
|
327
340
|
/* @__PURE__ */ jsx("div", { className: "grid gap-2", children: weeks.map((w, idx) => {
|
|
328
341
|
const isSel = selFrom && selTo && sameDay(selFrom, w.from) && sameDay(selTo, w.to);
|
|
329
342
|
return /* @__PURE__ */ jsxs(
|
|
330
|
-
|
|
343
|
+
Button,
|
|
331
344
|
{
|
|
345
|
+
unstyled: true,
|
|
332
346
|
className: `flex items-center justify-between rounded-xl border px-3 py-2 text-sm ${isSel ? "bg-slate-900 text-white border-slate-900 dark:bg-white dark:text-slate-900 dark:border-white" : "border-slate-200 hover:bg-slate-100 dark:border-white/10 dark:hover:bg-white/10"}`,
|
|
333
347
|
onClick: () => onPick(w.from, w.to),
|
|
334
348
|
children: [
|
|
@@ -410,8 +424,9 @@ function MonthPopover({ anchorEl, cursor, value, onCursorChange, onPick, onClose
|
|
|
410
424
|
const body = /* @__PURE__ */ jsxs("div", { ref: popRef, style: { position: "fixed", top: pos.top, left: pos.left, zIndex: 1e5 }, className: "w-[300px] rounded-2xl border border-slate-200 bg-white p-3 shadow-xl dark:border-white/10 dark:bg-[#0e0d0e]", children: [
|
|
411
425
|
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
|
|
412
426
|
/* @__PURE__ */ jsx(
|
|
413
|
-
|
|
427
|
+
Button,
|
|
414
428
|
{
|
|
429
|
+
unstyled: true,
|
|
415
430
|
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",
|
|
416
431
|
onClick: () => onCursorChange(new Date(year - 1, 0, 1)),
|
|
417
432
|
children: "\u25C0"
|
|
@@ -419,8 +434,9 @@ function MonthPopover({ anchorEl, cursor, value, onCursorChange, onPick, onClose
|
|
|
419
434
|
),
|
|
420
435
|
/* @__PURE__ */ jsx("div", { className: "text-sm font-semibold", children: year }),
|
|
421
436
|
/* @__PURE__ */ jsx(
|
|
422
|
-
|
|
437
|
+
Button,
|
|
423
438
|
{
|
|
439
|
+
unstyled: true,
|
|
424
440
|
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",
|
|
425
441
|
onClick: () => onCursorChange(new Date(year + 1, 0, 1)),
|
|
426
442
|
children: "\u25B6"
|
|
@@ -433,8 +449,9 @@ function MonthPopover({ anchorEl, cursor, value, onCursorChange, onPick, onClose
|
|
|
433
449
|
const light = isSel ? "bg-slate-900 text-white border-slate-900" : "border-slate-200 hover:bg-slate-100";
|
|
434
450
|
const dark = isSel ? "dark:bg-white dark:text-slate-900 dark:border-white" : "dark:border-white/10 dark:hover:bg-white/10";
|
|
435
451
|
return /* @__PURE__ */ jsx(
|
|
436
|
-
|
|
452
|
+
Button,
|
|
437
453
|
{
|
|
454
|
+
unstyled: true,
|
|
438
455
|
className: `${base} ${light} ${dark}`,
|
|
439
456
|
onClick: () => onPick(new Date(year, idx, 1)),
|
|
440
457
|
children: m
|