This commit is contained in:
2026-04-06 18:07:39 +02:00
parent 294547fc56
commit 071a215393
80 changed files with 593 additions and 2085 deletions

View File

@@ -1,5 +1,5 @@
// components/Accordion.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { ui, val } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Alert.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { ui, getIcon } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Autocomplete.js
import { $, Tag, For } from "../sigpro.js";
// import { $, Tag, For } from "../sigpro.js";
import { val } from "../core/utils.js";
import { tt } from "../core/i18n.js";
import { Input } from "./Input.js";
@@ -15,7 +15,7 @@ import { Input } from "./Input.js";
* - z-50, active, bg-primary, text-primary-content
*/
export const Autocomplete = (props) => {
const { class: className, items = [], value, onSelect, label, placeholder, ...rest } = props;
const { class: className, items = [], value, onselect, label, placeholder, ...rest } = props;
const query = $(val(value) || "");
const isOpen = $(false);
@@ -35,7 +35,7 @@ export const Autocomplete = (props) => {
query(labelStr);
if (typeof value === "function") value(valStr);
onSelect?.(opt);
onselect?.(opt);
isOpen(false);
cursor(-1);

View File

@@ -1,5 +1,5 @@
// components/Badge.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Button.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { ui, val, getIcon } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Checkbox.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { val, ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Colorpicker.js
import { $, Tag, If } from "../sigpro.js";
// import { $, Tag, If } from "../sigpro.js";
import { val, ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Datepicker.js
import { $, Tag, If } from "../sigpro.js";
// import { $, Tag, If } from "../sigpro.js";
import { val, ui, getIcon } from "../core/utils.js";
import { Input } from "./Input.js";

View File

@@ -1,5 +1,5 @@
// components/Drawer.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Fab.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { val, ui, getIcon } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Fieldset.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { val, ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Fileinput.js
import { $, Tag, If, For } from "../sigpro.js";
// import { $, Tag, If, For } from "../sigpro.js";
import { ui, getIcon } from "../core/utils.js";
/**
@@ -20,7 +20,7 @@ import { ui, getIcon } from "../core/utils.js";
* - btn, btn-ghost, btn-xs, btn-circle
*/
export const Fileinput = (props) => {
const { class: className, tooltip, max = 2, accept = "*", onSelect, ...rest } = props;
const { class: className, tooltip, max = 2, accept = "*", onselect, ...rest } = props;
const selectedFiles = $([]);
const isDragging = $(false);
@@ -38,13 +38,13 @@ export const Fileinput = (props) => {
}
selectedFiles([...selectedFiles(), ...fileList]);
onSelect?.(selectedFiles());
onselect?.(selectedFiles());
};
const removeFile = (index) => {
const updated = selectedFiles().filter((_, i) => i !== index);
selectedFiles(updated);
onSelect?.(updated);
onselect?.(updated);
};
return Tag("fieldset", { ...rest, class: ui('fieldset w-full p-0', className) }, [

View File

@@ -1,5 +1,5 @@
// components/Indicator.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Input.js
import { $, Tag, Watch } from "../sigpro.js";
// import { $, Tag, Watch } from "../sigpro.js";
import { val, ui, getIcon } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Label.js
import { $, Tag } from "../sigpro.js";
// import { $, Tag } from "../sigpro.js";
import { ui, val } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/List.js
import { Tag, If, For } from "../sigpro.js";
// import { Tag, If, For } from "../sigpro.js";
import { ui, val } from "../core/utils.js";
/**
@@ -12,16 +12,22 @@ import { ui, val } from "../core/utils.js";
* - flex, items-center, gap-2
*/
export const List = (props) => {
const { class: className, items, header, render, keyFn = (item, index) => item.id ?? index, ...rest } = props;
const { class: className, items, header, render = (item) => item, keyFn = (item, index) => item.id ?? index, ...rest } = props;
const listItems = For(
items,
(item, index) => Tag("li", { class: "list-row" }, [render(item, index)]),
(item, index) => Tag("li", {
class: "list-row",
style: "width: 100%; display: block;"
}, [
Tag("div", { style: "width: 100%;" }, [render(item, index)])
]),
keyFn
);
return Tag("ul", {
...rest,
style: "display: block; width: 100%;",
class: ui('list bg-base-100 rounded-box shadow-md', className),
}, header ? [If(header, () => Tag("li", { class: "p-4 pb-2 text-xs opacity-60" }, [val(header)])), listItems] : listItems);
}, header ? [If(header, () => Tag("li", { class: "p-4 pb-2 text-xs opacity-60", style: "width: 100%;" }, [val(header)])), listItems] : listItems);
};

View File

@@ -1,5 +1,5 @@
// components/Menu.js
import { Tag, For } from "../sigpro.js";
// import { Tag, For } from "../sigpro.js";
import { val, ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Modal.js
import { Tag, Watch } from "../sigpro.js";
// import { Tag, Watch } from "../sigpro.js";
import { ui } from "../core/utils.js";
import { tt } from "../core/i18n.js";
import { Button } from "./Button.js";

View File

@@ -1,5 +1,5 @@
// components/Navbar.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Radio.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { val, ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Range.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { val, ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Rating.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { val, ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Select.js
import { Tag, For } from "../sigpro.js";
// import { Tag, For } from "../sigpro.js";
import { val, ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Stack.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Stat.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { val, ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Swap.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { ui, val } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Table.js
import { Tag, For, If } from "../sigpro.js";
// import { Tag, For, If } from "../sigpro.js";
import { val, ui } from "../core/utils.js";
import { tt } from "../core/i18n.js";

View File

@@ -1,5 +1,5 @@
// components/Tabs.js
import { $, Tag, For } from "../sigpro.js";
// import { $, Tag, For } from "../sigpro.js";
import { val, ui } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Timeline.js
import { Tag, For } from "../sigpro.js";
// import { Tag, For } from "../sigpro.js";
import { val, ui, getIcon } from "../core/utils.js";
/**

View File

@@ -1,5 +1,5 @@
// components/Toast.js
import { Tag, Mount } from "../sigpro.js";
// import { Tag, Mount } from "../sigpro.js";
import { getIcon } from "../core/utils.js";
import { Button } from "./Button.js";

View File

@@ -1,5 +1,5 @@
// components/Tooltip.js
import { Tag } from "../sigpro.js";
// import { Tag } from "../sigpro.js";
import { ui } from "../core/utils.js";
/**