From b038c8a5f03a0340c281033480a90de08ade6d05 Mon Sep 17 00:00:00 2001 From: Natxo <1172351+natxocc@users.noreply.github.com> Date: Tue, 31 Mar 2026 12:41:18 +0200 Subject: [PATCH] Update index.js --- src/components/index.js | 68 +++++++++++++++++++++++++++++++++++------ 1 file changed, 59 insertions(+), 9 deletions(-) diff --git a/src/components/index.js b/src/components/index.js index ba7a33a..227677d 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -1,4 +1,37 @@ -// Formularios y Controles +// 1. IMPORTAMOS TODO INTERNAMENTE +import * as ButtonModule from './Button.js'; +import * as InputModule from './Input.js'; +import * as SelectModule from './Select.js'; +import * as AutocompleteModule from './Autocomplete.js'; +import * as CheckboxModule from './Checkbox.js'; +import * as RadioModule from './Radio.js'; +import * as RangeModule from './Range.js'; +import * as RatingModule from './Rating.js'; +import * as SwapModule from './Swap.js'; +import * as ColorpickerModule from './Colorpicker.js'; +import * as DatepickerModule from './Datepicker.js'; +import * as TableModule from './Table.js'; +import * as ListModule from './List.js'; +import * as StatModule from './Stat.js'; +import * as TimelineModule from './Timeline.js'; +import * as BadgeModule from './Badge.js'; +import * as TooltipModule from './Tooltip.js'; +import * as MenuModule from './Menu.js'; +import * as NavbarModule from './Navbar.js'; +import * as TabsModule from './Tabs.js'; +import * as AccordionModule from './Accordion.js'; +import * as DrawerModule from './Drawer.js'; +import * as StackModule from './Stack.js'; +import * as IndicatorModule from './Indicator.js'; +import * as FieldsetModule from './Fieldset.js'; +import * as ModalModule from './Modal.js'; +import * as DropdownModule from './Dropdown.js'; +import * as AlertModule from './Alert.js'; +import * as ToastModule from './Toast.js'; +import * as LoadingModule from './Loading.js'; + +// 2. EXPORTACIONES INDIVIDUALES (Named Exports) +// Esto permite: import { Button, Table } from './components/index.js' export * from './Button.js'; export * from './Input.js'; export * from './Select.js'; @@ -10,16 +43,12 @@ export * from './Rating.js'; export * from './Swap.js'; export * from './Colorpicker.js'; export * from './Datepicker.js'; - -// Visualización de Datos export * from './Table.js'; export * from './List.js'; export * from './Stat.js'; export * from './Timeline.js'; -export * from './Badge.js'; // Si lo separaste de Misc.js -export * from './Tooltip.js'; // Si lo separaste de Misc.js - -// Navegación y Estructura +export * from './Badge.js'; +export * from './Tooltip.js'; export * from './Menu.js'; export * from './Navbar.js'; export * from './Tabs.js'; @@ -28,10 +57,31 @@ export * from './Drawer.js'; export * from './Stack.js'; export * from './Indicator.js'; export * from './Fieldset.js'; - -// Feedback y Overlays export * from './Modal.js'; export * from './Dropdown.js'; export * from './Alert.js'; export * from './Toast.js'; export * from './Loading.js'; + +// 3. OBJETO COLECTIVO PARA LA INSTALACIÓN GLOBAL +const Components = { + ...ButtonModule, ...InputModule, ...SelectModule, ...AutocompleteModule, + ...CheckboxModule, ...RadioModule, ...RangeModule, ...RatingModule, + ...SwapModule, ...ColorpickerModule, ...DatepickerModule, ...TableModule, + ...ListModule, ...StatModule, ...TimelineModule, ...BadgeModule, + ...TooltipModule, ...MenuModule, ...NavbarModule, ...TabsModule, + ...AccordionModule, ...DrawerModule, ...StackModule, ...IndicatorModule, + ...FieldsetModule, ...ModalModule, ...DropdownModule, ...AlertModule, + ...ToastModule, ...LoadingModule +}; + +// 4. EXPORTACIÓN POR DEFECTO CON MÉTODO .install() +export default { + ...Components, + install: (target = window) => { + Object.entries(Components).forEach(([name, component]) => { + target[name] = component; + }); + console.log("🚀 SigproUI: Componentes instalados en window."); + } +};