framepexls-ui-lib 0.3.16 → 0.3.17

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.
@@ -0,0 +1,20 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import Button from './Button.mjs';
4
+
5
+ type ButtonColor = NonNullable<React__default.ComponentProps<typeof Button>["color"]>;
6
+ type SegmentedTabOption = {
7
+ value: string;
8
+ label: React__default.ReactNode;
9
+ };
10
+ type SegmentedTabsProps = {
11
+ value: string;
12
+ options: SegmentedTabOption[];
13
+ onChange: (value: string) => void;
14
+ color?: ButtonColor;
15
+ size?: "sm" | "md";
16
+ className?: string;
17
+ };
18
+ declare function SegmentedTabs({ value, options, onChange, color, size, className, }: SegmentedTabsProps): react_jsx_runtime.JSX.Element;
19
+
20
+ export { type SegmentedTabOption, type SegmentedTabsProps, SegmentedTabs as default };
@@ -0,0 +1,20 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import Button from './Button.js';
4
+
5
+ type ButtonColor = NonNullable<React__default.ComponentProps<typeof Button>["color"]>;
6
+ type SegmentedTabOption = {
7
+ value: string;
8
+ label: React__default.ReactNode;
9
+ };
10
+ type SegmentedTabsProps = {
11
+ value: string;
12
+ options: SegmentedTabOption[];
13
+ onChange: (value: string) => void;
14
+ color?: ButtonColor;
15
+ size?: "sm" | "md";
16
+ className?: string;
17
+ };
18
+ declare function SegmentedTabs({ value, options, onChange, color, size, className, }: SegmentedTabsProps): react_jsx_runtime.JSX.Element;
19
+
20
+ export { type SegmentedTabOption, type SegmentedTabsProps, SegmentedTabs as default };
@@ -0,0 +1,73 @@
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 SegmentedTabs_exports = {};
31
+ __export(SegmentedTabs_exports, {
32
+ default: () => SegmentedTabs
33
+ });
34
+ module.exports = __toCommonJS(SegmentedTabs_exports);
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var import_Button = __toESM(require("./Button"));
37
+ function SegmentedTabs({
38
+ value,
39
+ options,
40
+ onChange,
41
+ color = "rose",
42
+ size = "md",
43
+ className
44
+ }) {
45
+ const btnSize = size === "sm" ? "xs" : "sm";
46
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
47
+ "div",
48
+ {
49
+ className: [
50
+ "inline-flex rounded-2xl border border-slate-200 bg-slate-50 p-1.5 text-sm",
51
+ "dark:border-white/10 dark:bg-white/5",
52
+ className != null ? className : ""
53
+ ].join(" "),
54
+ children: options.map((opt) => {
55
+ const active = value === opt.value;
56
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
57
+ import_Button.default,
58
+ {
59
+ size: btnSize,
60
+ variant: active ? "primary" : "ghost",
61
+ color,
62
+ className: "px-4 rounded-xl",
63
+ onClick: () => {
64
+ if (opt.value !== value) onChange(opt.value);
65
+ },
66
+ children: opt.label
67
+ },
68
+ opt.value
69
+ );
70
+ })
71
+ }
72
+ );
73
+ }
@@ -0,0 +1,43 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import Button from "./Button";
4
+ function SegmentedTabs({
5
+ value,
6
+ options,
7
+ onChange,
8
+ color = "rose",
9
+ size = "md",
10
+ className
11
+ }) {
12
+ const btnSize = size === "sm" ? "xs" : "sm";
13
+ return /* @__PURE__ */ jsx(
14
+ "div",
15
+ {
16
+ className: [
17
+ "inline-flex rounded-2xl border border-slate-200 bg-slate-50 p-1.5 text-sm",
18
+ "dark:border-white/10 dark:bg-white/5",
19
+ className != null ? className : ""
20
+ ].join(" "),
21
+ children: options.map((opt) => {
22
+ const active = value === opt.value;
23
+ return /* @__PURE__ */ jsx(
24
+ Button,
25
+ {
26
+ size: btnSize,
27
+ variant: active ? "primary" : "ghost",
28
+ color,
29
+ className: "px-4 rounded-xl",
30
+ onClick: () => {
31
+ if (opt.value !== value) onChange(opt.value);
32
+ },
33
+ children: opt.label
34
+ },
35
+ opt.value
36
+ );
37
+ })
38
+ }
39
+ );
40
+ }
41
+ export {
42
+ SegmentedTabs as default
43
+ };
package/dist/index.d.mts CHANGED
@@ -46,6 +46,7 @@ export { default as Link } from './Link.mjs';
46
46
  export { ToastProvider, useToast } from './Toast.mjs';
47
47
  export { default as StorageUsage, StorageUsageProps } from './StorageUsage.mjs';
48
48
  export { default as FileButton, FileButtonProps } from './FileButton.mjs';
49
+ export { SegmentedTabOption, default as SegmentedTabs, SegmentedTabsProps } from './SegmentedTabs.mjs';
49
50
  export { a as Animations } from './animations-CHrNeawW.mjs';
50
51
  export { default as MotionProvider } from './MotionProvider.mjs';
51
52
  export { default as CalendarPanel, CalendarPanelProps } from './CalendarPanel.mjs';
package/dist/index.d.ts CHANGED
@@ -46,6 +46,7 @@ export { default as Link } from './Link.js';
46
46
  export { ToastProvider, useToast } from './Toast.js';
47
47
  export { default as StorageUsage, StorageUsageProps } from './StorageUsage.js';
48
48
  export { default as FileButton, FileButtonProps } from './FileButton.js';
49
+ export { SegmentedTabOption, default as SegmentedTabs, SegmentedTabsProps } from './SegmentedTabs.js';
49
50
  export { a as Animations } from './animations-CHrNeawW.js';
50
51
  export { default as MotionProvider } from './MotionProvider.js';
51
52
  export { default as CalendarPanel, CalendarPanelProps } from './CalendarPanel.js';
package/dist/index.js CHANGED
@@ -74,6 +74,7 @@ __export(index_exports, {
74
74
  ReviewHistory: () => import_ReviewHistory.default,
75
75
  ReviewHistoryDialog: () => import_ReviewHistory2.ReviewHistoryDialog,
76
76
  SearchInput: () => import_SearchInput.default,
77
+ SegmentedTabs: () => import_SegmentedTabs.default,
77
78
  Select: () => import_Select.default,
78
79
  Sidebar: () => import_Sidebar.default,
79
80
  Skeleton: () => import_Skeleton.default,
@@ -152,6 +153,7 @@ var import_Link = __toESM(require("./Link"));
152
153
  var import_Toast = require("./Toast");
153
154
  var import_StorageUsage = __toESM(require("./StorageUsage"));
154
155
  var import_FileButton = __toESM(require("./FileButton"));
156
+ var import_SegmentedTabs = __toESM(require("./SegmentedTabs"));
155
157
  var Animations = __toESM(require("./animations"));
156
158
  var import_MotionProvider = __toESM(require("./MotionProvider"));
157
159
  var import_CalendarPanel = __toESM(require("./CalendarPanel"));
@@ -213,6 +215,7 @@ var import_ThemeToggle = __toESM(require("./theme/ThemeToggle"));
213
215
  ReviewHistory,
214
216
  ReviewHistoryDialog,
215
217
  SearchInput,
218
+ SegmentedTabs,
216
219
  Select,
217
220
  Sidebar,
218
221
  Skeleton,
package/dist/index.mjs CHANGED
@@ -49,20 +49,21 @@ import { default as default44 } from "./Link";
49
49
  import { ToastProvider, useToast } from "./Toast";
50
50
  import { default as default45 } from "./StorageUsage";
51
51
  import { default as default46 } from "./FileButton";
52
+ import { default as default47 } from "./SegmentedTabs";
52
53
  import * as Animations from "./animations";
53
- import { default as default47 } from "./MotionProvider";
54
- import { default as default48 } from "./CalendarPanel";
55
- import { default as default49 } from "./TimePopover";
54
+ import { default as default48 } from "./MotionProvider";
55
+ import { default as default49 } from "./CalendarPanel";
56
+ import { default as default50 } from "./TimePopover";
56
57
  import { WeekPopover, MonthPopover } from "./TimePopover";
57
- import { default as default50 } from "./TimePanel";
58
- import { default as default51 } from "./TimeRangeField";
59
- import { default as default52 } from "./Steps";
58
+ import { default as default51 } from "./TimePanel";
59
+ import { default as default52 } from "./TimeRangeField";
60
+ import { default as default53 } from "./Steps";
60
61
  import { StepsNav } from "./Steps";
61
62
  export * from "./iconos";
62
- import { default as default53 } from "./ColorPicker";
63
- import { default as default54, useTheme } from "./theme/ThemeProvider";
64
- import { default as default55 } from "./theme/ThemeScript";
65
- import { default as default56 } from "./theme/ThemeToggle";
63
+ import { default as default54 } from "./ColorPicker";
64
+ import { default as default55, useTheme } from "./theme/ThemeProvider";
65
+ import { default as default56 } from "./theme/ThemeScript";
66
+ import { default as default57 } from "./theme/ThemeToggle";
66
67
  export {
67
68
  default3 as ActionIconButton,
68
69
  AnimatedBody,
@@ -74,12 +75,12 @@ export {
74
75
  default28 as BadgeCluster,
75
76
  default29 as Breadcrumb,
76
77
  default2 as Button,
77
- default48 as CalendarPanel,
78
+ default49 as CalendarPanel,
78
79
  default41 as Card,
79
80
  default17 as ChartCard,
80
81
  default6 as Checkbox,
81
82
  default7 as CheckboxPillsGroup,
82
- default53 as ColorPicker,
83
+ default54 as ColorPicker,
83
84
  default11 as ColumnSelector,
84
85
  default10 as ComboSelect,
85
86
  CtrHorizontalBar,
@@ -100,7 +101,7 @@ export {
100
101
  default22 as MediaTile,
101
102
  default31 as Money,
102
103
  MonthPopover,
103
- default47 as MotionProvider,
104
+ default48 as MotionProvider,
104
105
  default39 as MultiComboSelect,
105
106
  default36 as OrderButton,
106
107
  default15 as Pagination,
@@ -109,24 +110,25 @@ export {
109
110
  default38 as ReviewHistory,
110
111
  ReviewHistoryDialog,
111
112
  default37 as SearchInput,
113
+ default47 as SegmentedTabs,
112
114
  default9 as Select,
113
115
  default40 as Sidebar,
114
116
  default23 as Skeleton,
115
117
  SortTh,
116
118
  default25 as StatCard,
117
- default52 as Steps,
119
+ default53 as Steps,
118
120
  StepsNav,
119
121
  default45 as StorageUsage,
120
122
  Td,
121
123
  default5 as Textarea,
122
124
  Th,
123
- default54 as ThemeProvider,
124
- default55 as ThemeScript,
125
- default56 as ThemeToggle,
125
+ default55 as ThemeProvider,
126
+ default56 as ThemeScript,
127
+ default57 as ThemeToggle,
126
128
  default32 as TimeAgo,
127
- default50 as TimePanel,
128
- default49 as TimePopover,
129
- default51 as TimeRangeField,
129
+ default51 as TimePanel,
130
+ default50 as TimePopover,
131
+ default52 as TimeRangeField,
130
132
  ToastProvider,
131
133
  default43 as Tooltip,
132
134
  TopImpresionesBar,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "framepexls-ui-lib",
3
- "version": "0.3.16",
3
+ "version": "0.3.17",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "description": "Componentes UI de Framepexls para React/Next.",