@stfrigerio/sito-template 0.1.95 → 0.1.97

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 (197) hide show
  1. package/dist/components/molecules/RecurrencePicker/RecurrencePicker.d.ts +13 -0
  2. package/dist/components/molecules/RecurrencePicker/RecurrencePicker.d.ts.map +1 -0
  3. package/dist/components/molecules/RecurrencePicker/RecurrencePicker.stories.d.ts +12 -0
  4. package/dist/components/molecules/RecurrencePicker/RecurrencePicker.stories.d.ts.map +1 -0
  5. package/dist/components/molecules/RecurrencePicker/index.d.ts +3 -0
  6. package/dist/components/molecules/RecurrencePicker/index.d.ts.map +1 -0
  7. package/dist/components/molecules/index.d.ts +2 -0
  8. package/dist/components/molecules/index.d.ts.map +1 -1
  9. package/dist/index.esm.js +341 -183
  10. package/dist/index.esm.js.map +1 -1
  11. package/dist/index.js +344 -185
  12. package/dist/index.js.map +1 -1
  13. package/dist/styles.css +1 -1
  14. package/dist/styles.css.map +1 -1
  15. package/dist/themes/lossito.css +243 -49
  16. package/package.json +2 -1
  17. package/storybook-static/assets/{ASCIIText.stories-DFJdLu85.js → ASCIIText.stories-Df73neNa.js} +1 -1
  18. package/storybook-static/assets/{AllAtoms.stories-exRxVmzu.js → AllAtoms.stories-BiI0dRwW.js} +1 -1
  19. package/storybook-static/assets/{AnimatedContent.stories-A1SzIOe2.js → AnimatedContent.stories-DjkrPhwb.js} +1 -1
  20. package/storybook-static/assets/{AnimatedList.stories-D2Q-T7WK.js → AnimatedList.stories-BfUnGN7d.js} +1 -1
  21. package/storybook-static/assets/{Antigravity.stories-CB3_2V40.js → Antigravity.stories-BTD9Xg7T.js} +1 -1
  22. package/storybook-static/assets/{ArrayInput.stories-pogP4q4b.js → ArrayInput.stories-B9kdIT9a.js} +1 -1
  23. package/storybook-static/assets/{Aurora.stories-Cu440k5S.js → Aurora.stories-BKttBo3z.js} +1 -1
  24. package/storybook-static/assets/{Beams.stories-CzUpFwoS.js → Beams.stories-BT-94qMG.js} +1 -1
  25. package/storybook-static/assets/{BlobCursor.stories-IsVKCCEO.js → BlobCursor.stories-C0fe-xEI.js} +1 -1
  26. package/storybook-static/assets/{BlurText.stories-BVGu0aqN.js → BlurText.stories-CASYZKEu.js} +1 -1
  27. package/storybook-static/assets/{BooleansHeatmap.stories-BthQ5ehB.js → BooleansHeatmap.stories-CUTRmSWT.js} +1 -1
  28. package/storybook-static/assets/{BorderGlow.stories-BNwBLObC.js → BorderGlow.stories-Cbr654fz.js} +1 -1
  29. package/storybook-static/assets/{BubbleMenu.stories-7__gkj8R.js → BubbleMenu.stories-D6s9f9iP.js} +1 -1
  30. package/storybook-static/assets/{Button-CwSLfSSb.js → Button-BFN9LHxy.js} +1 -1
  31. package/storybook-static/assets/{Button.stories-DXdSC8Ub.js → Button.stories--QkKginK.js} +1 -1
  32. package/storybook-static/assets/{Calendar.stories-HJNrPTKA.js → Calendar.stories-C6fMirS-.js} +2 -2
  33. package/storybook-static/assets/{Card-CMuvydSk.js → Card-VJ_YQ2Rs.js} +1 -1
  34. package/storybook-static/assets/{Card.stories-C6r4Lfy1.js → Card.stories-BDxNouIx.js} +1 -1
  35. package/storybook-static/assets/{CardNav.stories-WDha-__w.js → CardNav.stories-BnhrMkGa.js} +1 -1
  36. package/storybook-static/assets/{Carousel.stories-C73W8Cj0.js → Carousel.stories-CifGVvYJ.js} +1 -1
  37. package/storybook-static/assets/{Checkbox-DXDBhCOJ.js → Checkbox-BmAUW9fp.js} +1 -1
  38. package/storybook-static/assets/{Checkbox.stories-BdYI4nAD.js → Checkbox.stories-C_UvBcxW.js} +1 -1
  39. package/storybook-static/assets/{ChromaGrid.stories-DWa4kR3d.js → ChromaGrid.stories-BUUY24tG.js} +1 -1
  40. package/storybook-static/assets/{CircularGallery.stories-DtM7FALz.js → CircularGallery.stories-BAHtaC5N.js} +1 -1
  41. package/storybook-static/assets/{CircularText.stories-BaJvxGQF.js → CircularText.stories-Dyfa9TGc.js} +1 -1
  42. package/storybook-static/assets/{ClickSpark.stories--IchxFvN.js → ClickSpark.stories-DyY7-W0U.js} +1 -1
  43. package/storybook-static/assets/{ColorBends.stories-0cTr18l9.js → ColorBends.stories-C09fGbbd.js} +1 -1
  44. package/storybook-static/assets/{CountUp.stories-Cf4NC-XR.js → CountUp.stories-D319IPzj.js} +1 -1
  45. package/storybook-static/assets/{Counter.stories-CyhbcvKm.js → Counter.stories-DyCug9AH.js} +1 -1
  46. package/storybook-static/assets/{Crosshair.stories-ZZ5g9eO6.js → Crosshair.stories-B0WQ_fE1.js} +1 -1
  47. package/storybook-static/assets/{Cubes.stories-CrYhlnje.js → Cubes.stories-mKx-JaV9.js} +1 -1
  48. package/storybook-static/assets/{CurvedLoop.stories-DyK7Wlt6.js → CurvedLoop.stories-CPT1TgIj.js} +1 -1
  49. package/storybook-static/assets/{DarkVeil.stories-BEf6V85c.js → DarkVeil.stories-DO4z0Xfp.js} +1 -1
  50. package/storybook-static/assets/{DateInput-8onWa3KI.js → DateInput-CgcMwqZf.js} +1 -1
  51. package/storybook-static/assets/{DateInput.stories-BUDpdFa5.js → DateInput.stories-9DZA97sK.js} +1 -1
  52. package/storybook-static/assets/{DecayCard.stories-DG0lwrmk.js → DecayCard.stories-DGvn_IgJ.js} +1 -1
  53. package/storybook-static/assets/{DecryptedText.stories-BAy5in1k.js → DecryptedText.stories-_ycl9X6g.js} +1 -1
  54. package/storybook-static/assets/{Dither.stories-B0Asjgfz.js → Dither.stories-B1UXWjuE.js} +1 -1
  55. package/storybook-static/assets/{Dock.stories-BrZSOCw5.js → Dock.stories--hZxLVBG.js} +1 -1
  56. package/storybook-static/assets/{EditFAB.stories-Cur6BXdD.js → EditFAB.stories-ujZfcFCB.js} +1 -1
  57. package/storybook-static/assets/{EvilEye.stories-C6fVeJGL.js → EvilEye.stories-DbdhTF7k.js} +1 -1
  58. package/storybook-static/assets/{FadeContent.stories-Ckl198gp.js → FadeContent.stories-CwCMoiJh.js} +1 -1
  59. package/storybook-static/assets/{FaultyTerminal.stories-CRQCWCv-.js → FaultyTerminal.stories-DIhmC0oV.js} +1 -1
  60. package/storybook-static/assets/{Fbo-DIZ3Y1HH.js → Fbo-X5yWHBm9.js} +1 -1
  61. package/storybook-static/assets/{FloatingLines.stories-BqgEOEZS.js → FloatingLines.stories-BVLUpCaG.js} +1 -1
  62. package/storybook-static/assets/{FlowingMenu.stories-BnPI8poB.js → FlowingMenu.stories-Bz2Hm0ud.js} +1 -1
  63. package/storybook-static/assets/{FluidGlass.stories-CHAlMw3S.js → FluidGlass.stories-iKAeEvkd.js} +1 -1
  64. package/storybook-static/assets/{Folder.stories-Dk5JAIQD.js → Folder.stories-DsIub0M3.js} +1 -1
  65. package/storybook-static/assets/{FuzzyText.stories-BtDnau8f.js → FuzzyText.stories-oIYU7hRG.js} +1 -1
  66. package/storybook-static/assets/{Galaxy.stories-BzhW3GF9.js → Galaxy.stories-CjouLZaF.js} +1 -1
  67. package/storybook-static/assets/{GhostCursor.stories-DieHFjxw.js → GhostCursor.stories-DCvUCCxa.js} +1 -1
  68. package/storybook-static/assets/{GlareHover.stories-BHoXBn9o.js → GlareHover.stories-Djk9iCFM.js} +1 -1
  69. package/storybook-static/assets/{GlassSurface.stories-DREe1ppH.js → GlassSurface.stories-VZesotzp.js} +1 -1
  70. package/storybook-static/assets/{GlitchText.stories-ByEeawKD.js → GlitchText.stories-sn_wSP7G.js} +1 -1
  71. package/storybook-static/assets/{GooeyNav.stories-BwwWfgQg.js → GooeyNav.stories-BFC9B_L0.js} +1 -1
  72. package/storybook-static/assets/{GradientBlinds.stories-ZaBq37aP.js → GradientBlinds.stories-z-3FXHpB.js} +1 -1
  73. package/storybook-static/assets/{GradientText.stories-OlD8JIJh.js → GradientText.stories-B9P29Fe5.js} +1 -1
  74. package/storybook-static/assets/{Grainient.stories-CfHG2dG3.js → Grainient.stories-BxQe6t8A.js} +1 -1
  75. package/storybook-static/assets/{GridMotion.stories-BsWVs4IR.js → GridMotion.stories-B8Qfotg2.js} +1 -1
  76. package/storybook-static/assets/{HabitTimeOfDayChart.stories-DfBLc8St.js → HabitTimeOfDayChart.stories-DqOwaExY.js} +1 -1
  77. package/storybook-static/assets/{ImageSlideshow.stories-Cpb9fisd.js → ImageSlideshow.stories-C7AUfiPQ.js} +1 -1
  78. package/storybook-static/assets/{Iridescence.stories-Ch3ilnYv.js → Iridescence.stories-CmJNPKZp.js} +1 -1
  79. package/storybook-static/assets/{LaserFlow.stories-DenbpERy.js → LaserFlow.stories-Cj36k-Br.js} +1 -1
  80. package/storybook-static/assets/{LetterGlitch.stories-D1DfeFIa.js → LetterGlitch.stories-3n0_SpPW.js} +1 -1
  81. package/storybook-static/assets/{LightPillar.stories-CVxcYtjt.js → LightPillar.stories-DLDV89_g.js} +1 -1
  82. package/storybook-static/assets/{LightRays.stories-F5idlq2b.js → LightRays.stories-95rx1Jld.js} +1 -1
  83. package/storybook-static/assets/{Lightning.stories-Diu1zWyT.js → Lightning.stories-Ban00VPp.js} +1 -1
  84. package/storybook-static/assets/{LineWaves.stories-CmEm2I-A.js → LineWaves.stories-tYVITNBI.js} +1 -1
  85. package/storybook-static/assets/{LiquidChrome.stories-CHP_FcPv.js → LiquidChrome.stories-CRXhS5wG.js} +1 -1
  86. package/storybook-static/assets/{LiquidEther.stories-Iraa-nLM.js → LiquidEther.stories-DFcjj4WN.js} +1 -1
  87. package/storybook-static/assets/{LoadingSpinner-DlrNT1AA.js → LoadingSpinner-BCSPbqAf.js} +1 -1
  88. package/storybook-static/assets/{LoadingSpinner.stories-CnE24Tsx.js → LoadingSpinner.stories-B-3mwj6v.js} +1 -1
  89. package/storybook-static/assets/{MagicRings.stories-BqJypRLP.js → MagicRings.stories-DxX9Y4fZ.js} +1 -1
  90. package/storybook-static/assets/{Magnet.stories-DL0Go3qR.js → Magnet.stories-BtP078KP.js} +1 -1
  91. package/storybook-static/assets/{MagnetLines.stories-CxpAiInh.js → MagnetLines.stories-Boc9ZU8z.js} +1 -1
  92. package/storybook-static/assets/{Masonry.stories-flII8LRK.js → Masonry.stories-BZUo993q.js} +1 -1
  93. package/storybook-static/assets/{MetaBalls.stories-Bs_-0CGV.js → MetaBalls.stories-DXYO9QHZ.js} +1 -1
  94. package/storybook-static/assets/{MetallicPaint.stories-DiyJoRNq.js → MetallicPaint.stories-BSFAAtcE.js} +1 -1
  95. package/storybook-static/assets/{MoodChart.stories-CJ2A0E0j.js → MoodChart.stories-CnSQKAhp.js} +1 -1
  96. package/storybook-static/assets/{MotionConfigContext-Dyabqz-b.js → MotionConfigContext-cqdgvETc.js} +1 -1
  97. package/storybook-static/assets/{Navbar.stories-B--ABN9C.js → Navbar.stories-TgnWvuhq.js} +1 -1
  98. package/storybook-static/assets/{Noise.stories-BpKTpxeE.js → Noise.stories-COwmBW-s.js} +1 -1
  99. package/storybook-static/assets/{NumberStepper-EhG-KGNo.js → NumberStepper-BLyqaAZY.js} +1 -1
  100. package/storybook-static/assets/{NumberStepper.stories-Ba1aWk0g.js → NumberStepper.stories-BH--ymZD.js} +1 -1
  101. package/storybook-static/assets/{Orb.stories-D8od8KSg.js → Orb.stories-BouXCqts.js} +1 -1
  102. package/storybook-static/assets/{OrbitImages.stories-Dxj-5r4i.js → OrbitImages.stories-DwPbtwmh.js} +1 -1
  103. package/storybook-static/assets/{PieChart.stories-DWw4EGwt.js → PieChart.stories-ThEQ6o4T.js} +1 -1
  104. package/storybook-static/assets/{PixelBlast.stories-C3u9ldzB.js → PixelBlast.stories-CXLoQgLR.js} +1 -1
  105. package/storybook-static/assets/{PixelCard.stories-BtQ8LfFf.js → PixelCard.stories-CwsDhfSZ.js} +1 -1
  106. package/storybook-static/assets/{PixelSnow.stories-KpmT5jBn.js → PixelSnow.stories-B78--r-5.js} +1 -1
  107. package/storybook-static/assets/{PixelTransition.stories-CJs0eV-2.js → PixelTransition.stories-CQRCg5Dh.js} +1 -1
  108. package/storybook-static/assets/{Plasma.stories-CivG0ZTB.js → Plasma.stories-C4nsJ8m0.js} +1 -1
  109. package/storybook-static/assets/{Prism.stories--tExtMti.js → Prism.stories-CYyW2MhJ.js} +1 -1
  110. package/storybook-static/assets/{PrismaticBurst.stories-BEHRmqtH.js → PrismaticBurst.stories-DPAVXNq-.js} +1 -1
  111. package/storybook-static/assets/{ProfileCard.stories-Bfv1Qk_A.js → ProfileCard.stories-GQnHhvBL.js} +1 -1
  112. package/storybook-static/assets/{QuantifiableHabitsChart.stories-WPetwjBc.js → QuantifiableHabitsChart.stories-DQybQV3G.js} +1 -1
  113. package/storybook-static/assets/{Radar.stories-CWQNMWx2.js → Radar.stories-BiS3kVBK.js} +1 -1
  114. package/storybook-static/assets/RecurrencePicker-Bjafom-j.css +1 -0
  115. package/storybook-static/assets/RecurrencePicker.stories-AkU87_0U.js +19 -0
  116. package/storybook-static/assets/{Ribbons.stories-B3X4I9Cz.js → Ribbons.stories-OMZCYkS-.js} +1 -1
  117. package/storybook-static/assets/{RippleGrid.stories-O3VVcQWl.js → RippleGrid.stories-f-knJ_dC.js} +1 -1
  118. package/storybook-static/assets/{RotatingText.stories-Cs-vTbFZ.js → RotatingText.stories-Cs5g6eNr.js} +1 -1
  119. package/storybook-static/assets/{ScrollFloat.stories-BMoNuRtU.js → ScrollFloat.stories-BkinOlWM.js} +1 -1
  120. package/storybook-static/assets/{ScrollReveal.stories-C5dVXxt1.js → ScrollReveal.stories-DAawYSvS.js} +1 -1
  121. package/storybook-static/assets/{ScrollVelocity.stories-CJKSvAY4.js → ScrollVelocity.stories-DDKvgeRt.js} +1 -1
  122. package/storybook-static/assets/{SearchBar.stories-Dtm9l67y.js → SearchBar.stories-DontnpSK.js} +1 -1
  123. package/storybook-static/assets/{SearchableDropdown-Dqzi4LKk.js → SearchableDropdown-DOvqXBhT.js} +1 -1
  124. package/storybook-static/assets/{SearchableDropdown.stories-BG3ESCwq.js → SearchableDropdown.stories-Ct5wfF8Q.js} +1 -1
  125. package/storybook-static/assets/{SelectInput-BUDt34Ej.js → SelectInput-DTobf0zh.js} +1 -1
  126. package/storybook-static/assets/{SelectInput.stories-Dxe4mL9o.js → SelectInput.stories-D65m3xT6.js} +1 -1
  127. package/storybook-static/assets/{ShapeBlur.stories-C2sk-BXL.js → ShapeBlur.stories-C2QcmUF6.js} +1 -1
  128. package/storybook-static/assets/{ShapeGrid.stories-ihKrWukc.js → ShapeGrid.stories-B4UpvWuC.js} +1 -1
  129. package/storybook-static/assets/{ShinyText.stories-DwNgYe9N.js → ShinyText.stories-Dx9uB0Ge.js} +1 -1
  130. package/storybook-static/assets/{Silk.stories-CzFSFGhP.js → Silk.stories-OqHp151A.js} +1 -1
  131. package/storybook-static/assets/{SleepChart.stories-CZufs6Gb.js → SleepChart.stories-EvXrufhV.js} +1 -1
  132. package/storybook-static/assets/{Slider-BRAq3fxE.js → Slider-B49_dS8L.js} +1 -1
  133. package/storybook-static/assets/{Slider.stories-CK522MN_.js → Slider.stories-C-WUPilU.js} +1 -1
  134. package/storybook-static/assets/{SoftAurora.stories-DqOpOzFw.js → SoftAurora.stories-D3FuYkw4.js} +1 -1
  135. package/storybook-static/assets/{SoundDemo.stories-BkFbK-1Y.js → SoundDemo.stories-BgQu6ftq.js} +1 -1
  136. package/storybook-static/assets/{SplashCursor.stories-ClGNxcw4.js → SplashCursor.stories-DWJpmVM0.js} +1 -1
  137. package/storybook-static/assets/{SpotlightCard.stories-B-Hpffrl.js → SpotlightCard.stories-B59YbgvD.js} +1 -1
  138. package/storybook-static/assets/{Stack.stories-DLN47Bj-.js → Stack.stories-C0txqVGC.js} +1 -1
  139. package/storybook-static/assets/{StaggeredMenu.stories-DL6I7cbu.js → StaggeredMenu.stories-B-EDB5Rd.js} +1 -1
  140. package/storybook-static/assets/{StarBorder.stories-BIP0gskB.js → StarBorder.stories-WozhQkt_.js} +1 -1
  141. package/storybook-static/assets/{SunburstChart.stories-Bb0VKYC3.js → SunburstChart.stories-B-FtFWzz.js} +1 -1
  142. package/storybook-static/assets/{Table.stories-DeMvjpqQ.js → Table.stories-CnuV2Phn.js} +1 -1
  143. package/storybook-static/assets/{Tabs.stories-qZulSRrO.js → Tabs.stories-C6Ixt85v.js} +1 -1
  144. package/storybook-static/assets/{TargetCursor.stories-4pSN2J9r.js → TargetCursor.stories-D05-aNwu.js} +1 -1
  145. package/storybook-static/assets/{TextArea-CvRZ3TaY.js → TextArea-DtQ-6kae.js} +1 -1
  146. package/storybook-static/assets/{TextArea.stories-teCx-H2z.js → TextArea.stories-DQa3wP_Z.js} +1 -1
  147. package/storybook-static/assets/{TextCursor.stories-pry7pdoW.js → TextCursor.stories-BJTUllxj.js} +1 -1
  148. package/storybook-static/assets/{TextInput-BPdFcHbk.js → TextInput-ohzWFFuq.js} +1 -1
  149. package/storybook-static/assets/{TextInput.stories-B-HTRiwl.js → TextInput.stories-CIFhZSxb.js} +1 -1
  150. package/storybook-static/assets/{TextPressure.stories-BdtIOM1Y.js → TextPressure.stories-BDbHdoj0.js} +1 -1
  151. package/storybook-static/assets/{TextType.stories-Bq-Vo4qL.js → TextType.stories-Dpp0yM1F.js} +1 -1
  152. package/storybook-static/assets/{ThemeSwitcher.stories-SgJg0LCK.js → ThemeSwitcher.stories-Ch3eX-Q4.js} +1 -1
  153. package/storybook-static/assets/{Threads.stories-hqtYUEu-.js → Threads.stories-BYlFBArL.js} +1 -1
  154. package/storybook-static/assets/{TimeInput.stories-CPOqj_Se.js → TimeInput.stories-ChJb0EcK.js} +1 -1
  155. package/storybook-static/assets/{Toggle-CAPcFsLF.js → Toggle-Er5JazC4.js} +1 -1
  156. package/storybook-static/assets/{Toggle.stories-O2_0c-1s.js → Toggle.stories-ClF63HwM.js} +1 -1
  157. package/storybook-static/assets/{ToggleButton-BZOAtsmB.js → ToggleButton-BgyTdkGs.js} +1 -1
  158. package/storybook-static/assets/{ToggleButton.stories-JG_Pazh7.js → ToggleButton.stories-D2YQjBPU.js} +1 -1
  159. package/storybook-static/assets/{TrueFocus.stories-rLnKDbsk.js → TrueFocus.stories-B4Qoh1Ek.js} +1 -1
  160. package/storybook-static/assets/{VariableProximity.stories-RaopvofU.js → VariableProximity.stories-DLzbqQ-q.js} +1 -1
  161. package/storybook-static/assets/{Waves.stories-oO9FrJAS.js → Waves.stories-OX3VExu5.js} +1 -1
  162. package/storybook-static/assets/{calendar-JsvgBBDH.js → calendar-3_ekvfk7.js} +1 -1
  163. package/storybook-static/assets/{chart-column-mrC32qXf.js → chart-column-B99l8ykF.js} +1 -1
  164. package/storybook-static/assets/{check-CvrIUYEl.js → check-MGuZ-vQU.js} +1 -1
  165. package/storybook-static/assets/{chevron-down-BUZZ9BTx.js → chevron-down-dMiwJ2Fa.js} +1 -1
  166. package/storybook-static/assets/{chevron-right-SVhPWVWz.js → chevron-right-BGiouhAQ.js} +1 -1
  167. package/storybook-static/assets/client-AUYJ3-v0.js +1 -0
  168. package/storybook-static/assets/{createLucideIcon-D1rlWUhC.js → createLucideIcon-He700CuR.js} +1 -1
  169. package/storybook-static/assets/{download-Bmqc20p3.js → download-BKSOfxpe.js} +1 -1
  170. package/storybook-static/assets/{folder-BCJqv57N.js → folder-LestSoCO.js} +1 -1
  171. package/storybook-static/assets/{iconBase-Bvu3HEFH.js → iconBase-zJDHXTd9.js} +1 -1
  172. package/storybook-static/assets/iframe-1P7UMs1C.css +1 -0
  173. package/storybook-static/assets/{iframe-D7y7FUTK.js → iframe-D8qqeeGJ.js} +3 -3
  174. package/storybook-static/assets/{index-BCGRwJ5q.js → index-C-VnSuS_.js} +1 -1
  175. package/storybook-static/assets/{index-C_G3JJLn.js → index-CJyQ6SwC.js} +1 -1
  176. package/storybook-static/assets/{index-um02zCcj.js → index-L49vE-ah.js} +1 -1
  177. package/storybook-static/assets/{proxy-Ce-uTDDv.js → proxy-1W9qMPm5.js} +1 -1
  178. package/storybook-static/assets/{react-18-DlLnXErP.js → react-18-BVZJZnf4.js} +1 -1
  179. package/storybook-static/assets/{react-three-fiber.esm-ssg-DJvA.js → react-three-fiber.esm-Ccm-0uhF.js} +1 -1
  180. package/storybook-static/assets/{search-BpBodH3r.js → search-BgqlFsxE.js} +1 -1
  181. package/storybook-static/assets/{settings-D8D67Id0.js → settings-BXbuThqT.js} +1 -1
  182. package/storybook-static/assets/{sun-BQcJSsaQ.js → sun-DzhjLvFL.js} +1 -1
  183. package/storybook-static/assets/{trash-2-D6WRmoL3.js → trash-2-SM79_8re.js} +1 -1
  184. package/storybook-static/assets/{use-animation-frame-CO9S19qn.js → use-animation-frame-sEnyIjfp.js} +1 -1
  185. package/storybook-static/assets/{use-in-view-DZc-byXh.js → use-in-view-Z5TSuHio.js} +1 -1
  186. package/storybook-static/assets/{use-motion-value-mO9NrpTN.js → use-motion-value-DQT5SPdA.js} +1 -1
  187. package/storybook-static/assets/{use-spring-CdsbAGfL.js → use-spring-DwAy_p1Y.js} +1 -1
  188. package/storybook-static/assets/{use-transform-DcYgqXpl.js → use-transform-C2Oyk60n.js} +1 -1
  189. package/storybook-static/assets/{useSound-Ape9PZyo.js → useSound-CUVgLyES.js} +1 -1
  190. package/storybook-static/assets/{users-BQ1OQC3n.js → users-CeDtcuCx.js} +1 -1
  191. package/storybook-static/assets/{x-Cq6n8SKu.js → x-BoXEIqKt.js} +1 -1
  192. package/storybook-static/iframe.html +2 -2
  193. package/storybook-static/index.json +1 -1
  194. package/storybook-static/project.json +1 -1
  195. package/storybook-static/sb-addons/storybook-2/manager-bundle.js +1 -1
  196. package/storybook-static/assets/client-7pDjGlit.js +0 -1
  197. package/storybook-static/assets/iframe-CU5nRRrn.css +0 -1
package/dist/index.esm.js CHANGED
@@ -8,9 +8,10 @@ import { MobileTimePicker } from '@mui/x-date-pickers/MobileTimePicker';
8
8
  import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
9
9
  import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
10
10
  import { createTheme, ThemeProvider as ThemeProvider$1 } from '@mui/material/styles';
11
+ import { RRule } from 'rrule';
11
12
  import * as d3 from 'd3';
12
13
 
13
- var styles$B = {"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","icon":"Button-module_icon__JNzlJ","iconLeft":"Button-module_iconLeft__Fpz-y","iconRight":"Button-module_iconRight__kTfjS","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"};
14
+ var styles$C = {"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","icon":"Button-module_icon__JNzlJ","iconLeft":"Button-module_iconLeft__Fpz-y","iconRight":"Button-module_iconRight__kTfjS","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"};
14
15
 
15
16
  const SOUND_PACKS = {
16
17
  digital: {
@@ -576,11 +577,11 @@ const Button = ({ variant = 'primary', size = 'medium', fullWidth = false, loadi
576
577
  const { handlers } = useComponentSound(soundConfig);
577
578
  const isIcon = variant === 'icon';
578
579
  const buttonClasses = [
579
- styles$B.button,
580
- styles$B[variant],
581
- !isIcon && styles$B[size],
582
- fullWidth && styles$B.fullWidth,
583
- loading && styles$B.loading,
580
+ styles$C.button,
581
+ styles$C[variant],
582
+ !isIcon && styles$C[size],
583
+ fullWidth && styles$C.fullWidth,
584
+ loading && styles$C.loading,
584
585
  className
585
586
  ].filter(Boolean).join(' ');
586
587
  const handleClick = (e) => {
@@ -591,10 +592,10 @@ const Button = ({ variant = 'primary', size = 'medium', fullWidth = false, loadi
591
592
  handlers.onMouseEnter?.();
592
593
  onMouseEnter?.(e);
593
594
  };
594
- return (jsxs(motion.button, { className: buttonClasses, disabled: disabled || loading, whileHover: isIcon ? undefined : { scale: disabled || loading ? 1 : 1.02 }, whileTap: { scale: disabled || loading ? 1 : (isIcon ? 0.9 : 0.98) }, transition: { type: "spring", stiffness: 400, damping: 17 }, onClick: handleClick, onMouseEnter: handleMouseEnter, onFocus: onFocus, ...motionProps, ...rest, children: [loading && jsx("span", { className: styles$B.spinner }), iconLeft && jsx("span", { className: styles$B.iconLeft, children: iconLeft }), children, iconRight && jsx("span", { className: styles$B.iconRight, children: iconRight })] }));
595
+ return (jsxs(motion.button, { className: buttonClasses, disabled: disabled || loading, whileHover: isIcon ? undefined : { scale: disabled || loading ? 1 : 1.02 }, whileTap: { scale: disabled || loading ? 1 : (isIcon ? 0.9 : 0.98) }, transition: { type: "spring", stiffness: 400, damping: 17 }, onClick: handleClick, onMouseEnter: handleMouseEnter, onFocus: onFocus, ...motionProps, ...rest, children: [loading && jsx("span", { className: styles$C.spinner }), iconLeft && jsx("span", { className: styles$C.iconLeft, children: iconLeft }), children, iconRight && jsx("span", { className: styles$C.iconRight, children: iconRight })] }));
595
596
  };
596
597
 
597
- var styles$A = {"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"};
598
+ var styles$B = {"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"};
598
599
 
599
600
  /**
600
601
  * Card Component
@@ -659,28 +660,28 @@ const Card = ({ variant = 'elevated', hoverable = false, clickable = false, padd
659
660
  onExpandChange?.(newExpanded);
660
661
  };
661
662
  const cardClasses = [
662
- styles$A.card,
663
- styles$A[variant],
664
- hoverable && styles$A.hoverable,
665
- clickable && styles$A.clickable,
666
- !padding && styles$A.noPadding,
667
- expandable && styles$A.expandable,
663
+ styles$B.card,
664
+ styles$B[variant],
665
+ hoverable && styles$B.hoverable,
666
+ clickable && styles$B.clickable,
667
+ !padding && styles$B.noPadding,
668
+ expandable && styles$B.expandable,
668
669
  className
669
670
  ].filter(Boolean).join(' ');
670
671
  const renderHeader = () => {
671
672
  if (header) {
672
- return (jsxs("div", { className: styles$A.header, children: [jsx("div", { className: styles$A.headerContent, children: header }), expandable && (jsx("button", { className: styles$A.expandButton, onClick: handleToggleExpand, "aria-label": isExpanded ? 'Collapse card' : 'Expand card', children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: styles$A.expandIcon, style: { transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)' }, children: jsx("path", { d: "M6 9l6 6 6-6" }) }) }))] }));
673
+ return (jsxs("div", { className: styles$B.header, children: [jsx("div", { className: styles$B.headerContent, children: header }), expandable && (jsx("button", { className: styles$B.expandButton, onClick: handleToggleExpand, "aria-label": isExpanded ? 'Collapse card' : 'Expand card', children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: styles$B.expandIcon, style: { transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)' }, children: jsx("path", { d: "M6 9l6 6 6-6" }) }) }))] }));
673
674
  }
674
675
  if (title || subtitle) {
675
- return (jsxs("div", { className: styles$A.header, children: [jsxs("div", { className: styles$A.headerContent, children: [title && jsx("h3", { className: styles$A.title, children: title }), subtitle && jsx("p", { className: styles$A.subtitle, children: subtitle })] }), expandable && (jsx("button", { className: styles$A.expandButton, onClick: handleToggleExpand, "aria-label": isExpanded ? 'Collapse card' : 'Expand card', children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: styles$A.expandIcon, style: { transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)' }, children: jsx("path", { d: "M6 9l6 6 6-6" }) }) }))] }));
676
+ return (jsxs("div", { className: styles$B.header, children: [jsxs("div", { className: styles$B.headerContent, children: [title && jsx("h3", { className: styles$B.title, children: title }), subtitle && jsx("p", { className: styles$B.subtitle, children: subtitle })] }), expandable && (jsx("button", { className: styles$B.expandButton, onClick: handleToggleExpand, "aria-label": isExpanded ? 'Collapse card' : 'Expand card', children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: styles$B.expandIcon, style: { transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)' }, children: jsx("path", { d: "M6 9l6 6 6-6" }) }) }))] }));
676
677
  }
677
678
  return null;
678
679
  };
679
- const cardContent = (jsxs(Fragment, { children: [image && (jsx("div", { className: styles$A.imageContainer, children: jsx("img", { src: image, alt: imageAlt, className: styles$A.image }) })), renderHeader(), jsx(AnimatePresence, { initial: false, children: (!expandable || isExpanded) && (jsxs(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$A.expandableContent, children: [children && (jsx("div", { className: padding ? styles$A.body : undefined, children: children })), footer && jsx("div", { className: styles$A.footer, children: footer })] }, "content")) })] }));
680
+ const cardContent = (jsxs(Fragment, { children: [image && (jsx("div", { className: styles$B.imageContainer, children: jsx("img", { src: image, alt: imageAlt, className: styles$B.image }) })), renderHeader(), jsx(AnimatePresence, { initial: false, children: (!expandable || isExpanded) && (jsxs(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$B.expandableContent, children: [children && (jsx("div", { className: padding ? styles$B.body : undefined, children: children })), footer && jsx("div", { className: styles$B.footer, children: footer })] }, "content")) })] }));
680
681
  return (jsx(motion.div, { className: cardClasses, onClick: clickable ? onClick : undefined, whileHover: hoverable ? { y: -4 } : undefined, transition: { type: "spring", stiffness: 400, damping: 17 }, ...motionProps, ...rest, children: cardContent }));
681
682
  };
682
683
 
683
- var styles$z = {"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"};
684
+ var styles$A = {"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"};
684
685
 
685
686
  /**
686
687
  * EmptyState Component
@@ -717,11 +718,11 @@ var styles$z = {"wrapper":"EmptyState-module_wrapper__h3Y2E","compact":"EmptySta
717
718
  * @returns {JSX.Element} The rendered EmptyState component
718
719
  */
719
720
  const EmptyState = ({ icon, title, message, action, size = 'default', }) => {
720
- const wrapperClass = [styles$z.wrapper, styles$z[size]].filter(Boolean).join(' ');
721
- return (jsxs("div", { className: wrapperClass, children: [icon && jsx("div", { className: styles$z.icon, children: icon }), title && jsx("h3", { className: styles$z.title, children: title }), jsx("p", { className: styles$z.message, children: message }), action && jsx("div", { className: styles$z.action, children: action })] }));
721
+ const wrapperClass = [styles$A.wrapper, styles$A[size]].filter(Boolean).join(' ');
722
+ return (jsxs("div", { className: wrapperClass, children: [icon && jsx("div", { className: styles$A.icon, children: icon }), title && jsx("h3", { className: styles$A.title, children: title }), jsx("p", { className: styles$A.message, children: message }), action && jsx("div", { className: styles$A.action, children: action })] }));
722
723
  };
723
724
 
724
- var styles$y = {"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","backdropSheet":"Modal-module_backdropSheet__o9kW3","dialogSheet":"Modal-module_dialogSheet__EjpwP","grabBar":"Modal-module_grabBar__qhl9f"};
725
+ var styles$z = {"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","backdropSheet":"Modal-module_backdropSheet__o9kW3","dialogSheet":"Modal-module_dialogSheet__EjpwP","grabBar":"Modal-module_grabBar__qhl9f"};
725
726
 
726
727
  const MOBILE_BREAKPOINT = '(max-width: 640px)';
727
728
  const useIsMobile = () => {
@@ -758,14 +759,14 @@ const Modal = ({ open, title, onClose, children, size = 'default', actions, padd
758
759
  return null;
759
760
  const isSheet = mobileVariant === 'sheet' && isMobile;
760
761
  const isDraggable = isSheet && draggable;
761
- const backdropClass = [styles$y.backdrop, isSheet && styles$y.backdropSheet]
762
+ const backdropClass = [styles$z.backdrop, isSheet && styles$z.backdropSheet]
762
763
  .filter(Boolean)
763
764
  .join(' ');
764
765
  const dialogClass = [
765
- styles$y.dialog,
766
- size === 'compact' && styles$y.dialogCompact,
767
- size === 'wide' && styles$y.dialogWide,
768
- isSheet && styles$y.dialogSheet,
766
+ styles$z.dialog,
767
+ size === 'compact' && styles$z.dialogCompact,
768
+ size === 'wide' && styles$z.dialogWide,
769
+ isSheet && styles$z.dialogSheet,
769
770
  ]
770
771
  .filter(Boolean)
771
772
  .join(' ');
@@ -781,16 +782,16 @@ const Modal = ({ open, title, onClose, children, size = 'default', actions, padd
781
782
  : { duration: 0.15, ease: 'easeOut' }, onClick: (e) => e.stopPropagation(), drag: isDraggable ? 'y' : false, dragControls: isDraggable ? dragControls : undefined, dragConstraints: { top: 0 }, dragElastic: { top: 0, bottom: 0.3 }, dragListener: false, onDragEnd: (_, info) => {
782
783
  if (info.offset.y > 80)
783
784
  onClose();
784
- }, children: [isSheet && jsx("div", { className: styles$y.grabBar }), jsxs("div", { ref: headerRef, className: styles$y.header, onPointerDown: (e) => {
785
+ }, children: [isSheet && jsx("div", { className: styles$z.grabBar }), jsxs("div", { ref: headerRef, className: styles$z.header, onPointerDown: (e) => {
785
786
  if (!isDraggable)
786
787
  return;
787
788
  if (e.target.closest('button'))
788
789
  return;
789
790
  dragControls.start(e);
790
- }, children: [jsx("span", { className: styles$y.title, children: title }), actions && jsx("div", { className: styles$y.headerActions, children: actions }), jsx("button", { className: styles$y.closeButton, onClick: onClose, "aria-label": "Close modal", type: "button", children: jsx(X, { size: 16 }) })] }), jsx("div", { className: padding ? styles$y.body : styles$y.bodyFlush, children: children })] }) })) }), document.body);
791
+ }, children: [jsx("span", { className: styles$z.title, children: title }), actions && jsx("div", { className: styles$z.headerActions, children: actions }), jsx("button", { className: styles$z.closeButton, onClick: onClose, "aria-label": "Close modal", type: "button", children: jsx(X, { size: 16 }) })] }), jsx("div", { className: padding ? styles$z.body : styles$z.bodyFlush, children: children })] }) })) }), document.body);
791
792
  };
792
793
 
793
- var styles$x = {"checkboxLabel":"Checkbox-module_checkboxLabel__4tBVg","checkbox":"Checkbox-module_checkbox__BbJul","checkboxText":"Checkbox-module_checkboxText__oJsc9"};
794
+ var styles$y = {"checkboxLabel":"Checkbox-module_checkboxLabel__4tBVg","checkbox":"Checkbox-module_checkbox__BbJul","checkboxText":"Checkbox-module_checkboxText__oJsc9"};
794
795
 
795
796
  /**
796
797
  * Checkbox component - Modern interactive checkbox with animations
@@ -835,13 +836,13 @@ const Checkbox = ({ checked, onChange, label, disabled = false, indeterminate =
835
836
  checkboxRef.current.indeterminate = indeterminate;
836
837
  }
837
838
  }, [indeterminate]);
838
- return (jsxs("label", { className: styles$x.checkboxLabel, children: [jsx("input", { ref: checkboxRef, type: "checkbox", checked: checked, onChange: (e) => {
839
+ return (jsxs("label", { className: styles$y.checkboxLabel, children: [jsx("input", { ref: checkboxRef, type: "checkbox", checked: checked, onChange: (e) => {
839
840
  const isChecked = e.target.checked;
840
841
  onChange(isChecked);
841
842
  if (soundConfig?.onClick !== false) {
842
843
  playSound('toggle');
843
844
  }
844
- }, className: styles$x.checkbox, disabled: disabled, id: id, name: name, value: value, "aria-checked": indeterminate ? 'mixed' : checked }), label && jsx("span", { className: styles$x.checkboxText, children: label })] }));
845
+ }, className: styles$y.checkbox, disabled: disabled, id: id, name: name, value: value, "aria-checked": indeterminate ? 'mixed' : checked }), label && jsx("span", { className: styles$y.checkboxText, children: label })] }));
845
846
  };
846
847
 
847
848
  const formatDateToEuropean = (date) => {
@@ -872,7 +873,7 @@ const parseEuropeanDate = (dateString) => {
872
873
  return '';
873
874
  };
874
875
 
875
- var styles$w = {"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","nativeDateInput":"DateInput-module_nativeDateInput__tbi68","error":"DateInput-module_error__ieuPO","success":"DateInput-module_success__rPA93","loading":"DateInput-module_loading__1DAmD"};
876
+ var styles$x = {"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","nativeDateInput":"DateInput-module_nativeDateInput__tbi68","error":"DateInput-module_error__ieuPO","success":"DateInput-module_success__rPA93","loading":"DateInput-module_loading__1DAmD"};
876
877
 
877
878
  /**
878
879
  * DateInput component - European format date picker with manual input support
@@ -932,21 +933,21 @@ function DateInput({ label, value, onChange, placeholder = "25/12/2024", onFocus
932
933
  }
933
934
  };
934
935
  const getClassName = () => {
935
- const classes = [styles$w.dateInput];
936
+ const classes = [styles$x.dateInput];
936
937
  if (error)
937
- classes.push(styles$w.error);
938
+ classes.push(styles$x.error);
938
939
  if (success)
939
- classes.push(styles$w.success);
940
+ classes.push(styles$x.success);
940
941
  if (loading)
941
- classes.push(styles$w.loading);
942
+ classes.push(styles$x.loading);
942
943
  return classes.join(' ');
943
944
  };
944
945
  // Current ISO value for the native date input (or '' if empty/unparseable)
945
946
  const isoValue = value.includes('-') ? value : (parseEuropeanDate(value) || '');
946
- return (jsxs("div", { className: getClassName(), children: [jsx("label", { className: styles$w.label, children: label }), jsxs("div", { className: styles$w.inputWrapper, children: [jsx("input", { type: "text", value: value.includes('-') ? formatDateToEuropean(value) : value, onChange: (e) => handleTextChange(e.target.value), onFocus: onFocus, onBlur: onBlur, placeholder: placeholder, className: styles$w.textInput, disabled: disabled || loading, ...handlers }), jsxs("span", { className: styles$w.calendarButton, "aria-hidden": "true", children: [jsx(Calendar$1, {}), jsx("input", { type: "date", value: isoValue, onChange: handleCalendarChange, className: styles$w.nativeDateInput, title: "Select date from calendar", "aria-label": label ? `${label} calendar picker` : 'Calendar picker', disabled: disabled || loading })] })] })] }));
947
+ return (jsxs("div", { className: getClassName(), children: [jsx("label", { className: styles$x.label, children: label }), jsxs("div", { className: styles$x.inputWrapper, children: [jsx("input", { type: "text", value: value.includes('-') ? formatDateToEuropean(value) : value, onChange: (e) => handleTextChange(e.target.value), onFocus: onFocus, onBlur: onBlur, placeholder: placeholder, className: styles$x.textInput, disabled: disabled || loading, ...handlers }), jsxs("span", { className: styles$x.calendarButton, "aria-hidden": "true", children: [jsx(Calendar$1, {}), jsx("input", { type: "date", value: isoValue, onChange: handleCalendarChange, className: styles$x.nativeDateInput, title: "Select date from calendar", "aria-label": label ? `${label} calendar picker` : 'Calendar picker', disabled: disabled || loading })] })] })] }));
947
948
  }
948
949
 
949
- var styles$v = {"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"};
950
+ var styles$w = {"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"};
950
951
 
951
952
  /**
952
953
  * SearchableDropdown component - Modern filterable dropdown with animations
@@ -1051,23 +1052,23 @@ function SearchableDropdown({ label, value, onChange, options, placeholder = "Se
1051
1052
  }
1052
1053
  };
1053
1054
  const getTriggerClassName = () => {
1054
- const classes = [styles$v.dropdownTrigger];
1055
+ const classes = [styles$w.dropdownTrigger];
1055
1056
  if (isOpen)
1056
- classes.push(styles$v.open);
1057
+ classes.push(styles$w.open);
1057
1058
  if (loading)
1058
- classes.push(styles$v.loading);
1059
+ classes.push(styles$w.loading);
1059
1060
  if (error)
1060
- classes.push(styles$v.error);
1061
+ classes.push(styles$w.error);
1061
1062
  return classes.join(' ');
1062
1063
  };
1063
- return (jsxs("div", { className: styles$v.searchableDropdown, ref: dropdownRef, onKeyDown: handleKeyDown, children: [jsx("label", { children: label }), jsxs(motion.button, { type: "button", className: getTriggerClassName(), onClick: () => !disabled && !loading && setIsOpen(!isOpen), whileTap: { scale: disabled ? 1 : 0.98 }, style: { willChange: 'transform' }, disabled: disabled, children: [jsx("span", { className: `${styles$v.dropdownValue} ${!displayValue ? styles$v.placeholder : ''}`, children: displayValue || placeholder }), jsx(ChevronDown, { className: styles$v.dropdownArrow })] }), jsx(AnimatePresence, { children: isOpen && (jsxs(motion.div, { className: styles$v.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: [jsxs("div", { className: styles$v.dropdownSearch, children: [jsx(Search, { className: styles$v.searchIcon }), jsx("input", { ref: inputRef, type: "text", className: styles$v.searchInput, placeholder: "Cerca...", value: searchTerm, onChange: (e) => setSearchTerm(e.target.value), onClick: (e) => e.stopPropagation() })] }), jsxs("div", { className: styles$v.dropdownOptions, children: [allOptions.map((opt, index) => {
1064
+ return (jsxs("div", { className: styles$w.searchableDropdown, ref: dropdownRef, onKeyDown: handleKeyDown, children: [jsx("label", { children: label }), jsxs(motion.button, { type: "button", className: getTriggerClassName(), onClick: () => !disabled && !loading && setIsOpen(!isOpen), whileTap: { scale: disabled ? 1 : 0.98 }, style: { willChange: 'transform' }, disabled: disabled, children: [jsx("span", { className: `${styles$w.dropdownValue} ${!displayValue ? styles$w.placeholder : ''}`, children: displayValue || placeholder }), jsx(ChevronDown, { className: styles$w.dropdownArrow })] }), jsx(AnimatePresence, { children: isOpen && (jsxs(motion.div, { className: styles$w.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: [jsxs("div", { className: styles$w.dropdownSearch, children: [jsx(Search, { className: styles$w.searchIcon }), jsx("input", { ref: inputRef, type: "text", className: styles$w.searchInput, placeholder: "Cerca...", value: searchTerm, onChange: (e) => setSearchTerm(e.target.value), onClick: (e) => e.stopPropagation() })] }), jsxs("div", { className: styles$w.dropdownOptions, children: [allOptions.map((opt, index) => {
1064
1065
  const isSelected = value === opt.value;
1065
1066
  const isHighlighted = highlightedIndex === index;
1066
- return (jsxs(motion.button, { type: "button", className: `${styles$v.dropdownOption} ${isSelected ? styles$v.selected : ''} ${isHighlighted ? styles$v.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: [jsx("span", { children: opt.label }), isSelected && jsx(Check, { className: styles$v.checkIcon })] }, `${opt.value}-${index}`));
1067
- }), allOptions.length === 0 && (jsx(motion.div, { className: styles$v.dropdownNoResults, initial: { opacity: 0 }, animate: { opacity: 1 }, children: "No results found" }))] })] })) })] }));
1067
+ return (jsxs(motion.button, { type: "button", className: `${styles$w.dropdownOption} ${isSelected ? styles$w.selected : ''} ${isHighlighted ? styles$w.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: [jsx("span", { children: opt.label }), isSelected && jsx(Check, { className: styles$w.checkIcon })] }, `${opt.value}-${index}`));
1068
+ }), allOptions.length === 0 && (jsx(motion.div, { className: styles$w.dropdownNoResults, initial: { opacity: 0 }, animate: { opacity: 1 }, children: "No results found" }))] })] })) })] }));
1068
1069
  }
1069
1070
 
1070
- var styles$u = {"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"};
1071
+ var styles$v = {"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"};
1071
1072
 
1072
1073
  /**
1073
1074
  * SelectInput component - Styled dropdown selector with flexible option format
@@ -1105,26 +1106,26 @@ var styles$u = {"selectInput":"SelectInput-module_selectInput__s6zEg","selectWra
1105
1106
  function SelectInput({ label, value, onChange, options, placeholder = "Select...", disabled = false, error = false, success = false, loading = false, required = false, soundConfig, className }) {
1106
1107
  const { handlers, playSound } = useComponentSound(soundConfig);
1107
1108
  const getClassName = () => {
1108
- const classes = [styles$u.selectInput];
1109
+ const classes = [styles$v.selectInput];
1109
1110
  if (error)
1110
- classes.push(styles$u.error);
1111
+ classes.push(styles$v.error);
1111
1112
  if (success)
1112
- classes.push(styles$u.success);
1113
+ classes.push(styles$v.success);
1113
1114
  if (loading)
1114
- classes.push(styles$u.loading);
1115
+ classes.push(styles$v.loading);
1115
1116
  return classes.join(' ');
1116
1117
  };
1117
- return (jsxs("div", { className: `${getClassName()}${className ? ` ${className}` : ''}`, children: [jsxs("label", { children: [label, required && jsx("span", { style: { color: 'var(--color-error)' }, children: " *" })] }), jsxs("div", { className: styles$u.selectWrapper, children: [jsxs("select", { value: value, onChange: e => {
1118
+ return (jsxs("div", { className: `${getClassName()}${className ? ` ${className}` : ''}`, children: [jsxs("label", { children: [label, required && jsx("span", { style: { color: 'var(--color-error)' }, children: " *" })] }), jsxs("div", { className: styles$v.selectWrapper, children: [jsxs("select", { value: value, onChange: e => {
1118
1119
  playSound('click');
1119
1120
  onChange(e.target.value);
1120
1121
  }, disabled: disabled || loading, required: required, ...handlers, children: [jsx("option", { value: "", children: placeholder }), options.map(opt => {
1121
1122
  const optionValue = typeof opt === 'string' ? opt : opt.value;
1122
1123
  const optionLabel = typeof opt === 'string' ? opt : opt.label;
1123
1124
  return (jsx("option", { value: optionValue, children: optionLabel }, optionValue));
1124
- })] }), jsx(ChevronDown, { className: styles$u.selectIcon })] })] }));
1125
+ })] }), jsx(ChevronDown, { className: styles$v.selectIcon })] })] }));
1125
1126
  }
1126
1127
 
1127
- var styles$t = {"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-"};
1128
+ var styles$u = {"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-"};
1128
1129
 
1129
1130
  /**
1130
1131
  * TextArea component - Multi-line text input with character counting
@@ -1159,38 +1160,38 @@ var styles$t = {"textareaContainer":"TextArea-module_textareaContainer__AquFj","
1159
1160
  function TextArea({ label, value, onChange, rows = 5, placeholder = "", required = false, maxLength, disabled = false, error = false, success = false, loading = false, focusMode = false, compact = false, className = "" }) {
1160
1161
  const textareaId = `textarea-${Math.random().toString(36).substr(2, 9)}`;
1161
1162
  const getContainerClassName = () => {
1162
- const classes = [styles$t.textareaContainer];
1163
+ const classes = [styles$u.textareaContainer];
1163
1164
  if (error)
1164
- classes.push(styles$t.error);
1165
+ classes.push(styles$u.error);
1165
1166
  if (success)
1166
- classes.push(styles$t.success);
1167
+ classes.push(styles$u.success);
1167
1168
  if (loading)
1168
- classes.push(styles$t.loading);
1169
+ classes.push(styles$u.loading);
1169
1170
  if (focusMode)
1170
- classes.push(styles$t.focusMode);
1171
+ classes.push(styles$u.focusMode);
1171
1172
  if (compact)
1172
- classes.push(styles$t.compact);
1173
+ classes.push(styles$u.compact);
1173
1174
  if (className)
1174
1175
  classes.push(className);
1175
1176
  return classes.join(' ');
1176
1177
  };
1177
1178
  const getCharCountClassName = () => {
1178
1179
  if (!maxLength)
1179
- return styles$t.characterCount;
1180
- const classes = [styles$t.characterCount];
1180
+ return styles$u.characterCount;
1181
+ const classes = [styles$u.characterCount];
1181
1182
  const percentage = (value.length / maxLength) * 100;
1182
1183
  if (percentage >= 100) {
1183
- classes.push(styles$t.atLimit);
1184
+ classes.push(styles$u.atLimit);
1184
1185
  }
1185
1186
  else if (percentage >= 80) {
1186
- classes.push(styles$t.nearLimit);
1187
+ classes.push(styles$u.nearLimit);
1187
1188
  }
1188
1189
  return classes.join(' ');
1189
1190
  };
1190
- return (jsxs("div", { className: getContainerClassName(), children: [label && (jsxs("label", { htmlFor: textareaId, className: styles$t.textareaLabel, children: [label, required && jsx("span", { className: styles$t.requiredIndicator, children: "*" })] })), jsx("textarea", { id: textareaId, value: value, onChange: (e) => onChange(e.target.value), rows: rows, placeholder: placeholder, maxLength: maxLength, className: styles$t.textareaInput, "aria-required": required, disabled: disabled || loading, "aria-invalid": error }), maxLength && (jsxs("div", { className: getCharCountClassName(), children: [jsx("span", { children: value.length }), jsx("span", { style: { opacity: 0.7 }, children: " / " }), jsx("span", { children: maxLength })] }))] }));
1191
+ return (jsxs("div", { className: getContainerClassName(), children: [label && (jsxs("label", { htmlFor: textareaId, className: styles$u.textareaLabel, children: [label, required && jsx("span", { className: styles$u.requiredIndicator, children: "*" })] })), jsx("textarea", { id: textareaId, value: value, onChange: (e) => onChange(e.target.value), rows: rows, placeholder: placeholder, maxLength: maxLength, className: styles$u.textareaInput, "aria-required": required, disabled: disabled || loading, "aria-invalid": error }), maxLength && (jsxs("div", { className: getCharCountClassName(), children: [jsx("span", { children: value.length }), jsx("span", { style: { opacity: 0.7 }, children: " / " }), jsx("span", { children: maxLength })] }))] }));
1191
1192
  }
1192
1193
 
1193
- var styles$s = {"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"};
1194
+ var styles$t = {"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"};
1194
1195
 
1195
1196
  /**
1196
1197
  * TextInput component - A versatile text input field with label and error handling
@@ -1227,21 +1228,21 @@ function TextInput({ label, value, onChange, type = "text", onBlur, placeholder,
1227
1228
  const { handlers, playSound } = useComponentSound(soundConfig);
1228
1229
  const prevValueRef = React.useRef(value);
1229
1230
  const getContainerClassName = () => {
1230
- const classes = [styles$s.textInput];
1231
+ const classes = [styles$t.textInput];
1231
1232
  if (success)
1232
- classes.push(styles$s.success);
1233
+ classes.push(styles$t.success);
1233
1234
  if (loading)
1234
- classes.push(styles$s.loading);
1235
+ classes.push(styles$t.loading);
1235
1236
  if (icon)
1236
- classes.push(styles$s.withIcon);
1237
+ classes.push(styles$t.withIcon);
1237
1238
  if (actionButton)
1238
- classes.push(styles$s.withAction);
1239
+ classes.push(styles$t.withAction);
1239
1240
  return classes.join(' ');
1240
1241
  };
1241
1242
  React.useEffect(() => {
1242
1243
  prevValueRef.current = value;
1243
1244
  }, [value]);
1244
- return (jsxs("div", { className: getContainerClassName(), children: [jsxs("label", { htmlFor: inputId, children: [label, required && jsx("span", { className: styles$s.required, children: "*" })] }), jsxs("div", { style: { position: 'relative' }, children: [icon && jsx("div", { className: styles$s.inputIcon, children: icon }), jsx("input", { id: inputId, type: type, value: value, onChange: (e) => {
1245
+ return (jsxs("div", { className: getContainerClassName(), children: [jsxs("label", { htmlFor: inputId, children: [label, required && jsx("span", { className: styles$t.required, children: "*" })] }), jsxs("div", { style: { position: 'relative' }, children: [icon && jsx("div", { className: styles$t.inputIcon, children: icon }), jsx("input", { id: inputId, type: type, value: value, onChange: (e) => {
1245
1246
  const newValue = e.target.value;
1246
1247
  const oldValue = prevValueRef.current;
1247
1248
  onChange(newValue);
@@ -1257,13 +1258,13 @@ function TextInput({ label, value, onChange, type = "text", onBlur, placeholder,
1257
1258
  if (error && soundConfig?.onError) {
1258
1259
  playSound(typeof soundConfig.onError === 'string' ? soundConfig.onError : 'error');
1259
1260
  }
1260
- }, onBlur: onBlur, placeholder: placeholder, className: error ? styles$s.inputError : '', "aria-invalid": !!error, "aria-describedby": error ? `${inputId}-error` : undefined, disabled: disabled || loading, maxLength: maxLength, autoComplete: autoComplete }), actionButton && (jsx("button", { type: "button", className: styles$s.actionButton, onClick: () => {
1261
+ }, onBlur: onBlur, placeholder: placeholder, className: error ? styles$t.inputError : '', "aria-invalid": !!error, "aria-describedby": error ? `${inputId}-error` : undefined, disabled: disabled || loading, maxLength: maxLength, autoComplete: autoComplete }), actionButton && (jsx("button", { type: "button", className: styles$t.actionButton, onClick: () => {
1261
1262
  handlers.onClick?.();
1262
1263
  actionButton.onClick();
1263
- }, disabled: disabled || loading, children: actionButton.label }))] }), error && (jsx("span", { id: `${inputId}-error`, className: styles$s.errorMessage, children: error }))] }));
1264
+ }, disabled: disabled || loading, children: actionButton.label }))] }), error && (jsx("span", { id: `${inputId}-error`, className: styles$t.errorMessage, children: error }))] }));
1264
1265
  }
1265
1266
 
1266
- var styles$r = {"toggleContainer":"Toggle-module_toggleContainer__QxqQb","toggleButton":"Toggle-module_toggleButton__WUUf-","active":"Toggle-module_active__fX6Io"};
1267
+ var styles$s = {"toggleContainer":"Toggle-module_toggleContainer__QxqQb","toggleButton":"Toggle-module_toggleButton__WUUf-","active":"Toggle-module_active__fX6Io"};
1267
1268
 
1268
1269
  /**
1269
1270
  * Toggle Component
@@ -1324,7 +1325,7 @@ function Toggle(props) {
1324
1325
  justifyContent: 'center',
1325
1326
  ...style
1326
1327
  };
1327
- return (jsxs("div", { className: `${styles$r.toggleContainer} ${className || ''}`, children: [jsxs(motion.button, { ref: leftButtonRef, className: `${styles$r.toggleButton} ${!isOn ? styles$r.active : ''}`, whileHover: { scale: 1.05 }, whileTap: { scale: 0.95 }, transition: { type: "spring", stiffness: 400, damping: 17 }, onClick: () => {
1328
+ return (jsxs("div", { className: `${styles$s.toggleContainer} ${className || ''}`, children: [jsxs(motion.button, { ref: leftButtonRef, className: `${styles$s.toggleButton} ${!isOn ? styles$s.active : ''}`, whileHover: { scale: 1.05 }, whileTap: { scale: 0.95 }, transition: { type: "spring", stiffness: 400, damping: 17 }, onClick: () => {
1328
1329
  if (!isOn) {
1329
1330
  // Already on left
1330
1331
  if (enableCelebration) {
@@ -1339,7 +1340,7 @@ function Toggle(props) {
1339
1340
  playSound('toggle');
1340
1341
  }
1341
1342
  onToggle(false);
1342
- }, onMouseEnter: () => handlers.onMouseEnter?.(), style: buttonStyle, children: [jsx(motion.div, { animate: { scale: !isOn ? 1.1 : 1, rotate: !isOn ? [0, -5, 5, 0] : 0 }, transition: { duration: 0.3 }, children: leftIcon }), leftLabel] }), jsxs(motion.button, { ref: rightButtonRef, className: `${styles$r.toggleButton} ${isOn ? styles$r.active : ''}`, whileHover: { scale: 1.05 }, whileTap: { scale: 0.95 }, transition: { type: "spring", stiffness: 400, damping: 17 }, onClick: () => {
1343
+ }, onMouseEnter: () => handlers.onMouseEnter?.(), style: buttonStyle, children: [jsx(motion.div, { animate: { scale: !isOn ? 1.1 : 1, rotate: !isOn ? [0, -5, 5, 0] : 0 }, transition: { duration: 0.3 }, children: leftIcon }), leftLabel] }), jsxs(motion.button, { ref: rightButtonRef, className: `${styles$s.toggleButton} ${isOn ? styles$s.active : ''}`, whileHover: { scale: 1.05 }, whileTap: { scale: 0.95 }, transition: { type: "spring", stiffness: 400, damping: 17 }, onClick: () => {
1343
1344
  if (isOn) {
1344
1345
  // Already on right
1345
1346
  if (enableCelebration) {
@@ -1357,7 +1358,7 @@ function Toggle(props) {
1357
1358
  }, onMouseEnter: () => handlers.onMouseEnter?.(), style: buttonStyle, children: [jsx(motion.div, { animate: { scale: isOn ? 1.1 : 1, rotate: isOn ? [0, 5, -5, 0] : 0 }, transition: { duration: 0.3 }, children: rightIcon }), rightLabel] })] }));
1358
1359
  }
1359
1360
 
1360
- var styles$q = {"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","tally":"NumberStepper-module_tally__aO2zq","tallyRow":"NumberStepper-module_tallyRow__wcrtj","tallyButton":"NumberStepper-module_tallyButton__EUTXY","tallyButtonIcon":"NumberStepper-module_tallyButtonIcon__A3fDQ","tallyIcon":"NumberStepper-module_tallyIcon__ynB4C","tallyLabel":"NumberStepper-module_tallyLabel__kjXos","tallyBody":"NumberStepper-module_tallyBody__wDBsU","tallyMarks":"NumberStepper-module_tallyMarks__RU5qJ","tallyGroup":"NumberStepper-module_tallyGroup__0qUNo","tallyHint":"NumberStepper-module_tallyHint__zi-GM","tallyValue":"NumberStepper-module_tallyValue__CFJDk","pulse":"NumberStepper-module_pulse__51oUo"};
1361
+ var styles$r = {"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","tally":"NumberStepper-module_tally__aO2zq","tallyRow":"NumberStepper-module_tallyRow__wcrtj","tallyButton":"NumberStepper-module_tallyButton__EUTXY","tallyButtonIcon":"NumberStepper-module_tallyButtonIcon__A3fDQ","tallyIcon":"NumberStepper-module_tallyIcon__ynB4C","tallyLabel":"NumberStepper-module_tallyLabel__kjXos","tallyBody":"NumberStepper-module_tallyBody__wDBsU","tallyMarks":"NumberStepper-module_tallyMarks__RU5qJ","tallyGroup":"NumberStepper-module_tallyGroup__0qUNo","tallyHint":"NumberStepper-module_tallyHint__zi-GM","tallyValue":"NumberStepper-module_tallyValue__CFJDk","pulse":"NumberStepper-module_pulse__51oUo"};
1361
1362
 
1362
1363
  /**
1363
1364
  * NumberStepper Component
@@ -1544,33 +1545,33 @@ const NumberStepper = ({ value, onChange, min = -Infinity, max = Infinity, step
1544
1545
  setDisplayValue(finalValue);
1545
1546
  }, [displayValue, min, max, step, onChange]);
1546
1547
  const containerClasses = [
1547
- styles$q.container,
1548
- styles$q[size],
1549
- styles$q[variant],
1550
- layout === 'vertical' && styles$q.vertical,
1551
- disabled && styles$q.disabled,
1548
+ styles$r.container,
1549
+ styles$r[size],
1550
+ styles$r[variant],
1551
+ layout === 'vertical' && styles$r.vertical,
1552
+ disabled && styles$r.disabled,
1552
1553
  className
1553
1554
  ].filter(Boolean).join(' ');
1554
1555
  // Merge custom styles with hover states
1555
1556
  const [isButtonHovered, setIsButtonHovered] = useState(null);
1556
1557
  const isDecrementDisabled = disabled || value <= min;
1557
1558
  const isIncrementDisabled = disabled || value >= max;
1558
- const stepperContent = (jsxs("div", { className: styles$q.stepper, style: customStyles.stepper, onKeyDown: handleKeyDown, tabIndex: disabled ? -1 : 0, ...handlers, children: [jsx(motion.button, { className: styles$q.button, style: {
1559
+ const stepperContent = (jsxs("div", { className: styles$r.stepper, style: customStyles.stepper, onKeyDown: handleKeyDown, tabIndex: disabled ? -1 : 0, ...handlers, children: [jsx(motion.button, { className: styles$r.button, style: {
1559
1560
  ...customStyles.button,
1560
1561
  ...(isButtonHovered === 'decrement' && customStyles.buttonHover)
1561
- }, 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 ? (jsx("span", { className: styles$q.buttonIcon, style: customStyles.buttonIcon, children: "\u2212" })) : (jsx("svg", { className: styles$q.buttonIcon, style: customStyles.buttonIcon, viewBox: "0 0 24 24", fill: "none", children: jsx("path", { d: "M15 18L9 12L15 6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }))) }), jsx("div", { className: styles$q.valueContainer, style: customStyles.valueContainer, children: jsx(AnimatePresence, { mode: "wait", children: jsx(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$q.valueWrapper, children: jsx("input", { type: "text", className: styles$q.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) }) }), jsx(motion.button, { className: styles$q.button, style: {
1562
+ }, 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 ? (jsx("span", { className: styles$r.buttonIcon, style: customStyles.buttonIcon, children: "\u2212" })) : (jsx("svg", { className: styles$r.buttonIcon, style: customStyles.buttonIcon, viewBox: "0 0 24 24", fill: "none", children: jsx("path", { d: "M15 18L9 12L15 6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }))) }), jsx("div", { className: styles$r.valueContainer, style: customStyles.valueContainer, children: jsx(AnimatePresence, { mode: "wait", children: jsx(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$r.valueWrapper, children: jsx("input", { type: "text", className: styles$r.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) }) }), jsx(motion.button, { className: styles$r.button, style: {
1562
1563
  ...customStyles.button,
1563
1564
  ...(isButtonHovered === 'increment' && customStyles.buttonHover)
1564
- }, 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 ? (jsx("span", { className: styles$q.buttonIcon, style: customStyles.buttonIcon, children: "+" })) : (jsx("svg", { className: styles$q.buttonIcon, style: customStyles.buttonIcon, viewBox: "0 0 24 24", fill: "none", children: jsx("path", { d: "M9 18L15 12L9 6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }))) })] }));
1565
+ }, 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 ? (jsx("span", { className: styles$r.buttonIcon, style: customStyles.buttonIcon, children: "+" })) : (jsx("svg", { className: styles$r.buttonIcon, style: customStyles.buttonIcon, viewBox: "0 0 24 24", fill: "none", children: jsx("path", { d: "M9 18L15 12L9 6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }))) })] }));
1565
1566
  // ── Tally variant: pen-stroke counter with explicit +/- buttons.
1566
1567
  if (variant === 'tally') {
1567
1568
  return (jsx(TallyRow, { value: value, label: label, icon: icon, color: color, disabled: disabled, emptyHint: tallyEmptyHint, className: containerClasses, customStyles: customStyles, onIncrement: handleIncrement, onDecrement: handleDecrement, ariaLabel: label || 'Tally counter', isDecrementDisabled: isDecrementDisabled, isIncrementDisabled: isIncrementDisabled }));
1568
1569
  }
1569
1570
  // For custom variant with horizontal layout, render differently
1570
1571
  if (variant === 'custom' && (label || icon)) {
1571
- return (jsxs("div", { className: containerClasses, style: { ...customStyles.container, display: 'flex', alignItems: 'center' }, children: [jsxs("div", { className: styles$q.header, style: { ...customStyles.header, flex: 1, marginBottom: 0 }, children: [icon && jsx("span", { className: styles$q.icon, style: customStyles.icon, children: icon }), label && jsx("label", { className: styles$q.label, style: customStyles.label, children: label })] }), stepperContent, !hideLimits && (min !== -Infinity || max !== Infinity) && (jsxs("div", { className: styles$q.limits, style: customStyles.limits, children: [jsx("span", { className: styles$q.limit, children: min !== -Infinity && `Min: ${min}` }), jsx("span", { className: styles$q.limit, children: max !== Infinity && `Max: ${max}` })] }))] }));
1572
+ return (jsxs("div", { className: containerClasses, style: { ...customStyles.container, display: 'flex', alignItems: 'center' }, children: [jsxs("div", { className: styles$r.header, style: { ...customStyles.header, flex: 1, marginBottom: 0 }, children: [icon && jsx("span", { className: styles$r.icon, style: customStyles.icon, children: icon }), label && jsx("label", { className: styles$r.label, style: customStyles.label, children: label })] }), stepperContent, !hideLimits && (min !== -Infinity || max !== Infinity) && (jsxs("div", { className: styles$r.limits, style: customStyles.limits, children: [jsx("span", { className: styles$r.limit, children: min !== -Infinity && `Min: ${min}` }), jsx("span", { className: styles$r.limit, children: max !== Infinity && `Max: ${max}` })] }))] }));
1572
1573
  }
1573
- return (jsxs("div", { className: containerClasses, style: customStyles.container, children: [(label || icon) && (jsxs("div", { className: styles$q.header, style: customStyles.header, children: [icon && jsx("span", { className: styles$q.icon, style: customStyles.icon, children: icon }), label && jsx("label", { className: styles$q.label, style: customStyles.label, children: label })] })), stepperContent, !hideLimits && (min !== -Infinity || max !== Infinity) && (jsxs("div", { className: styles$q.limits, style: customStyles.limits, children: [jsx("span", { className: styles$q.limit, children: min !== -Infinity && `Min: ${min}` }), jsx("span", { className: styles$q.limit, children: max !== Infinity && `Max: ${max}` })] }))] }));
1574
+ return (jsxs("div", { className: containerClasses, style: customStyles.container, children: [(label || icon) && (jsxs("div", { className: styles$r.header, style: customStyles.header, children: [icon && jsx("span", { className: styles$r.icon, style: customStyles.icon, children: icon }), label && jsx("label", { className: styles$r.label, style: customStyles.label, children: label })] })), stepperContent, !hideLimits && (min !== -Infinity || max !== Infinity) && (jsxs("div", { className: styles$r.limits, style: customStyles.limits, children: [jsx("span", { className: styles$r.limit, children: min !== -Infinity && `Min: ${min}` }), jsx("span", { className: styles$r.limit, children: max !== Infinity && `Max: ${max}` })] }))] }));
1574
1575
  };
1575
1576
  const TallyMarks = ({ count, color }) => {
1576
1577
  const groups = [];
@@ -1580,14 +1581,14 @@ const TallyMarks = ({ count, color }) => {
1580
1581
  groups.push(n);
1581
1582
  left -= n;
1582
1583
  }
1583
- return (jsx("div", { className: styles$q.tallyMarks, "aria-hidden": "true", children: groups.map((n, i) => (jsxs("svg", { className: styles$q.tallyGroup, width: "38", height: "22", viewBox: "0 0 38 22", children: [[0, 1, 2, 3].slice(0, Math.min(4, n)).map((j) => (jsx("line", { x1: 4 + j * 6, y1: "2", x2: 4 + j * 6, y2: "20", stroke: color, strokeWidth: "2", strokeLinecap: "round" }, j))), n === 5 && (jsx("line", { x1: "1", y1: "18", x2: "27", y2: "4", stroke: color, strokeWidth: "2", strokeLinecap: "round" }))] }, i))) }));
1584
+ return (jsx("div", { className: styles$r.tallyMarks, "aria-hidden": "true", children: groups.map((n, i) => (jsxs("svg", { className: styles$r.tallyGroup, width: "38", height: "22", viewBox: "0 0 38 22", children: [[0, 1, 2, 3].slice(0, Math.min(4, n)).map((j) => (jsx("line", { x1: 4 + j * 6, y1: "2", x2: 4 + j * 6, y2: "20", stroke: color, strokeWidth: "2", strokeLinecap: "round" }, j))), n === 5 && (jsx("line", { x1: "1", y1: "18", x2: "27", y2: "4", stroke: color, strokeWidth: "2", strokeLinecap: "round" }))] }, i))) }));
1584
1585
  };
1585
1586
  const TallyRow = ({ value, label, icon, color, disabled, emptyHint, className, customStyles, onIncrement, onDecrement, ariaLabel, isDecrementDisabled, isIncrementDisabled }) => {
1586
1587
  const resolvedColor = color || 'currentColor';
1587
- return (jsxs("div", { "aria-label": ariaLabel, "aria-disabled": disabled || undefined, className: `${className} ${styles$q.tallyRow}`, style: customStyles.container, children: [icon && (jsx("span", { className: styles$q.tallyIcon, style: { color: resolvedColor, ...customStyles.icon }, children: icon })), label && (jsx("span", { className: styles$q.tallyLabel, style: customStyles.label, children: label })), jsx("div", { className: styles$q.tallyBody, children: value <= 0 ? (jsx("span", { className: styles$q.tallyHint, children: emptyHint })) : (jsx(TallyMarks, { count: value, color: resolvedColor })) }), jsx("button", { type: "button", className: styles$q.tallyButton, onClick: onDecrement, disabled: isDecrementDisabled, "aria-label": `Decrease ${label || 'value'}`, children: jsx("span", { className: styles$q.tallyButtonIcon, children: "\u2212" }) }), jsx("span", { className: styles$q.tallyValue, style: { color: resolvedColor, ...customStyles.value }, "aria-hidden": "true", children: value }), jsx("button", { type: "button", className: styles$q.tallyButton, onClick: onIncrement, disabled: isIncrementDisabled, "aria-label": `Increase ${label || 'value'}`, children: jsx("span", { className: styles$q.tallyButtonIcon, children: "+" }) })] }));
1588
+ return (jsxs("div", { "aria-label": ariaLabel, "aria-disabled": disabled || undefined, className: `${className} ${styles$r.tallyRow}`, style: customStyles.container, children: [icon && (jsx("span", { className: styles$r.tallyIcon, style: { color: resolvedColor, ...customStyles.icon }, children: icon })), label && (jsx("span", { className: styles$r.tallyLabel, style: customStyles.label, children: label })), jsx("div", { className: styles$r.tallyBody, children: value <= 0 ? (jsx("span", { className: styles$r.tallyHint, children: emptyHint })) : (jsx(TallyMarks, { count: value, color: resolvedColor })) }), jsx("button", { type: "button", className: styles$r.tallyButton, onClick: onDecrement, disabled: isDecrementDisabled, "aria-label": `Decrease ${label || 'value'}`, children: jsx("span", { className: styles$r.tallyButtonIcon, children: "\u2212" }) }), jsx("span", { className: styles$r.tallyValue, style: { color: resolvedColor, ...customStyles.value }, "aria-hidden": "true", children: value }), jsx("button", { type: "button", className: styles$r.tallyButton, onClick: onIncrement, disabled: isIncrementDisabled, "aria-label": `Increase ${label || 'value'}`, children: jsx("span", { className: styles$r.tallyButtonIcon, children: "+" }) })] }));
1588
1589
  };
1589
1590
 
1590
- var styles$p = {"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"};
1591
+ var styles$q = {"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"};
1591
1592
 
1592
1593
  /**
1593
1594
  * ToggleButton Component
@@ -1626,18 +1627,18 @@ var styles$p = {"button":"ToggleButton-module_button__DTuyY","background":"Toggl
1626
1627
  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 }) => {
1627
1628
  const { handlers, playSound } = useComponentSound(soundConfig);
1628
1629
  const buttonClasses = [
1629
- styles$p.button,
1630
- styles$p[size],
1631
- styles$p[variant],
1632
- active && styles$p.active,
1633
- active && styles$p[`active-${activeColor}`],
1634
- disabled && styles$p.disabled,
1635
- animation !== 'none' && styles$p[`animation-${animation}`],
1630
+ styles$q.button,
1631
+ styles$q[size],
1632
+ styles$q[variant],
1633
+ active && styles$q.active,
1634
+ active && styles$q[`active-${activeColor}`],
1635
+ disabled && styles$q.disabled,
1636
+ animation !== 'none' && styles$q[`animation-${animation}`],
1636
1637
  className
1637
1638
  ].filter(Boolean).join(' ');
1638
1639
  const labelClasses = [
1639
- styles$p.label,
1640
- hideLabelOnMobile && styles$p.hideMobile
1640
+ styles$q.label,
1641
+ hideLabelOnMobile && styles$q.hideMobile
1641
1642
  ].filter(Boolean).join(' ');
1642
1643
  const iconVariants = {
1643
1644
  scale: {
@@ -1701,10 +1702,10 @@ const ToggleButton = ({ active, onClick, icon, label, disabled = false, size = '
1701
1702
  return (jsxs(motion.button, { className: buttonClasses, style: dynamicStyle, onClick: () => {
1702
1703
  playSound('toggle');
1703
1704
  onClick();
1704
- }, disabled: disabled, whileHover: !disabled ? { scale: 1.05 } : undefined, whileTap: !disabled ? { scale: 0.95 } : undefined, title: tooltip, "aria-pressed": active, "aria-label": label, ...handlers, children: [jsx(motion.div, { className: styles$p.background, variants: backgroundVariants, initial: "inactive", animate: active ? "active" : "inactive" }), jsxs("div", { className: styles$p.content, children: [icon && (jsx(motion.div, { className: styles$p.iconWrapper, variants: iconVariants[animation], initial: "inactive", animate: active ? "active" : "inactive", transition: { duration: 0.3 }, children: typeof icon === 'string' ? (jsx("span", { className: styles$p.icon, children: icon })) : (jsx("div", { className: styles$p.icon, children: icon })) })), label && jsx("span", { className: labelClasses, children: label }), jsx(AnimatePresence, { children: showCheckmark && active && (jsx(motion.div, { className: styles$p.checkmark, variants: checkmarkVariants, initial: "hidden", animate: "visible", exit: "hidden", children: jsx("svg", { viewBox: "0 0 24 24", fill: "none", children: jsx("path", { d: "M20 6L9 17L4 12", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round" }) }) })) })] }), jsx(AnimatePresence, { children: active && (jsx(motion.div, { className: styles$p.ripple, initial: { scale: 0, opacity: 0.5 }, animate: { scale: 2, opacity: 0 }, exit: { scale: 0, opacity: 0 }, transition: { duration: 0.6 } })) })] }));
1705
+ }, disabled: disabled, whileHover: !disabled ? { scale: 1.05 } : undefined, whileTap: !disabled ? { scale: 0.95 } : undefined, title: tooltip, "aria-pressed": active, "aria-label": label, ...handlers, children: [jsx(motion.div, { className: styles$q.background, variants: backgroundVariants, initial: "inactive", animate: active ? "active" : "inactive" }), jsxs("div", { className: styles$q.content, children: [icon && (jsx(motion.div, { className: styles$q.iconWrapper, variants: iconVariants[animation], initial: "inactive", animate: active ? "active" : "inactive", transition: { duration: 0.3 }, children: typeof icon === 'string' ? (jsx("span", { className: styles$q.icon, children: icon })) : (jsx("div", { className: styles$q.icon, children: icon })) })), label && jsx("span", { className: labelClasses, children: label }), jsx(AnimatePresence, { children: showCheckmark && active && (jsx(motion.div, { className: styles$q.checkmark, variants: checkmarkVariants, initial: "hidden", animate: "visible", exit: "hidden", children: jsx("svg", { viewBox: "0 0 24 24", fill: "none", children: jsx("path", { d: "M20 6L9 17L4 12", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round" }) }) })) })] }), jsx(AnimatePresence, { children: active && (jsx(motion.div, { className: styles$q.ripple, initial: { scale: 0, opacity: 0.5 }, animate: { scale: 2, opacity: 0 }, exit: { scale: 0, opacity: 0 }, transition: { duration: 0.6 } })) })] }));
1705
1706
  };
1706
1707
 
1707
- var styles$o = {"slider":"Slider-module_slider__RD4G7","label":"Slider-module_label__j4H8M","sliderContainer":"Slider-module_sliderContainer__kQICC","track":"Slider-module_track__fQ-oP","dragging":"Slider-module_dragging__rynPv","fill":"Slider-module_fill__AYR4-","input":"Slider-module_input__fqY-G","thumb":"Slider-module_thumb__yQJho","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","dotsContainer":"Slider-module_dotsContainer__zpcZe","dot":"Slider-module_dot__TkGh5","dotFilled":"Slider-module_dotFilled__n779E","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"};
1708
+ var styles$p = {"slider":"Slider-module_slider__RD4G7","label":"Slider-module_label__j4H8M","sliderContainer":"Slider-module_sliderContainer__kQICC","track":"Slider-module_track__fQ-oP","dragging":"Slider-module_dragging__rynPv","fill":"Slider-module_fill__AYR4-","input":"Slider-module_input__fqY-G","thumb":"Slider-module_thumb__yQJho","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","dotsContainer":"Slider-module_dotsContainer__zpcZe","dot":"Slider-module_dot__TkGh5","dotFilled":"Slider-module_dotFilled__n779E","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"};
1708
1709
 
1709
1710
  /**
1710
1711
  * Slider component — responsive, accessible range input with a styled track, fill, and thumb.
@@ -1743,11 +1744,11 @@ function Slider({ value, onChange, min = 0, max = 100, step = 1, label, showValu
1743
1744
  };
1744
1745
  const endDrag = () => setIsDragging(false);
1745
1746
  const dynamicColor = getDynamicColor();
1746
- const sizeClass = styles$o[`size-${size}`];
1747
- const stateClass = disabled ? styles$o.disabled : '';
1748
- const dragClass = isDragging ? styles$o.dragging : '';
1747
+ const sizeClass = styles$p[`size-${size}`];
1748
+ const stateClass = disabled ? styles$p.disabled : '';
1749
+ const dragClass = isDragging ? styles$p.dragging : '';
1749
1750
  if (loading) {
1750
- return (jsxs("div", { className: `${styles$o.slider} ${sizeClass} ${styles$o.loading} ${className}`, style: style, children: [label && jsx("label", { className: styles$o.label, children: label }), jsx("div", { className: styles$o.loadingTrack, children: jsx(motion.div, { className: styles$o.loadingIndicator, animate: { x: ['-100%', '200%'] }, transition: { repeat: Infinity, duration: 1.5, ease: 'easeInOut' } }) })] }));
1751
+ return (jsxs("div", { className: `${styles$p.slider} ${sizeClass} ${styles$p.loading} ${className}`, style: style, children: [label && jsx("label", { className: styles$p.label, children: label }), jsx("div", { className: styles$p.loadingTrack, children: jsx(motion.div, { className: styles$p.loadingIndicator, animate: { x: ['-100%', '200%'] }, transition: { repeat: Infinity, duration: 1.5, ease: 'easeInOut' } }) })] }));
1751
1752
  }
1752
1753
  if (variant === 'dots') {
1753
1754
  const dotCount = Math.max(0, Math.floor((max - min) / step));
@@ -1759,9 +1760,9 @@ function Slider({ value, onChange, min = 0, max = 100, step = 1, label, showValu
1759
1760
  const next = value === dotValue ? dotValue - step : dotValue;
1760
1761
  onChange(Math.max(min, next));
1761
1762
  };
1762
- return (jsxs("div", { className: `${styles$o.slider} ${sizeClass} ${stateClass} ${className}`, style: style, ...handlers, children: [label && jsx("label", { className: styles$o.label, children: label }), jsx("div", { className: styles$o.dotsContainer, role: "slider", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": value, "aria-label": label, children: dotValues.map((dotValue) => {
1763
+ return (jsxs("div", { className: `${styles$p.slider} ${sizeClass} ${stateClass} ${className}`, style: style, ...handlers, children: [label && jsx("label", { className: styles$p.label, children: label }), jsx("div", { className: styles$p.dotsContainer, role: "slider", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": value, "aria-label": label, children: dotValues.map((dotValue) => {
1763
1764
  const filled = dotValue <= value;
1764
- return (jsx("button", { type: "button", className: `${styles$o.dot} ${filled ? styles$o.dotFilled : ''}`, style: filled
1765
+ return (jsx("button", { type: "button", className: `${styles$p.dot} ${filled ? styles$p.dotFilled : ''}`, style: filled
1765
1766
  ? {
1766
1767
  backgroundColor: dynamicColor,
1767
1768
  borderColor: dynamicColor,
@@ -1769,7 +1770,7 @@ function Slider({ value, onChange, min = 0, max = 100, step = 1, label, showValu
1769
1770
  : undefined, onClick: () => handleDotClick(dotValue), disabled: disabled, "aria-label": valueFormatter
1770
1771
  ? valueFormatter(dotValue)
1771
1772
  : `Set to ${dotValue}` }, dotValue));
1772
- }) }), showValue && (jsx("div", { className: styles$o.valueDisplay, style: { color: dynamicColor }, children: formatValue(value) }))] }));
1773
+ }) }), showValue && (jsx("div", { className: styles$p.valueDisplay, style: { color: dynamicColor }, children: formatValue(value) }))] }));
1773
1774
  }
1774
1775
  // Inset the thumb so its bounding box stays inside the track at 0/100%.
1775
1776
  // At percentage=0: marginLeft=0 → thumb flush-left. At 100%: marginLeft=-thumbSize → flush-right.
@@ -1777,11 +1778,11 @@ function Slider({ value, onChange, min = 0, max = 100, step = 1, label, showValu
1777
1778
  left: `${percentage}%`,
1778
1779
  marginLeft: `calc(var(--slider-thumb-size) * ${-percentage / 100})`,
1779
1780
  };
1780
- return (jsxs("div", { className: `${styles$o.slider} ${sizeClass} ${stateClass} ${dragClass} ${className}`, style: style, children: [label && jsx("label", { className: styles$o.label, children: label }), jsxs("div", { className: styles$o.sliderContainer, children: [jsx("div", { className: styles$o.track, children: jsx("div", { className: styles$o.fill, style: { width: `${percentage}%`, backgroundColor: dynamicColor } }) }), jsx("input", { type: "range", min: min, max: max, step: step, value: value, onChange: handleChange, onPointerDown: startDrag, onPointerUp: endDrag, onPointerCancel: endDrag, onBlur: endDrag, ...handlers, className: styles$o.input, disabled: disabled, "aria-label": label }), jsx("div", { className: styles$o.thumb, style: {
1781
+ return (jsxs("div", { className: `${styles$p.slider} ${sizeClass} ${stateClass} ${dragClass} ${className}`, style: style, children: [label && jsx("label", { className: styles$p.label, children: label }), jsxs("div", { className: styles$p.sliderContainer, children: [jsx("div", { className: styles$p.track, children: jsx("div", { className: styles$p.fill, style: { width: `${percentage}%`, backgroundColor: dynamicColor } }) }), jsx("input", { type: "range", min: min, max: max, step: step, value: value, onChange: handleChange, onPointerDown: startDrag, onPointerUp: endDrag, onPointerCancel: endDrag, onBlur: endDrag, ...handlers, className: styles$p.input, disabled: disabled, "aria-label": label }), jsx("div", { className: styles$p.thumb, style: {
1781
1782
  ...insetStyle,
1782
1783
  backgroundColor: dynamicColor,
1783
1784
  borderColor: colors.thumb || dynamicColor,
1784
- } }), jsx(AnimatePresence, { children: showTooltip && isDragging && !disabled && (jsxs(motion.div, { className: styles$o.tooltip, style: { ...insetStyle, backgroundColor: dynamicColor }, initial: { opacity: 0, y: 6, scale: 0.9 }, animate: { opacity: 1, y: 0, scale: 1 }, exit: { opacity: 0, y: 6, scale: 0.9 }, transition: { duration: 0.15 }, children: [tooltipContent ? tooltipContent(value) : formatValue(value), jsx("div", { className: styles$o.tooltipArrow, style: { borderTopColor: dynamicColor } })] })) })] }), showValue && (jsx("div", { className: styles$o.valueDisplay, style: { color: dynamicColor }, children: formatValue(value) })), labels.length > 0 && (jsx("div", { className: styles$o.labelsContainer, children: labels.map((labelConfig, index) => {
1785
+ } }), jsx(AnimatePresence, { children: showTooltip && isDragging && !disabled && (jsxs(motion.div, { className: styles$p.tooltip, style: { ...insetStyle, backgroundColor: dynamicColor }, initial: { opacity: 0, y: 6, scale: 0.9 }, animate: { opacity: 1, y: 0, scale: 1 }, exit: { opacity: 0, y: 6, scale: 0.9 }, transition: { duration: 0.15 }, children: [tooltipContent ? tooltipContent(value) : formatValue(value), jsx("div", { className: styles$p.tooltipArrow, style: { borderTopColor: dynamicColor } })] })) })] }), showValue && (jsx("div", { className: styles$p.valueDisplay, style: { color: dynamicColor }, children: formatValue(value) })), labels.length > 0 && (jsx("div", { className: styles$p.labelsContainer, children: labels.map((labelConfig, index) => {
1785
1786
  let position = 0;
1786
1787
  if (labelConfig.position === 'start')
1787
1788
  position = 0;
@@ -1789,11 +1790,11 @@ function Slider({ value, onChange, min = 0, max = 100, step = 1, label, showValu
1789
1790
  position = 100;
1790
1791
  else if (typeof labelConfig.position === 'number')
1791
1792
  position = labelConfig.position;
1792
- return (jsx("div", { className: styles$o.labelItem, style: { left: `${position}%`, color: labelConfig.color }, children: labelConfig.label }, index));
1793
+ return (jsx("div", { className: styles$p.labelItem, style: { left: `${position}%`, color: labelConfig.color }, children: labelConfig.label }, index));
1793
1794
  }) }))] }));
1794
1795
  }
1795
1796
 
1796
- var styles$n = {"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"};
1797
+ var styles$o = {"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"};
1797
1798
 
1798
1799
  const defaultMessages = [
1799
1800
  'Loading your content...',
@@ -1877,22 +1878,22 @@ const LoadingSpinner = ({ message, size = 'medium', variant = 'dots', className
1877
1878
  }
1878
1879
  }, [currentMessageIndex, message, messagesToUse, showMessage]);
1879
1880
  const containerClasses = [
1880
- styles$n.loadingContainer,
1881
- styles$n[size],
1882
- styles$n[variant],
1883
- fullScreen && styles$n.fullScreen,
1884
- overlay && styles$n.overlay,
1881
+ styles$o.loadingContainer,
1882
+ styles$o[size],
1883
+ styles$o[variant],
1884
+ fullScreen && styles$o.fullScreen,
1885
+ overlay && styles$o.overlay,
1885
1886
  className
1886
1887
  ].filter(Boolean).join(' ');
1887
1888
  const customStyle = {
1888
1889
  ...(color && { '--spinner-color': color }),
1889
1890
  ...(backgroundColor && { '--spinner-background': backgroundColor }),
1890
1891
  };
1891
- const renderDots = () => (jsxs(motion.div, { className: styles$n.dotsSpinner, animate: { rotate: 360 }, transition: {
1892
+ const renderDots = () => (jsxs(motion.div, { className: styles$o.dotsSpinner, animate: { rotate: 360 }, transition: {
1892
1893
  duration: 2,
1893
1894
  repeat: Infinity,
1894
1895
  ease: 'linear'
1895
- }, children: [jsx(motion.div, { className: styles$n.dot1, animate: {
1896
+ }, children: [jsx(motion.div, { className: styles$o.dot1, animate: {
1896
1897
  scale: [1, 1.3, 1],
1897
1898
  y: [0, -6, 0]
1898
1899
  }, transition: {
@@ -1900,7 +1901,7 @@ const LoadingSpinner = ({ message, size = 'medium', variant = 'dots', className
1900
1901
  repeat: Infinity,
1901
1902
  ease: 'easeInOut',
1902
1903
  delay: 0
1903
- } }), jsx(motion.div, { className: styles$n.dot2, animate: {
1904
+ } }), jsx(motion.div, { className: styles$o.dot2, animate: {
1904
1905
  scale: [1, 1.3, 1],
1905
1906
  y: [0, -6, 0]
1906
1907
  }, transition: {
@@ -1908,7 +1909,7 @@ const LoadingSpinner = ({ message, size = 'medium', variant = 'dots', className
1908
1909
  repeat: Infinity,
1909
1910
  ease: 'easeInOut',
1910
1911
  delay: 0.5
1911
- } }), jsx(motion.div, { className: styles$n.dot3, animate: {
1912
+ } }), jsx(motion.div, { className: styles$o.dot3, animate: {
1912
1913
  scale: [1, 1.3, 1],
1913
1914
  y: [0, -6, 0]
1914
1915
  }, transition: {
@@ -1917,12 +1918,12 @@ const LoadingSpinner = ({ message, size = 'medium', variant = 'dots', className
1917
1918
  ease: 'easeInOut',
1918
1919
  delay: 1
1919
1920
  } })] }));
1920
- const renderSpinner = () => (jsx(motion.div, { className: styles$n.circleSpinner, animate: { rotate: 360 }, transition: {
1921
+ const renderSpinner = () => (jsx(motion.div, { className: styles$o.circleSpinner, animate: { rotate: 360 }, transition: {
1921
1922
  duration: 1,
1922
1923
  repeat: Infinity,
1923
1924
  ease: 'linear'
1924
1925
  } }));
1925
- const renderPulse = () => (jsx(motion.div, { className: styles$n.pulseSpinner, animate: {
1926
+ const renderPulse = () => (jsx(motion.div, { className: styles$o.pulseSpinner, animate: {
1926
1927
  scale: [1, 1.2, 1],
1927
1928
  opacity: [1, 0.7, 1]
1928
1929
  }, transition: {
@@ -1941,10 +1942,10 @@ const LoadingSpinner = ({ message, size = 'medium', variant = 'dots', className
1941
1942
  return renderDots();
1942
1943
  }
1943
1944
  };
1944
- return (jsxs("div", { className: containerClasses, style: customStyle, children: [renderSpinnerVariant(), showMessage && (jsx(AnimatePresence, { mode: "wait", children: jsx(motion.p, { className: styles$n.loadingText, initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -10 }, transition: {
1945
+ return (jsxs("div", { className: containerClasses, style: customStyle, children: [renderSpinnerVariant(), showMessage && (jsx(AnimatePresence, { mode: "wait", children: jsx(motion.p, { className: styles$o.loadingText, initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -10 }, transition: {
1945
1946
  duration: 0.4,
1946
1947
  ease: 'easeOut'
1947
- }, children: currentMessage }, currentMessage) })), showSparkles && (jsx("div", { className: styles$n.sparkleContainer, children: [...Array(4)].map((_, i) => (jsx(motion.div, { className: styles$n.sparkle, animate: {
1948
+ }, children: currentMessage }, currentMessage) })), showSparkles && (jsx("div", { className: styles$o.sparkleContainer, children: [...Array(4)].map((_, i) => (jsx(motion.div, { className: styles$o.sparkle, animate: {
1948
1949
  opacity: [0, 1, 0],
1949
1950
  scale: [0.5, 1, 0.5],
1950
1951
  rotate: [0, 180, 360]
@@ -1959,7 +1960,7 @@ const LoadingSpinner = ({ message, size = 'medium', variant = 'dots', className
1959
1960
  } }, i))) }))] }));
1960
1961
  };
1961
1962
 
1962
- var styles$m = {"wrapper":"DecryptedText-module_wrapper__tuLvf","srOnly":"DecryptedText-module_srOnly__A-K2T"};
1963
+ var styles$n = {"wrapper":"DecryptedText-module_wrapper__tuLvf","srOnly":"DecryptedText-module_srOnly__A-K2T"};
1963
1964
 
1964
1965
  /**
1965
1966
  * DecryptedText Component
@@ -2143,13 +2144,13 @@ const DecryptedText = ({ text, speed = 50, maxIterations = 10, sequential = fals
2143
2144
  onMouseLeave: () => setIsHovering(false),
2144
2145
  }
2145
2146
  : {};
2146
- return (jsxs(motion.span, { className: `${styles$m.wrapper} ${parentClassName}`, ref: containerRef, ...hoverProps, ...props, children: [jsx("span", { className: styles$m.srOnly, children: displayText }), jsx("span", { "aria-hidden": "true", children: displayText.split('').map((char, index) => {
2147
+ return (jsxs(motion.span, { className: `${styles$n.wrapper} ${parentClassName}`, ref: containerRef, ...hoverProps, ...props, children: [jsx("span", { className: styles$n.srOnly, children: displayText }), jsx("span", { "aria-hidden": "true", children: displayText.split('').map((char, index) => {
2147
2148
  const isRevealedOrDone = revealedIndices.has(index) || !isScrambling || !isHovering;
2148
2149
  return (jsx("span", { className: isRevealedOrDone ? className : encryptedClassName, children: char }, index));
2149
2150
  }) })] }));
2150
2151
  };
2151
2152
 
2152
- var styles$l = {"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"};
2153
+ var styles$m = {"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"};
2153
2154
 
2154
2155
  /**
2155
2156
  * ArrayInput component - Versatile dynamic list manager
@@ -2216,11 +2217,11 @@ function SimpleArrayInput({ label, values, onChange, placeholder, itemStyle, inp
2216
2217
  itemIdsRef.current.splice(index, 1);
2217
2218
  onChange(newValues);
2218
2219
  };
2219
- return (jsxs("div", { className: styles$l.arrayInput, children: [jsx("h3", { className: styles$l.arrayInputLabel, children: label }), jsx("div", { children: jsx(AnimatePresence, { children: values.map((value, index) => (jsxs(motion.div, { className: styles$l.arrayInputItem, style: itemStyle, initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0 }, transition: {
2220
+ return (jsxs("div", { className: styles$m.arrayInput, children: [jsx("h3", { className: styles$m.arrayInputLabel, children: label }), jsx("div", { children: jsx(AnimatePresence, { children: values.map((value, index) => (jsxs(motion.div, { className: styles$m.arrayInputItem, style: itemStyle, initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0 }, transition: {
2220
2221
  duration: 0.3,
2221
2222
  ease: "easeInOut",
2222
2223
  layout: { duration: 0.2 }
2223
- }, children: [jsx("div", { className: styles$l.inputWrapper, children: multiline ? (jsx("div", { style: inputStyle, children: jsx(TextArea, { label: "", value: value, onChange: (newValue) => handleChange(index, newValue), placeholder: placeholder, rows: rows, compact: true }) })) : (jsx("input", { type: "text", value: value, onChange: (e) => handleChange(index, e.target.value), placeholder: placeholder, className: styles$l.input, style: inputStyle })) }), jsx(Button, { variant: "ghost", size: "small", onClick: () => handleRemove(index), "aria-label": "Remove item", className: styles$l.removeButton, children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: 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]))) }) }), jsx(Button, { variant: buttonVariant, size: "small", onClick: handleAdd, className: styles$l.addButton, children: label })] }));
2224
+ }, children: [jsx("div", { className: styles$m.inputWrapper, children: multiline ? (jsx("div", { style: inputStyle, children: jsx(TextArea, { label: "", value: value, onChange: (newValue) => handleChange(index, newValue), placeholder: placeholder, rows: rows, compact: true }) })) : (jsx("input", { type: "text", value: value, onChange: (e) => handleChange(index, e.target.value), placeholder: placeholder, className: styles$m.input, style: inputStyle })) }), jsx(Button, { variant: "ghost", size: "small", onClick: () => handleRemove(index), "aria-label": "Remove item", className: styles$m.removeButton, children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: 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]))) }) }), jsx(Button, { variant: buttonVariant, size: "small", onClick: handleAdd, className: styles$m.addButton, children: label })] }));
2224
2225
  }
2225
2226
  // Complex object array implementation
2226
2227
  function ComplexArrayInput({ label, values, onChange, fields, getKey, itemStyle, inputStyle, buttonVariant = 'primary' }) {
@@ -2245,14 +2246,14 @@ function ComplexArrayInput({ label, values, onChange, fields, getKey, itemStyle,
2245
2246
  // Generate key from all field values
2246
2247
  return fields.map(f => item[f.name] || '').join('-') + `-${index}`;
2247
2248
  };
2248
- return (jsxs("div", { className: styles$l.arrayInput, children: [jsx("h3", { className: styles$l.arrayInputLabel, children: label }), jsx("div", { children: jsx(AnimatePresence, { children: values.map((value, index) => (jsxs(motion.div, { className: `${styles$l.arrayInputItem} ${fields.length > 1 ? styles$l.complexItem : ''}`, style: itemStyle, initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0 }, transition: {
2249
+ return (jsxs("div", { className: styles$m.arrayInput, children: [jsx("h3", { className: styles$m.arrayInputLabel, children: label }), jsx("div", { children: jsx(AnimatePresence, { children: values.map((value, index) => (jsxs(motion.div, { className: `${styles$m.arrayInputItem} ${fields.length > 1 ? styles$m.complexItem : ''}`, style: itemStyle, initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0 }, transition: {
2249
2250
  duration: 0.3,
2250
2251
  ease: "easeInOut",
2251
2252
  layout: { duration: 0.2 }
2252
- }, children: [jsx("div", { className: styles$l.fieldsWrapper, children: fields.map((field) => (jsx("div", { style: inputStyle, children: field.multiline ? (jsx(TextArea, { value: value[field.name] || '', onChange: (newValue) => handleChange(index, field.name, newValue), label: field.label, placeholder: field.placeholder, rows: field.rows, compact: true })) : (jsx(TextInput, { value: value[field.name] || '', onChange: (newValue) => handleChange(index, field.name, newValue), label: field.label, type: field.type, placeholder: field.placeholder })) }, field.name))) }), jsx(Button, { variant: "ghost", size: "small", onClick: () => handleRemove(index), "aria-label": "Remove item", className: styles$l.removeButton, children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: 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)))) }) }), jsxs(Button, { variant: buttonVariant, size: "small", onClick: handleAdd, className: styles$l.addButton, children: ["Add ", label] })] }));
2253
+ }, children: [jsx("div", { className: styles$m.fieldsWrapper, children: fields.map((field) => (jsx("div", { style: inputStyle, children: field.multiline ? (jsx(TextArea, { value: value[field.name] || '', onChange: (newValue) => handleChange(index, field.name, newValue), label: field.label, placeholder: field.placeholder, rows: field.rows, compact: true })) : (jsx(TextInput, { value: value[field.name] || '', onChange: (newValue) => handleChange(index, field.name, newValue), label: field.label, type: field.type, placeholder: field.placeholder })) }, field.name))) }), jsx(Button, { variant: "ghost", size: "small", onClick: () => handleRemove(index), "aria-label": "Remove item", className: styles$m.removeButton, children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: 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)))) }) }), jsxs(Button, { variant: buttonVariant, size: "small", onClick: handleAdd, className: styles$m.addButton, children: ["Add ", label] })] }));
2253
2254
  }
2254
2255
 
2255
- var styles$k = {"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"};
2256
+ var styles$l = {"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"};
2256
2257
 
2257
2258
  const EditFAB = ({ canEdit, isEditMode, hasUnsavedChanges = false, isSaving = false, onEnterEditMode, onExitEditMode, position = { bottom: 32, right: 32 } }) => {
2258
2259
  const [isMobile, setIsMobile] = useState(false);
@@ -2337,15 +2338,15 @@ const EditFAB = ({ canEdit, isEditMode, hasUnsavedChanges = false, isSaving = fa
2337
2338
  };
2338
2339
  const getVariantClass = () => {
2339
2340
  if (isSaving)
2340
- return styles$k.primary;
2341
+ return styles$l.primary;
2341
2342
  if (isEditMode) {
2342
- return hasUnsavedChanges ? styles$k.success : styles$k.secondary;
2343
+ return hasUnsavedChanges ? styles$l.success : styles$l.secondary;
2343
2344
  }
2344
- return styles$k.primary;
2345
+ return styles$l.primary;
2345
2346
  };
2346
2347
  const getIcon = () => {
2347
2348
  if (isSaving) {
2348
- return jsx("div", { className: styles$k.loader });
2349
+ return jsx("div", { className: styles$l.loader });
2349
2350
  }
2350
2351
  if (isEditMode) {
2351
2352
  return hasUnsavedChanges ? jsx(Check, { size: 24 }) : jsx(X, { size: 24 });
@@ -2360,14 +2361,14 @@ const EditFAB = ({ canEdit, isEditMode, hasUnsavedChanges = false, isSaving = fa
2360
2361
  }
2361
2362
  return "Enter edit mode";
2362
2363
  };
2363
- return (jsx(motion.button, { ref: fabRef, className: `${styles$k.fab} ${getVariantClass()} ${isMobile ? styles$k.draggable : ''} ${isDragging ? styles$k.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: {
2364
+ return (jsx(motion.button, { ref: fabRef, className: `${styles$l.fab} ${getVariantClass()} ${isMobile ? styles$l.draggable : ''} ${isDragging ? styles$l.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: {
2364
2365
  type: "spring",
2365
2366
  stiffness: 260,
2366
2367
  damping: 20
2367
2368
  }, children: getIcon() }));
2368
2369
  };
2369
2370
 
2370
- var styles$j = {"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"};
2371
+ var styles$k = {"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"};
2371
2372
 
2372
2373
  // Default filter options for backwards compatibility
2373
2374
  const defaultFilterOptions = [
@@ -2560,18 +2561,18 @@ const SearchBar = ({ className, placeholder = "Search (Ctrl+Space)...", onSearch
2560
2561
  return text || '';
2561
2562
  const regex = new RegExp(`(${highlight.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')})`, 'gi');
2562
2563
  const parts = text.split(regex);
2563
- return parts.map((part, index) => regex.test(part) ? (jsx("mark", { className: styles$j.highlight, children: part }, index)) : (part));
2564
+ return parts.map((part, index) => regex.test(part) ? (jsx("mark", { className: styles$k.highlight, children: part }, index)) : (part));
2564
2565
  };
2565
- return (jsxs("div", { ref: searchRef, className: `${styles$j.searchContainer} ${className || ''}`, children: [jsxs("div", { className: styles$j.searchInputWrapper, children: [jsx(Search, { className: styles$j.searchIcon }), 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$j.searchInput, "aria-label": "Search", "aria-expanded": isDropdownOpen, "aria-controls": "search-results", "aria-autocomplete": "list" }), query && (jsx(motion.button, { className: styles$j.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: jsx(X, {}) })), showFilter && (jsx("select", { value: filter, onChange: (e) => setFilter(e.target.value), className: styles$j.filterSelect, "aria-label": "Filter search results", children: filterOptions.map(option => (jsx("option", { value: option.value, children: option.label }, option.value))) }))] }), jsx(AnimatePresence, { children: isDropdownOpen && (jsx(motion.div, { ref: resultsRef, id: "search-results", className: styles$j.resultsDropdown, initial: { opacity: 0, y: -10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -10 }, transition: { duration: 0.2 }, children: isLoading ? (jsxs("div", { className: styles$j.loadingState, children: [jsx("div", { className: styles$j.spinner }), jsx("span", { children: "Searching..." })] })) : results.length === 0 ? (jsxs("div", { className: styles$j.emptyState, children: ["No results found for \"", query, "\""] })) : (jsx("div", { className: styles$j.resultsGroups, children: Object.entries(groupedResults).map(([type, groupResults]) => {
2566
+ return (jsxs("div", { ref: searchRef, className: `${styles$k.searchContainer} ${className || ''}`, children: [jsxs("div", { className: styles$k.searchInputWrapper, children: [jsx(Search, { className: styles$k.searchIcon }), 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$k.searchInput, "aria-label": "Search", "aria-expanded": isDropdownOpen, "aria-controls": "search-results", "aria-autocomplete": "list" }), query && (jsx(motion.button, { className: styles$k.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: jsx(X, {}) })), showFilter && (jsx("select", { value: filter, onChange: (e) => setFilter(e.target.value), className: styles$k.filterSelect, "aria-label": "Filter search results", children: filterOptions.map(option => (jsx("option", { value: option.value, children: option.label }, option.value))) }))] }), jsx(AnimatePresence, { children: isDropdownOpen && (jsx(motion.div, { ref: resultsRef, id: "search-results", className: styles$k.resultsDropdown, initial: { opacity: 0, y: -10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -10 }, transition: { duration: 0.2 }, children: isLoading ? (jsxs("div", { className: styles$k.loadingState, children: [jsx("div", { className: styles$k.spinner }), jsx("span", { children: "Searching..." })] })) : results.length === 0 ? (jsxs("div", { className: styles$k.emptyState, children: ["No results found for \"", query, "\""] })) : (jsx("div", { className: styles$k.resultsGroups, children: Object.entries(groupedResults).map(([type, groupResults]) => {
2566
2567
  const Icon = entityIcons[type];
2567
- return (jsxs("div", { className: styles$j.resultGroup, children: [jsxs("div", { className: styles$j.groupHeader, children: [Icon && jsx(Icon, { className: styles$j.groupIcon }), jsx("span", { className: styles$j.groupTitle, children: type.charAt(0).toUpperCase() + type.slice(1) }), jsx("span", { className: styles$j.groupCount, children: groupResults.length })] }), jsx("div", { className: styles$j.groupResults, children: groupResults.map((result) => {
2568
+ return (jsxs("div", { className: styles$k.resultGroup, children: [jsxs("div", { className: styles$k.groupHeader, children: [Icon && jsx(Icon, { className: styles$k.groupIcon }), jsx("span", { className: styles$k.groupTitle, children: type.charAt(0).toUpperCase() + type.slice(1) }), jsx("span", { className: styles$k.groupCount, children: groupResults.length })] }), jsx("div", { className: styles$k.groupResults, children: groupResults.map((result) => {
2568
2569
  const globalIndex = results.indexOf(result);
2569
- return (jsxs(motion.button, { "data-result-index": globalIndex, className: `${styles$j.resultItem} ${highlightedIndex === globalIndex ? styles$j.highlighted : ''}`, onClick: () => handleResultClick(result), whileHover: { x: 4 }, onMouseEnter: () => setHighlightedIndex(globalIndex), children: [jsxs("div", { className: styles$j.resultContent, children: [jsx("div", { className: styles$j.resultTitle, children: highlightMatch(result.title || 'Untitled', query) }), result.subtitle && (jsx("div", { className: styles$j.resultSubtitle, children: highlightMatch(result.subtitle, query) }))] }), result.meta && (jsx("div", { className: styles$j.resultMeta, children: result.meta }))] }, `${result.type}-${result.id}`));
2570
+ return (jsxs(motion.button, { "data-result-index": globalIndex, className: `${styles$k.resultItem} ${highlightedIndex === globalIndex ? styles$k.highlighted : ''}`, onClick: () => handleResultClick(result), whileHover: { x: 4 }, onMouseEnter: () => setHighlightedIndex(globalIndex), children: [jsxs("div", { className: styles$k.resultContent, children: [jsx("div", { className: styles$k.resultTitle, children: highlightMatch(result.title || 'Untitled', query) }), result.subtitle && (jsx("div", { className: styles$k.resultSubtitle, children: highlightMatch(result.subtitle, query) }))] }), result.meta && (jsx("div", { className: styles$k.resultMeta, children: result.meta }))] }, `${result.type}-${result.id}`));
2570
2571
  }) })] }, type));
2571
2572
  }) })) })) })] }));
2572
2573
  };
2573
2574
 
2574
- var styles$i = {"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-"};
2575
+ var styles$j = {"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-"};
2575
2576
 
2576
2577
  const lightTheme = createTheme({
2577
2578
  palette: {
@@ -2607,26 +2608,26 @@ function TimeInput({ label, value, onChange, error = false, success = false, loa
2607
2608
  !!document.documentElement.getAttribute('data-theme')?.includes('dark');
2608
2609
  const muiTheme = useMemo(() => (isDark ? darkTheme : lightTheme), [isDark]);
2609
2610
  const getContainerClassName = () => {
2610
- const classes = [styles$i.timeInput];
2611
+ const classes = [styles$j.timeInput];
2611
2612
  if (error)
2612
- classes.push(styles$i.error);
2613
+ classes.push(styles$j.error);
2613
2614
  if (success)
2614
- classes.push(styles$i.success);
2615
+ classes.push(styles$j.success);
2615
2616
  if (loading)
2616
- classes.push(styles$i.loading);
2617
+ classes.push(styles$j.loading);
2617
2618
  if (disabled)
2618
- classes.push(styles$i.disabled);
2619
+ classes.push(styles$j.disabled);
2619
2620
  if (className)
2620
2621
  classes.push(className);
2621
2622
  return classes.join(' ');
2622
2623
  };
2623
- return (jsxs("div", { className: getContainerClassName(), children: [label && (jsxs("label", { className: styles$i.label, children: [label, required && jsx("span", { className: styles$i.required, children: "*" })] })), jsx(ThemeProvider$1, { theme: muiTheme, children: jsx(LocalizationProvider, { dateAdapter: AdapterDayjs, children: jsx(MobileTimePicker, { value: dayjsValue, onChange: (newValue) => {
2624
+ return (jsxs("div", { className: getContainerClassName(), children: [label && (jsxs("label", { className: styles$j.label, children: [label, required && jsx("span", { className: styles$j.required, children: "*" })] })), jsx(ThemeProvider$1, { theme: muiTheme, children: jsx(LocalizationProvider, { dateAdapter: AdapterDayjs, children: jsx(MobileTimePicker, { value: dayjsValue, onChange: (newValue) => {
2624
2625
  onChange(newValue ? newValue.format('HH:mm') : '');
2625
2626
  }, ampm: false, views: ['hours', 'minutes'], disabled: disabled || loading, slotProps: {
2626
2627
  textField: {
2627
2628
  size: 'small',
2628
2629
  fullWidth: true,
2629
- className: styles$i.picker,
2630
+ className: styles$j.picker,
2630
2631
  sx: {
2631
2632
  '& .MuiPickersOutlinedInput-root': {
2632
2633
  fontFamily: "'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace",
@@ -2714,7 +2715,7 @@ const ThemeProvider = ({ children, defaultTheme = 'light', storageKey = 'app-the
2714
2715
  return (jsx(ThemeContext.Provider, { value: { theme, setTheme, toggleTheme }, children: children }));
2715
2716
  };
2716
2717
 
2717
- var styles$h = {"button":"ThemeSwitcher-module_button__VfRjU","iconButton":"ThemeSwitcher-module_iconButton__NKYBc","iconWrapper":"ThemeSwitcher-module_iconWrapper__FpHo8","label":"ThemeSwitcher-module_label__2Hfkp","toggle":"ThemeSwitcher-module_toggle__ATXx4","toggleTrack":"ThemeSwitcher-module_toggleTrack__x28Rv","toggleThumb":"ThemeSwitcher-module_toggleThumb__V8QeN","dropdown":"ThemeSwitcher-module_dropdown__3qLdt","dropdownTrigger":"ThemeSwitcher-module_dropdownTrigger__UzYV5","dropdownMenu":"ThemeSwitcher-module_dropdownMenu__3L5hT","dropdownItem":"ThemeSwitcher-module_dropdownItem__inw-K","active":"ThemeSwitcher-module_active__OHP19","icon":"ThemeSwitcher-module_icon__iRZiJ","text":"ThemeSwitcher-module_text__OCOoA"};
2718
+ var styles$i = {"button":"ThemeSwitcher-module_button__VfRjU","iconButton":"ThemeSwitcher-module_iconButton__NKYBc","iconWrapper":"ThemeSwitcher-module_iconWrapper__FpHo8","label":"ThemeSwitcher-module_label__2Hfkp","toggle":"ThemeSwitcher-module_toggle__ATXx4","toggleTrack":"ThemeSwitcher-module_toggleTrack__x28Rv","toggleThumb":"ThemeSwitcher-module_toggleThumb__V8QeN","dropdown":"ThemeSwitcher-module_dropdown__3qLdt","dropdownTrigger":"ThemeSwitcher-module_dropdownTrigger__UzYV5","dropdownMenu":"ThemeSwitcher-module_dropdownMenu__3L5hT","dropdownItem":"ThemeSwitcher-module_dropdownItem__inw-K","active":"ThemeSwitcher-module_active__OHP19","icon":"ThemeSwitcher-module_icon__iRZiJ","text":"ThemeSwitcher-module_text__OCOoA"};
2718
2719
 
2719
2720
  const ThemeSwitcher = ({ variant = 'button', showLabel = false, className = '', currentTheme, onThemeChange, themes: customThemes, }) => {
2720
2721
  // Use safe version that returns null when outside a ThemeProvider
@@ -2735,25 +2736,25 @@ const ThemeSwitcher = ({ variant = 'button', showLabel = false, className = '',
2735
2736
  if (variant === 'toggle') {
2736
2737
  // Simple toggle between light and dark
2737
2738
  const isDark = theme.includes('dark');
2738
- return (jsxs(motion.button, { className: `${styles$h.toggle} ${className}`, onClick: () => setTheme(isDark ? 'light' : 'dark'), whileTap: { scale: 0.95 }, "aria-label": "Toggle theme", children: [jsx(motion.div, { className: styles$h.toggleTrack, animate: { backgroundColor: isDark ? 'var(--color-primary)' : 'var(--color-border)' }, children: jsx(motion.div, { className: styles$h.toggleThumb, animate: { x: isDark ? 24 : 0 }, transition: { type: 'spring', stiffness: 500, damping: 30 }, children: isDark ? jsx(Moon, { size: 14 }) : jsx(Sun, { size: 14 }) }) }), showLabel && jsx("span", { className: styles$h.label, children: isDark ? 'Dark' : 'Light' })] }));
2739
+ return (jsxs(motion.button, { className: `${styles$i.toggle} ${className}`, onClick: () => setTheme(isDark ? 'light' : 'dark'), whileTap: { scale: 0.95 }, "aria-label": "Toggle theme", children: [jsx(motion.div, { className: styles$i.toggleTrack, animate: { backgroundColor: isDark ? 'var(--color-primary)' : 'var(--color-border)' }, children: jsx(motion.div, { className: styles$i.toggleThumb, animate: { x: isDark ? 24 : 0 }, transition: { type: 'spring', stiffness: 500, damping: 30 }, children: isDark ? jsx(Moon, { size: 14 }) : jsx(Sun, { size: 14 }) }) }), showLabel && jsx("span", { className: styles$i.label, children: isDark ? 'Dark' : 'Light' })] }));
2739
2740
  }
2740
2741
  if (variant === 'icon') {
2741
- return (jsxs("button", { type: "button", className: `${styles$h.iconButton} ${className}`, onClick: () => {
2742
+ return (jsxs("button", { type: "button", className: `${styles$i.iconButton} ${className}`, onClick: () => {
2742
2743
  const nextIndex = (currentThemeIndex + 1) % themes.length;
2743
2744
  setTheme(themes[nextIndex].value);
2744
- }, "aria-label": `Current theme: ${currentThemeData.label}. Click to change.`, title: currentThemeData.label, children: [currentThemeData.icon, showLabel && jsx("span", { className: styles$h.label, children: currentThemeData.label })] }));
2745
+ }, "aria-label": `Current theme: ${currentThemeData.label}. Click to change.`, title: currentThemeData.label, children: [currentThemeData.icon, showLabel && jsx("span", { className: styles$i.label, children: currentThemeData.label })] }));
2745
2746
  }
2746
2747
  if (variant === 'dropdown') {
2747
- return (jsxs("div", { className: `${styles$h.dropdown} ${className}`, children: [jsxs(motion.button, { className: styles$h.dropdownTrigger, whileTap: { scale: 0.98 }, children: [currentThemeData.icon, showLabel && jsx("span", { className: styles$h.label, children: currentThemeData.label })] }), jsx(motion.div, { className: styles$h.dropdownMenu, initial: { opacity: 0, y: -10 }, animate: { opacity: 1, y: 0 }, children: themes.map((t) => (jsxs(motion.button, { className: `${styles$h.dropdownItem} ${theme === t.value ? styles$h.active : ''}`, onClick: () => setTheme(t.value), whileHover: { x: 4 }, whileTap: { scale: 0.98 }, children: [jsx("span", { className: styles$h.icon, children: t.icon }), jsx("span", { className: styles$h.text, children: t.label })] }, t.value))) })] }));
2748
+ return (jsxs("div", { className: `${styles$i.dropdown} ${className}`, children: [jsxs(motion.button, { className: styles$i.dropdownTrigger, whileTap: { scale: 0.98 }, children: [currentThemeData.icon, showLabel && jsx("span", { className: styles$i.label, children: currentThemeData.label })] }), jsx(motion.div, { className: styles$i.dropdownMenu, initial: { opacity: 0, y: -10 }, animate: { opacity: 1, y: 0 }, children: themes.map((t) => (jsxs(motion.button, { className: `${styles$i.dropdownItem} ${theme === t.value ? styles$i.active : ''}`, onClick: () => setTheme(t.value), whileHover: { x: 4 }, whileTap: { scale: 0.98 }, children: [jsx("span", { className: styles$i.icon, children: t.icon }), jsx("span", { className: styles$i.text, children: t.label })] }, t.value))) })] }));
2748
2749
  }
2749
2750
  // Default button variant - cycles through themes
2750
- return (jsxs(motion.button, { className: `${styles$h.button} ${className}`, onClick: () => {
2751
+ return (jsxs(motion.button, { className: `${styles$i.button} ${className}`, onClick: () => {
2751
2752
  const nextIndex = (currentThemeIndex + 1) % themes.length;
2752
2753
  setTheme(themes[nextIndex].value);
2753
- }, whileTap: { scale: 0.95 }, whileHover: { scale: 1.05 }, "aria-label": `Current theme: ${currentThemeData.label}. Click to change.`, children: [jsx(motion.div, { initial: { rotate: -180, opacity: 0 }, animate: { rotate: 0, opacity: 1 }, exit: { rotate: 180, opacity: 0 }, transition: { duration: 0.3 }, className: styles$h.iconWrapper, children: currentThemeData.icon }, theme), showLabel && jsx("span", { className: styles$h.label, children: currentThemeData.label })] }));
2754
+ }, whileTap: { scale: 0.95 }, whileHover: { scale: 1.05 }, "aria-label": `Current theme: ${currentThemeData.label}. Click to change.`, children: [jsx(motion.div, { initial: { rotate: -180, opacity: 0 }, animate: { rotate: 0, opacity: 1 }, exit: { rotate: 180, opacity: 0 }, transition: { duration: 0.3 }, className: styles$i.iconWrapper, children: currentThemeData.icon }, theme), showLabel && jsx("span", { className: styles$i.label, children: currentThemeData.label })] }));
2754
2755
  };
2755
2756
 
2756
- var styles$g = {"tabs":"Tabs-module_tabs__Vlvn7","tab":"Tabs-module_tab__uQKim","tabIcon":"Tabs-module_tabIcon__AgN-O","fullWidth":"Tabs-module_fullWidth__X-GHP"};
2757
+ var styles$h = {"tabs":"Tabs-module_tabs__Vlvn7","tab":"Tabs-module_tab__uQKim","tabIcon":"Tabs-module_tabIcon__AgN-O","fullWidth":"Tabs-module_fullWidth__X-GHP"};
2757
2758
 
2758
2759
  // Default tabs for backwards compatibility
2759
2760
  const defaultTabs = [
@@ -2764,39 +2765,39 @@ const defaultTabs = [
2764
2765
  ];
2765
2766
  const Tabs = ({ activeTab, onTabChange, tabs: customTabs, className = '', fullWidth = false }) => {
2766
2767
  const tabs = customTabs ?? defaultTabs;
2767
- return (jsx("div", { className: `${styles$g.tabs} ${fullWidth ? styles$g.fullWidth : ''} ${className}`, children: tabs.map((tab) => {
2768
+ return (jsx("div", { className: `${styles$h.tabs} ${fullWidth ? styles$h.fullWidth : ''} ${className}`, children: tabs.map((tab) => {
2768
2769
  const isActive = activeTab === tab.id;
2769
- return (jsxs(motion.button, { className: styles$g.tab, "data-active": isActive, onClick: () => onTabChange(tab.id), style: { position: 'relative' }, children: [jsx(motion.div, { animate: {
2770
+ return (jsxs(motion.button, { className: styles$h.tab, "data-active": isActive, onClick: () => onTabChange(tab.id), style: { position: 'relative' }, children: [jsx(motion.div, { animate: {
2770
2771
  rotate: isActive ? [0, -10, 10, -5, 5, 0] : 0,
2771
2772
  }, transition: {
2772
2773
  rotate: {
2773
2774
  duration: 0.5,
2774
2775
  ease: 'easeInOut'
2775
2776
  }
2776
- }, children: tab.icon && (React.isValidElement(tab.icon) ? (jsx("span", { className: styles$g.tabIcon, children: tab.icon })) : (jsx("span", { className: styles$g.tabIcon, children: React.createElement(tab.icon) }))) }), jsx("span", { children: tab.label })] }, tab.id));
2777
+ }, children: tab.icon && (React.isValidElement(tab.icon) ? (jsx("span", { className: styles$h.tabIcon, children: tab.icon })) : (jsx("span", { className: styles$h.tabIcon, children: React.createElement(tab.icon) }))) }), jsx("span", { children: tab.label })] }, tab.id));
2777
2778
  }) }));
2778
2779
  };
2779
2780
 
2780
- var styles$f = {"toastContainer":"Toast-module_toastContainer__gp5C0","toast":"Toast-module_toast__eenNR","toastSuccess":"Toast-module_toastSuccess__e-cSx","toastError":"Toast-module_toastError__6JO9w","toastWarning":"Toast-module_toastWarning__pJoF1","toastInfo":"Toast-module_toastInfo__y33kR","icon":"Toast-module_icon__Z-D6i","iconSuccess":"Toast-module_iconSuccess__ehY27","iconError":"Toast-module_iconError__nXhZz","iconWarning":"Toast-module_iconWarning__Ie8oD","iconInfo":"Toast-module_iconInfo__8vOf5","content":"Toast-module_content__eBhK8","title":"Toast-module_title__EfUfZ","message":"Toast-module_message__l4pyr","closeButton":"Toast-module_closeButton__UWOVG","progressBar":"Toast-module_progressBar__fGwBU"};
2781
+ var styles$g = {"toastContainer":"Toast-module_toastContainer__gp5C0","toast":"Toast-module_toast__eenNR","toastSuccess":"Toast-module_toastSuccess__e-cSx","toastError":"Toast-module_toastError__6JO9w","toastWarning":"Toast-module_toastWarning__pJoF1","toastInfo":"Toast-module_toastInfo__y33kR","icon":"Toast-module_icon__Z-D6i","iconSuccess":"Toast-module_iconSuccess__ehY27","iconError":"Toast-module_iconError__nXhZz","iconWarning":"Toast-module_iconWarning__Ie8oD","iconInfo":"Toast-module_iconInfo__8vOf5","content":"Toast-module_content__eBhK8","title":"Toast-module_title__EfUfZ","message":"Toast-module_message__l4pyr","closeButton":"Toast-module_closeButton__UWOVG","progressBar":"Toast-module_progressBar__fGwBU"};
2781
2782
 
2782
2783
  const getIcon = (type) => {
2783
2784
  switch (type) {
2784
2785
  case 'success':
2785
- return (jsx("svg", { className: `${styles$f.icon} ${styles$f.iconSuccess}`, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }));
2786
+ return (jsx("svg", { className: `${styles$g.icon} ${styles$g.iconSuccess}`, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }));
2786
2787
  case 'error':
2787
- return (jsx("svg", { className: `${styles$f.icon} ${styles$f.iconError}`, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }));
2788
+ return (jsx("svg", { className: `${styles$g.icon} ${styles$g.iconError}`, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }));
2788
2789
  case 'warning':
2789
- return (jsx("svg", { className: `${styles$f.icon} ${styles$f.iconWarning}`, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" }) }));
2790
+ return (jsx("svg", { className: `${styles$g.icon} ${styles$g.iconWarning}`, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" }) }));
2790
2791
  case 'info':
2791
- return (jsx("svg", { className: `${styles$f.icon} ${styles$f.iconInfo}`, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) }));
2792
+ return (jsx("svg", { className: `${styles$g.icon} ${styles$g.iconInfo}`, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) }));
2792
2793
  }
2793
2794
  };
2794
2795
  const getToastStyle = (type) => {
2795
2796
  switch (type) {
2796
- case 'success': return styles$f.toastSuccess;
2797
- case 'error': return styles$f.toastError;
2798
- case 'warning': return styles$f.toastWarning;
2799
- case 'info': return styles$f.toastInfo;
2797
+ case 'success': return styles$g.toastSuccess;
2798
+ case 'error': return styles$g.toastError;
2799
+ case 'warning': return styles$g.toastWarning;
2800
+ case 'info': return styles$g.toastInfo;
2800
2801
  default: return '';
2801
2802
  }
2802
2803
  };
@@ -2818,7 +2819,7 @@ const ToastItem = ({ toast, removeToast, }) => {
2818
2819
  clearInterval(interval);
2819
2820
  };
2820
2821
  }, [toast.id, duration, removeToast]);
2821
- return (jsxs(motion.div, { className: `${styles$f.toast} ${getToastStyle(toast.type)}`, initial: { opacity: 0, x: 100, scale: 0.9 }, animate: { opacity: 1, x: 0, scale: 1 }, exit: { opacity: 0, x: 100, scale: 0.9 }, transition: { type: 'spring', stiffness: 500, damping: 40 }, layout: true, children: [getIcon(toast.type), jsxs("div", { className: styles$f.content, children: [toast.title && jsx("p", { className: styles$f.title, children: toast.title }), jsx("p", { className: styles$f.message, children: toast.message })] }), jsx("button", { className: styles$f.closeButton, onClick: () => removeToast(toast.id), "aria-label": "Close notification", children: jsx("svg", { width: "16", height: "16", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) }), jsx(motion.div, { className: styles$f.progressBar, initial: { width: '100%' }, animate: { width: `${progress}%` }, style: {
2822
+ return (jsxs(motion.div, { className: `${styles$g.toast} ${getToastStyle(toast.type)}`, initial: { opacity: 0, x: 100, scale: 0.9 }, animate: { opacity: 1, x: 0, scale: 1 }, exit: { opacity: 0, x: 100, scale: 0.9 }, transition: { type: 'spring', stiffness: 500, damping: 40 }, layout: true, children: [getIcon(toast.type), jsxs("div", { className: styles$g.content, children: [toast.title && jsx("p", { className: styles$g.title, children: toast.title }), jsx("p", { className: styles$g.message, children: toast.message })] }), jsx("button", { className: styles$g.closeButton, onClick: () => removeToast(toast.id), "aria-label": "Close notification", children: jsx("svg", { width: "16", height: "16", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) }), jsx(motion.div, { className: styles$g.progressBar, initial: { width: '100%' }, animate: { width: `${progress}%` }, style: {
2822
2823
  color: toast.type === 'success' ? '#10B981'
2823
2824
  : toast.type === 'error' ? '#EF4444'
2824
2825
  : toast.type === 'warning' ? '#F59E0B'
@@ -2828,10 +2829,10 @@ const ToastItem = ({ toast, removeToast, }) => {
2828
2829
  const ToastContainer = ({ toasts, removeToast }) => {
2829
2830
  if (typeof document === 'undefined')
2830
2831
  return null;
2831
- return createPortal(jsx("div", { className: styles$f.toastContainer, children: jsx(AnimatePresence, { mode: "sync", children: toasts.map((toast) => (jsx(ToastItem, { toast: toast, removeToast: removeToast }, toast.id))) }) }), document.body);
2832
+ return createPortal(jsx("div", { className: styles$g.toastContainer, children: jsx(AnimatePresence, { mode: "sync", children: toasts.map((toast) => (jsx(ToastItem, { toast: toast, removeToast: removeToast }, toast.id))) }) }), document.body);
2832
2833
  };
2833
2834
 
2834
- var styles$e = {"breadcrumb":"Breadcrumb-module_breadcrumb__pGabz","separator":"Breadcrumb-module_separator__UCmyy","item":"Breadcrumb-module_item__0cLOg","link":"Breadcrumb-module_link__udp8M","current":"Breadcrumb-module_current__3DpQc"};
2835
+ var styles$f = {"breadcrumb":"Breadcrumb-module_breadcrumb__pGabz","separator":"Breadcrumb-module_separator__UCmyy","item":"Breadcrumb-module_item__0cLOg","link":"Breadcrumb-module_link__udp8M","current":"Breadcrumb-module_current__3DpQc"};
2835
2836
 
2836
2837
  /**
2837
2838
  * Breadcrumb Component
@@ -2850,13 +2851,13 @@ var styles$e = {"breadcrumb":"Breadcrumb-module_breadcrumb__pGabz","separator":"
2850
2851
  * />
2851
2852
  */
2852
2853
  const Breadcrumb = ({ items, onNavigate, className = '' }) => {
2853
- return (jsx("nav", { className: `${styles$e.breadcrumb} ${className}`, "aria-label": "Breadcrumb", children: items.map((item, index) => {
2854
+ return (jsx("nav", { className: `${styles$f.breadcrumb} ${className}`, "aria-label": "Breadcrumb", children: items.map((item, index) => {
2854
2855
  const isLast = index === items.length - 1;
2855
- return (jsxs(React.Fragment, { children: [index > 0 && jsx(ChevronRight, { size: 14, className: styles$e.separator }), isLast || !item.href ? (jsx("span", { className: `${styles$e.item} ${isLast ? styles$e.current : ''}`, children: item.label })) : (jsx("button", { className: `${styles$e.item} ${styles$e.link}`, onClick: () => onNavigate?.(item.href), children: item.label }))] }, index));
2856
+ return (jsxs(React.Fragment, { children: [index > 0 && jsx(ChevronRight, { size: 14, className: styles$f.separator }), isLast || !item.href ? (jsx("span", { className: `${styles$f.item} ${isLast ? styles$f.current : ''}`, children: item.label })) : (jsx("button", { className: `${styles$f.item} ${styles$f.link}`, onClick: () => onNavigate?.(item.href), children: item.label }))] }, index));
2856
2857
  }) }));
2857
2858
  };
2858
2859
 
2859
- var styles$d = {"overlay":"LiquidButton-module_overlay__-P-xm","container":"LiquidButton-module_container__f1COS","actions":"LiquidButton-module_actions__XBz7p","actionButton":"LiquidButton-module_actionButton__PlEOk","actionLabel":"LiquidButton-module_actionLabel__tIGHE","button":"LiquidButton-module_button__znjyS"};
2860
+ var styles$e = {"overlay":"LiquidButton-module_overlay__-P-xm","container":"LiquidButton-module_container__f1COS","actions":"LiquidButton-module_actions__XBz7p","actionButton":"LiquidButton-module_actionButton__PlEOk","actionLabel":"LiquidButton-module_actionLabel__tIGHE","button":"LiquidButton-module_button__znjyS"};
2860
2861
 
2861
2862
  /**
2862
2863
  * LiquidButton Component
@@ -2882,10 +2883,167 @@ const LiquidButton = ({ actions, icon: Icon = Plus, className = '', }) => {
2882
2883
  setExpanded(false);
2883
2884
  action.onClick();
2884
2885
  }, []);
2885
- return (jsxs(Fragment, { children: [jsx(AnimatePresence, { children: expanded && (jsx(motion.div, { className: styles$d.overlay, initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, onClick: handleToggle })) }), jsxs("div", { className: `${styles$d.container} ${className}`, children: [jsx(AnimatePresence, { children: expanded && (jsx("div", { className: styles$d.actions, children: actions.map((action, index) => (jsxs(motion.button, { type: "button", className: styles$d.actionButton, initial: { opacity: 0, scale: 0.8 }, animate: { opacity: 1, scale: 1 }, exit: { opacity: 0, scale: 0.8 }, transition: {
2886
+ return (jsxs(Fragment, { children: [jsx(AnimatePresence, { children: expanded && (jsx(motion.div, { className: styles$e.overlay, initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, onClick: handleToggle })) }), jsxs("div", { className: `${styles$e.container} ${className}`, children: [jsx(AnimatePresence, { children: expanded && (jsx("div", { className: styles$e.actions, children: actions.map((action, index) => (jsxs(motion.button, { type: "button", className: styles$e.actionButton, initial: { opacity: 0, scale: 0.8 }, animate: { opacity: 1, scale: 1 }, exit: { opacity: 0, scale: 0.8 }, transition: {
2886
2887
  duration: 0.15,
2887
2888
  delay: (actions.length - 1 - index) * 0.05,
2888
- }, onClick: () => handleAction(action), children: [jsx(action.icon, { size: 18, color: action.color }), jsx("span", { className: styles$d.actionLabel, children: action.label })] }, action.key))) })) }), jsx(motion.button, { type: "button", className: styles$d.button, onClick: handleToggle, animate: { rotate: expanded ? 45 : 0 }, transition: { duration: 0.2 }, "aria-label": expanded ? 'Close actions' : 'Open actions', children: jsx(Icon, { size: 24, strokeWidth: 2.5 }) })] })] }));
2889
+ }, onClick: () => handleAction(action), children: [jsx(action.icon, { size: 18, color: action.color }), jsx("span", { className: styles$e.actionLabel, children: action.label })] }, action.key))) })) }), jsx(motion.button, { type: "button", className: styles$e.button, onClick: handleToggle, animate: { rotate: expanded ? 45 : 0 }, transition: { duration: 0.2 }, "aria-label": expanded ? 'Close actions' : 'Open actions', children: jsx(Icon, { size: 24, strokeWidth: 2.5 }) })] })] }));
2890
+ };
2891
+
2892
+ var styles$d = {"container":"RecurrencePicker-module_container__2Ewc4","field":"RecurrencePicker-module_field__3rsnB","fieldCentered":"RecurrencePicker-module_fieldCentered__wP27Q","fieldLabel":"RecurrencePicker-module_fieldLabel__HCMBQ","fieldRow":"RecurrencePicker-module_fieldRow__AQ4k7","fieldUnit":"RecurrencePicker-module_fieldUnit__WHbVN","dayPicker":"RecurrencePicker-module_dayPicker__a5ue6","dayBtn":"RecurrencePicker-module_dayBtn__WIxNY","dayBtnActive":"RecurrencePicker-module_dayBtnActive__mX7FB","preview":"RecurrencePicker-module_preview__tfAQ-"};
2893
+
2894
+ const DEFAULT_STATE = {
2895
+ freq: 'WEEKLY',
2896
+ interval: 1,
2897
+ byDay: ['MO'],
2898
+ byMonthDay: 1,
2899
+ monthlyLast: false,
2900
+ byMonth: 1,
2901
+ yearDay: 1,
2902
+ };
2903
+ const WEEKDAYS = [
2904
+ { code: 'MO', label: 'M', rrule: RRule.MO },
2905
+ { code: 'TU', label: 'T', rrule: RRule.TU },
2906
+ { code: 'WE', label: 'W', rrule: RRule.WE },
2907
+ { code: 'TH', label: 'T', rrule: RRule.TH },
2908
+ { code: 'FR', label: 'F', rrule: RRule.FR },
2909
+ { code: 'SA', label: 'S', rrule: RRule.SA },
2910
+ { code: 'SU', label: 'S', rrule: RRule.SU },
2911
+ ];
2912
+ const MONTHS$1 = [
2913
+ 'January',
2914
+ 'February',
2915
+ 'March',
2916
+ 'April',
2917
+ 'May',
2918
+ 'June',
2919
+ 'July',
2920
+ 'August',
2921
+ 'September',
2922
+ 'October',
2923
+ 'November',
2924
+ 'December',
2925
+ ];
2926
+ const FREQ_MAP = {
2927
+ DAILY: RRule.DAILY,
2928
+ WEEKLY: RRule.WEEKLY,
2929
+ MONTHLY: RRule.MONTHLY,
2930
+ YEARLY: RRule.YEARLY,
2931
+ };
2932
+ const REVERSE_FREQ = {
2933
+ [RRule.DAILY]: 'DAILY',
2934
+ [RRule.WEEKLY]: 'WEEKLY',
2935
+ [RRule.MONTHLY]: 'MONTHLY',
2936
+ [RRule.YEARLY]: 'YEARLY',
2937
+ };
2938
+ const buildRule = (s) => {
2939
+ const opts = { freq: FREQ_MAP[s.freq] };
2940
+ if (s.interval > 1)
2941
+ opts.interval = s.interval;
2942
+ if (s.freq === 'WEEKLY' && s.byDay.length > 0) {
2943
+ opts.byweekday = s.byDay
2944
+ .map(c => WEEKDAYS.find(w => w.code === c)?.rrule)
2945
+ .filter((w) => !!w);
2946
+ }
2947
+ if (s.freq === 'MONTHLY') {
2948
+ opts.bymonthday = s.monthlyLast ? -1 : s.byMonthDay;
2949
+ }
2950
+ if (s.freq === 'YEARLY') {
2951
+ opts.bymonth = s.byMonth;
2952
+ opts.bymonthday = s.yearDay;
2953
+ }
2954
+ const rule = new RRule(opts);
2955
+ return rule.toString().replace(/^(?:DTSTART:[^\n]*\n)?RRULE:/, '');
2956
+ };
2957
+ const parseRule = (rule) => {
2958
+ try {
2959
+ const opts = RRule.parseString(rule);
2960
+ const freq = REVERSE_FREQ[opts.freq];
2961
+ if (!freq)
2962
+ return null;
2963
+ const byweekday = opts.byweekday ?? [];
2964
+ const byDay = byweekday
2965
+ .map(w => {
2966
+ const n = typeof w === 'number' ? w : w.weekday;
2967
+ return WEEKDAYS.find(d => d.rrule.weekday === n)?.code;
2968
+ })
2969
+ .filter((c) => !!c);
2970
+ const bmd = opts.bymonthday;
2971
+ const bymonthday = Array.isArray(bmd) ? bmd[0] : bmd;
2972
+ const bm = opts.bymonth;
2973
+ const bymonth = Array.isArray(bm) ? bm[0] : bm;
2974
+ return {
2975
+ freq,
2976
+ interval: opts.interval || 1,
2977
+ byDay: byDay.length > 0 ? byDay : ['MO'],
2978
+ byMonthDay: freq === 'MONTHLY' && bymonthday && bymonthday > 0 ? bymonthday : 1,
2979
+ monthlyLast: freq === 'MONTHLY' && bymonthday === -1,
2980
+ byMonth: freq === 'YEARLY' ? bymonth || 1 : 1,
2981
+ yearDay: freq === 'YEARLY' && bymonthday ? bymonthday : 1,
2982
+ };
2983
+ }
2984
+ catch {
2985
+ return null;
2986
+ }
2987
+ };
2988
+ const stateFromValue = (value) => {
2989
+ if (!value)
2990
+ return DEFAULT_STATE;
2991
+ return parseRule(value) ?? DEFAULT_STATE;
2992
+ };
2993
+ const RecurrencePicker = ({ value, onChange, className, }) => {
2994
+ const [state, setState] = useState(() => stateFromValue(value));
2995
+ const built = useMemo(() => buildRule(state), [state]);
2996
+ // Re-sync internal state if the parent passes a different rule than the one
2997
+ // we currently render. The `built === value` guard prevents the loop where
2998
+ // our own emit comes back through `value` and triggers a redundant resync.
2999
+ useEffect(() => {
3000
+ if (value && value !== built) {
3001
+ const parsed = parseRule(value);
3002
+ if (parsed)
3003
+ setState(parsed);
3004
+ }
3005
+ }, [value, built]);
3006
+ // On mount, if the parent didn't seed a rule, push our default up so its
3007
+ // state matches what we visually display. Runs once.
3008
+ useEffect(() => {
3009
+ if (!value)
3010
+ onChange(built);
3011
+ // eslint-disable-next-line react-hooks/exhaustive-deps
3012
+ }, []);
3013
+ const update = (patch) => {
3014
+ const next = { ...state, ...patch };
3015
+ setState(next);
3016
+ onChange(buildRule(next));
3017
+ };
3018
+ const toggleDay = (code) => {
3019
+ const byDay = state.byDay.includes(code)
3020
+ ? state.byDay.filter(c => c !== code)
3021
+ : [...state.byDay, code];
3022
+ update({ byDay });
3023
+ };
3024
+ const preview = useMemo(() => {
3025
+ try {
3026
+ return RRule.fromString(built).toText();
3027
+ }
3028
+ catch {
3029
+ return built;
3030
+ }
3031
+ }, [built]);
3032
+ const unitLabel = {
3033
+ DAILY: state.interval === 1 ? 'day' : 'days',
3034
+ WEEKLY: state.interval === 1 ? 'week' : 'weeks',
3035
+ MONTHLY: state.interval === 1 ? 'month' : 'months',
3036
+ YEARLY: state.interval === 1 ? 'year' : 'years',
3037
+ };
3038
+ return (jsxs("div", { className: `${styles$d.container}${className ? ` ${className}` : ''}`, children: [jsx("div", { className: styles$d.field, children: jsx(SelectInput, { label: "Frequency", value: state.freq, onChange: v => update({ freq: v }), options: [
3039
+ { value: 'DAILY', label: 'Daily' },
3040
+ { value: 'WEEKLY', label: 'Weekly' },
3041
+ { value: 'MONTHLY', label: 'Monthly' },
3042
+ { value: 'YEARLY', label: 'Yearly' },
3043
+ ] }) }), jsxs("div", { className: styles$d.field, children: [jsx("span", { className: styles$d.fieldLabel, children: "Every" }), jsxs("div", { className: styles$d.fieldRow, children: [jsx(NumberStepper, { value: state.interval, onChange: v => update({ interval: Math.max(1, v) }), min: 1, max: 99, hideLimits: true, size: "small" }), jsx("span", { className: styles$d.fieldUnit, children: unitLabel[state.freq] })] })] }), state.freq === 'WEEKLY' && (jsxs("div", { className: `${styles$d.field} ${styles$d.fieldCentered}`, children: [jsx("span", { className: styles$d.fieldLabel, children: "On" }), jsx("div", { className: styles$d.dayPicker, children: WEEKDAYS.map(d => (jsx("button", { type: "button", className: `${styles$d.dayBtn} ${state.byDay.includes(d.code) ? styles$d.dayBtnActive : ''}`, onClick: () => toggleDay(d.code), "aria-label": d.code, children: d.label }, d.code))) })] })), state.freq === 'MONTHLY' && (jsxs("div", { className: styles$d.field, children: [jsx("span", { className: styles$d.fieldLabel, children: "Day of month" }), jsxs("div", { className: styles$d.fieldRow, children: [jsx(NumberStepper, { value: state.byMonthDay, onChange: v => update({ byMonthDay: Math.min(31, Math.max(1, v)) }), min: 1, max: 31, disabled: state.monthlyLast, hideLimits: true, size: "small" }), jsx(Checkbox, { checked: state.monthlyLast, onChange: v => update({ monthlyLast: v }), label: "Last day" })] })] })), state.freq === 'YEARLY' && (jsxs(Fragment, { children: [jsx("div", { className: styles$d.field, children: jsx(SelectInput, { label: "Month", value: String(state.byMonth), onChange: v => update({ byMonth: Number(v) }), options: MONTHS$1.map((m, i) => ({
3044
+ value: String(i + 1),
3045
+ label: m,
3046
+ })) }) }), jsxs("div", { className: styles$d.field, children: [jsx("span", { className: styles$d.fieldLabel, children: "Day" }), jsx(NumberStepper, { value: state.yearDay, onChange: v => update({ yearDay: Math.min(31, Math.max(1, v)) }), min: 1, max: 31, hideLimits: true, size: "small" })] })] })), jsx("div", { className: styles$d.preview, children: preview })] }));
2889
3047
  };
2890
3048
 
2891
3049
  var styles$c = {"wrap":"StreamConsole-module_wrap__MnVWw","header":"StreamConsole-module_header__FjnRM","headerLeft":"StreamConsole-module_headerLeft__gNDyh","statusDot":"StreamConsole-module_statusDot__xQ254","spin":"StreamConsole-module_spin__OrOeL","label":"StreamConsole-module_label__rJIDm","statusText":"StreamConsole-module_statusText__oG-ej","dismiss":"StreamConsole-module_dismiss__WH3Kv","body":"StreamConsole-module_body__-HIK-","hint":"StreamConsole-module_hint__BA4SI","line":"StreamConsole-module_line__5hMY2","linePrefix":"StreamConsole-module_linePrefix__xR-Oj","lineText":"StreamConsole-module_lineText__IyRSF","lineLabel":"StreamConsole-module_lineLabel__z-qj4"};
@@ -3621,7 +3779,7 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
3621
3779
  ease: "easeOut"
3622
3780
  }, onClick: () => handleDateClick(day), children: [jsx("div", { className: styles$b.dayNumber, children: day.getDate() }), dayEvents.length > 0 && compact && currentViewMode === 'month' ? (jsxs("div", { className: styles$b.dots, children: [dayEvents.slice(0, maxEventsPerDay).map((event) => (jsx("span", { className: styles$b.dot, style: {
3623
3781
  backgroundColor: event.status === 'completed'
3624
- ? '#10b981'
3782
+ ? '#047857'
3625
3783
  : getEventColor(event),
3626
3784
  } }, event.id))), dayEvents.length > maxEventsPerDay && (jsxs("span", { className: styles$b.dotMore, children: ["+", dayEvents.length - maxEventsPerDay] }))] })) : dayEvents.length > 0 ? (jsxs("div", { className: styles$b.events, children: [dayEvents.slice(0, maxEventsPerDay).map((event, eventIndex) => (jsxs(motion.div, { className: `${styles$b.event} ${event.status === 'completed' ? styles$b.completed : ''}`, style: {
3627
3785
  backgroundColor: getEventColor(event),
@@ -5094,7 +5252,7 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
5094
5252
  }
5095
5253
  // Calculate new positions based on the original positions
5096
5254
  // ALWAYS scale to fill the full circle, no minimum size preservation
5097
- let newX0 = xScale(node.x0Original);
5255
+ const newX0 = xScale(node.x0Original);
5098
5256
  let newX1 = xScale(node.x1Original);
5099
5257
  // Ensure proper scaling even for very small segments
5100
5258
  // The clicked node's extent should always map to full circle
@@ -5195,7 +5353,7 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
5195
5353
  if (focusedNodeRef.current) {
5196
5354
  return;
5197
5355
  }
5198
- const hoveredElement = this;
5356
+ const hoveredElement = event.currentTarget;
5199
5357
  // Show tooltip for all nodes
5200
5358
  tooltip.transition().duration(200).style('opacity', 1);
5201
5359
  const value = d.value || 0;
@@ -6150,5 +6308,5 @@ const ConfirmationModal = ({ isOpen, onClose, onConfirm, title, message, confirm
6150
6308
  return (jsx(AnimatePresence, { children: isOpen && (jsxs(Fragment, { children: [jsx(motion.div, { className: styles.overlay, initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, onClick: !isLoading ? onClose : undefined }), jsx("div", { className: styles.positioner, children: jsxs(motion.div, { className: styles.modal, initial: { opacity: 0, scale: 0.9, y: 20 }, animate: { opacity: 1, scale: 1, y: 0 }, exit: { opacity: 0, scale: 0.9, y: 20 }, transition: { type: 'spring', stiffness: 300, damping: 30 }, children: [jsxs("div", { className: `${styles.header} ${styles[variant]}`, children: [jsx("h2", { className: styles.title, children: title }), !isLoading && (jsx("button", { className: styles.closeButton, onClick: onClose, type: "button", "aria-label": "Close", children: "\u2715" }))] }), jsx("div", { className: styles.content, children: jsx("p", { className: styles.message, children: message }) }), jsxs("div", { className: styles.footer, children: [jsx(Button, { type: "button", variant: "ghost", onClick: onClose, disabled: isLoading, children: cancelText }), jsx(Button, { type: "button", variant: variant === 'danger' ? 'danger' : 'primary', onClick: handleConfirm, disabled: isLoading, loading: isLoading, children: confirmText })] })] }) })] })) }));
6151
6309
  };
6152
6310
 
6153
- export { ArrayInput, BooleansHeatmap, Breadcrumb, Button, Calendar, Card, Checkbox, ConfirmationModal, DateInput, DecryptedText, EditFAB, EmptyState, HabitTimeOfDayChart, ImageSlideshow, LiquidButton, LoadingSpinner, Modal, MoodChart, Navbar, NumberStepper, PieChart, QuantifiableHabitsChart, SearchBar, SearchableDropdown, SelectInput, SleepChart, Slider, StreamConsole, SunburstChart, Table, Tabs, TextArea, TextInput, ThemeProvider, ThemeSwitcher, TimeInput, ToastContainer, Toggle, ToggleButton, soundManager, useComponentSound, useSound, useTheme, useThemeSafe };
6311
+ export { ArrayInput, BooleansHeatmap, Breadcrumb, Button, Calendar, Card, Checkbox, ConfirmationModal, DateInput, DecryptedText, EditFAB, EmptyState, HabitTimeOfDayChart, ImageSlideshow, LiquidButton, LoadingSpinner, Modal, MoodChart, Navbar, NumberStepper, PieChart, QuantifiableHabitsChart, RecurrencePicker, SearchBar, SearchableDropdown, SelectInput, SleepChart, Slider, StreamConsole, SunburstChart, Table, Tabs, TextArea, TextInput, ThemeProvider, ThemeSwitcher, TimeInput, ToastContainer, Toggle, ToggleButton, soundManager, useComponentSound, useSound, useTheme, useThemeSafe };
6154
6312
  //# sourceMappingURL=index.esm.js.map