nfx-ui 0.16.2 → 0.20.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.
Files changed (935) hide show
  1. package/README.md +67 -271
  2. package/dist/animations.cjs +1 -2
  3. package/dist/animations.mjs +9 -9
  4. package/dist/apis.cjs +0 -1
  5. package/dist/apis.cjs.map +1 -1
  6. package/dist/apis.mjs +0 -1
  7. package/dist/apis.mjs.map +1 -1
  8. package/dist/chunk-LucideIcon-Chc7x8mN.mjs +15 -0
  9. package/dist/chunk-LucideIcon-Chc7x8mN.mjs.map +1 -0
  10. package/dist/chunk-LucideIcon-CuoAB_OX.cjs +3 -0
  11. package/dist/chunk-LucideIcon-CuoAB_OX.cjs.map +1 -0
  12. package/dist/chunk-ModalProvider-BgLSJXhS.cjs +3 -0
  13. package/dist/chunk-ModalProvider-BgLSJXhS.cjs.map +1 -0
  14. package/dist/chunk-ModalProvider-CpzFzfWG.mjs +220 -0
  15. package/dist/chunk-ModalProvider-CpzFzfWG.mjs.map +1 -0
  16. package/dist/chunk-PixelBlast-BbJ2VmCL.cjs +190 -0
  17. package/dist/chunk-PixelBlast-BbJ2VmCL.cjs.map +1 -0
  18. package/dist/chunk-PixelBlast-BiBrG_NH.mjs +504 -0
  19. package/dist/chunk-PixelBlast-BiBrG_NH.mjs.map +1 -0
  20. package/dist/chunk-ThemeProvider-C4kxX2D0.cjs +3 -0
  21. package/dist/chunk-ThemeProvider-C4kxX2D0.cjs.map +1 -0
  22. package/dist/chunk-ThemeProvider-D0U8V6ky.mjs +28 -0
  23. package/dist/chunk-ThemeProvider-D0U8V6ky.mjs.map +1 -0
  24. package/dist/chunk-animations-CkOpTtX1.cjs +11 -0
  25. package/dist/chunk-animations-CkOpTtX1.cjs.map +1 -0
  26. package/dist/chunk-animations-DKyNVF-O.mjs +973 -0
  27. package/dist/chunk-animations-DKyNVF-O.mjs.map +1 -0
  28. package/dist/chunk-dashboard-BsGK96hu.mjs +104 -0
  29. package/dist/chunk-dashboard-BsGK96hu.mjs.map +1 -0
  30. package/dist/chunk-dashboard-CFT0HjSM.cjs +3 -0
  31. package/dist/chunk-dashboard-CFT0HjSM.cjs.map +1 -0
  32. package/dist/chunk-hooks-Cy_8mdDG.mjs +90 -0
  33. package/dist/chunk-hooks-Cy_8mdDG.mjs.map +1 -0
  34. package/dist/chunk-hooks-yVn82nBZ.cjs +3 -0
  35. package/dist/chunk-hooks-yVn82nBZ.cjs.map +1 -0
  36. package/dist/chunk-i18n-B8pZ_hpC.mjs +435 -0
  37. package/dist/chunk-i18n-B8pZ_hpC.mjs.map +1 -0
  38. package/dist/chunk-i18n-C06d89Eq.cjs +3 -0
  39. package/dist/chunk-i18n-C06d89Eq.cjs.map +1 -0
  40. package/dist/chunk-layout-BDpxG0Ca.mjs +27 -0
  41. package/dist/chunk-layout-BDpxG0Ca.mjs.map +1 -0
  42. package/dist/chunk-layout-DKCQHheg.cjs +3 -0
  43. package/dist/chunk-layout-DKCQHheg.cjs.map +1 -0
  44. package/dist/chunk-lucide-CrMbx2vC.cjs +3 -0
  45. package/dist/chunk-lucide-CrMbx2vC.cjs.map +1 -0
  46. package/dist/chunk-lucide-yNs0iz1-.mjs +158 -0
  47. package/dist/chunk-lucide-yNs0iz1-.mjs.map +1 -0
  48. package/dist/chunk-modal-C3LgRLur.cjs +3 -0
  49. package/dist/chunk-modal-C3LgRLur.cjs.map +1 -0
  50. package/dist/chunk-modal-D9vk2ENf.mjs +92 -0
  51. package/dist/chunk-modal-D9vk2ENf.mjs.map +1 -0
  52. package/dist/chunk-preference-BP-GO9Uk.cjs +3 -0
  53. package/dist/chunk-preference-BP-GO9Uk.cjs.map +1 -0
  54. package/dist/chunk-preference-BXXryZLY.cjs +3 -0
  55. package/dist/chunk-preference-BXXryZLY.cjs.map +1 -0
  56. package/dist/chunk-preference-Y15HwKd0.mjs +42 -0
  57. package/dist/chunk-preference-Y15HwKd0.mjs.map +1 -0
  58. package/dist/chunk-preference-x4EdmqU6.mjs +295 -0
  59. package/dist/chunk-preference-x4EdmqU6.mjs.map +1 -0
  60. package/dist/chunk-rolldown-runtime-Bvb_CV3F.cjs +1 -0
  61. package/dist/chunk-useLanguageLabel-38sEu2rP.cjs +3 -0
  62. package/dist/chunk-useLanguageLabel-38sEu2rP.cjs.map +1 -0
  63. package/dist/chunk-useLanguageLabel-BLdxHuep.mjs +38 -0
  64. package/dist/chunk-useLanguageLabel-BLdxHuep.mjs.map +1 -0
  65. package/dist/chunk-useLayout-CbUZVWpS.cjs +3 -0
  66. package/dist/chunk-useLayout-CbUZVWpS.cjs.map +1 -0
  67. package/dist/chunk-useLayout-CjXHRPLD.mjs +302 -0
  68. package/dist/chunk-useLayout-CjXHRPLD.mjs.map +1 -0
  69. package/dist/chunk-useTheme-C2Ip6OAs.mjs +34 -0
  70. package/dist/chunk-useTheme-C2Ip6OAs.mjs.map +1 -0
  71. package/dist/chunk-useTheme-DSps5NbC.cjs +3 -0
  72. package/dist/chunk-useTheme-DSps5NbC.cjs.map +1 -0
  73. package/dist/components.cjs +3 -3
  74. package/dist/components.cjs.map +1 -1
  75. package/dist/components.mjs +1122 -1472
  76. package/dist/components.mjs.map +1 -1
  77. package/dist/constants.cjs +0 -1
  78. package/dist/constants.cjs.map +1 -1
  79. package/dist/constants.mjs +0 -1
  80. package/dist/constants.mjs.map +1 -1
  81. package/dist/enums.cjs +1 -0
  82. package/dist/enums.mjs +43 -0
  83. package/dist/events.cjs +0 -1
  84. package/dist/events.cjs.map +1 -1
  85. package/dist/events.mjs +0 -1
  86. package/dist/events.mjs.map +1 -1
  87. package/dist/hooks.cjs +1 -4
  88. package/dist/hooks.mjs +12 -104
  89. package/dist/icons.cjs +3 -2
  90. package/dist/icons.cjs.map +1 -0
  91. package/dist/icons.mjs +19350 -73
  92. package/dist/icons.mjs.map +1 -0
  93. package/dist/languages.cjs +1 -2
  94. package/dist/languages.cjs.map +1 -1
  95. package/dist/languages.mjs +63 -76
  96. package/dist/languages.mjs.map +1 -1
  97. package/dist/layouts.cjs +2 -2
  98. package/dist/layouts.cjs.map +1 -1
  99. package/dist/layouts.mjs +787 -395
  100. package/dist/layouts.mjs.map +1 -1
  101. package/dist/navigations.cjs +0 -1
  102. package/dist/navigations.cjs.map +1 -1
  103. package/dist/navigations.mjs +0 -1
  104. package/dist/navigations.mjs.map +1 -1
  105. package/dist/pixel-blast.cjs +1 -191
  106. package/dist/pixel-blast.mjs +2 -503
  107. package/dist/providers.cjs +4 -0
  108. package/dist/providers.cjs.map +1 -0
  109. package/dist/providers.mjs +37 -0
  110. package/dist/providers.mjs.map +1 -0
  111. package/dist/services.cjs +0 -1
  112. package/dist/services.cjs.map +1 -1
  113. package/dist/services.mjs +0 -1
  114. package/dist/services.mjs.map +1 -1
  115. package/dist/src/designs/animations/index.d.ts +1 -0
  116. package/dist/src/designs/animations/index.d.ts.map +1 -1
  117. package/dist/src/designs/components/CardHeader.d.ts +9 -0
  118. package/dist/src/designs/components/CardHeader.d.ts.map +1 -0
  119. package/dist/src/designs/components/EmptyState/index.d.ts +10 -0
  120. package/dist/src/designs/components/EmptyState/index.d.ts.map +1 -0
  121. package/dist/src/designs/components/LayoutSwitcher/index.d.ts +1 -1
  122. package/dist/src/designs/components/LayoutSwitcher/index.d.ts.map +1 -1
  123. package/dist/src/designs/components/Logo/index.d.ts +15 -0
  124. package/dist/src/designs/components/Logo/index.d.ts.map +1 -0
  125. package/dist/src/designs/components/LucideIcon.d.ts +11 -0
  126. package/dist/src/designs/components/LucideIcon.d.ts.map +1 -0
  127. package/dist/src/designs/components/PageHeader/index.d.ts +11 -0
  128. package/dist/src/designs/components/PageHeader/index.d.ts.map +1 -0
  129. package/dist/src/designs/components/PreferencesPopover/index.d.ts +6 -0
  130. package/dist/src/designs/components/PreferencesPopover/index.d.ts.map +1 -0
  131. package/dist/src/designs/components/Suspense/index.d.ts +6 -60
  132. package/dist/src/designs/components/Suspense/index.d.ts.map +1 -1
  133. package/dist/src/designs/components/ThemeSettings/index.d.ts +2 -0
  134. package/dist/src/designs/components/ThemeSettings/index.d.ts.map +1 -0
  135. package/dist/src/designs/components/ThemeSwitcher/index.d.ts +1 -3
  136. package/dist/src/designs/components/ThemeSwitcher/index.d.ts.map +1 -1
  137. package/dist/src/designs/components/VirtuosoList.d.ts +37 -0
  138. package/dist/src/designs/components/VirtuosoList.d.ts.map +1 -0
  139. package/dist/src/designs/components/index.d.ts +19 -25
  140. package/dist/src/designs/components/index.d.ts.map +1 -1
  141. package/dist/src/designs/layouts/components/Background/index.d.ts +1 -1
  142. package/dist/src/designs/layouts/components/Background/index.d.ts.map +1 -1
  143. package/dist/src/designs/layouts/components/Header/index.d.ts +31 -3
  144. package/dist/src/designs/layouts/components/Header/index.d.ts.map +1 -1
  145. package/dist/src/designs/layouts/components/LayoutFrame/index.d.ts +1 -1
  146. package/dist/src/designs/layouts/components/LayoutFrame/index.d.ts.map +1 -1
  147. package/dist/src/designs/layouts/components/Main/index.d.ts +8 -0
  148. package/dist/src/designs/layouts/components/Main/index.d.ts.map +1 -0
  149. package/dist/src/designs/layouts/components/MainWrapper/index.d.ts +1 -1
  150. package/dist/src/designs/layouts/components/MainWrapper/index.d.ts.map +1 -1
  151. package/dist/src/designs/layouts/components/PageFrame/index.d.ts +10 -0
  152. package/dist/src/designs/layouts/components/PageFrame/index.d.ts.map +1 -0
  153. package/dist/src/designs/layouts/components/SideHideLayout/index.d.ts +1 -1
  154. package/dist/src/designs/layouts/components/SideHideLayout/index.d.ts.map +1 -1
  155. package/dist/src/designs/layouts/components/SideShowLayout/index.d.ts +1 -1
  156. package/dist/src/designs/layouts/components/SideShowLayout/index.d.ts.map +1 -1
  157. package/dist/src/designs/layouts/components/Sidebar/index.d.ts +74 -2
  158. package/dist/src/designs/layouts/components/Sidebar/index.d.ts.map +1 -1
  159. package/dist/src/designs/layouts/components/Sidebar/menu.d.ts +9 -0
  160. package/dist/src/designs/layouts/components/Sidebar/menu.d.ts.map +1 -0
  161. package/dist/src/designs/layouts/components/UserTopBar/index.d.ts +18 -0
  162. package/dist/src/designs/layouts/components/UserTopBar/index.d.ts.map +1 -0
  163. package/dist/src/designs/layouts/components/index.d.ts +9 -1
  164. package/dist/src/designs/layouts/components/index.d.ts.map +1 -1
  165. package/dist/src/designs/layouts/index.d.ts +2 -0
  166. package/dist/src/designs/layouts/index.d.ts.map +1 -1
  167. package/dist/src/designs/providers/ModalProvider/components/Base.d.ts +6 -0
  168. package/dist/src/designs/providers/ModalProvider/components/Base.d.ts.map +1 -0
  169. package/dist/src/designs/providers/ModalProvider/components/Confirm.d.ts +6 -0
  170. package/dist/src/designs/providers/ModalProvider/components/Confirm.d.ts.map +1 -0
  171. package/dist/src/designs/providers/ModalProvider/components/Loading.d.ts +6 -0
  172. package/dist/src/designs/providers/ModalProvider/components/Loading.d.ts.map +1 -0
  173. package/dist/src/designs/providers/ModalProvider/index.d.ts +10 -0
  174. package/dist/src/designs/providers/ModalProvider/index.d.ts.map +1 -0
  175. package/dist/src/{preference/constants.d.ts → enums/dashboard.d.ts} +4 -8
  176. package/dist/src/enums/dashboard.d.ts.map +1 -0
  177. package/dist/src/enums/index.d.ts +4 -0
  178. package/dist/src/enums/index.d.ts.map +1 -0
  179. package/dist/src/enums/language.d.ts +13 -0
  180. package/dist/src/enums/language.d.ts.map +1 -0
  181. package/dist/src/enums/theme.d.ts +107 -0
  182. package/dist/src/enums/theme.d.ts.map +1 -0
  183. package/dist/src/hooks/index.d.ts +2 -4
  184. package/dist/src/hooks/index.d.ts.map +1 -1
  185. package/dist/src/hooks/preference.d.ts +21 -0
  186. package/dist/src/hooks/preference.d.ts.map +1 -0
  187. package/dist/src/icons/animated/accessibility-icon.d.ts +13 -0
  188. package/dist/src/icons/animated/accessibility-icon.d.ts.map +1 -0
  189. package/dist/src/icons/animated/airplane-icon.d.ts +9 -0
  190. package/dist/src/icons/animated/airplane-icon.d.ts.map +1 -0
  191. package/dist/src/icons/animated/alarm-clock-plus-icon.d.ts +11 -0
  192. package/dist/src/icons/animated/alarm-clock-plus-icon.d.ts.map +1 -0
  193. package/dist/src/icons/animated/align-center-icon.d.ts +4 -0
  194. package/dist/src/icons/animated/align-center-icon.d.ts.map +1 -0
  195. package/dist/src/icons/animated/align-vertical-space-around-icon.d.ts +4 -0
  196. package/dist/src/icons/animated/align-vertical-space-around-icon.d.ts.map +1 -0
  197. package/dist/src/icons/animated/ambulance-icon.d.ts +4 -0
  198. package/dist/src/icons/animated/ambulance-icon.d.ts.map +1 -0
  199. package/dist/src/icons/animated/ampersand-icon.d.ts +4 -0
  200. package/dist/src/icons/animated/ampersand-icon.d.ts.map +1 -0
  201. package/dist/src/icons/animated/angry-icon.d.ts +4 -0
  202. package/dist/src/icons/animated/angry-icon.d.ts.map +1 -0
  203. package/dist/src/icons/animated/annoyed-icon.d.ts +4 -0
  204. package/dist/src/icons/animated/annoyed-icon.d.ts.map +1 -0
  205. package/dist/src/icons/animated/apple-brand-logo.d.ts +4 -0
  206. package/dist/src/icons/animated/apple-brand-logo.d.ts.map +1 -0
  207. package/dist/src/icons/animated/arrow-back-icon.d.ts +4 -0
  208. package/dist/src/icons/animated/arrow-back-icon.d.ts.map +1 -0
  209. package/dist/src/icons/animated/arrow-back-up-icon.d.ts +4 -0
  210. package/dist/src/icons/animated/arrow-back-up-icon.d.ts.map +1 -0
  211. package/dist/src/icons/animated/arrow-big-down-dash-icon.d.ts +4 -0
  212. package/dist/src/icons/animated/arrow-big-down-dash-icon.d.ts.map +1 -0
  213. package/dist/src/icons/animated/arrow-big-down-icon.d.ts +4 -0
  214. package/dist/src/icons/animated/arrow-big-down-icon.d.ts.map +1 -0
  215. package/dist/src/icons/animated/arrow-big-left-dash-icon.d.ts +4 -0
  216. package/dist/src/icons/animated/arrow-big-left-dash-icon.d.ts.map +1 -0
  217. package/dist/src/icons/animated/arrow-big-left-icon.d.ts +4 -0
  218. package/dist/src/icons/animated/arrow-big-left-icon.d.ts.map +1 -0
  219. package/dist/src/icons/animated/arrow-big-right-dash-icon.d.ts +4 -0
  220. package/dist/src/icons/animated/arrow-big-right-dash-icon.d.ts.map +1 -0
  221. package/dist/src/icons/animated/arrow-big-right-icon.d.ts +4 -0
  222. package/dist/src/icons/animated/arrow-big-right-icon.d.ts.map +1 -0
  223. package/dist/src/icons/animated/arrow-big-up-dash-icon.d.ts +4 -0
  224. package/dist/src/icons/animated/arrow-big-up-dash-icon.d.ts.map +1 -0
  225. package/dist/src/icons/animated/arrow-big-up-icon.d.ts +4 -0
  226. package/dist/src/icons/animated/arrow-big-up-icon.d.ts.map +1 -0
  227. package/dist/src/icons/animated/arrow-down-0-1-icon.d.ts +4 -0
  228. package/dist/src/icons/animated/arrow-down-0-1-icon.d.ts.map +1 -0
  229. package/dist/src/icons/animated/arrow-down-1-0-icon.d.ts +4 -0
  230. package/dist/src/icons/animated/arrow-down-1-0-icon.d.ts.map +1 -0
  231. package/dist/src/icons/animated/arrow-down-a-z-icon.d.ts +4 -0
  232. package/dist/src/icons/animated/arrow-down-a-z-icon.d.ts.map +1 -0
  233. package/dist/src/icons/animated/arrow-narrow-down-dashed-icon.d.ts +4 -0
  234. package/dist/src/icons/animated/arrow-narrow-down-dashed-icon.d.ts.map +1 -0
  235. package/dist/src/icons/animated/arrow-narrow-down-icon.d.ts +4 -0
  236. package/dist/src/icons/animated/arrow-narrow-down-icon.d.ts.map +1 -0
  237. package/dist/src/icons/animated/arrow-narrow-left-dashed-icon.d.ts +4 -0
  238. package/dist/src/icons/animated/arrow-narrow-left-dashed-icon.d.ts.map +1 -0
  239. package/dist/src/icons/animated/arrow-narrow-left-icon.d.ts +4 -0
  240. package/dist/src/icons/animated/arrow-narrow-left-icon.d.ts.map +1 -0
  241. package/dist/src/icons/animated/arrow-narrow-right-dashed-icon.d.ts +4 -0
  242. package/dist/src/icons/animated/arrow-narrow-right-dashed-icon.d.ts.map +1 -0
  243. package/dist/src/icons/animated/arrow-narrow-right-icon.d.ts +4 -0
  244. package/dist/src/icons/animated/arrow-narrow-right-icon.d.ts.map +1 -0
  245. package/dist/src/icons/animated/arrow-narrow-up-dashed-icon.d.ts +4 -0
  246. package/dist/src/icons/animated/arrow-narrow-up-dashed-icon.d.ts.map +1 -0
  247. package/dist/src/icons/animated/arrow-narrow-up-icon.d.ts +4 -0
  248. package/dist/src/icons/animated/arrow-narrow-up-icon.d.ts.map +1 -0
  249. package/dist/src/icons/animated/at-sign-icon.d.ts +4 -0
  250. package/dist/src/icons/animated/at-sign-icon.d.ts.map +1 -0
  251. package/dist/src/icons/animated/banana-icon.d.ts +4 -0
  252. package/dist/src/icons/animated/banana-icon.d.ts.map +1 -0
  253. package/dist/src/icons/animated/battery-charging-icon.d.ts +4 -0
  254. package/dist/src/icons/animated/battery-charging-icon.d.ts.map +1 -0
  255. package/dist/src/icons/animated/battery-icon.d.ts +4 -0
  256. package/dist/src/icons/animated/battery-icon.d.ts.map +1 -0
  257. package/dist/src/icons/animated/battery-pause-icon.d.ts +4 -0
  258. package/dist/src/icons/animated/battery-pause-icon.d.ts.map +1 -0
  259. package/dist/src/icons/animated/bell-off-icon.d.ts +4 -0
  260. package/dist/src/icons/animated/bell-off-icon.d.ts.map +1 -0
  261. package/dist/src/icons/animated/bluetooth-connected-icon.d.ts +4 -0
  262. package/dist/src/icons/animated/bluetooth-connected-icon.d.ts.map +1 -0
  263. package/dist/src/icons/animated/book-icon.d.ts +4 -0
  264. package/dist/src/icons/animated/book-icon.d.ts.map +1 -0
  265. package/dist/src/icons/animated/bookmark-icon.d.ts +4 -0
  266. package/dist/src/icons/animated/bookmark-icon.d.ts.map +1 -0
  267. package/dist/src/icons/animated/brain-circuit-icon.d.ts +4 -0
  268. package/dist/src/icons/animated/brain-circuit-icon.d.ts.map +1 -0
  269. package/dist/src/icons/animated/brand-aistudio-icon.d.ts +4 -0
  270. package/dist/src/icons/animated/brand-aistudio-icon.d.ts.map +1 -0
  271. package/dist/src/icons/animated/brand-anthropic-icon.d.ts +4 -0
  272. package/dist/src/icons/animated/brand-anthropic-icon.d.ts.map +1 -0
  273. package/dist/src/icons/animated/brand-aws-icon.d.ts +4 -0
  274. package/dist/src/icons/animated/brand-aws-icon.d.ts.map +1 -0
  275. package/dist/src/icons/animated/brand-bags-fm-icon.d.ts +4 -0
  276. package/dist/src/icons/animated/brand-bags-fm-icon.d.ts.map +1 -0
  277. package/dist/src/icons/animated/brand-chrome-icon.d.ts +4 -0
  278. package/dist/src/icons/animated/brand-chrome-icon.d.ts.map +1 -0
  279. package/dist/src/icons/animated/brand-cursor-icon.d.ts +4 -0
  280. package/dist/src/icons/animated/brand-cursor-icon.d.ts.map +1 -0
  281. package/dist/src/icons/animated/brand-gemini-icon.d.ts +4 -0
  282. package/dist/src/icons/animated/brand-gemini-icon.d.ts.map +1 -0
  283. package/dist/src/icons/animated/brand-google-icon.d.ts +4 -0
  284. package/dist/src/icons/animated/brand-google-icon.d.ts.map +1 -0
  285. package/dist/src/icons/animated/brand-grok-icon.d.ts +4 -0
  286. package/dist/src/icons/animated/brand-grok-icon.d.ts.map +1 -0
  287. package/dist/src/icons/animated/brand-lmstudio-icon.d.ts +4 -0
  288. package/dist/src/icons/animated/brand-lmstudio-icon.d.ts.map +1 -0
  289. package/dist/src/icons/animated/brand-midjourney-icon.d.ts +4 -0
  290. package/dist/src/icons/animated/brand-midjourney-icon.d.ts.map +1 -0
  291. package/dist/src/icons/animated/brand-nextjs-icon.d.ts +4 -0
  292. package/dist/src/icons/animated/brand-nextjs-icon.d.ts.map +1 -0
  293. package/dist/src/icons/animated/brand-notion-icon.d.ts +4 -0
  294. package/dist/src/icons/animated/brand-notion-icon.d.ts.map +1 -0
  295. package/dist/src/icons/animated/brand-ollama-icon.d.ts +4 -0
  296. package/dist/src/icons/animated/brand-ollama-icon.d.ts.map +1 -0
  297. package/dist/src/icons/animated/brand-openai-icon.d.ts +4 -0
  298. package/dist/src/icons/animated/brand-openai-icon.d.ts.map +1 -0
  299. package/dist/src/icons/animated/brand-paypal-icon.d.ts +4 -0
  300. package/dist/src/icons/animated/brand-paypal-icon.d.ts.map +1 -0
  301. package/dist/src/icons/animated/brand-qwen-icon.d.ts +4 -0
  302. package/dist/src/icons/animated/brand-qwen-icon.d.ts.map +1 -0
  303. package/dist/src/icons/animated/brand-railway-icon.d.ts +4 -0
  304. package/dist/src/icons/animated/brand-railway-icon.d.ts.map +1 -0
  305. package/dist/src/icons/animated/brand-react-icon.d.ts +4 -0
  306. package/dist/src/icons/animated/brand-react-icon.d.ts.map +1 -0
  307. package/dist/src/icons/animated/brand-react-native-icon.d.ts +4 -0
  308. package/dist/src/icons/animated/brand-react-native-icon.d.ts.map +1 -0
  309. package/dist/src/icons/animated/brand-stripe-icon.d.ts +4 -0
  310. package/dist/src/icons/animated/brand-stripe-icon.d.ts.map +1 -0
  311. package/dist/src/icons/animated/brand-telegram-icon.d.ts +4 -0
  312. package/dist/src/icons/animated/brand-telegram-icon.d.ts.map +1 -0
  313. package/dist/src/icons/animated/brand-threads-icon.d.ts +4 -0
  314. package/dist/src/icons/animated/brand-threads-icon.d.ts.map +1 -0
  315. package/dist/src/icons/animated/brand-twitch-icon.d.ts +4 -0
  316. package/dist/src/icons/animated/brand-twitch-icon.d.ts.map +1 -0
  317. package/dist/src/icons/animated/brand-vercel-icon.d.ts +4 -0
  318. package/dist/src/icons/animated/brand-vercel-icon.d.ts.map +1 -0
  319. package/dist/src/icons/animated/brand-windows-icon.d.ts +4 -0
  320. package/dist/src/icons/animated/brand-windows-icon.d.ts.map +1 -0
  321. package/dist/src/icons/animated/brand-wordpress-icon.d.ts +4 -0
  322. package/dist/src/icons/animated/brand-wordpress-icon.d.ts.map +1 -0
  323. package/dist/src/icons/animated/brand-xai-icon.d.ts +4 -0
  324. package/dist/src/icons/animated/brand-xai-icon.d.ts.map +1 -0
  325. package/dist/src/icons/animated/brand-zoom-icon.d.ts +4 -0
  326. package/dist/src/icons/animated/brand-zoom-icon.d.ts.map +1 -0
  327. package/dist/src/icons/animated/brightness-down-icon.d.ts +4 -0
  328. package/dist/src/icons/animated/brightness-down-icon.d.ts.map +1 -0
  329. package/dist/src/icons/animated/bug-icon.d.ts +4 -0
  330. package/dist/src/icons/animated/bug-icon.d.ts.map +1 -0
  331. package/dist/src/icons/animated/bulb-svg.d.ts +4 -0
  332. package/dist/src/icons/animated/bulb-svg.d.ts.map +1 -0
  333. package/dist/src/icons/animated/camera-icon.d.ts +4 -0
  334. package/dist/src/icons/animated/camera-icon.d.ts.map +1 -0
  335. package/dist/src/icons/animated/camera-off-icon.d.ts +4 -0
  336. package/dist/src/icons/animated/camera-off-icon.d.ts.map +1 -0
  337. package/dist/src/icons/animated/candy-cane-icon.d.ts +4 -0
  338. package/dist/src/icons/animated/candy-cane-icon.d.ts.map +1 -0
  339. package/dist/src/icons/animated/cart-icon.d.ts +4 -0
  340. package/dist/src/icons/animated/cart-icon.d.ts.map +1 -0
  341. package/dist/src/icons/animated/chart-bar-icon.d.ts +4 -0
  342. package/dist/src/icons/animated/chart-bar-icon.d.ts.map +1 -0
  343. package/dist/src/icons/animated/chart-covariate-icon.d.ts +4 -0
  344. package/dist/src/icons/animated/chart-covariate-icon.d.ts.map +1 -0
  345. package/dist/src/icons/animated/chart-histogram-icon.d.ts +4 -0
  346. package/dist/src/icons/animated/chart-histogram-icon.d.ts.map +1 -0
  347. package/dist/src/icons/animated/chart-line-icon.d.ts +4 -0
  348. package/dist/src/icons/animated/chart-line-icon.d.ts.map +1 -0
  349. package/dist/src/icons/animated/chart-pie-icon.d.ts +4 -0
  350. package/dist/src/icons/animated/chart-pie-icon.d.ts.map +1 -0
  351. package/dist/src/icons/animated/checked-icon.d.ts +4 -0
  352. package/dist/src/icons/animated/checked-icon.d.ts.map +1 -0
  353. package/dist/src/icons/animated/clock-icon.d.ts +4 -0
  354. package/dist/src/icons/animated/clock-icon.d.ts.map +1 -0
  355. package/dist/src/icons/animated/cloud-1-icon.d.ts +4 -0
  356. package/dist/src/icons/animated/cloud-1-icon.d.ts.map +1 -0
  357. package/dist/src/icons/animated/cloud-2-icon.d.ts +4 -0
  358. package/dist/src/icons/animated/cloud-2-icon.d.ts.map +1 -0
  359. package/dist/src/icons/animated/cloud-3-icon.d.ts +4 -0
  360. package/dist/src/icons/animated/cloud-3-icon.d.ts.map +1 -0
  361. package/dist/src/icons/animated/code-icon.d.ts +4 -0
  362. package/dist/src/icons/animated/code-icon.d.ts.map +1 -0
  363. package/dist/src/icons/animated/code-xml-icon.d.ts +4 -0
  364. package/dist/src/icons/animated/code-xml-icon.d.ts.map +1 -0
  365. package/dist/src/icons/animated/coffee-icon.d.ts +4 -0
  366. package/dist/src/icons/animated/coffee-icon.d.ts.map +1 -0
  367. package/dist/src/icons/animated/coin-bitcoin-icon.d.ts +4 -0
  368. package/dist/src/icons/animated/coin-bitcoin-icon.d.ts.map +1 -0
  369. package/dist/src/icons/animated/copy-icon.d.ts +4 -0
  370. package/dist/src/icons/animated/copy-icon.d.ts.map +1 -0
  371. package/dist/src/icons/animated/copy-off-icon.d.ts +4 -0
  372. package/dist/src/icons/animated/copy-off-icon.d.ts.map +1 -0
  373. package/dist/src/icons/animated/copyright-icon.d.ts +4 -0
  374. package/dist/src/icons/animated/copyright-icon.d.ts.map +1 -0
  375. package/dist/src/icons/animated/cpu-icon.d.ts +4 -0
  376. package/dist/src/icons/animated/cpu-icon.d.ts.map +1 -0
  377. package/dist/src/icons/animated/credit-card.d.ts +4 -0
  378. package/dist/src/icons/animated/credit-card.d.ts.map +1 -0
  379. package/dist/src/icons/animated/currency-bitcoin-icon.d.ts +4 -0
  380. package/dist/src/icons/animated/currency-bitcoin-icon.d.ts.map +1 -0
  381. package/dist/src/icons/animated/currency-dollar-icon.d.ts +4 -0
  382. package/dist/src/icons/animated/currency-dollar-icon.d.ts.map +1 -0
  383. package/dist/src/icons/animated/currency-ethereum-icon.d.ts +4 -0
  384. package/dist/src/icons/animated/currency-ethereum-icon.d.ts.map +1 -0
  385. package/dist/src/icons/animated/currency-euro-icon.d.ts +4 -0
  386. package/dist/src/icons/animated/currency-euro-icon.d.ts.map +1 -0
  387. package/dist/src/icons/animated/currency-rupee-icon.d.ts +4 -0
  388. package/dist/src/icons/animated/currency-rupee-icon.d.ts.map +1 -0
  389. package/dist/src/icons/animated/device-airpods-icon.d.ts +4 -0
  390. package/dist/src/icons/animated/device-airpods-icon.d.ts.map +1 -0
  391. package/dist/src/icons/animated/dialpad-icon.d.ts +4 -0
  392. package/dist/src/icons/animated/dialpad-icon.d.ts.map +1 -0
  393. package/dist/src/icons/animated/dino-icon.d.ts +4 -0
  394. package/dist/src/icons/animated/dino-icon.d.ts.map +1 -0
  395. package/dist/src/icons/animated/discord-icon.d.ts +4 -0
  396. package/dist/src/icons/animated/discord-icon.d.ts.map +1 -0
  397. package/dist/src/icons/animated/docker-icon.d.ts +4 -0
  398. package/dist/src/icons/animated/docker-icon.d.ts.map +1 -0
  399. package/dist/src/icons/animated/dots-horizontal-icon.d.ts +4 -0
  400. package/dist/src/icons/animated/dots-horizontal-icon.d.ts.map +1 -0
  401. package/dist/src/icons/animated/dots-vertical-icon.d.ts +4 -0
  402. package/dist/src/icons/animated/dots-vertical-icon.d.ts.map +1 -0
  403. package/dist/src/icons/animated/double-check-icon.d.ts +4 -0
  404. package/dist/src/icons/animated/double-check-icon.d.ts.map +1 -0
  405. package/dist/src/icons/animated/down-chevron.d.ts +4 -0
  406. package/dist/src/icons/animated/down-chevron.d.ts.map +1 -0
  407. package/dist/src/icons/animated/download-icon.d.ts +4 -0
  408. package/dist/src/icons/animated/download-icon.d.ts.map +1 -0
  409. package/dist/src/icons/animated/drum-icon.d.ts +4 -0
  410. package/dist/src/icons/animated/drum-icon.d.ts.map +1 -0
  411. package/dist/src/icons/animated/expand-icon.d.ts +4 -0
  412. package/dist/src/icons/animated/expand-icon.d.ts.map +1 -0
  413. package/dist/src/icons/animated/external-link-icon.d.ts +4 -0
  414. package/dist/src/icons/animated/external-link-icon.d.ts.map +1 -0
  415. package/dist/src/icons/animated/eye-icon.d.ts +4 -0
  416. package/dist/src/icons/animated/eye-icon.d.ts.map +1 -0
  417. package/dist/src/icons/animated/eye-off-icon.d.ts +4 -0
  418. package/dist/src/icons/animated/eye-off-icon.d.ts.map +1 -0
  419. package/dist/src/icons/animated/facebook-icon.d.ts +4 -0
  420. package/dist/src/icons/animated/facebook-icon.d.ts.map +1 -0
  421. package/dist/src/icons/animated/figma-icon.d.ts +4 -0
  422. package/dist/src/icons/animated/figma-icon.d.ts.map +1 -0
  423. package/dist/src/icons/animated/file-description-icon.d.ts +4 -0
  424. package/dist/src/icons/animated/file-description-icon.d.ts.map +1 -0
  425. package/dist/src/icons/animated/filled-bell-icon.d.ts +4 -0
  426. package/dist/src/icons/animated/filled-bell-icon.d.ts.map +1 -0
  427. package/dist/src/icons/animated/filled-checked-icon.d.ts +4 -0
  428. package/dist/src/icons/animated/filled-checked-icon.d.ts.map +1 -0
  429. package/dist/src/icons/animated/filter-icon.d.ts +4 -0
  430. package/dist/src/icons/animated/filter-icon.d.ts.map +1 -0
  431. package/dist/src/icons/animated/flame-icon.d.ts +4 -0
  432. package/dist/src/icons/animated/flame-icon.d.ts.map +1 -0
  433. package/dist/src/icons/animated/focus-icon.d.ts +4 -0
  434. package/dist/src/icons/animated/focus-icon.d.ts.map +1 -0
  435. package/dist/src/icons/animated/gamepad-icon.d.ts +4 -0
  436. package/dist/src/icons/animated/gamepad-icon.d.ts.map +1 -0
  437. package/dist/src/icons/animated/gauge-icon.d.ts +4 -0
  438. package/dist/src/icons/animated/gauge-icon.d.ts.map +1 -0
  439. package/dist/src/icons/animated/gear-icon.d.ts +4 -0
  440. package/dist/src/icons/animated/gear-icon.d.ts.map +1 -0
  441. package/dist/src/icons/animated/ghost-icon.d.ts +4 -0
  442. package/dist/src/icons/animated/ghost-icon.d.ts.map +1 -0
  443. package/dist/src/icons/animated/github-copilot-icon.d.ts +4 -0
  444. package/dist/src/icons/animated/github-copilot-icon.d.ts.map +1 -0
  445. package/dist/src/icons/animated/github-icon.d.ts +4 -0
  446. package/dist/src/icons/animated/github-icon.d.ts.map +1 -0
  447. package/dist/src/icons/animated/gitlab-icon.d.ts +4 -0
  448. package/dist/src/icons/animated/gitlab-icon.d.ts.map +1 -0
  449. package/dist/src/icons/animated/globe-icon.d.ts +4 -0
  450. package/dist/src/icons/animated/globe-icon.d.ts.map +1 -0
  451. package/dist/src/icons/animated/gmail-icon.d.ts +4 -0
  452. package/dist/src/icons/animated/gmail-icon.d.ts.map +1 -0
  453. package/dist/src/icons/animated/golang-icon.d.ts +4 -0
  454. package/dist/src/icons/animated/golang-icon.d.ts.map +1 -0
  455. package/dist/src/icons/animated/hand-heart-icon.d.ts +4 -0
  456. package/dist/src/icons/animated/hand-heart-icon.d.ts.map +1 -0
  457. package/dist/src/icons/animated/hashtag-icon.d.ts +4 -0
  458. package/dist/src/icons/animated/hashtag-icon.d.ts.map +1 -0
  459. package/dist/src/icons/animated/heart-icon.d.ts +4 -0
  460. package/dist/src/icons/animated/heart-icon.d.ts.map +1 -0
  461. package/dist/src/icons/animated/history-circle-icon.d.ts +4 -0
  462. package/dist/src/icons/animated/history-circle-icon.d.ts.map +1 -0
  463. package/dist/src/icons/animated/home-icon.d.ts +4 -0
  464. package/dist/src/icons/animated/home-icon.d.ts.map +1 -0
  465. package/dist/src/icons/animated/hotel-icon.d.ts +4 -0
  466. package/dist/src/icons/animated/hotel-icon.d.ts.map +1 -0
  467. package/dist/src/icons/animated/index.d.ts +267 -0
  468. package/dist/src/icons/animated/index.d.ts.map +1 -0
  469. package/dist/src/icons/animated/info-circle-icon.d.ts +4 -0
  470. package/dist/src/icons/animated/info-circle-icon.d.ts.map +1 -0
  471. package/dist/src/icons/animated/instagram-icon.d.ts +4 -0
  472. package/dist/src/icons/animated/instagram-icon.d.ts.map +1 -0
  473. package/dist/src/icons/animated/javascript-icon.d.ts +4 -0
  474. package/dist/src/icons/animated/javascript-icon.d.ts.map +1 -0
  475. package/dist/src/icons/animated/keyframes-icon.d.ts +4 -0
  476. package/dist/src/icons/animated/keyframes-icon.d.ts.map +1 -0
  477. package/dist/src/icons/animated/layers-icon.d.ts +4 -0
  478. package/dist/src/icons/animated/layers-icon.d.ts.map +1 -0
  479. package/dist/src/icons/animated/layout-bottombar-collapse-icon.d.ts +4 -0
  480. package/dist/src/icons/animated/layout-bottombar-collapse-icon.d.ts.map +1 -0
  481. package/dist/src/icons/animated/layout-dashboard-icon.d.ts +4 -0
  482. package/dist/src/icons/animated/layout-dashboard-icon.d.ts.map +1 -0
  483. package/dist/src/icons/animated/layout-sidebar-right-collapse-icon.d.ts +4 -0
  484. package/dist/src/icons/animated/layout-sidebar-right-collapse-icon.d.ts.map +1 -0
  485. package/dist/src/icons/animated/layout-sidebar-right-icon.d.ts +4 -0
  486. package/dist/src/icons/animated/layout-sidebar-right-icon.d.ts.map +1 -0
  487. package/dist/src/icons/animated/letter-a-icon.d.ts +4 -0
  488. package/dist/src/icons/animated/letter-a-icon.d.ts.map +1 -0
  489. package/dist/src/icons/animated/letter-b-icon.d.ts +4 -0
  490. package/dist/src/icons/animated/letter-b-icon.d.ts.map +1 -0
  491. package/dist/src/icons/animated/letter-c-icon.d.ts +4 -0
  492. package/dist/src/icons/animated/letter-c-icon.d.ts.map +1 -0
  493. package/dist/src/icons/animated/letter-d-icon.d.ts +4 -0
  494. package/dist/src/icons/animated/letter-d-icon.d.ts.map +1 -0
  495. package/dist/src/icons/animated/letter-e-icon.d.ts +4 -0
  496. package/dist/src/icons/animated/letter-e-icon.d.ts.map +1 -0
  497. package/dist/src/icons/animated/letter-f-icon.d.ts +4 -0
  498. package/dist/src/icons/animated/letter-f-icon.d.ts.map +1 -0
  499. package/dist/src/icons/animated/letter-g-icon.d.ts +4 -0
  500. package/dist/src/icons/animated/letter-g-icon.d.ts.map +1 -0
  501. package/dist/src/icons/animated/letter-h-icon.d.ts +4 -0
  502. package/dist/src/icons/animated/letter-h-icon.d.ts.map +1 -0
  503. package/dist/src/icons/animated/letter-i-icon.d.ts +4 -0
  504. package/dist/src/icons/animated/letter-i-icon.d.ts.map +1 -0
  505. package/dist/src/icons/animated/letter-j-icon.d.ts +4 -0
  506. package/dist/src/icons/animated/letter-j-icon.d.ts.map +1 -0
  507. package/dist/src/icons/animated/letter-k-icon.d.ts +4 -0
  508. package/dist/src/icons/animated/letter-k-icon.d.ts.map +1 -0
  509. package/dist/src/icons/animated/letter-l-icon.d.ts +4 -0
  510. package/dist/src/icons/animated/letter-l-icon.d.ts.map +1 -0
  511. package/dist/src/icons/animated/letter-m-icon.d.ts +4 -0
  512. package/dist/src/icons/animated/letter-m-icon.d.ts.map +1 -0
  513. package/dist/src/icons/animated/letter-n-icon.d.ts +4 -0
  514. package/dist/src/icons/animated/letter-n-icon.d.ts.map +1 -0
  515. package/dist/src/icons/animated/letter-o-icon.d.ts +4 -0
  516. package/dist/src/icons/animated/letter-o-icon.d.ts.map +1 -0
  517. package/dist/src/icons/animated/letter-p-icon.d.ts +4 -0
  518. package/dist/src/icons/animated/letter-p-icon.d.ts.map +1 -0
  519. package/dist/src/icons/animated/letter-q-icon.d.ts +4 -0
  520. package/dist/src/icons/animated/letter-q-icon.d.ts.map +1 -0
  521. package/dist/src/icons/animated/letter-r-icon.d.ts +4 -0
  522. package/dist/src/icons/animated/letter-r-icon.d.ts.map +1 -0
  523. package/dist/src/icons/animated/letter-s-icon.d.ts +4 -0
  524. package/dist/src/icons/animated/letter-s-icon.d.ts.map +1 -0
  525. package/dist/src/icons/animated/letter-t-icon.d.ts +4 -0
  526. package/dist/src/icons/animated/letter-t-icon.d.ts.map +1 -0
  527. package/dist/src/icons/animated/letter-u-icon.d.ts +4 -0
  528. package/dist/src/icons/animated/letter-u-icon.d.ts.map +1 -0
  529. package/dist/src/icons/animated/letter-v-icon.d.ts +4 -0
  530. package/dist/src/icons/animated/letter-v-icon.d.ts.map +1 -0
  531. package/dist/src/icons/animated/letter-w-icon.d.ts +4 -0
  532. package/dist/src/icons/animated/letter-w-icon.d.ts.map +1 -0
  533. package/dist/src/icons/animated/letter-x-icon.d.ts +4 -0
  534. package/dist/src/icons/animated/letter-x-icon.d.ts.map +1 -0
  535. package/dist/src/icons/animated/letter-y-icon.d.ts +4 -0
  536. package/dist/src/icons/animated/letter-y-icon.d.ts.map +1 -0
  537. package/dist/src/icons/animated/letter-z-icon.d.ts +4 -0
  538. package/dist/src/icons/animated/letter-z-icon.d.ts.map +1 -0
  539. package/dist/src/icons/animated/library-icon.d.ts +4 -0
  540. package/dist/src/icons/animated/library-icon.d.ts.map +1 -0
  541. package/dist/src/icons/animated/like-icon.d.ts +4 -0
  542. package/dist/src/icons/animated/like-icon.d.ts.map +1 -0
  543. package/dist/src/icons/animated/link-icon.d.ts +4 -0
  544. package/dist/src/icons/animated/link-icon.d.ts.map +1 -0
  545. package/dist/src/icons/animated/linkedin-icon.d.ts +4 -0
  546. package/dist/src/icons/animated/linkedin-icon.d.ts.map +1 -0
  547. package/dist/src/icons/animated/locate-icon.d.ts +4 -0
  548. package/dist/src/icons/animated/locate-icon.d.ts.map +1 -0
  549. package/dist/src/icons/animated/lock-icon.d.ts +4 -0
  550. package/dist/src/icons/animated/lock-icon.d.ts.map +1 -0
  551. package/dist/src/icons/animated/logout-icon.d.ts +4 -0
  552. package/dist/src/icons/animated/logout-icon.d.ts.map +1 -0
  553. package/dist/src/icons/animated/magnifier-icon.d.ts +4 -0
  554. package/dist/src/icons/animated/magnifier-icon.d.ts.map +1 -0
  555. package/dist/src/icons/animated/mail-filled-icon.d.ts +4 -0
  556. package/dist/src/icons/animated/mail-filled-icon.d.ts.map +1 -0
  557. package/dist/src/icons/animated/map-pin-icon.d.ts +4 -0
  558. package/dist/src/icons/animated/map-pin-icon.d.ts.map +1 -0
  559. package/dist/src/icons/animated/meh-icon.d.ts +4 -0
  560. package/dist/src/icons/animated/meh-icon.d.ts.map +1 -0
  561. package/dist/src/icons/animated/message-circle-icon.d.ts +4 -0
  562. package/dist/src/icons/animated/message-circle-icon.d.ts.map +1 -0
  563. package/dist/src/icons/animated/moon-icon.d.ts +4 -0
  564. package/dist/src/icons/animated/moon-icon.d.ts.map +1 -0
  565. package/dist/src/icons/animated/mouse-pointer-2-icon.d.ts +4 -0
  566. package/dist/src/icons/animated/mouse-pointer-2-icon.d.ts.map +1 -0
  567. package/dist/src/icons/animated/mysql-icon.d.ts +4 -0
  568. package/dist/src/icons/animated/mysql-icon.d.ts.map +1 -0
  569. package/dist/src/icons/animated/nodejs-icon.d.ts +4 -0
  570. package/dist/src/icons/animated/nodejs-icon.d.ts.map +1 -0
  571. package/dist/src/icons/animated/paint-icon.d.ts +4 -0
  572. package/dist/src/icons/animated/paint-icon.d.ts.map +1 -0
  573. package/dist/src/icons/animated/party-popper-icon.d.ts +4 -0
  574. package/dist/src/icons/animated/party-popper-icon.d.ts.map +1 -0
  575. package/dist/src/icons/animated/passport-icon.d.ts +4 -0
  576. package/dist/src/icons/animated/passport-icon.d.ts.map +1 -0
  577. package/dist/src/icons/animated/paw-print-icon.d.ts +4 -0
  578. package/dist/src/icons/animated/paw-print-icon.d.ts.map +1 -0
  579. package/dist/src/icons/animated/pen-icon.d.ts +4 -0
  580. package/dist/src/icons/animated/pen-icon.d.ts.map +1 -0
  581. package/dist/src/icons/animated/phone-volume.d.ts +4 -0
  582. package/dist/src/icons/animated/phone-volume.d.ts.map +1 -0
  583. package/dist/src/icons/animated/pinterest-icon.d.ts +4 -0
  584. package/dist/src/icons/animated/pinterest-icon.d.ts.map +1 -0
  585. package/dist/src/icons/animated/player-icon.d.ts +4 -0
  586. package/dist/src/icons/animated/player-icon.d.ts.map +1 -0
  587. package/dist/src/icons/animated/plug-connected-icon.d.ts +4 -0
  588. package/dist/src/icons/animated/plug-connected-icon.d.ts.map +1 -0
  589. package/dist/src/icons/animated/plug-connected-x-icon.d.ts +4 -0
  590. package/dist/src/icons/animated/plug-connected-x-icon.d.ts.map +1 -0
  591. package/dist/src/icons/animated/python-icon.d.ts +4 -0
  592. package/dist/src/icons/animated/python-icon.d.ts.map +1 -0
  593. package/dist/src/icons/animated/qrcode-icon.d.ts +4 -0
  594. package/dist/src/icons/animated/qrcode-icon.d.ts.map +1 -0
  595. package/dist/src/icons/animated/question-mark.d.ts +4 -0
  596. package/dist/src/icons/animated/question-mark.d.ts.map +1 -0
  597. package/dist/src/icons/animated/radio-icon.d.ts +4 -0
  598. package/dist/src/icons/animated/radio-icon.d.ts.map +1 -0
  599. package/dist/src/icons/animated/rainbow-icon.d.ts +4 -0
  600. package/dist/src/icons/animated/rainbow-icon.d.ts.map +1 -0
  601. package/dist/src/icons/animated/refresh-icon.d.ts +4 -0
  602. package/dist/src/icons/animated/refresh-icon.d.ts.map +1 -0
  603. package/dist/src/icons/animated/right-chevron.d.ts +4 -0
  604. package/dist/src/icons/animated/right-chevron.d.ts.map +1 -0
  605. package/dist/src/icons/animated/rocket-icon.d.ts +4 -0
  606. package/dist/src/icons/animated/rocket-icon.d.ts.map +1 -0
  607. package/dist/src/icons/animated/rosette-discount-check-icon.d.ts +4 -0
  608. package/dist/src/icons/animated/rosette-discount-check-icon.d.ts.map +1 -0
  609. package/dist/src/icons/animated/rosette-discount-icon.d.ts +4 -0
  610. package/dist/src/icons/animated/rosette-discount-icon.d.ts.map +1 -0
  611. package/dist/src/icons/animated/router-icon.d.ts +4 -0
  612. package/dist/src/icons/animated/router-icon.d.ts.map +1 -0
  613. package/dist/src/icons/animated/satellite-dish-icon.d.ts +4 -0
  614. package/dist/src/icons/animated/satellite-dish-icon.d.ts.map +1 -0
  615. package/dist/src/icons/animated/save-icon.d.ts +4 -0
  616. package/dist/src/icons/animated/save-icon.d.ts.map +1 -0
  617. package/dist/src/icons/animated/scan-barcode-icon.d.ts +4 -0
  618. package/dist/src/icons/animated/scan-barcode-icon.d.ts.map +1 -0
  619. package/dist/src/icons/animated/scan-heart-icon.d.ts +4 -0
  620. package/dist/src/icons/animated/scan-heart-icon.d.ts.map +1 -0
  621. package/dist/src/icons/animated/send-horizontal-icon.d.ts +4 -0
  622. package/dist/src/icons/animated/send-horizontal-icon.d.ts.map +1 -0
  623. package/dist/src/icons/animated/send-icon.d.ts +4 -0
  624. package/dist/src/icons/animated/send-icon.d.ts.map +1 -0
  625. package/dist/src/icons/animated/shield-check.d.ts +4 -0
  626. package/dist/src/icons/animated/shield-check.d.ts.map +1 -0
  627. package/dist/src/icons/animated/shopping-cart-icon.d.ts +4 -0
  628. package/dist/src/icons/animated/shopping-cart-icon.d.ts.map +1 -0
  629. package/dist/src/icons/animated/simple-checked-icon.d.ts +4 -0
  630. package/dist/src/icons/animated/simple-checked-icon.d.ts.map +1 -0
  631. package/dist/src/icons/animated/skull-emoji.d.ts +4 -0
  632. package/dist/src/icons/animated/skull-emoji.d.ts.map +1 -0
  633. package/dist/src/icons/animated/slack-icon.d.ts +4 -0
  634. package/dist/src/icons/animated/slack-icon.d.ts.map +1 -0
  635. package/dist/src/icons/animated/sliders-horizontal-icon.d.ts +4 -0
  636. package/dist/src/icons/animated/sliders-horizontal-icon.d.ts.map +1 -0
  637. package/dist/src/icons/animated/snapchat-icon.d.ts +4 -0
  638. package/dist/src/icons/animated/snapchat-icon.d.ts.map +1 -0
  639. package/dist/src/icons/animated/soup-icon.d.ts +4 -0
  640. package/dist/src/icons/animated/soup-icon.d.ts.map +1 -0
  641. package/dist/src/icons/animated/sparkles-icon.d.ts +4 -0
  642. package/dist/src/icons/animated/sparkles-icon.d.ts.map +1 -0
  643. package/dist/src/icons/animated/spotify-icon.d.ts +4 -0
  644. package/dist/src/icons/animated/spotify-icon.d.ts.map +1 -0
  645. package/dist/src/icons/animated/stack-3-icon.d.ts +4 -0
  646. package/dist/src/icons/animated/stack-3-icon.d.ts.map +1 -0
  647. package/dist/src/icons/animated/stack-icon.d.ts +4 -0
  648. package/dist/src/icons/animated/stack-icon.d.ts.map +1 -0
  649. package/dist/src/icons/animated/star-icon.d.ts +4 -0
  650. package/dist/src/icons/animated/star-icon.d.ts.map +1 -0
  651. package/dist/src/icons/animated/subscript-icon.d.ts +4 -0
  652. package/dist/src/icons/animated/subscript-icon.d.ts.map +1 -0
  653. package/dist/src/icons/animated/target-icon.d.ts +4 -0
  654. package/dist/src/icons/animated/target-icon.d.ts.map +1 -0
  655. package/dist/src/icons/animated/telephone-icon.d.ts +4 -0
  656. package/dist/src/icons/animated/telephone-icon.d.ts.map +1 -0
  657. package/dist/src/icons/animated/terminal-icon.d.ts +4 -0
  658. package/dist/src/icons/animated/terminal-icon.d.ts.map +1 -0
  659. package/dist/src/icons/animated/toggle-icon.d.ts +4 -0
  660. package/dist/src/icons/animated/toggle-icon.d.ts.map +1 -0
  661. package/dist/src/icons/animated/trash-icon.d.ts +9 -0
  662. package/dist/src/icons/animated/trash-icon.d.ts.map +1 -0
  663. package/dist/src/icons/animated/travel-bag.d.ts +4 -0
  664. package/dist/src/icons/animated/travel-bag.d.ts.map +1 -0
  665. package/dist/src/icons/animated/triangle-alert-icon.d.ts +4 -0
  666. package/dist/src/icons/animated/triangle-alert-icon.d.ts.map +1 -0
  667. package/dist/src/icons/animated/trophy-icon.d.ts +4 -0
  668. package/dist/src/icons/animated/trophy-icon.d.ts.map +1 -0
  669. package/dist/src/icons/animated/truck-electric-icon.d.ts +4 -0
  670. package/dist/src/icons/animated/truck-electric-icon.d.ts.map +1 -0
  671. package/dist/src/icons/animated/twitter-icon.d.ts +4 -0
  672. package/dist/src/icons/animated/twitter-icon.d.ts.map +1 -0
  673. package/dist/src/icons/animated/twitter-x-icon.d.ts +4 -0
  674. package/dist/src/icons/animated/twitter-x-icon.d.ts.map +1 -0
  675. package/dist/src/icons/animated/types.d.ts +33 -0
  676. package/dist/src/icons/animated/types.d.ts.map +1 -0
  677. package/dist/src/icons/animated/typescript-icon.d.ts +4 -0
  678. package/dist/src/icons/animated/typescript-icon.d.ts.map +1 -0
  679. package/dist/src/icons/animated/unlink-icon.d.ts +4 -0
  680. package/dist/src/icons/animated/unlink-icon.d.ts.map +1 -0
  681. package/dist/src/icons/animated/unordered-list-icon.d.ts +4 -0
  682. package/dist/src/icons/animated/unordered-list-icon.d.ts.map +1 -0
  683. package/dist/src/icons/animated/upload-icon.d.ts +4 -0
  684. package/dist/src/icons/animated/upload-icon.d.ts.map +1 -0
  685. package/dist/src/icons/animated/useAnimatedIconTrigger.d.ts +8 -0
  686. package/dist/src/icons/animated/useAnimatedIconTrigger.d.ts.map +1 -0
  687. package/dist/src/icons/animated/user-check-icon.d.ts +4 -0
  688. package/dist/src/icons/animated/user-check-icon.d.ts.map +1 -0
  689. package/dist/src/icons/animated/user-icon.d.ts +4 -0
  690. package/dist/src/icons/animated/user-icon.d.ts.map +1 -0
  691. package/dist/src/icons/animated/user-plus-icon.d.ts +4 -0
  692. package/dist/src/icons/animated/user-plus-icon.d.ts.map +1 -0
  693. package/dist/src/icons/animated/users-group-icon.d.ts +4 -0
  694. package/dist/src/icons/animated/users-group-icon.d.ts.map +1 -0
  695. package/dist/src/icons/animated/users-icon.d.ts +4 -0
  696. package/dist/src/icons/animated/users-icon.d.ts.map +1 -0
  697. package/dist/src/icons/animated/vinyl-icon.d.ts +4 -0
  698. package/dist/src/icons/animated/vinyl-icon.d.ts.map +1 -0
  699. package/dist/src/icons/animated/volume-2-icon.d.ts +4 -0
  700. package/dist/src/icons/animated/volume-2-icon.d.ts.map +1 -0
  701. package/dist/src/icons/animated/volume-x-icon.d.ts +4 -0
  702. package/dist/src/icons/animated/volume-x-icon.d.ts.map +1 -0
  703. package/dist/src/icons/animated/wallet-icon.d.ts +4 -0
  704. package/dist/src/icons/animated/wallet-icon.d.ts.map +1 -0
  705. package/dist/src/icons/animated/washing-machine-icon.d.ts +4 -0
  706. package/dist/src/icons/animated/washing-machine-icon.d.ts.map +1 -0
  707. package/dist/src/icons/animated/whatsapp-icon.d.ts +4 -0
  708. package/dist/src/icons/animated/whatsapp-icon.d.ts.map +1 -0
  709. package/dist/src/icons/animated/wifi-icon.d.ts +4 -0
  710. package/dist/src/icons/animated/wifi-icon.d.ts.map +1 -0
  711. package/dist/src/icons/animated/wifi-off-icon.d.ts +4 -0
  712. package/dist/src/icons/animated/wifi-off-icon.d.ts.map +1 -0
  713. package/dist/src/icons/animated/world-icon.d.ts +4 -0
  714. package/dist/src/icons/animated/world-icon.d.ts.map +1 -0
  715. package/dist/src/icons/animated/x-icon.d.ts +4 -0
  716. package/dist/src/icons/animated/x-icon.d.ts.map +1 -0
  717. package/dist/src/icons/animated/youtube-icon.d.ts +4 -0
  718. package/dist/src/icons/animated/youtube-icon.d.ts.map +1 -0
  719. package/dist/src/icons/index.d.ts +1 -0
  720. package/dist/src/icons/index.d.ts.map +1 -1
  721. package/dist/src/icons/lucide.d.ts +1 -1
  722. package/dist/src/icons/lucide.d.ts.map +1 -1
  723. package/dist/src/languages/hooks/index.d.ts +1 -1
  724. package/dist/src/languages/hooks/index.d.ts.map +1 -1
  725. package/dist/src/languages/hooks/useLanguageLabel.d.ts +8 -7
  726. package/dist/src/languages/hooks/useLanguageLabel.d.ts.map +1 -1
  727. package/dist/src/languages/hooks/usePreferenceLabel.d.ts +1 -1
  728. package/dist/src/languages/hooks/usePreferenceLabel.d.ts.map +1 -1
  729. package/dist/src/languages/hooks/useThemeLabel.d.ts +4 -5
  730. package/dist/src/languages/hooks/useThemeLabel.d.ts.map +1 -1
  731. package/dist/src/languages/index.d.ts +0 -2
  732. package/dist/src/languages/index.d.ts.map +1 -1
  733. package/dist/src/languages/languages/i18n.d.ts +4 -7
  734. package/dist/src/languages/languages/i18n.d.ts.map +1 -1
  735. package/dist/src/languages/languages/i18nResources.d.ts +1 -1
  736. package/dist/src/languages/languages/i18nResources.d.ts.map +1 -1
  737. package/dist/src/languages/resources/index.d.ts +2 -2
  738. package/dist/src/languages/types/components.d.ts +1 -24
  739. package/dist/src/languages/types/components.d.ts.map +1 -1
  740. package/dist/src/languages/types/i18n.d.ts +1 -4
  741. package/dist/src/languages/types/i18n.d.ts.map +1 -1
  742. package/dist/src/languages/types/language.d.ts +2 -11
  743. package/dist/src/languages/types/language.d.ts.map +1 -1
  744. package/dist/src/languages/utils/getLocalLanguage.d.ts +1 -1
  745. package/dist/src/languages/utils/getLocalLanguage.d.ts.map +1 -1
  746. package/dist/src/languages/utils/languageStorage.d.ts +2 -3
  747. package/dist/src/languages/utils/languageStorage.d.ts.map +1 -1
  748. package/dist/src/providers/LanguageProvider/index.d.ts +19 -0
  749. package/dist/src/providers/LanguageProvider/index.d.ts.map +1 -0
  750. package/dist/src/providers/ThemeProvider/index.d.ts +17 -0
  751. package/dist/src/providers/ThemeProvider/index.d.ts.map +1 -0
  752. package/dist/src/providers/index.d.ts +7 -0
  753. package/dist/src/providers/index.d.ts.map +1 -0
  754. package/dist/src/stores/index.d.ts +4 -0
  755. package/dist/src/stores/index.d.ts.map +1 -1
  756. package/dist/src/stores/layout.d.ts +41 -0
  757. package/dist/src/stores/layout.d.ts.map +1 -0
  758. package/dist/src/stores/makeStore.d.ts +1 -1
  759. package/dist/src/stores/modal.d.ts +67 -0
  760. package/dist/src/stores/modal.d.ts.map +1 -0
  761. package/dist/src/stores/preference.d.ts +52 -0
  762. package/dist/src/stores/preference.d.ts.map +1 -0
  763. package/dist/src/themes/fonts.d.ts +21 -0
  764. package/dist/src/themes/fonts.d.ts.map +1 -0
  765. package/dist/src/themes/hooks/index.d.ts +1 -3
  766. package/dist/src/themes/hooks/index.d.ts.map +1 -1
  767. package/dist/src/themes/hooks/useTheme.d.ts +25 -9
  768. package/dist/src/themes/hooks/useTheme.d.ts.map +1 -1
  769. package/dist/src/themes/index.d.ts +3 -4
  770. package/dist/src/themes/index.d.ts.map +1 -1
  771. package/dist/src/themes/radix/index.d.ts +2 -0
  772. package/dist/src/themes/radix/index.d.ts.map +1 -0
  773. package/dist/src/themes/radix/mappings.d.ts +39 -0
  774. package/dist/src/themes/radix/mappings.d.ts.map +1 -0
  775. package/dist/src/themes/types/components.d.ts +1 -24
  776. package/dist/src/themes/types/components.d.ts.map +1 -1
  777. package/dist/src/themes/types/context.d.ts +6 -12
  778. package/dist/src/themes/types/context.d.ts.map +1 -1
  779. package/dist/src/themes/types/index.d.ts +1 -6
  780. package/dist/src/themes/types/index.d.ts.map +1 -1
  781. package/dist/src/themes/types/theme.d.ts +15 -26
  782. package/dist/src/themes/types/theme.d.ts.map +1 -1
  783. package/dist/src/utils/factory/hooks.d.ts +44 -0
  784. package/dist/src/utils/factory/hooks.d.ts.map +1 -0
  785. package/dist/src/utils/factory/index.d.ts +2 -0
  786. package/dist/src/utils/factory/index.d.ts.map +1 -0
  787. package/dist/src/utils/index.d.ts +1 -0
  788. package/dist/src/utils/index.d.ts.map +1 -1
  789. package/dist/src/utils/safe.d.ts +4 -0
  790. package/dist/src/utils/safe.d.ts.map +1 -1
  791. package/dist/stores.cjs +1 -4
  792. package/dist/stores.mjs +32 -164
  793. package/dist/themes.cjs +2 -4
  794. package/dist/themes.mjs +27 -1473
  795. package/dist/types.cjs +0 -1
  796. package/dist/types.mjs +0 -1
  797. package/dist/utils.cjs +1 -2
  798. package/dist/utils.cjs.map +1 -1
  799. package/dist/utils.mjs +163 -181
  800. package/dist/utils.mjs.map +1 -1
  801. package/package.json +101 -43
  802. package/dist/chunk-BounceLoading-C-gq-XVr.mjs +0 -241
  803. package/dist/chunk-BounceLoading-C-gq-XVr.mjs.map +0 -1
  804. package/dist/chunk-BounceLoading-CkxvzNz8.cjs +0 -11
  805. package/dist/chunk-BounceLoading-CkxvzNz8.cjs.map +0 -1
  806. package/dist/chunk-animations-CiJbVYGC.mjs +0 -741
  807. package/dist/chunk-animations-CiJbVYGC.mjs.map +0 -1
  808. package/dist/chunk-animations-i85rn79V.cjs +0 -3
  809. package/dist/chunk-animations-i85rn79V.cjs.map +0 -1
  810. package/dist/chunk-chunk-D-Fg7nx1.cjs +0 -1
  811. package/dist/chunk-i18n-2-xL4pEi.cjs +0 -3
  812. package/dist/chunk-i18n-2-xL4pEi.cjs.map +0 -1
  813. package/dist/chunk-i18n-DgaoEbGL.mjs +0 -214
  814. package/dist/chunk-i18n-DgaoEbGL.mjs.map +0 -1
  815. package/dist/chunk-language-2r4uKROB.cjs +0 -3
  816. package/dist/chunk-language-2r4uKROB.cjs.map +0 -1
  817. package/dist/chunk-language-JRs5UIa2.mjs +0 -11
  818. package/dist/chunk-language-JRs5UIa2.mjs.map +0 -1
  819. package/dist/chunk-layout-BEAgFhif.mjs +0 -11
  820. package/dist/chunk-layout-BEAgFhif.mjs.map +0 -1
  821. package/dist/chunk-layout-mMQXuBLE.cjs +0 -3
  822. package/dist/chunk-layout-mMQXuBLE.cjs.map +0 -1
  823. package/dist/chunk-lucide-B99NZWfa.mjs +0 -158
  824. package/dist/chunk-lucide-B99NZWfa.mjs.map +0 -1
  825. package/dist/chunk-lucide-XL6d5__j.cjs +0 -3
  826. package/dist/chunk-lucide-XL6d5__j.cjs.map +0 -1
  827. package/dist/chunk-preference-DMhhY1Pl.mjs +0 -60
  828. package/dist/chunk-preference-DMhhY1Pl.mjs.map +0 -1
  829. package/dist/chunk-preference-DbNgeGhx.cjs +0 -3
  830. package/dist/chunk-preference-DbNgeGhx.cjs.map +0 -1
  831. package/dist/chunk-theme-CINVDd47.mjs +0 -17
  832. package/dist/chunk-theme-CINVDd47.mjs.map +0 -1
  833. package/dist/chunk-theme-D49XQfXe.cjs +0 -3
  834. package/dist/chunk-theme-D49XQfXe.cjs.map +0 -1
  835. package/dist/chunk-useLayout-BAIFfydj.cjs +0 -3
  836. package/dist/chunk-useLayout-BAIFfydj.cjs.map +0 -1
  837. package/dist/chunk-useLayout-BXsJlpcb.mjs +0 -12
  838. package/dist/chunk-useLayout-BXsJlpcb.mjs.map +0 -1
  839. package/dist/chunk-useTheme-BY1_pW9y.mjs +0 -13
  840. package/dist/chunk-useTheme-BY1_pW9y.mjs.map +0 -1
  841. package/dist/chunk-useTheme-Tw_7_cQf.cjs +0 -3
  842. package/dist/chunk-useTheme-Tw_7_cQf.cjs.map +0 -1
  843. package/dist/hooks.cjs.map +0 -1
  844. package/dist/hooks.mjs.map +0 -1
  845. package/dist/pixel-blast.cjs.map +0 -1
  846. package/dist/pixel-blast.mjs.map +0 -1
  847. package/dist/preference.cjs +0 -2
  848. package/dist/preference.mjs +0 -10
  849. package/dist/src/designs/components/Button/index.d.ts +0 -32
  850. package/dist/src/designs/components/Button/index.d.ts.map +0 -1
  851. package/dist/src/designs/components/Dropdown/index.d.ts +0 -25
  852. package/dist/src/designs/components/Dropdown/index.d.ts.map +0 -1
  853. package/dist/src/designs/components/Input/index.d.ts +0 -35
  854. package/dist/src/designs/components/Input/index.d.ts.map +0 -1
  855. package/dist/src/designs/components/KeyValueEditor/index.d.ts +0 -44
  856. package/dist/src/designs/components/KeyValueEditor/index.d.ts.map +0 -1
  857. package/dist/src/designs/components/SearchInput/index.d.ts +0 -15
  858. package/dist/src/designs/components/SearchInput/index.d.ts.map +0 -1
  859. package/dist/src/designs/components/ShowFilter/index.d.ts +0 -40
  860. package/dist/src/designs/components/ShowFilter/index.d.ts.map +0 -1
  861. package/dist/src/designs/components/SlideDownSwitcher/index.d.ts +0 -17
  862. package/dist/src/designs/components/SlideDownSwitcher/index.d.ts.map +0 -1
  863. package/dist/src/designs/components/Slider/index.d.ts +0 -39
  864. package/dist/src/designs/components/Slider/index.d.ts.map +0 -1
  865. package/dist/src/designs/components/Textarea/index.d.ts +0 -33
  866. package/dist/src/designs/components/Textarea/index.d.ts.map +0 -1
  867. package/dist/src/hooks/makeCursorFetchFunction.d.ts +0 -85
  868. package/dist/src/hooks/makeCursorFetchFunction.d.ts.map +0 -1
  869. package/dist/src/hooks/makeUnifiedInfiniteQuery.d.ts +0 -125
  870. package/dist/src/hooks/makeUnifiedInfiniteQuery.d.ts.map +0 -1
  871. package/dist/src/hooks/makeUnifiedQuery.d.ts +0 -20
  872. package/dist/src/hooks/makeUnifiedQuery.d.ts.map +0 -1
  873. package/dist/src/hooks/type.d.ts +0 -41
  874. package/dist/src/hooks/type.d.ts.map +0 -1
  875. package/dist/src/languages/providers/index.d.ts +0 -8
  876. package/dist/src/languages/providers/index.d.ts.map +0 -1
  877. package/dist/src/preference/constants.d.ts.map +0 -1
  878. package/dist/src/preference/core.d.ts +0 -12
  879. package/dist/src/preference/core.d.ts.map +0 -1
  880. package/dist/src/preference/index.d.ts +0 -27
  881. package/dist/src/preference/index.d.ts.map +0 -1
  882. package/dist/src/preference/nfx_slice.d.ts +0 -24
  883. package/dist/src/preference/nfx_slice.d.ts.map +0 -1
  884. package/dist/src/preference/types.d.ts +0 -28
  885. package/dist/src/preference/types.d.ts.map +0 -1
  886. package/dist/src/themes/hooks/useBaseVariables.d.ts +0 -8
  887. package/dist/src/themes/hooks/useBaseVariables.d.ts.map +0 -1
  888. package/dist/src/themes/hooks/useThemeVariables.d.ts +0 -11
  889. package/dist/src/themes/hooks/useThemeVariables.d.ts.map +0 -1
  890. package/dist/src/themes/hooks/useVariables.d.ts +0 -8
  891. package/dist/src/themes/hooks/useVariables.d.ts.map +0 -1
  892. package/dist/src/themes/providers/index.d.ts +0 -8
  893. package/dist/src/themes/providers/index.d.ts.map +0 -1
  894. package/dist/src/themes/themes/bases/android.d.ts +0 -5
  895. package/dist/src/themes/themes/bases/android.d.ts.map +0 -1
  896. package/dist/src/themes/themes/bases/default.d.ts +0 -6
  897. package/dist/src/themes/themes/bases/default.d.ts.map +0 -1
  898. package/dist/src/themes/themes/bases/index.d.ts +0 -9
  899. package/dist/src/themes/themes/bases/index.d.ts.map +0 -1
  900. package/dist/src/themes/themes/bases/ios.d.ts +0 -5
  901. package/dist/src/themes/themes/bases/ios.d.ts.map +0 -1
  902. package/dist/src/themes/themes/bases/linux.d.ts +0 -5
  903. package/dist/src/themes/themes/bases/linux.d.ts.map +0 -1
  904. package/dist/src/themes/themes/bases/windows.d.ts +0 -5
  905. package/dist/src/themes/themes/bases/windows.d.ts.map +0 -1
  906. package/dist/src/themes/themes/colors/coffee.d.ts +0 -8
  907. package/dist/src/themes/themes/colors/coffee.d.ts.map +0 -1
  908. package/dist/src/themes/themes/colors/corporate.d.ts +0 -8
  909. package/dist/src/themes/themes/colors/corporate.d.ts.map +0 -1
  910. package/dist/src/themes/themes/colors/cosmic.d.ts +0 -8
  911. package/dist/src/themes/themes/colors/cosmic.d.ts.map +0 -1
  912. package/dist/src/themes/themes/colors/dark.d.ts +0 -8
  913. package/dist/src/themes/themes/colors/dark.d.ts.map +0 -1
  914. package/dist/src/themes/themes/colors/default.d.ts +0 -8
  915. package/dist/src/themes/themes/colors/default.d.ts.map +0 -1
  916. package/dist/src/themes/themes/colors/forest.d.ts +0 -8
  917. package/dist/src/themes/themes/colors/forest.d.ts.map +0 -1
  918. package/dist/src/themes/themes/colors/index.d.ts +0 -14
  919. package/dist/src/themes/themes/colors/index.d.ts.map +0 -1
  920. package/dist/src/themes/themes/colors/light.d.ts +0 -8
  921. package/dist/src/themes/themes/colors/light.d.ts.map +0 -1
  922. package/dist/src/themes/themes/colors/wheat.d.ts +0 -8
  923. package/dist/src/themes/themes/colors/wheat.d.ts.map +0 -1
  924. package/dist/src/themes/themes/colors/wine.d.ts +0 -8
  925. package/dist/src/themes/themes/colors/wine.d.ts.map +0 -1
  926. package/dist/src/themes/themes/index.d.ts +0 -3
  927. package/dist/src/themes/themes/index.d.ts.map +0 -1
  928. package/dist/src/themes/utils/index.d.ts +0 -5
  929. package/dist/src/themes/utils/index.d.ts.map +0 -1
  930. package/dist/src/themes/utils/themeStorage.d.ts +0 -12
  931. package/dist/src/themes/utils/themeStorage.d.ts.map +0 -1
  932. package/dist/stores.cjs.map +0 -1
  933. package/dist/stores.mjs.map +0 -1
  934. package/dist/themes.cjs.map +0 -1
  935. package/dist/themes.mjs.map +0 -1
@@ -0,0 +1,190 @@
1
+ const de=require("./chunk-rolldown-runtime-Bvb_CV3F.cjs"),ve=require("./chunk-useTheme-DSps5NbC.cjs");let y=require("react");y=de.__toESM(y,1);let ie=require("react/jsx-runtime"),M=require("postprocessing"),a=require("three");var pe="style-module__container___Hh3-c",he={container:pe},xe=()=>{const n=document.createElement("canvas");n.width=64,n.height=64;const l=n.getContext("2d");if(!l)throw new Error("2D context not available");l.fillStyle="black",l.fillRect(0,0,n.width,n.height);const S=new a.Texture(n);S.minFilter=a.LinearFilter,S.magFilter=a.LinearFilter,S.generateMipmaps=!1;const E=[];let d=null;const u=64;let T=.1*64;const k=1/u,z=()=>{l.fillStyle="black",l.fillRect(0,0,n.width,n.height)},F=t=>{const s={x:t.x*64,y:(1-t.y)*64};let f=1;const A=g=>Math.sin(g*Math.PI/2),C=g=>-g*(g-2);t.age<u*.3?f=A(t.age/(u*.3)):f=C(1-(t.age-u*.3)/(u*.7))||0,f*=t.force;const w=`${(t.vx+1)/2*255}, ${(t.vy+1)/2*255}, ${f*255}`,x=320;l.shadowOffsetX=x,l.shadowOffsetY=x,l.shadowBlur=T,l.shadowColor=`rgba(${w},${.22*f})`,l.beginPath(),l.fillStyle="rgba(255,0,0,1)",l.arc(s.x-x,s.y-x,T,0,Math.PI*2),l.fill()};return{canvas:n,texture:S,addTouch:t=>{let s=0,f=0,A=0;if(d){const C=t.x-d.x,w=t.y-d.y;if(C===0&&w===0)return;const x=C*C+w*w,g=Math.sqrt(x);f=C/(g||1),A=w/(g||1),s=Math.min(x*1e4,1)}d={x:t.x,y:t.y},E.push({x:t.x,y:t.y,age:0,force:s,vx:f,vy:A})},update:()=>{z();for(let t=E.length-1;t>=0;t--){const s=E[t],f=s.force*k*(1-s.age/u);s.x+=s.vx*f,s.y+=s.vy*f,s.age++,s.age>u&&E.splice(t,1)}for(let t=0;t<E.length;t++)F(E[t]);S.needsUpdate=!0},set radiusScale(t){T=.1*64*t},get radiusScale(){return T/(.1*64)},size:64}},ge=(P,n)=>new M.Effect("LiquidEffect",`
2
+ uniform sampler2D uTexture;
3
+ uniform float uStrength;
4
+ uniform float uTime;
5
+ uniform float uFreq;
6
+
7
+ void mainUv(inout vec2 uv) {
8
+ vec4 tex = texture2D(uTexture, uv);
9
+ float vx = tex.r * 2.0 - 1.0;
10
+ float vy = tex.g * 2.0 - 1.0;
11
+ float intensity = tex.b;
12
+
13
+ float wave = 0.5 + 0.5 * sin(uTime * uFreq + intensity * 6.2831853);
14
+
15
+ float amt = uStrength * intensity * wave;
16
+
17
+ uv += vec2(vx, vy) * amt;
18
+ }
19
+ `,{uniforms:new Map([["uTexture",new a.Uniform(P)],["uStrength",new a.Uniform(n?.strength??.025)],["uTime",new a.Uniform(0)],["uFreq",new a.Uniform(n?.freq??4.5)]])}),ne={square:0,circle:1,triangle:2,diamond:3},ye=`
20
+ void main() {
21
+ gl_Position = vec4(position, 1.0);
22
+ }
23
+ `,we=`
24
+ precision highp float;
25
+
26
+ uniform vec3 uColor;
27
+ uniform vec2 uResolution;
28
+ uniform float uTime;
29
+ uniform float uPixelSize;
30
+ uniform float uScale;
31
+ uniform float uDensity;
32
+ uniform float uPixelJitter;
33
+ uniform int uEnableRipples;
34
+ uniform float uRippleSpeed;
35
+ uniform float uRippleThickness;
36
+ uniform float uRippleIntensity;
37
+ uniform float uEdgeFade;
38
+
39
+ uniform int uShapeType;
40
+ const int SHAPE_SQUARE = 0;
41
+ const int SHAPE_CIRCLE = 1;
42
+ const int SHAPE_TRIANGLE = 2;
43
+ const int SHAPE_DIAMOND = 3;
44
+
45
+ const int MAX_CLICKS = 10;
46
+
47
+ uniform vec2 uClickPos [MAX_CLICKS];
48
+ uniform float uClickTimes[MAX_CLICKS];
49
+
50
+ out vec4 fragColor;
51
+
52
+ float Bayer2(vec2 a) {
53
+ a = floor(a);
54
+ return fract(a.x / 2. + a.y * a.y * .75);
55
+ }
56
+ #define Bayer4(a) (Bayer2(.5*(a))*0.25 + Bayer2(a))
57
+ #define Bayer8(a) (Bayer4(.5*(a))*0.25 + Bayer2(a))
58
+
59
+ #define FBM_OCTAVES 5
60
+ #define FBM_LACUNARITY 1.25
61
+ #define FBM_GAIN 1.0
62
+
63
+ float hash11(float n){ return fract(sin(n)*43758.5453); }
64
+
65
+ float vnoise(vec3 p){
66
+ vec3 ip = floor(p);
67
+ vec3 fp = fract(p);
68
+ float n000 = hash11(dot(ip + vec3(0.0,0.0,0.0), vec3(1.0,57.0,113.0)));
69
+ float n100 = hash11(dot(ip + vec3(1.0,0.0,0.0), vec3(1.0,57.0,113.0)));
70
+ float n010 = hash11(dot(ip + vec3(0.0,1.0,0.0), vec3(1.0,57.0,113.0)));
71
+ float n110 = hash11(dot(ip + vec3(1.0,1.0,0.0), vec3(1.0,57.0,113.0)));
72
+ float n001 = hash11(dot(ip + vec3(0.0,0.0,1.0), vec3(1.0,57.0,113.0)));
73
+ float n101 = hash11(dot(ip + vec3(1.0,0.0,1.0), vec3(1.0,57.0,113.0)));
74
+ float n011 = hash11(dot(ip + vec3(0.0,1.0,1.0), vec3(1.0,57.0,113.0)));
75
+ float n111 = hash11(dot(ip + vec3(1.0,1.0,1.0), vec3(1.0,57.0,113.0)));
76
+ vec3 w = fp*fp*fp*(fp*(fp*6.0-15.0)+10.0);
77
+ float x00 = mix(n000, n100, w.x);
78
+ float x10 = mix(n010, n110, w.x);
79
+ float x01 = mix(n001, n101, w.x);
80
+ float x11 = mix(n011, n111, w.x);
81
+ float y0 = mix(x00, x10, w.y);
82
+ float y1 = mix(x01, x11, w.y);
83
+ return mix(y0, y1, w.z) * 2.0 - 1.0;
84
+ }
85
+
86
+ float fbm2(vec2 uv, float t){
87
+ vec3 p = vec3(uv * uScale, t);
88
+ float amp = 1.0;
89
+ float freq = 1.0;
90
+ float sum = 1.0;
91
+ for (int i = 0; i < FBM_OCTAVES; ++i){
92
+ sum += amp * vnoise(p * freq);
93
+ freq *= FBM_LACUNARITY;
94
+ amp *= FBM_GAIN;
95
+ }
96
+ return sum * 0.5 + 0.5;
97
+ }
98
+
99
+ float maskCircle(vec2 p, float cov){
100
+ float r = sqrt(cov) * .25;
101
+ float d = length(p - 0.5) - r;
102
+ float aa = 0.5 * fwidth(d);
103
+ return cov * (1.0 - smoothstep(-aa, aa, d * 2.0));
104
+ }
105
+
106
+ float maskTriangle(vec2 p, vec2 id, float cov){
107
+ bool flip = mod(id.x + id.y, 2.0) > 0.5;
108
+ if (flip) p.x = 1.0 - p.x;
109
+ float r = sqrt(cov);
110
+ float d = p.y - r*(1.0 - p.x);
111
+ float aa = fwidth(d);
112
+ return cov * clamp(0.5 - d/aa, 0.0, 1.0);
113
+ }
114
+
115
+ float maskDiamond(vec2 p, float cov){
116
+ float r = sqrt(cov) * 0.564;
117
+ return step(abs(p.x - 0.49) + abs(p.y - 0.49), r);
118
+ }
119
+
120
+ void main(){
121
+ float pixelSize = uPixelSize;
122
+ vec2 fragCoord = gl_FragCoord.xy - uResolution * .5;
123
+ float aspectRatio = uResolution.x / uResolution.y;
124
+
125
+ vec2 pixelId = floor(fragCoord / pixelSize);
126
+ vec2 pixelUV = fract(fragCoord / pixelSize);
127
+
128
+ float cellPixelSize = 8.0 * pixelSize;
129
+ vec2 cellId = floor(fragCoord / cellPixelSize);
130
+ vec2 cellCoord = cellId * cellPixelSize;
131
+ vec2 uv = cellCoord / uResolution * vec2(aspectRatio, 1.0);
132
+
133
+ float base = fbm2(uv, uTime * 0.05);
134
+ base = base * 0.5 - 0.65;
135
+
136
+ float feed = base + (uDensity - 0.5) * 0.3;
137
+
138
+ float speed = uRippleSpeed;
139
+ float thickness = uRippleThickness;
140
+ const float dampT = 1.0;
141
+ const float dampR = 10.0;
142
+
143
+ if (uEnableRipples == 1) {
144
+ for (int i = 0; i < MAX_CLICKS; ++i){
145
+ vec2 pos = uClickPos[i];
146
+ if (pos.x < 0.0) continue;
147
+ float cellPixelSize = 8.0 * pixelSize;
148
+ vec2 cuv = (((pos - uResolution * .5 - cellPixelSize * .5) / (uResolution))) * vec2(aspectRatio, 1.0);
149
+ float t = max(uTime - uClickTimes[i], 0.0);
150
+ float r = distance(uv, cuv);
151
+ float waveR = speed * t;
152
+ float ring = exp(-pow((r - waveR) / thickness, 2.0));
153
+ float atten = exp(-dampT * t) * exp(-dampR * r);
154
+ feed = max(feed, ring * atten * uRippleIntensity);
155
+ }
156
+ }
157
+
158
+ float bayer = Bayer8(fragCoord / uPixelSize) - 0.5;
159
+ float bw = step(0.5, feed + bayer);
160
+
161
+ float h = fract(sin(dot(floor(fragCoord / uPixelSize), vec2(127.1, 311.7))) * 43758.5453);
162
+ float jitterScale = 1.0 + (h - 0.5) * uPixelJitter;
163
+ float coverage = bw * jitterScale;
164
+ float M;
165
+ if (uShapeType == SHAPE_CIRCLE) M = maskCircle (pixelUV, coverage);
166
+ else if (uShapeType == SHAPE_TRIANGLE) M = maskTriangle(pixelUV, pixelId, coverage);
167
+ else if (uShapeType == SHAPE_DIAMOND) M = maskDiamond(pixelUV, coverage);
168
+ else M = coverage;
169
+
170
+ if (uEdgeFade > 0.0) {
171
+ vec2 norm = gl_FragCoord.xy / uResolution;
172
+ float edge = min(min(norm.x, norm.y), min(1.0 - norm.x, 1.0 - norm.y));
173
+ float fade = smoothstep(0.0, uEdgeFade, edge);
174
+ M *= fade;
175
+ }
176
+
177
+ vec3 color = uColor;
178
+
179
+ // sRGB gamma correction - convert linear to sRGB for accurate color output
180
+ vec3 srgbColor = mix(
181
+ color * 12.92,
182
+ 1.055 * pow(color, vec3(1.0 / 2.4)) - 0.055,
183
+ step(0.0031308, color)
184
+ );
185
+
186
+ fragColor = vec4(srgbColor, M);
187
+ }
188
+ `,$=10,ae=(0,y.memo)(({variant:P="square",pixelSize:n=3,color:l="#DC2626",className:S,style:E,antialias:d=!0,patternScale:u=2,patternDensity:T=1,liquid:k=!1,liquidStrength:z=.1,liquidRadius:F=1,pixelSizeJitter:L=0,enableRipples:U=!0,rippleIntensityScale:t=1,rippleThickness:s=.1,rippleSpeed:f=.3,liquidWobbleSpeed:A=4.5,autoPauseOffscreen:C=!0,speed:w=.5,transparent:x=!0,edgeFade:g=.5,noiseAmount:D=0})=>{const X=(0,y.useRef)(null),se=(0,y.useRef)({visible:!0}),j=(0,y.useRef)(w),m=(0,y.useRef)(null),H=(0,y.useRef)(null);return(0,y.useEffect)(()=>{const R=X.current;if(!R)return;j.current=w;const ue=["antialias","liquid","noiseAmount"],K={antialias:d,liquid:k,noiseAmount:D};let O=!1;if(!m.current)O=!0;else if(H.current){for(const e of ue)if(H.current[e]!==K[e]){O=!0;break}}if(O){if(m.current){const o=m.current;o.resizeObserver?.disconnect(),cancelAnimationFrame(o.raf),o.quad?.geometry.dispose(),o.material.dispose(),o.composer?.dispose(),o.renderer.dispose(),o.renderer.domElement.parentElement===R&&R.removeChild(o.renderer.domElement),m.current=null}const e=document.createElement("canvas"),r=new a.WebGLRenderer({canvas:e,antialias:d,alpha:!0,powerPreference:"high-performance"});r.domElement.style.width="100%",r.domElement.style.height="100%",r.setPixelRatio(Math.min(window.devicePixelRatio||1,1.5)),R.appendChild(r.domElement),x?r.setClearAlpha(0):r.setClearColor(0,1);const v={uResolution:{value:new a.Vector2(0,0)},uTime:{value:0},uColor:{value:new a.Color(l)},uClickPos:{value:Array.from({length:$},()=>new a.Vector2(-1,-1))},uClickTimes:{value:new Float32Array($)},uShapeType:{value:ne[P]??0},uPixelSize:{value:n*r.getPixelRatio()},uScale:{value:u},uDensity:{value:T},uPixelJitter:{value:L},uEnableRipples:{value:U?1:0},uRippleSpeed:{value:f},uRippleThickness:{value:s},uRippleIntensity:{value:t},uEdgeFade:{value:g}},b=new a.Scene,q=new a.OrthographicCamera(-1,1,1,-1,0,1),Y=new a.ShaderMaterial({vertexShader:ye,fragmentShader:we,uniforms:v,transparent:!0,depthTest:!1,depthWrite:!1,glslVersion:a.GLSL3}),ce=new a.PlaneGeometry(2,2),J=new a.Mesh(ce,Y);b.add(J);const W=new a.Clock,Q=()=>{const o=R.clientWidth||1,i=R.clientHeight||1;r.setSize(o,i,!1),v.uResolution.value.set(r.domElement.width,r.domElement.height),m.current?.composer&&m.current.composer.setSize(r.domElement.width,r.domElement.height),v.uPixelSize.value=n*r.getPixelRatio()};Q();const Z=new ResizeObserver(Q);Z.observe(R);const ee=(()=>{if(typeof window<"u"&&window.crypto?.getRandomValues){const o=new Uint32Array(1);return window.crypto.getRandomValues(o),o[0]/4294967295}return Math.random()})()*1e3;let c,_,I;if(k){_=xe(),_.radiusScale=F,c=new M.EffectComposer(r);const o=new M.RenderPass(b,q);I=ge(_.texture,{strength:z,freq:A});const i=new M.EffectPass(q,I);i.renderToScreen=!0,c.addPass(o),c.addPass(i)}if(D>0){c||(c=new M.EffectComposer(r),c.addPass(new M.RenderPass(b,q)));const o=new M.Effect("NoiseEffect","uniform float uTime; uniform float uAmount; float hash(vec2 p){ return fract(sin(dot(p, vec2(127.1,311.7))) * 43758.5453);} void mainUv(inout vec2 uv){} void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){ float n=hash(floor(uv*vec2(1920.0,1080.0))+floor(uTime*60.0)); float g=(n-0.5)*uAmount; outputColor=inputColor+vec4(vec3(g),0.0);} ",{uniforms:new Map([["uTime",new a.Uniform(0)],["uAmount",new a.Uniform(D)]])}),i=new M.EffectPass(q,o);i.renderToScreen=!0,c&&c.passes.length>0&&c.passes.forEach(p=>{const h=p;h.renderToScreen=!1}),c.addPass(i)}c&&c.setSize(r.domElement.width,r.domElement.height);const te=o=>{const i=r.domElement.getBoundingClientRect(),p=r.domElement.width/i.width,h=r.domElement.height/i.height;return{fx:(o.clientX-i.left)*p,fy:(i.height-(o.clientY-i.top))*h,w:r.domElement.width,h:r.domElement.height}},fe=o=>{const{fx:i,fy:p}=te(o),h=m.current?.clickIx??0;v.uClickPos.value[h].set(i,p),v.uClickTimes.value[h]=v.uTime.value,m.current&&(m.current.clickIx=(h+1)%$)},me=o=>{if(!_)return;const{fx:i,fy:p,w:h,h:G}=te(o);_.addTouch({x:i/h,y:p/G})};r.domElement.addEventListener("pointerdown",fe,{passive:!0}),r.domElement.addEventListener("pointermove",me,{passive:!0});let B=0,V=0;const oe=1e3/30,N=o=>{if(C&&!se.current.visible){B=requestAnimationFrame(N);return}const i=o-V;if(i<oe){B=requestAnimationFrame(N);return}if(V=o-i%oe,v.uTime.value=ee+W.getElapsedTime()*j.current,I){const p=I.uniforms.get("uTime");p&&(p.value=v.uTime.value)}c?(_&&_.update(),c.passes.forEach(p=>{const h=p;h.effects&&h.effects.forEach(G=>{const re=G.uniforms?.get("uTime");re&&(re.value=v.uTime.value)})}),c.render()):r.render(b,q),B=requestAnimationFrame(N)};B=requestAnimationFrame(o=>{V=o,N(o)}),m.current={renderer:r,scene:b,camera:q,material:Y,clock:W,clickIx:0,uniforms:v,resizeObserver:Z,raf:B,quad:J,timeOffset:ee,composer:c,touch:_,liquidEffect:I}}else{const e=m.current;if(e.uniforms.uShapeType.value=ne[P]??0,e.uniforms.uPixelSize.value=n*e.renderer.getPixelRatio(),e.uniforms.uColor.value.set(l),e.uniforms.uScale.value=u,e.uniforms.uDensity.value=T,e.uniforms.uPixelJitter.value=L,e.uniforms.uEnableRipples.value=U?1:0,e.uniforms.uRippleIntensity.value=t,e.uniforms.uRippleThickness.value=s,e.uniforms.uRippleSpeed.value=f,e.uniforms.uEdgeFade.value=g,x?e.renderer.setClearAlpha(0):e.renderer.setClearColor(0,1),e.liquidEffect){const r=e.liquidEffect,v=r.uniforms.get("uStrength");v&&(v.value=z);const b=r.uniforms.get("uFreq");b&&(b.value=A)}e.touch&&(e.touch.radiusScale=F)}return H.current=K,()=>{if(m.current&&O||!m.current)return;const e=m.current;e.resizeObserver?.disconnect(),cancelAnimationFrame(e.raf),e.quad?.geometry.dispose(),e.material.dispose(),e.composer?.dispose(),e.renderer.dispose(),e.renderer.domElement.parentElement===R&&R.removeChild(e.renderer.domElement),m.current=null}},[d,k,D,n,u,T,U,t,s,f,L,g,x,z,F,A,C,P,l,w]),(0,ie.jsx)("div",{ref:X,className:`${he.container} ${S??""}`,style:E,"aria-label":"PixelBlast interactive background"})});ae.displayName="PixelBlast";var le=(0,y.memo)(P=>{const{currentTheme:n}=ve.useTheme(),l=(0,y.useMemo)(()=>{const S=n.colors.variables.primary||"#DC2626";return(d=>{if(d.startsWith("#"))return d;const u=d.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);return u?`#${parseInt(u[1],10).toString(16).padStart(2,"0")}${parseInt(u[2],10).toString(16).padStart(2,"0")}${parseInt(u[3],10).toString(16).padStart(2,"0")}`:d})(S)},[n]);return(0,ie.jsx)(ae,{color:l,variant:"square",pixelSize:6,patternScale:2,patternDensity:1,pixelSizeJitter:0,enableRipples:!0,rippleSpeed:.3,rippleThickness:.12,rippleIntensityScale:1.2,liquid:!1,liquidStrength:.12,liquidRadius:1.2,liquidWobbleSpeed:5,speed:.3,edgeFade:.25,transparent:!0,antialias:!1,...P})});le.displayName="PixelBlastBackground";Object.defineProperty(exports,"PixelBlastBackground",{enumerable:!0,get:function(){return le}});
189
+
190
+ //# sourceMappingURL=chunk-PixelBlast-BbJ2VmCL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-PixelBlast-BbJ2VmCL.cjs","names":[],"sources":["../src/designs/animations/PixelBlast/style.module.css","../src/designs/animations/PixelBlast/index.tsx"],"sourcesContent":[".container {\n width: 100%;\n height: 100%;\n position: relative;\n overflow: hidden;\n}\n","// Component inspired by github.com/zavalit/bayer-dithering-webgl-demo\n\nimport React, { memo, useEffect, useMemo, useRef } from \"react\";\nimport { Effect, EffectComposer, EffectPass, RenderPass } from \"postprocessing\";\nimport {\n Clock,\n Color,\n GLSL3,\n LinearFilter,\n Mesh,\n OrthographicCamera,\n PlaneGeometry,\n Scene,\n ShaderMaterial,\n Texture,\n Uniform,\n Vector2,\n WebGLRenderer,\n} from \"three\";\n\nimport { useTheme } from \"@/themes/hooks/useTheme\";\n\nimport styles from \"./style.module.css\";\n\ntype PixelBlastVariant = \"square\" | \"circle\" | \"triangle\" | \"diamond\";\n\ninterface TouchPoint {\n x: number;\n y: number;\n vx: number;\n vy: number;\n force: number;\n age: number;\n}\n\ninterface TouchTexture {\n canvas: HTMLCanvasElement;\n texture: Texture;\n addTouch: (norm: { x: number; y: number }) => void;\n update: () => void;\n radiusScale: number;\n size: number;\n}\n\ninterface ReinitConfig {\n antialias: boolean;\n liquid: boolean;\n noiseAmount: number;\n}\n\ntype PixelBlastProps = {\n variant?: PixelBlastVariant;\n pixelSize?: number;\n color?: string;\n className?: string;\n style?: React.CSSProperties;\n antialias?: boolean;\n patternScale?: number;\n patternDensity?: number;\n liquid?: boolean;\n liquidStrength?: number;\n liquidRadius?: number;\n pixelSizeJitter?: number;\n enableRipples?: boolean;\n rippleIntensityScale?: number;\n rippleThickness?: number;\n rippleSpeed?: number;\n liquidWobbleSpeed?: number;\n autoPauseOffscreen?: boolean;\n speed?: number;\n transparent?: boolean;\n edgeFade?: number;\n noiseAmount?: number;\n};\n\nconst createTouchTexture = (): TouchTexture => {\n const size = 64;\n const canvas = document.createElement(\"canvas\");\n canvas.width = size;\n canvas.height = size;\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) throw new Error(\"2D context not available\");\n ctx.fillStyle = \"black\";\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n const texture = new Texture(canvas);\n texture.minFilter = LinearFilter;\n texture.magFilter = LinearFilter;\n texture.generateMipmaps = false;\n const trail: TouchPoint[] = [];\n let last: { x: number; y: number } | null = null;\n const maxAge = 64;\n let radius = 0.1 * size;\n const speed = 1 / maxAge;\n const clear = () => {\n ctx.fillStyle = \"black\";\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n };\n const drawPoint = (p: TouchPoint) => {\n const pos = { x: p.x * size, y: (1 - p.y) * size };\n let intensity = 1;\n const easeOutSine = (t: number) => Math.sin((t * Math.PI) / 2);\n const easeOutQuad = (t: number) => -t * (t - 2);\n if (p.age < maxAge * 0.3) intensity = easeOutSine(p.age / (maxAge * 0.3));\n else intensity = easeOutQuad(1 - (p.age - maxAge * 0.3) / (maxAge * 0.7)) || 0;\n intensity *= p.force;\n const color = `${((p.vx + 1) / 2) * 255}, ${((p.vy + 1) / 2) * 255}, ${intensity * 255}`;\n const offset = size * 5;\n ctx.shadowOffsetX = offset;\n ctx.shadowOffsetY = offset;\n ctx.shadowBlur = radius;\n ctx.shadowColor = `rgba(${color},${0.22 * intensity})`;\n ctx.beginPath();\n ctx.fillStyle = \"rgba(255,0,0,1)\";\n ctx.arc(pos.x - offset, pos.y - offset, radius, 0, Math.PI * 2);\n ctx.fill();\n };\n const addTouch = (norm: { x: number; y: number }) => {\n let force = 0;\n let vx = 0;\n let vy = 0;\n if (last) {\n const dx = norm.x - last.x;\n const dy = norm.y - last.y;\n if (dx === 0 && dy === 0) return;\n const dd = dx * dx + dy * dy;\n const d = Math.sqrt(dd);\n vx = dx / (d || 1);\n vy = dy / (d || 1);\n force = Math.min(dd * 10000, 1);\n }\n last = { x: norm.x, y: norm.y };\n trail.push({ x: norm.x, y: norm.y, age: 0, force, vx, vy });\n };\n const update = () => {\n clear();\n for (let i = trail.length - 1; i >= 0; i--) {\n const point = trail[i];\n const f = point.force * speed * (1 - point.age / maxAge);\n point.x += point.vx * f;\n point.y += point.vy * f;\n point.age++;\n if (point.age > maxAge) trail.splice(i, 1);\n }\n for (let i = 0; i < trail.length; i++) drawPoint(trail[i]);\n texture.needsUpdate = true;\n };\n return {\n canvas,\n texture,\n addTouch,\n update,\n set radiusScale(v: number) {\n radius = 0.1 * size * v;\n },\n get radiusScale() {\n return radius / (0.1 * size);\n },\n size,\n };\n};\n\nconst createLiquidEffect = (texture: Texture, opts?: { strength?: number; freq?: number }) => {\n const fragment = `\n uniform sampler2D uTexture;\n uniform float uStrength;\n uniform float uTime;\n uniform float uFreq;\n\n void mainUv(inout vec2 uv) {\n vec4 tex = texture2D(uTexture, uv);\n float vx = tex.r * 2.0 - 1.0;\n float vy = tex.g * 2.0 - 1.0;\n float intensity = tex.b;\n\n float wave = 0.5 + 0.5 * sin(uTime * uFreq + intensity * 6.2831853);\n\n float amt = uStrength * intensity * wave;\n\n uv += vec2(vx, vy) * amt;\n }\n `;\n return new Effect(\"LiquidEffect\", fragment, {\n uniforms: new Map<string, Uniform>([\n [\"uTexture\", new Uniform(texture)],\n [\"uStrength\", new Uniform(opts?.strength ?? 0.025)],\n [\"uTime\", new Uniform(0)],\n [\"uFreq\", new Uniform(opts?.freq ?? 4.5)],\n ]),\n });\n};\n\nconst SHAPE_MAP: Record<PixelBlastVariant, number> = {\n square: 0,\n circle: 1,\n triangle: 2,\n diamond: 3,\n};\n\nconst VERTEX_SRC = `\nvoid main() {\n gl_Position = vec4(position, 1.0);\n}\n`;\n\nconst FRAGMENT_SRC = `\nprecision highp float;\n\nuniform vec3 uColor;\nuniform vec2 uResolution;\nuniform float uTime;\nuniform float uPixelSize;\nuniform float uScale;\nuniform float uDensity;\nuniform float uPixelJitter;\nuniform int uEnableRipples;\nuniform float uRippleSpeed;\nuniform float uRippleThickness;\nuniform float uRippleIntensity;\nuniform float uEdgeFade;\n\nuniform int uShapeType;\nconst int SHAPE_SQUARE = 0;\nconst int SHAPE_CIRCLE = 1;\nconst int SHAPE_TRIANGLE = 2;\nconst int SHAPE_DIAMOND = 3;\n\nconst int MAX_CLICKS = 10;\n\nuniform vec2 uClickPos [MAX_CLICKS];\nuniform float uClickTimes[MAX_CLICKS];\n\nout vec4 fragColor;\n\nfloat Bayer2(vec2 a) {\n a = floor(a);\n return fract(a.x / 2. + a.y * a.y * .75);\n}\n#define Bayer4(a) (Bayer2(.5*(a))*0.25 + Bayer2(a))\n#define Bayer8(a) (Bayer4(.5*(a))*0.25 + Bayer2(a))\n\n#define FBM_OCTAVES 5\n#define FBM_LACUNARITY 1.25\n#define FBM_GAIN 1.0\n\nfloat hash11(float n){ return fract(sin(n)*43758.5453); }\n\nfloat vnoise(vec3 p){\n vec3 ip = floor(p);\n vec3 fp = fract(p);\n float n000 = hash11(dot(ip + vec3(0.0,0.0,0.0), vec3(1.0,57.0,113.0)));\n float n100 = hash11(dot(ip + vec3(1.0,0.0,0.0), vec3(1.0,57.0,113.0)));\n float n010 = hash11(dot(ip + vec3(0.0,1.0,0.0), vec3(1.0,57.0,113.0)));\n float n110 = hash11(dot(ip + vec3(1.0,1.0,0.0), vec3(1.0,57.0,113.0)));\n float n001 = hash11(dot(ip + vec3(0.0,0.0,1.0), vec3(1.0,57.0,113.0)));\n float n101 = hash11(dot(ip + vec3(1.0,0.0,1.0), vec3(1.0,57.0,113.0)));\n float n011 = hash11(dot(ip + vec3(0.0,1.0,1.0), vec3(1.0,57.0,113.0)));\n float n111 = hash11(dot(ip + vec3(1.0,1.0,1.0), vec3(1.0,57.0,113.0)));\n vec3 w = fp*fp*fp*(fp*(fp*6.0-15.0)+10.0);\n float x00 = mix(n000, n100, w.x);\n float x10 = mix(n010, n110, w.x);\n float x01 = mix(n001, n101, w.x);\n float x11 = mix(n011, n111, w.x);\n float y0 = mix(x00, x10, w.y);\n float y1 = mix(x01, x11, w.y);\n return mix(y0, y1, w.z) * 2.0 - 1.0;\n}\n\nfloat fbm2(vec2 uv, float t){\n vec3 p = vec3(uv * uScale, t);\n float amp = 1.0;\n float freq = 1.0;\n float sum = 1.0;\n for (int i = 0; i < FBM_OCTAVES; ++i){\n sum += amp * vnoise(p * freq);\n freq *= FBM_LACUNARITY;\n amp *= FBM_GAIN;\n }\n return sum * 0.5 + 0.5;\n}\n\nfloat maskCircle(vec2 p, float cov){\n float r = sqrt(cov) * .25;\n float d = length(p - 0.5) - r;\n float aa = 0.5 * fwidth(d);\n return cov * (1.0 - smoothstep(-aa, aa, d * 2.0));\n}\n\nfloat maskTriangle(vec2 p, vec2 id, float cov){\n bool flip = mod(id.x + id.y, 2.0) > 0.5;\n if (flip) p.x = 1.0 - p.x;\n float r = sqrt(cov);\n float d = p.y - r*(1.0 - p.x);\n float aa = fwidth(d);\n return cov * clamp(0.5 - d/aa, 0.0, 1.0);\n}\n\nfloat maskDiamond(vec2 p, float cov){\n float r = sqrt(cov) * 0.564;\n return step(abs(p.x - 0.49) + abs(p.y - 0.49), r);\n}\n\nvoid main(){\n float pixelSize = uPixelSize;\n vec2 fragCoord = gl_FragCoord.xy - uResolution * .5;\n float aspectRatio = uResolution.x / uResolution.y;\n\n vec2 pixelId = floor(fragCoord / pixelSize);\n vec2 pixelUV = fract(fragCoord / pixelSize);\n\n float cellPixelSize = 8.0 * pixelSize;\n vec2 cellId = floor(fragCoord / cellPixelSize);\n vec2 cellCoord = cellId * cellPixelSize;\n vec2 uv = cellCoord / uResolution * vec2(aspectRatio, 1.0);\n\n float base = fbm2(uv, uTime * 0.05);\n base = base * 0.5 - 0.65;\n\n float feed = base + (uDensity - 0.5) * 0.3;\n\n float speed = uRippleSpeed;\n float thickness = uRippleThickness;\n const float dampT = 1.0;\n const float dampR = 10.0;\n\n if (uEnableRipples == 1) {\n for (int i = 0; i < MAX_CLICKS; ++i){\n vec2 pos = uClickPos[i];\n if (pos.x < 0.0) continue;\n float cellPixelSize = 8.0 * pixelSize;\n vec2 cuv = (((pos - uResolution * .5 - cellPixelSize * .5) / (uResolution))) * vec2(aspectRatio, 1.0);\n float t = max(uTime - uClickTimes[i], 0.0);\n float r = distance(uv, cuv);\n float waveR = speed * t;\n float ring = exp(-pow((r - waveR) / thickness, 2.0));\n float atten = exp(-dampT * t) * exp(-dampR * r);\n feed = max(feed, ring * atten * uRippleIntensity);\n }\n }\n\n float bayer = Bayer8(fragCoord / uPixelSize) - 0.5;\n float bw = step(0.5, feed + bayer);\n\n float h = fract(sin(dot(floor(fragCoord / uPixelSize), vec2(127.1, 311.7))) * 43758.5453);\n float jitterScale = 1.0 + (h - 0.5) * uPixelJitter;\n float coverage = bw * jitterScale;\n float M;\n if (uShapeType == SHAPE_CIRCLE) M = maskCircle (pixelUV, coverage);\n else if (uShapeType == SHAPE_TRIANGLE) M = maskTriangle(pixelUV, pixelId, coverage);\n else if (uShapeType == SHAPE_DIAMOND) M = maskDiamond(pixelUV, coverage);\n else M = coverage;\n\n if (uEdgeFade > 0.0) {\n vec2 norm = gl_FragCoord.xy / uResolution;\n float edge = min(min(norm.x, norm.y), min(1.0 - norm.x, 1.0 - norm.y));\n float fade = smoothstep(0.0, uEdgeFade, edge);\n M *= fade;\n }\n\n vec3 color = uColor;\n\n // sRGB gamma correction - convert linear to sRGB for accurate color output\n vec3 srgbColor = mix(\n color * 12.92,\n 1.055 * pow(color, vec3(1.0 / 2.4)) - 0.055,\n step(0.0031308, color)\n );\n\n fragColor = vec4(srgbColor, M);\n}\n`;\n\nconst MAX_CLICKS = 10;\n\nconst PixelBlast: React.FC<PixelBlastProps> = memo(\n ({\n variant = \"square\",\n pixelSize = 3,\n color = \"#DC2626\",\n className,\n style,\n antialias = true,\n patternScale = 2,\n patternDensity = 1,\n liquid = false,\n liquidStrength = 0.1,\n liquidRadius = 1,\n pixelSizeJitter = 0,\n enableRipples = true,\n rippleIntensityScale = 1,\n rippleThickness = 0.1,\n rippleSpeed = 0.3,\n liquidWobbleSpeed = 4.5,\n autoPauseOffscreen = true,\n speed = 0.5,\n transparent = true,\n edgeFade = 0.5,\n noiseAmount = 0,\n }) => {\n const containerRef = useRef<HTMLDivElement | null>(null);\n const visibilityRef = useRef({ visible: true });\n const speedRef = useRef(speed);\n\n const threeRef = useRef<{\n renderer: WebGLRenderer;\n scene: Scene;\n camera: OrthographicCamera;\n material: ShaderMaterial;\n clock: Clock;\n clickIx: number;\n uniforms: {\n uResolution: { value: Vector2 };\n uTime: { value: number };\n uColor: { value: Color };\n uClickPos: { value: Vector2[] };\n uClickTimes: { value: Float32Array };\n uShapeType: { value: number };\n uPixelSize: { value: number };\n uScale: { value: number };\n uDensity: { value: number };\n uPixelJitter: { value: number };\n uEnableRipples: { value: number };\n uRippleSpeed: { value: number };\n uRippleThickness: { value: number };\n uRippleIntensity: { value: number };\n uEdgeFade: { value: number };\n };\n resizeObserver?: ResizeObserver;\n raf?: number;\n quad?: Mesh<PlaneGeometry, ShaderMaterial>;\n timeOffset?: number;\n composer?: EffectComposer;\n touch?: ReturnType<typeof createTouchTexture>;\n liquidEffect?: Effect;\n } | null>(null);\n const prevConfigRef = useRef<ReinitConfig | null>(null);\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n speedRef.current = speed;\n const needsReinitKeys: (keyof ReinitConfig)[] = [\"antialias\", \"liquid\", \"noiseAmount\"];\n const cfg: ReinitConfig = { antialias, liquid, noiseAmount };\n let mustReinit = false;\n if (!threeRef.current) mustReinit = true;\n else if (prevConfigRef.current) {\n for (const k of needsReinitKeys)\n if (prevConfigRef.current[k] !== cfg[k]) {\n mustReinit = true;\n break;\n }\n }\n if (mustReinit) {\n if (threeRef.current) {\n const t = threeRef.current;\n t.resizeObserver?.disconnect();\n cancelAnimationFrame(t.raf!);\n t.quad?.geometry.dispose();\n t.material.dispose();\n t.composer?.dispose();\n t.renderer.dispose();\n if (t.renderer.domElement.parentElement === container) container.removeChild(t.renderer.domElement);\n threeRef.current = null;\n }\n const canvas = document.createElement(\"canvas\");\n const renderer = new WebGLRenderer({\n canvas,\n antialias,\n alpha: true,\n powerPreference: \"high-performance\",\n });\n renderer.domElement.style.width = \"100%\";\n renderer.domElement.style.height = \"100%\";\n // 降低像素比以提高性能\n renderer.setPixelRatio(Math.min(window.devicePixelRatio || 1, 1.5));\n container.appendChild(renderer.domElement);\n if (transparent) renderer.setClearAlpha(0);\n else renderer.setClearColor(0x000000, 1);\n const uniforms = {\n uResolution: { value: new Vector2(0, 0) },\n uTime: { value: 0 },\n uColor: { value: new Color(color) },\n uClickPos: {\n value: Array.from({ length: MAX_CLICKS }, () => new Vector2(-1, -1)),\n },\n uClickTimes: { value: new Float32Array(MAX_CLICKS) },\n uShapeType: { value: SHAPE_MAP[variant] ?? 0 },\n uPixelSize: { value: pixelSize * renderer.getPixelRatio() },\n uScale: { value: patternScale },\n uDensity: { value: patternDensity },\n uPixelJitter: { value: pixelSizeJitter },\n uEnableRipples: { value: enableRipples ? 1 : 0 },\n uRippleSpeed: { value: rippleSpeed },\n uRippleThickness: { value: rippleThickness },\n uRippleIntensity: { value: rippleIntensityScale },\n uEdgeFade: { value: edgeFade },\n };\n const scene = new Scene();\n const camera = new OrthographicCamera(-1, 1, 1, -1, 0, 1);\n const material = new ShaderMaterial({\n vertexShader: VERTEX_SRC,\n fragmentShader: FRAGMENT_SRC,\n uniforms,\n transparent: true,\n depthTest: false,\n depthWrite: false,\n glslVersion: GLSL3,\n });\n\n const quadGeom = new PlaneGeometry(2, 2);\n const quad = new Mesh(quadGeom, material);\n scene.add(quad);\n const clock = new Clock();\n const setSize = () => {\n const w = container.clientWidth || 1;\n const h = container.clientHeight || 1;\n renderer.setSize(w, h, false);\n uniforms.uResolution.value.set(renderer.domElement.width, renderer.domElement.height);\n if (threeRef.current?.composer) threeRef.current.composer.setSize(renderer.domElement.width, renderer.domElement.height);\n uniforms.uPixelSize.value = pixelSize * renderer.getPixelRatio();\n };\n setSize();\n const ro = new ResizeObserver(setSize);\n ro.observe(container);\n const randomFloat = (): number => {\n if (typeof window !== \"undefined\" && window.crypto?.getRandomValues) {\n const u32 = new Uint32Array(1);\n window.crypto.getRandomValues(u32);\n return u32[0] / 0xffffffff;\n }\n return Math.random();\n };\n const timeOffset = randomFloat() * 1000;\n let composer: EffectComposer | undefined;\n let touch: ReturnType<typeof createTouchTexture> | undefined;\n let liquidEffect: Effect | undefined;\n if (liquid) {\n touch = createTouchTexture();\n touch.radiusScale = liquidRadius;\n composer = new EffectComposer(renderer);\n const renderPass = new RenderPass(scene, camera);\n liquidEffect = createLiquidEffect(touch.texture, {\n strength: liquidStrength,\n freq: liquidWobbleSpeed,\n });\n const effectPass = new EffectPass(camera, liquidEffect);\n effectPass.renderToScreen = true;\n composer.addPass(renderPass);\n composer.addPass(effectPass);\n }\n if (noiseAmount > 0) {\n if (!composer) {\n composer = new EffectComposer(renderer);\n composer.addPass(new RenderPass(scene, camera));\n }\n const noiseEffect = new Effect(\n \"NoiseEffect\",\n `uniform float uTime; uniform float uAmount; float hash(vec2 p){ return fract(sin(dot(p, vec2(127.1,311.7))) * 43758.5453);} void mainUv(inout vec2 uv){} void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){ float n=hash(floor(uv*vec2(1920.0,1080.0))+floor(uTime*60.0)); float g=(n-0.5)*uAmount; outputColor=inputColor+vec4(vec3(g),0.0);} `,\n {\n uniforms: new Map<string, Uniform>([\n [\"uTime\", new Uniform(0)],\n [\"uAmount\", new Uniform(noiseAmount)],\n ]),\n },\n );\n const noisePass = new EffectPass(camera, noiseEffect);\n noisePass.renderToScreen = true;\n if (composer && composer.passes.length > 0) {\n composer.passes.forEach((p: { renderToScreen?: boolean }) => {\n const pass = p as { renderToScreen?: boolean };\n pass.renderToScreen = false;\n });\n }\n composer.addPass(noisePass);\n }\n if (composer) composer.setSize(renderer.domElement.width, renderer.domElement.height);\n const mapToPixels = (e: PointerEvent) => {\n const rect = renderer.domElement.getBoundingClientRect();\n const scaleX = renderer.domElement.width / rect.width;\n const scaleY = renderer.domElement.height / rect.height;\n const fx = (e.clientX - rect.left) * scaleX;\n const fy = (rect.height - (e.clientY - rect.top)) * scaleY;\n return {\n fx,\n fy,\n w: renderer.domElement.width,\n h: renderer.domElement.height,\n };\n };\n const onPointerDown = (e: PointerEvent) => {\n const { fx, fy } = mapToPixels(e);\n const ix = threeRef.current?.clickIx ?? 0;\n uniforms.uClickPos.value[ix].set(fx, fy);\n uniforms.uClickTimes.value[ix] = uniforms.uTime.value;\n if (threeRef.current) threeRef.current.clickIx = (ix + 1) % MAX_CLICKS;\n };\n const onPointerMove = (e: PointerEvent) => {\n if (!touch) return;\n const { fx, fy, w, h } = mapToPixels(e);\n touch.addTouch({ x: fx / w, y: fy / h });\n };\n renderer.domElement.addEventListener(\"pointerdown\", onPointerDown, {\n passive: true,\n });\n renderer.domElement.addEventListener(\"pointermove\", onPointerMove, {\n passive: true,\n });\n let raf = 0;\n let lastFrameTime = 0;\n const targetFPS = 30; // 限制到 30 FPS 以提高性能\n const frameInterval = 1000 / targetFPS;\n\n const animate = (currentTime: number) => {\n if (autoPauseOffscreen && !visibilityRef.current.visible) {\n raf = requestAnimationFrame(animate);\n return;\n }\n\n // 帧率限制\n const elapsed = currentTime - lastFrameTime;\n if (elapsed < frameInterval) {\n raf = requestAnimationFrame(animate);\n return;\n }\n lastFrameTime = currentTime - (elapsed % frameInterval);\n\n uniforms.uTime.value = timeOffset + clock.getElapsedTime() * speedRef.current;\n if (liquidEffect) {\n const liqEffect = liquidEffect as Effect & { uniforms: Map<string, Uniform> };\n const timeUniform = liqEffect.uniforms.get(\"uTime\");\n if (timeUniform) timeUniform.value = uniforms.uTime.value;\n }\n if (composer) {\n if (touch) touch.update();\n composer.passes.forEach((p: any) => {\n const pass = p as { effects?: Array<Effect & { uniforms?: Map<string, Uniform> }> };\n if (pass.effects) {\n pass.effects.forEach((eff: Effect & { uniforms?: Map<string, Uniform> }) => {\n const timeUniform = eff.uniforms?.get(\"uTime\");\n if (timeUniform) timeUniform.value = uniforms.uTime.value;\n });\n }\n });\n composer.render();\n } else renderer.render(scene, camera);\n raf = requestAnimationFrame(animate);\n };\n raf = requestAnimationFrame((time) => {\n lastFrameTime = time;\n animate(time);\n });\n threeRef.current = {\n renderer,\n scene,\n camera,\n material,\n clock,\n clickIx: 0,\n uniforms,\n resizeObserver: ro,\n raf,\n quad,\n timeOffset,\n composer,\n touch,\n liquidEffect,\n };\n } else {\n const t = threeRef.current!;\n t.uniforms.uShapeType.value = SHAPE_MAP[variant] ?? 0;\n t.uniforms.uPixelSize.value = pixelSize * t.renderer.getPixelRatio();\n t.uniforms.uColor.value.set(color);\n t.uniforms.uScale.value = patternScale;\n t.uniforms.uDensity.value = patternDensity;\n t.uniforms.uPixelJitter.value = pixelSizeJitter;\n t.uniforms.uEnableRipples.value = enableRipples ? 1 : 0;\n t.uniforms.uRippleIntensity.value = rippleIntensityScale;\n t.uniforms.uRippleThickness.value = rippleThickness;\n t.uniforms.uRippleSpeed.value = rippleSpeed;\n t.uniforms.uEdgeFade.value = edgeFade;\n if (transparent) t.renderer.setClearAlpha(0);\n else t.renderer.setClearColor(0x000000, 1);\n if (t.liquidEffect) {\n const liqEffect = t.liquidEffect as Effect & { uniforms: Map<string, Uniform> };\n const uStrength = liqEffect.uniforms.get(\"uStrength\");\n if (uStrength) uStrength.value = liquidStrength;\n const uFreq = liqEffect.uniforms.get(\"uFreq\");\n if (uFreq) uFreq.value = liquidWobbleSpeed;\n }\n if (t.touch) t.touch.radiusScale = liquidRadius;\n }\n prevConfigRef.current = cfg;\n return () => {\n if (threeRef.current && mustReinit) return;\n if (!threeRef.current) return;\n const t = threeRef.current;\n t.resizeObserver?.disconnect();\n cancelAnimationFrame(t.raf!);\n t.quad?.geometry.dispose();\n t.material.dispose();\n t.composer?.dispose();\n t.renderer.dispose();\n if (t.renderer.domElement.parentElement === container) container.removeChild(t.renderer.domElement);\n threeRef.current = null;\n };\n }, [\n antialias,\n liquid,\n noiseAmount,\n pixelSize,\n patternScale,\n patternDensity,\n enableRipples,\n rippleIntensityScale,\n rippleThickness,\n rippleSpeed,\n pixelSizeJitter,\n edgeFade,\n transparent,\n liquidStrength,\n liquidRadius,\n liquidWobbleSpeed,\n autoPauseOffscreen,\n variant,\n color,\n speed,\n ]);\n\n return <div ref={containerRef} className={`${styles.container} ${className ?? \"\"}`} style={style} aria-label=\"PixelBlast interactive background\" />;\n },\n);\n\nPixelBlast.displayName = \"PixelBlast\";\n\nconst PixelBlastBackground: React.FC<Omit<PixelBlastProps, \"color\">> = memo((props) => {\n const { currentTheme } = useTheme();\n\n // 从主题中获取颜色\n const color = useMemo(() => {\n const primary = currentTheme.colors.variables.primary || \"#DC2626\";\n\n const toHex = (color: string): string => {\n if (color.startsWith(\"#\")) {\n return color;\n }\n const match = color.match(/rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/);\n if (match) {\n const r = parseInt(match[1], 10).toString(16).padStart(2, \"0\");\n const g = parseInt(match[2], 10).toString(16).padStart(2, \"0\");\n const b = parseInt(match[3], 10).toString(16).padStart(2, \"0\");\n return `#${r}${g}${b}`;\n }\n return color;\n };\n\n return toHex(primary);\n }, [currentTheme]);\n\n return (\n <PixelBlast\n color={color}\n variant=\"square\"\n pixelSize={6}\n patternScale={2}\n patternDensity={1}\n pixelSizeJitter={0}\n enableRipples\n rippleSpeed={0.3}\n rippleThickness={0.12}\n rippleIntensityScale={1.2}\n liquid={false}\n liquidStrength={0.12}\n liquidRadius={1.2}\n liquidWobbleSpeed={5}\n speed={0.3}\n edgeFade={0.25}\n transparent\n antialias={false}\n {...props}\n />\n );\n});\n\nPixelBlastBackground.displayName = \"PixelBlastBackground\";\n\nexport default PixelBlastBackground;\n"],"mappings":"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"}