@e-burgos/tucu-ui 2.0.2 → 2.0.3

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 (448) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/README.md +51 -15
  3. package/components/blockchain/coin-listbox.d.ts +5 -1
  4. package/components/buttons/button/index.d.ts +9 -1
  5. package/components/common/index.d.ts +1 -0
  6. package/components/common/tooltip.d.ts +39 -0
  7. package/components/inputs/file-input.d.ts +2 -2
  8. package/components/typography/index.d.ts +10 -1
  9. package/demo/components/auto-props-table.d.ts +16 -0
  10. package/demo/components/dynamic-sections-page.d.ts +48 -0
  11. package/demo/components/index.d.ts +3 -0
  12. package/demo/components/prop-playground.d.ts +18 -0
  13. package/demo/components/table-of-contents.d.ts +4 -0
  14. package/demo/generated/props-metadata.d.ts +23 -0
  15. package/demo/index.d.ts +1 -0
  16. package/demo/pages/blockchain/BlockchainComponents.d.ts +1 -0
  17. package/demo/pages/components/UiComponents.d.ts +1 -0
  18. package/demo/pages/components/ui-components-sections/TooltipSection.d.ts +3 -0
  19. package/documentation/APIReferenceSection-B2oYdmby.js +1 -0
  20. package/{APIReferenceSection-DIjWDVUT.mjs → documentation/APIReferenceSection-h-8Utbap.js} +1 -1
  21. package/documentation/ActiveLinkSection-C95OfpHr.js +22 -0
  22. package/documentation/ActiveLinkSection-CdXQGIsJ.js +81 -0
  23. package/{AdvancedColorSystemSection-CPywSlwi.mjs → documentation/AdvancedColorSystemSection-BQshRXTc.js} +1 -1
  24. package/documentation/AdvancedColorSystemSection-BtpxH8Mu.js +17 -0
  25. package/documentation/AdvancedFeaturesSection-BdL5enY8.js +1 -0
  26. package/{AdvancedFeaturesSection-BZli4uQf.mjs → documentation/AdvancedFeaturesSection-DNsHjabp.js} +1 -1
  27. package/{AdvancedFeaturesSection-CfxJrpgL.mjs → documentation/AdvancedFeaturesSection-Ht5TTHY8.js} +1 -1
  28. package/documentation/AdvancedFeaturesSection-VcHwYejS.js +1 -0
  29. package/{AlertSection-CrmVofrn.mjs → documentation/AlertSection-CkPDRBrP.js} +28 -73
  30. package/{AlertSection-BC888Ug4.js → documentation/AlertSection-ZNoVAqQG.js} +2 -2
  31. package/documentation/AnchorLinkSection-BwEq_xXD.js +67 -0
  32. package/documentation/AnchorLinkSection-Db8dVTL1.js +19 -0
  33. package/{ArchitecturalPatternsComparisonSection-Bi55jiL7.mjs → documentation/ArchitecturalPatternsComparisonSection-0JvWXvga.js} +1 -1
  34. package/documentation/ArchitecturalPatternsComparisonSection-_ICdjaay.js +31 -0
  35. package/{ArchitectureOverviewSection-Da61yY3U.mjs → documentation/ArchitectureOverviewSection-A86tJq4O.js} +1 -1
  36. package/documentation/ArchitectureOverviewSection-J96NVKkD.js +1 -0
  37. package/documentation/AuthorCardSection-BSX9oAo1.js +81 -0
  38. package/documentation/AuthorCardSection-CYkh23Xg.js +17 -0
  39. package/documentation/AvatarSection-BvtKvbAp.js +18 -0
  40. package/documentation/AvatarSection-LVqlXwpv.js +91 -0
  41. package/documentation/BadgeSection-CeyBqNzE.js +48 -0
  42. package/{BadgeSection-CbWNwtHa.mjs → documentation/BadgeSection-wnv6WJoJ.js} +33 -90
  43. package/documentation/BasicTableSection-DHR7wxMf.js +103 -0
  44. package/documentation/BasicTableSection-Djqd7GTc.js +35 -0
  45. package/{BasicUsageSection-DzJXFb3O.js → documentation/BasicUsageSection-CAOyX6Rh.js} +1 -1
  46. package/{BasicUsageSection-Cqw9mQqJ.mjs → documentation/BasicUsageSection-RB5uqmJE.js} +1 -1
  47. package/documentation/BestPracticesSection-7oPmBTjr.js +1 -0
  48. package/{BestPracticesSection-Pnux3-yB.mjs → documentation/BestPracticesSection-BAi4u6sT.js} +1 -1
  49. package/documentation/BestPracticesSection-C72mSxPs.js +1 -0
  50. package/documentation/BestPracticesSection-CCUAVucV.js +1 -0
  51. package/{BestPracticesSection-qddzHZ3e.mjs → documentation/BestPracticesSection-CfKUd_V5.js} +1 -1
  52. package/{BestPracticesSection-BbK7lnbj.mjs → documentation/BestPracticesSection-CrduKU11.js} +1 -1
  53. package/documentation/BestPracticesSection-D2ahvfz_.js +1 -0
  54. package/documentation/BestPracticesSection-DO-w9jZN.js +1 -0
  55. package/{BestPracticesSection-BuiTuJJa.mjs → documentation/BestPracticesSection-DVOUUyCP.js} +1 -1
  56. package/{BestPracticesSection-CeDkvrdJ.mjs → documentation/BestPracticesSection-De_JKhUW.js} +1 -1
  57. package/{BestPracticesSection-rjxGw6K9.mjs → documentation/BestPracticesSection-Dki1wap5.js} +1 -1
  58. package/documentation/BestPracticesSection-Dlv7tr8A.js +1 -0
  59. package/{BestPracticesSection-BVDNKve6.mjs → documentation/BestPracticesSection-FNEhFmPF.js} +1 -1
  60. package/documentation/BestPracticesSection-Y7WVzfHX.js +1 -0
  61. package/{BorderRadiusSection-DMscu-5M.mjs → documentation/BorderRadiusSection-B7LfzLmt.js} +1 -1
  62. package/documentation/BorderRadiusSection-CuLZQqX2.js +1 -0
  63. package/documentation/ButtonDripSection-BaIO6Rop.js +113 -0
  64. package/documentation/ButtonDripSection-Rv6xpiKS.js +21 -0
  65. package/documentation/ButtonLoaderSection-Bkzh89oP.js +30 -0
  66. package/{ButtonLoaderSection-5Yu15Qui.mjs → documentation/ButtonLoaderSection-DGVKD9wI.js} +55 -27
  67. package/documentation/CardContainerSection-DLXPs9aW.js +21 -0
  68. package/documentation/CardContainerSection-t72sN0zL.js +63 -0
  69. package/documentation/CardTitleSection-BEHmdfF6.js +19 -0
  70. package/documentation/CardTitleSection-CTcugicF.js +74 -0
  71. package/documentation/CarouselCardsSection-ByrjTL9x.js +147 -0
  72. package/documentation/CarouselCardsSection-DtCx9w5B.js +37 -0
  73. package/documentation/CarouselImageSection-BDMpTyte.js +152 -0
  74. package/documentation/CarouselImageSection-CknDEAfU.js +38 -0
  75. package/documentation/CarouselSection-Cq5jgcQD.js +24 -0
  76. package/documentation/CarouselSection-hLHYsvmh.js +99 -0
  77. package/{CheckboxSection-CywmKcfM.mjs → documentation/CheckboxSection-CUQtdDzh.js} +29 -113
  78. package/documentation/CheckboxSection-D8FFt0Os.js +26 -0
  79. package/{CodeExamplesSection-DiNpllP9.mjs → documentation/CodeExamplesSection-2v_8YfcX.js} +1 -1
  80. package/{CodeExamplesSection-TOAvzng7.js → documentation/CodeExamplesSection-Dp2gzpx3.js} +1 -1
  81. package/documentation/CoinCardSection-1WqRM1ph.js +13 -0
  82. package/{CoinCardSection-CqHPetPK.mjs → documentation/CoinCardSection-CPsesOWx.js} +23 -101
  83. package/documentation/CoinInfoCardSection-B562WBTv.js +120 -0
  84. package/documentation/CoinInfoCardSection-Dk6J8sls.js +12 -0
  85. package/documentation/CoinListBoxSection-Cu1MDV2Y.js +24 -0
  86. package/documentation/CoinListBoxSection-DzyzZBwk.js +106 -0
  87. package/documentation/CollapseSection-7-rrT_DY.js +27 -0
  88. package/{CollapseSection-CN8kEU1q.mjs → documentation/CollapseSection-Bym6R86D.js} +20 -60
  89. package/documentation/CollectionCardSection-BPILGSjR.js +17 -0
  90. package/documentation/CollectionCardSection-Cowt-8gl.js +61 -0
  91. package/documentation/CollectionSelectListSection-BUyInNdh.js +14 -0
  92. package/documentation/CollectionSelectListSection-C1hTywH1.js +60 -0
  93. package/documentation/ColorCustomizationSection-DirQ1xkR.js +1 -0
  94. package/{ColorCustomizationSection-D3XqLRTg.mjs → documentation/ColorCustomizationSection-fpbQFBeg.js} +1 -1
  95. package/documentation/ColorSystemSection-BIiffohC.js +1 -0
  96. package/{ColorSystemSection-Bd5DQT9I.mjs → documentation/ColorSystemSection-BTPZDmaU.js} +1 -1
  97. package/{CommonErrorsSection-zDPJ6FaL.mjs → documentation/CommonErrorsSection-BVjBH-q3.js} +1 -1
  98. package/documentation/CommonErrorsSection-DqohMJDt.js +1 -0
  99. package/documentation/ComponentAnatomySection-B6L2nQg2.js +1 -0
  100. package/{ComponentAnatomySection-CgEKcT_J.mjs → documentation/ComponentAnatomySection-GUman0lW.js} +1 -1
  101. package/documentation/ComponentStatusSection-BPatrERs.js +1 -0
  102. package/{ComponentStatusSection-D2f_P7g7.mjs → documentation/ComponentStatusSection-DS8Kmh6W.js} +1 -1
  103. package/documentation/CurrencySwapIconsSection-B_qLwzXO.js +50 -0
  104. package/documentation/CurrencySwapIconsSection-WWqd6aBI.js +7 -0
  105. package/{CustomColorPaletteSection-Dm0mCSjh.mjs → documentation/CustomColorPaletteSection-Beh-1TnY.js} +1 -1
  106. package/{CustomColorPaletteSection-qptATYNr.js → documentation/CustomColorPaletteSection-DHw4bInM.js} +1 -1
  107. package/{CustomIconsSection-Bq0kNytf.mjs → documentation/CustomIconsSection-BnJuOM-H.js} +1 -1
  108. package/documentation/CustomIconsSection-CSRr6wkJ.js +3 -0
  109. package/{DefiAppLogoSection-CJDd6Q3u.mjs → documentation/DefiAppLogoSection-BKoj5nMS.js} +1 -1
  110. package/documentation/DefiAppLogoSection-BlgJ2b-2.js +36 -0
  111. package/documentation/DesignPrinciplesSection-DEO6bctH.js +1 -0
  112. package/{DesignPrinciplesSection-BSGshMjS.mjs → documentation/DesignPrinciplesSection-sziQNoBU.js} +1 -1
  113. package/documentation/DrawerSection-Bl44QTjH.js +145 -0
  114. package/documentation/DrawerSection-Ddkq7twy.js +41 -0
  115. package/{DynamicRoutesSection-CCuRhQAn.mjs → documentation/DynamicRoutesSection-CwIKExBG.js} +1 -1
  116. package/{DynamicRoutesSection-SDAbSJi8.js → documentation/DynamicRoutesSection-DzYD6DrX.js} +1 -1
  117. package/{FileInputSection-CbkYToil.mjs → documentation/FileInputSection-2C2qHF7f.js} +1 -1
  118. package/documentation/FileInputSection-agGxZYT7.js +65 -0
  119. package/{FileStructureSection-CRrFMVhl.js → documentation/FileStructureSection-C-Z_tkDL.js} +1 -1
  120. package/{FileStructureSection-DbsBkIRn.mjs → documentation/FileStructureSection-CSNiAHS-.js} +1 -1
  121. package/{FormComponentsSection-B4exCVCM.mjs → documentation/FormComponentsSection-B021OPBW.js} +1 -1
  122. package/documentation/FormComponentsSection-CRsooWtI.js +1 -0
  123. package/{FormMethodsSection-B9J5DYrQ.mjs → documentation/FormMethodsSection-2ea19wxr.js} +1 -1
  124. package/{FormMethodsSection-Dt5MZUzm.js → documentation/FormMethodsSection-CUrQGm-O.js} +1 -1
  125. package/documentation/HamburgerSection-BzFh3gZq.js +99 -0
  126. package/documentation/HamburgerSection-CWAXi4d_.js +18 -0
  127. package/{HookCategoriesSection-Cyjqehnj.mjs → documentation/HookCategoriesSection-DZzq6nNi.js} +1 -1
  128. package/documentation/HookCategoriesSection-Qm1BoU9x.js +1 -0
  129. package/{HookDocumentationSection-D-c7nlX-.mjs → documentation/HookDocumentationSection-BMC5FTpz.js} +1 -1
  130. package/{HookDocumentationSection-C5ww47uY.js → documentation/HookDocumentationSection-DT_dicnF.js} +1 -1
  131. package/documentation/HookFeaturesSection-B08odkSW.js +1 -0
  132. package/{HookFeaturesSection-CupYAK3p.mjs → documentation/HookFeaturesSection-_rCA_IiX.js} +1 -1
  133. package/{IconArchitectureSection-s-4JhiKA.mjs → documentation/IconArchitectureSection-BP5StoRr.js} +1 -1
  134. package/documentation/IconArchitectureSection-Ch1nPf7C.js +1 -0
  135. package/documentation/IconSizingGuideSection-21B7NciU.js +1 -0
  136. package/{IconSizingGuideSection-DREOxtrp.mjs → documentation/IconSizingGuideSection-B39zPKV2.js} +1 -1
  137. package/{IconSystemAPISection-CaJf4Isu.mjs → documentation/IconSystemAPISection-BLCe41I8.js} +1 -1
  138. package/documentation/IconSystemAPISection-_5fho7rM.js +1 -0
  139. package/documentation/IconSystemBenefitsSection-BI6uLx8V.js +1 -0
  140. package/{IconSystemBenefitsSection-KOplDPHG.mjs → documentation/IconSystemBenefitsSection-DCAdQe8N.js} +1 -1
  141. package/documentation/ImageSection-DX_pLrem.js +80 -0
  142. package/documentation/ImageSection-Dl5z0QeO.js +514 -0
  143. package/{ImplementationExamplesSection-CMVDBs9I.js → documentation/ImplementationExamplesSection-B__bLnap.js} +1 -1
  144. package/{ImplementationExamplesSection-De_Yc_g2.mjs → documentation/ImplementationExamplesSection-DG0Qxz66.js} +1 -1
  145. package/documentation/ImplementationGuidelinesSection-B3ThgoR2.js +1 -0
  146. package/{ImplementationGuidelinesSection-DToo7aHT.mjs → documentation/ImplementationGuidelinesSection-Dhr_uqy_.js} +1 -1
  147. package/{ImplementationStatusSection-DzA19XiV.mjs → documentation/ImplementationStatusSection-CJTb6Pgx.js} +1 -1
  148. package/documentation/ImplementationStatusSection-D0v0YMVu.js +1 -0
  149. package/documentation/ImplementedFeaturesSection-DP4JlgYL.js +1 -0
  150. package/{ImplementedFeaturesSection-zsrQ6uaD.mjs → documentation/ImplementedFeaturesSection-uG_KGhJp.js} +1 -1
  151. package/documentation/InputSearcherSection-BB8KSV5W.js +32 -0
  152. package/{InputSearcherSection-85Q8Pmz1.mjs → documentation/InputSearcherSection-BOs_mYxO.js} +20 -98
  153. package/documentation/InputSection-Co8yrH8O.js +37 -0
  154. package/documentation/InputSection-DlsRR1br.js +159 -0
  155. package/{KeyboardNavigationSection-TeJEhNAl.mjs → documentation/KeyboardNavigationSection-B5NeU2Ls.js} +5 -5
  156. package/documentation/KeyboardNavigationSection-B8kjIrpD.js +1 -0
  157. package/{LayoutPrinciplesSection-JNkH11Gf.mjs → documentation/LayoutPrinciplesSection-Cv2qVdah.js} +1 -1
  158. package/documentation/LayoutPrinciplesSection-ZcukszdJ.js +1 -0
  159. package/{LayoutTypesSection-DOdsew0H.mjs → documentation/LayoutTypesSection-CdWhbb-e.js} +1 -1
  160. package/documentation/LayoutTypesSection-Db8Phsh5.js +1 -0
  161. package/documentation/ListContainerSection-E2nxNQM9.js +38 -0
  162. package/documentation/ListContainerSection-g8e36trw.js +125 -0
  163. package/documentation/ListItemSection-BKMlFb_B.js +134 -0
  164. package/documentation/ListItemSection-CGRWmUNh.js +36 -0
  165. package/{LiveDemoSection-CS5HLe6l.mjs → documentation/LiveDemoSection-Bi6TUjps.js} +1 -1
  166. package/documentation/LiveDemoSection-CNS2AHrx.js +1 -0
  167. package/{LiveDemonstrationsSection-CP5aPXzg.js → documentation/LiveDemonstrationsSection-8IzxP_-q.js} +1 -1
  168. package/{LiveDemonstrationsSection-EYb11Zvv.mjs → documentation/LiveDemonstrationsSection-BTZH9yJ4.js} +16 -16
  169. package/documentation/LivePriceFeedSection-BETZCxkR.js +97 -0
  170. package/documentation/LivePriceFeedSection-xqYzz2UJ.js +20 -0
  171. package/documentation/LoaderSection-Ch955wVE.js +98 -0
  172. package/documentation/LoaderSection-D6oWK2Bd.js +22 -0
  173. package/{LogoSection-CiWXGv0N.mjs → documentation/LogoSection-DihjtnI3.js} +59 -111
  174. package/documentation/LogoSection-DwxPyRYp.js +100 -0
  175. package/{LucideIconsSection-tkVj8_2g.mjs → documentation/LucideIconsSection-UTZdlP4l.js} +1 -1
  176. package/documentation/LucideIconsSection-jyTOH9vA.js +1 -0
  177. package/{MFESupportSection-Dn9acP8Z.mjs → documentation/MFESupportSection-CL4XaGSc.js} +1 -1
  178. package/{MFESupportSection-aHdgyVxJ.js → documentation/MFESupportSection-D5-xNtty.js} +1 -1
  179. package/documentation/MenuItemsGuideSection-B4A_sWeX.js +126 -0
  180. package/{MenuItemsGuideSection-Bbcaz7Qq.mjs → documentation/MenuItemsGuideSection-CubWhWBg.js} +1 -1
  181. package/documentation/ModalSection-BLJU61yb.js +122 -0
  182. package/documentation/ModalSection-DgxQhNE3.js +29 -0
  183. package/documentation/NFTGridSection-CUDnvifG.js +11 -0
  184. package/documentation/NFTGridSection-DMCh4Qbs.js +56 -0
  185. package/{NestedRoutesSection-BA_BhCRx.mjs → documentation/NestedRoutesSection-DG9vKpBw.js} +1 -1
  186. package/{NestedRoutesSection-C8EbKdrd.js → documentation/NestedRoutesSection-ekOYspAL.js} +1 -1
  187. package/documentation/NotificationCardSection-Db-RrZ16.js +28 -0
  188. package/documentation/NotificationCardSection-cE-g6SEH.js +122 -0
  189. package/documentation/PanelActionCardSection-Bjxx99WR.js +28 -0
  190. package/documentation/PanelActionCardSection-CL8Moio7.js +106 -0
  191. package/{PanelCardSection-B871bX17.mjs → documentation/PanelCardSection-Ci9bDcSV.js} +14 -48
  192. package/documentation/PanelCardSection-wO7ZobnL.js +15 -0
  193. package/documentation/ParamTabSection-Bi80ttg5.js +92 -0
  194. package/{ParamTabSection-CDuKVp-d.mjs → documentation/ParamTabSection-DzCeT2jc.js} +105 -145
  195. package/{PinCodeSection-DIDL-bKc.mjs → documentation/PinCodeSection-BteNwNGD.js} +8 -104
  196. package/documentation/PinCodeSection-DwXlWFc3.js +22 -0
  197. package/documentation/ProgressbarSection-B1eIO6-t.js +144 -0
  198. package/documentation/ProgressbarSection-ibpTAyXQ.js +21 -0
  199. package/documentation/RadioGroupSection-CnheWpBr.js +27 -0
  200. package/documentation/RadioGroupSection-q1w7Zcjw.js +192 -0
  201. package/documentation/RadioSection-DSoD7CLU.js +130 -0
  202. package/documentation/RadioSection-V0sD9FtI.js +23 -0
  203. package/{RevealContentSection-BtBQGgOW.mjs → documentation/RevealContentSection-BK8j8yQ6.js} +26 -54
  204. package/documentation/RevealContentSection-Cm9Ego3J.js +21 -0
  205. package/{RouteConfigurationSection-B9FbX-yc.mjs → documentation/RouteConfigurationSection-JaOww2mF.js} +1 -1
  206. package/{RouteConfigurationSection-BjLpTMvZ.js → documentation/RouteConfigurationSection-PdMrY6xs.js} +1 -1
  207. package/{ScrollToTopSection-CCUPxMPa.mjs → documentation/ScrollToTopSection-DktmPBqU.js} +43 -95
  208. package/documentation/ScrollToTopSection-_W3FULOG.js +36 -0
  209. package/documentation/ScrollbarSection-94c3rkLU.js +29 -0
  210. package/documentation/ScrollbarSection-Dhqk4MAL.js +105 -0
  211. package/documentation/SelectSection-CyUvjkal.js +173 -0
  212. package/documentation/SelectSection-RN83Da8P.js +20 -0
  213. package/documentation/SettingsPanelSection-DysL_TWy.js +1 -0
  214. package/{SettingsPanelSection-B37qv2jK.mjs → documentation/SettingsPanelSection-oUsf1rjG.js} +1 -1
  215. package/documentation/ShadowsSection-COIXfeUB.js +1 -0
  216. package/{ShadowsSection-C3DcBcY5.mjs → documentation/ShadowsSection-yPSwgkIh.js} +1 -1
  217. package/documentation/SidebarMenuSection-CF65NgkO.js +46 -0
  218. package/{SidebarMenuSection-Cl_wfXqr.mjs → documentation/SidebarMenuSection-DoBy0kgz.js} +9 -69
  219. package/documentation/SidebarSection-C8M_6SXm.js +62 -0
  220. package/documentation/SidebarSection-D0mx7yBu.js +25 -0
  221. package/documentation/SizingSection-CFHOHeOX.js +1 -0
  222. package/{SizingSection-Vvs1NCZz.mjs → documentation/SizingSection-D0JMCl2M.js} +1 -1
  223. package/documentation/SkeletonSection-CdftMoZS.js +204 -0
  224. package/documentation/SkeletonSection-l0H8ysMz.js +52 -0
  225. package/{SpacingSystemSection-C_0ZSDNk.mjs → documentation/SpacingSystemSection-CK6jg9jH.js} +1 -1
  226. package/documentation/SpacingSystemSection-DDLUwi7M.js +1 -0
  227. package/{SpinnerSection-DxoqjAzp.mjs → documentation/SpinnerSection-CBRlzSBA.js} +18 -45
  228. package/documentation/SpinnerSection-wKxUxjQH.js +17 -0
  229. package/{StandaloneAppSection-BwwRlqWj.mjs → documentation/StandaloneAppSection-3DzBLpFt.js} +1 -1
  230. package/{StandaloneAppSection-KTxvQkdo.js → documentation/StandaloneAppSection-4dc8jrdZ.js} +1 -1
  231. package/documentation/SwitchSection-BlYqsAPJ.js +20 -0
  232. package/documentation/SwitchSection-vGxo1SYH.js +152 -0
  233. package/documentation/SystemOverviewSection-1lSFqKae.js +1 -0
  234. package/{SystemOverviewSection-D3W_SpON.mjs → documentation/SystemOverviewSection-BtnucKsr.js} +1 -1
  235. package/{TabSection-Vjm9QogR.mjs → documentation/TabSection-B7wJPrFH.js} +82 -142
  236. package/documentation/TabSection-BTGIy9BT.js +84 -0
  237. package/documentation/TabSelectSection-B8ohYHOK.js +100 -0
  238. package/{TabSelectSection-DKuGHY6b.mjs → documentation/TabSelectSection-DNb8f96f.js} +41 -69
  239. package/{TailwindConfigSection-BH8ioMgX.mjs → documentation/TailwindConfigSection-dxsLjDuJ.js} +1 -1
  240. package/documentation/TailwindConfigSection-xK7ymNHB.js +19 -0
  241. package/documentation/TestingSection-D97U6rzs.js +12 -0
  242. package/{TestingSection-BKbTYqsd.mjs → documentation/TestingSection-DqHtOy40.js} +1 -1
  243. package/{TextareaSection-COE_iT0W.mjs → documentation/TextareaSection-LoLfm6tE.js} +27 -105
  244. package/documentation/TextareaSection-cq-8Cb4V.js +21 -0
  245. package/{ThemeArchitectureSection-D8dWZO_Q.mjs → documentation/ThemeArchitectureSection-D3s-iFek.js} +1 -1
  246. package/documentation/ThemeArchitectureSection-kTqICQZj.js +1 -0
  247. package/documentation/ThemeConfigurationSection-CIorDmNk.js +1 -0
  248. package/{ThemeConfigurationSection-eifonrlB.mjs → documentation/ThemeConfigurationSection-DKZz_tZ0.js} +1 -1
  249. package/{ThemeHooksSection-BYmhg3xO.mjs → documentation/ThemeHooksSection-C0sZ6k8a.js} +1 -1
  250. package/documentation/ThemeHooksSection-D-mw-Fbu.js +1 -0
  251. package/{ThemeProviderIntegrationSection-DCnGD4F4.mjs → documentation/ThemeProviderIntegrationSection-BfBFuERd.js} +1 -1
  252. package/{ThemeProviderIntegrationSection-YpM0GKJx.js → documentation/ThemeProviderIntegrationSection-macU3-6q.js} +1 -1
  253. package/documentation/ThemeProviderRequiredSection-BRbwv1wN.js +1 -0
  254. package/{ThemeProviderRequiredSection-zYv4GrBp.mjs → documentation/ThemeProviderRequiredSection-CqDOwaWl.js} +1 -1
  255. package/{ThemeProviderSection-CG6ROKoP.mjs → documentation/ThemeProviderSection-C8LEFOeB.js} +1 -1
  256. package/documentation/ThemeProviderSection-CTuv8EQA.js +1 -0
  257. package/{ToastSection-C0_N6VoS.mjs → documentation/ToastSection-DEW_viBi.js} +1 -1
  258. package/documentation/ToastSection-DxGzUQ0D.js +37 -0
  259. package/documentation/ToggleBarSection-CYRd5M5m.js +127 -0
  260. package/documentation/ToggleBarSection-CtsOxytE.js +37 -0
  261. package/documentation/TooltipSection-Cp-pLWvr.js +62 -0
  262. package/documentation/TooltipSection-TVehrFpU.js +186 -0
  263. package/documentation/TopupButtonSection-Be5-YogI.js +100 -0
  264. package/documentation/TopupButtonSection-ByokZIdo.js +24 -0
  265. package/documentation/TransactionInfoSection-BhNuZ4JD.js +65 -0
  266. package/documentation/TransactionInfoSection-Q0JJsVQv.js +16 -0
  267. package/documentation/TucuUiLogoSection-98Bljk0Z.js +26 -0
  268. package/{TucuUiLogoSection-DKvsi70K.mjs → documentation/TucuUiLogoSection-BDLv3mOn.js} +18 -51
  269. package/documentation/TypographySection-Ck4yMFUP.js +32 -0
  270. package/documentation/TypographySection-CkyzEMXb.js +1 -0
  271. package/documentation/TypographySection-DQEpFmuX.js +144 -0
  272. package/{TypographySection-BOk8SfCz.mjs → documentation/TypographySection-DkMPevk3.js} +1 -1
  273. package/{UsageExamplesSection-JpH1ZsJd.mjs → documentation/UsageExamplesSection-Cbl0byP_.js} +1 -1
  274. package/{UsageExamplesSection-relnO7-Z.js → documentation/UsageExamplesSection-rqFkSypt.js} +1 -1
  275. package/{UsingThemeSystemSection-B2fO1JsG.js → documentation/UsingThemeSystemSection-CEXOimAv.js} +1 -1
  276. package/{UsingThemeSystemSection-BJuOT6-w.mjs → documentation/UsingThemeSystemSection-ZxdD8koK.js} +1 -1
  277. package/{ValidationSystemSection-CjHwm2jX.js → documentation/ValidationSystemSection-DN97qk1X.js} +1 -1
  278. package/{ValidationSystemSection-DE2P4pwz.mjs → documentation/ValidationSystemSection-Dvtm4jJR.js} +1 -1
  279. package/{WCAGPrinciplesSection-DtgaO2Ff.mjs → documentation/WCAGPrinciplesSection-CgrjWEgm.js} +1 -1
  280. package/documentation/WCAGPrinciplesSection-ichWLxLa.js +1 -0
  281. package/index-D874Kozv.js +1060 -0
  282. package/{index-HwvOEWI7.mjs → index-DsiBIFwo.js} +22839 -16736
  283. package/index.css +1 -1
  284. package/index.js +1 -1
  285. package/index.mjs +274 -266
  286. package/package.json +2 -7
  287. package/themes/hooks/use-theme.d.ts +12 -56
  288. package/themes/router/components/standalone-app-routes-provider.d.ts +2 -0
  289. package/APIReferenceSection-DF3LCCD1.js +0 -1
  290. package/ActiveLinkSection-C2PP3Dyu.js +0 -22
  291. package/ActiveLinkSection-Dzpmkfhm.mjs +0 -120
  292. package/AdvancedColorSystemSection-8NfaB6r1.js +0 -17
  293. package/AdvancedFeaturesSection-DPK2To5I.js +0 -1
  294. package/AdvancedFeaturesSection-De9GDStL.js +0 -1
  295. package/AnchorLinkSection-BTuB_YBa.js +0 -19
  296. package/AnchorLinkSection-CCkTECg0.mjs +0 -94
  297. package/ArchitecturalPatternsComparisonSection-B5COBP19.js +0 -31
  298. package/ArchitectureOverviewSection-BQKgZIBU.js +0 -1
  299. package/AuthorCardSection-C0dYJSA1.js +0 -17
  300. package/AuthorCardSection-CG40iNxW.mjs +0 -110
  301. package/AvatarSection-BTMM6CPN.mjs +0 -137
  302. package/AvatarSection-MnUb7ZXH.js +0 -18
  303. package/BadgeSection-5feW_z0m.js +0 -48
  304. package/BasicTableSection-ej1eiWQz.mjs +0 -169
  305. package/BasicTableSection-xPn-5tii.js +0 -35
  306. package/BestPracticesSection-BHWoZvr5.js +0 -1
  307. package/BestPracticesSection-BT37TMGe.js +0 -1
  308. package/BestPracticesSection-BuqjVn61.js +0 -1
  309. package/BestPracticesSection-BwQfJOxT.js +0 -1
  310. package/BestPracticesSection-CqQDeICs.js +0 -1
  311. package/BestPracticesSection-DWslPqP2.js +0 -1
  312. package/BestPracticesSection-Dq3ZfFtY.js +0 -1
  313. package/BorderRadiusSection-D4aIov-Q.js +0 -1
  314. package/ButtonDripSection-B2OYDs-g.mjs +0 -99
  315. package/ButtonDripSection-BP9_mXYh.js +0 -12
  316. package/ButtonLoaderSection-7LI8Ipla.js +0 -30
  317. package/CardContainerSection-B0PngoTv.js +0 -21
  318. package/CardContainerSection-BR0nQ-m-.mjs +0 -99
  319. package/CardTitleSection-BwS-h9Sv.js +0 -19
  320. package/CardTitleSection-DmdscTs-.mjs +0 -113
  321. package/CarouselCardsSection-CiwhRtT2.mjs +0 -207
  322. package/CarouselCardsSection-DIAqv3av.js +0 -37
  323. package/CarouselImageSection-B-ErH8F4.js +0 -38
  324. package/CarouselImageSection-CjLoZibg.mjs +0 -218
  325. package/CarouselSection-CB52BRrB.js +0 -24
  326. package/CarouselSection-DTkAozR4.mjs +0 -159
  327. package/CheckboxSection-BqVq2KM2.js +0 -26
  328. package/CoinCardSection-B-Ge5sAn.js +0 -13
  329. package/CoinInfoCardSection-C31PQ3bp.js +0 -12
  330. package/CoinInfoCardSection-qFJPBj7d.mjs +0 -174
  331. package/CoinListBoxSection-CM2hUpHv.js +0 -24
  332. package/CoinListBoxSection-Dhzn_GpU.mjs +0 -219
  333. package/CollapseSection-BNmmPgyq.js +0 -27
  334. package/CollectionCardSection-BUnxheYB.mjs +0 -103
  335. package/CollectionCardSection-CDX3K_hS.js +0 -17
  336. package/CollectionSelectListSection-BBhwVYHo.mjs +0 -102
  337. package/CollectionSelectListSection-CDi6hp8v.js +0 -14
  338. package/ColorCustomizationSection-B-bUSAJ0.js +0 -1
  339. package/ColorSystemSection-K2zgxmJy.js +0 -1
  340. package/CommonErrorsSection-BrMGAma1.js +0 -1
  341. package/ComponentAnatomySection-DbaNcJeJ.js +0 -1
  342. package/ComponentStatusSection-zM1sy0yl.js +0 -1
  343. package/CurrencySwapIconsSection-B8dwSBG9.js +0 -7
  344. package/CurrencySwapIconsSection-BzuK85V_.mjs +0 -92
  345. package/CustomIconsSection-C8eB4pR6.js +0 -3
  346. package/DefiAppLogoSection-Drk-a_Ma.js +0 -36
  347. package/DesignPrinciplesSection-DdxTvVbZ.js +0 -1
  348. package/DrawerSection-BxPeS4m6.js +0 -41
  349. package/DrawerSection-DjS8SGBf.mjs +0 -188
  350. package/FileInputSection-BQXToQMH.js +0 -65
  351. package/FormComponentsSection-_y9uIqWT.js +0 -1
  352. package/HamburgerSection-CddGkkvx.js +0 -18
  353. package/HamburgerSection-v1NZnz0U.mjs +0 -108
  354. package/HookCategoriesSection-DKqqeSQ9.js +0 -1
  355. package/HookFeaturesSection-CJa84RjB.js +0 -1
  356. package/IconArchitectureSection-VZ0XfWpq.js +0 -1
  357. package/IconSizingGuideSection-BRM-oiM5.js +0 -1
  358. package/IconSystemAPISection-DzCBJPL0.js +0 -1
  359. package/IconSystemBenefitsSection-CDX-jXus.js +0 -1
  360. package/ImageSection-B8kYkUY-.mjs +0 -612
  361. package/ImageSection-CW01AmUK.js +0 -80
  362. package/ImplementationGuidelinesSection-CrmCO0ar.js +0 -1
  363. package/ImplementationStatusSection-BzZZNjVN.js +0 -1
  364. package/ImplementedFeaturesSection-C8ZcF-n1.js +0 -1
  365. package/InputSearcherSection-Cz_TpQw_.js +0 -32
  366. package/InputSection-DMpbHqfq.mjs +0 -265
  367. package/InputSection-DY5rY39C.js +0 -37
  368. package/KeyboardNavigationSection-BR-828Id.js +0 -1
  369. package/LayoutPrinciplesSection-DZPMQ6js.js +0 -1
  370. package/LayoutTypesSection-BKj6ULJR.js +0 -1
  371. package/ListContainerSection-D6JcQxtm.mjs +0 -191
  372. package/ListContainerSection-fLuB70GD.js +0 -38
  373. package/ListItemSection-C9RJbdyS.mjs +0 -191
  374. package/ListItemSection-C__vIdDy.js +0 -36
  375. package/LiveDemoSection-B1LQT5SO.js +0 -1
  376. package/LivePriceFeedSection-BcGUAKqZ.js +0 -20
  377. package/LivePriceFeedSection-BxqCzUcr.mjs +0 -187
  378. package/LoaderSection-D67mOHL-.mjs +0 -143
  379. package/LoaderSection-DSK6opoR.js +0 -22
  380. package/LogoSection-C8vr1igX.js +0 -100
  381. package/LucideIconsSection-BPElcsAJ.js +0 -1
  382. package/MenuItemsGuideSection-C7bXy-ZF.js +0 -126
  383. package/ModalSection-BMri9S17.js +0 -29
  384. package/ModalSection-C8SbNNiU.mjs +0 -158
  385. package/NFTGridSection-DuyG1cAr.js +0 -11
  386. package/NFTGridSection-SVR5jWEu.mjs +0 -122
  387. package/NotificationCardSection-PmY-KH6P.js +0 -28
  388. package/NotificationCardSection-roBjfTMH.mjs +0 -153
  389. package/PanelActionCardSection-De2IwJLg.js +0 -28
  390. package/PanelActionCardSection-Gg3BzbkY.mjs +0 -138
  391. package/PanelCardSection-D2CZs3aF.js +0 -15
  392. package/ParamTabSection-Cr8IrxB2.js +0 -92
  393. package/PinCodeSection-DB-gWXLA.js +0 -22
  394. package/ProgressbarSection-C5t1kBbY.js +0 -21
  395. package/ProgressbarSection-DYuWxDLA.mjs +0 -195
  396. package/RadioGroupSection-CJksjBGG.mjs +0 -288
  397. package/RadioGroupSection-CiKWrbD_.js +0 -27
  398. package/RadioSection-BDBXfHoi.mjs +0 -208
  399. package/RadioSection-COMubSGY.js +0 -23
  400. package/RevealContentSection-BEkgR-zt.js +0 -21
  401. package/ScrollToTopSection-Dedqd6br.js +0 -36
  402. package/ScrollbarSection-D18rm1b8.mjs +0 -146
  403. package/ScrollbarSection-DHxP5lpp.js +0 -29
  404. package/SelectSection-3wmWG-An.js +0 -20
  405. package/SelectSection-urzkAM8s.mjs +0 -275
  406. package/SettingsPanelSection-C9XctGHU.js +0 -1
  407. package/ShadowsSection-CUPbact4.js +0 -1
  408. package/SidebarMenuSection-C2RKvKxs.js +0 -46
  409. package/SidebarSection-D0TPtJDX.mjs +0 -122
  410. package/SidebarSection-DJryxLPX.js +0 -25
  411. package/SizingSection-B0vpzcav.js +0 -1
  412. package/SkeletonSection-BkDHHL5z.mjs +0 -259
  413. package/SkeletonSection-kVHtbqxx.js +0 -52
  414. package/SpacingSystemSection-CXC18NNv.js +0 -1
  415. package/SpinnerSection-CM21SX2O.js +0 -17
  416. package/SwitchSection-BAjoJW0o.mjs +0 -230
  417. package/SwitchSection-CJE0OQIF.js +0 -20
  418. package/SystemOverviewSection-CtSNQNxN.js +0 -1
  419. package/TabSection-Zh4ojYBN.js +0 -84
  420. package/TabSelectSection-BxcR0V5f.js +0 -100
  421. package/TailwindConfigSection-flFiObUb.js +0 -19
  422. package/TestingSection-B_VmIqDt.js +0 -12
  423. package/TextareaSection-L4Iz1VBt.js +0 -21
  424. package/ThemeArchitectureSection-BIyvDIpO.js +0 -1
  425. package/ThemeConfigurationSection-CyGtw0pJ.js +0 -1
  426. package/ThemeHooksSection-CLtiAo9Q.js +0 -1
  427. package/ThemeProviderRequiredSection-DUgte7Zx.js +0 -1
  428. package/ThemeProviderSection-CzyXAnLZ.js +0 -1
  429. package/ToastSection-8CptTtXd.js +0 -37
  430. package/ToggleBarSection-B5Twh8vM.mjs +0 -187
  431. package/ToggleBarSection-DB11j5rL.js +0 -37
  432. package/TopupButtonSection-CDh_iG83.js +0 -24
  433. package/TopupButtonSection-xr9SjnVl.mjs +0 -145
  434. package/TransactionInfoSection-DNX6oC4R.js +0 -16
  435. package/TransactionInfoSection-qS4JzmkY.mjs +0 -113
  436. package/TucuUiLogoSection-BRCr-qmP.js +0 -26
  437. package/TypographySection-C1AxP9j_.mjs +0 -129
  438. package/TypographySection-CvRzp8kB.js +0 -1
  439. package/TypographySection-DCE6bcqs.js +0 -24
  440. package/WCAGPrinciplesSection-BIHuGKLI.js +0 -1
  441. package/index-BOfUOCHe.js +0 -920
  442. package/storybook/components/StoryContainer.d.ts +0 -6
  443. package/storybook/components/pages/Accessibility.d.ts +0 -1
  444. package/storybook/components/pages/Introduction.d.ts +0 -1
  445. package/storybook/hooks/useDummy.d.ts +0 -34
  446. /package/{1-Df9CGZha.mjs → 1-Df9CGZha.js} +0 -0
  447. /package/{collection-1-NeFANkbk.mjs → collection-1-NeFANkbk.js} +0 -0
  448. /package/{tether-DaYvmdAU.mjs → tether-DaYvmdAU.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,91 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.0.3] - 2026-02-25
9
+
10
+ ### Added
11
+
12
+ - **Tooltip Component**: New reusable `Tooltip` component exported from `common/index.ts`
13
+ - Supports `TooltipPlacement` and `TooltipColor` types
14
+ - Natively integrated in `Button` and `Typography` components
15
+ - **Button Tooltip Integration**: Enhanced `Button` component with built-in tooltip support
16
+ - `tooltip` prop now accepts `React.ReactNode` (previously `string`)
17
+ - New props: `tooltipPlacement`, `tooltipColor`, `tooltipArrow`
18
+ - Replaced manual hover state tooltip with `Tooltip` component
19
+ - **Typography Tooltip Integration**: Added native tooltip support to `Typography` component
20
+ - New props: `tooltip`, `tooltipPlacement`, `tooltipColor`, `tooltipArrow`
21
+ - Wraps element in `Tooltip` component when tooltip prop is provided
22
+ - **Nested Routes Support**: New `enableNestedRoutes` prop in `StandaloneAppRoutesMenuItem`
23
+ - When `true`, appends `/*` to the route path for internal sub-route support
24
+ - **TableOfContents Navigation Mode**: New props in `TableOfContents` component
25
+ - `navigationMode` prop (`'anchor' | 'route'`) for route-based navigation
26
+ - `activeSectionId` prop for active category auto-expansion
27
+ - **Vitest**: Migrated testing framework from Jest to Vitest (`@nx/vitest`)
28
+ - **Props Generation Script**: New `generate-props` script using `react-docgen-typescript`
29
+
30
+ ### Changed
31
+
32
+ - **useTheme Hook**: Major refactoring of the Zustand store
33
+ - Introduced `defaultPresets` and `defaultState` as single source of truth
34
+ - Created generic `Setters<T>` type for auto-generated setter types
35
+ - New `IThemeState` interface (values only) separated from `ITheme` (state + setters + actions)
36
+ - `createSetters()` function dynamically generates ~19 setters (eliminates ~60 lines of boilerplate)
37
+ - `restoreDefaultColors` uses `defaultPresets` instead of duplicating values
38
+ - `partialize` now filters functions generically instead of listing each key manually
39
+ - **ThemeWrapper Component**: Major refactoring (~255→70 lines of logic)
40
+ - Introduced `PALETTE_MAP` and `resolveColor()` helper to eliminate 12 repetitive if/else blocks
41
+ - Theme initialization with a single `useTheme.setState()` instead of multiple callbacks
42
+ - Custom palette colors applied in a single `setState` batch instead of 12 individual setter calls
43
+ - Dark/light mode toggle with `classList.toggle()` instead of `remove()`+`add()`
44
+ - Menu items memoized with `useMemo`
45
+ - **SettingsDrawer Component**: Major refactoring
46
+ - New `COLOR_CONFIG` record as single source of truth for 12 color types
47
+ - `ColorSwitcher` simplified: uses dynamic Zustand selectors instead of destructuring entire store
48
+ - ColorSwitchers rendered with `.map()` instead of 12 hardcoded instances
49
+ - Migrated arbitrary CSS values (`[70px]`, `[12px]`, `[32px]`) to standard Tailwind classes
50
+ - **Select Component**: Refactored controlled state synchronization
51
+ - Immediate state initialization from `value` prop (avoids React "uncontrolled to controlled" warning)
52
+ - Removed `setTimeout(100ms)` hack for state sync
53
+ - Extracted `resolveOption()` helper
54
+ - **RadioGroup Component**: Removed `setTimeout(100ms)` in controlled `value` synchronization
55
+ - `setSelectedValue` is now called directly in `useEffect`
56
+ - **FormField Component**: Added `field.value` normalization
57
+ - Checkboxes/radios normalized to `!!field.value`
58
+ - Other fields normalized to `field.value ?? ''`
59
+ - Select `value` normalized with `?? ''`
60
+ - **Nx & Toolchain**: Upgraded from Nx 21.6.3 → 22.5.2
61
+ - Updated `@swc/core`, `@swc/cli`, `@swc/helpers`, `@swc-node/register`
62
+ - Added `"type": "module"` to root `package.json`
63
+ - **tsconfig.lib.json**: Include pattern changed from specific path to generic glob `src/**/*.tsx?raw`
64
+
65
+ ### Removed
66
+
67
+ - **Storybook**: Completely removed Storybook and all related files
68
+ - Removed `.storybook/` configuration directory
69
+ - Removed all 76 story files (~15,297 lines)
70
+ - Removed `StoryContainer`, internal pages (Introduction, Accessibility), and `useDummy` hook
71
+ - Demo app now serves as the interactive documentation
72
+ - **Storybook Dependencies**: Removed `storybook`, `@storybook/addon-docs`, `@storybook/builder-vite`, `@storybook/react-vite`, `@chromatic-com/storybook`, `@chromatic-com/turbosnap-helper`, `eslint-plugin-storybook`, `remark-gfm`
73
+ - **Jest Dependencies**: Removed `jest`, `jest-environment-jsdom`, `jest-util`, `ts-jest`, `babel-jest`, `@types/jest`, `@nx/jest`
74
+ - **Storybook Scripts**: Removed `storybook`, `build-storybook`, `publish-storybook`, `serve-storybook`, `chromatic`, `storybook-doctor` scripts
75
+
76
+ ### Fixed
77
+
78
+ - **Select Component**: Fixed initial render without visible selection when used with `react-hook-form`
79
+ - State now initializes immediately from `value` prop instead of delayed `setTimeout`
80
+ - **RadioGroup Component**: Fixed state sync race conditions by removing `setTimeout` hack
81
+ - **FormField Component**: Fixed React "uncontrolled to controlled" warnings
82
+ - Normalized `undefined` values to `''` or `false` depending on input type
83
+ - **FileInput Component**: Added `displayName = 'FileInput'` for better React DevTools debugging
84
+ - **CoinListBox Component**: Added `displayName = 'CoinListBox'` for better React DevTools debugging
85
+
86
+ ### Documentation
87
+
88
+ - **Demo App Refactoring**: Major refactoring of 76+ documentation section files
89
+ - Cleaner, more consistent patterns across all component documentation
90
+ - New exports in `demo/components/index.ts` and `demo/index.ts`
91
+ - Updated all UI component, input, blockchain, design system, features, and form system sections
92
+
8
93
  ## [2.0.2] - 2026-01-22
9
94
 
10
95
  ### Changed
@@ -363,6 +448,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
363
448
 
364
449
  ## Version History
365
450
 
451
+ - **2.0.3** - Removed Storybook, new Tooltip component, major theme/component refactoring, migrated from Jest to Vitest, upgraded Nx to 22.5.2
366
452
  - **2.0.2** - Responsive navigation menu improvements with dynamic text sizing
367
453
  - **2.0.0** - Major release with advanced routing system (Standalone & MFE), enhanced theming (34+ presets, 12-layer architecture), comprehensive documentation improvements, and architectural pattern support
368
454
  - **1.2.0** - Major input components update, new carousel system, and comprehensive improvements
@@ -372,6 +458,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
372
458
 
373
459
  ## Migration Notes
374
460
 
461
+ ### Version 2.0.3 Migration
462
+
463
+ If you're upgrading from version 2.0.2 to 2.0.3:
464
+
465
+ - **Storybook Removed**: Storybook is no longer included. Use the demo app for interactive documentation
466
+ - **Button `tooltip` Prop**: Changed from `string` to `React.ReactNode`. Existing string values still work
467
+ - **Button Tooltip Props**: New optional props `tooltipPlacement`, `tooltipColor`, `tooltipArrow` available
468
+ - **Testing**: Migrated from Jest to Vitest. Update test configuration accordingly
469
+ - **Nx**: Upgraded to Nx 22.5.2. Run `pnpm install` to update dependencies
470
+
375
471
  ### Version 2.0.0 Migration
376
472
 
377
473
  If you're upgrading from version 1.x to 2.0.0:
package/README.md CHANGED
@@ -29,6 +29,10 @@ Specialized components for DeFi applications, NFT marketplaces, and crypto walle
29
29
 
30
30
  Complete Lucide React integration + 97+ custom-designed icons including blockchain/crypto icons, layout controls, social brands, and specialized UI elements.
31
31
 
32
+ ### **💬 Tooltip System**
33
+
34
+ Flexible Tooltip component with portal-based rendering (`createPortal`), 4 placement options (top, bottom, left, right), 7 color themes, smart auto-repositioning within the viewport, configurable enter/leave delays, and ARIA-compliant accessibility.
35
+
32
36
  ### **♿ Accessibility First**
33
37
 
34
38
  WCAG 2.1 AA compliant components with proper ARIA attributes and keyboard navigation.
@@ -41,7 +45,7 @@ Responsive design across all components with support for ultra-wide displays (up
41
45
 
42
46
  Built-in React Router integration with support for two architectural patterns:
43
47
 
44
- - **Standalone App** (default): Automatic route generation from menuItems
48
+ - **Standalone App** (default): Automatic route generation from menuItems with nested routes support (`enableNestedRoutes`)
45
49
  - **Micro Frontends (MFE)**: Explicit route configuration with basePath and route protection
46
50
 
47
51
  ### **🎨 Tailwind CSS v4 Complete Integration**
@@ -79,6 +83,7 @@ Built on industry-leading libraries for maximum reliability:
79
83
  - **[Framer Motion](https://www.framer.com/motion/)** - Smooth animations and transitions
80
84
  - **[Recharts](https://recharts.org/)** - Composable charting library for data visualization
81
85
  - **[Swiper](https://swiperjs.com/)** - Modern mobile touch slider
86
+ - **[Vitest](https://vitest.dev/)** - Fast unit testing framework powered by Vite
82
87
 
83
88
  ## 📦 Installation
84
89
 
@@ -886,6 +891,32 @@ import { Carousel, CarouselCards, CarouselImage } from '@e-burgos/tucu-ui';
886
891
  />
887
892
  ```
888
893
 
894
+ ### **Tooltip Component**
895
+
896
+ ```tsx
897
+ import { Tooltip } from '@e-burgos/tucu-ui';
898
+
899
+ // Basic Tooltip
900
+ <Tooltip content="Edit profile" placement="top">
901
+ <button>Hover me</button>
902
+ </Tooltip>
903
+
904
+ // Tooltip with custom color and delay
905
+ <Tooltip content="Delete item" color="danger" enterDelay={300} arrow>
906
+ <button>Delete</button>
907
+ </Tooltip>
908
+
909
+ // Rich content Tooltip
910
+ <Tooltip
911
+ content={<div><strong>Pro tip:</strong> Use keyboard shortcuts for faster navigation.</div>}
912
+ placement="right"
913
+ color="primary"
914
+ arrow
915
+ >
916
+ <span>Help</span>
917
+ </Tooltip>
918
+ ```
919
+
889
920
  ### **Feedback Components**
890
921
 
891
922
  ```tsx
@@ -1008,7 +1039,7 @@ Tucu UI includes comprehensive documentation pages to help you get started:
1008
1039
  - **Hooks Utilities** - Custom React hooks for common patterns
1009
1040
  - **Accessibility** - WCAG 2.1 AA compliance and best practices
1010
1041
  - **Components** - Component library overview and usage patterns
1011
- - **UI Components** - 43+ UI components (buttons, cards, dialogs, notifications, etc.)
1042
+ - **UI Components** - 43+ UI components (buttons, cards, dialogs, tooltips, notifications, etc.)
1012
1043
  - **Input Components** - 11+ form input components
1013
1044
  - **Blockchain Components** - 9+ specialized DeFi/Web3 components
1014
1045
  - **Form System** - Complete form solution with validation
@@ -1299,33 +1330,38 @@ Tucu UI is built with accessibility in mind:
1299
1330
  git clone <repository-url>
1300
1331
 
1301
1332
  # Install dependencies
1302
- npm install
1333
+ pnpm install
1303
1334
 
1304
- # Run Storybook for development
1305
- npm run @e-burgos/tucu-ui
1335
+ # Run the demo for development
1336
+ pnpm nx run demo:serve
1306
1337
 
1307
1338
  # Build the library
1308
- npm run @e-burgos/tucu-ui:build
1339
+ pnpm nx run tucu-ui:build
1309
1340
 
1310
1341
  # Run tests
1311
- npm test
1342
+ pnpm nx run tucu-ui:test
1312
1343
  ```
1313
1344
 
1314
1345
  ### **Nx Monorepo Structure**
1315
1346
 
1316
1347
  ```
1317
- @e-burgos/tucu-ui/
1348
+ tucu-ui/
1318
1349
  ├── apps/
1319
- └── demo/ # Demo application
1350
+ ├── demo/ # Documentation & demo app (tucu-ui.netlify.app)
1351
+ │ └── test-lib/ # Library testing playground
1352
+ ├── examples/
1353
+ │ ├── standalone/ # Standalone architecture example
1354
+ │ └── micro-frontends/ # Micro Frontends architecture example
1320
1355
  ├── ui/
1321
- │ └── tucu-ui/ # Main library
1356
+ │ └── tucu-ui/ # Main library (@e-burgos/tucu-ui)
1322
1357
  │ ├── src/
1323
- │ │ ├── components/ # All UI components
1324
- │ │ ├── hooks/ # Utility hooks
1325
- │ │ ├── themes/ # Theme system
1326
- │ │ └── storybook/ # Documentation
1358
+ │ │ ├── components/ # All UI components (70+)
1359
+ │ │ ├── hooks/ # Utility hooks
1360
+ │ │ ├── themes/ # Theme system (Zustand + CSS tokens)
1361
+ │ │ └── styles.css # Tailwind CSS v4 configuration
1327
1362
  │ └── package.json
1328
- └── nx.json # Nx configuration
1363
+ ├── scripts/ # Build & generation scripts
1364
+ └── nx.json # Nx workspace configuration
1329
1365
  ```
1330
1366
 
1331
1367
  ## 📄 License
@@ -11,4 +11,8 @@ export type CoinListBoxProps = {
11
11
  className?: string;
12
12
  disabled?: boolean;
13
13
  };
14
- export default function CoinListBox({ className, coins, selectedCoin, setSelectedCoin, disabled, }: CoinListBoxProps): import("react/jsx-runtime").JSX.Element;
14
+ declare function CoinListBox({ className, coins, selectedCoin, setSelectedCoin, disabled, }: CoinListBoxProps): import("react/jsx-runtime").JSX.Element;
15
+ declare namespace CoinListBox {
16
+ var displayName: string;
17
+ }
18
+ export default CoinListBox;
@@ -1,5 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { LoaderSizeTypes, LoaderVariantTypes } from '../../loaders/loader';
3
+ import { TooltipPlacement, TooltipColor } from '../../common/tooltip';
3
4
  type ShapeNames = 'rounded' | 'pill' | 'circle';
4
5
  type VariantNames = 'solid' | 'ghost' | 'transparent';
5
6
  type ColorNames = 'primary' | 'white' | 'gray' | 'success' | 'info' | 'warning' | 'danger';
@@ -14,7 +15,14 @@ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElemen
14
15
  fullWidth?: boolean;
15
16
  loaderSize?: LoaderSizeTypes;
16
17
  loaderVariant?: LoaderVariantTypes;
17
- tooltip?: string;
18
+ /** Tooltip text or content to display on hover */
19
+ tooltip?: React.ReactNode;
20
+ /** Tooltip placement relative to button */
21
+ tooltipPlacement?: TooltipPlacement;
22
+ /** Tooltip color theme */
23
+ tooltipColor?: TooltipColor;
24
+ /** Show an arrow on the tooltip */
25
+ tooltipArrow?: boolean;
18
26
  onClick?: React.MouseEventHandler<HTMLButtonElement>;
19
27
  'aria-label'?: string;
20
28
  'aria-describedby'?: string;
@@ -4,3 +4,4 @@ export * from './collapse';
4
4
  export * from './scrollbar';
5
5
  export * from './scrollbar-native';
6
6
  export * from './skeleton';
7
+ export * from './tooltip';
@@ -0,0 +1,39 @@
1
+ import { default as React } from 'react';
2
+ export type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
3
+ export type TooltipColor = 'dark' | 'light' | 'primary' | 'success' | 'info' | 'warning' | 'danger';
4
+ export interface TooltipProps {
5
+ /** Content to display inside the tooltip */
6
+ content: React.ReactNode;
7
+ /** Preferred placement of the tooltip relative to anchor */
8
+ placement?: TooltipPlacement;
9
+ /** Color theme of the tooltip. When undefined, automatically uses 'dark' in light mode and 'light' in dark mode based on the current theme. */
10
+ color?: TooltipColor;
11
+ /** Show an arrow pointing to the anchor */
12
+ arrow?: boolean;
13
+ /** Delay in ms before the tooltip appears */
14
+ enterDelay?: number;
15
+ /** Delay in ms before the tooltip hides */
16
+ leaveDelay?: number;
17
+ /** Whether the tooltip is disabled */
18
+ disabled?: boolean;
19
+ /** Additional class name for the tooltip container */
20
+ className?: string;
21
+ /** The element that triggers the tooltip */
22
+ children: React.ReactElement;
23
+ }
24
+ /**
25
+ * Tooltip component that uses a React Portal to render above all other DOM elements.
26
+ * Supports configurable placement, arrow, color theme, and enter/leave delays.
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * <Tooltip content="Hello!" placement="top" arrow>
31
+ * <Button>Hover me</Button>
32
+ * </Tooltip>
33
+ * ```
34
+ */
35
+ export declare function Tooltip({ content, placement, color, arrow, enterDelay, leaveDelay, disabled, className, children, }: TooltipProps): import("react/jsx-runtime").JSX.Element;
36
+ export declare namespace Tooltip {
37
+ var displayName: string;
38
+ }
39
+ export default Tooltip;
@@ -38,7 +38,7 @@ export interface FileInputProps extends Omit<React.InputHTMLAttributes<HTMLInput
38
38
  * You can use props like `disabled`, `multiple`, `capture` etc.
39
39
  */
40
40
  export declare function FileInput({ accept, children, label, containerProps, additionalInputProps, placeholderText, containerClassName, wrapperClassName, labelClassName, onChange, multiple, ...props }: React.PropsWithChildren<FileInputProps>, ref: ForwardedRef<HTMLInputElement>): import("react/jsx-runtime").JSX.Element;
41
- declare const _default: import('react').ForwardRefExoticComponent<FileInputProps & {
41
+ declare const FileInputWithRef: import('react').ForwardRefExoticComponent<FileInputProps & {
42
42
  children?: import('react').ReactNode | undefined;
43
43
  } & import('react').RefAttributes<HTMLInputElement>>;
44
- export default _default;
44
+ export default FileInputWithRef;
@@ -1,3 +1,4 @@
1
+ import { TooltipPlacement, TooltipColor } from '../common/tooltip';
1
2
  declare const classes: {
2
3
  h1: string;
3
4
  h2: string;
@@ -55,10 +56,18 @@ export interface TypographyProps {
55
56
  fontFamily?: keyof typeof fontFamilyClasses;
56
57
  /** Add custom classes for extra style */
57
58
  className?: string;
59
+ /** Tooltip text or content to display on hover */
60
+ tooltip?: React.ReactNode;
61
+ /** Tooltip placement relative to the text element */
62
+ tooltipPlacement?: TooltipPlacement;
63
+ /** Tooltip color theme */
64
+ tooltipColor?: TooltipColor;
65
+ /** Show an arrow on the tooltip */
66
+ tooltipArrow?: boolean;
58
67
  }
59
68
  /**
60
69
  * Text component is the used to render text and paragraphs within an interface using well-defined typographic styles.
61
70
  * It renders a `<p>` tag by default.
62
71
  */
63
- export declare function Typography({ tag, title, children, className, color, fontFamily, }: React.PropsWithChildren<TypographyProps>): import("react/jsx-runtime").JSX.Element;
72
+ export declare function Typography({ tag, title, children, className, color, fontFamily, tooltip, tooltipPlacement, tooltipColor, tooltipArrow, }: React.PropsWithChildren<TypographyProps>): import("react/jsx-runtime").JSX.Element;
64
73
  export default Typography;
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+ export interface AutoPropsTableProps {
3
+ /** Component name as it appears in propsRegistry (e.g. "Button", "Input") */
4
+ componentName: string;
5
+ /** Optional title override (defaults to "{ComponentName} Props") */
6
+ title?: string;
7
+ /** Whether to show the component source file path */
8
+ showFilePath?: boolean;
9
+ /** Additional className for the container */
10
+ className?: string;
11
+ /** Filter props by name (show only matching) */
12
+ filterProps?: string[];
13
+ /** Hide props by name */
14
+ hideProps?: string[];
15
+ }
16
+ export declare const AutoPropsTable: React.FC<AutoPropsTableProps>;
@@ -0,0 +1,48 @@
1
+ import { default as React } from 'react';
2
+ export interface SectionConfig {
3
+ /** Unique identifier (kebab-case), used in URL path */
4
+ id: string;
5
+ /** Display label for the TOC item */
6
+ label: string;
7
+ /** Optional category for grouping in the TOC sidebar */
8
+ category?: string;
9
+ /** Lazy-loaded section component */
10
+ component: React.LazyExoticComponent<React.ComponentType<Record<string, never>>>;
11
+ }
12
+ export interface DynamicSectionsPageProps {
13
+ /** Array of section configurations */
14
+ sections: SectionConfig[];
15
+ /** Hero card or intro content shown at the top */
16
+ hero: React.ReactNode;
17
+ /** Title for the table of contents sidebar */
18
+ tocTitle?: string;
19
+ /** Optional placeholder when no section is selected (defaults to a sections grid) */
20
+ placeholder?: React.ReactNode;
21
+ }
22
+ /**
23
+ * Hook that extracts the current section from the URL wildcard param
24
+ * and provides navigation helpers.
25
+ *
26
+ * Requires the parent route to be registered with `enableNestedRoutes: true`
27
+ * (which appends /* to the route path).
28
+ */
29
+ export declare function useDynamicSection(sectionIds: string[]): {
30
+ sectionId: string | undefined;
31
+ basePath: string;
32
+ navigateToSection: (id: string) => void;
33
+ navigateToBase: () => void;
34
+ };
35
+ /**
36
+ * Generic page component that renders a TOC sidebar + a single section
37
+ * based on the current URL. Each section gets its own route/page.
38
+ *
39
+ * Usage:
40
+ * ```tsx
41
+ * const sections: SectionConfig[] = [
42
+ * { id: 'button', label: 'Button', category: 'Buttons', component: lazy(() => import('./ButtonSection')) },
43
+ * ];
44
+ * <DynamicSectionsPage sections={sections} hero={<HeroCard ... />} />
45
+ * ```
46
+ */
47
+ export declare const DynamicSectionsPage: React.FC<DynamicSectionsPageProps>;
48
+ export default DynamicSectionsPage;
@@ -1,5 +1,8 @@
1
+ export * from './auto-props-table';
2
+ export * from './dynamic-sections-page';
1
3
  export * from './hero-card';
2
4
  export * from './nav-options';
3
5
  export * from './playground-button';
6
+ export * from './prop-playground';
4
7
  export * from './table-of-contents';
5
8
  export * from './lazy-component-section';
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ export interface PropPlaygroundProps {
3
+ /** Component name from propsRegistry */
4
+ componentName: string;
5
+ /** The component to render with interactive props */
6
+ children: (props: any) => React.ReactNode;
7
+ /** Default prop values to start with */
8
+ defaultValues?: Record<string, any>;
9
+ /** Props to exclude from the playground controls */
10
+ excludeProps?: string[];
11
+ /** Only show these props in the controls */
12
+ includeProps?: string[];
13
+ /** Additional className */
14
+ className?: string;
15
+ /** Title override */
16
+ title?: string;
17
+ }
18
+ export declare const PropPlayground: React.FC<PropPlaygroundProps>;
@@ -11,6 +11,10 @@ interface TableOfContentsProps {
11
11
  onItemClick?: (item: TableOfContentsItem) => void;
12
12
  children?: React.ReactNode;
13
13
  onSidebarToggle?: (isOpen: boolean) => void;
14
+ /** Navigation mode: 'anchor' scrolls to sections (default), 'route' navigates via onItemClick */
15
+ navigationMode?: 'anchor' | 'route';
16
+ /** Active section ID (used in 'route' mode to highlight the current item) */
17
+ activeSectionId?: string;
14
18
  }
15
19
  export declare const TableOfContents: React.FC<TableOfContentsProps>;
16
20
  export default TableOfContents;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * AUTO-GENERATED — Do not edit manually.
3
+ * Generated by: scripts/generate-props.ts
4
+ * Last updated: 2026-02-25T13:56:00.470Z
5
+ * Components: 91
6
+ */
7
+ export interface PropInfo {
8
+ name: string;
9
+ type: string;
10
+ defaultValue: string | null;
11
+ required: boolean;
12
+ description: string;
13
+ }
14
+ export interface ComponentMeta {
15
+ displayName: string;
16
+ description: string;
17
+ filePath: string;
18
+ props: PropInfo[];
19
+ }
20
+ export declare const propsRegistry: Record<string, ComponentMeta>;
21
+ export declare function getComponentProps(componentName: string): ComponentMeta | undefined;
22
+ export declare function getComponentNames(): string[];
23
+ export declare function searchComponents(query: string): ComponentMeta[];
package/demo/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './components';
2
+ export * from './generated/props-metadata';
2
3
  export * from './utils';
3
4
  export * from './pages';
@@ -1 +1,2 @@
1
1
  export declare function BlockchainComponents(): import("react/jsx-runtime").JSX.Element;
2
+ export default BlockchainComponents;
@@ -1 +1,2 @@
1
1
  export declare function UiComponents(): import("react/jsx-runtime").JSX.Element;
2
+ export default UiComponents;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const TooltipSection: React.FC;
3
+ export default TooltipSection;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../index-D874Kozv.js");require("lucide-react");require("react-router-dom");require("react");require("react-dom");const l=()=>{const i=[{key:"prop",label:"Property",render:r=>e.jsx("code",{className:"text-xs text-brand",children:String(r)})},{key:"type",label:"Type",render:r=>e.jsx("code",{className:"text-xs",children:String(r)})},{key:"required",label:"Required",render:r=>String(r)==="Yes"?e.jsx(t.Badge,{variant:"outline",className:"text-xs",children:"Yes"}):e.jsx(t.Badge,{variant:"outline",className:"text-xs",children:"Optional"})},{key:"description",label:"Description"}],s=[{prop:"name",type:"string",required:"Yes",description:"Display name for navigation menu"},{prop:"path",type:"string",required:"Yes",description:"URL path for the route"},{prop:"component",type:"JSX.Element",required:"Yes",description:"Component to render for this route"},{prop:"icon",type:"React.ReactNode",required:"Optional",description:"Icon to display in navigation"},{prop:"dropdownItems",type:"StandaloneAppRoutesMenuItem[]",required:"Optional",description:"Array of nested sub-routes"},{prop:"hide",type:"boolean",required:"Optional",description:"Hide route from navigation menu"},{prop:"isPublic",type:"boolean",required:"Optional",description:"Whether the route is publicly accessible (default: true)"}],n=[{key:"prop",label:"Property",render:r=>e.jsx("code",{className:"text-xs text-brand",children:String(r)})},{key:"type",label:"Type",render:r=>e.jsx("code",{className:"text-xs",children:String(r)})},{key:"required",label:"Required",render:r=>String(r)==="Yes"?e.jsx(t.Badge,{variant:"outline",className:"text-xs",children:"Yes"}):e.jsx(t.Badge,{variant:"outline",className:"text-xs",children:"Optional"})},{key:"description",label:"Description"}],a=[{prop:"key",type:"string",required:"Yes",description:"Unique identifier for the route"},{prop:"path",type:"string",required:"Yes",description:"URL path for the route"},{prop:"element",type:"JSX.Element",required:"Yes",description:"Component to render for this route"},{prop:"isPublic",type:"boolean",required:"Optional",description:"Whether the route is publicly accessible (default: false)"},{prop:"disabled",type:"boolean",required:"Optional",description:"Whether the route is disabled"}];return e.jsx("div",{className:"space-y-8",children:e.jsx(t.CardContainer,{children:e.jsx(t.CardTitle,{title:"API Reference",className:"mt-2 mb-6",children:e.jsxs("div",{className:"space-y-6",children:[e.jsx(t.Typography,{tag:"p",className:"text-gray-600 dark:text-gray-400",children:"Complete API reference for the routing system components and interfaces."}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx(t.Typography,{tag:"h4",className:"font-semibold",children:"StandaloneAppRoutesMenuItem Properties"}),e.jsx(t.BasicTable,{columns:i,data:s})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(t.Typography,{tag:"h4",className:"font-semibold",children:"IAppRouteConfig Properties (MFE)"}),e.jsx(t.BasicTable,{columns:n,data:a})]})]})]})})})})};exports.default=l;
@@ -1,5 +1,5 @@
1
1
  import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
- import { C as s, a as l, T as i, B as n, D as a } from "./index-HwvOEWI7.mjs";
2
+ import { C as s, a as l, T as i, l as n, G as a } from "../index-DsiBIFwo.js";
3
3
  import "lucide-react";
4
4
  import "react-router-dom";
5
5
  import "react";
@@ -0,0 +1,22 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../index-D874Kozv.js");require("lucide-react");require("react-router-dom");require("react");require("react-dom");const i=()=>e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"text-center space-y-4",children:[e.jsx(t.Typography,{tag:"h2",className:"text-3xl md:text-4xl font-bold",children:"ActiveLink"}),e.jsx(t.Typography,{tag:"p",className:"text-xl text-gray-600 dark:text-gray-400 max-w-2xl mx-auto",children:"A link component that automatically applies an active class when the current path matches the link path."})]}),e.jsx(t.CardContainer,{className:"overflow-hidden",children:e.jsx(t.CardTitle,{title:"Basic Examples",className:"mt-2 mb-2",children:e.jsx("div",{className:"w-full p-4 sm:p-6",children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs(t.CardContainer,{className:"p-4",children:[e.jsx(t.Typography,{tag:"h5",className:"mb-3",children:"Active Link"}),e.jsxs("div",{className:"flex gap-4",children:[e.jsx(t.ActiveLink,{to:"/components",path:"/components",children:"Components"}),e.jsx(t.ActiveLink,{to:"/about",path:"/about",children:"About"})]})]}),e.jsxs(t.CardContainer,{className:"p-4",children:[e.jsx(t.Typography,{tag:"h5",className:"mb-3",children:"With Custom Active Class"}),e.jsx(t.ActiveLink,{to:"/home",path:"/home",activeClassName:"text-brand font-bold",children:"Home"})]})]})})})}),e.jsx(t.PropPlayground,{componentName:"ActiveLink",defaultValues:{path:"/demo",activeClassName:"active"},excludeProps:["state","to"],children:a=>e.jsx(t.ActiveLink,{...a,to:"#",children:"Active Link Example"})}),e.jsx(t.AutoPropsTable,{componentName:"ActiveLink"}),e.jsx(t.CardContainer,{className:"overflow-hidden",children:e.jsx(t.CardTitle,{title:"Code Example",className:"mt-2 mb-2",children:e.jsx("div",{className:"w-full p-4 sm:p-6",children:e.jsx(t.CodeBlock,{language:"tsx",code:`import { ActiveLink } from '@e-burgos/tucu-ui';
2
+
3
+ // Basic usage
4
+ <ActiveLink to="/components" path="/components">
5
+ Components
6
+ </ActiveLink>
7
+
8
+ // With custom active class
9
+ <ActiveLink
10
+ to="/home"
11
+ path="/home"
12
+ activeClassName="text-brand font-bold"
13
+ >
14
+ Home
15
+ </ActiveLink>
16
+
17
+ // Navigation example
18
+ <nav>
19
+ <ActiveLink to="/" path="/">Home</ActiveLink>
20
+ <ActiveLink to="/about" path="/about">About</ActiveLink>
21
+ <ActiveLink to="/contact" path="/contact">Contact</ActiveLink>
22
+ </nav>`})})})})]});exports.default=i;
@@ -0,0 +1,81 @@
1
+ import { jsxs as t, Fragment as s, jsx as e } from "react/jsx-runtime";
2
+ import { T as a, C as i, a as o, V as c, s as l, A as m, c as r } from "../index-DsiBIFwo.js";
3
+ import "lucide-react";
4
+ import "react-router-dom";
5
+ import "react";
6
+ import "react-dom";
7
+ const A = () => /* @__PURE__ */ t(s, { children: [
8
+ /* @__PURE__ */ t("div", { className: "text-center space-y-4", children: [
9
+ /* @__PURE__ */ e(a, { tag: "h2", className: "text-3xl md:text-4xl font-bold", children: "ActiveLink" }),
10
+ /* @__PURE__ */ e(
11
+ a,
12
+ {
13
+ tag: "p",
14
+ className: "text-xl text-gray-600 dark:text-gray-400 max-w-2xl mx-auto",
15
+ children: "A link component that automatically applies an active class when the current path matches the link path."
16
+ }
17
+ )
18
+ ] }),
19
+ /* @__PURE__ */ e(i, { className: "overflow-hidden", children: /* @__PURE__ */ e(o, { title: "Basic Examples", className: "mt-2 mb-2", children: /* @__PURE__ */ e("div", { className: "w-full p-4 sm:p-6", children: /* @__PURE__ */ t("div", { className: "space-y-4", children: [
20
+ /* @__PURE__ */ t(i, { className: "p-4", children: [
21
+ /* @__PURE__ */ e(a, { tag: "h5", className: "mb-3", children: "Active Link" }),
22
+ /* @__PURE__ */ t("div", { className: "flex gap-4", children: [
23
+ /* @__PURE__ */ e(c, { to: "/components", path: "/components", children: "Components" }),
24
+ /* @__PURE__ */ e(c, { to: "/about", path: "/about", children: "About" })
25
+ ] })
26
+ ] }),
27
+ /* @__PURE__ */ t(i, { className: "p-4", children: [
28
+ /* @__PURE__ */ e(a, { tag: "h5", className: "mb-3", children: "With Custom Active Class" }),
29
+ /* @__PURE__ */ e(
30
+ c,
31
+ {
32
+ to: "/home",
33
+ path: "/home",
34
+ activeClassName: "text-brand font-bold",
35
+ children: "Home"
36
+ }
37
+ )
38
+ ] })
39
+ ] }) }) }) }),
40
+ /* @__PURE__ */ e(
41
+ l,
42
+ {
43
+ componentName: "ActiveLink",
44
+ defaultValues: { path: "/demo", activeClassName: "active" },
45
+ excludeProps: ["state", "to"],
46
+ children: (n) => /* @__PURE__ */ e(c, { ...n, to: "#", children: "Active Link Example" })
47
+ }
48
+ ),
49
+ /* @__PURE__ */ e(m, { componentName: "ActiveLink" }),
50
+ /* @__PURE__ */ e(i, { className: "overflow-hidden", children: /* @__PURE__ */ e(o, { title: "Code Example", className: "mt-2 mb-2", children: /* @__PURE__ */ e("div", { className: "w-full p-4 sm:p-6", children: /* @__PURE__ */ e(
51
+ r,
52
+ {
53
+ language: "tsx",
54
+ code: `import { ActiveLink } from '@e-burgos/tucu-ui';
55
+
56
+ // Basic usage
57
+ <ActiveLink to="/components" path="/components">
58
+ Components
59
+ </ActiveLink>
60
+
61
+ // With custom active class
62
+ <ActiveLink
63
+ to="/home"
64
+ path="/home"
65
+ activeClassName="text-brand font-bold"
66
+ >
67
+ Home
68
+ </ActiveLink>
69
+
70
+ // Navigation example
71
+ <nav>
72
+ <ActiveLink to="/" path="/">Home</ActiveLink>
73
+ <ActiveLink to="/about" path="/about">About</ActiveLink>
74
+ <ActiveLink to="/contact" path="/contact">Contact</ActiveLink>
75
+ </nav>`
76
+ }
77
+ ) }) }) })
78
+ ] });
79
+ export {
80
+ A as default
81
+ };
@@ -1,5 +1,5 @@
1
1
  import { jsxs as e, Fragment as i, jsx as a } from "react/jsx-runtime";
2
- import { T as r, C as c, a as o, c as d } from "./index-HwvOEWI7.mjs";
2
+ import { T as r, C as c, a as o, c as d } from "../index-DsiBIFwo.js";
3
3
  import "lucide-react";
4
4
  import "react-router-dom";
5
5
  import "react";