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.
Files changed (127) hide show
  1. package/dist/ActionIconButton.d.mts +1 -0
  2. package/dist/ActionIconButton.d.ts +1 -0
  3. package/dist/ActionIconButton.js +12 -9
  4. package/dist/ActionIconButton.mjs +13 -10
  5. package/dist/AppTopbar.js +23 -6
  6. package/dist/AppTopbar.mjs +13 -6
  7. package/dist/AvatarGroup.d.mts +14 -0
  8. package/dist/AvatarGroup.d.ts +14 -0
  9. package/dist/AvatarGroup.js +77 -0
  10. package/dist/AvatarGroup.mjs +47 -0
  11. package/dist/AvatarSquare.d.mts +2 -5
  12. package/dist/AvatarSquare.d.ts +2 -5
  13. package/dist/AvatarSquare.js +52 -3
  14. package/dist/AvatarSquare.mjs +52 -3
  15. package/dist/Badge.d.mts +2 -1
  16. package/dist/Badge.d.ts +2 -1
  17. package/dist/Badge.js +3 -1
  18. package/dist/Badge.mjs +3 -1
  19. package/dist/BadgeCluster.js +3 -3
  20. package/dist/BadgeCluster.mjs +3 -3
  21. package/dist/Button.d.mts +3 -4
  22. package/dist/Button.d.ts +3 -4
  23. package/dist/Button.js +96 -8
  24. package/dist/Button.mjs +86 -8
  25. package/dist/CalendarPanel.js +20 -3
  26. package/dist/CalendarPanel.mjs +10 -3
  27. package/dist/Card.d.mts +6 -0
  28. package/dist/Card.d.ts +6 -0
  29. package/dist/Card.js +52 -0
  30. package/dist/Card.mjs +22 -0
  31. package/dist/CheckboxPillsGroup.d.mts +2 -1
  32. package/dist/CheckboxPillsGroup.d.ts +2 -1
  33. package/dist/CheckboxPillsGroup.js +16 -12
  34. package/dist/CheckboxPillsGroup.mjs +16 -12
  35. package/dist/ColumnSelector.js +16 -2
  36. package/dist/ColumnSelector.mjs +6 -2
  37. package/dist/ComboSelect.d.mts +0 -2
  38. package/dist/ComboSelect.d.ts +0 -2
  39. package/dist/ComboSelect.js +8 -4
  40. package/dist/ComboSelect.mjs +8 -4
  41. package/dist/DateTimeField.d.mts +0 -5
  42. package/dist/DateTimeField.d.ts +0 -5
  43. package/dist/DateTimeField.js +17 -8
  44. package/dist/DateTimeField.mjs +17 -8
  45. package/dist/Dialog.d.mts +2 -5
  46. package/dist/Dialog.d.ts +2 -5
  47. package/dist/Dialog.js +21 -22
  48. package/dist/Dialog.mjs +21 -22
  49. package/dist/Drawer.d.mts +38 -0
  50. package/dist/Drawer.d.ts +38 -0
  51. package/dist/Drawer.js +139 -0
  52. package/dist/Drawer.mjs +102 -0
  53. package/dist/Dropdown.d.mts +0 -3
  54. package/dist/Dropdown.d.ts +0 -3
  55. package/dist/Dropdown.js +61 -42
  56. package/dist/Dropdown.mjs +51 -42
  57. package/dist/FiltersMultiSelect.d.mts +28 -0
  58. package/dist/FiltersMultiSelect.d.ts +28 -0
  59. package/dist/FiltersMultiSelect.js +136 -0
  60. package/dist/FiltersMultiSelect.mjs +106 -0
  61. package/dist/Input.d.mts +2 -0
  62. package/dist/Input.d.ts +2 -0
  63. package/dist/Input.js +20 -5
  64. package/dist/Input.mjs +20 -5
  65. package/dist/Link.d.mts +15 -0
  66. package/dist/Link.d.ts +15 -0
  67. package/dist/Link.js +93 -0
  68. package/dist/Link.mjs +63 -0
  69. package/dist/MediaCard.d.mts +15 -0
  70. package/dist/MediaCard.d.ts +15 -0
  71. package/dist/MediaCard.js +153 -0
  72. package/dist/MediaCard.mjs +123 -0
  73. package/dist/MediaSelector.d.mts +48 -0
  74. package/dist/MediaSelector.d.ts +48 -0
  75. package/dist/MediaSelector.js +225 -0
  76. package/dist/MediaSelector.mjs +195 -0
  77. package/dist/Money.d.mts +2 -1
  78. package/dist/Money.d.ts +2 -1
  79. package/dist/Money.js +26 -2
  80. package/dist/Money.mjs +26 -2
  81. package/dist/MultiComboSelect.js +6 -11
  82. package/dist/MultiComboSelect.mjs +6 -11
  83. package/dist/OrderButton.js +13 -1
  84. package/dist/OrderButton.mjs +3 -1
  85. package/dist/Pagination.d.mts +2 -1
  86. package/dist/Pagination.d.ts +2 -1
  87. package/dist/Pagination.js +40 -3
  88. package/dist/Pagination.mjs +30 -3
  89. package/dist/ReviewHistory.js +3 -9
  90. package/dist/ReviewHistory.mjs +3 -9
  91. package/dist/SearchInput.js +17 -42
  92. package/dist/SearchInput.mjs +17 -42
  93. package/dist/Select.js +5 -2
  94. package/dist/Select.mjs +5 -2
  95. package/dist/Sidebar.d.mts +2 -3
  96. package/dist/Sidebar.d.ts +2 -3
  97. package/dist/Sidebar.js +132 -24
  98. package/dist/Sidebar.mjs +132 -24
  99. package/dist/Steps.d.mts +0 -2
  100. package/dist/Steps.d.ts +0 -2
  101. package/dist/Steps.js +19 -6
  102. package/dist/Steps.mjs +9 -6
  103. package/dist/Table.js +3 -1
  104. package/dist/Table.mjs +3 -1
  105. package/dist/TimePanel.js +21 -7
  106. package/dist/TimePanel.mjs +11 -7
  107. package/dist/TimePopover.js +32 -15
  108. package/dist/TimePopover.mjs +32 -15
  109. package/dist/TimeRangeField.js +13 -6
  110. package/dist/TimeRangeField.mjs +13 -6
  111. package/dist/Toast.d.mts +53 -0
  112. package/dist/Toast.d.ts +53 -0
  113. package/dist/Toast.js +273 -0
  114. package/dist/Toast.mjs +238 -0
  115. package/dist/Tooltip.d.mts +15 -0
  116. package/dist/Tooltip.d.ts +15 -0
  117. package/dist/Tooltip.js +135 -0
  118. package/dist/Tooltip.mjs +105 -0
  119. package/dist/UploadCard.d.mts +27 -0
  120. package/dist/UploadCard.d.ts +27 -0
  121. package/dist/UploadCard.js +143 -0
  122. package/dist/UploadCard.mjs +113 -0
  123. package/dist/index.d.mts +11 -1
  124. package/dist/index.d.ts +11 -1
  125. package/dist/index.js +33 -1
  126. package/dist/index.mjs +78 -57
  127. 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
- "button",
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
- "button",
109
+ import_Button.default,
99
110
  {
100
111
  type: "button",
101
112
  disabled: current === 0,
102
113
  onClick: onPrev,
103
- className: "inline-flex h-9 items-center rounded-xl border border-slate-200 bg-white px-3 text-sm hover:bg-slate-50 disabled:opacity-50 dark:border-white/10 dark:bg-white/5",
114
+ variant: "secondary",
115
+ size: "sm",
104
116
  children: "Atr\xE1s"
105
117
  }
106
118
  ),
107
119
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
108
- "button",
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
- "button",
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
- "button",
75
+ Button,
75
76
  {
76
77
  type: "button",
77
78
  disabled: current === 0,
78
79
  onClick: onPrev,
79
- className: "inline-flex h-9 items-center rounded-xl border border-slate-200 bg-white px-3 text-sm hover:bg-slate-50 disabled:opacity-50 dark:border-white/10 dark:bg-white/5",
80
+ variant: "secondary",
81
+ size: "sm",
80
82
  children: "Atr\xE1s"
81
83
  }
82
84
  ),
83
85
  /* @__PURE__ */ jsx(
84
- "button",
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
- "button",
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
- "button",
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)("button", { className: btn, onPointerDown: (e) => e.preventDefault(), onClick: incH, "aria-label": "Aumentar hora", children: "+" }),
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)("button", { className: btn, onPointerDown: (e) => e.preventDefault(), onClick: decH, "aria-label": "Disminuir hora", children: "\u2212" })
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)("button", { className: btn, onPointerDown: (e) => e.preventDefault(), onClick: incM, "aria-label": "Aumentar minutos", children: "+" }),
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)("button", { className: btn, onPointerDown: (e) => e.preventDefault(), onClick: decM, "aria-label": "Disminuir minutos", children: "\u2212" })
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
- "button",
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
- "button",
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
- "button",
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,
@@ -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("button", { className: btn, onPointerDown: (e) => e.preventDefault(), onClick: incH, "aria-label": "Aumentar hora", children: "+" }),
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("button", { className: btn, onPointerDown: (e) => e.preventDefault(), onClick: decH, "aria-label": "Disminuir hora", children: "\u2212" })
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("button", { className: btn, onPointerDown: (e) => e.preventDefault(), onClick: incM, "aria-label": "Aumentar minutos", children: "+" }),
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("button", { className: btn, onPointerDown: (e) => e.preventDefault(), onClick: decM, "aria-label": "Disminuir minutos", children: "\u2212" })
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
- "button",
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
- "button",
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
- "button",
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,
@@ -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
- "button",
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
- "input",
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
- "button",
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
- "button",
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
- "input",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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
@@ -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
- "button",
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
- "input",
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
- "button",
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
- "button",
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
- "input",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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
- "button",
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