b44ui 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +9 -1
- package/dist/index.js +13 -2
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -27,6 +27,8 @@ type AppProps = DivProps & {
|
|
|
27
27
|
htScreen?: boolean;
|
|
28
28
|
};
|
|
29
29
|
type InputState = [string, React.Dispatch<React.SetStateAction<string>>];
|
|
30
|
+
type SelectValue = string | number;
|
|
31
|
+
type SelectState<T extends SelectValue = SelectValue> = [T, React.Dispatch<React.SetStateAction<T>>];
|
|
30
32
|
export declare const D: ({ children, cn, cnIgnoreWrongUsage, grow, gap, p, wd, ht, row, col, ratio, align, ...rest }: DivProps) => import("react/jsx-runtime").JSX.Element;
|
|
31
33
|
export declare const H1: ({ children, cn, cnIgnoreWrongUsage, grow, gap, p, wd, ht, row, col, ratio, align, ...rest }: HeadingProps) => import("react").DetailedReactHTMLElement<{
|
|
32
34
|
className: string;
|
|
@@ -1763,7 +1765,13 @@ export declare const Input: ({ state, cn, cnIgnoreWrongUsage, grow, gap, p, wd,
|
|
|
1763
1765
|
export declare const Textarea: ({ cn, cnIgnoreWrongUsage, ref, grow, gap, p, wd, ht, ...rest }: DProps & React.TextareaHTMLAttributes<HTMLTextAreaElement> & {
|
|
1764
1766
|
ref?: React.RefObject<HTMLTextAreaElement | null>;
|
|
1765
1767
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
1766
|
-
export declare const Select: ({ cn, cnIgnoreWrongUsage, grow, gap, p, wd, ht, ...rest }: DProps & React.SelectHTMLAttributes<HTMLSelectElement
|
|
1768
|
+
export declare const Select: <T extends SelectValue>({ state, options, title, cn, cnIgnoreWrongUsage, grow, gap, p, wd, ht, onChange, children, ...rest }: DProps & Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "value" | "defaultValue" | "title"> & {
|
|
1769
|
+
state?: SelectState<T>;
|
|
1770
|
+
options?: Record<string, T>;
|
|
1771
|
+
title?: string;
|
|
1772
|
+
value?: T;
|
|
1773
|
+
defaultValue?: T;
|
|
1774
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
1767
1775
|
export declare const Grid: ({ children, cols, gap, ...rest }: DivProps & {
|
|
1768
1776
|
cols?: number;
|
|
1769
1777
|
}) => import("react/jsx-runtime").JSX.Element;
|
package/dist/index.js
CHANGED
|
@@ -129,9 +129,20 @@ export const Textarea = ({ cn, cnIgnoreWrongUsage, ref, grow, gap, p, wd, ht, ..
|
|
|
129
129
|
const c = rcn({ cn, cnIgnoreWrongUsage, className: rest.className });
|
|
130
130
|
return _jsx("textarea", { ref: ref, ...rest, className: CN('rounded bg-zinc-800 border border-zinc-700 px-3 py-2 text-sm outline-none w-full', growCn(grow), c), style: dStyle({ gap, p, wd, ht, style: rest.style }) });
|
|
131
131
|
};
|
|
132
|
-
export const Select = ({ cn, cnIgnoreWrongUsage, grow, gap, p, wd, ht, ...rest }) => {
|
|
132
|
+
export const Select = ({ state, options, title, cn, cnIgnoreWrongUsage, grow, gap, p, wd, ht, onChange, children, ...rest }) => {
|
|
133
133
|
const c = rcn({ cn, cnIgnoreWrongUsage, className: rest.className });
|
|
134
|
-
|
|
134
|
+
const entries = options ? Object.entries(options) : undefined;
|
|
135
|
+
return _jsxs("select", { ...rest, className: CN('rounded bg-zinc-800 border border-zinc-700 px-3 py-2 text-sm outline-none cursor-pointer', growCn(grow), c), style: dStyle({ gap, p, wd, ht, style: rest.style }), value: state ? state[0] : rest.value, defaultValue: rest.defaultValue, onChange: e => {
|
|
136
|
+
if (title && e.target.value === '') {
|
|
137
|
+
onChange?.(e);
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const value = entries?.find(([, value]) => String(value) === e.target.value)?.[1] ?? e.target.value;
|
|
141
|
+
state?.[1](value);
|
|
142
|
+
onChange?.(e);
|
|
143
|
+
}, children: [title && _jsx("option", { value: '', children: title }), entries
|
|
144
|
+
? entries.map(([label, value]) => _jsx("option", { value: value, children: label }, `${label}:${value}`))
|
|
145
|
+
: children] });
|
|
135
146
|
};
|
|
136
147
|
export const Grid = ({ children, cols, gap, ...rest }) => _jsx(D, { ...rest, cn: CN('grid ui-grid', rcn(rest)), gap: gap ?? 4, style: { ['--cols']: cols ?? Children.count(children), ...rest.style }, children: children });
|
|
137
148
|
export const Scroll = ({ grow = true, ...rest }) => _jsx(D, { ...rest, cn: CN('min-h-0 overflow-y-auto', rcn(rest)), grow: grow });
|