@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.
Files changed (65) hide show
  1. package/dist/index.cjs +3349 -1457
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.d.cts +719 -54
  5. package/dist/index.d.ts +719 -54
  6. package/dist/index.js +3283 -1387
  7. package/dist/index.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/App.tsx +32 -0
  10. package/src/components/atoms/badget/badget.tsx +2 -4
  11. package/src/components/atoms/chip/chip.doc.mdx +47 -0
  12. package/src/components/atoms/chip/chip.props.ts +32 -0
  13. package/src/components/atoms/chip/chip.stories.tsx +64 -0
  14. package/src/components/atoms/chip/chip.tsx +112 -0
  15. package/src/components/atoms/grid/grid.tsx +1 -2
  16. package/src/components/molecules/accordion/accordion.doc.mdx +47 -0
  17. package/src/components/molecules/accordion/accordion.props.ts +35 -0
  18. package/src/components/molecules/accordion/accordion.stories.tsx +68 -0
  19. package/src/components/molecules/accordion/accordion.tsx +123 -0
  20. package/src/components/molecules/calendar/calendar.doc.mdx +2 -1
  21. package/src/components/molecules/calendar/calendar.tsx +102 -24
  22. package/src/components/molecules/chip-input/chip-input.doc.mdx +44 -0
  23. package/src/components/molecules/chip-input/chip-input.props.ts +42 -0
  24. package/src/components/molecules/chip-input/chip-input.stories.tsx +52 -0
  25. package/src/components/molecules/chip-input/chip-input.tsx +205 -0
  26. package/src/components/molecules/date-picker/datePicker.tsx +45 -56
  27. package/src/components/molecules/dropdown-menu/dropdown-menu.doc.mdx +46 -0
  28. package/src/components/molecules/dropdown-menu/dropdown-menu.props.ts +41 -0
  29. package/src/components/molecules/dropdown-menu/dropdown-menu.stories.tsx +41 -0
  30. package/src/components/molecules/dropdown-menu/dropdown-menu.tsx +219 -0
  31. package/src/components/molecules/field/field.doc.mdx +43 -0
  32. package/src/components/molecules/field/field.props.ts +23 -0
  33. package/src/components/molecules/field/field.stories.tsx +42 -0
  34. package/src/components/molecules/field/field.tsx +54 -0
  35. package/src/components/molecules/masked-input/masked-input.doc.mdx +78 -0
  36. package/src/components/molecules/masked-input/masked-input.props.ts +58 -0
  37. package/src/components/molecules/masked-input/masked-input.stories.tsx +126 -0
  38. package/src/components/molecules/masked-input/masked-input.tsx +244 -0
  39. package/src/components/molecules/multi-select/multi-select.doc.mdx +55 -0
  40. package/src/components/molecules/multi-select/multi-select.props.ts +65 -0
  41. package/src/components/molecules/multi-select/multi-select.stories.tsx +59 -0
  42. package/src/components/molecules/multi-select/multi-select.tsx +386 -0
  43. package/src/components/molecules/search-select/search-select.doc.mdx +5 -0
  44. package/src/components/molecules/search-select/search-select.props.ts +10 -1
  45. package/src/components/molecules/search-select/search-select.stories.tsx +18 -0
  46. package/src/components/molecules/search-select/search-select.tsx +102 -28
  47. package/src/components/molecules/time-picker/timePicker.tsx +14 -26
  48. package/src/components/molecules/wysiwyg/wysiwyg.props.ts +51 -0
  49. package/src/components/molecules/wysiwyg/wysiwyg.stories.tsx +95 -0
  50. package/src/components/molecules/wysiwyg/wysiwyg.tsx +609 -0
  51. package/src/components/organisms/form-builder/fieldRenderer.tsx +144 -27
  52. package/src/components/organisms/form-builder/formBuilder.context.tsx +77 -15
  53. package/src/components/organisms/form-builder/formBuilder.doc.mdx +213 -86
  54. package/src/components/organisms/form-builder/formBuilder.props.ts +118 -36
  55. package/src/components/organisms/form-builder/formBuilder.stories.tsx +694 -96
  56. package/src/components/organisms/form-builder/formBuilder.tsx +152 -69
  57. package/src/components/organisms/form-builder/useFormBuilder.ts +59 -21
  58. package/src/hooks/useFloatingPanel.ts +100 -0
  59. package/src/index.ts +26 -4
  60. package/src/showcases/DataShowcases.tsx +76 -0
  61. package/src/showcases/FormShowcases.tsx +574 -10
  62. package/src/showcases/HomeShowcase.tsx +6 -6
  63. package/src/showcases/NavigationShowcases.tsx +72 -2
  64. package/src/showcases/StructureShowcases.tsx +64 -0
  65. 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
+ };