@stfrigerio/sito-template 0.1.59 → 0.1.61

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 (193) hide show
  1. package/dist/components/molecules/TimeInput/TimeInput.d.ts +1 -1
  2. package/dist/components/molecules/TimeInput/TimeInput.d.ts.map +1 -1
  3. package/dist/components/molecules/TimeInput/index.d.ts +0 -1
  4. package/dist/components/molecules/TimeInput/index.d.ts.map +1 -1
  5. package/dist/components/organisms/Calendar/Calendar.d.ts +5 -1
  6. package/dist/components/organisms/Calendar/Calendar.d.ts.map +1 -1
  7. package/dist/components/organisms/Calendar/Calendar.stories.d.ts +1 -0
  8. package/dist/components/organisms/Calendar/Calendar.stories.d.ts.map +1 -1
  9. package/dist/components/organisms/Calendar/exportEvents.d.ts +8 -0
  10. package/dist/components/organisms/Calendar/exportEvents.d.ts.map +1 -0
  11. package/dist/index.esm.js +313 -218
  12. package/dist/index.esm.js.map +1 -1
  13. package/dist/index.js +311 -216
  14. package/dist/index.js.map +1 -1
  15. package/dist/styles.css +1 -1
  16. package/dist/styles.css.map +1 -1
  17. package/package.json +11 -1
  18. package/storybook-static/assets/{ASCIIText.stories-CsG3yKr5.js → ASCIIText.stories-OSKwRAyY.js} +1 -1
  19. package/storybook-static/assets/{AllAtoms.stories-D2Pzz8c7.js → AllAtoms.stories-BMrwCHeq.js} +1 -1
  20. package/storybook-static/assets/{AnimatedContent.stories-BP9feFGz.js → AnimatedContent.stories-Bxf47ut1.js} +1 -1
  21. package/storybook-static/assets/{AnimatedList.stories-DQ8jdk44.js → AnimatedList.stories-B1E8UqMr.js} +1 -1
  22. package/storybook-static/assets/{Antigravity.stories-BTIHyYKU.js → Antigravity.stories-I5mdFgmP.js} +1 -1
  23. package/storybook-static/assets/{ArrayInput.stories-d5_OJJMu.js → ArrayInput.stories-DxmE1Rmk.js} +1 -1
  24. package/storybook-static/assets/{Aurora.stories-D_eQNPaB.js → Aurora.stories-DTyse-oN.js} +1 -1
  25. package/storybook-static/assets/{Beams.stories-VLKuYE0_.js → Beams.stories-BTOldQ0-.js} +1 -1
  26. package/storybook-static/assets/{BlobCursor.stories-BQJgTsuD.js → BlobCursor.stories-C_EhL1Sb.js} +1 -1
  27. package/storybook-static/assets/{BlurText.stories-oSn5_w7h.js → BlurText.stories-DBE9duA2.js} +1 -1
  28. package/storybook-static/assets/{BooleansHeatmap.stories-CHoCYK4N.js → BooleansHeatmap.stories-BK-0k1Yf.js} +1 -1
  29. package/storybook-static/assets/{BorderGlow.stories-D-vgIU3S.js → BorderGlow.stories-DUaNIh97.js} +1 -1
  30. package/storybook-static/assets/{BubbleMenu.stories-DcWoqA7_.js → BubbleMenu.stories-DUkNhCYN.js} +1 -1
  31. package/storybook-static/assets/{Button-DgpqJWgD.js → Button-CmL8YExH.js} +1 -1
  32. package/storybook-static/assets/{Button.stories-TQXKQagp.js → Button.stories-Qe92VaQO.js} +1 -1
  33. package/storybook-static/assets/Calendar-CXrUBxYt.css +1 -0
  34. package/storybook-static/assets/Calendar.stories-DvRq1jLb.js +352 -0
  35. package/storybook-static/assets/{Card-Bu54h8gN.js → Card-BNN9rA1_.js} +1 -1
  36. package/storybook-static/assets/{Card.stories-Dw2bPvLo.js → Card.stories-DJtwbzzK.js} +1 -1
  37. package/storybook-static/assets/{CardNav.stories-CnbwwAde.js → CardNav.stories-D3WJ4l1d.js} +1 -1
  38. package/storybook-static/assets/{Carousel.stories-ChBLLqBg.js → Carousel.stories-Cl5XZxQx.js} +1 -1
  39. package/storybook-static/assets/{Checkbox-Duyafa-Y.js → Checkbox-NV1yLfww.js} +1 -1
  40. package/storybook-static/assets/{Checkbox.stories-Co7IxmK1.js → Checkbox.stories-DEt8_02c.js} +1 -1
  41. package/storybook-static/assets/{ChromaGrid.stories-68ukohGs.js → ChromaGrid.stories-BPq9jzOX.js} +1 -1
  42. package/storybook-static/assets/{CircularGallery.stories-CV4iXVIX.js → CircularGallery.stories-BKkHClqR.js} +1 -1
  43. package/storybook-static/assets/{CircularText.stories-DqYHtbPW.js → CircularText.stories-DL97L-4c.js} +1 -1
  44. package/storybook-static/assets/{ClickSpark.stories-DvAOxLjs.js → ClickSpark.stories-CePCUrfJ.js} +1 -1
  45. package/storybook-static/assets/{ColorBends.stories-Dm4nxTTN.js → ColorBends.stories-qHNzC_b-.js} +1 -1
  46. package/storybook-static/assets/{CountUp.stories-DTaL8Yfy.js → CountUp.stories-DN2cFFy0.js} +1 -1
  47. package/storybook-static/assets/{Counter.stories-Bf_2Js0l.js → Counter.stories-U-VxTg4K.js} +1 -1
  48. package/storybook-static/assets/{Crosshair.stories-DJjjCcED.js → Crosshair.stories-DZ3e7z4E.js} +1 -1
  49. package/storybook-static/assets/{Cubes.stories-Qh3JqlQW.js → Cubes.stories-zndGensK.js} +1 -1
  50. package/storybook-static/assets/{CurvedLoop.stories-BvyrCuM7.js → CurvedLoop.stories-CPwaetTg.js} +1 -1
  51. package/storybook-static/assets/{DarkVeil.stories-BVY870pm.js → DarkVeil.stories-7UE8YAds.js} +1 -1
  52. package/storybook-static/assets/{DateInput-DfGES3te.js → DateInput-C7UYtU2f.js} +1 -1
  53. package/storybook-static/assets/{DateInput.stories-BXF8Ttde.js → DateInput.stories-Blprxd6L.js} +1 -1
  54. package/storybook-static/assets/{DecayCard.stories-B0g2xWqX.js → DecayCard.stories-CyDj4Rzg.js} +1 -1
  55. package/storybook-static/assets/{DecryptedText.stories-fqDZfjv8.js → DecryptedText.stories-CcmNeei7.js} +1 -1
  56. package/storybook-static/assets/{Dither.stories-B4N3Z5sW.js → Dither.stories-Cx3gQA5F.js} +1 -1
  57. package/storybook-static/assets/{Dock.stories-f_YKz-pl.js → Dock.stories-BnetMt5P.js} +1 -1
  58. package/storybook-static/assets/{EditFAB.stories-LhVUDgtx.js → EditFAB.stories-BM8RRvq2.js} +1 -1
  59. package/storybook-static/assets/{EvilEye.stories-BtBvvs31.js → EvilEye.stories-CU9FGY5P.js} +1 -1
  60. package/storybook-static/assets/{FadeContent.stories-oNqKrfSe.js → FadeContent.stories-BaWDFQed.js} +1 -1
  61. package/storybook-static/assets/{FaultyTerminal.stories-7nV4DvrW.js → FaultyTerminal.stories-D1AZCPEZ.js} +1 -1
  62. package/storybook-static/assets/{Fbo-Clk04E0N.js → Fbo-BM-i3UPR.js} +1 -1
  63. package/storybook-static/assets/{FloatingLines.stories-DgxhGl_b.js → FloatingLines.stories-fehYMPcZ.js} +1 -1
  64. package/storybook-static/assets/{FlowingMenu.stories-C5dfG25U.js → FlowingMenu.stories-DRGoAotO.js} +1 -1
  65. package/storybook-static/assets/{FluidGlass.stories-DGLlp1x1.js → FluidGlass.stories-DgAiwR5f.js} +1 -1
  66. package/storybook-static/assets/{Folder.stories-BJGdA6Qb.js → Folder.stories-Bys9N63w.js} +1 -1
  67. package/storybook-static/assets/{FuzzyText.stories-DygRT6bB.js → FuzzyText.stories-D-74llkc.js} +1 -1
  68. package/storybook-static/assets/{Galaxy.stories-BU6XCHeu.js → Galaxy.stories-VD6ETxyT.js} +1 -1
  69. package/storybook-static/assets/{GhostCursor.stories-D_HIFPUl.js → GhostCursor.stories-DjMEnN7i.js} +1 -1
  70. package/storybook-static/assets/{GlareHover.stories-D5_-xnyP.js → GlareHover.stories-6KgkPV6C.js} +1 -1
  71. package/storybook-static/assets/{GlassSurface.stories-CrZqAGRq.js → GlassSurface.stories-Dj1kCNDg.js} +1 -1
  72. package/storybook-static/assets/{GlitchText.stories-BRqI-kBX.js → GlitchText.stories-DcGDGtvN.js} +1 -1
  73. package/storybook-static/assets/{GooeyNav.stories-DjR0-Th2.js → GooeyNav.stories-yae-ax1k.js} +1 -1
  74. package/storybook-static/assets/{GradientBlinds.stories-CiIDtPz3.js → GradientBlinds.stories-B7h647VQ.js} +1 -1
  75. package/storybook-static/assets/{GradientText.stories-pLA_An71.js → GradientText.stories-BPUXNES_.js} +1 -1
  76. package/storybook-static/assets/{Grainient.stories-BthRrRMd.js → Grainient.stories-BjFhc8gt.js} +1 -1
  77. package/storybook-static/assets/{GridMotion.stories-BSwjL8IE.js → GridMotion.stories-Bm8YB3Nc.js} +1 -1
  78. package/storybook-static/assets/{ImageSlideshow.stories-BYAQMHlZ.js → ImageSlideshow.stories-BT5Pfqt3.js} +6 -11
  79. package/storybook-static/assets/{Iridescence.stories-ChHTH2TM.js → Iridescence.stories-DysieilC.js} +1 -1
  80. package/storybook-static/assets/{LaserFlow.stories-DlDx8Vr8.js → LaserFlow.stories-BJMXiU6b.js} +1 -1
  81. package/storybook-static/assets/{LetterGlitch.stories-C-S2SRjU.js → LetterGlitch.stories-Qpkbs2x5.js} +1 -1
  82. package/storybook-static/assets/{LightPillar.stories-D0PF-h7T.js → LightPillar.stories-D7r7SjN3.js} +1 -1
  83. package/storybook-static/assets/{LightRays.stories-Cbkl7wuP.js → LightRays.stories-CSmrA40u.js} +1 -1
  84. package/storybook-static/assets/{Lightning.stories-BUs-gwYj.js → Lightning.stories-0zr6qZVm.js} +1 -1
  85. package/storybook-static/assets/{LineWaves.stories-D2GXzteP.js → LineWaves.stories-KgMfrrqs.js} +1 -1
  86. package/storybook-static/assets/{LiquidChrome.stories-CtDp7th1.js → LiquidChrome.stories-B8ZLHoH1.js} +1 -1
  87. package/storybook-static/assets/{LiquidEther.stories-DM2n5oEm.js → LiquidEther.stories-C4k9P7aN.js} +1 -1
  88. package/storybook-static/assets/{LoadingSpinner-DaUSIVPY.js → LoadingSpinner-Cy3HB7-7.js} +1 -1
  89. package/storybook-static/assets/{LoadingSpinner.stories-Cx4_nNAf.js → LoadingSpinner.stories-DDNFJhwe.js} +1 -1
  90. package/storybook-static/assets/{MagicRings.stories-CZt-cHcL.js → MagicRings.stories-UqocGxaQ.js} +1 -1
  91. package/storybook-static/assets/{Magnet.stories-B6js1VeO.js → Magnet.stories-BxvO0Fqj.js} +1 -1
  92. package/storybook-static/assets/{MagnetLines.stories-BKQ9YC_E.js → MagnetLines.stories-BMqOFHvT.js} +1 -1
  93. package/storybook-static/assets/{Masonry.stories-BGkTkNUa.js → Masonry.stories-CLwqpLTU.js} +1 -1
  94. package/storybook-static/assets/{MetaBalls.stories-Cao6Tqjg.js → MetaBalls.stories-B_lPmlPu.js} +1 -1
  95. package/storybook-static/assets/{MetallicPaint.stories-DF9qb3W_.js → MetallicPaint.stories-9AWQepP6.js} +1 -1
  96. package/storybook-static/assets/{MoodChart.stories-AGxwnR6s.js → MoodChart.stories-B6LHsTmy.js} +1 -1
  97. package/storybook-static/assets/{MotionConfigContext-BCa1jVYq.js → MotionConfigContext-CJ0kpWbz.js} +1 -1
  98. package/storybook-static/assets/{Navbar.stories-CFHb1c22.js → Navbar.stories-Cag40GVb.js} +1 -1
  99. package/storybook-static/assets/{Noise.stories-ConXbyqm.js → Noise.stories-BukT-fj1.js} +1 -1
  100. package/storybook-static/assets/{NumberStepper-DH9y3k8b.js → NumberStepper-Ut_VByYA.js} +1 -1
  101. package/storybook-static/assets/{NumberStepper.stories-PMwPqbsn.js → NumberStepper.stories-3y594BTK.js} +1 -1
  102. package/storybook-static/assets/{Orb.stories-DcXSWhV1.js → Orb.stories-B45u5gJo.js} +1 -1
  103. package/storybook-static/assets/{OrbitImages.stories-Dk417qKA.js → OrbitImages.stories-B_7X-GMA.js} +1 -1
  104. package/storybook-static/assets/{PieChart.stories-6sgfe6Xk.js → PieChart.stories-DLrtlyWH.js} +1 -1
  105. package/storybook-static/assets/{PixelBlast.stories-_cBuognT.js → PixelBlast.stories-C4ZAaMH_.js} +1 -1
  106. package/storybook-static/assets/{PixelCard.stories-D_EZOUox.js → PixelCard.stories-CaOGvNQ_.js} +1 -1
  107. package/storybook-static/assets/{PixelSnow.stories-DcD7737G.js → PixelSnow.stories-CGmFGV3L.js} +1 -1
  108. package/storybook-static/assets/{PixelTransition.stories-BwNcUv5J.js → PixelTransition.stories-DzTJZhF-.js} +1 -1
  109. package/storybook-static/assets/{Plasma.stories-BLolMCfR.js → Plasma.stories-CoyLfj7o.js} +1 -1
  110. package/storybook-static/assets/{Prism.stories-CG2_KGsq.js → Prism.stories-D2E3ZI6g.js} +1 -1
  111. package/storybook-static/assets/{PrismaticBurst.stories-DzS--Ffu.js → PrismaticBurst.stories-B8PJhK5n.js} +1 -1
  112. package/storybook-static/assets/{ProfileCard.stories-vI_ispYe.js → ProfileCard.stories-CbRCcyd9.js} +1 -1
  113. package/storybook-static/assets/{QuantifiableHabitsChart.stories-D5yeGCZ5.js → QuantifiableHabitsChart.stories-BCrpnpyh.js} +1 -1
  114. package/storybook-static/assets/{Radar.stories-DLv_hY9T.js → Radar.stories-B-Ki4OHb.js} +1 -1
  115. package/storybook-static/assets/{Ribbons.stories-4BbVINtW.js → Ribbons.stories-DMBczKgc.js} +1 -1
  116. package/storybook-static/assets/{RippleGrid.stories-CFh8tigy.js → RippleGrid.stories-C8dKr2CX.js} +1 -1
  117. package/storybook-static/assets/{RotatingText.stories-AM4GcpU2.js → RotatingText.stories-DJu0v3mv.js} +1 -1
  118. package/storybook-static/assets/{ScrollFloat.stories-Ct_ZkL7k.js → ScrollFloat.stories-B_edvvO1.js} +1 -1
  119. package/storybook-static/assets/{ScrollReveal.stories-B7fcgLZ3.js → ScrollReveal.stories-DTYFesNE.js} +1 -1
  120. package/storybook-static/assets/{ScrollVelocity.stories-BRDv3Fdk.js → ScrollVelocity.stories-B2O7zZ2t.js} +1 -1
  121. package/storybook-static/assets/{SearchBar.stories-Dnmegbak.js → SearchBar.stories-CUEF7Ba4.js} +1 -1
  122. package/storybook-static/assets/{SearchableDropdown-BtIsuxmT.js → SearchableDropdown-C6KY2mIJ.js} +1 -1
  123. package/storybook-static/assets/{SearchableDropdown.stories-DVub17TN.js → SearchableDropdown.stories-DbSJdUAJ.js} +1 -1
  124. package/storybook-static/assets/{SelectInput-C0kBLYgX.js → SelectInput-tDvouCuN.js} +1 -1
  125. package/storybook-static/assets/{SelectInput.stories-HoF32-Km.js → SelectInput.stories-C6apSsWx.js} +1 -1
  126. package/storybook-static/assets/{ShapeBlur.stories-C3RyLvBh.js → ShapeBlur.stories-DVQs_Ng0.js} +1 -1
  127. package/storybook-static/assets/{ShapeGrid.stories-ltmu466o.js → ShapeGrid.stories-BjibW7b1.js} +1 -1
  128. package/storybook-static/assets/{ShinyText.stories-JO2F4CpJ.js → ShinyText.stories-DTezLW7e.js} +1 -1
  129. package/storybook-static/assets/{Silk.stories-CUzWiwqP.js → Silk.stories-fZbeNXOO.js} +1 -1
  130. package/storybook-static/assets/{SleepChart.stories-YvCzf0BI.js → SleepChart.stories-nqH0hgCL.js} +1 -1
  131. package/storybook-static/assets/{Slider-CI9mXQSu.js → Slider-DIeyN9Hx.js} +1 -1
  132. package/storybook-static/assets/{Slider.stories-DQYlBjGq.js → Slider.stories-BzcscFcU.js} +1 -1
  133. package/storybook-static/assets/{SoftAurora.stories-ubq_KV8Q.js → SoftAurora.stories-Cvtf3TKB.js} +1 -1
  134. package/storybook-static/assets/{SoundDemo.stories-Cie-leKw.js → SoundDemo.stories-Dpq3K-yq.js} +1 -1
  135. package/storybook-static/assets/{SplashCursor.stories-Clea3dMy.js → SplashCursor.stories-Y5zBSBCL.js} +1 -1
  136. package/storybook-static/assets/{SpotlightCard.stories-BWv0AuTI.js → SpotlightCard.stories-B1KBEp6T.js} +1 -1
  137. package/storybook-static/assets/{Stack.stories-DxVGTJ6l.js → Stack.stories-CA5YToyH.js} +1 -1
  138. package/storybook-static/assets/{StaggeredMenu.stories-1UB8ravq.js → StaggeredMenu.stories-BvQIujuB.js} +1 -1
  139. package/storybook-static/assets/{StarBorder.stories-DiSAqN3r.js → StarBorder.stories-CHtwoVna.js} +1 -1
  140. package/storybook-static/assets/{SunburstChart.stories-DLjQA_I1.js → SunburstChart.stories-Ch-ivaQT.js} +1 -1
  141. package/storybook-static/assets/{Table.stories-wQGb96WC.js → Table.stories-CvYZiI3H.js} +1 -1
  142. package/storybook-static/assets/{Tabs.stories-jkioQ4xt.js → Tabs.stories-BN3Icfzj.js} +1 -1
  143. package/storybook-static/assets/{TargetCursor.stories-B4ACbrmW.js → TargetCursor.stories-D1PTwE36.js} +1 -1
  144. package/storybook-static/assets/{TextArea-DN6IYITs.js → TextArea-DKtwryA1.js} +1 -1
  145. package/storybook-static/assets/{TextArea.stories-CwLLZFoD.js → TextArea.stories-CxsYukYi.js} +1 -1
  146. package/storybook-static/assets/{TextCursor.stories-NORQhkfy.js → TextCursor.stories-BouFdSlt.js} +1 -1
  147. package/storybook-static/assets/{TextInput-CLgIGUn3.js → TextInput-CsK2bPrD.js} +1 -1
  148. package/storybook-static/assets/{TextInput.stories-BNooOWA2.js → TextInput.stories-fZ3j5ID4.js} +1 -1
  149. package/storybook-static/assets/{TextPressure.stories-BaCAyBD4.js → TextPressure.stories-B6pN9RLp.js} +1 -1
  150. package/storybook-static/assets/{TextType.stories-DG4mQ3HF.js → TextType.stories-C9jm9TdC.js} +1 -1
  151. package/storybook-static/assets/{ThemeSwitcher.stories-slxIamHU.js → ThemeSwitcher.stories-DHJZPEtd.js} +1 -1
  152. package/storybook-static/assets/{Threads.stories-Rsg8lRsX.js → Threads.stories-BiH2lkaI.js} +1 -1
  153. package/storybook-static/assets/{TimeInput.stories-CaO8_PY2.js → TimeInput.stories-DOyFcxE2.js} +1 -1
  154. package/storybook-static/assets/{Toggle-CTTN-13k.js → Toggle-sPP5IZcW.js} +1 -1
  155. package/storybook-static/assets/{Toggle.stories-DrNYDjFB.js → Toggle.stories-D5BPv-SU.js} +1 -1
  156. package/storybook-static/assets/{ToggleButton-CXK855yx.js → ToggleButton-DmyfG7tC.js} +1 -1
  157. package/storybook-static/assets/{ToggleButton.stories-DNsNH9vH.js → ToggleButton.stories-B1AcmGcL.js} +1 -1
  158. package/storybook-static/assets/{TrueFocus.stories-zG6Ml8RP.js → TrueFocus.stories-CYVbY0Hb.js} +1 -1
  159. package/storybook-static/assets/{VariableProximity.stories-CMZW-Tov.js → VariableProximity.stories-BZRrDkSH.js} +1 -1
  160. package/storybook-static/assets/{Waves.stories-CscXTp_S.js → Waves.stories-D9BkuCeQ.js} +1 -1
  161. package/storybook-static/assets/{check-DLeHG_Da.js → check-B3Ha7gnS.js} +1 -1
  162. package/storybook-static/assets/{chevron-down-Ciks5pXx.js → chevron-down-DlPO5f1Y.js} +1 -1
  163. package/storybook-static/assets/{chevron-right-DjeluSA0.js → chevron-right-B8eoaBIh.js} +1 -1
  164. package/storybook-static/assets/client-DxIdGip8.js +1 -0
  165. package/storybook-static/assets/{createLucideIcon-dvowvj4F.js → createLucideIcon-G8N511cp.js} +1 -1
  166. package/storybook-static/assets/download-w1NWX-h6.js +6 -0
  167. package/storybook-static/assets/{folder-CCqkDvFG.js → folder-JRyPzO6h.js} +1 -1
  168. package/storybook-static/assets/{iconBase-nrk1zV8Q.js → iconBase-DxMTUG9N.js} +1 -1
  169. package/storybook-static/assets/{iframe-Cw8dCV4Z.js → iframe-DCkPNH_h.js} +3 -3
  170. package/storybook-static/assets/{index-CzApopWo.js → index-BTVArzym.js} +1 -1
  171. package/storybook-static/assets/{index-A7l1uA6_.js → index-BW6Op62F.js} +1 -1
  172. package/storybook-static/assets/{index-Bm5msOcI.js → index-CsT-CD6f.js} +1 -1
  173. package/storybook-static/assets/{proxy-p8L3T_Zy.js → proxy-cgPyYfyG.js} +1 -1
  174. package/storybook-static/assets/{react-18-D7YhBYbX.js → react-18-YVQChixo.js} +1 -1
  175. package/storybook-static/assets/{react-three-fiber.esm-BnMrba87.js → react-three-fiber.esm-_mYjl9J6.js} +1 -1
  176. package/storybook-static/assets/{search-7V6DOf2z.js → search-DioxI_xb.js} +1 -1
  177. package/storybook-static/assets/{settings-B8s5hJGs.js → settings-DFQ10p72.js} +1 -1
  178. package/storybook-static/assets/{sun-5V6ee2LJ.js → sun-BfIldVmy.js} +1 -1
  179. package/storybook-static/assets/{trash-2-DeQvYdO7.js → trash-2-DqTvgQRR.js} +1 -1
  180. package/storybook-static/assets/{use-animation-frame-DovyG_Es.js → use-animation-frame-CnngNm80.js} +1 -1
  181. package/storybook-static/assets/{use-in-view-Dv3LTdsl.js → use-in-view-DLYDN0EG.js} +1 -1
  182. package/storybook-static/assets/{use-motion-value-BVm7csqA.js → use-motion-value-Ud8-h3gV.js} +1 -1
  183. package/storybook-static/assets/{use-spring-BkrdNVnG.js → use-spring-DcEBTvl_.js} +1 -1
  184. package/storybook-static/assets/{use-transform-CQNghMvr.js → use-transform-8mNuLPFu.js} +1 -1
  185. package/storybook-static/assets/{useSound-D23BsIr4.js → useSound-Cv_O9Yec.js} +1 -1
  186. package/storybook-static/assets/{users-R6T-yLyH.js → users-B5lo7ErU.js} +1 -1
  187. package/storybook-static/assets/{x-CypMgsiv.js → x-CgTXkpyT.js} +1 -1
  188. package/storybook-static/iframe.html +1 -1
  189. package/storybook-static/index.json +1 -1
  190. package/storybook-static/project.json +1 -1
  191. package/storybook-static/assets/Calendar-BZCyXxvF.css +0 -1
  192. package/storybook-static/assets/Calendar.stories-D5CKBagI.js +0 -321
  193. package/storybook-static/assets/client-D1KVnN68.js +0 -1
package/dist/index.js CHANGED
@@ -5,6 +5,11 @@ var framerMotion = require('framer-motion');
5
5
  var React = require('react');
6
6
  var reactDom = require('react-dom');
7
7
  var lucideReact = require('lucide-react');
8
+ var dayjs = require('dayjs');
9
+ var MobileTimePicker = require('@mui/x-date-pickers/MobileTimePicker');
10
+ var LocalizationProvider = require('@mui/x-date-pickers/LocalizationProvider');
11
+ var AdapterDayjs = require('@mui/x-date-pickers/AdapterDayjs');
12
+ var styles$A = require('@mui/material/styles');
8
13
  var d3 = require('d3');
9
14
 
10
15
  function _interopNamespaceDefault(e) {
@@ -26,7 +31,7 @@ function _interopNamespaceDefault(e) {
26
31
 
27
32
  var d3__namespace = /*#__PURE__*/_interopNamespaceDefault(d3);
28
33
 
29
- var styles$A = {"button":"Button-module_button__c6nkW","primary":"Button-module_primary__pMqAs","secondary":"Button-module_secondary__mBWx9","outline":"Button-module_outline__NGGGN","ghost":"Button-module_ghost__u2QBF","danger":"Button-module_danger__2ewhr","small":"Button-module_small__ZI9RX","medium":"Button-module_medium__Wnf9t","large":"Button-module_large__cQCpA","fullWidth":"Button-module_fullWidth__N8vYg","loading":"Button-module_loading__hcSI4","spinner":"Button-module_spinner__HtM96","spin":"Button-module_spin__jblrj","iconLeft":"Button-module_iconLeft__Fpz-y","iconRight":"Button-module_iconRight__kTfjS"};
34
+ var styles$z = {"button":"Button-module_button__c6nkW","primary":"Button-module_primary__pMqAs","secondary":"Button-module_secondary__mBWx9","outline":"Button-module_outline__NGGGN","ghost":"Button-module_ghost__u2QBF","danger":"Button-module_danger__2ewhr","small":"Button-module_small__ZI9RX","medium":"Button-module_medium__Wnf9t","large":"Button-module_large__cQCpA","fullWidth":"Button-module_fullWidth__N8vYg","loading":"Button-module_loading__hcSI4","spinner":"Button-module_spinner__HtM96","spin":"Button-module_spin__jblrj","iconLeft":"Button-module_iconLeft__Fpz-y","iconRight":"Button-module_iconRight__kTfjS"};
30
35
 
31
36
  const SOUND_PACKS = {
32
37
  digital: {
@@ -591,11 +596,11 @@ function useComponentSound(config, options) {
591
596
  const Button = ({ variant = 'primary', size = 'medium', fullWidth = false, loading = false, iconLeft, iconRight, children, className = '', disabled, motionProps, soundConfig, onClick, onMouseEnter, onFocus, ...rest }) => {
592
597
  const { handlers } = useComponentSound(soundConfig);
593
598
  const buttonClasses = [
594
- styles$A.button,
595
- styles$A[variant],
596
- styles$A[size],
597
- fullWidth && styles$A.fullWidth,
598
- loading && styles$A.loading,
599
+ styles$z.button,
600
+ styles$z[variant],
601
+ styles$z[size],
602
+ fullWidth && styles$z.fullWidth,
603
+ loading && styles$z.loading,
599
604
  className
600
605
  ].filter(Boolean).join(' ');
601
606
  const handleClick = (e) => {
@@ -606,10 +611,10 @@ const Button = ({ variant = 'primary', size = 'medium', fullWidth = false, loadi
606
611
  handlers.onMouseEnter?.();
607
612
  onMouseEnter?.(e);
608
613
  };
609
- return (jsxRuntime.jsxs(framerMotion.motion.button, { className: buttonClasses, disabled: disabled || loading, whileHover: { scale: disabled || loading ? 1 : 1.02 }, whileTap: { scale: disabled || loading ? 1 : 0.98 }, transition: { type: "spring", stiffness: 400, damping: 17 }, onClick: handleClick, onMouseEnter: handleMouseEnter, onFocus: onFocus, ...motionProps, ...rest, children: [loading && jsxRuntime.jsx("span", { className: styles$A.spinner }), iconLeft && jsxRuntime.jsx("span", { className: styles$A.iconLeft, children: iconLeft }), children, iconRight && jsxRuntime.jsx("span", { className: styles$A.iconRight, children: iconRight })] }));
614
+ return (jsxRuntime.jsxs(framerMotion.motion.button, { className: buttonClasses, disabled: disabled || loading, whileHover: { scale: disabled || loading ? 1 : 1.02 }, whileTap: { scale: disabled || loading ? 1 : 0.98 }, transition: { type: "spring", stiffness: 400, damping: 17 }, onClick: handleClick, onMouseEnter: handleMouseEnter, onFocus: onFocus, ...motionProps, ...rest, children: [loading && jsxRuntime.jsx("span", { className: styles$z.spinner }), iconLeft && jsxRuntime.jsx("span", { className: styles$z.iconLeft, children: iconLeft }), children, iconRight && jsxRuntime.jsx("span", { className: styles$z.iconRight, children: iconRight })] }));
610
615
  };
611
616
 
612
- var styles$z = {"card":"Card-module_card__r2DB2","hoverable":"Card-module_hoverable__X3OpS","elevated":"Card-module_elevated__hGV6-","outlined":"Card-module_outlined__ngRag","flat":"Card-module_flat__xy-xt","glass":"Card-module_glass__Sv-Vs","imageContainer":"Card-module_imageContainer__L4ma6","image":"Card-module_image__bQBt6","header":"Card-module_header__0dtj3","headerContent":"Card-module_headerContent__W7-jD","expandButton":"Card-module_expandButton__I7f49","expandIcon":"Card-module_expandIcon__Lu-OY","expandableContent":"Card-module_expandableContent__BFgO5","expandable":"Card-module_expandable__GMXzo","body":"Card-module_body__K7eL3","footer":"Card-module_footer__L5wO-","title":"Card-module_title__pW9g8","subtitle":"Card-module_subtitle__gejH4","clickable":"Card-module_clickable__Y6fm8","padding":"Card-module_padding__wtyDo","noPadding":"Card-module_noPadding__r5Qq0","loading":"Card-module_loading__S4Wng","loadingShimmer":"Card-module_loadingShimmer__Q1Osr","loadingPulse":"Card-module_loadingPulse__bXQmC"};
617
+ var styles$y = {"card":"Card-module_card__r2DB2","hoverable":"Card-module_hoverable__X3OpS","elevated":"Card-module_elevated__hGV6-","outlined":"Card-module_outlined__ngRag","flat":"Card-module_flat__xy-xt","glass":"Card-module_glass__Sv-Vs","imageContainer":"Card-module_imageContainer__L4ma6","image":"Card-module_image__bQBt6","header":"Card-module_header__0dtj3","headerContent":"Card-module_headerContent__W7-jD","expandButton":"Card-module_expandButton__I7f49","expandIcon":"Card-module_expandIcon__Lu-OY","expandableContent":"Card-module_expandableContent__BFgO5","expandable":"Card-module_expandable__GMXzo","body":"Card-module_body__K7eL3","footer":"Card-module_footer__L5wO-","title":"Card-module_title__pW9g8","subtitle":"Card-module_subtitle__gejH4","clickable":"Card-module_clickable__Y6fm8","padding":"Card-module_padding__wtyDo","noPadding":"Card-module_noPadding__r5Qq0","loading":"Card-module_loading__S4Wng","loadingShimmer":"Card-module_loadingShimmer__Q1Osr","loadingPulse":"Card-module_loadingPulse__bXQmC"};
613
618
 
614
619
  /**
615
620
  * Card Component
@@ -674,28 +679,28 @@ const Card = ({ variant = 'elevated', hoverable = false, clickable = false, padd
674
679
  onExpandChange?.(newExpanded);
675
680
  };
676
681
  const cardClasses = [
677
- styles$z.card,
678
- styles$z[variant],
679
- hoverable && styles$z.hoverable,
680
- clickable && styles$z.clickable,
681
- !padding && styles$z.noPadding,
682
- expandable && styles$z.expandable,
682
+ styles$y.card,
683
+ styles$y[variant],
684
+ hoverable && styles$y.hoverable,
685
+ clickable && styles$y.clickable,
686
+ !padding && styles$y.noPadding,
687
+ expandable && styles$y.expandable,
683
688
  className
684
689
  ].filter(Boolean).join(' ');
685
690
  const renderHeader = () => {
686
691
  if (header) {
687
- return (jsxRuntime.jsxs("div", { className: styles$z.header, children: [jsxRuntime.jsx("div", { className: styles$z.headerContent, children: header }), expandable && (jsxRuntime.jsx("button", { className: styles$z.expandButton, onClick: handleToggleExpand, "aria-label": isExpanded ? 'Collapse card' : 'Expand card', children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: styles$z.expandIcon, style: { transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)' }, children: jsxRuntime.jsx("path", { d: "M6 9l6 6 6-6" }) }) }))] }));
692
+ return (jsxRuntime.jsxs("div", { className: styles$y.header, children: [jsxRuntime.jsx("div", { className: styles$y.headerContent, children: header }), expandable && (jsxRuntime.jsx("button", { className: styles$y.expandButton, onClick: handleToggleExpand, "aria-label": isExpanded ? 'Collapse card' : 'Expand card', children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: styles$y.expandIcon, style: { transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)' }, children: jsxRuntime.jsx("path", { d: "M6 9l6 6 6-6" }) }) }))] }));
688
693
  }
689
694
  if (title || subtitle) {
690
- return (jsxRuntime.jsxs("div", { className: styles$z.header, children: [jsxRuntime.jsxs("div", { className: styles$z.headerContent, children: [title && jsxRuntime.jsx("h3", { className: styles$z.title, children: title }), subtitle && jsxRuntime.jsx("p", { className: styles$z.subtitle, children: subtitle })] }), expandable && (jsxRuntime.jsx("button", { className: styles$z.expandButton, onClick: handleToggleExpand, "aria-label": isExpanded ? 'Collapse card' : 'Expand card', children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: styles$z.expandIcon, style: { transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)' }, children: jsxRuntime.jsx("path", { d: "M6 9l6 6 6-6" }) }) }))] }));
695
+ return (jsxRuntime.jsxs("div", { className: styles$y.header, children: [jsxRuntime.jsxs("div", { className: styles$y.headerContent, children: [title && jsxRuntime.jsx("h3", { className: styles$y.title, children: title }), subtitle && jsxRuntime.jsx("p", { className: styles$y.subtitle, children: subtitle })] }), expandable && (jsxRuntime.jsx("button", { className: styles$y.expandButton, onClick: handleToggleExpand, "aria-label": isExpanded ? 'Collapse card' : 'Expand card', children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: styles$y.expandIcon, style: { transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)' }, children: jsxRuntime.jsx("path", { d: "M6 9l6 6 6-6" }) }) }))] }));
691
696
  }
692
697
  return null;
693
698
  };
694
- const cardContent = (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [image && (jsxRuntime.jsx("div", { className: styles$z.imageContainer, children: jsxRuntime.jsx("img", { src: image, alt: imageAlt, className: styles$z.image }) })), renderHeader(), jsxRuntime.jsx(framerMotion.AnimatePresence, { initial: false, children: (!expandable || isExpanded) && (jsxRuntime.jsxs(framerMotion.motion.div, { initial: expandable ? { height: 0, opacity: 0 } : undefined, animate: expandable ? { height: 'auto', opacity: 1 } : undefined, exit: expandable ? { height: 0, opacity: 0 } : undefined, transition: { duration: 0.3, ease: "easeInOut" }, className: styles$z.expandableContent, children: [children && (jsxRuntime.jsx("div", { className: padding ? styles$z.body : undefined, children: children })), footer && jsxRuntime.jsx("div", { className: styles$z.footer, children: footer })] }, "content")) })] }));
699
+ const cardContent = (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [image && (jsxRuntime.jsx("div", { className: styles$y.imageContainer, children: jsxRuntime.jsx("img", { src: image, alt: imageAlt, className: styles$y.image }) })), renderHeader(), jsxRuntime.jsx(framerMotion.AnimatePresence, { initial: false, children: (!expandable || isExpanded) && (jsxRuntime.jsxs(framerMotion.motion.div, { initial: expandable ? { height: 0, opacity: 0 } : undefined, animate: expandable ? { height: 'auto', opacity: 1 } : undefined, exit: expandable ? { height: 0, opacity: 0 } : undefined, transition: { duration: 0.3, ease: "easeInOut" }, className: styles$y.expandableContent, children: [children && (jsxRuntime.jsx("div", { className: padding ? styles$y.body : undefined, children: children })), footer && jsxRuntime.jsx("div", { className: styles$y.footer, children: footer })] }, "content")) })] }));
695
700
  return (jsxRuntime.jsx(framerMotion.motion.div, { className: cardClasses, onClick: clickable ? onClick : undefined, whileHover: hoverable ? { y: -4 } : undefined, transition: { type: "spring", stiffness: 400, damping: 17 }, ...motionProps, ...rest, children: cardContent }));
696
701
  };
697
702
 
698
- var styles$y = {"wrapper":"EmptyState-module_wrapper__h3Y2E","compact":"EmptyState-module_compact__HdYu1","default":"EmptyState-module_default__ACAbn","large":"EmptyState-module_large__H3ELo","icon":"EmptyState-module_icon__i7-3M","title":"EmptyState-module_title__xCyfH","message":"EmptyState-module_message__Bc5xK","action":"EmptyState-module_action__UpnvZ"};
703
+ var styles$x = {"wrapper":"EmptyState-module_wrapper__h3Y2E","compact":"EmptyState-module_compact__HdYu1","default":"EmptyState-module_default__ACAbn","large":"EmptyState-module_large__H3ELo","icon":"EmptyState-module_icon__i7-3M","title":"EmptyState-module_title__xCyfH","message":"EmptyState-module_message__Bc5xK","action":"EmptyState-module_action__UpnvZ"};
699
704
 
700
705
  /**
701
706
  * EmptyState Component
@@ -732,11 +737,11 @@ var styles$y = {"wrapper":"EmptyState-module_wrapper__h3Y2E","compact":"EmptySta
732
737
  * @returns {JSX.Element} The rendered EmptyState component
733
738
  */
734
739
  const EmptyState = ({ icon, title, message, action, size = 'default', }) => {
735
- const wrapperClass = [styles$y.wrapper, styles$y[size]].filter(Boolean).join(' ');
736
- return (jsxRuntime.jsxs("div", { className: wrapperClass, children: [icon && jsxRuntime.jsx("div", { className: styles$y.icon, children: icon }), title && jsxRuntime.jsx("h3", { className: styles$y.title, children: title }), jsxRuntime.jsx("p", { className: styles$y.message, children: message }), action && jsxRuntime.jsx("div", { className: styles$y.action, children: action })] }));
740
+ const wrapperClass = [styles$x.wrapper, styles$x[size]].filter(Boolean).join(' ');
741
+ return (jsxRuntime.jsxs("div", { className: wrapperClass, children: [icon && jsxRuntime.jsx("div", { className: styles$x.icon, children: icon }), title && jsxRuntime.jsx("h3", { className: styles$x.title, children: title }), jsxRuntime.jsx("p", { className: styles$x.message, children: message }), action && jsxRuntime.jsx("div", { className: styles$x.action, children: action })] }));
737
742
  };
738
743
 
739
- var styles$x = {"backdrop":"Modal-module_backdrop__yOx-a","dialog":"Modal-module_dialog__yEXTq","dialogCompact":"Modal-module_dialogCompact__z1Wxp","dialogWide":"Modal-module_dialogWide__9PTXK","header":"Modal-module_header__NHHKd","title":"Modal-module_title__i3R0x","headerActions":"Modal-module_headerActions__g28UN","closeButton":"Modal-module_closeButton__siC-1","body":"Modal-module_body__U7jvM","bodyFlush":"Modal-module_bodyFlush__wtk3q"};
744
+ var styles$w = {"backdrop":"Modal-module_backdrop__yOx-a","dialog":"Modal-module_dialog__yEXTq","dialogCompact":"Modal-module_dialogCompact__z1Wxp","dialogWide":"Modal-module_dialogWide__9PTXK","header":"Modal-module_header__NHHKd","title":"Modal-module_title__i3R0x","headerActions":"Modal-module_headerActions__g28UN","closeButton":"Modal-module_closeButton__siC-1","body":"Modal-module_body__U7jvM","bodyFlush":"Modal-module_bodyFlush__wtk3q"};
740
745
 
741
746
  /**
742
747
  * Modal Component
@@ -790,16 +795,16 @@ const Modal = ({ open, title, onClose, children, size = 'default', actions, padd
790
795
  if (typeof document === 'undefined')
791
796
  return null;
792
797
  const dialogClass = [
793
- styles$x.dialog,
794
- size === 'compact' && styles$x.dialogCompact,
795
- size === 'wide' && styles$x.dialogWide,
798
+ styles$w.dialog,
799
+ size === 'compact' && styles$w.dialogCompact,
800
+ size === 'wide' && styles$w.dialogWide,
796
801
  ]
797
802
  .filter(Boolean)
798
803
  .join(' ');
799
- return reactDom.createPortal(jsxRuntime.jsx(framerMotion.AnimatePresence, { children: open && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$x.backdrop, initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.15 }, onClick: onClose, "aria-hidden": "true", children: jsxRuntime.jsxs(framerMotion.motion.div, { className: dialogClass, role: "dialog", "aria-modal": "true", "aria-label": title, initial: { opacity: 0, scale: 0.96, y: 8 }, animate: { opacity: 1, scale: 1, y: 0 }, exit: { opacity: 0, scale: 0.96, y: 8 }, transition: { duration: 0.15, ease: 'easeOut' }, onClick: (e) => e.stopPropagation(), children: [jsxRuntime.jsxs("div", { className: styles$x.header, children: [jsxRuntime.jsx("span", { className: styles$x.title, children: title }), actions && jsxRuntime.jsx("div", { className: styles$x.headerActions, children: actions }), jsxRuntime.jsx("button", { className: styles$x.closeButton, onClick: onClose, "aria-label": "Close modal", type: "button", children: jsxRuntime.jsx(lucideReact.X, { size: 16 }) })] }), jsxRuntime.jsx("div", { className: padding ? styles$x.body : styles$x.bodyFlush, children: children })] }) })) }), document.body);
804
+ return reactDom.createPortal(jsxRuntime.jsx(framerMotion.AnimatePresence, { children: open && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$w.backdrop, initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.15 }, onClick: onClose, "aria-hidden": "true", children: jsxRuntime.jsxs(framerMotion.motion.div, { className: dialogClass, role: "dialog", "aria-modal": "true", "aria-label": title, initial: { opacity: 0, scale: 0.96, y: 8 }, animate: { opacity: 1, scale: 1, y: 0 }, exit: { opacity: 0, scale: 0.96, y: 8 }, transition: { duration: 0.15, ease: 'easeOut' }, onClick: (e) => e.stopPropagation(), children: [jsxRuntime.jsxs("div", { className: styles$w.header, children: [jsxRuntime.jsx("span", { className: styles$w.title, children: title }), actions && jsxRuntime.jsx("div", { className: styles$w.headerActions, children: actions }), jsxRuntime.jsx("button", { className: styles$w.closeButton, onClick: onClose, "aria-label": "Close modal", type: "button", children: jsxRuntime.jsx(lucideReact.X, { size: 16 }) })] }), jsxRuntime.jsx("div", { className: padding ? styles$w.body : styles$w.bodyFlush, children: children })] }) })) }), document.body);
800
805
  };
801
806
 
802
- var styles$w = {"checkboxLabel":"Checkbox-module_checkboxLabel__4tBVg","checkbox":"Checkbox-module_checkbox__BbJul","checkboxText":"Checkbox-module_checkboxText__oJsc9"};
807
+ var styles$v = {"checkboxLabel":"Checkbox-module_checkboxLabel__4tBVg","checkbox":"Checkbox-module_checkbox__BbJul","checkboxText":"Checkbox-module_checkboxText__oJsc9"};
803
808
 
804
809
  /**
805
810
  * Checkbox component - Modern interactive checkbox with animations
@@ -844,13 +849,13 @@ const Checkbox = ({ checked, onChange, label, disabled = false, indeterminate =
844
849
  checkboxRef.current.indeterminate = indeterminate;
845
850
  }
846
851
  }, [indeterminate]);
847
- return (jsxRuntime.jsxs("label", { className: styles$w.checkboxLabel, children: [jsxRuntime.jsx("input", { ref: checkboxRef, type: "checkbox", checked: checked, onChange: (e) => {
852
+ return (jsxRuntime.jsxs("label", { className: styles$v.checkboxLabel, children: [jsxRuntime.jsx("input", { ref: checkboxRef, type: "checkbox", checked: checked, onChange: (e) => {
848
853
  const isChecked = e.target.checked;
849
854
  onChange(isChecked);
850
855
  if (soundConfig?.onClick !== false) {
851
856
  playSound('toggle');
852
857
  }
853
- }, className: styles$w.checkbox, disabled: disabled, id: id, name: name, value: value, "aria-checked": indeterminate ? 'mixed' : checked }), label && jsxRuntime.jsx("span", { className: styles$w.checkboxText, children: label })] }));
858
+ }, className: styles$v.checkbox, disabled: disabled, id: id, name: name, value: value, "aria-checked": indeterminate ? 'mixed' : checked }), label && jsxRuntime.jsx("span", { className: styles$v.checkboxText, children: label })] }));
854
859
  };
855
860
 
856
861
  const formatDateToEuropean = (date) => {
@@ -881,7 +886,7 @@ const parseEuropeanDate = (dateString) => {
881
886
  return '';
882
887
  };
883
888
 
884
- var styles$v = {"dateInput":"DateInput-module_dateInput__54VPD","label":"DateInput-module_label__yDdUw","inputWrapper":"DateInput-module_inputWrapper__x-r1d","textInput":"DateInput-module_textInput__ToOSX","calendarButton":"DateInput-module_calendarButton__JzDGD","hiddenDateInput":"DateInput-module_hiddenDateInput__IWNg3","error":"DateInput-module_error__ieuPO","success":"DateInput-module_success__rPA93","loading":"DateInput-module_loading__1DAmD"};
889
+ var styles$u = {"dateInput":"DateInput-module_dateInput__54VPD","label":"DateInput-module_label__yDdUw","inputWrapper":"DateInput-module_inputWrapper__x-r1d","textInput":"DateInput-module_textInput__ToOSX","calendarButton":"DateInput-module_calendarButton__JzDGD","hiddenDateInput":"DateInput-module_hiddenDateInput__IWNg3","error":"DateInput-module_error__ieuPO","success":"DateInput-module_success__rPA93","loading":"DateInput-module_loading__1DAmD"};
885
890
 
886
891
  /**
887
892
  * DateInput component - European format date picker with manual input support
@@ -970,19 +975,19 @@ function DateInput({ label, value, onChange, placeholder = "25/12/2024", onFocus
970
975
  }
971
976
  };
972
977
  const getClassName = () => {
973
- const classes = [styles$v.dateInput];
978
+ const classes = [styles$u.dateInput];
974
979
  if (error)
975
- classes.push(styles$v.error);
980
+ classes.push(styles$u.error);
976
981
  if (success)
977
- classes.push(styles$v.success);
982
+ classes.push(styles$u.success);
978
983
  if (loading)
979
- classes.push(styles$v.loading);
984
+ classes.push(styles$u.loading);
980
985
  return classes.join(' ');
981
986
  };
982
- return (jsxRuntime.jsxs("div", { className: getClassName(), children: [jsxRuntime.jsx("label", { className: styles$v.label, children: label }), jsxRuntime.jsxs("div", { className: styles$v.inputWrapper, children: [jsxRuntime.jsx("input", { type: "text", value: value.includes('-') ? formatDateToEuropean(value) : value, onChange: (e) => handleTextChange(e.target.value), onFocus: onFocus, onBlur: onBlur, placeholder: placeholder, className: styles$v.textInput, disabled: disabled || loading, ...handlers }), jsxRuntime.jsx("button", { type: "button", onClick: handleCalendarClick, className: styles$v.calendarButton, title: "Select date from calendar", disabled: disabled || loading, children: jsxRuntime.jsx(lucideReact.Calendar, {}) }), jsxRuntime.jsx("input", { ref: hiddenDateInputRef, type: "date", onChange: handleCalendarChange, className: styles$v.hiddenDateInput, tabIndex: -1, disabled: disabled || loading })] })] }));
987
+ return (jsxRuntime.jsxs("div", { className: getClassName(), children: [jsxRuntime.jsx("label", { className: styles$u.label, children: label }), jsxRuntime.jsxs("div", { className: styles$u.inputWrapper, children: [jsxRuntime.jsx("input", { type: "text", value: value.includes('-') ? formatDateToEuropean(value) : value, onChange: (e) => handleTextChange(e.target.value), onFocus: onFocus, onBlur: onBlur, placeholder: placeholder, className: styles$u.textInput, disabled: disabled || loading, ...handlers }), jsxRuntime.jsx("button", { type: "button", onClick: handleCalendarClick, className: styles$u.calendarButton, title: "Select date from calendar", disabled: disabled || loading, children: jsxRuntime.jsx(lucideReact.Calendar, {}) }), jsxRuntime.jsx("input", { ref: hiddenDateInputRef, type: "date", onChange: handleCalendarChange, className: styles$u.hiddenDateInput, tabIndex: -1, disabled: disabled || loading })] })] }));
983
988
  }
984
989
 
985
- var styles$u = {"searchableDropdown":"SearchableDropdown-module_searchableDropdown__S2Nh5","dropdownTrigger":"SearchableDropdown-module_dropdownTrigger__dihdr","open":"SearchableDropdown-module_open__P7mRt","dropdownValue":"SearchableDropdown-module_dropdownValue__ydrc2","placeholder":"SearchableDropdown-module_placeholder__BwM2W","dropdownArrow":"SearchableDropdown-module_dropdownArrow__yd5fp","dropdownMenu":"SearchableDropdown-module_dropdownMenu__2Z5cc","dropdownSearch":"SearchableDropdown-module_dropdownSearch__NRk7j","searchInput":"SearchableDropdown-module_searchInput__VS2Hw","searchIcon":"SearchableDropdown-module_searchIcon__2vKFF","dropdownOptions":"SearchableDropdown-module_dropdownOptions__6YXqF","dropdownOption":"SearchableDropdown-module_dropdownOption__YwDr-","selected":"SearchableDropdown-module_selected__31JeB","highlighted":"SearchableDropdown-module_highlighted__P0bBq","checkIcon":"SearchableDropdown-module_checkIcon__YxowK","dropdownNoResults":"SearchableDropdown-module_dropdownNoResults__WW-Da","loading":"SearchableDropdown-module_loading__xlYf0"};
990
+ var styles$t = {"searchableDropdown":"SearchableDropdown-module_searchableDropdown__S2Nh5","dropdownTrigger":"SearchableDropdown-module_dropdownTrigger__dihdr","open":"SearchableDropdown-module_open__P7mRt","dropdownValue":"SearchableDropdown-module_dropdownValue__ydrc2","placeholder":"SearchableDropdown-module_placeholder__BwM2W","dropdownArrow":"SearchableDropdown-module_dropdownArrow__yd5fp","dropdownMenu":"SearchableDropdown-module_dropdownMenu__2Z5cc","dropdownSearch":"SearchableDropdown-module_dropdownSearch__NRk7j","searchInput":"SearchableDropdown-module_searchInput__VS2Hw","searchIcon":"SearchableDropdown-module_searchIcon__2vKFF","dropdownOptions":"SearchableDropdown-module_dropdownOptions__6YXqF","dropdownOption":"SearchableDropdown-module_dropdownOption__YwDr-","selected":"SearchableDropdown-module_selected__31JeB","highlighted":"SearchableDropdown-module_highlighted__P0bBq","checkIcon":"SearchableDropdown-module_checkIcon__YxowK","dropdownNoResults":"SearchableDropdown-module_dropdownNoResults__WW-Da","loading":"SearchableDropdown-module_loading__xlYf0"};
986
991
 
987
992
  /**
988
993
  * SearchableDropdown component - Modern filterable dropdown with animations
@@ -1087,23 +1092,23 @@ function SearchableDropdown({ label, value, onChange, options, placeholder = "Se
1087
1092
  }
1088
1093
  };
1089
1094
  const getTriggerClassName = () => {
1090
- const classes = [styles$u.dropdownTrigger];
1095
+ const classes = [styles$t.dropdownTrigger];
1091
1096
  if (isOpen)
1092
- classes.push(styles$u.open);
1097
+ classes.push(styles$t.open);
1093
1098
  if (loading)
1094
- classes.push(styles$u.loading);
1099
+ classes.push(styles$t.loading);
1095
1100
  if (error)
1096
- classes.push(styles$u.error);
1101
+ classes.push(styles$t.error);
1097
1102
  return classes.join(' ');
1098
1103
  };
1099
- return (jsxRuntime.jsxs("div", { className: styles$u.searchableDropdown, ref: dropdownRef, onKeyDown: handleKeyDown, children: [jsxRuntime.jsx("label", { children: label }), jsxRuntime.jsxs(framerMotion.motion.button, { type: "button", className: getTriggerClassName(), onClick: () => !disabled && !loading && setIsOpen(!isOpen), whileTap: { scale: disabled ? 1 : 0.98 }, style: { willChange: 'transform' }, disabled: disabled, children: [jsxRuntime.jsx("span", { className: `${styles$u.dropdownValue} ${!displayValue ? styles$u.placeholder : ''}`, children: displayValue || placeholder }), jsxRuntime.jsx(lucideReact.ChevronDown, { className: styles$u.dropdownArrow })] }), jsxRuntime.jsx(framerMotion.AnimatePresence, { children: isOpen && (jsxRuntime.jsxs(framerMotion.motion.div, { className: styles$u.dropdownMenu, initial: { opacity: 0, y: -10, scale: 0.95 }, animate: { opacity: 1, y: 0, scale: 1 }, exit: { opacity: 0, y: -10, scale: 0.95 }, transition: { duration: 0.2, ease: "easeOut" }, children: [jsxRuntime.jsxs("div", { className: styles$u.dropdownSearch, children: [jsxRuntime.jsx(lucideReact.Search, { className: styles$u.searchIcon }), jsxRuntime.jsx("input", { ref: inputRef, type: "text", className: styles$u.searchInput, placeholder: "Cerca...", value: searchTerm, onChange: (e) => setSearchTerm(e.target.value), onClick: (e) => e.stopPropagation() })] }), jsxRuntime.jsxs("div", { className: styles$u.dropdownOptions, children: [allOptions.map((opt, index) => {
1104
+ return (jsxRuntime.jsxs("div", { className: styles$t.searchableDropdown, ref: dropdownRef, onKeyDown: handleKeyDown, children: [jsxRuntime.jsx("label", { children: label }), jsxRuntime.jsxs(framerMotion.motion.button, { type: "button", className: getTriggerClassName(), onClick: () => !disabled && !loading && setIsOpen(!isOpen), whileTap: { scale: disabled ? 1 : 0.98 }, style: { willChange: 'transform' }, disabled: disabled, children: [jsxRuntime.jsx("span", { className: `${styles$t.dropdownValue} ${!displayValue ? styles$t.placeholder : ''}`, children: displayValue || placeholder }), jsxRuntime.jsx(lucideReact.ChevronDown, { className: styles$t.dropdownArrow })] }), jsxRuntime.jsx(framerMotion.AnimatePresence, { children: isOpen && (jsxRuntime.jsxs(framerMotion.motion.div, { className: styles$t.dropdownMenu, initial: { opacity: 0, y: -10, scale: 0.95 }, animate: { opacity: 1, y: 0, scale: 1 }, exit: { opacity: 0, y: -10, scale: 0.95 }, transition: { duration: 0.2, ease: "easeOut" }, children: [jsxRuntime.jsxs("div", { className: styles$t.dropdownSearch, children: [jsxRuntime.jsx(lucideReact.Search, { className: styles$t.searchIcon }), jsxRuntime.jsx("input", { ref: inputRef, type: "text", className: styles$t.searchInput, placeholder: "Cerca...", value: searchTerm, onChange: (e) => setSearchTerm(e.target.value), onClick: (e) => e.stopPropagation() })] }), jsxRuntime.jsxs("div", { className: styles$t.dropdownOptions, children: [allOptions.map((opt, index) => {
1100
1105
  const isSelected = value === opt.value;
1101
1106
  const isHighlighted = highlightedIndex === index;
1102
- return (jsxRuntime.jsxs(framerMotion.motion.button, { type: "button", className: `${styles$u.dropdownOption} ${isSelected ? styles$u.selected : ''} ${isHighlighted ? styles$u.highlighted : ''}`, onClick: () => handleSelect(opt.value), onMouseEnter: () => setHighlightedIndex(index), initial: { opacity: 0, x: -20 }, animate: { opacity: 1, x: 0 }, transition: { delay: index * 0.02 }, whileTap: { scale: 0.98 }, style: { willChange: 'transform' }, children: [jsxRuntime.jsx("span", { children: opt.label }), isSelected && jsxRuntime.jsx(lucideReact.Check, { className: styles$u.checkIcon })] }, `${opt.value}-${index}`));
1103
- }), allOptions.length === 0 && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$u.dropdownNoResults, initial: { opacity: 0 }, animate: { opacity: 1 }, children: "No results found" }))] })] })) })] }));
1107
+ return (jsxRuntime.jsxs(framerMotion.motion.button, { type: "button", className: `${styles$t.dropdownOption} ${isSelected ? styles$t.selected : ''} ${isHighlighted ? styles$t.highlighted : ''}`, onClick: () => handleSelect(opt.value), onMouseEnter: () => setHighlightedIndex(index), initial: { opacity: 0, x: -20 }, animate: { opacity: 1, x: 0 }, transition: { delay: index * 0.02 }, whileTap: { scale: 0.98 }, style: { willChange: 'transform' }, children: [jsxRuntime.jsx("span", { children: opt.label }), isSelected && jsxRuntime.jsx(lucideReact.Check, { className: styles$t.checkIcon })] }, `${opt.value}-${index}`));
1108
+ }), allOptions.length === 0 && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$t.dropdownNoResults, initial: { opacity: 0 }, animate: { opacity: 1 }, children: "No results found" }))] })] })) })] }));
1104
1109
  }
1105
1110
 
1106
- var styles$t = {"selectInput":"SelectInput-module_selectInput__s6zEg","selectWrapper":"SelectInput-module_selectWrapper__Qr4pl","selectIcon":"SelectInput-module_selectIcon__9pjhf","error":"SelectInput-module_error__3WNJc","success":"SelectInput-module_success__WJ5ga","loading":"SelectInput-module_loading__n35N9"};
1111
+ var styles$s = {"selectInput":"SelectInput-module_selectInput__s6zEg","selectWrapper":"SelectInput-module_selectWrapper__Qr4pl","selectIcon":"SelectInput-module_selectIcon__9pjhf","error":"SelectInput-module_error__3WNJc","success":"SelectInput-module_success__WJ5ga","loading":"SelectInput-module_loading__n35N9"};
1107
1112
 
1108
1113
  /**
1109
1114
  * SelectInput component - Styled dropdown selector with flexible option format
@@ -1141,26 +1146,26 @@ var styles$t = {"selectInput":"SelectInput-module_selectInput__s6zEg","selectWra
1141
1146
  function SelectInput({ label, value, onChange, options, placeholder = "Select...", disabled = false, error = false, success = false, loading = false, required = false, soundConfig, className }) {
1142
1147
  const { handlers, playSound } = useComponentSound(soundConfig);
1143
1148
  const getClassName = () => {
1144
- const classes = [styles$t.selectInput];
1149
+ const classes = [styles$s.selectInput];
1145
1150
  if (error)
1146
- classes.push(styles$t.error);
1151
+ classes.push(styles$s.error);
1147
1152
  if (success)
1148
- classes.push(styles$t.success);
1153
+ classes.push(styles$s.success);
1149
1154
  if (loading)
1150
- classes.push(styles$t.loading);
1155
+ classes.push(styles$s.loading);
1151
1156
  return classes.join(' ');
1152
1157
  };
1153
- return (jsxRuntime.jsxs("div", { className: `${getClassName()}${className ? ` ${className}` : ''}`, children: [jsxRuntime.jsxs("label", { children: [label, required && jsxRuntime.jsx("span", { style: { color: 'var(--color-error)' }, children: " *" })] }), jsxRuntime.jsxs("div", { className: styles$t.selectWrapper, children: [jsxRuntime.jsxs("select", { value: value, onChange: e => {
1158
+ return (jsxRuntime.jsxs("div", { className: `${getClassName()}${className ? ` ${className}` : ''}`, children: [jsxRuntime.jsxs("label", { children: [label, required && jsxRuntime.jsx("span", { style: { color: 'var(--color-error)' }, children: " *" })] }), jsxRuntime.jsxs("div", { className: styles$s.selectWrapper, children: [jsxRuntime.jsxs("select", { value: value, onChange: e => {
1154
1159
  playSound('click');
1155
1160
  onChange(e.target.value);
1156
1161
  }, disabled: disabled || loading, required: required, ...handlers, children: [jsxRuntime.jsx("option", { value: "", children: placeholder }), options.map(opt => {
1157
1162
  const optionValue = typeof opt === 'string' ? opt : opt.value;
1158
1163
  const optionLabel = typeof opt === 'string' ? opt : opt.label;
1159
1164
  return (jsxRuntime.jsx("option", { value: optionValue, children: optionLabel }, optionValue));
1160
- })] }), jsxRuntime.jsx(lucideReact.ChevronDown, { className: styles$t.selectIcon })] })] }));
1165
+ })] }), jsxRuntime.jsx(lucideReact.ChevronDown, { className: styles$s.selectIcon })] })] }));
1161
1166
  }
1162
1167
 
1163
- var styles$s = {"textareaContainer":"TextArea-module_textareaContainer__AquFj","compact":"TextArea-module_compact__U5lPn","textareaLabel":"TextArea-module_textareaLabel__7Vmyx","requiredIndicator":"TextArea-module_requiredIndicator__3Fxyy","textareaInput":"TextArea-module_textareaInput__VCDZA","characterCount":"TextArea-module_characterCount__9FO5N","nearLimit":"TextArea-module_nearLimit__cUdnw","atLimit":"TextArea-module_atLimit__GoWCC","error":"TextArea-module_error__ciHgb","success":"TextArea-module_success__a0-xD","loading":"TextArea-module_loading__CSFBR","focusMode":"TextArea-module_focusMode__9A8U-"};
1168
+ var styles$r = {"textareaContainer":"TextArea-module_textareaContainer__AquFj","compact":"TextArea-module_compact__U5lPn","textareaLabel":"TextArea-module_textareaLabel__7Vmyx","requiredIndicator":"TextArea-module_requiredIndicator__3Fxyy","textareaInput":"TextArea-module_textareaInput__VCDZA","characterCount":"TextArea-module_characterCount__9FO5N","nearLimit":"TextArea-module_nearLimit__cUdnw","atLimit":"TextArea-module_atLimit__GoWCC","error":"TextArea-module_error__ciHgb","success":"TextArea-module_success__a0-xD","loading":"TextArea-module_loading__CSFBR","focusMode":"TextArea-module_focusMode__9A8U-"};
1164
1169
 
1165
1170
  /**
1166
1171
  * TextArea component - Multi-line text input with character counting
@@ -1195,38 +1200,38 @@ var styles$s = {"textareaContainer":"TextArea-module_textareaContainer__AquFj","
1195
1200
  function TextArea({ label, value, onChange, rows = 5, placeholder = "", required = false, maxLength, disabled = false, error = false, success = false, loading = false, focusMode = false, compact = false, className = "" }) {
1196
1201
  const textareaId = `textarea-${Math.random().toString(36).substr(2, 9)}`;
1197
1202
  const getContainerClassName = () => {
1198
- const classes = [styles$s.textareaContainer];
1203
+ const classes = [styles$r.textareaContainer];
1199
1204
  if (error)
1200
- classes.push(styles$s.error);
1205
+ classes.push(styles$r.error);
1201
1206
  if (success)
1202
- classes.push(styles$s.success);
1207
+ classes.push(styles$r.success);
1203
1208
  if (loading)
1204
- classes.push(styles$s.loading);
1209
+ classes.push(styles$r.loading);
1205
1210
  if (focusMode)
1206
- classes.push(styles$s.focusMode);
1211
+ classes.push(styles$r.focusMode);
1207
1212
  if (compact)
1208
- classes.push(styles$s.compact);
1213
+ classes.push(styles$r.compact);
1209
1214
  if (className)
1210
1215
  classes.push(className);
1211
1216
  return classes.join(' ');
1212
1217
  };
1213
1218
  const getCharCountClassName = () => {
1214
1219
  if (!maxLength)
1215
- return styles$s.characterCount;
1216
- const classes = [styles$s.characterCount];
1220
+ return styles$r.characterCount;
1221
+ const classes = [styles$r.characterCount];
1217
1222
  const percentage = (value.length / maxLength) * 100;
1218
1223
  if (percentage >= 100) {
1219
- classes.push(styles$s.atLimit);
1224
+ classes.push(styles$r.atLimit);
1220
1225
  }
1221
1226
  else if (percentage >= 80) {
1222
- classes.push(styles$s.nearLimit);
1227
+ classes.push(styles$r.nearLimit);
1223
1228
  }
1224
1229
  return classes.join(' ');
1225
1230
  };
1226
- return (jsxRuntime.jsxs("div", { className: getContainerClassName(), children: [label && (jsxRuntime.jsxs("label", { htmlFor: textareaId, className: styles$s.textareaLabel, children: [label, required && jsxRuntime.jsx("span", { className: styles$s.requiredIndicator, children: "*" })] })), jsxRuntime.jsx("textarea", { id: textareaId, value: value, onChange: (e) => onChange(e.target.value), rows: rows, placeholder: placeholder, maxLength: maxLength, className: styles$s.textareaInput, "aria-required": required, disabled: disabled || loading, "aria-invalid": error }), maxLength && (jsxRuntime.jsxs("div", { className: getCharCountClassName(), children: [jsxRuntime.jsx("span", { children: value.length }), jsxRuntime.jsx("span", { style: { opacity: 0.7 }, children: " / " }), jsxRuntime.jsx("span", { children: maxLength })] }))] }));
1231
+ return (jsxRuntime.jsxs("div", { className: getContainerClassName(), children: [label && (jsxRuntime.jsxs("label", { htmlFor: textareaId, className: styles$r.textareaLabel, children: [label, required && jsxRuntime.jsx("span", { className: styles$r.requiredIndicator, children: "*" })] })), jsxRuntime.jsx("textarea", { id: textareaId, value: value, onChange: (e) => onChange(e.target.value), rows: rows, placeholder: placeholder, maxLength: maxLength, className: styles$r.textareaInput, "aria-required": required, disabled: disabled || loading, "aria-invalid": error }), maxLength && (jsxRuntime.jsxs("div", { className: getCharCountClassName(), children: [jsxRuntime.jsx("span", { children: value.length }), jsxRuntime.jsx("span", { style: { opacity: 0.7 }, children: " / " }), jsxRuntime.jsx("span", { children: maxLength })] }))] }));
1227
1232
  }
1228
1233
 
1229
- var styles$r = {"textInput":"TextInput-module_textInput__b2LVM","required":"TextInput-module_required__7uLiM","inputError":"TextInput-module_inputError__QD0a-","errorMessage":"TextInput-module_errorMessage__nIDoQ","success":"TextInput-module_success__KbSS3","loading":"TextInput-module_loading__qXaca","withIcon":"TextInput-module_withIcon__-8swm","inputIcon":"TextInput-module_inputIcon__B4czN","withAction":"TextInput-module_withAction__JD3ku","actionButton":"TextInput-module_actionButton__zFJel"};
1234
+ var styles$q = {"textInput":"TextInput-module_textInput__b2LVM","required":"TextInput-module_required__7uLiM","inputError":"TextInput-module_inputError__QD0a-","errorMessage":"TextInput-module_errorMessage__nIDoQ","success":"TextInput-module_success__KbSS3","loading":"TextInput-module_loading__qXaca","withIcon":"TextInput-module_withIcon__-8swm","inputIcon":"TextInput-module_inputIcon__B4czN","withAction":"TextInput-module_withAction__JD3ku","actionButton":"TextInput-module_actionButton__zFJel"};
1230
1235
 
1231
1236
  /**
1232
1237
  * TextInput component - A versatile text input field with label and error handling
@@ -1263,21 +1268,21 @@ function TextInput({ label, value, onChange, type = "text", onBlur, placeholder,
1263
1268
  const { handlers, playSound } = useComponentSound(soundConfig);
1264
1269
  const prevValueRef = React.useRef(value);
1265
1270
  const getContainerClassName = () => {
1266
- const classes = [styles$r.textInput];
1271
+ const classes = [styles$q.textInput];
1267
1272
  if (success)
1268
- classes.push(styles$r.success);
1273
+ classes.push(styles$q.success);
1269
1274
  if (loading)
1270
- classes.push(styles$r.loading);
1275
+ classes.push(styles$q.loading);
1271
1276
  if (icon)
1272
- classes.push(styles$r.withIcon);
1277
+ classes.push(styles$q.withIcon);
1273
1278
  if (actionButton)
1274
- classes.push(styles$r.withAction);
1279
+ classes.push(styles$q.withAction);
1275
1280
  return classes.join(' ');
1276
1281
  };
1277
1282
  React.useEffect(() => {
1278
1283
  prevValueRef.current = value;
1279
1284
  }, [value]);
1280
- return (jsxRuntime.jsxs("div", { className: getContainerClassName(), children: [jsxRuntime.jsxs("label", { htmlFor: inputId, children: [label, required && jsxRuntime.jsx("span", { className: styles$r.required, children: "*" })] }), jsxRuntime.jsxs("div", { style: { position: 'relative' }, children: [icon && jsxRuntime.jsx("div", { className: styles$r.inputIcon, children: icon }), jsxRuntime.jsx("input", { id: inputId, type: type, value: value, onChange: (e) => {
1285
+ return (jsxRuntime.jsxs("div", { className: getContainerClassName(), children: [jsxRuntime.jsxs("label", { htmlFor: inputId, children: [label, required && jsxRuntime.jsx("span", { className: styles$q.required, children: "*" })] }), jsxRuntime.jsxs("div", { style: { position: 'relative' }, children: [icon && jsxRuntime.jsx("div", { className: styles$q.inputIcon, children: icon }), jsxRuntime.jsx("input", { id: inputId, type: type, value: value, onChange: (e) => {
1281
1286
  const newValue = e.target.value;
1282
1287
  const oldValue = prevValueRef.current;
1283
1288
  onChange(newValue);
@@ -1293,13 +1298,13 @@ function TextInput({ label, value, onChange, type = "text", onBlur, placeholder,
1293
1298
  if (error && soundConfig?.onError) {
1294
1299
  playSound(typeof soundConfig.onError === 'string' ? soundConfig.onError : 'error');
1295
1300
  }
1296
- }, onBlur: onBlur, placeholder: placeholder, className: error ? styles$r.inputError : '', "aria-invalid": !!error, "aria-describedby": error ? `${inputId}-error` : undefined, disabled: disabled || loading, maxLength: maxLength, autoComplete: autoComplete }), actionButton && (jsxRuntime.jsx("button", { type: "button", className: styles$r.actionButton, onClick: () => {
1301
+ }, onBlur: onBlur, placeholder: placeholder, className: error ? styles$q.inputError : '', "aria-invalid": !!error, "aria-describedby": error ? `${inputId}-error` : undefined, disabled: disabled || loading, maxLength: maxLength, autoComplete: autoComplete }), actionButton && (jsxRuntime.jsx("button", { type: "button", className: styles$q.actionButton, onClick: () => {
1297
1302
  handlers.onClick?.();
1298
1303
  actionButton.onClick();
1299
- }, disabled: disabled || loading, children: actionButton.label }))] }), error && (jsxRuntime.jsx("span", { id: `${inputId}-error`, className: styles$r.errorMessage, children: error }))] }));
1304
+ }, disabled: disabled || loading, children: actionButton.label }))] }), error && (jsxRuntime.jsx("span", { id: `${inputId}-error`, className: styles$q.errorMessage, children: error }))] }));
1300
1305
  }
1301
1306
 
1302
- var styles$q = {"toggleContainer":"Toggle-module_toggleContainer__QxqQb","toggleButton":"Toggle-module_toggleButton__WUUf-","active":"Toggle-module_active__fX6Io"};
1307
+ var styles$p = {"toggleContainer":"Toggle-module_toggleContainer__QxqQb","toggleButton":"Toggle-module_toggleButton__WUUf-","active":"Toggle-module_active__fX6Io"};
1303
1308
 
1304
1309
  /**
1305
1310
  * Toggle Component
@@ -1360,7 +1365,7 @@ function Toggle(props) {
1360
1365
  justifyContent: 'center',
1361
1366
  ...style
1362
1367
  };
1363
- return (jsxRuntime.jsxs("div", { className: `${styles$q.toggleContainer} ${className || ''}`, children: [jsxRuntime.jsxs(framerMotion.motion.button, { ref: leftButtonRef, className: `${styles$q.toggleButton} ${!isOn ? styles$q.active : ''}`, whileHover: { scale: 1.05 }, whileTap: { scale: 0.95 }, transition: { type: "spring", stiffness: 400, damping: 17 }, onClick: () => {
1368
+ return (jsxRuntime.jsxs("div", { className: `${styles$p.toggleContainer} ${className || ''}`, children: [jsxRuntime.jsxs(framerMotion.motion.button, { ref: leftButtonRef, className: `${styles$p.toggleButton} ${!isOn ? styles$p.active : ''}`, whileHover: { scale: 1.05 }, whileTap: { scale: 0.95 }, transition: { type: "spring", stiffness: 400, damping: 17 }, onClick: () => {
1364
1369
  if (!isOn) {
1365
1370
  // Already on left
1366
1371
  if (enableCelebration) {
@@ -1375,7 +1380,7 @@ function Toggle(props) {
1375
1380
  playSound('toggle');
1376
1381
  }
1377
1382
  onToggle(false);
1378
- }, onMouseEnter: () => handlers.onMouseEnter?.(), style: buttonStyle, children: [jsxRuntime.jsx(framerMotion.motion.div, { animate: { scale: !isOn ? 1.1 : 1, rotate: !isOn ? [0, -5, 5, 0] : 0 }, transition: { duration: 0.3 }, children: leftIcon }), leftLabel] }), jsxRuntime.jsxs(framerMotion.motion.button, { ref: rightButtonRef, className: `${styles$q.toggleButton} ${isOn ? styles$q.active : ''}`, whileHover: { scale: 1.05 }, whileTap: { scale: 0.95 }, transition: { type: "spring", stiffness: 400, damping: 17 }, onClick: () => {
1383
+ }, onMouseEnter: () => handlers.onMouseEnter?.(), style: buttonStyle, children: [jsxRuntime.jsx(framerMotion.motion.div, { animate: { scale: !isOn ? 1.1 : 1, rotate: !isOn ? [0, -5, 5, 0] : 0 }, transition: { duration: 0.3 }, children: leftIcon }), leftLabel] }), jsxRuntime.jsxs(framerMotion.motion.button, { ref: rightButtonRef, className: `${styles$p.toggleButton} ${isOn ? styles$p.active : ''}`, whileHover: { scale: 1.05 }, whileTap: { scale: 0.95 }, transition: { type: "spring", stiffness: 400, damping: 17 }, onClick: () => {
1379
1384
  if (isOn) {
1380
1385
  // Already on right
1381
1386
  if (enableCelebration) {
@@ -1393,7 +1398,7 @@ function Toggle(props) {
1393
1398
  }, onMouseEnter: () => handlers.onMouseEnter?.(), style: buttonStyle, children: [jsxRuntime.jsx(framerMotion.motion.div, { animate: { scale: isOn ? 1.1 : 1, rotate: isOn ? [0, 5, -5, 0] : 0 }, transition: { duration: 0.3 }, children: rightIcon }), rightLabel] })] }));
1394
1399
  }
1395
1400
 
1396
- var styles$p = {"container":"NumberStepper-module_container__WSGlU","header":"NumberStepper-module_header__qXI1Y","icon":"NumberStepper-module_icon__vHgsw","label":"NumberStepper-module_label__AYr3g","stepper":"NumberStepper-module_stepper__oQhTp","disabled":"NumberStepper-module_disabled__kGB-g","button":"NumberStepper-module_button__YcjRt","buttonIcon":"NumberStepper-module_buttonIcon__odXec","valueContainer":"NumberStepper-module_valueContainer__87w2D","valueWrapper":"NumberStepper-module_valueWrapper__TH65N","value":"NumberStepper-module_value__BxJeD","limits":"NumberStepper-module_limits__-UrRE","limit":"NumberStepper-module_limit__7nbIP","small":"NumberStepper-module_small__P-k96","large":"NumberStepper-module_large__Lz6lk","outlined":"NumberStepper-module_outlined__CIXv7","filled":"NumberStepper-module_filled__IxOg-","minimal":"NumberStepper-module_minimal__y47-W","custom":"NumberStepper-module_custom__XGSVg","vertical":"NumberStepper-module_vertical__nBcL7","pulse":"NumberStepper-module_pulse__51oUo"};
1401
+ var styles$o = {"container":"NumberStepper-module_container__WSGlU","header":"NumberStepper-module_header__qXI1Y","icon":"NumberStepper-module_icon__vHgsw","label":"NumberStepper-module_label__AYr3g","stepper":"NumberStepper-module_stepper__oQhTp","disabled":"NumberStepper-module_disabled__kGB-g","button":"NumberStepper-module_button__YcjRt","buttonIcon":"NumberStepper-module_buttonIcon__odXec","valueContainer":"NumberStepper-module_valueContainer__87w2D","valueWrapper":"NumberStepper-module_valueWrapper__TH65N","value":"NumberStepper-module_value__BxJeD","limits":"NumberStepper-module_limits__-UrRE","limit":"NumberStepper-module_limit__7nbIP","small":"NumberStepper-module_small__P-k96","large":"NumberStepper-module_large__Lz6lk","outlined":"NumberStepper-module_outlined__CIXv7","filled":"NumberStepper-module_filled__IxOg-","minimal":"NumberStepper-module_minimal__y47-W","custom":"NumberStepper-module_custom__XGSVg","vertical":"NumberStepper-module_vertical__nBcL7","pulse":"NumberStepper-module_pulse__51oUo"};
1397
1402
 
1398
1403
  /**
1399
1404
  * NumberStepper Component
@@ -1580,32 +1585,32 @@ const NumberStepper = ({ value, onChange, min = -Infinity, max = Infinity, step
1580
1585
  setDisplayValue(finalValue);
1581
1586
  }, [displayValue, min, max, step, onChange]);
1582
1587
  const containerClasses = [
1583
- styles$p.container,
1584
- styles$p[size],
1585
- styles$p[variant],
1586
- layout === 'vertical' && styles$p.vertical,
1587
- disabled && styles$p.disabled,
1588
+ styles$o.container,
1589
+ styles$o[size],
1590
+ styles$o[variant],
1591
+ layout === 'vertical' && styles$o.vertical,
1592
+ disabled && styles$o.disabled,
1588
1593
  className
1589
1594
  ].filter(Boolean).join(' ');
1590
1595
  // Merge custom styles with hover states
1591
1596
  const [isButtonHovered, setIsButtonHovered] = React.useState(null);
1592
1597
  const isDecrementDisabled = disabled || value <= min;
1593
1598
  const isIncrementDisabled = disabled || value >= max;
1594
- const stepperContent = (jsxRuntime.jsxs("div", { className: styles$p.stepper, style: customStyles.stepper, onKeyDown: handleKeyDown, tabIndex: disabled ? -1 : 0, ...handlers, children: [jsxRuntime.jsx(framerMotion.motion.button, { className: styles$p.button, style: {
1599
+ const stepperContent = (jsxRuntime.jsxs("div", { className: styles$o.stepper, style: customStyles.stepper, onKeyDown: handleKeyDown, tabIndex: disabled ? -1 : 0, ...handlers, children: [jsxRuntime.jsx(framerMotion.motion.button, { className: styles$o.button, style: {
1595
1600
  ...customStyles.button,
1596
1601
  ...(isButtonHovered === 'decrement' && customStyles.buttonHover)
1597
- }, onMouseEnter: () => setIsButtonHovered('decrement'), onMouseLeave: () => setIsButtonHovered(null), onClick: handleDecrement, disabled: isDecrementDisabled, whileTap: !isDecrementDisabled ? { scale: 0.9 } : undefined, animate: isDecrementing ? { scale: [1, 1.2, 1] } : undefined, transition: { duration: 0.2 }, "aria-label": "Decrease value", children: customButtons.decrement || (showPlusMinus ? (jsxRuntime.jsx("span", { className: styles$p.buttonIcon, style: customStyles.buttonIcon, children: "\u2212" })) : (jsxRuntime.jsx("svg", { className: styles$p.buttonIcon, style: customStyles.buttonIcon, viewBox: "0 0 24 24", fill: "none", children: jsxRuntime.jsx("path", { d: "M15 18L9 12L15 6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }))) }), jsxRuntime.jsx("div", { className: styles$p.valueContainer, style: customStyles.valueContainer, children: jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: jsxRuntime.jsx(framerMotion.motion.div, { initial: { y: isIncrementing ? 10 : isDecrementing ? -10 : 0, opacity: 0 }, animate: { y: 0, opacity: 1 }, exit: { y: isIncrementing ? -10 : isDecrementing ? 10 : 0, opacity: 0 }, transition: { duration: 0.15 }, className: styles$p.valueWrapper, children: jsxRuntime.jsx("input", { type: "text", className: styles$p.value, style: customStyles.value, value: displayValue, onChange: handleInputChange, onBlur: handleInputBlur, disabled: disabled, "aria-label": label || "Number input", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": value }) }, value) }) }), jsxRuntime.jsx(framerMotion.motion.button, { className: styles$p.button, style: {
1602
+ }, onMouseEnter: () => setIsButtonHovered('decrement'), onMouseLeave: () => setIsButtonHovered(null), onClick: handleDecrement, disabled: isDecrementDisabled, whileTap: !isDecrementDisabled ? { scale: 0.9 } : undefined, animate: isDecrementing ? { scale: [1, 1.2, 1] } : undefined, transition: { duration: 0.2 }, "aria-label": "Decrease value", children: customButtons.decrement || (showPlusMinus ? (jsxRuntime.jsx("span", { className: styles$o.buttonIcon, style: customStyles.buttonIcon, children: "\u2212" })) : (jsxRuntime.jsx("svg", { className: styles$o.buttonIcon, style: customStyles.buttonIcon, viewBox: "0 0 24 24", fill: "none", children: jsxRuntime.jsx("path", { d: "M15 18L9 12L15 6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }))) }), jsxRuntime.jsx("div", { className: styles$o.valueContainer, style: customStyles.valueContainer, children: jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: jsxRuntime.jsx(framerMotion.motion.div, { initial: { y: isIncrementing ? 10 : isDecrementing ? -10 : 0, opacity: 0 }, animate: { y: 0, opacity: 1 }, exit: { y: isIncrementing ? -10 : isDecrementing ? 10 : 0, opacity: 0 }, transition: { duration: 0.15 }, className: styles$o.valueWrapper, children: jsxRuntime.jsx("input", { type: "text", className: styles$o.value, style: customStyles.value, value: displayValue, onChange: handleInputChange, onBlur: handleInputBlur, disabled: disabled, "aria-label": label || "Number input", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": value }) }, value) }) }), jsxRuntime.jsx(framerMotion.motion.button, { className: styles$o.button, style: {
1598
1603
  ...customStyles.button,
1599
1604
  ...(isButtonHovered === 'increment' && customStyles.buttonHover)
1600
- }, onMouseEnter: () => setIsButtonHovered('increment'), onMouseLeave: () => setIsButtonHovered(null), onClick: handleIncrement, disabled: isIncrementDisabled, whileTap: !isIncrementDisabled ? { scale: 0.9 } : undefined, animate: isIncrementing ? { scale: [1, 1.2, 1] } : undefined, transition: { duration: 0.2 }, "aria-label": "Increase value", children: customButtons.increment || (showPlusMinus ? (jsxRuntime.jsx("span", { className: styles$p.buttonIcon, style: customStyles.buttonIcon, children: "+" })) : (jsxRuntime.jsx("svg", { className: styles$p.buttonIcon, style: customStyles.buttonIcon, viewBox: "0 0 24 24", fill: "none", children: jsxRuntime.jsx("path", { d: "M9 18L15 12L9 6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }))) })] }));
1605
+ }, onMouseEnter: () => setIsButtonHovered('increment'), onMouseLeave: () => setIsButtonHovered(null), onClick: handleIncrement, disabled: isIncrementDisabled, whileTap: !isIncrementDisabled ? { scale: 0.9 } : undefined, animate: isIncrementing ? { scale: [1, 1.2, 1] } : undefined, transition: { duration: 0.2 }, "aria-label": "Increase value", children: customButtons.increment || (showPlusMinus ? (jsxRuntime.jsx("span", { className: styles$o.buttonIcon, style: customStyles.buttonIcon, children: "+" })) : (jsxRuntime.jsx("svg", { className: styles$o.buttonIcon, style: customStyles.buttonIcon, viewBox: "0 0 24 24", fill: "none", children: jsxRuntime.jsx("path", { d: "M9 18L15 12L9 6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }))) })] }));
1601
1606
  // For custom variant with horizontal layout, render differently
1602
1607
  if (variant === 'custom' && (label || icon)) {
1603
- return (jsxRuntime.jsxs("div", { className: containerClasses, style: { ...customStyles.container, display: 'flex', alignItems: 'center' }, children: [jsxRuntime.jsxs("div", { className: styles$p.header, style: { ...customStyles.header, flex: 1, marginBottom: 0 }, children: [icon && jsxRuntime.jsx("span", { className: styles$p.icon, style: customStyles.icon, children: icon }), label && jsxRuntime.jsx("label", { className: styles$p.label, style: customStyles.label, children: label })] }), stepperContent, !hideLimits && (min !== -Infinity || max !== Infinity) && (jsxRuntime.jsxs("div", { className: styles$p.limits, style: customStyles.limits, children: [jsxRuntime.jsx("span", { className: styles$p.limit, children: min !== -Infinity && `Min: ${min}` }), jsxRuntime.jsx("span", { className: styles$p.limit, children: max !== Infinity && `Max: ${max}` })] }))] }));
1608
+ return (jsxRuntime.jsxs("div", { className: containerClasses, style: { ...customStyles.container, display: 'flex', alignItems: 'center' }, children: [jsxRuntime.jsxs("div", { className: styles$o.header, style: { ...customStyles.header, flex: 1, marginBottom: 0 }, children: [icon && jsxRuntime.jsx("span", { className: styles$o.icon, style: customStyles.icon, children: icon }), label && jsxRuntime.jsx("label", { className: styles$o.label, style: customStyles.label, children: label })] }), stepperContent, !hideLimits && (min !== -Infinity || max !== Infinity) && (jsxRuntime.jsxs("div", { className: styles$o.limits, style: customStyles.limits, children: [jsxRuntime.jsx("span", { className: styles$o.limit, children: min !== -Infinity && `Min: ${min}` }), jsxRuntime.jsx("span", { className: styles$o.limit, children: max !== Infinity && `Max: ${max}` })] }))] }));
1604
1609
  }
1605
- return (jsxRuntime.jsxs("div", { className: containerClasses, style: customStyles.container, children: [(label || icon) && (jsxRuntime.jsxs("div", { className: styles$p.header, style: customStyles.header, children: [icon && jsxRuntime.jsx("span", { className: styles$p.icon, style: customStyles.icon, children: icon }), label && jsxRuntime.jsx("label", { className: styles$p.label, style: customStyles.label, children: label })] })), stepperContent, !hideLimits && (min !== -Infinity || max !== Infinity) && (jsxRuntime.jsxs("div", { className: styles$p.limits, style: customStyles.limits, children: [jsxRuntime.jsx("span", { className: styles$p.limit, children: min !== -Infinity && `Min: ${min}` }), jsxRuntime.jsx("span", { className: styles$p.limit, children: max !== Infinity && `Max: ${max}` })] }))] }));
1610
+ return (jsxRuntime.jsxs("div", { className: containerClasses, style: customStyles.container, children: [(label || icon) && (jsxRuntime.jsxs("div", { className: styles$o.header, style: customStyles.header, children: [icon && jsxRuntime.jsx("span", { className: styles$o.icon, style: customStyles.icon, children: icon }), label && jsxRuntime.jsx("label", { className: styles$o.label, style: customStyles.label, children: label })] })), stepperContent, !hideLimits && (min !== -Infinity || max !== Infinity) && (jsxRuntime.jsxs("div", { className: styles$o.limits, style: customStyles.limits, children: [jsxRuntime.jsx("span", { className: styles$o.limit, children: min !== -Infinity && `Min: ${min}` }), jsxRuntime.jsx("span", { className: styles$o.limit, children: max !== Infinity && `Max: ${max}` })] }))] }));
1606
1611
  };
1607
1612
 
1608
- var styles$o = {"button":"ToggleButton-module_button__DTuyY","background":"ToggleButton-module_background__NwfTp","content":"ToggleButton-module_content__NHqIN","iconWrapper":"ToggleButton-module_iconWrapper__yN4sP","icon":"ToggleButton-module_icon__r8juX","label":"ToggleButton-module_label__4mPJP","hideMobile":"ToggleButton-module_hideMobile__GFAc3","checkmark":"ToggleButton-module_checkmark__ZJwf-","ripple":"ToggleButton-module_ripple__2-faB","small":"ToggleButton-module_small__MhfoN","large":"ToggleButton-module_large__A3naL","default":"ToggleButton-module_default__q8QaZ","active":"ToggleButton-module_active__4DjlR","outlined":"ToggleButton-module_outlined__OtqJB","filled":"ToggleButton-module_filled__LySNn","ghost":"ToggleButton-module_ghost__9KXcb","active-primary":"ToggleButton-module_active-primary__vXMP7","active-secondary":"ToggleButton-module_active-secondary__9Ttdx","active-success":"ToggleButton-module_active-success__oi0rr","active-danger":"ToggleButton-module_active-danger__VUdxr","active-warning":"ToggleButton-module_active-warning__77nSu","animation-scale":"ToggleButton-module_animation-scale__j-3mJ","scaleAnimation":"ToggleButton-module_scaleAnimation__Ms1j2","animation-rotate":"ToggleButton-module_animation-rotate__pBmfc","rotateAnimation":"ToggleButton-module_rotateAnimation__xWZJ5","animation-flip":"ToggleButton-module_animation-flip__ErAbm","flipAnimation":"ToggleButton-module_flipAnimation__qwDTb","disabled":"ToggleButton-module_disabled__Gv5ji"};
1613
+ var styles$n = {"button":"ToggleButton-module_button__DTuyY","background":"ToggleButton-module_background__NwfTp","content":"ToggleButton-module_content__NHqIN","iconWrapper":"ToggleButton-module_iconWrapper__yN4sP","icon":"ToggleButton-module_icon__r8juX","label":"ToggleButton-module_label__4mPJP","hideMobile":"ToggleButton-module_hideMobile__GFAc3","checkmark":"ToggleButton-module_checkmark__ZJwf-","ripple":"ToggleButton-module_ripple__2-faB","small":"ToggleButton-module_small__MhfoN","large":"ToggleButton-module_large__A3naL","default":"ToggleButton-module_default__q8QaZ","active":"ToggleButton-module_active__4DjlR","outlined":"ToggleButton-module_outlined__OtqJB","filled":"ToggleButton-module_filled__LySNn","ghost":"ToggleButton-module_ghost__9KXcb","active-primary":"ToggleButton-module_active-primary__vXMP7","active-secondary":"ToggleButton-module_active-secondary__9Ttdx","active-success":"ToggleButton-module_active-success__oi0rr","active-danger":"ToggleButton-module_active-danger__VUdxr","active-warning":"ToggleButton-module_active-warning__77nSu","animation-scale":"ToggleButton-module_animation-scale__j-3mJ","scaleAnimation":"ToggleButton-module_scaleAnimation__Ms1j2","animation-rotate":"ToggleButton-module_animation-rotate__pBmfc","rotateAnimation":"ToggleButton-module_rotateAnimation__xWZJ5","animation-flip":"ToggleButton-module_animation-flip__ErAbm","flipAnimation":"ToggleButton-module_flipAnimation__qwDTb","disabled":"ToggleButton-module_disabled__Gv5ji"};
1609
1614
 
1610
1615
  /**
1611
1616
  * ToggleButton Component
@@ -1644,18 +1649,18 @@ var styles$o = {"button":"ToggleButton-module_button__DTuyY","background":"Toggl
1644
1649
  const ToggleButton = ({ active, onClick, icon, label, disabled = false, size = 'medium', variant = 'default', activeColor = 'primary', showCheckmark = false, animation = 'scale', className = '', style = {}, color, tooltip, hideLabelOnMobile = false, soundConfig }) => {
1645
1650
  const { handlers, playSound } = useComponentSound(soundConfig);
1646
1651
  const buttonClasses = [
1647
- styles$o.button,
1648
- styles$o[size],
1649
- styles$o[variant],
1650
- active && styles$o.active,
1651
- active && styles$o[`active-${activeColor}`],
1652
- disabled && styles$o.disabled,
1653
- animation !== 'none' && styles$o[`animation-${animation}`],
1652
+ styles$n.button,
1653
+ styles$n[size],
1654
+ styles$n[variant],
1655
+ active && styles$n.active,
1656
+ active && styles$n[`active-${activeColor}`],
1657
+ disabled && styles$n.disabled,
1658
+ animation !== 'none' && styles$n[`animation-${animation}`],
1654
1659
  className
1655
1660
  ].filter(Boolean).join(' ');
1656
1661
  const labelClasses = [
1657
- styles$o.label,
1658
- hideLabelOnMobile && styles$o.hideMobile
1662
+ styles$n.label,
1663
+ hideLabelOnMobile && styles$n.hideMobile
1659
1664
  ].filter(Boolean).join(' ');
1660
1665
  const iconVariants = {
1661
1666
  scale: {
@@ -1719,10 +1724,10 @@ const ToggleButton = ({ active, onClick, icon, label, disabled = false, size = '
1719
1724
  return (jsxRuntime.jsxs(framerMotion.motion.button, { className: buttonClasses, style: dynamicStyle, onClick: () => {
1720
1725
  playSound('toggle');
1721
1726
  onClick();
1722
- }, disabled: disabled, whileHover: !disabled ? { scale: 1.05 } : undefined, whileTap: !disabled ? { scale: 0.95 } : undefined, title: tooltip, "aria-pressed": active, "aria-label": label, ...handlers, children: [jsxRuntime.jsx(framerMotion.motion.div, { className: styles$o.background, variants: backgroundVariants, initial: "inactive", animate: active ? "active" : "inactive" }), jsxRuntime.jsxs("div", { className: styles$o.content, children: [icon && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$o.iconWrapper, variants: iconVariants[animation], initial: "inactive", animate: active ? "active" : "inactive", transition: { duration: 0.3 }, children: typeof icon === 'string' ? (jsxRuntime.jsx("span", { className: styles$o.icon, children: icon })) : (jsxRuntime.jsx("div", { className: styles$o.icon, children: icon })) })), label && jsxRuntime.jsx("span", { className: labelClasses, children: label }), jsxRuntime.jsx(framerMotion.AnimatePresence, { children: showCheckmark && active && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$o.checkmark, variants: checkmarkVariants, initial: "hidden", animate: "visible", exit: "hidden", children: jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", children: jsxRuntime.jsx("path", { d: "M20 6L9 17L4 12", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round" }) }) })) })] }), jsxRuntime.jsx(framerMotion.AnimatePresence, { children: active && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$o.ripple, initial: { scale: 0, opacity: 0.5 }, animate: { scale: 2, opacity: 0 }, exit: { scale: 0, opacity: 0 }, transition: { duration: 0.6 } })) })] }));
1727
+ }, disabled: disabled, whileHover: !disabled ? { scale: 1.05 } : undefined, whileTap: !disabled ? { scale: 0.95 } : undefined, title: tooltip, "aria-pressed": active, "aria-label": label, ...handlers, children: [jsxRuntime.jsx(framerMotion.motion.div, { className: styles$n.background, variants: backgroundVariants, initial: "inactive", animate: active ? "active" : "inactive" }), jsxRuntime.jsxs("div", { className: styles$n.content, children: [icon && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$n.iconWrapper, variants: iconVariants[animation], initial: "inactive", animate: active ? "active" : "inactive", transition: { duration: 0.3 }, children: typeof icon === 'string' ? (jsxRuntime.jsx("span", { className: styles$n.icon, children: icon })) : (jsxRuntime.jsx("div", { className: styles$n.icon, children: icon })) })), label && jsxRuntime.jsx("span", { className: labelClasses, children: label }), jsxRuntime.jsx(framerMotion.AnimatePresence, { children: showCheckmark && active && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$n.checkmark, variants: checkmarkVariants, initial: "hidden", animate: "visible", exit: "hidden", children: jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", children: jsxRuntime.jsx("path", { d: "M20 6L9 17L4 12", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round" }) }) })) })] }), jsxRuntime.jsx(framerMotion.AnimatePresence, { children: active && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$n.ripple, initial: { scale: 0, opacity: 0.5 }, animate: { scale: 2, opacity: 0 }, exit: { scale: 0, opacity: 0 }, transition: { duration: 0.6 } })) })] }));
1723
1728
  };
1724
1729
 
1725
- var styles$n = {"slider":"Slider-module_slider__RD4G7","label":"Slider-module_label__j4H8M","sliderContainer":"Slider-module_sliderContainer__kQICC","track":"Slider-module_track__fQ-oP","fill":"Slider-module_fill__AYR4-","shimmer":"Slider-module_shimmer__271tL","input":"Slider-module_input__fqY-G","thumb":"Slider-module_thumb__yQJho","ripple":"Slider-module_ripple__gVS04","tooltip":"Slider-module_tooltip__ZubHR","tooltipArrow":"Slider-module_tooltipArrow__1aV9s","valueDisplay":"Slider-module_valueDisplay__V6caL","labelsContainer":"Slider-module_labelsContainer__F6ojF","labelItem":"Slider-module_labelItem__FuEaY","size-sm":"Slider-module_size-sm__Y2bmS","size-lg":"Slider-module_size-lg__RSnPf","disabled":"Slider-module_disabled__gxYoH","loading":"Slider-module_loading__6FkKb","loadingTrack":"Slider-module_loadingTrack__8ItT2","loadingIndicator":"Slider-module_loadingIndicator__Elydq"};
1730
+ var styles$m = {"slider":"Slider-module_slider__RD4G7","label":"Slider-module_label__j4H8M","sliderContainer":"Slider-module_sliderContainer__kQICC","track":"Slider-module_track__fQ-oP","fill":"Slider-module_fill__AYR4-","shimmer":"Slider-module_shimmer__271tL","input":"Slider-module_input__fqY-G","thumb":"Slider-module_thumb__yQJho","ripple":"Slider-module_ripple__gVS04","tooltip":"Slider-module_tooltip__ZubHR","tooltipArrow":"Slider-module_tooltipArrow__1aV9s","valueDisplay":"Slider-module_valueDisplay__V6caL","labelsContainer":"Slider-module_labelsContainer__F6ojF","labelItem":"Slider-module_labelItem__FuEaY","size-sm":"Slider-module_size-sm__Y2bmS","size-lg":"Slider-module_size-lg__RSnPf","disabled":"Slider-module_disabled__gxYoH","loading":"Slider-module_loading__6FkKb","loadingTrack":"Slider-module_loadingTrack__8ItT2","loadingIndicator":"Slider-module_loadingIndicator__Elydq"};
1726
1731
 
1727
1732
  /**
1728
1733
  * Slider component - A beautiful, animated range input
@@ -1810,16 +1815,16 @@ function Slider({ value, onChange, min = 0, max = 100, step = 1, label, showValu
1810
1815
  setShowTooltipState(false);
1811
1816
  };
1812
1817
  const dynamicColor = getDynamicColor();
1813
- const sizeClass = styles$n[`size-${size}`];
1814
- const stateClass = disabled ? styles$n.disabled : loading ? styles$n.loading : '';
1818
+ const sizeClass = styles$m[`size-${size}`];
1819
+ const stateClass = disabled ? styles$m.disabled : loading ? styles$m.loading : '';
1815
1820
  if (loading) {
1816
- return (jsxRuntime.jsxs("div", { className: `${styles$n.slider} ${sizeClass} ${styles$n.loading} ${className}`, style: style, children: [label && jsxRuntime.jsx("label", { className: styles$n.label, children: label }), jsxRuntime.jsx("div", { className: styles$n.loadingTrack, children: jsxRuntime.jsx(framerMotion.motion.div, { className: styles$n.loadingIndicator, animate: { x: ['-100%', '200%'] }, transition: {
1821
+ return (jsxRuntime.jsxs("div", { className: `${styles$m.slider} ${sizeClass} ${styles$m.loading} ${className}`, style: style, children: [label && jsxRuntime.jsx("label", { className: styles$m.label, children: label }), jsxRuntime.jsx("div", { className: styles$m.loadingTrack, children: jsxRuntime.jsx(framerMotion.motion.div, { className: styles$m.loadingIndicator, animate: { x: ['-100%', '200%'] }, transition: {
1817
1822
  repeat: Infinity,
1818
1823
  duration: 1.5,
1819
1824
  ease: "easeInOut"
1820
1825
  } }) })] }));
1821
1826
  }
1822
- return (jsxRuntime.jsxs("div", { className: `${styles$n.slider} ${sizeClass} ${stateClass} ${className}`, style: style, children: [label && (jsxRuntime.jsx(framerMotion.motion.label, { className: styles$n.label, initial: { opacity: 0, y: -10 }, animate: { opacity: 1, y: 0 }, transition: { duration: 0.3 }, children: label })), jsxRuntime.jsxs(framerMotion.motion.div, { className: styles$n.sliderContainer, ref: sliderRef, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, whileHover: { scale: 1.02 }, transition: { duration: 0.1 }, children: [jsxRuntime.jsx(framerMotion.motion.div, { className: styles$n.track, whileHover: { height: 8, marginTop: -1 }, transition: { duration: 0.1 }, children: jsxRuntime.jsx(framerMotion.motion.div, { className: styles$n.fill, style: {
1827
+ return (jsxRuntime.jsxs("div", { className: `${styles$m.slider} ${sizeClass} ${stateClass} ${className}`, style: style, children: [label && (jsxRuntime.jsx(framerMotion.motion.label, { className: styles$m.label, initial: { opacity: 0, y: -10 }, animate: { opacity: 1, y: 0 }, transition: { duration: 0.3 }, children: label })), jsxRuntime.jsxs(framerMotion.motion.div, { className: styles$m.sliderContainer, ref: sliderRef, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, whileHover: { scale: 1.02 }, transition: { duration: 0.1 }, children: [jsxRuntime.jsx(framerMotion.motion.div, { className: styles$m.track, whileHover: { height: 8, marginTop: -1 }, transition: { duration: 0.1 }, children: jsxRuntime.jsx(framerMotion.motion.div, { className: styles$m.fill, style: {
1823
1828
  width: `${percentage}%`,
1824
1829
  backgroundColor: dynamicColor
1825
1830
  }, initial: { width: 0 }, animate: { width: `${percentage}%` }, transition: {
@@ -1829,7 +1834,7 @@ function Slider({ value, onChange, min = 0, max = 100, step = 1, label, showValu
1829
1834
  damping: 30
1830
1835
  }, whileHover: {
1831
1836
  boxShadow: `inset 0 0 0 1px rgba(255,255,255,0.2)`
1832
- } }) }), jsxRuntime.jsx("input", { type: "range", min: min, max: max, step: step, value: value, onChange: handleChange, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, ...handlers, className: styles$n.input, disabled: disabled, "aria-label": label }), jsxRuntime.jsx(framerMotion.motion.div, { className: styles$n.thumb, style: {
1837
+ } }) }), jsxRuntime.jsx("input", { type: "range", min: min, max: max, step: step, value: value, onChange: handleChange, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, ...handlers, className: styles$m.input, disabled: disabled, "aria-label": label }), jsxRuntime.jsx(framerMotion.motion.div, { className: styles$m.thumb, style: {
1833
1838
  left: `${percentage}%`,
1834
1839
  backgroundColor: dynamicColor,
1835
1840
  borderColor: colors.thumb || dynamicColor
@@ -1846,14 +1851,14 @@ function Slider({ value, onChange, min = 0, max = 100, step = 1, label, showValu
1846
1851
  }, whileHover: {
1847
1852
  scale: 1.1,
1848
1853
  transition: { duration: 0.1 }
1849
- }, children: isDragging && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$n.ripple, initial: { scale: 0, opacity: 0.6 }, animate: { scale: 2, opacity: 0 }, transition: { duration: 0.5 } })) }), jsxRuntime.jsx(framerMotion.AnimatePresence, { children: showTooltipState && (jsxRuntime.jsxs(framerMotion.motion.div, { className: styles$n.tooltip, style: {
1854
+ }, children: isDragging && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$m.ripple, initial: { scale: 0, opacity: 0.6 }, animate: { scale: 2, opacity: 0 }, transition: { duration: 0.5 } })) }), jsxRuntime.jsx(framerMotion.AnimatePresence, { children: showTooltipState && (jsxRuntime.jsxs(framerMotion.motion.div, { className: styles$m.tooltip, style: {
1850
1855
  left: `${percentage}%`,
1851
1856
  backgroundColor: dynamicColor
1852
- }, initial: { opacity: 0, y: 10, scale: 0.8 }, animate: { opacity: 1, y: 0, scale: 1 }, exit: { opacity: 0, y: 10, scale: 0.8 }, transition: { duration: 0.2 }, children: [tooltipContent ? tooltipContent(value) : formatValue(value), jsxRuntime.jsx("div", { className: styles$n.tooltipArrow, style: { borderTopColor: dynamicColor } })] })) })] }), showValue && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$n.valueDisplay, style: { color: dynamicColor }, initial: { scale: 0.8 }, animate: { scale: 1 }, transition: {
1857
+ }, initial: { opacity: 0, y: 10, scale: 0.8 }, animate: { opacity: 1, y: 0, scale: 1 }, exit: { opacity: 0, y: 10, scale: 0.8 }, transition: { duration: 0.2 }, children: [tooltipContent ? tooltipContent(value) : formatValue(value), jsxRuntime.jsx("div", { className: styles$m.tooltipArrow, style: { borderTopColor: dynamicColor } })] })) })] }), showValue && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$m.valueDisplay, style: { color: dynamicColor }, initial: { scale: 0.8 }, animate: { scale: 1 }, transition: {
1853
1858
  duration: 0.2,
1854
1859
  type: "spring",
1855
1860
  stiffness: 300
1856
- }, children: formatValue(value) }, value)), labels.length > 0 && (jsxRuntime.jsx("div", { className: styles$n.labelsContainer, children: labels.map((labelConfig, index) => {
1861
+ }, children: formatValue(value) }, value)), labels.length > 0 && (jsxRuntime.jsx("div", { className: styles$m.labelsContainer, children: labels.map((labelConfig, index) => {
1857
1862
  let position = 0;
1858
1863
  if (labelConfig.position === 'start')
1859
1864
  position = 0;
@@ -1861,7 +1866,7 @@ function Slider({ value, onChange, min = 0, max = 100, step = 1, label, showValu
1861
1866
  position = 100;
1862
1867
  else if (typeof labelConfig.position === 'number')
1863
1868
  position = labelConfig.position;
1864
- return (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$n.labelItem, style: {
1869
+ return (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$m.labelItem, style: {
1865
1870
  left: `${position}%`,
1866
1871
  color: labelConfig.color
1867
1872
  }, initial: { opacity: 0, y: 5 }, animate: { opacity: 1, y: 0 }, transition: {
@@ -1874,7 +1879,7 @@ function Slider({ value, onChange, min = 0, max = 100, step = 1, label, showValu
1874
1879
  }) }))] }));
1875
1880
  }
1876
1881
 
1877
- var styles$m = {"loadingContainer":"LoadingSpinner-module_loadingContainer__m5u51","fullScreen":"LoadingSpinner-module_fullScreen__TuAem","overlay":"LoadingSpinner-module_overlay__X7FTa","shimmer":"LoadingSpinner-module_shimmer__xw4AH","small":"LoadingSpinner-module_small__nq8A3","loadingText":"LoadingSpinner-module_loadingText__wWwna","medium":"LoadingSpinner-module_medium__3JC1S","large":"LoadingSpinner-module_large__4MvAc","dotsSpinner":"LoadingSpinner-module_dotsSpinner__PXtfs","dot1":"LoadingSpinner-module_dot1__5YKSi","dot2":"LoadingSpinner-module_dot2__l6Rbu","dot3":"LoadingSpinner-module_dot3__b9YPW","circleSpinner":"LoadingSpinner-module_circleSpinner__ZmmWs","pulseSpinner":"LoadingSpinner-module_pulseSpinner__wTtDJ","textGradient":"LoadingSpinner-module_textGradient__QDrTY","sparkleContainer":"LoadingSpinner-module_sparkleContainer__9XLJG","sparkle":"LoadingSpinner-module_sparkle__LtFFf"};
1882
+ var styles$l = {"loadingContainer":"LoadingSpinner-module_loadingContainer__m5u51","fullScreen":"LoadingSpinner-module_fullScreen__TuAem","overlay":"LoadingSpinner-module_overlay__X7FTa","shimmer":"LoadingSpinner-module_shimmer__xw4AH","small":"LoadingSpinner-module_small__nq8A3","loadingText":"LoadingSpinner-module_loadingText__wWwna","medium":"LoadingSpinner-module_medium__3JC1S","large":"LoadingSpinner-module_large__4MvAc","dotsSpinner":"LoadingSpinner-module_dotsSpinner__PXtfs","dot1":"LoadingSpinner-module_dot1__5YKSi","dot2":"LoadingSpinner-module_dot2__l6Rbu","dot3":"LoadingSpinner-module_dot3__b9YPW","circleSpinner":"LoadingSpinner-module_circleSpinner__ZmmWs","pulseSpinner":"LoadingSpinner-module_pulseSpinner__wTtDJ","textGradient":"LoadingSpinner-module_textGradient__QDrTY","sparkleContainer":"LoadingSpinner-module_sparkleContainer__9XLJG","sparkle":"LoadingSpinner-module_sparkle__LtFFf"};
1878
1883
 
1879
1884
  const defaultMessages = [
1880
1885
  'Loading your content...',
@@ -1958,22 +1963,22 @@ const LoadingSpinner = ({ message, size = 'medium', variant = 'dots', className
1958
1963
  }
1959
1964
  }, [currentMessageIndex, message, messagesToUse, showMessage]);
1960
1965
  const containerClasses = [
1961
- styles$m.loadingContainer,
1962
- styles$m[size],
1963
- styles$m[variant],
1964
- fullScreen && styles$m.fullScreen,
1965
- overlay && styles$m.overlay,
1966
+ styles$l.loadingContainer,
1967
+ styles$l[size],
1968
+ styles$l[variant],
1969
+ fullScreen && styles$l.fullScreen,
1970
+ overlay && styles$l.overlay,
1966
1971
  className
1967
1972
  ].filter(Boolean).join(' ');
1968
1973
  const customStyle = {
1969
1974
  ...(color && { '--spinner-color': color }),
1970
1975
  ...(backgroundColor && { '--spinner-background': backgroundColor }),
1971
1976
  };
1972
- const renderDots = () => (jsxRuntime.jsxs(framerMotion.motion.div, { className: styles$m.dotsSpinner, animate: { rotate: 360 }, transition: {
1977
+ const renderDots = () => (jsxRuntime.jsxs(framerMotion.motion.div, { className: styles$l.dotsSpinner, animate: { rotate: 360 }, transition: {
1973
1978
  duration: 2,
1974
1979
  repeat: Infinity,
1975
1980
  ease: 'linear'
1976
- }, children: [jsxRuntime.jsx(framerMotion.motion.div, { className: styles$m.dot1, animate: {
1981
+ }, children: [jsxRuntime.jsx(framerMotion.motion.div, { className: styles$l.dot1, animate: {
1977
1982
  scale: [1, 1.3, 1],
1978
1983
  y: [0, -6, 0]
1979
1984
  }, transition: {
@@ -1981,7 +1986,7 @@ const LoadingSpinner = ({ message, size = 'medium', variant = 'dots', className
1981
1986
  repeat: Infinity,
1982
1987
  ease: 'easeInOut',
1983
1988
  delay: 0
1984
- } }), jsxRuntime.jsx(framerMotion.motion.div, { className: styles$m.dot2, animate: {
1989
+ } }), jsxRuntime.jsx(framerMotion.motion.div, { className: styles$l.dot2, animate: {
1985
1990
  scale: [1, 1.3, 1],
1986
1991
  y: [0, -6, 0]
1987
1992
  }, transition: {
@@ -1989,7 +1994,7 @@ const LoadingSpinner = ({ message, size = 'medium', variant = 'dots', className
1989
1994
  repeat: Infinity,
1990
1995
  ease: 'easeInOut',
1991
1996
  delay: 0.5
1992
- } }), jsxRuntime.jsx(framerMotion.motion.div, { className: styles$m.dot3, animate: {
1997
+ } }), jsxRuntime.jsx(framerMotion.motion.div, { className: styles$l.dot3, animate: {
1993
1998
  scale: [1, 1.3, 1],
1994
1999
  y: [0, -6, 0]
1995
2000
  }, transition: {
@@ -1998,12 +2003,12 @@ const LoadingSpinner = ({ message, size = 'medium', variant = 'dots', className
1998
2003
  ease: 'easeInOut',
1999
2004
  delay: 1
2000
2005
  } })] }));
2001
- const renderSpinner = () => (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$m.circleSpinner, animate: { rotate: 360 }, transition: {
2006
+ const renderSpinner = () => (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$l.circleSpinner, animate: { rotate: 360 }, transition: {
2002
2007
  duration: 1,
2003
2008
  repeat: Infinity,
2004
2009
  ease: 'linear'
2005
2010
  } }));
2006
- const renderPulse = () => (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$m.pulseSpinner, animate: {
2011
+ const renderPulse = () => (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$l.pulseSpinner, animate: {
2007
2012
  scale: [1, 1.2, 1],
2008
2013
  opacity: [1, 0.7, 1]
2009
2014
  }, transition: {
@@ -2022,10 +2027,10 @@ const LoadingSpinner = ({ message, size = 'medium', variant = 'dots', className
2022
2027
  return renderDots();
2023
2028
  }
2024
2029
  };
2025
- return (jsxRuntime.jsxs("div", { className: containerClasses, style: customStyle, children: [renderSpinnerVariant(), showMessage && (jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: jsxRuntime.jsx(framerMotion.motion.p, { className: styles$m.loadingText, initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -10 }, transition: {
2030
+ return (jsxRuntime.jsxs("div", { className: containerClasses, style: customStyle, children: [renderSpinnerVariant(), showMessage && (jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: jsxRuntime.jsx(framerMotion.motion.p, { className: styles$l.loadingText, initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -10 }, transition: {
2026
2031
  duration: 0.4,
2027
2032
  ease: 'easeOut'
2028
- }, children: currentMessage }, currentMessage) })), showSparkles && (jsxRuntime.jsx("div", { className: styles$m.sparkleContainer, children: [...Array(4)].map((_, i) => (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$m.sparkle, animate: {
2033
+ }, children: currentMessage }, currentMessage) })), showSparkles && (jsxRuntime.jsx("div", { className: styles$l.sparkleContainer, children: [...Array(4)].map((_, i) => (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$l.sparkle, animate: {
2029
2034
  opacity: [0, 1, 0],
2030
2035
  scale: [0.5, 1, 0.5],
2031
2036
  rotate: [0, 180, 360]
@@ -2040,7 +2045,7 @@ const LoadingSpinner = ({ message, size = 'medium', variant = 'dots', className
2040
2045
  } }, i))) }))] }));
2041
2046
  };
2042
2047
 
2043
- var styles$l = {"wrapper":"DecryptedText-module_wrapper__tuLvf","srOnly":"DecryptedText-module_srOnly__A-K2T"};
2048
+ var styles$k = {"wrapper":"DecryptedText-module_wrapper__tuLvf","srOnly":"DecryptedText-module_srOnly__A-K2T"};
2044
2049
 
2045
2050
  /**
2046
2051
  * DecryptedText Component
@@ -2224,13 +2229,13 @@ const DecryptedText = ({ text, speed = 50, maxIterations = 10, sequential = fals
2224
2229
  onMouseLeave: () => setIsHovering(false),
2225
2230
  }
2226
2231
  : {};
2227
- return (jsxRuntime.jsxs(framerMotion.motion.span, { className: `${styles$l.wrapper} ${parentClassName}`, ref: containerRef, ...hoverProps, ...props, children: [jsxRuntime.jsx("span", { className: styles$l.srOnly, children: displayText }), jsxRuntime.jsx("span", { "aria-hidden": "true", children: displayText.split('').map((char, index) => {
2232
+ return (jsxRuntime.jsxs(framerMotion.motion.span, { className: `${styles$k.wrapper} ${parentClassName}`, ref: containerRef, ...hoverProps, ...props, children: [jsxRuntime.jsx("span", { className: styles$k.srOnly, children: displayText }), jsxRuntime.jsx("span", { "aria-hidden": "true", children: displayText.split('').map((char, index) => {
2228
2233
  const isRevealedOrDone = revealedIndices.has(index) || !isScrambling || !isHovering;
2229
2234
  return (jsxRuntime.jsx("span", { className: isRevealedOrDone ? className : encryptedClassName, children: char }, index));
2230
2235
  }) })] }));
2231
2236
  };
2232
2237
 
2233
- var styles$k = {"arrayInput":"ArrayInput-module_arrayInput__q1x7A","arrayInputLabel":"ArrayInput-module_arrayInputLabel__HyUC7","arrayInputItem":"ArrayInput-module_arrayInputItem__bFtgl","inputWrapper":"ArrayInput-module_inputWrapper__ajhbW","input":"ArrayInput-module_input__1uywi","complexItem":"ArrayInput-module_complexItem__zr-Q-","fieldsWrapper":"ArrayInput-module_fieldsWrapper__7BVPa","removeButton":"ArrayInput-module_removeButton__gYf8Y","addButton":"ArrayInput-module_addButton__mia29"};
2238
+ var styles$j = {"arrayInput":"ArrayInput-module_arrayInput__q1x7A","arrayInputLabel":"ArrayInput-module_arrayInputLabel__HyUC7","arrayInputItem":"ArrayInput-module_arrayInputItem__bFtgl","inputWrapper":"ArrayInput-module_inputWrapper__ajhbW","input":"ArrayInput-module_input__1uywi","complexItem":"ArrayInput-module_complexItem__zr-Q-","fieldsWrapper":"ArrayInput-module_fieldsWrapper__7BVPa","removeButton":"ArrayInput-module_removeButton__gYf8Y","addButton":"ArrayInput-module_addButton__mia29"};
2234
2239
 
2235
2240
  /**
2236
2241
  * ArrayInput component - Versatile dynamic list manager
@@ -2297,11 +2302,11 @@ function SimpleArrayInput({ label, values, onChange, placeholder, itemStyle, inp
2297
2302
  itemIdsRef.current.splice(index, 1);
2298
2303
  onChange(newValues);
2299
2304
  };
2300
- return (jsxRuntime.jsxs("div", { className: styles$k.arrayInput, children: [jsxRuntime.jsx("h3", { className: styles$k.arrayInputLabel, children: label }), jsxRuntime.jsx("div", { children: jsxRuntime.jsx(framerMotion.AnimatePresence, { children: values.map((value, index) => (jsxRuntime.jsxs(framerMotion.motion.div, { className: styles$k.arrayInputItem, style: itemStyle, initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0 }, transition: {
2305
+ return (jsxRuntime.jsxs("div", { className: styles$j.arrayInput, children: [jsxRuntime.jsx("h3", { className: styles$j.arrayInputLabel, children: label }), jsxRuntime.jsx("div", { children: jsxRuntime.jsx(framerMotion.AnimatePresence, { children: values.map((value, index) => (jsxRuntime.jsxs(framerMotion.motion.div, { className: styles$j.arrayInputItem, style: itemStyle, initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0 }, transition: {
2301
2306
  duration: 0.3,
2302
2307
  ease: "easeInOut",
2303
2308
  layout: { duration: 0.2 }
2304
- }, children: [jsxRuntime.jsx("div", { className: styles$k.inputWrapper, children: multiline ? (jsxRuntime.jsx("div", { style: inputStyle, children: jsxRuntime.jsx(TextArea, { label: "", value: value, onChange: (newValue) => handleChange(index, newValue), placeholder: placeholder, rows: rows, compact: true }) })) : (jsxRuntime.jsx("input", { type: "text", value: value, onChange: (e) => handleChange(index, e.target.value), placeholder: placeholder, className: styles$k.input, style: inputStyle })) }), jsxRuntime.jsx(Button, { variant: "ghost", size: "small", onClick: () => handleRemove(index), "aria-label": "Remove item", className: styles$k.removeButton, children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsxRuntime.jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) }) })] }, itemIdsRef.current[index]))) }) }), jsxRuntime.jsx(Button, { variant: buttonVariant, size: "small", onClick: handleAdd, className: styles$k.addButton, children: label })] }));
2309
+ }, children: [jsxRuntime.jsx("div", { className: styles$j.inputWrapper, children: multiline ? (jsxRuntime.jsx("div", { style: inputStyle, children: jsxRuntime.jsx(TextArea, { label: "", value: value, onChange: (newValue) => handleChange(index, newValue), placeholder: placeholder, rows: rows, compact: true }) })) : (jsxRuntime.jsx("input", { type: "text", value: value, onChange: (e) => handleChange(index, e.target.value), placeholder: placeholder, className: styles$j.input, style: inputStyle })) }), jsxRuntime.jsx(Button, { variant: "ghost", size: "small", onClick: () => handleRemove(index), "aria-label": "Remove item", className: styles$j.removeButton, children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsxRuntime.jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) }) })] }, itemIdsRef.current[index]))) }) }), jsxRuntime.jsx(Button, { variant: buttonVariant, size: "small", onClick: handleAdd, className: styles$j.addButton, children: label })] }));
2305
2310
  }
2306
2311
  // Complex object array implementation
2307
2312
  function ComplexArrayInput({ label, values, onChange, fields, getKey, itemStyle, inputStyle, buttonVariant = 'primary' }) {
@@ -2326,14 +2331,14 @@ function ComplexArrayInput({ label, values, onChange, fields, getKey, itemStyle,
2326
2331
  // Generate key from all field values
2327
2332
  return fields.map(f => item[f.name] || '').join('-') + `-${index}`;
2328
2333
  };
2329
- return (jsxRuntime.jsxs("div", { className: styles$k.arrayInput, children: [jsxRuntime.jsx("h3", { className: styles$k.arrayInputLabel, children: label }), jsxRuntime.jsx("div", { children: jsxRuntime.jsx(framerMotion.AnimatePresence, { children: values.map((value, index) => (jsxRuntime.jsxs(framerMotion.motion.div, { className: `${styles$k.arrayInputItem} ${fields.length > 1 ? styles$k.complexItem : ''}`, style: itemStyle, initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0 }, transition: {
2334
+ return (jsxRuntime.jsxs("div", { className: styles$j.arrayInput, children: [jsxRuntime.jsx("h3", { className: styles$j.arrayInputLabel, children: label }), jsxRuntime.jsx("div", { children: jsxRuntime.jsx(framerMotion.AnimatePresence, { children: values.map((value, index) => (jsxRuntime.jsxs(framerMotion.motion.div, { className: `${styles$j.arrayInputItem} ${fields.length > 1 ? styles$j.complexItem : ''}`, style: itemStyle, initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0 }, transition: {
2330
2335
  duration: 0.3,
2331
2336
  ease: "easeInOut",
2332
2337
  layout: { duration: 0.2 }
2333
- }, children: [jsxRuntime.jsx("div", { className: styles$k.fieldsWrapper, children: fields.map((field) => (jsxRuntime.jsx("div", { style: inputStyle, children: field.multiline ? (jsxRuntime.jsx(TextArea, { value: value[field.name] || '', onChange: (newValue) => handleChange(index, field.name, newValue), label: field.label, placeholder: field.placeholder, rows: field.rows, compact: true })) : (jsxRuntime.jsx(TextInput, { value: value[field.name] || '', onChange: (newValue) => handleChange(index, field.name, newValue), label: field.label, type: field.type, placeholder: field.placeholder })) }, field.name))) }), jsxRuntime.jsx(Button, { variant: "ghost", size: "small", onClick: () => handleRemove(index), "aria-label": "Remove item", className: styles$k.removeButton, children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsxRuntime.jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) }) })] }, generateKey(value, index)))) }) }), jsxRuntime.jsxs(Button, { variant: buttonVariant, size: "small", onClick: handleAdd, className: styles$k.addButton, children: ["Add ", label] })] }));
2338
+ }, children: [jsxRuntime.jsx("div", { className: styles$j.fieldsWrapper, children: fields.map((field) => (jsxRuntime.jsx("div", { style: inputStyle, children: field.multiline ? (jsxRuntime.jsx(TextArea, { value: value[field.name] || '', onChange: (newValue) => handleChange(index, field.name, newValue), label: field.label, placeholder: field.placeholder, rows: field.rows, compact: true })) : (jsxRuntime.jsx(TextInput, { value: value[field.name] || '', onChange: (newValue) => handleChange(index, field.name, newValue), label: field.label, type: field.type, placeholder: field.placeholder })) }, field.name))) }), jsxRuntime.jsx(Button, { variant: "ghost", size: "small", onClick: () => handleRemove(index), "aria-label": "Remove item", className: styles$j.removeButton, children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsxRuntime.jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) }) })] }, generateKey(value, index)))) }) }), jsxRuntime.jsxs(Button, { variant: buttonVariant, size: "small", onClick: handleAdd, className: styles$j.addButton, children: ["Add ", label] })] }));
2334
2339
  }
2335
2340
 
2336
- var styles$j = {"fab":"EditFAB-module_fab__nSrTJ","primary":"EditFAB-module_primary__zbA9n","secondary":"EditFAB-module_secondary__BnXs0","success":"EditFAB-module_success__kcLg3","loader":"EditFAB-module_loader__TaJOm","draggable":"EditFAB-module_draggable__eE2vE","dragging":"EditFAB-module_dragging__btRJe"};
2341
+ var styles$i = {"fab":"EditFAB-module_fab__nSrTJ","primary":"EditFAB-module_primary__zbA9n","secondary":"EditFAB-module_secondary__BnXs0","success":"EditFAB-module_success__kcLg3","loader":"EditFAB-module_loader__TaJOm","draggable":"EditFAB-module_draggable__eE2vE","dragging":"EditFAB-module_dragging__btRJe"};
2337
2342
 
2338
2343
  const EditFAB = ({ canEdit, isEditMode, hasUnsavedChanges = false, isSaving = false, onEnterEditMode, onExitEditMode, position = { bottom: 32, right: 32 } }) => {
2339
2344
  const [isMobile, setIsMobile] = React.useState(false);
@@ -2418,15 +2423,15 @@ const EditFAB = ({ canEdit, isEditMode, hasUnsavedChanges = false, isSaving = fa
2418
2423
  };
2419
2424
  const getVariantClass = () => {
2420
2425
  if (isSaving)
2421
- return styles$j.primary;
2426
+ return styles$i.primary;
2422
2427
  if (isEditMode) {
2423
- return hasUnsavedChanges ? styles$j.success : styles$j.secondary;
2428
+ return hasUnsavedChanges ? styles$i.success : styles$i.secondary;
2424
2429
  }
2425
- return styles$j.primary;
2430
+ return styles$i.primary;
2426
2431
  };
2427
2432
  const getIcon = () => {
2428
2433
  if (isSaving) {
2429
- return jsxRuntime.jsx("div", { className: styles$j.loader });
2434
+ return jsxRuntime.jsx("div", { className: styles$i.loader });
2430
2435
  }
2431
2436
  if (isEditMode) {
2432
2437
  return hasUnsavedChanges ? jsxRuntime.jsx(lucideReact.Check, { size: 24 }) : jsxRuntime.jsx(lucideReact.X, { size: 24 });
@@ -2441,14 +2446,14 @@ const EditFAB = ({ canEdit, isEditMode, hasUnsavedChanges = false, isSaving = fa
2441
2446
  }
2442
2447
  return "Enter edit mode";
2443
2448
  };
2444
- return (jsxRuntime.jsx(framerMotion.motion.button, { ref: fabRef, className: `${styles$j.fab} ${getVariantClass()} ${isMobile ? styles$j.draggable : ''} ${isDragging ? styles$j.dragging : ''}`, style: getPositionStyles(), onClick: handleClick, onTouchStart: handleTouchStart, onTouchMove: handleTouchMove, onTouchEnd: handleTouchEnd, disabled: isSaving, "aria-label": getAriaLabel(), initial: { scale: 0, opacity: 0 }, animate: { scale: 1, opacity: 1 }, exit: { scale: 0, opacity: 0 }, whileHover: !isSaving && !isDragging ? { scale: 1.1 } : {}, whileTap: !isSaving && !isDragging ? { scale: 0.9 } : {}, transition: {
2449
+ return (jsxRuntime.jsx(framerMotion.motion.button, { ref: fabRef, className: `${styles$i.fab} ${getVariantClass()} ${isMobile ? styles$i.draggable : ''} ${isDragging ? styles$i.dragging : ''}`, style: getPositionStyles(), onClick: handleClick, onTouchStart: handleTouchStart, onTouchMove: handleTouchMove, onTouchEnd: handleTouchEnd, disabled: isSaving, "aria-label": getAriaLabel(), initial: { scale: 0, opacity: 0 }, animate: { scale: 1, opacity: 1 }, exit: { scale: 0, opacity: 0 }, whileHover: !isSaving && !isDragging ? { scale: 1.1 } : {}, whileTap: !isSaving && !isDragging ? { scale: 0.9 } : {}, transition: {
2445
2450
  type: "spring",
2446
2451
  stiffness: 260,
2447
2452
  damping: 20
2448
2453
  }, children: getIcon() }));
2449
2454
  };
2450
2455
 
2451
- var styles$i = {"searchContainer":"SearchBar-module_searchContainer__TdM1w","searchInputWrapper":"SearchBar-module_searchInputWrapper__kCZLU","searchIcon":"SearchBar-module_searchIcon__IIxEu","searchInput":"SearchBar-module_searchInput__V4gkE","clearButton":"SearchBar-module_clearButton__7fNIY","filterSelect":"SearchBar-module_filterSelect__xIVE4","resultsDropdown":"SearchBar-module_resultsDropdown__yh6NF","loadingState":"SearchBar-module_loadingState__4gidK","emptyState":"SearchBar-module_emptyState__RbI4s","spinner":"SearchBar-module_spinner__PMc6-","resultsGroups":"SearchBar-module_resultsGroups__U24DC","resultGroup":"SearchBar-module_resultGroup__SoTQH","groupHeader":"SearchBar-module_groupHeader__bFRHA","groupIcon":"SearchBar-module_groupIcon__9ENM-","groupTitle":"SearchBar-module_groupTitle__ZekZs","groupCount":"SearchBar-module_groupCount__PQIqw","groupResults":"SearchBar-module_groupResults__xTF52","resultItem":"SearchBar-module_resultItem__VaKKy","highlighted":"SearchBar-module_highlighted__Q-3sH","resultTitle":"SearchBar-module_resultTitle__i1uqL","resultSubtitle":"SearchBar-module_resultSubtitle__LQOJ1","resultMeta":"SearchBar-module_resultMeta__Kmkrn","resultContent":"SearchBar-module_resultContent__TzVzL","highlight":"SearchBar-module_highlight__Q3PSP"};
2456
+ var styles$h = {"searchContainer":"SearchBar-module_searchContainer__TdM1w","searchInputWrapper":"SearchBar-module_searchInputWrapper__kCZLU","searchIcon":"SearchBar-module_searchIcon__IIxEu","searchInput":"SearchBar-module_searchInput__V4gkE","clearButton":"SearchBar-module_clearButton__7fNIY","filterSelect":"SearchBar-module_filterSelect__xIVE4","resultsDropdown":"SearchBar-module_resultsDropdown__yh6NF","loadingState":"SearchBar-module_loadingState__4gidK","emptyState":"SearchBar-module_emptyState__RbI4s","spinner":"SearchBar-module_spinner__PMc6-","resultsGroups":"SearchBar-module_resultsGroups__U24DC","resultGroup":"SearchBar-module_resultGroup__SoTQH","groupHeader":"SearchBar-module_groupHeader__bFRHA","groupIcon":"SearchBar-module_groupIcon__9ENM-","groupTitle":"SearchBar-module_groupTitle__ZekZs","groupCount":"SearchBar-module_groupCount__PQIqw","groupResults":"SearchBar-module_groupResults__xTF52","resultItem":"SearchBar-module_resultItem__VaKKy","highlighted":"SearchBar-module_highlighted__Q-3sH","resultTitle":"SearchBar-module_resultTitle__i1uqL","resultSubtitle":"SearchBar-module_resultSubtitle__LQOJ1","resultMeta":"SearchBar-module_resultMeta__Kmkrn","resultContent":"SearchBar-module_resultContent__TzVzL","highlight":"SearchBar-module_highlight__Q3PSP"};
2452
2457
 
2453
2458
  // Default filter options for backwards compatibility
2454
2459
  const defaultFilterOptions = [
@@ -2641,93 +2646,52 @@ const SearchBar = ({ className, placeholder = "Search (Ctrl+Space)...", onSearch
2641
2646
  return text || '';
2642
2647
  const regex = new RegExp(`(${highlight.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')})`, 'gi');
2643
2648
  const parts = text.split(regex);
2644
- return parts.map((part, index) => regex.test(part) ? (jsxRuntime.jsx("mark", { className: styles$i.highlight, children: part }, index)) : (part));
2649
+ return parts.map((part, index) => regex.test(part) ? (jsxRuntime.jsx("mark", { className: styles$h.highlight, children: part }, index)) : (part));
2645
2650
  };
2646
- return (jsxRuntime.jsxs("div", { ref: searchRef, className: `${styles$i.searchContainer} ${className || ''}`, children: [jsxRuntime.jsxs("div", { className: styles$i.searchInputWrapper, children: [jsxRuntime.jsx(lucideReact.Search, { className: styles$i.searchIcon }), jsxRuntime.jsx("input", { ref: inputRef, type: "text", value: query, onChange: (e) => setQuery(e.target.value), onKeyDown: handleKeyDown, onFocus: () => query.trim() && results.length > 0 && setIsDropdownOpen(true), placeholder: placeholder, className: styles$i.searchInput, "aria-label": "Search", "aria-expanded": isDropdownOpen, "aria-controls": "search-results", "aria-autocomplete": "list" }), query && (jsxRuntime.jsx(framerMotion.motion.button, { className: styles$i.clearButton, onClick: handleClear, whileHover: { scale: 1.1 }, whileTap: { scale: 0.9 }, initial: { opacity: 0, scale: 0.8 }, animate: { opacity: 1, scale: 1 }, exit: { opacity: 0, scale: 0.8 }, children: jsxRuntime.jsx(lucideReact.X, {}) })), showFilter && (jsxRuntime.jsx("select", { value: filter, onChange: (e) => setFilter(e.target.value), className: styles$i.filterSelect, "aria-label": "Filter search results", children: filterOptions.map(option => (jsxRuntime.jsx("option", { value: option.value, children: option.label }, option.value))) }))] }), jsxRuntime.jsx(framerMotion.AnimatePresence, { children: isDropdownOpen && (jsxRuntime.jsx(framerMotion.motion.div, { ref: resultsRef, id: "search-results", className: styles$i.resultsDropdown, initial: { opacity: 0, y: -10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -10 }, transition: { duration: 0.2 }, children: isLoading ? (jsxRuntime.jsxs("div", { className: styles$i.loadingState, children: [jsxRuntime.jsx("div", { className: styles$i.spinner }), jsxRuntime.jsx("span", { children: "Searching..." })] })) : results.length === 0 ? (jsxRuntime.jsxs("div", { className: styles$i.emptyState, children: ["No results found for \"", query, "\""] })) : (jsxRuntime.jsx("div", { className: styles$i.resultsGroups, children: Object.entries(groupedResults).map(([type, groupResults]) => {
2651
+ return (jsxRuntime.jsxs("div", { ref: searchRef, className: `${styles$h.searchContainer} ${className || ''}`, children: [jsxRuntime.jsxs("div", { className: styles$h.searchInputWrapper, children: [jsxRuntime.jsx(lucideReact.Search, { className: styles$h.searchIcon }), jsxRuntime.jsx("input", { ref: inputRef, type: "text", value: query, onChange: (e) => setQuery(e.target.value), onKeyDown: handleKeyDown, onFocus: () => query.trim() && results.length > 0 && setIsDropdownOpen(true), placeholder: placeholder, className: styles$h.searchInput, "aria-label": "Search", "aria-expanded": isDropdownOpen, "aria-controls": "search-results", "aria-autocomplete": "list" }), query && (jsxRuntime.jsx(framerMotion.motion.button, { className: styles$h.clearButton, onClick: handleClear, whileHover: { scale: 1.1 }, whileTap: { scale: 0.9 }, initial: { opacity: 0, scale: 0.8 }, animate: { opacity: 1, scale: 1 }, exit: { opacity: 0, scale: 0.8 }, children: jsxRuntime.jsx(lucideReact.X, {}) })), showFilter && (jsxRuntime.jsx("select", { value: filter, onChange: (e) => setFilter(e.target.value), className: styles$h.filterSelect, "aria-label": "Filter search results", children: filterOptions.map(option => (jsxRuntime.jsx("option", { value: option.value, children: option.label }, option.value))) }))] }), jsxRuntime.jsx(framerMotion.AnimatePresence, { children: isDropdownOpen && (jsxRuntime.jsx(framerMotion.motion.div, { ref: resultsRef, id: "search-results", className: styles$h.resultsDropdown, initial: { opacity: 0, y: -10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -10 }, transition: { duration: 0.2 }, children: isLoading ? (jsxRuntime.jsxs("div", { className: styles$h.loadingState, children: [jsxRuntime.jsx("div", { className: styles$h.spinner }), jsxRuntime.jsx("span", { children: "Searching..." })] })) : results.length === 0 ? (jsxRuntime.jsxs("div", { className: styles$h.emptyState, children: ["No results found for \"", query, "\""] })) : (jsxRuntime.jsx("div", { className: styles$h.resultsGroups, children: Object.entries(groupedResults).map(([type, groupResults]) => {
2647
2652
  const Icon = entityIcons[type];
2648
- return (jsxRuntime.jsxs("div", { className: styles$i.resultGroup, children: [jsxRuntime.jsxs("div", { className: styles$i.groupHeader, children: [Icon && jsxRuntime.jsx(Icon, { className: styles$i.groupIcon }), jsxRuntime.jsx("span", { className: styles$i.groupTitle, children: type.charAt(0).toUpperCase() + type.slice(1) }), jsxRuntime.jsx("span", { className: styles$i.groupCount, children: groupResults.length })] }), jsxRuntime.jsx("div", { className: styles$i.groupResults, children: groupResults.map((result) => {
2653
+ return (jsxRuntime.jsxs("div", { className: styles$h.resultGroup, children: [jsxRuntime.jsxs("div", { className: styles$h.groupHeader, children: [Icon && jsxRuntime.jsx(Icon, { className: styles$h.groupIcon }), jsxRuntime.jsx("span", { className: styles$h.groupTitle, children: type.charAt(0).toUpperCase() + type.slice(1) }), jsxRuntime.jsx("span", { className: styles$h.groupCount, children: groupResults.length })] }), jsxRuntime.jsx("div", { className: styles$h.groupResults, children: groupResults.map((result) => {
2649
2654
  const globalIndex = results.indexOf(result);
2650
- return (jsxRuntime.jsxs(framerMotion.motion.button, { "data-result-index": globalIndex, className: `${styles$i.resultItem} ${highlightedIndex === globalIndex ? styles$i.highlighted : ''}`, onClick: () => handleResultClick(result), whileHover: { x: 4 }, onMouseEnter: () => setHighlightedIndex(globalIndex), children: [jsxRuntime.jsxs("div", { className: styles$i.resultContent, children: [jsxRuntime.jsx("div", { className: styles$i.resultTitle, children: highlightMatch(result.title || 'Untitled', query) }), result.subtitle && (jsxRuntime.jsx("div", { className: styles$i.resultSubtitle, children: highlightMatch(result.subtitle, query) }))] }), result.meta && (jsxRuntime.jsx("div", { className: styles$i.resultMeta, children: result.meta }))] }, `${result.type}-${result.id}`));
2655
+ return (jsxRuntime.jsxs(framerMotion.motion.button, { "data-result-index": globalIndex, className: `${styles$h.resultItem} ${highlightedIndex === globalIndex ? styles$h.highlighted : ''}`, onClick: () => handleResultClick(result), whileHover: { x: 4 }, onMouseEnter: () => setHighlightedIndex(globalIndex), children: [jsxRuntime.jsxs("div", { className: styles$h.resultContent, children: [jsxRuntime.jsx("div", { className: styles$h.resultTitle, children: highlightMatch(result.title || 'Untitled', query) }), result.subtitle && (jsxRuntime.jsx("div", { className: styles$h.resultSubtitle, children: highlightMatch(result.subtitle, query) }))] }), result.meta && (jsxRuntime.jsx("div", { className: styles$h.resultMeta, children: result.meta }))] }, `${result.type}-${result.id}`));
2651
2656
  }) })] }, type));
2652
2657
  }) })) })) })] }));
2653
2658
  };
2654
2659
 
2655
- var styles$h = {"modalOverlay":"TimePickerModal-module_modalOverlay__Cbq5-","modalContent":"TimePickerModal-module_modalContent__e6py2","modalHeader":"TimePickerModal-module_modalHeader__XhTgK","closeButton":"TimePickerModal-module_closeButton__qsRAG","timeDisplay":"TimePickerModal-module_timeDisplay__voGP4","pickerContainer":"TimePickerModal-module_pickerContainer__4qn3r","pickerColumn":"TimePickerModal-module_pickerColumn__0-kWf","pickerLabel":"TimePickerModal-module_pickerLabel__e7zQ2","pickerScroll":"TimePickerModal-module_pickerScroll__5Dcvw","pickerItem":"TimePickerModal-module_pickerItem__n8sC2","selected":"TimePickerModal-module_selected__oQA8Z","pickerDivider":"TimePickerModal-module_pickerDivider__eg83F","modalActions":"TimePickerModal-module_modalActions__eJRWU","cancelButton":"TimePickerModal-module_cancelButton__zri81","confirmButton":"TimePickerModal-module_confirmButton__q2p3Q"};
2656
-
2657
- function TimePickerModal({ isOpen, onClose, value, onChange }) {
2658
- const [hours, minutes] = value ? value.split(':').map(Number) : [12, 0];
2659
- const [selectedHour, setSelectedHour] = React.useState(hours);
2660
- const [selectedMinute, setSelectedMinute] = React.useState(minutes);
2661
- React.useEffect(() => {
2662
- if (value) {
2663
- const [h, m] = value.split(':').map(Number);
2664
- setSelectedHour(h);
2665
- setSelectedMinute(m);
2666
- }
2667
- }, [value]);
2668
- const handleConfirm = () => {
2669
- const formattedHour = selectedHour.toString().padStart(2, '0');
2670
- const formattedMinute = selectedMinute.toString().padStart(2, '0');
2671
- onChange(`${formattedHour}:${formattedMinute}`);
2672
- onClose();
2673
- };
2674
- if (!isOpen)
2675
- return null;
2676
- return (jsxRuntime.jsx("div", { className: styles$h.modalOverlay, onClick: onClose, children: jsxRuntime.jsxs("div", { className: styles$h.modalContent, onClick: (e) => e.stopPropagation(), children: [jsxRuntime.jsxs("div", { className: styles$h.modalHeader, children: [jsxRuntime.jsx("h3", { children: "Select Time" }), jsxRuntime.jsx("button", { className: styles$h.closeButton, onClick: onClose, "aria-label": "Close", children: jsxRuntime.jsx(lucideReact.X, {}) })] }), jsxRuntime.jsxs("div", { className: styles$h.timeDisplay, children: [selectedHour.toString().padStart(2, '0'), ":", selectedMinute.toString().padStart(2, '0')] }), jsxRuntime.jsxs("div", { className: styles$h.pickerContainer, children: [jsxRuntime.jsxs("div", { className: styles$h.pickerColumn, children: [jsxRuntime.jsx("div", { className: styles$h.pickerLabel, children: "Hours" }), jsxRuntime.jsx("div", { className: styles$h.pickerScroll, children: Array.from({ length: 24 }, (_, i) => (jsxRuntime.jsx("button", { className: `${styles$h.pickerItem} ${selectedHour === i ? styles$h.selected : ''}`, onClick: () => setSelectedHour(i), children: i.toString().padStart(2, '0') }, i))) })] }), jsxRuntime.jsx("div", { className: styles$h.pickerDivider, children: ":" }), jsxRuntime.jsxs("div", { className: styles$h.pickerColumn, children: [jsxRuntime.jsx("div", { className: styles$h.pickerLabel, children: "Minutes" }), jsxRuntime.jsx("div", { className: styles$h.pickerScroll, children: Array.from({ length: 60 }, (_, i) => (jsxRuntime.jsx("button", { className: `${styles$h.pickerItem} ${selectedMinute === i ? styles$h.selected : ''}`, onClick: () => setSelectedMinute(i), children: i.toString().padStart(2, '0') }, i))) })] })] }), jsxRuntime.jsxs("div", { className: styles$h.modalActions, children: [jsxRuntime.jsx("button", { className: styles$h.cancelButton, onClick: onClose, children: "Cancel" }), jsxRuntime.jsx("button", { className: styles$h.confirmButton, onClick: handleConfirm, children: "Confirm" })] })] }) }));
2677
- }
2678
-
2679
- var styles$g = {"timeInput":"TimeInput-module_timeInput__h1DpT","label":"TimeInput-module_label__d4rZw","required":"TimeInput-module_required__rc1vq","inputWrapper":"TimeInput-module_inputWrapper__4RPAn","textInput":"TimeInput-module_textInput__M3eBZ","clockButton":"TimeInput-module_clockButton__3qoub","error":"TimeInput-module_error__gJnpk","success":"TimeInput-module_success__np-lF","loading":"TimeInput-module_loading__Wb1DC","disabled":"TimeInput-module_disabled__wxiZ-"};
2660
+ var styles$g = {"timeInput":"TimeInput-module_timeInput__h1DpT","label":"TimeInput-module_label__d4rZw","required":"TimeInput-module_required__rc1vq","picker":"TimeInput-module_picker__9c6EI","error":"TimeInput-module_error__gJnpk","disabled":"TimeInput-module_disabled__wxiZ-"};
2680
2661
 
2681
- function TimeInput({ label, value, onChange, placeholder = "14:30", onFocus, onBlur, error = false, success = false, loading = false, disabled = false, required = false, className = "" }) {
2682
- const [showPicker, setShowPicker] = React.useState(false);
2683
- const formatTime24 = (time) => {
2684
- if (!time)
2685
- return '';
2686
- let cleanTime = time.replace(/[^\d:]/g, '');
2687
- const colonCount = (cleanTime.match(/:/g) || []).length;
2688
- if (colonCount > 1) {
2689
- cleanTime = cleanTime.replace(/:/g, '');
2690
- if (cleanTime.length >= 3) {
2691
- cleanTime = cleanTime.substring(0, 2) + ':' + cleanTime.substring(2);
2692
- }
2693
- }
2694
- if (cleanTime.length === 3 && !cleanTime.includes(':')) {
2695
- cleanTime = cleanTime.substring(0, 2) + ':' + cleanTime.substring(2);
2696
- }
2697
- else if (cleanTime.length === 4 && !cleanTime.includes(':')) {
2698
- cleanTime = cleanTime.substring(0, 2) + ':' + cleanTime.substring(2);
2699
- }
2700
- if (cleanTime.includes(':')) {
2701
- const parts = cleanTime.split(':');
2702
- let hours = parts[0];
2703
- let minutes = parts[1] || '';
2704
- hours = hours.substring(0, 2);
2705
- if (hours.length === 2) {
2706
- const hourNum = parseInt(hours);
2707
- if (hourNum > 23) {
2708
- hours = '23';
2709
- }
2710
- }
2711
- minutes = minutes.substring(0, 2);
2712
- if (minutes.length === 2) {
2713
- const minNum = parseInt(minutes);
2714
- if (minNum > 59) {
2715
- minutes = '59';
2716
- }
2717
- }
2718
- cleanTime = hours + (minutes.length > 0 ? ':' + minutes : ':');
2719
- }
2720
- return cleanTime.substring(0, 5);
2721
- };
2722
- const handleTextChange = (inputValue) => {
2723
- const formattedTime = formatTime24(inputValue);
2724
- onChange(formattedTime);
2725
- };
2726
- const handleClockClick = () => {
2727
- if (!disabled && !loading) {
2728
- setShowPicker(true);
2729
- }
2730
- };
2662
+ const lightTheme = styles$A.createTheme({
2663
+ palette: {
2664
+ mode: 'light',
2665
+ primary: { main: '#3b82f6' },
2666
+ background: {
2667
+ default: '#f8fafc',
2668
+ paper: '#ffffff',
2669
+ },
2670
+ text: {
2671
+ primary: '#0f172a',
2672
+ secondary: '#475569',
2673
+ },
2674
+ },
2675
+ });
2676
+ const darkTheme = styles$A.createTheme({
2677
+ palette: {
2678
+ mode: 'dark',
2679
+ primary: { main: '#f5b829' },
2680
+ background: {
2681
+ default: '#010907',
2682
+ paper: '#0e1a19',
2683
+ },
2684
+ text: {
2685
+ primary: '#f1f5f9',
2686
+ secondary: '#cbd5e1',
2687
+ },
2688
+ },
2689
+ });
2690
+ function TimeInput({ label, value, onChange, error = false, success = false, loading = false, disabled = false, required = false, className = '', }) {
2691
+ const dayjsValue = value ? dayjs(`2000-01-01 ${value}`) : null;
2692
+ const isDark = typeof document !== 'undefined' &&
2693
+ !!document.documentElement.getAttribute('data-theme')?.includes('dark');
2694
+ const muiTheme = React.useMemo(() => (isDark ? darkTheme : lightTheme), [isDark]);
2731
2695
  const getContainerClassName = () => {
2732
2696
  const classes = [styles$g.timeInput];
2733
2697
  if (error)
@@ -2742,7 +2706,36 @@ function TimeInput({ label, value, onChange, placeholder = "14:30", onFocus, onB
2742
2706
  classes.push(className);
2743
2707
  return classes.join(' ');
2744
2708
  };
2745
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: getContainerClassName(), children: [jsxRuntime.jsxs("label", { className: styles$g.label, children: [label, required && jsxRuntime.jsx("span", { className: styles$g.required, children: "*" })] }), jsxRuntime.jsxs("div", { className: styles$g.inputWrapper, children: [jsxRuntime.jsx("input", { type: "text", value: value, onChange: (e) => handleTextChange(e.target.value), onFocus: onFocus, onBlur: onBlur, placeholder: placeholder, className: styles$g.textInput, maxLength: 5, disabled: disabled || loading, "aria-invalid": error, "aria-required": required, inputMode: "numeric", pattern: "[0-9:]*" }), jsxRuntime.jsx("button", { type: "button", onClick: handleClockClick, className: styles$g.clockButton, title: "Open time picker", disabled: disabled || loading, "aria-label": "Open time picker", children: jsxRuntime.jsx(lucideReact.Clock, { size: 20 }) })] })] }), jsxRuntime.jsx(TimePickerModal, { isOpen: showPicker, onClose: () => setShowPicker(false), value: value, onChange: onChange })] }));
2709
+ return (jsxRuntime.jsxs("div", { className: getContainerClassName(), children: [label && (jsxRuntime.jsxs("label", { className: styles$g.label, children: [label, required && jsxRuntime.jsx("span", { className: styles$g.required, children: "*" })] })), jsxRuntime.jsx(styles$A.ThemeProvider, { theme: muiTheme, children: jsxRuntime.jsx(LocalizationProvider.LocalizationProvider, { dateAdapter: AdapterDayjs.AdapterDayjs, children: jsxRuntime.jsx(MobileTimePicker.MobileTimePicker, { value: dayjsValue, onChange: (newValue) => {
2710
+ onChange(newValue ? newValue.format('HH:mm') : '');
2711
+ }, ampm: false, views: ['hours', 'minutes'], disabled: disabled || loading, slotProps: {
2712
+ textField: {
2713
+ size: 'small',
2714
+ fullWidth: true,
2715
+ className: styles$g.picker,
2716
+ sx: {
2717
+ '& .MuiPickersOutlinedInput-root': {
2718
+ fontFamily: "'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace",
2719
+ fontSize: 'var(--font-size-lg)',
2720
+ borderRadius: 'var(--radius-lg)',
2721
+ color: 'var(--color-text) !important',
2722
+ '& .MuiPickersOutlinedInput-notchedOutline': {
2723
+ borderWidth: '2px !important',
2724
+ borderColor: 'var(--color-border) !important',
2725
+ },
2726
+ '&:hover .MuiPickersOutlinedInput-notchedOutline': {
2727
+ borderColor: 'var(--color-border-hover) !important',
2728
+ },
2729
+ '&.Mui-focused .MuiPickersOutlinedInput-notchedOutline': {
2730
+ borderColor: 'var(--color-primary) !important',
2731
+ },
2732
+ },
2733
+ '& .MuiIconButton-root': {
2734
+ color: 'var(--color-text-secondary) !important',
2735
+ },
2736
+ },
2737
+ },
2738
+ } }) }) })] }));
2746
2739
  }
2747
2740
 
2748
2741
  const ThemeContext = React.createContext(undefined);
@@ -2975,7 +2968,7 @@ const LiquidButton = ({ actions, icon: Icon = lucideReact.Plus, className = '',
2975
2968
  }, onClick: () => handleAction(action), children: [jsxRuntime.jsx(action.icon, { size: 18, color: action.color }), jsxRuntime.jsx("span", { className: styles$b.actionLabel, children: action.label })] }, action.key))) })) }), jsxRuntime.jsx(framerMotion.motion.button, { type: "button", className: styles$b.button, onClick: handleToggle, animate: { rotate: expanded ? 45 : 0 }, transition: { duration: 0.2 }, "aria-label": expanded ? 'Close actions' : 'Open actions', children: jsxRuntime.jsx(Icon, { size: 24, strokeWidth: 2.5 }) })] })] }));
2976
2969
  };
2977
2970
 
2978
- var styles$a = {"calendar":"Calendar-module_calendar__3mIJS","loading":"Calendar-module_loading__59Z9-","loadingSpinner":"Calendar-module_loadingSpinner__7MXqV","header":"Calendar-module_header__cZHNA","navigation":"Calendar-module_navigation__PGkpY","navButton":"Calendar-module_navButton__kOe-w","title":"Calendar-module_title__oJZ7m","controls":"Calendar-module_controls__i1Z38","todayButton":"Calendar-module_todayButton__Ac9zc","viewToggle":"Calendar-module_viewToggle__Fhg2t","viewButton":"Calendar-module_viewButton__J2WY6","active":"Calendar-module_active__lIqH-","filterBar":"Calendar-module_filterBar__ZD-lX","filterPill":"Calendar-module_filterPill__f7S8p","filterPillActive":"Calendar-module_filterPillActive__9Wtm9","filterDot":"Calendar-module_filterDot__E1Hp8","weekDays":"Calendar-module_weekDays__4J-8f","withWeekNumbers":"Calendar-module_withWeekNumbers__qbnUY","weekNumberHeader":"Calendar-module_weekNumberHeader__xhKbB","weekDay":"Calendar-module_weekDay__cg8Gr","daysGrid":"Calendar-module_daysGrid__ER0GM","dayCell":"Calendar-module_dayCell__TV-HR","dayNumber":"Calendar-module_dayNumber__ICH-X","today":"Calendar-module_today__eGuUU","events":"Calendar-module_events__qdbs7","event":"Calendar-module_event__Q1Zq3","eventTitle":"Calendar-module_eventTitle__XU7Wd","eventTime":"Calendar-module_eventTime__pMGEB","otherMonth":"Calendar-module_otherMonth__r6VJK","selected":"Calendar-module_selected__5e6h0","compact":"Calendar-module_compact__i0SF3","dots":"Calendar-module_dots__1Q7QR","dot":"Calendar-module_dot__tsCR1","dotMore":"Calendar-module_dotMore__emasD","weekNumberCell":"Calendar-module_weekNumberCell__bydCw","completed":"Calendar-module_completed__B-SHI","completedIcon":"Calendar-module_completedIcon__-oDZ9","moreEvents":"Calendar-module_moreEvents__TIKaT","emptyState":"Calendar-module_emptyState__2fcj7","dayView":"Calendar-module_dayView__PCIos","dayViewHeader":"Calendar-module_dayViewHeader__Gvxx2","timeColumnHeader":"Calendar-module_timeColumnHeader__B0btR","dayColumnHeader":"Calendar-module_dayColumnHeader__Rjqwg","allDayStrip":"Calendar-module_allDayStrip__VOqbV","allDayLabel":"Calendar-module_allDayLabel__2AmyT","allDayList":"Calendar-module_allDayList__6hFSb","dayViewScrollContainer":"Calendar-module_dayViewScrollContainer__84Byq","dayTimelineGrid":"Calendar-module_dayTimelineGrid__r1BNI","hourRow":"Calendar-module_hourRow__U-YN-","hourLabel":"Calendar-module_hourLabel__im84k","hourSlots":"Calendar-module_hourSlots__vbtYy","halfHourSlot":"Calendar-module_halfHourSlot__UWIri","halfHourSlotBottom":"Calendar-module_halfHourSlotBottom__aE5Mo","dayEventAnchor":"Calendar-module_dayEventAnchor__oryAi","weekTimeline":"Calendar-module_weekTimeline__q75EF","weekTimelineHeader":"Calendar-module_weekTimelineHeader__n5i06","weekDayColumnHeader":"Calendar-module_weekDayColumnHeader__u2ghX","weekDayLabel":"Calendar-module_weekDayLabel__i8Rm9","weekDayNumber":"Calendar-module_weekDayNumber__tqFKO","weekTimelineScroll":"Calendar-module_weekTimelineScroll__jesa0","weekTimelineGrid":"Calendar-module_weekTimelineGrid__MxIHF","weekTimeColumn":"Calendar-module_weekTimeColumn__rK4ZV","weekTimeSlot":"Calendar-module_weekTimeSlot__IFPUz","weekHourLabel":"Calendar-module_weekHourLabel__0ANmg","weekDayColumns":"Calendar-module_weekDayColumns__soiyU","weekDayColumn":"Calendar-module_weekDayColumn__sXVu0","weekHourRow":"Calendar-module_weekHourRow__FHcB2","weekEventAnchor":"Calendar-module_weekEventAnchor__nhG4x","currentTimeIndicator":"Calendar-module_currentTimeIndicator__GntOZ"};
2971
+ var styles$a = {"calendar":"Calendar-module_calendar__3mIJS","loading":"Calendar-module_loading__59Z9-","loadingSpinner":"Calendar-module_loadingSpinner__7MXqV","header":"Calendar-module_header__cZHNA","navigation":"Calendar-module_navigation__PGkpY","navButton":"Calendar-module_navButton__kOe-w","title":"Calendar-module_title__oJZ7m","controls":"Calendar-module_controls__i1Z38","exportDropdown":"Calendar-module_exportDropdown__yQX4q","exportButton":"Calendar-module_exportButton__dx7--","exportMenu":"Calendar-module_exportMenu__-lZ-8","exportMenuItem":"Calendar-module_exportMenuItem__D9MdL","todayButton":"Calendar-module_todayButton__Ac9zc","viewToggle":"Calendar-module_viewToggle__Fhg2t","viewButton":"Calendar-module_viewButton__J2WY6","active":"Calendar-module_active__lIqH-","filterBar":"Calendar-module_filterBar__ZD-lX","filterPill":"Calendar-module_filterPill__f7S8p","filterPillActive":"Calendar-module_filterPillActive__9Wtm9","filterDot":"Calendar-module_filterDot__E1Hp8","weekDays":"Calendar-module_weekDays__4J-8f","withWeekNumbers":"Calendar-module_withWeekNumbers__qbnUY","weekNumberHeader":"Calendar-module_weekNumberHeader__xhKbB","weekDay":"Calendar-module_weekDay__cg8Gr","daysGrid":"Calendar-module_daysGrid__ER0GM","dayCell":"Calendar-module_dayCell__TV-HR","dayNumber":"Calendar-module_dayNumber__ICH-X","today":"Calendar-module_today__eGuUU","events":"Calendar-module_events__qdbs7","event":"Calendar-module_event__Q1Zq3","eventTitle":"Calendar-module_eventTitle__XU7Wd","eventTime":"Calendar-module_eventTime__pMGEB","otherMonth":"Calendar-module_otherMonth__r6VJK","selected":"Calendar-module_selected__5e6h0","compact":"Calendar-module_compact__i0SF3","dots":"Calendar-module_dots__1Q7QR","dot":"Calendar-module_dot__tsCR1","dotMore":"Calendar-module_dotMore__emasD","weekNumberCell":"Calendar-module_weekNumberCell__bydCw","completed":"Calendar-module_completed__B-SHI","completedIcon":"Calendar-module_completedIcon__-oDZ9","moreEvents":"Calendar-module_moreEvents__TIKaT","emptyState":"Calendar-module_emptyState__2fcj7","dayView":"Calendar-module_dayView__PCIos","dayViewHeader":"Calendar-module_dayViewHeader__Gvxx2","timeColumnHeader":"Calendar-module_timeColumnHeader__B0btR","dayColumnHeader":"Calendar-module_dayColumnHeader__Rjqwg","allDayStrip":"Calendar-module_allDayStrip__VOqbV","allDayLabel":"Calendar-module_allDayLabel__2AmyT","allDayList":"Calendar-module_allDayList__6hFSb","dayViewScrollContainer":"Calendar-module_dayViewScrollContainer__84Byq","dayTimelineGrid":"Calendar-module_dayTimelineGrid__r1BNI","hourRow":"Calendar-module_hourRow__U-YN-","hourLabel":"Calendar-module_hourLabel__im84k","hourSlots":"Calendar-module_hourSlots__vbtYy","halfHourSlot":"Calendar-module_halfHourSlot__UWIri","halfHourSlotBottom":"Calendar-module_halfHourSlotBottom__aE5Mo","dayEventAnchor":"Calendar-module_dayEventAnchor__oryAi","weekTimeline":"Calendar-module_weekTimeline__q75EF","weekTimelineHeader":"Calendar-module_weekTimelineHeader__n5i06","weekDayColumnHeader":"Calendar-module_weekDayColumnHeader__u2ghX","weekDayLabel":"Calendar-module_weekDayLabel__i8Rm9","weekDayNumber":"Calendar-module_weekDayNumber__tqFKO","weekTimelineScroll":"Calendar-module_weekTimelineScroll__jesa0","weekTimelineGrid":"Calendar-module_weekTimelineGrid__MxIHF","weekTimeColumn":"Calendar-module_weekTimeColumn__rK4ZV","weekTimeSlot":"Calendar-module_weekTimeSlot__IFPUz","weekHourLabel":"Calendar-module_weekHourLabel__0ANmg","weekDayColumns":"Calendar-module_weekDayColumns__soiyU","weekDayColumn":"Calendar-module_weekDayColumn__sXVu0","weekHourRow":"Calendar-module_weekHourRow__FHcB2","weekEventAnchor":"Calendar-module_weekEventAnchor__nhG4x","currentTimeIndicator":"Calendar-module_currentTimeIndicator__GntOZ"};
2979
2972
 
2980
2973
  var styles$9 = {"wrapper":"DayEventCard-module_wrapper__qvRgl","deleteUnderlay":"DayEventCard-module_deleteUnderlay__fTtuX","card":"DayEventCard-module_card__V9xTi","dragging":"DayEventCard-module_dragging__q19ID","completed":"DayEventCard-module_completed__tq8ol","text":"DayEventCard-module_text__3dWF7","grip":"DayEventCard-module_grip__tmim4","checkIcon":"DayEventCard-module_checkIcon__Ki67j","time":"DayEventCard-module_time__Ojdye","editButton":"DayEventCard-module_editButton__nDi-e"};
2981
2974
 
@@ -3047,6 +3040,92 @@ const DayEventCard = ({ event, color, textColor, onComplete, onEdit, onDelete, o
3047
3040
  }, "aria-label": "Edit event", children: jsxRuntime.jsx(lucideReact.Pencil, { size: 13 }) }))] })] }));
3048
3041
  };
3049
3042
 
3043
+ const EXPORT_FIELDS = [
3044
+ 'id', 'title', 'date', 'time', 'endTime', 'allDay',
3045
+ 'type', 'status', 'priority', 'category',
3046
+ ];
3047
+ const toIsoDate = (d) => {
3048
+ const date = typeof d === 'string' ? new Date(d) : d;
3049
+ return date.toISOString();
3050
+ };
3051
+ const normalize = (event) => {
3052
+ const row = {};
3053
+ for (const f of EXPORT_FIELDS) {
3054
+ const v = event[f];
3055
+ if (v === undefined)
3056
+ continue;
3057
+ row[f] = f === 'date' ? toIsoDate(v) : v;
3058
+ }
3059
+ return row;
3060
+ };
3061
+ const escCsv = (value) => {
3062
+ if (value === undefined || value === null)
3063
+ return '';
3064
+ const s = String(value);
3065
+ if (/[",\n\r]/.test(s))
3066
+ return `"${s.replace(/"/g, '""')}"`;
3067
+ return s;
3068
+ };
3069
+ const toCsv = (events) => {
3070
+ const header = EXPORT_FIELDS.join(',');
3071
+ const rows = events.map(e => {
3072
+ const n = normalize(e);
3073
+ return EXPORT_FIELDS.map(f => escCsv(n[f])).join(',');
3074
+ });
3075
+ return [header, ...rows].join('\n');
3076
+ };
3077
+ const toJson = (events) => {
3078
+ return JSON.stringify(events.map(normalize), null, 2);
3079
+ };
3080
+ // TOON (Token-Oriented Object Notation): compact tabular text for uniform arrays.
3081
+ // Format: `events[N]{field1,field2,...}:` then indented rows of comma-separated values.
3082
+ // Strings containing comma/quote/newline are wrapped in double quotes with "" escaping.
3083
+ const escToon = (value) => {
3084
+ if (value === undefined || value === null)
3085
+ return '';
3086
+ const s = String(value);
3087
+ if (/[",\n\r]/.test(s))
3088
+ return `"${s.replace(/"/g, '""')}"`;
3089
+ return s;
3090
+ };
3091
+ const toToon = (events) => {
3092
+ const header = `events[${events.length}]{${EXPORT_FIELDS.join(',')}}:`;
3093
+ const rows = events.map(e => {
3094
+ const n = normalize(e);
3095
+ return ' ' + EXPORT_FIELDS.map(f => escToon(n[f])).join(',');
3096
+ });
3097
+ return [header, ...rows].join('\n');
3098
+ };
3099
+ const MIME = {
3100
+ csv: 'text/csv;charset=utf-8;',
3101
+ json: 'application/json;charset=utf-8;',
3102
+ toon: 'text/plain;charset=utf-8;',
3103
+ };
3104
+ const EXT = {
3105
+ csv: 'csv',
3106
+ json: 'json',
3107
+ toon: 'toon',
3108
+ };
3109
+ const serializeEvents = (events, format) => {
3110
+ if (format === 'csv')
3111
+ return toCsv(events);
3112
+ if (format === 'json')
3113
+ return toJson(events);
3114
+ return toToon(events);
3115
+ };
3116
+ const downloadEvents = (events, format, filename) => {
3117
+ const content = serializeEvents(events, format);
3118
+ const blob = new Blob([content], { type: MIME[format] });
3119
+ const url = URL.createObjectURL(blob);
3120
+ const a = document.createElement('a');
3121
+ a.href = url;
3122
+ a.download = `events-${new Date().toISOString().slice(0, 10)}.${EXT[format]}`;
3123
+ document.body.appendChild(a);
3124
+ a.click();
3125
+ document.body.removeChild(a);
3126
+ URL.revokeObjectURL(url);
3127
+ };
3128
+
3050
3129
  /**
3051
3130
  * Calendar component - A flexible, reusable calendar for displaying events
3052
3131
  *
@@ -3076,7 +3155,7 @@ const DayEventCard = ({ event, color, textColor, onComplete, onEdit, onDelete, o
3076
3155
  * onEventClick={handleEventClick}
3077
3156
  * />
3078
3157
  */
3079
- function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDateClickByView, onTimeSlotClick, onEventDrop, onEventComplete, onEventDelete, onEventEdit, viewMode = 'month', initialDate = new Date(), config = {}, className = '', style = {}, loading = false, emptyState, hideHeader = false, compact = false, selectedDate, selectedCategoryId, onCategoryChange }) {
3158
+ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDateClickByView, onTimeSlotClick, onEventDrop, onEventComplete, onEventDelete, onEventEdit, viewMode = 'month', initialDate = new Date(), config = {}, className = '', style = {}, loading = false, emptyState, hideHeader = false, compact = false, selectedDate, selectedCategoryId, onCategoryChange, exportFormats }) {
3080
3159
  const [currentDate, setCurrentDate] = React.useState(initialDate);
3081
3160
  const [currentViewMode, setCurrentViewMode] = React.useState(viewMode);
3082
3161
  const [internalCategoryId, setInternalCategoryId] = React.useState(null);
@@ -3089,6 +3168,19 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
3089
3168
  };
3090
3169
  const dayViewScrollRef = React.useRef(null);
3091
3170
  const weekViewScrollRef = React.useRef(null);
3171
+ const [exportOpen, setExportOpen] = React.useState(false);
3172
+ const exportRef = React.useRef(null);
3173
+ React.useEffect(() => {
3174
+ if (!exportOpen)
3175
+ return;
3176
+ const handler = (e) => {
3177
+ if (exportRef.current && !exportRef.current.contains(e.target)) {
3178
+ setExportOpen(false);
3179
+ }
3180
+ };
3181
+ document.addEventListener('mousedown', handler);
3182
+ return () => document.removeEventListener('mousedown', handler);
3183
+ }, [exportOpen]);
3092
3184
  const { eventColors = {}, iconRenderer, maxEventsPerDay = 3, mondayStart = false, showWeekNumbers = false, dateFormat = { month: 'long', year: 'numeric' }, locale = 'en-US', dayLabels, monthNames, startHour = 0, endHour = 24, hourHeight = 60, halfHourSlots = false, categories } = config;
3093
3185
  const filteredEvents = React.useMemo(() => {
3094
3186
  if (!categories || categories.length === 0 || activeCategoryId === null)
@@ -3301,7 +3393,10 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
3301
3393
  return (jsxRuntime.jsxs("div", { className: `${styles$a.calendar} ${compact ? styles$a.compact : ''} ${className}`, style: style, children: [!hideHeader && (jsxRuntime.jsxs("div", { className: styles$a.header, children: [jsxRuntime.jsxs("div", { className: styles$a.navigation, children: [jsxRuntime.jsx("button", { onClick: handlePrevious, className: styles$a.navButton, "aria-label": "Previous", children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsxRuntime.jsx("polyline", { points: "15,18 9,12 15,6" }) }) }), jsxRuntime.jsx("h3", { className: styles$a.title, children: calendarData.displayTitle }), jsxRuntime.jsx("button", { onClick: handleNext, className: styles$a.navButton, "aria-label": "Next", children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsxRuntime.jsx("polyline", { points: "9,6 15,12 9,18" }) }) })] }), categories && categories.length > 0 && (jsxRuntime.jsxs("div", { className: styles$a.filterBar, role: "tablist", "aria-label": "Filter by category", children: [jsxRuntime.jsx("button", { type: "button", role: "tab", "aria-selected": activeCategoryId === null, className: `${styles$a.filterPill} ${activeCategoryId === null ? styles$a.filterPillActive : ''}`, onClick: () => handleCategoryPick(null), children: "All" }), categories.map(cat => {
3302
3394
  const active = activeCategoryId === cat.id;
3303
3395
  return (jsxRuntime.jsxs("button", { type: "button", role: "tab", "aria-selected": active, className: `${styles$a.filterPill} ${active ? styles$a.filterPillActive : ''}`, style: active ? { background: cat.color, borderColor: cat.color, color: '#ffffff' } : undefined, onClick: () => handleCategoryPick(cat.id), children: [!active && (jsxRuntime.jsx("span", { className: styles$a.filterDot, style: { background: cat.color } })), cat.label] }, cat.id));
3304
- })] })), jsxRuntime.jsxs("div", { className: styles$a.controls, children: [jsxRuntime.jsx("button", { onClick: handleToday, className: styles$a.todayButton, children: "Today" }), jsxRuntime.jsxs("div", { className: styles$a.viewToggle, children: [jsxRuntime.jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'month' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('month'), children: "Month" }), jsxRuntime.jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'week' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('week'), children: "Week" }), jsxRuntime.jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'day' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('day'), children: "Day" })] })] })] })), currentViewMode === 'month' && (jsxRuntime.jsxs("div", { className: `${styles$a.weekDays} ${showWeekNumbers ? styles$a.withWeekNumbers : ''}`, children: [showWeekNumbers && jsxRuntime.jsx("div", { className: styles$a.weekNumberHeader, children: "Wk" }), finalDayLabels.map((day) => (jsxRuntime.jsx("div", { className: styles$a.weekDay, children: day }, day)))] })), currentViewMode === 'day' ? (
3396
+ })] })), jsxRuntime.jsxs("div", { className: styles$a.controls, children: [exportFormats && exportFormats.length > 0 && (jsxRuntime.jsxs("div", { className: styles$a.exportDropdown, ref: exportRef, children: [jsxRuntime.jsx("button", { type: "button", className: styles$a.exportButton, onClick: () => setExportOpen(v => !v), "aria-haspopup": "menu", "aria-expanded": exportOpen, "aria-label": "Export events", title: "Export events", children: jsxRuntime.jsx(lucideReact.Download, { size: 16 }) }), exportOpen && (jsxRuntime.jsx("div", { className: styles$a.exportMenu, role: "menu", children: exportFormats.map(format => (jsxRuntime.jsx("button", { type: "button", role: "menuitem", className: styles$a.exportMenuItem, onClick: () => {
3397
+ downloadEvents(filteredEvents, format);
3398
+ setExportOpen(false);
3399
+ }, children: format.toUpperCase() }, format))) }))] })), jsxRuntime.jsx("button", { onClick: handleToday, className: styles$a.todayButton, children: "Today" }), jsxRuntime.jsxs("div", { className: styles$a.viewToggle, children: [jsxRuntime.jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'month' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('month'), children: "Month" }), jsxRuntime.jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'week' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('week'), children: "Week" }), jsxRuntime.jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'day' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('day'), children: "Day" })] })] })] })), currentViewMode === 'month' && (jsxRuntime.jsxs("div", { className: `${styles$a.weekDays} ${showWeekNumbers ? styles$a.withWeekNumbers : ''}`, children: [showWeekNumbers && jsxRuntime.jsx("div", { className: styles$a.weekNumberHeader, children: "Wk" }), finalDayLabels.map((day) => (jsxRuntime.jsx("div", { className: styles$a.weekDay, children: day }, day)))] })), currentViewMode === 'day' ? (
3305
3400
  // Day view layout — positioned events with duration, all-day strip, now-line
3306
3401
  (() => {
3307
3402
  const dayEvents = getDayEvents(currentDate);