@e-burgos/tucu-ui 1.1.1 → 2.0.0
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/1-CArqgiQa.js +1 -0
- package/1-Df9CGZha.mjs +4 -0
- package/APIReferenceSection-BWjvmObc.mjs +142 -0
- package/APIReferenceSection-BYpmlTa1.js +1 -0
- package/ActiveLinkSection-QE4rt7E7.mjs +120 -0
- package/ActiveLinkSection-koQfqiWT.js +22 -0
- package/AdvancedColorSystemSection-BMjT0GS3.js +17 -0
- package/AdvancedColorSystemSection-Cm3q7pci.mjs +194 -0
- package/AdvancedFeaturesSection-BvQzMRC_.js +1 -0
- package/AdvancedFeaturesSection-CsHt-5rZ.mjs +100 -0
- package/AdvancedFeaturesSection-UC1uVDPQ.js +1 -0
- package/AdvancedFeaturesSection-o4D1pf9b.mjs +82 -0
- package/AlertSection-DPxTJhXM.mjs +143 -0
- package/AlertSection-Di1Vmdlp.js +25 -0
- package/AnchorLinkSection-Ce1TtPg5.mjs +94 -0
- package/AnchorLinkSection-dexXCWm0.js +19 -0
- package/ArchitecturalPatternsComparisonSection-BGoc7LRz.mjs +325 -0
- package/ArchitecturalPatternsComparisonSection-bFhTZY--.js +31 -0
- package/ArchitectureOverviewSection-0kw6rJQn.mjs +88 -0
- package/ArchitectureOverviewSection-DI3j5QrY.js +1 -0
- package/AuthorCardSection-C9nyTm-Y.js +17 -0
- package/AuthorCardSection-CdrGEAlv.mjs +110 -0
- package/AvatarSection-DurCy8Tv.js +18 -0
- package/AvatarSection-w5aVByxo.mjs +137 -0
- package/BadgeSection-BBrQIp_J.mjs +238 -0
- package/BadgeSection-C18_hgvN.js +48 -0
- package/BasicTableSection-CRoBEEqA.js +35 -0
- package/BasicTableSection-CV_O4PiF.mjs +169 -0
- package/BasicUsageSection-BNMeKpps.js +45 -0
- package/BasicUsageSection-uA18k0GU.mjs +103 -0
- package/BestPracticesSection-B-JPz0Dc.js +1 -0
- package/BestPracticesSection-B9z8NSkq.mjs +57 -0
- package/BestPracticesSection-BATlfVaQ.mjs +49 -0
- package/BestPracticesSection-BDukov7c.mjs +83 -0
- package/BestPracticesSection-BWkl5DsH.mjs +41 -0
- package/BestPracticesSection-BbhipFte.mjs +43 -0
- package/BestPracticesSection-Bp-_tC8C.js +1 -0
- package/BestPracticesSection-CEu4bNZE.js +1 -0
- package/BestPracticesSection-CYtEiufQ.js +1 -0
- package/BestPracticesSection-CaE-0BTV.js +1 -0
- package/BestPracticesSection-CdY0wZsv.js +1 -0
- package/BestPracticesSection-CoE_Xgj2.mjs +84 -0
- package/BestPracticesSection-DN9K2d3_.js +1 -0
- package/BestPracticesSection-n_GJKuXp.mjs +83 -0
- package/BorderRadiusSection-BqRzkDYG.js +1 -0
- package/BorderRadiusSection-CvnMLFCh.mjs +63 -0
- package/ButtonDripSection-BLa_mdeq.mjs +99 -0
- package/ButtonDripSection-D62t7cNU.js +12 -0
- package/ButtonLoaderSection-BAEAsnOQ.js +30 -0
- package/ButtonLoaderSection-dY9Ctlyf.mjs +127 -0
- package/CHANGELOG.md +253 -0
- package/CardContainerSection-Cso5x1TX.mjs +99 -0
- package/CardContainerSection-_OZaMbIu.js +21 -0
- package/CardTitleSection-BNmdH8MJ.mjs +113 -0
- package/CardTitleSection-CGnIM20t.js +19 -0
- package/CarouselCardsSection-CqwkiKuv.js +37 -0
- package/CarouselCardsSection-DJUza5iT.mjs +207 -0
- package/CarouselImageSection-CoNZlkZS.mjs +218 -0
- package/CarouselImageSection-sUP78k0h.js +38 -0
- package/CarouselSection-CLso38c7.mjs +159 -0
- package/CarouselSection-DrLjfsDL.js +24 -0
- package/CheckboxSection-B1Thom62.mjs +221 -0
- package/CheckboxSection-ClRdRrG3.js +26 -0
- package/CodeExamplesSection-DGdE5jIe.mjs +137 -0
- package/CodeExamplesSection-raO1hI2K.js +28 -0
- package/CoinCardSection-BMWMx77E.js +13 -0
- package/CoinCardSection-CcmSvFrb.mjs +174 -0
- package/CoinInfoCardSection-BXKoUx90.mjs +174 -0
- package/CoinInfoCardSection-Cg7mcq06.js +12 -0
- package/CoinListBoxSection-CUGweWcL.mjs +219 -0
- package/CoinListBoxSection-DlBbVyVM.js +24 -0
- package/CollapseSection-98dxj6hh.mjs +126 -0
- package/CollapseSection-kmcNxPMt.js +27 -0
- package/CollectionCardSection-BECI5Bd7.js +17 -0
- package/CollectionCardSection-kQBMh56J.mjs +103 -0
- package/CollectionSelectListSection-DF33zicH.mjs +102 -0
- package/CollectionSelectListSection-Db5SV44f.js +14 -0
- package/ColorCustomizationSection-Bb6emsjF.mjs +117 -0
- package/ColorCustomizationSection-CoATCcOw.js +1 -0
- package/ColorSystemSection-BMcNOrJZ.js +1 -0
- package/ColorSystemSection-Cb3ON86x.mjs +149 -0
- package/CommonErrorsSection-CP45i0KI.mjs +54 -0
- package/CommonErrorsSection-Q2gLNsG4.js +1 -0
- package/ComponentAnatomySection-Bbig6v0L.mjs +72 -0
- package/ComponentAnatomySection-Bq47Shzj.js +1 -0
- package/ComponentStatusSection-2PqavyCq.js +1 -0
- package/ComponentStatusSection-DJCpIv1y.mjs +84 -0
- package/CurrencySwapIconsSection-CycYbE0J.js +7 -0
- package/CurrencySwapIconsSection-JqjAN8xl.mjs +92 -0
- package/CustomColorPaletteSection-CfXiJg17.mjs +54 -0
- package/CustomColorPaletteSection-CzjNz2Lg.js +19 -0
- package/CustomIconsSection-0cWmXojJ.js +3 -0
- package/CustomIconsSection-DJMbKrH3.mjs +162 -0
- package/DefiAppLogoSection-D7jgArKN.mjs +120 -0
- package/DefiAppLogoSection-alsK3oh9.js +36 -0
- package/DesignPrinciplesSection-CbLaXe_T.mjs +81 -0
- package/DesignPrinciplesSection-DHN9U0MX.js +1 -0
- package/DrawerSection-C2gb1jbq.js +41 -0
- package/DrawerSection-CxC9PQJU.mjs +188 -0
- package/DynamicRoutesSection-C0hcJyEO.mjs +100 -0
- package/DynamicRoutesSection-DTEL6uSr.js +42 -0
- package/FileInputSection-BuwiaCIE.mjs +277 -0
- package/FileInputSection-qzkjHIPs.js +65 -0
- package/FileStructureSection-COelsTGH.js +26 -0
- package/FileStructureSection-DGFd5OvW.mjs +87 -0
- package/FormComponentsSection-Dz4NJWIU.mjs +116 -0
- package/FormComponentsSection-jDaUkbDC.js +1 -0
- package/FormMethodsSection-BYQ_foZq.js +55 -0
- package/FormMethodsSection-vLlj8oqq.mjs +119 -0
- package/HamburgerSection-DCyFcRlT.mjs +108 -0
- package/HamburgerSection-jpcdZ_hA.js +18 -0
- package/HookCategoriesSection-CxOrlkB5.mjs +97 -0
- package/HookCategoriesSection-DyOM1Dtj.js +1 -0
- package/HookDocumentationSection-CkH1P0yQ.mjs +272 -0
- package/HookDocumentationSection-b60lRPki.js +73 -0
- package/HookFeaturesSection-CFQ-th28.mjs +81 -0
- package/HookFeaturesSection-CM3rSPy7.js +1 -0
- package/IconArchitectureSection-B44gXgNP.mjs +108 -0
- package/IconArchitectureSection-DNcAfKY5.js +1 -0
- package/IconSizingGuideSection-CIOX5rAk.mjs +69 -0
- package/IconSizingGuideSection-u_m129SM.js +1 -0
- package/IconSystemAPISection-BTFd0SEj.js +1 -0
- package/IconSystemAPISection-C5oHKJSa.mjs +61 -0
- package/IconSystemBenefitsSection-4vjBgOcL.js +1 -0
- package/IconSystemBenefitsSection-DzNHxfsx.mjs +41 -0
- package/ImageSection-B4Egz61c.mjs +612 -0
- package/ImageSection-KRwcaC7i.js +80 -0
- package/ImplementationExamplesSection-B0Iyb8pc.mjs +284 -0
- package/ImplementationExamplesSection-D3GzoJHk.js +178 -0
- package/ImplementationGuidelinesSection-B986S98s.mjs +52 -0
- package/ImplementationGuidelinesSection-Di6FUATm.js +1 -0
- package/ImplementationStatusSection-CqAnYtcw.js +1 -0
- package/ImplementationStatusSection-zClYTFYV.mjs +23 -0
- package/ImplementedFeaturesSection-BzhXFsJc.js +1 -0
- package/ImplementedFeaturesSection-bsALbW35.mjs +116 -0
- package/InputSearcherSection-DQcFOSI_.js +32 -0
- package/InputSearcherSection-uyHUHUxD.mjs +258 -0
- package/InputSection-BhZmA0wW.js +37 -0
- package/InputSection-BnRWQKM5.mjs +265 -0
- package/KeyboardNavigationSection-BVRBWrR_.mjs +69 -0
- package/KeyboardNavigationSection-DkV3cH4w.js +1 -0
- package/LayoutPrinciplesSection-DTVK1_Ht.mjs +106 -0
- package/LayoutPrinciplesSection-wdSSdypw.js +1 -0
- package/LayoutTypesSection-BTUS9xIl.js +1 -0
- package/LayoutTypesSection-D4eq7w9u.mjs +239 -0
- package/ListContainerSection-CMukx5sM.js +38 -0
- package/ListContainerSection-Lq00hl5g.mjs +191 -0
- package/ListItemSection-CEpCtoxu.mjs +191 -0
- package/ListItemSection-D3CkNixV.js +36 -0
- package/LiveDemoSection-DQDdyS8_.js +1 -0
- package/LiveDemoSection-Duz-z9Az.mjs +16 -0
- package/LiveDemonstrationsSection-7OJufZVy.js +4 -0
- package/LiveDemonstrationsSection-DFRqLVsW.mjs +445 -0
- package/LivePriceFeedSection-BwQbsy1e.js +20 -0
- package/LivePriceFeedSection-CVUYaDLi.mjs +187 -0
- package/LoaderSection-DkC3hHKp.js +22 -0
- package/LoaderSection-DsDLwNrN.mjs +143 -0
- package/LogoSection-B_ll9gcD.js +100 -0
- package/LogoSection-BwE_ImN2.mjs +319 -0
- package/LucideIconsSection-BQH5Dipy.mjs +128 -0
- package/LucideIconsSection-DYNzZsEN.js +1 -0
- package/MFESupportSection-C1rBEqCL.js +122 -0
- package/MFESupportSection-CMTM8pC1.mjs +354 -0
- package/MenuItemsGuideSection-CFz7XSzU.mjs +325 -0
- package/MenuItemsGuideSection-uxlCicIJ.js +126 -0
- package/ModalSection-C27D58m_.mjs +158 -0
- package/ModalSection-DkdV4fA3.js +29 -0
- package/NFTGridSection-BtE3eC62.js +11 -0
- package/NFTGridSection-DLjDwzgW.mjs +122 -0
- package/NestedRoutesSection-D-oKOn0R.js +36 -0
- package/NestedRoutesSection-DeQN7AC9.mjs +88 -0
- package/NotificationCardSection-CDjX06Tt.js +28 -0
- package/NotificationCardSection-Ct2oUuXB.mjs +153 -0
- package/PanelActionCardSection-BgWaRFVD.mjs +138 -0
- package/PanelActionCardSection-Dpkzx-FH.js +28 -0
- package/PanelCardSection-DtwFeOlW.js +15 -0
- package/PanelCardSection-g8jYQ2i1.mjs +96 -0
- package/ParamTabSection-DEcMYPi2.mjs +561 -0
- package/ParamTabSection-fAirqQfE.js +92 -0
- package/PinCodeSection-BTtSu9RK.mjs +263 -0
- package/PinCodeSection-HOx7RS53.js +22 -0
- package/ProgressbarSection-C_ipN0ko.mjs +195 -0
- package/ProgressbarSection-Cb4de9hD.js +21 -0
- package/README.md +355 -113
- package/RadioGroupSection-BIMkY1F0.js +27 -0
- package/RadioGroupSection-CLbIvqN6.mjs +288 -0
- package/RadioSection-DZD5W976.js +23 -0
- package/RadioSection-LW7GeXAA.mjs +208 -0
- package/RevealContentSection-PGiR5VJY.mjs +111 -0
- package/RevealContentSection-kDLDHOGV.js +21 -0
- package/RouteConfigurationSection-BmwVvMMw.mjs +81 -0
- package/RouteConfigurationSection-DR7u1n3x.js +40 -0
- package/ScrollToTopSection-BWEgLKlr.js +36 -0
- package/ScrollToTopSection-CXx2x8gR.mjs +193 -0
- package/ScrollbarSection-DsoKO-RW.js +29 -0
- package/ScrollbarSection-Dubf9f65.mjs +146 -0
- package/SelectSection-Btr390sY.mjs +275 -0
- package/SelectSection-D85H1YXr.js +20 -0
- package/SettingsPanelSection-BCjJfaLV.mjs +126 -0
- package/SettingsPanelSection-CySxJ7Tt.js +1 -0
- package/ShadowsSection-D0X4gGde.js +1 -0
- package/ShadowsSection-sQXQR0iT.mjs +90 -0
- package/SidebarMenuSection-CLhinak1.mjs +140 -0
- package/SidebarMenuSection-D9_kKfNh.js +46 -0
- package/SidebarSection-BgHwGWPt.js +25 -0
- package/SidebarSection-DUgnUh5w.mjs +122 -0
- package/SizingSection-B89FO3ff.mjs +86 -0
- package/SizingSection-Z0pVTNKq.js +1 -0
- package/SkeletonSection-BdhX4Xfv.mjs +259 -0
- package/SkeletonSection-sriDQIKQ.js +52 -0
- package/SpacingSystemSection-B9JXurvm.js +1 -0
- package/SpacingSystemSection-BPW-n6rL.mjs +82 -0
- package/SpinnerSection-CUdRcW4b.mjs +107 -0
- package/SpinnerSection-D1xuIeR2.js +17 -0
- package/StandaloneAppSection-BF1C6FEF.mjs +244 -0
- package/StandaloneAppSection-fhZ8XHQq.js +69 -0
- package/SwitchSection-BENFMw9r.mjs +230 -0
- package/SwitchSection-wuPSVKvN.js +20 -0
- package/SystemOverviewSection-DS9SHn0L.mjs +93 -0
- package/SystemOverviewSection-HRr9gFGM.js +1 -0
- package/TabSection-Cb3Fykn2.js +84 -0
- package/TabSection-aOHyWLGr.mjs +331 -0
- package/TabSelectSection-CaGKQfWS.js +100 -0
- package/TabSelectSection-M0E_Atxn.mjs +418 -0
- package/TailwindConfigSection-BreVbZy8.js +19 -0
- package/TailwindConfigSection-C-PDB_22.mjs +152 -0
- package/TestingSection-BW3pNxaB.js +12 -0
- package/TestingSection-BwmJOUpE.mjs +48 -0
- package/TextareaSection-BfNhLRBw.js +21 -0
- package/TextareaSection-kn20lUc6.mjs +220 -0
- package/ThemeArchitectureSection-C7b32fMB.mjs +86 -0
- package/ThemeArchitectureSection-C8pBxgU3.js +1 -0
- package/ThemeConfigurationSection-HI8FyfUk.js +1 -0
- package/ThemeConfigurationSection-dExOlKvV.mjs +132 -0
- package/ThemeHooksSection-00QYTX0m.js +1 -0
- package/ThemeHooksSection-lG4XldVs.mjs +119 -0
- package/ThemeProviderIntegrationSection-ByuwG8qJ.mjs +108 -0
- package/ThemeProviderIntegrationSection-rB1ZigMz.js +61 -0
- package/ThemeProviderRequiredSection-B1-gtNbe.mjs +95 -0
- package/ThemeProviderRequiredSection-v10DfTl0.js +1 -0
- package/ThemeProviderSection-BFOZTXGP.mjs +128 -0
- package/ThemeProviderSection-BsMcUESl.js +1 -0
- package/ToastSection-5qocQ7cH.mjs +170 -0
- package/ToastSection-BKsJOkbs.js +37 -0
- package/ToggleBarSection-Cx7gCx2L.js +37 -0
- package/ToggleBarSection-KeVNyc_h.mjs +187 -0
- package/TopupButtonSection-BkGsoYjc.js +24 -0
- package/TopupButtonSection-DFl6wlGA.mjs +145 -0
- package/TransactionInfoSection-2IX3m2mI.js +16 -0
- package/TransactionInfoSection-DQfuXrqZ.mjs +113 -0
- package/TucuUiLogoSection-BHibuIVc.js +26 -0
- package/TucuUiLogoSection-D5VLGORL.mjs +121 -0
- package/TypographySection-CkBNo8uk.js +1 -0
- package/TypographySection-DszlzyIX.mjs +129 -0
- package/TypographySection-Dv7RJSzI.js +24 -0
- package/TypographySection-fYLxICoM.mjs +214 -0
- package/UsageExamplesSection-Bs8jQesE.mjs +147 -0
- package/UsageExamplesSection-DlCIZC7Y.js +83 -0
- package/UsingThemeSystemSection-BKh8A4-r.mjs +176 -0
- package/UsingThemeSystemSection-Dk5n1wP3.js +140 -0
- package/ValidationSystemSection-9-Sh0rkM.mjs +197 -0
- package/ValidationSystemSection-BrpnhJ2J.js +54 -0
- package/WCAGPrinciplesSection-W_P3HWdG.js +1 -0
- package/WCAGPrinciplesSection-nFfogbYI.mjs +116 -0
- package/collection-1-BIsLOX9N.js +1 -0
- package/collection-1-NeFANkbk.mjs +4 -0
- package/components/common/badge.d.ts +16 -6
- package/components/common/skeleton.d.ts +36 -3
- package/components/icons/chevron-left.d.ts +1 -1
- package/components/index.d.ts +6 -3
- package/components/inputs/{uploader-two.d.ts → file-input.d.ts} +13 -13
- package/components/inputs/index.d.ts +1 -2
- package/components/inputs/input.d.ts +2 -0
- package/components/layouts/index.d.ts +13 -0
- package/components/layouts/menus/menu-item.d.ts +3 -2
- package/components/list/index.d.ts +2 -0
- package/components/list/list-Item.d.ts +13 -0
- package/components/list/list-container.d.ts +17 -0
- package/components/logos/defi-app-logo.d.ts +1 -0
- package/components/logos/full-logo.d.ts +1 -0
- package/components/logos/index.d.ts +2 -5
- package/components/logos/logo.d.ts +1 -2
- package/components/logos/tucu-ui-logo.d.ts +8 -0
- package/components/notifications/alert.d.ts +2 -1
- package/components/table/basic-table.d.ts +25 -0
- package/components/table/index.d.ts +1 -0
- package/components/tabs/param-tab.d.ts +7 -1
- package/components/tabs/tab.d.ts +18 -6
- package/components/utils/image.d.ts +17 -8
- package/components/utils/index.d.ts +0 -1
- package/components/utils/scroll-to-top.d.ts +38 -1
- package/demo/components/hero-card.d.ts +1 -0
- package/demo/components/index.d.ts +4 -0
- package/demo/components/lazy-component-section.d.ts +11 -0
- package/demo/components/nav-options.d.ts +2 -0
- package/demo/components/playground-button.d.ts +1 -0
- package/demo/components/table-of-contents.d.ts +16 -0
- package/demo/index.d.ts +1 -0
- package/demo/pages/blockchain/BlockchainComponents.d.ts +1 -0
- package/demo/pages/blockchain/blockchain-components-sections/CoinCardSection.d.ts +3 -0
- package/demo/pages/blockchain/blockchain-components-sections/CoinInfoCardSection.d.ts +3 -0
- package/demo/pages/blockchain/blockchain-components-sections/CoinListBoxSection.d.ts +3 -0
- package/demo/pages/blockchain/blockchain-components-sections/CollectionCardSection.d.ts +3 -0
- package/demo/pages/blockchain/blockchain-components-sections/CollectionSelectListSection.d.ts +3 -0
- package/demo/pages/blockchain/blockchain-components-sections/CurrencySwapIconsSection.d.ts +3 -0
- package/demo/pages/blockchain/blockchain-components-sections/LivePriceFeedSection.d.ts +3 -0
- package/demo/pages/blockchain/blockchain-components-sections/NFTGridSection.d.ts +3 -0
- package/demo/pages/blockchain/blockchain-components-sections/TransactionInfoSection.d.ts +3 -0
- package/demo/pages/blockchain/blockchain-components-sections/index.d.ts +9 -0
- package/demo/pages/components/ComponentsIntroduction.d.ts +1 -0
- package/demo/pages/components/InputsComponents.d.ts +2 -0
- package/demo/pages/components/UiComponents.d.ts +1 -0
- package/demo/pages/components/input-components-sections/CheckboxSection.d.ts +3 -0
- package/demo/pages/components/input-components-sections/FileInputSection.d.ts +3 -0
- package/demo/pages/components/input-components-sections/InputSearcherSection.d.ts +3 -0
- package/demo/pages/components/input-components-sections/InputSection.d.ts +3 -0
- package/demo/pages/components/input-components-sections/PinCodeSection.d.ts +3 -0
- package/demo/pages/components/input-components-sections/RadioGroupSection.d.ts +3 -0
- package/demo/pages/components/input-components-sections/RadioSection.d.ts +3 -0
- package/demo/pages/components/input-components-sections/SelectSection.d.ts +3 -0
- package/demo/pages/components/input-components-sections/SwitchSection.d.ts +3 -0
- package/demo/pages/components/input-components-sections/TextareaSection.d.ts +3 -0
- package/demo/pages/components/input-components-sections/ToggleBarSection.d.ts +3 -0
- package/demo/pages/components/input-components-sections/index.d.ts +11 -0
- package/demo/pages/components/ui-components-sections/ActiveLinkSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/AlertSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/AnchorLinkSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/AuthorCardSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/AvatarSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/BadgeSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/BasicTableSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/ButtonDripSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/ButtonLoaderSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/CardContainerSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/CardTitleSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/CarouselCardsSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/CarouselImageSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/CarouselSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/CollapseSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/DefiAppLogoSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/DrawerSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/HamburgerSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/ImageSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/ListContainerSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/ListItemSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/LoaderSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/LogoSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/ModalSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/NotificationCardSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/PanelActionCardSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/PanelCardSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/ParamTabSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/ProgressbarSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/RevealContentSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/ScrollToTopSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/ScrollbarSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/SidebarMenuSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/SidebarSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/SkeletonSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/SpinnerSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/TabSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/TabSelectSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/ToastSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/TopupButtonSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/TucuUiLogoSection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/TypographySection.d.ts +3 -0
- package/demo/pages/components/ui-components-sections/index.d.ts +40 -0
- package/demo/pages/design-system/DesignSystem.d.ts +2 -0
- package/demo/pages/design-system/LayoutSystem.d.ts +2 -0
- package/demo/pages/design-system/ThemingGuide.d.ts +2 -0
- package/demo/pages/design-system/design-system-sections/BorderRadiusSection.d.ts +3 -0
- package/demo/pages/design-system/design-system-sections/ColorSystemSection.d.ts +3 -0
- package/demo/pages/design-system/design-system-sections/ComponentAnatomySection.d.ts +3 -0
- package/demo/pages/design-system/design-system-sections/DesignPrinciplesSection.d.ts +3 -0
- package/demo/pages/design-system/design-system-sections/ImplementationGuidelinesSection.d.ts +3 -0
- package/demo/pages/design-system/design-system-sections/LayoutPrinciplesSection.d.ts +3 -0
- package/demo/pages/design-system/design-system-sections/ShadowsSection.d.ts +3 -0
- package/demo/pages/design-system/design-system-sections/SizingSection.d.ts +3 -0
- package/demo/pages/design-system/design-system-sections/SpacingSystemSection.d.ts +3 -0
- package/demo/pages/design-system/design-system-sections/TypographySection.d.ts +3 -0
- package/demo/pages/design-system/layout-system-sections/BestPracticesSection.d.ts +3 -0
- package/demo/pages/design-system/layout-system-sections/CommonErrorsSection.d.ts +3 -0
- package/demo/pages/design-system/layout-system-sections/ImplementationExamplesSection.d.ts +3 -0
- package/demo/pages/design-system/layout-system-sections/LayoutTypesSection.d.ts +3 -0
- package/demo/pages/design-system/layout-system-sections/MenuItemsGuideSection.d.ts +3 -0
- package/demo/pages/design-system/layout-system-sections/ThemeProviderRequiredSection.d.ts +3 -0
- package/demo/pages/design-system/legacy/DesignSystemIntroduction.d.ts +2 -0
- package/demo/pages/design-system/legacy/ThemingGuideIntroduction.d.ts +2 -0
- package/demo/pages/design-system/theming-guide-sections/AdvancedColorSystemSection.d.ts +3 -0
- package/demo/pages/design-system/theming-guide-sections/AdvancedFeaturesSection.d.ts +3 -0
- package/demo/pages/design-system/theming-guide-sections/BestPracticesSection.d.ts +3 -0
- package/demo/pages/design-system/theming-guide-sections/ColorCustomizationSection.d.ts +3 -0
- package/demo/pages/design-system/theming-guide-sections/CustomColorPaletteSection.d.ts +3 -0
- package/demo/pages/design-system/theming-guide-sections/FileStructureSection.d.ts +3 -0
- package/demo/pages/design-system/theming-guide-sections/SettingsPanelSection.d.ts +3 -0
- package/demo/pages/design-system/theming-guide-sections/TailwindConfigSection.d.ts +3 -0
- package/demo/pages/design-system/theming-guide-sections/ThemeArchitectureSection.d.ts +3 -0
- package/demo/pages/design-system/theming-guide-sections/ThemeConfigurationSection.d.ts +3 -0
- package/demo/pages/design-system/theming-guide-sections/ThemeHooksSection.d.ts +3 -0
- package/demo/pages/design-system/theming-guide-sections/ThemeProviderSection.d.ts +3 -0
- package/demo/pages/design-system/theming-guide-sections/UsingThemeSystemSection.d.ts +3 -0
- package/demo/pages/features/Accessibility.d.ts +2 -0
- package/demo/pages/features/FeaturesIntroduction.d.ts +1 -0
- package/demo/pages/features/HooksUtilities.d.ts +2 -0
- package/demo/pages/features/IconsSystem.d.ts +2 -0
- package/demo/pages/features/RoutingSystem.d.ts +2 -0
- package/demo/pages/features/accessibility-sections/BestPracticesSection.d.ts +3 -0
- package/demo/pages/features/accessibility-sections/CodeExamplesSection.d.ts +3 -0
- package/demo/pages/features/accessibility-sections/ComponentStatusSection.d.ts +3 -0
- package/demo/pages/features/accessibility-sections/ImplementationStatusSection.d.ts +3 -0
- package/demo/pages/features/accessibility-sections/ImplementedFeaturesSection.d.ts +3 -0
- package/demo/pages/features/accessibility-sections/KeyboardNavigationSection.d.ts +3 -0
- package/demo/pages/features/accessibility-sections/TestingSection.d.ts +3 -0
- package/demo/pages/features/accessibility-sections/WCAGPrinciplesSection.d.ts +3 -0
- package/demo/pages/features/hooks-utilities-sections/BestPracticesSection.d.ts +3 -0
- package/demo/pages/features/hooks-utilities-sections/HookCategoriesSection.d.ts +3 -0
- package/demo/pages/features/hooks-utilities-sections/HookDocumentationSection.d.ts +3 -0
- package/demo/pages/features/hooks-utilities-sections/HookFeaturesSection.d.ts +3 -0
- package/demo/pages/features/hooks-utilities-sections/LiveDemonstrationsSection.d.ts +3 -0
- package/demo/pages/features/icon-system-sections/BestPracticesSection.d.ts +3 -0
- package/demo/pages/features/icon-system-sections/CustomIconsSection.d.ts +3 -0
- package/demo/pages/features/icon-system-sections/IconArchitectureSection.d.ts +3 -0
- package/demo/pages/features/icon-system-sections/IconSizingGuideSection.d.ts +3 -0
- package/demo/pages/features/icon-system-sections/IconSystemAPISection.d.ts +3 -0
- package/demo/pages/features/icon-system-sections/IconSystemBenefitsSection.d.ts +3 -0
- package/demo/pages/features/icon-system-sections/LucideIconsSection.d.ts +3 -0
- package/demo/pages/features/icon-system-sections/UsageExamplesSection.d.ts +3 -0
- package/demo/pages/features/routing-system-sections/APIReferenceSection.d.ts +3 -0
- package/demo/pages/features/routing-system-sections/ArchitecturalPatternsComparisonSection.d.ts +3 -0
- package/demo/pages/features/routing-system-sections/BestPracticesSection.d.ts +3 -0
- package/demo/pages/features/routing-system-sections/DynamicRoutesSection.d.ts +3 -0
- package/demo/pages/features/routing-system-sections/MFESupportSection.d.ts +3 -0
- package/demo/pages/features/routing-system-sections/NestedRoutesSection.d.ts +3 -0
- package/demo/pages/features/routing-system-sections/RouteConfigurationSection.d.ts +3 -0
- package/demo/pages/features/routing-system-sections/StandaloneAppSection.d.ts +3 -0
- package/demo/pages/features/routing-system-sections/SystemOverviewSection.d.ts +3 -0
- package/demo/pages/features/routing-system-sections/ThemeProviderIntegrationSection.d.ts +3 -0
- package/demo/pages/form-system/FormSystem.d.ts +2 -0
- package/demo/pages/form-system/code-example-page.d.ts +2 -0
- package/demo/pages/form-system/example/constants.d.ts +12 -0
- package/demo/pages/form-system/example/simple-form-example.d.ts +3 -0
- package/demo/pages/form-system/form-example-page.d.ts +2 -0
- package/demo/pages/form-system/form-system-sections/AdvancedFeaturesSection.d.ts +3 -0
- package/demo/pages/form-system/form-system-sections/ArchitectureOverviewSection.d.ts +3 -0
- package/demo/pages/form-system/form-system-sections/BasicUsageSection.d.ts +3 -0
- package/demo/pages/form-system/form-system-sections/BestPracticesSection.d.ts +3 -0
- package/demo/pages/form-system/form-system-sections/FormComponentsSection.d.ts +3 -0
- package/demo/pages/form-system/form-system-sections/FormMethodsSection.d.ts +3 -0
- package/demo/pages/form-system/form-system-sections/LiveDemoSection.d.ts +3 -0
- package/demo/pages/form-system/form-system-sections/ValidationSystemSection.d.ts +3 -0
- package/demo/pages/index.d.ts +36 -0
- package/demo/pages/introduction/BasicUsageDemo.d.ts +1 -0
- package/demo/pages/introduction/BasicUsageExampleCode.d.ts +1 -0
- package/demo/pages/introduction/BasicUsageWithCustomRouterExampleCode.d.ts +1 -0
- package/demo/pages/introduction/ThemeProviderExamples.d.ts +7 -0
- package/demo/pages/introduction/index.d.ts +1 -0
- package/demo/pages/tailwind/AccessibilityUtilities.d.ts +1 -0
- package/demo/pages/tailwind/BackgroundUtilities.d.ts +1 -0
- package/demo/pages/tailwind/BordersUtilities.d.ts +1 -0
- package/demo/pages/tailwind/Colors.d.ts +1 -0
- package/demo/pages/tailwind/EffectsUtilities.d.ts +1 -0
- package/demo/pages/tailwind/FiltersUtilities.d.ts +1 -0
- package/demo/pages/tailwind/FlexboxGridUtilities.d.ts +1 -0
- package/demo/pages/tailwind/InteractivityUtilities.d.ts +1 -0
- package/demo/pages/tailwind/LayoutUtilities.d.ts +1 -0
- package/demo/pages/tailwind/SVGUtilities.d.ts +1 -0
- package/demo/pages/tailwind/TablesUtilities.d.ts +1 -0
- package/demo/pages/tailwind/TailwindIntroduction.d.ts +1 -0
- package/demo/pages/tailwind/TransformsUtilities.d.ts +1 -0
- package/demo/pages/tailwind/TransitionsAnimations.d.ts +1 -0
- package/demo/pages/tailwind/TypographyUtilities.d.ts +1 -0
- package/hooks/index.d.ts +1 -0
- package/hooks/use-anchor-scroll.d.ts +1 -0
- package/hooks/use-window-scroll.d.ts +11 -1
- package/index-CjRk4ezu.js +920 -0
- package/index-Hq6IUBmn.mjs +53892 -0
- package/index.css +1 -1
- package/index.js +1 -179
- package/index.mjs +324 -45608
- package/package.json +2 -3
- package/tether-DaYvmdAU.mjs +5 -0
- package/tether-EofDinu3.js +1 -0
- package/themes/auth/components/auth-provider.d.ts +2 -0
- package/themes/components/theme-provider/index.d.ts +48 -6
- package/themes/components/theme-provider/mfe-app-theme-provider.d.ts +4 -1
- package/themes/components/theme-provider/standalone-app-theme-provider.d.ts +12 -0
- package/themes/components/theme-provider/theme-wrapper.d.ts +2 -1
- package/themes/config/index.d.ts +1 -1
- package/themes/hooks/use-theme.d.ts +0 -2
- package/themes/pages/access-denied.d.ts +6 -0
- package/themes/pages/default-error.d.ts +5 -0
- package/themes/pages/disabled-page.d.ts +5 -0
- package/themes/pages/forbidden.d.ts +5 -0
- package/themes/pages/index.d.ts +8 -0
- package/themes/pages/no-routes.d.ts +5 -0
- package/themes/pages/server-error.d.ts +5 -0
- package/themes/pages/unknown.d.ts +5 -0
- package/themes/pages/user-blocked.d.ts +5 -0
- package/themes/router/components/index.d.ts +1 -1
- package/themes/router/components/mfe-app-routes-provider.d.ts +2 -0
- package/themes/router/components/standalone-app-routes-provider.d.ts +20 -0
- package/themes/types/index.d.ts +2 -2
- package/components/inputs/uploader.d.ts +0 -2
- package/components/legacy/forms/checkbox.d.ts +0 -38
- package/components/legacy/forms/field-error-text.d.ts +0 -19
- package/components/legacy/forms/field-helper-text.d.ts +0 -18
- package/components/legacy/forms/file-input.d.ts +0 -8
- package/components/legacy/forms/form-system/example/error-container-example.d.ts +0 -3
- package/components/legacy/forms/form-system/example/form-example.d.ts +0 -3
- package/components/legacy/forms/form-system/example/form-methods-example.d.ts +0 -3
- package/components/legacy/forms/form-system/example/validations.d.ts +0 -14
- package/components/legacy/forms/form-system/form-field.d.ts +0 -14
- package/components/legacy/forms/form-system/form.d.ts +0 -13
- package/components/legacy/forms/form-system/hook-form.d.ts +0 -3
- package/components/legacy/forms/form-system/index.d.ts +0 -10
- package/components/legacy/forms/form-system/types/dependencies.type.d.ts +0 -11
- package/components/legacy/forms/form-system/types/extend-react-hook-form.type.d.ts +0 -16
- package/components/legacy/forms/form-system/types/index.d.ts +0 -3
- package/components/legacy/forms/form-system/types/validations.type.d.ts +0 -9
- package/components/legacy/forms/input-label.d.ts +0 -9
- package/components/legacy/forms/input-searcher.d.ts +0 -11
- package/components/legacy/forms/input-select.d.ts +0 -24
- package/components/legacy/forms/input-switch.d.ts +0 -13
- package/components/legacy/forms/input.d.ts +0 -16
- package/components/legacy/forms/pin-code.d.ts +0 -95
- package/components/legacy/forms/radio-group.d.ts +0 -56
- package/components/legacy/forms/radio.d.ts +0 -84
- package/components/legacy/forms/textarea.d.ts +0 -10
- package/components/logos/AppLogo.d.ts +0 -1
- package/components/logos/logo-dark.d.ts +0 -1
- package/components/logos/logo-icon.d.ts +0 -5
- package/components/logos/logo-iso-dark.d.ts +0 -1
- package/components/logos/logo-iso-light.d.ts +0 -1
- package/components/logos/logo-light.d.ts +0 -1
- package/components/utils/test-brand-classes.d.ts +0 -1
- package/themes/components/theme-provider/single-app-theme-provider.d.ts +0 -8
- package/themes/router/components/single-app-routes-provider.d.ts +0 -17
package/README.md
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
# Tucu UI
|
|
2
2
|
|
|
3
|
-
A modern, comprehensive React component library built with TypeScript, Tailwind CSS, and designed for creating production-ready web applications
|
|
3
|
+
A modern, comprehensive React component library built with TypeScript, Tailwind CSS v4, and designed for creating production-ready web applications. Features **automatic layout generation**, **advanced routing system** with Standalone and Micro Frontends (MFE) support, **powerful form systems** with React Hook Form, **5000+ icons**, **specialized blockchain components**, and **WCAG 2.1 AA accessibility compliance**.
|
|
4
4
|
|
|
5
|
-
## 🌟
|
|
5
|
+
## 🌟 Documentation
|
|
6
6
|
|
|
7
|
-
- **📚 [Live Documentation](https://
|
|
8
|
-
-
|
|
9
|
-
- **🔧 [Component Examples](https://main--683712ba90eaad206f988c65.chromatic.com/?path=/story/ui-components-buttons-button--default)** - See all variations and use cases
|
|
7
|
+
- **📚 [Live Documentation](https://tucu-ui.netlify.app/)** - Complete component documentation
|
|
8
|
+
- **🔧 [Component Examples](https://tucu-ui.netlify.app/components)** - See all variations and use cases
|
|
10
9
|
|
|
11
10
|
## 🚀 Key Features
|
|
12
11
|
|
|
@@ -24,7 +23,7 @@ Specialized components for DeFi applications, NFT marketplaces, and crypto walle
|
|
|
24
23
|
|
|
25
24
|
### **🎭 Advanced Theming System**
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
34+ color presets with 12-layer color architecture (primary, dark primary, secondary, dark secondary, accent, dark accent, muted, dark muted, backgrounds). Includes modern colors (Bufus Blue, Coral, Mint, Lavender), secondary/accent color support, dark/light mode, RTL support, and persistent user preferences. Dynamic color system with CSS variables for brand, secondary, accent, and semantic colors.
|
|
28
27
|
|
|
29
28
|
### **🎯 5000+ Icons Integrated**
|
|
30
29
|
|
|
@@ -38,9 +37,12 @@ WCAG 2.1 AA compliant components with proper ARIA attributes and keyboard naviga
|
|
|
38
37
|
|
|
39
38
|
Responsive design across all components with support for ultra-wide displays (up to 4K).
|
|
40
39
|
|
|
41
|
-
### **🌐
|
|
40
|
+
### **🌐 Advanced Routing System**
|
|
42
41
|
|
|
43
|
-
Built-in React Router integration for
|
|
42
|
+
Built-in React Router integration with support for two architectural patterns:
|
|
43
|
+
|
|
44
|
+
- **Standalone App** (default): Automatic route generation from menuItems
|
|
45
|
+
- **Micro Frontends (MFE)**: Explicit route configuration with basePath and route protection
|
|
44
46
|
|
|
45
47
|
### **🎨 Tailwind CSS v4 Complete Integration**
|
|
46
48
|
|
|
@@ -77,7 +79,6 @@ Built on industry-leading libraries for maximum reliability:
|
|
|
77
79
|
- **[Framer Motion](https://www.framer.com/motion/)** - Smooth animations and transitions
|
|
78
80
|
- **[Recharts](https://recharts.org/)** - Composable charting library for data visualization
|
|
79
81
|
- **[Swiper](https://swiperjs.com/)** - Modern mobile touch slider
|
|
80
|
-
- **[React Dropzone](https://react-dropzone.js.org/)** - Simple HTML5 drag-drop zone
|
|
81
82
|
|
|
82
83
|
## 📦 Installation
|
|
83
84
|
|
|
@@ -120,11 +121,11 @@ Available color presets include: Green, Black, Blue, Red, Purple, Orange, Rose,
|
|
|
120
121
|
### 1. **Basic Component Usage**
|
|
121
122
|
|
|
122
123
|
```tsx
|
|
123
|
-
import { Button,
|
|
124
|
+
import { Button, CardContainer, Input, Alert } from '@e-burgos/tucu-ui';
|
|
124
125
|
|
|
125
126
|
function App() {
|
|
126
127
|
return (
|
|
127
|
-
<
|
|
128
|
+
<CardContainer className="p-6">
|
|
128
129
|
<h2 className="text-2xl font-bold mb-4">Welcome to Tucu UI</h2>
|
|
129
130
|
<Input placeholder="Enter your name" className="mb-4" />
|
|
130
131
|
<Button size="large" className="w-full">
|
|
@@ -133,12 +134,14 @@ function App() {
|
|
|
133
134
|
<Alert variant="success" className="mt-4">
|
|
134
135
|
You're ready to build amazing UIs!
|
|
135
136
|
</Alert>
|
|
136
|
-
</
|
|
137
|
+
</CardContainer>
|
|
137
138
|
);
|
|
138
139
|
}
|
|
139
140
|
```
|
|
140
141
|
|
|
141
|
-
### 2. **
|
|
142
|
+
### 2. **Standalone App Pattern (Default)**
|
|
143
|
+
|
|
144
|
+
The default pattern for standalone applications with automatic route generation:
|
|
142
145
|
|
|
143
146
|
```tsx
|
|
144
147
|
import { ThemeProvider, LucideIcons } from '@e-burgos/tucu-ui';
|
|
@@ -146,41 +149,34 @@ import { ThemeProvider, LucideIcons } from '@e-burgos/tucu-ui';
|
|
|
146
149
|
const menuItems = [
|
|
147
150
|
{
|
|
148
151
|
name: 'Dashboard',
|
|
149
|
-
|
|
152
|
+
path: '/',
|
|
150
153
|
icon: <LucideIcons.Home />,
|
|
151
154
|
component: <DashboardPage />,
|
|
152
155
|
},
|
|
153
156
|
{
|
|
154
157
|
name: 'Analytics',
|
|
155
|
-
|
|
158
|
+
path: '/analytics',
|
|
156
159
|
icon: <LucideIcons.BarChart3 />,
|
|
157
160
|
component: <AnalyticsPage />,
|
|
158
161
|
dropdownItems: [
|
|
159
162
|
{
|
|
160
163
|
name: 'Reports',
|
|
161
|
-
|
|
164
|
+
path: '/analytics/reports',
|
|
162
165
|
component: <ReportsPage />,
|
|
163
166
|
},
|
|
164
167
|
{
|
|
165
168
|
name: 'Insights',
|
|
166
|
-
|
|
169
|
+
path: '/analytics/insights',
|
|
167
170
|
component: <InsightsPage />,
|
|
168
171
|
},
|
|
169
172
|
],
|
|
170
173
|
},
|
|
171
174
|
{
|
|
172
175
|
name: 'Settings',
|
|
173
|
-
|
|
176
|
+
path: '/settings',
|
|
174
177
|
icon: <LucideIcons.Settings />,
|
|
175
178
|
component: <SettingsPage />,
|
|
176
179
|
},
|
|
177
|
-
{
|
|
178
|
-
name: 'Profile',
|
|
179
|
-
href: '/profile',
|
|
180
|
-
icon: <LucideIcons.User />,
|
|
181
|
-
component: <ProfilePage />,
|
|
182
|
-
hide: true,
|
|
183
|
-
},
|
|
184
180
|
];
|
|
185
181
|
|
|
186
182
|
function App() {
|
|
@@ -188,64 +184,115 @@ function App() {
|
|
|
188
184
|
<ThemeProvider
|
|
189
185
|
// Layout Configuration
|
|
190
186
|
layout="minimal" // 'classic' | 'minimal' | 'none'
|
|
191
|
-
menuItems={menuItems}
|
|
187
|
+
menuItems={menuItems} // Required for Standalone pattern
|
|
192
188
|
logo={{ name: 'My', secondName: 'App' }}
|
|
193
189
|
// Theme Configuration
|
|
194
|
-
brandColor="Blue"
|
|
195
|
-
mode="light"
|
|
196
|
-
//
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
dark: '#0d1321', // Custom hex color for dark mode background
|
|
202
|
-
light: '#fcfcfc', // Custom hex color for light mode background
|
|
203
|
-
}}
|
|
190
|
+
brandColor="Blue"
|
|
191
|
+
mode="light"
|
|
192
|
+
// Authentication (Required)
|
|
193
|
+
isAuthenticated={true} // Authentication state
|
|
194
|
+
loginUrl="/login" // Optional: redirect URL for unauthenticated users
|
|
195
|
+
// Optional: Override automatic route generation
|
|
196
|
+
customRoutes={<CustomRoutes />}
|
|
204
197
|
// UI Customization
|
|
205
|
-
showSettings={true}
|
|
206
|
-
rightButton={<UserMenu />}
|
|
207
|
-
headerClassName="custom-header" // Custom CSS classes for header
|
|
208
|
-
contentClassName="custom-content" // Custom CSS classes for content area
|
|
209
|
-
className="custom-layout" // Custom CSS classes for entire layout
|
|
210
|
-
fullWidth={false} // Enable/disable full width layout
|
|
211
|
-
// Advanced Configuration
|
|
212
|
-
withRouterProvider={true} // Enable/disable automatic React Router setup
|
|
213
|
-
customRoutes={<CustomRoutes />} // Custom React Router Routes element
|
|
214
|
-
settingActions={{
|
|
215
|
-
disabledPreset: false, // Disable color preset selector
|
|
216
|
-
disabledLayout: false, // Disable layout selector
|
|
217
|
-
disabledMode: false, // Disable dark/light mode toggle
|
|
218
|
-
disabledDirection: false, // Disable RTL/LTR direction toggle
|
|
219
|
-
}}
|
|
198
|
+
showSettings={true}
|
|
199
|
+
rightButton={<UserMenu />}
|
|
220
200
|
/>
|
|
221
201
|
);
|
|
222
202
|
}
|
|
223
203
|
```
|
|
224
204
|
|
|
205
|
+
### 3. **Micro Frontends (MFE) Pattern**
|
|
206
|
+
|
|
207
|
+
For micro-frontend architectures with explicit route configuration:
|
|
208
|
+
|
|
209
|
+
```tsx
|
|
210
|
+
import { ThemeProvider } from '@e-burgos/tucu-ui';
|
|
211
|
+
|
|
212
|
+
const appRoutesConfig = [
|
|
213
|
+
{
|
|
214
|
+
key: 'home',
|
|
215
|
+
path: '/',
|
|
216
|
+
element: <HomePage />,
|
|
217
|
+
isPublic: true, // Public route
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
key: 'dashboard',
|
|
221
|
+
path: '/dashboard',
|
|
222
|
+
element: <DashboardPage />,
|
|
223
|
+
isPublic: false, // Private route, requires authentication
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
key: 'settings',
|
|
227
|
+
path: '/settings',
|
|
228
|
+
element: <SettingsPage />,
|
|
229
|
+
isPublic: false,
|
|
230
|
+
},
|
|
231
|
+
];
|
|
232
|
+
|
|
233
|
+
function MfeApp() {
|
|
234
|
+
return (
|
|
235
|
+
<ThemeProvider
|
|
236
|
+
architecturalPatterns="mfe" // Activates MFE mode
|
|
237
|
+
basePath="/my-app" // Base path for the micro frontend
|
|
238
|
+
appRoutesConfig={appRoutesConfig} // Required for MFE
|
|
239
|
+
isAuthenticated={true} // Authentication state (Required)
|
|
240
|
+
loginUrl="/login" // Redirect URL for unauthenticated users (Required)
|
|
241
|
+
logo={{ name: 'MFE', secondName: 'App' }}
|
|
242
|
+
showSettings
|
|
243
|
+
/>
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**Key Differences:**
|
|
249
|
+
|
|
250
|
+
- **Standalone**: Uses `menuItems` for automatic route generation
|
|
251
|
+
- **MFE**: Uses `basePath` and `appRoutesConfig` for explicit route configuration with protection
|
|
252
|
+
- TypeScript ensures you use the correct props for each pattern
|
|
253
|
+
|
|
225
254
|
### **ThemeProvider Props Reference**
|
|
226
255
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
|
230
|
-
|
|
|
231
|
-
| `
|
|
232
|
-
| `
|
|
233
|
-
| `
|
|
234
|
-
| `
|
|
235
|
-
| `customPaletteColor
|
|
236
|
-
| `
|
|
237
|
-
| `
|
|
238
|
-
| `
|
|
239
|
-
| `
|
|
240
|
-
| `
|
|
241
|
-
| `
|
|
242
|
-
| `
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
|
247
|
-
|
|
|
248
|
-
| `
|
|
256
|
+
#### **Common Props (Both Patterns)**
|
|
257
|
+
|
|
258
|
+
| Prop | Type | Default | Description |
|
|
259
|
+
| -------------------- | ------------------------------------- | ----------- | --------------------------------------------------------------------------------- |
|
|
260
|
+
| `layout` | `'classic' \| 'minimal' \| 'none'` | `'minimal'` | Layout type: Classic (sidebar), Minimal (horizontal nav), None (no layout) |
|
|
261
|
+
| `logo` | `{name: string, secondName?: string}` | - | Application logo configuration |
|
|
262
|
+
| `brandColor` | `PresetColorType` | - | Primary brand color preset (auto-disabled if `customPaletteColor.primary` is set) |
|
|
263
|
+
| `mode` | `'light' \| 'dark'` | `'light'` | Initial theme mode |
|
|
264
|
+
| `customPaletteColor` | `object` | - | Advanced color customization |
|
|
265
|
+
| `showSettings` | `boolean` | `false` | Display settings panel toggle button |
|
|
266
|
+
| `rightButton` | `React.ReactNode` | - | Custom component for top-right header area |
|
|
267
|
+
| `headerClassName` | `string` | - | Custom CSS classes for header container |
|
|
268
|
+
| `contentClassName` | `string` | - | Custom CSS classes for main content area |
|
|
269
|
+
| `className` | `string` | - | Custom CSS classes for entire layout |
|
|
270
|
+
| `fullWidth` | `boolean` | `false` | Enable full-width layout (removes max-width constraints) |
|
|
271
|
+
| `settingActions` | `ISettingAction` | - | Control which settings are disabled in the settings panel |
|
|
272
|
+
|
|
273
|
+
#### **Standalone App Pattern Props**
|
|
274
|
+
|
|
275
|
+
| Prop | Type | Default | Description |
|
|
276
|
+
| ----------------------- | ------------------------------- | -------------- | ------------------------------------------------ |
|
|
277
|
+
| `architecturalPatterns` | `'standalone'` | `'standalone'` | Architectural pattern (default, can be omitted) |
|
|
278
|
+
| `menuItems` | `StandaloneAppRoutesMenuItem[]` | Required | Navigation menu items with routing configuration |
|
|
279
|
+
| `isAuthenticated` | `boolean` | Required | Authentication state for route protection |
|
|
280
|
+
| `loginUrl` | `string` | - | Optional: Redirect URL for unauthenticated users |
|
|
281
|
+
| `customRoutes` | `ReactElement<typeof Routes>` | - | Optional: Override automatic route generation |
|
|
282
|
+
| `withRouterProvider` | `boolean` | `true` | Enable automatic React Router setup |
|
|
283
|
+
|
|
284
|
+
#### **Micro Frontends (MFE) Pattern Props**
|
|
285
|
+
|
|
286
|
+
| Prop | Type | Default | Description |
|
|
287
|
+
| ----------------------- | --------------------- | -------- | ------------------------------------------------------ |
|
|
288
|
+
| `architecturalPatterns` | `'mfe'` | Required | Must be set to `'mfe'` to activate MFE mode |
|
|
289
|
+
| `basePath` | `string` | Required | Base path for the micro frontend (e.g., `/my-app`) |
|
|
290
|
+
| `appRoutesConfig` | `IAppRouteConfig[]` | Required | Explicit route configuration with protection |
|
|
291
|
+
| `isAuthenticated` | `boolean` | Required | Authentication state for route protection |
|
|
292
|
+
| `loginUrl` | `string` | Required | Redirect URL for unauthenticated users |
|
|
293
|
+
| `menuItems` | `AppRoutesMenuItem[]` | - | Optional: Navigation menu items (separate from routes) |
|
|
294
|
+
|
|
295
|
+
**Note:** TypeScript ensures type safety - you cannot mix Standalone and MFE props. The type system will show errors at compile time if you use incorrect props for the selected pattern.
|
|
249
296
|
|
|
250
297
|
### **useTheme Hook - Complete API**
|
|
251
298
|
|
|
@@ -318,27 +365,57 @@ function ThemeControls() {
|
|
|
318
365
|
|
|
319
366
|
### **Menu Items Structure**
|
|
320
367
|
|
|
368
|
+
#### **Standalone App Pattern**
|
|
369
|
+
|
|
321
370
|
```tsx
|
|
322
|
-
interface
|
|
371
|
+
interface StandaloneAppRoutesMenuItem {
|
|
323
372
|
name: string; // Display name
|
|
324
|
-
|
|
373
|
+
path: string; // Navigation URL path (route path)
|
|
374
|
+
href?: string; // Optional: external link URL (if different from path)
|
|
325
375
|
icon?: React.ReactNode; // Optional icon component
|
|
326
376
|
component: JSX.Element; // Page component to render
|
|
327
|
-
|
|
377
|
+
isPublic?: boolean; // Whether route is publicly accessible (default: true)
|
|
378
|
+
dropdownItems?: StandaloneAppRoutesMenuItem[]; // Nested submenu items
|
|
379
|
+
hide?: boolean; // Hide from navigation (default: false)
|
|
380
|
+
onClick?: () => void; // Optional click handler
|
|
381
|
+
}
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
#### **Micro Frontends (MFE) Pattern**
|
|
385
|
+
|
|
386
|
+
```tsx
|
|
387
|
+
interface IAppRouteConfig extends RouteProps {
|
|
388
|
+
key: string; // Unique identifier for the route
|
|
389
|
+
path: string; // Route path
|
|
390
|
+
element: JSX.Element; // Component to render
|
|
391
|
+
isPublic?: boolean; // Whether the route is publicly accessible
|
|
392
|
+
disabled?: boolean; // Whether the route is disabled
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
interface AppRoutesMenuItem {
|
|
396
|
+
name: string; // Display name (for navigation menu)
|
|
397
|
+
path: string; // Navigation URL path
|
|
398
|
+
href?: string; // Optional: external link URL (if different from path)
|
|
399
|
+
icon?: React.ReactNode; // Optional icon component
|
|
328
400
|
hide?: boolean; // Hide from navigation (default: false)
|
|
329
401
|
onClick?: () => void; // Optional click handler
|
|
402
|
+
// Note: component is NOT used in MFE pattern - routes are defined in appRoutesConfig
|
|
330
403
|
}
|
|
331
404
|
```
|
|
332
405
|
|
|
333
406
|
### **Available Color Presets**
|
|
334
407
|
|
|
335
|
-
Tucu UI includes
|
|
408
|
+
Tucu UI includes 34+ built-in color presets with 12-layer color architecture:
|
|
336
409
|
|
|
337
410
|
**Basic Colors:** Green, Black, Blue, Red, Purple, Orange, Rose, Pink, Yellow, Lime, Teal, Cyan
|
|
338
411
|
|
|
339
|
-
**Extended Colors:** Navy, Maroon, Brown, Gray, Silver, Gold, Coral, Salmon
|
|
412
|
+
**Extended Colors:** Navy, Maroon, Brown, Gray, Silver, Gold, Coral, Salmon, Chocolate, Tan, Beige
|
|
413
|
+
|
|
414
|
+
**Modern Colors:** Mint, Lavender, Violet, BufusBlue, Bufus, BufusAccent, BufusDark
|
|
415
|
+
|
|
416
|
+
**Theme Colors:** ThemeLight, ThemeDark
|
|
340
417
|
|
|
341
|
-
|
|
418
|
+
Each preset includes 12 color layers: primary, dark primary, secondary, dark secondary, accent, dark accent, muted, dark muted, and background variations.
|
|
342
419
|
|
|
343
420
|
### **Theme Persistence**
|
|
344
421
|
|
|
@@ -367,14 +444,33 @@ All theme settings (colors, layout, mode, direction) are automatically persisted
|
|
|
367
444
|
- No predefined layout structure
|
|
368
445
|
- Perfect for auth pages and custom designs
|
|
369
446
|
|
|
447
|
+
### **Architectural Patterns**
|
|
448
|
+
|
|
449
|
+
Tucu UI supports two architectural patterns for different use cases:
|
|
450
|
+
|
|
451
|
+
#### **Standalone App Pattern (Default)**
|
|
452
|
+
|
|
453
|
+
- Automatic route generation from `menuItems`
|
|
454
|
+
- Simple configuration with menu-driven navigation
|
|
455
|
+
- Perfect for single-page applications
|
|
456
|
+
- Optional `customRoutes` for advanced routing needs
|
|
457
|
+
|
|
458
|
+
#### **Micro Frontends (MFE) Pattern**
|
|
459
|
+
|
|
460
|
+
- Explicit route configuration with `appRoutesConfig`
|
|
461
|
+
- Route protection with `isPublic` and `isAuthenticated`
|
|
462
|
+
- Base path support for micro-frontend integration
|
|
463
|
+
- TypeScript ensures correct prop usage for each pattern
|
|
464
|
+
|
|
370
465
|
### **Automatic Features**
|
|
371
466
|
|
|
372
467
|
- ✅ **Responsive Design** - Mobile drawer, tablet adaptations
|
|
373
468
|
- ✅ **Dark/Light Mode** - Automatic theme switching
|
|
374
469
|
- ✅ **RTL Support** - Full right-to-left language support
|
|
375
|
-
- ✅ **Brand Colors** -
|
|
470
|
+
- ✅ **Brand Colors** - 34+ color presets with multi-layer architecture
|
|
376
471
|
- ✅ **Settings Panel** - Built-in user customization
|
|
377
|
-
- ✅ **Routing Integration** - Automatic route generation
|
|
472
|
+
- ✅ **Routing Integration** - Automatic route generation (Standalone) or explicit configuration (MFE)
|
|
473
|
+
- ✅ **Type Safety** - TypeScript discriminated unions ensure correct pattern usage
|
|
378
474
|
|
|
379
475
|
### **Theme Management**
|
|
380
476
|
|
|
@@ -712,7 +808,7 @@ import {
|
|
|
712
808
|
### **Layout & Navigation**
|
|
713
809
|
|
|
714
810
|
```tsx
|
|
715
|
-
import { Modal, Drawer, CardContainer, PanelActionCard } from '@e-burgos/tucu-ui';
|
|
811
|
+
import { Modal, Drawer, CardContainer, PanelActionCard, Carousel, CarouselCards, CarouselImage } from '@e-burgos/tucu-ui';
|
|
716
812
|
|
|
717
813
|
// Modal with Accessibility
|
|
718
814
|
<Modal
|
|
@@ -748,10 +844,52 @@ import { Modal, Drawer, CardContainer, PanelActionCard } from '@e-burgos/tucu-ui
|
|
|
748
844
|
</PanelActionCard>
|
|
749
845
|
```
|
|
750
846
|
|
|
847
|
+
### **Carousel Components**
|
|
848
|
+
|
|
849
|
+
Complete carousel system with multiple variants:
|
|
850
|
+
|
|
851
|
+
```tsx
|
|
852
|
+
import { Carousel, CarouselCards, CarouselImage } from '@e-burgos/tucu-ui';
|
|
853
|
+
|
|
854
|
+
// Basic Carousel
|
|
855
|
+
<Carousel
|
|
856
|
+
slidesPerView={1}
|
|
857
|
+
spaceBetween={20}
|
|
858
|
+
showNavigation
|
|
859
|
+
showPagination
|
|
860
|
+
autoplay={{ delay: 3000 }}
|
|
861
|
+
loop
|
|
862
|
+
>
|
|
863
|
+
<div>Slide 1</div>
|
|
864
|
+
<div>Slide 2</div>
|
|
865
|
+
<div>Slide 3</div>
|
|
866
|
+
</Carousel>
|
|
867
|
+
|
|
868
|
+
// Card Carousel
|
|
869
|
+
<CarouselCards
|
|
870
|
+
cards={[
|
|
871
|
+
{ title: 'Card 1', description: 'Description 1', content: <div>Content 1</div> },
|
|
872
|
+
{ title: 'Card 2', description: 'Description 2', content: <div>Content 2</div> },
|
|
873
|
+
]}
|
|
874
|
+
showNavigation
|
|
875
|
+
showPagination
|
|
876
|
+
/>
|
|
877
|
+
|
|
878
|
+
// Image Carousel
|
|
879
|
+
<CarouselImage
|
|
880
|
+
images={[
|
|
881
|
+
{ src: '/image1.jpg', alt: 'Image 1', title: 'Title 1' },
|
|
882
|
+
{ src: '/image2.jpg', alt: 'Image 2', title: 'Title 2' },
|
|
883
|
+
]}
|
|
884
|
+
showNavigation
|
|
885
|
+
showPagination
|
|
886
|
+
/>
|
|
887
|
+
```
|
|
888
|
+
|
|
751
889
|
### **Feedback Components**
|
|
752
890
|
|
|
753
891
|
```tsx
|
|
754
|
-
import { Alert,
|
|
892
|
+
import { Alert, useToastStore } from '@e-burgos/tucu-ui';
|
|
755
893
|
|
|
756
894
|
// Alert Messages
|
|
757
895
|
<Alert variant="success" dismissible>
|
|
@@ -764,10 +902,11 @@ import { Alert, Toast, useToast } from '@e-burgos/tucu-ui';
|
|
|
764
902
|
|
|
765
903
|
// Toast Notifications
|
|
766
904
|
function ToastExample() {
|
|
767
|
-
const {
|
|
905
|
+
const { addToast } = useToastStore();
|
|
768
906
|
|
|
769
907
|
const showToast = () => {
|
|
770
|
-
|
|
908
|
+
addToast({
|
|
909
|
+
id: Date.now().toString(),
|
|
771
910
|
title: 'Success!',
|
|
772
911
|
message: 'Your profile has been updated',
|
|
773
912
|
variant: 'success',
|
|
@@ -780,20 +919,52 @@ function ToastExample() {
|
|
|
780
919
|
|
|
781
920
|
## 🎣 Utility Hooks
|
|
782
921
|
|
|
922
|
+
Comprehensive collection of custom React hooks for common patterns:
|
|
923
|
+
|
|
783
924
|
```tsx
|
|
784
|
-
import { useBreakpoint, useIsMobile, useCopyToClipboard, useClickAway, useElementSize, useLockBodyScroll } from '@e-burgos/tucu-ui';
|
|
925
|
+
import { useBreakpoint, useIsMobile, useCopyToClipboard, useClickAway, useElementSize, useMeasure, useLockBodyScroll, useToastStore, useGridSwitcher } from '@e-burgos/tucu-ui';
|
|
785
926
|
|
|
786
927
|
function UtilityExample() {
|
|
787
|
-
|
|
788
|
-
const
|
|
928
|
+
// Responsive Hooks
|
|
929
|
+
const breakpoint = useBreakpoint(); // 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl'
|
|
930
|
+
const { isMobile } = useIsMobile();
|
|
931
|
+
|
|
932
|
+
// Element Measurement
|
|
933
|
+
const [ref, { width, height }] = useElementSize();
|
|
934
|
+
const [measureRef, bounds] = useMeasure();
|
|
935
|
+
|
|
936
|
+
// Interaction Hooks
|
|
789
937
|
const [copiedText, copy] = useCopyToClipboard();
|
|
938
|
+
const clickAwayRef = useRef(null);
|
|
939
|
+
useClickAway(clickAwayRef, () => setIsOpen(false));
|
|
940
|
+
|
|
941
|
+
// UI State Management
|
|
942
|
+
const { addToast, dismissToast, toasts } = useToastStore();
|
|
943
|
+
const { isGridCompact, setIsGridCompact } = useGridSwitcher();
|
|
790
944
|
|
|
791
945
|
return (
|
|
792
946
|
<div>
|
|
793
947
|
<p>Current breakpoint: {breakpoint}</p>
|
|
794
948
|
{isMobile && <MobileOnlyComponent />}
|
|
795
949
|
|
|
950
|
+
<div ref={ref}>
|
|
951
|
+
Size: {width} × {height}px
|
|
952
|
+
</div>
|
|
953
|
+
|
|
796
954
|
<button onClick={() => copy('Hello World!')}>{copiedText ? 'Copied!' : 'Copy Text'}</button>
|
|
955
|
+
|
|
956
|
+
<button
|
|
957
|
+
onClick={() =>
|
|
958
|
+
addToast({
|
|
959
|
+
id: Date.now().toString(),
|
|
960
|
+
title: 'Success!',
|
|
961
|
+
message: 'Operation completed',
|
|
962
|
+
variant: 'success',
|
|
963
|
+
})
|
|
964
|
+
}
|
|
965
|
+
>
|
|
966
|
+
Show Toast
|
|
967
|
+
</button>
|
|
797
968
|
</div>
|
|
798
969
|
);
|
|
799
970
|
}
|
|
@@ -807,7 +978,7 @@ import { SignInForm, SignUpForm, ForgetPasswordForm, ResetPinForm } from '@e-bur
|
|
|
807
978
|
// Complete authentication flow
|
|
808
979
|
function AuthPages() {
|
|
809
980
|
return (
|
|
810
|
-
<ThemeProvider layout="none" menuItems={[]}>
|
|
981
|
+
<ThemeProvider layout="none" menuItems={[]} isAuthenticated={false} loginUrl="/login">
|
|
811
982
|
<div className="min-h-screen flex items-center justify-center">
|
|
812
983
|
{/* Sign In with validation */}
|
|
813
984
|
<SignInForm forgetPasswordPath="/forgot-password" />
|
|
@@ -832,14 +1003,21 @@ Tucu UI includes comprehensive documentation pages to help you get started:
|
|
|
832
1003
|
- **Introduction** - Overview and getting started guide
|
|
833
1004
|
- **TailwindV4** - Complete Tailwind CSS v4 integration guide with 15 utility categories
|
|
834
1005
|
- **Features** - Explore all available features and utilities
|
|
1006
|
+
- **Routing System** - Standalone and MFE architectural patterns
|
|
1007
|
+
- **Icons System** - 5000+ Lucide icons + 97+ custom icons
|
|
1008
|
+
- **Hooks Utilities** - Custom React hooks for common patterns
|
|
1009
|
+
- **Accessibility** - WCAG 2.1 AA compliance and best practices
|
|
835
1010
|
- **Components** - Component library overview and usage patterns
|
|
1011
|
+
- **UI Components** - 43+ UI components (buttons, cards, dialogs, notifications, etc.)
|
|
1012
|
+
- **Input Components** - 11+ form input components
|
|
1013
|
+
- **Blockchain Components** - 9+ specialized DeFi/Web3 components
|
|
1014
|
+
- **Form System** - Complete form solution with validation
|
|
1015
|
+
- **Form Examples** - Interactive examples and real-world patterns
|
|
1016
|
+
- **Code Examples** - Implementation patterns and best practices
|
|
836
1017
|
- **Theming Guide** - Advanced theming and customization options
|
|
837
1018
|
- **Design System** - Visual design principles and guidelines
|
|
838
1019
|
- **Colors** - Complete color palette and theming system
|
|
839
1020
|
- **Layout System** - Responsive layout patterns and techniques
|
|
840
|
-
- **Icons System** - Icon library and usage guidelines
|
|
841
|
-
- **Accessibility** - Accessibility features and WCAG compliance
|
|
842
|
-
- **Hooks Utilities** - Custom React hooks for common patterns
|
|
843
1021
|
|
|
844
1022
|
### **15 Tailwind CSS v4 Utility Documentation Pages**
|
|
845
1023
|
|
|
@@ -859,7 +1037,7 @@ Comprehensive documentation for all Tailwind utilities:
|
|
|
859
1037
|
- **SVG Utilities** - Fill, stroke, stroke-width
|
|
860
1038
|
- **Accessibility Utilities** - Screen reader and focus utilities
|
|
861
1039
|
|
|
862
|
-
### **Modern Dashboard**
|
|
1040
|
+
### **Modern Dashboard (Standalone Pattern)**
|
|
863
1041
|
|
|
864
1042
|
```tsx
|
|
865
1043
|
import { ThemeProvider, LucideIcons, useTheme } from '@e-burgos/tucu-ui';
|
|
@@ -867,31 +1045,31 @@ import { ThemeProvider, LucideIcons, useTheme } from '@e-burgos/tucu-ui';
|
|
|
867
1045
|
const dashboardMenuItems = [
|
|
868
1046
|
{
|
|
869
1047
|
name: 'Overview',
|
|
870
|
-
|
|
1048
|
+
path: '/',
|
|
871
1049
|
icon: <LucideIcons.LayoutDashboard />,
|
|
872
1050
|
component: <OverviewPage />,
|
|
873
1051
|
},
|
|
874
1052
|
{
|
|
875
1053
|
name: 'Analytics',
|
|
876
|
-
|
|
1054
|
+
path: '/analytics',
|
|
877
1055
|
icon: <LucideIcons.BarChart3 />,
|
|
878
1056
|
component: <AnalyticsPage />,
|
|
879
1057
|
dropdownItems: [
|
|
880
1058
|
{
|
|
881
1059
|
name: 'Reports',
|
|
882
|
-
|
|
1060
|
+
path: '/analytics/reports',
|
|
883
1061
|
component: <ReportsPage />,
|
|
884
1062
|
},
|
|
885
1063
|
{
|
|
886
1064
|
name: 'Real-time',
|
|
887
|
-
|
|
1065
|
+
path: '/analytics/realtime',
|
|
888
1066
|
component: <RealtimePage />,
|
|
889
1067
|
},
|
|
890
1068
|
],
|
|
891
1069
|
},
|
|
892
1070
|
{
|
|
893
1071
|
name: 'Users',
|
|
894
|
-
|
|
1072
|
+
path: '/users',
|
|
895
1073
|
icon: <LucideIcons.Users />,
|
|
896
1074
|
component: <UsersPage />,
|
|
897
1075
|
},
|
|
@@ -901,9 +1079,11 @@ function Dashboard() {
|
|
|
901
1079
|
return (
|
|
902
1080
|
<ThemeProvider
|
|
903
1081
|
layout="classic"
|
|
904
|
-
menuItems={dashboardMenuItems}
|
|
1082
|
+
menuItems={dashboardMenuItems} // Standalone pattern (default)
|
|
1083
|
+
isAuthenticated={true}
|
|
1084
|
+
loginUrl="/login"
|
|
905
1085
|
logo={{ name: 'Admin', secondName: 'Panel' }}
|
|
906
|
-
brandColor="BufusBlue"
|
|
1086
|
+
brandColor="BufusBlue"
|
|
907
1087
|
showSettings={true}
|
|
908
1088
|
rightButton={<UserProfileMenu />}
|
|
909
1089
|
/>
|
|
@@ -911,7 +1091,7 @@ function Dashboard() {
|
|
|
911
1091
|
}
|
|
912
1092
|
```
|
|
913
1093
|
|
|
914
|
-
### **DeFi Application**
|
|
1094
|
+
### **DeFi Application (Standalone Pattern)**
|
|
915
1095
|
|
|
916
1096
|
```tsx
|
|
917
1097
|
import { ThemeProvider, CoinCard, LivePriceFeed, LucideIcons } from '@e-burgos/tucu-ui';
|
|
@@ -919,30 +1099,83 @@ import { ThemeProvider, CoinCard, LivePriceFeed, LucideIcons } from '@e-burgos/t
|
|
|
919
1099
|
const defiMenuItems = [
|
|
920
1100
|
{
|
|
921
1101
|
name: 'Portfolio',
|
|
922
|
-
|
|
1102
|
+
path: '/',
|
|
923
1103
|
icon: <LucideIcons.Wallet />,
|
|
924
1104
|
component: <PortfolioPage />,
|
|
925
1105
|
},
|
|
926
1106
|
{
|
|
927
1107
|
name: 'Swap',
|
|
928
|
-
|
|
1108
|
+
path: '/swap',
|
|
929
1109
|
icon: <LucideIcons.ArrowLeftRight />,
|
|
930
1110
|
component: <SwapPage />,
|
|
931
1111
|
},
|
|
932
1112
|
{
|
|
933
1113
|
name: 'Staking',
|
|
934
|
-
|
|
1114
|
+
path: '/staking',
|
|
935
1115
|
icon: <LucideIcons.Coins />,
|
|
936
1116
|
component: <StakingPage />,
|
|
937
1117
|
},
|
|
938
1118
|
];
|
|
939
1119
|
|
|
940
1120
|
function DeFiApp() {
|
|
941
|
-
return
|
|
1121
|
+
return (
|
|
1122
|
+
<ThemeProvider
|
|
1123
|
+
layout="minimal"
|
|
1124
|
+
menuItems={defiMenuItems} // Standalone pattern
|
|
1125
|
+
isAuthenticated={true}
|
|
1126
|
+
loginUrl="/login"
|
|
1127
|
+
logo={{ name: 'DeFi', secondName: 'Portfolio' }}
|
|
1128
|
+
brandColor="Green"
|
|
1129
|
+
rightButton={<WalletConnector />}
|
|
1130
|
+
/>
|
|
1131
|
+
);
|
|
942
1132
|
}
|
|
943
1133
|
```
|
|
944
1134
|
|
|
945
|
-
### **
|
|
1135
|
+
### **Micro Frontend Application (MFE Pattern)**
|
|
1136
|
+
|
|
1137
|
+
```tsx
|
|
1138
|
+
import { ThemeProvider, LucideIcons } from '@e-burgos/tucu-ui';
|
|
1139
|
+
|
|
1140
|
+
const appRoutesConfig = [
|
|
1141
|
+
{
|
|
1142
|
+
key: 'portfolio',
|
|
1143
|
+
path: '/',
|
|
1144
|
+
element: <PortfolioPage />,
|
|
1145
|
+
isPublic: false,
|
|
1146
|
+
},
|
|
1147
|
+
{
|
|
1148
|
+
key: 'swap',
|
|
1149
|
+
path: '/swap',
|
|
1150
|
+
element: <SwapPage />,
|
|
1151
|
+
isPublic: false,
|
|
1152
|
+
},
|
|
1153
|
+
{
|
|
1154
|
+
key: 'staking',
|
|
1155
|
+
path: '/staking',
|
|
1156
|
+
element: <StakingPage />,
|
|
1157
|
+
isPublic: false,
|
|
1158
|
+
},
|
|
1159
|
+
];
|
|
1160
|
+
|
|
1161
|
+
function MfeDeFiApp() {
|
|
1162
|
+
const isAuthenticated = useAuth(); // Your auth hook
|
|
1163
|
+
|
|
1164
|
+
return (
|
|
1165
|
+
<ThemeProvider
|
|
1166
|
+
architecturalPatterns="mfe" // MFE pattern
|
|
1167
|
+
basePath="/defi-app"
|
|
1168
|
+
appRoutesConfig={appRoutesConfig}
|
|
1169
|
+
isAuthenticated={isAuthenticated}
|
|
1170
|
+
loginUrl="/login" // Required for MFE pattern
|
|
1171
|
+
logo={{ name: 'DeFi', secondName: 'MFE' }}
|
|
1172
|
+
brandColor="Green"
|
|
1173
|
+
/>
|
|
1174
|
+
);
|
|
1175
|
+
}
|
|
1176
|
+
```
|
|
1177
|
+
|
|
1178
|
+
### **E-commerce Platform (Standalone Pattern)**
|
|
946
1179
|
|
|
947
1180
|
```tsx
|
|
948
1181
|
import { ThemeProvider, LucideIcons, Form, FormField, Input } from '@e-burgos/tucu-ui';
|
|
@@ -950,26 +1183,36 @@ import { ThemeProvider, LucideIcons, Form, FormField, Input } from '@e-burgos/tu
|
|
|
950
1183
|
const ecommerceMenuItems = [
|
|
951
1184
|
{
|
|
952
1185
|
name: 'Products',
|
|
953
|
-
|
|
1186
|
+
path: '/products',
|
|
954
1187
|
icon: <LucideIcons.Package />,
|
|
955
1188
|
component: <ProductsPage />,
|
|
956
1189
|
},
|
|
957
1190
|
{
|
|
958
1191
|
name: 'Orders',
|
|
959
|
-
|
|
1192
|
+
path: '/orders',
|
|
960
1193
|
icon: <LucideIcons.ShoppingCart />,
|
|
961
1194
|
component: <OrdersPage />,
|
|
962
1195
|
},
|
|
963
1196
|
{
|
|
964
1197
|
name: 'Customers',
|
|
965
|
-
|
|
1198
|
+
path: '/customers',
|
|
966
1199
|
icon: <LucideIcons.Users />,
|
|
967
1200
|
component: <CustomersPage />,
|
|
968
1201
|
},
|
|
969
1202
|
];
|
|
970
1203
|
|
|
971
1204
|
function EcommerceAdmin() {
|
|
972
|
-
return
|
|
1205
|
+
return (
|
|
1206
|
+
<ThemeProvider
|
|
1207
|
+
layout="classic"
|
|
1208
|
+
menuItems={ecommerceMenuItems} // Standalone pattern
|
|
1209
|
+
isAuthenticated={true}
|
|
1210
|
+
loginUrl="/login"
|
|
1211
|
+
logo={{ name: 'Shop', secondName: 'Admin' }}
|
|
1212
|
+
brandColor="Purple"
|
|
1213
|
+
showSettings={true}
|
|
1214
|
+
/>
|
|
1215
|
+
);
|
|
973
1216
|
}
|
|
974
1217
|
```
|
|
975
1218
|
|
|
@@ -977,7 +1220,7 @@ function EcommerceAdmin() {
|
|
|
977
1220
|
|
|
978
1221
|
### **Advanced Color System**
|
|
979
1222
|
|
|
980
|
-
Tucu UI supports a multi-layered color system with
|
|
1223
|
+
Tucu UI supports a multi-layered color system with 34+ presets and 12-layer color architecture:
|
|
981
1224
|
|
|
982
1225
|
```tsx
|
|
983
1226
|
<ThemeProvider
|
|
@@ -1101,8 +1344,7 @@ Contributions are welcome! Please:
|
|
|
1101
1344
|
|
|
1102
1345
|
## 🌐 Community & Support
|
|
1103
1346
|
|
|
1104
|
-
- **📚 [Documentation](https://
|
|
1105
|
-
- **🎨 [Storybook](https://main--683712ba90eaad206f988c65.chromatic.com/)** - Interactive component explorer
|
|
1347
|
+
- **📚 [Documentation](https://tucu-ui.netlify.app/)** - Complete guides and examples
|
|
1106
1348
|
- **🐛 [Issues](https://github.com/e-burgos/tucu-ui/issues)** - Report bugs and request features
|
|
1107
1349
|
- **💬 [Discussions](https://github.com/e-burgos/tucu-ui/discussions)** - Community support and ideas
|
|
1108
1350
|
|