framepexls-ui-lib 0.1.20 → 0.1.22

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.
@@ -100,6 +100,9 @@ function ComboSelect({
100
100
  document.addEventListener("focusin", onFocusIn);
101
101
  return () => document.removeEventListener("focusin", onFocusIn);
102
102
  }, [open]);
103
+ import_react.default.useEffect(() => {
104
+ if (disabled && open) setOpen(false);
105
+ }, [disabled, open]);
103
106
  const isOutside = import_react.default.useCallback((e) => {
104
107
  var _a2;
105
108
  const path = (_a2 = e.composedPath) == null ? void 0 : _a2.call(e);
@@ -421,12 +424,16 @@ function ComboSelect({
421
424
  unstyled: true,
422
425
  type: "button",
423
426
  title: open ? "Cerrar" : "Abrir",
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",
427
+ disabled,
428
+ className: cx(
429
+ disabled ? "pointer-events-none opacity-60" : "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"
430
+ ),
425
431
  onMouseDown: (e) => {
426
432
  e.preventDefault();
427
433
  e.stopPropagation();
428
434
  },
429
435
  onClick: () => {
436
+ if (disabled) return;
430
437
  setOpen((o) => !o);
431
438
  if (!open) requestAnimationFrame(() => {
432
439
  var _a2;
@@ -67,6 +67,9 @@ function ComboSelect({
67
67
  document.addEventListener("focusin", onFocusIn);
68
68
  return () => document.removeEventListener("focusin", onFocusIn);
69
69
  }, [open]);
70
+ React.useEffect(() => {
71
+ if (disabled && open) setOpen(false);
72
+ }, [disabled, open]);
70
73
  const isOutside = React.useCallback((e) => {
71
74
  var _a2;
72
75
  const path = (_a2 = e.composedPath) == null ? void 0 : _a2.call(e);
@@ -388,12 +391,16 @@ function ComboSelect({
388
391
  unstyled: true,
389
392
  type: "button",
390
393
  title: open ? "Cerrar" : "Abrir",
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",
394
+ disabled,
395
+ className: cx(
396
+ disabled ? "pointer-events-none opacity-60" : "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"
397
+ ),
392
398
  onMouseDown: (e) => {
393
399
  e.preventDefault();
394
400
  e.stopPropagation();
395
401
  },
396
402
  onClick: () => {
403
+ if (disabled) return;
397
404
  setOpen((o) => !o);
398
405
  if (!open) requestAnimationFrame(() => {
399
406
  var _a2;
@@ -0,0 +1,22 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+
4
+ type StorageUsageProps = {
5
+ capacityBytes: number;
6
+ usedBytes: number;
7
+ percentUsed?: number;
8
+ title?: React__default.ReactNode;
9
+ showBadge?: boolean;
10
+ showGrid?: boolean;
11
+ className?: string;
12
+ barClassName?: string;
13
+ formatBytes?: (n: number) => string;
14
+ labels?: {
15
+ capacity?: React__default.ReactNode;
16
+ used?: React__default.ReactNode;
17
+ free?: React__default.ReactNode;
18
+ };
19
+ };
20
+ declare function StorageUsage({ capacityBytes, usedBytes, percentUsed, title, showBadge, showGrid, className, barClassName, formatBytes, labels, }: StorageUsageProps): react_jsx_runtime.JSX.Element;
21
+
22
+ export { type StorageUsageProps, StorageUsage as default };
@@ -0,0 +1,22 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+
4
+ type StorageUsageProps = {
5
+ capacityBytes: number;
6
+ usedBytes: number;
7
+ percentUsed?: number;
8
+ title?: React__default.ReactNode;
9
+ showBadge?: boolean;
10
+ showGrid?: boolean;
11
+ className?: string;
12
+ barClassName?: string;
13
+ formatBytes?: (n: number) => string;
14
+ labels?: {
15
+ capacity?: React__default.ReactNode;
16
+ used?: React__default.ReactNode;
17
+ free?: React__default.ReactNode;
18
+ };
19
+ };
20
+ declare function StorageUsage({ capacityBytes, usedBytes, percentUsed, title, showBadge, showGrid, className, barClassName, formatBytes, labels, }: StorageUsageProps): react_jsx_runtime.JSX.Element;
21
+
22
+ export { type StorageUsageProps, StorageUsage as default };
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ "use client";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var StorageUsage_exports = {};
31
+ __export(StorageUsage_exports, {
32
+ default: () => StorageUsage
33
+ });
34
+ module.exports = __toCommonJS(StorageUsage_exports);
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var import_Badge = __toESM(require("./Badge"));
37
+ var import_InfoGrid = __toESM(require("./InfoGrid"));
38
+ function cx(...a) {
39
+ return a.filter(Boolean).join(" ");
40
+ }
41
+ function defaultFormatBytes(n) {
42
+ if (!n) return "0 B";
43
+ const k = 1024;
44
+ const units = ["B", "KB", "MB", "GB", "TB"];
45
+ const i = Math.floor(Math.log(n) / Math.log(k));
46
+ const val = n / Math.pow(k, i);
47
+ return `${val.toFixed(val >= 10 || i === 0 ? 0 : 1)} ${units[i]}`;
48
+ }
49
+ function StorageUsage({
50
+ capacityBytes,
51
+ usedBytes,
52
+ percentUsed,
53
+ title = "Espacio de almacenamiento",
54
+ showBadge = true,
55
+ showGrid = true,
56
+ className,
57
+ barClassName,
58
+ formatBytes = defaultFormatBytes,
59
+ labels
60
+ }) {
61
+ var _a, _b, _c;
62
+ const cap = Math.max(0, Number(capacityBytes) || 0);
63
+ const used = Math.max(0, Math.min(cap || Number.POSITIVE_INFINITY, Number(usedBytes) || 0));
64
+ const pct = Math.max(0, Math.min(100, Math.round(
65
+ percentUsed != null ? Number(percentUsed) : cap ? used / cap * 100 : 0
66
+ )));
67
+ const free = Math.max(0, cap - used);
68
+ const pctTone = pct > 90 ? "rose" : pct > 75 ? "amber" : "emerald";
69
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className, children: [
70
+ (title || showBadge) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-3", children: [
71
+ title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-sm font-semibold text-slate-700 dark:text-slate-200", children: title }),
72
+ showBadge && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Badge.default, { tone: pctTone, children: [
73
+ pct,
74
+ "% usado"
75
+ ] })
76
+ ] }),
77
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "mt-2 h-2 overflow-hidden rounded-full bg-slate-100 dark:bg-white/10", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
78
+ "div",
79
+ {
80
+ className: cx(
81
+ "h-full bg-gradient-to-r from-sky-500/70 to-sky-500/20",
82
+ barClassName
83
+ ),
84
+ style: { width: `${pct}%` }
85
+ }
86
+ ) }),
87
+ showGrid && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
88
+ import_InfoGrid.default,
89
+ {
90
+ className: "mt-3",
91
+ smCols: 3,
92
+ items: [
93
+ { name: (_a = labels == null ? void 0 : labels.capacity) != null ? _a : "Capacidad", description: formatBytes(cap) },
94
+ { name: (_b = labels == null ? void 0 : labels.used) != null ? _b : "Usado", description: `${formatBytes(used)} (${pct}%)` },
95
+ { name: (_c = labels == null ? void 0 : labels.free) != null ? _c : "Disponible", description: formatBytes(free) }
96
+ ]
97
+ }
98
+ )
99
+ ] });
100
+ }
@@ -0,0 +1,70 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import Badge from "./Badge";
4
+ import InfoGrid from "./InfoGrid";
5
+ function cx(...a) {
6
+ return a.filter(Boolean).join(" ");
7
+ }
8
+ function defaultFormatBytes(n) {
9
+ if (!n) return "0 B";
10
+ const k = 1024;
11
+ const units = ["B", "KB", "MB", "GB", "TB"];
12
+ const i = Math.floor(Math.log(n) / Math.log(k));
13
+ const val = n / Math.pow(k, i);
14
+ return `${val.toFixed(val >= 10 || i === 0 ? 0 : 1)} ${units[i]}`;
15
+ }
16
+ function StorageUsage({
17
+ capacityBytes,
18
+ usedBytes,
19
+ percentUsed,
20
+ title = "Espacio de almacenamiento",
21
+ showBadge = true,
22
+ showGrid = true,
23
+ className,
24
+ barClassName,
25
+ formatBytes = defaultFormatBytes,
26
+ labels
27
+ }) {
28
+ var _a, _b, _c;
29
+ const cap = Math.max(0, Number(capacityBytes) || 0);
30
+ const used = Math.max(0, Math.min(cap || Number.POSITIVE_INFINITY, Number(usedBytes) || 0));
31
+ const pct = Math.max(0, Math.min(100, Math.round(
32
+ percentUsed != null ? Number(percentUsed) : cap ? used / cap * 100 : 0
33
+ )));
34
+ const free = Math.max(0, cap - used);
35
+ const pctTone = pct > 90 ? "rose" : pct > 75 ? "amber" : "emerald";
36
+ return /* @__PURE__ */ jsxs("div", { className, children: [
37
+ (title || showBadge) && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
38
+ title && /* @__PURE__ */ jsx("div", { className: "text-sm font-semibold text-slate-700 dark:text-slate-200", children: title }),
39
+ showBadge && /* @__PURE__ */ jsxs(Badge, { tone: pctTone, children: [
40
+ pct,
41
+ "% usado"
42
+ ] })
43
+ ] }),
44
+ /* @__PURE__ */ jsx("div", { className: "mt-2 h-2 overflow-hidden rounded-full bg-slate-100 dark:bg-white/10", children: /* @__PURE__ */ jsx(
45
+ "div",
46
+ {
47
+ className: cx(
48
+ "h-full bg-gradient-to-r from-sky-500/70 to-sky-500/20",
49
+ barClassName
50
+ ),
51
+ style: { width: `${pct}%` }
52
+ }
53
+ ) }),
54
+ showGrid && /* @__PURE__ */ jsx(
55
+ InfoGrid,
56
+ {
57
+ className: "mt-3",
58
+ smCols: 3,
59
+ items: [
60
+ { name: (_a = labels == null ? void 0 : labels.capacity) != null ? _a : "Capacidad", description: formatBytes(cap) },
61
+ { name: (_b = labels == null ? void 0 : labels.used) != null ? _b : "Usado", description: `${formatBytes(used)} (${pct}%)` },
62
+ { name: (_c = labels == null ? void 0 : labels.free) != null ? _c : "Disponible", description: formatBytes(free) }
63
+ ]
64
+ }
65
+ )
66
+ ] });
67
+ }
68
+ export {
69
+ StorageUsage as default
70
+ };
@@ -0,0 +1,14 @@
1
+ import React__default from 'react';
2
+
3
+ type TextareaProps = Omit<React__default.TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> & {
4
+ error?: boolean;
5
+ tone?: "default" | "danger";
6
+ unstyled?: boolean;
7
+ };
8
+ declare const Textarea: React__default.ForwardRefExoticComponent<Omit<React__default.TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> & {
9
+ error?: boolean;
10
+ tone?: "default" | "danger";
11
+ unstyled?: boolean;
12
+ } & React__default.RefAttributes<HTMLTextAreaElement>>;
13
+
14
+ export { type TextareaProps, Textarea as default };
@@ -0,0 +1,14 @@
1
+ import React__default from 'react';
2
+
3
+ type TextareaProps = Omit<React__default.TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> & {
4
+ error?: boolean;
5
+ tone?: "default" | "danger";
6
+ unstyled?: boolean;
7
+ };
8
+ declare const Textarea: React__default.ForwardRefExoticComponent<Omit<React__default.TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> & {
9
+ error?: boolean;
10
+ tone?: "default" | "danger";
11
+ unstyled?: boolean;
12
+ } & React__default.RefAttributes<HTMLTextAreaElement>>;
13
+
14
+ export { type TextareaProps, Textarea as default };
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ "use client";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var Textarea_exports = {};
31
+ __export(Textarea_exports, {
32
+ default: () => Textarea_default
33
+ });
34
+ module.exports = __toCommonJS(Textarea_exports);
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var import_react = __toESM(require("react"));
37
+ function cx(...a) {
38
+ return a.filter(Boolean).join(" ");
39
+ }
40
+ const baseControl = "w-full rounded-2xl border border-slate-200 bg-white px-3.5 py-2.5 text-sm text-slate-900 placeholder:text-slate-400 shadow-sm outline-none transition focus:ring-4 focus:ring-slate-900/5 focus: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:ring-white/10";
41
+ const errorControl = "border-blue-300 focus:border-blue-300 focus:ring-blue-500/15";
42
+ const Textarea = import_react.default.forwardRef(
43
+ ({ className, error, tone = "default", value, onChange, unstyled, rows = 3, ...props }, ref) => {
44
+ if (unstyled) {
45
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
46
+ "textarea",
47
+ {
48
+ ref,
49
+ value,
50
+ onChange,
51
+ className,
52
+ rows,
53
+ ...props
54
+ }
55
+ );
56
+ }
57
+ const readOnly = !onChange;
58
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
59
+ "textarea",
60
+ {
61
+ ref,
62
+ value,
63
+ onChange,
64
+ readOnly,
65
+ "aria-invalid": error ? true : void 0,
66
+ className: cx(
67
+ baseControl,
68
+ (error || tone === "danger") && errorControl,
69
+ className
70
+ ),
71
+ rows,
72
+ ...props
73
+ }
74
+ );
75
+ }
76
+ );
77
+ Textarea.displayName = "Textarea";
78
+ var Textarea_default = Textarea;
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import React from "react";
4
+ function cx(...a) {
5
+ return a.filter(Boolean).join(" ");
6
+ }
7
+ const baseControl = "w-full rounded-2xl border border-slate-200 bg-white px-3.5 py-2.5 text-sm text-slate-900 placeholder:text-slate-400 shadow-sm outline-none transition focus:ring-4 focus:ring-slate-900/5 focus: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:ring-white/10";
8
+ const errorControl = "border-blue-300 focus:border-blue-300 focus:ring-blue-500/15";
9
+ const Textarea = React.forwardRef(
10
+ ({ className, error, tone = "default", value, onChange, unstyled, rows = 3, ...props }, ref) => {
11
+ if (unstyled) {
12
+ return /* @__PURE__ */ jsx(
13
+ "textarea",
14
+ {
15
+ ref,
16
+ value,
17
+ onChange,
18
+ className,
19
+ rows,
20
+ ...props
21
+ }
22
+ );
23
+ }
24
+ const readOnly = !onChange;
25
+ return /* @__PURE__ */ jsx(
26
+ "textarea",
27
+ {
28
+ ref,
29
+ value,
30
+ onChange,
31
+ readOnly,
32
+ "aria-invalid": error ? true : void 0,
33
+ className: cx(
34
+ baseControl,
35
+ (error || tone === "danger") && errorControl,
36
+ className
37
+ ),
38
+ rows,
39
+ ...props
40
+ }
41
+ );
42
+ }
43
+ );
44
+ Textarea.displayName = "Textarea";
45
+ var Textarea_default = Textarea;
46
+ export {
47
+ Textarea_default as default
48
+ };
package/dist/index.d.mts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { default as Button } from './Button.mjs';
2
2
  export { default as ActionIconButton } from './ActionIconButton.mjs';
3
3
  export { default as Input, InputProps } from './Input.mjs';
4
+ export { default as Textarea, TextareaProps } from './Textarea.mjs';
4
5
  export { default as CheckboxPillsGroup, CheckboxPillsGroupProps, PillsOption } from './CheckboxPillsGroup.mjs';
5
6
  export { FilterGroup, default as FiltersMultiSelect, FiltersMultiSelectProps } from './FiltersMultiSelect.mjs';
6
7
  export { default as Select } from './Select.mjs';
@@ -36,6 +37,7 @@ export { default as Drawer } from './Drawer.mjs';
36
37
  export { default as Tooltip } from './Tooltip.mjs';
37
38
  export { default as Link } from './Link.mjs';
38
39
  export { ToastProvider, useToast } from './Toast.mjs';
40
+ export { default as StorageUsage, StorageUsageProps } from './StorageUsage.mjs';
39
41
  export { default as CalendarPanel, CalendarPanelProps } from './CalendarPanel.mjs';
40
42
  export { MonthPopover, default as TimePopover, WeekPopover } from './TimePopover.mjs';
41
43
  export { default as TimePanel } from './TimePanel.mjs';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { default as Button } from './Button.js';
2
2
  export { default as ActionIconButton } from './ActionIconButton.js';
3
3
  export { default as Input, InputProps } from './Input.js';
4
+ export { default as Textarea, TextareaProps } from './Textarea.js';
4
5
  export { default as CheckboxPillsGroup, CheckboxPillsGroupProps, PillsOption } from './CheckboxPillsGroup.js';
5
6
  export { FilterGroup, default as FiltersMultiSelect, FiltersMultiSelectProps } from './FiltersMultiSelect.js';
6
7
  export { default as Select } from './Select.js';
@@ -36,6 +37,7 @@ export { default as Drawer } from './Drawer.js';
36
37
  export { default as Tooltip } from './Tooltip.js';
37
38
  export { default as Link } from './Link.js';
38
39
  export { ToastProvider, useToast } from './Toast.js';
40
+ export { default as StorageUsage, StorageUsageProps } from './StorageUsage.js';
39
41
  export { default as CalendarPanel, CalendarPanelProps } from './CalendarPanel.js';
40
42
  export { MonthPopover, default as TimePopover, WeekPopover } from './TimePopover.js';
41
43
  export { default as TimePanel } from './TimePanel.js';
package/dist/index.js CHANGED
@@ -68,7 +68,9 @@ __export(index_exports, {
68
68
  StatCard: () => import_StatCard.default,
69
69
  Steps: () => import_Steps.default,
70
70
  StepsNav: () => import_Steps2.StepsNav,
71
+ StorageUsage: () => import_StorageUsage.default,
71
72
  Td: () => import_Table.Td,
73
+ Textarea: () => import_Textarea.default,
72
74
  Th: () => import_Table.Th,
73
75
  TimeAgo: () => import_TimeAgo.default,
74
76
  TimePanel: () => import_TimePanel.default,
@@ -84,6 +86,7 @@ module.exports = __toCommonJS(index_exports);
84
86
  var import_Button = __toESM(require("./Button"));
85
87
  var import_ActionIconButton = __toESM(require("./ActionIconButton"));
86
88
  var import_Input = __toESM(require("./Input"));
89
+ var import_Textarea = __toESM(require("./Textarea"));
87
90
  var import_CheckboxPillsGroup = __toESM(require("./CheckboxPillsGroup"));
88
91
  var import_FiltersMultiSelect = __toESM(require("./FiltersMultiSelect"));
89
92
  var import_Select = __toESM(require("./Select"));
@@ -122,6 +125,7 @@ var import_Drawer = __toESM(require("./Drawer"));
122
125
  var import_Tooltip = __toESM(require("./Tooltip"));
123
126
  var import_Link = __toESM(require("./Link"));
124
127
  var import_Toast = require("./Toast");
128
+ var import_StorageUsage = __toESM(require("./StorageUsage"));
125
129
  var import_CalendarPanel = __toESM(require("./CalendarPanel"));
126
130
  var import_TimePopover = __toESM(require("./TimePopover"));
127
131
  var import_TimePopover2 = require("./TimePopover");
@@ -171,7 +175,9 @@ __reExport(index_exports, require("./iconos"), module.exports);
171
175
  StatCard,
172
176
  Steps,
173
177
  StepsNav,
178
+ StorageUsage,
174
179
  Td,
180
+ Textarea,
175
181
  Th,
176
182
  TimeAgo,
177
183
  TimePanel,
package/dist/index.mjs CHANGED
@@ -1,101 +1,105 @@
1
1
  import { default as default2 } from "./Button";
2
2
  import { default as default3 } from "./ActionIconButton";
3
3
  import { default as default4 } from "./Input";
4
- import { default as default5 } from "./CheckboxPillsGroup";
5
- import { default as default6 } from "./FiltersMultiSelect";
6
- import { default as default7 } from "./Select";
7
- import { default as default8 } from "./ComboSelect";
8
- import { default as default9 } from "./ColumnSelector";
9
- import { default as default10 } from "./DateTimeField";
10
- import { default as default11 } from "./Dialog";
4
+ import { default as default5 } from "./Textarea";
5
+ import { default as default6 } from "./CheckboxPillsGroup";
6
+ import { default as default7 } from "./FiltersMultiSelect";
7
+ import { default as default8 } from "./Select";
8
+ import { default as default9 } from "./ComboSelect";
9
+ import { default as default10 } from "./ColumnSelector";
10
+ import { default as default11 } from "./DateTimeField";
11
+ import { default as default12 } from "./Dialog";
11
12
  export * from "./Dialog";
12
- import { default as default12 } from "./Dropdown";
13
+ import { default as default13 } from "./Dropdown";
13
14
  export * from "./Dropdown";
14
15
  import { Th, SortTh, Td } from "./Table";
15
- import { default as default13 } from "./Pagination";
16
- import { default as default14 } from "./InfoGrid";
17
- import { default as default15 } from "./ChartCard";
18
- import { default as default16 } from "./UploadCard";
19
- import { default as default17 } from "./MediaCard";
20
- import { default as default18 } from "./MediaSelector";
21
- import { default as default19 } from "./StatCard";
22
- import { default as default20 } from "./Badge";
23
- import { default as default21 } from "./BadgeCluster";
24
- import { default as default22 } from "./Breadcrumb";
25
- import { default as default23 } from "./EmptyState";
26
- import { default as default24 } from "./Money";
27
- import { default as default25 } from "./TimeAgo";
28
- import { default as default26 } from "./AvatarSquare";
29
- import { default as default27 } from "./AvatarGroup";
30
- import { default as default28 } from "./AppTopbar";
31
- import { default as default29 } from "./OrderButton";
32
- import { default as default30 } from "./SearchInput";
33
- import { default as default31 } from "./ReviewHistory";
16
+ import { default as default14 } from "./Pagination";
17
+ import { default as default15 } from "./InfoGrid";
18
+ import { default as default16 } from "./ChartCard";
19
+ import { default as default17 } from "./UploadCard";
20
+ import { default as default18 } from "./MediaCard";
21
+ import { default as default19 } from "./MediaSelector";
22
+ import { default as default20 } from "./StatCard";
23
+ import { default as default21 } from "./Badge";
24
+ import { default as default22 } from "./BadgeCluster";
25
+ import { default as default23 } from "./Breadcrumb";
26
+ import { default as default24 } from "./EmptyState";
27
+ import { default as default25 } from "./Money";
28
+ import { default as default26 } from "./TimeAgo";
29
+ import { default as default27 } from "./AvatarSquare";
30
+ import { default as default28 } from "./AvatarGroup";
31
+ import { default as default29 } from "./AppTopbar";
32
+ import { default as default30 } from "./OrderButton";
33
+ import { default as default31 } from "./SearchInput";
34
+ import { default as default32 } from "./ReviewHistory";
34
35
  import { ReviewHistoryDialog } from "./ReviewHistory";
35
- import { default as default32 } from "./MultiComboSelect";
36
- import { default as default33 } from "./Sidebar";
37
- import { default as default34 } from "./Card";
38
- import { default as default35 } from "./Drawer";
39
- import { default as default36 } from "./Tooltip";
40
- import { default as default37 } from "./Link";
36
+ import { default as default33 } from "./MultiComboSelect";
37
+ import { default as default34 } from "./Sidebar";
38
+ import { default as default35 } from "./Card";
39
+ import { default as default36 } from "./Drawer";
40
+ import { default as default37 } from "./Tooltip";
41
+ import { default as default38 } from "./Link";
41
42
  import { ToastProvider, useToast } from "./Toast";
42
- import { default as default38 } from "./CalendarPanel";
43
- import { default as default39 } from "./TimePopover";
43
+ import { default as default39 } from "./StorageUsage";
44
+ import { default as default40 } from "./CalendarPanel";
45
+ import { default as default41 } from "./TimePopover";
44
46
  import { WeekPopover, MonthPopover } from "./TimePopover";
45
- import { default as default40 } from "./TimePanel";
46
- import { default as default41 } from "./TimeRangeField";
47
- import { default as default42 } from "./Steps";
47
+ import { default as default42 } from "./TimePanel";
48
+ import { default as default43 } from "./TimeRangeField";
49
+ import { default as default44 } from "./Steps";
48
50
  import { StepsNav } from "./Steps";
49
51
  export * from "./iconos";
50
52
  export {
51
53
  default3 as ActionIconButton,
52
- default28 as AppTopbar,
53
- default27 as AvatarGroup,
54
- default26 as AvatarSquare,
55
- default20 as Badge,
56
- default21 as BadgeCluster,
57
- default22 as Breadcrumb,
54
+ default29 as AppTopbar,
55
+ default28 as AvatarGroup,
56
+ default27 as AvatarSquare,
57
+ default21 as Badge,
58
+ default22 as BadgeCluster,
59
+ default23 as Breadcrumb,
58
60
  default2 as Button,
59
- default38 as CalendarPanel,
60
- default34 as Card,
61
- default15 as ChartCard,
62
- default5 as CheckboxPillsGroup,
63
- default9 as ColumnSelector,
64
- default8 as ComboSelect,
65
- default10 as DateTimeField,
66
- default11 as Dialog,
67
- default35 as Drawer,
68
- default12 as Dropdown,
69
- default23 as EmptyState,
70
- default6 as FiltersMultiSelect,
71
- default14 as InfoGrid,
61
+ default40 as CalendarPanel,
62
+ default35 as Card,
63
+ default16 as ChartCard,
64
+ default6 as CheckboxPillsGroup,
65
+ default10 as ColumnSelector,
66
+ default9 as ComboSelect,
67
+ default11 as DateTimeField,
68
+ default12 as Dialog,
69
+ default36 as Drawer,
70
+ default13 as Dropdown,
71
+ default24 as EmptyState,
72
+ default7 as FiltersMultiSelect,
73
+ default15 as InfoGrid,
72
74
  default4 as Input,
73
- default37 as Link,
74
- default17 as MediaCard,
75
- default18 as MediaSelector,
76
- default24 as Money,
75
+ default38 as Link,
76
+ default18 as MediaCard,
77
+ default19 as MediaSelector,
78
+ default25 as Money,
77
79
  MonthPopover,
78
- default32 as MultiComboSelect,
79
- default29 as OrderButton,
80
- default13 as Pagination,
81
- default31 as ReviewHistory,
80
+ default33 as MultiComboSelect,
81
+ default30 as OrderButton,
82
+ default14 as Pagination,
83
+ default32 as ReviewHistory,
82
84
  ReviewHistoryDialog,
83
- default30 as SearchInput,
84
- default7 as Select,
85
- default33 as Sidebar,
85
+ default31 as SearchInput,
86
+ default8 as Select,
87
+ default34 as Sidebar,
86
88
  SortTh,
87
- default19 as StatCard,
88
- default42 as Steps,
89
+ default20 as StatCard,
90
+ default44 as Steps,
89
91
  StepsNav,
92
+ default39 as StorageUsage,
90
93
  Td,
94
+ default5 as Textarea,
91
95
  Th,
92
- default25 as TimeAgo,
93
- default40 as TimePanel,
94
- default39 as TimePopover,
95
- default41 as TimeRangeField,
96
+ default26 as TimeAgo,
97
+ default42 as TimePanel,
98
+ default41 as TimePopover,
99
+ default43 as TimeRangeField,
96
100
  ToastProvider,
97
- default36 as Tooltip,
98
- default16 as UploadCard,
101
+ default37 as Tooltip,
102
+ default17 as UploadCard,
99
103
  WeekPopover,
100
104
  useToast
101
105
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "framepexls-ui-lib",
3
- "version": "0.1.20",
3
+ "version": "0.1.22",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "description": "Componentes UI de Framepexls para React/Next.",