@axzydev/axzy_ui_system 1.2.16 → 1.3.1
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.cjs +3349 -1457
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.cts +719 -54
- package/dist/index.d.ts +719 -54
- package/dist/index.js +3283 -1387
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/App.tsx +32 -0
- package/src/components/atoms/badget/badget.tsx +2 -4
- package/src/components/atoms/chip/chip.doc.mdx +47 -0
- package/src/components/atoms/chip/chip.props.ts +32 -0
- package/src/components/atoms/chip/chip.stories.tsx +64 -0
- package/src/components/atoms/chip/chip.tsx +112 -0
- package/src/components/atoms/grid/grid.tsx +1 -2
- package/src/components/molecules/accordion/accordion.doc.mdx +47 -0
- package/src/components/molecules/accordion/accordion.props.ts +35 -0
- package/src/components/molecules/accordion/accordion.stories.tsx +68 -0
- package/src/components/molecules/accordion/accordion.tsx +123 -0
- package/src/components/molecules/calendar/calendar.doc.mdx +2 -1
- package/src/components/molecules/calendar/calendar.tsx +102 -24
- package/src/components/molecules/chip-input/chip-input.doc.mdx +44 -0
- package/src/components/molecules/chip-input/chip-input.props.ts +42 -0
- package/src/components/molecules/chip-input/chip-input.stories.tsx +52 -0
- package/src/components/molecules/chip-input/chip-input.tsx +205 -0
- package/src/components/molecules/date-picker/datePicker.tsx +45 -56
- package/src/components/molecules/dropdown-menu/dropdown-menu.doc.mdx +46 -0
- package/src/components/molecules/dropdown-menu/dropdown-menu.props.ts +41 -0
- package/src/components/molecules/dropdown-menu/dropdown-menu.stories.tsx +41 -0
- package/src/components/molecules/dropdown-menu/dropdown-menu.tsx +219 -0
- package/src/components/molecules/field/field.doc.mdx +43 -0
- package/src/components/molecules/field/field.props.ts +23 -0
- package/src/components/molecules/field/field.stories.tsx +42 -0
- package/src/components/molecules/field/field.tsx +54 -0
- package/src/components/molecules/masked-input/masked-input.doc.mdx +78 -0
- package/src/components/molecules/masked-input/masked-input.props.ts +58 -0
- package/src/components/molecules/masked-input/masked-input.stories.tsx +126 -0
- package/src/components/molecules/masked-input/masked-input.tsx +244 -0
- package/src/components/molecules/multi-select/multi-select.doc.mdx +55 -0
- package/src/components/molecules/multi-select/multi-select.props.ts +65 -0
- package/src/components/molecules/multi-select/multi-select.stories.tsx +59 -0
- package/src/components/molecules/multi-select/multi-select.tsx +386 -0
- package/src/components/molecules/search-select/search-select.doc.mdx +5 -0
- package/src/components/molecules/search-select/search-select.props.ts +10 -1
- package/src/components/molecules/search-select/search-select.stories.tsx +18 -0
- package/src/components/molecules/search-select/search-select.tsx +102 -28
- package/src/components/molecules/time-picker/timePicker.tsx +14 -26
- package/src/components/molecules/wysiwyg/wysiwyg.props.ts +51 -0
- package/src/components/molecules/wysiwyg/wysiwyg.stories.tsx +95 -0
- package/src/components/molecules/wysiwyg/wysiwyg.tsx +609 -0
- package/src/components/organisms/form-builder/fieldRenderer.tsx +144 -27
- package/src/components/organisms/form-builder/formBuilder.context.tsx +77 -15
- package/src/components/organisms/form-builder/formBuilder.doc.mdx +213 -86
- package/src/components/organisms/form-builder/formBuilder.props.ts +118 -36
- package/src/components/organisms/form-builder/formBuilder.stories.tsx +694 -96
- package/src/components/organisms/form-builder/formBuilder.tsx +152 -69
- package/src/components/organisms/form-builder/useFormBuilder.ts +59 -21
- package/src/hooks/useFloatingPanel.ts +100 -0
- package/src/index.ts +26 -4
- package/src/showcases/DataShowcases.tsx +76 -0
- package/src/showcases/FormShowcases.tsx +574 -10
- package/src/showcases/HomeShowcase.tsx +6 -6
- package/src/showcases/NavigationShowcases.tsx +72 -2
- package/src/showcases/StructureShowcases.tsx +64 -0
- package/src/types/chip.types.ts +13 -0
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
ITInput,
|
|
9
9
|
ITSelect,
|
|
10
10
|
ITSlideToggle,
|
|
11
|
+
ITChip,
|
|
11
12
|
ITDataTableFetchParams,
|
|
12
13
|
ITDataTableResponse
|
|
13
14
|
} from "../index";
|
|
@@ -738,3 +739,78 @@ export const ImageShowcase = () => {
|
|
|
738
739
|
/>
|
|
739
740
|
);
|
|
740
741
|
};
|
|
742
|
+
|
|
743
|
+
// ITChip Showcase
|
|
744
|
+
export const ChipShowcase = () => {
|
|
745
|
+
const [active, setActive] = useState<string[]>(["mx"]);
|
|
746
|
+
|
|
747
|
+
const toggle = (id: string) =>
|
|
748
|
+
setActive((prev) => (prev.includes(id) ? prev.filter((x) => x !== id) : [...prev, id]));
|
|
749
|
+
|
|
750
|
+
const filters = [
|
|
751
|
+
{ id: "mx", label: "México" },
|
|
752
|
+
{ id: "es", label: "España" },
|
|
753
|
+
{ id: "co", label: "Colombia" },
|
|
754
|
+
];
|
|
755
|
+
|
|
756
|
+
const code = `<ITChip\n label="React"\n color="primary"\n variant="soft"\n removable\n onRemove={() => remove()}\n/>`;
|
|
757
|
+
|
|
758
|
+
return (
|
|
759
|
+
<ShowcaseLayout
|
|
760
|
+
title="ITChip"
|
|
761
|
+
description="Etiqueta compacta (tag / pill) para labels, filtros activos y selecciones múltiples. Variantes soft, filled y outlined, icono, botón de quitar (X) y estado seleccionado."
|
|
762
|
+
code={code}
|
|
763
|
+
demo={
|
|
764
|
+
<div className="w-full max-w-lg space-y-5">
|
|
765
|
+
<div className="flex flex-wrap items-center gap-2">
|
|
766
|
+
<ITChip label="Soft" variant="soft" color="primary" />
|
|
767
|
+
<ITChip label="Filled" variant="filled" color="success" />
|
|
768
|
+
<ITChip label="Outlined" variant="outlined" color="purple" />
|
|
769
|
+
</div>
|
|
770
|
+
<div className="flex flex-wrap items-center gap-2">
|
|
771
|
+
{filters.map((f) => (
|
|
772
|
+
<ITChip
|
|
773
|
+
key={f.id}
|
|
774
|
+
label={f.label}
|
|
775
|
+
color="primary"
|
|
776
|
+
selected={active.includes(f.id)}
|
|
777
|
+
onClick={() => toggle(f.id)}
|
|
778
|
+
/>
|
|
779
|
+
))}
|
|
780
|
+
</div>
|
|
781
|
+
<div className="flex flex-wrap items-center gap-2">
|
|
782
|
+
<ITChip label="México" color="danger" variant="outlined" removable onRemove={() => {}} />
|
|
783
|
+
<ITChip label="Deshabilitado" color="secondary" disabled />
|
|
784
|
+
</div>
|
|
785
|
+
</div>
|
|
786
|
+
}
|
|
787
|
+
controls={
|
|
788
|
+
<p className="text-xs text-slate-500">
|
|
789
|
+
Los chips con onClick son toggles de filtro (role=button, Enter/Space). Los chips removibles muestran una X.
|
|
790
|
+
</p>
|
|
791
|
+
}
|
|
792
|
+
doc={{
|
|
793
|
+
summary: "Etiqueta/pill para labels, filtros y multi-valor, con variantes y estados.",
|
|
794
|
+
examples: [
|
|
795
|
+
'<ITChip label="React" color="primary" />',
|
|
796
|
+
'<ITChip label="México" color="success" variant="outlined" removable onRemove={remove} />',
|
|
797
|
+
'<ITChip label="Activos" selected onClick={toggle} />',
|
|
798
|
+
],
|
|
799
|
+
props: [
|
|
800
|
+
{ name: "label", type: "string", description: "Texto del chip." },
|
|
801
|
+
{ name: "children", type: "ReactNode", description: "Contenido custom (sobreescribe label)." },
|
|
802
|
+
{ name: "color", type: "ColorsTypes", default: '"secondary"', description: "Color de la paleta." },
|
|
803
|
+
{ name: "size", type: '"sm" | "md" | "lg"', default: '"md"', description: "Tamaño." },
|
|
804
|
+
{ name: "variant", type: '"soft" | "filled" | "outlined"', default: '"soft"', description: "Estilo visual." },
|
|
805
|
+
{ name: "icon", type: "ReactNode", description: "Icono a la izquierda." },
|
|
806
|
+
{ name: "removable", type: "boolean", default: "false", description: "Muestra botón (X)." },
|
|
807
|
+
{ name: "onRemove", type: "() => void", description: "Se dispara al quitar." },
|
|
808
|
+
{ name: "onClick", type: "() => void", description: "Hace el chip clickeable." },
|
|
809
|
+
{ name: "selected", type: "boolean", default: "false", description: "Estado seleccionado." },
|
|
810
|
+
{ name: "disabled", type: "boolean", default: "false", description: "Deshabilitado." },
|
|
811
|
+
],
|
|
812
|
+
notes: ["Colores desde theme.colors: respetan tema y modo oscuro."],
|
|
813
|
+
}}
|
|
814
|
+
/>
|
|
815
|
+
);
|
|
816
|
+
};
|