Update new functions
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// components/Fileinput.js
|
||||
import { $, $html, $if, $for } from "../sigpro.js";
|
||||
import { $, Tag, If, For } from "../sigpro.js";
|
||||
import { ui, getIcon } from "../core/utils.js";
|
||||
|
||||
/**
|
||||
@@ -47,15 +47,15 @@ export const Fileinput = (props) => {
|
||||
onSelect?.(updated);
|
||||
};
|
||||
|
||||
return $html("fieldset", { ...rest, class: ui('fieldset w-full p-0', className) }, [
|
||||
$html(
|
||||
return Tag("fieldset", { ...rest, class: ui('fieldset w-full p-0', className) }, [
|
||||
Tag(
|
||||
"div",
|
||||
{
|
||||
class: () => `w-full ${tooltip ? "tooltip tooltip-top before:z-50 after:z-50" : ""}`,
|
||||
"data-tip": tooltip,
|
||||
},
|
||||
[
|
||||
$html(
|
||||
Tag(
|
||||
"label",
|
||||
{
|
||||
class: () => `
|
||||
@@ -76,12 +76,12 @@ export const Fileinput = (props) => {
|
||||
},
|
||||
},
|
||||
[
|
||||
$html("div", { class: "flex items-center gap-3 w-full" }, [
|
||||
Tag("div", { class: "flex items-center gap-3 w-full" }, [
|
||||
getIcon("icon-[lucide--upload]"),
|
||||
$html("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."),
|
||||
$html("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${max}MB`),
|
||||
Tag("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."),
|
||||
Tag("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${max}MB`),
|
||||
]),
|
||||
$html("input", {
|
||||
Tag("input", {
|
||||
type: "file",
|
||||
multiple: true,
|
||||
accept: accept,
|
||||
@@ -93,22 +93,22 @@ export const Fileinput = (props) => {
|
||||
],
|
||||
),
|
||||
|
||||
() => (error() ? $html("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()) : null),
|
||||
() => (error() ? Tag("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()) : null),
|
||||
|
||||
$if(
|
||||
If(
|
||||
() => selectedFiles().length > 0,
|
||||
() =>
|
||||
$html("ul", { class: "mt-2 space-y-1" }, [
|
||||
$for(
|
||||
Tag("ul", { class: "mt-2 space-y-1" }, [
|
||||
For(
|
||||
selectedFiles,
|
||||
(file, index) =>
|
||||
$html("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [
|
||||
$html("div", { class: "flex items-center gap-2 truncate" }, [
|
||||
$html("span", { class: "opacity-50" }, "📄"),
|
||||
$html("span", { class: "truncate font-medium max-w-[200px]" }, file.name),
|
||||
$html("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`),
|
||||
Tag("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [
|
||||
Tag("div", { class: "flex items-center gap-2 truncate" }, [
|
||||
Tag("span", { class: "opacity-50" }, "📄"),
|
||||
Tag("span", { class: "truncate font-medium max-w-[200px]" }, file.name),
|
||||
Tag("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`),
|
||||
]),
|
||||
$html(
|
||||
Tag(
|
||||
"button",
|
||||
{
|
||||
type: "button",
|
||||
|
||||
Reference in New Issue
Block a user