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/Card.mjs ADDED
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import React from "react";
4
+ const base = "rounded-2xl border border-slate-200 bg-white p-4 shadow-sm dark:border-white/10 dark:bg-[#0f0d0e]";
5
+ const Card = React.forwardRef(
6
+ ({ className, children, ...rest }, ref) => {
7
+ return /* @__PURE__ */ jsx(
8
+ "div",
9
+ {
10
+ ref,
11
+ className: [base, className].filter(Boolean).join(" "),
12
+ ...rest,
13
+ children
14
+ }
15
+ );
16
+ }
17
+ );
18
+ Card.displayName = "Card";
19
+ var Card_default = Card;
20
+ export {
21
+ Card_default as default
22
+ };
@@ -22,7 +22,8 @@ type CheckboxPillsGroupProps = {
22
22
  withIcon?: boolean;
23
23
  maxSelected?: number;
24
24
  className?: string;
25
+ color?: "rose" | "sky" | "violet" | "emerald" | "indigo" | "amber" | "slate";
25
26
  };
26
- declare function CheckboxPillsGroup({ options, value, onChange, multiple, name, label, emptyText, size, accent, variant, rounded, withIcon, maxSelected, className, }: CheckboxPillsGroupProps): react_jsx_runtime.JSX.Element;
27
+ declare function CheckboxPillsGroup({ options, value, onChange, multiple, name, label, emptyText, size, accent, variant, rounded, withIcon, maxSelected, className, color, }: CheckboxPillsGroupProps): react_jsx_runtime.JSX.Element;
27
28
 
28
29
  export { type CheckboxPillsGroupProps, type PillsOption, CheckboxPillsGroup as default };
@@ -22,7 +22,8 @@ type CheckboxPillsGroupProps = {
22
22
  withIcon?: boolean;
23
23
  maxSelected?: number;
24
24
  className?: string;
25
+ color?: "rose" | "sky" | "violet" | "emerald" | "indigo" | "amber" | "slate";
25
26
  };
26
- declare function CheckboxPillsGroup({ options, value, onChange, multiple, name, label, emptyText, size, accent, variant, rounded, withIcon, maxSelected, className, }: CheckboxPillsGroupProps): react_jsx_runtime.JSX.Element;
27
+ declare function CheckboxPillsGroup({ options, value, onChange, multiple, name, label, emptyText, size, accent, variant, rounded, withIcon, maxSelected, className, color, }: CheckboxPillsGroupProps): react_jsx_runtime.JSX.Element;
27
28
 
28
29
  export { type CheckboxPillsGroupProps, type PillsOption, CheckboxPillsGroup as default };
@@ -34,6 +34,7 @@ __export(CheckboxPillsGroup_exports, {
34
34
  module.exports = __toCommonJS(CheckboxPillsGroup_exports);
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_react = __toESM(require("react"));
37
+ var import_Input = __toESM(require("./Input"));
37
38
  const cx = (...a) => a.filter(Boolean).join(" ");
38
39
  function toObj(opt) {
39
40
  var _a, _b;
@@ -50,27 +51,27 @@ const SIZE = {
50
51
  md: { text: "text-sm", padX: "px-3.5", padY: "py-2", height: "h-9", icon: "h-4 w-4" }
51
52
  };
52
53
  const ACTIVE_SOFT = {
53
- rose: "border-blue-300 bg-blue-50/80 text-blue-700 dark:border-blue-400/40 dark:bg-blue-500/10 dark:text-blue-200",
54
+ rose: "border-rose-300 bg-rose-50/80 text-rose-700 dark:border-rose-400/40 dark:bg-rose-500/10 dark:text-rose-200",
54
55
  sky: "border-sky-300 bg-sky-50/80 text-sky-700 dark:border-sky-400/40 dark:bg-sky-500/10 dark:text-sky-200",
55
- violet: "border-blue-300 bg-blue-50/80 text-blue-700 dark:border-blue-400/40 dark:bg-blue-500/10 dark:text-blue-200",
56
+ violet: "border-violet-300 bg-violet-50/80 text-violet-700 dark:border-violet-400/40 dark:bg-violet-500/10 dark:text-violet-200",
56
57
  emerald: "border-emerald-300 bg-emerald-50/80 text-emerald-700 dark:border-emerald-400/40 dark:bg-emerald-500/10 dark:text-emerald-200",
57
58
  indigo: "border-indigo-300 bg-indigo-50/80 text-indigo-700 dark:border-indigo-400/40 dark:bg-indigo-500/10 dark:text-indigo-200",
58
59
  amber: "border-amber-300 bg-amber-50/80 text-amber-700 dark:border-amber-400/40 dark:bg-amber-500/10 dark:text-amber-200",
59
60
  slate: "border-slate-300 bg-slate-50/80 text-slate-700 dark:border-slate-400/40 dark:bg-slate-500/10 dark:text-slate-200"
60
61
  };
61
62
  const ACTIVE_OUTLINE = {
62
- rose: "border-blue-400 text-blue-700 dark:text-blue-200",
63
+ rose: "border-rose-400 text-rose-700 dark:text-rose-200",
63
64
  sky: "border-sky-400 text-sky-700 dark:text-sky-200",
64
- violet: "border-blue-400 text-blue-700 dark:text-blue-200",
65
+ violet: "border-violet-400 text-violet-700 dark:text-violet-200",
65
66
  emerald: "border-emerald-400 text-emerald-700 dark:text-emerald-200",
66
67
  indigo: "border-indigo-400 text-indigo-700 dark:text-indigo-200",
67
68
  amber: "border-amber-400 text-amber-700 dark:text-amber-200",
68
69
  slate: "border-slate-400 text-slate-700 dark:text-slate-200"
69
70
  };
70
71
  const ACTIVE_GLASS = {
71
- rose: "border-blue-300 bg-gradient-to-br from-blue-50 to-blue-50/0 text-blue-700 dark:from-blue-400/10 dark:text-blue-200",
72
+ rose: "border-rose-300 bg-gradient-to-br from-rose-50 to-rose-50/0 text-rose-700 dark:from-rose-400/10 dark:text-rose-200",
72
73
  sky: "border-sky-300 bg-gradient-to-br from-sky-50 to-sky-50/0 text-sky-700 dark:from-sky-400/10 dark:text-sky-200",
73
- violet: "border-blue-300 bg-gradient-to-br from-blue-50 to-blue-50/0 text-blue-700 dark:from-blue-400/10 dark:text-blue-200",
74
+ violet: "border-violet-300 bg-gradient-to-br from-violet-50 to-violet-50/0 text-violet-700 dark:from-violet-400/10 dark:text-violet-200",
74
75
  emerald: "border-emerald-300 bg-gradient-to-br from-emerald-50 to-emerald-50/0 text-emerald-700 dark:from-emerald-400/10 dark:text-emerald-200",
75
76
  indigo: "border-indigo-300 bg-gradient-to-br from-indigo-50 to-indigo-50/0 text-indigo-700 dark:from-indigo-400/10 dark:text-indigo-200",
76
77
  amber: "border-amber-300 bg-gradient-to-br from-amber-50 to-amber-50/0 text-amber-700 dark:from-amber-400/10 dark:text-amber-200",
@@ -96,10 +97,12 @@ function CheckboxPillsGroup({
96
97
  rounded = "full",
97
98
  withIcon = true,
98
99
  maxSelected,
99
- className
100
+ className,
101
+ color
100
102
  }) {
101
103
  const opts = import_react.default.useMemo(() => options.map(toObj), [options]);
102
104
  const sz = SIZE[size];
105
+ const selectedAccent = color != null ? color : accent;
103
106
  const radius = rounded === "full" ? "rounded-full" : rounded === "2xl" ? "rounded-2xl" : rounded === "md" ? "rounded-md" : "rounded-xl";
104
107
  const baseChip = cx(
105
108
  "relative inline-flex items-center whitespace-nowrap select-none",
@@ -140,13 +143,14 @@ function CheckboxPillsGroup({
140
143
  title: o.title,
141
144
  className: cx(
142
145
  baseChip,
143
- active ? activeClasses(accent, variant) : NEUTRAL,
146
+ active ? activeClasses(selectedAccent, variant) : NEUTRAL,
144
147
  (disabled || !canSelectMore) && !active && "cursor-not-allowed opacity-60"
145
148
  ),
146
149
  children: [
147
150
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
148
- "input",
151
+ import_Input.default,
149
152
  {
153
+ unstyled: true,
150
154
  type: multiple ? "checkbox" : "radio",
151
155
  name: !multiple ? name != null ? name : "pills-group" : void 0,
152
156
  className: "sr-only",
@@ -163,14 +167,14 @@ function CheckboxPillsGroup({
163
167
  className: cx(
164
168
  "grid place-items-center rounded-full",
165
169
  {
166
- rose: "bg-blue-500/10 text-blue-600",
170
+ rose: "bg-rose-500/10 text-rose-600",
167
171
  sky: "bg-sky-500/10 text-sky-600",
168
- violet: "bg-blue-500/10 text-blue-600",
172
+ violet: "bg-violet-500/10 text-violet-600",
169
173
  emerald: "bg-emerald-500/10 text-emerald-600",
170
174
  indigo: "bg-indigo-500/10 text-indigo-600",
171
175
  amber: "bg-amber-500/10 text-amber-600",
172
176
  slate: "bg-slate-500/10 text-slate-600"
173
- }[accent]
177
+ }[selectedAccent]
174
178
  ),
175
179
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { viewBox: "0 0 24 24", className: sz.icon, fill: "none", stroke: "currentColor", strokeWidth: 3, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m5 12 4 4 10-10" }) })
176
180
  }
@@ -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 Input from "./Input";
4
5
  const cx = (...a) => a.filter(Boolean).join(" ");
5
6
  function toObj(opt) {
6
7
  var _a, _b;
@@ -17,27 +18,27 @@ const SIZE = {
17
18
  md: { text: "text-sm", padX: "px-3.5", padY: "py-2", height: "h-9", icon: "h-4 w-4" }
18
19
  };
19
20
  const ACTIVE_SOFT = {
20
- rose: "border-blue-300 bg-blue-50/80 text-blue-700 dark:border-blue-400/40 dark:bg-blue-500/10 dark:text-blue-200",
21
+ rose: "border-rose-300 bg-rose-50/80 text-rose-700 dark:border-rose-400/40 dark:bg-rose-500/10 dark:text-rose-200",
21
22
  sky: "border-sky-300 bg-sky-50/80 text-sky-700 dark:border-sky-400/40 dark:bg-sky-500/10 dark:text-sky-200",
22
- violet: "border-blue-300 bg-blue-50/80 text-blue-700 dark:border-blue-400/40 dark:bg-blue-500/10 dark:text-blue-200",
23
+ violet: "border-violet-300 bg-violet-50/80 text-violet-700 dark:border-violet-400/40 dark:bg-violet-500/10 dark:text-violet-200",
23
24
  emerald: "border-emerald-300 bg-emerald-50/80 text-emerald-700 dark:border-emerald-400/40 dark:bg-emerald-500/10 dark:text-emerald-200",
24
25
  indigo: "border-indigo-300 bg-indigo-50/80 text-indigo-700 dark:border-indigo-400/40 dark:bg-indigo-500/10 dark:text-indigo-200",
25
26
  amber: "border-amber-300 bg-amber-50/80 text-amber-700 dark:border-amber-400/40 dark:bg-amber-500/10 dark:text-amber-200",
26
27
  slate: "border-slate-300 bg-slate-50/80 text-slate-700 dark:border-slate-400/40 dark:bg-slate-500/10 dark:text-slate-200"
27
28
  };
28
29
  const ACTIVE_OUTLINE = {
29
- rose: "border-blue-400 text-blue-700 dark:text-blue-200",
30
+ rose: "border-rose-400 text-rose-700 dark:text-rose-200",
30
31
  sky: "border-sky-400 text-sky-700 dark:text-sky-200",
31
- violet: "border-blue-400 text-blue-700 dark:text-blue-200",
32
+ violet: "border-violet-400 text-violet-700 dark:text-violet-200",
32
33
  emerald: "border-emerald-400 text-emerald-700 dark:text-emerald-200",
33
34
  indigo: "border-indigo-400 text-indigo-700 dark:text-indigo-200",
34
35
  amber: "border-amber-400 text-amber-700 dark:text-amber-200",
35
36
  slate: "border-slate-400 text-slate-700 dark:text-slate-200"
36
37
  };
37
38
  const ACTIVE_GLASS = {
38
- rose: "border-blue-300 bg-gradient-to-br from-blue-50 to-blue-50/0 text-blue-700 dark:from-blue-400/10 dark:text-blue-200",
39
+ rose: "border-rose-300 bg-gradient-to-br from-rose-50 to-rose-50/0 text-rose-700 dark:from-rose-400/10 dark:text-rose-200",
39
40
  sky: "border-sky-300 bg-gradient-to-br from-sky-50 to-sky-50/0 text-sky-700 dark:from-sky-400/10 dark:text-sky-200",
40
- violet: "border-blue-300 bg-gradient-to-br from-blue-50 to-blue-50/0 text-blue-700 dark:from-blue-400/10 dark:text-blue-200",
41
+ violet: "border-violet-300 bg-gradient-to-br from-violet-50 to-violet-50/0 text-violet-700 dark:from-violet-400/10 dark:text-violet-200",
41
42
  emerald: "border-emerald-300 bg-gradient-to-br from-emerald-50 to-emerald-50/0 text-emerald-700 dark:from-emerald-400/10 dark:text-emerald-200",
42
43
  indigo: "border-indigo-300 bg-gradient-to-br from-indigo-50 to-indigo-50/0 text-indigo-700 dark:from-indigo-400/10 dark:text-indigo-200",
43
44
  amber: "border-amber-300 bg-gradient-to-br from-amber-50 to-amber-50/0 text-amber-700 dark:from-amber-400/10 dark:text-amber-200",
@@ -63,10 +64,12 @@ function CheckboxPillsGroup({
63
64
  rounded = "full",
64
65
  withIcon = true,
65
66
  maxSelected,
66
- className
67
+ className,
68
+ color
67
69
  }) {
68
70
  const opts = React.useMemo(() => options.map(toObj), [options]);
69
71
  const sz = SIZE[size];
72
+ const selectedAccent = color != null ? color : accent;
70
73
  const radius = rounded === "full" ? "rounded-full" : rounded === "2xl" ? "rounded-2xl" : rounded === "md" ? "rounded-md" : "rounded-xl";
71
74
  const baseChip = cx(
72
75
  "relative inline-flex items-center whitespace-nowrap select-none",
@@ -107,13 +110,14 @@ function CheckboxPillsGroup({
107
110
  title: o.title,
108
111
  className: cx(
109
112
  baseChip,
110
- active ? activeClasses(accent, variant) : NEUTRAL,
113
+ active ? activeClasses(selectedAccent, variant) : NEUTRAL,
111
114
  (disabled || !canSelectMore) && !active && "cursor-not-allowed opacity-60"
112
115
  ),
113
116
  children: [
114
117
  /* @__PURE__ */ jsx(
115
- "input",
118
+ Input,
116
119
  {
120
+ unstyled: true,
117
121
  type: multiple ? "checkbox" : "radio",
118
122
  name: !multiple ? name != null ? name : "pills-group" : void 0,
119
123
  className: "sr-only",
@@ -130,14 +134,14 @@ function CheckboxPillsGroup({
130
134
  className: cx(
131
135
  "grid place-items-center rounded-full",
132
136
  {
133
- rose: "bg-blue-500/10 text-blue-600",
137
+ rose: "bg-rose-500/10 text-rose-600",
134
138
  sky: "bg-sky-500/10 text-sky-600",
135
- violet: "bg-blue-500/10 text-blue-600",
139
+ violet: "bg-violet-500/10 text-violet-600",
136
140
  emerald: "bg-emerald-500/10 text-emerald-600",
137
141
  indigo: "bg-indigo-500/10 text-indigo-600",
138
142
  amber: "bg-amber-500/10 text-amber-600",
139
143
  slate: "bg-slate-500/10 text-slate-600"
140
- }[accent]
144
+ }[selectedAccent]
141
145
  ),
142
146
  children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", className: sz.icon, fill: "none", stroke: "currentColor", strokeWidth: 3, children: /* @__PURE__ */ jsx("path", { d: "m5 12 4 4 10-10" }) })
143
147
  }
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
  var ColumnSelector_exports = {};
20
30
  __export(ColumnSelector_exports, {
@@ -23,6 +33,8 @@ __export(ColumnSelector_exports, {
23
33
  module.exports = __toCommonJS(ColumnSelector_exports);
24
34
  var import_jsx_runtime = require("react/jsx-runtime");
25
35
  var import_react = require("motion/react");
36
+ var import_Button = __toESM(require("./Button"));
37
+ var import_Input = __toESM(require("./Input"));
26
38
  function ColumnSelector({
27
39
  open,
28
40
  onToggleOpen,
@@ -32,8 +44,9 @@ function ColumnSelector({
32
44
  }) {
33
45
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "relative", children: [
34
46
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
35
- "button",
47
+ import_Button.default,
36
48
  {
49
+ unstyled: true,
37
50
  onClick: (e) => {
38
51
  e.stopPropagation();
39
52
  onToggleOpen((v) => !v);
@@ -56,8 +69,9 @@ function ColumnSelector({
56
69
  children: [
57
70
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "font-medium text-slate-800 dark:text-slate-100", children: label }),
58
71
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
59
- "input",
72
+ import_Input.default,
60
73
  {
74
+ unstyled: true,
61
75
  type: "checkbox",
62
76
  checked: visible[key],
63
77
  onChange: (e) => setVisible(key, e.target.checked),
@@ -1,5 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { AnimatePresence, motion } from "motion/react";
3
+ import Button from "./Button";
4
+ import Input from "./Input";
3
5
  function ColumnSelector({
4
6
  open,
5
7
  onToggleOpen,
@@ -9,8 +11,9 @@ function ColumnSelector({
9
11
  }) {
10
12
  return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
11
13
  /* @__PURE__ */ jsx(
12
- "button",
14
+ Button,
13
15
  {
16
+ unstyled: true,
14
17
  onClick: (e) => {
15
18
  e.stopPropagation();
16
19
  onToggleOpen((v) => !v);
@@ -33,8 +36,9 @@ function ColumnSelector({
33
36
  children: [
34
37
  /* @__PURE__ */ jsx("span", { className: "font-medium text-slate-800 dark:text-slate-100", children: label }),
35
38
  /* @__PURE__ */ jsx(
36
- "input",
39
+ Input,
37
40
  {
41
+ unstyled: true,
38
42
  type: "checkbox",
39
43
  checked: visible[key],
40
44
  onChange: (e) => setVisible(key, e.target.checked),
@@ -36,9 +36,7 @@ type ComboSelectProps = {
36
36
  keepFocusOnSelect?: boolean;
37
37
  clearQueryOnSelect?: boolean;
38
38
  renderTags?: React__default.ReactNode;
39
- /** Si true, las filas pueden tener inputs/botones y el click de fondo dispara onChange */
40
39
  interactiveOptions?: boolean;
41
- /** 🔹 Nuevo: notifica cambios en el texto de búsqueda */
42
40
  onQueryChange?: (q: string) => void;
43
41
  };
44
42
  declare function ComboSelect({ options, sections, value, onChange, placeholder, disabled, loading, allowClear, searchable, maxItems, className, noResultsText, renderOption, renderSectionHeader, portalTarget, closeOnSelect, keepFocusOnSelect, clearQueryOnSelect, renderTags, interactiveOptions, onQueryChange, }: ComboSelectProps): react_jsx_runtime.JSX.Element;
@@ -36,9 +36,7 @@ type ComboSelectProps = {
36
36
  keepFocusOnSelect?: boolean;
37
37
  clearQueryOnSelect?: boolean;
38
38
  renderTags?: React__default.ReactNode;
39
- /** Si true, las filas pueden tener inputs/botones y el click de fondo dispara onChange */
40
39
  interactiveOptions?: boolean;
41
- /** 🔹 Nuevo: notifica cambios en el texto de búsqueda */
42
40
  onQueryChange?: (q: string) => void;
43
41
  };
44
42
  declare function ComboSelect({ options, sections, value, onChange, placeholder, disabled, loading, allowClear, searchable, maxItems, className, noResultsText, renderOption, renderSectionHeader, portalTarget, closeOnSelect, keepFocusOnSelect, clearQueryOnSelect, renderTags, interactiveOptions, onQueryChange, }: ComboSelectProps): react_jsx_runtime.JSX.Element;
@@ -36,6 +36,8 @@ var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_react = __toESM(require("react"));
37
37
  var import_react_dom = require("react-dom");
38
38
  var import_AvatarSquare = __toESM(require("./AvatarSquare"));
39
+ var import_Input = __toESM(require("./Input"));
40
+ var import_Button = __toESM(require("./Button"));
39
41
  const cx = (...a) => a.filter(Boolean).join(" ");
40
42
  const controlShell = "relative w-full rounded-2xl border border-slate-200 bg-white text-sm text-slate-900 placeholder:text-slate-400 shadow-sm outline-none transition focus-within:ring-4 focus-within:ring-slate-900/5 focus-within:border-slate-300 disabled:opacity-60 disabled:cursor-not-allowed dark:border-white/10 dark:bg-white/10 dark:text-slate-100 dark:placeholder:text-slate-400 dark:focus-within:ring-white/10";
41
43
  const isFocusableOrInteractive = (el) => {
@@ -66,7 +68,6 @@ function ComboSelect({
66
68
  renderTags,
67
69
  interactiveOptions = false,
68
70
  onQueryChange
69
- // 🔹 nuevo
70
71
  }) {
71
72
  var _a;
72
73
  const [query, _setQuery] = import_react.default.useState("");
@@ -360,8 +361,9 @@ function ComboSelect({
360
361
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: cx(controlShell, "pr-20 pl-3 py-2 min-h-[44px] flex flex-wrap items-center gap-2"), children: [
361
362
  renderTags,
362
363
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
363
- "input",
364
+ import_Input.default,
364
365
  {
366
+ unstyled: true,
365
367
  ref: inputRef,
366
368
  role: "combobox",
367
369
  "aria-haspopup": "listbox",
@@ -388,8 +390,9 @@ function ComboSelect({
388
390
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-1.5 pointer-events-none", children: [
389
391
  loading && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "pointer-events-none text-xs text-slate-400", children: "cargando\u2026" }),
390
392
  allowClear && value != null && !disabled && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
391
- "button",
393
+ import_Button.default,
392
394
  {
395
+ unstyled: true,
393
396
  type: "button",
394
397
  title: "Limpiar",
395
398
  className: "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5",
@@ -413,8 +416,9 @@ function ComboSelect({
413
416
  }
414
417
  ),
415
418
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
416
- "button",
419
+ import_Button.default,
417
420
  {
421
+ unstyled: true,
418
422
  type: "button",
419
423
  title: open ? "Cerrar" : "Abrir",
420
424
  className: "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5",
@@ -3,6 +3,8 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  import React from "react";
4
4
  import { createPortal } from "react-dom";
5
5
  import AvatarSquare from "./AvatarSquare";
6
+ import Input from "./Input";
7
+ import Button from "./Button";
6
8
  const cx = (...a) => a.filter(Boolean).join(" ");
7
9
  const controlShell = "relative w-full rounded-2xl border border-slate-200 bg-white text-sm text-slate-900 placeholder:text-slate-400 shadow-sm outline-none transition focus-within:ring-4 focus-within:ring-slate-900/5 focus-within:border-slate-300 disabled:opacity-60 disabled:cursor-not-allowed dark:border-white/10 dark:bg-white/10 dark:text-slate-100 dark:placeholder:text-slate-400 dark:focus-within:ring-white/10";
8
10
  const isFocusableOrInteractive = (el) => {
@@ -33,7 +35,6 @@ function ComboSelect({
33
35
  renderTags,
34
36
  interactiveOptions = false,
35
37
  onQueryChange
36
- // 🔹 nuevo
37
38
  }) {
38
39
  var _a;
39
40
  const [query, _setQuery] = React.useState("");
@@ -327,8 +328,9 @@ function ComboSelect({
327
328
  /* @__PURE__ */ jsxs("div", { className: cx(controlShell, "pr-20 pl-3 py-2 min-h-[44px] flex flex-wrap items-center gap-2"), children: [
328
329
  renderTags,
329
330
  /* @__PURE__ */ jsx(
330
- "input",
331
+ Input,
331
332
  {
333
+ unstyled: true,
332
334
  ref: inputRef,
333
335
  role: "combobox",
334
336
  "aria-haspopup": "listbox",
@@ -355,8 +357,9 @@ function ComboSelect({
355
357
  /* @__PURE__ */ jsxs("div", { className: "absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-1.5 pointer-events-none", children: [
356
358
  loading && /* @__PURE__ */ jsx("span", { className: "pointer-events-none text-xs text-slate-400", children: "cargando\u2026" }),
357
359
  allowClear && value != null && !disabled && /* @__PURE__ */ jsx(
358
- "button",
360
+ Button,
359
361
  {
362
+ unstyled: true,
360
363
  type: "button",
361
364
  title: "Limpiar",
362
365
  className: "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5",
@@ -380,8 +383,9 @@ function ComboSelect({
380
383
  }
381
384
  ),
382
385
  /* @__PURE__ */ jsx(
383
- "button",
386
+ Button,
384
387
  {
388
+ unstyled: true,
385
389
  type: "button",
386
390
  title: open ? "Cerrar" : "Abrir",
387
391
  className: "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5",
@@ -4,17 +4,12 @@ import React__default from 'react';
4
4
  type PickerMode = "date" | "datetime-local" | "time";
5
5
  type DateTimeFieldProps = Omit<React__default.InputHTMLAttributes<HTMLInputElement>, "type" | "value" | "onChange"> & {
6
6
  type?: PickerMode;
7
- /** ISO para date/datetime-local, HH:mm para time; o null */
8
7
  value?: string | null;
9
8
  min?: string;
10
9
  max?: string;
11
- /** Cambio por valor (recomendado) */
12
10
  onValueChange?: (next: string | null) => void;
13
- /** Si true, usa portal (document.body o portalId) */
14
11
  portal?: boolean;
15
- /** id del contenedor de portal (opcional) */
16
12
  portalId?: string;
17
- /** muestra botón de limpiar en el Input */
18
13
  clearable?: boolean;
19
14
  };
20
15
  declare function DateTimeField({ type, value, min, max, onValueChange, portal, portalId, clearable, ...inputProps }: DateTimeFieldProps): react_jsx_runtime.JSX.Element;
@@ -4,17 +4,12 @@ import React__default from 'react';
4
4
  type PickerMode = "date" | "datetime-local" | "time";
5
5
  type DateTimeFieldProps = Omit<React__default.InputHTMLAttributes<HTMLInputElement>, "type" | "value" | "onChange"> & {
6
6
  type?: PickerMode;
7
- /** ISO para date/datetime-local, HH:mm para time; o null */
8
7
  value?: string | null;
9
8
  min?: string;
10
9
  max?: string;
11
- /** Cambio por valor (recomendado) */
12
10
  onValueChange?: (next: string | null) => void;
13
- /** Si true, usa portal (document.body o portalId) */
14
11
  portal?: boolean;
15
- /** id del contenedor de portal (opcional) */
16
12
  portalId?: string;
17
- /** muestra botón de limpiar en el Input */
18
13
  clearable?: boolean;
19
14
  };
20
15
  declare function DateTimeField({ type, value, min, max, onValueChange, portal, portalId, clearable, ...inputProps }: DateTimeFieldProps): react_jsx_runtime.JSX.Element;
@@ -36,6 +36,7 @@ var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_react = require("react");
37
37
  var import_react_dom = require("react-dom");
38
38
  var import_Input = __toESM(require("./Input"));
39
+ var import_Button = __toESM(require("./Button"));
39
40
  var import_CalendarPanel = __toESM(require("./CalendarPanel"));
40
41
  var import_TimePopover = __toESM(require("./TimePopover"));
41
42
  const pad2 = (n) => n < 10 ? `0${n}` : String(n);
@@ -269,8 +270,9 @@ function DateTimeField({
269
270
  (type === "time" || type === "datetime-local") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between gap-2 border-t border-slate-100 px-3 py-2 text-sm dark:border-white/10", children: [
270
271
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2", children: [
271
272
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
272
- "button",
273
+ import_Button.default,
273
274
  {
275
+ unstyled: true,
274
276
  ref: timeBtnRef,
275
277
  type: "button",
276
278
  className: "rounded-xl ring-1 ring-slate-200 px-2.5 py-1.5 font-medium tracking-wide hover:bg-slate-50 active:scale-[0.98] dark:ring-white/10 dark:hover:bg-white/10",
@@ -282,8 +284,9 @@ function DateTimeField({
282
284
  }
283
285
  ),
284
286
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
285
- "button",
287
+ import_Button.default,
286
288
  {
289
+ unstyled: true,
287
290
  type: "button",
288
291
  className: "rounded-xl ring-1 ring-slate-200 px-2.5 py-1.5 hover:bg-slate-50 active:scale-[0.98] dark:ring-white/10 dark:hover:bg-white/10",
289
292
  onClick: () => {
@@ -299,8 +302,9 @@ function DateTimeField({
299
302
  )
300
303
  ] }),
301
304
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
302
- "button",
305
+ import_Button.default,
303
306
  {
307
+ unstyled: true,
304
308
  type: "button",
305
309
  className: "rounded-xl bg-slate-900 px-3 py-1.5 text-white hover:opacity-95 active:scale-[0.98] dark:bg-white dark:text-slate-900",
306
310
  onClick: () => setOpen(false),
@@ -311,8 +315,9 @@ function DateTimeField({
311
315
  type !== "time" && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between gap-2 border-t border-slate-100 px-3 py-2 text-sm dark:border-white/10", children: [
312
316
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex gap-1.5", children: [
313
317
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
314
- "button",
318
+ import_Button.default,
315
319
  {
320
+ unstyled: true,
316
321
  className: "rounded-lg px-2 py-1 hover:bg-slate-100 dark:hover:bg-white/10",
317
322
  onClick: () => {
318
323
  const t = /* @__PURE__ */ new Date();
@@ -324,8 +329,9 @@ function DateTimeField({
324
329
  }
325
330
  ),
326
331
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
327
- "button",
332
+ import_Button.default,
328
333
  {
334
+ unstyled: true,
329
335
  className: "rounded-lg px-2 py-1 hover:bg-slate-100 dark:hover:bg-white/10",
330
336
  onClick: () => {
331
337
  const t = /* @__PURE__ */ new Date();
@@ -338,8 +344,9 @@ function DateTimeField({
338
344
  }
339
345
  ),
340
346
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
341
- "button",
347
+ import_Button.default,
342
348
  {
349
+ unstyled: true,
343
350
  className: "rounded-lg px-2 py-1 hover:bg-slate-100 dark:hover:bg-white/10",
344
351
  onClick: () => {
345
352
  const t = /* @__PURE__ */ new Date();
@@ -353,8 +360,9 @@ function DateTimeField({
353
360
  )
354
361
  ] }),
355
362
  value && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
356
- "button",
363
+ import_Button.default,
357
364
  {
365
+ unstyled: true,
358
366
  className: "rounded-lg px-2 py-1 text-blue-600 hover:bg-blue-50 dark:hover:bg-blue-500/10",
359
367
  onClick: () => {
360
368
  emit(null);
@@ -374,8 +382,9 @@ function DateTimeField({
374
382
  {
375
383
  leftSlot: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CalendarIcon, {}),
376
384
  rightSlot: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
377
- "button",
385
+ import_Button.default,
378
386
  {
387
+ unstyled: true,
379
388
  type: "button",
380
389
  className: "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5",
381
390
  onClick: (e) => {